From git at git.openembedded.org Sat Jul 1 07:59:44 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 07:59:44 +0000 Subject: [oe-commits] [meta-openembedded] 01/53: xterm: Upgrade 327 -> 330 In-Reply-To: <149889598362.1164.6115079788132926904@git.openembedded.org> References: <149889598362.1164.6115079788132926904@git.openembedded.org> Message-ID: <20170701075943.F024823367D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit b0e432c87b9ea65a57b20c62bd70549864f17615 Author: fan.xin AuthorDate: Thu Jun 22 15:37:48 2017 +0900 xterm: Upgrade 327 -> 330 1. Upgrade xterm from 327 to 330 2. Update the checksum of LIC_FILES_CHKSUM The copyright time has been extended to 2017, the Licence content has no chagne. Signed-off-by: Fan Xin Signed-off-by: Martin Jansa --- meta-oe/recipes-graphics/xorg-app/{xterm_327.bb => xterm_330.bb} | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/meta-oe/recipes-graphics/xorg-app/xterm_327.bb b/meta-oe/recipes-graphics/xorg-app/xterm_330.bb similarity index 78% rename from meta-oe/recipes-graphics/xorg-app/xterm_327.bb rename to meta-oe/recipes-graphics/xorg-app/xterm_330.bb index 0e11662..e3bb0fb 100644 --- a/meta-oe/recipes-graphics/xorg-app/xterm_327.bb +++ b/meta-oe/recipes-graphics/xorg-app/xterm_330.bb @@ -2,12 +2,12 @@ require recipes-graphics/xorg-app/xorg-app-common.inc SUMMARY = "xterm is the standard terminal emulator for the X Window System" DEPENDS = "libxaw xproto xextproto libxext libxau libxinerama libxpm ncurses" -LIC_FILES_CHKSUM = "file://xterm.h;beginline=3;endline=31;md5=842e945c46c43e05c44d95003aa878e1" +LIC_FILES_CHKSUM = "file://xterm.h;beginline=3;endline=31;md5=f02ab9ebda87b770ecf711dbb3784a33" SRC_URI = "http://invisible-mirror.net/archives/${BPN}/${BP}.tgz" -SRC_URI[md5sum] = "3c32e931adcad44e64e57892e75d9e02" -SRC_URI[sha256sum] = "66fb2f6c35b342148f549c276b12a3aa3fb408e27ab6360ddec513e14376150b" +SRC_URI[md5sum] = "9a6db7974aa4ccbb50eabebf72618467" +SRC_URI[sha256sum] = "7aeef9f29f6b95e09f481173c8c3053357bf5ffe162585647f690fd1707556df" PACKAGECONFIG ?= "" PACKAGECONFIG[xft] = "--enable-freetype,--disable-freetype,libxft fontconfig freetype-native" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 07:59:47 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 07:59:47 +0000 Subject: [oe-commits] [meta-openembedded] 04/53: open-vm-tools: add missing pkgconfig dependency In-Reply-To: <149889598362.1164.6115079788132926904@git.openembedded.org> References: <149889598362.1164.6115079788132926904@git.openembedded.org> Message-ID: <20170701075944.1970E2336AA@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 78145143317841959b8725d0c95f756dc5dd2462 Author: Martin Kelly AuthorDate: Fri Jun 23 15:48:33 2017 -0700 open-vm-tools: add missing pkgconfig dependency The configure.ac script uses pkgconfig but we didn't depend on it, so it was silently not using pkgconfig. Signed-off-by: Martin Kelly Signed-off-by: Martin Jansa --- meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.0.5.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.0.5.bb b/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.0.5.bb index 4dee03a..a68d485 100644 --- a/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.0.5.bb +++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.0.5.bb @@ -29,7 +29,7 @@ S = "${WORKDIR}/git/open-vm-tools" DEPENDS = "virtual/kernel glib-2.0 util-linux libdnet procps libmspack" RDEPENDS_${PN} = "util-linux libdnet kernel-module-vmhgfs" -inherit module-base kernel-module-split autotools systemd +inherit module-base kernel-module-split autotools pkgconfig systemd # from module.bbclass... addtask make_scripts after do_patch before do_compile -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 07:59:43 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 07:59:43 +0000 Subject: [oe-commits] [meta-openembedded] branch master updated (bd25917 -> 66b88f7) Message-ID: <149889598362.1164.6115079788132926904@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a change to branch master in repository meta-openembedded. from bd25917 ruli: FIx build with hardening flags new b0e432c xterm: Upgrade 327 -> 330 new b460ac6 twisted: add support to build for python3 new d8e895e open-vm-tools: add new recipe new 7814514 open-vm-tools: add missing pkgconfig dependency new e1d922c open-vm-tools: add missing glib-2.0-native dependency new 96c5bf6 open-vm-tools: clarify and expand licensing new 401eadb open-vm-tools: base_contains --> bb.utils.contains new d5f02c4 open-vm-tools: update version to 10.1.5 new 778f288 open-vm-tools: don't use mspack new 16accb7 open-vm-tools: don't use dnet-config new b847bc1 open-vm-tools: add #include to fix build break new 6b0ac39 open-vm-tools: add missing X11 dependencies new 443c441 open-vm-tools: remove kernel module logic new 2be0c8b open-vm-tools: line up configure options new 532b1c0 open-vm-tools: support FUSE new e50762e open-vm-tools: scope build to only x86 new 7b32361 open-vm-tools: style changes new 8501dc0 open-vm-tools: fix all hardcoded paths new 3aebb23 open-vm-tools: remove -Wno-error new 1fb8406 glmark2: update to latest new 01d70f8 live555: Define XLOCALE_NOT_USED for glibc too new bd66426 gpm: Use sigemptyset() API for glibc as well new 81a3add ssiapi: Fix build with hardening flags new ec9f60a crash: Upgrade to 7.1.9 new 750695c xfsprogs: remove redundant install rule in do_install new f0d77f8 meson: revert changes which shouldn't have been submitted new 11951f0 Revert "meson: fix build/host confusion for bbclass" new 685db49 meson: don't pass localedir new 3710b9d meson: set RDEPENDS globally instead of just for target new 6e2d975 meson: export PKG_CONFIG to use pkg-config-native for native builds new 529ae57 meson: remove redundant patch new 6fb9a9e meson: set native tool flag variables new d193035 cdparanoia: Fix build with security flags new d53546b xfsprogs:4.10.0 -> 4.11.0 new c0d763a sblim-sfcb: Add stdint.h for 'UINT16_MAX' new 9d7a49a networkmanager: Fix build with hardening new 2bd65aa umip: Fix buid with hardening new 15bb5e0 gtkperf: Fix build with hardening flags new 499d19e wmiconfig: Fix build with hardening flags new dab4099 lmbench: Fix build with hardening flags new 27fa98a wv: Fix build with hardening flags new f3ac89d aufs-util: Upgrade to 3.18 new 8012181 cdrkit: Fix build with hardening flags new 80608a7 orrery: Fix build with hardening flags new b625382 crash: Pass optimization flags to configure via CC new 8707287 ipmiutil: Update to 3.0.5 new 90524a3 ltrace: fix build failure under icecream new ee55f2a hwloc: add several PACKAGECONFIG items new 905cdd0 fluentbit: Upgrade to 0.11.11 new 5291907 breakpad: Upgrade to latest and fix use of ucontext_t new 194322b network-manager-applet: Remove all occurances of -Werror in makefiles new f45c1d6 hddtemp: Replace struct ucontext with ucontext_t new 66b88f7 hwloc: Inherit pkgconfig The 53 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../recipes-utils/aufs-util/aufs-util_git.bb | 6 +- .../{xfsprogs_4.10.0.bb => xfsprogs_4.11.0.bb} | 7 +- .../network-manager-applet_1.4.4.bb | 2 +- ...vRTF.c-Specify-print-format-in-rtf_output.patch | 26 + meta-gnome/recipes-gnome/wv/wv_1.2.4.bb | 3 +- .../cdparanoia/cdparanoia_10.2.bb | 4 +- ...-for-null-buffer-before-trying-a-byteswap.patch | 31 + .../files/0002-Fix-printf-format-errors.patch | 32 + meta-oe/classes/meson.bbclass | 14 +- meta-oe/recipes-benchmark/glmark2/glmark2_git.bb | 2 +- .../0001-lat_http.c-Add-printf-format.patch | 26 + .../recipes-benchmark/lmbench/lmbench_3.0-a9.bb | 3 +- ...stemd-xlocale.h-is-dropped-by-newer-glibc.patch | 29 + ...-string-in-g_dbus_message_new_method_erro.patch | 67 +++ .../networkmanager/networkmanager_1.4.4.bb | 2 + .../0001-Add-format-string-to-fprintf-call.patch | 26 + meta-oe/recipes-connectivity/umip/umip_1.0.bb | 9 +- ...ce-use-of-struct-ucontext-with-ucontext_t.patch | 242 ++++++++ meta-oe/recipes-devtools/breakpad/breakpad_git.bb | 11 +- .../0001-Fix-tautological-compare-warning.patch | 261 ++++++++ meta-oe/recipes-devtools/ltrace/ltrace_git.bb | 1 + .../meson/meson/native_bindir.patch | 52 -- meta-oe/recipes-devtools/meson/meson_0.40.1.bb | 2 +- ...txt-Add-AUTOCONF_HOST_OPT-to-help-cross-c.patch | 52 -- .../{fluentbit_0.11.3.bb => fluentbit_0.11.11.bb} | 7 +- meta-oe/recipes-extended/hwloc/hwloc_1.11.5.bb | 12 +- ...ude-stdint.h-system-header-for-UINT16_MAX.patch | 29 + .../sblim-sfcb/sblim-sfcb_1.4.9.bb | 4 +- .../0001-Include-stdlib.h-for-exit-API.patch | 34 ++ .../0002-timing.c-Fix-format-security-errors.patch | 42 ++ meta-oe/recipes-graphics/gtkperf/gtkperf_0.40.bb | 5 +- .../xorg-app/{xterm_327.bb => xterm_330.bb} | 6 +- ...ompilation-error-if-glibc-2.25-or-later-h.patch | 112 ---- .../crash/{crash_7.1.8.bb => crash_7.1.9.bb} | 9 +- meta-oe/recipes-multimedia/cdrkit/cdrkit_1.1.11.bb | 8 +- ...001-genisoimage-Fix-fprintf-format-errors.patch | 49 ++ meta-oe/recipes-multimedia/live555/live555.inc | 5 +- .../orrery/0001-orrery-Fix-sprintf-format.patch | 26 + meta-oe/recipes-navigation/orrery/orrery_2.7.bb | 3 +- ...-sigemptyset-API-instead-of-__sigemptyset.patch | 34 ++ meta-oe/recipes-support/gpm/gpm_git.bb | 4 +- ...e-Replace-struct-ucontext-with-ucontext_t.patch | 37 ++ .../recipes-support/hddtemp/hddtemp_0.3-beta15.bb | 1 + .../ipmiutil/ipmiutil/fix_systemd_path.patch | 241 +------- .../{ipmiutil_2.9.6.bb => ipmiutil_3.0.5.bb} | 26 +- .../recipes-support/open-vm-tools/files/tools.conf | 2 + .../open-vm-tools/files/vmtoolsd.service | 11 + .../0001-configure.ac-don-t-use-dnet-config.patch | 41 ++ .../0002-add-include-sys-sysmacros.h.patch | 33 ++ .../open-vm-tools/open-vm-tools_10.1.5.bb | 84 +++ .../ssiapi/ssiapi/configure-cflags.patch | 21 + meta-oe/recipes-support/ssiapi/ssiapi_1.0.1.bb | 2 + .../0001-makefile-Pass-CFLAGS-to-compile.patch | 26 + .../0002-fix-err-API-to-have-format-string.patch | 656 +++++++++++++++++++++ meta-oe/recipes-support/wmiconfig/wmiconfig_svn.bb | 5 +- ...python-twisted_13.2.0.bb => python-twisted.inc} | 1 - .../python/python-twisted_13.2.0.bb | 243 +------- .../python/python3-twisted_13.2.0.bb | 67 +++ 58 files changed, 2046 insertions(+), 750 deletions(-) rename meta-filesystems/recipes-utils/xfsprogs/{xfsprogs_4.10.0.bb => xfsprogs_4.11.0.bb} (89%) create mode 100644 meta-gnome/recipes-gnome/wv/wv-1.2.4/0001-wvRTF.c-Specify-print-format-in-rtf_output.patch create mode 100644 meta-multimedia/recipes-multimedia/cdparanoia/files/0001-check-for-null-buffer-before-trying-a-byteswap.patch create mode 100644 meta-multimedia/recipes-multimedia/cdparanoia/files/0002-Fix-printf-format-errors.patch create mode 100644 meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-lat_http.c-Add-printf-format.patch create mode 100644 meta-oe/recipes-connectivity/networkmanager/networkmanager/0001-systemd-xlocale.h-is-dropped-by-newer-glibc.patch create mode 100644 meta-oe/recipes-connectivity/networkmanager/networkmanager/0002-user-format-string-in-g_dbus_message_new_method_erro.patch create mode 100644 meta-oe/recipes-connectivity/umip/files/0001-Add-format-string-to-fprintf-call.patch create mode 100644 meta-oe/recipes-devtools/breakpad/breakpad/0001-Replace-use-of-struct-ucontext-with-ucontext_t.patch create mode 100644 meta-oe/recipes-devtools/ltrace/ltrace/0001-Fix-tautological-compare-warning.patch delete mode 100644 meta-oe/recipes-devtools/meson/meson/native_bindir.patch delete mode 100644 meta-oe/recipes-extended/fluentbit/fluentbit/0001-CMakeLists.txt-Add-AUTOCONF_HOST_OPT-to-help-cross-c.patch rename meta-oe/recipes-extended/fluentbit/{fluentbit_0.11.3.bb => fluentbit_0.11.11.bb} (67%) create mode 100644 meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb-1.4.9/0001-include-stdint.h-system-header-for-UINT16_MAX.patch create mode 100644 meta-oe/recipes-graphics/gtkperf/gtkperf/0001-Include-stdlib.h-for-exit-API.patch create mode 100644 meta-oe/recipes-graphics/gtkperf/gtkperf/0002-timing.c-Fix-format-security-errors.patch rename meta-oe/recipes-graphics/xorg-app/{xterm_327.bb => xterm_330.bb} (78%) delete mode 100644 meta-oe/recipes-kernel/crash/crash/0001-Fix-for-a-compilation-error-if-glibc-2.25-or-later-h.patch rename meta-oe/recipes-kernel/crash/{crash_7.1.8.bb => crash_7.1.9.bb} (95%) create mode 100644 meta-oe/recipes-multimedia/cdrkit/files/0001-genisoimage-Fix-fprintf-format-errors.patch create mode 100644 meta-oe/recipes-navigation/orrery/orrery/0001-orrery-Fix-sprintf-format.patch create mode 100644 meta-oe/recipes-support/gpm/gpm/0001-Use-sigemptyset-API-instead-of-__sigemptyset.patch create mode 100644 meta-oe/recipes-support/hddtemp/hddtemp/0001-backtrace-Replace-struct-ucontext-with-ucontext_t.patch rename meta-oe/recipes-support/ipmiutil/{ipmiutil_2.9.6.bb => ipmiutil_3.0.5.bb} (76%) create mode 100644 meta-oe/recipes-support/open-vm-tools/files/tools.conf create mode 100644 meta-oe/recipes-support/open-vm-tools/files/vmtoolsd.service create mode 100644 meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-configure.ac-don-t-use-dnet-config.patch create mode 100644 meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-add-include-sys-sysmacros.h.patch create mode 100644 meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb create mode 100644 meta-oe/recipes-support/ssiapi/ssiapi/configure-cflags.patch create mode 100644 meta-oe/recipes-support/wmiconfig/wmiconfig/0001-makefile-Pass-CFLAGS-to-compile.patch create mode 100644 meta-oe/recipes-support/wmiconfig/wmiconfig/0002-fix-err-API-to-have-format-string.patch copy meta-python/recipes-devtools/python/{python-twisted_13.2.0.bb => python-twisted.inc} (99%) create mode 100644 meta-python/recipes-devtools/python/python3-twisted_13.2.0.bb -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 07:59:45 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 07:59:45 +0000 Subject: [oe-commits] [meta-openembedded] 02/53: twisted: add support to build for python3 In-Reply-To: <149889598362.1164.6115079788132926904@git.openembedded.org> References: <149889598362.1164.6115079788132926904@git.openembedded.org> Message-ID: <20170701075944.03E772336A6@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit b460ac6bcb1cf4ab59df56cd0f5c2c91111199b6 Author: Mark Asselstine AuthorDate: Thu Jun 22 10:23:34 2017 -0400 twisted: add support to build for python3 The work on twisted to ensure python3 compatability is nearing completion, as per their python3 tracker page: https://twistedmatrix.com/trac/milestone/Python-3.x Create a common .inc file and a new python3-* recipe to match other python3 packages. Signed-off-by: Mark Asselstine Signed-off-by: Martin Jansa --- ...python-twisted_13.2.0.bb => python-twisted.inc} | 1 - .../python/python-twisted_13.2.0.bb | 243 +-------------------- .../python/python3-twisted_13.2.0.bb | 67 ++++++ 3 files changed, 68 insertions(+), 243 deletions(-) diff --git a/meta-python/recipes-devtools/python/python-twisted_13.2.0.bb b/meta-python/recipes-devtools/python/python-twisted.inc similarity index 99% copy from meta-python/recipes-devtools/python/python-twisted_13.2.0.bb copy to meta-python/recipes-devtools/python/python-twisted.inc index 071106e..d734e03 100644 --- a/meta-python/recipes-devtools/python/python-twisted_13.2.0.bb +++ b/meta-python/recipes-devtools/python/python-twisted.inc @@ -12,7 +12,6 @@ SRC_URI[sha256sum] = "095175638c019ac7c0604f4c291724a16ff1acd062e181b01293bf4dcb PYPI_PACKAGE = "Twisted" PYPI_PACKAGE_EXT = "tar.bz2" -inherit pypi setuptools do_install_append() { # remove some useless files before packaging diff --git a/meta-python/recipes-devtools/python/python-twisted_13.2.0.bb b/meta-python/recipes-devtools/python/python-twisted_13.2.0.bb index 071106e..3b45110 100644 --- a/meta-python/recipes-devtools/python/python-twisted_13.2.0.bb +++ b/meta-python/recipes-devtools/python/python-twisted_13.2.0.bb @@ -1,245 +1,4 @@ -DESCRIPTION = "Twisted is an event-driven networking framework written in Python and licensed under the LGPL. \ -Twisted supports TCP, UDP, SSL/TLS, multicast, Unix sockets, a large number of protocols \ -(including HTTP, NNTP, IMAP, SSH, IRC, FTP, and others), and much more." -HOMEPAGE = "http://www.twistedmatrix.com" - -#twisted/topfiles/NEWS:655: - Relicensed: Now under the MIT license, rather than LGPL. -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=5602d7228daf59a16f0f1b2640c46bca" - -SRC_URI[md5sum] = "83fe6c0c911cc1602dbffb036be0ba79" -SRC_URI[sha256sum] = "095175638c019ac7c0604f4c291724a16ff1acd062e181b01293bf4dcbc62cf3" - -PYPI_PACKAGE = "Twisted" -PYPI_PACKAGE_EXT = "tar.bz2" inherit pypi setuptools - -do_install_append() { - # remove some useless files before packaging - find ${D} \( -name "*.bat" -o -name "*.c" -o -name "*.h" \) -exec rm -f {} \; -} - -PACKAGES += "\ - ${PN}-zsh \ - ${PN}-test \ - ${PN}-protocols \ - ${PN}-conch \ - ${PN}-lore \ - ${PN}-mail \ - ${PN}-names \ - ${PN}-news \ - ${PN}-runner \ - ${PN}-web \ - ${PN}-words \ - ${PN}-flow \ - ${PN}-pair \ - ${PN}-core \ -" - -PACKAGES =+ "\ - ${PN}-src \ - ${PN}-bin \ -" - -RDEPENDS_${PN} = "\ - ${PN}-bin \ - ${PN}-conch \ - ${PN}-lore \ - ${PN}-mail \ - ${PN}-names \ - ${PN}-news \ - ${PN}-runner \ - ${PN}-web \ - ${PN}-words \ -" +require python-twisted.inc RDEPENDS_${PN}-core = "python-core python-zopeinterface python-contextlib" -RDEPENDS_${PN}-test = "${PN}" -RDEPENDS_${PN}-conch = "${PN}-core ${PN}-protocols" -RDEPENDS_${PN}-lore = "${PN}-core" -RDEPENDS_${PN}-mail = "${PN}-core ${PN}-protocols" -RDEPENDS_${PN}-names = "${PN}-core" -RDEPENDS_${PN}-news = "${PN}-core ${PN}-protocols" -RDEPENDS_${PN}-runner = "${PN}-core ${PN}-protocols" -RDEPENDS_${PN}-web += "${PN}-core ${PN}-protocols" -RDEPENDS_${PN}-words += "${PN}-core" -RDEPENDS_${PN}-flow += "${PN}-core" -RDEPENDS_${PN}-pair += "${PN}-core" -RDEPENDS_${PN}-dbg = "${PN}" - -ALLOW_EMPTY_${PN} = "1" -FILES_${PN} = "" - -FILES_${PN}-test = " \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/test \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/*/test \ -" - -FILES_${PN}-protocols = " \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/protocols/*.py* \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/protocols/gps/ \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/protocols/mice/ \ -" - -FILES_${PN}-zsh = " \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/python/zsh \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/python/zshcomp.* \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/python/twisted-completion.zsh \ -" - -FILES_${PN}-conch = " \ - ${bindir}/ckeygen \ - ${bindir}/tkconch \ - ${bindir}/conch \ - ${bindir}/conchftp \ - ${bindir}/cftp \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_conch.py* \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/conch \ -" - -FILES_${PN}-core = " \ -${bindir}/manhole \ -${bindir}/mktap \ -${bindir}/twistd \ -${bindir}/tap2deb \ -${bindir}/tap2rpm \ -${bindir}/tapconvert \ -${bindir}/tkmktap \ -${bindir}/trial \ -${bindir}/easy_install* \ -${bindir}/pyhtmlizer \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/*.so \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/*.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__init__.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/notestplugin.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/testplugin.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_ftp.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_inet.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_manhole.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_portforward.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_socks.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_telnet.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_trial.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/dropin.cache \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/application \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/cred \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/enterprise \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/internet \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/manhole \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/manhole \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/persisted \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/protocols\ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python\ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/timeoutqueue.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/filepath.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/dxprofile.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/plugin.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/htmlizer.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/__init__.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/dispatch.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/hook.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/threadpool.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/otp.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/usage.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/roots.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/versions.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/urlpath.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/util.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/components.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/logfile.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/runtime.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/reflect.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/context.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/threadable.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/rebuild.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/failure.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/lockfile.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/formmethod.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/finalize.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/win32.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/dist.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/shortcut.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/zipstream.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/release.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/syslog.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/log.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/compat.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/zshcomp.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/procutils.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/text.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/_twisted_zsh_stub \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/scripts/ \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/spread/ \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/tap/ \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/trial/ \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/__init__.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/_version.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/copyright.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/im.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/*.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/*.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/*.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/topfiles \ -${libdir}/${PYTHON_DIR}/site-packages/Twisted*egg-info \ -" - -FILES_${PN}-lore = " \ -${bindir}/bookify \ -${bindir}/lore \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_lore.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/lore \ -" - -FILES_${PN}-mail = " \ -${bindir}/mailmail \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_mail.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/mail \ -" - -FILES_${PN}-names = " \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_names.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/names \ -" - -FILES_${PN}-news = " \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_news.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/news \ -" - -FILES_${PN}-runner = " \ -${libdir}/site-packages/twisted/runner/portmap.so \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/runner\ -" - -FILES_${PN}-web = " \ -${bindir}/websetroot \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_web.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/web\ -" - -FILES_${PN}-words = " \ -${bindir}/im \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_words.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/words\ -" - -FILES_${PN}-flow = " \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_flow.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/flow \" - -FILES_${PN}-pair = " \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_pair.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/pair \ -" - -FILES_${PN}-dbg += " \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/*/.debug \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/*/*/.debug \ -" - -RDEPENDS_{PN}-src = "${PN}" -FILES_${PN}-src = " \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/*.py \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/*/*.py \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/*/*/*.py \ -" diff --git a/meta-python/recipes-devtools/python/python3-twisted_13.2.0.bb b/meta-python/recipes-devtools/python/python3-twisted_13.2.0.bb new file mode 100644 index 0000000..98016cc --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-twisted_13.2.0.bb @@ -0,0 +1,67 @@ +inherit pypi setuptools3 +require python-twisted.inc + +RDEPENDS_${PN}-core = "python3-core python3-zopeinterface python3-lang" + +FILES_${PN}-core_append += " \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/__pycache__ \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/python/__pycache__/*pyc \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/__init__*.pyc \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/notestplugin*.pyc \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/testplugin*.pyc \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_ftp*.pyc \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_inet*.pyc \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_manhole*.pyc \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_portforward*.pyc \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_socks*.pyc \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_telnet*.pyc \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_trial*.pyc \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_core*.pyc \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_qtstub*.pyc \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_reactors*.pyc \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/cred*.pyc \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/dropin*.cache \ +" + +FILES_${PN}-names_append = " \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_names*.pyc \ +" + +FILES_${PN}-news_append = " \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_news*.pyc \ +" + +FILES_${PN}-protocols_append += " \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/protocols/__pycache__/*pyc \ +" + +FILES_${PN}-conch_append = " \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_conch*.pyc \ +" + +FILES_${PN}-lore_append = " \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_lore*.pyc \ +" +FILES_${PN}-mail_append = " \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_mail*.pyc \ +" + +FILES_${PN}-web_append = " \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_web*.pyc \ +" + +FILES_${PN}-words_append = " \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_words*.pyc \ +" + +FILES_${PN}-flow_append = " \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_flow*.pyc \ +" + +FILES_${PN}-pair_append = " \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_pair*.pyc \ +" + +FILES_${PN}-runner_append = " \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__pycache__/twisted_runner*.pyc \ +" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 07:59:46 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 07:59:46 +0000 Subject: [oe-commits] [meta-openembedded] 03/53: open-vm-tools: add new recipe In-Reply-To: <149889598362.1164.6115079788132926904@git.openembedded.org> References: <149889598362.1164.6115079788132926904@git.openembedded.org> Message-ID: <20170701075944.12FC22336A8@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit d8e895ef7339cc94df2a57ee7f048efa9884e9cf Author: Martin Kelly AuthorDate: Fri Jun 23 15:48:32 2017 -0700 open-vm-tools: add new recipe This recipe is modified from the recipe originally found in the Open-Switch repository: https://github.com/open-switch/ops-build yocto/openswitch/meta-foss-openswitch/recipes-extended/open-vm-tools/open-vm-tools_10.0.5.bb Commit 9008de2d8e100f3f868c66765742bca9fa98f3f9 Although the original recipe packaging was Apache-licensed, I received permission from the author (Diego Dompe) to relicense it under the MIT license for inclusion in meta-openembedded: https://lists.openswitch.net/pipermail/ops-dev/2017-April/014715.html https://lists.openswitch.net/pipermail/ops-dev/2017-April/014716.html Signed-off-by: Martin Kelly Signed-off-by: Martin Jansa --- .../recipes-support/open-vm-tools/files/tools.conf | 2 + .../open-vm-tools/files/vmtoolsd.service | 11 ++++ .../open-vm-tools/0001-Fix-kernel-detection.patch | 35 ++++++++++ .../open-vm-tools/open-vm-tools_10.0.5.bb | 75 ++++++++++++++++++++++ 4 files changed, 123 insertions(+) diff --git a/meta-oe/recipes-support/open-vm-tools/files/tools.conf b/meta-oe/recipes-support/open-vm-tools/files/tools.conf new file mode 100644 index 0000000..f6cae70 --- /dev/null +++ b/meta-oe/recipes-support/open-vm-tools/files/tools.conf @@ -0,0 +1,2 @@ +[guestinfo] +disable-perf-mon=1 diff --git a/meta-oe/recipes-support/open-vm-tools/files/vmtoolsd.service b/meta-oe/recipes-support/open-vm-tools/files/vmtoolsd.service new file mode 100644 index 0000000..d30e380 --- /dev/null +++ b/meta-oe/recipes-support/open-vm-tools/files/vmtoolsd.service @@ -0,0 +1,11 @@ +[Unit] +Description=Open Virtual Machine Tools (VMware Tools) +ConditionVirtualization=vmware + +[Service] +ExecStart=/usr/bin/vmtoolsd +Restart=on-failure +KillSignal=SIGKILL + +[Install] +WantedBy=multi-user.target diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-Fix-kernel-detection.patch b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-Fix-kernel-detection.patch new file mode 100644 index 0000000..63ea453 --- /dev/null +++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-Fix-kernel-detection.patch @@ -0,0 +1,35 @@ +From 5d8814f4b4f016a633984822a6dfbc9426fef333 Mon Sep 17 00:00:00 2001 +From: Diego Dompe +Date: Thu, 7 Jan 2016 15:06:16 -0600 +Subject: [PATCH] Fix-kernel-detection + +Signed-off-by: Diego Dompe +--- + configure.ac | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 04e3bac..1ab3f29 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -151,7 +151,7 @@ if test "$with_kernel_modules" = "yes"; then + if test ! -d "$LINUXDIR/kernel/"; then + AC_MSG_ERROR([$LINUXDIR/kernel does not exist]) + fi +- LINUXINCLUDE="$LINUXDIR/build/include" ++ LINUXINCLUDE="$LINUXDIR/include" + if test ! -d "$LINUXINCLUDE"; then + AC_MSG_ERROR([Can't find include dir under $LINUXDIR]) + fi +@@ -1034,7 +1034,7 @@ MODULES_DIR="" + buildHgfsmounter=no + + if test "$os" = "linux"; then +- MODULES_DIR="$LINUXDIR/kernel/" ++ MODULES_DIR="/lib/modules/$KERNEL_RELEASE" + + CPPFLAGS="$CPPFLAGS -D_FILE_OFFSET_BITS=64" + CPPFLAGS="$CPPFLAGS -D_LARGEFILE64_SOURCE" +-- +1.9.1 + diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.0.5.bb b/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.0.5.bb new file mode 100644 index 0000000..4dee03a --- /dev/null +++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.0.5.bb @@ -0,0 +1,75 @@ +# This recipe is modified from the recipe originally found in the Open-Switch +# repository: +# +# https://github.com/open-switch/ops-build +# yocto/openswitch/meta-foss-openswitch/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.0.5.bb +# Commit 9008de2d8e100f3f868c66765742bca9fa98f3f9 +# +# The recipe packaging has been relicensed under the MIT license for inclusion +# in meta-openembedded by agreement of the author (Diego Dompe). +# + +DECRIPTION = "open-vm-tools" +SECTION = "vmware-tools" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=5804fe91d3294da4ac47c02b454bbc8a" + +PR = "r5" + +SRC_URI = "git://github.com/vmware/open-vm-tools.git;protocol=https \ + file://tools.conf \ + file://vmtoolsd.service \ + file://0001-Fix-kernel-detection.patch \ + " + +SRCREV = "538ea037a1549b6fd4e57529f7448a3fd2aa47af" + +S = "${WORKDIR}/git/open-vm-tools" + +DEPENDS = "virtual/kernel glib-2.0 util-linux libdnet procps libmspack" +RDEPENDS_${PN} = "util-linux libdnet kernel-module-vmhgfs" + +inherit module-base kernel-module-split autotools systemd + +# from module.bbclass... +addtask make_scripts after do_patch before do_compile +do_make_scripts[lockfiles] = "${TMPDIR}/kernel-scripts.lock" +do_make_scripts[depends] = "virtual/kernel:do_shared_workdir" +# add all splitted modules to PN RDEPENDS, PN can be empty now +KERNEL_MODULES_META_PACKAGE = "${PN}" + +SYSTEMD_SERVICE_${PN} = "vmtoolsd.service" + +EXTRA_OECONF = "--without-icu --disable-multimon --disable-docs --disable-tests \ + --without-gtk2 --without-gtkmm --without-xerces --without-pam \ + --disable-grabbitmqproxy --disable-vgauth --disable-deploypkg \ + --with-linuxdir=${STAGING_KERNEL_DIR} --with-kernel-release=${KERNEL_VERSION} --without-root-privileges" + +EXTRA_OECONF += "${@base_contains('DISTRO_FEATURES', 'x11', '', '--without-x', d)}" + +EXTRA_OEMAKE = "KERNEL_RELEASE=${KERNEL_VERSION}" + + +CFLAGS += '-Wno-error=deprecated-declarations' + +FILES_${PN} += "/usr/lib/open-vm-tools/plugins/vmsvc/lib*.so \ + /usr/lib/open-vm-tools/plugins/common/lib*.so \ + ${sysconfdir}/vmware-tools/tools.conf" +FILES_${PN}-locale += "/usr/share/open-vm-tools/messages" +FILES_${PN}-dev += "/usr/lib/open-vm-tools/plugins/common/lib*.la" +FILES_${PN}-dbg += "/usr/lib/open-vm-tools/plugins/common/.debug \ + /usr/lib/open-vm-tools/plugins/vmsvc/.debug" + +CONFFILES_${PN} += "${sysconfdir}/vmware-tools/tools.conf" + +do_install_append() { + ln -sf /usr/sbin/mount.vmhgfs ${D}/sbin/mount.vmhgfs + install -d ${D}${systemd_unitdir}/system ${D}${sysconfdir}/vmware-tools + install -m 644 ${WORKDIR}/*.service ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/tools.conf ${D}${sysconfdir}/vmware-tools/tools.conf +} + +do_configure_prepend() { + export CUSTOM_PROCPS_NAME=procps + export CUSTOM_PROCPS_LIBS=-L${STAGING_LIBDIR}/libprocps.so +} -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 07:59:51 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 07:59:51 +0000 Subject: [oe-commits] [meta-openembedded] 08/53: open-vm-tools: update version to 10.1.5 In-Reply-To: <149889598362.1164.6115079788132926904@git.openembedded.org> References: <149889598362.1164.6115079788132926904@git.openembedded.org> Message-ID: <20170701075944.357242336AE@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit d5f02c41cb8df4f8035d4cb245251f9526bfa4d9 Author: Martin Kelly AuthorDate: Fri Jun 23 15:48:37 2017 -0700 open-vm-tools: update version to 10.1.5 Signed-off-by: Martin Kelly Signed-off-by: Martin Jansa --- .../{open-vm-tools_10.0.5.bb => open-vm-tools_10.1.5.bb} | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.0.5.bb b/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb similarity index 95% rename from meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.0.5.bb rename to meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb index 9db43b0..8a71cb3 100644 --- a/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.0.5.bb +++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb @@ -13,22 +13,20 @@ DECRIPTION = "open-vm-tools" SECTION = "vmware-tools" LICENSE = "LGPLv2.1 & GPLv2 & BSD & CDDLv1" -LIC_FILES_CHKSUM = "file://LICENSE;md5=0eac46f0b7886425d7faed6aae5aef66" +LIC_FILES_CHKSUM = "file://LICENSE;md5=b66ba4cb4fc017682c95efc300410e79" LICENSE_modules/freebsd/vmblock = "BSD" LICENSE_modules/freebsd/vmmemctl = "GPLv2" LICENSE_modules/freebsd/vmxnet = "GPLv2" LICENSE_modules/linux = "GPLv2" LICENSE_modules/solaris = "CDDLv1" -PR = "r5" - SRC_URI = "git://github.com/vmware/open-vm-tools.git;protocol=https \ file://tools.conf \ file://vmtoolsd.service \ file://0001-Fix-kernel-detection.patch \ " -SRCREV = "538ea037a1549b6fd4e57529f7448a3fd2aa47af" +SRCREV = "854c0bb374612f7e633b448ca273f970f154458b" S = "${WORKDIR}/git/open-vm-tools" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 07:59:48 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 07:59:48 +0000 Subject: [oe-commits] [meta-openembedded] 05/53: open-vm-tools: add missing glib-2.0-native dependency In-Reply-To: <149889598362.1164.6115079788132926904@git.openembedded.org> References: <149889598362.1164.6115079788132926904@git.openembedded.org> Message-ID: <20170701075944.221C82336AB@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit e1d922c1a325fb89dd407b33a8af747167d0fdb4 Author: Martin Kelly AuthorDate: Fri Jun 23 15:48:34 2017 -0700 open-vm-tools: add missing glib-2.0-native dependency glib-2.0-native is needed to find glib-genmarshal. Signed-off-by: Martin Kelly Signed-off-by: Martin Jansa --- meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.0.5.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.0.5.bb b/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.0.5.bb index a68d485..683f34e 100644 --- a/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.0.5.bb +++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.0.5.bb @@ -26,7 +26,7 @@ SRCREV = "538ea037a1549b6fd4e57529f7448a3fd2aa47af" S = "${WORKDIR}/git/open-vm-tools" -DEPENDS = "virtual/kernel glib-2.0 util-linux libdnet procps libmspack" +DEPENDS = "virtual/kernel glib-2.0 glib-2.0-native util-linux libdnet procps libmspack" RDEPENDS_${PN} = "util-linux libdnet kernel-module-vmhgfs" inherit module-base kernel-module-split autotools pkgconfig systemd -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 07:59:52 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 07:59:52 +0000 Subject: [oe-commits] [meta-openembedded] 09/53: open-vm-tools: don't use mspack In-Reply-To: <149889598362.1164.6115079788132926904@git.openembedded.org> References: <149889598362.1164.6115079788132926904@git.openembedded.org> Message-ID: <20170701075944.3CC8E2336AF@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 778f28874f8ae4f38763b2403cbe1fcaac7aca3d Author: Martin Kelly AuthorDate: Fri Jun 23 15:48:38 2017 -0700 open-vm-tools: don't use mspack It's not actually needed when you set --disable-deploypkg. Signed-off-by: Martin Kelly Signed-off-by: Martin Jansa --- meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb b/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb index 8a71cb3..6793d45 100644 --- a/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb +++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb @@ -30,7 +30,7 @@ SRCREV = "854c0bb374612f7e633b448ca273f970f154458b" S = "${WORKDIR}/git/open-vm-tools" -DEPENDS = "virtual/kernel glib-2.0 glib-2.0-native util-linux libdnet procps libmspack" +DEPENDS = "virtual/kernel glib-2.0 glib-2.0-native util-linux libdnet procps" RDEPENDS_${PN} = "util-linux libdnet kernel-module-vmhgfs" inherit module-base kernel-module-split autotools pkgconfig systemd -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 07:59:50 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 07:59:50 +0000 Subject: [oe-commits] [meta-openembedded] 07/53: open-vm-tools: base_contains --> bb.utils.contains In-Reply-To: <149889598362.1164.6115079788132926904@git.openembedded.org> References: <149889598362.1164.6115079788132926904@git.openembedded.org> Message-ID: <20170701075944.2F7842336AD@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 401eadb968ebf0cf67723f6022565718a44a874f Author: Martin Kelly AuthorDate: Fri Jun 23 15:48:36 2017 -0700 open-vm-tools: base_contains --> bb.utils.contains base_contains is deprecated, as the friendly warning reminds us. Signed-off-by: Martin Kelly Signed-off-by: Martin Jansa --- meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.0.5.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.0.5.bb b/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.0.5.bb index 1142399..9db43b0 100644 --- a/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.0.5.bb +++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.0.5.bb @@ -51,7 +51,7 @@ EXTRA_OECONF = "--without-icu --disable-multimon --disable-docs --disable-tests --disable-grabbitmqproxy --disable-vgauth --disable-deploypkg \ --with-linuxdir=${STAGING_KERNEL_DIR} --with-kernel-release=${KERNEL_VERSION} --without-root-privileges" -EXTRA_OECONF += "${@base_contains('DISTRO_FEATURES', 'x11', '', '--without-x', d)}" +EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', '--without-x', d)}" EXTRA_OEMAKE = "KERNEL_RELEASE=${KERNEL_VERSION}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 07:59:54 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 07:59:54 +0000 Subject: [oe-commits] [meta-openembedded] 11/53: open-vm-tools: add #include to fix build break In-Reply-To: <149889598362.1164.6115079788132926904@git.openembedded.org> References: <149889598362.1164.6115079788132926904@git.openembedded.org> Message-ID: <20170701075944.4C5392336B2@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit b847bc1724b6d203d5eaea2d0e4e110648c2b51b Author: Martin Kelly AuthorDate: Fri Jun 23 15:48:40 2017 -0700 open-vm-tools: add #include to fix build break Signed-off-by: Martin Kelly Signed-off-by: Martin Jansa --- .../0003-add-include-sys-sysmacros.h.patch | 33 ++++++++++++++++++++++ .../open-vm-tools/open-vm-tools_10.1.5.bb | 1 + 2 files changed, 34 insertions(+) diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0003-add-include-sys-sysmacros.h.patch b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0003-add-include-sys-sysmacros.h.patch new file mode 100644 index 0000000..f905601 --- /dev/null +++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0003-add-include-sys-sysmacros.h.patch @@ -0,0 +1,33 @@ +From 5818acc8032e3247257730376e947330340a07b3 Mon Sep 17 00:00:00 2001 +From: Martin Kelly +Date: Mon, 22 May 2017 17:00:05 -0700 +Subject: [PATCH 2/2] add #include + +In newer glibc versions, the definition for major() has been moved to +sys/sysmacros.h, and using the older version in has been +deprecated. So, add an include for . + +Upstream-Status: Pending + +Signed-off-by: Martin Kelly +--- + lib/wiper/wiperPosix.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/open-vm-tools/lib/wiper/wiperPosix.c b/open-vm-tools/lib/wiper/wiperPosix.c +index d389eee..1f221fc 100644 +--- a/lib/wiper/wiperPosix.c ++++ b/lib/wiper/wiperPosix.c +@@ -40,6 +40,9 @@ + # include + # endif /* __FreeBSD_version >= 500000 */ + #endif ++#if defined(__linux__) ++#include ++#endif + #include + + #include "vmware.h" +-- +2.7.4 + diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb b/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb index b3e0afc..2b20228 100644 --- a/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb +++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb @@ -25,6 +25,7 @@ SRC_URI = "git://github.com/vmware/open-vm-tools.git;protocol=https \ file://vmtoolsd.service \ file://0001-Fix-kernel-detection.patch \ file://0002-configure.ac-don-t-use-dnet-config.patch \ + file://0003-add-include-sys-sysmacros.h.patch \ " SRCREV = "854c0bb374612f7e633b448ca273f970f154458b" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 07:59:49 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 07:59:49 +0000 Subject: [oe-commits] [meta-openembedded] 06/53: open-vm-tools: clarify and expand licensing In-Reply-To: <149889598362.1164.6115079788132926904@git.openembedded.org> References: <149889598362.1164.6115079788132926904@git.openembedded.org> Message-ID: <20170701075944.295262336AC@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 96c5bf624b2f5d5eefe200f71fc1fa9def0727c8 Author: Martin Kelly AuthorDate: Fri Jun 23 15:48:35 2017 -0700 open-vm-tools: clarify and expand licensing Userspace tools are licensed LGPLv2 and the kernel modules are various licenses depending on the platform. Clarify this and add appropriate licensing variables. Signed-off-by: Martin Kelly Signed-off-by: Martin Jansa --- meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.0.5.bb | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.0.5.bb b/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.0.5.bb index 683f34e..1142399 100644 --- a/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.0.5.bb +++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.0.5.bb @@ -11,8 +11,14 @@ DECRIPTION = "open-vm-tools" SECTION = "vmware-tools" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=5804fe91d3294da4ac47c02b454bbc8a" + +LICENSE = "LGPLv2.1 & GPLv2 & BSD & CDDLv1" +LIC_FILES_CHKSUM = "file://LICENSE;md5=0eac46f0b7886425d7faed6aae5aef66" +LICENSE_modules/freebsd/vmblock = "BSD" +LICENSE_modules/freebsd/vmmemctl = "GPLv2" +LICENSE_modules/freebsd/vmxnet = "GPLv2" +LICENSE_modules/linux = "GPLv2" +LICENSE_modules/solaris = "CDDLv1" PR = "r5" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 07:59:55 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 07:59:55 +0000 Subject: [oe-commits] [meta-openembedded] 12/53: open-vm-tools: add missing X11 dependencies In-Reply-To: <149889598362.1164.6115079788132926904@git.openembedded.org> References: <149889598362.1164.6115079788132926904@git.openembedded.org> Message-ID: <20170701075944.5301D2336B4@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 6b0ac39453c7c39faf685747e60cb68754148e3c Author: Martin Kelly AuthorDate: Fri Jun 23 15:48:41 2017 -0700 open-vm-tools: add missing X11 dependencies Certain dependencies that are implied when we build with X11 support -- such as libxext -- were missing. Add them, and meanwhile switch to using PACKAGECONFIG[x11] instead of DISTRO_FEATURES. Signed-off-by: Martin Kelly Signed-off-by: Martin Jansa --- meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb b/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb index 2b20228..76d3840 100644 --- a/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb +++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb @@ -47,11 +47,13 @@ KERNEL_MODULES_META_PACKAGE = "${PN}" SYSTEMD_SERVICE_${PN} = "vmtoolsd.service" EXTRA_OECONF = "--without-icu --disable-multimon --disable-docs --disable-tests \ - --without-gtk2 --without-gtkmm --without-xerces --without-pam \ + --without-gtkmm --without-xerces --without-pam \ --disable-grabbitmqproxy --disable-vgauth --disable-deploypkg \ --with-linuxdir=${STAGING_KERNEL_DIR} --with-kernel-release=${KERNEL_VERSION} --without-root-privileges" -EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', '--without-x', d)}" +NO_X11_FLAGS = "--without-x --without-gtk2 --without-gtk3" +X11_DEPENDS = "libxext libxi libxrender libxrandr libxtst gtk+ gdk-pixbuf" +PACKAGECONFIG[x11] = ",${NO_X11_FLAGS},${X11_DEPENDS}" EXTRA_OEMAKE = "KERNEL_RELEASE=${KERNEL_VERSION}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 07:59:57 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 07:59:57 +0000 Subject: [oe-commits] [meta-openembedded] 14/53: open-vm-tools: line up configure options In-Reply-To: <149889598362.1164.6115079788132926904@git.openembedded.org> References: <149889598362.1164.6115079788132926904@git.openembedded.org> Message-ID: <20170701075944.5F7202336B6@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 2be0c8b29b3f02cdb6d6b52e5b349a9a45e9b8c8 Author: Martin Kelly AuthorDate: Fri Jun 23 15:48:43 2017 -0700 open-vm-tools: line up configure options Signed-off-by: Martin Kelly Signed-off-by: Martin Jansa --- meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb b/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb index 24c8e93..c3cb9d5 100644 --- a/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb +++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb @@ -38,10 +38,10 @@ inherit autotools pkgconfig systemd SYSTEMD_SERVICE_${PN} = "vmtoolsd.service" -EXTRA_OECONF = "--without-icu --disable-multimon --disable-docs --disable-tests \ - --without-gtkmm --without-xerces --without-pam \ +EXTRA_OECONF = "--without-icu --disable-multimon --disable-docs \ + --disable-tests --without-gtkmm --without-xerces --without-pam \ --disable-grabbitmqproxy --disable-vgauth --disable-deploypkg \ - --without-root-privileges --without-kernel-modules" + --without-root-privileges --without-kernel-modules" NO_X11_FLAGS = "--without-x --without-gtk2 --without-gtk3" X11_DEPENDS = "libxext libxi libxrender libxrandr libxtst gtk+ gdk-pixbuf" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 07:59:56 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 07:59:56 +0000 Subject: [oe-commits] [meta-openembedded] 13/53: open-vm-tools: remove kernel module logic In-Reply-To: <149889598362.1164.6115079788132926904@git.openembedded.org> References: <149889598362.1164.6115079788132926904@git.openembedded.org> Message-ID: <20170701075944.596B92336B5@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 443c441443999eb7d11b01587bbc02af0038488d Author: Martin Kelly AuthorDate: Fri Jun 23 15:48:42 2017 -0700 open-vm-tools: remove kernel module logic All the modules are upstream for Linux >= 4.0, so no modules are being built anyway. We can safely remove the build logic for them. Signed-off-by: Martin Kelly Signed-off-by: Martin Jansa --- .../open-vm-tools/0001-Fix-kernel-detection.patch | 35 ---------------------- ... 0001-configure.ac-don-t-use-dnet-config.patch} | 0 ...atch => 0002-add-include-sys-sysmacros.h.patch} | 0 .../open-vm-tools/open-vm-tools_10.1.5.bb | 23 ++++---------- 4 files changed, 6 insertions(+), 52 deletions(-) diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-Fix-kernel-detection.patch b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-Fix-kernel-detection.patch deleted file mode 100644 index 63ea453..0000000 --- a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-Fix-kernel-detection.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 5d8814f4b4f016a633984822a6dfbc9426fef333 Mon Sep 17 00:00:00 2001 -From: Diego Dompe -Date: Thu, 7 Jan 2016 15:06:16 -0600 -Subject: [PATCH] Fix-kernel-detection - -Signed-off-by: Diego Dompe ---- - configure.ac | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 04e3bac..1ab3f29 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -151,7 +151,7 @@ if test "$with_kernel_modules" = "yes"; then - if test ! -d "$LINUXDIR/kernel/"; then - AC_MSG_ERROR([$LINUXDIR/kernel does not exist]) - fi -- LINUXINCLUDE="$LINUXDIR/build/include" -+ LINUXINCLUDE="$LINUXDIR/include" - if test ! -d "$LINUXINCLUDE"; then - AC_MSG_ERROR([Can't find include dir under $LINUXDIR]) - fi -@@ -1034,7 +1034,7 @@ MODULES_DIR="" - buildHgfsmounter=no - - if test "$os" = "linux"; then -- MODULES_DIR="$LINUXDIR/kernel/" -+ MODULES_DIR="/lib/modules/$KERNEL_RELEASE" - - CPPFLAGS="$CPPFLAGS -D_FILE_OFFSET_BITS=64" - CPPFLAGS="$CPPFLAGS -D_LARGEFILE64_SOURCE" --- -1.9.1 - diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-configure.ac-don-t-use-dnet-config.patch b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-configure.ac-don-t-use-dnet-config.patch similarity index 100% rename from meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-configure.ac-don-t-use-dnet-config.patch rename to meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-configure.ac-don-t-use-dnet-config.patch diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0003-add-include-sys-sysmacros.h.patch b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-add-include-sys-sysmacros.h.patch similarity index 100% rename from meta-oe/recipes-support/open-vm-tools/open-vm-tools/0003-add-include-sys-sysmacros.h.patch rename to meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-add-include-sys-sysmacros.h.patch diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb b/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb index 76d3840..24c8e93 100644 --- a/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb +++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb @@ -23,41 +23,30 @@ LICENSE_modules/solaris = "CDDLv1" SRC_URI = "git://github.com/vmware/open-vm-tools.git;protocol=https \ file://tools.conf \ file://vmtoolsd.service \ - file://0001-Fix-kernel-detection.patch \ - file://0002-configure.ac-don-t-use-dnet-config.patch \ - file://0003-add-include-sys-sysmacros.h.patch \ + file://0001-configure.ac-don-t-use-dnet-config.patch \ + file://0002-add-include-sys-sysmacros.h.patch \ " SRCREV = "854c0bb374612f7e633b448ca273f970f154458b" S = "${WORKDIR}/git/open-vm-tools" -DEPENDS = "virtual/kernel glib-2.0 glib-2.0-native util-linux libdnet procps" -RDEPENDS_${PN} = "util-linux libdnet kernel-module-vmhgfs" +DEPENDS = "glib-2.0 glib-2.0-native util-linux libdnet procps" +RDEPENDS_${PN} = "util-linux libdnet" -inherit module-base kernel-module-split autotools pkgconfig systemd - -# from module.bbclass... -addtask make_scripts after do_patch before do_compile -do_make_scripts[lockfiles] = "${TMPDIR}/kernel-scripts.lock" -do_make_scripts[depends] = "virtual/kernel:do_shared_workdir" -# add all splitted modules to PN RDEPENDS, PN can be empty now -KERNEL_MODULES_META_PACKAGE = "${PN}" +inherit autotools pkgconfig systemd SYSTEMD_SERVICE_${PN} = "vmtoolsd.service" EXTRA_OECONF = "--without-icu --disable-multimon --disable-docs --disable-tests \ --without-gtkmm --without-xerces --without-pam \ --disable-grabbitmqproxy --disable-vgauth --disable-deploypkg \ - --with-linuxdir=${STAGING_KERNEL_DIR} --with-kernel-release=${KERNEL_VERSION} --without-root-privileges" + --without-root-privileges --without-kernel-modules" NO_X11_FLAGS = "--without-x --without-gtk2 --without-gtk3" X11_DEPENDS = "libxext libxi libxrender libxrandr libxtst gtk+ gdk-pixbuf" PACKAGECONFIG[x11] = ",${NO_X11_FLAGS},${X11_DEPENDS}" -EXTRA_OEMAKE = "KERNEL_RELEASE=${KERNEL_VERSION}" - - CFLAGS += '-Wno-error=deprecated-declarations' FILES_${PN} += "/usr/lib/open-vm-tools/plugins/vmsvc/lib*.so \ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 07:59:53 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 07:59:53 +0000 Subject: [oe-commits] [meta-openembedded] 10/53: open-vm-tools: don't use dnet-config In-Reply-To: <149889598362.1164.6115079788132926904@git.openembedded.org> References: <149889598362.1164.6115079788132926904@git.openembedded.org> Message-ID: <20170701075944.451F52336B1@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 16accb708c14f490605b02cfd8af5e74dd1f7ba7 Author: Martin Kelly AuthorDate: Fri Jun 23 15:48:39 2017 -0700 open-vm-tools: don't use dnet-config dnet-config wasn't found in the PATH, and it doesn't work properly for cross-compile anyway. Signed-off-by: Martin Kelly Signed-off-by: Martin Jansa --- .../0002-configure.ac-don-t-use-dnet-config.patch | 41 ++++++++++++++++++++++ .../open-vm-tools/open-vm-tools_10.1.5.bb | 3 ++ 2 files changed, 44 insertions(+) diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-configure.ac-don-t-use-dnet-config.patch b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-configure.ac-don-t-use-dnet-config.patch new file mode 100644 index 0000000..e9cb873 --- /dev/null +++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-configure.ac-don-t-use-dnet-config.patch @@ -0,0 +1,41 @@ +From 929150608c16644695f19cd2e0cc8a06a41cd497 Mon Sep 17 00:00:00 2001 +From: Martin Kelly +Date: Fri, 7 Apr 2017 15:20:30 -0700 +Subject: [PATCH] configure.ac: don't use dnet-config + +The dnet-config tool doesn't know about cross-compilation, so it injects +-I/usr/include into the path, causing compiler errors. So instead find dnet via +-ldnet. + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Martin Kelly +--- + configure.ac | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 3400b86..7d6119e 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -942,7 +942,7 @@ if test "$with_dnet" = "yes"; then + AC_VMW_CHECK_LIB([dnet], + [DNET], + [], +- [dnet-config], ++ [], + [], + [dnet.h], + [intf_open], +@@ -952,7 +952,7 @@ if test "$with_dnet" = "yes"; then + + if test $have_dnet = "no"; then + AC_MSG_ERROR( +- [dnet-config was not found on your PATH. Please configure without dnet (using --without-dnet) or install dnet - http://libdnet.sourceforge.net]) ++ [dnet was not found. Please configure without dnet (using --without-dnet) or install dnet - http://libdnet.sourceforge.net]) + fi + fi + +-- +2.1.4 + diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb b/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb index 6793d45..b3e0afc 100644 --- a/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb +++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb @@ -24,6 +24,7 @@ SRC_URI = "git://github.com/vmware/open-vm-tools.git;protocol=https \ file://tools.conf \ file://vmtoolsd.service \ file://0001-Fix-kernel-detection.patch \ + file://0002-configure.ac-don-t-use-dnet-config.patch \ " SRCREV = "854c0bb374612f7e633b448ca273f970f154458b" @@ -76,4 +77,6 @@ do_install_append() { do_configure_prepend() { export CUSTOM_PROCPS_NAME=procps export CUSTOM_PROCPS_LIBS=-L${STAGING_LIBDIR}/libprocps.so + export CUSTOM_DNET_NAME=dnet + export CUSTOM_DNET_LIBS=-L${STAGING_LIBDIR}/libdnet.so } -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 07:59:58 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 07:59:58 +0000 Subject: [oe-commits] [meta-openembedded] 15/53: open-vm-tools: support FUSE In-Reply-To: <149889598362.1164.6115079788132926904@git.openembedded.org> References: <149889598362.1164.6115079788132926904@git.openembedded.org> Message-ID: <20170701075944.6824D2336B7@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 532b1c0566997ee1e29c0697f700e7aa11070882 Author: Martin Kelly AuthorDate: Fri Jun 23 15:48:44 2017 -0700 open-vm-tools: support FUSE The vmhgfs driver is now gone, but they use FUSE instead. Add FUSE support so we don't lose the functionality vmhgfs use to provide. Signed-off-by: Martin Kelly Signed-off-by: Martin Jansa --- meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb b/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb index c3cb9d5..7d024f2 100644 --- a/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb +++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb @@ -47,6 +47,9 @@ NO_X11_FLAGS = "--without-x --without-gtk2 --without-gtk3" X11_DEPENDS = "libxext libxi libxrender libxrandr libxtst gtk+ gdk-pixbuf" PACKAGECONFIG[x11] = ",${NO_X11_FLAGS},${X11_DEPENDS}" +# fuse gets implicitly detected; there is no --without-fuse option. +PACKAGECONFIG[fuse] = ",,fuse" + CFLAGS += '-Wno-error=deprecated-declarations' FILES_${PN} += "/usr/lib/open-vm-tools/plugins/vmsvc/lib*.so \ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 07:59:59 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 07:59:59 +0000 Subject: [oe-commits] [meta-openembedded] 16/53: open-vm-tools: scope build to only x86 In-Reply-To: <149889598362.1164.6115079788132926904@git.openembedded.org> References: <149889598362.1164.6115079788132926904@git.openembedded.org> Message-ID: <20170701075944.704092336B8@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit e50762e09b1624910daaf5bb28c4584c291b089b Author: Martin Kelly AuthorDate: Fri Jun 23 15:48:45 2017 -0700 open-vm-tools: scope build to only x86 Since open-vm-tools builds only on x86, set COMPATIBLE_HOST to reflect this. Signed-off-by: Martin Kelly Signed-off-by: Martin Jansa --- meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb b/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb index 7d024f2..906eaba 100644 --- a/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb +++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb @@ -34,6 +34,9 @@ S = "${WORKDIR}/git/open-vm-tools" DEPENDS = "glib-2.0 glib-2.0-native util-linux libdnet procps" RDEPENDS_${PN} = "util-linux libdnet" +# open-vm-tools is supported only on x86. +COMPATIBLE_HOST = '(x86_64.*|i.86.*)-linux' + inherit autotools pkgconfig systemd SYSTEMD_SERVICE_${PN} = "vmtoolsd.service" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:00:02 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:00:02 +0000 Subject: [oe-commits] [meta-openembedded] 19/53: open-vm-tools: remove -Wno-error In-Reply-To: <149889598362.1164.6115079788132926904@git.openembedded.org> References: <149889598362.1164.6115079788132926904@git.openembedded.org> Message-ID: <20170701075944.8371D2336BD@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 3aebb2354249527c5eb0e3574b9c46afb31cf12b Author: Martin Kelly AuthorDate: Fri Jun 23 15:48:48 2017 -0700 open-vm-tools: remove -Wno-error In the past, we compiled with -Wno-error=deprecated-declarations, but the current version compiles fine without it, so remove it. Signed-off-by: Martin Kelly Signed-off-by: Martin Jansa --- meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb | 2 -- 1 file changed, 2 deletions(-) diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb b/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb index 2a83e86..65fbfc9 100644 --- a/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb +++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb @@ -53,8 +53,6 @@ PACKAGECONFIG[x11] = ",${NO_X11_FLAGS},${X11_DEPENDS}" # fuse gets implicitly detected; there is no --without-fuse option. PACKAGECONFIG[fuse] = ",,fuse" -CFLAGS += "-Wno-error=deprecated-declarations" - FILES_${PN} += "\ ${libdir}/open-vm-tools/plugins/vmsvc/lib*.so \ ${libdir}/open-vm-tools/plugins/common/lib*.so \ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:00:03 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:00:03 +0000 Subject: [oe-commits] [meta-openembedded] 20/53: glmark2: update to latest In-Reply-To: <149889598362.1164.6115079788132926904@git.openembedded.org> References: <149889598362.1164.6115079788132926904@git.openembedded.org> Message-ID: <20170701075944.8AB192336BE@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 1fb8406a9e781690ef7847775d1c99c935ff8e2c Author: Trevor Woerner AuthorDate: Sat Jun 24 13:15:27 2017 -0400 glmark2: update to latest Fixes and updates for imx, pl111, and vc4. Signed-off-by: Trevor Woerner Signed-off-by: Martin Jansa --- meta-oe/recipes-benchmark/glmark2/glmark2_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb b/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb index c7896f8..85d7bf1 100644 --- a/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb +++ b/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb @@ -19,7 +19,7 @@ SRC_URI = "git://github.com/glmark2/glmark2.git;protocol=https \ file://0001-Fix-wl_surface-should-be-destoryed-after-the-wl_wind.patch \ file://Fix-configure-for-sqrt-check.patch \ " -SRCREV = "7215c0f337dae0b232535549c37fca441747a891" +SRCREV = "9b1070fe9c5cf908f323909d3c8cbed08022abe8" S = "${WORKDIR}/git" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:00:01 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:00:01 +0000 Subject: [oe-commits] [meta-openembedded] 18/53: open-vm-tools: fix all hardcoded paths In-Reply-To: <149889598362.1164.6115079788132926904@git.openembedded.org> References: <149889598362.1164.6115079788132926904@git.openembedded.org> Message-ID: <20170701075944.7CCFF2336BC@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 8501dc084246e1f90f1822b7f6b30c09c6d8c99c Author: Martin Kelly AuthorDate: Fri Jun 23 15:48:47 2017 -0700 open-vm-tools: fix all hardcoded paths Signed-off-by: Martin Kelly Signed-off-by: Martin Jansa --- .../recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb b/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb index 4ab2820..2a83e86 100644 --- a/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb +++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb @@ -56,15 +56,15 @@ PACKAGECONFIG[fuse] = ",,fuse" CFLAGS += "-Wno-error=deprecated-declarations" FILES_${PN} += "\ - /usr/lib/open-vm-tools/plugins/vmsvc/lib*.so \ - /usr/lib/open-vm-tools/plugins/common/lib*.so \ + ${libdir}/open-vm-tools/plugins/vmsvc/lib*.so \ + ${libdir}/open-vm-tools/plugins/common/lib*.so \ ${sysconfdir}/vmware-tools/tools.conf \ " -FILES_${PN}-locale += "/usr/share/open-vm-tools/messages" -FILES_${PN}-dev += "/usr/lib/open-vm-tools/plugins/common/lib*.la" +FILES_${PN}-locale += "${datadir}/open-vm-tools/messages" +FILES_${PN}-dev += "${libdir}/open-vm-tools/plugins/common/lib*.la" FILES_${PN}-dbg += "\ - /usr/lib/open-vm-tools/plugins/common/.debug \ - /usr/lib/open-vm-tools/plugins/vmsvc/.debug \ + ${libdir}/open-vm-tools/plugins/common/.debug \ + ${libdir}/open-vm-tools/plugins/vmsvc/.debug \ " CONFFILES_${PN} += "${sysconfdir}/vmware-tools/tools.conf" @@ -72,7 +72,7 @@ CONFFILES_${PN} += "${sysconfdir}/vmware-tools/tools.conf" RDEPENDS_${PN} = "util-linux libdnet fuse" do_install_append() { - ln -sf /usr/sbin/mount.vmhgfs ${D}/sbin/mount.vmhgfs + ln -sf ${sbindir}/mount.vmhgfs ${D}/sbin/mount.vmhgfs install -d ${D}${systemd_unitdir}/system ${D}${sysconfdir}/vmware-tools install -m 644 ${WORKDIR}/*.service ${D}${systemd_unitdir}/system install -m 0644 ${WORKDIR}/tools.conf ${D}${sysconfdir}/vmware-tools/tools.conf -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:00:00 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:00:00 +0000 Subject: [oe-commits] [meta-openembedded] 17/53: open-vm-tools: style changes In-Reply-To: <149889598362.1164.6115079788132926904@git.openembedded.org> References: <149889598362.1164.6115079788132926904@git.openembedded.org> Message-ID: <20170701075944.767642336BA@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 7b32361bd7e2a4a65123f90dcc1e9ff9e90ca2ba Author: Martin Kelly AuthorDate: Fri Jun 23 15:48:46 2017 -0700 open-vm-tools: style changes Various cosmetic changes to make the recipe match the style guide: http://www.openembedded.org/wiki/Styleguide Signed-off-by: Martin Kelly Signed-off-by: Martin Jansa --- .../open-vm-tools/open-vm-tools_10.1.5.bb | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb b/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb index 906eaba..4ab2820 100644 --- a/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb +++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb @@ -9,7 +9,8 @@ # in meta-openembedded by agreement of the author (Diego Dompe). # -DECRIPTION = "open-vm-tools" +SUMMARY = "Tools to enhance VMWare guest integration and performance" +HOMEPAGE = "https://github.com/vmware/open-vm-tools" SECTION = "vmware-tools" LICENSE = "LGPLv2.1 & GPLv2 & BSD & CDDLv1" @@ -32,7 +33,6 @@ SRCREV = "854c0bb374612f7e633b448ca273f970f154458b" S = "${WORKDIR}/git/open-vm-tools" DEPENDS = "glib-2.0 glib-2.0-native util-linux libdnet procps" -RDEPENDS_${PN} = "util-linux libdnet" # open-vm-tools is supported only on x86. COMPATIBLE_HOST = '(x86_64.*|i.86.*)-linux' @@ -53,18 +53,24 @@ PACKAGECONFIG[x11] = ",${NO_X11_FLAGS},${X11_DEPENDS}" # fuse gets implicitly detected; there is no --without-fuse option. PACKAGECONFIG[fuse] = ",,fuse" -CFLAGS += '-Wno-error=deprecated-declarations' +CFLAGS += "-Wno-error=deprecated-declarations" -FILES_${PN} += "/usr/lib/open-vm-tools/plugins/vmsvc/lib*.so \ - /usr/lib/open-vm-tools/plugins/common/lib*.so \ - ${sysconfdir}/vmware-tools/tools.conf" +FILES_${PN} += "\ + /usr/lib/open-vm-tools/plugins/vmsvc/lib*.so \ + /usr/lib/open-vm-tools/plugins/common/lib*.so \ + ${sysconfdir}/vmware-tools/tools.conf \ + " FILES_${PN}-locale += "/usr/share/open-vm-tools/messages" FILES_${PN}-dev += "/usr/lib/open-vm-tools/plugins/common/lib*.la" -FILES_${PN}-dbg += "/usr/lib/open-vm-tools/plugins/common/.debug \ - /usr/lib/open-vm-tools/plugins/vmsvc/.debug" +FILES_${PN}-dbg += "\ + /usr/lib/open-vm-tools/plugins/common/.debug \ + /usr/lib/open-vm-tools/plugins/vmsvc/.debug \ + " CONFFILES_${PN} += "${sysconfdir}/vmware-tools/tools.conf" +RDEPENDS_${PN} = "util-linux libdnet fuse" + do_install_append() { ln -sf /usr/sbin/mount.vmhgfs ${D}/sbin/mount.vmhgfs install -d ${D}${systemd_unitdir}/system ${D}${sysconfdir}/vmware-tools -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:00:06 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:00:06 +0000 Subject: [oe-commits] [meta-openembedded] 23/53: ssiapi: Fix build with hardening flags In-Reply-To: <149889598362.1164.6115079788132926904@git.openembedded.org> References: <149889598362.1164.6115079788132926904@git.openembedded.org> Message-ID: <20170701075944.9ED232336C1@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 81a3addfe5b74bd5779ab9cd8fe047d348ab8c25 Author: Khem Raj AuthorDate: Sun Jun 25 22:34:45 2017 -0700 ssiapi: Fix build with hardening flags Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../ssiapi/ssiapi/configure-cflags.patch | 21 +++++++++++++++++++++ meta-oe/recipes-support/ssiapi/ssiapi_1.0.1.bb | 2 ++ 2 files changed, 23 insertions(+) diff --git a/meta-oe/recipes-support/ssiapi/ssiapi/configure-cflags.patch b/meta-oe/recipes-support/ssiapi/ssiapi/configure-cflags.patch new file mode 100644 index 0000000..d45be59 --- /dev/null +++ b/meta-oe/recipes-support/ssiapi/ssiapi/configure-cflags.patch @@ -0,0 +1,21 @@ +Do not override flags thereby respect the flags coming from environment, +e.g. we need some optimization level turned on when security flags are enabled +without this change, the build would fail + +Signed-off-by: Khem Raj +Index: ssiapi.1.0.1/configure.ac +=================================================================== +--- ssiapi.1.0.1.orig/configure.ac ++++ ssiapi.1.0.1/configure.ac +@@ -15,11 +15,6 @@ AC_SUBST(VERSION) + AM_INIT_AUTOMAKE(ssi, ${VERSION}) + AM_CONFIG_HEADER(config.h) + +-dnl Set the language we use +-CPPFLAGS="-g3 -gdwarf-2 -Wall -Werror -D_GNU_SOURCE" +-CFLAGS="-std=gnu99" +-CXXFLAGS="-std=gnu++98" +- + dnl Automake 1.11 - silent build rules + m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) + diff --git a/meta-oe/recipes-support/ssiapi/ssiapi_1.0.1.bb b/meta-oe/recipes-support/ssiapi/ssiapi_1.0.1.bb index f3c1fc4..3396370 100644 --- a/meta-oe/recipes-support/ssiapi/ssiapi_1.0.1.bb +++ b/meta-oe/recipes-support/ssiapi/ssiapi_1.0.1.bb @@ -17,6 +17,7 @@ SRC_URI = "http://sourceforge.net/projects/irstessi/files/${BPN}.${PV}.tgz \ file://0004-engine-Fix-indentation-and-missing-semi-colon.patch \ file://0005-engine-Define-SENTINEL.patch \ file://0006-tools-Add-missing-includes-and-use-realpath-instead-.patch \ + file://configure-cflags.patch \ " SRC_URI[md5sum] = "02f16d7cbd30d28034093212906591f5" SRC_URI[sha256sum] = "e10d283b0f211afb8ebd0bde87c097769613d30a052cdf164753e35e803264c7" @@ -24,6 +25,7 @@ SRC_URI[sha256sum] = "e10d283b0f211afb8ebd0bde87c097769613d30a052cdf164753e35e80 S ="${WORKDIR}/${BPN}.${PV}" inherit autotools-brokensep +CXXFLAGS="-std=gnu++98 -D_GNU_SOURCE" do_configure_prepend(){ ./autogen.sh -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:00:12 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:00:12 +0000 Subject: [oe-commits] [meta-openembedded] 29/53: meson: set RDEPENDS globally instead of just for target In-Reply-To: <149889598362.1164.6115079788132926904@git.openembedded.org> References: <149889598362.1164.6115079788132926904@git.openembedded.org> Message-ID: <20170701075944.D2A1B23481D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 3710b9da7facfc52940bb342d8e10697d114feed Author: Ross Burton AuthorDate: Mon Jun 26 16:11:13 2017 +0100 meson: set RDEPENDS globally instead of just for target Now that python3-native has the correct provides, the RDEPENDS can be set globally instead of just for target (which helps a future nativesdk-meson package). Signed-off-by: Ross Burton Signed-off-by: Martin Jansa --- meta-oe/recipes-devtools/meson/meson_0.40.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-oe/recipes-devtools/meson/meson_0.40.1.bb b/meta-oe/recipes-devtools/meson/meson_0.40.1.bb index a2c5e4d..ab54b8c 100644 --- a/meta-oe/recipes-devtools/meson/meson_0.40.1.bb +++ b/meta-oe/recipes-devtools/meson/meson_0.40.1.bb @@ -14,6 +14,6 @@ S = "${WORKDIR}/git" inherit setuptools3 -RDEPENDS_${PN}_class-target = "ninja python3-core python3-modules" +RDEPENDS_${PN} = "ninja python3-core python3-modules" BBCLASSEXTEND = "native" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:00:15 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:00:15 +0000 Subject: [oe-commits] [meta-openembedded] 32/53: meson: set native tool flag variables In-Reply-To: <149889598362.1164.6115079788132926904@git.openembedded.org> References: <149889598362.1164.6115079788132926904@git.openembedded.org> Message-ID: <20170701075944.EB78923367C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 6fb9a9e7a2288d8cef253beb6c5ad0a7e5daa669 Author: Ross Burton AuthorDate: Mon Jun 26 16:11:17 2017 +0100 meson: set native tool flag variables As well as setting CC/CXX, export CFLAGS/CXXFLAGS and so on. Signed-off-by: Ross Burton Signed-off-by: Martin Jansa --- meta-oe/classes/meson.bbclass | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/meta-oe/classes/meson.bbclass b/meta-oe/classes/meson.bbclass index b5b2b3b..7eeff42 100644 --- a/meta-oe/classes/meson.bbclass +++ b/meta-oe/classes/meson.bbclass @@ -10,9 +10,13 @@ do_configure[cleandirs] = "${B}" MESON_SOURCEPATH = "${S}" # These variables in the environment override the *native* tools, not the cross. +export CPPFLAGS = "${BUILD_CPPFLAGS}" export CC = "${BUILD_CC}" +export CFLAGS = "${BUILD_CFLAGS}" export CXX = "${BUILD_CXX}" +export CXXFLAGS = "${BUILD_CXXFLAGS}" export LD = "${BUILD_LD}" +export LDFLAGS = "${BUILD_LDFLAGS}" export AR = "${BUILD_AR}" export PKG_CONFIG = "pkg-config-native" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:00:07 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:00:07 +0000 Subject: [oe-commits] [meta-openembedded] 24/53: crash: Upgrade to 7.1.9 In-Reply-To: <149889598362.1164.6115079788132926904@git.openembedded.org> References: <149889598362.1164.6115079788132926904@git.openembedded.org> Message-ID: <20170701075944.A7C612336C3@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit ec9f60a6ef6e4434705756511aa76fc4ee6e4f1d Author: Khem Raj AuthorDate: Sun Jun 25 22:34:46 2017 -0700 crash: Upgrade to 7.1.9 Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...ompilation-error-if-glibc-2.25-or-later-h.patch | 112 --------------------- .../crash/{crash_7.1.8.bb => crash_7.1.9.bb} | 8 +- 2 files changed, 3 insertions(+), 117 deletions(-) diff --git a/meta-oe/recipes-kernel/crash/crash/0001-Fix-for-a-compilation-error-if-glibc-2.25-or-later-h.patch b/meta-oe/recipes-kernel/crash/crash/0001-Fix-for-a-compilation-error-if-glibc-2.25-or-later-h.patch deleted file mode 100644 index 9434815..0000000 --- a/meta-oe/recipes-kernel/crash/crash/0001-Fix-for-a-compilation-error-if-glibc-2.25-or-later-h.patch +++ /dev/null @@ -1,112 +0,0 @@ -From b8c8fbe0a2481e97fc57dd596346827a692a5768 Mon Sep 17 00:00:00 2001 -From: Dave Anderson -Date: Tue, 28 Mar 2017 15:44:40 -0400 -Subject: [PATCH 1/3] Fix for a compilation error if glibc-2.25 or later has - been installed on the host build machine. Without the patch, the build fails - with the error message "amd64-linux-nat.c:496:1: error: conflicting types for - 'ps_get_thread_area'". (anderson at redhat.com) - -Upstream-Status: Backport - -Signed-off-by: Dengke Du ---- - Makefile | 6 +++++ - configure.c | 2 +- - gdb-7.6-proc_service.h.patch | 55 ++++++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 62 insertions(+), 1 deletion(-) - create mode 100644 gdb-7.6-proc_service.h.patch - -diff --git a/Makefile b/Makefile -index 202ef8b..b6b7e80 100644 ---- a/Makefile -+++ b/Makefile -@@ -264,6 +264,12 @@ gdb_patch: - if [ "${ARCH}" = "x86_64" ] && [ "${TARGET}" = "PPC64" ] && [ -f ${GDB}-ppc64le-support.patch ]; then \ - patch -d ${GDB} -p1 -F0 < ${GDB}-ppc64le-support.patch ; \ - fi -+ if [ -f /usr/include/proc_service.h ]; then \ -+ grep 'extern ps_err_e ps_get_thread_area (struct' /usr/include/proc_service.h; \ -+ if [ $$? -eq 0 ]; then \ -+ patch -p0 < ${GDB}-proc_service.h.patch; \ -+ fi; \ -+ fi - - library: make_build_data ${OBJECT_FILES} - ar -rs ${PROGRAM}lib.a ${OBJECT_FILES} -diff --git a/configure.c b/configure.c -index d63cdd7..776defe 100644 ---- a/configure.c -+++ b/configure.c -@@ -240,7 +240,7 @@ struct supported_gdb_version { - "7.6", - "GDB_FILES=${GDB_7.6_FILES}", - "GDB_OFILES=${GDB_7.6_OFILES}", -- "GDB_PATCH_FILES=gdb-7.6.patch gdb-7.6-ppc64le-support.patch", -+ "GDB_PATCH_FILES=gdb-7.6.patch gdb-7.6-ppc64le-support.patch gdb-7.6-proc_service.h.patch", - "GDB_FLAGS=-DGDB_7_6", - "GPLv3" - }, -diff --git a/gdb-7.6-proc_service.h.patch b/gdb-7.6-proc_service.h.patch -new file mode 100644 -index 0000000..49d18bb ---- /dev/null -+++ b/gdb-7.6-proc_service.h.patch -@@ -0,0 +1,55 @@ -+--- gdb-7.6/gdb/gdb_proc_service.h.orig -++++ gdb-7.6/gdb/gdb_proc_service.h -+@@ -115,7 +115,7 @@ extern pid_t ps_getpid (struct ps_procha -+ /* Fetch the special per-thread address associated with the given LWP. -+ This call is only used on a few platforms (most use a normal register). -+ The meaning of the `int' parameter is machine-dependent. */ -+-extern ps_err_e ps_get_thread_area (const struct ps_prochandle *, -++extern ps_err_e ps_get_thread_area (struct ps_prochandle *, -+ lwpid_t, int, psaddr_t *); -+ -+ -+--- gdb-7.6/gdb/amd64-linux-nat.c.orig -++++ gdb-7.6/gdb/amd64-linux-nat.c -+@@ -493,7 +493,7 @@ amd64_linux_new_fork (struct lwp_info *p -+ a request for a thread's local storage address. */ -+ -+ ps_err_e -+-ps_get_thread_area (const struct ps_prochandle *ph, -++ps_get_thread_area (struct ps_prochandle *ph, -+ lwpid_t lwpid, int idx, void **base) -+ { -+ if (gdbarch_bfd_arch_info (target_gdbarch ())->bits_per_word == 32) -+--- gdb-7.6/gdb/aarch64-linux-nat.c.orig -++++ gdb-7.6/gdb/aarch64-linux-nat.c -+@@ -750,7 +750,7 @@ aarch64_linux_new_fork (struct lwp_info -+ storage (or its descriptor). */ -+ -+ ps_err_e -+-ps_get_thread_area (const struct ps_prochandle *ph, -++ps_get_thread_area (struct ps_prochandle *ph, -+ lwpid_t lwpid, int idx, void **base) -+ { -+ struct iovec iovec; -+--- gdb-7.6/gdb/arm-linux-nat.c.orig -++++ gdb-7.6/gdb/arm-linux-nat.c -+@@ -613,7 +613,7 @@ supply_fpregset (struct regcache *regcac -+ /* Fetch the thread-local storage pointer for libthread_db. */ -+ -+ ps_err_e -+-ps_get_thread_area (const struct ps_prochandle *ph, -++ps_get_thread_area (struct ps_prochandle *ph, -+ lwpid_t lwpid, int idx, void **base) -+ { -+ if (ptrace (PTRACE_GET_THREAD_AREA, lwpid, NULL, base) != 0) -+--- gdb-7.6/gdb/i386-linux-nat.c.orig -++++ gdb-7.6/gdb/i386-linux-nat.c -+@@ -849,7 +849,7 @@ i386_linux_new_fork (struct lwp_info *pa -+ storage (or its descriptor). */ -+ -+ ps_err_e -+-ps_get_thread_area (const struct ps_prochandle *ph, -++ps_get_thread_area (struct ps_prochandle *ph, -+ lwpid_t lwpid, int idx, void **base) -+ { -+ /* NOTE: cagney/2003-08-26: The definition of this buffer is found --- -2.8.1 - diff --git a/meta-oe/recipes-kernel/crash/crash_7.1.8.bb b/meta-oe/recipes-kernel/crash/crash_7.1.9.bb similarity index 95% rename from meta-oe/recipes-kernel/crash/crash_7.1.8.bb rename to meta-oe/recipes-kernel/crash/crash_7.1.9.bb index 9cbb291..93208e3 100644 --- a/meta-oe/recipes-kernel/crash/crash_7.1.8.bb +++ b/meta-oe/recipes-kernel/crash/crash_7.1.9.bb @@ -10,7 +10,7 @@ SECTION = "devel" LICENSE = "GPLv3" LIC_FILES_CHKSUM = "file://COPYING3;md5=d32239bcb673463ab874e80d47fae504" -DEPENDS = "zlib readline" +DEPENDS = "zlib readline coreutils-native" SRC_URI = "https://github.com/crash-utility/${BPN}/archive/${PV}.tar.gz;downloadfilename=${BP}.tar.gz \ http://ftp.gnu.org/gnu/gdb/gdb-7.6.tar.gz;name=gdb;subdir=${BP} \ @@ -22,14 +22,12 @@ SRC_URI = "https://github.com/crash-utility/${BPN}/archive/${PV}.tar.gz;download file://donnot-extract-gdb-during-do-compile.patch \ file://gdb_build_jobs_and_not_write_crash_target.patch \ file://remove-unrecognized-gcc-option-m32-for-mips.patch \ - file://0001-Fix-for-a-compilation-error-if-glibc-2.25-or-later-h.patch \ file://0002-crash-fix-build-error-unknown-type-name-gdb_fpregset.patch \ file://0003-crash-detect-the-sysroot-s-glibc-header-file.patch \ file://0004-crash-fix-build-failure-with-mips.patch \ " - -SRC_URI[md5sum] = "31787074f267a3536eebff008a0652ec" -SRC_URI[sha256sum] = "9965dee9199d7e39764fbee7f21c7c45b1f7b6d17c8e92ad62f468f062876478" +SRC_URI[md5sum] = "f3b44a151dbe7046462b9caaa9847ca6" +SRC_URI[sha256sum] = "c48e1269443a6a8e8337e328b21b03e4e50248f607eed83fbb27eb0d833d6aa4" SRC_URI[gdb.md5sum] = "a9836707337e5f7bf76a009a8904f470" SRC_URI[gdb.sha256sum] = "8070389a5dcc104eb0be483d582729f98ed4d761ad19cedd3f17b5d2502faa36" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:00:04 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:00:04 +0000 Subject: [oe-commits] [meta-openembedded] 21/53: live555: Define XLOCALE_NOT_USED for glibc too In-Reply-To: <149889598362.1164.6115079788132926904@git.openembedded.org> References: <149889598362.1164.6115079788132926904@git.openembedded.org> Message-ID: <20170701075944.915012336BF@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 01d70f84b1f53247b911c50506e5f1a3238d3732 Author: Khem Raj AuthorDate: Sun Jun 25 22:34:40 2017 -0700 live555: Define XLOCALE_NOT_USED for glibc too glibc has removed xlocale.h from public APIs starting 2.26 release Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- meta-oe/recipes-multimedia/live555/live555.inc | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/meta-oe/recipes-multimedia/live555/live555.inc b/meta-oe/recipes-multimedia/live555/live555.inc index daae8d7..14ea664 100644 --- a/meta-oe/recipes-multimedia/live555/live555.inc +++ b/meta-oe/recipes-multimedia/live555/live555.inc @@ -16,12 +16,9 @@ MIRRORS += "http://www.live555.com/liveMedia/public/ http://distcache.FreeBSD.or S = "${WORKDIR}/live" TARGET_CC_ARCH += "${LDFLAGS}" -XLOCALE_libc-musl = " -DXLOCALE_NOT_USED" -XLOCALE ?= "" - do_configure() { cp ${WORKDIR}/config.linux-cross . - echo "COMPILE_OPTS+=" -fPIC ${XLOCALE}"" >> config.linux-cross + echo "COMPILE_OPTS+=" -fPIC -DXLOCALE_NOT_USED"" >> config.linux-cross ./genMakefiles linux-cross } -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:00:05 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:00:05 +0000 Subject: [oe-commits] [meta-openembedded] 22/53: gpm: Use sigemptyset() API for glibc as well In-Reply-To: <149889598362.1164.6115079788132926904@git.openembedded.org> References: <149889598362.1164.6115079788132926904@git.openembedded.org> Message-ID: <20170701075944.97C8A2336C0@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit bd66426dc33b66d9b551c48a8091b939126ce8b4 Author: Khem Raj AuthorDate: Sun Jun 25 22:34:43 2017 -0700 gpm: Use sigemptyset() API for glibc as well glibc has removed __sigemptyset Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...-sigemptyset-API-instead-of-__sigemptyset.patch | 34 ++++++++++++++++++++++ meta-oe/recipes-support/gpm/gpm_git.bb | 4 ++- 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/meta-oe/recipes-support/gpm/gpm/0001-Use-sigemptyset-API-instead-of-__sigemptyset.patch b/meta-oe/recipes-support/gpm/gpm/0001-Use-sigemptyset-API-instead-of-__sigemptyset.patch new file mode 100644 index 0000000..a919816 --- /dev/null +++ b/meta-oe/recipes-support/gpm/gpm/0001-Use-sigemptyset-API-instead-of-__sigemptyset.patch @@ -0,0 +1,34 @@ +From 52e6cf052b1f938fcca1bc24d578fe0bfd972988 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 25 Jun 2017 07:25:33 -0700 +Subject: [PATCH] Use sigemptyset API instead of __sigemptyset + +__sigemptyset has been removed from glibc public +API headers in upcoming (2.26) release onwards + +Signed-off-by: Khem Raj +--- +Upstream-Status: Submitted + + src/prog/gpm-root.y | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/src/prog/gpm-root.y b/src/prog/gpm-root.y +index 5126c65..76c896c 100644 +--- a/src/prog/gpm-root.y ++++ b/src/prog/gpm-root.y +@@ -1196,11 +1196,7 @@ int main(int argc, char **argv) + LOG_DAEMON : LOG_USER); + /* reap your zombies */ + childaction.sa_handler=reap_children; +-#if defined(__GLIBC__) +- __sigemptyset(&childaction.sa_mask); +-#else /* __GLIBC__ */ + sigemptyset(&childaction.sa_mask); +-#endif /* __GLIBC__ */ + childaction.sa_flags=0; + sigaction(SIGCHLD,&childaction,NULL); + +-- +2.13.1 + diff --git a/meta-oe/recipes-support/gpm/gpm_git.bb b/meta-oe/recipes-support/gpm/gpm_git.bb index 69f12d9..51c4dd6 100644 --- a/meta-oe/recipes-support/gpm/gpm_git.bb +++ b/meta-oe/recipes-support/gpm/gpm_git.bb @@ -12,10 +12,12 @@ SRCREV = "1fd19417b8a4dd9945347e98dfa97e4cfd798d77" DEPENDS = "ncurses" SRC_URI = "git://github.com/telmich/gpm;protocol=git \ + file://init \ file://no-docs.patch \ file://processcreds.patch \ file://gpm.service.in \ - file://init" + file://0001-Use-sigemptyset-API-instead-of-__sigemptyset.patch \ + " S = "${WORKDIR}/git" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:00:17 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:00:17 +0000 Subject: [oe-commits] [meta-openembedded] 34/53: xfsprogs:4.10.0 -> 4.11.0 In-Reply-To: <149889598362.1164.6115079788132926904@git.openembedded.org> References: <149889598362.1164.6115079788132926904@git.openembedded.org> Message-ID: <20170701075945.0BC6A2336A8@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit d53546b7cb38e0dfea6f458859f7f477065daa43 Author: susanbian AuthorDate: Tue Jun 27 14:13:12 2017 +0800 xfsprogs:4.10.0 -> 4.11.0 Upgrade xfsprogs from 4.10.0 to 4.11.0 Signed-off-by: susanbian Signed-off-by: Martin Jansa --- .../recipes-utils/xfsprogs/{xfsprogs_4.10.0.bb => xfsprogs_4.11.0.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.10.0.bb b/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.11.0.bb similarity index 93% rename from meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.10.0.bb rename to meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.11.0.bb index b4f2c11..046dea4 100644 --- a/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.10.0.bb +++ b/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.11.0.bb @@ -9,8 +9,8 @@ SRC_URI = "https://www.kernel.org/pub/linux/utils/fs/xfs/xfsprogs/${BP}.tar.xz \ file://link_needed_libs.patch \ file://0001-define-__-prefixed-version-of-intXY_t-types.patch \ " -SRC_URI[md5sum] = "ddbb04493addf014db07a7e2b96b2804" -SRC_URI[sha256sum] = "d8cb9ab2c686699d37914354ce3992b4aff3677093cbce06ad18bf798da8a8a7" +SRC_URI[md5sum] = "f1f9b8c752347eefdb56483dafa0cefb" +SRC_URI[sha256sum] = "c3a6d87b564d7738243c507df82276bed982265e345363a95f2c764e8a5f5bb2" inherit autotools-brokensep -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:00:20 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:00:20 +0000 Subject: [oe-commits] [meta-openembedded] 37/53: umip: Fix buid with hardening In-Reply-To: <149889598362.1164.6115079788132926904@git.openembedded.org> References: <149889598362.1164.6115079788132926904@git.openembedded.org> Message-ID: <20170701075945.342E7234820@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 2bd65aacdfa2634f20dfbc7cacf6e418f8cc2ae7 Author: Khem Raj AuthorDate: Tue Jun 27 19:08:10 2017 -0700 umip: Fix buid with hardening Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../0001-Add-format-string-to-fprintf-call.patch | 26 ++++++++++++++++++++++ meta-oe/recipes-connectivity/umip/umip_1.0.bb | 9 ++++---- 2 files changed, 31 insertions(+), 4 deletions(-) diff --git a/meta-oe/recipes-connectivity/umip/files/0001-Add-format-string-to-fprintf-call.patch b/meta-oe/recipes-connectivity/umip/files/0001-Add-format-string-to-fprintf-call.patch new file mode 100644 index 0000000..8e5f4da --- /dev/null +++ b/meta-oe/recipes-connectivity/umip/files/0001-Add-format-string-to-fprintf-call.patch @@ -0,0 +1,26 @@ +From a0ad5128d14b022239445e251cf4a9826e86aa96 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 27 Jun 2017 07:48:31 -0700 +Subject: [PATCH] Add format string to fprintf() call + +Signed-off-by: Khem Raj +--- + src/vt.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/vt.c b/src/vt.c +index 795d393..a533d3d 100644 +--- a/src/vt.c ++++ b/src/vt.c +@@ -499,7 +499,7 @@ static int vt_cmd_dump_candidates(const struct vt_handle *vh, + } + llen += cmdlen; + +- ret = fprintf(vh->vh_stream, e->cmd); ++ ret = fprintf(vh->vh_stream, "%s", e->cmd); + if (ret < 0) + return ret; + +-- +2.13.2 + diff --git a/meta-oe/recipes-connectivity/umip/umip_1.0.bb b/meta-oe/recipes-connectivity/umip/umip_1.0.bb index a250566..cbf3061 100644 --- a/meta-oe/recipes-connectivity/umip/umip_1.0.bb +++ b/meta-oe/recipes-connectivity/umip/umip_1.0.bb @@ -10,10 +10,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=073dc31ccb2ebed70db54f1e8aeb4c33" DEPENDS = "rpm indent-native" SRC_URI = "git://git.umip.org/umip.git \ - file://add-dependency-to-support-parallel-compilation.patch \ - file://mip6d \ - file://mip6d.service \ -" + file://add-dependency-to-support-parallel-compilation.patch \ + file://mip6d \ + file://mip6d.service \ + file://0001-Add-format-string-to-fprintf-call.patch \ + " SRCREV = "428974c2d0d8e75a2750a3ab0488708c5dfdd8e3" S = "${WORKDIR}/git" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:00:08 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:00:08 +0000 Subject: [oe-commits] [meta-openembedded] 25/53: xfsprogs: remove redundant install rule in do_install In-Reply-To: <149889598362.1164.6115079788132926904@git.openembedded.org> References: <149889598362.1164.6115079788132926904@git.openembedded.org> Message-ID: <20170701075944.B37C82336C4@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 750695c35426532201d1c802460ccf7ab5baddd1 Author: Hongxu Jia AuthorDate: Mon Jun 26 04:34:00 2017 -0400 xfsprogs: remove redundant install rule in do_install Since the recipe inherits autotools-brokensep, it has `make install' in do_install by default. The extra one is not required which may conflict with install-dev. Occasionally build failure: ... Installing include-install Installing libxfs-install-dev make[1]: *** No rule to make target '../inclu', needed by 'xfs_dir2.lo'. Stop. make[1]: *** Waiting for unfinished jobs.... make: *** [Makefile:132: libxfs-install-dev] Error 2 ... It is hard to reproduce by manual build, so export BUILD_VERBOSE to gain more debug info duiring the build. Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.10.0.bb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.10.0.bb b/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.10.0.bb index 50ab987..b4f2c11 100644 --- a/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.10.0.bb +++ b/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.10.0.bb @@ -41,6 +41,7 @@ PACKAGECONFIG[readline] = "--enable-readline=yes,--enable-readline=no,readline" PACKAGECONFIG[blkid] = "--enable-blkid=yes,--enable-blkid=no,util-linux" export DEBUG="-DNDEBUG" +export BUILD_VERBOSE="1" EXTRA_OEMAKE = "DIST_ROOT='${D}'" @@ -54,7 +55,7 @@ do_configure_prepend () { } do_install_append() { - oe_runmake 'DESTDIR=${D}' install install-dev + oe_runmake 'DESTDIR=${D}' install-dev rm ${D}${libdir}/*.la rmdir --ignore-fail-on-non-empty ${D}${libdir} } -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:00:09 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:00:09 +0000 Subject: [oe-commits] [meta-openembedded] 26/53: meson: revert changes which shouldn't have been submitted In-Reply-To: <149889598362.1164.6115079788132926904@git.openembedded.org> References: <149889598362.1164.6115079788132926904@git.openembedded.org> Message-ID: <20170701075944.BB38D2336C5@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit f0d77f8501b3f4f99aca476a16b0ae9f00234983 Author: Ross Burton AuthorDate: Mon Jun 26 16:11:10 2017 +0100 meson: revert changes which shouldn't have been submitted >From Adam Foltzer: Apologies, this line was inadvertently committed. It was a fix I tried before learning that adding TARGET_CC_ARCH was the solution to linking the wrong ld.so. Signed-off-by: Ross Burton Signed-off-by: Martin Jansa --- meta-oe/classes/meson.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-oe/classes/meson.bbclass b/meta-oe/classes/meson.bbclass index 2c48a7e..cc9bc50 100644 --- a/meta-oe/classes/meson.bbclass +++ b/meta-oe/classes/meson.bbclass @@ -75,7 +75,7 @@ endian = '${MESON_HOST_ENDIAN}' [target_machine] system = '${TARGET_OS}' cpu_family = '${TARGET_ARCH}' -cpu = '${TUNE_PKGARCH}' +cpu = '${TARGET_ARCH}' endian = '${MESON_TARGET_ENDIAN}' EOF } -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:00:11 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:00:11 +0000 Subject: [oe-commits] [meta-openembedded] 28/53: meson: don't pass localedir In-Reply-To: <149889598362.1164.6115079788132926904@git.openembedded.org> References: <149889598362.1164.6115079788132926904@git.openembedded.org> Message-ID: <20170701075944.CAEFC23481C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 685db496819c3fc69c1dad7f77635e28c9b1d347 Author: Ross Burton AuthorDate: Mon Jun 26 16:11:12 2017 +0100 meson: don't pass localedir For historic reasons the localedir directory is where binary locales are stored (/usr/lib/locale) , not where application translations belong (typically, /usr/share/locale). Don't pass localedir explicitly, and let Meson use the default of $datadir/locale to match the behaviour of autotools.bbclass and the expectations of the system. Signed-off-by: Ross Burton Signed-off-by: Martin Jansa --- meta-oe/classes/meson.bbclass | 1 - 1 file changed, 1 deletion(-) diff --git a/meta-oe/classes/meson.bbclass b/meta-oe/classes/meson.bbclass index 72f96c5..8f384c1 100644 --- a/meta-oe/classes/meson.bbclass +++ b/meta-oe/classes/meson.bbclass @@ -27,7 +27,6 @@ MESONOPTS = " --prefix ${prefix} \ --includedir ${@noprefix('includedir', d)} \ --mandir ${@noprefix('mandir', d)} \ --infodir ${@noprefix('infodir', d)} \ - --localedir ${@noprefix('localedir', d)} \ --sysconfdir ${sysconfdir} \ --localstatedir ${localstatedir} \ --sharedstatedir ${sharedstatedir}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:00:10 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:00:10 +0000 Subject: [oe-commits] [meta-openembedded] 27/53: Revert "meson: fix build/host confusion for bbclass" In-Reply-To: <149889598362.1164.6115079788132926904@git.openembedded.org> References: <149889598362.1164.6115079788132926904@git.openembedded.org> Message-ID: <20170701075944.C2FF32336C6@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 11951f01d9e2385d80ca708fcb1f5c98b4641d7b Author: Ross Burton AuthorDate: Mon Jun 26 16:11:11 2017 +0100 Revert "meson: fix build/host confusion for bbclass" This patch was incorrect: meson and autotools (thus OE) don't have conflicting terminology, and using HOST_* for the host_machine variables is correct. This reverts commit 77eae90ef5ca3f9a4bdf5727a29713dd2b215165. Signed-off-by: Ross Burton Signed-off-by: Martin Jansa --- meta-oe/classes/meson.bbclass | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/meta-oe/classes/meson.bbclass b/meta-oe/classes/meson.bbclass index cc9bc50..72f96c5 100644 --- a/meta-oe/classes/meson.bbclass +++ b/meta-oe/classes/meson.bbclass @@ -67,9 +67,9 @@ cpp_args = [${@meson_array('MESON_C_ARGS', d)}] cpp_link_args = [${@meson_array('MESON_LINK_ARGS', d)}] [host_machine] -system = '${BUILD_OS}' -cpu_family = '${BUILD_ARCH}' -cpu = '${BUILD_ARCH}' +system = '${HOST_OS}' +cpu_family = '${HOST_ARCH}' +cpu = '${HOST_ARCH}' endian = '${MESON_HOST_ENDIAN}' [target_machine] -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:00:23 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:00:23 +0000 Subject: [oe-commits] [meta-openembedded] 40/53: lmbench: Fix build with hardening flags In-Reply-To: <149889598362.1164.6115079788132926904@git.openembedded.org> References: <149889598362.1164.6115079788132926904@git.openembedded.org> Message-ID: <20170701075945.6D1AB2336AB@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit dab4099c96f3d9304e85c02436df770d7304c148 Author: Khem Raj AuthorDate: Tue Jun 27 19:08:16 2017 -0700 lmbench: Fix build with hardening flags Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../0001-lat_http.c-Add-printf-format.patch | 26 ++++++++++++++++++++++ .../recipes-benchmark/lmbench/lmbench_3.0-a9.bb | 3 ++- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-lat_http.c-Add-printf-format.patch b/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-lat_http.c-Add-printf-format.patch new file mode 100644 index 0000000..18ed43d --- /dev/null +++ b/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-lat_http.c-Add-printf-format.patch @@ -0,0 +1,26 @@ +From 6faa6acdf20aa6f738eed1483b7dceed94286adb Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 27 Jun 2017 14:39:10 -0700 +Subject: [PATCH] lat_http.c: Add printf format + +Signed-off-by: Khem Raj +--- + src/lat_http.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/lat_http.c b/src/lat_http.c +index c630d59..28d04f7 100644 +--- a/src/lat_http.c ++++ b/src/lat_http.c +@@ -27,7 +27,7 @@ http(char *server, char *file, int prog) + sock = tcp_connect(server, prog, SOCKOPT_REUSE); + sprintf(buf, "GET /%s HTTP/1.0\r\n\r\n\n", file); + if (debug) { +- printf(buf); ++ printf("%s", buf); + } + write(sock, buf, strlen(buf)); + while ((n = read(sock, buf, XFERSIZE)) > 0) { +-- +2.13.2 + diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb b/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb index 62906fd..43ac1d0 100644 --- a/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb +++ b/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb @@ -19,7 +19,8 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/lmbench/lmbench-${PV}.tgz \ file://lmbench_result_html_report.patch \ file://fix-lmbench-memory-check-failure.patch \ file://0001-avoid-gcc-optimize-away-the-loops.patch \ -" + file://0001-lat_http.c-Add-printf-format.patch \ + " SRC_URI[md5sum] = "b3351a3294db66a72e2864a199d37cbf" SRC_URI[sha256sum] = "cbd5777d15f44eab7666dcac418054c3c09df99826961a397d9acf43d8a2a551" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:00:13 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:00:13 +0000 Subject: [oe-commits] [meta-openembedded] 30/53: meson: export PKG_CONFIG to use pkg-config-native for native builds In-Reply-To: <149889598362.1164.6115079788132926904@git.openembedded.org> References: <149889598362.1164.6115079788132926904@git.openembedded.org> Message-ID: <20170701075944.DA76C23367D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 6e2d975fc16f4228a2d952bde1a874f337281ada Author: Ross Burton AuthorDate: Mon Jun 26 16:11:14 2017 +0100 meson: export PKG_CONFIG to use pkg-config-native for native builds By default Meson uses 'pkg-config' in native builds but as that is the cross pkg-config, export PKG_CONFIG to use the correct pkg-config-native binary. Signed-off-by: Ross Burton Signed-off-by: Martin Jansa --- meta-oe/classes/meson.bbclass | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-oe/classes/meson.bbclass b/meta-oe/classes/meson.bbclass index 8f384c1..b5b2b3b 100644 --- a/meta-oe/classes/meson.bbclass +++ b/meta-oe/classes/meson.bbclass @@ -14,6 +14,7 @@ export CC = "${BUILD_CC}" export CXX = "${BUILD_CXX}" export LD = "${BUILD_LD}" export AR = "${BUILD_AR}" +export PKG_CONFIG = "pkg-config-native" def noprefix(var, d): return d.getVar(var, True).replace(d.getVar('prefix', True) + '/', '', 1) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:00:18 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:00:18 +0000 Subject: [oe-commits] [meta-openembedded] 35/53: sblim-sfcb: Add stdint.h for 'UINT16_MAX' In-Reply-To: <149889598362.1164.6115079788132926904@git.openembedded.org> References: <149889598362.1164.6115079788132926904@git.openembedded.org> Message-ID: <20170701075945.1628E23481E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit c0d763a6e604647f6dad25119eed5820195c2280 Author: Khem Raj AuthorDate: Tue Jun 27 19:08:07 2017 -0700 sblim-sfcb: Add stdint.h for 'UINT16_MAX' Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...ude-stdint.h-system-header-for-UINT16_MAX.patch | 29 ++++++++++++++++++++++ .../sblim-sfcb/sblim-sfcb_1.4.9.bb | 4 ++- 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb-1.4.9/0001-include-stdint.h-system-header-for-UINT16_MAX.patch b/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb-1.4.9/0001-include-stdint.h-system-header-for-UINT16_MAX.patch new file mode 100644 index 0000000..c2111a2 --- /dev/null +++ b/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb-1.4.9/0001-include-stdint.h-system-header-for-UINT16_MAX.patch @@ -0,0 +1,29 @@ +From 446fb15f79499f52ce01ca759dbdcfe635519a82 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 27 Jun 2017 07:09:33 -0700 +Subject: [PATCH] include stdint.h system header for UINT16_MAX + +Fixes build error + +error: 'UINT16_MAX' undeclared (first use in this function) + +Signed-off-by: Khem Raj +--- + interopServerProvider.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/interopServerProvider.c b/interopServerProvider.c +index 23ae182..532febe 100644 +--- a/interopServerProvider.c ++++ b/interopServerProvider.c +@@ -33,6 +33,7 @@ + #include + #include + #include ++#include + #include + #include + #include +-- +2.13.2 + diff --git a/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb_1.4.9.bb b/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb_1.4.9.bb index fa75fcc..ddb1cba 100644 --- a/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb_1.4.9.bb +++ b/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb_1.4.9.bb @@ -12,6 +12,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=f300afd598546add034364cd0a533261" DEPENDS = "curl libpam openssl sblim-sfc-common unzip-native" SRC_URI = "http://downloads.sourceforge.net/sblim/${BP}.tar.bz2 \ + file://sfcb.service \ file://sblim-sfcb-1.3.9-sfcbrepos-schema-location.patch \ file://sblim-sfcb-1.3.15-fix-provider-debugging.patch \ file://sblim-sfcb-1.3.16-maxMsgLen.patch \ @@ -19,7 +20,8 @@ SRC_URI = "http://downloads.sourceforge.net/sblim/${BP}.tar.bz2 \ file://sblim-sfcb-1.3.16-multilib-man-cfg.patch \ file://sblim-sfcb-1.4.8-default-ecdh-curve-name.patch \ file://sblim-sfcb-1.4.9-fix-ftbfs.patch \ - file://sfcb.service" + file://0001-include-stdint.h-system-header-for-UINT16_MAX.patch \ +" SRC_URI[md5sum] = "28021cdabc73690a94f4f9d57254ce30" SRC_URI[sha256sum] = "634a67b2f7ac3b386a79160eb44413d618e33e4e7fc74ae68b0240484af149dd" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:00:22 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:00:22 +0000 Subject: [oe-commits] [meta-openembedded] 39/53: wmiconfig: Fix build with hardening flags In-Reply-To: <149889598362.1164.6115079788132926904@git.openembedded.org> References: <149889598362.1164.6115079788132926904@git.openembedded.org> Message-ID: <20170701075945.574C5234822@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 499d19e10a5eb2ac121bada9eb44195be95ba3ea Author: Khem Raj AuthorDate: Tue Jun 27 19:08:12 2017 -0700 wmiconfig: Fix build with hardening flags Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../0001-makefile-Pass-CFLAGS-to-compile.patch | 26 + .../0002-fix-err-API-to-have-format-string.patch | 656 +++++++++++++++++++++ meta-oe/recipes-support/wmiconfig/wmiconfig_svn.bb | 5 +- 3 files changed, 686 insertions(+), 1 deletion(-) diff --git a/meta-oe/recipes-support/wmiconfig/wmiconfig/0001-makefile-Pass-CFLAGS-to-compile.patch b/meta-oe/recipes-support/wmiconfig/wmiconfig/0001-makefile-Pass-CFLAGS-to-compile.patch new file mode 100644 index 0000000..90eff5b --- /dev/null +++ b/meta-oe/recipes-support/wmiconfig/wmiconfig/0001-makefile-Pass-CFLAGS-to-compile.patch @@ -0,0 +1,26 @@ +From 0378cbb323c662a565f7f3de2dee3d8a646e7bd1 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 27 Jun 2017 09:32:42 -0700 +Subject: [PATCH 1/2] makefile: Pass CFLAGS to compile + +Set CC if not already set + +Signed-off-by: Khem Raj +--- + host/tools/wmiconfig/Makefile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/host/tools/wmiconfig/Makefile b/host/tools/wmiconfig/Makefile +index c6738c5..3253a7e 100644 +--- a/Makefile ++++ b/Makefile +@@ -1,4 +1,4 @@ +-CC :=$(ATH_CROSS_COMPILE_TYPE)gcc ++CC ?= $(ATH_CROSS_COMPILE_TYPE)gcc + + all: +- $(CC) -Wall -DUSER_KEYS -g $(LDFLAGS) -I../../include -I../../../include -I../../wlan/include -I../../os/linux/include wmiconfig.c -o wmiconfig ++ $(CC) -Wall -DUSER_KEYS -g $(CFLAGS) $(LDFLAGS) -I../../include -I../../../include -I../../wlan/include -I../../os/linux/include wmiconfig.c -o wmiconfig +-- +2.13.2 + diff --git a/meta-oe/recipes-support/wmiconfig/wmiconfig/0002-fix-err-API-to-have-format-string.patch b/meta-oe/recipes-support/wmiconfig/wmiconfig/0002-fix-err-API-to-have-format-string.patch new file mode 100644 index 0000000..f67f784 --- /dev/null +++ b/meta-oe/recipes-support/wmiconfig/wmiconfig/0002-fix-err-API-to-have-format-string.patch @@ -0,0 +1,656 @@ +From 909ebdde4ee2233d65de8fa01fde8e9a3bec12b7 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 27 Jun 2017 09:33:26 -0700 +Subject: [PATCH 2/2] fix err() API to have format string + +Fixes errors with hardening flags + +Signed-off-by: Khem Raj +--- + host/tools/wmiconfig/wmiconfig.c | 148 +++++++++++++++++++-------------------- + 1 file changed, 74 insertions(+), 74 deletions(-) + +diff --git a/host/tools/wmiconfig/wmiconfig.c b/host/tools/wmiconfig/wmiconfig.c +index 21c9dcd..a6ec481 100644 +--- a/wmiconfig.c ++++ b/wmiconfig.c +@@ -483,7 +483,7 @@ main (int argc, char **argv) + strcpy(ifname, ethIf); + s = socket(AF_INET, SOCK_DGRAM, 0); + if (s < 0) { +- err(1, "socket"); ++ err(1, "%s", "socket"); + } + + while (1) { +@@ -1506,28 +1506,28 @@ main (int argc, char **argv) + ifr.ifr_data = (void *)filterCmd; + if (ioctl(s, AR6000_IOCTL_WMI_SETBSSFILTER, &ifr) < 0) + { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + break; + case WMI_SET_POWER_MODE: + ifr.ifr_data = (void *)pwrCmd; + if (ioctl(s, AR6000_IOCTL_WMI_SETPWR, &ifr) < 0) + { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + break; + case WMI_SET_PM_PARAMS: + ifr.ifr_data = (void *)pmParamCmd; + if (ioctl(s, AR6000_IOCTL_WMI_SET_PMPARAMS, &ifr) < 0) + { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + break; + case WMI_SET_IBSS_PM_CAPS: + ifr.ifr_data = (void *)adhocPmCmd; + if (ioctl(s, AR6000_IOCTL_WMI_SET_IBSS_PM_CAPS, &ifr) < 0) + { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + break; + case WMI_SET_ERROR_DETECTION: +@@ -1535,7 +1535,7 @@ main (int argc, char **argv) + ifr.ifr_data = buf; + if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) + { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + break; + case WMI_GET_HB_CHALLENGE_RESP: +@@ -1543,7 +1543,7 @@ main (int argc, char **argv) + ifr.ifr_data = buf; + if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) + { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + break; + #ifdef USER_KEYS +@@ -1554,7 +1554,7 @@ main (int argc, char **argv) + + if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) + { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + + break; +@@ -1575,7 +1575,7 @@ main (int argc, char **argv) + ifr.ifr_data = (void *)sParamCmd; + if (ioctl(s, AR6000_IOCTL_WMI_SETSCAN, &ifr) < 0) + { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + break; + case WMI_GET_VERSION: +@@ -1586,7 +1586,7 @@ main (int argc, char **argv) + ifr.ifr_data = (void *)revinfo; + if (ioctl(s, AR6000_IOCTL_WMI_GETREV, &ifr) < 0) + { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + printf("Host Rev = 0x%x(%u.%u.%u.%u), Target Rev = 0x%x(%u.%u.%u.%u)\n", + revinfo->host_ver, +@@ -1606,14 +1606,14 @@ main (int argc, char **argv) + ifr.ifr_data = (void *)listenCmd; + if (ioctl(s, AR6000_IOCTL_WMI_SETLISTENINT, &ifr) < 0) + { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + break; + case WMI_SET_BMISS_TIME: + ifr.ifr_data = (void *)bmissCmd; + if (ioctl(s, AR6000_IOCTL_WMI_SET_BMISS_TIME, &ifr) < 0) + { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + break; + case WMI_SET_RSSI_THRESHOLDS: +@@ -1621,14 +1621,14 @@ main (int argc, char **argv) + ifr.ifr_data = buf; + if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) + { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + break; + case WMI_SET_SNR_THRESHOLDS: + ifr.ifr_data = (void *)snrThresholdParam; + if (ioctl(s, AR6000_IOCTL_WMI_SET_SNRTHRESHOLD, &ifr) < 0) + { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + break; + case WMI_CLR_RSSISNR: +@@ -1636,7 +1636,7 @@ main (int argc, char **argv) + ifr.ifr_data = buf; + if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) + { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + break; + case WMI_SET_LQ_THRESHOLDS: +@@ -1644,7 +1644,7 @@ main (int argc, char **argv) + ifr.ifr_data = buf; + if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) + { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + break; + case WMI_SET_CHANNEL: +@@ -1693,18 +1693,18 @@ main (int argc, char **argv) + + if (ioctl(s, AR6000_IOCTL_WMI_SET_CHANNELPARAMS, &ifr) < 0) + { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + break; + case WMI_SET_SSID: + if (index > MAX_PROBED_SSID_INDEX) { + printf("num option for ssid command too large\n"); +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + break; + } + if (strlen((char *)ssid) > sizeof (ssidCmd->ssid)) { + printf("ssid name too large\n"); +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + break; + } + ssidCmd->entryIndex = index; +@@ -1722,7 +1722,7 @@ main (int argc, char **argv) + ifr.ifr_data = (void *)ssidCmd; + if (ioctl(s, AR6000_IOCTL_WMI_SET_PROBEDSSID, &ifr) < 0) + { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + break; + case WMI_SET_BADAP: +@@ -1735,7 +1735,7 @@ main (int argc, char **argv) + ifr.ifr_data = (void *)badApCmd; + if (ioctl(s, AR6000_IOCTL_WMI_SET_BADAP, &ifr) < 0) + { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + break; + case WMI_CREATE_QOS: +@@ -1794,7 +1794,7 @@ main (int argc, char **argv) + ifr.ifr_data = (void *)crePStreamCmd; + if (ioctl(s, AR6000_IOCTL_WMI_CREATE_QOS, &ifr) < 0) + { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + break; + case WMI_GET_TARGET_STATS: +@@ -1807,7 +1807,7 @@ main (int argc, char **argv) + ifr.ifr_data = (void *)&tgtStatsCmd; + if (ioctl(s, AR6000_IOCTL_WMI_GET_TARGET_STATS, &ifr) < 0) + { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + printTargetStats(&(tgtStatsCmd.targetStats)); + break; +@@ -1815,7 +1815,7 @@ main (int argc, char **argv) + ifr.ifr_data = (void *)pBitMask; + if (ioctl(s, AR6000_IOCTL_WMI_SET_ERROR_REPORT_BITMASK, &ifr) < 0) + { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + break; + case WMI_DELETE_QOS: +@@ -1824,7 +1824,7 @@ main (int argc, char **argv) + ifr.ifr_data = (void *)delPStreamCmd; + if (ioctl(s, AR6000_IOCTL_WMI_DELETE_QOS, &ifr) < 0) + { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + break; + case WMI_GET_QOS_QUEUE: +@@ -1840,7 +1840,7 @@ main (int argc, char **argv) + ifr.ifr_data = (void *)getQosQueueCmd; + if (ioctl(s, AR6000_IOCTL_WMI_GET_QOS_QUEUE, &ifr) < 0) + { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + + printf("Active TSIDs \n"); +@@ -1855,7 +1855,7 @@ main (int argc, char **argv) + ifr.ifr_data = (void *)ieInfo; + if (ioctl(s, AR6000_IOCTL_WMI_SET_ASSOC_INFO, &ifr) < 0) + { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + break; + case WMI_SET_AC_PARAMS: +@@ -1871,14 +1871,14 @@ main (int argc, char **argv) + ifr.ifr_data = (void *)acParamsCmd; + if (ioctl(s, AR6000_IOCTL_WMI_SET_ACCESS_PARAMS, &ifr) < 0) + { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + break; + case WMI_SET_DISC_TIMEOUT: + ifr.ifr_data = (void *)discCmd; + if (ioctl(s, AR6000_IOCTL_WMI_SET_DISC_TIMEOUT, &ifr) < 0) + { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + break; + case WMI_SET_ADHOC_BSSID: +@@ -1887,7 +1887,7 @@ main (int argc, char **argv) + if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) + { + printf("fail to set adhoc bssid \n"); +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + break; + case WMI_SET_OPT_MODE: +@@ -1895,7 +1895,7 @@ main (int argc, char **argv) + ifr.ifr_data = buf; + if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) + { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + break; + case WMI_OPT_SEND_FRAME: +@@ -1903,7 +1903,7 @@ main (int argc, char **argv) + ifr.ifr_data = buf; + if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) + { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + break; + case WMI_SET_BEACON_INT: +@@ -1911,7 +1911,7 @@ main (int argc, char **argv) + ifr.ifr_data = buf; + if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) + { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + break; + case WMI_SET_VOICE_PKT_SIZE: +@@ -1919,7 +1919,7 @@ main (int argc, char **argv) + ifr.ifr_data = buf; + if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) + { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + break; + case WMI_SET_MAX_SP: +@@ -1927,7 +1927,7 @@ main (int argc, char **argv) + ifr.ifr_data = buf; + if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) + { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + break; + case WMI_GET_ROAM_TBL: +@@ -1935,7 +1935,7 @@ main (int argc, char **argv) + ifr.ifr_data = buf; + if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) + { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + break; + case WMI_SET_ROAM_CTRL: +@@ -1943,7 +1943,7 @@ main (int argc, char **argv) + ifr.ifr_data = buf; + if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) + { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + break; + case WMI_SET_POWERSAVE_TIMERS: +@@ -1951,7 +1951,7 @@ main (int argc, char **argv) + ifr.ifr_data = buf; + if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) + { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + break; + case WMI_GET_POWER_MODE: +@@ -1959,7 +1959,7 @@ main (int argc, char **argv) + ifr.ifr_data = buf; + if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) + { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + printf("Power mode is %s\n", + (getPowerMode->powerMode == MAX_PERF_POWER) ? "maxperf" : "rec"); +@@ -1969,7 +1969,7 @@ main (int argc, char **argv) + ifr.ifr_data = buf; + if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) + { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + break; + case WMI_GET_ROAM_DATA: +@@ -1977,7 +1977,7 @@ main (int argc, char **argv) + ifr.ifr_data = buf; + if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) + { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + break; + case WMI_SET_BT_STATUS: +@@ -1985,7 +1985,7 @@ main (int argc, char **argv) + ifr.ifr_data = buf; + if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) + { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + break; + case WMI_SET_BT_PARAMS: +@@ -1993,7 +1993,7 @@ main (int argc, char **argv) + ifr.ifr_data = buf; + if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) + { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + break; + case WMI_SET_RETRYLIMITS: +@@ -2001,14 +2001,14 @@ main (int argc, char **argv) + ifr.ifr_data = buf; + if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) + { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + break; + case WMI_START_SCAN: + ((int *)buf)[0] = AR6000_XIOCTL_WMI_STARTSCAN; + ifr.ifr_data = buf; + if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + break; + case WMI_SET_FIX_RATES: +@@ -2031,14 +2031,14 @@ main (int argc, char **argv) + ifr.ifr_data = buf; + if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) + { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + break; + case WMI_GET_FIX_RATES: + ((int *)buf)[0] = AR6000_XIOCTL_WMI_GETFIXRATES; + ifr.ifr_data = buf; + if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } else { + int i; + printf("Fix rate set index:"); +@@ -2057,7 +2057,7 @@ main (int argc, char **argv) + index--; + setAuthMode->mode = atoi(argv[index]); + if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + break; + case WMI_SET_REASSOC_MODE: +@@ -2067,42 +2067,42 @@ main (int argc, char **argv) + index--; + setReassocMode->mode = atoi(argv[index]); + if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + break; + case WMI_SET_LPREAMBLE: + ((int *)buf)[0] = AR6000_XIOCTL_WMI_SET_LPREAMBLE; + ifr.ifr_data = buf; + if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + break; + case WMI_SET_RTS: + ((int *)buf)[0] = AR6000_XIOCTL_WMI_SET_RTS; + ifr.ifr_data = buf; + if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + break; + case WMI_SET_WMM: + ((int *)buf)[0] = AR6000_XIOCTL_WMI_SET_WMM; + ifr.ifr_data = buf; + if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + break; + case WMI_SET_TXOP: + ((int *)buf)[0] = AR6000_XIOCTL_WMI_SET_TXOP; + ifr.ifr_data = buf; + if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + break; + case DIAG_READ: + ((int *)buf)[0] = AR6000_XIOCTL_DIAG_READ; + ifr.ifr_data = buf; + if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + printf("diagdata: 0x%x\n", *diagdata); + break; +@@ -2110,7 +2110,7 @@ main (int argc, char **argv) + ((int *)buf)[0] = AR6000_XIOCTL_DIAG_WRITE; + ifr.ifr_data = buf; + if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + break; + case WMI_GET_RD: +@@ -2118,7 +2118,7 @@ main (int argc, char **argv) + ifr.ifr_data = buf; + if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) + { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + else + { +@@ -2139,14 +2139,14 @@ main (int argc, char **argv) + index--; + setKeepAlive->keepaliveInterval = atoi(argv[index]); + if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + break; + case WMI_GET_KEEPALIVE: + ((int *)buf)[0] = AR6000_XIOCTL_WMI_GET_KEEPALIVE; + ifr.ifr_data = buf; + if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + printf("Keepalive interval is %d secs and AP is %s\n", + getKeepAlive->keepaliveInterval, (getKeepAlive->configured ? +@@ -2156,63 +2156,63 @@ main (int argc, char **argv) + ((int *)buf)[0] = AR6000_XIOCTL_WMI_SET_APPIE; + ifr.ifr_data = buf; + if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + break; + case WMI_SET_MGMT_FRM_RX_FILTER: + ((int *)buf)[0] = AR6000_XIOCTL_WMI_SET_MGMT_FRM_RX_FILTER; + ifr.ifr_data = buf; + if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + break; + case WMI_DBGLOG_CFG_MODULE: + ((int *)buf)[0] = AR6000_XIOCTL_DBGLOG_CFG_MODULE; + ifr.ifr_data = buf; + if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + break; + case WMI_DBGLOG_GET_DEBUG_LOGS: + ((int *)buf)[0] = AR6000_XIOCTL_DBGLOG_GET_DEBUG_LOGS; + ifr.ifr_data = buf; + if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + break; + case WMI_SET_HOST_SLEEP_MODE: + ((int *)buf)[0] = AR6000_XIOCTL_WMI_SET_HOST_SLEEP_MODE; + ifr.ifr_data = buf; + if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + break; + case WMI_SET_WOW_MODE: + ((int *)buf)[0] = AR6000_XIOCTL_WMI_SET_WOW_MODE; + ifr.ifr_data = buf; + if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + break; + case WMI_ADD_WOW_PATTERN: + ((int *)buf)[0] = AR6000_XIOCTL_WMI_ADD_WOW_PATTERN; + ifr.ifr_data = buf; + if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + break; + case WMI_DEL_WOW_PATTERN: + ((int *)buf)[0] = AR6000_XIOCTL_WMI_DEL_WOW_PATTERN; + ifr.ifr_data = buf; + if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + break; + case WMI_GET_WOW_LIST: + ((int *)buf)[0] = AR6000_XIOCTL_WMI_GET_WOW_LIST; + ifr.ifr_data = buf; + if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + break; + case DIAG_DUMP_CHIP_MEM: +@@ -2225,7 +2225,7 @@ main (int argc, char **argv) + ((int *)buf)[0] = AR6000_XIOCTL_DIAG_READ; + ifr.ifr_data = buf; + if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + printf("0x%04x:0x%04x\n", *diagaddr, *diagdata); + } +@@ -2237,21 +2237,21 @@ main (int argc, char **argv) + index = optind - 1; + *connectCtrlFlags = strtoul(argv[index], NULL, 0); + if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + break; + case DUMP_HTC_CREDITS: + ((int *)buf)[0] = AR6000_XIOCTL_DUMP_HTC_CREDIT_STATE; + ifr.ifr_data = buf; + if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + break; + case WMI_SET_AKMP_INFO: + ((int *)buf)[0] = AR6000_XIOCTL_WMI_SET_AKMP_PARAMS; + ifr.ifr_data = buf; + if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + break; + case WMI_SET_PMKID_LIST: +@@ -2259,7 +2259,7 @@ main (int argc, char **argv) + ((int *)buf)[0] = AR6000_XIOCTL_WMI_SET_PMKID_LIST; + ifr.ifr_data = buf; + if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + } else { + printf("No PMKIDs entered\n"); +@@ -2269,7 +2269,7 @@ main (int argc, char **argv) + ((int *)buf)[0] = AR6000_XIOCTL_WMI_GET_PMKID_LIST; + ifr.ifr_data = buf; + if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) { +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + break; + case WMI_SET_BSS_PMKID_INFO: +@@ -2277,7 +2277,7 @@ main (int argc, char **argv) + iwr.u.data.length = sizeof(*pi_cmd); + if (ioctl(s, IEEE80211_IOCTL_ADDPMKID, &iwr) < 0) { + printf("ADDPMKID IOCTL Error\n"); +- err(1, ifr.ifr_name); ++ err(1, "%s", ifr.ifr_name); + } + break; + default: +-- +2.13.2 + diff --git a/meta-oe/recipes-support/wmiconfig/wmiconfig_svn.bb b/meta-oe/recipes-support/wmiconfig/wmiconfig_svn.bb index 596a4e6..c66572b 100644 --- a/meta-oe/recipes-support/wmiconfig/wmiconfig_svn.bb +++ b/meta-oe/recipes-support/wmiconfig/wmiconfig_svn.bb @@ -6,7 +6,10 @@ SRCREV = "5394" PV = "0.0.0+svnr${SRCPV}" PR = "r2" -SRC_URI = "svn://svn.openmoko.org/trunk/src/target;module=AR6kSDK.build_sw.18;protocol=http" +SRC_URI = "svn://svn.openmoko.org/trunk/src/target;module=AR6kSDK.build_sw.18;protocol=http \ + file://0001-makefile-Pass-CFLAGS-to-compile.patch \ + file://0002-fix-err-API-to-have-format-string.patch \ + " S = "${WORKDIR}/AR6kSDK.build_sw.18/host/tools/wmiconfig" CLEANBROKEN = "1" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:00:21 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:00:21 +0000 Subject: [oe-commits] [meta-openembedded] 38/53: gtkperf: Fix build with hardening flags In-Reply-To: <149889598362.1164.6115079788132926904@git.openembedded.org> References: <149889598362.1164.6115079788132926904@git.openembedded.org> Message-ID: <20170701075945.425ED234821@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 15bb5e03a0bae987cd56cecfb6a79e68812ded98 Author: Khem Raj AuthorDate: Tue Jun 27 19:08:11 2017 -0700 gtkperf: Fix build with hardening flags Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../0001-Include-stdlib.h-for-exit-API.patch | 34 ++++++++++++++++++ .../0002-timing.c-Fix-format-security-errors.patch | 42 ++++++++++++++++++++++ meta-oe/recipes-graphics/gtkperf/gtkperf_0.40.bb | 5 ++- 3 files changed, 80 insertions(+), 1 deletion(-) diff --git a/meta-oe/recipes-graphics/gtkperf/gtkperf/0001-Include-stdlib.h-for-exit-API.patch b/meta-oe/recipes-graphics/gtkperf/gtkperf/0001-Include-stdlib.h-for-exit-API.patch new file mode 100644 index 0000000..d529ddd --- /dev/null +++ b/meta-oe/recipes-graphics/gtkperf/gtkperf/0001-Include-stdlib.h-for-exit-API.patch @@ -0,0 +1,34 @@ +From f8ac48abded02353918b02db38629988bd111c46 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 27 Jun 2017 08:19:44 -0700 +Subject: [PATCH 1/2] Include stdlib.h for exit() API +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fixes +main.c:81: warning: incompatible implicit declaration of built-in function ?exit? + +Patch from Debian +http://sources.debian.net/src/gtkperf/0.40%2Bds-2/debian/patches/01-include_stdlib.patch/ + +Signed-off-by: Khem Raj +--- + src/main.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/main.c b/src/main.c +index 888eb36..c226799 100644 +--- a/src/main.c ++++ b/src/main.c +@@ -11,6 +11,7 @@ + #endif + + #include ++#include + + #include "interface.h" + #include "support.h" +-- +2.13.2 + diff --git a/meta-oe/recipes-graphics/gtkperf/gtkperf/0002-timing.c-Fix-format-security-errors.patch b/meta-oe/recipes-graphics/gtkperf/gtkperf/0002-timing.c-Fix-format-security-errors.patch new file mode 100644 index 0000000..0548040 --- /dev/null +++ b/meta-oe/recipes-graphics/gtkperf/gtkperf/0002-timing.c-Fix-format-security-errors.patch @@ -0,0 +1,42 @@ +From 47974b8473c5b928f6742caee466f5c2d4d2e9eb Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 27 Jun 2017 08:22:26 -0700 +Subject: [PATCH 2/2] timing.c: Fix format-security errors + +Signed-off-by: Khem Raj +--- + src/timing.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/timing.c b/src/timing.c +index 0b8f0eb..c0668c9 100644 +--- a/src/timing.c ++++ b/src/timing.c +@@ -97,7 +97,7 @@ add_test_info_time (AppData * appdata) + gtk_text_buffer_insert (appdata->textview_info_buffer, &iter, + timestring, -1); + +- g_printf (timestring); ++ g_printf ("%s", timestring); + + } + +@@ -129,7 +129,7 @@ add_test_info_end (AppData * appdata) + gtk_statusbar_push (GTK_STATUSBAR (appdata->statusbar_main), 0, + " Test Finished"); + +- g_printf (timestring); ++ g_printf ("%s", timestring); + + } + +@@ -154,5 +154,5 @@ add_test_info_start (AppData * appdata) + gtk_statusbar_push (GTK_STATUSBAR (appdata->statusbar_main), 0, + " Running tests..."); + +- g_printf (timestring); ++ g_printf ("%s", timestring); + } +-- +2.13.2 + diff --git a/meta-oe/recipes-graphics/gtkperf/gtkperf_0.40.bb b/meta-oe/recipes-graphics/gtkperf/gtkperf_0.40.bb index e404a7a..2db9190 100644 --- a/meta-oe/recipes-graphics/gtkperf/gtkperf_0.40.bb +++ b/meta-oe/recipes-graphics/gtkperf/gtkperf_0.40.bb @@ -4,7 +4,10 @@ LICENSE = "LGPLv2.1" LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" SRC_URI = "http://prdownloads.sourceforge.net/${BPN}/${BPN}_${PV}.tar.gz \ - file://Makevars" + file://Makevars \ + file://0001-Include-stdlib.h-for-exit-API.patch \ + file://0002-timing.c-Fix-format-security-errors.patch \ + " SRC_URI[md5sum] = "4331dde4bb83865e15482885fcb0cc53" SRC_URI[sha256sum] = "9704344e732038eecbd007dd996a56293a6b027b5b76f3f036273a3fae1ab27b" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:00:25 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:00:25 +0000 Subject: [oe-commits] [meta-openembedded] 42/53: aufs-util: Upgrade to 3.18 In-Reply-To: <149889598362.1164.6115079788132926904@git.openembedded.org> References: <149889598362.1164.6115079788132926904@git.openembedded.org> Message-ID: <20170701075945.8EAC12336AD@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit f3ac89d24eb594ceb75a38c6f56e50bead70ec32 Author: Khem Raj AuthorDate: Tue Jun 27 19:08:19 2017 -0700 aufs-util: Upgrade to 3.18 Fix out of tree build, helps building with devtool Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb b/meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb index 50d8b90..1e86775 100644 --- a/meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb +++ b/meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb @@ -7,8 +7,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=892f569a555ba9c07a568a7c0c4fa63a" DEPENDS = "aufs-util-native" DEPENDS_class-native = "" -SRCREV = "b59a2167a135ceea37581ee33997de278cf8a30a" -SRC_URI = "git://git.code.sf.net/p/aufs/aufs-util;protocol=git;branch=aufs3.14 \ +SRCREV = "bdfcc0dcfc6113146e928f85145dbd2cf9b0e080" +SRC_URI = "git://git.code.sf.net/p/aufs/aufs-util;protocol=git;branch=aufs3.18 \ file://aufs-util-don-t-strip-executables.patch \ file://aufs-util-add-tool-concept-to-Makefile-for-cross-com.patch \ file://aufs_type.h \ @@ -34,7 +34,7 @@ do_configure_append () { do_configure_append_class-target () { for i in ver c2sh c2tmac; do - cp ${STAGING_BINDIR_NATIVE}/aufs-util-${PV}/$i ./ + cp ${STAGING_BINDIR_NATIVE}/aufs-util-*/$i ${B} done } -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:00:19 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:00:19 +0000 Subject: [oe-commits] [meta-openembedded] 36/53: networkmanager: Fix build with hardening In-Reply-To: <149889598362.1164.6115079788132926904@git.openembedded.org> References: <149889598362.1164.6115079788132926904@git.openembedded.org> Message-ID: <20170701075945.2274A23481F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 9d7a49a58b7dd1004c6095a9bcff04d7e4e4b56f Author: Khem Raj AuthorDate: Tue Jun 27 19:08:08 2017 -0700 networkmanager: Fix build with hardening Drop using xlocale.h Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...stemd-xlocale.h-is-dropped-by-newer-glibc.patch | 29 ++++++++++ ...-string-in-g_dbus_message_new_method_erro.patch | 67 ++++++++++++++++++++++ .../networkmanager/networkmanager_1.4.4.bb | 2 + 3 files changed, 98 insertions(+) diff --git a/meta-oe/recipes-connectivity/networkmanager/networkmanager/0001-systemd-xlocale.h-is-dropped-by-newer-glibc.patch b/meta-oe/recipes-connectivity/networkmanager/networkmanager/0001-systemd-xlocale.h-is-dropped-by-newer-glibc.patch new file mode 100644 index 0000000..4234e2b --- /dev/null +++ b/meta-oe/recipes-connectivity/networkmanager/networkmanager/0001-systemd-xlocale.h-is-dropped-by-newer-glibc.patch @@ -0,0 +1,29 @@ +From a9bfe6f2029d75caf28fcdf3e740843cf6359615 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 27 Jun 2017 07:31:25 -0700 +Subject: [PATCH 1/2] systemd: xlocale.h is dropped by newer glibc + +Signed-off-by: Khem Raj +--- + src/systemd/src/basic/parse-util.c | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/src/systemd/src/basic/parse-util.c b/src/systemd/src/basic/parse-util.c +index 9c21e5a..dd95d1f 100644 +--- a/src/systemd/src/basic/parse-util.c ++++ b/src/systemd/src/basic/parse-util.c +@@ -25,11 +25,7 @@ + #include + #include + #include +-#ifdef __GLIBC__ +-#include +-#else + #include +-#endif + #include "alloc-util.h" + #include "extract-word.h" + #include "macro.h" +-- +2.13.2 + diff --git a/meta-oe/recipes-connectivity/networkmanager/networkmanager/0002-user-format-string-in-g_dbus_message_new_method_erro.patch b/meta-oe/recipes-connectivity/networkmanager/networkmanager/0002-user-format-string-in-g_dbus_message_new_method_erro.patch new file mode 100644 index 0000000..e32b5c0 --- /dev/null +++ b/meta-oe/recipes-connectivity/networkmanager/networkmanager/0002-user-format-string-in-g_dbus_message_new_method_erro.patch @@ -0,0 +1,67 @@ +From adc0668b854289a11cfc29597b5566ba1869d17e Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 27 Jun 2017 07:32:09 -0700 +Subject: [PATCH 2/2] user format string in g_dbus_message_new_method_error () + +This fixes format errors with -Werror=format-security + +Signed-off-by: Khem Raj +--- + src/nm-manager.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/src/nm-manager.c b/src/nm-manager.c +index c3d65cd..e814912 100644 +--- a/src/nm-manager.c ++++ b/src/nm-manager.c +@@ -4871,6 +4871,7 @@ prop_set_auth_done_cb (NMAuthChain *chain, + if (error || (result != NM_AUTH_CALL_RESULT_YES)) { + reply = g_dbus_message_new_method_error (pfd->message, + NM_PERM_DENIED_ERROR, ++ "%s", + (error_message = "Not authorized to perform this operation")); + if (error) + error_message = error->message; +@@ -4882,6 +4883,7 @@ prop_set_auth_done_cb (NMAuthChain *chain, + if (!object) { + reply = g_dbus_message_new_method_error (pfd->message, + "org.freedesktop.DBus.Error.UnknownObject", ++ "%s", + (error_message = "Object doesn't exist.")); + goto done; + } +@@ -4890,6 +4892,7 @@ prop_set_auth_done_cb (NMAuthChain *chain, + if (!nm_exported_object_get_interface_by_type (object, pfd->interface_type)) { + reply = g_dbus_message_new_method_error (pfd->message, + "org.freedesktop.DBus.Error.InvalidArgs", ++ "%s", + (error_message = "Object is of unexpected type.")); + goto done; + } +@@ -4905,6 +4908,7 @@ prop_set_auth_done_cb (NMAuthChain *chain, + if (global_dns && !nm_global_dns_config_is_internal (global_dns)) { + reply = g_dbus_message_new_method_error (pfd->message, + NM_PERM_DENIED_ERROR, ++ "%s", + (error_message = "Global DNS configuration already set via configuration file")); + goto done; + } +@@ -4949,6 +4953,7 @@ do_set_property_check (gpointer user_data) + if (!pfd->subject) { + reply = g_dbus_message_new_method_error (pfd->message, + NM_PERM_DENIED_ERROR, ++ "%s", + (error_message = "Could not determine request UID.")); + goto out; + } +@@ -4958,6 +4963,7 @@ do_set_property_check (gpointer user_data) + if (!chain) { + reply = g_dbus_message_new_method_error (pfd->message, + NM_PERM_DENIED_ERROR, ++ "%s", + (error_message = "Could not authenticate request.")); + goto out; + } +-- +2.13.2 + diff --git a/meta-oe/recipes-connectivity/networkmanager/networkmanager_1.4.4.bb b/meta-oe/recipes-connectivity/networkmanager/networkmanager_1.4.4.bb index 0de4383..e7dd4ef 100644 --- a/meta-oe/recipes-connectivity/networkmanager/networkmanager_1.4.4.bb +++ b/meta-oe/recipes-connectivity/networkmanager/networkmanager_1.4.4.bb @@ -34,6 +34,8 @@ SRC_URI = "${GNOME_MIRROR}/NetworkManager/${@gnome_verdir("${PV}")}/NetworkManag file://0001-check-for-strndupa-before-using-it.patch \ file://0001-dns-resolved-add-systemd-resolved-backend.patch \ file://0001-dns-resolved-also-check-for-etc-resolv-conf.systemd.patch \ + file://0001-systemd-xlocale.h-is-dropped-by-newer-glibc.patch \ + file://0002-user-format-string-in-g_dbus_message_new_method_erro.patch \ " SRC_URI[md5sum] = "63f1e0d6d7e9099499d062c84c927a75" SRC_URI[sha256sum] = "829378f318cc008d138a23ca6a9191928ce75344e7e47a2f2c35f4ac82133309" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:00:27 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:00:27 +0000 Subject: [oe-commits] [meta-openembedded] 44/53: orrery: Fix build with hardening flags In-Reply-To: <149889598362.1164.6115079788132926904@git.openembedded.org> References: <149889598362.1164.6115079788132926904@git.openembedded.org> Message-ID: <20170701075945.A31072336AF@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 80608a7a810522f6f47a658b6e53fc632820fc4f Author: Khem Raj AuthorDate: Tue Jun 27 23:14:16 2017 -0700 orrery: Fix build with hardening flags Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../orrery/0001-orrery-Fix-sprintf-format.patch | 26 ++++++++++++++++++++++ meta-oe/recipes-navigation/orrery/orrery_2.7.bb | 3 ++- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/meta-oe/recipes-navigation/orrery/orrery/0001-orrery-Fix-sprintf-format.patch b/meta-oe/recipes-navigation/orrery/orrery/0001-orrery-Fix-sprintf-format.patch new file mode 100644 index 0000000..eb6241f --- /dev/null +++ b/meta-oe/recipes-navigation/orrery/orrery/0001-orrery-Fix-sprintf-format.patch @@ -0,0 +1,26 @@ +From e600d3c09d2f97a197f86e6987d44d142e7b7cdf Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 27 Jun 2017 21:12:17 -0700 +Subject: [PATCH] orrery: Fix sprintf format + +Signed-off-by: Khem Raj +--- + orrery.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/orrery.c b/orrery.c +index e3a1f6d..1b31a9f 100644 +--- a/orrery.c ++++ b/orrery.c +@@ -3767,7 +3767,7 @@ static void drawOptsScreens(void) + displayWidth/2 - gdk_string_width(smallFont, scratchString)/2, + 12, scratchString); + for (day = 0; day < 7; day++) { +- sprintf(scratchString, dayName[day]); ++ sprintf(scratchString, "%s", dayName[day]); + gdk_draw_string(pixmap, smallFont, blueGC, + CAL_DAY_WIDTH/2 + day*CAL_DAY_WIDTH + CAL_LEFT_OFFSET - + gdk_string_width(smallFont, scratchString)/2, +-- +2.13.2 + diff --git a/meta-oe/recipes-navigation/orrery/orrery_2.7.bb b/meta-oe/recipes-navigation/orrery/orrery_2.7.bb index 40a6df3..1a00b08 100644 --- a/meta-oe/recipes-navigation/orrery/orrery_2.7.bb +++ b/meta-oe/recipes-navigation/orrery/orrery_2.7.bb @@ -10,7 +10,8 @@ inherit autotools-brokensep pkgconfig SRC_URI = "http://projects.openmoko.org/frs/download.php/923/orrery_2.7_clean.tar.gz \ file://orrery.png \ file://use.GdkPixbuf.patch \ -" + file://0001-orrery-Fix-sprintf-format.patch \ + " SRC_URI[md5sum] = "bd62a33e7554ee1030313dfcdefcda8b" SRC_URI[sha256sum] = "645166a5e05b2064ab630534a514697fc47b681951e7fe1d635c259cbdf7a5e6" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:00:14 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:00:14 +0000 Subject: [oe-commits] [meta-openembedded] 31/53: meson: remove redundant patch In-Reply-To: <149889598362.1164.6115079788132926904@git.openembedded.org> References: <149889598362.1164.6115079788132926904@git.openembedded.org> Message-ID: <20170701075944.E25E92336AA@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 529ae57ac9a8997cbbce9614ca036e4b631bd7ef Author: Ross Burton AuthorDate: Mon Jun 26 16:11:15 2017 +0100 meson: remove redundant patch This patch doesn't apply to 0.40.1 and hopefully the PKG_CONFIG patch fixes the problem with the wrong pkg-config binary being invoked. Signed-off-by: Ross Burton Signed-off-by: Martin Jansa --- .../meson/meson/native_bindir.patch | 52 ---------------------- 1 file changed, 52 deletions(-) diff --git a/meta-oe/recipes-devtools/meson/meson/native_bindir.patch b/meta-oe/recipes-devtools/meson/meson/native_bindir.patch deleted file mode 100644 index 53eeff7..0000000 --- a/meta-oe/recipes-devtools/meson/meson/native_bindir.patch +++ /dev/null @@ -1,52 +0,0 @@ -diff --git a/mesonbuild/dependencies.py b/mesonbuild/dependencies.py -index da73a57b7ecd..22100f69c580 100644 ---- a/mesonbuild/dependencies.py -+++ b/mesonbuild/dependencies.py -@@ -65,7 +65,7 @@ class Dependency(): - def need_threads(self): - return False - -- def get_pkgconfig_variable(self, variable_name): -+ def get_pkgconfig_variable(self, variable_name, use_native=False): - raise MesonException('Tried to get a pkg-config variable from a non-pkgconfig dependency.') - - class InternalDependency(Dependency): -@@ -177,8 +177,12 @@ class PkgConfigDependency(Dependency): - return s.format(self.__class__.__name__, self.name, self.is_found, - self.version_reqs) - -- def _call_pkgbin(self, args): -- p, out = Popen_safe([self.pkgbin] + args, env=os.environ)[0:2] -+ def _call_pkgbin(self, args, use_native=False): -+ if use_native: -+ pkgbin = [self.pkgbin + "-native"] -+ else: -+ pkgbin = [self.pkgbin] -+ p, out = Popen_safe(pkgbin + args, env=os.environ)[0:2] - return (p.returncode, out.strip()) - - def _set_cargs(self): -@@ -212,8 +216,8 @@ class PkgConfigDependency(Dependency): - self.is_libtool = True - self.libs.append(lib) - -- def get_pkgconfig_variable(self, variable_name): -- ret, out = self._call_pkgbin(['--variable=' + variable_name, self.name]) -+ def get_pkgconfig_variable(self, variable_name, use_native=False): -+ ret, out = self._call_pkgbin(['--variable=' + variable_name, self.name], use_native=use_native) - variable = '' - if ret != 0: - if self.required: -@@ -933,10 +937,10 @@ class QtBaseDependency(Dependency): - corekwargs = {'required': 'false', 'silent': 'true'} - core = PkgConfigDependency(self.qtpkgname + 'Core', env, corekwargs) - # Used by self.compilers_detect() -- self.bindir = core.get_pkgconfig_variable('host_bins') -+ self.bindir = core.get_pkgconfig_variable('host_bins', use_native=True) - if not self.bindir: - # If exec_prefix is not defined, the pkg-config file is broken -- prefix = core.get_pkgconfig_variable('exec_prefix') -+ prefix = core.get_pkgconfig_variable('exec_prefix', use_native=True) - if prefix: - self.bindir = os.path.join(prefix, 'bin') - -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:00:28 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:00:28 +0000 Subject: [oe-commits] [meta-openembedded] 45/53: crash: Pass optimization flags to configure via CC In-Reply-To: <149889598362.1164.6115079788132926904@git.openembedded.org> References: <149889598362.1164.6115079788132926904@git.openembedded.org> Message-ID: <20170701075945.AB04A2336B1@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit b62538284d0f8f1f45599914651991506a325493 Author: Khem Raj AuthorDate: Tue Jun 27 23:14:17 2017 -0700 crash: Pass optimization flags to configure via CC This is because when using fortify warnings we need to have some level of optimization, while we append warnings to CC we dont do the same for optimization, which results in compile failures when doing build with hardened flags Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- meta-oe/recipes-kernel/crash/crash_7.1.9.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-oe/recipes-kernel/crash/crash_7.1.9.bb b/meta-oe/recipes-kernel/crash/crash_7.1.9.bb index 93208e3..d40937e 100644 --- a/meta-oe/recipes-kernel/crash/crash_7.1.9.bb +++ b/meta-oe/recipes-kernel/crash/crash_7.1.9.bb @@ -35,6 +35,7 @@ SRC_URI[gdb.sha256sum] = "8070389a5dcc104eb0be483d582729f98ed4d761ad19cedd3f17b5 inherit gettext BBCLASSEXTEND = "native cross" +TARGET_CC_ARCH_append = " ${SELECTED_OPTIMIZATION}" # crash 7.1.3 and before don't support mips64 COMPATIBLE_HOST = "^(?!mips64).*" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:00:16 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:00:16 +0000 Subject: [oe-commits] [meta-openembedded] 33/53: cdparanoia: Fix build with security flags In-Reply-To: <149889598362.1164.6115079788132926904@git.openembedded.org> References: <149889598362.1164.6115079788132926904@git.openembedded.org> Message-ID: <20170701075945.002EF2336A6@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit d193035a51c0b10cdfe72e728541ab7ca447e995 Author: Khem Raj AuthorDate: Mon Jun 26 22:57:08 2017 -0700 cdparanoia: Fix build with security flags Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../cdparanoia/cdparanoia_10.2.bb | 4 ++- ...-for-null-buffer-before-trying-a-byteswap.patch | 31 +++++++++++++++++++++ .../files/0002-Fix-printf-format-errors.patch | 32 ++++++++++++++++++++++ 3 files changed, 66 insertions(+), 1 deletion(-) diff --git a/meta-multimedia/recipes-multimedia/cdparanoia/cdparanoia_10.2.bb b/meta-multimedia/recipes-multimedia/cdparanoia/cdparanoia_10.2.bb index e846e3a..30d71ff 100644 --- a/meta-multimedia/recipes-multimedia/cdparanoia/cdparanoia_10.2.bb +++ b/meta-multimedia/recipes-multimedia/cdparanoia/cdparanoia_10.2.bb @@ -13,7 +13,9 @@ SRC_URI = "http://downloads.xiph.org/releases/cdparanoia/cdparanoia-III-${PV}.sr file://0003-Fix-missing-shared-object-LDFLAGS.patch \ file://dont-use-internal-configs.patch \ file://out-of-tree-build.patch \ -" + file://0001-check-for-null-buffer-before-trying-a-byteswap.patch \ + file://0002-Fix-printf-format-errors.patch \ + " SRC_URI[md5sum] = "b304bbe8ab63373924a744eac9ebc652" SRC_URI[sha256sum] = "005db45ef4ee017f5c32ec124f913a0546e77014266c6a1c50df902a55fe64df" diff --git a/meta-multimedia/recipes-multimedia/cdparanoia/files/0001-check-for-null-buffer-before-trying-a-byteswap.patch b/meta-multimedia/recipes-multimedia/cdparanoia/files/0001-check-for-null-buffer-before-trying-a-byteswap.patch new file mode 100644 index 0000000..682cf6e --- /dev/null +++ b/meta-multimedia/recipes-multimedia/cdparanoia/files/0001-check-for-null-buffer-before-trying-a-byteswap.patch @@ -0,0 +1,31 @@ +From c760c5d31f2412a5be5ac6896e6069d1cea08527 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 26 Jun 2017 22:31:45 -0700 +Subject: [PATCH 1/2] check for null buffer before trying a byteswap + +Author: Monty + +Patch from debian +http://sources.debian.net/src/cdparanoia/3.10.2%2Bdebian-11/debian/patches/04-endian.patch + +Signed-off-by: Khem Raj +--- + interface/interface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/interface/interface.c b/interface/interface.c +index 526c2a9..763a0ea 100644 +--- a/interface/interface.c ++++ b/interface/interface.c +@@ -118,7 +118,7 @@ long cdda_read_timed(cdrom_drive *d, void *buffer, long beginsector, long sector + if(d->bigendianp==-1) /* not determined yet */ + d->bigendianp=data_bigendianp(d); + +- if(d->bigendianp!=bigendianp()){ ++ if(buffer && d->bigendianp!=bigendianp()){ + int i; + u_int16_t *p=(u_int16_t *)buffer; + long els=sectors*CD_FRAMESIZE_RAW/2; +-- +2.13.2 + diff --git a/meta-multimedia/recipes-multimedia/cdparanoia/files/0002-Fix-printf-format-errors.patch b/meta-multimedia/recipes-multimedia/cdparanoia/files/0002-Fix-printf-format-errors.patch new file mode 100644 index 0000000..024479c --- /dev/null +++ b/meta-multimedia/recipes-multimedia/cdparanoia/files/0002-Fix-printf-format-errors.patch @@ -0,0 +1,32 @@ +From f4f81bdadb9515938b3b5d13707bd4b9322fd967 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 26 Jun 2017 22:37:13 -0700 +Subject: [PATCH 2/2] Fix printf format errors + +error: format not a string literal and no format arguments + +Signed-off-by: Khem Raj +--- + main.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/main.c b/main.c +index 664acac..d568fb1 100644 +--- a/main.c ++++ b/main.c +@@ -588,10 +588,10 @@ static void callback(long inpos, int function){ + buffer[aheadposition+19]='>'; + } + +- fprintf(stderr,buffer); ++ fprintf(stderr, "%s", buffer); + + if (logfile != NULL && function==-1) { +- fprintf(logfile,buffer+1); ++ fprintf(logfile, "%s", buffer+1); + fprintf(logfile,"\n\n"); + fflush(logfile); + } +-- +2.13.2 + -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:00:26 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:00:26 +0000 Subject: [oe-commits] [meta-openembedded] 43/53: cdrkit: Fix build with hardening flags In-Reply-To: <149889598362.1164.6115079788132926904@git.openembedded.org> References: <149889598362.1164.6115079788132926904@git.openembedded.org> Message-ID: <20170701075945.9960F2336AE@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 8012181e4f4d0f077dfad1ce31316355ed8051d1 Author: Khem Raj AuthorDate: Tue Jun 27 23:14:15 2017 -0700 cdrkit: Fix build with hardening flags Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- meta-oe/recipes-multimedia/cdrkit/cdrkit_1.1.11.bb | 8 ++-- ...001-genisoimage-Fix-fprintf-format-errors.patch | 49 ++++++++++++++++++++++ 2 files changed, 53 insertions(+), 4 deletions(-) diff --git a/meta-oe/recipes-multimedia/cdrkit/cdrkit_1.1.11.bb b/meta-oe/recipes-multimedia/cdrkit/cdrkit_1.1.11.bb index 554b89f..f0efc51 100644 --- a/meta-oe/recipes-multimedia/cdrkit/cdrkit_1.1.11.bb +++ b/meta-oe/recipes-multimedia/cdrkit/cdrkit_1.1.11.bb @@ -5,10 +5,10 @@ LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=b30d3b2750b668133fc17b401e1b98f8" # While writing download from cdrkit.org was broken so get sources from debian -SRC_URI = " \ - ${DEBIAN_MIRROR}/main/c/${BPN}/${BPN}_${PV}.orig.tar.gz \ - file://0001-do-not-create-a-run-test-to-determine-order-of-bitfi.patch \ -" +SRC_URI = "${DEBIAN_MIRROR}/main/c/${BPN}/${BPN}_${PV}.orig.tar.gz \ + file://0001-do-not-create-a-run-test-to-determine-order-of-bitfi.patch \ + file://0001-genisoimage-Fix-fprintf-format-errors.patch \ + " SRC_URI[md5sum] = "efe08e2f3ca478486037b053acd512e9" SRC_URI[sha256sum] = "d1c030756ecc182defee9fe885638c1785d35a2c2a297b4604c0e0dcc78e47da" diff --git a/meta-oe/recipes-multimedia/cdrkit/files/0001-genisoimage-Fix-fprintf-format-errors.patch b/meta-oe/recipes-multimedia/cdrkit/files/0001-genisoimage-Fix-fprintf-format-errors.patch new file mode 100644 index 0000000..f52f71b --- /dev/null +++ b/meta-oe/recipes-multimedia/cdrkit/files/0001-genisoimage-Fix-fprintf-format-errors.patch @@ -0,0 +1,49 @@ +From 8547f23c4416ed98f585c53c62e7d8afd8edab36 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 27 Jun 2017 21:05:31 -0700 +Subject: [PATCH] genisoimage: Fix fprintf format errors + +Signed-off-by: Khem Raj +--- + genisoimage/genisoimage.c | 4 ++-- + genisoimage/tree.c | 2 +- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/genisoimage/genisoimage.c b/genisoimage/genisoimage.c +index 46f0cb7..9089081 100644 +--- a/genisoimage/genisoimage.c ++++ b/genisoimage/genisoimage.c +@@ -3406,7 +3406,7 @@ if (check_session == 0) + if (goof) { + fprintf(stderr, "ISO9660/Rock Ridge tree sort failed.\n"); + if(merge_warn_msg) +- fprintf(stderr, merge_warn_msg); ++ fprintf(stderr, "%s", merge_warn_msg); + exit(1); + } + #ifdef UDF +@@ -3419,7 +3419,7 @@ if (check_session == 0) + if (goof) { + fprintf(stderr, "Joliet tree sort failed. The -joliet-long switch may help you.\n"); + if(merge_warn_msg) +- fprintf(stderr, merge_warn_msg); ++ fprintf(stderr, "%s", merge_warn_msg); + exit(1); + } + /* +diff --git a/genisoimage/tree.c b/genisoimage/tree.c +index 7805888..8412cc3 100644 +--- a/genisoimage/tree.c ++++ b/genisoimage/tree.c +@@ -647,7 +647,7 @@ got_valid_name: + fprintf(stderr, "Unable to sort directory %s\n", + this_dir->whole_name); + if(merge_warn_msg) +- fprintf(stderr, merge_warn_msg); ++ fprintf(stderr, "%s", merge_warn_msg); + exit(1); + } + /* +-- +2.13.2 + -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:00:24 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:00:24 +0000 Subject: [oe-commits] [meta-openembedded] 41/53: wv: Fix build with hardening flags In-Reply-To: <149889598362.1164.6115079788132926904@git.openembedded.org> References: <149889598362.1164.6115079788132926904@git.openembedded.org> Message-ID: <20170701075945.807642336AC@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 27fa98a9ea71a3da6bb81d88a4652b770cecfabf Author: Khem Raj AuthorDate: Tue Jun 27 19:08:17 2017 -0700 wv: Fix build with hardening flags Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...vRTF.c-Specify-print-format-in-rtf_output.patch | 26 ++++++++++++++++++++++ meta-gnome/recipes-gnome/wv/wv_1.2.4.bb | 3 ++- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/meta-gnome/recipes-gnome/wv/wv-1.2.4/0001-wvRTF.c-Specify-print-format-in-rtf_output.patch b/meta-gnome/recipes-gnome/wv/wv-1.2.4/0001-wvRTF.c-Specify-print-format-in-rtf_output.patch new file mode 100644 index 0000000..2fc3f36 --- /dev/null +++ b/meta-gnome/recipes-gnome/wv/wv-1.2.4/0001-wvRTF.c-Specify-print-format-in-rtf_output.patch @@ -0,0 +1,26 @@ +From 079529b8d5e339e2211fa2f8c15543a738a627bc Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 27 Jun 2017 14:50:51 -0700 +Subject: [PATCH] wvRTF.c: Specify print format in rtf_output() + +Signed-off-by: Khem Raj +--- + wvRTF.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/wvRTF.c b/wvRTF.c +index 361d258..4f24b30 100644 +--- a/wvRTF.c ++++ b/wvRTF.c +@@ -192,7 +192,7 @@ output_rtfUserData (rtfUserData * ud) + rtf_output_char ('{'); + + /* font color */ +- rtf_output (rtfColors[ud->cCol]); ++ rtf_output ("%s", rtfColors[ud->cCol]); + + /* font face */ + rtf_output ("\\f%d", ud->cFont); +-- +2.13.2 + diff --git a/meta-gnome/recipes-gnome/wv/wv_1.2.4.bb b/meta-gnome/recipes-gnome/wv/wv_1.2.4.bb index 6489c6f..8ed1fcd 100644 --- a/meta-gnome/recipes-gnome/wv/wv_1.2.4.bb +++ b/meta-gnome/recipes-gnome/wv/wv_1.2.4.bb @@ -8,7 +8,8 @@ DEPENDS = "libgsf glib-2.0 libpng" SRC_URI = "${SOURCEFORGE_MIRROR}/wvware/wv-${PV}.tar.gz \ file://pkgconfig.patch \ file://0001-configure-use-foreign-mode-to-avoid-errors-with-miss.patch \ - " + file://0001-wvRTF.c-Specify-print-format-in-rtf_output.patch \ + " SRC_URI[md5sum] = "c1861c560491f121e12917fa76970ac5" SRC_URI[sha256sum] = "673109910e22d4cf94cc8be4dcb9a0c41b5fbdb1736d4b7bdc7778894d57c2d6" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:00:31 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:00:31 +0000 Subject: [oe-commits] [meta-openembedded] 48/53: hwloc: add several PACKAGECONFIG items In-Reply-To: <149889598362.1164.6115079788132926904@git.openembedded.org> References: <149889598362.1164.6115079788132926904@git.openembedded.org> Message-ID: <20170701075945.C769D2336B5@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit ee55f2a29a3e5f2d6566519e6d9c0c7be81163f6 Author: Qi.Chen at windriver.com AuthorDate: Thu Jun 29 10:23:38 2017 +0800 hwloc: add several PACKAGECONFIG items Add PACKAGECONFIG items to allow for more flexiblity. Signed-off-by: Chen Qi Signed-off-by: Martin Jansa --- meta-oe/recipes-extended/hwloc/hwloc_1.11.5.bb | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/meta-oe/recipes-extended/hwloc/hwloc_1.11.5.bb b/meta-oe/recipes-extended/hwloc/hwloc_1.11.5.bb index e067f27..5cf6e7e 100644 --- a/meta-oe/recipes-extended/hwloc/hwloc_1.11.5.bb +++ b/meta-oe/recipes-extended/hwloc/hwloc_1.11.5.bb @@ -13,10 +13,16 @@ SRC_URI[sha256sum] = "95d80286dfe658a3f79e2ac90698782bb36e5504f4bac1bba2394ba14d inherit autotools -DEPENDS += "cairo ncurses udev libxml2 zlib libpciaccess" -DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/libx11', '', d)}" +DEPENDS += "ncurses udev zlib" DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'libselinux', '', d)}" +PACKAGECONFIG ?= "pci libxml2 ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}" + +PACKAGECONFIG[numactl] = "--enable-libnuma,--disable-libnuma,numactl,numactl" +PACKAGECONFIG[libxml2] = "--enable-libxml2,--disable-libxml2,libxml2,libxml2" +PACKAGECONFIG[x11] = "--with-x,--without-x,virtual/libx11 cairo,cairo" +PACKAGECONFIG[pci] = "--enable-pci,--disable-pci,libpciaccess,libpciaccess" + # Split hwloc library into separate subpackage PACKAGES_prepend = " lib${PN} " FILES_lib${PN} += "${libdir}/lib${PN}.so*" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:00:29 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:00:29 +0000 Subject: [oe-commits] [meta-openembedded] 46/53: ipmiutil: Update to 3.0.5 In-Reply-To: <149889598362.1164.6115079788132926904@git.openembedded.org> References: <149889598362.1164.6115079788132926904@git.openembedded.org> Message-ID: <20170701075945.B8A3B2336B2@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 8707287f6d6fa3214fa78e27e2719cecdecb376b Author: Khem Raj AuthorDate: Tue Jun 27 23:14:18 2017 -0700 ipmiutil: Update to 3.0.5 for license change information see https://sourceforge.net/p/ipmiutil/code-git/ci/647a155e219e56d9cec8ffc61ad5f43a35a1af3a/tree/COPYING?diff=adb40a4caea4873586803ba5030b79de1bfca601 Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../ipmiutil/ipmiutil/fix_systemd_path.patch | 241 +++------------------ .../{ipmiutil_2.9.6.bb => ipmiutil_3.0.5.bb} | 26 +-- 2 files changed, 30 insertions(+), 237 deletions(-) diff --git a/meta-oe/recipes-support/ipmiutil/ipmiutil/fix_systemd_path.patch b/meta-oe/recipes-support/ipmiutil/ipmiutil/fix_systemd_path.patch index 2fa7c68..33116b3 100644 --- a/meta-oe/recipes-support/ipmiutil/ipmiutil/fix_systemd_path.patch +++ b/meta-oe/recipes-support/ipmiutil/ipmiutil/fix_systemd_path.patch @@ -6,115 +6,11 @@ Upstream Status: Inappropriate [Embedded] Signed-off-By: Armin Kuster -Index: ipmiutil-2.9.6/configure +Index: ipmiutil-3.0.5/configure.ac =================================================================== ---- ipmiutil-2.9.6.orig/configure -+++ ipmiutil-2.9.6/configure -@@ -792,7 +792,6 @@ LTLIBOBJS - LIBOBJS - pkgconfigdir - SHR_LINK --SYSTEMD_DIR - CROSS_LFLAGS - CROSS_CFLAGS - SUBDIR_S -@@ -999,7 +998,7 @@ psdir='${docdir}' - libdir='${exec_prefix}/lib' - localedir='${datarootdir}/locale' - mandir='${datarootdir}/man' -- -+systemddir='${datarootdir}/ipmiutil' - ac_prev= - ac_dashdash= - for ac_option -@@ -1594,7 +1593,10 @@ Optional Features: - --enable-standalone build standalone, with no GPL or LanPlus libs. - --enable-libsensors build libipmiutil with sensor modules [default=no] - --enable-gpl build with some GPL code [default=no] -- --enable-systemd enable systemd service type=notify support and %_unitdir [default=disabled] -+ --enable-systemd[=systemddir] install systemd unit file. If 'yes' -+ probe the system for unit directory. -+ If a path is specified, assume that -+ is a valid install path. [default=disabled] - - Optional Packages: - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] -@@ -12980,7 +12982,6 @@ CROSS_LFLAGS="" - CROSS_CFLAGS="" - LIBSENSORS="" - SAM2OBJ="isensor2.o ievents2.o" --SYSTEMD_DIR=/usr/share/ipmiutil - - # Check whether --enable-useflags was given. - if test "${enable_useflags+set}" = set; then -@@ -13032,31 +13033,43 @@ if test "${enable_gpl+set}" = set; then - fi - - fi -- -+# -+# Check for systemd unit files direectory exists if unit file installation -+# is requested -+# - - # Check whether --enable-systemd was given. --if test "${enable_systemd+set}" = set; then -- enableval=$enable_systemd; --fi -- --if test "x$enable_systemd" = "xyes"; then -- GPL_CFLAGS="$GPL_CFLAGS -DENABLE_SYSTEMD" -- # if systemd enabled, install service scripts in unitdir -- SYSTEMD_DIR=`rpm --eval "%{_unitdir}"` --else -- # otherwise install the systemd service scripts in the data dir -- if test "x$sysname" = "xDarwin" ; then -- # MacOS 'which' command returns 0 always -- SYSTEMD_DIR=/usr/share/ipmiutil -- else -+if test "${enable_systemd+set}" = set; then : -+ withval=$enable_systemd; if test "$withval" = yes; then -+ GPL_CFLAGS="$GPL_CFLAGS -DENABLE_SYSTEMD" -+ if test -z "$systemddir"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking location of the systemd unit files directory" >&5 -+$as_echo_n "checking location of the systemd unit files directory... " >&6; } -+ _rpmdir = "" - which rpm >/dev/null 2>&1 - if test $? -eq 0 ; then -- datad=`rpm --eval "%{_datadir}"` -- SYSTEMD_DIR=${datad}/ipmiutil -- else -- SYSTEMD_DIR=/usr/share/ipmiutil -+ _rpmdir = `rpm --eval "%{_unitdir}"` - fi -+ for systemd_d in ${datadir}/usr/share/ipmiutil ${_rpmdir} /usr/share/ipmiutil; do -+ if test -z "$systemddir"; then -+ if test -d "$systemd_d"; then -+ systemddir="$systemd_d" -+ fi -+ fi -+ done - fi -+ if test -n "$systemddir"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $systemddir" >&5 -+$as_echo "$systemddir" >&6; } -+ else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5 -+$as_echo "not found" >&6; } -+ fi -+else -+ if test "$withval" != no; then -+ systemddir=$withval -+ fi -+fi - fi - - case "$archm" in -Index: ipmiutil-2.9.6/configure.ac -=================================================================== ---- ipmiutil-2.9.6.orig/configure.ac -+++ ipmiutil-2.9.6/configure.ac -@@ -140,7 +140,6 @@ CROSS_LFLAGS="" +--- ipmiutil-3.0.5.orig/configure.ac ++++ ipmiutil-3.0.5/configure.ac +@@ -149,7 +149,6 @@ CROSS_LFLAGS="" CROSS_CFLAGS="" LIBSENSORS="" SAM2OBJ="isensor2.o ievents2.o" @@ -122,7 +18,7 @@ Index: ipmiutil-2.9.6/configure.ac AC_ARG_ENABLE([useflags], [ --enable-useflags include environment CFLAGS and LDFLAGS.], -@@ -191,25 +190,42 @@ AC_ARG_ENABLE([gpl], +@@ -200,29 +199,42 @@ AC_ARG_ENABLE([gpl], dnl Does this Linux have systemd enabled? Otherwise use sysv init. AC_ARG_ENABLE([systemd], @@ -130,7 +26,12 @@ Index: ipmiutil-2.9.6/configure.ac -if test "x$enable_systemd" = "xyes"; then - GPL_CFLAGS="$GPL_CFLAGS -DENABLE_SYSTEMD" - # if systemd enabled, install service scripts in unitdir -- SYSTEMD_DIR=`rpm --eval "%{_unitdir}"` +- which rpm >/dev/null 2>&1 +- if test $? -eq 0 ; then +- SYSTEMD_DIR=`rpm --eval "%{_unitdir}"` +- else +- SYSTEMD_DIR=/usr/share/ipmiutil +- fi + [ --enable-systemd[=systemddir] install systemd unit file. If 'yes' + probe the system for unit directory. + If a path is specified, assume that @@ -164,16 +65,15 @@ Index: ipmiutil-2.9.6/configure.ac + fi else - # otherwise install the systemd service scripts in the data dir -- if test "x$sysname" = "xDarwin" ; then -- # MacOS 'which' command returns 0 always -- SYSTEMD_DIR=/usr/share/ipmiutil -- else -- which rpm >/dev/null 2>&1 -- if test $? -eq 0 ; then -- datad=`rpm --eval "%{_datadir}"` -- SYSTEMD_DIR=${datad}/ipmiutil -- else -- SYSTEMD_DIR=/usr/share/ipmiutil +- SYSTEMD_DIR=/usr/share/ipmiutil +- if test "x$sysname" != "xDarwin" ; then +- if test "x$os" != "xhpux" ; then +- # MacOS and HP-UX: 'which' command returns 0 always +- which rpm >/dev/null 2>&1 +- if test $? -eq 0 ; then +- datad=`rpm --eval "%{_datadir}"` +- SYSTEMD_DIR=${datad}/ipmiutil +- fi - fi - fi + if test "$withval" != no; then @@ -183,7 +83,7 @@ Index: ipmiutil-2.9.6/configure.ac fi dnl start main logic -@@ -481,7 +497,7 @@ AC_SUBST(INS_LIB) +@@ -528,7 +540,7 @@ AC_SUBST(INS_LIB) AC_SUBST(SUBDIR_S) AC_SUBST(CROSS_CFLAGS) AC_SUBST(CROSS_LFLAGS) @@ -192,74 +92,10 @@ Index: ipmiutil-2.9.6/configure.ac AC_SUBST(SHR_LINK) AC_SUBST(pkgconfigdir) -Index: ipmiutil-2.9.6/Makefile.in -=================================================================== ---- ipmiutil-2.9.6.orig/Makefile.in -+++ ipmiutil-2.9.6/Makefile.in -@@ -182,7 +182,7 @@ SHELL = @SHELL@ - SHR_LINK = @SHR_LINK@ - STRIP = @STRIP@ - SUBDIR_S = @SUBDIR_S@ --SYSTEMD_DIR = @SYSTEMD_DIR@ -+SYSTEMD_DIR = @systemddir@ - VERSION = @VERSION@ - abs_builddir = @abs_builddir@ - abs_srcdir = @abs_srcdir@ -@@ -233,6 +233,7 @@ sbindir = @sbindir@ - sharedstatedir = @sharedstatedir@ - srcdir = @srcdir@ - sysconfdir = @sysconfdir@ -+systemddir = @systemddir@ - target_alias = @target_alias@ - top_build_prefix = @top_build_prefix@ - top_builddir = @top_builddir@ -Index: ipmiutil-2.9.6/scripts/Makefile.in -=================================================================== ---- ipmiutil-2.9.6.orig/scripts/Makefile.in -+++ ipmiutil-2.9.6/scripts/Makefile.in -@@ -126,7 +126,7 @@ SHELL = @SHELL@ - SHR_LINK = @SHR_LINK@ - STRIP = @STRIP@ - SUBDIR_S = @SUBDIR_S@ --SYSTEMD_DIR = @SYSTEMD_DIR@ -+SYSTEMD_DIR = @systemddir@ - VERSION = @VERSION@ - abs_builddir = @abs_builddir@ - abs_srcdir = @abs_srcdir@ -@@ -195,7 +195,8 @@ cronto = ${DESTDIR}${etcdir}/cron.daily - sbinto = ${DESTDIR}${sbindir} - varto = ${DESTDIR}/var/lib/ipmiutil - initto = ${DESTDIR}@INIT_DIR@ --sysdto = ${DESTDIR}@SYSTEMD_DIR@ -+sysdto = ${DESTDIR}@systemddir@ -+systemddir = @systemddir@ - sysvinit = ${datato} - sbinfls = ialarms ihealth ifru igetevent ireset icmd isol ilan isensor isel iserial iwdt iconfig ipicmg ifirewall ifwum ihpm - all: all-am -@@ -398,11 +399,14 @@ install: - ${INSTALL_SCRIPT_SH} evt.sh ${datato} - if [ -f /etc/debian_version ]; then \ - sysvinit=${initto}; fi -- ${INSTALL_SCRIPT_SH} ipmiutil_wdt ${sysvinit}/ipmiutil_wdt -- ${INSTALL_SCRIPT_SH} ipmiutil_asy ${sysvinit}/ipmiutil_asy -- ${INSTALL_SCRIPT_SH} ipmiutil_evt ${sysvinit}/ipmiutil_evt -- ${INSTALL_SCRIPT_SH} ipmi_port.sh ${sysvinit}/ipmi_port -- ${INSTALL_SCRIPT_SH} ipmi_info ${sysvinit}/ipmi_info -+ if [ ! -z "${systemddir}" ]; then \ -+ $(MKDIR) ${sysdto}; \ -+ ${INSTALL_SCRIPT_SH} ipmiutil_wdt ${sysvinit}/ipmiutil_wdt; \ -+ ${INSTALL_SCRIPT_SH} ipmiutil_asy ${sysvinit}/ipmiutil_asy; \ -+ ${INSTALL_SCRIPT_SH} ipmiutil_evt ${sysvinit}/ipmiutil_evt; \ -+ ${INSTALL_SCRIPT_SH} ipmi_port.sh ${sysvinit}/ipmi_port; \ -+ ${INSTALL_SCRIPT_SH} ipmi_info ${sysvinit}/ipmi_info; \ -+ fi - ${INSTALL_SCRIPT_SH} checksel ${datato} - ${INSTALL_DATA_SH} ipmiutil_wdt.service ${sysdto} - ${INSTALL_DATA_SH} ipmiutil_asy.service ${sysdto} -Index: ipmiutil-2.9.6/scripts/Makefile.am +Index: ipmiutil-3.0.5/scripts/Makefile.am =================================================================== ---- ipmiutil-2.9.6.orig/scripts/Makefile.am -+++ ipmiutil-2.9.6/scripts/Makefile.am +--- ipmiutil-3.0.5.orig/scripts/Makefile.am ++++ ipmiutil-3.0.5/scripts/Makefile.am @@ -17,7 +17,8 @@ cronto = ${DESTDIR}${etcdir}/cron.daily sbinto = ${DESTDIR}${sbindir} varto = ${DESTDIR}/var/lib/ipmiutil @@ -268,7 +104,7 @@ Index: ipmiutil-2.9.6/scripts/Makefile.am +sysdto = ${DESTDIR}@systemddir@ +systemddir = @systemddir@ sysvinit = ${datato} - sbinfls = ialarms ihealth ifru igetevent ireset icmd isol ilan isensor isel iserial iwdt iconfig ipicmg ifirewall ifwum ihpm + sbinfls = ialarms ihealth ifru igetevent ireset icmd isol ilan isensor isel iserial iwdt iconfig ipicmg ifirewall ifwum ihpm iuser @@ -47,10 +48,14 @@ install: ${INSTALL_SCRIPT_SH} ipmi_port.sh ${sysvinit}/ipmi_port @@ -289,30 +125,3 @@ Index: ipmiutil-2.9.6/scripts/Makefile.am ${INSTALL_SCRIPT_SH} ipmiutil.env ${datato} ${INSTALL_SCRIPT_SH} ipmiutil.pre ${datato} ${INSTALL_SCRIPT_SH} ipmiutil.setup ${datato} -Index: ipmiutil-2.9.6/lib/Makefile.in -=================================================================== ---- ipmiutil-2.9.6.orig/lib/Makefile.in -+++ ipmiutil-2.9.6/lib/Makefile.in -@@ -128,7 +128,7 @@ SHELL = @SHELL@ - SHR_LINK = @SHR_LINK@ - STRIP = @STRIP@ - SUBDIR_S = @SUBDIR_S@ --SYSTEMD_DIR = @SYSTEMD_DIR@ -+SYSTEMD_DIR = @systemddir@ - VERSION = @VERSION@ - abs_builddir = @abs_builddir@ - abs_srcdir = @abs_srcdir@ -Index: ipmiutil-2.9.6/lib/lanplus/Makefile.in -=================================================================== ---- ipmiutil-2.9.6.orig/lib/lanplus/Makefile.in -+++ ipmiutil-2.9.6/lib/lanplus/Makefile.in -@@ -177,7 +177,8 @@ SHELL = @SHELL@ - SHR_LINK = @SHR_LINK@ - STRIP = @STRIP@ - SUBDIR_S = @SUBDIR_S@ --SYSTEMD_DIR = @SYSTEMD_DIR@ -+SYSTEMD_DIR = @systemddir@ -+systemddir = @systemddir@ - VERSION = @VERSION@ - abs_builddir = @abs_builddir@ - abs_srcdir = @abs_srcdir@ diff --git a/meta-oe/recipes-support/ipmiutil/ipmiutil_2.9.6.bb b/meta-oe/recipes-support/ipmiutil/ipmiutil_3.0.5.bb similarity index 76% rename from meta-oe/recipes-support/ipmiutil/ipmiutil_2.9.6.bb rename to meta-oe/recipes-support/ipmiutil/ipmiutil_3.0.5.bb index ee0766e..338cafd 100644 --- a/meta-oe/recipes-support/ipmiutil/ipmiutil_2.9.6.bb +++ b/meta-oe/recipes-support/ipmiutil/ipmiutil_3.0.5.bb @@ -13,17 +13,17 @@ is detected." HOMEPAGE = "http://ipmiutil.sourceforge.net" LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://COPYING;md5=5f9372493401f309e6149dd2ce0a044b" +LIC_FILES_CHKSUM = "file://COPYING;md5=626a5970304daa1fcb87f757fb42b795" DEPENDS += "openssl" PARALLEL_MAKE = "" SRC_URI = "${SOURCEFORGE_MIRROR}/ipmiutil/ipmiutil-${PV}.tar.gz \ - file://fix_systemd_path.patch " - -SRC_URI[md5sum] = "462087995f05fa9e692ed7f55c840f71" -SRC_URI[sha256sum] = "884c1f3d8bfb0b33c303973d286c3166f5a537976451a0312e3524af54771519" + file://fix_systemd_path.patch \ + " +SRC_URI[md5sum] = "5feaf6a827205792e057bb4ff5c4e842" +SRC_URI[sha256sum] = "b2d7f72535131c7832ba4be13dc33c81513fc3ee43fe797b4b52014600ecee5e" inherit autotools-brokensep pkgconfig systemd @@ -43,20 +43,4 @@ PACKAGECONFIG[standalone] = "--enable-standalone, --enable-standalone=no" CFLAGS += "-I${STAGING_INCDIR}" LDFLAGS += "-L${STAGING_LIBDIR}" -do_configure () { - aclocal - libtoolize --automake --copy --force - autoheader - automake --foreign --add-missing --copy - - aclocal - autoconf - automake --foreign - ./configure ${CONFIGUREOPTS} ${EXTRA_OECONF} -} - -do_install () { - oe_runmake install DESTDIR=${D} -} - COMPATIBLE_HOST = '(x86_64|i.86).*-linux' -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:00:34 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:00:34 +0000 Subject: [oe-commits] [meta-openembedded] 51/53: network-manager-applet: Remove all occurances of -Werror in makefiles In-Reply-To: <149889598362.1164.6115079788132926904@git.openembedded.org> References: <149889598362.1164.6115079788132926904@git.openembedded.org> Message-ID: <20170701075945.DF8682336B7@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 194322b550b42b0c4e607882284ed7d14f061432 Author: Khem Raj AuthorDate: Wed Jun 28 21:52:53 2017 -0700 network-manager-applet: Remove all occurances of -Werror in makefiles There are options like -Werror=foo which get trimmed to =foo and results in compiler fails Fixes | aarch64-bec-linux-gcc: error: =format-security: No such file or directory Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../network-manager-applet/network-manager-applet_1.4.4.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.4.4.bb b/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.4.4.bb index 5ad1070..8cec305 100644 --- a/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.4.4.bb +++ b/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.4.4.bb @@ -20,7 +20,7 @@ PACKAGECONFIG ??= "" do_configure_append() { # Sigh... --enable-compile-warnings=no doesn't actually turn off -Werror for i in $(find ${B} -name "Makefile") ; do - sed -i -e s:-Werror::g $i + sed -i -e s%-Werror[^[:space:]]*%%g $i done } -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:00:30 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:00:30 +0000 Subject: [oe-commits] [meta-openembedded] 47/53: ltrace: fix build failure under icecream In-Reply-To: <149889598362.1164.6115079788132926904@git.openembedded.org> References: <149889598362.1164.6115079788132926904@git.openembedded.org> Message-ID: <20170701075945.C0AA42336B4@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 90524a33745eaf3b842489f48bd1b7a352a117c0 Author: Tomas Novotny AuthorDate: Wed Jun 28 10:28:36 2017 +0200 ltrace: fix build failure under icecream The ltrace package fails to build under icecream distributed compiler because of harmless warning emitted during preprocessing. See the patch itself for more information. Colleague of mine has submitted the patch but I'm afraid that the project is dead. Please note that icecream support in oe-core has some issues currently. I have some local fixes and I plan to send them. Signed-off-by: Tomas Novotny Signed-off-by: Martin Jansa --- .../0001-Fix-tautological-compare-warning.patch | 261 +++++++++++++++++++++ meta-oe/recipes-devtools/ltrace/ltrace_git.bb | 1 + 2 files changed, 262 insertions(+) diff --git a/meta-oe/recipes-devtools/ltrace/ltrace/0001-Fix-tautological-compare-warning.patch b/meta-oe/recipes-devtools/ltrace/ltrace/0001-Fix-tautological-compare-warning.patch new file mode 100644 index 0000000..a599d0e --- /dev/null +++ b/meta-oe/recipes-devtools/ltrace/ltrace/0001-Fix-tautological-compare-warning.patch @@ -0,0 +1,261 @@ +From 0af8ced6376f2256b9daac301c851e1c99c3b035 Mon Sep 17 00:00:00 2001 +From: Adam Trhon +Date: Fri, 12 May 2017 13:39:11 +0200 +Subject: [PATCH] Fix tautological compare warning + +By default, gcc ignores warning from code generated by macros +(https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80369). When +ltrace is compiled under icecream the warning *is generated* +(https://github.com/icecc/icecream/issues/202) +and the compilation fails (because of -Werror). + +Upstream-Status: Submitted [ltrace-devel at lists.alioth.debian.org] + +Signed-off-by: Adam Trhon +--- + filter.c | 4 ++-- + sysdeps/linux-gnu/arm/fetch.c | 2 +- + sysdeps/linux-gnu/arm/trace.c | 2 +- + sysdeps/linux-gnu/ia64/fetch.c | 2 +- + sysdeps/linux-gnu/metag/trace.c | 2 +- + sysdeps/linux-gnu/mips/plt.c | 2 +- + sysdeps/linux-gnu/ppc/fetch.c | 2 +- + sysdeps/linux-gnu/ppc/plt.c | 2 +- + sysdeps/linux-gnu/ppc/trace.c | 4 ++-- + sysdeps/linux-gnu/s390/fetch.c | 2 +- + sysdeps/linux-gnu/s390/trace.c | 4 ++-- + sysdeps/linux-gnu/x86/fetch.c | 2 +- + sysdeps/linux-gnu/x86/trace.c | 4 ++-- + value.c | 4 ++-- + 14 files changed, 19 insertions(+), 19 deletions(-) + +diff --git a/filter.c b/filter.c +index ba50c40..a65856d 100644 +--- a/filter.c ++++ b/filter.c +@@ -79,7 +79,7 @@ filter_lib_matcher_name_init(struct filter_lib_matcher *matcher, + { + switch (type) { + case FLM_MAIN: +- assert(type != type); ++ assert(!"Unexpected value of type"); + abort(); + + case FLM_SONAME: +@@ -137,7 +137,7 @@ matcher_matches_library(struct filter_lib_matcher *matcher, struct library *lib) + case FLM_MAIN: + return lib->type == LT_LIBTYPE_MAIN; + } +- assert(matcher->type != matcher->type); ++ assert(!"Unexpected value of matcher->type"); + abort(); + } + +diff --git a/sysdeps/linux-gnu/arm/fetch.c b/sysdeps/linux-gnu/arm/fetch.c +index b500448..8f75fcf 100644 +--- a/sysdeps/linux-gnu/arm/fetch.c ++++ b/sysdeps/linux-gnu/arm/fetch.c +@@ -317,7 +317,7 @@ arch_fetch_retval(struct fetch_context *ctx, enum tof type, + memmove(data, ctx->regs.uregs, sz); + return 0; + } +- assert(info->type != info->type); ++ assert(!"Unexpected value of info->type"); + abort(); + } + +diff --git a/sysdeps/linux-gnu/arm/trace.c b/sysdeps/linux-gnu/arm/trace.c +index 5e51e91..e76bf63 100644 +--- a/sysdeps/linux-gnu/arm/trace.c ++++ b/sysdeps/linux-gnu/arm/trace.c +@@ -701,7 +701,7 @@ arch_type_sizeof(struct process *proc, struct arg_type_info *info) + return (size_t)-2; + + default: +- assert(info->type != info->type); ++ assert(!"Unexpected value of info->type"); + abort(); + } + } +diff --git a/sysdeps/linux-gnu/ia64/fetch.c b/sysdeps/linux-gnu/ia64/fetch.c +index 171c7a2..ee2fbc7 100644 +--- a/sysdeps/linux-gnu/ia64/fetch.c ++++ b/sysdeps/linux-gnu/ia64/fetch.c +@@ -409,7 +409,7 @@ arch_fetch_arg_next(struct fetch_context *ctx, enum tof type, + case ARGTYPE_ARRAY: + /* Arrays decay into pointers. XXX Fortran? */ + default: +- assert(info->type != info->type); ++ assert(!"Unexpected value of info->type"); + abort(); + } + } +diff --git a/sysdeps/linux-gnu/metag/trace.c b/sysdeps/linux-gnu/metag/trace.c +index ad5fffe..7a843d6 100644 +--- a/sysdeps/linux-gnu/metag/trace.c ++++ b/sysdeps/linux-gnu/metag/trace.c +@@ -142,7 +142,7 @@ get_regval_from_unit(enum metag_unitnum unit, unsigned int reg, + return regs->ax[reg][0]; + /* We really shouldn't be here. */ + default: +- assert(unit != unit); ++ assert(!"Unexpected value of unit"); + abort(); + } + return 0; +diff --git a/sysdeps/linux-gnu/mips/plt.c b/sysdeps/linux-gnu/mips/plt.c +index c7c10ac..ca2307d 100644 +--- a/sysdeps/linux-gnu/mips/plt.c ++++ b/sysdeps/linux-gnu/mips/plt.c +@@ -651,7 +651,7 @@ mips_stub_bp_continue(struct breakpoint *bp, struct process *proc) + break; + } + +- assert(bp->libsym->arch.type != bp->libsym->arch.type); ++ assert(!"Unexpected value of bp->libsym->arch.type"); + abort(); + } + +diff --git a/sysdeps/linux-gnu/ppc/fetch.c b/sysdeps/linux-gnu/ppc/fetch.c +index c6cbd71..5db5675 100644 +--- a/sysdeps/linux-gnu/ppc/fetch.c ++++ b/sysdeps/linux-gnu/ppc/fetch.c +@@ -502,7 +502,7 @@ allocate_argument(struct fetch_context *ctx, struct process *proc, + case ARGTYPE_ARRAY: + /* Arrays decay into pointers. XXX Fortran? */ + default: +- assert(info->type != info->type); ++ assert(!"Unexpected value of info->type"); + abort(); + } + +diff --git a/sysdeps/linux-gnu/ppc/plt.c b/sysdeps/linux-gnu/ppc/plt.c +index 5f81889..781da03 100644 +--- a/sysdeps/linux-gnu/ppc/plt.c ++++ b/sysdeps/linux-gnu/ppc/plt.c +@@ -1085,7 +1085,7 @@ ppc_plt_bp_continue(struct breakpoint *bp, struct process *proc) + break; + } + +- assert(bp->libsym->arch.type != bp->libsym->arch.type); ++ assert(!"Unexpected value of bp->libsym->arch.type"); + abort(); + } + +diff --git a/sysdeps/linux-gnu/ppc/trace.c b/sysdeps/linux-gnu/ppc/trace.c +index 5aab538..caa6035 100644 +--- a/sysdeps/linux-gnu/ppc/trace.c ++++ b/sysdeps/linux-gnu/ppc/trace.c +@@ -217,7 +217,7 @@ arch_type_sizeof(struct process *proc, struct arg_type_info *info) + return (size_t)-2; + + default: +- assert(info->type != info->type); ++ assert(!"Unexpected value of info->type"); + abort(); + break; + } +@@ -231,7 +231,7 @@ arch_type_alignof(struct process *proc, struct arg_type_info *info) + + switch (info->type) { + default: +- assert(info->type != info->type); ++ assert(!"Unexpected value of info->type"); + abort(); + break; + +diff --git a/sysdeps/linux-gnu/s390/fetch.c b/sysdeps/linux-gnu/s390/fetch.c +index 4ad5951..4721c30 100644 +--- a/sysdeps/linux-gnu/s390/fetch.c ++++ b/sysdeps/linux-gnu/s390/fetch.c +@@ -266,7 +266,7 @@ arch_fetch_arg_next(struct fetch_context *ctx, enum tof type, + return allocate_gpr(ctx, proc, info, valuep, sz); + + default: +- assert(info->type != info->type); ++ assert(!"Unexpected value of info->type"); + abort(); + } + return -1; +diff --git a/sysdeps/linux-gnu/s390/trace.c b/sysdeps/linux-gnu/s390/trace.c +index 78b04c3..24f7801 100644 +--- a/sysdeps/linux-gnu/s390/trace.c ++++ b/sysdeps/linux-gnu/s390/trace.c +@@ -213,7 +213,7 @@ arch_type_sizeof(struct process *proc, struct arg_type_info *info) + return (size_t)-2; + + default: +- assert(info->type != info->type); ++ assert(!"Unexpected value of info->type"); + abort(); + } + } +@@ -226,7 +226,7 @@ arch_type_alignof(struct process *proc, struct arg_type_info *info) + + switch (info->type) { + default: +- assert(info->type != info->type); ++ assert(!"Unexpected value of info->type"); + break; + + case ARGTYPE_CHAR: +diff --git a/sysdeps/linux-gnu/x86/fetch.c b/sysdeps/linux-gnu/x86/fetch.c +index 6868101..ae2ed79 100644 +--- a/sysdeps/linux-gnu/x86/fetch.c ++++ b/sysdeps/linux-gnu/x86/fetch.c +@@ -523,7 +523,7 @@ classify(struct process *proc, struct fetch_context *context, + + default: + /* Unsupported type. */ +- assert(info->type != info->type); ++ assert(!"Unexpected value of info->type"); + abort(); + } + abort(); +diff --git a/sysdeps/linux-gnu/x86/trace.c b/sysdeps/linux-gnu/x86/trace.c +index 6a1a6a5..d8d2115 100644 +--- a/sysdeps/linux-gnu/x86/trace.c ++++ b/sysdeps/linux-gnu/x86/trace.c +@@ -145,7 +145,7 @@ arch_type_sizeof(struct process *proc, struct arg_type_info *info) + return (size_t)-2; + + default: +- assert(info->type != info->type); ++ assert(!"Unexpected value of info->type"); + abort(); + } + } +@@ -158,7 +158,7 @@ arch_type_alignof(struct process *proc, struct arg_type_info *info) + + switch (info->type) { + default: +- assert(info->type != info->type); ++ assert(!"Unexpected value of info->type"); + abort(); + break; + +diff --git a/value.c b/value.c +index 2125ba9..30edb4e 100644 +--- a/value.c ++++ b/value.c +@@ -363,7 +363,7 @@ value_set_word(struct value *value, long word) + u.u64 = word; + break; + default: +- assert(sz != sz); ++ assert(!"Unexpected value of sz"); + abort(); + } + +@@ -414,7 +414,7 @@ value_extract_word(struct value *value, long *retp, + *retp = (long)u.u64; + return 0; + default: +- assert(sz != sz); ++ assert(!"Unexpected value of sz"); + abort(); + } + } +-- +2.12.0 + diff --git a/meta-oe/recipes-devtools/ltrace/ltrace_git.bb b/meta-oe/recipes-devtools/ltrace/ltrace_git.bb index 60af542..213436c 100644 --- a/meta-oe/recipes-devtools/ltrace/ltrace_git.bb +++ b/meta-oe/recipes-devtools/ltrace/ltrace_git.bb @@ -21,6 +21,7 @@ SRC_URI = "git://anonscm.debian.org/collab-maint/ltrace.git;branch=master \ file://0001-Use-correct-enum-type.patch \ file://0002-Fix-const-qualifier-error.patch \ file://0001-ARM-code-has-unreachable-code-after-switch-statement.patch \ + file://0001-Fix-tautological-compare-warning.patch \ " S = "${WORKDIR}/git" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:00:36 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:00:36 +0000 Subject: [oe-commits] [meta-openembedded] 53/53: hwloc: Inherit pkgconfig In-Reply-To: <149889598362.1164.6115079788132926904@git.openembedded.org> References: <149889598362.1164.6115079788132926904@git.openembedded.org> Message-ID: <20170701075945.ECD0B2336BA@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 66b88f7729d24ef2e3469fcaca172f420c4d54be Author: Khem Raj AuthorDate: Sun Jun 25 22:34:44 2017 -0700 hwloc: Inherit pkgconfig Fixes | checking for LIBXML2... cannot check without pkg-config | configure: WARNING: --enable-libxml2 requested, but libxml2 was not found | configure: error: Cannot continue Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- meta-oe/recipes-extended/hwloc/hwloc_1.11.5.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-oe/recipes-extended/hwloc/hwloc_1.11.5.bb b/meta-oe/recipes-extended/hwloc/hwloc_1.11.5.bb index 5cf6e7e..d7fdd82 100644 --- a/meta-oe/recipes-extended/hwloc/hwloc_1.11.5.bb +++ b/meta-oe/recipes-extended/hwloc/hwloc_1.11.5.bb @@ -11,7 +11,7 @@ SRC_URI = "https://www.open-mpi.org/software/${PN}/v1.11/downloads/${BP}.tar.bz2 SRC_URI[md5sum] = "96c34136ff416d2b13a7821c27477bed" SRC_URI[sha256sum] = "95d80286dfe658a3f79e2ac90698782bb36e5504f4bac1bba2394ba14dbbad24" -inherit autotools +inherit autotools pkgconfig DEPENDS += "ncurses udev zlib" DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'libselinux', '', d)}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:00:35 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:00:35 +0000 Subject: [oe-commits] [meta-openembedded] 52/53: hddtemp: Replace struct ucontext with ucontext_t In-Reply-To: <149889598362.1164.6115079788132926904@git.openembedded.org> References: <149889598362.1164.6115079788132926904@git.openembedded.org> Message-ID: <20170701075945.E64F92336B8@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit f45c1d6a46a5e56e837739e9c0b464cdb3f4675c Author: Khem Raj AuthorDate: Wed Jun 28 21:52:54 2017 -0700 hddtemp: Replace struct ucontext with ucontext_t Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...e-Replace-struct-ucontext-with-ucontext_t.patch | 37 ++++++++++++++++++++++ .../recipes-support/hddtemp/hddtemp_0.3-beta15.bb | 1 + 2 files changed, 38 insertions(+) diff --git a/meta-oe/recipes-support/hddtemp/hddtemp/0001-backtrace-Replace-struct-ucontext-with-ucontext_t.patch b/meta-oe/recipes-support/hddtemp/hddtemp/0001-backtrace-Replace-struct-ucontext-with-ucontext_t.patch new file mode 100644 index 0000000..cfffa2e --- /dev/null +++ b/meta-oe/recipes-support/hddtemp/hddtemp/0001-backtrace-Replace-struct-ucontext-with-ucontext_t.patch @@ -0,0 +1,37 @@ +From d195f8cfe41991573128ccdcd3a0ed0267aa5e33 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 28 Jun 2017 19:44:46 -0700 +Subject: [PATCH] backtrace: Replace struct ucontext with ucontext_t + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +--- + src/backtrace.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/backtrace.c b/src/backtrace.c +index 69bee99..dc35f8f 100644 +--- a/src/backtrace.c ++++ b/src/backtrace.c +@@ -42,7 +42,7 @@ + #define MAX_BTSIZE 64 + + void backtrace_handler(int n, siginfo_t *ist, void *extra) { +- static struct ucontext *puc; ++ static ucontext_t *puc; + static void *btinfo[MAX_BTSIZE]; + static char **messages = NULL; + static size_t btsize = 0; +@@ -58,7 +58,7 @@ void backtrace_handler(int n, siginfo_t *ist, void *extra) { + + #define SIC_CASE(c) case c: strerr = #c + +- puc = (struct ucontext *)extra; ++ puc = (ucontext_t *)extra; + switch(n) { + case SIGSEGV: + switch(ist->si_code) { +-- +2.13.2 + diff --git a/meta-oe/recipes-support/hddtemp/hddtemp_0.3-beta15.bb b/meta-oe/recipes-support/hddtemp/hddtemp_0.3-beta15.bb index 601b7b1..4a871bf 100644 --- a/meta-oe/recipes-support/hddtemp/hddtemp_0.3-beta15.bb +++ b/meta-oe/recipes-support/hddtemp/hddtemp_0.3-beta15.bb @@ -8,6 +8,7 @@ SRC_URI = "${SAVANNAH_NONGNU_MIRROR}/hddtemp/hddtemp-0.3-beta15.tar.bz2 \ file://hddtemp-no-nls-support.patch \ file://hddtemp_0.3-beta15-52.diff \ file://hddtemp-0.3-beta15-autodetect-717479.patch \ + file://0001-backtrace-Replace-struct-ucontext-with-ucontext_t.patch \ file://hddtemp.db \ file://init \ " -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:00:32 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:00:32 +0000 Subject: [oe-commits] [meta-openembedded] 49/53: fluentbit: Upgrade to 0.11.11 In-Reply-To: <149889598362.1164.6115079788132926904@git.openembedded.org> References: <149889598362.1164.6115079788132926904@git.openembedded.org> Message-ID: <20170701075945.CEC712336B6@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 905cdd0eac7f513d14746aafbda6b4c3b35ef8d1 Author: Khem Raj AuthorDate: Wed Jun 28 21:52:51 2017 -0700 fluentbit: Upgrade to 0.11.11 Drop upstreamed patch Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...txt-Add-AUTOCONF_HOST_OPT-to-help-cross-c.patch | 52 ---------------------- .../{fluentbit_0.11.3.bb => fluentbit_0.11.11.bb} | 7 ++- 2 files changed, 3 insertions(+), 56 deletions(-) diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/0001-CMakeLists.txt-Add-AUTOCONF_HOST_OPT-to-help-cross-c.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/0001-CMakeLists.txt-Add-AUTOCONF_HOST_OPT-to-help-cross-c.patch deleted file mode 100644 index 539a42a..0000000 --- a/meta-oe/recipes-extended/fluentbit/fluentbit/0001-CMakeLists.txt-Add-AUTOCONF_HOST_OPT-to-help-cross-c.patch +++ /dev/null @@ -1,52 +0,0 @@ -From ceb47f37582a055bb7f253f813c435ad55c5b6eb Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sat, 22 Apr 2017 10:02:50 -0700 -Subject: [PATCH 1/2] CMakeLists.txt: Add AUTOCONF_HOST_OPT to help cross - compiling - -This helps in doing cross compiles for modules which are using -GNU autoconf for build system - -Signed-off-by: Khem Raj ---- - CMakeLists.txt | 10 ++++++++-- - 1 file changed, 8 insertions(+), 2 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index b093f9a..ebf0cd7 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -290,6 +290,12 @@ else() - endif() - endif() - -+if("${GNU_HOST}" STREQUAL "") -+ set(AUTOCONF_HOST_OPT "") -+else() -+ set(AUTOCONF_HOST_OPT "--host=${GNU_HOST}") -+endif() -+ - # Memory Allocator - # ================ - if(FLB_JEMALLOC AND ${CMAKE_SYSTEM_NAME} MATCHES "Linux") -@@ -299,7 +305,7 @@ if(FLB_JEMALLOC AND ${CMAKE_SYSTEM_NAME} MATCHES "Linux") - # Link to Jemalloc as an external dependency - ExternalProject_Add(jemalloc - SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/lib/jemalloc -- CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/lib/jemalloc/configure --with-lg-quantum=3 --enable-cc-silence --prefix= -+ CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/lib/jemalloc/configure ${AUTOCONF_HOST_OPT} --with-lg-quantum=3 --enable-cc-silence --prefix= - CFLAGS=-std=gnu99\ -Wall\ -pipe\ -g3\ -O3\ -funroll-loops - BUILD_COMMAND ${MAKE} - INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR}/ -@@ -317,7 +323,7 @@ endif() - if(FLB_REGEX) - ExternalProject_Add(onigmo - SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/lib/onigmo -- CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/lib/onigmo/configure --with-pic --disable-shared --enable-static --prefix= -+ CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/lib/onigmo/configure ${AUTOCONF_HOST_OPT} --with-pic --disable-shared --enable-static --prefix= - CFLAGS=-std=gnu99\ -Wall\ -pipe\ -g3\ -O3\ -funroll-loops - BUILD_COMMAND ${MAKE} - INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR}/ --- -2.12.2 - diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit_0.11.3.bb b/meta-oe/recipes-extended/fluentbit/fluentbit_0.11.11.bb similarity index 67% rename from meta-oe/recipes-extended/fluentbit/fluentbit_0.11.3.bb rename to meta-oe/recipes-extended/fluentbit/fluentbit_0.11.11.bb index 8d756e6..46c47fd 100644 --- a/meta-oe/recipes-extended/fluentbit/fluentbit_0.11.3.bb +++ b/meta-oe/recipes-extended/fluentbit/fluentbit_0.11.11.bb @@ -3,11 +3,10 @@ HOMEPAGE = "http://fluentbit.io" BUGTRACKER = "https://github.com/fluent/fluent-bit/issues" SRC_URI = "http://fluentbit.io/releases/0.11/fluent-bit-${PV}.tar.gz \ - file://0001-CMakeLists.txt-Add-AUTOCONF_HOST_OPT-to-help-cross-c.patch \ file://0002-msgpack-Add-comment-for-intended-fallthrough.patch \ " -SRC_URI[md5sum] = "9383262339412782b80cc49e7ad15609" -SRC_URI[sha256sum] = "eb8a85c656fa60682b0bf8dd1ad58d848cd251dab4f35a6777acd552c65b0511" +SRC_URI[md5sum] = "7bce8091c41fb6412b7fe0185b3cb8d6" +SRC_URI[sha256sum] = "93b1bdd14db20f2823cd31c6f1a2f3fcb7c94ec3e0c8daefabf130310b7fc4ed" S = "${WORKDIR}/fluent-bit-${PV}" @@ -19,6 +18,6 @@ INSANE_SKIP_${PN}-dev += "dev-elf" inherit cmake systemd -EXTRA_OECMAKE = "-DGNU_HOST=${HOST_SYS}" +EXTRA_OECMAKE = "-DGNU_HOST=${HOST_SYS} -DFLB_ALL=ON -DFLB_TD=1" SYSTEMD_SERVICE_${PN} = "fluent-bit.service" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:00:33 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:00:33 +0000 Subject: [oe-commits] [meta-openembedded] 50/53: breakpad: Upgrade to latest and fix use of ucontext_t In-Reply-To: <149889598362.1164.6115079788132926904@git.openembedded.org> References: <149889598362.1164.6115079788132926904@git.openembedded.org> Message-ID: <20170701075945.D74AC23367C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 52919077a3e47bf96a41e4d8471e7b7bb7311031 Author: Khem Raj AuthorDate: Wed Jun 28 21:52:52 2017 -0700 breakpad: Upgrade to latest and fix use of ucontext_t Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...ce-use-of-struct-ucontext-with-ucontext_t.patch | 242 +++++++++++++++++++++ meta-oe/recipes-devtools/breakpad/breakpad_git.bb | 11 +- 2 files changed, 248 insertions(+), 5 deletions(-) diff --git a/meta-oe/recipes-devtools/breakpad/breakpad/0001-Replace-use-of-struct-ucontext-with-ucontext_t.patch b/meta-oe/recipes-devtools/breakpad/breakpad/0001-Replace-use-of-struct-ucontext-with-ucontext_t.patch new file mode 100644 index 0000000..07cb8a3 --- /dev/null +++ b/meta-oe/recipes-devtools/breakpad/breakpad/0001-Replace-use-of-struct-ucontext-with-ucontext_t.patch @@ -0,0 +1,242 @@ +From b90c8f3b60bfe5dbed2823620242e9d30b9eb28f Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 28 Jun 2017 19:01:18 -0700 +Subject: [PATCH] Replace use of struct ucontext with ucontext_t + +glibc 2.26 would not expose struct ucontext anymore + +Signed-off-by: Khem Raj +--- +Upstream-Status: Pending + + .../linux/dump_writer_common/ucontext_reader.cc | 32 +++++++++++----------- + .../linux/dump_writer_common/ucontext_reader.h | 14 +++++----- + src/client/linux/handler/exception_handler.cc | 10 +++---- + src/client/linux/handler/exception_handler.h | 4 +-- + .../linux/microdump_writer/microdump_writer.cc | 2 +- + .../linux/minidump_writer/minidump_writer.cc | 2 +- + 6 files changed, 32 insertions(+), 32 deletions(-) + +diff --git a/src/client/linux/dump_writer_common/ucontext_reader.cc b/src/client/linux/dump_writer_common/ucontext_reader.cc +index c80724dd..052ce37c 100644 +--- a/src/client/linux/dump_writer_common/ucontext_reader.cc ++++ b/src/client/linux/dump_writer_common/ucontext_reader.cc +@@ -36,19 +36,19 @@ namespace google_breakpad { + + // Minidump defines register structures which are different from the raw + // structures which we get from the kernel. These are platform specific +-// functions to juggle the ucontext and user structures into minidump format. ++// functions to juggle the ucontext_t and user structures into minidump format. + + #if defined(__i386__) + +-uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) { ++uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) { + return uc->uc_mcontext.gregs[REG_ESP]; + } + +-uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) { ++uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) { + return uc->uc_mcontext.gregs[REG_EIP]; + } + +-void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc, ++void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc, + const struct _libc_fpstate* fp) { + const greg_t* regs = uc->uc_mcontext.gregs; + +@@ -88,15 +88,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc, + + #elif defined(__x86_64) + +-uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) { ++uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) { + return uc->uc_mcontext.gregs[REG_RSP]; + } + +-uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) { ++uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) { + return uc->uc_mcontext.gregs[REG_RIP]; + } + +-void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc, ++void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc, + const struct _libc_fpstate* fpregs) { + const greg_t* regs = uc->uc_mcontext.gregs; + +@@ -145,15 +145,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc, + + #elif defined(__ARM_EABI__) + +-uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) { ++uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) { + return uc->uc_mcontext.arm_sp; + } + +-uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) { ++uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) { + return uc->uc_mcontext.arm_pc; + } + +-void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc) { ++void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc) { + out->context_flags = MD_CONTEXT_ARM_FULL; + + out->iregs[0] = uc->uc_mcontext.arm_r0; +@@ -184,15 +184,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc) { + + #elif defined(__aarch64__) + +-uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) { ++uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) { + return uc->uc_mcontext.sp; + } + +-uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) { ++uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) { + return uc->uc_mcontext.pc; + } + +-void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc, ++void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc, + const struct fpsimd_context* fpregs) { + out->context_flags = MD_CONTEXT_ARM64_FULL; + +@@ -210,15 +210,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc, + + #elif defined(__mips__) + +-uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) { ++uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) { + return uc->uc_mcontext.gregs[MD_CONTEXT_MIPS_REG_SP]; + } + +-uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) { ++uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) { + return uc->uc_mcontext.pc; + } + +-void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc) { ++void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc) { + #if _MIPS_SIM == _ABI64 + out->context_flags = MD_CONTEXT_MIPS64_FULL; + #elif _MIPS_SIM == _ABIO32 +diff --git a/src/client/linux/dump_writer_common/ucontext_reader.h b/src/client/linux/dump_writer_common/ucontext_reader.h +index b6e77b4b..2de80b70 100644 +--- a/src/client/linux/dump_writer_common/ucontext_reader.h ++++ b/src/client/linux/dump_writer_common/ucontext_reader.h +@@ -39,23 +39,23 @@ + + namespace google_breakpad { + +-// Wraps platform-dependent implementations of accessors to ucontext structs. ++// Wraps platform-dependent implementations of accessors to ucontext_t structs. + struct UContextReader { +- static uintptr_t GetStackPointer(const struct ucontext* uc); ++ static uintptr_t GetStackPointer(const ucontext_t* uc); + +- static uintptr_t GetInstructionPointer(const struct ucontext* uc); ++ static uintptr_t GetInstructionPointer(const ucontext_t* uc); + +- // Juggle a arch-specific ucontext into a minidump format ++ // Juggle a arch-specific ucontext_t into a minidump format + // out: the minidump structure + // info: the collection of register structures. + #if defined(__i386__) || defined(__x86_64) +- static void FillCPUContext(RawContextCPU *out, const ucontext *uc, ++ static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc, + const struct _libc_fpstate* fp); + #elif defined(__aarch64__) +- static void FillCPUContext(RawContextCPU *out, const ucontext *uc, ++ static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc, + const struct fpsimd_context* fpregs); + #else +- static void FillCPUContext(RawContextCPU *out, const ucontext *uc); ++ static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc); + #endif + }; + +diff --git a/src/client/linux/handler/exception_handler.cc b/src/client/linux/handler/exception_handler.cc +index 586d84e9..05936d28 100644 +--- a/src/client/linux/handler/exception_handler.cc ++++ b/src/client/linux/handler/exception_handler.cc +@@ -457,9 +457,9 @@ bool ExceptionHandler::HandleSignal(int /*sig*/, siginfo_t* info, void* uc) { + // Fill in all the holes in the struct to make Valgrind happy. + memset(&g_crash_context_, 0, sizeof(g_crash_context_)); + memcpy(&g_crash_context_.siginfo, info, sizeof(siginfo_t)); +- memcpy(&g_crash_context_.context, uc, sizeof(struct ucontext)); ++ memcpy(&g_crash_context_.context, uc, sizeof(ucontext_t)); + #if defined(__aarch64__) +- struct ucontext* uc_ptr = (struct ucontext*)uc; ++ ucontext_t* uc_ptr = (ucontext_t*)uc; + struct fpsimd_context* fp_ptr = + (struct fpsimd_context*)&uc_ptr->uc_mcontext.__reserved; + if (fp_ptr->head.magic == FPSIMD_MAGIC) { +@@ -468,9 +468,9 @@ bool ExceptionHandler::HandleSignal(int /*sig*/, siginfo_t* info, void* uc) { + } + #elif !defined(__ARM_EABI__) && !defined(__mips__) + // FP state is not part of user ABI on ARM Linux. +- // In case of MIPS Linux FP state is already part of struct ucontext ++ // In case of MIPS Linux FP state is already part of ucontext_t + // and 'float_state' is not a member of CrashContext. +- struct ucontext* uc_ptr = (struct ucontext*)uc; ++ ucontext_t* uc_ptr = (ucontext_t*)uc; + if (uc_ptr->uc_mcontext.fpregs) { + memcpy(&g_crash_context_.float_state, uc_ptr->uc_mcontext.fpregs, + sizeof(g_crash_context_.float_state)); +@@ -494,7 +494,7 @@ bool ExceptionHandler::SimulateSignalDelivery(int sig) { + // ExceptionHandler::HandleSignal(). + siginfo.si_code = SI_USER; + siginfo.si_pid = getpid(); +- struct ucontext context; ++ ucontext_t context; + getcontext(&context); + return HandleSignal(sig, &siginfo, &context); + } +diff --git a/src/client/linux/handler/exception_handler.h b/src/client/linux/handler/exception_handler.h +index daba57e0..25598a29 100644 +--- a/src/client/linux/handler/exception_handler.h ++++ b/src/client/linux/handler/exception_handler.h +@@ -191,11 +191,11 @@ class ExceptionHandler { + struct CrashContext { + siginfo_t siginfo; + pid_t tid; // the crashing thread. +- struct ucontext context; ++ ucontext_t context; + #if !defined(__ARM_EABI__) && !defined(__mips__) + // #ifdef this out because FP state is not part of user ABI for Linux ARM. + // In case of MIPS Linux FP state is already part of struct +- // ucontext so 'float_state' is not required. ++ // ucontext_t so 'float_state' is not required. + fpstate_t float_state; + #endif + }; +diff --git a/src/client/linux/microdump_writer/microdump_writer.cc b/src/client/linux/microdump_writer/microdump_writer.cc +index 3764eec2..80ad5c46 100644 +--- a/src/client/linux/microdump_writer/microdump_writer.cc ++++ b/src/client/linux/microdump_writer/microdump_writer.cc +@@ -593,7 +593,7 @@ class MicrodumpWriter { + + void* Alloc(unsigned bytes) { return dumper_->allocator()->Alloc(bytes); } + +- const struct ucontext* const ucontext_; ++ const ucontext_t* const ucontext_; + #if !defined(__ARM_EABI__) && !defined(__mips__) + const google_breakpad::fpstate_t* const float_state_; + #endif +diff --git a/src/client/linux/minidump_writer/minidump_writer.cc b/src/client/linux/minidump_writer/minidump_writer.cc +index d11ba6e5..c7161434 100644 +--- a/src/client/linux/minidump_writer/minidump_writer.cc ++++ b/src/client/linux/minidump_writer/minidump_writer.cc +@@ -1323,7 +1323,7 @@ class MinidumpWriter { + const int fd_; // File descriptor where the minidum should be written. + const char* path_; // Path to the file where the minidum should be written. + +- const struct ucontext* const ucontext_; // also from the signal handler ++ const ucontext_t* const ucontext_; // also from the signal handler + #if !defined(__ARM_EABI__) && !defined(__mips__) + const google_breakpad::fpstate_t* const float_state_; // ditto + #endif +-- +2.13.2 + diff --git a/meta-oe/recipes-devtools/breakpad/breakpad_git.bb b/meta-oe/recipes-devtools/breakpad/breakpad_git.bb index 36c2b63..a4f1491 100644 --- a/meta-oe/recipes-devtools/breakpad/breakpad_git.bb +++ b/meta-oe/recipes-devtools/breakpad/breakpad_git.bb @@ -17,21 +17,22 @@ PE = "1" PV = "1.0+git${SRCPV}" -SRCREV_FORMAT = "breakpad_glog_gmock_gtest_protobuf_lss" +SRCREV_FORMAT = "breakpad_glog_gtest_protobuf_lss_gyp" -SRCREV_breakpad = "2f6cb866d615d6240a18c7535c994c6bb93b1ba5" +SRCREV_breakpad = "66856d617b6658ce09ef2bc1b15d457ab7b152b0" SRCREV_glog = "d8cb47f77d1c31779f3ff890e1a5748483778d6a" -SRCREV_gmock = "f7d03d2734759ee12b57d2dbcb695607d89e8e05" SRCREV_gtest = "ec44c6c1675c25b9827aacd08c02433cccde7780" SRCREV_protobuf = "cb6dd4ef5f82e41e06179dcd57d3b1d9246ad6ac" -SRCREV_lss = "1549d20f6d3e7d66bb4e687c0ab9da42c2bff2ac" +SRCREV_lss = "a91633d172407f6c83dd69af11510b37afebb7f9" +SRCREV_gyp = "e8ab0833a42691cd2184bd4c45d779e43821d3e0" SRC_URI = "git://github.com/google/breakpad;name=breakpad \ git://github.com/google/glog.git;destsuffix=git/src/third_party/glog;name=glog \ - git://github.com/google/googlemock.git;destsuffix=git/src/testing;name=gmock \ git://github.com/google/googletest.git;destsuffix=git/src/testing/gtest;name=gtest \ git://github.com/google/protobuf.git;destsuffix=git/src/third_party/protobuf/protobuf;name=protobuf \ git://chromium.googlesource.com/linux-syscall-support;protocol=https;destsuffix=git/src/third_party/lss;name=lss \ + git://chromium.googlesource.com/external/gyp;protocol=https;destsuffix=git/src/tools/gyp;name=gyp \ + file://0001-Replace-use-of-struct-ucontext-with-ucontext_t.patch \ " S = "${WORKDIR}/git" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:04:52 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:04:52 +0000 Subject: [oe-commits] [meta-openembedded] 01/26: dnsmasq: disable the service by default In-Reply-To: <149889629161.4069.3272344626900353935@git.openembedded.org> References: <149889629161.4069.3272344626900353935@git.openembedded.org> Message-ID: <20170701080451.E60A123367D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 934032000ec025c6c869b52074e9507eaaa4a47a Author: Jackie Huang AuthorDate: Mon Feb 27 16:09:59 2017 +0800 dnsmasq: disable the service by default The service will fail to start/stop when dnsmasq and bind (provides named) are both installed since they are using the same port 53: | dnsmasq: failed to create listening socket for port 53: Address already in use So disable the service by default, if the user really want to use two dns servives, the config needs to be changed to use different interfaces or ports. As reference, other distro like centos/fedora also disables the services by default on installation. Signed-off-by: Jackie Huang Signed-off-by: Jackie Huang > Signed-off-by: Martin Jansa --- meta-networking/recipes-support/dnsmasq/dnsmasq.inc | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-networking/recipes-support/dnsmasq/dnsmasq.inc b/meta-networking/recipes-support/dnsmasq/dnsmasq.inc index ef79c5f..3d0386b 100644 --- a/meta-networking/recipes-support/dnsmasq/dnsmasq.inc +++ b/meta-networking/recipes-support/dnsmasq/dnsmasq.inc @@ -81,3 +81,4 @@ RPROVIDES_${PN} += "${PN}-systemd" RREPLACES_${PN} += "${PN}-systemd" RCONFLICTS_${PN} += "${PN}-systemd" SYSTEMD_SERVICE_${PN} = "dnsmasq.service" +SYSTEMD_AUTO_ENABLE ?= "disable" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:04:54 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:04:54 +0000 Subject: [oe-commits] [meta-openembedded] 03/26: strongswan: Include stdint.h for uintptr_t In-Reply-To: <149889629161.4069.3272344626900353935@git.openembedded.org> References: <149889629161.4069.3272344626900353935@git.openembedded.org> Message-ID: <20170701080452.05A9A2336A8@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 96fd8e1cdd443a5c6d303fedeec635b9eb752dbb Author: Khem Raj AuthorDate: Tue Jun 27 19:08:09 2017 -0700 strongswan: Include stdint.h for uintptr_t Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...1-memory.h-Include-stdint.h-for-uintptr_t.patch | 26 ++++++++++++++++++++++ .../recipes-support/strongswan/strongswan_5.5.3.bb | 5 +++-- 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/meta-networking/recipes-support/strongswan/files/0001-memory.h-Include-stdint.h-for-uintptr_t.patch b/meta-networking/recipes-support/strongswan/files/0001-memory.h-Include-stdint.h-for-uintptr_t.patch new file mode 100644 index 0000000..7ebc398 --- /dev/null +++ b/meta-networking/recipes-support/strongswan/files/0001-memory.h-Include-stdint.h-for-uintptr_t.patch @@ -0,0 +1,26 @@ +From 2a3ab04bbdc4624792886aa51579eadb427ef99e Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 27 Jun 2017 07:42:11 -0700 +Subject: [PATCH] memory.h: Include stdint.h for uintptr_t + +Signed-off-by: Khem Raj +--- + src/libstrongswan/utils/utils/memory.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/libstrongswan/utils/utils/memory.h b/src/libstrongswan/utils/utils/memory.h +index b978e7c..55aaaf5 100644 +--- a/src/libstrongswan/utils/utils/memory.h ++++ b/src/libstrongswan/utils/utils/memory.h +@@ -22,6 +22,8 @@ + #ifndef MEMORY_H_ + #define MEMORY_H_ + ++#include ++ + /** + * Helper function that compares two binary blobs for equality + */ +-- +2.13.2 + diff --git a/meta-networking/recipes-support/strongswan/strongswan_5.5.3.bb b/meta-networking/recipes-support/strongswan/strongswan_5.5.3.bb index 9215233..3fb56bc 100644 --- a/meta-networking/recipes-support/strongswan/strongswan_5.5.3.bb +++ b/meta-networking/recipes-support/strongswan/strongswan_5.5.3.bb @@ -8,8 +8,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" DEPENDS = "gmp openssl flex-native flex bison-native" SRC_URI = "http://download.strongswan.org/strongswan-${PV}.tar.bz2 \ - file://fix-funtion-parameter.patch \ -" + file://fix-funtion-parameter.patch \ + file://0001-memory.h-Include-stdint.h-for-uintptr_t.patch \ + " SRC_URI[md5sum] = "4afffe3c219bb2e04f09510905af836b" SRC_URI[sha256sum] = "c5ea54b199174708de11af9b8f4ecf28b5b0743d4bc0e380e741f25b28c0f8d4" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:04:53 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:04:53 +0000 Subject: [oe-commits] [meta-openembedded] 02/26: rdate: Fix build with hardening In-Reply-To: <149889629161.4069.3272344626900353935@git.openembedded.org> References: <149889629161.4069.3272344626900353935@git.openembedded.org> Message-ID: <20170701080451.F29F52336A6@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit d1fca8020d0871d50fe3befbc768f622226d432a Author: Khem Raj AuthorDate: Mon Jun 26 22:57:09 2017 -0700 rdate: Fix build with hardening Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../0001-src-rdate-Fix-printf-format-errors.patch | 33 ++++++++++++++++++++++ .../recipes-connectivity/rdate/rdate_1.5.bb | 4 ++- 2 files changed, 36 insertions(+), 1 deletion(-) diff --git a/meta-networking/recipes-connectivity/rdate/rdate/0001-src-rdate-Fix-printf-format-errors.patch b/meta-networking/recipes-connectivity/rdate/rdate/0001-src-rdate-Fix-printf-format-errors.patch new file mode 100644 index 0000000..2f65189 --- /dev/null +++ b/meta-networking/recipes-connectivity/rdate/rdate/0001-src-rdate-Fix-printf-format-errors.patch @@ -0,0 +1,33 @@ +From f58bcb43c31d08de58853b088681cbe4df36cbf9 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 26 Jun 2017 22:50:56 -0700 +Subject: [PATCH] src/rdate: Fix printf format errors + +Fixes + +rdate.c:85:41: error: format not a string literal and no format arguments [-Werror=format-security] +| syslog(is_error?LOG_WARNING:LOG_INFO, buf); + +Signed-off-by: Khem Raj +--- +Upstream-Status: Submitted + + src/rdate.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/rdate.c b/src/rdate.c +index 5c3e829..943d481 100644 +--- a/src/rdate.c ++++ b/src/rdate.c +@@ -82,7 +82,7 @@ write_log(int is_error, char *format, ...) + return; /* Error, which we can't report because this _is_ the error + reporting mechanism */ + if(log_mode) +- syslog(is_error?LOG_WARNING:LOG_INFO, buf); ++ syslog(is_error?LOG_WARNING:LOG_INFO, "%s", buf); + if(is_error || print_mode) + fprintf(is_error?stderr:stdout, "%s: %s\n", argv0, buf); + } +-- +2.13.2 + diff --git a/meta-networking/recipes-connectivity/rdate/rdate_1.5.bb b/meta-networking/recipes-connectivity/rdate/rdate_1.5.bb index 818f16a..b3af927 100644 --- a/meta-networking/recipes-connectivity/rdate/rdate_1.5.bb +++ b/meta-networking/recipes-connectivity/rdate/rdate_1.5.bb @@ -11,7 +11,9 @@ SECTION = "Applications/System" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3" -SRC_URI= "https://www.aelius.com/njh/${BPN}/${BP}.tar.gz" +SRC_URI = "https://www.aelius.com/njh/${BPN}/${BP}.tar.gz \ + file://0001-src-rdate-Fix-printf-format-errors.patch \ + " SRC_URI[md5sum] = "0a4f612480777fdf25264ac03c57eae6" SRC_URI[sha256sum] = "6e800053eaac2b21ff4486ec42f0aca7214941c7e5fceedd593fa0be99b9227d" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:04:51 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:04:51 +0000 Subject: [oe-commits] [meta-openembedded] branch master-next updated (00bc154 -> d855e3d) Message-ID: <149889629161.4069.3272344626900353935@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a change to branch master-next in repository meta-openembedded. discard 00bc154 hwloc: Inherit pkgconfig discard 53322fa hddtemp: Replace struct ucontext with ucontext_t discard d886347 network-manager-applet: Remove all occurances of -Werror in makefiles discard fb62bad breakpad: Upgrade to latest and fix use of ucontext_t discard 1ba5c44 fluentbit: Upgrade to 0.11.11 discard 3746065 hwloc: add several PACKAGECONFIG items discard 4f314b8 ltrace: fix build failure under icecream discard dc977af ipmiutil: Update to 3.0.5 discard e663094 crash: Pass optimization flags to configure via CC discard 6f27fd8 orrery: Fix build with hardening flags discard 8359749 cdrkit: Fix build with hardening flags discard 94abb83 aufs-util: Upgrade to 3.18 discard 8f1349e ippool: Fix build errors found with hardening flags discard 02ce425 wv: Fix build with hardening flags discard 8cd4cb1 lmbench: Fix build with hardening flags discard 4acf236 ncftp: Upgrade to 3.2.6 discard 7d33a39 netkit-telnet: Fix build with hardening discard b59be66 netkit-rpc: Fix build with hardening flags discard 9a09cbb wmiconfig: Fix build with hardening flags discard 252dc65 gtkperf: Fix build with hardening flags discard be8e5aa umip: Fix buid with hardening discard cd643e8 strongswan: Include stdint.h for uintptr_t discard 8fe5cc3 networkmanager: Fix build with hardening discard 367a29a sblim-sfcb: Add stdint.h for 'UINT16_MAX' discard 7766200 xfsprogs:4.10.0 -> 4.11.0 discard 0d76b29 rdate: Fix build with hardening discard 02ef69c cdparanoia: Fix build with security flags discard 9178338 meson: set native tool flag variables discard c4836bf meson: remove redundant patch discard 5bea652 meson: export PKG_CONFIG to use pkg-config-native for native builds discard 593d8ac meson: set RDEPENDS globally instead of just for target discard 252c5e4 meson: don't pass localedir discard 3e1e833 Revert "meson: fix build/host confusion for bbclass" discard 827411c meson: revert changes which shouldn't have been submitted discard 06bbf92 ruli: FIx build with hardening flags discard 9e80ce9 ruli: Fix build with hardening flags discard 17af177 geoipupdate 2.2.2 -> 2.4.0 discard 578dd7f xfsprogs: remove redundant install rule in do_install discard 8af2d64 snort: fix for snort.conf discard 3170ce5 crash: Upgrade to 7.1.9 discard b135bc1 ssiapi: Fix build with hardening flags discard 05387f6 gpm: Use sigemptyset() API for glibc as well discard 4a3c22e squid: Fix build with hardening discard bd34af8 live555: Define XLOCALE_NOT_USED for glibc too discard 2630fb3 glmark2: update to latest discard aaa55e3 open-vm-tools: remove -Wno-error discard b2bbc27 open-vm-tools: fix all hardcoded paths discard 01e0aeb open-vm-tools: style changes discard 4a4fc69 open-vm-tools: scope build to only x86 discard d1132ca open-vm-tools: support FUSE discard e58b731 open-vm-tools: line up configure options discard 811f17c open-vm-tools: remove kernel module logic discard 513daf0 open-vm-tools: add missing X11 dependencies discard 6ddfa11 open-vm-tools: add #include to fix build break discard f9579f9 open-vm-tools: don't use dnet-config discard d8a69ed open-vm-tools: don't use mspack discard b5b7755 open-vm-tools: update version to 10.1.5 discard fb54bed open-vm-tools: base_contains --> bb.utils.contains discard 3523aa7 open-vm-tools: clarify and expand licensing discard 83420c1 open-vm-tools: add missing glib-2.0-native dependency discard 5fe4f61 open-vm-tools: add missing pkgconfig dependency discard af7bfc3 open-vm-tools: add new recipe discard d256750 rdist: add new recipe discard fb5b09b rdate: add new recipe discard c705172 twisted: add support to build for python3 discard 2674a43 xterm: Upgrade 327 -> 330 discard c82bbc0 strongswan: 5.5.1 -> 5.5.3 discard 44eca9a squid: Upgrade to 3.5.26 discard 8a4bde1 nftables: backport a few ICMP & ICMPv6 fixes discard 6db8dd3 linux-atm: Fix build with hardening flags discard 951daf5 relayd: Fix build with hardening flags and glibc discard 51ef932 relayd: Upgrade to latest discard 0fda6a5 vlan: Fix build with security flags turned on discard 587e252 freeradius: Upgrade to 3.0.14 discard b58c317 iscsi-initiator-utils: do not regenerate prom_lex.c discard 7897063 samba: upgrade to 4.6.5 discard df960d1 ippool: add new recipe discard 5aee814 wireshark: Upgrade to 2.2.7 discard f172d6e samba: Fix build with musl discard bf1557c proftpd: Update to 1.3.6 release discard a07f706 openvpn: Upgrade 2.3.9 -> 2.4.2 discard 517cf0e cifs-utils 6.6 -> 6.7 discard d942a51 nopoll: Disable doc generation discard 2e7e5d5 traceroute: Move manual pages from mandir to man8 under it discard 6c0d9a3 net-snmp: supported cross compile for the perl embedded and perl modules discard 4661339 snort: enable static daq discard 6233739 dante: fix unknown-configure-option QA issue discard b680590 open-isns: fix QA issue discard 8fa84d5 opensaf: Add -latomic to LDFLAGS discard 0ef0587 wireguard: bump version to latest snapshot 0.0.20170517 discard ae4ea13 drbd-utils: remove /var/lock to avoid conflict discard 808a638 ifenslave: 2.7 -> 2.9 discard 336d26e vblade: update to version 22 discard 040b811 keepalived: add new recipe discard 0a830a0 freeradius: add new recipe discard 497b816 dnsmasq: disable the service by default add 200f0ee wireguard: bump version to latest snapshot 0.0.20170517 add 39e58a8 freeradius: add new recipe add afe13ec keepalived: add new recipe add 3d6480d vblade: update to version 22 add 07df351 ifenslave: 2.7 -> 2.9 add 8f7f3eb drbd-utils: remove /var/lock to avoid conflict add 0f9bd56 opensaf: Add -latomic to LDFLAGS add c2cedc5 open-isns: fix QA issue add 27f425b dante: fix unknown-configure-option QA issue add 3491e03 snort: enable static daq add e86c3fd net-snmp: supported cross compile for the perl embedded and perl modules add 71a9e0a traceroute: Move manual pages from mandir to man8 under it add 0447148 nopoll: Disable doc generation add 647d21e cifs-utils 6.6 -> 6.7 add 0d010f8 openvpn: Upgrade 2.3.9 -> 2.4.2 add de124b8 proftpd: Update to 1.3.6 release add 91d77d9 samba: Fix build with musl add 58e8853 wireshark: Upgrade to 2.2.7 add c4b9c48 ippool: add new recipe add 88885fc samba: upgrade to 4.6.5 add 61f1208 iscsi-initiator-utils: do not regenerate prom_lex.c add 58e9a52 freeradius: Upgrade to 3.0.14 add 371fbfd vlan: Fix build with security flags turned on add 306e679 relayd: Upgrade to latest add 487481d relayd: Fix build with hardening flags and glibc add cf9a6a2 linux-atm: Fix build with hardening flags add cf95634 nftables: backport a few ICMP & ICMPv6 fixes add 325e3eb squid: Upgrade to 3.5.26 add fd2c2ee strongswan: 5.5.1 -> 5.5.3 add 7d5f8ac rdate: add new recipe add 4267eed rdist: add new recipe add 841bb94 squid: Fix build with hardening add ce91bef snort: fix for snort.conf add c0083c7 geoipupdate 2.2.2 -> 2.4.0 add 6eb0dfd ruli: Fix build with hardening flags add bd25917 ruli: FIx build with hardening flags add b0e432c xterm: Upgrade 327 -> 330 add b460ac6 twisted: add support to build for python3 add d8e895e open-vm-tools: add new recipe add 7814514 open-vm-tools: add missing pkgconfig dependency add e1d922c open-vm-tools: add missing glib-2.0-native dependency add 96c5bf6 open-vm-tools: clarify and expand licensing add 401eadb open-vm-tools: base_contains --> bb.utils.contains add d5f02c4 open-vm-tools: update version to 10.1.5 add 778f288 open-vm-tools: don't use mspack add 16accb7 open-vm-tools: don't use dnet-config add b847bc1 open-vm-tools: add #include to fix build break add 6b0ac39 open-vm-tools: add missing X11 dependencies add 443c441 open-vm-tools: remove kernel module logic add 2be0c8b open-vm-tools: line up configure options add 532b1c0 open-vm-tools: support FUSE add e50762e open-vm-tools: scope build to only x86 add 7b32361 open-vm-tools: style changes add 8501dc0 open-vm-tools: fix all hardcoded paths add 3aebb23 open-vm-tools: remove -Wno-error add 1fb8406 glmark2: update to latest add 01d70f8 live555: Define XLOCALE_NOT_USED for glibc too add bd66426 gpm: Use sigemptyset() API for glibc as well add 81a3add ssiapi: Fix build with hardening flags add ec9f60a crash: Upgrade to 7.1.9 add 750695c xfsprogs: remove redundant install rule in do_install add f0d77f8 meson: revert changes which shouldn't have been submitted add 11951f0 Revert "meson: fix build/host confusion for bbclass" add 685db49 meson: don't pass localedir add 3710b9d meson: set RDEPENDS globally instead of just for target add 6e2d975 meson: export PKG_CONFIG to use pkg-config-native for native builds add 529ae57 meson: remove redundant patch add 6fb9a9e meson: set native tool flag variables add d193035 cdparanoia: Fix build with security flags add d53546b xfsprogs:4.10.0 -> 4.11.0 add c0d763a sblim-sfcb: Add stdint.h for 'UINT16_MAX' add 9d7a49a networkmanager: Fix build with hardening add 2bd65aa umip: Fix buid with hardening add 15bb5e0 gtkperf: Fix build with hardening flags add 499d19e wmiconfig: Fix build with hardening flags add dab4099 lmbench: Fix build with hardening flags add 27fa98a wv: Fix build with hardening flags add f3ac89d aufs-util: Upgrade to 3.18 add 8012181 cdrkit: Fix build with hardening flags add 80608a7 orrery: Fix build with hardening flags add b625382 crash: Pass optimization flags to configure via CC add 8707287 ipmiutil: Update to 3.0.5 add 90524a3 ltrace: fix build failure under icecream add ee55f2a hwloc: add several PACKAGECONFIG items add 905cdd0 fluentbit: Upgrade to 0.11.11 add 5291907 breakpad: Upgrade to latest and fix use of ucontext_t add 194322b network-manager-applet: Remove all occurances of -Werror in makefiles add f45c1d6 hddtemp: Replace struct ucontext with ucontext_t add 66b88f7 hwloc: Inherit pkgconfig new 9340320 dnsmasq: disable the service by default new d1fca80 rdate: Fix build with hardening new 96fd8e1 strongswan: Include stdint.h for uintptr_t new 961797e netkit-rpc: Fix build with hardening flags new b1fb0ad netkit-telnet: Fix build with hardening new ed9432c ncftp: Upgrade to 3.2.6 new 2531f3e ippool: Fix build errors found with hardening flags new 5963598 gflags: update SRC_URI with git fetcher new 1a3966a unionfs-fuse: 0.26 -> 2.0 new 39502f2 autofs: Add build dependency on libnsl2 new b73b2f4 gst-plugins-gl_0.10.3.bb: Fix build on rpi/userland new 5ed1dba librcf: fix mips/mips64 build new b02be7a freerdp: Fix build on mips new 6869684 gegl: Upgrade to 0.3.18 new 6cbe8e8 babl: Upgrade to 0.1.28 new a57a2ed gimp: Upgrade to 2.8.22 new 8ddbec6 fluentbit: Fix parallel build race new 73ccbee dietsplash: Fix build on mips new 17afe08 libsrtp: Fix build on mips new e6ffb3c assimp: Upgrade to 3.3.1 release new 14c5780 synergy: Update to 1.8.8 release new bf198f6 kodi: Update to 17.3 new 220ffd8 libtorrent: Implement 64bit atomics for mips32 new d1c5c69 rtorrent: Add and enable ipv6 packageconfig based on DISTRO_FEATURES new b7dac59 uim: Add support for aarch64 new d855e3d openhpi: Fix build on 64bit platforms e.g. aarch64 This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (00bc154) \ N -- N -- N refs/heads/master-next (d855e3d) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 26 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../files/0001-support-cross-compiling.patch | 32 +++ .../unionfs-fuse/unionfs-fuse_0.26.bb | 19 -- .../unionfs-fuse/unionfs-fuse_2.0.bb | 18 ++ .../recipes-mediacenter/kodi/kodi_17.bb | 13 +- .../gst-plugins-gl/rpi-egl-gles2-dep.patch | 22 ++ .../gstreamer-0.10/gst-plugins-gl_0.10.3.bb | 4 +- .../0001-Rename-conflicting-variable-mips.patch | 73 ++++++ .../recipes-support/libsrtp/libsrtp_1.5.2.bb | 4 +- .../recipes-daemons/autofs/autofs_5.1.2.bb | 2 +- .../recipes-daemons/openhpi/openhpi_3.6.1.bb | 3 +- .../0001-implement-64bit-atomic-for-mips.patch | 263 +++++++++++++++++++++ .../libtorrent/libtorrent_git.bb | 5 +- .../recipes-connectivity/rtorrent/rtorrent_git.bb | 4 + .../{aarch64-support.patch => mips-support.patch} | 14 +- meta-oe/recipes-devtools/librcf/librcf_2.2.0.0.bb | 1 + ...proxy-go-Add-missing-dependency-on-jemall.patch | 24 ++ .../fluentbit/fluentbit_0.11.11.bb | 3 + ...001-Fix-build-on-big-endian-architectures.patch | 29 +++ .../assimp/{assimp_3.1.1.bb => assimp_3.3.1.bb} | 10 +- .../babl/{babl_0.1.16.bb => babl_0.1.28.bb} | 4 +- ...figure.ac-Do-not-demand-linker-hash-style.patch | 28 +++ .../recipes-graphics/dietsplash/dietsplash_git.bb | 6 +- .../gegl/{gegl_0.3.4.bb => gegl_0.3.18.bb} | 4 +- .../gimp/gimp/0003-Fix-use-of-gegl-API.patch | 34 +++ .../gimp/{gimp_2.8.20.bb => gimp_2.8.22.bb} | 14 +- .../freerdp/freerdp/0003-add-missing-define.patch | 45 ++++ meta-oe/recipes-support/freerdp/freerdp_git.bb | 1 + meta-oe/recipes-support/gflags/gflags_2.2.0.bb | 7 +- meta-oe/recipes-support/synergy/synergy_git.bb | 12 +- .../uim/uim/0001-Add-support-for-aarch64.patch | 82 +++++++ meta-oe/recipes-support/uim/uim_1.8.6.bb | 1 + 31 files changed, 721 insertions(+), 60 deletions(-) create mode 100644 meta-filesystems/recipes-filesystems/unionfs-fuse/files/0001-support-cross-compiling.patch delete mode 100644 meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_0.26.bb create mode 100644 meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_2.0.bb create mode 100644 meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-gl/rpi-egl-gles2-dep.patch create mode 100644 meta-multimedia/recipes-support/libsrtp/libsrtp/0001-Rename-conflicting-variable-mips.patch create mode 100644 meta-oe/recipes-connectivity/libtorrent/libtorrent/0001-implement-64bit-atomic-for-mips.patch copy meta-oe/recipes-devtools/librcf/librcf/{aarch64-support.patch => mips-support.patch} (53%) create mode 100644 meta-oe/recipes-extended/fluentbit/fluentbit/0001-flb-plugin-proxy-go-Add-missing-dependency-on-jemall.patch create mode 100644 meta-oe/recipes-graphics/assimp/assimp/0001-Fix-build-on-big-endian-architectures.patch rename meta-oe/recipes-graphics/assimp/{assimp_3.1.1.bb => assimp_3.3.1.bb} (50%) rename meta-oe/recipes-graphics/babl/{babl_0.1.16.bb => babl_0.1.28.bb} (72%) create mode 100644 meta-oe/recipes-graphics/dietsplash/dietsplash/0001-configure.ac-Do-not-demand-linker-hash-style.patch rename meta-oe/recipes-graphics/gegl/{gegl_0.3.4.bb => gegl_0.3.18.bb} (91%) create mode 100644 meta-oe/recipes-graphics/gimp/gimp/0003-Fix-use-of-gegl-API.patch rename meta-oe/recipes-graphics/gimp/{gimp_2.8.20.bb => gimp_2.8.22.bb} (70%) create mode 100644 meta-oe/recipes-support/freerdp/freerdp/0003-add-missing-define.patch create mode 100644 meta-oe/recipes-support/uim/uim/0001-Add-support-for-aarch64.patch -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:04:55 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:04:55 +0000 Subject: [oe-commits] [meta-openembedded] 04/26: netkit-rpc: Fix build with hardening flags In-Reply-To: <149889629161.4069.3272344626900353935@git.openembedded.org> References: <149889629161.4069.3272344626900353935@git.openembedded.org> Message-ID: <20170701080452.142332336AA@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 961797e7552c68c9a27465b3b767d714a883955c Author: Khem Raj AuthorDate: Tue Jun 27 19:08:13 2017 -0700 netkit-rpc: Fix build with hardening flags Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../0001-rpcgen-Fix-printf-formats.patch | 51 ++++++++++++++++++++++ .../recipes-netkit/netkit-rpc/netkit-rpc_0.17.bb | 4 +- 2 files changed, 54 insertions(+), 1 deletion(-) diff --git a/meta-networking/recipes-netkit/netkit-rpc/netkit-rpc/0001-rpcgen-Fix-printf-formats.patch b/meta-networking/recipes-netkit/netkit-rpc/netkit-rpc/0001-rpcgen-Fix-printf-formats.patch new file mode 100644 index 0000000..8bd77d2 --- /dev/null +++ b/meta-networking/recipes-netkit/netkit-rpc/netkit-rpc/0001-rpcgen-Fix-printf-formats.patch @@ -0,0 +1,51 @@ +From 439e3e35f7fcbff1abb782de4b19b31e43ae3449 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 27 Jun 2017 09:59:19 -0700 +Subject: [PATCH] rpcgen: Fix printf formats + +Fixes build with hardening flags + +Signed-off-by: Khem Raj +--- + rpcgen/rpc_hout.c | 2 +- + rpcgen/rpc_tblout.c | 4 ++-- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/rpcgen/rpc_hout.c b/rpcgen/rpc_hout.c +index 0ef52df..09a7b57 100644 +--- a/rpcgen/rpc_hout.c ++++ b/rpcgen/rpc_hout.c +@@ -474,7 +474,7 @@ pdeclaration(const char *name, declaration *dec, int tab, + break; + } + } +- f_print(fout, separator ); ++ f_print(fout, "%s", separator ); + } + + static int +diff --git a/rpcgen/rpc_tblout.c b/rpcgen/rpc_tblout.c +index d64bfde..fd62a52 100644 +--- a/rpcgen/rpc_tblout.c ++++ b/rpcgen/rpc_tblout.c +@@ -99,7 +99,7 @@ write_table(const definition *def) + } + else { + expected = 1; +- f_print(fout, null_entry); ++ f_print(fout, "%s", null_entry); + } + for (proc = vp->procs; proc != NULL; proc = proc->next) { + current = atoi(proc->proc_num); +@@ -139,7 +139,7 @@ write_table(const definition *def) + } + + /* print the table trailer */ +- f_print(fout, tbl_end); ++ f_print(fout, "%s", tbl_end); + f_print(fout, tbl_nproc, progvers, progvers, progvers); + } + } +-- +2.13.2 + diff --git a/meta-networking/recipes-netkit/netkit-rpc/netkit-rpc_0.17.bb b/meta-networking/recipes-netkit/netkit-rpc/netkit-rpc_0.17.bb index abc9d88..75ec07c 100644 --- a/meta-networking/recipes-netkit/netkit-rpc/netkit-rpc_0.17.bb +++ b/meta-networking/recipes-netkit/netkit-rpc/netkit-rpc_0.17.bb @@ -5,7 +5,9 @@ LICENSE = "SPL-1.0" LIC_FILES_CHKSUM = "file://rpcinfo/rpcinfo.c;beginline=2;endline=3;md5=3e6339e3ce266e1122c5ba293e04bc89" SRC_URI = "http://sources.openembedded.org/${BPN}-${PV}.tar.gz \ - file://gcc4.patch" + file://gcc4.patch \ + file://0001-rpcgen-Fix-printf-formats.patch \ + " SRC_URI[md5sum] = "67212720482ea1aea9182a98653a9642" SRC_URI[sha256sum] = "421d63b414162237a72867061f1bd3e3752a0d962cd5d30b5e933ddad8a14d3b" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:04:59 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:04:59 +0000 Subject: [oe-commits] [meta-openembedded] 08/26: gflags: update SRC_URI with git fetcher In-Reply-To: <149889629161.4069.3272344626900353935@git.openembedded.org> References: <149889629161.4069.3272344626900353935@git.openembedded.org> Message-ID: <20170701080452.3452F2336AE@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 59635983d6c1e49a42d14162d2b4596b35fe649f Author: Kai Kang AuthorDate: Fri Jun 30 14:43:10 2017 +0800 gflags: update SRC_URI with git fetcher Because github archives can be regenerated from time to time, update SRC_URI with git fetcher for gflags. Signed-off-by: Kai Kang Signed-off-by: Martin Jansa --- meta-oe/recipes-support/gflags/gflags_2.2.0.bb | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/meta-oe/recipes-support/gflags/gflags_2.2.0.bb b/meta-oe/recipes-support/gflags/gflags_2.2.0.bb index 5fc28f6..89caa37 100644 --- a/meta-oe/recipes-support/gflags/gflags_2.2.0.bb +++ b/meta-oe/recipes-support/gflags/gflags_2.2.0.bb @@ -5,9 +5,10 @@ HOMEPAGE = "https://github.com/gflags/gflags" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM = "file://COPYING.txt;md5=c80d1a3b623f72bb85a4c75b556551df" -SRC_URI = "https://github.com/gflags/gflags/archive/v${PV}.tar.gz;downloadfilename=${PN}-${PV}.tar.gz" -SRC_URI[md5sum] = "b99048d9ab82d8c56e876fb1456c285e" -SRC_URI[sha256sum] = "466c36c6508a451734e4f4d76825cf9cd9b8716d2b70ef36479ae40f08271f88" +SRC_URI = "git://github.com/gflags/gflags.git" +SRCREV = "f8a0efe03aa69b3336d8e228b37d4ccb17324b88" + +S = "${WORKDIR}/git" FILES_${PN}-dev += "${libdir}/cmake" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:05:01 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:05:01 +0000 Subject: [oe-commits] [meta-openembedded] 10/26: autofs: Add build dependency on libnsl2 In-Reply-To: <149889629161.4069.3272344626900353935@git.openembedded.org> References: <149889629161.4069.3272344626900353935@git.openembedded.org> Message-ID: <20170701080452.41EE32336B1@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 39502f23db41294ee3612c5e0578f6688c5d2d49 Author: Khem Raj AuthorDate: Fri Jun 30 05:59:41 2017 -0700 autofs: Add build dependency on libnsl2 this is needed with glibc 2.26 where libnsl is deprecated and is provided using separate recipe building it from external sources now. Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- meta-networking/recipes-daemons/autofs/autofs_5.1.2.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-networking/recipes-daemons/autofs/autofs_5.1.2.bb b/meta-networking/recipes-daemons/autofs/autofs_5.1.2.bb index eea7c4b..ccd8a7f 100644 --- a/meta-networking/recipes-daemons/autofs/autofs_5.1.2.bb +++ b/meta-networking/recipes-daemons/autofs/autofs_5.1.2.bb @@ -3,7 +3,7 @@ SECTION = "utils" LICENSE = "GPL-2.0" LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3" -DEPENDS += "libtirpc flex-native bison-native e2fsprogs openssl libxml2 util-linux cyrus-sasl" +DEPENDS += "libtirpc flex-native bison-native e2fsprogs openssl libxml2 util-linux cyrus-sasl libnsl2" CFLAGS += "-I${STAGING_INCDIR}/tirpc" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:05:03 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:05:03 +0000 Subject: [oe-commits] [meta-openembedded] 12/26: librcf: fix mips/mips64 build In-Reply-To: <149889629161.4069.3272344626900353935@git.openembedded.org> References: <149889629161.4069.3272344626900353935@git.openembedded.org> Message-ID: <20170701080452.4E9A22336B4@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 5ed1dba5f8fdca6c78bf61128aedd0426eb98424 Author: Khem Raj AuthorDate: Fri Jun 30 05:59:43 2017 -0700 librcf: fix mips/mips64 build Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../recipes-devtools/librcf/librcf/mips-support.patch | 19 +++++++++++++++++++ meta-oe/recipes-devtools/librcf/librcf_2.2.0.0.bb | 1 + 2 files changed, 20 insertions(+) diff --git a/meta-oe/recipes-devtools/librcf/librcf/mips-support.patch b/meta-oe/recipes-devtools/librcf/librcf/mips-support.patch new file mode 100644 index 0000000..4a327f7 --- /dev/null +++ b/meta-oe/recipes-devtools/librcf/librcf/mips-support.patch @@ -0,0 +1,19 @@ +Index: RCF-2.2.0.0/src/RCF/ByteOrdering.cpp +=================================================================== +--- RCF-2.2.0.0.orig/src/RCF/ByteOrdering.cpp ++++ RCF-2.2.0.0/src/RCF/ByteOrdering.cpp +@@ -64,6 +64,14 @@ namespace RCF { + + const ByteOrder MachineByteOrder = LittleEndian; + ++#elif defined(__mipsel__) || defined(__mips64el__) ++ ++ const ByteOrder MachineByteOrder = LittleEndian; ++ ++#elif defined( __mips__ ) || defined(__mips64__) ++ ++ const ByteOrder MachineByteOrder = BigEndian; ++ + #elif defined(__bfin__) + + const ByteOrder MachineByteOrder = LittleEndian; diff --git a/meta-oe/recipes-devtools/librcf/librcf_2.2.0.0.bb b/meta-oe/recipes-devtools/librcf/librcf_2.2.0.0.bb index 4c9683a..1287eb0 100644 --- a/meta-oe/recipes-devtools/librcf/librcf_2.2.0.0.bb +++ b/meta-oe/recipes-devtools/librcf/librcf_2.2.0.0.bb @@ -14,6 +14,7 @@ SRC_URI = "http://www.deltavsoft.com/downloads/RCF-${PV}.tar.gz \ file://0001-Add-CMake-build-files.patch \ file://aarch64-support.patch \ file://0001-ClientStub.hpp-fix-a-clang-compiling-issue.patch \ + file://mips-support.patch \ " SRC_URI[md5sum] = "7ecb3c73f7eb66dba8790b659374f690" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:04:57 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:04:57 +0000 Subject: [oe-commits] [meta-openembedded] 06/26: ncftp: Upgrade to 3.2.6 In-Reply-To: <149889629161.4069.3272344626900353935@git.openembedded.org> References: <149889629161.4069.3272344626900353935@git.openembedded.org> Message-ID: <20170701080452.272892336AC@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit ed9432ca2f68680d780958906b4d305d53494c4d Author: Khem Raj AuthorDate: Tue Jun 27 19:08:15 2017 -0700 ncftp: Upgrade to 3.2.6 Fix build with hardening flags Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../recipes-daemons/ncftp/ncftp/unistd.patch | 32 ++++++++++++++++++++++ .../ncftp/{ncftp_3.2.5.bb => ncftp_3.2.6.bb} | 16 ++++++++--- 2 files changed, 44 insertions(+), 4 deletions(-) diff --git a/meta-networking/recipes-daemons/ncftp/ncftp/unistd.patch b/meta-networking/recipes-daemons/ncftp/ncftp/unistd.patch new file mode 100644 index 0000000..1c8146e --- /dev/null +++ b/meta-networking/recipes-daemons/ncftp/ncftp/unistd.patch @@ -0,0 +1,32 @@ +This patch is needed to avoid double definitions of functions +especially when building with security flags turned on. The double +definitions causes the sed.sh script in configure to fail since it +starts to spit out double outputs e.g. + +wi_cv_gethostname_size_t size_t size_t + +which then caused almost all subsequent compile time tests to fail since +this gets into confdefs.h file + +removing this include causes only one definitions to be emitted into +the genrated protos.h file and thus avoiding the above failure. + +Other solution would to fix sed.sh to ignore double definitions + +Upstream-Status: Pending + +Signed-of-by: Khem Raj + + +Index: ncftp-3.2.6/configure +=================================================================== +--- ncftp-3.2.6.orig/configure ++++ ncftp-3.2.6/configure +@@ -7859,7 +7859,6 @@ chmod 755 "$wi_tmpdir/prpp.pl" + cat << 'EOF' > "$wi_tmpdir/unistd.c" + #include + +-#include + #include + #include + #include diff --git a/meta-networking/recipes-daemons/ncftp/ncftp_3.2.5.bb b/meta-networking/recipes-daemons/ncftp/ncftp_3.2.6.bb similarity index 53% rename from meta-networking/recipes-daemons/ncftp/ncftp_3.2.5.bb rename to meta-networking/recipes-daemons/ncftp/ncftp_3.2.6.bb index 893eacb..5f92f27 100644 --- a/meta-networking/recipes-daemons/ncftp/ncftp_3.2.5.bb +++ b/meta-networking/recipes-daemons/ncftp/ncftp_3.2.6.bb @@ -2,21 +2,29 @@ DESCRIPTION = "A sophisticated console ftp client" HOMEPAGE = "http://ncftp.com/" SECTION = "net" LICENSE = "ClArtistic" -LIC_FILES_CHKSUM = "file://ncftp/cmds.c;beginline=3;endline=4;md5=9de76faeaedc4f908082e3f8142715f4" +LIC_FILES_CHKSUM = "file://ncftp/cmds.c;beginline=3;endline=4;md5=9c2390809f71465aa7ff76e03dc14d91" DEPENDS = "ncurses" -SRC_URI = "${DEBIAN_MIRROR}/main/n/${BPN}/${BPN}_${PV}.orig.tar.gz \ +SRC_URI = "ftp://ftp.ncftp.com/${BPN}/${BP}-src.tar.xz \ file://ncftp-configure-use-BUILD_CC-for-ccdv.patch \ + file://unistd.patch \ " -SRC_URI[md5sum] = "685e45f60ac11c89442c572c28af4228" -SRC_URI[sha256sum] = "ac111b71112382853b2835c42ebe7bd59acb7f85dd00d44b2c19fbd074a436c4" +SRC_URI[md5sum] = "42d0f896d69a4d603ec097546444245f" +SRC_URI[sha256sum] = "5f200687c05d0807690d9fb770327b226f02dd86155b49e750853fce4e31098d" inherit autotools-brokensep pkgconfig +CFLAGS += "-DNO_SSLv2 -D_FILE_OFFSET_BITS=64 -Wall" + PACKAGECONFIG ??= "" PACKAGECONFIG[ccdv] = "--enable-ccdv,--disable-ccdv,," +EXTRA_OECONF = "--disable-precomp" +TARGET_CC_ARCH_append = " ${SELECTED_OPTIMIZATION}" + do_configure() { + install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S} + install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S} oe_runconf } do_install () { -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:04:56 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:04:56 +0000 Subject: [oe-commits] [meta-openembedded] 05/26: netkit-telnet: Fix build with hardening In-Reply-To: <149889629161.4069.3272344626900353935@git.openembedded.org> References: <149889629161.4069.3272344626900353935@git.openembedded.org> Message-ID: <20170701080452.204492336AB@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit b1fb0ad522e6446616f0a713e0a9bd296c568845 Author: Khem Raj AuthorDate: Tue Jun 27 19:08:14 2017 -0700 netkit-telnet: Fix build with hardening Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...1-telnet-telnetd-Fix-print-format-strings.patch | 66 ++++++++++++++++++++++ .../netkit-telnet/netkit-telnet_0.17.bb | 11 ++-- 2 files changed, 72 insertions(+), 5 deletions(-) diff --git a/meta-networking/recipes-netkit/netkit-telnet/files/0001-telnet-telnetd-Fix-print-format-strings.patch b/meta-networking/recipes-netkit/netkit-telnet/files/0001-telnet-telnetd-Fix-print-format-strings.patch new file mode 100644 index 0000000..f2f1b12 --- /dev/null +++ b/meta-networking/recipes-netkit/netkit-telnet/files/0001-telnet-telnetd-Fix-print-format-strings.patch @@ -0,0 +1,66 @@ +From 7a3095d1e9b7c73f9dca56250f433bcfc7cb660e Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 27 Jun 2017 10:15:34 -0700 +Subject: [PATCH] telnet/telnetd: Fix print format strings + +Fixes build with hardening flags + +Signed-off-by: Khem Raj +--- + telnet/utilities.cc | 6 +++--- + telnetd/utility.c | 6 +++--- + 2 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/telnet/utilities.cc b/telnet/utilities.cc +index 66839ab..36f0731 100644 +--- a/telnet/utilities.cc ++++ b/telnet/utilities.cc +@@ -583,17 +583,17 @@ void printsub(int direction, unsigned char *pointer, int length) { + case ENV_VAR: + if (pointer[1] == TELQUAL_SEND) + goto def_case; +- fprintf(NetTrace, "\" VAR " + noquote); ++ fprintf(NetTrace, "%s", "\" VAR " + noquote); + noquote = 2; + break; + + case ENV_VALUE: +- fprintf(NetTrace, "\" VALUE " + noquote); ++ fprintf(NetTrace, "%s", "\" VALUE " + noquote); + noquote = 2; + break; + + case ENV_ESC: +- fprintf(NetTrace, "\" ESC " + noquote); ++ fprintf(NetTrace, "%s", "\" ESC " + noquote); + noquote = 2; + break; + +diff --git a/telnetd/utility.c b/telnetd/utility.c +index 29b7da1..75314cb 100644 +--- a/telnetd/utility.c ++++ b/telnetd/utility.c +@@ -909,17 +909,17 @@ printsub(char direction, unsigned char *pointer, int length) + case ENV_VAR: + if (pointer[1] == TELQUAL_SEND) + goto def_case; +- netoprintf("\" VAR " + noquote); ++ netoprintf("%s", "\" VAR " + noquote); + noquote = 2; + break; + + case ENV_VALUE: +- netoprintf("\" VALUE " + noquote); ++ netoprintf("%s", "\" VALUE " + noquote); + noquote = 2; + break; + + case ENV_ESC: +- netoprintf("\" ESC " + noquote); ++ netoprintf("%s", "\" ESC " + noquote); + noquote = 2; + break; + +-- +2.13.2 + diff --git a/meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb b/meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb index 9438adc..54a58c8 100644 --- a/meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb +++ b/meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb @@ -5,11 +5,12 @@ LICENSE = "BSD" LIC_FILES_CHKSUM = "file://telnet/telnet.cc;beginline=2;endline=3;md5=780868e7b566313e70cb701560ca95ef" SRC_URI = "ftp://ftp.uk.linux.org/pub/linux/Networking/netkit/${BP}.tar.gz \ - file://To-aviod-buffer-overflow-in-telnet.patch \ - file://Warning-fix-in-the-step-of-install.patch \ - file://telnet-xinetd \ - file://cross-compile.patch \ -" + file://To-aviod-buffer-overflow-in-telnet.patch \ + file://Warning-fix-in-the-step-of-install.patch \ + file://telnet-xinetd \ + file://cross-compile.patch \ + file://0001-telnet-telnetd-Fix-print-format-strings.patch \ + " EXTRA_OEMAKE = "INSTALLROOT=${D} SBINDIR=${sbindir} DAEMONMODE=755 \ MANMODE=644 MANDIR=${mandir}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:04:58 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:04:58 +0000 Subject: [oe-commits] [meta-openembedded] 07/26: ippool: Fix build errors found with hardening flags In-Reply-To: <149889629161.4069.3272344626900353935@git.openembedded.org> References: <149889629161.4069.3272344626900353935@git.openembedded.org> Message-ID: <20170701080452.2DEEF2336AD@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 2531f3e71f831423b34de13b729bc485e545a6c6 Author: Khem Raj AuthorDate: Tue Jun 27 19:08:18 2017 -0700 ippool: Fix build errors found with hardening flags Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...timer-Check-for-return-value-of-write-API.patch | 28 ++++++++++++++++++++++ .../recipes-daemons/ippool/ippool_1.3.bb | 22 ++++++++--------- 2 files changed, 39 insertions(+), 11 deletions(-) diff --git a/meta-networking/recipes-daemons/ippool/ippool/0001-usl_timer-Check-for-return-value-of-write-API.patch b/meta-networking/recipes-daemons/ippool/ippool/0001-usl_timer-Check-for-return-value-of-write-API.patch new file mode 100644 index 0000000..6fb7cc5 --- /dev/null +++ b/meta-networking/recipes-daemons/ippool/ippool/0001-usl_timer-Check-for-return-value-of-write-API.patch @@ -0,0 +1,28 @@ +From 5d7f20c045b3c74dad2c53d65e30bd4840250082 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 27 Jun 2017 15:17:19 -0700 +Subject: [PATCH] usl_timer: Check for return value of write() API + +Signed-off-by: Khem Raj +--- + usl/usl_timer.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/usl/usl_timer.c b/usl/usl_timer.c +index fda752b..d8414a6 100644 +--- a/usl/usl_timer.c ++++ b/usl/usl_timer.c +@@ -94,7 +94,9 @@ void usl_timer_tick(void) + + if (!usl_tick_pending) { + usl_tick_pending = 1; +- write(usl_tick_pipe[1], &msg, sizeof(msg)); ++ if (write(usl_tick_pipe[1], &msg, sizeof(msg)) != sizeof(msg)) { ++ fprintf(stderr, "write to fd %i failed: %s\n", usl_tick_pipe[1], strerror(errno)); ++ } + } + } + +-- +2.13.2 + diff --git a/meta-networking/recipes-daemons/ippool/ippool_1.3.bb b/meta-networking/recipes-daemons/ippool/ippool_1.3.bb index 969f434..e1c9215 100644 --- a/meta-networking/recipes-daemons/ippool/ippool_1.3.bb +++ b/meta-networking/recipes-daemons/ippool/ippool_1.3.bb @@ -11,16 +11,16 @@ HOMEPAGE = "http://www.openl2tp.org/" SECTION = "console/network" LICENSE = "GPLv2+" -SRC_URI = "\ - https://sourceforge.net/projects/openl2tp/files/${BPN}/${PV}/${BPN}-${PV}.tar.gz \ - file://ippool_usl_timer.patch \ - file://ippool_parallel_make_and_pic.patch \ - file://ippool_init.d.patch \ - file://always_syslog.patch \ - file://makefile-add-ldflags.patch \ - file://runtest.sh \ - file://ippool.service \ - " +SRC_URI = "https://sourceforge.net/projects/openl2tp/files/${BPN}/${PV}/${BPN}-${PV}.tar.gz \ + file://runtest.sh \ + file://ippool.service \ + file://ippool_usl_timer.patch \ + file://ippool_parallel_make_and_pic.patch \ + file://ippool_init.d.patch \ + file://always_syslog.patch \ + file://makefile-add-ldflags.patch \ + file://0001-usl_timer-Check-for-return-value-of-write-API.patch \ + " LIC_FILES_CHKSUM = "file://LICENSE;md5=4c59283b82fc2b166455e0fc23c71c6f" SRC_URI[md5sum] = "e2401e65db26a3764585b97212888fae" @@ -50,7 +50,7 @@ do_compile_prepend() { # ignore the OPT_CFLAGS?= in Makefile, # it should be in CFLAGS from env - export OPT_CFLAGS= + export OPT_CFLAGS="${SELECTED_OPTIMIZATION}" } -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:05:00 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:05:00 +0000 Subject: [oe-commits] [meta-openembedded] 09/26: unionfs-fuse: 0.26 -> 2.0 In-Reply-To: <149889629161.4069.3272344626900353935@git.openembedded.org> References: <149889629161.4069.3272344626900353935@git.openembedded.org> Message-ID: <20170701080452.3B2002336AF@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 1a3966a1acb74c45c3e297ad2c19ad54c9152274 Author: Hongxu Jia AuthorDate: Fri Jun 30 03:25:24 2017 -0400 unionfs-fuse: 0.26 -> 2.0 - Fix 0.26's do_compile failure by inheriting cmake and pkgconfig - Update upstream to github Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- .../files/0001-support-cross-compiling.patch | 32 ++++++++++++++++++++++ .../unionfs-fuse/unionfs-fuse_0.26.bb | 19 ------------- .../unionfs-fuse/unionfs-fuse_2.0.bb | 18 ++++++++++++ 3 files changed, 50 insertions(+), 19 deletions(-) diff --git a/meta-filesystems/recipes-filesystems/unionfs-fuse/files/0001-support-cross-compiling.patch b/meta-filesystems/recipes-filesystems/unionfs-fuse/files/0001-support-cross-compiling.patch new file mode 100644 index 0000000..bf363ca --- /dev/null +++ b/meta-filesystems/recipes-filesystems/unionfs-fuse/files/0001-support-cross-compiling.patch @@ -0,0 +1,32 @@ +From 449cec34c123b86b792627553c6ec7471d2ee7ed Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Fri, 30 Jun 2017 14:46:51 +0800 +Subject: [PATCH] support cross compiling + +Do not override OE CMAKE variables + +Upstream-Status: Pending + +Signed-off-by: Hongxu Jia +--- + CMakeLists.txt | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -10,9 +10,9 @@ IF(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE) + ENDIF(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE) + + # Select flags. +-SET(CMAKE_C_FLAGS "-pipe -W -Wall -DFORTIFY_SOURCE=2") ++SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pipe -W -Wall -DFORTIFY_SOURCE=2") + SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -g") +-SET(CMAKE_C_FLAGS_RELEASE "-O2") ++SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O2") + SET(CMAKE_C_FLAGS_DEBUG "-O0 -g -DDEBUG") + + if (UNIX AND APPLE) +-- +2.8.1 + diff --git a/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_0.26.bb b/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_0.26.bb deleted file mode 100644 index 2520429..0000000 --- a/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_0.26.bb +++ /dev/null @@ -1,19 +0,0 @@ -SUMMARY = "A FUSE based implemention of unionfs" -HOMEPAGE = "http://podgorny.cz/moin/UnionFsFuse" -SECTION = "console/network" -LICENSE = "BSD-3-Clause" -DEPENDS = "fuse" -LIC_FILES_CHKSUM = "file://src/unionfs.c;beginline=3;endline=8;md5=30fa8de70fd8abab00b483a1b7943a32" - -SRC_URI = "http://podgorny.cz/unionfs-fuse/releases/${BP}.tar.xz" - -SRC_URI[md5sum] = "689c636484756f6f7a728ef354cbeac2" -SRC_URI[sha256sum] = "8d5c9dcb51ecb9a9b03890e16d17e37d602b0c1f23ed6a9ddec2b0f719c9f662" - -do_install() { - oe_runmake install DESTDIR=${D} PREFIX=${exec_prefix} -} - -RDEPENDS_${PN} += "bash" - -PNBLACKLIST[unionfs-fuse] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130648/ - the recipe will be removed on 2017-09-01 unless the issue is fixed" diff --git a/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_2.0.bb b/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_2.0.bb new file mode 100644 index 0000000..b89d8db --- /dev/null +++ b/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_2.0.bb @@ -0,0 +1,18 @@ +SUMMARY = "A FUSE based implemention of unionfs" +HOMEPAGE = "https://github.com/rpodgorny/unionfs-fuse" +SECTION = "console/network" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://src/unionfs.c;beginline=3;endline=8;md5=30fa8de70fd8abab00b483a1b7943a32 \ + file://LICENSE;md5=7e5a37fce17307066eec6b23546da3b3 \ +" + +SRC_URI = "git://github.com/rpodgorny/${BPN}.git;branch=master \ + file://0001-support-cross-compiling.patch \ +" +SRCREV = "c8d23a9a75f1a62988593671839e8a168a79f3e5" + +DEPENDS = "fuse" + +S = "${WORKDIR}/git" + +inherit cmake pkgconfig -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:05:02 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:05:02 +0000 Subject: [oe-commits] [meta-openembedded] 11/26: gst-plugins-gl_0.10.3.bb: Fix build on rpi/userland In-Reply-To: <149889629161.4069.3272344626900353935@git.openembedded.org> References: <149889629161.4069.3272344626900353935@git.openembedded.org> Message-ID: <20170701080452.4865A2336B2@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit b73b2f4f89d4a288c64b0014c0e46d55d9824f37 Author: Khem Raj AuthorDate: Fri Jun 30 05:59:42 2017 -0700 gst-plugins-gl_0.10.3.bb: Fix build on rpi/userland see https://www.raspberrypi.org/forums/viewtopic.php?t=7090 Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../gst-plugins-gl/rpi-egl-gles2-dep.patch | 22 ++++++++++++++++++++++ .../gstreamer-0.10/gst-plugins-gl_0.10.3.bb | 4 +++- 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-gl/rpi-egl-gles2-dep.patch b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-gl/rpi-egl-gles2-dep.patch new file mode 100644 index 0000000..7db1c5a --- /dev/null +++ b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-gl/rpi-egl-gles2-dep.patch @@ -0,0 +1,22 @@ +Check for header and library separately and check for GLESv2 before egl +this is to overcome an annoying issue with rpi/userland where egl depends +on sysmbols from libGLESv2 + +-Khem +Index: gst-plugins-gl-0.10.3/configure.ac +=================================================================== +--- gst-plugins-gl-0.10.3.orig/configure.ac ++++ gst-plugins-gl-0.10.3/configure.ac +@@ -183,8 +183,10 @@ case $host in + else + AC_CHECK_HEADERS([EGL/egl.h], [HAVE_EGL=yes], [HAVE_EGL=no]) + if test "x$HAVE_EGL" = "xyes"; then +- AG_GST_CHECK_LIBHEADER(EGL, EGL, eglGetError,, EGL/egl.h,, AC_MSG_ERROR([EGL is required])) +- AG_GST_CHECK_LIBHEADER(GLES2, GLESv2, glTexImage2D,, GLES2/gl2.h,, AC_MSG_ERROR([OpenGLES2 is required])) ++ AC_CHECK_HEADERS([GLES2/gl2.h],, AC_MSG_ERROR([OpenGLES2 is required])) ++ AC_CHECK_LIB(GLESv2,[glTexImage2D],, AC_MSG_ERROR([OpenGLES2 is required])) ++ AC_CHECK_HEADERS([EGL/egl.h],, AC_MSG_ERROR([EGL is required])) ++ AC_CHECK_LIB(EGL,[eglGetError],, AC_MSG_ERROR([EGL is required])) + GL_LIBS="$LIBS $X_LIBS -lEGL -lGLESv2" + GL_BACKEND=x11ES2 + GL_TYPE=gles diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-gl_0.10.3.bb b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-gl_0.10.3.bb index 6859f33..bb69bfe 100644 --- a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-gl_0.10.3.bb +++ b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-gl_0.10.3.bb @@ -6,7 +6,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605" SRC_URI[md5sum] = "ac70ede13f79978d56eaed8abaa3c938" SRC_URI[sha256sum] = "48340b6a4b8abce16344a7bc33e74a94fdcce4f57ef6342cdf2f941c429bf210" -SRC_URI += " file://0001-conditional-gl-framebuffer-undefined-use.patch" +SRC_URI += " file://0001-conditional-gl-framebuffer-undefined-use.patch \ + file://rpi-egl-gles2-dep.patch \ +" DEPENDS += "gst-plugins-base virtual/libgles2 virtual/egl jpeg libpng glew" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:05:05 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:05:05 +0000 Subject: [oe-commits] [meta-openembedded] 14/26: gegl: Upgrade to 0.3.18 In-Reply-To: <149889629161.4069.3272344626900353935@git.openembedded.org> References: <149889629161.4069.3272344626900353935@git.openembedded.org> Message-ID: <20170701080452.5CC3A2336B6@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 6869684e9dcc32e579cea5b6b877f8fe36f23a83 Author: Khem Raj AuthorDate: Fri Jun 30 05:59:45 2017 -0700 gegl: Upgrade to 0.3.18 Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- meta-oe/recipes-graphics/gegl/{gegl_0.3.4.bb => gegl_0.3.18.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-oe/recipes-graphics/gegl/gegl_0.3.4.bb b/meta-oe/recipes-graphics/gegl/gegl_0.3.18.bb similarity index 91% rename from meta-oe/recipes-graphics/gegl/gegl_0.3.4.bb rename to meta-oe/recipes-graphics/gegl/gegl_0.3.18.bb index 90f0216..6cc20f5 100644 --- a/meta-oe/recipes-graphics/gegl/gegl_0.3.4.bb +++ b/meta-oe/recipes-graphics/gegl/gegl_0.3.18.bb @@ -16,8 +16,8 @@ PACKAGECONFIG[webp] = "--with-webp,--without-webp,webp" SRC_URI = "http://ftp.gimp.org/pub/${BPN}/0.3/${BP}.tar.bz2 \ file://pkgconfig.patch " -SRC_URI[md5sum] = "c19478321594d715a4cb324a0decda6f" -SRC_URI[sha256sum] = "846290a790854d1e6b7c17a2d6f82ad7cb14c72e240bd3b81b98cc0ceddbc3ec" +SRC_URI[md5sum] = "6e5c6f229261478dc436a38c84405b2a" +SRC_URI[sha256sum] = "d7858ef26ede136d14e3de188a9e9c0de7707061a9fb96d7d615fab4958491fb" LDFLAGS += "-lm" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:05:06 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:05:06 +0000 Subject: [oe-commits] [meta-openembedded] 15/26: babl: Upgrade to 0.1.28 In-Reply-To: <149889629161.4069.3272344626900353935@git.openembedded.org> References: <149889629161.4069.3272344626900353935@git.openembedded.org> Message-ID: <20170701080452.63A5D2336B7@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 6cbe8e879fac588404a57a767ac94066967bd616 Author: Khem Raj AuthorDate: Fri Jun 30 05:59:46 2017 -0700 babl: Upgrade to 0.1.28 Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- meta-oe/recipes-graphics/babl/{babl_0.1.16.bb => babl_0.1.28.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-oe/recipes-graphics/babl/babl_0.1.16.bb b/meta-oe/recipes-graphics/babl/babl_0.1.28.bb similarity index 72% rename from meta-oe/recipes-graphics/babl/babl_0.1.16.bb rename to meta-oe/recipes-graphics/babl/babl_0.1.28.bb index daea052..9d8c90f 100644 --- a/meta-oe/recipes-graphics/babl/babl_0.1.16.bb +++ b/meta-oe/recipes-graphics/babl/babl_0.1.28.bb @@ -5,8 +5,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=6a6a8e020838b23406c81b19c1d46df6" inherit gnomebase SRC_URI = "http://ftp.gimp.org/pub/${BPN}/0.1/${BP}.tar.bz2" -SRC_URI[md5sum] = "a1c72e5f5d55a8b736ef2fa67ddb86ec" -SRC_URI[sha256sum] = "7d6ba55ec53ee6f6bf6945beec28839d09ff72376f4d83035eb379cd4f3e980e" +SRC_URI[md5sum] = "cc53d8474a43aafb7cdaccea56cfde44" +SRC_URI[sha256sum] = "63f3ed23e72a857a0e6df53d9d968a325024177b01edbe314a0c98b499eb8603" FILES_${PN} += "${libdir}/babl-*/*.so" FILES_${PN}-dev += "${libdir}/babl-*/*.la" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:05:04 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:05:04 +0000 Subject: [oe-commits] [meta-openembedded] 13/26: freerdp: Fix build on mips In-Reply-To: <149889629161.4069.3272344626900353935@git.openembedded.org> References: <149889629161.4069.3272344626900353935@git.openembedded.org> Message-ID: <20170701080452.5669E2336B5@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit b02be7aee861a9db3785a5fd7c45933cc73ae111 Author: Khem Raj AuthorDate: Fri Jun 30 05:59:44 2017 -0700 freerdp: Fix build on mips Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../freerdp/freerdp/0003-add-missing-define.patch | 45 ++++++++++++++++++++++ meta-oe/recipes-support/freerdp/freerdp_git.bb | 1 + 2 files changed, 46 insertions(+) diff --git a/meta-oe/recipes-support/freerdp/freerdp/0003-add-missing-define.patch b/meta-oe/recipes-support/freerdp/freerdp/0003-add-missing-define.patch new file mode 100644 index 0000000..220edef --- /dev/null +++ b/meta-oe/recipes-support/freerdp/freerdp/0003-add-missing-define.patch @@ -0,0 +1,45 @@ +libwinpr/comm_seria: fix missing define + +FreeRDP uses CMSPAR, which is defined by glibc in bits/termios.h . + +glibc has two flavours of bits/termios.h: a genmeric one and an +architecture-specific one. When installing, glibc will install the +architecture-specific file if it exists, otherwise it installs the +generic file. Only Alpha, MIPS, PPC and Sparc have their own +bits/termios.h. + +The generic bits/termios.h, as well as the Alpha, PPC and Sparc flavours +do define CMSPAR. However, the MIPS flavour does not define it. + +Define CMSPAR to the value from the generic value, which is also the +value known to the Linux kernel for MIPS. + +Fixes: + http://autobuild.buildroot.org/results/0b4/0b4793f0bf9f4c57933897f3480054a4e06528ad/ + http://autobuild.buildroot.org/results/7a2/7a2284d0a2987158fa2e78f789b07c8c6fcdb974/ + http://autobuild.buildroot.org/results/387/3874088c3ccd4bbf76ea0c911ca1ef64c7dc9d1c/ + ... + +Signed-off-by: "Yann E. MORIN" +Cc: Peter Korsgaard +Cc: Thomas Petazzoni + +diff -durN freerdp-17834af7bb378f85a3b3cc4dcadaa5125a337e16.orig/winpr/libwinpr/comm/comm_serial_sys.c freerdp-17834af7bb378f85a3b3cc4dcadaa5125a337e16/winpr/libwinpr/comm/comm_serial_sys.c +--- freerdp-17834af7bb378f85a3b3cc4dcadaa5125a337e16.orig/winpr/libwinpr/comm/comm_serial_sys.c 2015-09-04 16:20:17.000000000 +0100 ++++ freerdp-17834af7bb378f85a3b3cc4dcadaa5125a337e16/winpr/libwinpr/comm/comm_serial_sys.c 2015-10-04 11:07:41.868513726 +0100 +@@ -27,6 +27,14 @@ + #include + #include + #include ++ ++/* glibc for MIPS has its own bits/termios.h which does not define ++ * CMSPAR, so we vampirise the value from the generic bits/termios.h ++ */ ++#ifndef CMSPAR ++#define CMSPAR 010000000000 ++#endif ++ + #include + + #include "comm_serial_sys.h" + diff --git a/meta-oe/recipes-support/freerdp/freerdp_git.bb b/meta-oe/recipes-support/freerdp/freerdp_git.bb index f2d0a4d..f0aa1b6 100644 --- a/meta-oe/recipes-support/freerdp/freerdp_git.bb +++ b/meta-oe/recipes-support/freerdp/freerdp_git.bb @@ -17,6 +17,7 @@ SRCREV = "62da9d28c674814c81c245c1c7882eb0da7be76b" SRC_URI = "git://github.com/FreeRDP/FreeRDP.git \ file://winpr-makecert-Build-with-install-RPATH.patch \ file://0001-FindGStreamer_1_0-fix-build-failure-for-new-gstreame.patch \ + file://0003-add-missing-define.patch \ " S = "${WORKDIR}/git" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:05:17 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:05:17 +0000 Subject: [oe-commits] [meta-openembedded] 26/26: openhpi: Fix build on 64bit platforms e.g. aarch64 In-Reply-To: <149889629161.4069.3272344626900353935@git.openembedded.org> References: <149889629161.4069.3272344626900353935@git.openembedded.org> Message-ID: <20170701080452.AF3B12336AA@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit d855e3dd63ac66dc197c0d9543892b985759742c Author: Khem Raj AuthorDate: Fri Jun 30 05:59:57 2017 -0700 openhpi: Fix build on 64bit platforms e.g. aarch64 Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- meta-networking/recipes-daemons/openhpi/openhpi_3.6.1.bb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meta-networking/recipes-daemons/openhpi/openhpi_3.6.1.bb b/meta-networking/recipes-daemons/openhpi/openhpi_3.6.1.bb index db2a24a..16e58dc 100644 --- a/meta-networking/recipes-daemons/openhpi/openhpi_3.6.1.bb +++ b/meta-networking/recipes-daemons/openhpi/openhpi_3.6.1.bb @@ -54,9 +54,10 @@ FILES_${PN}-libs = "${libdir}/${BPN}/*.so /usr/lib/${BPN}/*.so" INSANE_SKIP_${PN}-libs = "dev-so" RDEPENDS_${PN} += "${PN}-libs" -PACKAGECONFIG ??= "libgcrypt" +PACKAGECONFIG ??= "libgcrypt non32bit" PACKAGECONFIG[sysfs] = "--enable-sysfs,--disable-sysfs,sysfsutils," PACKAGECONFIG[libgcrypt] = "--enable-encryption,--disable-encryption,libgcrypt," +PACKAGECONFIG[non32bit] = "--enable-non32bit-int,--disable-non32bit-int,," do_install_append () { install -m 0755 -d ${D}${sysconfdir}/${BPN} -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:05:15 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:05:15 +0000 Subject: [oe-commits] [meta-openembedded] 24/26: rtorrent: Add and enable ipv6 packageconfig based on DISTRO_FEATURES In-Reply-To: <149889629161.4069.3272344626900353935@git.openembedded.org> References: <149889629161.4069.3272344626900353935@git.openembedded.org> Message-ID: <20170701080452.A19822336BE@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit d1c5c69944b1cda76a646b3954d050ef877e2098 Author: Khem Raj AuthorDate: Fri Jun 30 05:59:55 2017 -0700 rtorrent: Add and enable ipv6 packageconfig based on DISTRO_FEATURES Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- meta-oe/recipes-connectivity/rtorrent/rtorrent_git.bb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/meta-oe/recipes-connectivity/rtorrent/rtorrent_git.bb b/meta-oe/recipes-connectivity/rtorrent/rtorrent_git.bb index af1c4d6..c731cf7 100644 --- a/meta-oe/recipes-connectivity/rtorrent/rtorrent_git.bb +++ b/meta-oe/recipes-connectivity/rtorrent/rtorrent_git.bb @@ -14,6 +14,10 @@ PV = "0.9.6+git${SRCPV}" S = "${WORKDIR}/git" +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" + +PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," + inherit autotools pkgconfig do_configure_prepend() { -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:05:07 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:05:07 +0000 Subject: [oe-commits] [meta-openembedded] 16/26: gimp: Upgrade to 2.8.22 In-Reply-To: <149889629161.4069.3272344626900353935@git.openembedded.org> References: <149889629161.4069.3272344626900353935@git.openembedded.org> Message-ID: <20170701080452.6A6C52336B8@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit a57a2ed26560579805b3a4def2904f6042f33120 Author: Khem Raj AuthorDate: Fri Jun 30 05:59:47 2017 -0700 gimp: Upgrade to 2.8.22 Fix API issue due to new gegl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../gimp/gimp/0003-Fix-use-of-gegl-API.patch | 34 ++++++++++++++++++++++ .../gimp/{gimp_2.8.20.bb => gimp_2.8.22.bb} | 14 ++++----- 2 files changed, 41 insertions(+), 7 deletions(-) diff --git a/meta-oe/recipes-graphics/gimp/gimp/0003-Fix-use-of-gegl-API.patch b/meta-oe/recipes-graphics/gimp/gimp/0003-Fix-use-of-gegl-API.patch new file mode 100644 index 0000000..7da78e2 --- /dev/null +++ b/meta-oe/recipes-graphics/gimp/gimp/0003-Fix-use-of-gegl-API.patch @@ -0,0 +1,34 @@ +From e1c8f4b8323e3965271a93529eab5774c1a7083c Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 29 Jun 2017 10:32:14 -0700 +Subject: [PATCH 3/3] Fix use of gegl API + +newer version of gegl does not define GEGL_IS_PARAM_SPEC_MULTILINE + +| core/libappcore.a(gimpparamspecs-duplicate.o): In function `gimp_param_spec_duplicate': +| /usr/src/debug/gimp/2.8.22-r0/gimp-2.8.22/app/core/../../../../../../../../../workspace/sources/gimp/app/core/gimpparamspecs-duplicate.c:70: undefined reference to `GEGL_IS_PARAM_SPEC_MULTILINE' +| collect2: error: ld returned 1 exit status + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +--- + app/core/gimpparamspecs-duplicate.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/app/core/gimpparamspecs-duplicate.c b/app/core/gimpparamspecs-duplicate.c +index c0b7426..2efaf23 100644 +--- a/app/core/gimpparamspecs-duplicate.c ++++ b/app/core/gimpparamspecs-duplicate.c +@@ -67,7 +67,7 @@ gimp_param_spec_duplicate (GParamSpec *pspec) + spec->default_value, + pspec->flags); + +- if (GEGL_IS_PARAM_SPEC_MULTILINE (pspec)) ++ if (gegl_param_spec_get_property_key(pspec, "multiline")) + { + g_param_spec_set_qdata (new, multiline_quark, + GINT_TO_POINTER (TRUE)); +-- +2.13.2 + diff --git a/meta-oe/recipes-graphics/gimp/gimp_2.8.20.bb b/meta-oe/recipes-graphics/gimp/gimp_2.8.22.bb similarity index 70% rename from meta-oe/recipes-graphics/gimp/gimp_2.8.20.bb rename to meta-oe/recipes-graphics/gimp/gimp_2.8.22.bb index 9588ab0..1ecd2b7 100644 --- a/meta-oe/recipes-graphics/gimp/gimp_2.8.20.bb +++ b/meta-oe/recipes-graphics/gimp/gimp_2.8.22.bb @@ -27,13 +27,13 @@ DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libxmu libxpm', '', inherit gnome gtk-doc -SRC_URI = " \ - http://ftp.gimp.org/pub/gimp/v2.8/gimp-${PV}.tar.bz2 \ - file://0001-configure-ac-do-not-check-for-freetype-config.patch \ - file://bump_Babl-GEGL_versions.patch \ -" -SRC_URI[md5sum] = "d405640c426b234d6efc36fb4f5bae57" -SRC_URI[sha256sum] = "939ca1df70be865c672ffd654f4e20f188121d01601c5c90237214101533c805" +SRC_URI = "http://ftp.gimp.org/pub/gimp/v2.8/gimp-${PV}.tar.bz2 \ + file://0001-configure-ac-do-not-check-for-freetype-config.patch \ + file://bump_Babl-GEGL_versions.patch \ + file://0003-Fix-use-of-gegl-API.patch \ + " +SRC_URI[md5sum] = "7e4fd7a53b1d3c32dff642ab1a94b44d" +SRC_URI[sha256sum] = "9187a35cc52b110d78124d7b27b68a68ade14a794c2721314bac6134d2a5638a" EXTRA_OECONF = "--disable-python \ --without-webkit \ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:05:11 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:05:11 +0000 Subject: [oe-commits] [meta-openembedded] 20/26: assimp: Upgrade to 3.3.1 release In-Reply-To: <149889629161.4069.3272344626900353935@git.openembedded.org> References: <149889629161.4069.3272344626900353935@git.openembedded.org> Message-ID: <20170701080452.85D1F2336A8@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit e6ffb3c37800684a8b764ca4543e179c889514c1 Author: Khem Raj AuthorDate: Fri Jun 30 05:59:51 2017 -0700 assimp: Upgrade to 3.3.1 release License years changed see https://github.com/assimp/assimp/commit/189340a99f335cc28cae7c39eaee434322a54548 Fix build on big-endian architectures Use Assimp namespace to fix build for big-endian architectures Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...001-Fix-build-on-big-endian-architectures.patch | 29 ++++++++++++++++++++++ .../assimp/{assimp_3.1.1.bb => assimp_3.3.1.bb} | 10 +++++--- 2 files changed, 35 insertions(+), 4 deletions(-) diff --git a/meta-oe/recipes-graphics/assimp/assimp/0001-Fix-build-on-big-endian-architectures.patch b/meta-oe/recipes-graphics/assimp/assimp/0001-Fix-build-on-big-endian-architectures.patch new file mode 100644 index 0000000..c94bb3d --- /dev/null +++ b/meta-oe/recipes-graphics/assimp/assimp/0001-Fix-build-on-big-endian-architectures.patch @@ -0,0 +1,29 @@ +From 614475dcac1cee4d63b764282c578672bc060321 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 29 Jun 2017 14:23:00 -0700 +Subject: [PATCH] Fix build on big-endian architectures + +see +https://github.com/assimp/assimp/pull/986 + +Signed-off-by: Khem Raj +--- + code/glTFAsset.inl | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/code/glTFAsset.inl b/code/glTFAsset.inl +index d52c825c..470246c9 100644 +--- a/code/glTFAsset.inl ++++ b/code/glTFAsset.inl +@@ -40,6 +40,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + #include "StringUtils.h" + ++using namespace Assimp; ++ + namespace glTF { + + namespace { +-- +2.13.2 + diff --git a/meta-oe/recipes-graphics/assimp/assimp_3.1.1.bb b/meta-oe/recipes-graphics/assimp/assimp_3.3.1.bb similarity index 50% rename from meta-oe/recipes-graphics/assimp/assimp_3.1.1.bb rename to meta-oe/recipes-graphics/assimp/assimp_3.3.1.bb index 4da3dc2..064683a 100644 --- a/meta-oe/recipes-graphics/assimp/assimp_3.1.1.bb +++ b/meta-oe/recipes-graphics/assimp/assimp_3.3.1.bb @@ -3,13 +3,15 @@ DESCRIPTION = "Open Asset Import Library is a portable Open Source library to im HOMEPAGE = "http://www.assimp.org/" SECTION = "devel" LICENSE = "BSD" -LIC_FILES_CHKSUM = "file://LICENSE;md5=bc4231a2268da8fc55525ad119638a87" +LIC_FILES_CHKSUM = "file://LICENSE;md5=4cd8c0aedc7a0623476669377d7eeda8" DEPENDS = "boost virtual/libgl" -SRC_URI = "http://sourceforge.net/projects/${BPN}/files/${BPN}-3.1/${BPN}-${PV}_no_test_models.zip" -SRC_URI[md5sum] = "ccd4788204509da58a3a53c7aeda7a8b" -SRC_URI[sha256sum] = "da9827876f10a8b447270368753392cfd502e70a2e9d1361554e5dfcb1fede9e" +SRCREV = "a8673d4828df5107186f49e5e4efa5316b727482" +SRC_URI = "git://github.com/assimp/assimp \ + file://0001-Fix-build-on-big-endian-architectures.patch \ + " +S = "${WORKDIR}/git" inherit cmake -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:05:14 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:05:14 +0000 Subject: [oe-commits] [meta-openembedded] 23/26: libtorrent: Implement 64bit atomics for mips32 In-Reply-To: <149889629161.4069.3272344626900353935@git.openembedded.org> References: <149889629161.4069.3272344626900353935@git.openembedded.org> Message-ID: <20170701080452.9B1E82336BD@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 220ffd850727193562ad73ee5c38cd0cf8ffa9dc Author: Khem Raj AuthorDate: Fri Jun 30 05:59:54 2017 -0700 libtorrent: Implement 64bit atomics for mips32 Fixes build errors e.g. | /mnt/a/oe/build/tmp/work/mips32r2-bec-linux/rtorrent/0.9.6+gitAUTOINC+226e670dec-r0/recipe-sysroot/usr/lib/../lib/libtorrent.so: undefined reference to `__sync_fetch_and_and_8' | /mnt/a/oe/build/tmp/work/mips32r2-bec-linux/rtorrent/0.9.6+gitAUTOINC+226e670dec-r0/recipe-sysroot/usr/lib/../lib/libtorrent.so: undefined reference to `__sync_add_and_fetch_8' | collect2: error: ld returned 1 exit status Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../0001-implement-64bit-atomic-for-mips.patch | 263 +++++++++++++++++++++ .../libtorrent/libtorrent_git.bb | 5 +- 2 files changed, 266 insertions(+), 2 deletions(-) diff --git a/meta-oe/recipes-connectivity/libtorrent/libtorrent/0001-implement-64bit-atomic-for-mips.patch b/meta-oe/recipes-connectivity/libtorrent/libtorrent/0001-implement-64bit-atomic-for-mips.patch new file mode 100644 index 0000000..84e0772 --- /dev/null +++ b/meta-oe/recipes-connectivity/libtorrent/libtorrent/0001-implement-64bit-atomic-for-mips.patch @@ -0,0 +1,263 @@ +From d7b6df5808e7bef5930b61a82e880699a9f9e208 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 29 Jun 2017 15:39:19 -0700 +Subject: [PATCH] implement 64bit atomic for mips + +GCC does not provide 64bit atomics for mips32 + +Signed-off-by: Khem Raj +--- + src/Makefile.am | 1 + + src/atomic64.c | 228 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 229 insertions(+) + create mode 100644 src/atomic64.c + +diff --git a/src/Makefile.am b/src/Makefile.am +index 99aaace0..cbbbbee9 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -27,6 +27,7 @@ libtorrent_la_LIBADD = \ + utils/libsub_utils.la + + libtorrent_la_SOURCES = \ ++ atomic64.c \ + globals.cc \ + globals.h \ + manager.cc \ +diff --git a/src/atomic64.c b/src/atomic64.c +new file mode 100644 +index 00000000..f841b39b +--- /dev/null ++++ b/src/atomic64.c +@@ -0,0 +1,228 @@ ++/*===----- atomic64.c - Support functions for 64-bit atomic operations.-----=== ++ * ++ * The LLVM Compiler Infrastructure ++ * ++ * This file is dual licensed under the MIT and the University of Illinois Open ++ * Source Licenses. See LICENSE.TXT for details. ++ * ++ *===-----------------------------------------------------------------------=== ++ * ++ * atomic64.c defines a set of functions for performing atomic accesses on ++ * 64-bit memory locations. It also implements spinlock synchronization ++ * operations. ++ * ++ *===-----------------------------------------------------------------------=== ++ */ ++ ++#include ++#include ++ ++/* ++ * only need these on MIPS, since it lacks hardware 64-bit atomics, ++ * unlike x86 and ARM. ++ */ ++#if defined(__mips__) || defined(__mipsel__) ++ ++static void __spin_lock(volatile int *lock) { ++ while (__sync_lock_test_and_set(lock, 1)) ++ while (*lock) {} ++} ++ ++static void __spin_unlock(volatile int *lock) { ++ __sync_lock_release(lock); ++} ++ ++/* ++ * Make sure the lock is on its own cache line to prevent false sharing. ++ * Put it inside a struct that is aligned and padded to the typical MIPS ++ * cacheline which is 32 bytes. ++ */ ++static struct { ++ int lock; ++ char pad[32 - sizeof(int)]; ++} __attribute__((aligned (32))) lock = { 0 }; ++ ++ ++uint64_t __sync_fetch_and_add_8(volatile uint64_t *ptr, uint64_t val) { ++ uint64_t ret; ++ ++ __spin_lock(&lock.lock); ++ ++ ret = *ptr; ++ *ptr = ret + val; ++ ++ __spin_unlock(&lock.lock); ++ ++ return ret; ++} ++ ++uint64_t __sync_fetch_and_sub_8(volatile uint64_t *ptr, uint64_t val) { ++ uint64_t ret; ++ ++ __spin_lock(&lock.lock); ++ ++ ret = *ptr; ++ *ptr = ret - val; ++ ++ __spin_unlock(&lock.lock); ++ ++ return ret; ++} ++ ++uint64_t __sync_fetch_and_and_8(volatile uint64_t *ptr, uint64_t val) { ++ uint64_t ret; ++ ++ __spin_lock(&lock.lock); ++ ++ ret = *ptr; ++ *ptr = ret & val; ++ ++ __spin_unlock(&lock.lock); ++ ++ return ret; ++} ++ ++uint64_t __sync_fetch_and_or_8(volatile uint64_t *ptr, uint64_t val) { ++ uint64_t ret; ++ ++ __spin_lock(&lock.lock); ++ ++ ret = *ptr; ++ *ptr = ret | val; ++ ++ __spin_unlock(&lock.lock); ++ ++ return ret; ++} ++ ++uint64_t __sync_fetch_and_xor_8(volatile uint64_t *ptr, uint64_t val) { ++ uint64_t ret; ++ ++ __spin_lock(&lock.lock); ++ ++ ret = *ptr; ++ *ptr = ret ^ val; ++ ++ __spin_unlock(&lock.lock); ++ ++ return ret; ++} ++ ++uint64_t __sync_add_and_fetch_8(volatile uint64_t *ptr, uint64_t val) { ++ uint64_t ret; ++ ++ __spin_lock(&lock.lock); ++ ++ ret = *ptr + val; ++ *ptr = ret; ++ ++ __spin_unlock(&lock.lock); ++ ++ return ret; ++} ++ ++uint64_t __sync_sub_and_fetch_8(volatile uint64_t *ptr, uint64_t val) { ++ uint64_t ret; ++ ++ __spin_lock(&lock.lock); ++ ++ ret = *ptr - val; ++ *ptr = ret; ++ ++ __spin_unlock(&lock.lock); ++ ++ return ret; ++} ++ ++uint64_t __sync_and_and_fetch_8(volatile uint64_t *ptr, uint64_t val) { ++ uint64_t ret; ++ ++ __spin_lock(&lock.lock); ++ ++ ret = *ptr & val; ++ *ptr = ret; ++ ++ __spin_unlock(&lock.lock); ++ ++ return ret; ++} ++ ++uint64_t __sync_or_and_fetch_8(volatile uint64_t *ptr, uint64_t val) { ++ uint64_t ret; ++ ++ __spin_lock(&lock.lock); ++ ++ ret = *ptr | val; ++ *ptr = ret; ++ ++ __spin_unlock(&lock.lock); ++ ++ return ret; ++} ++ ++uint64_t __sync_xor_and_fetch_8(volatile uint64_t *ptr, uint64_t val) { ++ uint64_t ret; ++ ++ __spin_lock(&lock.lock); ++ ++ ret = *ptr ^ val; ++ *ptr = ret; ++ ++ __spin_unlock(&lock.lock); ++ ++ return ret; ++} ++ ++bool __sync_bool_compare_and_swap_8(volatile uint64_t *ptr, ++ uint64_t oldval, uint64_t newval) { ++ bool ret = false; ++ ++ __spin_lock(&lock.lock); ++ ++ if (*ptr == oldval) { ++ *ptr = newval; ++ ret = true; ++ } ++ ++ __spin_unlock(&lock.lock); ++ ++ return ret; ++} ++ ++uint64_t __sync_val_compare_and_swap_8(volatile uint64_t *ptr, ++ uint64_t oldval, uint64_t newval) { ++ uint64_t ret; ++ ++ __spin_lock(&lock.lock); ++ ++ ret = *ptr; ++ if (ret == oldval) ++ *ptr = newval; ++ ++ __spin_unlock(&lock.lock); ++ ++ return ret; ++} ++ ++uint64_t __sync_lock_test_and_set_8(volatile uint64_t *ptr, uint64_t val) { ++ uint64_t ret; ++ ++ __spin_lock(&lock.lock); ++ ++ ret = *ptr; ++ *ptr = val; ++ ++ __spin_unlock(&lock.lock); ++ ++ return ret; ++} ++ ++void __sync_lock_release_8(volatile uint64_t *ptr) { ++ __spin_lock(&lock.lock); ++ ++ *ptr = 0; ++ ++ __spin_unlock(&lock.lock); ++} ++ ++#endif +-- +2.13.2 + diff --git a/meta-oe/recipes-connectivity/libtorrent/libtorrent_git.bb b/meta-oe/recipes-connectivity/libtorrent/libtorrent_git.bb index aaebc5f..0febebd 100644 --- a/meta-oe/recipes-connectivity/libtorrent/libtorrent_git.bb +++ b/meta-oe/recipes-connectivity/libtorrent/libtorrent_git.bb @@ -7,8 +7,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833" DEPENDS = "zlib libsigc++-2.0 openssl cppunit" SRC_URI = "git://github.com/rakshasa/libtorrent \ - file://don-t-run-code-while-configuring-package.patch \ -" + file://don-t-run-code-while-configuring-package.patch \ + file://0001-implement-64bit-atomic-for-mips.patch \ + " SRCREV = "c167c5a9e0bcf0df23ae5efd91396aae0e37eb87" PV = "0.13.6+git${SRCPV}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:05:09 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:05:09 +0000 Subject: [oe-commits] [meta-openembedded] 18/26: dietsplash: Fix build on mips In-Reply-To: <149889629161.4069.3272344626900353935@git.openembedded.org> References: <149889629161.4069.3272344626900353935@git.openembedded.org> Message-ID: <20170701080452.77D9923367D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 73ccbee0fb8badb3c34ddb7e0bbdcbb156860a0c Author: Khem Raj AuthorDate: Fri Jun 30 05:59:49 2017 -0700 dietsplash: Fix build on mips Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...figure.ac-Do-not-demand-linker-hash-style.patch | 28 ++++++++++++++++++++++ .../recipes-graphics/dietsplash/dietsplash_git.bb | 6 +++-- 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/meta-oe/recipes-graphics/dietsplash/dietsplash/0001-configure.ac-Do-not-demand-linker-hash-style.patch b/meta-oe/recipes-graphics/dietsplash/dietsplash/0001-configure.ac-Do-not-demand-linker-hash-style.patch new file mode 100644 index 0000000..87e8637 --- /dev/null +++ b/meta-oe/recipes-graphics/dietsplash/dietsplash/0001-configure.ac-Do-not-demand-linker-hash-style.patch @@ -0,0 +1,28 @@ +From 65e8e3c9c69f41778b6308c2f8f3262c82c6f3e1 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 29 Jun 2017 13:57:53 -0700 +Subject: [PATCH] configure.ac: Do not demand linker hash-style + +This helps fixing on architectures e.g. mips where gnu hash +is not supported + +Signed-off-by: Khem Raj +--- + configure.ac | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index e1dba23..7bcc039 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -65,7 +65,6 @@ CC_CHECK_CFLAGS_APPEND([ \ + -ffunction-sections \ + -fdata-sections \ + -Wl,-O1 \ +- -Wl,--hash-style=gnu \ + -Wl,--as-needed \ + -Wl,--gc-sections]) + +-- +2.13.2 + diff --git a/meta-oe/recipes-graphics/dietsplash/dietsplash_git.bb b/meta-oe/recipes-graphics/dietsplash/dietsplash_git.bb index a88caf8..32f0815 100644 --- a/meta-oe/recipes-graphics/dietsplash/dietsplash_git.bb +++ b/meta-oe/recipes-graphics/dietsplash/dietsplash_git.bb @@ -7,8 +7,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" PV = "0.3" PR = "r1" -SRCREV = "f7aadacbe3c19e37ea938e00a5141b577fb74a5e" -SRC_URI = "git://github.com/lucasdemarchi/dietsplash.git" +SRCREV = "ef2e1a390e768e21e6a6268977580ee129a96633" +SRC_URI = "git://github.com/lucasdemarchi/dietsplash.git \ + file://0001-configure.ac-Do-not-demand-linker-hash-style.patch \ + " inherit autotools -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:05:12 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:05:12 +0000 Subject: [oe-commits] [meta-openembedded] 21/26: synergy: Update to 1.8.8 release In-Reply-To: <149889629161.4069.3272344626900353935@git.openembedded.org> References: <149889629161.4069.3272344626900353935@git.openembedded.org> Message-ID: <20170701080452.8C6C32336BC@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 14c5780bd2ad4589d9f9bf1dc89e1aedcfd6e23f Author: Khem Raj AuthorDate: Fri Jun 30 05:59:52 2017 -0700 synergy: Update to 1.8.8 release Change license to reflect openSSL linking exception https://github.com/symless/synergy/commit/a8472d2eb2106a0d1503d25369e6bdc6e3b88c7d and copyright changes https://github.com/symless/synergy/commit/c3c0913633041584fa41180640d2e4c83fa92820 Point to new(moved) SRC_URI Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- meta-oe/recipes-support/synergy/synergy_git.bb | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/meta-oe/recipes-support/synergy/synergy_git.bb b/meta-oe/recipes-support/synergy/synergy_git.bb index 1c55a8a..68f0387 100644 --- a/meta-oe/recipes-support/synergy/synergy_git.bb +++ b/meta-oe/recipes-support/synergy/synergy_git.bb @@ -1,7 +1,7 @@ SUMMARY = "Synergy - control multiple computers with one keyboard and mouse" HOMEPAGE = "http://synergy-project.org" -LIC_FILES_CHKSUM = "file://LICENSE;md5=0f366945b209c5523e39889f636af00a" -LICENSE = "GPL-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=d2ba51ca68e055566aade24662f9eb41" +LICENSE = "GPL-2.0-with-OpenSSL-exception" SECTION = "x11/utils" DEPENDS = "virtual/libx11 libxtst libxinerama curl openssl" @@ -10,11 +10,11 @@ do_unpack_extra[depends] = "unzip-native:do_populate_sysroot" # depends on virtual/libx11 REQUIRED_DISTRO_FEATURES = "x11" -SRC_URI = "git://github.com/synergy/synergy.git;protocol=http" +SRC_URI = "git://github.com/symless/synergy.git;protocol=http" -# Version 1.7.4-rc8 -SRCREV ?= "588fb4b805dd452556d05dbc03fe29ea5b4e43c0" -PV = "1.7.3+1.7.4-rc8+${SRCPV}" +# Version 1.8.8-stable +SRCREV ?= "c30301e23424db1125664da17deb8c3aa6aec52d" +PV = "1.8.8+${SRCPV}" S = "${WORKDIR}/git" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:05:13 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:05:13 +0000 Subject: [oe-commits] [meta-openembedded] 22/26: kodi: Update to 17.3 In-Reply-To: <149889629161.4069.3272344626900353935@git.openembedded.org> References: <149889629161.4069.3272344626900353935@git.openembedded.org> Message-ID: <20170701080452.9485923367C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit bf198f6c36b739842fc2cbb73f7060ab5a7c8ec6 Author: Khem Raj AuthorDate: Fri Jun 30 05:59:53 2017 -0700 kodi: Update to 17.3 link with libatomic on mips Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb b/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb index 23f09af..19806a1 100644 --- a/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb +++ b/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb @@ -62,11 +62,11 @@ DEPENDS = " \ PROVIDES = "xbmc" -SRCREV = "661dd08d221f5b2bf509a696a6aca5ee7d45bb27" -BASEPV = "17.1" -PV = "${BASEPV}+gitr${SRCPV}" +SRCREV = "6abeebd5ba371547c8f04272296433f5e4e28e86" +PV = "17.3+gitr${SRCPV}" +ADDONSPV = "17.1" SRC_URI = "git://github.com/xbmc/xbmc.git;branch=Krypton \ - https://repo.voidlinux.eu/distfiles/${BPN}-${BASEPV}-generated-addons.tar.xz;name=addons;unpack=0 \ + https://repo.voidlinux.eu/distfiles/${BPN}-${ADDONSPV}-generated-addons.tar.xz;name=addons;unpack=0 \ file://0003-configure-don-t-try-to-run-stuff-to-find-tinyxml.patch \ file://0004-handle-SIGTERM.patch \ file://0005-add-support-to-read-frequency-output-if-using-intel-.patch \ @@ -130,6 +130,9 @@ FULL_OPTIMIZATION_armv7a = "-fexpensive-optimizations -fomit-frame-pointer -O3 - FULL_OPTIMIZATION_armv7ve = "-fexpensive-optimizations -fomit-frame-pointer -O3 -ffast-math" BUILD_OPTIMIZATION = "${FULL_OPTIMIZATION}" +LDFLAGS_append_mips = " -latomic" +LDFLAGS_append_mipsel = " -latomic" + EXTRA_OECONF_append = " LIBTOOL=${STAGING_BINDIR_CROSS}/${HOST_SYS}-libtool" # for python modules @@ -145,7 +148,7 @@ def enable_glew(bb, d): return "" do_configure() { - tar xf ${WORKDIR}/${BPN}-${BASEPV}-generated-addons.tar.xz -C ${S}/ + tar xf ${WORKDIR}/${BPN}-${ADDONSPV}-generated-addons.tar.xz -C ${S}/ ( for i in $(find ${S} -name "configure.*" ) ; do cd $(dirname $i) && gnu-configize --force || true -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:05:08 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:05:08 +0000 Subject: [oe-commits] [meta-openembedded] 17/26: fluentbit: Fix parallel build race In-Reply-To: <149889629161.4069.3272344626900353935@git.openembedded.org> References: <149889629161.4069.3272344626900353935@git.openembedded.org> Message-ID: <20170701080452.70EDF2336BA@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 8ddbec665e5fdef79f168812cf52561910310ebf Author: Khem Raj AuthorDate: Fri Jun 30 05:59:48 2017 -0700 fluentbit: Fix parallel build race Sometimes with high parallism the build fails like below | In file included from /mnt/a/oe/workspace/sources/fluentbit/include/fluent-bit/flb_thread_libco.h:24:0, | from /mnt/a/oe/workspace/sources/fluentbit/include/fluent-bit/flb_thread.h:41, | from /mnt/a/oe/workspace/sources/fluentbit/include/fluent-bit/flb_io.h:26, | from /mnt/a/oe/workspace/sources/fluentbit/include/fluent-bit/flb_output.h:34, | from /mnt/a/oe/workspace/sources/fluentbit/include/fluent-bit/flb_plugin_proxy.h:25, | from /mnt/a/oe/workspace/sources/fluentbit/src/proxy/go/go.c:22: | /mnt/a/oe/workspace/sources/fluentbit/include/fluent-bit/flb_mem.h:31:10: fatal error: jemalloc/jemalloc.h: No such file or directory | #include | ^~~~~~~~~~~~~~~~~~~~~ Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...proxy-go-Add-missing-dependency-on-jemall.patch | 24 ++++++++++++++++++++++ .../fluentbit/fluentbit_0.11.11.bb | 3 +++ 2 files changed, 27 insertions(+) diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/0001-flb-plugin-proxy-go-Add-missing-dependency-on-jemall.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/0001-flb-plugin-proxy-go-Add-missing-dependency-on-jemall.patch new file mode 100644 index 0000000..90242ae --- /dev/null +++ b/meta-oe/recipes-extended/fluentbit/fluentbit/0001-flb-plugin-proxy-go-Add-missing-dependency-on-jemall.patch @@ -0,0 +1,24 @@ +From 84d70b6bc744cd348e66a0bc6c7958cdfa9ce670 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 29 Jun 2017 12:56:21 -0700 +Subject: [PATCH] flb-plugin-proxy-go: Add missing dependency on jemalloc + +Signed-off-by: Khem Raj +--- + src/proxy/go/CMakeLists.txt | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/proxy/go/CMakeLists.txt b/src/proxy/go/CMakeLists.txt +index 3273346..02a54c2 100644 +--- a/src/proxy/go/CMakeLists.txt ++++ b/src/proxy/go/CMakeLists.txt +@@ -2,3 +2,6 @@ set(src + go.c) + + add_library(flb-plugin-proxy-go STATIC ${src}) ++if(FLB_JEMALLOC) ++ target_link_libraries(flb-plugin-proxy-go libjemalloc) ++endif() +-- +2.13.2 + diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit_0.11.11.bb b/meta-oe/recipes-extended/fluentbit/fluentbit_0.11.11.bb index 46c47fd..83818c8 100644 --- a/meta-oe/recipes-extended/fluentbit/fluentbit_0.11.11.bb +++ b/meta-oe/recipes-extended/fluentbit/fluentbit_0.11.11.bb @@ -3,6 +3,7 @@ HOMEPAGE = "http://fluentbit.io" BUGTRACKER = "https://github.com/fluent/fluent-bit/issues" SRC_URI = "http://fluentbit.io/releases/0.11/fluent-bit-${PV}.tar.gz \ + file://0001-flb-plugin-proxy-go-Add-missing-dependency-on-jemall.patch \ file://0002-msgpack-Add-comment-for-intended-fallthrough.patch \ " SRC_URI[md5sum] = "7bce8091c41fb6412b7fe0185b3cb8d6" @@ -21,3 +22,5 @@ inherit cmake systemd EXTRA_OECMAKE = "-DGNU_HOST=${HOST_SYS} -DFLB_ALL=ON -DFLB_TD=1" SYSTEMD_SERVICE_${PN} = "fluent-bit.service" + +TARGET_CC_ARCH_append = " ${SELECTED_OPTIMIZATION}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:05:10 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:05:10 +0000 Subject: [oe-commits] [meta-openembedded] 19/26: libsrtp: Fix build on mips In-Reply-To: <149889629161.4069.3272344626900353935@git.openembedded.org> References: <149889629161.4069.3272344626900353935@git.openembedded.org> Message-ID: <20170701080452.7DF3E2336A6@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 17afe08e2585d77a49053a7cdf225da67eadf369 Author: Khem Raj AuthorDate: Fri Jun 30 05:59:50 2017 -0700 libsrtp: Fix build on mips Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../0001-Rename-conflicting-variable-mips.patch | 73 ++++++++++++++++++++++ .../recipes-support/libsrtp/libsrtp_1.5.2.bb | 4 +- 2 files changed, 76 insertions(+), 1 deletion(-) diff --git a/meta-multimedia/recipes-support/libsrtp/libsrtp/0001-Rename-conflicting-variable-mips.patch b/meta-multimedia/recipes-support/libsrtp/libsrtp/0001-Rename-conflicting-variable-mips.patch new file mode 100644 index 0000000..b56c789 --- /dev/null +++ b/meta-multimedia/recipes-support/libsrtp/libsrtp/0001-Rename-conflicting-variable-mips.patch @@ -0,0 +1,73 @@ +From 3dc8a678a844247d0afcf7e30fb3cbd5ccbd828f Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 29 Jun 2017 14:05:06 -0700 +Subject: [PATCH] Rename conflicting variable 'mips' + +Fixes +test/srtp_driver.c:344:12: error: expected identifier or '(' before numeric constant + double mips = mips_estimate(1000000000, &ignore); + +Signed-off-by: Khem Raj +--- + test/srtp_driver.c | 20 ++++++++++---------- + 1 file changed, 10 insertions(+), 10 deletions(-) + +diff --git a/test/srtp_driver.c b/test/srtp_driver.c +index 8872971..d38ea19 100644 +--- a/test/srtp_driver.c ++++ b/test/srtp_driver.c +@@ -341,7 +341,7 @@ main (int argc, char *argv[]) { + if (do_codec_timing) { + srtp_policy_t policy; + int ignore; +- double mips = mips_estimate(1000000000, &ignore); ++ double est = mips_estimate(1000000000, &ignore); + + crypto_policy_set_rtp_default(&policy.rtp); + crypto_policy_set_rtcp_default(&policy.rtcp); +@@ -353,33 +353,33 @@ main (int argc, char *argv[]) { + policy.allow_repeat_tx = 0; + policy.next = NULL; + +- printf("mips estimate: %e\n", mips); ++ printf("mips estimate: %e\n", est); + + printf("testing srtp processing time for voice codecs:\n"); + printf("codec\t\tlength (octets)\t\tsrtp instructions/second\n"); + printf("G.711\t\t%d\t\t\t%e\n", 80, +- (double) mips * (80 * 8) / ++ (double) est * (80 * 8) / + srtp_bits_per_second(80, &policy) / .01 ); + printf("G.711\t\t%d\t\t\t%e\n", 160, +- (double) mips * (160 * 8) / ++ (double) est * (160 * 8) / + srtp_bits_per_second(160, &policy) / .02); + printf("G.726-32\t%d\t\t\t%e\n", 40, +- (double) mips * (40 * 8) / ++ (double) est * (40 * 8) / + srtp_bits_per_second(40, &policy) / .01 ); + printf("G.726-32\t%d\t\t\t%e\n", 80, +- (double) mips * (80 * 8) / ++ (double) est * (80 * 8) / + srtp_bits_per_second(80, &policy) / .02); + printf("G.729\t\t%d\t\t\t%e\n", 10, +- (double) mips * (10 * 8) / ++ (double) est * (10 * 8) / + srtp_bits_per_second(10, &policy) / .01 ); + printf("G.729\t\t%d\t\t\t%e\n", 20, +- (double) mips * (20 * 8) / ++ (double) est * (20 * 8) / + srtp_bits_per_second(20, &policy) / .02 ); + printf("Wideband\t%d\t\t\t%e\n", 320, +- (double) mips * (320 * 8) / ++ (double) est * (320 * 8) / + srtp_bits_per_second(320, &policy) / .01 ); + printf("Wideband\t%d\t\t\t%e\n", 640, +- (double) mips * (640 * 8) / ++ (double) est * (640 * 8) / + srtp_bits_per_second(640, &policy) / .02 ); + } + +-- +2.13.2 + diff --git a/meta-multimedia/recipes-support/libsrtp/libsrtp_1.5.2.bb b/meta-multimedia/recipes-support/libsrtp/libsrtp_1.5.2.bb index 3249828..8abaa12 100644 --- a/meta-multimedia/recipes-support/libsrtp/libsrtp_1.5.2.bb +++ b/meta-multimedia/recipes-support/libsrtp/libsrtp_1.5.2.bb @@ -5,7 +5,9 @@ SECTION = "libs" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM = "file://LICENSE;md5=15bc16b9d2e305974dde47e733883714" -SRC_URI = "https://github.com/cisco/libsrtp/archive/v${PV}.tar.gz;downloadfilename=${BP}.tar.gz" +SRC_URI = "https://github.com/cisco/libsrtp/archive/v${PV}.tar.gz;downloadfilename=${BP}.tar.gz \ + file://0001-Rename-conflicting-variable-mips.patch \ + " SRC_URI[md5sum] = "2309aa6027992810a4285b042c71e644" SRC_URI[sha256sum] = "86e1efe353397c0751f6bdd709794143bd1b76494412860f16ff2b6d9c304eda" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 1 08:05:16 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 01 Jul 2017 08:05:16 +0000 Subject: [oe-commits] [meta-openembedded] 25/26: uim: Add support for aarch64 In-Reply-To: <149889629161.4069.3272344626900353935@git.openembedded.org> References: <149889629161.4069.3272344626900353935@git.openembedded.org> Message-ID: <20170701080452.A81212336BF@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit b7dac59eea21b6acd06e5e13e729f9198c5e56c1 Author: Khem Raj AuthorDate: Fri Jun 30 05:59:56 2017 -0700 uim: Add support for aarch64 Backport patch from https://github.com/uim/libgcroots/pull/1 Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../uim/uim/0001-Add-support-for-aarch64.patch | 82 ++++++++++++++++++++++ meta-oe/recipes-support/uim/uim_1.8.6.bb | 1 + 2 files changed, 83 insertions(+) diff --git a/meta-oe/recipes-support/uim/uim/0001-Add-support-for-aarch64.patch b/meta-oe/recipes-support/uim/uim/0001-Add-support-for-aarch64.patch new file mode 100644 index 0000000..4b12494 --- /dev/null +++ b/meta-oe/recipes-support/uim/uim/0001-Add-support-for-aarch64.patch @@ -0,0 +1,82 @@ +From 24fd52cc45f7b5ff45afe072f5fbe66485df8c8e Mon Sep 17 00:00:00 2001 +From: Andreas Schwab +Date: Wed, 29 Oct 2014 14:18:28 +0100 +Subject: [PATCH] Add support for aarch64 + +* include/private/gcconfig.h: Add support for aarch64. +--- + sigscheme/libgcroots/include/private/gcconfig.h | 37 +++++++++++++++++++++++++ + 1 file changed, 37 insertions(+) + +diff --git a/sigscheme/libgcroots/include/private/gcconfig.h b/sigscheme/libgcroots/include/private/gcconfig.h +index 4d42b03..0f13db6 100644 +--- a/sigscheme/libgcroots/include/private/gcconfig.h ++++ b/sigscheme/libgcroots/include/private/gcconfig.h +@@ -62,6 +62,13 @@ + # endif + + /* Determine the machine type: */ ++# if defined(__aarch64__) ++# define AARCH64 ++# if !defined(LINUX) ++# define NOSYS ++# define mach_type_known ++# endif ++# endif + # if defined(__arm__) || defined(__thumb__) + # define ARM32 + # if !defined(LINUX) && !defined(NETBSD) +@@ -231,6 +238,10 @@ + # define IA64 + # define mach_type_known + # endif ++# if defined(LINUX) && defined(__aarch64__) ++# define AARCH64 ++# define mach_type_known ++# endif + # if defined(LINUX) && defined(__arm__) + # define ARM32 + # define mach_type_known +@@ -504,6 +515,7 @@ + /* running Amdahl UTS4 */ + /* S390 ==> 390-like machine */ + /* running LINUX */ ++ /* AARCH64 ==> ARM AArch64 */ + /* ARM32 ==> Intel StrongARM */ + /* IA64 ==> Intel IPF */ + /* (e.g. Itanium) */ +@@ -1724,6 +1736,31 @@ + # endif + # endif + ++# ifdef AARCH64 ++# define CPP_WORDSZ 64 ++# define MACH_TYPE "AARCH64" ++# define ALIGNMENT 8 ++# ifndef HBLKSIZE ++# define HBLKSIZE 4096 ++# endif ++# ifdef LINUX ++# define OS_TYPE "LINUX" ++# define LINUX_STACKBOTTOM ++# define DYNAMIC_LOADING ++ extern int __data_start[]; ++# define DATASTART ((ptr_t)__data_start) ++ extern char _end[]; ++# define DATAEND ((ptr_t)(&_end)) ++# endif ++# ifdef NOSYS ++ /* __data_start is usually defined in the target linker script. */ ++ extern int __data_start[]; ++# define DATASTART ((ptr_t)__data_start) ++ extern void *__stack_base__; ++# define STACKBOTTOM ((ptr_t)__stack_base__) ++# endif ++# endif ++ + # ifdef ARM32 + # define CPP_WORDSZ 32 + # define MACH_TYPE "ARM32" +-- +2.13.2 + diff --git a/meta-oe/recipes-support/uim/uim_1.8.6.bb b/meta-oe/recipes-support/uim/uim_1.8.6.bb index 76a4125..ed846b9 100644 --- a/meta-oe/recipes-support/uim/uim_1.8.6.bb +++ b/meta-oe/recipes-support/uim/uim_1.8.6.bb @@ -8,6 +8,7 @@ SRC_URI = "http://uim.googlecode.com/files/uim-${PV}.tar.bz2" SRC_URI_append_class-target = " file://uim-module-manager.patch \ file://0001-fix-bug-for-cross-compile.patch \ + file://0001-Add-support-for-aarch64.patch \ " SRC_URI[md5sum] = "ecea4c597bab1fd4ba98ea84edcece59" SRC_URI[sha256sum] = "7b1ea803c73f3478917166f04f67cce6e45ad7ea5ab6df99b948c17eb1cb235f" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 3 12:03:07 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 03 Jul 2017 12:03:07 +0000 Subject: [oe-commits] [meta-openembedded] 02/09: tinymembench: Disable on mips64 In-Reply-To: <149908338571.24666.16150384640226191416@git.openembedded.org> References: <149908338571.24666.16150384640226191416@git.openembedded.org> Message-ID: <20170703120306.113092336C0@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 160c92fe628ebe41c58c8d56bb3cf1f888e29d14 Author: Khem Raj AuthorDate: Sat Jul 1 12:54:54 2017 -0700 tinymembench: Disable on mips64 Not yet supported Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- meta-oe/recipes-benchmark/tinymembench/tinymembench_git.bb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/meta-oe/recipes-benchmark/tinymembench/tinymembench_git.bb b/meta-oe/recipes-benchmark/tinymembench/tinymembench_git.bb index 5968d82..8cb59da 100644 --- a/meta-oe/recipes-benchmark/tinymembench/tinymembench_git.bb +++ b/meta-oe/recipes-benchmark/tinymembench/tinymembench_git.bb @@ -27,3 +27,7 @@ do_install() { #| {standard input}:82: Error: selected processor does not support Thumb mode `mla r3,r4,r3,r5' #| {standard input}:82: Error: unshifted register required -- `and r8,r7,r3,lsr#16' ARM_INSTRUCTION_SET = "arm" +# +# Does not work for 64bit mips. +# +COMPATIBLE_HOST = "^(?!mips64).*" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 3 12:03:05 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 03 Jul 2017 12:03:05 +0000 Subject: [oe-commits] [meta-openembedded] branch master-next updated (d855e3d -> 7798745) Message-ID: <149908338571.24666.16150384640226191416@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a change to branch master-next in repository meta-openembedded. from d855e3d openhpi: Fix build on 64bit platforms e.g. aarch64 new 553ca7d meson: Port pkgconfig-native patch to 0.40.1 new 160c92f tinymembench: Disable on mips64 new b952200 ltrace: Add mips64 support new 78c68a2 libtorrent: Link in 64bit atomics for ppc new 339f975 librcf: Define byteorder for powerpc machines new d6871e9 gperftools: Fix build on ppc new 116273f crossguid: Add recipe new 5b24757 kodi: User external crossguid new 7798745 ser2net: upgrade to version 3.4 The 9 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../recipes-mediacenter/kodi/kodi_17.bb | 4 +- .../recipes-support/crossguid/crossguid.bb | 25 + .../tinymembench/tinymembench_git.bb | 4 + ...efine-64bit-atomic-helpers-for-ppc-32-bit.patch | 30 + .../libtorrent/libtorrent_git.bb | 1 + .../ser2net/{ser2net_2.9.1.bb => ser2net_3.4.bb} | 4 +- .../librcf/0001-Check-for-__powerpc__-define.patch | 28 + meta-oe/recipes-devtools/librcf/librcf_2.2.0.0.bb | 3 +- .../0001-Add-support-for-mips64-n32-n64.patch | 1148 ++++++++++++++++++++ meta-oe/recipes-devtools/ltrace/ltrace_git.bb | 1 + .../meson/meson/native_bindir.patch | 71 ++ meta-oe/recipes-devtools/meson/meson_0.40.1.bb | 1 + ...Use-ucontext_t-instead-of-struct-ucontext.patch | 36 + .../recipes-support/gperftools/gperftools_2.5.bb | 3 +- 14 files changed, 1353 insertions(+), 6 deletions(-) create mode 100644 meta-multimedia/recipes-support/crossguid/crossguid.bb create mode 100644 meta-oe/recipes-connectivity/libtorrent/libtorrent/0001-Define-64bit-atomic-helpers-for-ppc-32-bit.patch rename meta-oe/recipes-connectivity/ser2net/{ser2net_2.9.1.bb => ser2net_3.4.bb} (71%) create mode 100644 meta-oe/recipes-devtools/librcf/librcf/0001-Check-for-__powerpc__-define.patch create mode 100644 meta-oe/recipes-devtools/ltrace/ltrace/0001-Add-support-for-mips64-n32-n64.patch create mode 100644 meta-oe/recipes-devtools/meson/meson/native_bindir.patch create mode 100644 meta-oe/recipes-support/gperftools/gperftools/0001-Use-ucontext_t-instead-of-struct-ucontext.patch -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 3 12:03:09 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 03 Jul 2017 12:03:09 +0000 Subject: [oe-commits] [meta-openembedded] 04/09: libtorrent: Link in 64bit atomics for ppc In-Reply-To: <149908338571.24666.16150384640226191416@git.openembedded.org> References: <149908338571.24666.16150384640226191416@git.openembedded.org> Message-ID: <20170703120306.231CE2336C3@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 78c68a2a8ebba36feb6ed36c2917544ffb3eb303 Author: Khem Raj AuthorDate: Sat Jul 1 13:15:14 2017 -0700 libtorrent: Link in 64bit atomics for ppc Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...efine-64bit-atomic-helpers-for-ppc-32-bit.patch | 30 ++++++++++++++++++++++ .../libtorrent/libtorrent_git.bb | 1 + 2 files changed, 31 insertions(+) diff --git a/meta-oe/recipes-connectivity/libtorrent/libtorrent/0001-Define-64bit-atomic-helpers-for-ppc-32-bit.patch b/meta-oe/recipes-connectivity/libtorrent/libtorrent/0001-Define-64bit-atomic-helpers-for-ppc-32-bit.patch new file mode 100644 index 0000000..4d09797 --- /dev/null +++ b/meta-oe/recipes-connectivity/libtorrent/libtorrent/0001-Define-64bit-atomic-helpers-for-ppc-32-bit.patch @@ -0,0 +1,30 @@ +From c9859a38a58996b8767a30e14febc03845f66f95 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 1 Jul 2017 13:10:53 -0700 +Subject: [PATCH] Define 64bit atomic helpers for ppc 32-bit + +Signed-off-by: Khem Raj +--- + src/atomic64.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/atomic64.c b/src/atomic64.c +index f841b39b..35c7c9d8 100644 +--- a/src/atomic64.c ++++ b/src/atomic64.c +@@ -18,10 +18,10 @@ + #include + + /* +- * only need these on MIPS, since it lacks hardware 64-bit atomics, ++ * only need these on MIPS & PPC32, since it lacks hardware 64-bit atomics, + * unlike x86 and ARM. + */ +-#if defined(__mips__) || defined(__mipsel__) ++#if defined(__mips__) || defined(__mipsel__) || defined(__powerpc__) + + static void __spin_lock(volatile int *lock) { + while (__sync_lock_test_and_set(lock, 1)) +-- +2.13.2 + diff --git a/meta-oe/recipes-connectivity/libtorrent/libtorrent_git.bb b/meta-oe/recipes-connectivity/libtorrent/libtorrent_git.bb index 0febebd..92e6528 100644 --- a/meta-oe/recipes-connectivity/libtorrent/libtorrent_git.bb +++ b/meta-oe/recipes-connectivity/libtorrent/libtorrent_git.bb @@ -9,6 +9,7 @@ DEPENDS = "zlib libsigc++-2.0 openssl cppunit" SRC_URI = "git://github.com/rakshasa/libtorrent \ file://don-t-run-code-while-configuring-package.patch \ file://0001-implement-64bit-atomic-for-mips.patch \ + file://0001-Define-64bit-atomic-helpers-for-ppc-32-bit.patch \ " SRCREV = "c167c5a9e0bcf0df23ae5efd91396aae0e37eb87" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 3 12:03:06 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 03 Jul 2017 12:03:06 +0000 Subject: [oe-commits] [meta-openembedded] 01/09: meson: Port pkgconfig-native patch to 0.40.1 In-Reply-To: <149908338571.24666.16150384640226191416@git.openembedded.org> References: <149908338571.24666.16150384640226191416@git.openembedded.org> Message-ID: <20170703120306.07F702336BF@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 553ca7dd16a89903b073067f18d8268ee18eacd2 Author: Ricardo Ribalda Delgado AuthorDate: Sat Jul 1 10:47:31 2017 +0200 meson: Port pkgconfig-native patch to 0.40.1 The update to 0.40.1 did not add this patch required for qt builds. Fixes: 163abe723deb ("meson: update Meson devtool to 0.40.1") Signed-off-by: Ricardo Ribalda Delgado Signed-off-by: Martin Jansa --- .../meson/meson/native_bindir.patch | 71 ++++++++++++++++++++++ meta-oe/recipes-devtools/meson/meson_0.40.1.bb | 1 + 2 files changed, 72 insertions(+) diff --git a/meta-oe/recipes-devtools/meson/meson/native_bindir.patch b/meta-oe/recipes-devtools/meson/meson/native_bindir.patch new file mode 100644 index 0000000..993e975 --- /dev/null +++ b/meta-oe/recipes-devtools/meson/meson/native_bindir.patch @@ -0,0 +1,71 @@ +There are some discussions upstream to merge this patch, but I presonaly believe +that is is OE only. https://github.com/mesonbuild/meson/issues/1849#issuecomment-303730323 + +Upstream-Status: Inappropriate [OE specific] +Signed-off-by: Ricardo Ribalda Delgado +diff --git a/mesonbuild/dependencies.py b/mesonbuild/dependencies.py +index 04a22f985941..3e33bc4a79e7 100644 +--- a/mesonbuild/dependencies.py ++++ b/mesonbuild/dependencies.py +@@ -95,7 +95,7 @@ class Dependency: + def need_threads(self): + return False + +- def get_pkgconfig_variable(self, variable_name): ++ def get_pkgconfig_variable(self, variable_name, use_native=False): + raise MesonException('Tried to get a pkg-config variable from a non-pkgconfig dependency.') + + class InternalDependency(Dependency): +@@ -224,8 +224,12 @@ class PkgConfigDependency(Dependency): + return s.format(self.__class__.__name__, self.name, self.is_found, + self.version_reqs) + +- def _call_pkgbin(self, args): +- p, out = Popen_safe([self.pkgbin] + args, env=os.environ)[0:2] ++ def _call_pkgbin(self, args, use_native=False): ++ if use_native: ++ pkgbin = [self.pkgbin + "-native"] ++ else: ++ pkgbin = [self.pkgbin] ++ p, out = Popen_safe(pkgbin + args, env=os.environ)[0:2] + return p.returncode, out.strip() + + def _set_cargs(self): +@@ -259,8 +263,8 @@ class PkgConfigDependency(Dependency): + self.is_libtool = True + self.libs.append(lib) + +- def get_pkgconfig_variable(self, variable_name): +- ret, out = self._call_pkgbin(['--variable=' + variable_name, self.name]) ++ def get_pkgconfig_variable(self, variable_name, use_native=False): ++ ret, out = self._call_pkgbin(['--variable=' + variable_name, self.name], use_native=use_native) + variable = '' + if ret != 0: + if self.required: +@@ -1091,7 +1095,7 @@ class QtBaseDependency(Dependency): + self.bindir = self.get_pkgconfig_host_bins(core) + if not self.bindir: + # If exec_prefix is not defined, the pkg-config file is broken +- prefix = core.get_pkgconfig_variable('exec_prefix') ++ prefix = core.get_pkgconfig_variable('exec_prefix', use_native=True) + if prefix: + self.bindir = os.path.join(prefix, 'bin') + +@@ -1202,7 +1206,7 @@ class Qt5Dependency(QtBaseDependency): + QtBaseDependency.__init__(self, 'qt5', env, kwargs) + + def get_pkgconfig_host_bins(self, core): +- return core.get_pkgconfig_variable('host_bins') ++ return core.get_pkgconfig_variable('host_bins', use_native=True) + + class Qt4Dependency(QtBaseDependency): + def __init__(self, env, kwargs): +@@ -1216,7 +1220,7 @@ class Qt4Dependency(QtBaseDependency): + applications = ['moc', 'uic', 'rcc', 'lupdate', 'lrelease'] + for application in applications: + try: +- return os.path.dirname(core.get_pkgconfig_variable('%s_location' % application)) ++ return os.path.dirname(core.get_pkgconfig_variable('%s_location' % application, use_native=True)) + except MesonException: + pass + diff --git a/meta-oe/recipes-devtools/meson/meson_0.40.1.bb b/meta-oe/recipes-devtools/meson/meson_0.40.1.bb index ab54b8c..14644ba 100644 --- a/meta-oe/recipes-devtools/meson/meson_0.40.1.bb +++ b/meta-oe/recipes-devtools/meson/meson_0.40.1.bb @@ -6,6 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=3b83ef96387f14655fc854ddc3c6bd57" SRC_URI = " \ git://github.com/mesonbuild/meson.git \ + file://native_bindir.patch \ " SRCREV = "b25d3e4d3f2b4d37029a507cc089bdde643c6240" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 3 12:03:08 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 03 Jul 2017 12:03:08 +0000 Subject: [oe-commits] [meta-openembedded] 03/09: ltrace: Add mips64 support In-Reply-To: <149908338571.24666.16150384640226191416@git.openembedded.org> References: <149908338571.24666.16150384640226191416@git.openembedded.org> Message-ID: <20170703120306.1C5F62336C1@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit b952200e88ec49389bd6bbba532b15af69e007e8 Author: Khem Raj AuthorDate: Sat Jul 1 12:54:55 2017 -0700 ltrace: Add mips64 support Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../0001-Add-support-for-mips64-n32-n64.patch | 1148 ++++++++++++++++++++ meta-oe/recipes-devtools/ltrace/ltrace_git.bb | 1 + 2 files changed, 1149 insertions(+) diff --git a/meta-oe/recipes-devtools/ltrace/ltrace/0001-Add-support-for-mips64-n32-n64.patch b/meta-oe/recipes-devtools/ltrace/ltrace/0001-Add-support-for-mips64-n32-n64.patch new file mode 100644 index 0000000..d0daf14 --- /dev/null +++ b/meta-oe/recipes-devtools/ltrace/ltrace/0001-Add-support-for-mips64-n32-n64.patch @@ -0,0 +1,1148 @@ +From 5f6dfafb80bdc2566fe91d5fde96769175fabf35 Mon Sep 17 00:00:00 2001 +From: Faraz Shahbazker +Date: Sat, 1 Jul 2017 10:56:59 -0700 +Subject: [PATCH] Add support for mips64 n32/n64 + +Signed-off-by: Khem Raj +--- +Upstream-Status: Pending +Source: http://lists.alioth.debian.org/pipermail/ltrace-devel/2015-May/001327.html + + backend.h | 8 + + ltrace-elf.c | 12 ++ + proc.h | 1 + + sysdeps/linux-gnu/mips/Makefile.am | 1 + + sysdeps/linux-gnu/mips/abi.c | 64 +++++++ + sysdeps/linux-gnu/mips/arch.h | 24 ++- + sysdeps/linux-gnu/mips/plt.c | 68 ++++++-- + sysdeps/linux-gnu/mips/signalent1.h | 52 ++++++ + sysdeps/linux-gnu/mips/syscallent1.h | 328 +++++++++++++++++++++++++++++++++++ + sysdeps/linux-gnu/mips/trace.c | 241 ++++++++++++++++++------- + sysdeps/linux-gnu/mksyscallent_mips | 9 +- + 11 files changed, 728 insertions(+), 80 deletions(-) + create mode 100644 sysdeps/linux-gnu/mips/abi.c + create mode 100644 sysdeps/linux-gnu/mips/signalent1.h + create mode 100644 sysdeps/linux-gnu/mips/syscallent1.h + +diff --git a/backend.h b/backend.h +index e25daa0..0d6926a 100644 +--- a/backend.h ++++ b/backend.h +@@ -314,6 +314,14 @@ int arch_process_exec(struct process *proc); + int arch_get_sym_info(struct ltelf *lte, const char *filename, size_t sym_index, + GElf_Rela *rela, GElf_Sym *sym); + ++/* The following callback has to be implemented in backend if arch.h ++ * defines ARCH_HAVE_GET_ABI ++ * ++ * This is called from read_module just once, when reading the main module. ++ * The value returned is an architecture specific ID for the current ABI ++ * to be used later for ABI-specific operations. */ ++char arch_get_abi(GElf_Ehdr ehdr); ++ + enum plt_status { + PLT_FAIL, + PLT_OK, +diff --git a/ltrace-elf.c b/ltrace-elf.c +index f439cb0..a85edca 100644 +--- a/ltrace-elf.c ++++ b/ltrace-elf.c +@@ -1131,6 +1131,14 @@ populate_symtab(struct process *proc, const char *filename, + only_exported_names); + } + ++#ifndef ARCH_HAVE_GET_ABI ++char ++arch_get_abi(GElf_Ehdr ehdr) ++{ ++ return 0; ++} ++#endif ++ + static int + read_module(struct library *lib, struct process *proc, + const char *filename, GElf_Addr bias, int main) +@@ -1151,6 +1159,10 @@ read_module(struct library *lib, struct process *proc, + * with 32-bit ltrace. It is desirable to preserve this. */ + proc->e_machine = lte.ehdr.e_machine; + proc->e_class = lte.ehdr.e_ident[EI_CLASS]; ++ /* Another candidate for the ABI module. We probably ++ * want to do all of the e_* stuff only once, for main */ ++ if (main) ++ proc->e_abi = arch_get_abi(lte.ehdr); + get_arch_dep(proc); + + /* Find out the base address. For PIE main binaries we look +diff --git a/proc.h b/proc.h +index a611456..00094e1 100644 +--- a/proc.h ++++ b/proc.h +@@ -117,6 +117,7 @@ struct process { + * nauseam. */ + short e_machine; + char e_class; ++ char e_abi; + + #if defined(HAVE_LIBDW) + /* Unwind info for leader, NULL for non-leader procs. */ +diff --git a/sysdeps/linux-gnu/mips/Makefile.am b/sysdeps/linux-gnu/mips/Makefile.am +index 1fd8c2a..571ee0d 100644 +--- a/sysdeps/linux-gnu/mips/Makefile.am ++++ b/sysdeps/linux-gnu/mips/Makefile.am +@@ -20,6 +20,7 @@ noinst_LTLIBRARIES = \ + ../libcpu.la + + ___libcpu_la_SOURCES = \ ++ abi.c \ + plt.c \ + regs.c \ + trace.c +diff --git a/sysdeps/linux-gnu/mips/abi.c b/sysdeps/linux-gnu/mips/abi.c +new file mode 100644 +index 0000000..64e3c10 +--- /dev/null ++++ b/sysdeps/linux-gnu/mips/abi.c +@@ -0,0 +1,64 @@ ++/* ++ * This file is part of ltrace. ++ * Copyright (C) 2015 Imagination Technologies Limited ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License as ++ * published by the Free Software Foundation; either version 2 of the ++ * License, or (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, but ++ * WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA ++ * 02110-1301 USA ++ */ ++ ++#include ++#include ++#include "arch.h" ++ ++/* ++ * There is no bit in the header-flags to mark N64 ABI, it must be ++ * determined by exclusion of other ABIs. The following values are ++ * from elfcpp/mips.h in binutils sources ++ */ ++enum ++{ ++ E_MIPS_ABI_MASK = 0x0000F000, ++ E_MIPS_ABI_N32 = 0x00000020, ++ E_MIPS_ABI_O32 = 0x00001000, ++ E_MIPS_ABI_O64 = 0x00002000, ++ E_MIPS_ABI_EABI32 = 0x00003000, ++ E_MIPS_ABI_EABI64 = 0x00004000, ++}; ++ ++char ++arch_get_abi(GElf_Ehdr ehdr) ++{ ++ enum mips_abi_type abi; ++ switch (ehdr.e_flags & E_MIPS_ABI_MASK) { ++ case E_MIPS_ABI_O32: ++ abi = ABI_O32; break; ++ case E_MIPS_ABI_O64: ++ abi = ABI_O64; break; ++ case E_MIPS_ABI_EABI32: ++ case E_MIPS_ABI_EABI64: ++ fprintf(stderr, "%s: MIPS EABI is not supported\n", __func__); ++ abi = -1; ++ break; ++ default: ++ if (ehdr.e_flags & E_MIPS_ABI_N32) ++ abi = ABI_N32; ++ else ++ abi = ABI_N64; ++ } ++ ++ return abi; ++} ++ ++/**@}*/ +diff --git a/sysdeps/linux-gnu/mips/arch.h b/sysdeps/linux-gnu/mips/arch.h +index 16273d2..8b75df2 100644 +--- a/sysdeps/linux-gnu/mips/arch.h ++++ b/sysdeps/linux-gnu/mips/arch.h +@@ -1,5 +1,6 @@ + /* + * This file is part of ltrace. ++ * Copyright (C) 2015 Imagination Technologies Limited + * Copyright (C) 2013,2014 Petr Machata, Red Hat Inc. + * Copyright (C) 2006 Eric Vaitl + * +@@ -38,8 +39,12 @@ + #define BREAKPOINT_LENGTH 4 + #define DECR_PC_AFTER_BREAK 0 + +-#define LT_ELFCLASS ELFCLASS32 ++#ifdef __LP64__ ++#define LT_ELFCLASS ELFCLASS64 + #define LT_ELF_MACHINE EM_MIPS ++#endif /* __LP64__ */ ++#define LT_ELFCLASS2 ELFCLASS32 ++#define LT_ELF_MACHINE2 EM_MIPS + + #define ARCH_HAVE_LTELF_DATA + struct arch_ltelf_data { +@@ -53,8 +58,14 @@ struct arch_ltelf_data { + #define ARCH_HAVE_ADD_PLT_ENTRY + #define ARCH_HAVE_SW_SINGLESTEP + #define ARCH_HAVE_SYMBOL_RET +- ++#define ARCH_HAVE_GET_ABI + #define ARCH_HAVE_LIBRARY_SYMBOL_DATA ++ ++#ifdef __LP64__ ++#define ARCH_HAVE_SIZEOF ++#define ARCH_HAVE_ALIGNOF ++#endif /* __LP64__ */ ++ + enum mips_plt_type + { + /* A symbol has associated PLT entry. */ +@@ -73,7 +84,14 @@ enum mips_plt_type + MIPS_PLT_NEED_UNRESOLVE, + }; + +-struct mips_unresolve_data; ++enum mips_abi_type ++{ ++ ABI_O32, ++ ABI_N32, ++ ABI_N64, ++ ABI_O64, ++}; ++ + struct arch_library_symbol_data { + enum mips_plt_type type; + union { +diff --git a/sysdeps/linux-gnu/mips/plt.c b/sysdeps/linux-gnu/mips/plt.c +index f3c12da..2d85ad9 100644 +--- a/sysdeps/linux-gnu/mips/plt.c ++++ b/sysdeps/linux-gnu/mips/plt.c +@@ -1,5 +1,6 @@ + /* + * This file is part of ltrace. ++ * Copyright (C) 2015 Imagination Technologies Limited + * Copyright (C) 2012,2013,2014 Petr Machata, Red Hat Inc. + * Copyright (C) 2012 Edgar E. Iglesias, Axis Communications + * Copyright (C) 2008,2009 Juan Cespedes +@@ -182,6 +183,11 @@ arch_find_dl_debug(struct process *proc, arch_addr_t dyn_addr, + { + arch_addr_t rld_addr; + int r; ++#ifdef __LP64__ ++ size_t addrsize = proc->mask_32bit ? 4 : (sizeof *ret); ++#else /* !__LP64__ */ ++ size_t addrsize = sizeof *ret; ++#endif /* !__LP64__ */ + + /* MIPS puts the address of the r_debug structure into the + * DT_MIPS_RLD_MAP entry instead of into the DT_DEBUG entry. */ +@@ -189,7 +195,7 @@ arch_find_dl_debug(struct process *proc, arch_addr_t dyn_addr, + DT_MIPS_RLD_MAP, &rld_addr); + if (r == 0) { + if (umovebytes(proc, rld_addr, +- ret, sizeof *ret) != sizeof *ret) { ++ ret, addrsize) != addrsize) { + r = -1; + } + } +@@ -295,14 +301,25 @@ arch_elf_init(struct ltelf *lte, struct library *lib) + + for (j = 0; j < data->d_size / 16; ++j) { + uint32_t insn; ++ int got_size = 4; ++ uint32_t load_inst = 0x24180000U; /* addui t8,0,xx */ ++ ++#ifdef __LP64__ ++ if (arch_get_abi(lte->ehdr) == ABI_N64 ++ || arch_get_abi(lte->ehdr) == ABI_O64) { ++ got_size = 8; ++ load_inst = 0x64180000U; /* daddui t8,0,xx */ ++ } ++#endif /* __LP64__ */ ++ + if (elf_read_u32(data, j * 16 + 12, &insn) < 0) + goto fail_stubs; + + if (insn == 0) + continue; + +- /* 0x2418XXXX encodes lbu 0,t8,XXXX or li t8,XXXX. */ +- if ((insn & 0xffff0000U) != 0x24180000U) ++ /* 0x[62]418XXXX encodes [d]addiu t8, 0, XXXX. */ ++ if ((insn & 0xffff0000U) != load_inst) + goto fail_stubs; + + unsigned idx = insn & 0xffff; +@@ -323,8 +340,8 @@ arch_elf_init(struct ltelf *lte, struct library *lib) + + lte->arch.mips_local_gotno; + /* XXX Double cast. */ + arch_addr_t got_entry_addr +- = (arch_addr_t) (uintptr_t) lte->arch.pltgot_addr +- + got_idx * 4; ++ = (arch_addr_t) (uintptr_t) (lte->arch.pltgot_addr ++ + got_idx * got_size); + + GElf_Rela rela = { + /* XXX double cast. */ +@@ -336,7 +353,7 @@ arch_elf_init(struct ltelf *lte, struct library *lib) + if (VECT_PUSHBACK(<e->plt_relocs, &rela) < 0) + goto fail_stubs; + +- fprintf(stderr, ++ debug(2, + "added stub entry for symbol %u at %#lx, GOT @%p\n", + idx, (unsigned long) rela.r_addend, got_entry_addr); + } +@@ -362,8 +379,17 @@ read_got_entry(struct process *proc, GElf_Addr addr, GElf_Addr *valp) + { + /* XXX double cast. */ + arch_addr_t a = (arch_addr_t) (uintptr_t) addr; +- uint32_t l; +- if (proc_read_32(proc, a, &l) < 0) { ++ uint64_t l = 0; ++ int result; ++ ++#ifdef __LP64__ ++ if (!proc->mask_32bit) ++ result = proc_read_64(proc, a, &l); ++ else ++#endif /* __LP64__ */ ++ result = proc_read_32(proc, a, (uint32_t *) &l); ++ ++ if (result < 0) { + fprintf(stderr, "ptrace read got entry @%#" PRIx64 ": %s\n", + addr, strerror(errno)); + return -1; +@@ -426,13 +452,13 @@ arch_elf_add_plt_entry(struct process *proc, struct ltelf *lte, + GElf_Addr stub_addr = rela->r_addend + lte->bias; + + debug(2, "PLT-less arch_elf_add_plt_entry %s = %#llx\n", +- a_name, stub_addr); ++ a_name, (unsigned long long) stub_addr); + + struct library_symbol *libsym = NULL; + if (default_elf_add_plt_entry(proc, lte, a_name, rela, ndx, + &libsym) < 0) { +- fprintf(stderr, "%s: failed %s(%#llx): %s\n", __func__, +- a_name, stub_addr, strerror(errno)); ++ fprintf(stderr, "%s: failed %s(%#lx): %s\n", __func__, ++ a_name, (unsigned long) stub_addr, strerror(errno)); + goto fail; + } + +@@ -503,13 +529,27 @@ jump_to_entry_point(struct process *proc, struct breakpoint *bp) + static int + unresolve_got_entry(struct process *proc, GElf_Addr addr, GElf_Addr value) + { +- uint32_t v32 = (uint32_t) value; +- uint32_t a32 = (uint32_t) addr; +- if (ptrace(PTRACE_POKETEXT, proc->pid, a32, v32) < 0) { ++ arch_addr_t a = (arch_addr_t) (uintptr_t) addr; ++#ifdef __LP64__ ++ /* To write 32-bit value in 64-bit mode, we must read-modify-write ++ the 64-bit value with only the lower 32 bits modified. */ ++ if (proc->mask_32bit) { ++ GElf_Addr orig = ptrace(PTRACE_PEEKTEXT, proc->pid, a, 0); ++ char *obytes = (char *) &orig; ++ char *nbytes = (char *) &value; ++ unsigned i; ++ ++ for (i = 0; i < 4; i++) ++ obytes[i] = nbytes[i]; ++ value = orig; ++ } ++#endif /* __LP64__ */ ++ if (ptrace(PTRACE_POKETEXT, proc->pid, a, (unsigned long) value) < 0) { + fprintf(stderr, "failed to unresolve GOT entry: %s\n", + strerror(errno)); + return -1; + } ++ + return 0; + } + +diff --git a/sysdeps/linux-gnu/mips/signalent1.h b/sysdeps/linux-gnu/mips/signalent1.h +new file mode 100644 +index 0000000..9e9d1f7 +--- /dev/null ++++ b/sysdeps/linux-gnu/mips/signalent1.h +@@ -0,0 +1,52 @@ ++/* ++ * This file is part of ltrace. ++ * Copyright (C) 2015 Imagination Technologies Limited ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License as ++ * published by the Free Software Foundation; either version 2 of the ++ * License, or (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, but ++ * WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA ++ * 02110-1301 USA ++ */ ++ ++ "SIG_0", /* 0 */ ++ "SIGHUP", /* 1 */ ++ "SIGINT", /* 2 */ ++ "SIGQUIT", /* 3 */ ++ "SIGILL", /* 4 */ ++ "SIGTRAP", /* 5 */ ++ "SIGIOT", /* 6 */ ++ "SIGEMT", /* 7 */ ++ "SIGFPE", /* 8 */ ++ "SIGKILL", /* 9 */ ++ "SIGBUS", /* 10 */ ++ "SIGSEGV", /* 11 */ ++ "SIGSYS", /* 12 */ ++ "SIGPIPE", /* 13 */ ++ "SIGALRM", /* 14 */ ++ "SIGTERM", /* 15 */ ++ "SIGUSR1", /* 16 */ ++ "SIGUSR2", /* 17 */ ++ "SIGCHLD", /* 18 */ ++ "SIGPWR", /* 19 */ ++ "SIGWINCH", /* 20 */ ++ "SIGURG", /* 21 */ ++ "SIGIO", /* 22 */ ++ "SIGSTOP", /* 23 */ ++ "SIGTSTP", /* 24 */ ++ "SIGCONT", /* 25 */ ++ "SIGTTIN", /* 26 */ ++ "SIGTTOU", /* 27 */ ++ "SIGVTALRM", /* 28 */ ++ "SIGPROF", /* 29 */ ++ "SIGXCPU", /* 30 */ ++ "SIGXFSZ", /* 31 */ +diff --git a/sysdeps/linux-gnu/mips/syscallent1.h b/sysdeps/linux-gnu/mips/syscallent1.h +new file mode 100644 +index 0000000..dfa4954 +--- /dev/null ++++ b/sysdeps/linux-gnu/mips/syscallent1.h +@@ -0,0 +1,328 @@ ++/* ++ * This file is part of ltrace. ++ * Copyright (C) 2015 Imagination Technologies Limited ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License as ++ * published by the Free Software Foundation; either version 2 of the ++ * License, or (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, but ++ * WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA ++ * 02110-1301 USA ++ */ ++ ++/* MIPS64 */ ++ ++ "read", /* 0 */ ++ "write", /* 1 */ ++ "open", /* 2 */ ++ "close", /* 3 */ ++ "stat", /* 4 */ ++ "fstat", /* 5 */ ++ "lstat", /* 6 */ ++ "poll", /* 7 */ ++ "lseek", /* 8 */ ++ "mmap", /* 9 */ ++ "mprotect", /* 10 */ ++ "munmap", /* 11 */ ++ "brk", /* 12 */ ++ "rt_sigaction", /* 13 */ ++ "rt_sigprocmask", /* 14 */ ++ "ioctl", /* 15 */ ++ "pread64", /* 16 */ ++ "pwrite64", /* 17 */ ++ "readv", /* 18 */ ++ "writev", /* 19 */ ++ "access", /* 20 */ ++ "pipe", /* 21 */ ++ "_newselect", /* 22 */ ++ "sched_yield", /* 23 */ ++ "mremap", /* 24 */ ++ "msync", /* 25 */ ++ "mincore", /* 26 */ ++ "madvise", /* 27 */ ++ "shmget", /* 28 */ ++ "shmat", /* 29 */ ++ "shmctl", /* 30 */ ++ "dup", /* 31 */ ++ "dup2", /* 32 */ ++ "pause", /* 33 */ ++ "nanosleep", /* 34 */ ++ "getitimer", /* 35 */ ++ "setitimer", /* 36 */ ++ "alarm", /* 37 */ ++ "getpid", /* 38 */ ++ "sendfile", /* 39 */ ++ "socket", /* 40 */ ++ "connect", /* 41 */ ++ "accept", /* 42 */ ++ "sendto", /* 43 */ ++ "recvfrom", /* 44 */ ++ "sendmsg", /* 45 */ ++ "recvmsg", /* 46 */ ++ "shutdown", /* 47 */ ++ "bind", /* 48 */ ++ "listen", /* 49 */ ++ "getsockname", /* 50 */ ++ "getpeername", /* 51 */ ++ "socketpair", /* 52 */ ++ "setsockopt", /* 53 */ ++ "getsockopt", /* 54 */ ++ "clone", /* 55 */ ++ "fork", /* 56 */ ++ "execve", /* 57 */ ++ "exit", /* 58 */ ++ "wait4", /* 59 */ ++ "kill", /* 60 */ ++ "uname", /* 61 */ ++ "semget", /* 62 */ ++ "semop", /* 63 */ ++ "semctl", /* 64 */ ++ "shmdt", /* 65 */ ++ "msgget", /* 66 */ ++ "msgsnd", /* 67 */ ++ "msgrcv", /* 68 */ ++ "msgctl", /* 69 */ ++ "fcntl", /* 70 */ ++ "flock", /* 71 */ ++ "fsync", /* 72 */ ++ "fdatasync", /* 73 */ ++ "truncate", /* 74 */ ++ "ftruncate", /* 75 */ ++ "getdents", /* 76 */ ++ "getcwd", /* 77 */ ++ "chdir", /* 78 */ ++ "fchdir", /* 79 */ ++ "rename", /* 80 */ ++ "mkdir", /* 81 */ ++ "rmdir", /* 82 */ ++ "creat", /* 83 */ ++ "link", /* 84 */ ++ "unlink", /* 85 */ ++ "symlink", /* 86 */ ++ "readlink", /* 87 */ ++ "chmod", /* 88 */ ++ "fchmod", /* 89 */ ++ "chown", /* 90 */ ++ "fchown", /* 91 */ ++ "lchown", /* 92 */ ++ "umask", /* 93 */ ++ "gettimeofday", /* 94 */ ++ "getrlimit", /* 95 */ ++ "getrusage", /* 96 */ ++ "sysinfo", /* 97 */ ++ "times", /* 98 */ ++ "ptrace", /* 99 */ ++ "getuid", /* 100 */ ++ "syslog", /* 101 */ ++ "getgid", /* 102 */ ++ "setuid", /* 103 */ ++ "setgid", /* 104 */ ++ "geteuid", /* 105 */ ++ "getegid", /* 106 */ ++ "setpgid", /* 107 */ ++ "getppid", /* 108 */ ++ "getpgrp", /* 109 */ ++ "setsid", /* 110 */ ++ "setreuid", /* 111 */ ++ "setregid", /* 112 */ ++ "getgroups", /* 113 */ ++ "setgroups", /* 114 */ ++ "setresuid", /* 115 */ ++ "getresuid", /* 116 */ ++ "setresgid", /* 117 */ ++ "getresgid", /* 118 */ ++ "getpgid", /* 119 */ ++ "setfsuid", /* 120 */ ++ "setfsgid", /* 121 */ ++ "getsid", /* 122 */ ++ "capget", /* 123 */ ++ "capset", /* 124 */ ++ "rt_sigpending", /* 125 */ ++ "rt_sigtimedwait", /* 126 */ ++ "rt_sigqueueinfo", /* 127 */ ++ "rt_sigsuspend", /* 128 */ ++ "sigaltstack", /* 129 */ ++ "utime", /* 130 */ ++ "mknod", /* 131 */ ++ "personality", /* 132 */ ++ "ustat", /* 133 */ ++ "statfs", /* 134 */ ++ "fstatfs", /* 135 */ ++ "sysfs", /* 136 */ ++ "getpriority", /* 137 */ ++ "setpriority", /* 138 */ ++ "sched_setparam", /* 139 */ ++ "sched_getparam", /* 140 */ ++ "sched_setscheduler", /* 141 */ ++ "sched_getscheduler", /* 142 */ ++ "sched_get_priority_max", /* 143 */ ++ "sched_get_priority_min", /* 144 */ ++ "sched_rr_get_interval", /* 145 */ ++ "mlock", /* 146 */ ++ "munlock", /* 147 */ ++ "mlockall", /* 148 */ ++ "munlockall", /* 149 */ ++ "vhangup", /* 150 */ ++ "pivot_root", /* 151 */ ++ "_sysctl", /* 152 */ ++ "prctl", /* 153 */ ++ "adjtimex", /* 154 */ ++ "setrlimit", /* 155 */ ++ "chroot", /* 156 */ ++ "sync", /* 157 */ ++ "acct", /* 158 */ ++ "settimeofday", /* 159 */ ++ "mount", /* 160 */ ++ "umount2", /* 161 */ ++ "swapon", /* 162 */ ++ "swapoff", /* 163 */ ++ "reboot", /* 164 */ ++ "sethostname", /* 165 */ ++ "setdomainname", /* 166 */ ++ "create_module", /* 167 */ ++ "init_module", /* 168 */ ++ "delete_module", /* 169 */ ++ "get_kernel_syms", /* 170 */ ++ "query_module", /* 171 */ ++ "quotactl", /* 172 */ ++ "nfsservctl", /* 173 */ ++ "getpmsg", /* 174 */ ++ "putpmsg", /* 175 */ ++ "afs_syscall", /* 176 */ ++ "reserved177", /* 177 */ ++ "gettid", /* 178 */ ++ "readahead", /* 179 */ ++ "setxattr", /* 180 */ ++ "lsetxattr", /* 181 */ ++ "fsetxattr", /* 182 */ ++ "getxattr", /* 183 */ ++ "lgetxattr", /* 184 */ ++ "fgetxattr", /* 185 */ ++ "listxattr", /* 186 */ ++ "llistxattr", /* 187 */ ++ "flistxattr", /* 188 */ ++ "removexattr", /* 189 */ ++ "lremovexattr", /* 190 */ ++ "fremovexattr", /* 191 */ ++ "tkill", /* 192 */ ++ "reserved193", /* 193 */ ++ "futex", /* 194 */ ++ "sched_setaffinity", /* 195 */ ++ "sched_getaffinity", /* 196 */ ++ "cacheflush", /* 197 */ ++ "cachectl", /* 198 */ ++ "sysmips", /* 199 */ ++ "io_setup", /* 200 */ ++ "io_destroy", /* 201 */ ++ "io_getevents", /* 202 */ ++ "io_submit", /* 203 */ ++ "io_cancel", /* 204 */ ++ "exit_group", /* 205 */ ++ "lookup_dcookie", /* 206 */ ++ "epoll_create", /* 207 */ ++ "epoll_ctl", /* 208 */ ++ "epoll_wait", /* 209 */ ++ "remap_file_pages", /* 210 */ ++ "rt_sigreturn", /* 211 */ ++ "set_tid_address", /* 212 */ ++ "restart_syscall", /* 213 */ ++ "semtimedop", /* 214 */ ++ "fadvise64", /* 215 */ ++ "timer_create", /* 216 */ ++ "timer_settime", /* 217 */ ++ "timer_gettime", /* 218 */ ++ "timer_getoverrun", /* 219 */ ++ "timer_delete", /* 220 */ ++ "clock_settime", /* 221 */ ++ "clock_gettime", /* 222 */ ++ "clock_getres", /* 223 */ ++ "clock_nanosleep", /* 224 */ ++ "tgkill", /* 225 */ ++ "utimes", /* 226 */ ++ "mbind", /* 227 */ ++ "get_mempolicy", /* 228 */ ++ "set_mempolicy", /* 229 */ ++ "mq_open", /* 230 */ ++ "mq_unlink", /* 231 */ ++ "mq_timedsend", /* 232 */ ++ "mq_timedreceive", /* 233 */ ++ "mq_notify", /* 234 */ ++ "mq_getsetattr", /* 235 */ ++ "vserver", /* 236 */ ++ "waitid", /* 237 */ ++ "238", /* 238 */ ++ "add_key", /* 239 */ ++ "request_key", /* 240 */ ++ "keyctl", /* 241 */ ++ "set_thread_area", /* 242 */ ++ "inotify_init", /* 243 */ ++ "inotify_add_watch", /* 244 */ ++ "inotify_rm_watch", /* 245 */ ++ "migrate_pages", /* 246 */ ++ "openat", /* 247 */ ++ "mkdirat", /* 248 */ ++ "mknodat", /* 249 */ ++ "fchownat", /* 250 */ ++ "futimesat", /* 251 */ ++ "newfstatat", /* 252 */ ++ "unlinkat", /* 253 */ ++ "renameat", /* 254 */ ++ "linkat", /* 255 */ ++ "symlinkat", /* 256 */ ++ "readlinkat", /* 257 */ ++ "fchmodat", /* 258 */ ++ "faccessat", /* 259 */ ++ "pselect6", /* 260 */ ++ "ppoll", /* 261 */ ++ "unshare", /* 262 */ ++ "splice", /* 263 */ ++ "sync_file_range", /* 264 */ ++ "tee", /* 265 */ ++ "vmsplice", /* 266 */ ++ "move_pages", /* 267 */ ++ "set_robust_list", /* 268 */ ++ "get_robust_list", /* 269 */ ++ "kexec_load", /* 270 */ ++ "getcpu", /* 271 */ ++ "epoll_pwait", /* 272 */ ++ "ioprio_set", /* 273 */ ++ "ioprio_get", /* 274 */ ++ "utimensat", /* 275 */ ++ "signalfd", /* 276 */ ++ "timerfd", /* 277 */ ++ "eventfd", /* 278 */ ++ "fallocate", /* 279 */ ++ "timerfd_create", /* 280 */ ++ "timerfd_gettime", /* 281 */ ++ "timerfd_settime", /* 282 */ ++ "signalfd4", /* 283 */ ++ "eventfd2", /* 284 */ ++ "epoll_create1", /* 285 */ ++ "dup3", /* 286 */ ++ "pipe2", /* 287 */ ++ "inotify_init1", /* 288 */ ++ "preadv", /* 289 */ ++ "pwritev", /* 290 */ ++ "rt_tgsigqueueinfo", /* 291 */ ++ "perf_event_open", /* 292 */ ++ "accept4", /* 293 */ ++ "recvmmsg", /* 294 */ ++ "fanotify_init", /* 295 */ ++ "fanotify_mark", /* 296 */ ++ "prlimit64", /* 297 */ ++ "name_to_handle_at", /* 298 */ ++ "open_by_handle_at", /* 299 */ ++ "clock_adjtime", /* 300 */ ++ "syncfs", /* 301 */ ++ "sendmmsg", /* 302 */ ++ "setns", /* 303 */ ++ "process_vm_readv", /* 304 */ ++ "process_vm_writev", /* 305 */ +diff --git a/sysdeps/linux-gnu/mips/trace.c b/sysdeps/linux-gnu/mips/trace.c +index e81b374..d54818e 100644 +--- a/sysdeps/linux-gnu/mips/trace.c ++++ b/sysdeps/linux-gnu/mips/trace.c +@@ -1,5 +1,6 @@ + /* + * This file is part of ltrace. ++ * Copyright (C) 2015 Imagination Technologies Limited + * Copyright (C) 2013 Petr Machata, Red Hat Inc. + * Copyright (C) 2012 Edgar E. Iglesias, Axis Communications + * Copyright (C) 2010 Arnaud Patard, Mandriva SA +@@ -29,6 +30,7 @@ + #include + #include + #include ++#include + #include + #include + +@@ -68,6 +70,44 @@ + void + get_arch_dep(struct process *proc) + { ++#ifdef __LP64__ ++ proc->mask_32bit = (proc->e_class == ELFCLASS32); ++#endif /* __LP64__ */ ++ /* n32 personality is best approximated by n64, ++ at least for syscall numbers */ ++ proc->personality = (proc->e_class == ELFCLASS64 ++ || proc->e_abi == ABI_N32); ++} ++ ++/** ++ \param abi ABI of current process, from mips_abi_type enum ++ \param list An array of 4 elements, each corresponding to an ABI, in ++ the order: o32, n32, n64, o64 ++ ++ return value from array corresponding to requested ABI ++ */ ++static int ++abi_select(const int abi, const int list[]) ++{ ++ int retval; ++ switch (abi) ++ { ++ case ABI_N32: ++ retval = list[1]; ++ break; ++ case ABI_N64: ++ retval = list[2]; ++ break; ++ case ABI_O64: ++ retval = list[3]; ++ break; ++ case ABI_O32: ++ default: ++ retval = list[0]; ++ break; ++ } ++ ++ return retval; + } + + /** +@@ -90,53 +130,94 @@ get_arch_dep(struct process *proc) + int + syscall_p(struct process *proc, int status, int *sysnum) + { +- if (WIFSTOPPED(status) +- && WSTOPSIG(status) == (SIGTRAP | proc->tracesysgood)) { +- /* get the user's pc (plus 8) */ +- long pc = (long)get_instruction_pointer(proc); +- /* fetch the SWI instruction */ +- int insn = ptrace(PTRACE_PEEKTEXT, proc->pid, pc - 4, 0); +- int num = ptrace(PTRACE_PEEKTEXT, proc->pid, pc - 8, 0); +- +- /* +- On a mips, syscall looks like: +- 24040fa1 li v0, 0x0fa1 # 4001 --> _exit syscall +- 0000000c syscall +- */ +- if(insn!=0x0000000c){ +- /* sigreturn returns control to the point +- where the signal was received; skip check +- for preceeding syscall instruction */ +- int depth = proc->callstack_depth; +- struct callstack_element *top = NULL; +- if (depth > 0) +- top = &proc->callstack[depth - 1]; +- +- if (top != NULL && top->is_syscall && +- (top->c_un.syscall == (__NR_rt_sigreturn - +- __NR_Linux) || +- top->c_un.syscall == (__NR_sigreturn - +- __NR_Linux))) { +- *sysnum = top->c_un.syscall; +- return 2; +- } +- else +- return 0; +- } +- +- *sysnum = (num & 0xFFFF) - 4000; +- /* if it is a syscall, return 1 or 2 */ +- if (proc->callstack_depth > 0 && +- proc->callstack[proc->callstack_depth - 1].is_syscall && +- proc->callstack[proc->callstack_depth - 1].c_un.syscall == *sysnum) { ++ unsigned long pc; ++ int insn, prev; ++ int min_syscall, max_syscall, sigreturn, rt_sigreturn; ++ struct callstack_element *top = NULL; ++ int depth = proc->callstack_depth; ++ const int syscallbase[] = {__NR_O32_Linux, __NR_N32_Linux, ++ __NR_64_Linux, __NR_O32_Linux}; ++ const int syscallnum[] = {__NR_O32_Linux_syscalls, ++ __NR_N32_Linux_syscalls, ++ __NR_64_Linux_syscalls, ++ __NR_O32_Linux_syscalls}; ++ const int rt_sigreturn_list[] = {193, 211, 211, 193}; ++ const int sigreturn_list[] = {119, -1, -1, 119}; ++ ++ if (!WIFSTOPPED(status) ++ || WSTOPSIG(status) != (SIGTRAP | proc->tracesysgood)) ++ return 0; ++ ++ /* get the user's pc (plus 8) */ ++ pc = (unsigned long)get_instruction_pointer(proc); ++ /* fetch the SWI instruction */ ++ insn = ptrace(PTRACE_PEEKTEXT, proc->pid, pc - 4, 0); ++ prev = ptrace(PTRACE_PEEKTEXT, proc->pid, pc - 8, 0); ++ ++ if (depth > 0) ++ top = &proc->callstack[depth - 1]; ++ ++ /* Range of syscall numbers varies with ABI; ref:asm/unistd.h */ ++ min_syscall = abi_select(proc->e_abi, syscallbase); ++ max_syscall = min_syscall + abi_select(proc->e_abi, syscallnum); ++ sigreturn = min_syscall + abi_select(proc->e_abi, sigreturn_list); ++ rt_sigreturn = min_syscall + abi_select(proc->e_abi, rt_sigreturn_list); ++ ++ /* not a syscall instruction */ ++ if(insn!=0x0000000c){ ++ /* sigreturn returns control to the point where the signal was ++ received; skip check for preceeding syscall instruction */ ++ if (top != NULL && top->is_syscall ++ && (top->c_un.syscall == (rt_sigreturn - min_syscall) ++ || top->c_un.syscall == (sigreturn - min_syscall))) { ++ *sysnum = top->c_un.syscall; + return 2; + } ++ else ++ return 0; ++ } + +- if (*sysnum >= 0) { +- return 1; +- } ++ /* ++ On a mips, syscall looks like: ++ 24020fa1 li v0, 0x0fa1 # 4001 --> _exit syscall ++ 0000000c syscall ++ */ ++ if ((prev & 0xFFFF0000) == 0x24020000) { ++ *sysnum = (prev & 0xFFFF) - min_syscall; + } +- return 0; ++ /* ++ The above is not necessary in Linux kernel > v2.6.35. Recent ++ kernels have a fancy-pants method of restarting syscalls. ++ We must read v0 instead, to get the syscall number. ++ ++ Unfortunately, v0 is not preserved till the point of return. ++ If already in syscall and v0 is invalid, assume this event ++ to be a return without attempting to match previous syscall. ++ ++ Caveat: logic fails if v0 incidentally contains a valid ++ syscall number, distinct from the current syscall number, ++ at the point of return from a nested syscall. ++ */ ++ else { ++ int v0 = ptrace(PTRACE_PEEKUSER, proc->pid, off_v0, 0); ++ ++ if ((v0 >= min_syscall) && (v0 <= max_syscall)) ++ *sysnum = v0 - min_syscall; ++ else if (depth > 0 && top->is_syscall) ++ *sysnum = top->c_un.syscall; ++ else /* syscall instruction without valid number - ignored */ ++ return 0; ++ } ++ ++ /* if it is a syscall, return 1 or 2 */ ++ if (depth > 0 && top->is_syscall && top->c_un.syscall == *sysnum) { ++ return 2; ++ } ++ ++ if (*sysnum >= 0) ++ return 1; ++ else ++ return 0; + } + + /* Based on GDB code. */ +@@ -162,9 +243,11 @@ mips32_relative_offset (uint32_t inst) + return ((itype_immediate(inst) ^ 0x8000) - 0x8000) << 2; + } + +-int mips_next_pcs(struct process *proc, uint32_t pc, uint32_t *newpc) ++int mips_next_pcs(struct process *proc, unsigned long pc, ++ unsigned long *newpc) + { +- uint32_t inst, rx; ++ uint32_t inst; ++ unsigned long rx; + int op; + int rn; + int nr = 0; +@@ -277,8 +360,8 @@ int mips_next_pcs(struct process *proc, uint32_t pc, uint32_t *newpc) + return nr; + + fail: +- printf("nr=%d pc=%x\n", nr, pc); +- printf("pc=%x %x\n", newpc[0], newpc[1]); ++ printf("nr=%d pc=%lx\n", nr, pc); ++ printf("pc=%lx %lx\n", newpc[0], newpc[1]); + return 0; + } + +@@ -304,17 +387,27 @@ fail: + * branches within the LL-SC sequence. + */ + #define inrange(x,lo,hi) ((x)<=(hi) && (x)>=(lo)) ++/* Instruction encodings for atomic operations */ ++#ifdef __mips64 ++#define op_SC_p(op) (op == 0x38 || op == 0x3c) ++#define op_LL_p(op) (op == 0x30 || op == 0x34) ++#else /* !__mips64 */ ++#define op_SC_p(op) (op == 0x38) ++#define op_LL_p(op) (op == 0x30) ++#endif /* !__mips64 */ ++ + static int +-mips_atomic_next_pcs(struct process *proc, uint32_t lladdr, uint32_t *newpcs) ++mips_atomic_next_pcs(struct process *proc, unsigned long lladdr, ++ unsigned long *newpcs) + { + int nr = 0; + +- uint32_t scaddr; ++ unsigned long scaddr; + for (scaddr = lladdr + 4; scaddr - lladdr <= 2048; scaddr += 4) { + /* Found SC, now stepover trailing branch */ + uint32_t inst; + if (proc_read_32(proc, (arch_addr_t)scaddr, &inst) >= 0 && +- itype_op(inst) == 0x38) { ++ op_SC_p (itype_op(inst))) { + newpcs[nr++] = scaddr + 4; + break; + } +@@ -327,16 +420,16 @@ mips_atomic_next_pcs(struct process *proc, uint32_t lladdr, uint32_t *newpcs) + } + + /* Scan LL<->SC range for branches going outside that range */ +- uint32_t spc; ++ unsigned long spc; + for (spc = lladdr + 4; spc < scaddr; spc += 4) { +- uint32_t scanpcs[2]; ++ unsigned long scanpcs[2]; + int snr = mips_next_pcs(proc, spc, scanpcs); + + int i; + for (i = 0; i < snr; ++i) { + if (!inrange(scanpcs[i], lladdr, scaddr)) { +- uint32_t *tmp = realloc(newpcs, (nr + 1) * +- sizeof *newpcs); ++ unsigned long *tmp = realloc(newpcs, (nr + 1) ++ * sizeof *newpcs); + if (tmp == NULL) { + perror("malloc atomic next pcs"); + return -1; +@@ -357,8 +450,8 @@ arch_sw_singlestep(struct process *proc, struct breakpoint *bp, + int (*add_cb)(arch_addr_t, struct sw_singlestep_data *), + struct sw_singlestep_data *add_cb_data) + { +- uint32_t pc = (uint32_t) get_instruction_pointer(proc); +- uint32_t *newpcs; ++ unsigned long pc = (unsigned long) get_instruction_pointer(proc); ++ unsigned long *newpcs; + int nr; + uint32_t inst; + +@@ -369,7 +462,7 @@ arch_sw_singlestep(struct process *proc, struct breakpoint *bp, + return SWS_FAIL; + + /* Starting an atomic read-modify-write sequence */ +- if (itype_op(inst) == 0x30) ++ if (op_LL_p(itype_op(inst))) + nr = mips_atomic_next_pcs(proc, pc, newpcs); + else + nr = mips_next_pcs(proc, pc, newpcs); +@@ -462,7 +555,7 @@ gimme_arg(enum tof type, struct process *proc, int arg_num, + debug(2,"ret = %#lx",addr); + return addr; + } +- ret = addr + 4*arg_num; ++ ret = addr + sizeof(long) * arg_num; + ret=ptrace(PTRACE_PEEKTEXT,proc->pid,addr,0); + debug(2,"ret = %#lx",ret); + return ret; +@@ -474,7 +567,7 @@ gimme_arg(enum tof type, struct process *proc, int arg_num, + debug(2,"ret = %#lx",addr); + return addr; + } +- ret = addr + 4*arg_num; ++ ret = addr + sizeof(long) * arg_num; + ret=ptrace(PTRACE_PEEKTEXT,proc->pid,addr,0); + debug(2,"ret = %#lx",ret); + return ret; +@@ -483,4 +576,34 @@ gimme_arg(enum tof type, struct process *proc, int arg_num, + return 0; + } + ++#ifdef __LP64__ ++size_t ++arch_type_sizeof(struct process *proc, struct arg_type_info *info) ++{ ++ if (proc == NULL) ++ return (size_t)-2; ++ ++ switch (info->type) { ++ case ARGTYPE_LONG: ++ case ARGTYPE_ULONG: ++ return proc->mask_32bit ? 4 : sizeof (long); ++ ++ case ARGTYPE_POINTER: ++ return proc->mask_32bit ? 4 : sizeof (void *); ++ ++ default: ++ /* Use default value. */ ++ return (size_t)-2; ++ } ++} ++ ++size_t ++arch_type_alignof(struct process *proc, struct arg_type_info *info) ++{ ++ if (proc == NULL) ++ return (size_t)-2; ++ ++ return arch_type_sizeof(proc, info); ++} ++#endif /* __LP64__ */ + /**@}*/ +diff --git a/sysdeps/linux-gnu/mksyscallent_mips b/sysdeps/linux-gnu/mksyscallent_mips +index f3961b4..f8dcfe1 100755 +--- a/sysdeps/linux-gnu/mksyscallent_mips ++++ b/sysdeps/linux-gnu/mksyscallent_mips +@@ -19,9 +19,7 @@ + + # hack expression to generate arch/syscallent.h from + # It reads from stdin and writes to stdout +-# It should work OK on i386,m68k,arm,ia64 +-# It does NOT work in mips, s390 +-# It is untested in other architectures ++# Default is o32; arch=mips64 generates n64 syscalls + + BEGIN { + max=0; +@@ -31,7 +29,10 @@ BEGIN { + { + #debug + #printf("/%s/%s/%s/%s/\n", $1, $2, $3, $4); +- if ($2 ~ /__NR_Linux/ && $3 ~ /4000/) { ++ min=4000 ++ if (arch ~ "mips64") min=5000 ++ ++ if ($2 ~ /__NR_Linux/ && $3 ~ min) { + syscall=1; + } + if ($2 ~ /__NR_Linux_syscalls/) { +-- +2.13.2 + diff --git a/meta-oe/recipes-devtools/ltrace/ltrace_git.bb b/meta-oe/recipes-devtools/ltrace/ltrace_git.bb index 213436c..b613bc3 100644 --- a/meta-oe/recipes-devtools/ltrace/ltrace_git.bb +++ b/meta-oe/recipes-devtools/ltrace/ltrace_git.bb @@ -22,6 +22,7 @@ SRC_URI = "git://anonscm.debian.org/collab-maint/ltrace.git;branch=master \ file://0002-Fix-const-qualifier-error.patch \ file://0001-ARM-code-has-unreachable-code-after-switch-statement.patch \ file://0001-Fix-tautological-compare-warning.patch \ + file://0001-Add-support-for-mips64-n32-n64.patch \ " S = "${WORKDIR}/git" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 3 12:03:10 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 03 Jul 2017 12:03:10 +0000 Subject: [oe-commits] [meta-openembedded] 05/09: librcf: Define byteorder for powerpc machines In-Reply-To: <149908338571.24666.16150384640226191416@git.openembedded.org> References: <149908338571.24666.16150384640226191416@git.openembedded.org> Message-ID: <20170703120306.2C51E2336C4@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 339f975a184d72972da9a6d6db62940e0355f25f Author: Khem Raj AuthorDate: Sat Jul 1 13:15:15 2017 -0700 librcf: Define byteorder for powerpc machines Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../librcf/0001-Check-for-__powerpc__-define.patch | 28 ++++++++++++++++++++++ meta-oe/recipes-devtools/librcf/librcf_2.2.0.0.bb | 3 ++- 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/meta-oe/recipes-devtools/librcf/librcf/0001-Check-for-__powerpc__-define.patch b/meta-oe/recipes-devtools/librcf/librcf/0001-Check-for-__powerpc__-define.patch new file mode 100644 index 0000000..d91accf --- /dev/null +++ b/meta-oe/recipes-devtools/librcf/librcf/0001-Check-for-__powerpc__-define.patch @@ -0,0 +1,28 @@ +From ac7316679e30f7013604b19aa0949a0744e91d2f Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 1 Jul 2017 13:06:30 -0700 +Subject: [PATCH] Check for __powerpc__ define + +Also check for gcc's internal define for ppc platform + +Signed-off-by: Khem Raj +--- + src/RCF/ByteOrdering.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/RCF/ByteOrdering.cpp b/src/RCF/ByteOrdering.cpp +index 278ca80..9f9c446 100755 +--- a/src/RCF/ByteOrdering.cpp ++++ b/src/RCF/ByteOrdering.cpp +@@ -36,7 +36,7 @@ namespace RCF { + + const ByteOrder MachineByteOrder = BigEndian; + +-#elif defined( __ppc__ ) ++#elif defined( __ppc__ ) || defined( __powerpc__ ) + + const ByteOrder MachineByteOrder = BigEndian; + +-- +2.13.2 + diff --git a/meta-oe/recipes-devtools/librcf/librcf_2.2.0.0.bb b/meta-oe/recipes-devtools/librcf/librcf_2.2.0.0.bb index 1287eb0..dee7427 100644 --- a/meta-oe/recipes-devtools/librcf/librcf_2.2.0.0.bb +++ b/meta-oe/recipes-devtools/librcf/librcf_2.2.0.0.bb @@ -15,7 +15,8 @@ SRC_URI = "http://www.deltavsoft.com/downloads/RCF-${PV}.tar.gz \ file://aarch64-support.patch \ file://0001-ClientStub.hpp-fix-a-clang-compiling-issue.patch \ file://mips-support.patch \ - " + file://0001-Check-for-__powerpc__-define.patch \ + " SRC_URI[md5sum] = "7ecb3c73f7eb66dba8790b659374f690" SRC_URI[sha256sum] = "bbfcc88de502c39604878c395f516b03fff4eac63eb4f7f44c07d433839712dd" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 3 12:03:12 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 03 Jul 2017 12:03:12 +0000 Subject: [oe-commits] [meta-openembedded] 07/09: crossguid: Add recipe In-Reply-To: <149908338571.24666.16150384640226191416@git.openembedded.org> References: <149908338571.24666.16150384640226191416@git.openembedded.org> Message-ID: <20170703120306.3BEFD2336C6@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 116273f2b44a0a0d0fdd10a195179b76501edcdc Author: Khem Raj AuthorDate: Sat Jul 1 14:33:09 2017 -0700 crossguid: Add recipe Needed by kodi Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../recipes-support/crossguid/crossguid.bb | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/meta-multimedia/recipes-support/crossguid/crossguid.bb b/meta-multimedia/recipes-support/crossguid/crossguid.bb new file mode 100644 index 0000000..228b8b6 --- /dev/null +++ b/meta-multimedia/recipes-support/crossguid/crossguid.bb @@ -0,0 +1,25 @@ +# Copyright (C) 2017 Khem Raj +# Released under the MIT license (see COPYING.MIT for the terms) + +DESCRIPTION = "Lightweight cross platform C++ GUID/UUID library" +HOMEPAGE = "https://github.com/graeme-hill/crossguid" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=1373274bc8d8001edc54933919f36f68" +DEPENDS += "util-linux" + +PV = "0.0+git${SRCPV}" + +SRCREV = "b56957ac453575e91ca1b63a80c0077c2b0d011a" +SRC_URI = "git://github.com/graeme-hill/crossguid;protocol=https" + +S = "${WORKDIR}/git" + +do_compile() { + ${CXX} -c guid.cpp -o guid.o ${CXXFLAGS} -std=c++11 -DGUID_LIBUUID + ${AR} rvs libcrossguid.a guid.o +} + +do_install() { + install -D -m 0644 ${B}/libcrossguid.a ${D}${libdir}/libcrossguid.a + install -D -m 0644 ${S}/guid.h ${D}${includedir}/guid.h +} -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 3 12:03:13 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 03 Jul 2017 12:03:13 +0000 Subject: [oe-commits] [meta-openembedded] 08/09: kodi: User external crossguid In-Reply-To: <149908338571.24666.16150384640226191416@git.openembedded.org> References: <149908338571.24666.16150384640226191416@git.openembedded.org> Message-ID: <20170703120306.4352D23481C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 5b247570fffc802161fdd2e079f707dedf8de43a Author: Khem Raj AuthorDate: Sat Jul 1 14:33:10 2017 -0700 kodi: User external crossguid Prune our .pc directory when looking for configure.ac files Tighten the search regexp to look for just .ac or .in configure files Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb b/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb index 19806a1..3bc2eb5 100644 --- a/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb +++ b/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb @@ -18,6 +18,7 @@ DEPENDS = " \ avahi \ boost \ bzip2 \ + crossguid \ curl \ dcadec \ enca \ @@ -150,13 +151,12 @@ def enable_glew(bb, d): do_configure() { tar xf ${WORKDIR}/${BPN}-${ADDONSPV}-generated-addons.tar.xz -C ${S}/ - ( for i in $(find ${S} -name "configure.*" ) ; do + ( for i in $(find ${S} -name configure.ac -or -name configure.in|grep -v ".pc") ; do cd $(dirname $i) && gnu-configize --force || true done ) ( for f in ${S}/xbmc/interfaces/python/generated/*.cpp; do touch `echo $f|sed -e 's/.cpp$/.xml/g'` done ) - make -C tools/depends/target/crossguid PREFIX=${STAGING_DIR_HOST}${prefix} BOOTSTRAP_STANDALONE=1 make -f bootstrap.mk JSON_BUILDER="${STAGING_BINDIR_NATIVE}/JsonSchemaBuilder" BOOTSTRAP_STANDALONE=1 make JAVA=/bin/true -f codegenerator.mk JSON_BUILDER="${STAGING_BINDIR_NATIVE}/JsonSchemaBuilder" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 3 12:03:14 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 03 Jul 2017 12:03:14 +0000 Subject: [oe-commits] [meta-openembedded] 09/09: ser2net: upgrade to version 3.4 In-Reply-To: <149908338571.24666.16150384640226191416@git.openembedded.org> References: <149908338571.24666.16150384640226191416@git.openembedded.org> Message-ID: <20170703120306.4B7B523481D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 77987451e8bb5ca04c395a4850c10e14e3969ed9 Author: Maxin John AuthorDate: Mon Jul 3 14:29:27 2017 +0300 ser2net: upgrade to version 3.4 2.9.1 -> 3.4 Signed-off-by: Maxin B. John Signed-off-by: Martin Jansa --- .../recipes-connectivity/ser2net/{ser2net_2.9.1.bb => ser2net_3.4.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-oe/recipes-connectivity/ser2net/ser2net_2.9.1.bb b/meta-oe/recipes-connectivity/ser2net/ser2net_3.4.bb similarity index 71% rename from meta-oe/recipes-connectivity/ser2net/ser2net_2.9.1.bb rename to meta-oe/recipes-connectivity/ser2net/ser2net_3.4.bb index 288c586..708650f 100644 --- a/meta-oe/recipes-connectivity/ser2net/ser2net_2.9.1.bb +++ b/meta-oe/recipes-connectivity/ser2net/ser2net_3.4.bb @@ -7,8 +7,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=bae3019b4c6dc4138c217864bd04331f" SRC_URI = "${SOURCEFORGE_MIRROR}/project/ser2net/ser2net/ser2net-${PV}.tar.gz" -SRC_URI[md5sum] = "80011ac0e60bbdcb65f1d7a86251e3f3" -SRC_URI[sha256sum] = "fdee1e69903cf409bdc6f32403a566cbc6006aa9e2a4d6f8f12b90dfd5ca0d0e" +SRC_URI[md5sum] = "562274d783534276a9feac913b7d8c4e" +SRC_URI[sha256sum] = "d846066e27c3072565990745d030357aa0c278f96b7d1d4f59023347c1db8824" inherit autotools pkgconfig -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 3 12:03:11 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 03 Jul 2017 12:03:11 +0000 Subject: [oe-commits] [meta-openembedded] 06/09: gperftools: Fix build on ppc In-Reply-To: <149908338571.24666.16150384640226191416@git.openembedded.org> References: <149908338571.24666.16150384640226191416@git.openembedded.org> Message-ID: <20170703120306.3410A2336C5@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit d6871e905809e43a93b3e68e2281db111ac463f5 Author: Khem Raj AuthorDate: Sat Jul 1 13:30:32 2017 -0700 gperftools: Fix build on ppc Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...Use-ucontext_t-instead-of-struct-ucontext.patch | 36 ++++++++++++++++++++++ .../recipes-support/gperftools/gperftools_2.5.bb | 3 +- 2 files changed, 38 insertions(+), 1 deletion(-) diff --git a/meta-oe/recipes-support/gperftools/gperftools/0001-Use-ucontext_t-instead-of-struct-ucontext.patch b/meta-oe/recipes-support/gperftools/gperftools/0001-Use-ucontext_t-instead-of-struct-ucontext.patch new file mode 100644 index 0000000..5bd0b6f --- /dev/null +++ b/meta-oe/recipes-support/gperftools/gperftools/0001-Use-ucontext_t-instead-of-struct-ucontext.patch @@ -0,0 +1,36 @@ +From 12ac0dc6742e1bcdfaf1842186c9002f0820a5e8 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 1 Jul 2017 13:21:21 -0700 +Subject: [PATCH] Use ucontext_t instead of struct ucontext + +Newer glibc has dropped the ucontext tag from exposing + +Signed-off-by: Khem Raj +--- + src/stacktrace_powerpc-linux-inl.h | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/src/stacktrace_powerpc-linux-inl.h b/src/stacktrace_powerpc-linux-inl.h +index a9bf775..47ff2d7 100644 +--- a/src/stacktrace_powerpc-linux-inl.h ++++ b/src/stacktrace_powerpc-linux-inl.h +@@ -53,7 +53,6 @@ + #elif defined(HAVE_UCONTEXT_H) + #include // for ucontext_t + #endif +-typedef ucontext ucontext_t; + + // PowerPC64 Little Endian follows BE wrt. backchain, condition register, + // and LR save area, so no need to adjust the reading struct. +@@ -202,7 +201,7 @@ static int GET_STACK_TRACE_OR_FRAMES { + struct rt_signal_frame_32 { + char dummy[64 + 16]; + siginfo_t info; +- struct ucontext uc; ++ ucontext_t uc; + // We don't care about the rest, since IP value is at 'uc' field.A + } *sigframe = reinterpret_cast(current); + result[n] = (void*) sigframe->uc.uc_mcontext.uc_regs->gregs[PT_NIP]; +-- +2.13.2 + diff --git a/meta-oe/recipes-support/gperftools/gperftools_2.5.bb b/meta-oe/recipes-support/gperftools/gperftools_2.5.bb index 15cfc97..43780a5 100644 --- a/meta-oe/recipes-support/gperftools/gperftools_2.5.bb +++ b/meta-oe/recipes-support/gperftools/gperftools_2.5.bb @@ -7,7 +7,8 @@ DEPENDS = "libunwind" SRC_URI = "http://pkgs.fedoraproject.org/repo/pkgs/gperftools/gperftools-2.5.tar.gz/aa1eaf95dbe2c9828d0bd3a00f770f50/gperftools-2.5.tar.gz \ file://0001-Support-Atomic-ops-on-clang.patch \ file://0001-Fix-build-failure-for-ppc.patch \ - " + file://0001-Use-ucontext_t-instead-of-struct-ucontext.patch \ + " SRC_URI[md5sum] = "aa1eaf95dbe2c9828d0bd3a00f770f50" SRC_URI[sha256sum] = "6fa2748f1acdf44d750253e160cf6e2e72571329b42e563b455bde09e9e85173" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From martin.jansa at gmail.com Tue Jul 4 06:24:08 2017 From: martin.jansa at gmail.com (Martin Jansa) Date: Tue, 4 Jul 2017 08:24:08 +0200 Subject: [oe-commits] [meta-openembedded] 37/44: python-pytest: update to version 3.1.2 In-Reply-To: <20170619173202.216EB2328FD@git.openembedded.org> References: <149789352069.8282.14573081186702268358@git.openembedded.org> <20170619173202.216EB2328FD@git.openembedded.org> Message-ID: Why is setuptools downloading something (bypassing bitbake fetcher _and_ already populated premirror) causing build failures like this: http://errors.yoctoproject.org/Errors/Details/146740/ On Mon, Jun 19, 2017 at 7:32 PM, wrote: > This is an automated email from the git hooks/post-receive script. > > martin_jansa pushed a commit to branch master > in repository meta-openembedded. > > commit af0e31c58a381c2478435e8d015c142bab58c452 > Author: Derek Straka > AuthorDate: Fri Jun 16 16:02:09 2017 -0400 > > python-pytest: update to version 3.1.2 > > Signed-off-by: Derek Straka > Signed-off-by: Martin Jansa > --- > meta-python/recipes-devtools/python/python-pytest.inc | > 4 ++-- > .../python/{python-pytest_3.0.6.bb => python-pytest_3.1.2.bb} | 0 > .../python/{python3-pytest_3.0.6.bb => python3-pytest_3.1.2.bb} | 0 > 3 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/meta-python/recipes-devtools/python/python-pytest.inc > b/meta-python/recipes-devtools/python/python-pytest.inc > index c9c9bbf..2826838 100644 > --- a/meta-python/recipes-devtools/python/python-pytest.inc > +++ b/meta-python/recipes-devtools/python/python-pytest.inc > @@ -2,8 +2,8 @@ SUMMARY = "Simple powerful teting with python" > LICENSE = "MIT" > LIC_FILES_CHKSUM = "file://LICENSE;md5=d8a5609608d9a5a180705b0fa298ae01" > > -SRC_URI[md5sum] = "6639592fa430567d024189f097fcdbd7" > -SRC_URI[sha256sum] = "643434a9f1a188271da35e20064cb8 > b6c5440976c5bb541dc7b5b0e3cf75d940" > +SRC_URI[md5sum] = "c4d179f89043cc925e1c169d03128e02" > +SRC_URI[sha256sum] = "795ec29fbba70b22a593691ce8bcd4 > bdde2dc96e8099731f73c7d8bb3ce879bf" > > RDEPENDS_${PN}_class-target += " \ > ${PYTHON_PN}-argparse \ > diff --git a/meta-python/recipes-devtools/python/python-pytest_3.0.6.bb > b/meta-python/recipes-devtools/python/python-pytest_3.1.2.bb > similarity index 100% > rename from meta-python/recipes-devtools/python/python-pytest_3.0.6.bb > rename to meta-python/recipes-devtools/python/python-pytest_3.1.2.bb > diff --git a/meta-python/recipes-devtools/python/python3-pytest_3.0.6.bb > b/meta-python/recipes-devtools/python/python3-pytest_3.1.2.bb > similarity index 100% > rename from meta-python/recipes-devtools/python/python3-pytest_3.0.6.bb > rename to meta-python/recipes-devtools/python/python3-pytest_3.1.2.bb > > -- > To stop receiving notification emails like this one, please contact > the administrator of this repository. > -- > _______________________________________________ > Openembedded-commits mailing list > Openembedded-commits at lists.openembedded.org > http://lists.openembedded.org/mailman/listinfo/openembedded-commits > From git at git.openembedded.org Tue Jul 4 15:05:51 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 04 Jul 2017 15:05:51 +0000 Subject: [oe-commits] [bitbake] 01/02: bitbake-user-manual: Replaced bad link In-Reply-To: <149918075031.31990.808160732452759719@git.openembedded.org> References: <149918075031.31990.808160732452759719@git.openembedded.org> Message-ID: <20170704150550.711DE2336C5@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository bitbake. commit 3b8d101e564488ff1f5b27744404f9743da2b97d Author: Kristi Rifenbark AuthorDate: Fri Jun 16 14:20:00 2017 -0700 bitbake-user-manual: Replaced bad link Fixes [YOCTO #11675] There was a "hambedded" link that was broken. The link was intended to show the bitbake.conf file. I replaced it with the link to show the actual bitbake.conf file. Signed-off-by: Kristi Rifenbark Signed-off-by: Richard Purdie --- doc/bitbake-user-manual/bitbake-user-manual-hello.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/bitbake-user-manual/bitbake-user-manual-hello.xml b/doc/bitbake-user-manual/bitbake-user-manual-hello.xml index 8b7edbf..970d028 100644 --- a/doc/bitbake-user-manual/bitbake-user-manual-hello.xml +++ b/doc/bitbake-user-manual/bitbake-user-manual-hello.xml @@ -269,7 +269,7 @@ and define some key BitBake variables. For more information on the bitbake.conf, see - + . Use the following commands to create the conf directory in the project directory: -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 4 15:05:50 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 04 Jul 2017 15:05:50 +0000 Subject: [oe-commits] [bitbake] branch master updated (a457cbf -> 877a1f4) Message-ID: <149918075031.31990.808160732452759719@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master in repository bitbake. from a457cbf npm fetcher: fix unknown variable name. new 3b8d101 bitbake-user-manual: Replaced bad link new 877a1f4 bitbake-user-manual: Removed and replaced broken link The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: doc/bitbake-user-manual/bitbake-user-manual-hello.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 4 15:05:52 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 04 Jul 2017 15:05:52 +0000 Subject: [oe-commits] [bitbake] 02/02: bitbake-user-manual: Removed and replaced broken link In-Reply-To: <149918075031.31990.808160732452759719@git.openembedded.org> References: <149918075031.31990.808160732452759719@git.openembedded.org> Message-ID: <20170704150550.773DD2336C6@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository bitbake. commit 877a1f476212dc151b74ce0f1febdc48956ef0e9 Author: Kristi Rifenbark AuthorDate: Fri Jun 16 15:09:06 2017 -0700 bitbake-user-manual: Removed and replaced broken link Fixes [YOCTO #11675] THere was a "hambedded" link that was broken. The link was intended to give additional information on adding layers. Replaced with link about layers and replaced the wording. Signed-off-by: Kristi Rifenbark Signed-off-by: Richard Purdie --- doc/bitbake-user-manual/bitbake-user-manual-hello.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/bitbake-user-manual/bitbake-user-manual-hello.xml b/doc/bitbake-user-manual/bitbake-user-manual-hello.xml index 970d028..36adf48 100644 --- a/doc/bitbake-user-manual/bitbake-user-manual-hello.xml +++ b/doc/bitbake-user-manual/bitbake-user-manual-hello.xml @@ -375,8 +375,8 @@ ERROR: Unable to parse base: ParseError in configuration INHERITs: Could not inh code separate from the general metadata used by BitBake. Thus, this example creates and uses a layer called "mylayer". - You can find additional information on adding a layer at - . + You can find additional information on layers at + . Minimally, you need a recipe file and a layer configuration -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 4 22:27:19 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 04 Jul 2017 22:27:19 +0000 Subject: [oe-commits] [openembedded-core] branch pyro-next updated (0b5e0d0 -> aab5311) Message-ID: <149920723914.1727.9137589400204491793@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch pyro-next in repository openembedded-core. from 0b5e0d0 package_ipk: Clean up Source entry in ipk packages add 26e2571 Revert "bitbake.conf: Add sdl-config to HOSTTOOLS if using host SDL" new aab5311 u-boot-mkimage: fix nativesdk build The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: meta/conf/bitbake.conf | 3 --- meta/recipes-bsp/u-boot/u-boot-mkimage_2017.01.bb | 2 +- 2 files changed, 1 insertion(+), 4 deletions(-) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 4 22:27:20 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 04 Jul 2017 22:27:20 +0000 Subject: [oe-commits] [openembedded-core] 01/01: u-boot-mkimage: fix nativesdk build In-Reply-To: <149920723914.1727.9137589400204491793@git.openembedded.org> References: <149920723914.1727.9137589400204491793@git.openembedded.org> Message-ID: <20170704222719.3FC302336C5@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch pyro-next in repository openembedded-core. commit aab5311f3ad9fb9f9e26b18b5fe5e54d8ec14798 Author: Max Krummenacher AuthorDate: Wed May 17 22:11:34 2017 +0200 u-boot-mkimage: fix nativesdk build If building for nativesdk the wrong rss sysroot is used leading the following error message. | ERROR: oe_runmake failed | In file included from tools/imximage.c:13:0: | include/image.h:1024:27: fatal error: openssl/evp.h: No such file or directory | # include Tools needed on the build host (script/basic/fixdep) and code compiled for the SDK machine are both built with the build host's compiler, leading to additinal errors. Adding CROSS_COMPILE="${HOST_PREFIX}" and using the cross-compiler for the SDK_ARCH fixes the build error. The resulting binary in the SDK is working. Signed-off-by: Max Krummenacher Signed-off-by: Ross Burton --- meta/recipes-bsp/u-boot/u-boot-mkimage_2017.01.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-bsp/u-boot/u-boot-mkimage_2017.01.bb b/meta/recipes-bsp/u-boot/u-boot-mkimage_2017.01.bb index 1aa95e7..de999e7 100644 --- a/meta/recipes-bsp/u-boot/u-boot-mkimage_2017.01.bb +++ b/meta/recipes-bsp/u-boot/u-boot-mkimage_2017.01.bb @@ -7,7 +7,7 @@ DEPENDS = "openssl" EXTRA_OEMAKE_class-target = 'CROSS_COMPILE="${TARGET_PREFIX}" CC="${CC} ${CFLAGS} ${LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" STRIP=true V=1' EXTRA_OEMAKE_class-native = 'CC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" STRIP=true V=1' -EXTRA_OEMAKE_class-nativesdk = 'CC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" STRIP=true V=1' +EXTRA_OEMAKE_class-nativesdk = 'CROSS_COMPILE="${HOST_PREFIX}" CC="${CC} ${CFLAGS} ${LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" STRIP=true V=1' do_compile () { oe_runmake sandbox_defconfig -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 5 13:48:31 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 05 Jul 2017 13:48:31 +0000 Subject: [oe-commits] [openembedded-core] 01/02: package_manager: flush installed_pkgs file before oe-pkgdata-util uses it In-Reply-To: <149926251007.25070.2482335541054346151@git.openembedded.org> References: <149926251007.25070.2482335541054346151@git.openembedded.org> Message-ID: <20170705134830.2EFDC2336C5@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch pyro-next in repository openembedded-core. commit 9b34200048b3d2b477a19b7ddc8d447f873adbb2 Author: Martin Jansa AuthorDate: Mon Jun 26 08:52:54 2017 +0200 package_manager: flush installed_pkgs file before oe-pkgdata-util uses it * since this commit: commit f5a1013ffa9815f22e13989e2bcb83f966e7ce2c Author: Ross Burton Date: Tue Apr 18 16:19:12 2017 +0100 package_manager: don't race on a file when installing complementary packages the file isn't closed before oe-pkgdata-util uses it and this temporary file might look empty to oe-pkgdata-util, because it wasn't flushed yet. Which resulted in almost empty debugfs tarballs and no locale packages in regular rootfs. * without this change: 124K May 30 07:41 core-image-full-cmdline-raspberrypi3-64-20170530054003-dbg.rootfs.tar.gz * with this change: 173M May 30 07:29 core-image-full-cmdline-raspberrypi3-64-20170530052715-dbg.rootfs.tar.gz Signed-off-by: Martin Jansa Signed-off-by: Ross Burton Signed-off-by: Richard Purdie (cherry picked from commit 877d38db08aa7060d16405443cf70539c559fe82) Signed-off-by: Anders Darander Signed-off-by: Richard Purdie --- meta/lib/oe/package_manager.py | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/lib/oe/package_manager.py b/meta/lib/oe/package_manager.py index f1b65bd..2795dd3 100644 --- a/meta/lib/oe/package_manager.py +++ b/meta/lib/oe/package_manager.py @@ -399,6 +399,7 @@ class PackageManager(object, metaclass=ABCMeta): pkgs = self.list_installed() output = oe.utils.format_pkg_list(pkgs, "arch") installed_pkgs.write(output) + installed_pkgs.flush() cmd = [bb.utils.which(os.getenv('PATH'), "oe-pkgdata-util"), "-p", self.d.getVar('PKGDATA_DIR'), "glob", installed_pkgs.name, -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 5 13:48:30 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 05 Jul 2017 13:48:30 +0000 Subject: [oe-commits] [openembedded-core] branch pyro-next updated (aab5311 -> 915b012) Message-ID: <149926251007.25070.2482335541054346151@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch pyro-next in repository openembedded-core. from aab5311 u-boot-mkimage: fix nativesdk build new 9b34200 package_manager: flush installed_pkgs file before oe-pkgdata-util uses it new 915b012 systemd-boot.bbclass: Add configuration data to secondary EFI partition The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: meta/classes/systemd-boot.bbclass | 1 + meta/lib/oe/package_manager.py | 1 + 2 files changed, 2 insertions(+) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 5 13:48:32 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 05 Jul 2017 13:48:32 +0000 Subject: [oe-commits] [openembedded-core] 02/02: systemd-boot.bbclass: Add configuration data to secondary EFI partition In-Reply-To: <149926251007.25070.2482335541054346151@git.openembedded.org> References: <149926251007.25070.2482335541054346151@git.openembedded.org> Message-ID: <20170705134830.36B152336C6@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch pyro-next in repository openembedded-core. commit 915b01258ef426392bb9052c345f952670db4450 Author: California Sullivan AuthorDate: Mon Jun 26 17:52:17 2017 -0700 systemd-boot.bbclass: Add configuration data to secondary EFI partition The secondary EFI partition is used when booting in EFI mode, and without the configuration data we don't get any boot targets. Partial fix to [YOCTO #11503]. (From OE-Core master rev: 84aa7a00810e135fdad3f77bdb1da7d1f5fb8627) Signed-off-by: California Sullivan Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- meta/classes/systemd-boot.bbclass | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/classes/systemd-boot.bbclass b/meta/classes/systemd-boot.bbclass index 4e69a2c..9597759 100644 --- a/meta/classes/systemd-boot.bbclass +++ b/meta/classes/systemd-boot.bbclass @@ -50,6 +50,7 @@ efi_iso_populate() { efi_populate $iso_dir mkdir -p ${EFIIMGDIR}/${EFIDIR} cp $iso_dir/${EFIDIR}/* ${EFIIMGDIR}${EFIDIR} + cp -r $iso_dir/loader ${EFIIMGDIR} cp $iso_dir/vmlinuz ${EFIIMGDIR} EFIPATH=$(echo "${EFIDIR}" | sed 's/\//\\/g') echo "fs0:${EFIPATH}\\${DEST_EFI_IMAGE}" > ${EFIIMGDIR}/startup.nsh -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 13:39:16 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 13:39:16 +0000 Subject: [oe-commits] [openembedded-core] 02/47: sanity.bbclass: remove ASSUME_PROVIDED checks that can't succeed In-Reply-To: <149934835424.26552.7649440448958570525@git.openembedded.org> References: <149934835424.26552.7649440448958570525@git.openembedded.org> Message-ID: <20170706133914.A59AD23481E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit a8d8b0d9e1c2346d5a314ed0a7bf5be66044a51d Author: Ross Burton AuthorDate: Wed Jun 28 15:38:36 2017 +0100 sanity.bbclass: remove ASSUME_PROVIDED checks that can't succeed qemu-arm and libsdl-native are not in HOSTTOOLS, so there's no point in checking that they're on PATH. Also qemu uses pkg-config to find SDL, so libsdl-native isn't required. Signed-off-by: Ross Burton --- meta/classes/sanity.bbclass | 8 -------- 1 file changed, 8 deletions(-) diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass index e8064ac..ea5f215 100644 --- a/meta/classes/sanity.bbclass +++ b/meta/classes/sanity.bbclass @@ -657,14 +657,6 @@ def check_sanity_version_change(status, d): if "diffstat-native" not in assume_provided: status.addresult('Please use ASSUME_PROVIDED +=, not ASSUME_PROVIDED = in your local.conf\n') - if "qemu-native" in assume_provided: - if not check_app_exists("qemu-arm", d): - status.addresult("qemu-native was in ASSUME_PROVIDED but the QEMU binaries (qemu-arm) can't be found in PATH") - - if "libsdl-native" in assume_provided: - if not check_app_exists("sdl-config", d): - status.addresult("libsdl-native is set to be ASSUME_PROVIDED but sdl-config can't be found in PATH. Please either install it, or configure qemu not to require sdl.") - (result, message) = check_gcc_march(d) if result and message: status.addresult("Your gcc version is older than 4.5, please add the following param to local.conf\n \ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 13:39:14 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 13:39:14 +0000 Subject: [oe-commits] [openembedded-core] branch master updated (de79149 -> 2d7a58e) Message-ID: <149934835424.26552.7649440448958570525@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master in repository openembedded-core. from de79149 scripts/contrib/patchreview: add new script add 008d6cb mkefidsk: fix bash/dash shell quoting problem new b0c65c8 meta/lib/oe/sdk.py: support added for executing pre-target commands new a8d8b0d sanity.bbclass: remove ASSUME_PROVIDED checks that can't succeed new 78ea1af insane: remove obsolete gcc 4.5 check new e5f4e0d cmake: Use find_program if find_host_program is not available new a50073d gtk+3: Update UPSTREAM_CHECK_REGEX new 5f64023 gtk+3: Upgrade 3.22.15 -> 3.22.16 new 43e640d gtk+3: Update the patches to work with old versions of patch new c6b71bc libepoxy: Upgrade 1.4.2 -> 1.4.3 new 64ec18d openssl: Upgrade 1.0.2k -> 1.0.2l new 7b8ae77 sysstat:11.5.5 -> 11.5.6 new 4afb7c3 yocto-compat-layer.py: avoid adding layers more than once new e841655 yocto-compat-layer.py: tolerate broken world builds during signature diff new e7fe215 yocto-compat-layer.py: apply test_signatures to all layers new 1ca35d8 yocto-compat-layer.py: add test_world new 501b5b7 yocto-compat-layer.py: allow README with suffix new ecc9a1f yocto-compat-layer.py: make signature check code reusable new 0d1273c binutils: update SRCREV to fix powerpc gold link bug new bb8bc17 bluez: Correct the timer count for bcm43xx firmware download new ee5555c valgrind: Fix build with glibc 2.26 new 8a4a62a strace: upgrade to 4.17 new 03b0688 qemu: Replace use of struct ucontext with ucontext_t new 8d3bd6f epiphany: Fix build errors when compiling with security flags new 8906f4d icu: Fix build with glibc 2.26 new a071303 valgrind: Remove -no-pie from cflags new b10ecba classes/populate_sdk_base: Fix SDK manifest generation new 2628955 grep: upgrade to 3.1 new 7e88077 expat: upgrade to 2.2.1 new 6f054fc oe-pkgdata-util: package-info: Allow extra variables to be displayed new 2b7232f sanity.bbclass: fix AttributeError in mirror format checks new 49c3dad mesa: Avoid platform probing when building without EGL new f0762f5 mesa: Upgrade to 17.1.4 release new 7e562e2 systemd: Do not use xlocale.h new 00fba52 libgfortran: Add missing dependency gcc-cross new 753de33 libgfortran: Add missing fincludes new c7c72b7 ltp: syscalls/add_key02: fix for nonempty NULL payload new 69bd27d ltp: Reduce local Pending patches new a7480be ltp: add acl, attr, curl and util-linux runtime dependencies new 948a5ce local.conf.sample: drop image-swab reference new 081c7b3 mirrors: Add HTTP mirrors for ftp://sourceware.org new 9e18fc1 avahi-ui: reduce local pending patches new 8766a93 speex: update SRC_URI new 700848c bitbake.conf: support for merged usr with DISTRO_FEATURE usrmerge new 3ebb2da cross.bbclass: merged /usr support new 7ca0415 systemd: changes to support merged /usr new 3f978f2 image: create symlinks needed for merged /usr new 9f52f9f insane.bbclass: Add package QA check for merged /usr. new 2d7a58e image.bbclass: create root symlinks in nativesdk target sysroot The 47 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: meta/classes/cross.bbclass | 2 +- meta/classes/image.bbclass | 32 +++ meta/classes/insane.bbclass | 16 ++ meta/classes/mirrors.bbclass | 3 + meta/classes/populate_sdk_base.bbclass | 39 ++- meta/classes/sanity.bbclass | 60 +---- meta/conf/bitbake.conf | 10 +- meta/conf/local.conf.sample | 1 - meta/lib/oe/sdk.py | 6 + ...c-install-GtkBuilder-interface-files-for-.patch | 9 +- meta/recipes-connectivity/bluez5/bluez5.inc | 1 + ...cm43xx-fix-the-delay-timer-for-firmware-d.patch | 36 +++ meta/recipes-connectivity/openssl/openssl.inc | 5 + .../openssl/openssl/fix-cipher-des-ede3-cfb1.patch | 21 -- ...-pointer-dereference-in-EVP_DigestInit_ex.patch | 23 -- .../{openssl_1.0.2k.bb => openssl_1.0.2l.bb} | 8 +- meta/recipes-core/expat/expat_2.2.0.bb | 5 - meta/recipes-core/expat/expat_2.2.1.bb | 5 + ...se-util-Do-not-include-unneeded-xlocale.h.patch | 27 ++ meta/recipes-core/systemd/systemd_232.bb | 11 +- meta/recipes-devtools/binutils/binutils-2.28.inc | 2 +- meta/recipes-devtools/cmake/cmake.inc | 1 + ...e-find_program-if-find_host_program-is-no.patch | 40 +++ meta/recipes-devtools/gcc/libgfortran.inc | 3 +- ...lace-struct-ucontext-with-ucontext_t-type.patch | 265 ++++++++++++++++++++ meta/recipes-devtools/qemu/qemu_2.8.1.1.bb | 46 ++-- ...8-replace-struct-ucontext-with-ucontext_t.patch | 31 +++ .../strace/strace/Makefile-ptest.patch | 19 +- .../strace/{strace_4.16.bb => strace_4.17.bb} | 5 +- ...sts-Use-ucontext_t-instead-of-struct-ucon.patch | 30 +++ meta/recipes-devtools/valgrind/valgrind_3.12.0.bb | 3 +- .../grep/{grep_3.0.bb => grep_3.1.bb} | 4 +- ...TH_MAX-undeclared-when-building-with-musl.patch | 15 +- ...RDSIZE-undeclared-when-building-with-musl.patch | 23 +- ...ition-of-struct-msgbuf-error-building-wit.patch | 9 +- ...d_key02-update-to-test-fix-for-nonempty-N.patch | 136 +++++++++++ meta/recipes-extended/ltp/ltp_20170516.bb | 25 +- .../{sysstat_11.5.5.bb => sysstat_11.5.6.bb} | 4 +- meta/recipes-gnome/epiphany/epiphany_3.24.2.bb | 6 +- ...bookmarks-Check-for-return-value-of-fread.patch | 32 +++ meta/recipes-gnome/gtk+/gtk+3.inc | 6 +- .../gtk+/gtk+3/0001-Hardcoded-libtool.patch | 12 +- ...Do-not-try-to-initialize-GL-without-libGL.patch | 8 +- .../0003-Add-disable-opengl-configure-option.patch | 272 +++++++++++++++------ ...4-configure.ac-Fix-wayland-protocols-path.patch | 8 +- .../gtk+/{gtk+3_3.22.15.bb => gtk+3_3.22.16.bb} | 4 +- ...3.22.15.bb => gtk-icon-utils-native_3.22.16.bb} | 9 +- .../{libepoxy_1.4.2.bb => libepoxy_1.4.3.bb} | 9 +- .../mesa/{mesa-gl_17.1.3.bb => mesa-gl_17.1.4.bb} | 0 meta/recipes-graphics/mesa/mesa.inc | 2 +- .../mesa/{mesa_17.1.3.bb => mesa_17.1.4.bb} | 4 +- meta/recipes-multimedia/speex/speex_1.2.0.bb | 2 +- .../icu/icu/0001-i18n-Drop-include-xlocale.h.patch | 31 +++ meta/recipes-support/icu/icu_58.2.bb | 3 +- scripts/contrib/mkefidisk.sh | 2 +- scripts/lib/compatlayer/__init__.py | 90 ++++++- scripts/lib/compatlayer/cases/common.py | 92 ++----- scripts/lib/compatlayer/context.py | 3 +- scripts/oe-pkgdata-util | 12 +- scripts/yocto-compat-layer.py | 12 +- 60 files changed, 1204 insertions(+), 396 deletions(-) create mode 100644 meta/recipes-connectivity/bluez5/bluez5/0001-hciattach-bcm43xx-fix-the-delay-timer-for-firmware-d.patch delete mode 100644 meta/recipes-connectivity/openssl/openssl/fix-cipher-des-ede3-cfb1.patch delete mode 100644 meta/recipes-connectivity/openssl/openssl/openssl-avoid-NULL-pointer-dereference-in-EVP_DigestInit_ex.patch rename meta/recipes-connectivity/openssl/{openssl_1.0.2k.bb => openssl_1.0.2l.bb} (86%) delete mode 100644 meta/recipes-core/expat/expat_2.2.0.bb create mode 100644 meta/recipes-core/expat/expat_2.2.1.bb create mode 100644 meta/recipes-core/systemd/systemd/0022-parse-util-Do-not-include-unneeded-xlocale.h.patch create mode 100644 meta/recipes-devtools/cmake/cmake/0001-FindCUDA-Use-find_program-if-find_host_program-is-no.patch create mode 100644 meta/recipes-devtools/qemu/qemu/0001-replace-struct-ucontext-with-ucontext_t-type.patch create mode 100644 meta/recipes-devtools/strace/strace/0008-replace-struct-ucontext-with-ucontext_t.patch rename meta/recipes-devtools/strace/{strace_4.16.bb => strace_4.17.bb} (87%) create mode 100644 meta/recipes-devtools/valgrind/valgrind/0001-memcheck-tests-Use-ucontext_t-instead-of-struct-ucon.patch rename meta/recipes-extended/grep/{grep_3.0.bb => grep_3.1.bb} (89%) create mode 100644 meta/recipes-extended/ltp/ltp/0038-syscalls-add_key02-update-to-test-fix-for-nonempty-N.patch rename meta/recipes-extended/sysstat/{sysstat_11.5.5.bb => sysstat_11.5.6.bb} (53%) create mode 100644 meta/recipes-gnome/epiphany/files/0001-bookmarks-Check-for-return-value-of-fread.patch rename meta/recipes-gnome/gtk+/{gtk+3_3.22.15.bb => gtk+3_3.22.16.bb} (84%) rename meta/recipes-gnome/gtk+/{gtk-icon-utils-native_3.22.15.bb => gtk-icon-utils-native_3.22.16.bb} (86%) rename meta/recipes-graphics/libepoxy/{libepoxy_1.4.2.bb => libepoxy_1.4.3.bb} (70%) rename meta/recipes-graphics/mesa/{mesa-gl_17.1.3.bb => mesa-gl_17.1.4.bb} (100%) rename meta/recipes-graphics/mesa/{mesa_17.1.3.bb => mesa_17.1.4.bb} (84%) create mode 100644 meta/recipes-support/icu/icu/0001-i18n-Drop-include-xlocale.h.patch -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 13:39:15 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 13:39:15 +0000 Subject: [oe-commits] [openembedded-core] 01/47: meta/lib/oe/sdk.py: support added for executing pre-target commands In-Reply-To: <149934835424.26552.7649440448958570525@git.openembedded.org> References: <149934835424.26552.7649440448958570525@git.openembedded.org> Message-ID: <20170706133914.9EFEC23481D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit b0c65c8a64cd0b77629c9f3c65fc827d4cdcf026 Author: Amarnath Valluri AuthorDate: Wed Jun 14 14:30:47 2017 +0300 meta/lib/oe/sdk.py: support added for executing pre-target commands Added a new POPULATE_SDK_PRE_TARGET_COMMAND variable, which can contain functions need to be executed at pre traget sysroot creation phase. classes/populate_sdk_base.bbclass: Added POPULATE_SDK_PRE_TARGET_COMMAND to sdk command variables list. Signed-off-by: Amarnath Valluri Signed-off-by: Richard Purdie --- meta/classes/populate_sdk_base.bbclass | 3 +-- meta/lib/oe/sdk.py | 6 ++++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/meta/classes/populate_sdk_base.bbclass b/meta/classes/populate_sdk_base.bbclass index 01960ee..20ba219 100644 --- a/meta/classes/populate_sdk_base.bbclass +++ b/meta/classes/populate_sdk_base.bbclass @@ -262,8 +262,7 @@ populate_sdk_log_check() { } def sdk_command_variables(d): - return ['OPKG_PREPROCESS_COMMANDS','OPKG_POSTPROCESS_COMMANDS','POPULATE_SDK_POST_HOST_COMMAND','POPULATE_SDK_POST_TARGET_COMMAND','SDK_POSTPROCESS_COMMAND','RPM_PREPROCESS_COMMANDS', - 'RPM_POSTPROCESS_COMMANDS'] + return ['OPKG_PREPROCESS_COMMANDS','OPKG_POSTPROCESS_COMMANDS','POPULATE_SDK_POST_HOST_COMMAND','POPULATE_SDK_PRE_TARGET_COMMAND','POPULATE_SDK_POST_TARGET_COMMAND','SDK_POSTPROCESS_COMMAND','RPM_PREPROCESS_COMMANDS','RPM_POSTPROCESS_COMMANDS'] def sdk_variables(d): variables = ['BUILD_IMAGES_FROM_FEEDS','SDK_OS','SDK_OUTPUT','SDKPATHNATIVE','SDKTARGETSYSROOT','SDK_DIR','SDK_VENDOR','SDKIMAGE_INSTALL_COMPLEMENTARY','SDK_PACKAGE_ARCHS','SDK_OUTPUT', diff --git a/meta/lib/oe/sdk.py b/meta/lib/oe/sdk.py index 1c5409e..30e1fb5 100644 --- a/meta/lib/oe/sdk.py +++ b/meta/lib/oe/sdk.py @@ -145,6 +145,8 @@ class RpmSdk(Sdk): pm.install(pkgs_attempt, True) def _populate(self): + execute_pre_post_process(self.d, self.d.getVar("POPULATE_SDK_PRE_TARGET_COMMAND")) + bb.note("Installing TARGET packages") self._populate_sysroot(self.target_pm, self.target_manifest) @@ -226,6 +228,8 @@ class OpkgSdk(Sdk): [False, True][pkg_type == Manifest.PKG_TYPE_ATTEMPT_ONLY]) def _populate(self): + execute_pre_post_process(self.d, self.d.getVar("POPULATE_SDK_PRE_TARGET_COMMAND")) + bb.note("Installing TARGET packages") self._populate_sysroot(self.target_pm, self.target_manifest) @@ -308,6 +312,8 @@ class DpkgSdk(Sdk): [False, True][pkg_type == Manifest.PKG_TYPE_ATTEMPT_ONLY]) def _populate(self): + execute_pre_post_process(self.d, self.d.getVar("POPULATE_SDK_PRE_TARGET_COMMAND")) + bb.note("Installing TARGET packages") self._populate_sysroot(self.target_pm, self.target_manifest) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 13:39:18 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 13:39:18 +0000 Subject: [oe-commits] [openembedded-core] 04/47: cmake: Use find_program if find_host_program is not available In-Reply-To: <149934835424.26552.7649440448958570525@git.openembedded.org> References: <149934835424.26552.7649440448958570525@git.openembedded.org> Message-ID: <20170706133914.B5B7D234820@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit e5f4e0df64531e2296bb1f5002eb106c3eec61e3 Author: Maxime Roussin-B?langer AuthorDate: Tue Jun 27 10:47:31 2017 -0400 cmake: Use find_program if find_host_program is not available CMake does not define the `find_host_program` command we've been using in the cross-compiling code path. It was provided by a widely used Android toolchain file. For compatibility, continue to use `find_host_program` if available, but otherwise use just `find_program`. Signed-off-by: Maxime Roussin-B?langer Signed-off-by: Ross Burton --- meta/recipes-devtools/cmake/cmake.inc | 1 + ...e-find_program-if-find_host_program-is-no.patch | 40 ++++++++++++++++++++++ 2 files changed, 41 insertions(+) diff --git a/meta/recipes-devtools/cmake/cmake.inc b/meta/recipes-devtools/cmake/cmake.inc index dbd34f5..6aeb25f 100644 --- a/meta/recipes-devtools/cmake/cmake.inc +++ b/meta/recipes-devtools/cmake/cmake.inc @@ -14,6 +14,7 @@ CMAKE_MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:2])}" SRC_URI = "https://cmake.org/files/v${CMAKE_MAJOR_VERSION}/cmake-${PV}.tar.gz \ file://support-oe-qt4-tools-names.patch \ file://qt4-fail-silent.patch \ + file://0001-FindCUDA-Use-find_program-if-find_host_program-is-no.patch \ " SRC_URI[md5sum] = "b5dff61f6a7f1305271ab3f6ae261419" diff --git a/meta/recipes-devtools/cmake/cmake/0001-FindCUDA-Use-find_program-if-find_host_program-is-no.patch b/meta/recipes-devtools/cmake/cmake/0001-FindCUDA-Use-find_program-if-find_host_program-is-no.patch new file mode 100644 index 0000000..9b820db --- /dev/null +++ b/meta/recipes-devtools/cmake/cmake/0001-FindCUDA-Use-find_program-if-find_host_program-is-no.patch @@ -0,0 +1,40 @@ +From 46d25e782ebd9b6c50771b6f30433c58fae03a51 Mon Sep 17 00:00:00 2001 +From: Maxime Roussin-B?langer +Date: Mon, 26 Jun 2017 11:30:07 -0400 +Subject: [PATCH] cmake: Use find_program if find_host_program is not + available + +CMake does not define the `find_host_program` command we've been using +in the cross-compiling code path. It was provided by a widely used +Android toolchain file. For compatibility, continue to use +`find_host_program` if available, but otherwise use just `find_program`. + +Upstream-Status: Accepted +[https://gitlab.kitware.com/cmake/cmake/merge_requests/1009] + - Will be in 3.10 + +Signed-off-by: Maxime Roussin-B?langer +--- + Modules/FindCUDA.cmake | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/Modules/FindCUDA.cmake b/Modules/FindCUDA.cmake +index a4dca54..77ca351 100644 +--- a/Modules/FindCUDA.cmake ++++ b/Modules/FindCUDA.cmake +@@ -679,7 +679,11 @@ if(CMAKE_CROSSCOMPILING) + # add known CUDA targetr root path to the set of directories we search for programs, libraries and headers + set( CMAKE_FIND_ROOT_PATH "${CUDA_TOOLKIT_TARGET_DIR};${CMAKE_FIND_ROOT_PATH}") + macro( cuda_find_host_program ) +- find_host_program( ${ARGN} ) ++ if (COMMAND find_host_program) ++ find_host_program( ${ARGN} ) ++ else() ++ find_program( ${ARGN} ) ++ endif() + endmacro() + else() + # for non-cross-compile, find_host_program == find_program and CUDA_TOOLKIT_TARGET_DIR == CUDA_TOOLKIT_ROOT_DIR +-- +2.1.4 + -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 13:39:17 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 13:39:17 +0000 Subject: [oe-commits] [openembedded-core] 03/47: insane: remove obsolete gcc 4.5 check In-Reply-To: <149934835424.26552.7649440448958570525@git.openembedded.org> References: <149934835424.26552.7649440448958570525@git.openembedded.org> Message-ID: <20170706133914.ACC0B23481F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 78ea1af6bc5d314781be4a3c2d28347312238115 Author: Ross Burton AuthorDate: Wed Jun 28 15:50:45 2017 +0100 insane: remove obsolete gcc 4.5 check As gcc 4.5 is very old now (released in 2010, gcc 4.6 released in 2011) this check can be removed now. Signed-off-by: Ross Burton --- meta/classes/sanity.bbclass | 50 +-------------------------------------------- 1 file changed, 1 insertion(+), 49 deletions(-) diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass index ea5f215..f629d20 100644 --- a/meta/classes/sanity.bbclass +++ b/meta/classes/sanity.bbclass @@ -448,45 +448,6 @@ def check_sanity_validmachine(sanity_data): return messages -# Checks if necessary to add option march to host gcc -def check_gcc_march(sanity_data): - result = True - message = "" - - # Check if -march not in BUILD_CFLAGS - if sanity_data.getVar("BUILD_CFLAGS").find("-march") < 0: - result = False - - # Construct a test file - f = open("gcc_test.c", "w") - f.write("int main (){ volatile int atomic = 2; __sync_bool_compare_and_swap (&atomic, 2, 3); return 0; }\n") - f.close() - - # Check if GCC could work without march - if not result: - status,res = oe.utils.getstatusoutput(sanity_data.expand("${BUILD_CC} gcc_test.c -o gcc_test")) - if status == 0: - result = True; - - if not result: - status,res = oe.utils.getstatusoutput(sanity_data.expand("${BUILD_CC} -march=native gcc_test.c -o gcc_test")) - if status == 0: - message = "BUILD_CFLAGS_append = \" -march=native\"" - result = True; - - if not result: - build_arch = sanity_data.getVar('BUILD_ARCH') - status,res = oe.utils.getstatusoutput(sanity_data.expand("${BUILD_CC} -march=%s gcc_test.c -o gcc_test" % build_arch)) - if status == 0: - message = "BUILD_CFLAGS_append = \" -march=%s\"" % build_arch - result = True; - - os.remove("gcc_test.c") - if os.path.exists("gcc_test"): - os.remove("gcc_test") - - return (result, message) - # Unpatched versions of make 3.82 are known to be broken. See GNU Savannah Bug 30612. # Use a modified reproducer from http://savannah.gnu.org/bugs/?30612 to validate. def check_make_version(sanity_data): @@ -612,7 +573,7 @@ def check_sanity_sstate_dir_change(sstate_dir, data): except IndexError: pass return testmsg - + def check_sanity_version_change(status, d): # Sanity checks to be done when SANITY_VERSION or NATIVELSBSTRING changes # In other words, these tests run once in a given build directory and then @@ -657,15 +618,6 @@ def check_sanity_version_change(status, d): if "diffstat-native" not in assume_provided: status.addresult('Please use ASSUME_PROVIDED +=, not ASSUME_PROVIDED = in your local.conf\n') - (result, message) = check_gcc_march(d) - if result and message: - status.addresult("Your gcc version is older than 4.5, please add the following param to local.conf\n \ - %s\n" % message) - if not result: - status.addresult("Your gcc version is older than 4.5 or is not working properly. Please verify you can build") - status.addresult(" and link something that uses atomic operations, such as: \n") - status.addresult(" __sync_bool_compare_and_swap (&atomic, 2, 3);\n") - # Check that TMPDIR isn't on a filesystem with limited filename length (eg. eCryptFS) tmpdir = d.getVar('TMPDIR') status.addresult(check_create_long_filename(tmpdir, "TMPDIR")) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 13:39:19 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 13:39:19 +0000 Subject: [oe-commits] [openembedded-core] 05/47: gtk+3: Update UPSTREAM_CHECK_REGEX In-Reply-To: <149934835424.26552.7649440448958570525@git.openembedded.org> References: <149934835424.26552.7649440448958570525@git.openembedded.org> Message-ID: <20170706133914.BCBD8234821@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit a50073d933dbadafd6eaef0c2c8ed99bd8de1502 Author: Jussi Kukkonen AuthorDate: Tue Jun 27 16:16:23 2017 +0300 gtk+3: Update UPSTREAM_CHECK_REGEX Avoid versions >= 3.90 (development versions for 4.0). Signed-off-by: Jussi Kukkonen Signed-off-by: Ross Burton --- meta/recipes-gnome/gtk+/gtk+3.inc | 6 +++++- meta/recipes-gnome/gtk+/gtk-icon-utils-native_3.22.15.bb | 5 ++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/meta/recipes-gnome/gtk+/gtk+3.inc b/meta/recipes-gnome/gtk+/gtk+3.inc index 27da844..34845ae 100644 --- a/meta/recipes-gnome/gtk+/gtk+3.inc +++ b/meta/recipes-gnome/gtk+/gtk+3.inc @@ -10,7 +10,11 @@ DEPENDS = "glib-2.0 cairo pango atk jpeg libpng gdk-pixbuf \ LICENSE = "LGPLv2 & LGPLv2+ & LGPLv2.1+" -inherit autotools gettext pkgconfig gtk-doc update-alternatives gtk-immodules-cache gsettings distro_features_check upstream-version-is-even gobject-introspection +inherit autotools gettext pkgconfig gtk-doc update-alternatives gtk-immodules-cache gsettings distro_features_check gobject-introspection + +# versions >= 3.90 are development versions, otherwise like upstream-version-is-even +UPSTREAM_CHECK_REGEX = "[^\d\.](?P3\.([1-8]?[02468])+(\.\d+)+)\.tar" + ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" # This should be in autotools.bbclass, but until something elses uses it putting diff --git a/meta/recipes-gnome/gtk+/gtk-icon-utils-native_3.22.15.bb b/meta/recipes-gnome/gtk+/gtk-icon-utils-native_3.22.15.bb index d8a0bd0..2d65b96 100644 --- a/meta/recipes-gnome/gtk+/gtk-icon-utils-native_3.22.15.bb +++ b/meta/recipes-gnome/gtk+/gtk-icon-utils-native_3.22.15.bb @@ -20,7 +20,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2 \ S = "${WORKDIR}/gtk+-${PV}" -inherit pkgconfig native upstream-version-is-even +inherit pkgconfig native + +# versions >= 3.90 are development versions, otherwise like upstream-version-is-even +UPSTREAM_CHECK_REGEX = "[^\d\.](?P3\.([1-8]?[02468])+(\.\d+)+)\.tar" PKG_CONFIG_FOR_BUILD = "${STAGING_BINDIR_NATIVE}/pkg-config-native" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 13:39:22 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 13:39:22 +0000 Subject: [oe-commits] [openembedded-core] 08/47: libepoxy: Upgrade 1.4.2 -> 1.4.3 In-Reply-To: <149934835424.26552.7649440448958570525@git.openembedded.org> References: <149934835424.26552.7649440448958570525@git.openembedded.org> Message-ID: <20170706133914.D0637234824@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit c6b71bc608c66c216a02fafa4781f19cf6f0f465 Author: Jussi Kukkonen AuthorDate: Tue Jun 27 16:16:25 2017 +0300 libepoxy: Upgrade 1.4.2 -> 1.4.3 Imports the current EGL API registry from Khronos. Makes EGL support optional: this is reflected in the recipe but egl is enabled by default as before. Signed-off-by: Jussi Kukkonen Signed-off-by: Ross Burton --- .../libepoxy/{libepoxy_1.4.2.bb => libepoxy_1.4.3.bb} | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/meta/recipes-graphics/libepoxy/libepoxy_1.4.2.bb b/meta/recipes-graphics/libepoxy/libepoxy_1.4.3.bb similarity index 70% rename from meta/recipes-graphics/libepoxy/libepoxy_1.4.2.bb rename to meta/recipes-graphics/libepoxy/libepoxy_1.4.3.bb index e69e828..c8b398f 100644 --- a/meta/recipes-graphics/libepoxy/libepoxy_1.4.2.bb +++ b/meta/recipes-graphics/libepoxy/libepoxy_1.4.3.bb @@ -6,15 +6,16 @@ LICENSE = "MIT" LIC_FILES_CHKSUM = "file://COPYING;md5=58ef4c80d401e07bd9ee8b6b58cf464b" SRC_URI = "https://github.com/anholt/${BPN}/releases/download/${PV}/${BP}.tar.xz" -SRC_URI[md5sum] = "632fcfd7ae9d21f5a634326d753a89c4" -SRC_URI[sha256sum] = "bea6fdec3d10939954495da898d872ee836b75c35699074cbf02a64fcb80d5b3" +SRC_URI[md5sum] = "af4c3ce0fb1143bdc4e43f85695a9bed" +SRC_URI[sha256sum] = "0b808a06c9685a62fca34b680abb8bc7fb2fda074478e329b063c1f872b826f6" UPSTREAM_CHECK_URI = "https://github.com/anholt/libepoxy/releases" inherit autotools pkgconfig distro_features_check REQUIRED_DISTRO_FEATURES = "opengl" -DEPENDS = "util-macros virtual/egl" +DEPENDS = "util-macros" +PACKAGECONFIG[egl] = "--enable-egl, --disable-egl, virtual/egl" PACKAGECONFIG[x11] = "--enable-glx, --disable-glx, virtual/libx11" -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} egl" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 13:39:24 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 13:39:24 +0000 Subject: [oe-commits] [openembedded-core] 10/47: sysstat:11.5.5 -> 11.5.6 In-Reply-To: <149934835424.26552.7649440448958570525@git.openembedded.org> References: <149934835424.26552.7649440448958570525@git.openembedded.org> Message-ID: <20170706133914.DDE96234826@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 7b8ae7711273e32a187830c7fab493e6fbb065c3 Author: susanbian AuthorDate: Tue Jun 27 15:01:06 2017 +0800 sysstat:11.5.5 -> 11.5.6 Upgrade sysstat from 11.5.5 to 11.5.6. Signed-off-by: susanbian Signed-off-by: Ross Burton --- .../recipes-extended/sysstat/{sysstat_11.5.5.bb => sysstat_11.5.6.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-extended/sysstat/sysstat_11.5.5.bb b/meta/recipes-extended/sysstat/sysstat_11.5.6.bb similarity index 53% rename from meta/recipes-extended/sysstat/sysstat_11.5.5.bb rename to meta/recipes-extended/sysstat/sysstat_11.5.6.bb index 65c81e9..cdf9b12 100644 --- a/meta/recipes-extended/sysstat/sysstat_11.5.5.bb +++ b/meta/recipes-extended/sysstat/sysstat_11.5.6.bb @@ -4,5 +4,5 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=a23a74b3f4caf9616230789d94217acb" SRC_URI += "file://0001-Include-needed-headers-explicitly.patch" -SRC_URI[md5sum] = "f6072bcfd5d2b02f033722f863171d0f" -SRC_URI[sha256sum] = "f4c5b333827cb588df1842d7a8f46947f486c95b305edbbce7565925e88e86c3" +SRC_URI[md5sum] = "92735f1be44c676960b53ee28e3a4984" +SRC_URI[sha256sum] = "83a81e0a6c1d39a0985310dc2944ac6214c963adb4dc8af24ae03a9ae8d0f3ac" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 13:39:20 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 13:39:20 +0000 Subject: [oe-commits] [openembedded-core] 06/47: gtk+3: Upgrade 3.22.15 -> 3.22.16 In-Reply-To: <149934835424.26552.7649440448958570525@git.openembedded.org> References: <149934835424.26552.7649440448958570525@git.openembedded.org> Message-ID: <20170706133914.C2A6A234822@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 5f640236c04132e392237ff254835425c149e1f5 Author: Jussi Kukkonen AuthorDate: Tue Jun 27 16:16:24 2017 +0300 gtk+3: Upgrade 3.22.15 -> 3.22.16 A fair amount of bug fixes and improvements. Signed-off-by: Jussi Kukkonen Signed-off-by: Ross Burton --- .../gtk+/gtk+3/0003-Add-disable-opengl-configure-option.patch | 4 ++-- meta/recipes-gnome/gtk+/{gtk+3_3.22.15.bb => gtk+3_3.22.16.bb} | 4 ++-- ...-icon-utils-native_3.22.15.bb => gtk-icon-utils-native_3.22.16.bb} | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/meta/recipes-gnome/gtk+/gtk+3/0003-Add-disable-opengl-configure-option.patch b/meta/recipes-gnome/gtk+/gtk+3/0003-Add-disable-opengl-configure-option.patch index e6ee21b..91e3512 100644 --- a/meta/recipes-gnome/gtk+/gtk+3/0003-Add-disable-opengl-configure-option.patch +++ b/meta/recipes-gnome/gtk+/gtk+3/0003-Add-disable-opengl-configure-option.patch @@ -824,8 +824,8 @@ index 649981f..a0e48a6 100644 + gdkgears +endif + - if USE_X11 - noinst_PROGRAMS += testerrors + if USE_WAYLAND + noinst_PROGRAMS += testforeign endif diff --git a/testsuite/gtk/objects-finalize.c b/testsuite/gtk/objects-finalize.c index 0b3a519..07b096f 100644 diff --git a/meta/recipes-gnome/gtk+/gtk+3_3.22.15.bb b/meta/recipes-gnome/gtk+/gtk+3_3.22.16.bb similarity index 84% rename from meta/recipes-gnome/gtk+/gtk+3_3.22.15.bb rename to meta/recipes-gnome/gtk+/gtk+3_3.22.16.bb index 35c617c..2ae1d86 100644 --- a/meta/recipes-gnome/gtk+/gtk+3_3.22.15.bb +++ b/meta/recipes-gnome/gtk+/gtk+3_3.22.16.bb @@ -8,8 +8,8 @@ SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk+/${MAJ_VER}/gtk+-${PV}.tar file://0003-Add-disable-opengl-configure-option.patch \ file://0004-configure.ac-Fix-wayland-protocols-path.patch \ " -SRC_URI[md5sum] = "9a1177854c4c5609293e017c53bc8950" -SRC_URI[sha256sum] = "c8a012c2a99132629ab043f764a2b7cb6388483a015cd15c7a4288bec3590fdb" +SRC_URI[md5sum] = "71820863d5479e2c4a5b78f3164d5f15" +SRC_URI[sha256sum] = "3e0c3ad01f3c8c5c9b1cc1ae00852bd55164c8e5a9c1f90ba5e07f14f175fe2c" S = "${WORKDIR}/gtk+-${PV}" diff --git a/meta/recipes-gnome/gtk+/gtk-icon-utils-native_3.22.15.bb b/meta/recipes-gnome/gtk+/gtk-icon-utils-native_3.22.16.bb similarity index 94% rename from meta/recipes-gnome/gtk+/gtk-icon-utils-native_3.22.15.bb rename to meta/recipes-gnome/gtk+/gtk-icon-utils-native_3.22.16.bb index 2d65b96..adfb928 100644 --- a/meta/recipes-gnome/gtk+/gtk-icon-utils-native_3.22.15.bb +++ b/meta/recipes-gnome/gtk+/gtk-icon-utils-native_3.22.16.bb @@ -10,8 +10,8 @@ MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}" SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk+/${MAJ_VER}/gtk+-${PV}.tar.xz \ file://Remove-Gdk-dependency-from-gtk-encode-symbolic-svg.patch" -SRC_URI[md5sum] = "9a1177854c4c5609293e017c53bc8950" -SRC_URI[sha256sum] = "c8a012c2a99132629ab043f764a2b7cb6388483a015cd15c7a4288bec3590fdb" +SRC_URI[md5sum] = "71820863d5479e2c4a5b78f3164d5f15" +SRC_URI[sha256sum] = "3e0c3ad01f3c8c5c9b1cc1ae00852bd55164c8e5a9c1f90ba5e07f14f175fe2c" LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2 \ file://gtk/gtk.h;endline=25;md5=1d8dc0fccdbfa26287a271dce88af737 \ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 13:39:25 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 13:39:25 +0000 Subject: [oe-commits] [openembedded-core] 11/47: yocto-compat-layer.py: avoid adding layers more than once In-Reply-To: <149934835424.26552.7649440448958570525@git.openembedded.org> References: <149934835424.26552.7649440448958570525@git.openembedded.org> Message-ID: <20170706133914.E4D46234827@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 4afb7c3c505a4d21906f07f88c966b794a968cbc Author: Patrick Ohly AuthorDate: Tue Jun 27 17:33:38 2017 +0200 yocto-compat-layer.py: avoid adding layers more than once add_layer_dependencies() might get called more than once, or one of the layer dependencies might already be present. The function should not add layers again because doing so can cause warnings like: WARNING: Duplicate inclusion for .../meta-openembedded/meta-oe/conf/distro/include/meta_oe_security_flags.inc in .../meta-openembedded/meta-oe/conf/layer.conf Signed-off-by: Patrick Ohly Signed-off-by: Ross Burton --- scripts/lib/compatlayer/__init__.py | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/scripts/lib/compatlayer/__init__.py b/scripts/lib/compatlayer/__init__.py index e35f8c0..eaae4e5 100644 --- a/scripts/lib/compatlayer/__init__.py +++ b/scripts/lib/compatlayer/__init__.py @@ -4,6 +4,7 @@ # Released under the MIT license (see COPYING.MIT) import os +import re import subprocess from enum import Enum @@ -189,10 +190,22 @@ def add_layer_dependencies(bblayersconf, layer, layers, logger): if layer_depends is None: return False else: + # Don't add a layer that is already present. + added = set() + output = check_command('Getting existing layers failed.', 'bitbake-layers show-layers').decode('utf-8') + for layer, path, pri in re.findall(r'^(\S+) +([^\n]*?) +(\d+)$', output, re.MULTILINE): + added.add(path) + for layer_depend in layer_depends: - logger.info('Adding layer dependency %s' % layer_depend['name']) + name = layer_depend['name'] + path = layer_depend['path'] + if path in added: + continue + else: + added.add(path) + logger.info('Adding layer dependency %s' % name) with open(bblayersconf, 'a+') as f: - f.write("\nBBLAYERS += \"%s\"\n" % layer_depend['path']) + f.write("\nBBLAYERS += \"%s\"\n" % path) return True def add_layer(bblayersconf, layer, layers, logger): -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 13:39:21 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 13:39:21 +0000 Subject: [oe-commits] [openembedded-core] 07/47: gtk+3: Update the patches to work with old versions of patch In-Reply-To: <149934835424.26552.7649440448958570525@git.openembedded.org> References: <149934835424.26552.7649440448958570525@git.openembedded.org> Message-ID: <20170706133914.CA007234823@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 43e640ddcf32c718b3e0bb3f3654ed60eb497058 Author: Peter Kjellerstedt AuthorDate: Tue Jul 4 02:06:46 2017 +0200 gtk+3: Update the patches to work with old versions of patch The patch "0003-Add-disable-opengl-configure-option.patch" used Git rename syntax, which is not supported by patch 2.6.x and older. Signed-off-by: Peter Kjellerstedt Signed-off-by: Ross Burton --- .../gtk+/gtk+3/0001-Hardcoded-libtool.patch | 12 +- ...Do-not-try-to-initialize-GL-without-libGL.patch | 8 +- .../0003-Add-disable-opengl-configure-option.patch | 268 +++++++++++++++------ ...4-configure.ac-Fix-wayland-protocols-path.patch | 8 +- 4 files changed, 207 insertions(+), 89 deletions(-) diff --git a/meta/recipes-gnome/gtk+/gtk+3/0001-Hardcoded-libtool.patch b/meta/recipes-gnome/gtk+/gtk+3/0001-Hardcoded-libtool.patch index 0bda1f1..c210bbc 100644 --- a/meta/recipes-gnome/gtk+/gtk+3/0001-Hardcoded-libtool.patch +++ b/meta/recipes-gnome/gtk+/gtk+3/0001-Hardcoded-libtool.patch @@ -1,4 +1,4 @@ -From 5a73a5b92566e314bbc8a1bd40f1ec204837c111 Mon Sep 17 00:00:00 2001 +From 0ecaa5bab162abf0cb2057d77beeb7b89d5873b4 Mon Sep 17 00:00:00 2001 From: Jussi Kukkonen Date: Tue, 21 Jun 2016 14:53:56 +0300 Subject: [PATCH 1/4] Hardcoded libtool @@ -12,10 +12,10 @@ Signed-off-by: Jussi Kukkonen 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/configure.ac b/configure.ac -index 23d3077..b6931d6 100644 +index 6628e21..f43ac09 100644 --- a/configure.ac +++ b/configure.ac -@@ -610,7 +610,7 @@ AC_MSG_CHECKING([whether to write dependencies into .pc files]) +@@ -617,7 +617,7 @@ AC_MSG_CHECKING([whether to write dependencies into .pc files]) case $enable_explicit_deps in auto) export SED @@ -24,7 +24,7 @@ index 23d3077..b6931d6 100644 if test "x$deplibs_check_method" != xpass_all || test "x$enable_static" = xyes ; then enable_explicit_deps=yes else -@@ -876,7 +876,7 @@ else +@@ -895,7 +895,7 @@ else dnl Now we check to see if our libtool supports shared lib deps dnl (in a rather ugly way even) if $dynworks; then @@ -33,7 +33,7 @@ index 23d3077..b6931d6 100644 module_deplibs_check=`$module_libtool_config | \ grep '^[[a-z_]]*check[[a-z_]]*_method=[['\''"]]' | \ sed 's/.*[['\''"]]\(.*\)[['\''"]]$/\1/'` -@@ -1630,7 +1630,7 @@ AC_SUBST(GTK_PRINT_BACKENDS) +@@ -1649,7 +1649,7 @@ AC_SUBST(GTK_PRINT_BACKENDS) # We are using gmodule-no-export now, but I'm leaving the stripping # code in place for now, since pango and atk still require gmodule. export SED @@ -43,5 +43,5 @@ index 23d3077..b6931d6 100644 GDK_DEP_LIBS=`echo $GDK_DEP_LIBS | sed -e "s/$export_dynamic//"` GTK_DEP_LIBS=`echo $GTK_DEP_LIBS | sed -e "s/$export_dynamic//"` -- -2.1.4 +2.12.0 diff --git a/meta/recipes-gnome/gtk+/gtk+3/0002-Do-not-try-to-initialize-GL-without-libGL.patch b/meta/recipes-gnome/gtk+/gtk+3/0002-Do-not-try-to-initialize-GL-without-libGL.patch index 989716e..ab7b659 100644 --- a/meta/recipes-gnome/gtk+/gtk+3/0002-Do-not-try-to-initialize-GL-without-libGL.patch +++ b/meta/recipes-gnome/gtk+/gtk+3/0002-Do-not-try-to-initialize-GL-without-libGL.patch @@ -1,4 +1,4 @@ -From d63b926f8c8d8b5c9f9ec33d078b775f0409d88a Mon Sep 17 00:00:00 2001 +From 2d2361f24be1e51201063dbbda570debe8702b6f Mon Sep 17 00:00:00 2001 From: Jussi Kukkonen Date: Fri, 16 Oct 2015 16:35:16 +0300 Subject: [PATCH 2/4] Do not try to initialize GL without libGL @@ -21,10 +21,10 @@ Signed-off-by: Jussi Kukkonen 2 files changed, 12 insertions(+) diff --git a/configure.ac b/configure.ac -index b6931d6..e27da49 100644 +index f43ac09..965eec9 100644 --- a/configure.ac +++ b/configure.ac -@@ -342,6 +342,13 @@ AC_ARG_ENABLE(mir-backend, +@@ -346,6 +346,13 @@ AC_ARG_ENABLE(mir-backend, [enable the Mir gdk backend])], [backend_set=yes]) @@ -56,5 +56,5 @@ index 81479d8..3c8c5c0 100644 gint -- -2.1.4 +2.12.0 diff --git a/meta/recipes-gnome/gtk+/gtk+3/0003-Add-disable-opengl-configure-option.patch b/meta/recipes-gnome/gtk+/gtk+3/0003-Add-disable-opengl-configure-option.patch index 91e3512..9cdee0e 100644 --- a/meta/recipes-gnome/gtk+/gtk+3/0003-Add-disable-opengl-configure-option.patch +++ b/meta/recipes-gnome/gtk+/gtk+3/0003-Add-disable-opengl-configure-option.patch @@ -1,7 +1,7 @@ -From cdfd6216ac49fc7622d563d671a5b6511492827d Mon Sep 17 00:00:00 2001 +From a2e6b7cbbd6d741fed38d91b3742aa4a08395aba Mon Sep 17 00:00:00 2001 From: Jussi Kukkonen Date: Tue, 21 Jun 2016 15:11:39 +0300 -Subject: [PATCH] Add --disable-opengl configure option +Subject: [PATCH 3/4] Add --disable-opengl configure option --disable-opengl will remove the dependency on libepoxy and on the OpenGL APIs. This is useful for those who want to keep using gtk+3 @@ -20,32 +20,34 @@ as it actually will depend on OpenGL. Upstream-Status: Inappropriate [Evil eye expected from upstream] Signed-off-by: Jussi Kukkonen --- - configure.ac | 13 +++++-- - demos/gtk-demo/glarea.c | 13 +++++++ - docs/tools/Makefile.am | 9 +++-- - docs/tools/widgets.c | 4 ++- - gdk/gdkdisplay.c | 4 ++- - gdk/gdkgl.c | 10 ++++++ - gdk/gdkglcontext.c | 6 ++++ - gdk/gdkwindow.c | 13 +++++++ - gdk/x11/Makefile.am | 30 +++++++++++++--- - gdk/x11/gdkdisplay-x11.c | 6 +++- - gdk/x11/gdkscreen-x11.c | 5 +++ - gdk/x11/gdkwindow-x11.c | 4 +++ - gdk/x11/gdkx-autocleanups.h | 2 ++ - gdk/x11/{gdkx.h => gdkx-with-gl-context.h} | 1 - - gdk/x11/gdkx-without-gl-context.h | 58 ++++++++++++++++++++++++++++++ - gtk/Makefile.am | 3 +- - gtk/gtkglarea.c | 20 ++++++++++- - gtk/inspector/general.c | 6 ++++ - tests/Makefile.am | 10 ++++-- - testsuite/gtk/objects-finalize.c | 2 ++ - 20 files changed, 201 insertions(+), 18 deletions(-) - rename gdk/x11/{gdkx.h => gdkx-with-gl-context.h} (98%) + configure.ac | 13 +++++++-- + demos/gtk-demo/glarea.c | 14 +++++++++ + docs/tools/Makefile.am | 9 ++++-- + docs/tools/widgets.c | 4 ++- + gdk/gdkdisplay.c | 4 ++- + gdk/gdkgl.c | 10 +++++++ + gdk/gdkglcontext.c | 6 ++++ + gdk/gdkwindow.c | 13 +++++++++ + gdk/x11/Makefile.am | 30 +++++++++++++++++--- + gdk/x11/gdkdisplay-x11.c | 6 +++- + gdk/x11/gdkscreen-x11.c | 5 ++++ + gdk/x11/gdkwindow-x11.c | 4 +++ + gdk/x11/gdkx-autocleanups.h | 2 ++ + gdk/x11/gdkx-with-gl-context.h | 59 ++++++++++++++++++++++++++++++++++++++ + gdk/x11/gdkx-without-gl-context.h | 58 +++++++++++++++++++++++++++++++++++++ + gdk/x11/gdkx.h | 60 --------------------------------------- + gtk/Makefile.am | 3 +- + gtk/gtkglarea.c | 20 ++++++++++++- + gtk/inspector/general.c | 6 ++++ + tests/Makefile.am | 10 +++++-- + testsuite/gtk/objects-finalize.c | 2 ++ + 21 files changed, 261 insertions(+), 77 deletions(-) + create mode 100644 gdk/x11/gdkx-with-gl-context.h create mode 100644 gdk/x11/gdkx-without-gl-context.h + delete mode 100644 gdk/x11/gdkx.h diff --git a/configure.ac b/configure.ac -index 1cfdbc4..2d1a945 100644 +index 965eec9..00bf544 100644 --- a/configure.ac +++ b/configure.ac @@ -346,6 +346,15 @@ AC_ARG_ENABLE(mir-backend, @@ -83,7 +85,7 @@ index 1cfdbc4..2d1a945 100644 GTK_PRIVATE_PACKAGES="$GTK_PRIVATE_PACKAGES pangoft2" fi diff --git a/demos/gtk-demo/glarea.c b/demos/gtk-demo/glarea.c -index 715b067..4a9c7c8 100644 +index b51e4ae..82409c7 100644 --- a/demos/gtk-demo/glarea.c +++ b/demos/gtk-demo/glarea.c @@ -3,9 +3,12 @@ @@ -99,7 +101,7 @@ index 715b067..4a9c7c8 100644 static GtkWidget *demo_window = NULL; -@@ -23,6 +25,8 @@ enum { +@@ -23,6 +26,8 @@ enum { /* Rotation angles on each axis */ static float rotation_angles[N_AXIS] = { 0.0 }; @@ -108,7 +110,7 @@ index 715b067..4a9c7c8 100644 /* The object we are drawing */ static const GLfloat vertex_data[] = { 0.f, 0.5f, 0.f, 1.f, -@@ -215,6 +219,7 @@ compute_mvp (float *res, +@@ -215,6 +220,7 @@ compute_mvp (float *res, static GLuint position_buffer; static GLuint program; static GLuint mvp_location; @@ -116,7 +118,7 @@ index 715b067..4a9c7c8 100644 /* We need to set up our state when we realize the GtkGLArea widget */ static void -@@ -241,8 +246,10 @@ realize (GtkWidget *widget) +@@ -241,8 +247,10 @@ realize (GtkWidget *widget) fragment_path = "/glarea/glarea-gl.fs.glsl"; } @@ -127,7 +129,7 @@ index 715b067..4a9c7c8 100644 } /* We should tear down the state when unrealizing */ -@@ -254,10 +261,13 @@ unrealize (GtkWidget *widget) +@@ -254,10 +262,13 @@ unrealize (GtkWidget *widget) if (gtk_gl_area_get_error (GTK_GL_AREA (widget)) != NULL) return; @@ -141,7 +143,7 @@ index 715b067..4a9c7c8 100644 static void draw_triangle (void) { -@@ -290,6 +300,7 @@ draw_triangle (void) +@@ -290,6 +301,7 @@ draw_triangle (void) glBindBuffer (GL_ARRAY_BUFFER, 0); glUseProgram (0); } @@ -149,7 +151,7 @@ index 715b067..4a9c7c8 100644 static gboolean render (GtkGLArea *area, -@@ -298,6 +309,7 @@ render (GtkGLArea *area, +@@ -298,6 +310,7 @@ render (GtkGLArea *area, if (gtk_gl_area_get_error (area) != NULL) return FALSE; @@ -157,7 +159,7 @@ index 715b067..4a9c7c8 100644 /* Clear the viewport */ glClearColor (0.5, 0.5, 0.5, 1.0); glClear (GL_COLOR_BUFFER_BIT); -@@ -307,6 +319,7 @@ render (GtkGLArea *area, +@@ -307,6 +320,7 @@ render (GtkGLArea *area, /* Flush the contents of the pipeline */ glFlush (); @@ -208,7 +210,7 @@ index 932daf1..54239d6 100644 return info; diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c -index ed0e65f..1f81b71 100644 +index 6b012ca..311c7f7 100644 --- a/gdk/gdkdisplay.c +++ b/gdk/gdkdisplay.c @@ -2409,7 +2409,9 @@ gboolean @@ -223,7 +225,7 @@ index ed0e65f..1f81b71 100644 GdkRenderingMode diff --git a/gdk/gdkgl.c b/gdk/gdkgl.c -index 51d2b02..efa9e95 100644 +index 8e7b8c2..b579b22 100644 --- a/gdk/gdkgl.c +++ b/gdk/gdkgl.c @@ -22,7 +22,9 @@ @@ -276,7 +278,7 @@ index 51d2b02..efa9e95 100644 GdkGLContext *paint_context; cairo_surface_t *image; cairo_matrix_t matrix; -@@ -706,6 +713,7 @@ out: +@@ -707,6 +714,7 @@ out: if (clip_region) cairo_region_destroy (clip_region); @@ -284,7 +286,7 @@ index 51d2b02..efa9e95 100644 } /* This is always called with the paint context current */ -@@ -713,6 +721,7 @@ void +@@ -714,6 +722,7 @@ void gdk_gl_texture_from_surface (cairo_surface_t *surface, cairo_region_t *region) { @@ -292,14 +294,14 @@ index 51d2b02..efa9e95 100644 GdkGLContext *paint_context; cairo_surface_t *image; double device_x_offset, device_y_offset; -@@ -813,4 +822,5 @@ gdk_gl_texture_from_surface (cairo_surface_t *surface, +@@ -814,4 +823,5 @@ gdk_gl_texture_from_surface (cairo_surface_t *surface, glDisable (GL_SCISSOR_TEST); glDeleteTextures (1, &texture_id); +#endif } diff --git a/gdk/gdkglcontext.c b/gdk/gdkglcontext.c -index bf6e45f..d016e4b 100644 +index c79dca0..8a7bec2 100644 --- a/gdk/gdkglcontext.c +++ b/gdk/gdkglcontext.c @@ -85,7 +85,9 @@ @@ -312,7 +314,7 @@ index bf6e45f..d016e4b 100644 typedef struct { GdkDisplay *display; -@@ -243,6 +243,7 @@ gdk_gl_context_upload_texture (GdkGLContext *context, +@@ -243,6 +245,7 @@ gdk_gl_context_upload_texture (GdkGLContext *context, int height, guint texture_target) { @@ -320,7 +322,7 @@ index bf6e45f..d016e4b 100644 GdkGLContextPrivate *priv = gdk_gl_context_get_instance_private (context); g_return_if_fail (GDK_IS_GL_CONTEXT (context)); -@@ -286,6 +287,7 @@ gdk_gl_context_upload_texture (GdkGLContext *context, +@@ -286,6 +289,7 @@ gdk_gl_context_upload_texture (GdkGLContext *context, glTexSubImage2D (texture_target, 0, 0, i, width, 1, GL_BGRA, GL_UNSIGNED_INT_8_8_8_8_REV, (unsigned char*) data + (i * stride)); } } @@ -328,7 +330,7 @@ index bf6e45f..d016e4b 100644 } static gboolean -@@ -760,6 +764,7 @@ gdk_gl_context_realize (GdkGLContext *context, +@@ -774,6 +778,7 @@ gdk_gl_context_realize (GdkGLContext *context, static void gdk_gl_context_check_extensions (GdkGLContext *context) { @@ -336,7 +338,7 @@ index bf6e45f..d016e4b 100644 GdkGLContextPrivate *priv = gdk_gl_context_get_instance_private (context); gboolean has_npot, has_texture_rectangle; -@@ -824,6 +829,7 @@ gdk_gl_context_check_extensions (GdkGLContext *context) +@@ -847,6 +852,7 @@ gdk_gl_context_check_extensions (GdkGLContext *context) priv->use_texture_rectangle ? "yes" : "no")); priv->extensions_checked = TRUE; @@ -345,7 +347,7 @@ index bf6e45f..d016e4b 100644 /** diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c -index 514732d..0e4fc7e 100644 +index 689d666..fb84256 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -45,7 +45,9 @@ @@ -358,7 +360,7 @@ index 514732d..0e4fc7e 100644 /* for the use of round() */ #include "fallback-c89.c" -@@ -2801,6 +2803,13 @@ gdk_window_get_paint_gl_context (GdkWindow *window, +@@ -2819,6 +2821,13 @@ gdk_window_get_paint_gl_context (GdkWindow *window, { GError *internal_error = NULL; @@ -372,7 +374,7 @@ index 514732d..0e4fc7e 100644 if (_gdk_gl_flags & GDK_GL_DISABLE) { g_set_error_literal (error, GDK_GL_ERROR, -@@ -2936,6 +2945,7 @@ gdk_window_begin_paint_internal (GdkWindow *window, +@@ -2954,6 +2963,7 @@ gdk_window_begin_paint_internal (GdkWindow *window, } else { @@ -380,7 +382,7 @@ index 514732d..0e4fc7e 100644 gdk_gl_context_make_current (context); /* With gl we always need a surface to combine the gl drawing with the native drawing. */ -@@ -2950,6 +2960,7 @@ gdk_window_begin_paint_internal (GdkWindow *window, +@@ -2968,6 +2978,7 @@ gdk_window_begin_paint_internal (GdkWindow *window, glBlendFunc (GL_ONE, GL_ONE_MINUS_SRC_ALPHA); glViewport (0, 0, ww, wh); @@ -388,7 +390,7 @@ index 514732d..0e4fc7e 100644 } } -@@ -3013,6 +3024,7 @@ gdk_window_end_paint_internal (GdkWindow *window) +@@ -3031,6 +3042,7 @@ gdk_window_end_paint_internal (GdkWindow *window) gdk_gl_context_make_current (window->gl_paint_context); @@ -396,7 +398,7 @@ index 514732d..0e4fc7e 100644 if (!cairo_region_is_empty (opaque_region)) gdk_gl_texture_from_surface (window->current_paint.surface, opaque_region); -@@ -3023,6 +3035,7 @@ gdk_window_end_paint_internal (GdkWindow *window) +@@ -3041,6 +3053,7 @@ gdk_window_end_paint_internal (GdkWindow *window) window->current_paint.need_blend_region); glDisable(GL_BLEND); } @@ -502,10 +504,10 @@ index ad65e29..91345ee 100644 display_class->get_default_seat = gdk_x11_display_get_default_seat; diff --git a/gdk/x11/gdkscreen-x11.c b/gdk/x11/gdkscreen-x11.c -index 450872d..f8a2f6e 100644 +index 7bf9979..cd1cc9d 100644 --- a/gdk/x11/gdkscreen-x11.c +++ b/gdk/x11/gdkscreen-x11.c -@@ -1642,3 +1642,8 @@ gdk_x11_screen_get_current_desktop (GdkScreen *screen) +@@ -1643,3 +1643,8 @@ gdk_x11_screen_get_current_desktop (GdkScreen *screen) { return get_netwm_cardinal_property (screen, "_NET_CURRENT_DESKTOP"); } @@ -515,7 +517,7 @@ index 450872d..f8a2f6e 100644 +void _gdk_x11_screen_update_visuals_for_gl (GdkScreen *screen) {} +#endif diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c -index fe311a7..d16bdfe 100644 +index 3d6fd3b..2bd5c87 100644 --- a/gdk/x11/gdkwindow-x11.c +++ b/gdk/x11/gdkwindow-x11.c @@ -36,7 +36,9 @@ @@ -528,7 +530,7 @@ index fe311a7..d16bdfe 100644 #include "gdkprivate-x11.h" #include "gdk-private.h" -@@ -5781,7 +5783,9 @@ gdk_window_impl_x11_class_init (GdkWindowImplX11Class *klass) +@@ -5801,7 +5803,9 @@ gdk_window_impl_x11_class_init (GdkWindowImplX11Class *klass) impl_class->set_opaque_region = gdk_x11_window_set_opaque_region; impl_class->set_shadow_width = gdk_x11_window_set_shadow_width; impl_class->show_window_menu = gdk_x11_window_show_window_menu; @@ -552,21 +554,71 @@ index edb0ea7..a317d61 100644 G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11Keymap, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11Screen, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11Visual, g_object_unref) -diff --git a/gdk/x11/gdkx.h b/gdk/x11/gdkx-with-gl-context.h -similarity index 98% -rename from gdk/x11/gdkx.h -rename to gdk/x11/gdkx-with-gl-context.h -index 1f64bcc..ae05fa6 100644 ---- a/gdk/x11/gdkx.h +diff --git a/gdk/x11/gdkx-with-gl-context.h b/gdk/x11/gdkx-with-gl-context.h +new file mode 100644 +index 0000000..ae05fa6 +--- /dev/null +++ b/gdk/x11/gdkx-with-gl-context.h -@@ -45,7 +45,6 @@ - #include - #include - #include --#include - #include - #include - #include +@@ -0,0 +1,59 @@ ++/* GDK - The GIMP Drawing Kit ++ * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald ++ * ++ * This library is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Lesser General Public ++ * License as published by the Free Software Foundation; either ++ * version 2 of the License, or (at your option) any later version. ++ * ++ * This library is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * Lesser General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General Public ++ * License along with this library. If not, see . ++ */ ++ ++/* ++ * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS ++ * file for a list of people on the GTK+ Team. See the ChangeLog ++ * files for a list of changes. These files are distributed with ++ * GTK+ at ftp://ftp.gtk.org/pub/gtk/. ++ */ ++ ++#ifndef __GDK_X_H__ ++#define __GDK_X_H__ ++ ++#include ++ ++#include ++#include ++ ++#define __GDKX_H_INSIDE__ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include ++ ++#undef __GDKX_H_INSIDE__ ++ ++#endif /* __GDK_X_H__ */ diff --git a/gdk/x11/gdkx-without-gl-context.h b/gdk/x11/gdkx-without-gl-context.h new file mode 100644 index 0000000..c9e2617 @@ -631,11 +683,77 @@ index 0000000..c9e2617 +#undef __GDKX_H_INSIDE__ + +#endif /* __GDK_X_H__ */ +diff --git a/gdk/x11/gdkx.h b/gdk/x11/gdkx.h +deleted file mode 100644 +index 1f64bcc..0000000 +--- a/gdk/x11/gdkx.h ++++ /dev/null +@@ -1,60 +0,0 @@ +-/* GDK - The GIMP Drawing Kit +- * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald +- * +- * This library is free software; you can redistribute it and/or +- * modify it under the terms of the GNU Lesser General Public +- * License as published by the Free Software Foundation; either +- * version 2 of the License, or (at your option) any later version. +- * +- * This library is distributed in the hope that it will be useful, +- * but WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- * Lesser General Public License for more details. +- * +- * You should have received a copy of the GNU Lesser General Public +- * License along with this library. If not, see . +- */ +- +-/* +- * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS +- * file for a list of people on the GTK+ Team. See the ChangeLog +- * files for a list of changes. These files are distributed with +- * GTK+ at ftp://ftp.gtk.org/pub/gtk/. +- */ +- +-#ifndef __GDK_X_H__ +-#define __GDK_X_H__ +- +-#include +- +-#include +-#include +- +-#define __GDKX_H_INSIDE__ +- +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include +- +-#include +- +-#undef __GDKX_H_INSIDE__ +- +-#endif /* __GDK_X_H__ */ diff --git a/gtk/Makefile.am b/gtk/Makefile.am -index 3b76b82..eb4a065 100644 +index 45fb7c2..ce81011 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am -@@ -1378,14 +1378,13 @@ gtkprivatetypebuiltins.c: $(gtk_private_type_h_sources) gtkprivatetypebuiltins. +@@ -1411,14 +1411,13 @@ gtkprivatetypebuiltins.c: $(gtk_private_type_h_sources) gtkprivatetypebuiltins. && cp xgen-gptbc gtkprivatetypebuiltins.c \ && rm -f xgen-gptbc @@ -748,7 +866,7 @@ index 094378e..f7c7f47 100644 static gboolean diff --git a/gtk/inspector/general.c b/gtk/inspector/general.c -index 31dd6aa..1cedbd3 100644 +index c241ec8..24576dd 100644 --- a/gtk/inspector/general.c +++ b/gtk/inspector/general.c @@ -33,8 +33,10 @@ @@ -778,7 +896,7 @@ index 31dd6aa..1cedbd3 100644 #ifdef GDK_WINDOWING_WAYLAND static void -@@ -220,6 +224,7 @@ append_egl_extension_row (GtkInspectorGeneral *gen, +@@ -254,6 +258,7 @@ wayland_get_display (struct wl_display *wl_display) static void init_gl (GtkInspectorGeneral *gen) { @@ -786,7 +904,7 @@ index 31dd6aa..1cedbd3 100644 #ifdef GDK_WINDOWING_X11 if (GDK_IS_X11_DISPLAY (gdk_display_get_default ())) { -@@ -246,6 +251,7 @@ init_gl (GtkInspectorGeneral *gen) +@@ -280,6 +285,7 @@ init_gl (GtkInspectorGeneral *gen) } else #endif @@ -795,7 +913,7 @@ index 31dd6aa..1cedbd3 100644 if (GDK_IS_WAYLAND_DISPLAY (gdk_display_get_default ())) { diff --git a/tests/Makefile.am b/tests/Makefile.am -index 649981f..a0e48a6 100644 +index f86c166..ba1acad 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -80,8 +80,6 @@ noinst_PROGRAMS = $(TEST_PROGS) \ @@ -807,7 +925,7 @@ index 649981f..a0e48a6 100644 testgrid \ testgtk \ testheaderbar \ -@@ -169,12 +167,18 @@ noinst_PROGRAMS = $(TEST_PROGS) \ +@@ -170,12 +168,18 @@ noinst_PROGRAMS = $(TEST_PROGS) \ testactionbar \ testwindowsize \ testpopover \ @@ -843,5 +961,5 @@ index 0b3a519..07b096f 100644 all_types[i] != GDK_TYPE_PIXBUF_LOADER && all_types[i] != GDK_TYPE_DRAWING_CONTEXT && -- -2.1.4 +2.12.0 diff --git a/meta/recipes-gnome/gtk+/gtk+3/0004-configure.ac-Fix-wayland-protocols-path.patch b/meta/recipes-gnome/gtk+/gtk+3/0004-configure.ac-Fix-wayland-protocols-path.patch index 634b3a4..aca55ce 100644 --- a/meta/recipes-gnome/gtk+/gtk+3/0004-configure.ac-Fix-wayland-protocols-path.patch +++ b/meta/recipes-gnome/gtk+/gtk+3/0004-configure.ac-Fix-wayland-protocols-path.patch @@ -1,4 +1,4 @@ -From 97b78e566634579bbae51be914aeaaa921137a8b Mon Sep 17 00:00:00 2001 +From 34f4d3928e8206a89b0a601bdf79d6194b3cc77e Mon Sep 17 00:00:00 2001 From: Jussi Kukkonen Date: Thu, 9 Jun 2016 11:21:36 +0300 Subject: [PATCH 4/4] configure.ac: Fix wayland-protocols path @@ -19,10 +19,10 @@ Signed-off-by: Jussi Kukkonen 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac -index a3e9beb..dde9dc5 100644 +index 00bf544..5515915 100644 --- a/configure.ac +++ b/configure.ac -@@ -461,7 +461,7 @@ fi +@@ -465,7 +465,7 @@ fi if test "$enable_wayland_backend" = "yes"; then # For the cairo image backend cairo_backends="$cairo_backends cairo" @@ -32,5 +32,5 @@ index a3e9beb..dde9dc5 100644 GDK_WINDOWING="$GDK_WINDOWING #define GDK_WINDOWING_WAYLAND" -- -2.1.4 +2.12.0 -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 13:39:28 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 13:39:28 +0000 Subject: [oe-commits] [openembedded-core] 14/47: yocto-compat-layer.py: add test_world In-Reply-To: <149934835424.26552.7649440448958570525@git.openembedded.org> References: <149934835424.26552.7649440448958570525@git.openembedded.org> Message-ID: <20170706133915.04E8C23482A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 1ca35d8571a92c7f8f80c909ca38666da82eb929 Author: Patrick Ohly AuthorDate: Tue Jun 27 17:33:41 2017 +0200 yocto-compat-layer.py: add test_world "test_signatures" ignores wold build breakage for the sake of reporting differences also when a world build is broken. Therefore we need a dedicated test that a world build at least theoretically can proceed without obvious parse time problems (dependencies, parse errors, dangling .bbappends, etc.). This is similar to the BSP test_machine_world. The difference is that test_world doesn't change the MACHINE. Signed-off-by: Patrick Ohly Signed-off-by: Ross Burton --- scripts/lib/compatlayer/cases/common.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/scripts/lib/compatlayer/cases/common.py b/scripts/lib/compatlayer/cases/common.py index a1cdbab..ede002d 100644 --- a/scripts/lib/compatlayer/cases/common.py +++ b/scripts/lib/compatlayer/cases/common.py @@ -26,6 +26,15 @@ class CommonCompatLayer(OECompatLayerTestCase): check_command('Layer %s failed to show environment.' % self.tc.layer['name'], 'bitbake -e') + def test_world(self): + ''' + "bitbake world" is expected to work. test_signatures does not cover that + because it is more lenient and ignores recipes in a world build that + are not actually buildable, so here we fail when "bitbake -S none world" + fails. + ''' + get_signatures(self.td['builddir'], failsafe=False) + def test_signatures(self): if self.tc.layer['type'] == LayerType.SOFTWARE and \ not self.tc.test_software_layer_signatures: -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 13:39:23 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 13:39:23 +0000 Subject: [oe-commits] [openembedded-core] 09/47: openssl: Upgrade 1.0.2k -> 1.0.2l In-Reply-To: <149934835424.26552.7649440448958570525@git.openembedded.org> References: <149934835424.26552.7649440448958570525@git.openembedded.org> Message-ID: <20170706133914.D68E3234825@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 64ec18d7e13d310e5e44080a04b3f2181ea96ae3 Author: Changhyeok Bae AuthorDate: Sun Jun 18 15:23:34 2017 +0000 openssl: Upgrade 1.0.2k -> 1.0.2l 1. Dropped obsolete patches, because the new version contains them: - fix-cipher-des-ede3-cfb1.patch - openssl-avoid-NULL-pointer-dereference-in-EVP_DigestInit_ex.patch 2. LICENSE checksum change due to copyright years and wording tweak. 3. Test binaries (x86-64) are included in source code. So remove those only for ptest. Signed-off-by: Changhyeok Bae Signed-off-by: Ross Burton --- meta/recipes-connectivity/openssl/openssl.inc | 5 +++++ .../openssl/openssl/fix-cipher-des-ede3-cfb1.patch | 21 -------------------- ...-pointer-dereference-in-EVP_DigestInit_ex.patch | 23 ---------------------- .../{openssl_1.0.2k.bb => openssl_1.0.2l.bb} | 8 +++----- 4 files changed, 8 insertions(+), 49 deletions(-) diff --git a/meta/recipes-connectivity/openssl/openssl.inc b/meta/recipes-connectivity/openssl/openssl.inc index 3980ec2..ce295e8 100644 --- a/meta/recipes-connectivity/openssl/openssl.inc +++ b/meta/recipes-connectivity/openssl/openssl.inc @@ -236,6 +236,11 @@ do_install_ptest () { # modified again later when stripping them, but that's okay. touch ${D}${PTEST_PATH} find ${D}${PTEST_PATH} -type f -print0 | xargs --verbose -0 touch -r ${D}${PTEST_PATH} + + # exclude binary files or the package won't install + for d in ssltest_old v3ext x509aux; do + rm -rf ${D}${libdir}/${BPN}/ptest/test/$d + done } do_install_append_class-native() { diff --git a/meta/recipes-connectivity/openssl/openssl/fix-cipher-des-ede3-cfb1.patch b/meta/recipes-connectivity/openssl/openssl/fix-cipher-des-ede3-cfb1.patch deleted file mode 100644 index 2a318a4..0000000 --- a/meta/recipes-connectivity/openssl/openssl/fix-cipher-des-ede3-cfb1.patch +++ /dev/null @@ -1,21 +0,0 @@ -Upstream-Status: Submitted - -This patch adds the fix for one of the ciphers used in openssl, namely -the cipher des-ede3-cfb1. Complete bug log and patch is present here: -http://rt.openssl.org/Ticket/Display.html?id=2867 - -Signed-off-by: Muhammad Shakeel - -Index: openssl-1.0.2/crypto/evp/e_des3.c -=================================================================== ---- openssl-1.0.2.orig/crypto/evp/e_des3.c -+++ openssl-1.0.2/crypto/evp/e_des3.c -@@ -211,7 +211,7 @@ static int des_ede3_cfb1_cipher(EVP_CIPH - size_t n; - unsigned char c[1], d[1]; - -- for (n = 0; n < inl; ++n) { -+ for (n = 0; n * 8 < inl; ++n) { - c[0] = (in[n / 8] & (1 << (7 - n % 8))) ? 0x80 : 0; - DES_ede3_cfb_encrypt(c, d, 1, 1, - &data(ctx)->ks1, &data(ctx)->ks2, diff --git a/meta/recipes-connectivity/openssl/openssl/openssl-avoid-NULL-pointer-dereference-in-EVP_DigestInit_ex.patch b/meta/recipes-connectivity/openssl/openssl/openssl-avoid-NULL-pointer-dereference-in-EVP_DigestInit_ex.patch deleted file mode 100644 index f736e5c..0000000 --- a/meta/recipes-connectivity/openssl/openssl/openssl-avoid-NULL-pointer-dereference-in-EVP_DigestInit_ex.patch +++ /dev/null @@ -1,23 +0,0 @@ -openssl: avoid NULL pointer dereference in EVP_DigestInit_ex() - -We should avoid accessing the type pointer if it's NULL, -this could happen if ctx->digest is not NULL. - -Upstream-Status: Submitted -http://www.mail-archive.com/openssl-dev at openssl.org/msg32860.html - -Signed-off-by: Xufeng Zhang ---- -Index: openssl-1.0.2h/crypto/evp/digest.c -=================================================================== ---- openssl-1.0.2h.orig/crypto/evp/digest.c -+++ openssl-1.0.2h/crypto/evp/digest.c -@@ -211,7 +211,7 @@ int EVP_DigestInit_ex(EVP_MD_CTX *ctx, c - type = ctx->digest; - } - #endif -- if (ctx->digest != type) { -+ if (type && (ctx->digest != type)) { - if (ctx->digest && ctx->digest->ctx_size) { - OPENSSL_free(ctx->md_data); - ctx->md_data = NULL; diff --git a/meta/recipes-connectivity/openssl/openssl_1.0.2k.bb b/meta/recipes-connectivity/openssl/openssl_1.0.2l.bb similarity index 86% rename from meta/recipes-connectivity/openssl/openssl_1.0.2k.bb rename to meta/recipes-connectivity/openssl/openssl_1.0.2l.bb index 83d1a50..a2ef2ac 100644 --- a/meta/recipes-connectivity/openssl/openssl_1.0.2k.bb +++ b/meta/recipes-connectivity/openssl/openssl_1.0.2l.bb @@ -7,7 +7,7 @@ DEPENDS += "cryptodev-linux" CFLAG += "-DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS" CFLAG_append_class-native = " -fPIC" -LIC_FILES_CHKSUM = "file://LICENSE;md5=27ffa5d74bb5a337056c14b2ef93fbf6" +LIC_FILES_CHKSUM = "file://LICENSE;md5=057d9218c6180e1d9ee407572b2dd225" export DIRS = "crypto ssl apps engines" export OE_LDFLAGS="${LDFLAGS}" @@ -32,8 +32,6 @@ SRC_URI += "file://find.pl;subdir=${BP}/util/ \ file://debian1.0.2/version-script.patch \ file://debian1.0.2/soname.patch \ file://openssl_fix_for_x32.patch \ - file://fix-cipher-des-ede3-cfb1.patch \ - file://openssl-avoid-NULL-pointer-dereference-in-EVP_DigestInit_ex.patch \ file://openssl-fix-des.pod-error.patch \ file://Makefiles-ptest.patch \ file://ptest-deps.patch \ @@ -45,8 +43,8 @@ SRC_URI += "file://find.pl;subdir=${BP}/util/ \ file://Use-SHA256-not-MD5-as-default-digest.patch \ file://0001-Fix-build-with-clang-using-external-assembler.patch \ " -SRC_URI[md5sum] = "f965fc0bf01bf882b31314b61391ae65" -SRC_URI[sha256sum] = "6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" +SRC_URI[md5sum] = "f85123cd390e864dfbe517e7616e6566" +SRC_URI[sha256sum] = "ce07195b659e75f4e1db43552860070061f156a98bb37b672b101ba6e3ddf30c" PACKAGES =+ "${PN}-engines" FILES_${PN}-engines = "${libdir}/ssl/engines/*.so ${libdir}/engines" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 13:39:26 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 13:39:26 +0000 Subject: [oe-commits] [openembedded-core] 12/47: yocto-compat-layer.py: tolerate broken world builds during signature diff In-Reply-To: <149934835424.26552.7649440448958570525@git.openembedded.org> References: <149934835424.26552.7649440448958570525@git.openembedded.org> Message-ID: <20170706133914.EB3F8234828@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit e8416554dfc9d4196543279a4845f6c0671f3e5c Author: Patrick Ohly AuthorDate: Tue Jun 27 17:33:39 2017 +0200 yocto-compat-layer.py: tolerate broken world builds during signature diff The "test_signatures" test ignored a broken world build when getting signatures, but the code which then tried to analyze a difference found by the test didn't, which prevented printing the difference. Signed-off-by: Patrick Ohly Signed-off-by: Ross Burton --- scripts/lib/compatlayer/__init__.py | 7 ++++++- scripts/lib/compatlayer/cases/common.py | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/scripts/lib/compatlayer/__init__.py b/scripts/lib/compatlayer/__init__.py index eaae4e5..451e1de 100644 --- a/scripts/lib/compatlayer/__init__.py +++ b/scripts/lib/compatlayer/__init__.py @@ -290,7 +290,7 @@ def get_signatures(builddir, failsafe=False, machine=None): return (sigs, tune2tasks) -def get_depgraph(targets=['world']): +def get_depgraph(targets=['world'], failsafe=False): ''' Returns the dependency graph for the given target(s). The dependency graph is taken directly from DepTreeEvent. @@ -309,6 +309,11 @@ def get_depgraph(targets=['world']): elif isinstance(event, bb.command.CommandCompleted): break elif isinstance(event, bb.event.NoProvider): + if failsafe: + # The event is informational, we will get information about the + # remaining dependencies eventually and thus can ignore this + # here like we do in get_signatures(), if desired. + continue if event._reasons: raise RuntimeError('Nothing provides %s: %s' % (event._item, event._reasons)) else: diff --git a/scripts/lib/compatlayer/cases/common.py b/scripts/lib/compatlayer/cases/common.py index 8eeada9..2dfcbb1 100644 --- a/scripts/lib/compatlayer/cases/common.py +++ b/scripts/lib/compatlayer/cases/common.py @@ -50,7 +50,7 @@ class CommonCompatLayer(OECompatLayerTestCase): def graph2sig(task): pn, taskname = task.rsplit('.', 1) return pn + ':' + taskname - depgraph = get_depgraph() + depgraph = get_depgraph(failsafe=True) depends = depgraph['tdepends'] # If a task A has a changed signature, but none of its -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 13:39:30 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 13:39:30 +0000 Subject: [oe-commits] [openembedded-core] 16/47: yocto-compat-layer.py: make signature check code reusable In-Reply-To: <149934835424.26552.7649440448958570525@git.openembedded.org> References: <149934835424.26552.7649440448958570525@git.openembedded.org> Message-ID: <20170706133915.13C8823482C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit ecc9a1f9ceec9996aeb2c602846d51277de0b4a5 Author: Patrick Ohly AuthorDate: Tue Jun 27 17:33:43 2017 +0200 yocto-compat-layer.py: make signature check code reusable This moves the main content of test_signature into a helper function. It can be reused by arbitrary tests that need to do a before/after signature comparison. Long-term this might even be useful in oeqa itself. Signed-off-by: Patrick Ohly Signed-off-by: Ross Burton --- scripts/lib/compatlayer/__init__.py | 66 +++++++++++++++++++++++++++++++++ scripts/lib/compatlayer/cases/common.py | 62 ++----------------------------- 2 files changed, 70 insertions(+), 58 deletions(-) diff --git a/scripts/lib/compatlayer/__init__.py b/scripts/lib/compatlayer/__init__.py index 451e1de..7197e85 100644 --- a/scripts/lib/compatlayer/__init__.py +++ b/scripts/lib/compatlayer/__init__.py @@ -324,3 +324,69 @@ def get_depgraph(targets=['world'], failsafe=False): if depgraph is None: raise RuntimeError('Could not retrieve the depgraph.') return depgraph + +def compare_signatures(old_sigs, curr_sigs): + ''' + Compares the result of two get_signatures() calls. Returns None if no + problems found, otherwise a string that can be used as additional + explanation in self.fail(). + ''' + # task -> (old signature, new signature) + sig_diff = {} + for task in old_sigs: + if task in curr_sigs and \ + old_sigs[task] != curr_sigs[task]: + sig_diff[task] = (old_sigs[task], curr_sigs[task]) + + if not sig_diff: + return None + + # Beware, depgraph uses task=. whereas get_signatures() + # uses :. Need to convert sometimes. The output follows + # the convention from get_signatures() because that seems closer to + # normal bitbake output. + def sig2graph(task): + pn, taskname = task.rsplit(':', 1) + return pn + '.' + taskname + def graph2sig(task): + pn, taskname = task.rsplit('.', 1) + return pn + ':' + taskname + depgraph = get_depgraph(failsafe=True) + depends = depgraph['tdepends'] + + # If a task A has a changed signature, but none of its + # dependencies, then we need to report it because it is + # the one which introduces a change. Any task depending on + # A (directly or indirectly) will also have a changed + # signature, but we don't need to report it. It might have + # its own changes, which will become apparent once the + # issues that we do report are fixed and the test gets run + # again. + sig_diff_filtered = [] + for task, (old_sig, new_sig) in sig_diff.items(): + deps_tainted = False + for dep in depends.get(sig2graph(task), ()): + if graph2sig(dep) in sig_diff: + deps_tainted = True + break + if not deps_tainted: + sig_diff_filtered.append((task, old_sig, new_sig)) + + msg = [] + msg.append('%d signatures changed, initial differences (first hash before, second after):' % + len(sig_diff)) + for diff in sorted(sig_diff_filtered): + recipe, taskname = diff[0].rsplit(':', 1) + cmd = 'bitbake-diffsigs --task %s %s --signature %s %s' % \ + (recipe, taskname, diff[1], diff[2]) + msg.append(' %s: %s -> %s' % diff) + msg.append(' %s' % cmd) + try: + output = check_command('Determining signature difference failed.', + cmd).decode('utf-8') + except RuntimeError as error: + output = str(error) + if output: + msg.extend([' ' + line for line in output.splitlines()]) + msg.append('') + return '\n'.join(msg) diff --git a/scripts/lib/compatlayer/cases/common.py b/scripts/lib/compatlayer/cases/common.py index 4c8a543..55e8ba4 100644 --- a/scripts/lib/compatlayer/cases/common.py +++ b/scripts/lib/compatlayer/cases/common.py @@ -4,7 +4,7 @@ import glob import os import unittest -from compatlayer import get_signatures, LayerType, check_command, get_depgraph +from compatlayer import get_signatures, LayerType, check_command, get_depgraph, compare_signatures from compatlayer.case import OECompatLayerTestCase class CommonCompatLayer(OECompatLayerTestCase): @@ -47,61 +47,7 @@ class CommonCompatLayer(OECompatLayerTestCase): raise unittest.SkipTest("Not testing for signature changes in a software layer %s." \ % self.tc.layer['name']) - # task -> (old signature, new signature) - sig_diff = {} curr_sigs, _ = get_signatures(self.td['builddir'], failsafe=True) - for task in self.td['sigs']: - if task in curr_sigs and \ - self.td['sigs'][task] != curr_sigs[task]: - sig_diff[task] = (self.td['sigs'][task], curr_sigs[task]) - - if sig_diff: - # Beware, depgraph uses task=. whereas get_signatures() - # uses :. Need to convert sometimes. The output follows - # the convention from get_signatures() because that seems closer to - # normal bitbake output. - def sig2graph(task): - pn, taskname = task.rsplit(':', 1) - return pn + '.' + taskname - def graph2sig(task): - pn, taskname = task.rsplit('.', 1) - return pn + ':' + taskname - depgraph = get_depgraph(failsafe=True) - depends = depgraph['tdepends'] - - # If a task A has a changed signature, but none of its - # dependencies, then we need to report it because it is - # the one which introduces a change. Any task depending on - # A (directly or indirectly) will also have a changed - # signature, but we don't need to report it. It might have - # its own changes, which will become apparent once the - # issues that we do report are fixed and the test gets run - # again. - sig_diff_filtered = [] - for task, (old_sig, new_sig) in sig_diff.items(): - deps_tainted = False - for dep in depends.get(sig2graph(task), ()): - if graph2sig(dep) in sig_diff: - deps_tainted = True - break - if not deps_tainted: - sig_diff_filtered.append((task, old_sig, new_sig)) - - msg = [] - msg.append('Layer %s changed %d signatures, initial differences (first hash without, second with layer):' % - (self.tc.layer['name'], len(sig_diff))) - for diff in sorted(sig_diff_filtered): - recipe, taskname = diff[0].rsplit(':', 1) - cmd = 'bitbake-diffsigs --task %s %s --signature %s %s' % \ - (recipe, taskname, diff[1], diff[2]) - msg.append(' %s: %s -> %s' % diff) - msg.append(' %s' % cmd) - try: - output = check_command('Determining signature difference failed.', - cmd).decode('utf-8') - except RuntimeError as error: - output = str(error) - if output: - msg.extend([' ' + line for line in output.splitlines()]) - msg.append('') - self.fail('\n'.join(msg)) + msg = compare_signatures(self.td['sigs'], curr_sigs) + if msg is not None: + self.fail('Adding layer %s changed signatures.\n%s' % (self.tc.layer['name'], msg)) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 13:39:27 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 13:39:27 +0000 Subject: [oe-commits] [openembedded-core] 13/47: yocto-compat-layer.py: apply test_signatures to all layers In-Reply-To: <149934835424.26552.7649440448958570525@git.openembedded.org> References: <149934835424.26552.7649440448958570525@git.openembedded.org> Message-ID: <20170706133914.F22F4234829@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit e7fe215f50a1b75771f33fffdda529a95c026d3f Author: Patrick Ohly AuthorDate: Tue Jun 27 17:33:40 2017 +0200 yocto-compat-layer.py: apply test_signatures to all layers Software layers were previously allowed to change signatures, but that's not desired for those layers either. The rule that a layer which is "Yocto Compatible 2.0" must not change signatures unless explicitly requested holds for all kinds of layers. However, as this is something that software layers might not be able to do right away, testing for signature changes in software layers can be disabled. It's on by default, as that was Richard's recommendation. Whether that should change needs further discussion as part of finalizing "Yocto Compatible 2.0". As it might still change, the tool now has both a with/without parameter so that users of the tool can choose the desired behavior without being affected by future changes to the default. Signed-off-by: Patrick Ohly Signed-off-by: Ross Burton --- scripts/lib/compatlayer/cases/common.py | 5 +++-- scripts/lib/compatlayer/context.py | 3 ++- scripts/yocto-compat-layer.py | 12 +++++++++--- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/scripts/lib/compatlayer/cases/common.py b/scripts/lib/compatlayer/cases/common.py index 2dfcbb1..a1cdbab 100644 --- a/scripts/lib/compatlayer/cases/common.py +++ b/scripts/lib/compatlayer/cases/common.py @@ -27,8 +27,9 @@ class CommonCompatLayer(OECompatLayerTestCase): 'bitbake -e') def test_signatures(self): - if self.tc.layer['type'] == LayerType.SOFTWARE: - raise unittest.SkipTest("Layer %s isn't BSP or DISTRO one." \ + if self.tc.layer['type'] == LayerType.SOFTWARE and \ + not self.tc.test_software_layer_signatures: + raise unittest.SkipTest("Not testing for signature changes in a software layer %s." \ % self.tc.layer['name']) # task -> (old signature, new signature) diff --git a/scripts/lib/compatlayer/context.py b/scripts/lib/compatlayer/context.py index 4932238..7811d4a 100644 --- a/scripts/lib/compatlayer/context.py +++ b/scripts/lib/compatlayer/context.py @@ -9,6 +9,7 @@ import re from oeqa.core.context import OETestContext class CompatLayerTestContext(OETestContext): - def __init__(self, td=None, logger=None, layer=None): + def __init__(self, td=None, logger=None, layer=None, test_software_layer_signatures=True): super(CompatLayerTestContext, self).__init__(td, logger) self.layer = layer + self.test_software_layer_signatures = test_software_layer_signatures diff --git a/scripts/yocto-compat-layer.py b/scripts/yocto-compat-layer.py index 30c55a9..a16974f 100755 --- a/scripts/yocto-compat-layer.py +++ b/scripts/yocto-compat-layer.py @@ -30,12 +30,12 @@ CASES_PATHS = [os.path.join(os.path.abspath(os.path.dirname(__file__)), 'lib', 'compatlayer', 'cases')] logger = scriptutils.logger_create(PROGNAME, stream=sys.stdout) -def test_layer_compatibility(td, layer): +def test_layer_compatibility(td, layer, test_software_layer_signatures): from compatlayer.context import CompatLayerTestContext logger.info("Starting to analyze: %s" % layer['name']) logger.info("----------------------------------------------------------------------") - tc = CompatLayerTestContext(td=td, logger=logger, layer=layer) + tc = CompatLayerTestContext(td=td, logger=logger, layer=layer, test_software_layer_signatures=test_software_layer_signatures) tc.loadTests(CASES_PATHS) return tc.runTests() @@ -53,6 +53,12 @@ def main(): help='List of MACHINEs to be used during testing', action='store') parser.add_argument('--additional-layers', nargs="+", help='List of additional layers to add during testing', action='store') + group = parser.add_mutually_exclusive_group() + group.add_argument('--with-software-layer-signature-check', action='store_true', dest='test_software_layer_signatures', + default=True, + help='check that software layers do not change signatures (on by default)') + group.add_argument('--without-software-layer-signature-check', action='store_false', dest='test_software_layer_signatures', + help='disable signature checking for software layers') parser.add_argument('-n', '--no-auto', help='Disable auto layer discovery', action='store_true') parser.add_argument('-d', '--debug', help='Enable debug output', @@ -173,7 +179,7 @@ def main(): layers_tested = layers_tested + 1 continue - result = test_layer_compatibility(td, layer) + result = test_layer_compatibility(td, layer, args.test_software_layer_signatures) results[layer['name']] = result results_status[layer['name']] = 'PASS' if results[layer['name']].wasSuccessful() else 'FAIL' layers_tested = layers_tested + 1 -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 13:39:37 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 13:39:37 +0000 Subject: [oe-commits] [openembedded-core] 23/47: icu: Fix build with glibc 2.26 In-Reply-To: <149934835424.26552.7649440448958570525@git.openembedded.org> References: <149934835424.26552.7649440448958570525@git.openembedded.org> Message-ID: <20170706133915.41CDF234833@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 8906f4dd8e47dbe075125767390f4351a81ae571 Author: Khem Raj AuthorDate: Sat Jun 24 22:55:03 2017 -0700 icu: Fix build with glibc 2.26 Signed-off-by: Khem Raj Signed-off-by: Ross Burton --- .../icu/icu/0001-i18n-Drop-include-xlocale.h.patch | 31 ++++++++++++++++++++++ meta/recipes-support/icu/icu_58.2.bb | 3 ++- 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/meta/recipes-support/icu/icu/0001-i18n-Drop-include-xlocale.h.patch b/meta/recipes-support/icu/icu/0001-i18n-Drop-include-xlocale.h.patch new file mode 100644 index 0000000..add0d76 --- /dev/null +++ b/meta/recipes-support/icu/icu/0001-i18n-Drop-include-xlocale.h.patch @@ -0,0 +1,31 @@ +From c4254fd8ff1888ca285e3242b812010357ce2b3e Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 24 Jun 2017 22:52:40 -0700 +Subject: [PATCH] i18n: Drop include + +glibc 2.26 drops this header + +Signed-off-by: Khem Raj +--- +Upstream-Status: Pending + + i18n/digitlst.cpp | 6 +----- + 1 file changed, 1 insertion(+), 5 deletions(-) + +Index: source/i18n/digitlst.cpp +=================================================================== +--- source.orig/i18n/digitlst.cpp ++++ source/i18n/digitlst.cpp +@@ -61,11 +61,7 @@ + #endif + + #if U_USE_STRTOD_L +-# if U_PLATFORM_USES_ONLY_WIN32_API || U_PLATFORM == U_PF_CYGWIN +-# include +-# else +-# include +-# endif ++# include + #endif + + // *************************************************************************** diff --git a/meta/recipes-support/icu/icu_58.2.bb b/meta/recipes-support/icu/icu_58.2.bb index 4d062eb..47684a6 100644 --- a/meta/recipes-support/icu/icu_58.2.bb +++ b/meta/recipes-support/icu/icu_58.2.bb @@ -16,7 +16,8 @@ BASE_SRC_URI = "http://download.icu-project.org/files/icu4c/${PV}/icu4c-${ICU_PV SRC_URI = "${BASE_SRC_URI} \ file://icu-pkgdata-large-cmd.patch \ file://fix-install-manx.patch \ - " + file://0001-i18n-Drop-include-xlocale.h.patch \ + " SRC_URI_append_class-target = "\ file://0001-Disable-LDFLAGSICUDT-for-Linux.patch \ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 13:39:33 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 13:39:33 +0000 Subject: [oe-commits] [openembedded-core] 19/47: valgrind: Fix build with glibc 2.26 In-Reply-To: <149934835424.26552.7649440448958570525@git.openembedded.org> References: <149934835424.26552.7649440448958570525@git.openembedded.org> Message-ID: <20170706133915.2955923482F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit ee5555c81ca2177b088757cde77f1793db31f1f4 Author: Khem Raj AuthorDate: Wed Jun 28 21:59:02 2017 -0700 valgrind: Fix build with glibc 2.26 Signed-off-by: Khem Raj Signed-off-by: Ross Burton --- ...sts-Use-ucontext_t-instead-of-struct-ucon.patch | 30 ++++++++++++++++++++++ meta/recipes-devtools/valgrind/valgrind_3.12.0.bb | 1 + 2 files changed, 31 insertions(+) diff --git a/meta/recipes-devtools/valgrind/valgrind/0001-memcheck-tests-Use-ucontext_t-instead-of-struct-ucon.patch b/meta/recipes-devtools/valgrind/valgrind/0001-memcheck-tests-Use-ucontext_t-instead-of-struct-ucon.patch new file mode 100644 index 0000000..bf16a1a --- /dev/null +++ b/meta/recipes-devtools/valgrind/valgrind/0001-memcheck-tests-Use-ucontext_t-instead-of-struct-ucon.patch @@ -0,0 +1,30 @@ +From 629ac492b1d9bc709d17337eb9b1c28603eca250 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 28 Jun 2017 11:01:25 -0700 +Subject: [PATCH] memcheck/tests: Use ucontext_t instead of struct ucontext + +glibc 2.26 does not expose struct ucontext anymore + +Upstream-Status: Submitted [https://bugs.kde.org/show_bug.cgi?id=381769] + +Signed-off-by: Khem Raj +--- + memcheck/tests/linux/stack_changes.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/memcheck/tests/linux/stack_changes.c b/memcheck/tests/linux/stack_changes.c +index ffb49c6..acc4109 100644 +--- a/memcheck/tests/linux/stack_changes.c ++++ b/memcheck/tests/linux/stack_changes.c +@@ -11,7 +11,7 @@ + // checks that Valgrind notices their stack changes properly. + + #ifdef __GLIBC__ +-typedef struct ucontext mycontext; ++typedef ucontext_t mycontext; + + mycontext ctx1, ctx2, oldc; + int count; +-- +2.13.2 + diff --git a/meta/recipes-devtools/valgrind/valgrind_3.12.0.bb b/meta/recipes-devtools/valgrind/valgrind_3.12.0.bb index a81adc3..3fce5de 100644 --- a/meta/recipes-devtools/valgrind/valgrind_3.12.0.bb +++ b/meta/recipes-devtools/valgrind/valgrind_3.12.0.bb @@ -31,6 +31,7 @@ SRC_URI = "http://www.valgrind.org/downloads/valgrind-${PV}.tar.bz2 \ file://0004-pth_atfork1.c-Define-error-API-for-musl.patch \ file://0005-tc20_verifywrap.c-Fake-__GLIBC_PREREQ-with-musl.patch \ file://0006-pth_detached3.c-Dereference-pthread_t-before-adding-.patch \ + file://0001-memcheck-tests-Use-ucontext_t-instead-of-struct-ucon.patch \ " SRC_URI_append_libc-musl = "\ file://0001-fix-build-for-musl-targets.patch \ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 13:39:44 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 13:39:44 +0000 Subject: [oe-commits] [openembedded-core] 30/47: mesa: Avoid platform probing when building without EGL In-Reply-To: <149934835424.26552.7649440448958570525@git.openembedded.org> References: <149934835424.26552.7649440448958570525@git.openembedded.org> Message-ID: <20170706133915.7918623483A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 49c3dad38134857b31152bf76ebf2cd78c8a53c8 Author: Otavio Salvador AuthorDate: Mon Jul 3 17:02:09 2017 -0300 mesa: Avoid platform probing when building without EGL The 17.1.2 release has changed the platform setting and when not explicitly disabled it assumes x11 support. Fixes: | checking for x11-xcb xcb xcb-dri2 >= 1.8 xcb-xfixes... no | configure: error: Package requirements (x11-xcb xcb xcb-dri2 >= 1.8 xcb-xfixes) were not met: | | No package 'x11-xcb' found | No package 'xcb' found | No package 'xcb-dri2' found | No package 'xcb-xfixes' found | | Consider adjusting the PKG_CONFIG_PATH environment variable if you | installed software in a non-standard prefix. | | Alternatively, you may set the environment variables XCB_DRI2_CFLAGS | and XCB_DRI2_LIBS to avoid the need to call pkg-config. | See the pkg-config man page for more details. The issue has been exposed by meta-freescale BSP. Fix tested with imx6qsabresd machine. Signed-off-by: Otavio Salvador Signed-off-by: Ross Burton --- meta/recipes-graphics/mesa/mesa.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc index 41747cf..a12ab7a 100644 --- a/meta/recipes-graphics/mesa/mesa.inc +++ b/meta/recipes-graphics/mesa/mesa.inc @@ -49,7 +49,7 @@ PACKAGECONFIG[gles] = "--enable-gles1 --enable-gles2, --disable-gles1 --disable- EGL_PLATFORMS = "drm" EGL_PLATFORMS .="${@bb.utils.contains('PACKAGECONFIG', 'x11', ',x11', '', d)}" EGL_PLATFORMS .="${@bb.utils.contains('PACKAGECONFIG', 'wayland', ',wayland', '', d)}" -PACKAGECONFIG[egl] = "--enable-egl --with-platforms=${EGL_PLATFORMS}, --disable-egl" +PACKAGECONFIG[egl] = "--enable-egl --with-platforms=${EGL_PLATFORMS}, --disable-egl --with-platforms=''" PACKAGECONFIG[etnaviv] = "" PACKAGECONFIG[imx] = "" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 13:39:29 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 13:39:29 +0000 Subject: [oe-commits] [openembedded-core] 15/47: yocto-compat-layer.py: allow README with suffix In-Reply-To: <149934835424.26552.7649440448958570525@git.openembedded.org> References: <149934835424.26552.7649440448958570525@git.openembedded.org> Message-ID: <20170706133915.0C68B23482B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 501b5b7f338396a4a115355b8a78ae5b03f67d9a Author: Patrick Ohly AuthorDate: Tue Jun 27 17:33:42 2017 +0200 yocto-compat-layer.py: allow README with suffix It may be useful to append a suffix denoting the file format. For example, README.rst is rendered differently when viewed on Github, and also helps editors to switch to a mode more suitable for the format. The tests uses a file pattern to find the README file(s) and treats the one with the shortest name as the main one which must not be empty. Signed-off-by: Patrick Ohly Signed-off-by: Ross Burton --- scripts/lib/compatlayer/cases/common.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/scripts/lib/compatlayer/cases/common.py b/scripts/lib/compatlayer/cases/common.py index ede002d..4c8a543 100644 --- a/scripts/lib/compatlayer/cases/common.py +++ b/scripts/lib/compatlayer/cases/common.py @@ -1,6 +1,7 @@ # Copyright (C) 2017 Intel Corporation # Released under the MIT license (see COPYING.MIT) +import glob import os import unittest from compatlayer import get_signatures, LayerType, check_command, get_depgraph @@ -8,15 +9,20 @@ from compatlayer.case import OECompatLayerTestCase class CommonCompatLayer(OECompatLayerTestCase): def test_readme(self): - readme_file = os.path.join(self.tc.layer['path'], 'README') - self.assertTrue(os.path.isfile(readme_file), - msg="Layer doesn't contains README file.") + # The top-level README file may have a suffix (like README.rst or README.txt). + readme_files = glob.glob(os.path.join(self.tc.layer['path'], 'README*')) + self.assertTrue(len(readme_files) > 0, + msg="Layer doesn't contains README file.") + # There might be more than one file matching the file pattern above + # (for example, README.rst and README-COPYING.rst). The one with the shortest + # name is considered the "main" one. + readme_file = sorted(readme_files)[0] data = '' with open(readme_file, 'r') as f: data = f.read() self.assertTrue(data, - msg="Layer contains README file but is empty.") + msg="Layer contains a README file but it is empty.") def test_parse(self): check_command('Layer %s failed to parse.' % self.tc.layer['name'], -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 13:39:38 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 13:39:38 +0000 Subject: [oe-commits] [openembedded-core] 24/47: valgrind: Remove -no-pie from cflags In-Reply-To: <149934835424.26552.7649440448958570525@git.openembedded.org> References: <149934835424.26552.7649440448958570525@git.openembedded.org> Message-ID: <20170706133915.47C4F234834@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit a071303abd275d7fd967289f58062240c4e6d764 Author: Khem Raj AuthorDate: Wed Jun 14 07:55:21 2017 -0700 valgrind: Remove -no-pie from cflags It has been moved to distro security include file Signed-off-by: Khem Raj Signed-off-by: Ross Burton --- meta/recipes-devtools/valgrind/valgrind_3.12.0.bb | 2 -- 1 file changed, 2 deletions(-) diff --git a/meta/recipes-devtools/valgrind/valgrind_3.12.0.bb b/meta/recipes-devtools/valgrind/valgrind_3.12.0.bb index 3fce5de..4cf8062 100644 --- a/meta/recipes-devtools/valgrind/valgrind_3.12.0.bb +++ b/meta/recipes-devtools/valgrind/valgrind_3.12.0.bb @@ -74,8 +74,6 @@ CACHED_CONFIGUREVARS += "ac_cv_path_PERL='/usr/bin/env perl'" # which fixes build path issue in DWARF. SELECTED_OPTIMIZATION = "${DEBUG_FLAGS}" -CFLAGS += "-no-pie" - def get_mcpu(d): for arg in (d.getVar('TUNE_CCARGS') or '').split(): if arg.startswith('-mcpu='): -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 13:39:40 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 13:39:40 +0000 Subject: [oe-commits] [openembedded-core] 26/47: grep: upgrade to 3.1 In-Reply-To: <149934835424.26552.7649440448958570525@git.openembedded.org> References: <149934835424.26552.7649440448958570525@git.openembedded.org> Message-ID: <20170706133915.57E07234836@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 26289550c572ac4a7c06a21354f8dc7bcbd38114 Author: Dengke Du AuthorDate: Mon Jul 3 04:45:47 2017 -0400 grep: upgrade to 3.1 Signed-off-by: Dengke Du Signed-off-by: Ross Burton --- meta/recipes-extended/grep/{grep_3.0.bb => grep_3.1.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-extended/grep/grep_3.0.bb b/meta/recipes-extended/grep/grep_3.1.bb similarity index 89% rename from meta/recipes-extended/grep/grep_3.0.bb rename to meta/recipes-extended/grep/grep_3.1.bb index b2940d5..05b6b93 100644 --- a/meta/recipes-extended/grep/grep_3.0.bb +++ b/meta/recipes-extended/grep/grep_3.1.bb @@ -9,8 +9,8 @@ SRC_URI = "${GNU_MIRROR}/grep/grep-${PV}.tar.xz \ file://0001-Unset-need_charset_alias-when-building-for-musl.patch \ " -SRC_URI[md5sum] = "fa07c1616adeb9c3262be5177d10ad4a" -SRC_URI[sha256sum] = "e2c81db5056e3e8c5995f0bb5d0d0e1cad1f6f45c3b2fc77b6e81435aed48ab5" +SRC_URI[md5sum] = "feca7b3e7c7f4aab2b42ecbfc513b070" +SRC_URI[sha256sum] = "db625c7ab3bb3ee757b3926a5cfa8d9e1c3991ad24707a83dde8a5ef2bf7a07e" inherit autotools gettext texinfo pkgconfig -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 13:39:34 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 13:39:34 +0000 Subject: [oe-commits] [openembedded-core] 20/47: strace: upgrade to 4.17 In-Reply-To: <149934835424.26552.7649440448958570525@git.openembedded.org> References: <149934835424.26552.7649440448958570525@git.openembedded.org> Message-ID: <20170706133915.2F197234830@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 8a4a62ae44d6819cda77c96a5106b78a83364fd6 Author: Khem Raj AuthorDate: Wed Jun 28 21:59:03 2017 -0700 strace: upgrade to 4.17 Fix build with upcoming glibc 2.26 Signed-off-by: Khem Raj Signed-off-by: Ross Burton --- ...8-replace-struct-ucontext-with-ucontext_t.patch | 31 ++++++++++++++++++++++ .../strace/strace/Makefile-ptest.patch | 19 ++++++++----- .../strace/{strace_4.16.bb => strace_4.17.bb} | 5 ++-- 3 files changed, 47 insertions(+), 8 deletions(-) diff --git a/meta/recipes-devtools/strace/strace/0008-replace-struct-ucontext-with-ucontext_t.patch b/meta/recipes-devtools/strace/strace/0008-replace-struct-ucontext-with-ucontext_t.patch new file mode 100644 index 0000000..1985d81 --- /dev/null +++ b/meta/recipes-devtools/strace/strace/0008-replace-struct-ucontext-with-ucontext_t.patch @@ -0,0 +1,31 @@ +From 07f71a12cb88919c6113284fc43bf4967e5e2bc1 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 28 Jun 2017 11:36:57 -0700 +Subject: [PATCH 8/8] replace struct ucontext with ucontext_t + +glibc >= 2.26 has dropped the tag struct ucontext +from ucontext_t type + +Upstream-Status: Submitted + +Signed-off-by: Khem Raj +--- + linux/arm/arch_sigreturn.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/linux/arm/arch_sigreturn.c b/linux/arm/arch_sigreturn.c +index b60dad8..a2b7100 100644 +--- a/linux/arm/arch_sigreturn.c ++++ b/linux/arm/arch_sigreturn.c +@@ -9,7 +9,7 @@ arch_sigreturn(struct tcb *tcp) + #ifdef AARCH64 + tcp->currpers == 0 ? + (*aarch64_sp_ptr + SIZEOF_STRUCT_SIGINFO + +- offsetof(struct ucontext, uc_sigmask)) : ++ offsetof(ucontext_t, uc_sigmask)) : + #endif + (*arm_sp_ptr + + OFFSETOF_STRUCT_UCONTEXT_UC_SIGMASK); +-- +2.13.2 + diff --git a/meta/recipes-devtools/strace/strace/Makefile-ptest.patch b/meta/recipes-devtools/strace/strace/Makefile-ptest.patch index 876c2d8..07ea0b3 100644 --- a/meta/recipes-devtools/strace/strace/Makefile-ptest.patch +++ b/meta/recipes-devtools/strace/strace/Makefile-ptest.patch @@ -1,19 +1,23 @@ -strace: Add ptest +From 0574ae9926308dcbca78bd8cd0f0f143f19cbcb5 Mon Sep 17 00:00:00 2001 +From: Gabriel Barbu +Date: Thu, 25 Jul 2013 15:28:33 +0200 +Subject: [PATCH 4/8] strace: Add ptest Upstream-Status: Inappropriate Signed-off-by: Gabriel Barbu Signed-off-by: Chong Lu + --- configure.ac | 2 +- tests/Makefile.am | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac -index b2b03c6..464a9dc 100644 +index 61d6425..6387c24 100644 --- a/configure.ac +++ b/configure.ac -@@ -39,7 +39,7 @@ AC_COPYRIGHT([Copyright (C) 1999-2017 The strace developers.]) +@@ -41,7 +41,7 @@ AC_COPYRIGHT([Copyright (C) 1999-]copyright_year[ The strace developers.]) AC_CONFIG_SRCDIR([strace.c]) AC_CONFIG_AUX_DIR([.]) AC_CONFIG_HEADERS([config.h]) @@ -23,11 +27,11 @@ index b2b03c6..464a9dc 100644 AM_MAINTAINER_MODE AC_CANONICAL_HOST diff --git a/tests/Makefile.am b/tests/Makefile.am -index 311d3bb..72f9022 100644 +index 5aa7f89..a55a355 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am -@@ -960,3 +960,21 @@ $(objects): scno.h - CLEANFILES = ksysent.h $(TESTS:=.tmp) +@@ -379,3 +379,21 @@ clean-local-check: + CLEANFILES = ksysent.h include ../scno.am + @@ -48,3 +52,6 @@ index 311d3bb..72f9022 100644 + sed -i -e 's/$${srcdir=.}/./g' $(DESTDIR)/$(TESTDIR)/$$file; \ + done + for i in net net-fd scm_rights-fd sigaction; do sed -i -e 's/$$srcdir/./g' $(DESTDIR)/$(TESTDIR)/$$i.test; done +-- +2.13.2 + diff --git a/meta/recipes-devtools/strace/strace_4.16.bb b/meta/recipes-devtools/strace/strace_4.17.bb similarity index 87% rename from meta/recipes-devtools/strace/strace_4.16.bb rename to meta/recipes-devtools/strace/strace_4.17.bb index b6cd2ac..72fa994 100644 --- a/meta/recipes-devtools/strace/strace_4.16.bb +++ b/meta/recipes-devtools/strace/strace_4.17.bb @@ -13,10 +13,11 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/strace/strace-${PV}.tar.xz \ file://0001-Fix-build-when-using-non-glibc-libc-implementation-o.patch \ file://mips-SIGEMT.patch \ file://0001-caps-abbrev.awk-fix-gawk-s-path.patch \ + file://0008-replace-struct-ucontext-with-ucontext_t.patch \ " -SRC_URI[md5sum] = "2873366cac98770efcbed6e748d5ef23" -SRC_URI[sha256sum] = "98487cb5178ec1259986cc9f6e2a844f50e5d1208c112cc22431a1e4d9adf0ef" +SRC_URI[md5sum] = "8d7eb10eba68bad83a269197e634b626" +SRC_URI[sha256sum] = "81f35b085fbb3cfa806eb521a8522ac3406deaccfe121ce35064bad268237419" inherit autotools ptest bluetooth -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 13:39:32 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 13:39:32 +0000 Subject: [oe-commits] [openembedded-core] 18/47: bluez: Correct the timer count for bcm43xx firmware download In-Reply-To: <149934835424.26552.7649440448958570525@git.openembedded.org> References: <149934835424.26552.7649440448958570525@git.openembedded.org> Message-ID: <20170706133915.22F0923482E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit bb8bc17ab8d71e3a30e2f0b655c42434dd968ea4 Author: Jun Zhu AuthorDate: Thu Jun 29 10:14:55 2017 +0800 bluez: Correct the timer count for bcm43xx firmware download bcm43xx failed as time out for firmware downloading. The root cause is that it need wait 50ms to download firmware, but the value of 50us is set to the timer. Signed-off-by: Jun Zhu Signed-off-by: Ross Burton --- meta/recipes-connectivity/bluez5/bluez5.inc | 1 + ...cm43xx-fix-the-delay-timer-for-firmware-d.patch | 36 ++++++++++++++++++++++ 2 files changed, 37 insertions(+) diff --git a/meta/recipes-connectivity/bluez5/bluez5.inc b/meta/recipes-connectivity/bluez5/bluez5.inc index f267c66..bf1b1ca 100644 --- a/meta/recipes-connectivity/bluez5/bluez5.inc +++ b/meta/recipes-connectivity/bluez5/bluez5.inc @@ -49,6 +49,7 @@ SRC_URI = "\ file://run-ptest \ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '', 'file://0001-Allow-using-obexd-without-systemd-in-the-user-sessio.patch', d)} \ file://0001-tests-add-a-target-for-building-tests-without-runnin.patch \ + file://0001-hciattach-bcm43xx-fix-the-delay-timer-for-firmware-d.patch \ " S = "${WORKDIR}/bluez-${PV}" diff --git a/meta/recipes-connectivity/bluez5/bluez5/0001-hciattach-bcm43xx-fix-the-delay-timer-for-firmware-d.patch b/meta/recipes-connectivity/bluez5/bluez5/0001-hciattach-bcm43xx-fix-the-delay-timer-for-firmware-d.patch new file mode 100644 index 0000000..7bd5bbc --- /dev/null +++ b/meta/recipes-connectivity/bluez5/bluez5/0001-hciattach-bcm43xx-fix-the-delay-timer-for-firmware-d.patch @@ -0,0 +1,36 @@ +From 3b341fb421ef61db7782bf1314ec693828467de9 Mon Sep 17 00:00:00 2001 +From: Andy Duan +Date: Wed, 23 Nov 2016 17:12:12 +0800 +Subject: [PATCH] hciattach: bcm43xx: fix the delay timer for firmware download + +From the log in .bcm43xx_load_firmware(): + /* Wait 50ms to let the firmware placed in download mode */ + nanosleep(&tm_mode, NULL); + +But timespec tm_mode is real is 50us. Correct the delayed timer count. + +Upstream-Status: Pending + +Signed-off-by: Fugang Duan +--- + tools/hciattach_bcm43xx.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/tools/hciattach_bcm43xx.c b/tools/hciattach_bcm43xx.c +index 81f38cb..ac1b3c1 100644 +--- a/tools/hciattach_bcm43xx.c ++++ b/tools/hciattach_bcm43xx.c +@@ -228,8 +228,8 @@ static int bcm43xx_set_speed(int fd, struct termios *ti, uint32_t speed) + static int bcm43xx_load_firmware(int fd, const char *fw) + { + unsigned char cmd[] = { HCI_COMMAND_PKT, 0x2e, 0xfc, 0x00 }; +- struct timespec tm_mode = { 0, 50000 }; +- struct timespec tm_ready = { 0, 2000000 }; ++ struct timespec tm_mode = { 0, 50000000 }; ++ struct timespec tm_ready = { 0, 200000000 }; + unsigned char resp[CC_MIN_SIZE]; + unsigned char tx_buf[1024]; + int len, fd_fw, n; +-- +1.9.1 + -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 13:39:47 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 13:39:47 +0000 Subject: [oe-commits] [openembedded-core] 33/47: libgfortran: Add missing dependency gcc-cross In-Reply-To: <149934835424.26552.7649440448958570525@git.openembedded.org> References: <149934835424.26552.7649440448958570525@git.openembedded.org> Message-ID: <20170706133915.93B0D23483D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 00fba52c8a6f6383137cf89fc7aa34cc3e2ff45f Author: Ricardo Ribalda Delgado AuthorDate: Mon Jul 3 23:57:42 2017 +0200 libgfortran: Add missing dependency gcc-cross Due to the fact that the recipe uses INHIBIT_DEFAULT_DEPS, we need to manually add the cross compiler as a dependency. Signed-off-by: Ricardo Ribalda Delgado Signed-off-by: Ross Burton --- meta/recipes-devtools/gcc/libgfortran.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-devtools/gcc/libgfortran.inc b/meta/recipes-devtools/gcc/libgfortran.inc index 4846dec..3b94c1b 100644 --- a/meta/recipes-devtools/gcc/libgfortran.inc +++ b/meta/recipes-devtools/gcc/libgfortran.inc @@ -37,7 +37,7 @@ do_install () { } INHIBIT_DEFAULT_DEPS = "1" -DEPENDS = "gcc-runtime" +DEPENDS = "gcc-runtime gcc-cross-${TARGET_ARCH}" BBCLASSEXTEND = "nativesdk" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 13:39:31 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 13:39:31 +0000 Subject: [oe-commits] [openembedded-core] 17/47: binutils: update SRCREV to fix powerpc gold link bug In-Reply-To: <149934835424.26552.7649440448958570525@git.openembedded.org> References: <149934835424.26552.7649440448958570525@git.openembedded.org> Message-ID: <20170706133915.1BE1B23482D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 0d1273cdf8652bf1844f1f1fe4ba0eacd27ada65 Author: Randy MacLeod AuthorDate: Tue Jun 27 21:35:06 2017 -0400 binutils: update SRCREV to fix powerpc gold link bug Update to the latest commit on the 2.28 branch to pick up: a3e00a8 [GOLD] Avoid duplicate PLT stub symbols on ppc32 along with several backported bug fixes for arm*, etc. This resolves the systemd link error for qemuppc with the error message: .../powerpc-oe-linux-ld.gold: error: invalid STB_LOCAL symbol in external symbols error: linker defined: multiple definition of '00000001.plt_call.memcpy+8000' command line: previous definition here described in: [YOCTO #11696] Signed-off-by: Randy MacLeod Signed-off-by: Ross Burton --- meta/recipes-devtools/binutils/binutils-2.28.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-devtools/binutils/binutils-2.28.inc b/meta/recipes-devtools/binutils/binutils-2.28.inc index 47bfa1a..477bcb2 100644 --- a/meta/recipes-devtools/binutils/binutils-2.28.inc +++ b/meta/recipes-devtools/binutils/binutils-2.28.inc @@ -18,7 +18,7 @@ BINUPV = "${@binutils_branch_version(d)}" UPSTREAM_CHECK_GITTAGREGEX = "binutils-(?P\d+_(\d_?)*)" -SRCREV = "cb44d42ce6ef0c7a4eed7e2a3c272ac102166850" +SRCREV = "7ea1464297eadebe62aae92ad9bebb33f92c2454" SRC_URI = "\ git://sourceware.org/git/binutils-gdb.git;branch=binutils-${BINUPV}-branch;protocol=git \ file://0004-Point-scripts-location-to-libdir.patch \ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 13:39:36 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 13:39:36 +0000 Subject: [oe-commits] [openembedded-core] 22/47: epiphany: Fix build errors when compiling with security flags In-Reply-To: <149934835424.26552.7649440448958570525@git.openembedded.org> References: <149934835424.26552.7649440448958570525@git.openembedded.org> Message-ID: <20170706133915.3B903234832@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 8d3bd6fbf748ad6f67bb2e86854d15f99a07bf87 Author: Khem Raj AuthorDate: Wed Jun 28 21:59:05 2017 -0700 epiphany: Fix build errors when compiling with security flags We need to have some level of optimization level for FORTIFY_SOURCE to work therefore set --enable-debug=no Add a patch to fix build error due to unused result of fread Signed-off-by: Khem Raj Signed-off-by: Ross Burton --- meta/recipes-gnome/epiphany/epiphany_3.24.2.bb | 6 ++-- ...bookmarks-Check-for-return-value-of-fread.patch | 32 ++++++++++++++++++++++ 2 files changed, 36 insertions(+), 2 deletions(-) diff --git a/meta/recipes-gnome/epiphany/epiphany_3.24.2.bb b/meta/recipes-gnome/epiphany/epiphany_3.24.2.bb index 77c1933..dafad8a 100644 --- a/meta/recipes-gnome/epiphany/epiphany_3.24.2.bb +++ b/meta/recipes-gnome/epiphany/epiphany_3.24.2.bb @@ -9,11 +9,13 @@ DEPENDS = "libsoup-2.4 webkitgtk gtk+3 iso-codes avahi libnotify gcr \ inherit gnomebase gsettings distro_features_check upstream-version-is-even gettext REQUIRED_DISTRO_FEATURES = "x11" -SRC_URI += "file://0001-yelp.m4-drop-the-check-for-itstool.patch" +SRC_URI += "file://0001-yelp.m4-drop-the-check-for-itstool.patch \ + file://0001-bookmarks-Check-for-return-value-of-fread.patch \ + " SRC_URI[archive.md5sum] = "e035dc6f64f0c1909de823e03f16b2f3" SRC_URI[archive.sha256sum] = "5abc0d0c60591df5236ac9b8979dc9f7d9acbb8ad0902b4772d2b7beea81c58d" -EXTRA_OECONF += " --with-distributor-name=${DISTRO}" +EXTRA_OECONF += " --with-distributor-name=${DISTRO} --enable-debug=no" do_configure_prepend() { sed -i -e s:help::g ${S}/Makefile.am diff --git a/meta/recipes-gnome/epiphany/files/0001-bookmarks-Check-for-return-value-of-fread.patch b/meta/recipes-gnome/epiphany/files/0001-bookmarks-Check-for-return-value-of-fread.patch new file mode 100644 index 0000000..ddcd394 --- /dev/null +++ b/meta/recipes-gnome/epiphany/files/0001-bookmarks-Check-for-return-value-of-fread.patch @@ -0,0 +1,32 @@ +From aa2176be32eed2578da82f34d31148f934c11c34 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 28 Jun 2017 17:03:45 -0700 +Subject: [PATCH] bookmarks: Check for return value of fread() + +Fixes below compiler error +ignoring return value of 'fread', declared with attribute warn_unused_result + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +--- + src/bookmarks/ephy-bookmark.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/bookmarks/ephy-bookmark.c b/src/bookmarks/ephy-bookmark.c +index ff0239b..8633ce4 100644 +--- a/src/bookmarks/ephy-bookmark.c ++++ b/src/bookmarks/ephy-bookmark.c +@@ -217,7 +217,8 @@ ephy_bookmark_init (EphyBookmark *self) + bytes = g_malloc (num_bytes); + + fp = fopen ("/dev/urandom", "r"); +- fread (bytes, sizeof (guint8), num_bytes, fp); ++ if (fread (bytes, sizeof (guint8), num_bytes, fp) != num_bytes) ++ g_warning("Unable to read data from /dev/urandom\n"); + + self->id = g_malloc0 (ID_LEN + 1); + for (gsize i = 0; i < num_bytes; i++) { +-- +2.13.2 + -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 13:39:45 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 13:39:45 +0000 Subject: [oe-commits] [openembedded-core] 31/47: mesa: Upgrade to 17.1.4 release In-Reply-To: <149934835424.26552.7649440448958570525@git.openembedded.org> References: <149934835424.26552.7649440448958570525@git.openembedded.org> Message-ID: <20170706133915.8251E23483B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit f0762f5bad36b7d7d93f8f24bc64cdb0c0d36f09 Author: Otavio Salvador AuthorDate: Mon Jul 3 17:02:10 2017 -0300 mesa: Upgrade to 17.1.4 release This includes following upstream bug fixes: Bug 77240 - khrplatform.h not installed if EGL is disabled Bug 95530 - Stellaris - colored overlay of sectors doesn't render on i965 Bug 96958 - [SKL] Improper rendering in Europa Universalis IV Bug 99467 - [radv] DOOM 2016 + wine. Green screen everywhere (but can be started) Bug 101071 - compiling glsl fails with undefined reference to `pthread_create' Bug 101252 - eglGetDisplay() is not thread safe Bug 101294 - radeonsi minecraft forge splash freeze since 17.1 Bug 101451 - [G33] ES2-CTS.functional.clipping.polygon regression Signed-off-by: Otavio Salvador Signed-off-by: Ross Burton --- meta/recipes-graphics/mesa/{mesa-gl_17.1.3.bb => mesa-gl_17.1.4.bb} | 0 meta/recipes-graphics/mesa/{mesa_17.1.3.bb => mesa_17.1.4.bb} | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-graphics/mesa/mesa-gl_17.1.3.bb b/meta/recipes-graphics/mesa/mesa-gl_17.1.4.bb similarity index 100% rename from meta/recipes-graphics/mesa/mesa-gl_17.1.3.bb rename to meta/recipes-graphics/mesa/mesa-gl_17.1.4.bb diff --git a/meta/recipes-graphics/mesa/mesa_17.1.3.bb b/meta/recipes-graphics/mesa/mesa_17.1.4.bb similarity index 84% rename from meta/recipes-graphics/mesa/mesa_17.1.3.bb rename to meta/recipes-graphics/mesa/mesa_17.1.4.bb index d986021..2a1ecd3 100644 --- a/meta/recipes-graphics/mesa/mesa_17.1.3.bb +++ b/meta/recipes-graphics/mesa/mesa_17.1.4.bb @@ -7,8 +7,8 @@ SRC_URI = "https://mesa.freedesktop.org/archive/mesa-${PV}.tar.xz \ file://0002-hardware-gloat.patch \ " -SRC_URI[md5sum] = "1946a93d543bc219427e2bebe2ac4752" -SRC_URI[sha256sum] = "5f1ee9a8aea2880f887884df2dea0c16dd1b13eb42fd2e52265db0dc1b380e8c" +SRC_URI[md5sum] = "be2ef7c9edec23b07f74f6512a6a6fa5" +SRC_URI[sha256sum] = "06f3b0e6a28f0d20b7f3391cf67fe89ae98ecd0a686cd545da76557b6cec9cad" #because we cannot rely on the fact that all apps will use pkgconfig, #make eglplatform.h independent of MESA_EGL_NO_X11_HEADER -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 13:39:35 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 13:39:35 +0000 Subject: [oe-commits] [openembedded-core] 21/47: qemu: Replace use of struct ucontext with ucontext_t In-Reply-To: <149934835424.26552.7649440448958570525@git.openembedded.org> References: <149934835424.26552.7649440448958570525@git.openembedded.org> Message-ID: <20170706133915.35804234831@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 03b068881cc22d40c63bb23405b37ce9277460f1 Author: Khem Raj AuthorDate: Wed Jun 28 21:59:04 2017 -0700 qemu: Replace use of struct ucontext with ucontext_t Signed-off-by: Khem Raj Signed-off-by: Ross Burton --- ...lace-struct-ucontext-with-ucontext_t-type.patch | 265 +++++++++++++++++++++ meta/recipes-devtools/qemu/qemu_2.8.1.1.bb | 46 ++-- 2 files changed, 286 insertions(+), 25 deletions(-) diff --git a/meta/recipes-devtools/qemu/qemu/0001-replace-struct-ucontext-with-ucontext_t-type.patch b/meta/recipes-devtools/qemu/qemu/0001-replace-struct-ucontext-with-ucontext_t-type.patch new file mode 100644 index 0000000..c3eb543 --- /dev/null +++ b/meta/recipes-devtools/qemu/qemu/0001-replace-struct-ucontext-with-ucontext_t-type.patch @@ -0,0 +1,265 @@ +From 80954c03163fdbf8b905595a69008093096ee2f6 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 28 Jun 2017 13:28:37 -0700 +Subject: [PATCH] replace struct ucontext with ucontext_t type + +The ucontext_t type had a tag struct ucontext until now +but newer glibc will drop it so we need to adjust and use +the exposed type instead + +Signed-off-by: Khem Raj +Cc: Kamil Rytarowski +Cc: Riku Voipio +Cc: Laurent Vivier +Cc: Paolo Bonzini + +Upstream-Status: Submitted +--- + linux-user/host/aarch64/hostdep.h | 2 +- + linux-user/host/arm/hostdep.h | 2 +- + linux-user/host/i386/hostdep.h | 2 +- + linux-user/host/ppc64/hostdep.h | 2 +- + linux-user/host/s390x/hostdep.h | 2 +- + linux-user/host/x86_64/hostdep.h | 2 +- + linux-user/signal.c | 10 +++++----- + tests/tcg/test-i386.c | 4 ++-- + user-exec.c | 18 +++++++++--------- + 9 files changed, 22 insertions(+), 22 deletions(-) + +diff --git a/linux-user/host/aarch64/hostdep.h b/linux-user/host/aarch64/hostdep.h +index 64f75cef49..a8d41a21ad 100644 +--- a/linux-user/host/aarch64/hostdep.h ++++ b/linux-user/host/aarch64/hostdep.h +@@ -24,7 +24,7 @@ extern char safe_syscall_end[]; + /* Adjust the signal context to rewind out of safe-syscall if we're in it */ + static inline void rewind_if_in_safe_syscall(void *puc) + { +- struct ucontext *uc = puc; ++ ucontext_t *uc = puc; + __u64 *pcreg = &uc->uc_mcontext.pc; + + if (*pcreg > (uintptr_t)safe_syscall_start +diff --git a/linux-user/host/arm/hostdep.h b/linux-user/host/arm/hostdep.h +index 5c1ae60120..9276fe6ceb 100644 +--- a/linux-user/host/arm/hostdep.h ++++ b/linux-user/host/arm/hostdep.h +@@ -24,7 +24,7 @@ extern char safe_syscall_end[]; + /* Adjust the signal context to rewind out of safe-syscall if we're in it */ + static inline void rewind_if_in_safe_syscall(void *puc) + { +- struct ucontext *uc = puc; ++ ucontext_t *uc = puc; + unsigned long *pcreg = &uc->uc_mcontext.arm_pc; + + if (*pcreg > (uintptr_t)safe_syscall_start +diff --git a/linux-user/host/i386/hostdep.h b/linux-user/host/i386/hostdep.h +index d834bd80ea..073be74d87 100644 +--- a/linux-user/host/i386/hostdep.h ++++ b/linux-user/host/i386/hostdep.h +@@ -24,7 +24,7 @@ extern char safe_syscall_end[]; + /* Adjust the signal context to rewind out of safe-syscall if we're in it */ + static inline void rewind_if_in_safe_syscall(void *puc) + { +- struct ucontext *uc = puc; ++ ucontext_t *uc = puc; + greg_t *pcreg = &uc->uc_mcontext.gregs[REG_EIP]; + + if (*pcreg > (uintptr_t)safe_syscall_start +diff --git a/linux-user/host/ppc64/hostdep.h b/linux-user/host/ppc64/hostdep.h +index 0b0f5f7821..98979ad917 100644 +--- a/linux-user/host/ppc64/hostdep.h ++++ b/linux-user/host/ppc64/hostdep.h +@@ -24,7 +24,7 @@ extern char safe_syscall_end[]; + /* Adjust the signal context to rewind out of safe-syscall if we're in it */ + static inline void rewind_if_in_safe_syscall(void *puc) + { +- struct ucontext *uc = puc; ++ ucontext_t *uc = puc; + unsigned long *pcreg = &uc->uc_mcontext.gp_regs[PT_NIP]; + + if (*pcreg > (uintptr_t)safe_syscall_start +diff --git a/linux-user/host/s390x/hostdep.h b/linux-user/host/s390x/hostdep.h +index 6f9da9c608..4f0171f36f 100644 +--- a/linux-user/host/s390x/hostdep.h ++++ b/linux-user/host/s390x/hostdep.h +@@ -24,7 +24,7 @@ extern char safe_syscall_end[]; + /* Adjust the signal context to rewind out of safe-syscall if we're in it */ + static inline void rewind_if_in_safe_syscall(void *puc) + { +- struct ucontext *uc = puc; ++ ucontext_t *uc = puc; + unsigned long *pcreg = &uc->uc_mcontext.psw.addr; + + if (*pcreg > (uintptr_t)safe_syscall_start +diff --git a/linux-user/host/x86_64/hostdep.h b/linux-user/host/x86_64/hostdep.h +index 3b4259633e..a4fefb5114 100644 +--- a/linux-user/host/x86_64/hostdep.h ++++ b/linux-user/host/x86_64/hostdep.h +@@ -24,7 +24,7 @@ extern char safe_syscall_end[]; + /* Adjust the signal context to rewind out of safe-syscall if we're in it */ + static inline void rewind_if_in_safe_syscall(void *puc) + { +- struct ucontext *uc = puc; ++ ucontext_t *uc = puc; + greg_t *pcreg = &uc->uc_mcontext.gregs[REG_RIP]; + + if (*pcreg > (uintptr_t)safe_syscall_start +diff --git a/linux-user/signal.c b/linux-user/signal.c +index c750053edd..4638123dd8 100644 +--- a/linux-user/signal.c ++++ b/linux-user/signal.c +@@ -3170,7 +3170,7 @@ static void setup_rt_frame(int sig, struct target_sigaction *ka, + * + * a0 = signal number + * a1 = pointer to siginfo_t +- * a2 = pointer to struct ucontext ++ * a2 = pointer to ucontext_t + * + * $25 and PC point to the signal handler, $29 points to the + * struct sigframe. +@@ -3557,7 +3557,7 @@ struct target_signal_frame { + + struct rt_signal_frame { + siginfo_t info; +- struct ucontext uc; ++ ucontext_t uc; + uint32_t tramp[2]; + }; + +@@ -3773,7 +3773,7 @@ struct rt_signal_frame { + siginfo_t *pinfo; + void *puc; + siginfo_t info; +- struct ucontext uc; ++ ucontext_t uc; + uint16_t retcode[4]; /* Trampoline code. */ + }; + +@@ -4074,7 +4074,7 @@ static void setup_rt_frame(int sig, struct target_sigaction *ka, + tswap_siginfo(&frame->info, info); + } + +- /*err |= __clear_user(&frame->uc, offsetof(struct ucontext, uc_mcontext));*/ ++ /*err |= __clear_user(&frame->uc, offsetof(ucontext_t, uc_mcontext));*/ + __put_user(0, &frame->uc.tuc_flags); + __put_user(0, &frame->uc.tuc_link); + __put_user(target_sigaltstack_used.ss_sp, +@@ -4565,7 +4565,7 @@ enum { + + struct target_ucontext { + target_ulong tuc_flags; +- target_ulong tuc_link; /* struct ucontext __user * */ ++ target_ulong tuc_link; /* ucontext_t __user * */ + struct target_sigaltstack tuc_stack; + #if !defined(TARGET_PPC64) + int32_t tuc_pad[7]; +diff --git a/tests/tcg/test-i386.c b/tests/tcg/test-i386.c +index 0f7b943b0c..9599204895 100644 +--- a/tests/tcg/test-i386.c ++++ b/tests/tcg/test-i386.c +@@ -1720,7 +1720,7 @@ int tab[2]; + + void sig_handler(int sig, siginfo_t *info, void *puc) + { +- struct ucontext *uc = puc; ++ ucontext_t *uc = puc; + + printf("si_signo=%d si_errno=%d si_code=%d", + info->si_signo, info->si_errno, info->si_code); +@@ -1912,7 +1912,7 @@ void test_exceptions(void) + /* specific precise single step test */ + void sig_trap_handler(int sig, siginfo_t *info, void *puc) + { +- struct ucontext *uc = puc; ++ ucontext_t *uc = puc; + printf("EIP=" FMTLX "\n", (long)uc->uc_mcontext.gregs[REG_EIP]); + } + +diff --git a/user-exec.c b/user-exec.c +index 6db075884d..3f1b899e3d 100644 +--- a/user-exec.c ++++ b/user-exec.c +@@ -155,7 +155,7 @@ int cpu_signal_handler(int host_signum, void *pinfo, + #elif defined(__OpenBSD__) + struct sigcontext *uc = puc; + #else +- struct ucontext *uc = puc; ++ ucontext_t *uc = puc; + #endif + unsigned long pc; + int trapno; +@@ -210,7 +210,7 @@ int cpu_signal_handler(int host_signum, void *pinfo, + #elif defined(__OpenBSD__) + struct sigcontext *uc = puc; + #else +- struct ucontext *uc = puc; ++ ucontext_t *uc = puc; + #endif + + pc = PC_sig(uc); +@@ -277,7 +277,7 @@ int cpu_signal_handler(int host_signum, void *pinfo, + #if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) + ucontext_t *uc = puc; + #else +- struct ucontext *uc = puc; ++ ucontext_t *uc = puc; + #endif + unsigned long pc; + int is_write; +@@ -304,7 +304,7 @@ int cpu_signal_handler(int host_signum, void *pinfo, + void *puc) + { + siginfo_t *info = pinfo; +- struct ucontext *uc = puc; ++ ucontext_t *uc = puc; + uint32_t *pc = uc->uc_mcontext.sc_pc; + uint32_t insn = *pc; + int is_write = 0; +@@ -402,7 +402,7 @@ int cpu_signal_handler(int host_signum, void *pinfo, + #if defined(__NetBSD__) + ucontext_t *uc = puc; + #else +- struct ucontext *uc = puc; ++ ucontext_t *uc = puc; + #endif + unsigned long pc; + int is_write; +@@ -429,7 +429,7 @@ int cpu_signal_handler(int host_signum, void *pinfo, + int cpu_signal_handler(int host_signum, void *pinfo, void *puc) + { + siginfo_t *info = pinfo; +- struct ucontext *uc = puc; ++ ucontext_t *uc = puc; + uintptr_t pc = uc->uc_mcontext.pc; + uint32_t insn = *(uint32_t *)pc; + bool is_write; +@@ -462,7 +462,7 @@ int cpu_signal_handler(int host_signum, void *pinfo, void *puc) + int cpu_signal_handler(int host_signum, void *pinfo, void *puc) + { + siginfo_t *info = pinfo; +- struct ucontext *uc = puc; ++ ucontext_t *uc = puc; + unsigned long ip; + int is_write = 0; + +@@ -493,7 +493,7 @@ int cpu_signal_handler(int host_signum, void *pinfo, + void *puc) + { + siginfo_t *info = pinfo; +- struct ucontext *uc = puc; ++ ucontext_t *uc = puc; + unsigned long pc; + uint16_t *pinsn; + int is_write = 0; +@@ -546,7 +546,7 @@ int cpu_signal_handler(int host_signum, void *pinfo, + void *puc) + { + siginfo_t *info = pinfo; +- struct ucontext *uc = puc; ++ ucontext_t *uc = puc; + greg_t pc = uc->uc_mcontext.pc; + int is_write; + +-- +2.13.2 + diff --git a/meta/recipes-devtools/qemu/qemu_2.8.1.1.bb b/meta/recipes-devtools/qemu/qemu_2.8.1.1.bb index d37dd49..a5dc704 100644 --- a/meta/recipes-devtools/qemu/qemu_2.8.1.1.bb +++ b/meta/recipes-devtools/qemu/qemu_2.8.1.1.bb @@ -7,37 +7,33 @@ RDEPENDS_${PN}-ptest = "bash make" LIC_FILES_CHKSUM = "file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \ file://COPYING.LIB;endline=24;md5=c04def7ae38850e7d3ef548588159913" -SRC_URI += " \ - file://powerpc_rom.bin \ - file://disable-grabs.patch \ - file://exclude-some-arm-EABI-obsolete-syscalls.patch \ - file://wacom.patch \ - file://add-ptest-in-makefile.patch \ - file://run-ptest \ - file://configure-fix-Darwin-target-detection.patch \ - file://qemu-enlarge-env-entry-size.patch \ - file://no-valgrind.patch \ - file://pathlimit.patch \ - file://qemu-2.5.0-cflags.patch \ - file://glibc-2.25.patch \ -" - -SRC_URI += " \ - file://0001-Provide-support-for-the-CUSE-TPM.patch \ - file://0002-Introduce-condition-to-notify-waiters-of-completed-c.patch \ - file://0003-Introduce-condition-in-TPM-backend-for-notification.patch \ - file://0004-Add-support-for-VM-suspend-resume-for-TPM-TIS.patch \ - file://CVE-2016-9908.patch \ - file://CVE-2016-9912.patch \ -" +SRC_URI = "http://wiki.qemu-project.org/download/${BP}.tar.bz2 \ + file://powerpc_rom.bin \ + file://disable-grabs.patch \ + file://exclude-some-arm-EABI-obsolete-syscalls.patch \ + file://wacom.patch \ + file://add-ptest-in-makefile.patch \ + file://run-ptest \ + file://configure-fix-Darwin-target-detection.patch \ + file://qemu-enlarge-env-entry-size.patch \ + file://no-valgrind.patch \ + file://pathlimit.patch \ + file://qemu-2.5.0-cflags.patch \ + file://glibc-2.25.patch \ + file://0001-Provide-support-for-the-CUSE-TPM.patch \ + file://0002-Introduce-condition-to-notify-waiters-of-completed-c.patch \ + file://0003-Introduce-condition-in-TPM-backend-for-notification.patch \ + file://0004-Add-support-for-VM-suspend-resume-for-TPM-TIS.patch \ + file://CVE-2016-9908.patch \ + file://CVE-2016-9912.patch \ + file://0001-replace-struct-ucontext-with-ucontext_t-type.patch \ + " SRC_URI_append_class-native = " \ file://fix-libcap-header-issue-on-some-distro.patch \ file://cpus.c-qemu_cpu_kick_thread_debugging.patch \ " -SRC_URI =+ "http://wiki.qemu-project.org/download/${BP}.tar.bz2" - SRC_URI[md5sum] = "a6a23a0c59fd0f8ec564b0fb89a79954" SRC_URI[sha256sum] = "f62ab18a1fb9ff5b4c81ed44becc945b11581eff777618141bdb787da55d3638" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 13:39:41 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 13:39:41 +0000 Subject: [oe-commits] [openembedded-core] 27/47: expat: upgrade to 2.2.1 In-Reply-To: <149934835424.26552.7649440448958570525@git.openembedded.org> References: <149934835424.26552.7649440448958570525@git.openembedded.org> Message-ID: <20170706133915.5DFF7234837@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 7e880775e2e354c76c386c91b2b8f36eddf1574d Author: Dengke Du AuthorDate: Mon Jul 3 05:36:52 2017 -0400 expat: upgrade to 2.2.1 The COPYING file in expat has the following changes: 2001-20016 to 2001-2017 Signed-off-by: Dengke Du Signed-off-by: Ross Burton --- meta/recipes-core/expat/expat_2.2.0.bb | 5 ----- meta/recipes-core/expat/expat_2.2.1.bb | 5 +++++ 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/meta/recipes-core/expat/expat_2.2.0.bb b/meta/recipes-core/expat/expat_2.2.0.bb deleted file mode 100644 index ef21a11..0000000 --- a/meta/recipes-core/expat/expat_2.2.0.bb +++ /dev/null @@ -1,5 +0,0 @@ -require expat.inc -LIC_FILES_CHKSUM = "file://COPYING;md5=9c3ee559c6f9dcee1043ead112139f4f" - -SRC_URI[md5sum] = "2f47841c829facb346eb6e3fab5212e2" -SRC_URI[sha256sum] = "d9e50ff2d19b3538bd2127902a89987474e1a4db8e43a66a4d1a712ab9a504ff" diff --git a/meta/recipes-core/expat/expat_2.2.1.bb b/meta/recipes-core/expat/expat_2.2.1.bb new file mode 100644 index 0000000..47827c5 --- /dev/null +++ b/meta/recipes-core/expat/expat_2.2.1.bb @@ -0,0 +1,5 @@ +require expat.inc +LIC_FILES_CHKSUM = "file://COPYING;md5=5b8620d98e49772d95fc1d291c26aa79" + +SRC_URI[md5sum] = "d9c3baeab58774cefc2f04faf29f2cf8" +SRC_URI[sha256sum] = "1868cadae4c82a018e361e2b2091de103cd820aaacb0d6cfa49bd2cd83978885" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 13:39:46 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 13:39:46 +0000 Subject: [oe-commits] [openembedded-core] 32/47: systemd: Do not use xlocale.h In-Reply-To: <149934835424.26552.7649440448958570525@git.openembedded.org> References: <149934835424.26552.7649440448958570525@git.openembedded.org> Message-ID: <20170706133915.8AFEA23483C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 7e562e24ed295a36f3d909f57cef017faf73f093 Author: Khem Raj AuthorDate: Mon Jul 3 08:59:27 2017 -0700 systemd: Do not use xlocale.h glibc specific header which has been removed from glibc 2.26+ Signed-off-by: Khem Raj Signed-off-by: Ross Burton --- ...se-util-Do-not-include-unneeded-xlocale.h.patch | 27 ++++++++++++++++++++++ meta/recipes-core/systemd/systemd_232.bb | 3 ++- 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/meta/recipes-core/systemd/systemd/0022-parse-util-Do-not-include-unneeded-xlocale.h.patch b/meta/recipes-core/systemd/systemd/0022-parse-util-Do-not-include-unneeded-xlocale.h.patch new file mode 100644 index 0000000..cad1867 --- /dev/null +++ b/meta/recipes-core/systemd/systemd/0022-parse-util-Do-not-include-unneeded-xlocale.h.patch @@ -0,0 +1,27 @@ +From 0c50b8332092178378257c2de800fb6b6b4a8706 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 3 Jul 2017 08:45:04 -0700 +Subject: [PATCH] parse-util: Do not include unneeded xlocale.h + +Signed-off-by: Khem Raj +--- +Upstream-Status: Backport [ partial https://github.com/systemd/systemd/commit/284d1cd0a12cad96a5ea61d1afb0dd677dbd147e] + + src/basic/parse-util.c | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/src/basic/parse-util.c b/src/basic/parse-util.c +index c98815b9b..a0eb45805 100644 +--- a/src/basic/parse-util.c ++++ b/src/basic/parse-util.c +@@ -23,7 +23,6 @@ + #include + #include + #include +-#include + + #include "alloc-util.h" + #include "extract-word.h" +-- +2.13.2 + diff --git a/meta/recipes-core/systemd/systemd_232.bb b/meta/recipes-core/systemd/systemd_232.bb index d54e927..287e07b 100644 --- a/meta/recipes-core/systemd/systemd_232.bb +++ b/meta/recipes-core/systemd/systemd_232.bb @@ -31,7 +31,8 @@ SRC_URI += " \ file://0019-socket-util-don-t-fail-if-libc-doesn-t-support-IDN.patch \ file://0020-back-port-233-don-t-use-the-unified-hierarchy-for-the-systemd.patch \ file://0021-build-sys-check-for-lz4-in-the-old-and-new-numbering.patch \ -" + file://0022-parse-util-Do-not-include-unneeded-xlocale.h.patch \ + " SRC_URI_append_qemuall = " file://0001-core-device.c-Change-the-default-device-timeout-to-2.patch" PACKAGECONFIG ??= "xz \ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 13:39:49 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 13:39:49 +0000 Subject: [oe-commits] [openembedded-core] 35/47: ltp: syscalls/add_key02: fix for nonempty NULL payload In-Reply-To: <149934835424.26552.7649440448958570525@git.openembedded.org> References: <149934835424.26552.7649440448958570525@git.openembedded.org> Message-ID: <20170706133915.A4BC523483F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit c7c72b73a841c6eadf88428db643e77deb0c0e65 Author: Fathi Boudra AuthorDate: Mon Jul 3 14:45:34 2017 +0300 ltp: syscalls/add_key02: fix for nonempty NULL payload Add upstream patch to fix syscalls/add_key02 test for nonempty NULL payload: https://github.com/linux-test-project/ltp/commit/25045624e941ee76a13febd36187e23c6c435507 Signed-off-by: Milosz Wasilewski Signed-off-by: Fathi Boudra Signed-off-by: Ross Burton --- ...d_key02-update-to-test-fix-for-nonempty-N.patch | 136 +++++++++++++++++++++ meta/recipes-extended/ltp/ltp_20170516.bb | 1 + 2 files changed, 137 insertions(+) diff --git a/meta/recipes-extended/ltp/ltp/0038-syscalls-add_key02-update-to-test-fix-for-nonempty-N.patch b/meta/recipes-extended/ltp/ltp/0038-syscalls-add_key02-update-to-test-fix-for-nonempty-N.patch new file mode 100644 index 0000000..3759e1f --- /dev/null +++ b/meta/recipes-extended/ltp/ltp/0038-syscalls-add_key02-update-to-test-fix-for-nonempty-N.patch @@ -0,0 +1,136 @@ +From 25045624e941ee76a13febd36187e23c6c435507 Mon Sep 17 00:00:00 2001 +From: Eric Biggers +Date: Mon, 12 Jun 2017 11:55:21 -0700 +Subject: [PATCH 01/39] syscalls/add_key02: update to test fix for nonempty + NULL payload + +add_key02 was supposed to be a "Basic test for the add_key() syscall", +but it actually happened to test the obscure case of passing a NULL +payload with nonzero length. This case was mishandled by the kernel, +which either returned EINVAL or crashed with a NULL pointer dereference, +depending on the key type. (The former applied to the test, as it used +the "user" key type.) The expected behavior in this case is that the +syscall fail with EFAULT. + +Update the test to expect the fixed behavior from v4.12-rc5, and make +the test more thorough by testing additional key types, including ones +that caused a NULL pointer dereference in unfixed kernels. + +Signed-off-by: Eric Biggers +Upstream-Status: Accepted [https://github.com/linux-test-project/ltp/commit/25045624e941ee76a13febd36187e23c6c435507] +--- + testcases/kernel/syscalls/add_key/add_key02.c | 69 ++++++++++++++++++++------- + 1 file changed, 51 insertions(+), 18 deletions(-) + +diff --git a/testcases/kernel/syscalls/add_key/add_key02.c b/testcases/kernel/syscalls/add_key/add_key02.c +index 866800d6f..2e3308dcd 100644 +--- a/testcases/kernel/syscalls/add_key/add_key02.c ++++ b/testcases/kernel/syscalls/add_key/add_key02.c +@@ -1,5 +1,6 @@ + /****************************************************************************** + * Copyright (c) Crackerjack Project., 2007 * ++ * Copyright (c) 2017 Google, Inc. * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * +@@ -18,10 +19,17 @@ + ******************************************************************************/ + + /* +- * Basic test for the add_key() syscall. ++ * Test that the add_key() syscall correctly handles a NULL payload with nonzero ++ * length. Specifically, it should fail with EFAULT rather than oopsing the ++ * kernel with a NULL pointer dereference or failing with EINVAL, as it did ++ * before (depending on the key type). This is a regression test for commit ++ * 5649645d725c ("KEYS: fix dereferencing NULL payload with nonzero length"). + * +- * History: Porting from Crackerjack to LTP is done by +- * Manas Kumar Nayak maknayak at in.ibm.com> ++ * Note that none of the key types that exhibited the NULL pointer dereference ++ * are guaranteed to be built into the kernel, so we just test as many as we ++ * can, in the hope of catching one. We also test with the "user" key type for ++ * good measure, although it was one of the types that failed with EINVAL rather ++ * than dereferencing NULL. + */ + + #include "config.h" +@@ -33,36 +41,61 @@ + + #ifdef HAVE_LINUX_KEYCTL_H + struct tcase { +- char *type; +- char *desc; +- void *payload; +- int plen; +- int exp_errno; ++ const char *type; ++ size_t plen; + } tcases[] = { +- {"user", "firstkey", NULL, 1, EINVAL} ++ /* ++ * The payload length we test for each key type needs to pass initial ++ * validation but is otherwise arbitrary. Note: the "rxrpc_s" key type ++ * requires a payload of exactly 8 bytes. ++ */ ++ { "asymmetric", 64 }, ++ { "cifs.idmap", 64 }, ++ { "cifs.spnego", 64 }, ++ { "pkcs7_test", 64 }, ++ { "rxrpc", 64 }, ++ { "rxrpc_s", 8 }, ++ { "user", 64 }, + }; + #endif /* HAVE_LINUX_KEYCTL_H */ + + static void verify_add_key(unsigned int i) + { + #ifdef HAVE_LINUX_KEYCTL_H +- TEST(tst_syscall(__NR_add_key, tcases[i].type, tcases[i].desc, +- tcases[i].payload, tcases[i].plen, +- KEY_SPEC_USER_KEYRING)); ++ TEST(tst_syscall(__NR_add_key, tcases[i].type, "abc:def", ++ NULL, tcases[i].plen, KEY_SPEC_PROCESS_KEYRING)); + + if (TEST_RETURN != -1) { +- tst_res(TFAIL, "add_key() passed unexpectedly"); ++ tst_res(TFAIL, ++ "add_key() with key type '%s' unexpectedly succeeded", ++ tcases[i].type); + return; + } + +- if (TEST_ERRNO == tcases[i].exp_errno) { +- tst_res(TPASS | TTERRNO, "add_key() failed expectedly"); ++ if (TEST_ERRNO == EFAULT) { ++ tst_res(TPASS, "received expected EFAULT with key type '%s'", ++ tcases[i].type); + return; + } + +- tst_res(TFAIL | TTERRNO, +- "add_key() failed unexpectedly, expected %s", +- tst_strerrno(tcases[i].exp_errno)); ++ if (TEST_ERRNO == ENODEV) { ++ tst_res(TCONF, "kernel doesn't support key type '%s'", ++ tcases[i].type); ++ return; ++ } ++ ++ /* ++ * It's possible for the "asymmetric" key type to be supported, but with ++ * no asymmetric key parsers registered. In that case, attempting to ++ * add a key of type asymmetric will fail with EBADMSG. ++ */ ++ if (TEST_ERRNO == EBADMSG && !strcmp(tcases[i].type, "asymmetric")) { ++ tst_res(TCONF, "no asymmetric key parsers are registered"); ++ return; ++ } ++ ++ tst_res(TFAIL | TTERRNO, "unexpected error with key type '%s'", ++ tcases[i].type); + #else + tst_brk(TCONF, "linux/keyctl.h was missing upon compilation."); + #endif /* HAVE_LINUX_KEYCTL_H */ +-- +2.13.0 + diff --git a/meta/recipes-extended/ltp/ltp_20170516.bb b/meta/recipes-extended/ltp/ltp_20170516.bb index f537d60..ac66b09 100644 --- a/meta/recipes-extended/ltp/ltp_20170516.bb +++ b/meta/recipes-extended/ltp/ltp_20170516.bb @@ -51,6 +51,7 @@ SRC_URI = "git://github.com/linux-test-project/ltp.git \ file://0036-testcases-network-nfsv4-acl-acl1.c-Security-fix-on-s.patch \ file://0001-dirtyc0w-Include-stdint.h.patch \ file://0037-faccessat-and-fchmodat-Fix-build-warnings.patch \ + file://0038-syscalls-add_key02-update-to-test-fix-for-nonempty-N.patch \ " S = "${WORKDIR}/git" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 13:39:43 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 13:39:43 +0000 Subject: [oe-commits] [openembedded-core] 29/47: sanity.bbclass: fix AttributeError in mirror format checks In-Reply-To: <149934835424.26552.7649440448958570525@git.openembedded.org> References: <149934835424.26552.7649440448958570525@git.openembedded.org> Message-ID: <20170706133915.703B7234839@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 2b7232f2913cc3c8463f136bad7dd06b690c5141 Author: Mikko Ylinen AuthorDate: Mon Jul 3 14:49:55 2017 +0300 sanity.bbclass: fix AttributeError in mirror format checks mirrors is a list after split() and results in: AttributeError: 'list' object has no attribute 'strip' when the 'mirror values are pairs' check fails. Signed-off-by: Mikko Ylinen Signed-off-by: Ross Burton --- meta/classes/sanity.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass index f629d20..b746b17 100644 --- a/meta/classes/sanity.bbclass +++ b/meta/classes/sanity.bbclass @@ -783,7 +783,7 @@ def check_sanity_everybuild(status, d): # Split into pairs if len(mirrors) % 2 != 0: - bb.warn('Invalid mirror variable value for %s: %s, should contain paired members.' % (mirror_var, mirrors.strip())) + bb.warn('Invalid mirror variable value for %s: %s, should contain paired members.' % (mirror_var, str(mirrors))) continue mirrors = list(zip(*[iter(mirrors)]*2)) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 13:39:51 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 13:39:51 +0000 Subject: [oe-commits] [openembedded-core] 37/47: ltp: add acl, attr, curl and util-linux runtime dependencies In-Reply-To: <149934835424.26552.7649440448958570525@git.openembedded.org> References: <149934835424.26552.7649440448958570525@git.openembedded.org> Message-ID: <20170706133915.B40C8234841@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit a7480beb33e69d7cb63353ffa215326f4ae4b87d Author: Fathi Boudra AuthorDate: Wed Jul 5 14:13:11 2017 +0300 ltp: add acl, attr, curl and util-linux runtime dependencies * Use a list and re-order alphabetically to make it easier to read and update. * Add missing runtime dependencies: - acl (getfacl/setfacl commands are required) - attr (getfattr/setfattr commands are required) - iproute2 (required for netns tests) - curl (curl command is required) - util-linux (ipcs command is required) Reported-by: Naresh Kamboju Signed-off-by: Fathi Boudra Signed-off-by: Ross Burton --- meta/recipes-extended/ltp/ltp_20170516.bb | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/meta/recipes-extended/ltp/ltp_20170516.bb b/meta/recipes-extended/ltp/ltp_20170516.bb index ac66b09..86b8012 100644 --- a/meta/recipes-extended/ltp/ltp_20170516.bb +++ b/meta/recipes-extended/ltp/ltp_20170516.bb @@ -96,7 +96,28 @@ do_install(){ cp -r testcases/open_posix_testsuite ${D}/opt/ltp/testcases } -RDEPENDS_${PN} = "perl e2fsprogs-mke2fs python-core libaio bash gawk expect ldd unzip gzip cpio cronie logrotate which at" +RDEPENDS_${PN} = "\ + acl \ + at \ + attr \ + bash \ + cpio \ + cronie \ + curl \ + e2fsprogs-mke2fs \ + expect \ + gawk \ + gzip \ + iproute2 \ + ldd \ + libaio \ + logrotate \ + perl \ + python-core \ + unzip \ + util-linux \ + which \ +" FILES_${PN}-staticdev += "/opt/ltp/lib/libmem.a /opt/ltp/testcases/data/nm01/lib.a" @@ -107,4 +128,3 @@ INHIBIT_PACKAGE_STRIP = "1" INHIBIT_PACKAGE_DEBUG_SPLIT = "1" # However, test_arch_stripped is already stripped, so... INSANE_SKIP_${PN} += "already-stripped" - -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 13:39:53 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 13:39:53 +0000 Subject: [oe-commits] [openembedded-core] 39/47: mirrors: Add HTTP mirrors for ftp://sourceware.org In-Reply-To: <149934835424.26552.7649440448958570525@git.openembedded.org> References: <149934835424.26552.7649440448958570525@git.openembedded.org> Message-ID: <20170706133915.C2413234843@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 081c7b3d474461905eda89f77c760f1453a33e44 Author: Soren Brinkmann AuthorDate: Tue Jul 4 10:29:07 2017 -0700 mirrors: Add HTTP mirrors for ftp://sourceware.org Signed-off-by: Soren Brinkmann Signed-off-by: Ross Burton --- meta/classes/mirrors.bbclass | 3 +++ 1 file changed, 3 insertions(+) diff --git a/meta/classes/mirrors.bbclass b/meta/classes/mirrors.bbclass index b7c20b6..de2c2b9 100644 --- a/meta/classes/mirrors.bbclass +++ b/meta/classes/mirrors.bbclass @@ -45,6 +45,9 @@ ${APACHE_MIRROR} http://archive.apache.org/dist \n \ http://downloads.sourceforge.net/watchdog/ http://fossies.org/linux/misc/ \n \ ${SAVANNAH_GNU_MIRROR} http://download-mirror.savannah.gnu.org/releases \n \ ${SAVANNAH_NONGNU_MIRROR} http://download-mirror.savannah.nongnu.org/releases \n \ +ftp://sourceware.org/pub http://mirrors.kernel.org/sourceware \n \ +ftp://sourceware.org/pub http://gd.tuwien.ac.at/gnu/sourceware \n \ +ftp://sourceware.org/pub http://ftp.gwdg.de/pub/linux/sources.redhat.com/sourceware \n \ cvs://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n \ svn://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n \ git://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n \ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 13:39:50 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 13:39:50 +0000 Subject: [oe-commits] [openembedded-core] 36/47: ltp: Reduce local Pending patches In-Reply-To: <149934835424.26552.7649440448958570525@git.openembedded.org> References: <149934835424.26552.7649440448958570525@git.openembedded.org> Message-ID: <20170706133915.AC32C234840@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 69bd27d9d268d4c52aa521a0ceed0eb5a259a516 Author: Dengke Du AuthorDate: Mon Jul 3 23:36:21 2017 -0400 ltp: Reduce local Pending patches Rebase the patch on latest ltp upstream: 0007-fix-__WORDSIZE-undeclared-when-building-with-musl.patch [Yocto #11548] Signed-off-by: Dengke Du Signed-off-by: Ross Burton --- ...TH_MAX-undeclared-when-building-with-musl.patch | 15 +++++++------- ...RDSIZE-undeclared-when-building-with-musl.patch | 23 +++++++++++----------- ...ition-of-struct-msgbuf-error-building-wit.patch | 9 +++++---- 3 files changed, 25 insertions(+), 22 deletions(-) diff --git a/meta/recipes-extended/ltp/ltp/0006-fix-PATH_MAX-undeclared-when-building-with-musl.patch b/meta/recipes-extended/ltp/ltp/0006-fix-PATH_MAX-undeclared-when-building-with-musl.patch index 8874b95..020ddfe 100644 --- a/meta/recipes-extended/ltp/ltp/0006-fix-PATH_MAX-undeclared-when-building-with-musl.patch +++ b/meta/recipes-extended/ltp/ltp/0006-fix-PATH_MAX-undeclared-when-building-with-musl.patch @@ -1,22 +1,23 @@ -From 32644bde4d33b677614534ec37030e57883b8e15 Mon Sep 17 00:00:00 2001 +From b906ec2fe4711a727e198cd9259287c042eef8e2 Mon Sep 17 00:00:00 2001 From: Dengke Du Date: Thu, 9 Feb 2017 16:41:12 +0800 -Subject: [PATCH 1/3] fix PATH_MAX undeclared when building with musl +Subject: [PATCH] fix PATH_MAX undeclared when building with musl fix PATH_MAX undeclared when building with musl. +Upstream-Status: Submitted [https://github.com/linux-test-project/ltp/pull/176] + Signed-off-by: Dengke Du -Upstream-Status: Pending --- include/tst_test.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/include/tst_test.h b/include/tst_test.h -index 7ff33b2..9779c0e 100644 +index 335c82684..4dfa1511b 100644 --- a/include/tst_test.h +++ b/include/tst_test.h -@@ -19,6 +19,9 @@ - #define TST_TEST_H__ +@@ -23,6 +23,9 @@ + #endif /* __TEST_H__ */ #include +#ifndef __GLIBC__ @@ -26,5 +27,5 @@ index 7ff33b2..9779c0e 100644 #include "tst_common.h" #include "tst_res_flags.h" -- -2.7.4 +2.11.0 diff --git a/meta/recipes-extended/ltp/ltp/0007-fix-__WORDSIZE-undeclared-when-building-with-musl.patch b/meta/recipes-extended/ltp/ltp/0007-fix-__WORDSIZE-undeclared-when-building-with-musl.patch index 8d0e739..2f4ca63 100644 --- a/meta/recipes-extended/ltp/ltp/0007-fix-__WORDSIZE-undeclared-when-building-with-musl.patch +++ b/meta/recipes-extended/ltp/ltp/0007-fix-__WORDSIZE-undeclared-when-building-with-musl.patch @@ -1,30 +1,31 @@ -From a2639bd0f0d3f9f3049ee33e6710fed06225f54f Mon Sep 17 00:00:00 2001 +From d1a27570457fb6e1d6bafe81bfa0f3507b137e32 Mon Sep 17 00:00:00 2001 From: Dengke Du Date: Thu, 9 Feb 2017 18:20:58 +0800 -Subject: [PATCH 1/2] fix __WORDSIZE undeclared when building with musl +Subject: [PATCH] fix __WORDSIZE undeclared when building with musl fix __WORDSIZE undeclared when building with musl. +Upstream-Status: Submitted [https://github.com/linux-test-project/ltp/pull/177] + Signed-off-by: Dengke Du -Upstream-Status: Pending --- include/old/test.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/include/old/test.h b/include/old/test.h -index d492560..263e92e 100644 +index b36764d83..cc6f1b551 100644 --- a/include/old/test.h +++ b/include/old/test.h -@@ -58,6 +58,9 @@ - #include "tst_clone.h" - #include "old_device.h" - #include "old_tmpdir.h" +@@ -44,6 +44,9 @@ + #include + #include + #include +#ifndef __GLIBC__ +#include +#endif - /* - * Ensure that NUMSIGS is defined. + #include "usctest.h" + -- -2.7.4 +2.11.0 diff --git a/meta/recipes-extended/ltp/ltp/0009-fix-redefinition-of-struct-msgbuf-error-building-wit.patch b/meta/recipes-extended/ltp/ltp/0009-fix-redefinition-of-struct-msgbuf-error-building-wit.patch index 6886c55..dd7d283 100644 --- a/meta/recipes-extended/ltp/ltp/0009-fix-redefinition-of-struct-msgbuf-error-building-wit.patch +++ b/meta/recipes-extended/ltp/ltp/0009-fix-redefinition-of-struct-msgbuf-error-building-wit.patch @@ -1,18 +1,19 @@ -From 2d7ea67e8eaa41cbd6816f7ab654254b40b530a1 Mon Sep 17 00:00:00 2001 +From bf5dd2932200e0199a38f3028d3bef2253f32e38 Mon Sep 17 00:00:00 2001 From: Dengke Du Date: Thu, 9 Feb 2017 17:17:37 +0800 Subject: [PATCH] fix redefinition of 'struct msgbuf' error building with musl When building with musl the file "sys/msg.h" already contain 'struct msgbuf' +Upstream-Status: Submitted [https://github.com/linux-test-project/ltp/pull/177] + Signed-off-by: Dengke Du -Upstream-Status: Pending --- testcases/kernel/syscalls/ipc/msgrcv/msgrcv08.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/testcases/kernel/syscalls/ipc/msgrcv/msgrcv08.c b/testcases/kernel/syscalls/ipc/msgrcv/msgrcv08.c -index a757c0d..e023114 100644 +index a757c0d18..e023114d2 100644 --- a/testcases/kernel/syscalls/ipc/msgrcv/msgrcv08.c +++ b/testcases/kernel/syscalls/ipc/msgrcv/msgrcv08.c @@ -47,11 +47,13 @@ const char *TCID = "msgrcv08"; @@ -31,5 +32,5 @@ index a757c0d..e023114 100644 static void msr(int msqid) { -- -2.7.4 +2.11.0 -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 13:39:52 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 13:39:52 +0000 Subject: [oe-commits] [openembedded-core] 38/47: local.conf.sample: drop image-swab reference In-Reply-To: <149934835424.26552.7649440448958570525@git.openembedded.org> References: <149934835424.26552.7649440448958570525@git.openembedded.org> Message-ID: <20170706133915.BB94A234842@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 948a5ceb8e4ac6781f05ac067c7de9dda09434fa Author: Ming Liu AuthorDate: Tue Jul 4 10:32:21 2017 +0200 local.conf.sample: drop image-swab reference The image swabber had been dropped by commit e18657df: [ meta: Drop swabber ] We need also drop its reference in local.conf. Signed-off-by: Ming Liu Signed-off-by: Ross Burton --- meta/conf/local.conf.sample | 1 - 1 file changed, 1 deletion(-) diff --git a/meta/conf/local.conf.sample b/meta/conf/local.conf.sample index 85c5e21..b754853 100644 --- a/meta/conf/local.conf.sample +++ b/meta/conf/local.conf.sample @@ -126,7 +126,6 @@ EXTRA_IMAGE_FEATURES ?= "debug-tweaks" # - 'buildstats' collect build statistics # - 'image-mklibs' to reduce shared library files size for an image # - 'image-prelink' in order to prelink the filesystem image -# - 'image-swab' to perform host system intrusion detection # NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink # NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended USER_CLASSES ?= "buildstats image-mklibs image-prelink" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 13:39:55 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 13:39:55 +0000 Subject: [oe-commits] [openembedded-core] 41/47: speex: update SRC_URI In-Reply-To: <149934835424.26552.7649440448958570525@git.openembedded.org> References: <149934835424.26552.7649440448958570525@git.openembedded.org> Message-ID: <20170706133915.D083E234845@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 8766a93c2c9774e53bb7950f8407243ece4ac682 Author: Ross Burton AuthorDate: Thu Jul 6 12:43:23 2017 +0100 speex: update SRC_URI The US download mirror appears to be down, so use the main host instead. Signed-off-by: Ross Burton --- meta/recipes-multimedia/speex/speex_1.2.0.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-multimedia/speex/speex_1.2.0.bb b/meta/recipes-multimedia/speex/speex_1.2.0.bb index cc69bb5..19636bb 100644 --- a/meta/recipes-multimedia/speex/speex_1.2.0.bb +++ b/meta/recipes-multimedia/speex/speex_1.2.0.bb @@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=314649d8ba9dd7045dfb6683f298d0a8 \ file://include/speex/speex.h;beginline=1;endline=34;md5=ef8c8ea4f7198d71cf3509c6ed05ea50" DEPENDS = "libogg speexdsp" -SRC_URI = "http://downloads.us.xiph.org/releases/speex/speex-${PV}.tar.gz" +SRC_URI = "http://downloads.xiph.org/releases/speex/speex-${PV}.tar.gz" UPSTREAM_CHECK_REGEX = "speex-(?P\d+(\.\d+)+)\.tar" SRC_URI[md5sum] = "8ab7bb2589110dfaf0ed7fa7757dc49c" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 13:39:42 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 13:39:42 +0000 Subject: [oe-commits] [openembedded-core] 28/47: oe-pkgdata-util: package-info: Allow extra variables to be displayed In-Reply-To: <149934835424.26552.7649440448958570525@git.openembedded.org> References: <149934835424.26552.7649440448958570525@git.openembedded.org> Message-ID: <20170706133915.6521E234838@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 6f054fcf08f6d5aeb6b5ade74ac5cc61a99fb8fe Author: Peter Kjellerstedt AuthorDate: Mon Jul 3 12:14:59 2017 +0200 oe-pkgdata-util: package-info: Allow extra variables to be displayed By specifying the -e option one or multiple times, extra variables available in the pkgdata can be displayed, e.,g, `oe-pkgdata-util package-info -e SUMMARY -e LICENSE ...`. The extra variables displayed are quoted since some of them may contain whitespace. Signed-off-by: Peter Kjellerstedt Signed-off-by: Ross Burton --- scripts/oe-pkgdata-util | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/scripts/oe-pkgdata-util b/scripts/oe-pkgdata-util index 6255662..677effe 100755 --- a/scripts/oe-pkgdata-util +++ b/scripts/oe-pkgdata-util @@ -325,8 +325,15 @@ def package_info(args): recipe_version = recipe_version + "-" + mappings[pkg]['PR'] pkg_size = mappings[pkg]['PKGSIZE'] - items.append("%s %s %s %s %s" % - (pkg, pkg_version, recipe, recipe_version, pkg_size)) + line = "%s %s %s %s %s" % (pkg, pkg_version, recipe, recipe_version, pkg_size) + + if args.extra: + for var in args.extra: + val = mappings[pkg][var].strip() + val = re.sub(r'\s+', ' ', val) + line += ' "%s"' % val + + items.append(line) print('\n'.join(items)) def get_recipe_pkgs(pkgdata_dir, recipe, unpackaged): @@ -530,6 +537,7 @@ def main(): description='Looks up the specified runtime package(s) and display information') parser_package_info.add_argument('pkg', nargs='*', help='Runtime package name to look up') parser_package_info.add_argument('-f', '--file', help='Read package names from the specified file (one per line, first field only)') + parser_package_info.add_argument('-e', '--extra', help='Extra variables to display, e.g., LICENSE (can be specified multiple times)', action='append') parser_package_info.set_defaults(func=package_info) parser_find_path = subparsers.add_parser('find-path', -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 13:39:54 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 13:39:54 +0000 Subject: [oe-commits] [openembedded-core] 40/47: avahi-ui: reduce local pending patches In-Reply-To: <149934835424.26552.7649440448958570525@git.openembedded.org> References: <149934835424.26552.7649440448958570525@git.openembedded.org> Message-ID: <20170706133915.C91B7234844@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 9e18fc1aa4aa0ead854bb4e02eb3af2e7909f597 Author: Dengke Du AuthorDate: Wed Jul 5 04:33:29 2017 -0400 avahi-ui: reduce local pending patches [Yocto #11548] Signed-off-by: Dengke Du Signed-off-by: Ross Burton --- ...01-configure.ac-install-GtkBuilder-interface-files-for-.patch | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/meta/recipes-connectivity/avahi/files/0001-configure.ac-install-GtkBuilder-interface-files-for-.patch b/meta/recipes-connectivity/avahi/files/0001-configure.ac-install-GtkBuilder-interface-files-for-.patch index 8ccef08..942607a 100644 --- a/meta/recipes-connectivity/avahi/files/0001-configure.ac-install-GtkBuilder-interface-files-for-.patch +++ b/meta/recipes-connectivity/avahi/files/0001-configure.ac-install-GtkBuilder-interface-files-for-.patch @@ -1,17 +1,18 @@ -From a59f13fab31a6e25bb03b2c2bc3aea576f857b6c Mon Sep 17 00:00:00 2001 +From 6ff255eff4fea6350b5e0462fee176fadc26fc1c Mon Sep 17 00:00:00 2001 From: Jussi Kukkonen Date: Sun, 12 Jun 2016 18:32:49 +0300 Subject: [PATCH] configure.ac: install GtkBuilder interface files for GTK+3 too -Upstream-Status: Pending +Upstream-Status: Submitted [https://github.com/lathiat/avahi/pull/130] Signed-off-by: Jussi Kukkonen +Signed-off-by: Dengke Du --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac -index aebb716..48bdf63 100644 +index 87a9a17..9860dcc 100644 --- a/configure.ac +++ b/configure.ac @@ -965,7 +965,7 @@ AC_SUBST(avahi_socket) @@ -24,5 +25,5 @@ index aebb716..48bdf63 100644 AC_SUBST(interfacesdir) fi -- -2.1.4 +2.8.1 -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 13:39:56 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 13:39:56 +0000 Subject: [oe-commits] [openembedded-core] 42/47: bitbake.conf: support for merged usr with DISTRO_FEATURE usrmerge In-Reply-To: <149934835424.26552.7649440448958570525@git.openembedded.org> References: <149934835424.26552.7649440448958570525@git.openembedded.org> Message-ID: <20170706133915.D7DAD23481E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 700848c6ebd03bf3105d09a41d758883ab875618 Author: Amarnath Valluri AuthorDate: Wed Jun 14 16:05:55 2017 +0300 bitbake.conf: support for merged usr with DISTRO_FEATURE usrmerge A new configuration variable ${root_prefix} added, which shall be used by all base_{lib,bin,sbin}dir variables. When usrmerge DISTRO_FEATURE is enabled ${root_prefix} points to ${exec_prefix} otherwise to ${base_prefix} Signed-off-by: Amarnath Valluri Signed-off-by: Richard Purdie --- meta/conf/bitbake.conf | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf index f9b77cc..962eb43 100644 --- a/meta/conf/bitbake.conf +++ b/meta/conf/bitbake.conf @@ -17,11 +17,13 @@ export base_prefix = "" export prefix = "/usr" export exec_prefix = "${prefix}" +root_prefix = "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', '${exec_prefix}', '${base_prefix}', d)}" + # Base paths -export base_bindir = "${base_prefix}/bin" -export base_sbindir = "${base_prefix}/sbin" -export base_libdir = "${base_prefix}/${baselib}" -export nonarch_base_libdir = "${base_prefix}/lib" +export base_bindir = "${root_prefix}/bin" +export base_sbindir = "${root_prefix}/sbin" +export base_libdir = "${root_prefix}/${baselib}" +export nonarch_base_libdir = "${root_prefix}/lib" # Architecture independent paths export sysconfdir = "${base_prefix}/etc" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 13:39:48 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 13:39:48 +0000 Subject: [oe-commits] [openembedded-core] 34/47: libgfortran: Add missing fincludes In-Reply-To: <149934835424.26552.7649440448958570525@git.openembedded.org> References: <149934835424.26552.7649440448958570525@git.openembedded.org> Message-ID: <20170706133915.9D90723483E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 753de3328d36b95c029d2946660f80e083823678 Author: Ricardo Ribalda Delgado AuthorDate: Mon Jul 3 23:57:43 2017 +0200 libgfortran: Add missing fincludes ERROR: libgfortran-6.3.0-r0 do_package: QA Issue: libgfortran: Files/directories were installed but not shipped in any package: /usr/lib/gcc/x86_64-poky-linux/6.3.0/finclude /usr/lib/gcc/x86_64-poky-linux/6.3.0/finclude/ieee_features.mod /usr/lib/gcc/x86_64-poky-linux/6.3.0/finclude/ieee_arithmetic.mod /usr/lib/gcc/x86_64-poky-linux/6.3.0/finclude/ieee_exceptions.mod Signed-off-by: Ricardo Ribalda Delgado Signed-off-by: Ross Burton --- meta/recipes-devtools/gcc/libgfortran.inc | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/recipes-devtools/gcc/libgfortran.inc b/meta/recipes-devtools/gcc/libgfortran.inc index 3b94c1b..5f5d4af 100644 --- a/meta/recipes-devtools/gcc/libgfortran.inc +++ b/meta/recipes-devtools/gcc/libgfortran.inc @@ -54,6 +54,7 @@ FILES_${PN}-dev = "\ ${libdir}/libgfortran.la \ ${libdir}/gcc/${TARGET_SYS}/${BINV}/libgfortranbegin.* \ ${libdir}/gcc/${TARGET_SYS}/${BINV}/libcaf_single* \ + ${libdir}/gcc/${TARGET_SYS}/${BINV}/finclude/ \ " FILES_${PN}-staticdev = "${libdir}/libgfortran.a" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 13:39:57 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 13:39:57 +0000 Subject: [oe-commits] [openembedded-core] 43/47: cross.bbclass: merged /usr support In-Reply-To: <149934835424.26552.7649440448958570525@git.openembedded.org> References: <149934835424.26552.7649440448958570525@git.openembedded.org> Message-ID: <20170706133915.DE91B234846@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 3ebb2da2eb1ff2f6072a2909e0ac71614e0db0bd Author: Amarnath Valluri AuthorDate: Wed Jun 14 14:30:43 2017 +0300 cross.bbclass: merged /usr support Use ${root_prefix} instead of ${base_prefix} while setting ${target_base_prefix}, otherwise we might loose the root prefix configuration change in case of 'usrmerge' distro feature is enabled. Signed-off-by: Amarnath Valluri Signed-off-by: Richard Purdie --- meta/classes/cross.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/classes/cross.bbclass b/meta/classes/cross.bbclass index 8757303..4887317 100644 --- a/meta/classes/cross.bbclass +++ b/meta/classes/cross.bbclass @@ -50,7 +50,7 @@ SSTATE_SCAN_CMD ?= "${SSTATE_SCAN_CMD_NATIVE}" # Path mangling needed by the cross packaging # Note that we use := here to ensure that libdir and includedir are # target paths. -target_base_prefix := "${base_prefix}" +target_base_prefix := "${root_prefix}" target_prefix := "${prefix}" target_exec_prefix := "${exec_prefix}" target_base_libdir = "${target_base_prefix}/${baselib}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 13:39:59 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 13:39:59 +0000 Subject: [oe-commits] [openembedded-core] 45/47: image: create symlinks needed for merged /usr In-Reply-To: <149934835424.26552.7649440448958570525@git.openembedded.org> References: <149934835424.26552.7649440448958570525@git.openembedded.org> Message-ID: <20170706133915.EF1E123481C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 3f978f24ae2cf831bd2b82270f6353edda6364a5 Author: Amarnath Valluri AuthorDate: Wed Jun 14 14:30:45 2017 +0300 image: create symlinks needed for merged /usr Prepare the symlinks required for merged /usr at the time of rootfs creation. The links created in rootfs are: /bin --> /usr/sbin /sbin --> /usr/sbin /lib --> /usr/lib /lib64 --> /usr/lib64 We cannot make these symlinks as part of 'base-files' or some other package. Because at rootfs creation, installation of the package(say kernel) that depends on these root folders/links fails, if package manager installs this package prior to base-files. These symbolic links in top level folder should be present as long as - kernel tools use /lib/{module,firmware} - shell scripts uses "#!/bin/sh" Signed-off-by: Amarnath Valluri Signed-off-by: Richard Purdie --- meta/classes/image.bbclass | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass index 6e30b96..6e5a8ba 100644 --- a/meta/classes/image.bbclass +++ b/meta/classes/image.bbclass @@ -617,3 +617,24 @@ do_bundle_initramfs () { : } addtask bundle_initramfs after do_image_complete + +# Prepare the root links to point to the /usr counterparts. +create_merged_usr_symlinks() { + install -d ${IMAGE_ROOTFS}${base_bindir} ${IMAGE_ROOTFS}${base_sbindir} ${IMAGE_ROOTFS}${base_libdir} + lnr ${IMAGE_ROOTFS}${base_bindir} ${IMAGE_ROOTFS}/bin + lnr ${IMAGE_ROOTFS}${base_sbindir} ${IMAGE_ROOTFS}/sbin + lnr ${IMAGE_ROOTFS}${base_libdir} ${IMAGE_ROOTFS}/${baselib} + + if [ "${nonarch_base_libdir}" != "${base_libdir}" ]; then + install -d ${IMAGE_ROOTFS}${nonarch_base_libdir} + lnr ${IMAGE_ROOTFS}${nonarch_base_libdir} ${IMAGE_ROOTFS}/lib + fi + + # create base links for multilibs + multi_libdirs="${@d.getVar('MULTILIB_VARIANTS')}" + for d in $multi_libdirs; do + install -d ${IMAGE_ROOTFS}${exec_prefix}/$d + lnr ${IMAGE_ROOTFS}${exec_prefix}/$d ${IMAGE_ROOTFS}/$d + done +} +ROOTFS_PREPROCESS_COMMAND += "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', 'create_merged_usr_symlinks; ', '',d)}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 13:40:00 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 13:40:00 +0000 Subject: [oe-commits] [openembedded-core] 46/47: insane.bbclass: Add package QA check for merged /usr. In-Reply-To: <149934835424.26552.7649440448958570525@git.openembedded.org> References: <149934835424.26552.7649440448958570525@git.openembedded.org> Message-ID: <20170706133916.052B223481D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 9f52f9f60f5680d7a824dafb3334de624eceed4c Author: Amarnath Valluri AuthorDate: Wed Jun 14 14:30:46 2017 +0300 insane.bbclass: Add package QA check for merged /usr. This check makes sure that, when usrmerge distro feature enabled, no package installs files to root (/bin, /sbin, /lib, /lib64) folders. Signed-off-by: Amarnath Valluri Signed-off-by: Richard Purdie --- meta/classes/insane.bbclass | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass index 0e974b5..7680a59 100644 --- a/meta/classes/insane.bbclass +++ b/meta/classes/insane.bbclass @@ -40,6 +40,9 @@ ERROR_QA ?= "dev-so debug-deps dev-deps debug-files arch pkgconfig la \ version-going-backwards expanded-d invalid-chars \ license-checksum dev-elf file-rdeps \ " +# Add usrmerge QA check based on distro feature +ERROR_QA_append = "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', ' usrmerge', '', d)}" + FAKEROOT_QA = "host-user-contaminated" FAKEROOT_QA[doc] = "QA tests which need to run under fakeroot. If any \ enabled tests are listed here, the do_package_qa task will run under fakeroot." @@ -991,6 +994,18 @@ def package_qa_check_deps(pkg, pkgdest, skip, d): check_valid_deps('RREPLACES') check_valid_deps('RCONFLICTS') +QAPKGTEST[usrmerge] = "package_qa_check_usrmerge" +def package_qa_check_usrmerge(pkg, d, messages): + pkgdest = d.getVar('PKGDEST') + pkg_dir = pkgdest + os.sep + pkg + os.sep + merged_dirs = ['bin', 'sbin', 'lib'] + d.getVar('MULTILIB_VARIANTS').split() + for f in merged_dirs: + if os.path.exists(pkg_dir + f) and not os.path.islink(pkg_dir + f): + msg = "%s package is not obeying usrmerge distro feature. /%s should be relocated to /usr." % (pkg, f) + package_qa_add_message(messages, "usrmerge", msg) + return False + return True + QAPKGTEST[expanded-d] = "package_qa_check_expanded_d" def package_qa_check_expanded_d(package, d, messages): """ @@ -1064,6 +1079,7 @@ def package_qa_check_host_user(path, name, d, elf, messages): return False return True + # The PACKAGE FUNC to scan each package python do_package_qa () { import subprocess -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 13:39:39 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 13:39:39 +0000 Subject: [oe-commits] [openembedded-core] 25/47: classes/populate_sdk_base: Fix SDK manifest generation In-Reply-To: <149934835424.26552.7649440448958570525@git.openembedded.org> References: <149934835424.26552.7649440448958570525@git.openembedded.org> Message-ID: <20170706133915.50C15234835@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit b10ecbab3acd46e48d36910e30544e9f5f08d6d7 Author: An?bal Lim?n AuthorDate: Fri Jun 30 16:07:30 2017 -0500 classes/populate_sdk_base: Fix SDK manifest generation The write_{host,target}_sdk_manifest don't need to be set as SDK_POSTPROCESS_COMMAND because are already append to POPULATE_SDK_POST_{HOST,TARGET}_COMMAND and the if doesn't make sense because are only added for populate sdk task. [YOCTO #11741] Signed-off-by: An?bal Lim?n Signed-off-by: Ross Burton --- meta/classes/populate_sdk_base.bbclass | 36 ++++++++++++++++------------------ 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/meta/classes/populate_sdk_base.bbclass b/meta/classes/populate_sdk_base.bbclass index 20ba219..0354ee1 100644 --- a/meta/classes/populate_sdk_base.bbclass +++ b/meta/classes/populate_sdk_base.bbclass @@ -63,15 +63,14 @@ SDK_EXT_TARGET_MANIFEST = "${SDK_DEPLOY}/${TOOLCHAINEXT_OUTPUTNAME}.target.manif SDK_EXT_HOST_MANIFEST = "${SDK_DEPLOY}/${TOOLCHAINEXT_OUTPUTNAME}.host.manifest" python write_target_sdk_manifest () { - if d.getVar('BB_CURRENTTASK') == 'populate_sdk': - from oe.sdk import sdk_list_installed_packages - from oe.utils import format_pkg_list - sdkmanifestdir = os.path.dirname(d.getVar("SDK_TARGET_MANIFEST")) - pkgs = sdk_list_installed_packages(d, True) - if not os.path.exists(sdkmanifestdir): - bb.utils.mkdirhier(sdkmanifestdir) - with open(d.getVar('SDK_TARGET_MANIFEST'), 'w') as output: - output.write(format_pkg_list(pkgs, 'ver')) + from oe.sdk import sdk_list_installed_packages + from oe.utils import format_pkg_list + sdkmanifestdir = os.path.dirname(d.getVar("SDK_TARGET_MANIFEST")) + pkgs = sdk_list_installed_packages(d, True) + if not os.path.exists(sdkmanifestdir): + bb.utils.mkdirhier(sdkmanifestdir) + with open(d.getVar('SDK_TARGET_MANIFEST'), 'w') as output: + output.write(format_pkg_list(pkgs, 'ver')) } python write_sdk_test_data() { @@ -82,22 +81,21 @@ python write_sdk_test_data() { } python write_host_sdk_manifest () { - if d.getVar('BB_CURRENTTASK') == 'populate_sdk': - from oe.sdk import sdk_list_installed_packages - from oe.utils import format_pkg_list - sdkmanifestdir = os.path.dirname(d.getVar("SDK_HOST_MANIFEST")) - pkgs = sdk_list_installed_packages(d, False) - if not os.path.exists(sdkmanifestdir): - bb.utils.mkdirhier(sdkmanifestdir) - with open(d.getVar('SDK_HOST_MANIFEST'), 'w') as output: - output.write(format_pkg_list(pkgs, 'ver')) + from oe.sdk import sdk_list_installed_packages + from oe.utils import format_pkg_list + sdkmanifestdir = os.path.dirname(d.getVar("SDK_HOST_MANIFEST")) + pkgs = sdk_list_installed_packages(d, False) + if not os.path.exists(sdkmanifestdir): + bb.utils.mkdirhier(sdkmanifestdir) + with open(d.getVar('SDK_HOST_MANIFEST'), 'w') as output: + output.write(format_pkg_list(pkgs, 'ver')) } POPULATE_SDK_POST_TARGET_COMMAND_append = " write_sdk_test_data ; " POPULATE_SDK_POST_TARGET_COMMAND_append_task-populate-sdk = " write_target_sdk_manifest ; " POPULATE_SDK_POST_HOST_COMMAND_append_task-populate-sdk = " write_host_sdk_manifest; " SDK_PACKAGING_COMMAND = "${@'${SDK_PACKAGING_FUNC};' if '${SDK_PACKAGING_FUNC}' else ''}" -SDK_POSTPROCESS_COMMAND = " create_sdk_files; check_sdk_sysroots; tar_sdk; write_target_sdk_manifest; write_host_sdk_manifest; ${SDK_PACKAGING_COMMAND} " +SDK_POSTPROCESS_COMMAND = " create_sdk_files; check_sdk_sysroots; tar_sdk; ${SDK_PACKAGING_COMMAND} " def populate_sdk_common(d): from oe.sdk import populate_sdk -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 13:39:58 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 13:39:58 +0000 Subject: [oe-commits] [openembedded-core] 44/47: systemd: changes to support merged /usr In-Reply-To: <149934835424.26552.7649440448958570525@git.openembedded.org> References: <149934835424.26552.7649440448958570525@git.openembedded.org> Message-ID: <20170706133915.E6EF2234847@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 7ca0415c26d5a8b00716b0a49f069e26fdeac30c Author: Amarnath Valluri AuthorDate: Wed Jun 14 14:30:44 2017 +0300 systemd: changes to support merged /usr - Enable/disable the split-usr support in systemd based on 'usrmerge' DISTRO_FEATURE. - Modify rootprefix to point to ${root_prefix}, rather than ${base_prefix}. - And fixed firmware path to use ${nonarch_base_libdir} instead of hard-coded '/lib', because when 'usrmege' distro feature enabled this path would be '/usr/lib'. Signed-off-by: Amarnath Valluri Signed-off-by: Richard Purdie --- meta/recipes-core/systemd/systemd_232.bb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/meta/recipes-core/systemd/systemd_232.bb b/meta/recipes-core/systemd/systemd_232.bb index 287e07b..e8292ab 100644 --- a/meta/recipes-core/systemd/systemd_232.bb +++ b/meta/recipes-core/systemd/systemd_232.bb @@ -36,7 +36,7 @@ SRC_URI += " \ SRC_URI_append_qemuall = " file://0001-core-device.c-Change-the-default-device-timeout-to-2.patch" PACKAGECONFIG ??= "xz \ - ${@bb.utils.filter('DISTRO_FEATURES', 'efi pam selinux ldconfig', d)} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'efi pam selinux ldconfig usrmerge', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xkbcommon', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'rfkill', '', d)} \ binfmt \ @@ -119,6 +119,7 @@ PACKAGECONFIG[bzip2] = "--enable-bzip2,--disable-bzip2,bzip2" PACKAGECONFIG[lz4] = "--enable-lz4,--disable-lz4,lz4" PACKAGECONFIG[xz] = "--enable-xz,--disable-xz,xz" PACKAGECONFIG[zlib] = "--enable-zlib,--disable-zlib,zlib" +PACKAGECONFIG[usrmerge] = "--disable-split-usr, --enable-split-usr" CACHED_CONFIGUREVARS += "ac_cv_path_KILL=${base_bindir}/kill" CACHED_CONFIGUREVARS += "ac_cv_path_KMOD=${base_bindir}/kmod" @@ -128,7 +129,7 @@ CACHED_CONFIGUREVARS += "ac_cv_path_SULOGIN=${base_sbindir}/sulogin" # Helper variables to clarify locations. This mirrors the logic in systemd's # build system. -rootprefix ?= "${base_prefix}" +rootprefix ?= "${root_prefix}" rootlibdir ?= "${base_libdir}" rootlibexecdir = "${rootprefix}/lib" @@ -146,10 +147,9 @@ CACHED_CONFIGUREVARS_class-target = "\ EXTRA_OECONF = " --with-rootprefix=${rootprefix} \ --with-rootlibdir=${rootlibdir} \ --with-roothomedir=${ROOT_HOME} \ - --enable-split-usr \ --without-python \ --with-sysvrcnd-path=${sysconfdir} \ - --with-firmware-path=/lib/firmware \ + --with-firmware-path=${nonarch_base_libdir}/firmware \ --with-testdir=${PTEST_PATH} \ " # per the systemd README, define VALGRIND=1 to run under valgrind -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 13:40:01 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 13:40:01 +0000 Subject: [oe-commits] [openembedded-core] 47/47: image.bbclass: create root symlinks in nativesdk target sysroot In-Reply-To: <149934835424.26552.7649440448958570525@git.openembedded.org> References: <149934835424.26552.7649440448958570525@git.openembedded.org> Message-ID: <20170706133916.0BC9423481F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 2d7a58ef7a9597fde868a0582153d1f9a3007f1e Author: Amarnath Valluri AuthorDate: Thu Jun 15 13:32:39 2017 +0300 image.bbclass: create root symlinks in nativesdk target sysroot To match with the target image, the generated nativesdk's target sysroot also should have the root symlinks(/lib*, /bin/, /sbin). So, extended the 'create_merged_usr_symlinks' to reuse symlink creation part even for nativesdk using POPULATE_SDK_PRE_TARGET_COMMAND. Signed-off-by: Amarnath Valluri Signed-off-by: Richard Purdie --- meta/classes/image.bbclass | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass index 6e5a8ba..de535ce 100644 --- a/meta/classes/image.bbclass +++ b/meta/classes/image.bbclass @@ -620,21 +620,32 @@ addtask bundle_initramfs after do_image_complete # Prepare the root links to point to the /usr counterparts. create_merged_usr_symlinks() { - install -d ${IMAGE_ROOTFS}${base_bindir} ${IMAGE_ROOTFS}${base_sbindir} ${IMAGE_ROOTFS}${base_libdir} - lnr ${IMAGE_ROOTFS}${base_bindir} ${IMAGE_ROOTFS}/bin - lnr ${IMAGE_ROOTFS}${base_sbindir} ${IMAGE_ROOTFS}/sbin - lnr ${IMAGE_ROOTFS}${base_libdir} ${IMAGE_ROOTFS}/${baselib} + root="$1" + install -d $root${base_bindir} $root${base_sbindir} $root${base_libdir} + lnr $root${base_bindir} $root/bin + lnr $root${base_sbindir} $root/sbin + lnr $root${base_libdir} $root/${baselib} if [ "${nonarch_base_libdir}" != "${base_libdir}" ]; then - install -d ${IMAGE_ROOTFS}${nonarch_base_libdir} - lnr ${IMAGE_ROOTFS}${nonarch_base_libdir} ${IMAGE_ROOTFS}/lib + install -d $root${nonarch_base_libdir} + lnr $root${nonarch_base_libdir} $root/lib fi # create base links for multilibs multi_libdirs="${@d.getVar('MULTILIB_VARIANTS')}" for d in $multi_libdirs; do - install -d ${IMAGE_ROOTFS}${exec_prefix}/$d - lnr ${IMAGE_ROOTFS}${exec_prefix}/$d ${IMAGE_ROOTFS}/$d + install -d $root${exec_prefix}/$d + lnr $root${exec_prefix}/$d $root/$d done } -ROOTFS_PREPROCESS_COMMAND += "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', 'create_merged_usr_symlinks; ', '',d)}" + +create_merged_usr_symlinks_rootfs() { + create_merged_usr_symlinks ${IMAGE_ROOTFS} +} + +create_merged_usr_symlinks_sdk() { + create_merged_usr_symlinks ${SDK_OUTPUT}${SDKTARGETSYSROOT} +} + +ROOTFS_PREPROCESS_COMMAND += "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', 'create_merged_usr_symlinks_rootfs; ', '',d)}" +POPULATE_SDK_PRE_TARGET_COMMAND += "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', 'create_merged_usr_symlinks_sdk; ', '',d)}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 13:40:33 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 13:40:33 +0000 Subject: [oe-commits] [openembedded-core] branch master-next updated (325f087 -> 2d7a58e) Message-ID: <149934843377.28121.11299252543725868030@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master-next in repository openembedded-core. discard 325f087 image.bbclass: create root symlinks in nativesdk target sysroot discard 6b64b93 meta/lib/oe/sdk.py: support added for executing pre-target commands discard cdb7fdb insane.bbclass: Add package QA check for merged /usr. discard 86a1815 image: create symlinks needed for merged /usr discard 1992d39 systemd: changes to support merged /usr discard 3de5182 cross.bbclass: merged /usr support discard 7a52eb4 bitbake.conf: support for merged usr with DISTRO_FEATURE usrmerge add b0c65c8 meta/lib/oe/sdk.py: support added for executing pre-target commands add a8d8b0d sanity.bbclass: remove ASSUME_PROVIDED checks that can't succeed add 78ea1af insane: remove obsolete gcc 4.5 check add e5f4e0d cmake: Use find_program if find_host_program is not available add a50073d gtk+3: Update UPSTREAM_CHECK_REGEX add 5f64023 gtk+3: Upgrade 3.22.15 -> 3.22.16 add 43e640d gtk+3: Update the patches to work with old versions of patch add c6b71bc libepoxy: Upgrade 1.4.2 -> 1.4.3 add 64ec18d openssl: Upgrade 1.0.2k -> 1.0.2l add 7b8ae77 sysstat:11.5.5 -> 11.5.6 add 4afb7c3 yocto-compat-layer.py: avoid adding layers more than once add e841655 yocto-compat-layer.py: tolerate broken world builds during signature diff add e7fe215 yocto-compat-layer.py: apply test_signatures to all layers add 1ca35d8 yocto-compat-layer.py: add test_world add 501b5b7 yocto-compat-layer.py: allow README with suffix add ecc9a1f yocto-compat-layer.py: make signature check code reusable add 0d1273c binutils: update SRCREV to fix powerpc gold link bug add bb8bc17 bluez: Correct the timer count for bcm43xx firmware download add ee5555c valgrind: Fix build with glibc 2.26 add 8a4a62a strace: upgrade to 4.17 add 03b0688 qemu: Replace use of struct ucontext with ucontext_t add 8d3bd6f epiphany: Fix build errors when compiling with security flags add 8906f4d icu: Fix build with glibc 2.26 add a071303 valgrind: Remove -no-pie from cflags add b10ecba classes/populate_sdk_base: Fix SDK manifest generation add 2628955 grep: upgrade to 3.1 add 7e88077 expat: upgrade to 2.2.1 add 6f054fc oe-pkgdata-util: package-info: Allow extra variables to be displayed add 2b7232f sanity.bbclass: fix AttributeError in mirror format checks add 49c3dad mesa: Avoid platform probing when building without EGL add f0762f5 mesa: Upgrade to 17.1.4 release add 7e562e2 systemd: Do not use xlocale.h add 00fba52 libgfortran: Add missing dependency gcc-cross add 753de33 libgfortran: Add missing fincludes add c7c72b7 ltp: syscalls/add_key02: fix for nonempty NULL payload add 69bd27d ltp: Reduce local Pending patches add a7480be ltp: add acl, attr, curl and util-linux runtime dependencies add 948a5ce local.conf.sample: drop image-swab reference add 081c7b3 mirrors: Add HTTP mirrors for ftp://sourceware.org add 9e18fc1 avahi-ui: reduce local pending patches add 8766a93 speex: update SRC_URI add 700848c bitbake.conf: support for merged usr with DISTRO_FEATURE usrmerge add 3ebb2da cross.bbclass: merged /usr support add 7ca0415 systemd: changes to support merged /usr add 3f978f2 image: create symlinks needed for merged /usr add 9f52f9f insane.bbclass: Add package QA check for merged /usr. add 2d7a58e image.bbclass: create root symlinks in nativesdk target sysroot This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (325f087) \ N -- N -- N refs/heads/master-next (2d7a58e) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. No new revisions were added by this update. Summary of changes: meta/classes/mirrors.bbclass | 3 + meta/classes/populate_sdk_base.bbclass | 36 ++- meta/classes/sanity.bbclass | 60 +---- meta/conf/local.conf.sample | 1 - ...c-install-GtkBuilder-interface-files-for-.patch | 9 +- meta/recipes-connectivity/bluez5/bluez5.inc | 1 + ...cm43xx-fix-the-delay-timer-for-firmware-d.patch | 36 +++ meta/recipes-connectivity/openssl/openssl.inc | 5 + .../openssl/openssl/fix-cipher-des-ede3-cfb1.patch | 21 -- ...-pointer-dereference-in-EVP_DigestInit_ex.patch | 23 -- .../{openssl_1.0.2k.bb => openssl_1.0.2l.bb} | 8 +- meta/recipes-core/expat/expat_2.2.0.bb | 5 - meta/recipes-core/expat/expat_2.2.1.bb | 5 + ...se-util-Do-not-include-unneeded-xlocale.h.patch | 27 ++ meta/recipes-core/systemd/systemd_232.bb | 3 +- meta/recipes-devtools/binutils/binutils-2.28.inc | 2 +- meta/recipes-devtools/cmake/cmake.inc | 1 + ...e-find_program-if-find_host_program-is-no.patch | 40 +++ meta/recipes-devtools/gcc/libgfortran.inc | 3 +- ...lace-struct-ucontext-with-ucontext_t-type.patch | 265 ++++++++++++++++++++ meta/recipes-devtools/qemu/qemu_2.8.1.1.bb | 46 ++-- ...8-replace-struct-ucontext-with-ucontext_t.patch | 31 +++ .../strace/strace/Makefile-ptest.patch | 19 +- .../strace/{strace_4.16.bb => strace_4.17.bb} | 5 +- ...sts-Use-ucontext_t-instead-of-struct-ucon.patch | 30 +++ meta/recipes-devtools/valgrind/valgrind_3.12.0.bb | 3 +- .../grep/{grep_3.0.bb => grep_3.1.bb} | 4 +- ...TH_MAX-undeclared-when-building-with-musl.patch | 15 +- ...RDSIZE-undeclared-when-building-with-musl.patch | 23 +- ...ition-of-struct-msgbuf-error-building-wit.patch | 9 +- ...d_key02-update-to-test-fix-for-nonempty-N.patch | 136 +++++++++++ meta/recipes-extended/ltp/ltp_20170516.bb | 25 +- .../{sysstat_11.5.5.bb => sysstat_11.5.6.bb} | 4 +- meta/recipes-gnome/epiphany/epiphany_3.24.2.bb | 6 +- ...bookmarks-Check-for-return-value-of-fread.patch | 32 +++ meta/recipes-gnome/gtk+/gtk+3.inc | 6 +- .../gtk+/gtk+3/0001-Hardcoded-libtool.patch | 12 +- ...Do-not-try-to-initialize-GL-without-libGL.patch | 8 +- .../0003-Add-disable-opengl-configure-option.patch | 272 +++++++++++++++------ ...4-configure.ac-Fix-wayland-protocols-path.patch | 8 +- .../gtk+/{gtk+3_3.22.15.bb => gtk+3_3.22.16.bb} | 4 +- ...3.22.15.bb => gtk-icon-utils-native_3.22.16.bb} | 9 +- .../{libepoxy_1.4.2.bb => libepoxy_1.4.3.bb} | 9 +- .../mesa/{mesa-gl_17.1.3.bb => mesa-gl_17.1.4.bb} | 0 meta/recipes-graphics/mesa/mesa.inc | 2 +- .../mesa/{mesa_17.1.3.bb => mesa_17.1.4.bb} | 4 +- meta/recipes-multimedia/speex/speex_1.2.0.bb | 2 +- .../icu/icu/0001-i18n-Drop-include-xlocale.h.patch | 31 +++ meta/recipes-support/icu/icu_58.2.bb | 3 +- scripts/lib/compatlayer/__init__.py | 90 ++++++- scripts/lib/compatlayer/cases/common.py | 92 ++----- scripts/lib/compatlayer/context.py | 3 +- scripts/oe-pkgdata-util | 12 +- scripts/yocto-compat-layer.py | 12 +- 54 files changed, 1137 insertions(+), 384 deletions(-) create mode 100644 meta/recipes-connectivity/bluez5/bluez5/0001-hciattach-bcm43xx-fix-the-delay-timer-for-firmware-d.patch delete mode 100644 meta/recipes-connectivity/openssl/openssl/fix-cipher-des-ede3-cfb1.patch delete mode 100644 meta/recipes-connectivity/openssl/openssl/openssl-avoid-NULL-pointer-dereference-in-EVP_DigestInit_ex.patch rename meta/recipes-connectivity/openssl/{openssl_1.0.2k.bb => openssl_1.0.2l.bb} (86%) delete mode 100644 meta/recipes-core/expat/expat_2.2.0.bb create mode 100644 meta/recipes-core/expat/expat_2.2.1.bb create mode 100644 meta/recipes-core/systemd/systemd/0022-parse-util-Do-not-include-unneeded-xlocale.h.patch create mode 100644 meta/recipes-devtools/cmake/cmake/0001-FindCUDA-Use-find_program-if-find_host_program-is-no.patch create mode 100644 meta/recipes-devtools/qemu/qemu/0001-replace-struct-ucontext-with-ucontext_t-type.patch create mode 100644 meta/recipes-devtools/strace/strace/0008-replace-struct-ucontext-with-ucontext_t.patch rename meta/recipes-devtools/strace/{strace_4.16.bb => strace_4.17.bb} (87%) create mode 100644 meta/recipes-devtools/valgrind/valgrind/0001-memcheck-tests-Use-ucontext_t-instead-of-struct-ucon.patch rename meta/recipes-extended/grep/{grep_3.0.bb => grep_3.1.bb} (89%) create mode 100644 meta/recipes-extended/ltp/ltp/0038-syscalls-add_key02-update-to-test-fix-for-nonempty-N.patch rename meta/recipes-extended/sysstat/{sysstat_11.5.5.bb => sysstat_11.5.6.bb} (53%) create mode 100644 meta/recipes-gnome/epiphany/files/0001-bookmarks-Check-for-return-value-of-fread.patch rename meta/recipes-gnome/gtk+/{gtk+3_3.22.15.bb => gtk+3_3.22.16.bb} (84%) rename meta/recipes-gnome/gtk+/{gtk-icon-utils-native_3.22.15.bb => gtk-icon-utils-native_3.22.16.bb} (86%) rename meta/recipes-graphics/libepoxy/{libepoxy_1.4.2.bb => libepoxy_1.4.3.bb} (70%) rename meta/recipes-graphics/mesa/{mesa-gl_17.1.3.bb => mesa-gl_17.1.4.bb} (100%) rename meta/recipes-graphics/mesa/{mesa_17.1.3.bb => mesa_17.1.4.bb} (84%) create mode 100644 meta/recipes-support/icu/icu/0001-i18n-Drop-include-xlocale.h.patch -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 13:41:27 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 13:41:27 +0000 Subject: [oe-commits] [bitbake] branch master-next updated (a457cbf -> 877a1f4) Message-ID: <149934848770.29019.16302450751947719827@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master-next in repository bitbake. from a457cbf npm fetcher: fix unknown variable name. add 3b8d101 bitbake-user-manual: Replaced bad link add 877a1f4 bitbake-user-manual: Removed and replaced broken link No new revisions were added by this update. Summary of changes: doc/bitbake-user-manual/bitbake-user-manual-hello.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 15:48:53 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 15:48:53 +0000 Subject: [oe-commits] [openembedded-core] branch master-next updated: base: Add MultiConfigParsed handler to deal with unstable build signatures Message-ID: <149935613341.17566.244468246322351367@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. The following commit(s) were added to refs/heads/master-next by this push: new 7267e7c base: Add MultiConfigParsed handler to deal with unstable build signatures 7267e7c is described below commit 7267e7c000c76c44d09835d4cd2bc485b6a39a2a Author: Richard Purdie AuthorDate: Thu Jul 6 12:54:15 2017 +0100 base: Add MultiConfigParsed handler to deal with unstable build signatures This uses the newly added MultiConfigParsed event to handle problems where checksums in multiconfig build were not fuctioning as expected. The issue arises around SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS which contains entries like: * gcc-cross-${TARGET_ARCH}->virtual/${TARGET_PREFIX}libc-for-gcc * gcc-cross-${TARGET_ARCH}->linux-libc-headers These need to be expanded in the multiconfig data store but then placed into the shared main datastore used by the siggen code. The only other alternative would be a siggen instance for each multiconfig however that seemed even more complex and invasive. In real world usage, this issue would mean a qemux86 base config with other armv5 and armv7 configs (e.g. beaglebone and qemuarm) would try and build gcc-cross twice since dependencies normaly excluded (e.g. linux-libc-headers) would now be included. This breaks sstate reuse as well as breaking builds unless separate tmpdirs are used. This patch adds all the entries for each multiconfig. Whilst there may be duplicates, this shouldn't be an issue. Signed-off-by: Richard Purdie --- meta/classes/base.bbclass | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass index 3762c8a..27a28b8 100644 --- a/meta/classes/base.bbclass +++ b/meta/classes/base.bbclass @@ -220,7 +220,7 @@ def buildcfg_neededvars(d): bb.fatal('The following variable(s) were not set: %s\nPlease set them directly, or choose a MACHINE or DISTRO that sets them.' % ', '.join(pesteruser)) addhandler base_eventhandler -base_eventhandler[eventmask] = "bb.event.ConfigParsed bb.event.BuildStarted bb.event.RecipePreFinalise bb.runqueue.sceneQueueComplete bb.event.RecipeParsed" +base_eventhandler[eventmask] = "bb.event.ConfigParsed bb.event.MultiConfigParsed bb.event.BuildStarted bb.event.RecipePreFinalise bb.runqueue.sceneQueueComplete bb.event.RecipeParsed" python base_eventhandler() { import bb.runqueue @@ -235,6 +235,16 @@ python base_eventhandler() { setup_hosttools_dir(d.getVar('HOSTTOOLS_DIR'), 'HOSTTOOLS', d) setup_hosttools_dir(d.getVar('HOSTTOOLS_DIR'), 'HOSTTOOLS_NONFATAL', d, fatal=False) + if isinstance(e, bb.event.MultiConfigParsed): + # We need to expand SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS in each of the multiconfig data stores + # own contexts so the variables get expanded correctly for that arch, then inject back into + # the main data store. + deps = [] + for config in e.mcdata: + deps.append(e.mcdata[config].getVar("SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS")) + deps = " ".join(deps) + e.mcdata[''].setVar("SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS", deps) + if isinstance(e, bb.event.BuildStarted): localdata = bb.data.createCopy(e.data) statuslines = [] -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 15:49:05 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 15:49:05 +0000 Subject: [oe-commits] [bitbake] branch master-next updated (877a1f4 -> 874e3d9) Message-ID: <149935614585.17845.2366509765652306615@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master-next in repository bitbake. from 877a1f4 bitbake-user-manual: Removed and replaced broken link new 160e47f bitbake: Add MultiConfigParsed event new 51a758b cooker: Experiment with multiple BuildStarted for multiconfig new 874e3d9 data: Micro performance optimisation tweak The 3 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: lib/bb/cooker.py | 14 ++++++++++++-- lib/bb/cookerdata.py | 2 ++ lib/bb/data.py | 2 +- lib/bb/event.py | 6 ++++++ lib/bb/ui/knotty.py | 1 + 5 files changed, 22 insertions(+), 3 deletions(-) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 15:49:06 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 15:49:06 +0000 Subject: [oe-commits] [bitbake] 01/03: bitbake: Add MultiConfigParsed event In-Reply-To: <149935614585.17845.2366509765652306615@git.openembedded.org> References: <149935614585.17845.2366509765652306615@git.openembedded.org> Message-ID: <20170706154905.E56E7234824@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 160e47f5df90850e64dcb857c81a5039abc9235f Author: Richard Purdie AuthorDate: Thu Jul 6 12:53:33 2017 +0100 bitbake: Add MultiConfigParsed event There are some cases where the metadata needs to be aware a multiconfig build is happening and have access to the multiconfig data stores to merge data into the common build. This adds such an event allowing access to these datastores. Signed-off-by: Richard Purdie --- lib/bb/cookerdata.py | 2 ++ lib/bb/event.py | 6 ++++++ lib/bb/ui/knotty.py | 1 + 3 files changed, 9 insertions(+) diff --git a/lib/bb/cookerdata.py b/lib/bb/cookerdata.py index 4d32aa0..644bb38 100644 --- a/lib/bb/cookerdata.py +++ b/lib/bb/cookerdata.py @@ -294,6 +294,8 @@ class CookerDataBuilder(object): mcdata = self.parseConfigurationFiles(self.prefiles, self.postfiles, config) bb.event.fire(bb.event.ConfigParsed(), mcdata) self.mcdata[config] = mcdata + if multiconfig: + bb.event.fire(bb.event.MultiConfigParsed(self.mcdata), self.data) except (SyntaxError, bb.BBHandledException): raise bb.BBHandledException diff --git a/lib/bb/event.py b/lib/bb/event.py index 6ccd4bd..1462382 100644 --- a/lib/bb/event.py +++ b/lib/bb/event.py @@ -358,6 +358,12 @@ class OperationProgress(Event): class ConfigParsed(Event): """Configuration Parsing Complete""" +class MultiConfigParsed(Event): + """Multi-Config Parsing Complete""" + def __init__(self, mcdata): + self.mcdata = mcdata + Event.__init__(self) + class RecipeEvent(Event): def __init__(self, fn): self.fn = fn diff --git a/lib/bb/ui/knotty.py b/lib/bb/ui/knotty.py index a19c3b3..936d5a4 100644 --- a/lib/bb/ui/knotty.py +++ b/lib/bb/ui/knotty.py @@ -664,6 +664,7 @@ def main(server, eventHandler, params, tf = TerminalFilter): bb.event.MetadataEvent, bb.event.StampUpdate, bb.event.ConfigParsed, + bb.event.MultiConfigParsed, bb.event.RecipeParsed, bb.event.RecipePreFinalise, bb.runqueue.runQueueEvent, -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 15:49:08 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 15:49:08 +0000 Subject: [oe-commits] [bitbake] 03/03: data: Micro performance optimisation tweak In-Reply-To: <149935614585.17845.2366509765652306615@git.openembedded.org> References: <149935614585.17845.2366509765652306615@git.openembedded.org> Message-ID: <20170706154905.F2DCC234826@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 874e3d972a165d742baafecaaefde0f7b6188f9b Author: Richard Purdie AuthorDate: Thu Jul 6 15:13:03 2017 +0100 data: Micro performance optimisation tweak The datastore can assume internal API, this just removes the function indirection overhead involved in this very common codepath (800,000 calls in parsing OE-Core). Signed-off-by: Richard Purdie --- lib/bb/data.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/bb/data.py b/lib/bb/data.py index 134afaa..80a7879 100644 --- a/lib/bb/data.py +++ b/lib/bb/data.py @@ -290,7 +290,7 @@ def build_dependencies(key, keys, shelldeps, varflagsexcl, d): return deps, value varflags = d.getVarFlags(key, ["vardeps", "vardepvalue", "vardepsexclude", "exports", "postfuncs", "prefuncs", "lineno", "filename"]) or {} vardeps = varflags.get("vardeps") - value = d.getVar(key, False) + value = d.getVarFlag(key, "_content", False) def handle_contains(value, contains, d): newvalue = "" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 15:49:07 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 15:49:07 +0000 Subject: [oe-commits] [bitbake] 02/03: cooker: Experiment with multiple BuildStarted for multiconfig In-Reply-To: <149935614585.17845.2366509765652306615@git.openembedded.org> References: <149935614585.17845.2366509765652306615@git.openembedded.org> Message-ID: <20170706154905.EDAB4234825@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 51a758bff15313aa4af83f1733a7667a4ce5ca6b Author: Richard Purdie AuthorDate: Wed Apr 26 21:03:15 2017 +0100 cooker: Experiment with multiple BuildStarted for multiconfig Currently builds in multiple TMPDIRs with multiconfig can break since the BuildStarted event is used to create directory strutures in several cases (e.g. buildstats.bbclass) and there is only on BuildStarted event generated in a multiconfig build. We have two options, a) to add a new MultiConfigBuildStarted event which is generated once per multiconfig, or b) allow multiple BuildStarted events. Having reviewed the code and current users of BuildStarted, sending one event per multiconfig seems like its the best way forward and the existing code looks able to cope with the duplication of events. I did also check toaster and I think that can handle this issue too (multiconfig builds may have other issues there). I'm therefore proposing we send multiple BuildStarted events for multiconfig and for consistency, send multiple BuildCompleted events too. Signed-off-by: Richard Purdie --- lib/bb/cooker.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py index 479dc5a..c140220 100644 --- a/lib/bb/cooker.py +++ b/lib/bb/cooker.py @@ -1191,6 +1191,10 @@ class BBCooker: if siggen_cache: bb.parse.siggen.checksum_cache.mtime_cache.clear() + def copyBuildVars(self, d): + for i in ["BUILDNAME", "BUILDSTART", "DATE", "TIME"]: + d.setVar(i, self.data.getVar(i, False)) + def matchFiles(self, bf): """ Find the .bb files which match the expression in 'buildfile'. @@ -1362,7 +1366,10 @@ class BBCooker: if not retval: try: - bb.event.fire(bb.event.BuildCompleted(len(rq.rqdata.runtaskentries), buildname, targets, failures, interrupted), self.data) + for mc in self.multiconfigs: + localdata = data.createCopy(self.databuilder.mcdata[mc]) + self.copyBuildVars(localdata) + bb.event.fire(bb.event.BuildCompleted(len(rq.rqdata.runtaskentries), buildname, targets, failures, interrupted), localdata) finally: self.command.finishAsyncCommand(msg) return False @@ -1395,7 +1402,10 @@ class BBCooker: ntargets.append("multiconfig:%s:%s:%s" % (target[0], target[1], target[2])) ntargets.append("%s:%s" % (target[1], target[2])) - bb.event.fire(bb.event.BuildStarted(buildname, ntargets), self.data) + for mc in self.multiconfigs: + localdata = data.createCopy(self.databuilder.mcdata[mc]) + self.copyBuildVars(localdata) + bb.event.fire(bb.event.BuildStarted(buildname, ntargets), localdata) rq = bb.runqueue.RunQueue(self, self.data, self.recipecaches, taskdata, runlist) if 'universe' in targets: -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 22:57:08 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 22:57:08 +0000 Subject: [oe-commits] [openembedded-core] 02/11: gcc: Introduce a knob to configure gcc to default to PIE In-Reply-To: <149938182648.21601.2990514448629555611@git.openembedded.org> References: <149938182648.21601.2990514448629555611@git.openembedded.org> Message-ID: <20170706225706.C302A234825@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 0bbcb44da784b452f8f5ec8f04ea45773d8c86cb Author: Khem Raj AuthorDate: Sat Jun 10 07:51:58 2017 -0700 gcc: Introduce a knob to configure gcc to default to PIE GCCPIE flag which is empty by default adds "--enable-default-pie" configure option for harderned distros We do not require to add -fpie -pie flag externally anymore Signed-off-by: Khem Raj --- meta/conf/distro/include/security_flags.inc | 4 +++- meta/recipes-devtools/gcc/gcc-configure-common.inc | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/meta/conf/distro/include/security_flags.inc b/meta/conf/distro/include/security_flags.inc index 38164d0..f2eb224 100644 --- a/meta/conf/distro/include/security_flags.inc +++ b/meta/conf/distro/include/security_flags.inc @@ -5,6 +5,8 @@ # From a Yocto Project perspective, this file is included and tested # in the DISTRO="poky-lsb" configuration. +GCCPIE ?= "--enable-default-pie" + # _FORTIFY_SOURCE requires -O1 or higher, so disable in debug builds as they use # -O0 which then results in a compiler warning. lcl_maybe_fortify = "${@base_conditional('DEBUG_BUILD','1','','-D_FORTIFY_SOURCE=2',d)}" @@ -12,7 +14,7 @@ lcl_maybe_fortify = "${@base_conditional('DEBUG_BUILD','1','','-D_FORTIFY_SOURCE # Error on use of format strings that represent possible security problems SECURITY_STRINGFORMAT ?= "-Wformat -Wformat-security -Werror=format-security" -SECURITY_CFLAGS ?= "-fstack-protector-strong -pie -fpie ${lcl_maybe_fortify} ${SECURITY_STRINGFORMAT}" +SECURITY_CFLAGS ?= "-fstack-protector-strong ${lcl_maybe_fortify} ${SECURITY_STRINGFORMAT}" SECURITY_NO_PIE_CFLAGS ?= "-fstack-protector-strong ${lcl_maybe_fortify} ${SECURITY_STRINGFORMAT}" SECURITY_LDFLAGS ?= "-fstack-protector-strong -Wl,-z,relro,-z,now" diff --git a/meta/recipes-devtools/gcc/gcc-configure-common.inc b/meta/recipes-devtools/gcc/gcc-configure-common.inc index 63fa1d9..e2ce234 100644 --- a/meta/recipes-devtools/gcc/gcc-configure-common.inc +++ b/meta/recipes-devtools/gcc/gcc-configure-common.inc @@ -22,6 +22,8 @@ EXTRA_OECONF_INITIAL ?= "" GCCMULTILIB ?= "--disable-multilib" GCCTHREADS ?= "posix" +GCCPIE ??= "" + EXTRA_OECONF = "\ ${@['--enable-clocale=generic', ''][d.getVar('USE_NLS') != 'no']} \ --with-gnu-ld \ @@ -29,6 +31,7 @@ EXTRA_OECONF = "\ --enable-languages=${LANGUAGES} \ --enable-threads=${GCCTHREADS} \ ${GCCMULTILIB} \ + ${GCCPIE} \ --enable-c99 \ --enable-long-long \ --enable-symvers=gnu \ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 22:57:10 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 22:57:10 +0000 Subject: [oe-commits] [openembedded-core] 04/11: distutils, setuptools: Delete use of SECURITY_NO_PIE_CFLAGS In-Reply-To: <149938182648.21601.2990514448629555611@git.openembedded.org> References: <149938182648.21601.2990514448629555611@git.openembedded.org> Message-ID: <20170706225706.D1CF5234827@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 18158c76372f797db38beae45c2a4bb0bfc16c78 Author: Khem Raj AuthorDate: Sat Jun 10 08:06:17 2017 -0700 distutils,setuptools: Delete use of SECURITY_NO_PIE_CFLAGS gcc can handle PIE in gcc driver Signed-off-by: Khem Raj --- meta/classes/distutils-common-base.bbclass | 2 -- meta/classes/setuptools.bbclass | 2 -- 2 files changed, 4 deletions(-) diff --git a/meta/classes/distutils-common-base.bbclass b/meta/classes/distutils-common-base.bbclass index fa733c6..824a1b6 100644 --- a/meta/classes/distutils-common-base.bbclass +++ b/meta/classes/distutils-common-base.bbclass @@ -11,5 +11,3 @@ FILES_${PN}-dev += "\ ${libdir}/pkgconfig \ ${PYTHON_SITEPACKAGES_DIR}/*.la \ " - -SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}" diff --git a/meta/classes/setuptools.bbclass b/meta/classes/setuptools.bbclass index 7d0c526..56343b1 100644 --- a/meta/classes/setuptools.bbclass +++ b/meta/classes/setuptools.bbclass @@ -6,5 +6,3 @@ DISTUTILS_INSTALL_ARGS = "--root=${D} \ --prefix=${prefix} \ --install-lib=${PYTHON_SITEPACKAGES_DIR} \ --install-data=${datadir}" - -SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 22:57:07 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 22:57:07 +0000 Subject: [oe-commits] [openembedded-core] 01/11: oeqa/sdk: Replace buildiptables for buildlzip tests In-Reply-To: <149938182648.21601.2990514448629555611@git.openembedded.org> References: <149938182648.21601.2990514448629555611@git.openembedded.org> Message-ID: <20170706225706.BC903234824@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit e3354f9e17bf0e41ceb9c103de5147c8702407e6 Author: Jose Perez Carranza AuthorDate: Mon Jul 3 13:04:15 2017 -0700 oeqa/sdk: Replace buildiptables for buildlzip tests Buildiptables test cases are conflicting with images built with ?musl? as standard C library, in order to avoid those issues lzip package was selected to be used on the tests as this does not have any "musl" dependency. Also change testimage to refer to the new test [RB] [YOCTO #11713] Signed-off-by: Jose Perez Carranza Signed-off-by: Ross Burton --- meta/classes/testimage.bbclass | 6 +++--- meta/lib/oeqa/sdk/cases/{buildiptables.py => buildlzip.py} | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/meta/classes/testimage.bbclass b/meta/classes/testimage.bbclass index 6fa2d6f..0c4a84e 100644 --- a/meta/classes/testimage.bbclass +++ b/meta/classes/testimage.bbclass @@ -49,10 +49,10 @@ DEFAULT_TEST_SUITES_pn-core-image-x11 = "${MINTESTSUITE}" DEFAULT_TEST_SUITES_pn-core-image-lsb = "${NETTESTSUITE} pam parselogs ${RPMTESTSUITE}" DEFAULT_TEST_SUITES_pn-core-image-sato = "${NETTESTSUITE} connman xorg parselogs ${RPMTESTSUITE} \ ${@bb.utils.contains('IMAGE_PKGTYPE', 'rpm', 'python', '', d)}" -DEFAULT_TEST_SUITES_pn-core-image-sato-sdk = "${NETTESTSUITE} buildcpio buildiptables buildgalculator \ +DEFAULT_TEST_SUITES_pn-core-image-sato-sdk = "${NETTESTSUITE} buildcpio buildlzip buildgalculator \ connman ${DEVTESTSUITE} logrotate perl parselogs python ${RPMTESTSUITE} xorg" DEFAULT_TEST_SUITES_pn-core-image-lsb-dev = "${NETTESTSUITE} pam perl python parselogs ${RPMTESTSUITE}" -DEFAULT_TEST_SUITES_pn-core-image-lsb-sdk = "${NETTESTSUITE} buildcpio buildiptables buildgalculator \ +DEFAULT_TEST_SUITES_pn-core-image-lsb-sdk = "${NETTESTSUITE} buildcpio buildlzip buildgalculator \ connman ${DEVTESTSUITE} logrotate pam parselogs perl python ${RPMTESTSUITE}" DEFAULT_TEST_SUITES_pn-meta-toolchain = "auto" @@ -61,7 +61,7 @@ DEFAULT_TEST_SUITES_remove_aarch64 = "xorg" # qemumips is quite slow and has reached the timeout limit several times on the YP build cluster, # mitigate this by removing build tests for qemumips machines. -MIPSREMOVE ??= "buildcpio buildiptables buildgalculator" +MIPSREMOVE ??= "buildcpio buildlzip buildgalculator" DEFAULT_TEST_SUITES_remove_qemumips = "${MIPSREMOVE}" DEFAULT_TEST_SUITES_remove_qemumips64 = "${MIPSREMOVE}" diff --git a/meta/lib/oeqa/sdk/cases/buildiptables.py b/meta/lib/oeqa/sdk/cases/buildlzip.py similarity index 84% rename from meta/lib/oeqa/sdk/cases/buildiptables.py rename to meta/lib/oeqa/sdk/cases/buildlzip.py index 419c7eb..3a89ce8 100644 --- a/meta/lib/oeqa/sdk/cases/buildiptables.py +++ b/meta/lib/oeqa/sdk/cases/buildlzip.py @@ -3,15 +3,15 @@ from oeqa.sdk.case import OESDKTestCase from oeqa.sdk.utils.sdkbuildproject import SDKBuildProject -class BuildIptablesTest(OESDKTestCase): +class BuildLzipTest(OESDKTestCase): td_vars = ['DATETIME'] @classmethod def setUpClass(self): dl_dir = self.td.get('DL_DIR', None) - self.project = SDKBuildProject(self.tc.sdk_dir + "/iptables/", self.tc.sdk_env, - "http://downloads.yoctoproject.org/mirror/sources/iptables-1.4.13.tar.bz2", + self.project = SDKBuildProject(self.tc.sdk_dir + "/lzip/", self.tc.sdk_env, + "http://downloads.yoctoproject.org/mirror/sources/lzip-1.19.tar.gz", self.tc.sdk_dir, self.td['DATETIME'], dl_dir=dl_dir) self.project.download_archive() @@ -21,7 +21,7 @@ class BuildIptablesTest(OESDKTestCase): self.tc.hasTargetPackage("gcc")): raise unittest.SkipTest("SDK doesn't contain a cross-canadian toolchain") - def test_iptables(self): + def test_lzip(self): self.assertEqual(self.project.run_configure(), 0, msg="Running configure failed") -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 22:57:09 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 22:57:09 +0000 Subject: [oe-commits] [openembedded-core] 03/11: security_flags.inc: Delete pinnings for SECURITY_NO_PIE_CFLAGS In-Reply-To: <149938182648.21601.2990514448629555611@git.openembedded.org> References: <149938182648.21601.2990514448629555611@git.openembedded.org> Message-ID: <20170706225706.CA1F9234826@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit d18cdf40bf783b5379414f05de836a4a5ece47bf Author: Khem Raj AuthorDate: Sat Jun 10 07:57:34 2017 -0700 security_flags.inc: Delete pinnings for SECURITY_NO_PIE_CFLAGS GCC is configured correctly to pass PIE cflags/ldflags Signed-off-by: Khem Raj --- meta/conf/distro/include/security_flags.inc | 83 ++++++++--------------------- 1 file changed, 22 insertions(+), 61 deletions(-) diff --git a/meta/conf/distro/include/security_flags.inc b/meta/conf/distro/include/security_flags.inc index f2eb224..dd713b9 100644 --- a/meta/conf/distro/include/security_flags.inc +++ b/meta/conf/distro/include/security_flags.inc @@ -1,4 +1,4 @@ -# Setup extra CFLAGS and LDFLAGS which have 'security' benefits. These +# Setup extra CFLAGS and LDFLAGS which have 'security' benefits. These # don't work universally, there are recipes which can't use one, the other # or both so a blacklist is maintained here. The idea would be over # time to reduce this list to nothing. @@ -14,87 +14,45 @@ lcl_maybe_fortify = "${@base_conditional('DEBUG_BUILD','1','','-D_FORTIFY_SOURCE # Error on use of format strings that represent possible security problems SECURITY_STRINGFORMAT ?= "-Wformat -Wformat-security -Werror=format-security" -SECURITY_CFLAGS ?= "-fstack-protector-strong ${lcl_maybe_fortify} ${SECURITY_STRINGFORMAT}" +# Inject pie flags into compiler flags if not configured with gcc itself +# especially useful with external toolchains +SECURITY_PIE_CFLAGS ?= "${@'' if '${GCCPIE}' else '-pie -fPIE'}" + +SECURITY_NOPIE_CFLAGS ?= "-no-pie -fno-PIE" + +SECURITY_CFLAGS ?= "-fstack-protector-strong ${SECURITY_PIE_CFLAGS} ${lcl_maybe_fortify} ${SECURITY_STRINGFORMAT}" SECURITY_NO_PIE_CFLAGS ?= "-fstack-protector-strong ${lcl_maybe_fortify} ${SECURITY_STRINGFORMAT}" SECURITY_LDFLAGS ?= "-fstack-protector-strong -Wl,-z,relro,-z,now" SECURITY_X_LDFLAGS ?= "-fstack-protector-strong -Wl,-z,relro" # powerpc does not get on with pie for reasons not looked into as yet -SECURITY_CFLAGS_powerpc = "-fstack-protector-strong ${lcl_maybe_fortify}" -# Deal with ppc specific linker failures when using the cflags -SECURITY_CFLAGS_pn-dbus_powerpc = "" -SECURITY_CFLAGS_pn-dbus-ptest_powerpc = "" -SECURITY_CFLAGS_pn-libmatchbox_powerpc = "" +SECURITY_CFLAGS_powerpc = "-fstack-protector-strong ${lcl_maybe_fortify} ${SECURITY_NOPIE_CFLAGS}" +SECURITY_CFLAGS_pn-libgcc_powerpc = "" # arm specific security flag issues -SECURITY_CFLAGS_pn-lttng-tools_arm = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-aspell = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-beecrypt = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-coreutils = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-cups = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-db = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-directfb = "${SECURITY_NO_PIE_CFLAGS}" SECURITY_CFLAGS_pn-glibc = "" SECURITY_CFLAGS_pn-glibc-initial = "" -SECURITY_CFLAGS_pn-elfutils = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-enchant = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-expect = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-flac = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-gcc = "${SECURITY_NO_PIE_CFLAGS}" SECURITY_CFLAGS_pn-gcc-runtime = "" -SECURITY_CFLAGS_pn-gcc-sanitizers = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-gdb = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-gmp = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-gnutls = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-gpgme = "${SECURITY_NO_PIE_CFLAGS}" SECURITY_CFLAGS_pn-grub = "" SECURITY_CFLAGS_pn-grub-efi = "" SECURITY_CFLAGS_pn-grub-efi-native = "" SECURITY_CFLAGS_pn-grub-efi-x86-native = "" SECURITY_CFLAGS_pn-grub-efi-i586-native = "" SECURITY_CFLAGS_pn-grub-efi-x86-64-native = "" -SECURITY_CFLAGS_pn-gstreamer1.0-plugins-bad = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-gstreamer1.0-plugins-good = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-harfbuzz = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-kexec-tools = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-iptables = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-libaio = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-libcap = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-libgcc = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-libid3tag = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-libnewt-python = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-libglu = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-libpcap = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-libpcre = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-libproxy = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-mesa = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-mesa-gl = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-openssl = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-opensp = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-ppp = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-python = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-python-pycurl = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-python-numpy = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-python3-numpy = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-python3-pycairo = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-python3-pycurl = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-python3-pygpgme = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-python3 = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-syslinux = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-slang = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-source-highlight = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-tcl = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-tiff = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-valgrind = "" -SECURITY_CFLAGS_pn-zlib = "${SECURITY_NO_PIE_CFLAGS}" + +SECURITY_CFLAGS_pn-mkelfimage_x86 = "" + +SECURITY_CFLAGS_pn-valgrind = "${SECURITY_NOPIE_CFLAGS}" +SECURITY_LDFLAGS_pn-valgrind = "" +SECURITY_CFLAGS_pn-sysklogd = "${SECURITY_NOPIE_CFLAGS}" +SECURITY_LDFLAGS_pn-sysklogd = "" # Recipes which fail to compile when elevating -Wformat-security to an error SECURITY_STRINGFORMAT_pn-busybox = "" SECURITY_STRINGFORMAT_pn-gcc = "" -SECURITY_STRINGFORMAT_pn-oh-puzzles = "" -TARGET_CFLAGS_append_class-target = " ${SECURITY_CFLAGS}" +TARGET_CC_ARCH_append_class-target = " ${SECURITY_CFLAGS}" TARGET_LDFLAGS_append_class-target = " ${SECURITY_LDFLAGS}" SECURITY_LDFLAGS_remove_pn-gcc-runtime = "-fstack-protector-strong" @@ -108,4 +66,7 @@ SECURITY_LDFLAGS_pn-xf86-video-vesa = "${SECURITY_X_LDFLAGS}" SECURITY_LDFLAGS_pn-xf86-video-vmware = "${SECURITY_X_LDFLAGS}" SECURITY_LDFLAGS_pn-xserver-xorg = "${SECURITY_X_LDFLAGS}" -TARGET_CC_ARCH_append_pn-binutils = " ${SECURITY_CFLAGS} ${SELECTED_OPTIMIZATION}" +TARGET_CC_ARCH_append_pn-binutils = " ${SELECTED_OPTIMIZATION}" +TARGET_CC_ARCH_append_pn-gcc = " ${SELECTED_OPTIMIZATION}" +TARGET_CC_ARCH_append_pn-gdb = " ${SELECTED_OPTIMIZATION}" +TARGET_CC_ARCH_append_pn-perf = " ${SELECTED_OPTIMIZATION}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 22:57:06 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 22:57:06 +0000 Subject: [oe-commits] [openembedded-core] branch master-next updated (7267e7c -> 7609777) Message-ID: <149938182648.21601.2990514448629555611@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master-next in repository openembedded-core. from 7267e7c base: Add MultiConfigParsed handler to deal with unstable build signatures new e3354f9 oeqa/sdk: Replace buildiptables for buildlzip tests new 0bbcb44 gcc: Introduce a knob to configure gcc to default to PIE new d18cdf4 security_flags.inc: Delete pinnings for SECURITY_NO_PIE_CFLAGS new 18158c7 distutils,setuptools: Delete use of SECURITY_NO_PIE_CFLAGS new 03c9c31 gcc7: Enable static PIE new 40f044f gcc: Link libssp_nonshared.a only on musl targets new 4063ecf sysklogd: Improve build and fix runtime crash new 3633bdb libunwind: We set -fPIE in security flags now if gcc is not configured for default PIE new 419aa77 gstreamer1.0-plugins-bad: Fix missing library with bcm egl new 5e4de42 security_flags.inc: Do not build gcc for powerpc with PIE defaults new 7609777 ovmf: Fix build with toolchain defaulting to PIE The 11 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: meta/classes/distutils-common-base.bbclass | 2 - meta/classes/setuptools.bbclass | 2 - meta/classes/testimage.bbclass | 6 +- meta/conf/distro/include/security_flags.inc | 86 +++++++--------------- .../sdk/cases/{buildiptables.py => buildlzip.py} | 8 +- .../ovmf/ovmf/0001-ia32-Dont-use-pie.patch | 27 ++++--- meta/recipes-devtools/gcc/gcc-7.1.inc | 3 +- ...shared-to-link-commandline-for-musl-targe.patch | 42 +++++++++++ .../gcc/gcc-7.1/0040-ssp_nonshared.patch | 28 ------- .../gcc/gcc-7.1/0048-gcc-Enable-static-PIE.patch | 37 ++++++++++ meta/recipes-devtools/gcc/gcc-configure-common.inc | 3 + ...s-that-causes-a-segmentation-fault-under-.patch | 28 +++++++ ...way-for-respecting-flags-from-environment.patch | 35 +++++++++ meta/recipes-extended/sysklogd/sysklogd.inc | 6 +- .../link-with-libvchostif.patch | 35 +++++++++ .../gstreamer/gstreamer1.0-plugins-bad_1.10.4.bb | 1 + meta/recipes-support/libunwind/libunwind_1.2.bb | 4 - 17 files changed, 236 insertions(+), 117 deletions(-) rename meta/lib/oeqa/sdk/cases/{buildiptables.py => buildlzip.py} (84%) create mode 100644 meta/recipes-devtools/gcc/gcc-7.1/0040-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch delete mode 100644 meta/recipes-devtools/gcc/gcc-7.1/0040-ssp_nonshared.patch create mode 100644 meta/recipes-devtools/gcc/gcc-7.1/0048-gcc-Enable-static-PIE.patch create mode 100644 meta/recipes-extended/sysklogd/files/0001-fix-problems-that-causes-a-segmentation-fault-under-.patch create mode 100644 meta/recipes-extended/sysklogd/files/0002-Make-way-for-respecting-flags-from-environment.patch create mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/link-with-libvchostif.patch -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 22:57:11 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 22:57:11 +0000 Subject: [oe-commits] [openembedded-core] 05/11: gcc7: Enable static PIE In-Reply-To: <149938182648.21601.2990514448629555611@git.openembedded.org> References: <149938182648.21601.2990514448629555611@git.openembedded.org> Message-ID: <20170706225706.D9804234828@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 03c9c316dbdfc7d975c5414e819671da91f8c351 Author: Khem Raj AuthorDate: Tue Jun 13 16:15:49 2017 -0700 gcc7: Enable static PIE Signed-off-by: Khem Raj --- meta/recipes-devtools/gcc/gcc-7.1.inc | 1 + .../gcc/gcc-7.1/0048-gcc-Enable-static-PIE.patch | 37 ++++++++++++++++++++++ 2 files changed, 38 insertions(+) diff --git a/meta/recipes-devtools/gcc/gcc-7.1.inc b/meta/recipes-devtools/gcc/gcc-7.1.inc index 4098d6a..b52d51f 100644 --- a/meta/recipes-devtools/gcc/gcc-7.1.inc +++ b/meta/recipes-devtools/gcc/gcc-7.1.inc @@ -72,6 +72,7 @@ SRC_URI = "\ file://0045-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch \ file://0046-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch \ file://0047-sync-gcc-stddef.h-with-musl.patch \ + file://0048-gcc-Enable-static-PIE.patch \ ${BACKPORTS} \ " BACKPORTS = "\ diff --git a/meta/recipes-devtools/gcc/gcc-7.1/0048-gcc-Enable-static-PIE.patch b/meta/recipes-devtools/gcc/gcc-7.1/0048-gcc-Enable-static-PIE.patch new file mode 100644 index 0000000..879e360 --- /dev/null +++ b/meta/recipes-devtools/gcc/gcc-7.1/0048-gcc-Enable-static-PIE.patch @@ -0,0 +1,37 @@ +From 44ef80688b56beea85c0070840dea1e2a4e34aed Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 13 Jun 2017 12:12:52 -0700 +Subject: [PATCH 49/49] gcc: Enable static PIE + +Static PIE support in GCC +see +https://gcc.gnu.org/ml/gcc/2015-06/msg00008.html + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +--- + gcc/config/gnu-user.h | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/gcc/config/gnu-user.h b/gcc/config/gnu-user.h +index 2787a3d16be..ee7b781319e 100644 +--- a/gcc/config/gnu-user.h ++++ b/gcc/config/gnu-user.h +@@ -51,10 +51,10 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + #if defined HAVE_LD_PIE + #define GNU_USER_TARGET_STARTFILE_SPEC \ + "%{!shared: %{pg|p|profile:gcrt1.o%s;: \ +- %{" PIE_SPEC ":Scrt1.o%s} %{" NO_PIE_SPEC ":crt1.o%s}}} \ +- crti.o%s %{static:crtbeginT.o%s;: %{shared:crtbeginS.o%s} \ ++ %{" PIE_SPEC ":%{static:rcrt1.o%s;:Scrt1.o%s}} %{" NO_PIE_SPEC ":crt1.o%s}}} \ ++ crti.o%s %{shared:crtbeginS.o%s;: \ + %{" PIE_SPEC ":crtbeginS.o%s} \ +- %{" NO_PIE_SPEC ":crtbegin.o%s}} \ ++ %{" NO_PIE_SPEC ":%{static:crtbeginT.o%s;:crtbegin.o%s}}} \ + %{fvtable-verify=none:%s; \ + fvtable-verify=preinit:vtv_start_preinit.o%s; \ + fvtable-verify=std:vtv_start.o%s} \ +-- +2.13.1 + -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 22:57:14 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 22:57:14 +0000 Subject: [oe-commits] [openembedded-core] 08/11: libunwind: We set -fPIE in security flags now if gcc is not configured for default PIE In-Reply-To: <149938182648.21601.2990514448629555611@git.openembedded.org> References: <149938182648.21601.2990514448629555611@git.openembedded.org> Message-ID: <20170706225706.ED03323482B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 3633bdb75287d7f98de4e925b09a32651d604454 Author: Khem Raj AuthorDate: Tue Jun 13 19:18:38 2017 -0700 libunwind: We set -fPIE in security flags now if gcc is not configured for default PIE Signed-off-by: Khem Raj --- meta/recipes-support/libunwind/libunwind_1.2.bb | 4 ---- 1 file changed, 4 deletions(-) diff --git a/meta/recipes-support/libunwind/libunwind_1.2.bb b/meta/recipes-support/libunwind/libunwind_1.2.bb index e598e40..c6312f2 100644 --- a/meta/recipes-support/libunwind/libunwind_1.2.bb +++ b/meta/recipes-support/libunwind/libunwind_1.2.bb @@ -21,8 +21,4 @@ EXTRA_OECONF_append_libc-musl = " --disable-documentation --disable-tests " ARM_INSTRUCTION_SET_armv4 = "arm" ARM_INSTRUCTION_SET_armv5 = "arm" -# see https://sourceware.org/bugzilla/show_bug.cgi?id=19987 -SECURITY_CFLAGS_remove_aarch64 = "-fpie" -SECURITY_CFLAGS_append_aarch64 = " -fPIE" - LDFLAGS += "-Wl,-z,relro,-z,now ${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 22:57:12 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 22:57:12 +0000 Subject: [oe-commits] [openembedded-core] 06/11: gcc: Link libssp_nonshared.a only on musl targets In-Reply-To: <149938182648.21601.2990514448629555611@git.openembedded.org> References: <149938182648.21601.2990514448629555611@git.openembedded.org> Message-ID: <20170706225706.E0622234829@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 40f044f3eb3de6304ddf23fd565ad2b2484438a7 Author: Khem Raj AuthorDate: Tue Jun 27 19:11:44 2017 -0700 gcc: Link libssp_nonshared.a only on musl targets glibc already provides the content for libssp_nonshared in libc_nonshared.a therefore we dont need to make it universal. This also fixed build issues on glibc when linking statically and using -fstack-protector Fixed errors like /mnt/a/oe/build/tmp/work/i586-bec-linux/aufs-util/3.14+gitAUTOINC+bdfcc0dcfc-r0/recipe-sysroot/usr/lib/../lib/libc.a(stack_chk_fail.o): In function `__stack_chk_fail': /usr/src/debug/glibc/2.26-r0/git/debug/stack_chk_fail.c:27: multiple definition of `__stack_chk_fail_local' /mnt/a/oe/bui [...] Signed-off-by: Khem Raj --- meta/recipes-devtools/gcc/gcc-7.1.inc | 2 +- ...shared-to-link-commandline-for-musl-targe.patch | 42 ++++++++++++++++++++++ .../gcc/gcc-7.1/0040-ssp_nonshared.patch | 28 --------------- 3 files changed, 43 insertions(+), 29 deletions(-) diff --git a/meta/recipes-devtools/gcc/gcc-7.1.inc b/meta/recipes-devtools/gcc/gcc-7.1.inc index b52d51f..96fc11c 100644 --- a/meta/recipes-devtools/gcc/gcc-7.1.inc +++ b/meta/recipes-devtools/gcc/gcc-7.1.inc @@ -64,7 +64,7 @@ SRC_URI = "\ file://0037-Search-target-sysroot-gcc-version-specific-dirs-with.patch \ file://0038-Fix-various-_FOR_BUILD-and-related-variables.patch \ file://0039-nios2-Define-MUSL_DYNAMIC_LINKER.patch \ - file://0040-ssp_nonshared.patch \ + file://0040-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch \ file://0041-gcc-libcpp-support-ffile-prefix-map-old-new.patch \ file://0042-Reuse-fdebug-prefix-map-to-replace-ffile-prefix-map.patch \ file://0043-gcc-final.c-fdebug-prefix-map-support-to-remap-sourc.patch \ diff --git a/meta/recipes-devtools/gcc/gcc-7.1/0040-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch b/meta/recipes-devtools/gcc/gcc-7.1/0040-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch new file mode 100644 index 0000000..310f7aa --- /dev/null +++ b/meta/recipes-devtools/gcc/gcc-7.1/0040-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch @@ -0,0 +1,42 @@ +From 75a42d6d0f1f9784327f74882195a5c24843d5a8 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 27 Jun 2017 18:10:54 -0700 +Subject: [PATCH 40/49] Add ssp_nonshared to link commandline for musl targets + +when -fstack-protector options are enabled we need to +link with ssp_shared on musl since it does not provide +the __stack_chk_fail_local() so essentially it provides +libssp but not libssp_nonshared something like +TARGET_LIBC_PROVIDES_SSP_BUT_NOT_SSP_NONSHARED + where-as for glibc the needed symbols +are already present in libc_nonshared library therefore +we do not need any library helper on glibc based systems +but musl needs the libssp_noshared from gcc + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +--- + gcc/config/linux.h | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/gcc/config/linux.h b/gcc/config/linux.h +index 2e683d0c430..5ff0a2cb2ff 100644 +--- a/gcc/config/linux.h ++++ b/gcc/config/linux.h +@@ -182,6 +182,12 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + { GCC_INCLUDE_DIR, "GCC", 0, 1, 0, 0 }, \ + { 0, 0, 0, 0, 0, 0 } \ + } ++#ifdef TARGET_LIBC_PROVIDES_SSP ++#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \ ++ "|fstack-protector-strong|fstack-protector-explicit" \ ++ ":-lssp_nonshared}" ++#endif ++ + #endif + + #if (DEFAULT_LIBC == LIBC_UCLIBC) && defined (SINGLE_LIBC) /* uClinux */ +-- +2.13.2 + diff --git a/meta/recipes-devtools/gcc/gcc-7.1/0040-ssp_nonshared.patch b/meta/recipes-devtools/gcc/gcc-7.1/0040-ssp_nonshared.patch deleted file mode 100644 index e9fb35c..0000000 --- a/meta/recipes-devtools/gcc/gcc-7.1/0040-ssp_nonshared.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 6c98538411ac30c2262b2635547974c6cd1699c5 Mon Sep 17 00:00:00 2001 -From: Szabolcs Nagy -Date: Sat, 7 Nov 2015 14:58:40 +0000 -Subject: [PATCH 40/47] ssp_nonshared - ---- -Upstream-Status: Inappropriate [OE-Specific] - - gcc/gcc.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/gcc/gcc.c b/gcc/gcc.c -index 84af5d5a2e1..2c6471aa565 100644 ---- a/gcc/gcc.c -+++ b/gcc/gcc.c -@@ -872,7 +872,8 @@ proper position among the other output files. */ - #ifndef LINK_SSP_SPEC - #ifdef TARGET_LIBC_PROVIDES_SSP - #define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \ -- "|fstack-protector-strong|fstack-protector-explicit:}" -+ "|fstack-protector-strong|fstack-protector-explicit" \ -+ ":-lssp_nonshared}" - #else - #define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \ - "|fstack-protector-strong|fstack-protector-explicit" \ --- -2.12.2 - -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 22:57:16 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 22:57:16 +0000 Subject: [oe-commits] [openembedded-core] 10/11: security_flags.inc: Do not build gcc for powerpc with PIE defaults In-Reply-To: <149938182648.21601.2990514448629555611@git.openembedded.org> References: <149938182648.21601.2990514448629555611@git.openembedded.org> Message-ID: <20170706225707.06BEC23482D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 5e4de4258dcc4115c1e69597415ea5b550a619fb Author: Khem Raj AuthorDate: Mon Jul 3 18:33:10 2017 -0700 security_flags.inc: Do not build gcc for powerpc with PIE defaults Since we have disabled FPIE from SECURITY_CFLAGS already, we have to ensure the same with gcc, otherwise gcc (on-device) will be built defaulting to PIE, and such binaries will fail to execute Signed-off-by: Khem Raj --- meta/conf/distro/include/security_flags.inc | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/conf/distro/include/security_flags.inc b/meta/conf/distro/include/security_flags.inc index dd713b9..ab2062b 100644 --- a/meta/conf/distro/include/security_flags.inc +++ b/meta/conf/distro/include/security_flags.inc @@ -29,6 +29,7 @@ SECURITY_X_LDFLAGS ?= "-fstack-protector-strong -Wl,-z,relro" # powerpc does not get on with pie for reasons not looked into as yet SECURITY_CFLAGS_powerpc = "-fstack-protector-strong ${lcl_maybe_fortify} ${SECURITY_NOPIE_CFLAGS}" SECURITY_CFLAGS_pn-libgcc_powerpc = "" +GCCPIE_powerpc = "" # arm specific security flag issues SECURITY_CFLAGS_pn-glibc = "" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 22:57:13 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 22:57:13 +0000 Subject: [oe-commits] [openembedded-core] 07/11: sysklogd: Improve build and fix runtime crash In-Reply-To: <149938182648.21601.2990514448629555611@git.openembedded.org> References: <149938182648.21601.2990514448629555611@git.openembedded.org> Message-ID: <20170706225706.E702823482A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 4063ecfc72cddfa57f338255a67e2fb305c33f1b Author: Khem Raj AuthorDate: Sat Jul 1 00:04:35 2017 -0700 sysklogd: Improve build and fix runtime crash Patch the makefile so it can respect flags from environment add a patch to fix a run time crash Signed-off-by: Khem Raj --- ...s-that-causes-a-segmentation-fault-under-.patch | 28 +++++++++++++++++ ...way-for-respecting-flags-from-environment.patch | 35 ++++++++++++++++++++++ meta/recipes-extended/sysklogd/sysklogd.inc | 6 ++-- 3 files changed, 66 insertions(+), 3 deletions(-) diff --git a/meta/recipes-extended/sysklogd/files/0001-fix-problems-that-causes-a-segmentation-fault-under-.patch b/meta/recipes-extended/sysklogd/files/0001-fix-problems-that-causes-a-segmentation-fault-under-.patch new file mode 100644 index 0000000..56431af --- /dev/null +++ b/meta/recipes-extended/sysklogd/files/0001-fix-problems-that-causes-a-segmentation-fault-under-.patch @@ -0,0 +1,28 @@ +From cb72b3e172c238b4b5ae5935dc6be54f5034fcf1 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 30 Jun 2017 18:20:06 -0700 +Subject: [PATCH 1/2] fix problems that causes a segmentation fault under some + conditions + +Upstream-Status: Inappropriate [ no upstream ] + +Signed-off-by: Khem Raj +--- + ksym_mod.c | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/ksym_mod.c b/ksym_mod.c +index 6e26da1..a3daa7d 100644 +--- a/ksym_mod.c ++++ b/ksym_mod.c +@@ -186,7 +186,6 @@ extern int InitMsyms() + else + Syslog(LOG_ERR, "Error loading kernel symbols " \ + "- %s\n", strerror(errno)); +- fclose(ksyms); + return(0); + } + +-- +2.13.2 + diff --git a/meta/recipes-extended/sysklogd/files/0002-Make-way-for-respecting-flags-from-environment.patch b/meta/recipes-extended/sysklogd/files/0002-Make-way-for-respecting-flags-from-environment.patch new file mode 100644 index 0000000..ebbdef3 --- /dev/null +++ b/meta/recipes-extended/sysklogd/files/0002-Make-way-for-respecting-flags-from-environment.patch @@ -0,0 +1,35 @@ +From b22f244732cd0f475af2f82fc7eecec49f90623b Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 1 Jul 2017 00:01:50 -0700 +Subject: [PATCH 2/2] Make way for respecting flags from environment + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +--- + Makefile | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +diff --git a/Makefile b/Makefile +index 5af1689..af699d2 100644 +--- a/Makefile ++++ b/Makefile +@@ -17,14 +17,12 @@ + # along with this program; if not, write to the Free Software + # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +-CC= gcc + #SKFLAGS= -g -DSYSV -Wall + #LDFLAGS= -g +-SKFLAGS= $(RPM_OPT_FLAGS) -O3 -DSYSV -fomit-frame-pointer -Wall -fno-strength-reduce ++SKFLAGS = $(CFLAGS) $(CPPFLAGS) -DSYSV -Wall -fno-strength-reduce + # -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE + # -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE + # $(shell getconf LFS_SKFLAGS) +-LDFLAGS= -s + + # Look where your install program is. + INSTALL = /usr/bin/install +-- +2.13.2 + diff --git a/meta/recipes-extended/sysklogd/sysklogd.inc b/meta/recipes-extended/sysklogd/sysklogd.inc index 78b8d7a..644728a 100644 --- a/meta/recipes-extended/sysklogd/sysklogd.inc +++ b/meta/recipes-extended/sysklogd/sysklogd.inc @@ -16,6 +16,8 @@ inherit update-rc.d update-alternatives systemd SRC_URI = "http://www.infodrom.org/projects/sysklogd/download/sysklogd-${PV}.tar.gz \ file://no-strip-install.patch \ file://0001-Fix-build-with-musl.patch \ + file://0001-fix-problems-that-causes-a-segmentation-fault-under-.patch \ + file://0002-Make-way-for-respecting-flags-from-environment.patch \ file://sysklogd \ file://syslog.conf \ file://syslogd.service \ @@ -32,9 +34,7 @@ SYSTEMD_AUTO_ENABLE = "enable" INITSCRIPT_NAME = "syslog" CONFFILES_${PN} = "${sysconfdir}/syslog.conf.${BPN}" -EXTRA_OEMAKE = "-e MAKEFLAGS=" - -CFLAGS_append = " -DSYSV" +CFLAGS += "-DSYSV -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" do_install () { install -d ${D}${mandir}/man8 \ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 22:57:15 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 22:57:15 +0000 Subject: [oe-commits] [openembedded-core] 09/11: gstreamer1.0-plugins-bad: Fix missing library with bcm egl In-Reply-To: <149938182648.21601.2990514448629555611@git.openembedded.org> References: <149938182648.21601.2990514448629555611@git.openembedded.org> Message-ID: <20170706225706.F3DA123482C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 419aa7737f8e9ae35a403c7180f63f381813e17d Author: Khem Raj AuthorDate: Sat May 27 15:14:16 2017 -0700 gstreamer1.0-plugins-bad: Fix missing library with bcm egl userland graphics driver provided libegl for rpi depends upon symbols from vchostif library, therefore add it to linker cmdline helps with loadng gst-gl plugins on rpi Signed-off-by: Khem Raj --- .../link-with-libvchostif.patch | 35 ++++++++++++++++++++++ .../gstreamer/gstreamer1.0-plugins-bad_1.10.4.bb | 1 + 2 files changed, 36 insertions(+) diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/link-with-libvchostif.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/link-with-libvchostif.patch new file mode 100644 index 0000000..c382b17 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/link-with-libvchostif.patch @@ -0,0 +1,35 @@ +Add -lvchostif to link when using -lEGL on rpi + +This is required because libEGL from userland uses sybols +from this library. + +lib/libEGL.so.1.0.0 121: 00000000 0 FUNC GLOBAL DEFAULT UND vc_dispmanx_element_add + 1552: 00000000 0 FUNC GLOBAL DEFAULT UND vc_dispmanx_element_add + +These symbols are provided by libvchostif as seen below + +lib/libvchostif.so + 252: 0000b161 192 FUNC GLOBAL DEFAULT 9 vc_dispmanx_element_add + 809: 0000b161 192 FUNC GLOBAL DEFAULT 9 vc_dispmanx_element_add + +With this explicit link, plugins fail during runtime + +(gst-plugin-scanner:571): GStreamer-WARNING **: Failed to load plugin '/usr/lib/gstreamer-1.0/libgstomx.so': Error relocating /usr/lib/libgstgl-1.0.so.0: vc_dispmanx_element_add: symbol not found +(gst-plugin-scanner:571): GStreamer-WARNING **: Failed to load plugin '/usr/lib/gstreamer-1.0/libgstopengl.so': Error relocating /usr/lib/libgstgl-1.0.so.0: vc_dispmanx_element_add: symbol not found + +Signed-off-by: Khem Raj + +Upstream-Status: Pending +Index: gst-plugins-bad-1.10.4/configure.ac +=================================================================== +--- gst-plugins-bad-1.10.4.orig/configure.ac ++++ gst-plugins-bad-1.10.4/configure.ac +@@ -785,7 +785,7 @@ case $host in + HAVE_EGL=yes + HAVE_GLES2=yes + HAVE_EGL_RPI=yes +- EGL_LIBS="-lbcm_host -lvcos -lvchiq_arm" ++ EGL_LIBS="-lbcm_host -lvchostif -lvcos -lvchiq_arm" + EGL_CFLAGS="" + AC_DEFINE(USE_EGL_RPI, [1], [Use RPi platform]) + ]) diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.10.4.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.10.4.bb index 0bb4053..def03a9 100644 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.10.4.bb +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.10.4.bb @@ -18,6 +18,7 @@ SRC_URI = " \ file://0001-smoothstreaming-implement-adaptivedemux-s-get_live_s.patch \ file://0001-smoothstreaming-use-the-duration-from-the-list-of-fr.patch \ file://0001-mssdemux-improved-live-playback-support.patch \ + file://link-with-libvchostif.patch \ " SRC_URI[md5sum] = "2757103e57a096a1a05b3ab85b8381af" SRC_URI[sha256sum] = "23ddae506b3a223b94869a0d3eea3e9a12e847f94d2d0e0b97102ce13ecd6966" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 6 22:57:17 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 06 Jul 2017 22:57:17 +0000 Subject: [oe-commits] [openembedded-core] 11/11: ovmf: Fix build with toolchain defaulting to PIE In-Reply-To: <149938182648.21601.2990514448629555611@git.openembedded.org> References: <149938182648.21601.2990514448629555611@git.openembedded.org> Message-ID: <20170706225707.0E12423482E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 760977792f0c65688049a4afd6d61a744243c917 Author: Khem Raj AuthorDate: Tue Jul 4 08:46:03 2017 -0700 ovmf: Fix build with toolchain defaulting to PIE GCC44_IA32_X64_DLINK_COMMON and GCC49_IA32_X64_DLINK_COMMON variables add to final linker flags that ovmf build forms on its own, so trying to inject it from environment will not work. Here we add option to disable pie during linking, which should have been accompanied with correcponding gcc/cflags. Fixes | /mnt/a/oe/build/tmp/work/i586-bec-linux/ovmf/git-r0/git/Build/OvmfIa32/RELEASE_GCC5/IA32/OvmfPkg/AcpiTables/AcpiTables/OUTPUT/./Facs.dll: Bad definition for symbol ''@0 or unsupported symbol type. For example, absolute and undefined symbols are not supported. Signed-off-by: Khem Raj --- .../ovmf/ovmf/0001-ia32-Dont-use-pie.patch | 27 ++++++++++++++-------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/meta/recipes-core/ovmf/ovmf/0001-ia32-Dont-use-pie.patch b/meta/recipes-core/ovmf/ovmf/0001-ia32-Dont-use-pie.patch index 7ce20be..5bb418b 100644 --- a/meta/recipes-core/ovmf/ovmf/0001-ia32-Dont-use-pie.patch +++ b/meta/recipes-core/ovmf/ovmf/0001-ia32-Dont-use-pie.patch @@ -10,10 +10,10 @@ Signed-off-by: Khem Raj BaseTools/Conf/tools_def.template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template -index 04a1bcb210..84c5f84f93 100755 ---- a/BaseTools/Conf/tools_def.template -+++ b/BaseTools/Conf/tools_def.template +Index: git/BaseTools/Conf/tools_def.template +=================================================================== +--- git.orig/BaseTools/Conf/tools_def.template ++++ git/BaseTools/Conf/tools_def.template @@ -4336,7 +4336,7 @@ RELEASE_*_*_OBJCOPY_ADDDEBUGFLAG = NOOPT_*_*_OBJCOPY_ADDDEBUGFLAG = --add-gnu-debuglink=$(DEBUG_DIR)/$(MODULE_NAME).debug @@ -23,15 +23,24 @@ index 04a1bcb210..84c5f84f93 100755 DEFINE GCC_X64_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -mno-red-zone -Wno-address -mno-stack-arg-probe DEFINE GCC_IPF_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -minline-int-divide-min-latency DEFINE GCC_ARM_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -mlittle-endian -mabi=aapcs -fno-short-enums -funsigned-char -ffunction-sections -fdata-sections -fomit-frame-pointer -Wno-address -mthumb -mfloat-abi=soft -fno-pic -fno-pie -@@ -4369,7 +4369,7 @@ DEFINE GCC_ARM_RC_FLAGS = -I binary -O elf32-littlearm -B arm +@@ -4369,9 +4369,9 @@ DEFINE GCC_ARM_RC_FLAGS = -I DEFINE GCC_AARCH64_RC_FLAGS = -I binary -O elf64-littleaarch64 -B aarch64 --rename-section .data=.hii DEFINE GCC44_ALL_CC_FLAGS = -g -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -ffunction-sections -fdata-sections -include AutoGen.h -fno-common -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings -DEFINE GCC44_IA32_CC_FLAGS = DEF(GCC44_ALL_CC_FLAGS) -m32 -march=i586 -malign-double -fno-stack-protector -D EFI32 -fno-asynchronous-unwind-tables +DEFINE GCC44_IA32_CC_FLAGS = DEF(GCC44_ALL_CC_FLAGS) -m32 -march=i586 -malign-double -fno-stack-protector -D EFI32 -fno-asynchronous-unwind-tables -fno-PIE -no-pie DEFINE GCC44_X64_CC_FLAGS = DEF(GCC44_ALL_CC_FLAGS) -m64 -fno-stack-protector "-DEFIAPI=__attribute__((ms_abi))" -maccumulate-outgoing-args -mno-red-zone -Wno-address -mcmodel=small -fpie -fno-asynchronous-unwind-tables - DEFINE GCC44_IA32_X64_DLINK_COMMON = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x20 +-DEFINE GCC44_IA32_X64_DLINK_COMMON = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x20 ++DEFINE GCC44_IA32_X64_DLINK_COMMON = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x20 -no-pie DEFINE GCC44_IA32_X64_ASLDLINK_FLAGS = DEF(GCC44_IA32_X64_DLINK_COMMON) -Wl,--entry,ReferenceAcpiTable -u ReferenceAcpiTable --- -2.13.1 - + DEFINE GCC44_IA32_X64_DLINK_FLAGS = DEF(GCC44_IA32_X64_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map + DEFINE GCC44_IA32_DLINK2_FLAGS = -Wl,--defsym=PECOFF_HEADER_SIZE=0x220 DEF(GCC_DLINK2_FLAGS_COMMON) +@@ -4451,7 +4451,7 @@ DEFINE GCC48_AARCH64_ASLDLINK_FLAGS = D + + DEFINE GCC49_IA32_CC_FLAGS = DEF(GCC48_IA32_CC_FLAGS) + DEFINE GCC49_X64_CC_FLAGS = DEF(GCC48_X64_CC_FLAGS) +-DEFINE GCC49_IA32_X64_DLINK_COMMON = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x40 ++DEFINE GCC49_IA32_X64_DLINK_COMMON = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x40 -no-pie + DEFINE GCC49_IA32_X64_ASLDLINK_FLAGS = DEF(GCC49_IA32_X64_DLINK_COMMON) -Wl,--entry,ReferenceAcpiTable -u ReferenceAcpiTable + DEFINE GCC49_IA32_X64_DLINK_FLAGS = DEF(GCC49_IA32_X64_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map + DEFINE GCC49_IA32_DLINK2_FLAGS = DEF(GCC48_IA32_DLINK2_FLAGS) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 7 08:19:37 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 07 Jul 2017 08:19:37 +0000 Subject: [oe-commits] [openembedded-core] branch pyro updated (26e2571 -> 915b012) Message-ID: <149941557732.8344.8177002389885912221@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch pyro in repository openembedded-core. from 26e2571 Revert "bitbake.conf: Add sdl-config to HOSTTOOLS if using host SDL" add aab5311 u-boot-mkimage: fix nativesdk build add 9b34200 package_manager: flush installed_pkgs file before oe-pkgdata-util uses it add 915b012 systemd-boot.bbclass: Add configuration data to secondary EFI partition No new revisions were added by this update. Summary of changes: meta/classes/systemd-boot.bbclass | 1 + meta/lib/oe/package_manager.py | 1 + meta/recipes-bsp/u-boot/u-boot-mkimage_2017.01.bb | 2 +- 3 files changed, 3 insertions(+), 1 deletion(-) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 7 10:33:58 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 07 Jul 2017 10:33:58 +0000 Subject: [oe-commits] [bitbake] 02/02: data: Micro performance optimisation tweak In-Reply-To: <149942363643.3022.10715395938281448016@git.openembedded.org> References: <149942363643.3022.10715395938281448016@git.openembedded.org> Message-ID: <20170707103356.A15F9234827@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 9a36531ed2b2881a65e5d39ee4b68d2bb392ed78 Author: Richard Purdie AuthorDate: Thu Jul 6 15:13:03 2017 +0100 data: Micro performance optimisation tweak The datastore can assume internal API, this just removes the function indirection overhead involved in this very common codepath (800,000 calls in parsing OE-Core). Signed-off-by: Richard Purdie --- lib/bb/data.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/bb/data.py b/lib/bb/data.py index 134afaa..80a7879 100644 --- a/lib/bb/data.py +++ b/lib/bb/data.py @@ -290,7 +290,7 @@ def build_dependencies(key, keys, shelldeps, varflagsexcl, d): return deps, value varflags = d.getVarFlags(key, ["vardeps", "vardepvalue", "vardepsexclude", "exports", "postfuncs", "prefuncs", "lineno", "filename"]) or {} vardeps = varflags.get("vardeps") - value = d.getVar(key, False) + value = d.getVarFlag(key, "_content", False) def handle_contains(value, contains, d): newvalue = "" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 7 10:33:56 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 07 Jul 2017 10:33:56 +0000 Subject: [oe-commits] [bitbake] branch master-next updated (874e3d9 -> 9a36531) Message-ID: <149942363643.3022.10715395938281448016@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master-next in repository bitbake. discard 874e3d9 data: Micro performance optimisation tweak discard 51a758b cooker: Experiment with multiple BuildStarted for multiconfig new 0b00f03 cooker: Use multiple BuildStarted events for multiconfig new 9a36531 data: Micro performance optimisation tweak This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (874e3d9) \ N -- N -- N refs/heads/master-next (9a36531) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: lib/bb/cooker.py | 34 ++++++++++++++-------------------- 1 file changed, 14 insertions(+), 20 deletions(-) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 7 10:33:57 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 07 Jul 2017 10:33:57 +0000 Subject: [oe-commits] [bitbake] 01/02: cooker: Use multiple BuildStarted events for multiconfig In-Reply-To: <149942363643.3022.10715395938281448016@git.openembedded.org> References: <149942363643.3022.10715395938281448016@git.openembedded.org> Message-ID: <20170707103356.97502234826@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 0b00f0382780ab5390a5c3f756a9b4efafe0aec8 Author: Richard Purdie AuthorDate: Wed Apr 26 21:03:15 2017 +0100 cooker: Use multiple BuildStarted events for multiconfig Currently builds in multiple TMPDIRs with multiconfig can break since the BuildStarted event is used to create directory strutures in several cases (e.g. buildstats.bbclass) and there is only on BuildStarted event generated in a multiconfig build. We have two options, a) to add a new MultiConfigBuildStarted event which is generated once per multiconfig, or b) allow multiple BuildStarted events. Having reviewed the code and current users of BuildStarted, sending one event per multiconfig seems like its the best way forward and the existing code looks able to cope with the duplication of events. I did also check toaster and I think that can handle this issue too (multiconfig builds may have other issues there). I'm therefore proposing we send multiple BuildStarted events for multiconfig and for consistency, send multiple BuildCompleted events too. We need to ensure that BUILDNAME, BUILDSTART and DATE/TIME are set consistently in all the different multiconfig datastores. These events can write to the datastore so copies are not used. buildFile was also cleaned up to ensure it uses the right datastore in various places. Signed-off-by: Richard Purdie --- lib/bb/cooker.py | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py index 479dc5a..dc8f54c 100644 --- a/lib/bb/cooker.py +++ b/lib/bb/cooker.py @@ -1172,12 +1172,14 @@ class BBCooker: """ Setup any variables needed before starting a build """ - t = time.gmtime() - if not self.data.getVar("BUILDNAME", False): - self.data.setVar("BUILDNAME", "${DATE}${TIME}") - self.data.setVar("BUILDSTART", time.strftime('%m/%d/%Y %H:%M:%S', t)) - self.data.setVar("DATE", time.strftime('%Y%m%d', t)) - self.data.setVar("TIME", time.strftime('%H%M%S', t)) + t = time.gmtime() + for mc in self.databuilder.mcdata: + ds = self.databuilder.mcdata[mc] + if not ds.getVar("BUILDNAME", False): + ds.setVar("BUILDNAME", "${DATE}${TIME}") + ds.setVar("BUILDSTART", time.strftime('%m/%d/%Y %H:%M:%S', t)) + ds.setVar("DATE", time.strftime('%Y%m%d', t)) + ds.setVar("TIME", time.strftime('%H%M%S', t)) def reset_mtime_caches(self): """ @@ -1292,10 +1294,10 @@ class BBCooker: # Setup taskdata structure taskdata = {} taskdata[mc] = bb.taskdata.TaskData(self.configuration.abort) - taskdata[mc].add_provider(self.data, self.recipecaches[mc], item) + taskdata[mc].add_provider(self.databuilder.mcdata[mc], self.recipecaches[mc], item) - buildname = self.data.getVar("BUILDNAME") - bb.event.fire(bb.event.BuildStarted(buildname, [item]), self.data) + buildname = self.databuilder.mcdata[mc].getVar("BUILDNAME") + bb.event.fire(bb.event.BuildStarted(buildname, [item]), self.databuilder.mcdata[mc]) # Execute the runqueue runlist = [[mc, item, task, fn]] @@ -1325,7 +1327,7 @@ class BBCooker: return False if not retval: - bb.event.fire(bb.event.BuildCompleted(len(rq.rqdata.runtaskentries), buildname, item, failures, interrupted), self.data) + bb.event.fire(bb.event.BuildCompleted(len(rq.rqdata.runtaskentries), buildname, item, failures, interrupted), self.databuilder.mcdata[mc]) self.command.finishAsyncCommand(msg) return False if retval is True: @@ -1362,7 +1364,8 @@ class BBCooker: if not retval: try: - bb.event.fire(bb.event.BuildCompleted(len(rq.rqdata.runtaskentries), buildname, targets, failures, interrupted), self.data) + for mc in self.multiconfigs: + bb.event.fire(bb.event.BuildCompleted(len(rq.rqdata.runtaskentries), buildname, targets, failures, interrupted), self.databuilder.mcdata[mc]) finally: self.command.finishAsyncCommand(msg) return False @@ -1395,7 +1398,8 @@ class BBCooker: ntargets.append("multiconfig:%s:%s:%s" % (target[0], target[1], target[2])) ntargets.append("%s:%s" % (target[1], target[2])) - bb.event.fire(bb.event.BuildStarted(buildname, ntargets), self.data) + for mc in self.multiconfigs: + bb.event.fire(bb.event.BuildStarted(buildname, ntargets), self.databuilder.mcdata[mc]) rq = bb.runqueue.RunQueue(self, self.data, self.recipecaches, taskdata, runlist) if 'universe' in targets: -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 7 10:42:03 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 07 Jul 2017 10:42:03 +0000 Subject: [oe-commits] [openembedded-core] 02/21: insane.bbclass: Support musl-x32 In-Reply-To: <149942412156.4630.14702278473285419109@git.openembedded.org> References: <149942412156.4630.14702278473285419109@git.openembedded.org> Message-ID: <20170707104201.ED3EA234827@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 6018c83ce918ed75bc9a12bece1890d2e318458c Author: sweeaun AuthorDate: Wed Jul 5 16:56:32 2017 -0700 insane.bbclass: Support musl-x32 Added musl-x32 elf header into dictionary. Signed-off-by: sweeaun Signed-off-by: Ross Burton --- meta/classes/insane.bbclass | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass index 7680a59..479d39c 100644 --- a/meta/classes/insane.bbclass +++ b/meta/classes/insane.bbclass @@ -150,6 +150,9 @@ def package_qa_get_machine_dict(d): "linux-gnux32" : { "x86_64": (62, 0, 0, True, 32), }, + "linux-muslx32" : { + "x86_64": (62, 0, 0, True, 32), + }, "linux-gnun32" : { "mips64": ( 8, 0, 0, False, 32), "mips64el": ( 8, 0, 0, True, 32), @@ -488,7 +491,7 @@ def package_qa_check_arch(path,name,d, elf, messages): # Check the architecture and endiannes of the binary is_32 = (("virtual/kernel" in provides) or bb.data.inherits_class("module", d)) and \ - (target_os == "linux-gnux32" or re.match('mips64.*32', d.getVar('DEFAULTTUNE'))) + (target_os == "linux-gnux32" or target_os == "linux-muslx32" or re.match('mips64.*32', d.getVar('DEFAULTTUNE'))) if not ((machine == elf.machine()) or is_32): package_qa_add_message(messages, "arch", "Architecture did not match (%s, expected %s) on %s" % \ (oe.qa.elf_machine_to_string(elf.machine()), oe.qa.elf_machine_to_string(machine), package_qa_clean_path(path,d))) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 7 10:42:04 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 07 Jul 2017 10:42:04 +0000 Subject: [oe-commits] [openembedded-core] 03/21: siteinfo.bbclass: Support musl-x32 In-Reply-To: <149942412156.4630.14702278473285419109@git.openembedded.org> References: <149942412156.4630.14702278473285419109@git.openembedded.org> Message-ID: <20170707104202.01407234828@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 0ff5b48b1ccaf241846b1f986377f08a888fea26 Author: sweeaun AuthorDate: Wed Jul 5 16:56:33 2017 -0700 siteinfo.bbclass: Support musl-x32 Modified targetinfo and osinfo to support musl-x32. Signed-off-by: sweeaun Signed-off-by: Ross Burton --- meta/classes/siteinfo.bbclass | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/classes/siteinfo.bbclass b/meta/classes/siteinfo.bbclass index 90ea5ba..20b4704 100644 --- a/meta/classes/siteinfo.bbclass +++ b/meta/classes/siteinfo.bbclass @@ -63,6 +63,7 @@ def siteinfo_data(d): "linux-gnueabi": "common-linux common-glibc", "linux-gnuspe": "common-linux common-glibc", "linux-musl": "common-linux common-musl", + "linux-muslx32": "common-linux common-musl", "linux-musleabi": "common-linux common-musl", "linux-muslspe": "common-linux common-musl", "uclinux-uclibc": "common-uclibc", @@ -99,6 +100,7 @@ def siteinfo_data(d): "x86_64-darwin9": "bit-64", "x86_64-linux": "bit-64", "x86_64-linux-musl": "x86_64-linux bit-64", + "x86_64-linux-muslx32": "bit-32 ix86-common x32-linux", "x86_64-elf": "bit-64", "x86_64-linux-gnu": "bit-64 x86_64-linux", "x86_64-linux-gnux32": "bit-32 ix86-common x32-linux", -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 7 10:42:05 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 07 Jul 2017 10:42:05 +0000 Subject: [oe-commits] [openembedded-core] 04/21: gnu-efi: Support musl-x32 build In-Reply-To: <149942412156.4630.14702278473285419109@git.openembedded.org> References: <149942412156.4630.14702278473285419109@git.openembedded.org> Message-ID: <20170707104202.09A02234829@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit b9e614932420e7fca8745b98794cb5fcea88d34c Author: sweeaun AuthorDate: Wed Jul 5 16:56:34 2017 -0700 gnu-efi: Support musl-x32 build To build 64-bit binaries for musl-x32. Signed-off-by: sweeaun Signed-off-by: Ross Burton --- meta/recipes-bsp/gnu-efi/gnu-efi_3.0.5.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.5.bb b/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.5.bb index d6f9f53..7346737 100644 --- a/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.5.bb +++ b/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.5.bb @@ -53,6 +53,7 @@ FILES_${PN} += "${libdir}/*.lds" # 64-bit binaries are expected for EFI when targeting X32 INSANE_SKIP_${PN}-dev_append_linux-gnux32 = " arch" +INSANE_SKIP_${PN}-dev_append_linux-muslx32 = " arch" BBCLASSEXTEND = "native" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 7 10:42:02 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 07 Jul 2017 10:42:02 +0000 Subject: [oe-commits] [openembedded-core] 01/21: mesa: etnaviv: fix shader miscompilation with more than 16 labels In-Reply-To: <149942412156.4630.14702278473285419109@git.openembedded.org> References: <149942412156.4630.14702278473285419109@git.openembedded.org> Message-ID: <20170707104201.E370D234826@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 06e5f2036ba8bd39838d16516c6bcfe401e87e6b Author: Otavio Salvador AuthorDate: Wed Jul 5 18:36:27 2017 -0300 mesa: etnaviv: fix shader miscompilation with more than 16 labels The labels array may change its virtual address on a reallocation, so it is invalid to cache pointers into the array. Rather than using the pointer directly, remember the array index. Fixes miscompilation of shaders in glmark2 ideas, leading to GPU hangs. This is a backport from 17.1.5. Signed-off-by: Otavio Salvador Signed-off-by: Ross Burton --- .../files/etnaviv_fix-shader-miscompilation.patch | 220 +++++++++++++++++++++ meta/recipes-graphics/mesa/mesa_17.1.4.bb | 1 + 2 files changed, 221 insertions(+) diff --git a/meta/recipes-graphics/mesa/files/etnaviv_fix-shader-miscompilation.patch b/meta/recipes-graphics/mesa/files/etnaviv_fix-shader-miscompilation.patch new file mode 100644 index 0000000..0354e2a --- /dev/null +++ b/meta/recipes-graphics/mesa/files/etnaviv_fix-shader-miscompilation.patch @@ -0,0 +1,220 @@ +From ec43605189907fa327a4a7f457aa3c822cfdea5d Mon Sep 17 00:00:00 2001 +From: Lucas Stach +Date: Mon, 26 Jun 2017 18:24:31 +0200 +Subject: etnaviv: fix shader miscompilation with more than 16 labels + +The labels array may change its virtual address on a reallocation, so +it is invalid to cache pointers into the array. Rather than using the +pointer directly, remember the array index. + +Fixes miscompilation of shaders in glmark2 ideas, leading to GPU hangs. + +Fixes: c9e8b49b (etnaviv: gallium driver for Vivante GPUs) +Cc: mesa-stable at lists.freedesktop.org +Signed-off-by: Lucas Stach +Reviewed-by: Christian Gmeiner + +Upstream-Status: Backport [17.1.5] + +diff --git a/src/gallium/drivers/etnaviv/etnaviv_compiler.c b/src/gallium/drivers/etnaviv/etnaviv_compiler.c +index eafb511..af0f76b 100644 +--- a/src/gallium/drivers/etnaviv/etnaviv_compiler.c ++++ b/src/gallium/drivers/etnaviv/etnaviv_compiler.c +@@ -119,10 +119,10 @@ enum etna_compile_frame_type { + */ + struct etna_compile_frame { + enum etna_compile_frame_type type; +- struct etna_compile_label *lbl_else; +- struct etna_compile_label *lbl_endif; +- struct etna_compile_label *lbl_loop_bgn; +- struct etna_compile_label *lbl_loop_end; ++ int lbl_else_idx; ++ int lbl_endif_idx; ++ int lbl_loop_bgn_idx; ++ int lbl_loop_end_idx; + }; + + struct etna_compile_file { +@@ -178,7 +178,7 @@ struct etna_compile { + /* Fields for handling nested conditionals */ + struct etna_compile_frame frame_stack[ETNA_MAX_DEPTH]; + int frame_sp; +- struct etna_compile_label *lbl_usage[ETNA_MAX_INSTRUCTIONS]; ++ int lbl_usage[ETNA_MAX_INSTRUCTIONS]; + + unsigned labels_count, labels_sz; + struct etna_compile_label *labels; +@@ -990,7 +990,7 @@ etna_src_uniforms_conflict(struct etna_inst_src a, struct etna_inst_src b) + } + + /* create a new label */ +-static struct etna_compile_label * ++static unsigned int + alloc_new_label(struct etna_compile *c) + { + struct etna_compile_label label = { +@@ -999,7 +999,7 @@ alloc_new_label(struct etna_compile *c) + + array_insert(c->labels, label); + +- return &c->labels[c->labels_count - 1]; ++ return c->labels_count - 1; + } + + /* place label at current instruction pointer */ +@@ -1015,10 +1015,10 @@ label_place(struct etna_compile *c, struct etna_compile_label *label) + * as the value becomes known. + */ + static void +-label_mark_use(struct etna_compile *c, struct etna_compile_label *label) ++label_mark_use(struct etna_compile *c, int lbl_idx) + { + assert(c->inst_ptr < ETNA_MAX_INSTRUCTIONS); +- c->lbl_usage[c->inst_ptr] = label; ++ c->lbl_usage[c->inst_ptr] = lbl_idx; + } + + /* walk the frame stack and return first frame with matching type */ +@@ -1099,8 +1099,8 @@ trans_if(const struct instr_translater *t, struct etna_compile *c, + /* push IF to stack */ + f->type = ETNA_COMPILE_FRAME_IF; + /* create "else" label */ +- f->lbl_else = alloc_new_label(c); +- f->lbl_endif = NULL; ++ f->lbl_else_idx = alloc_new_label(c); ++ f->lbl_endif_idx = -1; + + /* We need to avoid the emit_inst() below becoming two instructions */ + if (etna_src_uniforms_conflict(src[0], imm_0)) +@@ -1108,7 +1108,7 @@ trans_if(const struct instr_translater *t, struct etna_compile *c, + + /* mark position in instruction stream of label reference so that it can be + * filled in in next pass */ +- label_mark_use(c, f->lbl_else); ++ label_mark_use(c, f->lbl_else_idx); + + /* create conditional branch to label if src0 EQ 0 */ + emit_inst(c, &(struct etna_inst){ +@@ -1129,8 +1129,8 @@ trans_else(const struct instr_translater *t, struct etna_compile *c, + assert(f->type == ETNA_COMPILE_FRAME_IF); + + /* create "endif" label, and branch to endif label */ +- f->lbl_endif = alloc_new_label(c); +- label_mark_use(c, f->lbl_endif); ++ f->lbl_endif_idx = alloc_new_label(c); ++ label_mark_use(c, f->lbl_endif_idx); + emit_inst(c, &(struct etna_inst) { + .opcode = INST_OPCODE_BRANCH, + .cond = INST_CONDITION_TRUE, +@@ -1138,7 +1138,7 @@ trans_else(const struct instr_translater *t, struct etna_compile *c, + }); + + /* mark "else" label at this position in instruction stream */ +- label_place(c, f->lbl_else); ++ label_place(c, &c->labels[f->lbl_else_idx]); + } + + static void +@@ -1151,10 +1151,10 @@ trans_endif(const struct instr_translater *t, struct etna_compile *c, + + /* assign "endif" or "else" (if no ELSE) label to current position in + * instruction stream, pop IF */ +- if (f->lbl_endif != NULL) +- label_place(c, f->lbl_endif); ++ if (f->lbl_endif_idx != -1) ++ label_place(c, &c->labels[f->lbl_endif_idx]); + else +- label_place(c, f->lbl_else); ++ label_place(c, &c->labels[f->lbl_else_idx]); + } + + static void +@@ -1166,10 +1166,10 @@ trans_loop_bgn(const struct instr_translater *t, struct etna_compile *c, + + /* push LOOP to stack */ + f->type = ETNA_COMPILE_FRAME_LOOP; +- f->lbl_loop_bgn = alloc_new_label(c); +- f->lbl_loop_end = alloc_new_label(c); ++ f->lbl_loop_bgn_idx = alloc_new_label(c); ++ f->lbl_loop_end_idx = alloc_new_label(c); + +- label_place(c, f->lbl_loop_bgn); ++ label_place(c, &c->labels[f->lbl_loop_bgn_idx]); + + c->num_loops++; + } +@@ -1185,7 +1185,7 @@ trans_loop_end(const struct instr_translater *t, struct etna_compile *c, + + /* mark position in instruction stream of label reference so that it can be + * filled in in next pass */ +- label_mark_use(c, f->lbl_loop_bgn); ++ label_mark_use(c, f->lbl_loop_bgn_idx); + + /* create branch to loop_bgn label */ + emit_inst(c, &(struct etna_inst) { +@@ -1195,7 +1195,7 @@ trans_loop_end(const struct instr_translater *t, struct etna_compile *c, + /* imm is filled in later */ + }); + +- label_place(c, f->lbl_loop_end); ++ label_place(c, &c->labels[f->lbl_loop_end_idx]); + } + + static void +@@ -1207,7 +1207,7 @@ trans_brk(const struct instr_translater *t, struct etna_compile *c, + + /* mark position in instruction stream of label reference so that it can be + * filled in in next pass */ +- label_mark_use(c, f->lbl_loop_end); ++ label_mark_use(c, f->lbl_loop_end_idx); + + /* create branch to loop_end label */ + emit_inst(c, &(struct etna_inst) { +@@ -1227,7 +1227,7 @@ trans_cont(const struct instr_translater *t, struct etna_compile *c, + + /* mark position in instruction stream of label reference so that it can be + * filled in in next pass */ +- label_mark_use(c, f->lbl_loop_bgn); ++ label_mark_use(c, f->lbl_loop_bgn_idx); + + /* create branch to loop_end label */ + emit_inst(c, &(struct etna_inst) { +@@ -1998,8 +1998,9 @@ static void + etna_compile_fill_in_labels(struct etna_compile *c) + { + for (int idx = 0; idx < c->inst_ptr; ++idx) { +- if (c->lbl_usage[idx]) +- etna_assemble_set_imm(&c->code[idx * 4], c->lbl_usage[idx]->inst_idx); ++ if (c->lbl_usage[idx] != -1) ++ etna_assemble_set_imm(&c->code[idx * 4], ++ c->labels[c->lbl_usage[idx]].inst_idx); + } + } + +@@ -2301,6 +2302,8 @@ etna_compile_shader(struct etna_shader_variant *v) + if (!c) + return false; + ++ memset(&c->lbl_usage, -1, ARRAY_SIZE(c->lbl_usage)); ++ + const struct tgsi_token *tokens = v->shader->tokens; + + c->specs = specs; +@@ -2430,12 +2433,13 @@ etna_compile_shader(struct etna_shader_variant *v) + etna_compile_add_z_div_if_needed(c); + etna_compile_frag_rb_swap(c); + etna_compile_add_nop_if_needed(c); +- etna_compile_fill_in_labels(c); + + ret = etna_compile_check_limits(c); + if (!ret) + goto out; + ++ etna_compile_fill_in_labels(c); ++ + /* fill in output structure */ + v->processor = c->info.processor; + v->code_size = c->inst_ptr * 4; +-- +cgit v0.10.2 + diff --git a/meta/recipes-graphics/mesa/mesa_17.1.4.bb b/meta/recipes-graphics/mesa/mesa_17.1.4.bb index 2a1ecd3..3289cd6 100644 --- a/meta/recipes-graphics/mesa/mesa_17.1.4.bb +++ b/meta/recipes-graphics/mesa/mesa_17.1.4.bb @@ -3,6 +3,7 @@ require ${BPN}.inc SRC_URI = "https://mesa.freedesktop.org/archive/mesa-${PV}.tar.xz \ file://replace_glibc_check_with_linux.patch \ file://disable-asm-on-non-gcc.patch \ + file://etnaviv_fix-shader-miscompilation.patch \ file://0001-Use-wayland-scanner-in-the-path.patch \ file://0002-hardware-gloat.patch \ " -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 7 10:42:01 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 07 Jul 2017 10:42:01 +0000 Subject: [oe-commits] [openembedded-core] branch master-next updated (7609777 -> a4746a9) Message-ID: <149942412156.4630.14702278473285419109@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master-next in repository openembedded-core. from 7609777 ovmf: Fix build with toolchain defaulting to PIE new 06e5f20 mesa: etnaviv: fix shader miscompilation with more than 16 labels new 6018c83 insane.bbclass: Support musl-x32 new 0ff5b48 siteinfo.bbclass: Support musl-x32 new b9e6149 gnu-efi: Support musl-x32 build new cb2dfe9 grub-efi: Support musl-x32 new 27dbe64 perl: Support musl-x32 build new bcf0cc4 vulkan: Upgrade 1.0.39.1 -> 1.0.51.0 new c4e7aa5 assimp: Add as dependency of vulkan-demos new 83186eb vulkan-demos: Add recipe new 397371d gstreamer1.0-plugins-bad: Add vulkan PACKAGECONFIG new 40dea72 mesa, gstreamer: Add "vulkan" DISTRO_FEATURE new b8b2c98 vulkan: RRECOMMEND mesa drivers new 3281d20 linuxloader.bbclass: add musl libc support new 41a7135 image_types: fix kernel target on elf's image dependencies new 335095a Revert "oeqa/sdk: Replace buildiptables for buildlzip tests" new 3b61807 lsof: minor recipe cleanup new f98c93d lsof: update SRC_URI new 901ab57 mirrors.bbclass: remove stale lsof ftp mirrors new 4aeb4b0 oeqa/runtime: Replace buildiptables for buildlzip on runtime tests new 82c8505 testimage: Use the renamed buildlzip new a4746a9 oeqa/sdk: Replace buildiptables for buildlzip tests The 21 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: meta/classes/image_types.bbclass | 2 +- meta/classes/insane.bbclass | 5 +- meta/classes/linuxloader.bbclass | 42 +++- meta/classes/mirrors.bbclass | 11 +- meta/classes/siteinfo.bbclass | 2 + .../cases/{buildiptables.py => buildlzip.py} | 6 +- meta/recipes-bsp/gnu-efi/gnu-efi_3.0.5.bb | 1 + meta/recipes-bsp/grub/grub-efi_2.02.bb | 2 + meta/recipes-devtools/perl/perl_5.24.1.bb | 2 +- meta/recipes-extended/lsof/lsof_4.89.bb | 24 ++- .../files/etnaviv_fix-shader-miscompilation.patch | 220 +++++++++++++++++++++ meta/recipes-graphics/mesa/mesa.inc | 3 +- meta/recipes-graphics/mesa/mesa_17.1.4.bb | 1 + meta/recipes-graphics/vulkan/assimp_git.bb | 14 ++ ...ild-demos-with-questionably-licensed-data.patch | 91 +++++++++ ...stalling-demos-support-out-of-tree-builds.patch | 85 ++++++++ meta/recipes-graphics/vulkan/vulkan-demos_git.bb | 35 ++++ ...se-getenv-if-secure_getenv-does-not-exist.patch | 34 ---- .../{vulkan_1.0.39.1.bb => vulkan_1.0.51.0.bb} | 6 +- .../gstreamer/gstreamer1.0-plugins-bad.inc | 6 +- ...y-Use-ifdef-for-platform-specific-defines.patch | 37 ++++ ...n-Use-the-generated-version-of-vkconfig.h.patch | 64 ++++++ .../gstreamer/gstreamer1.0-plugins-bad_1.10.4.bb | 2 + 23 files changed, 627 insertions(+), 68 deletions(-) rename meta/lib/oeqa/runtime/cases/{buildiptables.py => buildlzip.py} (89%) create mode 100644 meta/recipes-graphics/mesa/files/etnaviv_fix-shader-miscompilation.patch create mode 100644 meta/recipes-graphics/vulkan/assimp_git.bb create mode 100644 meta/recipes-graphics/vulkan/vulkan-demos/0001-Don-t-build-demos-with-questionably-licensed-data.patch create mode 100644 meta/recipes-graphics/vulkan/vulkan-demos/0001-Support-installing-demos-support-out-of-tree-builds.patch create mode 100644 meta/recipes-graphics/vulkan/vulkan-demos_git.bb delete mode 100644 meta/recipes-graphics/vulkan/vulkan/0001-Use-getenv-if-secure_getenv-does-not-exist.patch rename meta/recipes-graphics/vulkan/{vulkan_1.0.39.1.bb => vulkan_1.0.51.0.bb} (90%) create mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-vkdisplay-Use-ifdef-for-platform-specific-defines.patch create mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-vulkan-Use-the-generated-version-of-vkconfig.h.patch -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 7 10:42:06 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 07 Jul 2017 10:42:06 +0000 Subject: [oe-commits] [openembedded-core] 05/21: grub-efi: Support musl-x32 In-Reply-To: <149942412156.4630.14702278473285419109@git.openembedded.org> References: <149942412156.4630.14702278473285419109@git.openembedded.org> Message-ID: <20170707104202.110E823482A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit cb2dfe99ec2e5592769f933d0c22de74afccff6c Author: sweeaun AuthorDate: Wed Jul 5 16:56:35 2017 -0700 grub-efi: Support musl-x32 To build 64-bit binaries for musl-x32. Signed-off-by: sweeaun Signed-off-by: Ross Burton --- meta/recipes-bsp/grub/grub-efi_2.02.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-bsp/grub/grub-efi_2.02.bb b/meta/recipes-bsp/grub/grub-efi_2.02.bb index 9d494d5..b949beb 100644 --- a/meta/recipes-bsp/grub/grub-efi_2.02.bb +++ b/meta/recipes-bsp/grub/grub-efi_2.02.bb @@ -65,5 +65,7 @@ FILES_${PN} += "${libdir}/grub/${GRUB_TARGET}-efi \ # 64-bit binaries are expected for the bootloader with an x32 userland INSANE_SKIP_${PN}_append_linux-gnux32 = " arch" INSANE_SKIP_${PN}-dbg_append_linux-gnux32 = " arch" +INSANE_SKIP_${PN}_append_linux-muslx32 = " arch" +INSANE_SKIP_${PN}-dbg_append_linux-muslx32 = " arch" BBCLASSEXTEND = "native" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 7 10:42:07 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 07 Jul 2017 10:42:07 +0000 Subject: [oe-commits] [openembedded-core] 06/21: perl: Support musl-x32 build In-Reply-To: <149942412156.4630.14702278473285419109@git.openembedded.org> References: <149942412156.4630.14702278473285419109@git.openembedded.org> Message-ID: <20170707104202.1A17723482B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 27dbe64578ff407a5ac6736121b6ab8f1af32172 Author: sweeaun AuthorDate: Wed Jul 5 16:56:37 2017 -0700 perl: Support musl-x32 build Existing musl fixups in perl recipe doesn't cover linux-muslx32. This is fixed to support musl-x32 build. Signed-off-by: sweeaun Signed-off-by: Ross Burton --- meta/recipes-devtools/perl/perl_5.24.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-devtools/perl/perl_5.24.1.bb b/meta/recipes-devtools/perl/perl_5.24.1.bb index b0ceb84..95d9694 100644 --- a/meta/recipes-devtools/perl/perl_5.24.1.bb +++ b/meta/recipes-devtools/perl/perl_5.24.1.bb @@ -125,7 +125,7 @@ do_configure() { done # Fixups for musl - if [ "${TARGET_OS}" = "linux-musl" -o "${TARGET_OS}" = "linux-musleabi" ]; then + if [ "${TARGET_OS}" = "linux-musl" -o "${TARGET_OS}" = "linux-musleabi" -o "${TARGET_OS}" = "linux-muslx32" ]; then sed -i -e "s,\(d_libm_lib_version=\)'define',\1'undef',g" \ -e "s,\(d_stdio_ptr_lval=\)'define',\1'undef',g" \ -e "s,\(d_stdio_ptr_lval_sets_cnt=\)'define',\1'undef',g" \ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 7 10:42:09 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 07 Jul 2017 10:42:09 +0000 Subject: [oe-commits] [openembedded-core] 08/21: assimp: Add as dependency of vulkan-demos In-Reply-To: <149942412156.4630.14702278473285419109@git.openembedded.org> References: <149942412156.4630.14702278473285419109@git.openembedded.org> Message-ID: <20170707104202.29AD123482D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit c4e7aa593739f482dffd8057463090396304e693 Author: Jussi Kukkonen AuthorDate: Thu Jul 6 10:54:34 2017 +0300 assimp: Add as dependency of vulkan-demos Asset import library used by Sascha Willems Vulkan demos. Signed-off-by: Jussi Kukkonen Signed-off-by: Ross Burton --- meta/recipes-graphics/vulkan/assimp_git.bb | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/meta/recipes-graphics/vulkan/assimp_git.bb b/meta/recipes-graphics/vulkan/assimp_git.bb new file mode 100644 index 0000000..c519458 --- /dev/null +++ b/meta/recipes-graphics/vulkan/assimp_git.bb @@ -0,0 +1,14 @@ +DESCRIPTION = "Open Asset Import Library" +LICENSE = "BSD-3-Clause" +DEPENDS = "zlib" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=2119edef0916b0bd511cb3c731076271 \ + file://code/Assimp.cpp;endline=41;md5=717f847b6e8f43c64cdbafcfea109923" + +SRC_URI = "git://github.com/assimp/assimp.git" +SRCREV = "b38ba233f530fdb103d3ede3df5126121af78b10" +S = "${WORKDIR}/git" + +inherit cmake +EXTRA_OECMAKE = "-DASSIMP_BUILD_ASSIMP_TOOLS=OFF -DASSIMP_BUILD_TESTS=OFF" +FILES_${PN}-dev += "${libdir}/cmake/assimp-3.3" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 7 10:42:12 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 07 Jul 2017 10:42:12 +0000 Subject: [oe-commits] [openembedded-core] 11/21: mesa, gstreamer: Add "vulkan" DISTRO_FEATURE In-Reply-To: <149942412156.4630.14702278473285419109@git.openembedded.org> References: <149942412156.4630.14702278473285419109@git.openembedded.org> Message-ID: <20170707104202.441C9234830@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 40dea72db8f6b2163a2070e69c972da1342397db Author: Jussi Kukkonen AuthorDate: Thu Jul 6 10:54:37 2017 +0300 mesa, gstreamer: Add "vulkan" DISTRO_FEATURE It doesn't do much but does make enabling vulkan a little less fiddly. Signed-off-by: Jussi Kukkonen Signed-off-by: Ross Burton --- meta/recipes-graphics/mesa/mesa.inc | 3 ++- meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc index a12ab7a..59e8923 100644 --- a/meta/recipes-graphics/mesa/mesa.inc +++ b/meta/recipes-graphics/mesa/mesa.inc @@ -25,7 +25,8 @@ REQUIRED_DISTRO_FEATURES = "opengl" EXTRA_OECONF = "--enable-shared-glapi --with-llvm-prefix=${STAGING_BINDIR_NATIVE}" PACKAGECONFIG ??= "gbm egl gles dri \ - ${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11 vulkan', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11 vulkan', 'dri3', '', d)} \ " PACKAGECONFIG[gbm] = "--enable-gbm,--disable-gbm" diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc index 4f6bc85..e964fef 100644 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc @@ -20,7 +20,7 @@ PACKAGECONFIG ??= " \ ${GSTREAMER_ORC} \ ${PACKAGECONFIG_GL} \ ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \ - ${@bb.utils.filter('DISTRO_FEATURES', 'directfb', d)} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'directfb vulkan', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland egl', '', d)} \ bz2 curl dash dtls hls neon rsvg sbc smoothstreaming sndfile uvch264 webp \ " -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 7 10:42:13 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 07 Jul 2017 10:42:13 +0000 Subject: [oe-commits] [openembedded-core] 12/21: vulkan: RRECOMMEND mesa drivers In-Reply-To: <149942412156.4630.14702278473285419109@git.openembedded.org> References: <149942412156.4630.14702278473285419109@git.openembedded.org> Message-ID: <20170707104202.4BF03234831@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit b8b2c9852c0497f6d7b3f8574ea2c60ce2c49783 Author: Jussi Kukkonen AuthorDate: Thu Jul 6 10:54:38 2017 +0300 vulkan: RRECOMMEND mesa drivers One less thing to remember when trying to build an image with working vulkan. Signed-off-by: Jussi Kukkonen Signed-off-by: Ross Burton --- meta/recipes-graphics/vulkan/vulkan_1.0.51.0.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/recipes-graphics/vulkan/vulkan_1.0.51.0.bb b/meta/recipes-graphics/vulkan/vulkan_1.0.51.0.bb index fe7dac0..555d741 100644 --- a/meta/recipes-graphics/vulkan/vulkan_1.0.51.0.bb +++ b/meta/recipes-graphics/vulkan/vulkan_1.0.51.0.bb @@ -32,3 +32,4 @@ PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '' ,d)} PACKAGECONFIG[x11] = "-DBUILD_WSI_XLIB_SUPPORT=ON -DBUILD_WSI_XCB_SUPPORT=ON -DDEMOS_WSI_SELECTION=XCB, -DBUILD_WSI_XLIB_SUPPORT=OFF -DBUILD_WSI_XCB_SUPPORT=OFF -DDEMOS_WSI_SELECTION=WAYLAND, libxcb libx11 libxrandr" PACKAGECONFIG[wayland] = "-DBUILD_WSI_WAYLAND_SUPPORT=ON, -DBUILD_WSI_WAYLAND_SUPPORT=OFF, wayland" +RRECOMMENDS_${PN} = "mesa-vulkan-drivers" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 7 10:42:10 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 07 Jul 2017 10:42:10 +0000 Subject: [oe-commits] [openembedded-core] 09/21: vulkan-demos: Add recipe In-Reply-To: <149942412156.4630.14702278473285419109@git.openembedded.org> References: <149942412156.4630.14702278473285419109@git.openembedded.org> Message-ID: <20170707104202.32C2E23482E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 83186eb72dee230ef23ac3d7cabeed6d47597309 Author: Jussi Kukkonen AuthorDate: Thu Jul 6 10:54:35 2017 +0300 vulkan-demos: Add recipe Sascha Willems collection of Vulkan demos is useful as a smoke testing tool. Add patch to install binaries and data. Use a combination of patch and do_install_append to avoid some 3D models with unclear licensing. Signed-off-by: Jussi Kukkonen Signed-off-by: Ross Burton --- ...ild-demos-with-questionably-licensed-data.patch | 91 ++++++++++++++++++++++ ...stalling-demos-support-out-of-tree-builds.patch | 85 ++++++++++++++++++++ meta/recipes-graphics/vulkan/vulkan-demos_git.bb | 35 +++++++++ 3 files changed, 211 insertions(+) diff --git a/meta/recipes-graphics/vulkan/vulkan-demos/0001-Don-t-build-demos-with-questionably-licensed-data.patch b/meta/recipes-graphics/vulkan/vulkan-demos/0001-Don-t-build-demos-with-questionably-licensed-data.patch new file mode 100644 index 0000000..d32c8f2 --- /dev/null +++ b/meta/recipes-graphics/vulkan/vulkan-demos/0001-Don-t-build-demos-with-questionably-licensed-data.patch @@ -0,0 +1,91 @@ +From 55770fb07c42fe410cf8d09f8f5976babc89b9ef Mon Sep 17 00:00:00 2001 +From: Jussi Kukkonen +Date: Tue, 4 Jul 2017 17:13:45 +0300 +Subject: [PATCH] Don't build demos with questionably licensed data + +Some of the models don't have open source compatible licenses: +don't build demos using those. Also don't build demos that need +resources that are not included. + +ssao: +scenerendering: + Sibenik model, no license found + +deferred: +deferredmultisampling: +deferredshadows: + armor model, CC-BY-3.0 + +vulkanscene: +imgui: +shadowmapping: + vulkanscene model, no license found + +indirectdraw: + plant model, no license found + +hdr: +pbribl: +pbrtexture: + Require external Vulkan Asset Pack + +Upstream-Status: Inappropriate [configuration] +Signed-off-by: Jussi Kukkonen +--- + CMakeLists.txt | 13 ------------- + 1 file changed, 13 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4958fff..0f9d3e4 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -150,17 +150,11 @@ set(EXAMPLES + computeparticles + computeshader + debugmarker +- deferred +- deferredmultisampling +- deferredshadows + displacement + distancefieldfonts + dynamicuniformbuffer + gears + geometryshader +- hdr +- imgui +- indirectdraw + instancing + mesh + multisampling +@@ -170,20 +164,14 @@ set(EXAMPLES + parallaxmapping + particlefire + pbrbasic +- pbribl +- pbrtexture + pipelines + pushconstants + radialblur + raytracing +- scenerendering + screenshot +- shadowmapping +- shadowmappingomni + skeletalanimation + specializationconstants + sphericalenvmapping +- ssao + subpasses + terraintessellation + tessellation +@@ -196,7 +184,6 @@ set(EXAMPLES + texturesparseresidency + triangle + viewportarray +- vulkanscene + ) + + buildExamples() +-- +2.13.2 + diff --git a/meta/recipes-graphics/vulkan/vulkan-demos/0001-Support-installing-demos-support-out-of-tree-builds.patch b/meta/recipes-graphics/vulkan/vulkan-demos/0001-Support-installing-demos-support-out-of-tree-builds.patch new file mode 100644 index 0000000..4addea3 --- /dev/null +++ b/meta/recipes-graphics/vulkan/vulkan-demos/0001-Support-installing-demos-support-out-of-tree-builds.patch @@ -0,0 +1,85 @@ +From edca667684764cfcc0460e448e834fadf623a887 Mon Sep 17 00:00:00 2001 +From: Jussi Kukkonen +Date: Mon, 3 Jul 2017 14:49:18 +0300 +Subject: [PATCH] Support installing demos, support out-of-tree builds + +This is especially useful for cross-compile situation where testing +happens on target. + +-DRESOURCE_INSTALL_DIR= decides where data is installed (and +where the binaries will load the data from): if it's left empty, +then nothing will be installed and binaries will load the data from +CMAKE_SOURCE_DIR. + +Binaries are now correctly built in CMAKE_BINARY_DIR. + +Upstream-Status: Submitted [https://github.com/SaschaWillems/Vulkan/pull/352] +Signed-off-by: Jussi Kukkonen +--- + CMakeLists.txt | 15 ++++++++++++++- + base/vulkanexamplebase.cpp | 2 +- + 2 files changed, 15 insertions(+), 2 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b9886bc..4958fff 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -16,6 +16,8 @@ include_directories(base) + OPTION(USE_D2D_WSI "Build the project using Direct to Display swapchain" OFF) + OPTION(USE_WAYLAND_WSI "Build the project using Wayland swapchain" OFF) + ++set(RESOURCE_INSTALL_DIR "" CACHE PATH "Path to install resources to (leave empty for running uninstalled)") ++ + # Use FindVulkan module added with CMAKE 3.7 + if (NOT CMAKE_VERSION VERSION_LESS 3.7.0) + message(STATUS "Using module to find Vulkan") +@@ -108,6 +110,10 @@ function(buildExample EXAMPLE_NAME) + add_executable(${EXAMPLE_NAME} ${MAIN_CPP} ${SOURCE} ${SHADERS}) + target_link_libraries(${EXAMPLE_NAME} ${Vulkan_LIBRARY} ${ASSIMP_LIBRARIES} ${WAYLAND_CLIENT_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT}) + endif(WIN32) ++ ++ if(RESOURCE_INSTALL_DIR) ++ install(TARGETS ${EXAMPLE_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR}) ++ endif() + endfunction(buildExample) + + # Build all examples +@@ -117,6 +123,13 @@ function(buildExamples) + endforeach(EXAMPLE) + endfunction(buildExamples) + ++if(RESOURCE_INSTALL_DIR) ++ add_definitions(-DVK_EXAMPLE_DATA_DIR=\"${RESOURCE_INSTALL_DIR}/\") ++ install(DIRECTORY data/ DESTINATION ${RESOURCE_INSTALL_DIR}/) ++else() ++ add_definitions(-DVK_EXAMPLE_DATA_DIR=\"${CMAKE_SOURCE_DIR}/data/\") ++endif() ++ + # Compiler specific stuff + IF(MSVC) + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc") +@@ -128,7 +141,7 @@ ELSE(WIN32) + link_libraries(${XCB_LIBRARIES} ${Vulkan_LIBRARY}) + ENDIF(WIN32) + +-set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/bin/") ++set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/") + + set(EXAMPLES + bloom +diff --git a/base/vulkanexamplebase.cpp b/base/vulkanexamplebase.cpp +index 647368a..a0f28a5 100644 +--- a/base/vulkanexamplebase.cpp ++++ b/base/vulkanexamplebase.cpp +@@ -84,7 +84,7 @@ const std::string VulkanExampleBase::getAssetPath() + #if defined(__ANDROID__) + return ""; + #else +- return "./../data/"; ++ return VK_EXAMPLE_DATA_DIR; + #endif + } + #endif +-- +2.13.2 + diff --git a/meta/recipes-graphics/vulkan/vulkan-demos_git.bb b/meta/recipes-graphics/vulkan/vulkan-demos_git.bb new file mode 100644 index 0000000..13eab5f --- /dev/null +++ b/meta/recipes-graphics/vulkan/vulkan-demos_git.bb @@ -0,0 +1,35 @@ +DESCRIPTION = "Collection of Vulkan examples" +LICENSE = "MIT" +DEPENDS = "zlib" + +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=dcf473723faabf17baa9b5f2207599d0 \ + file://triangle/triangle.cpp;endline=12;md5=bccd1bf9cadd9e10086cf7872157e4fa" + +SRC_URI = "git://github.com/SaschaWillems/Vulkan.git \ + file://0001-Support-installing-demos-support-out-of-tree-builds.patch \ + file://0001-Don-t-build-demos-with-questionably-licensed-data.patch \ +" +SRCREV = "18df00c7b4677b0889486e16977857aa987947e2" + +S = "${WORKDIR}/git" + +inherit cmake distro_features_check +DEPENDS = "vulkan assimp" + +do_install_append () { + # Remove assets that have uncertain licenses + rm ${D}${datadir}/vulkan-demos/models/armor/* \ + ${D}${datadir}/vulkan-demos/models/sibenik/* \ + ${D}${datadir}/vulkan-demos/models/vulkanscene* \ + ${D}${datadir}/vulkan-demos/models/plants.dae \ + ${D}${datadir}/vulkan-demos/textures/texturearray_plants* +} + +EXTRA_OECMAKE = "-DRESOURCE_INSTALL_DIR=${datadir}/vulkan-demos" + +ANY_OF_DISTRO_FEATURES = "x11 wayland" + +# Can only pick one of [wayland,xcb] +PACKAGECONFIG = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', 'xcb' ,d)}" +PACKAGECONFIG[wayland] = "-DUSE_WAYLAND_WSI=ON, -DUSE_WAYLAND_WSI=OFF, wayland" +PACKAGECONFIG[xcb] = ",,libxcb" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 7 10:42:14 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 07 Jul 2017 10:42:14 +0000 Subject: [oe-commits] [openembedded-core] 13/21: linuxloader.bbclass: add musl libc support In-Reply-To: <149942412156.4630.14702278473285419109@git.openembedded.org> References: <149942412156.4630.14702278473285419109@git.openembedded.org> Message-ID: <20170707104202.5516D234832@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 3281d20ad0df3056c9bc452a65b3efc7a636f378 Author: Ming Liu AuthorDate: Thu Jul 6 13:50:31 2017 +0200 linuxloader.bbclass: add musl libc support Current linuxloader.bbclass does not support musl libc ldso, so add it in. After changing, now the linuxloader function will call a subfunction according to which virtual/libc is being used, glibc or musl, the linuxloader_musl function is made on top of the LDSO macro defined in musl source, by mapping related OE variables to it. Change tested on following machines: "genericx86" "genericx86-64" "beaglebone" "qemumips64" "qemuarm64" "mpc8315e-rdb" "edgerouter" "qemumips" "kc705-microblazeel" - meta-xilinx "qemuppc" Signed-off-by: Ming Liu Signed-off-by: Ross Burton --- meta/classes/linuxloader.bbclass | 42 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) diff --git a/meta/classes/linuxloader.bbclass b/meta/classes/linuxloader.bbclass index 117b030..8f30eb3 100644 --- a/meta/classes/linuxloader.bbclass +++ b/meta/classes/linuxloader.bbclass @@ -1,5 +1,8 @@ +LDSO_TCLIBC = "glibc" +LDSO_TCLIBC_libc-musl = "musl" +LDSO_TCLIBC_libc-baremetal = "musl" -linuxloader () { +linuxloader_glibc () { case ${TARGET_ARCH} in powerpc | microblaze ) dynamic_loader="${base_libdir}/ld.so.1" @@ -28,3 +31,40 @@ linuxloader () { esac echo $dynamic_loader } + +linuxloader_musl () { + case ${TARGET_ARCH} in + microblaze* ) + dynamic_loader="${base_libdir}/ld-musl-microblaze${@bb.utils.contains('TUNE_FEATURES', 'bigendian', '', 'el' ,d)}.so.1" + ;; + mips* ) + dynamic_loader="${base_libdir}/ld-musl-mips${ABIEXTENSION}${MIPSPKGSFX_BYTE}${MIPSPKGSFX_R6}${MIPSPKGSFX_ENDIAN}${@['', '-sf'][d.getVar('TARGET_FPU') == 'soft']}.so.1" + ;; + powerpc ) + dynamic_loader="${base_libdir}/ld-musl-powerpc${@['', '-sf'][d.getVar('TARGET_FPU') == 'soft']}.so.1" + ;; + powerpc64 ) + dynamic_loader="${base_libdir}/ld-musl-powerpc64.so.1" + ;; + x86_64 ) + dynamic_loader="${base_libdir}/ld-musl-x86_64.so.1" + ;; + i*86 ) + dynamic_loader="${base_libdir}/ld-musl-i386.so.1" + ;; + arm* ) + dynamic_loader="${base_libdir}/ld-musl-arm${ARMPKGSFX_ENDIAN}${ARMPKGSFX_EABI}.so.1" + ;; + aarch64* ) + dynamic_loader="${base_libdir}/ld-musl-aarch64${ARMPKGSFX_ENDIAN_64}.so.1" + ;; + * ) + dynamic_loader="/unknown_dynamic_linker" + ;; + esac + echo $dynamic_loader +} + +linuxloader () { + linuxloader_${LDSO_TCLIBC} +} -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 7 10:42:15 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 07 Jul 2017 10:42:15 +0000 Subject: [oe-commits] [openembedded-core] 14/21: image_types: fix kernel target on elf's image dependencies In-Reply-To: <149942412156.4630.14702278473285419109@git.openembedded.org> References: <149942412156.4630.14702278473285419109@git.openembedded.org> Message-ID: <20170707104202.5EA23234833@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 41a7135ca8253365a8a469fc3061f6252e73b673 Author: Leonardo Sandoval AuthorDate: Thu Jul 6 08:17:05 2017 -0700 image_types: fix kernel target on elf's image dependencies Kernel recipes provides 'virtual/kernel' so remove the native part. Signed-off-by: Leonardo Sandoval Signed-off-by: Ross Burton --- meta/classes/image_types.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/classes/image_types.bbclass b/meta/classes/image_types.bbclass index a5f7e19..92e0f2c 100644 --- a/meta/classes/image_types.bbclass +++ b/meta/classes/image_types.bbclass @@ -235,7 +235,7 @@ do_image_btrfs[depends] += "btrfs-tools-native:do_populate_sysroot" do_image_squashfs[depends] += "squashfs-tools-native:do_populate_sysroot" do_image_squashfs-xz[depends] += "squashfs-tools-native:do_populate_sysroot" do_image_squashfs-lzo[depends] += "squashfs-tools-native:do_populate_sysroot" -do_image_elf[depends] += "virtual/kernel-native:do_populate_sysroot mkelfimage-native:do_populate_sysroot" +do_image_elf[depends] += "virtual/kernel:do_populate_sysroot mkelfimage-native:do_populate_sysroot" do_image_ubi[depends] += "mtd-utils-native:do_populate_sysroot" do_image_ubifs[depends] += "mtd-utils-native:do_populate_sysroot" do_image_multiubi[depends] += "mtd-utils-native:do_populate_sysroot" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 7 10:42:08 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 07 Jul 2017 10:42:08 +0000 Subject: [oe-commits] [openembedded-core] 07/21: vulkan: Upgrade 1.0.39.1 -> 1.0.51.0 In-Reply-To: <149942412156.4630.14702278473285419109@git.openembedded.org> References: <149942412156.4630.14702278473285419109@git.openembedded.org> Message-ID: <20170707104202.21DFC23482C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit bcf0cc424fbfb794b2683e7b56456af0890ccc8c Author: Jussi Kukkonen AuthorDate: Thu Jul 6 10:54:33 2017 +0300 vulkan: Upgrade 1.0.39.1 -> 1.0.51.0 Remove a patch that's no longer needed Signed-off-by: Jussi Kukkonen Signed-off-by: Ross Burton --- ...se-getenv-if-secure_getenv-does-not-exist.patch | 34 ---------------------- .../{vulkan_1.0.39.1.bb => vulkan_1.0.51.0.bb} | 5 ++-- 2 files changed, 2 insertions(+), 37 deletions(-) diff --git a/meta/recipes-graphics/vulkan/vulkan/0001-Use-getenv-if-secure_getenv-does-not-exist.patch b/meta/recipes-graphics/vulkan/vulkan/0001-Use-getenv-if-secure_getenv-does-not-exist.patch deleted file mode 100644 index 694922c..0000000 --- a/meta/recipes-graphics/vulkan/vulkan/0001-Use-getenv-if-secure_getenv-does-not-exist.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 20525add1df8e1fb13fef90ac068f982def8b958 Mon Sep 17 00:00:00 2001 -From: Jussi Kukkonen -Date: Wed, 8 Mar 2017 13:23:58 +0200 -Subject: [PATCH] Use getenv() if secure_getenv() does not exist - -musl does not implement secure version: default to getenv() in that -case. - -https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/issues/1538 - -Upstream-Status: Pending -Signed-off-by: Jussi Kukkonen ---- - loader/loader.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/loader/loader.c b/loader/loader.c -index 24758f4..bff79c1 100644 ---- a/loader/loader.c -+++ b/loader/loader.c -@@ -54,6 +54,10 @@ - #endif - #endif - -+#if !defined(__secure_getenv) -+#define __secure_getenv getenv -+#endif -+ - struct loader_struct loader = {0}; - // TLS for instance for alloc/free callbacks - THREAD_LOCAL_DECL struct loader_instance *tls_instance; --- -2.1.4 - diff --git a/meta/recipes-graphics/vulkan/vulkan_1.0.39.1.bb b/meta/recipes-graphics/vulkan/vulkan_1.0.51.0.bb similarity index 90% rename from meta/recipes-graphics/vulkan/vulkan_1.0.39.1.bb rename to meta/recipes-graphics/vulkan/vulkan_1.0.51.0.bb index 7f0ba21..fe7dac0 100644 --- a/meta/recipes-graphics/vulkan/vulkan_1.0.39.1.bb +++ b/meta/recipes-graphics/vulkan/vulkan_1.0.51.0.bb @@ -10,11 +10,10 @@ SECTION = "libs" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=99c647ca3d4f6a4b9d8628f757aad156 \ file://loader/loader.c;endline=25;md5=a87cd5442291c23d1fce4eece4cfde9d" -SRC_URI = "git://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers.git;branch=sdk-1.0.39 \ +SRC_URI = "git://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers.git;branch=sdk-1.0.51 \ file://demos-Don-t-build-tri-or-cube.patch \ - file://0001-Use-getenv-if-secure_getenv-does-not-exist.patch \ " -SRCREV = "9c21ed0fb275589c3af6118aec9ef4f1d1544dc1" +SRCREV = "8d021e4d5a9f91436f4462df1dafb222908e296d" UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P\d+(\.\d+)+)" S = "${WORKDIR}/git" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 7 10:42:11 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 07 Jul 2017 10:42:11 +0000 Subject: [oe-commits] [openembedded-core] 10/21: gstreamer1.0-plugins-bad: Add vulkan PACKAGECONFIG In-Reply-To: <149942412156.4630.14702278473285419109@git.openembedded.org> References: <149942412156.4630.14702278473285419109@git.openembedded.org> Message-ID: <20170707104202.3B57923482F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 397371de112844b68e88ed2baa7acfefcb47f81e Author: Jussi Kukkonen AuthorDate: Thu Jul 6 10:54:36 2017 +0300 gstreamer1.0-plugins-bad: Add vulkan PACKAGECONFIG This adds a Vulkan video sink (using xcb and/or wayland). Add a few patches to fix the build. Signed-off-by: Jussi Kukkonen Signed-off-by: Ross Burton --- .../gstreamer/gstreamer1.0-plugins-bad.inc | 4 +- ...y-Use-ifdef-for-platform-specific-defines.patch | 37 +++++++++++++ ...n-Use-the-generated-version-of-vkconfig.h.patch | 64 ++++++++++++++++++++++ .../gstreamer/gstreamer1.0-plugins-bad_1.10.4.bb | 2 + 4 files changed, 105 insertions(+), 2 deletions(-) diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc index 0ccfc89..4f6bc85 100644 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc @@ -66,6 +66,7 @@ PACKAGECONFIG[srtp] = "--enable-srtp,--disable-srtp,libsrtp" PACKAGECONFIG[uvch264] = "--enable-uvch264,--disable-uvch264,libusb1 libgudev" PACKAGECONFIG[voaacenc] = "--enable-voaacenc,--disable-voaacenc,vo-aacenc" PACKAGECONFIG[voamrwbenc] = "--enable-voamrwbenc,--disable-voamrwbenc,vo-amrwbenc" +PACKAGECONFIG[vulkan] = "--enable-vulkan,--disable-vulkan,vulkan" PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland-native wayland wayland-protocols" PACKAGECONFIG[webp] = "--enable-webp,--disable-webp,libwebp" @@ -78,7 +79,7 @@ PACKAGECONFIG[webp] = "--enable-webp,--disable-webp,libwebp" # openni2 winks direct3d directsound winscreencap acm apple_media # android_media avc bs2b chromaprint daala dts fdkaac gme gsm kate ladspa libde265 # lv2 mimic mpeg2enc mplex musepack nvenc ofa openh264 opensles pvr soundtouch spandsp -# spc teletextdec tinyalsa vdpau vulkan wasapi x265 zbar +# spc teletextdec tinyalsa vdpau wasapi x265 zbar # qt5 support is disabled, because it is not present in OE core, and requires more work than # just adding a packageconfig (it requires access to moc, uic, rcc, and qmake paths). @@ -136,7 +137,6 @@ EXTRA_OECONF += " \ --disable-timidity \ --disable-tinyalsa \ --disable-vdpau \ - --disable-vulkan \ --disable-wasapi \ --disable-wildmidi \ --disable-wininet \ diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-vkdisplay-Use-ifdef-for-platform-specific-defines.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-vkdisplay-Use-ifdef-for-platform-specific-defines.patch new file mode 100644 index 0000000..caaa62d --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-vkdisplay-Use-ifdef-for-platform-specific-defines.patch @@ -0,0 +1,37 @@ +From 1523ab462c1bf19055960ced255f4872b6cf9f5c Mon Sep 17 00:00:00 2001 +From: Jussi Kukkonen +Date: Wed, 5 Jul 2017 11:00:42 +0300 +Subject: [PATCH 1/2] vkdisplay: Use ifdef for platform specific defines + +VK_KHR_*_SURFACE_EXTENSION_NAME are only available when corresponding +WSI is enabled. + +Signed-off-by: Jussi Kukkonen +Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=784539] +--- + ext/vulkan/vkdisplay.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/ext/vulkan/vkdisplay.c b/ext/vulkan/vkdisplay.c +index 550134cd8..ade5d4583 100644 +--- a/ext/vulkan/vkdisplay.c ++++ b/ext/vulkan/vkdisplay.c +@@ -448,11 +448,15 @@ gst_vulkan_display_type_to_extension_string (GstVulkanDisplayType type) + if (type == GST_VULKAN_DISPLAY_TYPE_NONE) + return NULL; + ++#if GST_VULKAN_HAVE_WINDOW_XCB + if (type & GST_VULKAN_DISPLAY_TYPE_XCB) + return VK_KHR_XCB_SURFACE_EXTENSION_NAME; ++#endif + ++#if GST_VULKAN_HAVE_WINDOW_WAYLAND + if (type & GST_VULKAN_DISPLAY_TYPE_WAYLAND) + return VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME; ++#endif + + return NULL; + } +-- +2.13.2 + diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-vulkan-Use-the-generated-version-of-vkconfig.h.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-vulkan-Use-the-generated-version-of-vkconfig.h.patch new file mode 100644 index 0000000..0df145d --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-vulkan-Use-the-generated-version-of-vkconfig.h.patch @@ -0,0 +1,64 @@ +From c23e1dc22deb495561cffb877edb2746b740a1fa Mon Sep 17 00:00:00 2001 +From: Jussi Kukkonen +Date: Wed, 5 Jul 2017 11:07:05 +0300 +Subject: [PATCH 2/2] vulkan: Use the generated version of vkconfig.h + +Build fails in ext/vulkan/xcb and ext/vulkan/wayland when: +* building from tarball +* building out-of-tree +* Only one WSI integration (xcb or wayland) is enabled by configure.ac +This is because vkconfig.h from source directory gets used instead +of the generated one. + +Add the correct build directory to "-I". Use angle bracket +include in vkapi.h so that it actually looks in the include search +path instead of defaulting to the same (source tree) directory. + +Signed-off-by: Jussi Kukkonen +Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=784539] +--- + ext/vulkan/vkapi.h | 2 +- + ext/vulkan/wayland/Makefile.am | 1 + + ext/vulkan/xcb/Makefile.am | 1 + + 3 files changed, 3 insertions(+), 1 deletion(-) + +diff --git a/ext/vulkan/vkapi.h b/ext/vulkan/vkapi.h +index e9c23aa92..a37c29d0f 100644 +--- a/ext/vulkan/vkapi.h ++++ b/ext/vulkan/vkapi.h +@@ -23,7 +23,7 @@ + + #define VK_PROTOTYPES + +-#include "vkconfig.h" ++#include + #include "vk_fwd.h" + #include "vkmacros.h" + +diff --git a/ext/vulkan/wayland/Makefile.am b/ext/vulkan/wayland/Makefile.am +index f92d85e2c..10cfb70e6 100644 +--- a/ext/vulkan/wayland/Makefile.am ++++ b/ext/vulkan/wayland/Makefile.am +@@ -14,6 +14,7 @@ noinst_HEADERS = \ + + libgstvulkan_wayland_la_CFLAGS = \ + -I$(top_srcdir)/gst-libs \ ++ -I$(top_builddir)/ext/vulkan \ + -I$(top_srcdir)/ext/vulkan \ + -I$(top_builddir)/gst-libs \ + $(GST_PLUGINS_BASE_CFLAGS) \ +diff --git a/ext/vulkan/xcb/Makefile.am b/ext/vulkan/xcb/Makefile.am +index 7debcff9e..b5103551b 100644 +--- a/ext/vulkan/xcb/Makefile.am ++++ b/ext/vulkan/xcb/Makefile.am +@@ -14,6 +14,7 @@ noinst_HEADERS = \ + + libgstvulkan_xcb_la_CFLAGS = \ + -I$(top_srcdir)/gst-libs \ ++ -I$(top_builddir)/ext/vulkan \ + -I$(top_srcdir)/ext/vulkan \ + -I$(top_builddir)/gst-libs \ + $(GST_PLUGINS_BASE_CFLAGS) \ +-- +2.13.2 + diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.10.4.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.10.4.bb index def03a9..a769230 100644 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.10.4.bb +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.10.4.bb @@ -19,6 +19,8 @@ SRC_URI = " \ file://0001-smoothstreaming-use-the-duration-from-the-list-of-fr.patch \ file://0001-mssdemux-improved-live-playback-support.patch \ file://link-with-libvchostif.patch \ + file://0001-vkdisplay-Use-ifdef-for-platform-specific-defines.patch \ + file://0002-vulkan-Use-the-generated-version-of-vkconfig.h.patch \ " SRC_URI[md5sum] = "2757103e57a096a1a05b3ab85b8381af" SRC_URI[sha256sum] = "23ddae506b3a223b94869a0d3eea3e9a12e847f94d2d0e0b97102ce13ecd6966" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 7 10:42:20 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 07 Jul 2017 10:42:20 +0000 Subject: [oe-commits] [openembedded-core] 19/21: oeqa/runtime: Replace buildiptables for buildlzip on runtime tests In-Reply-To: <149942412156.4630.14702278473285419109@git.openembedded.org> References: <149942412156.4630.14702278473285419109@git.openembedded.org> Message-ID: <20170707104202.85DD9234827@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 4aeb4b0d76fd2b56bbe608bb6d377113b0d1e2a4 Author: Jose Perez Carranza AuthorDate: Thu Jul 6 14:03:07 2017 -0700 oeqa/runtime: Replace buildiptables for buildlzip on runtime tests Buildiptables test cases are conflicting with images built with ?musl? as standard C library, in order to avoid those issues lzip package was selected to be used on the tests as this does not have any "musl" dependency. This patch is applicable for testimage tests [YOCTO # 11713] Signed-off-by: Jose Perez Carranza Signed-off-by: Ross Burton --- meta/lib/oeqa/runtime/cases/{buildiptables.py => buildlzip.py} | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/meta/lib/oeqa/runtime/cases/buildiptables.py b/meta/lib/oeqa/runtime/cases/buildlzip.py similarity index 89% rename from meta/lib/oeqa/runtime/cases/buildiptables.py rename to meta/lib/oeqa/runtime/cases/buildlzip.py index 002b16c..ca3fead 100644 --- a/meta/lib/oeqa/runtime/cases/buildiptables.py +++ b/meta/lib/oeqa/runtime/cases/buildlzip.py @@ -5,12 +5,12 @@ from oeqa.core.decorator.data import skipIfNotFeature from oeqa.runtime.utils.targetbuildproject import TargetBuildProject -class BuildIptablesTest(OERuntimeTestCase): +class BuildLzipTest(OERuntimeTestCase): @classmethod def setUpClass(cls): uri = 'http://downloads.yoctoproject.org/mirror/sources' - uri = '%s/iptables-1.4.13.tar.bz2' % uri + uri = '%s/lzip-1.19.tar.gz' % uri cls.project = TargetBuildProject(cls.tc.target, uri, dl_dir = cls.tc.td['DL_DIR']) @@ -24,7 +24,7 @@ class BuildIptablesTest(OERuntimeTestCase): @skipIfNotFeature('tools-sdk', 'Test requires tools-sdk to be in IMAGE_FEATURES') @OETestDepends(['ssh.SSHTest.test_ssh']) - def test_iptables(self): + def test_lzip(self): self.project.run_configure() self.project.run_make() self.project.run_install() -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 7 10:42:19 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 07 Jul 2017 10:42:19 +0000 Subject: [oe-commits] [openembedded-core] 18/21: mirrors.bbclass: remove stale lsof ftp mirrors In-Reply-To: <149942412156.4630.14702278473285419109@git.openembedded.org> References: <149942412156.4630.14702278473285419109@git.openembedded.org> Message-ID: <20170707104202.7D573234837@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 901ab57430dd9363811ce96dfca2eef13c0a261f Author: Andre McCurdy AuthorDate: Thu Jul 6 12:49:02 2017 -0700 mirrors.bbclass: remove stale lsof ftp mirrors Replace with an mapping for http://www.mirrorservice.org to align with recent changes to SRC_URI in the lsof recipe and allow non-current lsof tar files to be found in the /OLD subdirectory. Signed-off-by: Andre McCurdy Signed-off-by: Ross Burton --- meta/classes/mirrors.bbclass | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/meta/classes/mirrors.bbclass b/meta/classes/mirrors.bbclass index de2c2b9..9b72473 100644 --- a/meta/classes/mirrors.bbclass +++ b/meta/classes/mirrors.bbclass @@ -30,16 +30,7 @@ ftp://dante.ctan.org/tex-archive http://ctan.unsw.edu.au/ \n \ ftp://ftp.gnutls.org/gcrypt/gnutls ${GNUPG_MIRROR}/gnutls \n \ http://ftp.info-zip.org/pub/infozip/src/ http://mirror.switch.ch/ftp/mirror/infozip/src/ \n \ http://ftp.info-zip.org/pub/infozip/src/ ftp://sunsite.icm.edu.pl/pub/unix/archiving/info-zip/src/ \n \ -ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.cerias.purdue.edu/pub/tools/unix/sysutils/lsof/ \n \ -ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.tau.ac.il/pub/unix/admin/ \n \ -ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.cert.dfn.de/pub/tools/admin/lsof/ \n \ -ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.fu-berlin.de/pub/unix/tools/lsof/ \n \ -ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.kaizo.org/pub/lsof/ \n \ -ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.tu-darmstadt.de/pub/sysadmin/lsof/ \n \ -ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.tux.org/pub/sites/vic.cc.purdue.edu/tools/unix/lsof/ \n \ -ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://gd.tuwien.ac.at/utils/admin-tools/lsof/ \n \ -ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://sunsite.ualberta.ca/pub/Mirror/lsof/ \n \ -ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://the.wiretapped.net/pub/security/host-security/lsof/ \n \ +http://www.mirrorservice.org/sites/lsof.itap.purdue.edu/pub/tools/unix/lsof/ http://www.mirrorservice.org/sites/lsof.itap.purdue.edu/pub/tools/unix/lsof/OLD/ \n \ ${APACHE_MIRROR} http://www.us.apache.org/dist \n \ ${APACHE_MIRROR} http://archive.apache.org/dist \n \ http://downloads.sourceforge.net/watchdog/ http://fossies.org/linux/misc/ \n \ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 7 10:42:22 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 07 Jul 2017 10:42:22 +0000 Subject: [oe-commits] [openembedded-core] 21/21: oeqa/sdk: Replace buildiptables for buildlzip tests In-Reply-To: <149942412156.4630.14702278473285419109@git.openembedded.org> References: <149942412156.4630.14702278473285419109@git.openembedded.org> Message-ID: <20170707104202.98791234826@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit a4746a968400908eed08f5a8213d4a61b91167f4 Author: Jose Perez Carranza AuthorDate: Mon Jul 3 13:04:15 2017 -0700 oeqa/sdk: Replace buildiptables for buildlzip tests Buildiptables test cases are conflicting with images built with ?musl? as standard C library, in order to avoid those issues lzip package was selected to be used on the tests as this does not have any "musl" dependency. [YOCTO #11713] Signed-off-by: Jose Perez Carranza Signed-off-by: Ross Burton --- meta/lib/oeqa/sdk/cases/{buildiptables.py => buildlzip.py} | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/meta/lib/oeqa/sdk/cases/buildiptables.py b/meta/lib/oeqa/sdk/cases/buildlzip.py similarity index 84% rename from meta/lib/oeqa/sdk/cases/buildiptables.py rename to meta/lib/oeqa/sdk/cases/buildlzip.py index 419c7eb..3a89ce8 100644 --- a/meta/lib/oeqa/sdk/cases/buildiptables.py +++ b/meta/lib/oeqa/sdk/cases/buildlzip.py @@ -3,15 +3,15 @@ from oeqa.sdk.case import OESDKTestCase from oeqa.sdk.utils.sdkbuildproject import SDKBuildProject -class BuildIptablesTest(OESDKTestCase): +class BuildLzipTest(OESDKTestCase): td_vars = ['DATETIME'] @classmethod def setUpClass(self): dl_dir = self.td.get('DL_DIR', None) - self.project = SDKBuildProject(self.tc.sdk_dir + "/iptables/", self.tc.sdk_env, - "http://downloads.yoctoproject.org/mirror/sources/iptables-1.4.13.tar.bz2", + self.project = SDKBuildProject(self.tc.sdk_dir + "/lzip/", self.tc.sdk_env, + "http://downloads.yoctoproject.org/mirror/sources/lzip-1.19.tar.gz", self.tc.sdk_dir, self.td['DATETIME'], dl_dir=dl_dir) self.project.download_archive() @@ -21,7 +21,7 @@ class BuildIptablesTest(OESDKTestCase): self.tc.hasTargetPackage("gcc")): raise unittest.SkipTest("SDK doesn't contain a cross-canadian toolchain") - def test_iptables(self): + def test_lzip(self): self.assertEqual(self.project.run_configure(), 0, msg="Running configure failed") -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 7 10:42:16 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 07 Jul 2017 10:42:16 +0000 Subject: [oe-commits] [openembedded-core] 15/21: Revert "oeqa/sdk: Replace buildiptables for buildlzip tests" In-Reply-To: <149942412156.4630.14702278473285419109@git.openembedded.org> References: <149942412156.4630.14702278473285419109@git.openembedded.org> Message-ID: <20170707104202.66EA8234834@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 335095a9bdc907b7d33267be6813daaf4b396c1e Author: Ross Burton AuthorDate: Fri Jul 7 11:09:02 2017 +0100 Revert "oeqa/sdk: Replace buildiptables for buildlzip tests" This reverts commit 4f2fed970f3b7a72c6e2e77efdc5f1e930d7fe99. --- meta/classes/testimage.bbclass | 6 +++--- meta/lib/oeqa/sdk/cases/{buildlzip.py => buildiptables.py} | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/meta/classes/testimage.bbclass b/meta/classes/testimage.bbclass index 0c4a84e..6fa2d6f 100644 --- a/meta/classes/testimage.bbclass +++ b/meta/classes/testimage.bbclass @@ -49,10 +49,10 @@ DEFAULT_TEST_SUITES_pn-core-image-x11 = "${MINTESTSUITE}" DEFAULT_TEST_SUITES_pn-core-image-lsb = "${NETTESTSUITE} pam parselogs ${RPMTESTSUITE}" DEFAULT_TEST_SUITES_pn-core-image-sato = "${NETTESTSUITE} connman xorg parselogs ${RPMTESTSUITE} \ ${@bb.utils.contains('IMAGE_PKGTYPE', 'rpm', 'python', '', d)}" -DEFAULT_TEST_SUITES_pn-core-image-sato-sdk = "${NETTESTSUITE} buildcpio buildlzip buildgalculator \ +DEFAULT_TEST_SUITES_pn-core-image-sato-sdk = "${NETTESTSUITE} buildcpio buildiptables buildgalculator \ connman ${DEVTESTSUITE} logrotate perl parselogs python ${RPMTESTSUITE} xorg" DEFAULT_TEST_SUITES_pn-core-image-lsb-dev = "${NETTESTSUITE} pam perl python parselogs ${RPMTESTSUITE}" -DEFAULT_TEST_SUITES_pn-core-image-lsb-sdk = "${NETTESTSUITE} buildcpio buildlzip buildgalculator \ +DEFAULT_TEST_SUITES_pn-core-image-lsb-sdk = "${NETTESTSUITE} buildcpio buildiptables buildgalculator \ connman ${DEVTESTSUITE} logrotate pam parselogs perl python ${RPMTESTSUITE}" DEFAULT_TEST_SUITES_pn-meta-toolchain = "auto" @@ -61,7 +61,7 @@ DEFAULT_TEST_SUITES_remove_aarch64 = "xorg" # qemumips is quite slow and has reached the timeout limit several times on the YP build cluster, # mitigate this by removing build tests for qemumips machines. -MIPSREMOVE ??= "buildcpio buildlzip buildgalculator" +MIPSREMOVE ??= "buildcpio buildiptables buildgalculator" DEFAULT_TEST_SUITES_remove_qemumips = "${MIPSREMOVE}" DEFAULT_TEST_SUITES_remove_qemumips64 = "${MIPSREMOVE}" diff --git a/meta/lib/oeqa/sdk/cases/buildlzip.py b/meta/lib/oeqa/sdk/cases/buildiptables.py similarity index 84% rename from meta/lib/oeqa/sdk/cases/buildlzip.py rename to meta/lib/oeqa/sdk/cases/buildiptables.py index 3a89ce8..419c7eb 100644 --- a/meta/lib/oeqa/sdk/cases/buildlzip.py +++ b/meta/lib/oeqa/sdk/cases/buildiptables.py @@ -3,15 +3,15 @@ from oeqa.sdk.case import OESDKTestCase from oeqa.sdk.utils.sdkbuildproject import SDKBuildProject -class BuildLzipTest(OESDKTestCase): +class BuildIptablesTest(OESDKTestCase): td_vars = ['DATETIME'] @classmethod def setUpClass(self): dl_dir = self.td.get('DL_DIR', None) - self.project = SDKBuildProject(self.tc.sdk_dir + "/lzip/", self.tc.sdk_env, - "http://downloads.yoctoproject.org/mirror/sources/lzip-1.19.tar.gz", + self.project = SDKBuildProject(self.tc.sdk_dir + "/iptables/", self.tc.sdk_env, + "http://downloads.yoctoproject.org/mirror/sources/iptables-1.4.13.tar.bz2", self.tc.sdk_dir, self.td['DATETIME'], dl_dir=dl_dir) self.project.download_archive() @@ -21,7 +21,7 @@ class BuildLzipTest(OESDKTestCase): self.tc.hasTargetPackage("gcc")): raise unittest.SkipTest("SDK doesn't contain a cross-canadian toolchain") - def test_lzip(self): + def test_iptables(self): self.assertEqual(self.project.run_configure(), 0, msg="Running configure failed") -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 7 10:42:18 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 07 Jul 2017 10:42:18 +0000 Subject: [oe-commits] [openembedded-core] 17/21: lsof: update SRC_URI In-Reply-To: <149942412156.4630.14702278473285419109@git.openembedded.org> References: <149942412156.4630.14702278473285419109@git.openembedded.org> Message-ID: <20170707104202.7616C234836@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit f98c93d2d72cf91074bf4a706de915ae597124f1 Author: Andre McCurdy AuthorDate: Thu Jul 6 12:49:01 2017 -0700 lsof: update SRC_URI Upstream lsof releases are hosted on an ftp server which times out download attempts from hosts for which it can not perform a DNS reverse-lookup. See: https://people.freebsd.org/~abe/ http://www.mirrorservice.org seems to be the most commonly used alternative (and using it for SRC_URI allows the custom UPSTREAM_CHECK_URI to be removed). Signed-off-by: Andre McCurdy Signed-off-by: Ross Burton --- meta/recipes-extended/lsof/lsof_4.89.bb | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/meta/recipes-extended/lsof/lsof_4.89.bb b/meta/recipes-extended/lsof/lsof_4.89.bb index 0c38e97..29245b1 100644 --- a/meta/recipes-extended/lsof/lsof_4.89.bb +++ b/meta/recipes-extended/lsof/lsof_4.89.bb @@ -6,13 +6,16 @@ SECTION = "devel" LICENSE = "BSD" LIC_FILES_CHKSUM = "file://00README;beginline=645;endline=679;md5=964df275d26429ba3b39dbb9f205172a" -SRC_URI = "ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/lsof_${PV}.tar.bz2" +# Upstream lsof releases are hosted on an ftp server which times out download +# attempts from hosts for which it can not perform a DNS reverse-lookup (See: +# https://people.freebsd.org/~abe/ ). http://www.mirrorservice.org seems to be +# the most commonly used alternative. + +SRC_URI = "http://www.mirrorservice.org/sites/lsof.itap.purdue.edu/pub/tools/unix/lsof/lsof_${PV}.tar.bz2" SRC_URI[md5sum] = "1b9cd34f3fb86856a125abbf2be3a386" SRC_URI[sha256sum] = "81ac2fc5fdc944793baf41a14002b6deb5a29096b387744e28f8c30a360a3718" -UPSTREAM_CHECK_URI = "http://www.mirrorservice.org/sites/lsof.itap.purdue.edu/pub/tools/unix/lsof" - LOCALSRC = "file://${WORKDIR}/lsof_${PV}/lsof_${PV}_src.tar" S = "${WORKDIR}/lsof_${PV}_src" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 7 10:42:21 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 07 Jul 2017 10:42:21 +0000 Subject: [oe-commits] [openembedded-core] 20/21: testimage: Use the renamed buildlzip In-Reply-To: <149942412156.4630.14702278473285419109@git.openembedded.org> References: <149942412156.4630.14702278473285419109@git.openembedded.org> Message-ID: <20170707104202.8E25A234828@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 82c85053a5f598d5877074485f6f217e256d036b Author: Khem Raj AuthorDate: Thu Jul 6 14:03:08 2017 -0700 testimage: Use the renamed buildlzip buildiptables has been replaced with buildlzip Signed-off-by: Khem Raj Signed-off-by: Ross Burton --- meta/classes/testimage.bbclass | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/meta/classes/testimage.bbclass b/meta/classes/testimage.bbclass index 6fa2d6f..0c4a84e 100644 --- a/meta/classes/testimage.bbclass +++ b/meta/classes/testimage.bbclass @@ -49,10 +49,10 @@ DEFAULT_TEST_SUITES_pn-core-image-x11 = "${MINTESTSUITE}" DEFAULT_TEST_SUITES_pn-core-image-lsb = "${NETTESTSUITE} pam parselogs ${RPMTESTSUITE}" DEFAULT_TEST_SUITES_pn-core-image-sato = "${NETTESTSUITE} connman xorg parselogs ${RPMTESTSUITE} \ ${@bb.utils.contains('IMAGE_PKGTYPE', 'rpm', 'python', '', d)}" -DEFAULT_TEST_SUITES_pn-core-image-sato-sdk = "${NETTESTSUITE} buildcpio buildiptables buildgalculator \ +DEFAULT_TEST_SUITES_pn-core-image-sato-sdk = "${NETTESTSUITE} buildcpio buildlzip buildgalculator \ connman ${DEVTESTSUITE} logrotate perl parselogs python ${RPMTESTSUITE} xorg" DEFAULT_TEST_SUITES_pn-core-image-lsb-dev = "${NETTESTSUITE} pam perl python parselogs ${RPMTESTSUITE}" -DEFAULT_TEST_SUITES_pn-core-image-lsb-sdk = "${NETTESTSUITE} buildcpio buildiptables buildgalculator \ +DEFAULT_TEST_SUITES_pn-core-image-lsb-sdk = "${NETTESTSUITE} buildcpio buildlzip buildgalculator \ connman ${DEVTESTSUITE} logrotate pam parselogs perl python ${RPMTESTSUITE}" DEFAULT_TEST_SUITES_pn-meta-toolchain = "auto" @@ -61,7 +61,7 @@ DEFAULT_TEST_SUITES_remove_aarch64 = "xorg" # qemumips is quite slow and has reached the timeout limit several times on the YP build cluster, # mitigate this by removing build tests for qemumips machines. -MIPSREMOVE ??= "buildcpio buildiptables buildgalculator" +MIPSREMOVE ??= "buildcpio buildlzip buildgalculator" DEFAULT_TEST_SUITES_remove_qemumips = "${MIPSREMOVE}" DEFAULT_TEST_SUITES_remove_qemumips64 = "${MIPSREMOVE}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 7 10:42:17 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 07 Jul 2017 10:42:17 +0000 Subject: [oe-commits] [openembedded-core] 16/21: lsof: minor recipe cleanup In-Reply-To: <149942412156.4630.14702278473285419109@git.openembedded.org> References: <149942412156.4630.14702278473285419109@git.openembedded.org> Message-ID: <20170707104202.6ECE7234835@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 3b61807e3a24327b2558b5e5c74e09290410cc6f Author: Andre McCurdy AuthorDate: Thu Jul 6 12:49:00 2017 -0700 lsof: minor recipe cleanup - Add HOMEPAGE - Remove ${S} from LIC_FILES_CHKSUM path - Use tabs consistently to indent do_configure() - Re-order LIC_FILES_CHKSUM definition to follow OE style guide Signed-off-by: Andre McCurdy Signed-off-by: Ross Burton --- meta/recipes-extended/lsof/lsof_4.89.bb | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/meta/recipes-extended/lsof/lsof_4.89.bb b/meta/recipes-extended/lsof/lsof_4.89.bb index 650b34c..0c38e97 100644 --- a/meta/recipes-extended/lsof/lsof_4.89.bb +++ b/meta/recipes-extended/lsof/lsof_4.89.bb @@ -1,8 +1,10 @@ SUMMARY = "LiSt Open Files tool" DESCRIPTION = "Lsof is a Unix-specific diagnostic tool. \ Its name stands for LiSt Open Files, and it does just that." +HOMEPAGE = "http://people.freebsd.org/~abe/" SECTION = "devel" LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://00README;beginline=645;endline=679;md5=964df275d26429ba3b39dbb9f205172a" SRC_URI = "ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/lsof_${PV}.tar.bz2" @@ -12,9 +14,8 @@ SRC_URI[sha256sum] = "81ac2fc5fdc944793baf41a14002b6deb5a29096b387744e28f8c30a36 UPSTREAM_CHECK_URI = "http://www.mirrorservice.org/sites/lsof.itap.purdue.edu/pub/tools/unix/lsof" LOCALSRC = "file://${WORKDIR}/lsof_${PV}/lsof_${PV}_src.tar" -S = "${WORKDIR}/lsof_${PV}_src" -LIC_FILES_CHKSUM = "file://${S}/00README;beginline=645;endline=679;md5=964df275d26429ba3b39dbb9f205172a" +S = "${WORKDIR}/lsof_${PV}_src" python do_unpack () { # temporarily change S for unpack @@ -36,11 +37,11 @@ export LSOF_INCLUDE = "${STAGING_INCDIR}" do_configure () { export LSOF_AR="${AR} cr" export LSOF_RANLIB="${RANLIB}" - if [ "x${GLIBCVERSION}" != "x" ];then - LINUX_CLIB=`echo ${GLIBCVERSION} |sed -e 's,\.,,g'` - LINUX_CLIB="-DGLIBCV=${LINUX_CLIB}" - export LINUX_CLIB - fi + if [ "x${GLIBCVERSION}" != "x" ]; then + LINUX_CLIB=`echo ${GLIBCVERSION} |sed -e 's,\.,,g'` + LINUX_CLIB="-DGLIBCV=${LINUX_CLIB}" + export LINUX_CLIB + fi yes | ./Configure linux } -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 7 22:58:21 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 07 Jul 2017 22:58:21 +0000 Subject: [oe-commits] [openembedded-core] 02/14: mesa, gstreamer: Add "vulkan" DISTRO_FEATURE In-Reply-To: <149946829953.5059.4791283467980240941@git.openembedded.org> References: <149946829953.5059.4791283467980240941@git.openembedded.org> Message-ID: <20170707225819.A948F234827@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit f9c15b43d8128f8ee2d88b2b025bc79a42625bd6 Author: Jussi Kukkonen AuthorDate: Thu Jul 6 10:54:37 2017 +0300 mesa, gstreamer: Add "vulkan" DISTRO_FEATURE It doesn't do much but does make enabling vulkan a little less fiddly. Signed-off-by: Jussi Kukkonen Signed-off-by: Ross Burton --- meta/recipes-graphics/mesa/mesa.inc | 3 ++- meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc index a12ab7a..59e8923 100644 --- a/meta/recipes-graphics/mesa/mesa.inc +++ b/meta/recipes-graphics/mesa/mesa.inc @@ -25,7 +25,8 @@ REQUIRED_DISTRO_FEATURES = "opengl" EXTRA_OECONF = "--enable-shared-glapi --with-llvm-prefix=${STAGING_BINDIR_NATIVE}" PACKAGECONFIG ??= "gbm egl gles dri \ - ${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11 vulkan', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11 vulkan', 'dri3', '', d)} \ " PACKAGECONFIG[gbm] = "--enable-gbm,--disable-gbm" diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc index 4f6bc85..e964fef 100644 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc @@ -20,7 +20,7 @@ PACKAGECONFIG ??= " \ ${GSTREAMER_ORC} \ ${PACKAGECONFIG_GL} \ ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \ - ${@bb.utils.filter('DISTRO_FEATURES', 'directfb', d)} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'directfb vulkan', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland egl', '', d)} \ bz2 curl dash dtls hls neon rsvg sbc smoothstreaming sndfile uvch264 webp \ " -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 7 22:58:22 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 07 Jul 2017 22:58:22 +0000 Subject: [oe-commits] [openembedded-core] 03/14: vulkan: RRECOMMEND mesa drivers In-Reply-To: <149946829953.5059.4791283467980240941@git.openembedded.org> References: <149946829953.5059.4791283467980240941@git.openembedded.org> Message-ID: <20170707225819.B3870234828@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 103009529795233ce2671a8daac95ea29bec7e43 Author: Jussi Kukkonen AuthorDate: Thu Jul 6 10:54:38 2017 +0300 vulkan: RRECOMMEND mesa drivers One less thing to remember when trying to build an image with working vulkan. Signed-off-by: Jussi Kukkonen Signed-off-by: Ross Burton --- meta/recipes-graphics/vulkan/vulkan_1.0.51.0.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/recipes-graphics/vulkan/vulkan_1.0.51.0.bb b/meta/recipes-graphics/vulkan/vulkan_1.0.51.0.bb index fe7dac0..555d741 100644 --- a/meta/recipes-graphics/vulkan/vulkan_1.0.51.0.bb +++ b/meta/recipes-graphics/vulkan/vulkan_1.0.51.0.bb @@ -32,3 +32,4 @@ PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '' ,d)} PACKAGECONFIG[x11] = "-DBUILD_WSI_XLIB_SUPPORT=ON -DBUILD_WSI_XCB_SUPPORT=ON -DDEMOS_WSI_SELECTION=XCB, -DBUILD_WSI_XLIB_SUPPORT=OFF -DBUILD_WSI_XCB_SUPPORT=OFF -DDEMOS_WSI_SELECTION=WAYLAND, libxcb libx11 libxrandr" PACKAGECONFIG[wayland] = "-DBUILD_WSI_WAYLAND_SUPPORT=ON, -DBUILD_WSI_WAYLAND_SUPPORT=OFF, wayland" +RRECOMMENDS_${PN} = "mesa-vulkan-drivers" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 7 22:58:23 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 07 Jul 2017 22:58:23 +0000 Subject: [oe-commits] [openembedded-core] 04/14: linuxloader.bbclass: add musl libc support In-Reply-To: <149946829953.5059.4791283467980240941@git.openembedded.org> References: <149946829953.5059.4791283467980240941@git.openembedded.org> Message-ID: <20170707225819.BA458234829@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit cb800c309d27eada68331c64b10023b2f42c6a8d Author: Ming Liu AuthorDate: Thu Jul 6 13:50:31 2017 +0200 linuxloader.bbclass: add musl libc support Current linuxloader.bbclass does not support musl libc ldso, so add it in. After changing, now the linuxloader function will call a subfunction according to which virtual/libc is being used, glibc or musl, the linuxloader_musl function is made on top of the LDSO macro defined in musl source, by mapping related OE variables to it. Change tested on following machines: "genericx86" "genericx86-64" "beaglebone" "qemumips64" "qemuarm64" "mpc8315e-rdb" "edgerouter" "qemumips" "kc705-microblazeel" - meta-xilinx "qemuppc" Signed-off-by: Ming Liu Signed-off-by: Ross Burton --- meta/classes/linuxloader.bbclass | 42 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) diff --git a/meta/classes/linuxloader.bbclass b/meta/classes/linuxloader.bbclass index 117b030..8f30eb3 100644 --- a/meta/classes/linuxloader.bbclass +++ b/meta/classes/linuxloader.bbclass @@ -1,5 +1,8 @@ +LDSO_TCLIBC = "glibc" +LDSO_TCLIBC_libc-musl = "musl" +LDSO_TCLIBC_libc-baremetal = "musl" -linuxloader () { +linuxloader_glibc () { case ${TARGET_ARCH} in powerpc | microblaze ) dynamic_loader="${base_libdir}/ld.so.1" @@ -28,3 +31,40 @@ linuxloader () { esac echo $dynamic_loader } + +linuxloader_musl () { + case ${TARGET_ARCH} in + microblaze* ) + dynamic_loader="${base_libdir}/ld-musl-microblaze${@bb.utils.contains('TUNE_FEATURES', 'bigendian', '', 'el' ,d)}.so.1" + ;; + mips* ) + dynamic_loader="${base_libdir}/ld-musl-mips${ABIEXTENSION}${MIPSPKGSFX_BYTE}${MIPSPKGSFX_R6}${MIPSPKGSFX_ENDIAN}${@['', '-sf'][d.getVar('TARGET_FPU') == 'soft']}.so.1" + ;; + powerpc ) + dynamic_loader="${base_libdir}/ld-musl-powerpc${@['', '-sf'][d.getVar('TARGET_FPU') == 'soft']}.so.1" + ;; + powerpc64 ) + dynamic_loader="${base_libdir}/ld-musl-powerpc64.so.1" + ;; + x86_64 ) + dynamic_loader="${base_libdir}/ld-musl-x86_64.so.1" + ;; + i*86 ) + dynamic_loader="${base_libdir}/ld-musl-i386.so.1" + ;; + arm* ) + dynamic_loader="${base_libdir}/ld-musl-arm${ARMPKGSFX_ENDIAN}${ARMPKGSFX_EABI}.so.1" + ;; + aarch64* ) + dynamic_loader="${base_libdir}/ld-musl-aarch64${ARMPKGSFX_ENDIAN_64}.so.1" + ;; + * ) + dynamic_loader="/unknown_dynamic_linker" + ;; + esac + echo $dynamic_loader +} + +linuxloader () { + linuxloader_${LDSO_TCLIBC} +} -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 7 22:58:20 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 07 Jul 2017 22:58:20 +0000 Subject: [oe-commits] [openembedded-core] 01/14: gstreamer1.0-plugins-bad: Add vulkan PACKAGECONFIG In-Reply-To: <149946829953.5059.4791283467980240941@git.openembedded.org> References: <149946829953.5059.4791283467980240941@git.openembedded.org> Message-ID: <20170707225819.A0EB9234826@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 6caa93925058a1c8e9ee532d65a02256d3c93f86 Author: Jussi Kukkonen AuthorDate: Thu Jul 6 10:54:36 2017 +0300 gstreamer1.0-plugins-bad: Add vulkan PACKAGECONFIG This adds a Vulkan video sink (using xcb and/or wayland). Add a few patches to fix the build. Signed-off-by: Jussi Kukkonen Signed-off-by: Ross Burton --- .../gstreamer/gstreamer1.0-plugins-bad.inc | 4 +- ...y-Use-ifdef-for-platform-specific-defines.patch | 37 +++++++++++++ ...n-Use-the-generated-version-of-vkconfig.h.patch | 64 ++++++++++++++++++++++ .../gstreamer/gstreamer1.0-plugins-bad_1.10.4.bb | 2 + 4 files changed, 105 insertions(+), 2 deletions(-) diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc index 0ccfc89..4f6bc85 100644 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc @@ -66,6 +66,7 @@ PACKAGECONFIG[srtp] = "--enable-srtp,--disable-srtp,libsrtp" PACKAGECONFIG[uvch264] = "--enable-uvch264,--disable-uvch264,libusb1 libgudev" PACKAGECONFIG[voaacenc] = "--enable-voaacenc,--disable-voaacenc,vo-aacenc" PACKAGECONFIG[voamrwbenc] = "--enable-voamrwbenc,--disable-voamrwbenc,vo-amrwbenc" +PACKAGECONFIG[vulkan] = "--enable-vulkan,--disable-vulkan,vulkan" PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland-native wayland wayland-protocols" PACKAGECONFIG[webp] = "--enable-webp,--disable-webp,libwebp" @@ -78,7 +79,7 @@ PACKAGECONFIG[webp] = "--enable-webp,--disable-webp,libwebp" # openni2 winks direct3d directsound winscreencap acm apple_media # android_media avc bs2b chromaprint daala dts fdkaac gme gsm kate ladspa libde265 # lv2 mimic mpeg2enc mplex musepack nvenc ofa openh264 opensles pvr soundtouch spandsp -# spc teletextdec tinyalsa vdpau vulkan wasapi x265 zbar +# spc teletextdec tinyalsa vdpau wasapi x265 zbar # qt5 support is disabled, because it is not present in OE core, and requires more work than # just adding a packageconfig (it requires access to moc, uic, rcc, and qmake paths). @@ -136,7 +137,6 @@ EXTRA_OECONF += " \ --disable-timidity \ --disable-tinyalsa \ --disable-vdpau \ - --disable-vulkan \ --disable-wasapi \ --disable-wildmidi \ --disable-wininet \ diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-vkdisplay-Use-ifdef-for-platform-specific-defines.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-vkdisplay-Use-ifdef-for-platform-specific-defines.patch new file mode 100644 index 0000000..caaa62d --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-vkdisplay-Use-ifdef-for-platform-specific-defines.patch @@ -0,0 +1,37 @@ +From 1523ab462c1bf19055960ced255f4872b6cf9f5c Mon Sep 17 00:00:00 2001 +From: Jussi Kukkonen +Date: Wed, 5 Jul 2017 11:00:42 +0300 +Subject: [PATCH 1/2] vkdisplay: Use ifdef for platform specific defines + +VK_KHR_*_SURFACE_EXTENSION_NAME are only available when corresponding +WSI is enabled. + +Signed-off-by: Jussi Kukkonen +Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=784539] +--- + ext/vulkan/vkdisplay.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/ext/vulkan/vkdisplay.c b/ext/vulkan/vkdisplay.c +index 550134cd8..ade5d4583 100644 +--- a/ext/vulkan/vkdisplay.c ++++ b/ext/vulkan/vkdisplay.c +@@ -448,11 +448,15 @@ gst_vulkan_display_type_to_extension_string (GstVulkanDisplayType type) + if (type == GST_VULKAN_DISPLAY_TYPE_NONE) + return NULL; + ++#if GST_VULKAN_HAVE_WINDOW_XCB + if (type & GST_VULKAN_DISPLAY_TYPE_XCB) + return VK_KHR_XCB_SURFACE_EXTENSION_NAME; ++#endif + ++#if GST_VULKAN_HAVE_WINDOW_WAYLAND + if (type & GST_VULKAN_DISPLAY_TYPE_WAYLAND) + return VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME; ++#endif + + return NULL; + } +-- +2.13.2 + diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-vulkan-Use-the-generated-version-of-vkconfig.h.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-vulkan-Use-the-generated-version-of-vkconfig.h.patch new file mode 100644 index 0000000..0df145d --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-vulkan-Use-the-generated-version-of-vkconfig.h.patch @@ -0,0 +1,64 @@ +From c23e1dc22deb495561cffb877edb2746b740a1fa Mon Sep 17 00:00:00 2001 +From: Jussi Kukkonen +Date: Wed, 5 Jul 2017 11:07:05 +0300 +Subject: [PATCH 2/2] vulkan: Use the generated version of vkconfig.h + +Build fails in ext/vulkan/xcb and ext/vulkan/wayland when: +* building from tarball +* building out-of-tree +* Only one WSI integration (xcb or wayland) is enabled by configure.ac +This is because vkconfig.h from source directory gets used instead +of the generated one. + +Add the correct build directory to "-I". Use angle bracket +include in vkapi.h so that it actually looks in the include search +path instead of defaulting to the same (source tree) directory. + +Signed-off-by: Jussi Kukkonen +Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=784539] +--- + ext/vulkan/vkapi.h | 2 +- + ext/vulkan/wayland/Makefile.am | 1 + + ext/vulkan/xcb/Makefile.am | 1 + + 3 files changed, 3 insertions(+), 1 deletion(-) + +diff --git a/ext/vulkan/vkapi.h b/ext/vulkan/vkapi.h +index e9c23aa92..a37c29d0f 100644 +--- a/ext/vulkan/vkapi.h ++++ b/ext/vulkan/vkapi.h +@@ -23,7 +23,7 @@ + + #define VK_PROTOTYPES + +-#include "vkconfig.h" ++#include + #include "vk_fwd.h" + #include "vkmacros.h" + +diff --git a/ext/vulkan/wayland/Makefile.am b/ext/vulkan/wayland/Makefile.am +index f92d85e2c..10cfb70e6 100644 +--- a/ext/vulkan/wayland/Makefile.am ++++ b/ext/vulkan/wayland/Makefile.am +@@ -14,6 +14,7 @@ noinst_HEADERS = \ + + libgstvulkan_wayland_la_CFLAGS = \ + -I$(top_srcdir)/gst-libs \ ++ -I$(top_builddir)/ext/vulkan \ + -I$(top_srcdir)/ext/vulkan \ + -I$(top_builddir)/gst-libs \ + $(GST_PLUGINS_BASE_CFLAGS) \ +diff --git a/ext/vulkan/xcb/Makefile.am b/ext/vulkan/xcb/Makefile.am +index 7debcff9e..b5103551b 100644 +--- a/ext/vulkan/xcb/Makefile.am ++++ b/ext/vulkan/xcb/Makefile.am +@@ -14,6 +14,7 @@ noinst_HEADERS = \ + + libgstvulkan_xcb_la_CFLAGS = \ + -I$(top_srcdir)/gst-libs \ ++ -I$(top_builddir)/ext/vulkan \ + -I$(top_srcdir)/ext/vulkan \ + -I$(top_builddir)/gst-libs \ + $(GST_PLUGINS_BASE_CFLAGS) \ +-- +2.13.2 + diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.10.4.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.10.4.bb index def03a9..a769230 100644 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.10.4.bb +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.10.4.bb @@ -19,6 +19,8 @@ SRC_URI = " \ file://0001-smoothstreaming-use-the-duration-from-the-list-of-fr.patch \ file://0001-mssdemux-improved-live-playback-support.patch \ file://link-with-libvchostif.patch \ + file://0001-vkdisplay-Use-ifdef-for-platform-specific-defines.patch \ + file://0002-vulkan-Use-the-generated-version-of-vkconfig.h.patch \ " SRC_URI[md5sum] = "2757103e57a096a1a05b3ab85b8381af" SRC_URI[sha256sum] = "23ddae506b3a223b94869a0d3eea3e9a12e847f94d2d0e0b97102ce13ecd6966" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 7 22:58:19 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 07 Jul 2017 22:58:19 +0000 Subject: [oe-commits] [openembedded-core] branch master-next updated (a4746a9 -> 76e750b) Message-ID: <149946829953.5059.4791283467980240941@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master-next in repository openembedded-core. discard a4746a9 oeqa/sdk: Replace buildiptables for buildlzip tests discard 82c8505 testimage: Use the renamed buildlzip discard 4aeb4b0 oeqa/runtime: Replace buildiptables for buildlzip on runtime tests discard 901ab57 mirrors.bbclass: remove stale lsof ftp mirrors discard f98c93d lsof: update SRC_URI discard 3b61807 lsof: minor recipe cleanup discard 335095a Revert "oeqa/sdk: Replace buildiptables for buildlzip tests" discard 41a7135 image_types: fix kernel target on elf's image dependencies discard 3281d20 linuxloader.bbclass: add musl libc support discard b8b2c98 vulkan: RRECOMMEND mesa drivers discard 40dea72 mesa, gstreamer: Add "vulkan" DISTRO_FEATURE discard 397371d gstreamer1.0-plugins-bad: Add vulkan PACKAGECONFIG discard 83186eb vulkan-demos: Add recipe new 6caa939 gstreamer1.0-plugins-bad: Add vulkan PACKAGECONFIG new f9c15b4 mesa, gstreamer: Add "vulkan" DISTRO_FEATURE new 1030095 vulkan: RRECOMMEND mesa drivers new cb800c3 linuxloader.bbclass: add musl libc support new 78da67e image_types: fix kernel target on elf's image dependencies new 3317a34 Revert "oeqa/sdk: Replace buildiptables for buildlzip tests" new 08453d9 lsof: minor recipe cleanup new 26815de lsof: update SRC_URI new 2b74a65 mirrors.bbclass: remove stale lsof ftp mirrors new 27516e8 oeqa/runtime: Replace buildiptables for buildlzip on runtime tests new ab4ed83 testimage: Use the renamed buildlzip new 21cc4ab oeqa/sdk: Replace buildiptables for buildlzip tests new d1129a4 staging: Ensure a clean recipe sysroot removes addto_recipe_sysroot stamps new 76e750b oeqa/tinfoil: Improve test_wait_event for race issues This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (a4746a9) \ N -- N -- N refs/heads/master-next (76e750b) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 14 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: meta/classes/staging.bbclass | 3 + meta/lib/oeqa/selftest/cases/tinfoil.py | 22 +++--- ...ild-demos-with-questionably-licensed-data.patch | 91 ---------------------- ...stalling-demos-support-out-of-tree-builds.patch | 85 -------------------- meta/recipes-graphics/vulkan/vulkan-demos_git.bb | 35 --------- 5 files changed, 16 insertions(+), 220 deletions(-) delete mode 100644 meta/recipes-graphics/vulkan/vulkan-demos/0001-Don-t-build-demos-with-questionably-licensed-data.patch delete mode 100644 meta/recipes-graphics/vulkan/vulkan-demos/0001-Support-installing-demos-support-out-of-tree-builds.patch delete mode 100644 meta/recipes-graphics/vulkan/vulkan-demos_git.bb -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 7 22:58:24 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 07 Jul 2017 22:58:24 +0000 Subject: [oe-commits] [openembedded-core] 05/14: image_types: fix kernel target on elf's image dependencies In-Reply-To: <149946829953.5059.4791283467980240941@git.openembedded.org> References: <149946829953.5059.4791283467980240941@git.openembedded.org> Message-ID: <20170707225819.C2BA623482A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 78da67e9fcdd800738feb24b53dbb4f93dde1b64 Author: Leonardo Sandoval AuthorDate: Thu Jul 6 08:17:05 2017 -0700 image_types: fix kernel target on elf's image dependencies Kernel recipes provides 'virtual/kernel' so remove the native part. Signed-off-by: Leonardo Sandoval Signed-off-by: Ross Burton --- meta/classes/image_types.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/classes/image_types.bbclass b/meta/classes/image_types.bbclass index a5f7e19..92e0f2c 100644 --- a/meta/classes/image_types.bbclass +++ b/meta/classes/image_types.bbclass @@ -235,7 +235,7 @@ do_image_btrfs[depends] += "btrfs-tools-native:do_populate_sysroot" do_image_squashfs[depends] += "squashfs-tools-native:do_populate_sysroot" do_image_squashfs-xz[depends] += "squashfs-tools-native:do_populate_sysroot" do_image_squashfs-lzo[depends] += "squashfs-tools-native:do_populate_sysroot" -do_image_elf[depends] += "virtual/kernel-native:do_populate_sysroot mkelfimage-native:do_populate_sysroot" +do_image_elf[depends] += "virtual/kernel:do_populate_sysroot mkelfimage-native:do_populate_sysroot" do_image_ubi[depends] += "mtd-utils-native:do_populate_sysroot" do_image_ubifs[depends] += "mtd-utils-native:do_populate_sysroot" do_image_multiubi[depends] += "mtd-utils-native:do_populate_sysroot" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 7 22:58:26 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 07 Jul 2017 22:58:26 +0000 Subject: [oe-commits] [openembedded-core] 07/14: lsof: minor recipe cleanup In-Reply-To: <149946829953.5059.4791283467980240941@git.openembedded.org> References: <149946829953.5059.4791283467980240941@git.openembedded.org> Message-ID: <20170707225819.D3B6B23482C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 08453d99059fadcdf20d514a426b2ab8c7563e7e Author: Andre McCurdy AuthorDate: Thu Jul 6 12:49:00 2017 -0700 lsof: minor recipe cleanup - Add HOMEPAGE - Remove ${S} from LIC_FILES_CHKSUM path - Use tabs consistently to indent do_configure() - Re-order LIC_FILES_CHKSUM definition to follow OE style guide Signed-off-by: Andre McCurdy Signed-off-by: Ross Burton --- meta/recipes-extended/lsof/lsof_4.89.bb | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/meta/recipes-extended/lsof/lsof_4.89.bb b/meta/recipes-extended/lsof/lsof_4.89.bb index 650b34c..0c38e97 100644 --- a/meta/recipes-extended/lsof/lsof_4.89.bb +++ b/meta/recipes-extended/lsof/lsof_4.89.bb @@ -1,8 +1,10 @@ SUMMARY = "LiSt Open Files tool" DESCRIPTION = "Lsof is a Unix-specific diagnostic tool. \ Its name stands for LiSt Open Files, and it does just that." +HOMEPAGE = "http://people.freebsd.org/~abe/" SECTION = "devel" LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://00README;beginline=645;endline=679;md5=964df275d26429ba3b39dbb9f205172a" SRC_URI = "ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/lsof_${PV}.tar.bz2" @@ -12,9 +14,8 @@ SRC_URI[sha256sum] = "81ac2fc5fdc944793baf41a14002b6deb5a29096b387744e28f8c30a36 UPSTREAM_CHECK_URI = "http://www.mirrorservice.org/sites/lsof.itap.purdue.edu/pub/tools/unix/lsof" LOCALSRC = "file://${WORKDIR}/lsof_${PV}/lsof_${PV}_src.tar" -S = "${WORKDIR}/lsof_${PV}_src" -LIC_FILES_CHKSUM = "file://${S}/00README;beginline=645;endline=679;md5=964df275d26429ba3b39dbb9f205172a" +S = "${WORKDIR}/lsof_${PV}_src" python do_unpack () { # temporarily change S for unpack @@ -36,11 +37,11 @@ export LSOF_INCLUDE = "${STAGING_INCDIR}" do_configure () { export LSOF_AR="${AR} cr" export LSOF_RANLIB="${RANLIB}" - if [ "x${GLIBCVERSION}" != "x" ];then - LINUX_CLIB=`echo ${GLIBCVERSION} |sed -e 's,\.,,g'` - LINUX_CLIB="-DGLIBCV=${LINUX_CLIB}" - export LINUX_CLIB - fi + if [ "x${GLIBCVERSION}" != "x" ]; then + LINUX_CLIB=`echo ${GLIBCVERSION} |sed -e 's,\.,,g'` + LINUX_CLIB="-DGLIBCV=${LINUX_CLIB}" + export LINUX_CLIB + fi yes | ./Configure linux } -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 7 22:58:28 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 07 Jul 2017 22:58:28 +0000 Subject: [oe-commits] [openembedded-core] 09/14: mirrors.bbclass: remove stale lsof ftp mirrors In-Reply-To: <149946829953.5059.4791283467980240941@git.openembedded.org> References: <149946829953.5059.4791283467980240941@git.openembedded.org> Message-ID: <20170707225819.E22CF23482E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 2b74a65bd9ffb2782c03093d65b7bd7645242b05 Author: Andre McCurdy AuthorDate: Thu Jul 6 12:49:02 2017 -0700 mirrors.bbclass: remove stale lsof ftp mirrors Replace with an mapping for http://www.mirrorservice.org to align with recent changes to SRC_URI in the lsof recipe and allow non-current lsof tar files to be found in the /OLD subdirectory. Signed-off-by: Andre McCurdy Signed-off-by: Ross Burton --- meta/classes/mirrors.bbclass | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/meta/classes/mirrors.bbclass b/meta/classes/mirrors.bbclass index de2c2b9..9b72473 100644 --- a/meta/classes/mirrors.bbclass +++ b/meta/classes/mirrors.bbclass @@ -30,16 +30,7 @@ ftp://dante.ctan.org/tex-archive http://ctan.unsw.edu.au/ \n \ ftp://ftp.gnutls.org/gcrypt/gnutls ${GNUPG_MIRROR}/gnutls \n \ http://ftp.info-zip.org/pub/infozip/src/ http://mirror.switch.ch/ftp/mirror/infozip/src/ \n \ http://ftp.info-zip.org/pub/infozip/src/ ftp://sunsite.icm.edu.pl/pub/unix/archiving/info-zip/src/ \n \ -ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.cerias.purdue.edu/pub/tools/unix/sysutils/lsof/ \n \ -ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.tau.ac.il/pub/unix/admin/ \n \ -ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.cert.dfn.de/pub/tools/admin/lsof/ \n \ -ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.fu-berlin.de/pub/unix/tools/lsof/ \n \ -ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.kaizo.org/pub/lsof/ \n \ -ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.tu-darmstadt.de/pub/sysadmin/lsof/ \n \ -ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.tux.org/pub/sites/vic.cc.purdue.edu/tools/unix/lsof/ \n \ -ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://gd.tuwien.ac.at/utils/admin-tools/lsof/ \n \ -ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://sunsite.ualberta.ca/pub/Mirror/lsof/ \n \ -ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://the.wiretapped.net/pub/security/host-security/lsof/ \n \ +http://www.mirrorservice.org/sites/lsof.itap.purdue.edu/pub/tools/unix/lsof/ http://www.mirrorservice.org/sites/lsof.itap.purdue.edu/pub/tools/unix/lsof/OLD/ \n \ ${APACHE_MIRROR} http://www.us.apache.org/dist \n \ ${APACHE_MIRROR} http://archive.apache.org/dist \n \ http://downloads.sourceforge.net/watchdog/ http://fossies.org/linux/misc/ \n \ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 7 22:58:29 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 07 Jul 2017 22:58:29 +0000 Subject: [oe-commits] [openembedded-core] 10/14: oeqa/runtime: Replace buildiptables for buildlzip on runtime tests In-Reply-To: <149946829953.5059.4791283467980240941@git.openembedded.org> References: <149946829953.5059.4791283467980240941@git.openembedded.org> Message-ID: <20170707225819.E9A1223482F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 27516e874ed23be11e66e069fcecc0fd8ab0ea14 Author: Jose Perez Carranza AuthorDate: Thu Jul 6 14:03:07 2017 -0700 oeqa/runtime: Replace buildiptables for buildlzip on runtime tests Buildiptables test cases are conflicting with images built with ?musl? as standard C library, in order to avoid those issues lzip package was selected to be used on the tests as this does not have any "musl" dependency. This patch is applicable for testimage tests [YOCTO # 11713] Signed-off-by: Jose Perez Carranza Signed-off-by: Ross Burton --- meta/lib/oeqa/runtime/cases/{buildiptables.py => buildlzip.py} | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/meta/lib/oeqa/runtime/cases/buildiptables.py b/meta/lib/oeqa/runtime/cases/buildlzip.py similarity index 89% rename from meta/lib/oeqa/runtime/cases/buildiptables.py rename to meta/lib/oeqa/runtime/cases/buildlzip.py index 002b16c..ca3fead 100644 --- a/meta/lib/oeqa/runtime/cases/buildiptables.py +++ b/meta/lib/oeqa/runtime/cases/buildlzip.py @@ -5,12 +5,12 @@ from oeqa.core.decorator.data import skipIfNotFeature from oeqa.runtime.utils.targetbuildproject import TargetBuildProject -class BuildIptablesTest(OERuntimeTestCase): +class BuildLzipTest(OERuntimeTestCase): @classmethod def setUpClass(cls): uri = 'http://downloads.yoctoproject.org/mirror/sources' - uri = '%s/iptables-1.4.13.tar.bz2' % uri + uri = '%s/lzip-1.19.tar.gz' % uri cls.project = TargetBuildProject(cls.tc.target, uri, dl_dir = cls.tc.td['DL_DIR']) @@ -24,7 +24,7 @@ class BuildIptablesTest(OERuntimeTestCase): @skipIfNotFeature('tools-sdk', 'Test requires tools-sdk to be in IMAGE_FEATURES') @OETestDepends(['ssh.SSHTest.test_ssh']) - def test_iptables(self): + def test_lzip(self): self.project.run_configure() self.project.run_make() self.project.run_install() -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 7 22:58:27 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 07 Jul 2017 22:58:27 +0000 Subject: [oe-commits] [openembedded-core] 08/14: lsof: update SRC_URI In-Reply-To: <149946829953.5059.4791283467980240941@git.openembedded.org> References: <149946829953.5059.4791283467980240941@git.openembedded.org> Message-ID: <20170707225819.DB18523482D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 26815debc35a5c8786ed5875f171b76296a7a961 Author: Andre McCurdy AuthorDate: Thu Jul 6 12:49:01 2017 -0700 lsof: update SRC_URI Upstream lsof releases are hosted on an ftp server which times out download attempts from hosts for which it can not perform a DNS reverse-lookup. See: https://people.freebsd.org/~abe/ http://www.mirrorservice.org seems to be the most commonly used alternative (and using it for SRC_URI allows the custom UPSTREAM_CHECK_URI to be removed). Signed-off-by: Andre McCurdy Signed-off-by: Ross Burton --- meta/recipes-extended/lsof/lsof_4.89.bb | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/meta/recipes-extended/lsof/lsof_4.89.bb b/meta/recipes-extended/lsof/lsof_4.89.bb index 0c38e97..29245b1 100644 --- a/meta/recipes-extended/lsof/lsof_4.89.bb +++ b/meta/recipes-extended/lsof/lsof_4.89.bb @@ -6,13 +6,16 @@ SECTION = "devel" LICENSE = "BSD" LIC_FILES_CHKSUM = "file://00README;beginline=645;endline=679;md5=964df275d26429ba3b39dbb9f205172a" -SRC_URI = "ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/lsof_${PV}.tar.bz2" +# Upstream lsof releases are hosted on an ftp server which times out download +# attempts from hosts for which it can not perform a DNS reverse-lookup (See: +# https://people.freebsd.org/~abe/ ). http://www.mirrorservice.org seems to be +# the most commonly used alternative. + +SRC_URI = "http://www.mirrorservice.org/sites/lsof.itap.purdue.edu/pub/tools/unix/lsof/lsof_${PV}.tar.bz2" SRC_URI[md5sum] = "1b9cd34f3fb86856a125abbf2be3a386" SRC_URI[sha256sum] = "81ac2fc5fdc944793baf41a14002b6deb5a29096b387744e28f8c30a360a3718" -UPSTREAM_CHECK_URI = "http://www.mirrorservice.org/sites/lsof.itap.purdue.edu/pub/tools/unix/lsof" - LOCALSRC = "file://${WORKDIR}/lsof_${PV}/lsof_${PV}_src.tar" S = "${WORKDIR}/lsof_${PV}_src" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 7 22:58:30 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 07 Jul 2017 22:58:30 +0000 Subject: [oe-commits] [openembedded-core] 11/14: testimage: Use the renamed buildlzip In-Reply-To: <149946829953.5059.4791283467980240941@git.openembedded.org> References: <149946829953.5059.4791283467980240941@git.openembedded.org> Message-ID: <20170707225819.F0862234830@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit ab4ed8323c38fdbae293f665b4418a14fad56a28 Author: Khem Raj AuthorDate: Thu Jul 6 14:03:08 2017 -0700 testimage: Use the renamed buildlzip buildiptables has been replaced with buildlzip Signed-off-by: Khem Raj Signed-off-by: Ross Burton --- meta/classes/testimage.bbclass | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/meta/classes/testimage.bbclass b/meta/classes/testimage.bbclass index 6fa2d6f..0c4a84e 100644 --- a/meta/classes/testimage.bbclass +++ b/meta/classes/testimage.bbclass @@ -49,10 +49,10 @@ DEFAULT_TEST_SUITES_pn-core-image-x11 = "${MINTESTSUITE}" DEFAULT_TEST_SUITES_pn-core-image-lsb = "${NETTESTSUITE} pam parselogs ${RPMTESTSUITE}" DEFAULT_TEST_SUITES_pn-core-image-sato = "${NETTESTSUITE} connman xorg parselogs ${RPMTESTSUITE} \ ${@bb.utils.contains('IMAGE_PKGTYPE', 'rpm', 'python', '', d)}" -DEFAULT_TEST_SUITES_pn-core-image-sato-sdk = "${NETTESTSUITE} buildcpio buildiptables buildgalculator \ +DEFAULT_TEST_SUITES_pn-core-image-sato-sdk = "${NETTESTSUITE} buildcpio buildlzip buildgalculator \ connman ${DEVTESTSUITE} logrotate perl parselogs python ${RPMTESTSUITE} xorg" DEFAULT_TEST_SUITES_pn-core-image-lsb-dev = "${NETTESTSUITE} pam perl python parselogs ${RPMTESTSUITE}" -DEFAULT_TEST_SUITES_pn-core-image-lsb-sdk = "${NETTESTSUITE} buildcpio buildiptables buildgalculator \ +DEFAULT_TEST_SUITES_pn-core-image-lsb-sdk = "${NETTESTSUITE} buildcpio buildlzip buildgalculator \ connman ${DEVTESTSUITE} logrotate pam parselogs perl python ${RPMTESTSUITE}" DEFAULT_TEST_SUITES_pn-meta-toolchain = "auto" @@ -61,7 +61,7 @@ DEFAULT_TEST_SUITES_remove_aarch64 = "xorg" # qemumips is quite slow and has reached the timeout limit several times on the YP build cluster, # mitigate this by removing build tests for qemumips machines. -MIPSREMOVE ??= "buildcpio buildiptables buildgalculator" +MIPSREMOVE ??= "buildcpio buildlzip buildgalculator" DEFAULT_TEST_SUITES_remove_qemumips = "${MIPSREMOVE}" DEFAULT_TEST_SUITES_remove_qemumips64 = "${MIPSREMOVE}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 7 22:58:31 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 07 Jul 2017 22:58:31 +0000 Subject: [oe-commits] [openembedded-core] 12/14: oeqa/sdk: Replace buildiptables for buildlzip tests In-Reply-To: <149946829953.5059.4791283467980240941@git.openembedded.org> References: <149946829953.5059.4791283467980240941@git.openembedded.org> Message-ID: <20170707225820.06CFD234831@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 21cc4ab714c141de796fea19d4c5b37e3039ce80 Author: Jose Perez Carranza AuthorDate: Mon Jul 3 13:04:15 2017 -0700 oeqa/sdk: Replace buildiptables for buildlzip tests Buildiptables test cases are conflicting with images built with ?musl? as standard C library, in order to avoid those issues lzip package was selected to be used on the tests as this does not have any "musl" dependency. [YOCTO #11713] Signed-off-by: Jose Perez Carranza Signed-off-by: Ross Burton --- meta/lib/oeqa/sdk/cases/{buildiptables.py => buildlzip.py} | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/meta/lib/oeqa/sdk/cases/buildiptables.py b/meta/lib/oeqa/sdk/cases/buildlzip.py similarity index 84% rename from meta/lib/oeqa/sdk/cases/buildiptables.py rename to meta/lib/oeqa/sdk/cases/buildlzip.py index 419c7eb..3a89ce8 100644 --- a/meta/lib/oeqa/sdk/cases/buildiptables.py +++ b/meta/lib/oeqa/sdk/cases/buildlzip.py @@ -3,15 +3,15 @@ from oeqa.sdk.case import OESDKTestCase from oeqa.sdk.utils.sdkbuildproject import SDKBuildProject -class BuildIptablesTest(OESDKTestCase): +class BuildLzipTest(OESDKTestCase): td_vars = ['DATETIME'] @classmethod def setUpClass(self): dl_dir = self.td.get('DL_DIR', None) - self.project = SDKBuildProject(self.tc.sdk_dir + "/iptables/", self.tc.sdk_env, - "http://downloads.yoctoproject.org/mirror/sources/iptables-1.4.13.tar.bz2", + self.project = SDKBuildProject(self.tc.sdk_dir + "/lzip/", self.tc.sdk_env, + "http://downloads.yoctoproject.org/mirror/sources/lzip-1.19.tar.gz", self.tc.sdk_dir, self.td['DATETIME'], dl_dir=dl_dir) self.project.download_archive() @@ -21,7 +21,7 @@ class BuildIptablesTest(OESDKTestCase): self.tc.hasTargetPackage("gcc")): raise unittest.SkipTest("SDK doesn't contain a cross-canadian toolchain") - def test_iptables(self): + def test_lzip(self): self.assertEqual(self.project.run_configure(), 0, msg="Running configure failed") -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 7 22:58:25 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 07 Jul 2017 22:58:25 +0000 Subject: [oe-commits] [openembedded-core] 06/14: Revert "oeqa/sdk: Replace buildiptables for buildlzip tests" In-Reply-To: <149946829953.5059.4791283467980240941@git.openembedded.org> References: <149946829953.5059.4791283467980240941@git.openembedded.org> Message-ID: <20170707225819.C9D7F23482B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 3317a344b95691c75102549f2d10ebb300f671be Author: Ross Burton AuthorDate: Fri Jul 7 11:09:02 2017 +0100 Revert "oeqa/sdk: Replace buildiptables for buildlzip tests" This reverts commit 4f2fed970f3b7a72c6e2e77efdc5f1e930d7fe99. --- meta/classes/testimage.bbclass | 6 +++--- meta/lib/oeqa/sdk/cases/{buildlzip.py => buildiptables.py} | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/meta/classes/testimage.bbclass b/meta/classes/testimage.bbclass index 0c4a84e..6fa2d6f 100644 --- a/meta/classes/testimage.bbclass +++ b/meta/classes/testimage.bbclass @@ -49,10 +49,10 @@ DEFAULT_TEST_SUITES_pn-core-image-x11 = "${MINTESTSUITE}" DEFAULT_TEST_SUITES_pn-core-image-lsb = "${NETTESTSUITE} pam parselogs ${RPMTESTSUITE}" DEFAULT_TEST_SUITES_pn-core-image-sato = "${NETTESTSUITE} connman xorg parselogs ${RPMTESTSUITE} \ ${@bb.utils.contains('IMAGE_PKGTYPE', 'rpm', 'python', '', d)}" -DEFAULT_TEST_SUITES_pn-core-image-sato-sdk = "${NETTESTSUITE} buildcpio buildlzip buildgalculator \ +DEFAULT_TEST_SUITES_pn-core-image-sato-sdk = "${NETTESTSUITE} buildcpio buildiptables buildgalculator \ connman ${DEVTESTSUITE} logrotate perl parselogs python ${RPMTESTSUITE} xorg" DEFAULT_TEST_SUITES_pn-core-image-lsb-dev = "${NETTESTSUITE} pam perl python parselogs ${RPMTESTSUITE}" -DEFAULT_TEST_SUITES_pn-core-image-lsb-sdk = "${NETTESTSUITE} buildcpio buildlzip buildgalculator \ +DEFAULT_TEST_SUITES_pn-core-image-lsb-sdk = "${NETTESTSUITE} buildcpio buildiptables buildgalculator \ connman ${DEVTESTSUITE} logrotate pam parselogs perl python ${RPMTESTSUITE}" DEFAULT_TEST_SUITES_pn-meta-toolchain = "auto" @@ -61,7 +61,7 @@ DEFAULT_TEST_SUITES_remove_aarch64 = "xorg" # qemumips is quite slow and has reached the timeout limit several times on the YP build cluster, # mitigate this by removing build tests for qemumips machines. -MIPSREMOVE ??= "buildcpio buildlzip buildgalculator" +MIPSREMOVE ??= "buildcpio buildiptables buildgalculator" DEFAULT_TEST_SUITES_remove_qemumips = "${MIPSREMOVE}" DEFAULT_TEST_SUITES_remove_qemumips64 = "${MIPSREMOVE}" diff --git a/meta/lib/oeqa/sdk/cases/buildlzip.py b/meta/lib/oeqa/sdk/cases/buildiptables.py similarity index 84% rename from meta/lib/oeqa/sdk/cases/buildlzip.py rename to meta/lib/oeqa/sdk/cases/buildiptables.py index 3a89ce8..419c7eb 100644 --- a/meta/lib/oeqa/sdk/cases/buildlzip.py +++ b/meta/lib/oeqa/sdk/cases/buildiptables.py @@ -3,15 +3,15 @@ from oeqa.sdk.case import OESDKTestCase from oeqa.sdk.utils.sdkbuildproject import SDKBuildProject -class BuildLzipTest(OESDKTestCase): +class BuildIptablesTest(OESDKTestCase): td_vars = ['DATETIME'] @classmethod def setUpClass(self): dl_dir = self.td.get('DL_DIR', None) - self.project = SDKBuildProject(self.tc.sdk_dir + "/lzip/", self.tc.sdk_env, - "http://downloads.yoctoproject.org/mirror/sources/lzip-1.19.tar.gz", + self.project = SDKBuildProject(self.tc.sdk_dir + "/iptables/", self.tc.sdk_env, + "http://downloads.yoctoproject.org/mirror/sources/iptables-1.4.13.tar.bz2", self.tc.sdk_dir, self.td['DATETIME'], dl_dir=dl_dir) self.project.download_archive() @@ -21,7 +21,7 @@ class BuildLzipTest(OESDKTestCase): self.tc.hasTargetPackage("gcc")): raise unittest.SkipTest("SDK doesn't contain a cross-canadian toolchain") - def test_lzip(self): + def test_iptables(self): self.assertEqual(self.project.run_configure(), 0, msg="Running configure failed") -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 7 22:58:32 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 07 Jul 2017 22:58:32 +0000 Subject: [oe-commits] [openembedded-core] 13/14: staging: Ensure a clean recipe sysroot removes addto_recipe_sysroot stamps In-Reply-To: <149946829953.5059.4791283467980240941@git.openembedded.org> References: <149946829953.5059.4791283467980240941@git.openembedded.org> Message-ID: <20170707225820.0F145234832@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit d1129a475794704b2e4e43bd26d7f4e0ca2706bf Author: Richard Purdie AuthorDate: Fri Jul 7 13:12:31 2017 +0100 staging: Ensure a clean recipe sysroot removes addto_recipe_sysroot stamps The commands: bitbake nodejs-native; bitbake nodejs-native -c clean; bitbake nodejs-native; bitbake -c addto_recipe_sysroot nodejs-native; bitbake -c devshell nodejs-native; bitbake -c addto_recipe_sysroot nodejs-native; bitbake -c devshell nodejs-native; never result in npm in the sysroot within devshell. The reason is the addto_recipe_sysroot stamp isn't removed when do_fetch is run but the sysroot is cleaned. With this patch, the second devshell will contain npm, which I think is probably the best outcome we can hope for here. [YOCTO #11461] Signed-off-by: Richard Purdie --- meta/classes/staging.bbclass | 3 +++ 1 file changed, 3 insertions(+) diff --git a/meta/classes/staging.bbclass b/meta/classes/staging.bbclass index fe82294..8f470d5 100644 --- a/meta/classes/staging.bbclass +++ b/meta/classes/staging.bbclass @@ -559,6 +559,9 @@ addtask do_prepare_recipe_sysroot before do_configure after do_fetch # Clean out the recipe specific sysroots before do_fetch # (use a prefunc so we can order before extend_recipe_sysroot if it gets added) python clean_recipe_sysroot() { + # We remove these stamps since we're removing any content they'd have added with + # cleandirs. This removes the sigdata too, likely not a big deal, + oe.path.remove(d.getVar("STAMP") + "*addto_recipe_sysroot*") return } clean_recipe_sysroot[cleandirs] += "${RECIPE_SYSROOT} ${RECIPE_SYSROOT_NATIVE}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 7 22:58:33 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 07 Jul 2017 22:58:33 +0000 Subject: [oe-commits] [openembedded-core] 14/14: oeqa/tinfoil: Improve test_wait_event for race issues In-Reply-To: <149946829953.5059.4791283467980240941@git.openembedded.org> References: <149946829953.5059.4791283467980240941@git.openembedded.org> Message-ID: <20170707225820.18F31234833@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 76e750ba44caca6770c783939da21dd4e890b25e Author: Richard Purdie AuthorDate: Fri Jul 7 13:55:06 2017 +0100 oeqa/tinfoil: Improve test_wait_event for race issues The test could break in a variety of ways: a) If BB_HEARTBEAT_EVENT was less than ~0.25 it would hang indefinitely b) The mask is set after draining the event queue meaning a heartbeat event could have happened c) The test exits once it sees the events it wants, it doesn't check for spurious events such as heartbeats which shouldn't have occured. d) The hardcoded delay of 0.25 is nasty and shouldn't be needed. I found a bitbake bug and fixed that meaning we don't need the delay any more which fixes d). That means a) is no longer an issue either. We now set the mask, then drain the queue meaning no spurious events should be able to sneak in. The test is also tweaked to wait for 5s in total to ensure spurious events don't occur such as heartbeat events we shouldn't see. [YOCTO #11045] Signed-off-by: Richard Purdie --- meta/lib/oeqa/selftest/cases/tinfoil.py | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/meta/lib/oeqa/selftest/cases/tinfoil.py b/meta/lib/oeqa/selftest/cases/tinfoil.py index 3a58761..aa1af7e 100644 --- a/meta/lib/oeqa/selftest/cases/tinfoil.py +++ b/meta/lib/oeqa/selftest/cases/tinfoil.py @@ -1,5 +1,6 @@ import os import re +import time import bb.tinfoil from oeqa.selftest.case import OESelftestTestCase @@ -102,21 +103,26 @@ class TinfoilTests(OESelftestTestCase): def test_wait_event(self): with bb.tinfoil.Tinfoil() as tinfoil: tinfoil.prepare(config_only=True) - # Need to drain events otherwise events that will be masked will still be in the queue - while tinfoil.wait_event(0.25): - pass + tinfoil.set_event_mask(['bb.event.FilesMatchingFound', 'bb.command.CommandCompleted']) + + # Need to drain events otherwise events that were masked may still be in the queue + while tinfoil.wait_event(): + pass + pattern = 'conf' res = tinfoil.run_command('findFilesMatchingInDir', pattern, 'conf/machine') self.assertTrue(res) eventreceived = False - waitcount = 5 - while waitcount > 0: + commandcomplete = False + start = time.time() + # Wait for 5s in total so we'd detect spurious heartbeat events for example + while time.time() - start < 5: event = tinfoil.wait_event(1) if event: if isinstance(event, bb.command.CommandCompleted): - break + commandcomplete = True elif isinstance(event, bb.event.FilesMatchingFound): self.assertEqual(pattern, event._pattern) self.assertIn('qemuarm.conf', event._matches) @@ -124,9 +130,7 @@ class TinfoilTests(OESelftestTestCase): else: self.fail('Unexpected event: %s' % event) - waitcount = waitcount - 1 - - self.assertNotEqual(waitcount, 0, 'Timed out waiting for CommandCompleted event from bitbake server') + self.assertTrue(commandcomplete, 'Timed out waiting for CommandCompleted event from bitbake server') self.assertTrue(eventreceived, 'Did not receive FilesMatchingFound event from bitbake server') @OETestID(1576) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 7 22:58:52 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 07 Jul 2017 22:58:52 +0000 Subject: [oe-commits] [bitbake] branch master-next updated (9a36531 -> 4a14b44) Message-ID: <149946833247.5645.3783324714502707492@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master-next in repository bitbake. from 9a36531 data: Micro performance optimisation tweak new 412bfab server/process: Fix waitEvent() calls with 0 timeout new cb241fb event: Queue offline events for the UI new 00bf2e6 server/xmlrpc: Add Heartbeat event support new d43e972 BBHandler: Remove old style bb.data.setVar() syntax usage new 4a14b44 knotty: Drop task prefix of PLAIN log messages The 5 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: lib/bb/event.py | 11 ++++++++++- lib/bb/parse/parse_py/BBHandler.py | 2 +- lib/bb/server/process.py | 4 +++- lib/bb/server/xmlrpc.py | 28 +++++++++++++++++++++++++++- lib/bb/ui/knotty.py | 2 +- 5 files changed, 42 insertions(+), 5 deletions(-) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 7 22:58:53 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 07 Jul 2017 22:58:53 +0000 Subject: [oe-commits] [bitbake] 01/05: server/process: Fix waitEvent() calls with 0 timeout In-Reply-To: <149946833247.5645.3783324714502707492@git.openembedded.org> References: <149946833247.5645.3783324714502707492@git.openembedded.org> Message-ID: <20170707225852.8A08F234828@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 412bfab8721ea317898a1974f6a7a0d0bea763df Author: Richard Purdie AuthorDate: Fri Jul 7 14:38:54 2017 +0100 server/process: Fix waitEvent() calls with 0 timeout You might think Queue.Queue.get(True, 0) would return an event immediately if present and otherwise return. It doesn't, it immediately "times out" and returns with nothing from the queue. The behaviour we want is not to wait but return anything present which is what .get(False) does so map to this. This fixes some odd behaviour observed in some of the tinfoil selftests. Signed-off-by: Richard Purdie --- lib/bb/server/process.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/bb/server/process.py b/lib/bb/server/process.py index c3c1450..9ca2b69 100644 --- a/lib/bb/server/process.py +++ b/lib/bb/server/process.py @@ -253,6 +253,8 @@ class ProcessEventQueue(multiprocessing.queues.Queue): try: if not self.server.is_alive(): return self.getEvent() + if timeout == 0: + return self.get(False) return self.get(True, timeout) except Empty: return None -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 7 22:58:54 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 07 Jul 2017 22:58:54 +0000 Subject: [oe-commits] [bitbake] 02/05: event: Queue offline events for the UI In-Reply-To: <149946833247.5645.3783324714502707492@git.openembedded.org> References: <149946833247.5645.3783324714502707492@git.openembedded.org> Message-ID: <20170707225852.91938234829@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit cb241fb8544dfb05646dbae1a1b04e17878a466c Author: Richard Purdie AuthorDate: Fri Jul 7 15:41:41 2017 +0100 event: Queue offline events for the UI Messages printed when no UI is connected (e.g. memres) are currently lost. Use the existing queue mechanism to queue these until a UI attaches, then replay them. This isn't ideal but better than the current situation of losing them entirely. Signed-off-by: Richard Purdie --- lib/bb/event.py | 11 ++++++++++- lib/bb/server/process.py | 2 +- lib/bb/server/xmlrpc.py | 2 +- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/lib/bb/event.py b/lib/bb/event.py index 1462382..d5c5ef3 100644 --- a/lib/bb/event.py +++ b/lib/bb/event.py @@ -212,6 +212,12 @@ def fire(event, d): if worker_fire: worker_fire(event, d) else: + # If messages have been queued up, clear the queue + global _uiready, ui_queue + if _uiready and ui_queue: + for queue_event in ui_queue: + fire_ui_handlers(queue_event, d) + ui_queue = [] fire_ui_handlers(event, d) def fire_from_worker(event, d): @@ -291,7 +297,10 @@ def register_UIHhandler(handler, mainui=False): _ui_logfilters[_ui_handler_seq] = UIEventFilter(level, debug_domains) return _ui_handler_seq -def unregister_UIHhandler(handlerNum): +def unregister_UIHhandler(handlerNum, mainui=False): + if mainui: + global _uiready + _uiready = False if handlerNum in _ui_handlers: del _ui_handlers[handlerNum] return diff --git a/lib/bb/server/process.py b/lib/bb/server/process.py index 9ca2b69..f8d6767 100644 --- a/lib/bb/server/process.py +++ b/lib/bb/server/process.py @@ -137,7 +137,7 @@ class ProcessServer(Process, BaseImplServer): logger.exception('Running command %s', command) self.event_queue.close() - bb.event.unregister_UIHhandler(self.event_handle.value) + bb.event.unregister_UIHhandler(self.event_handle.value, True) self.command_channel.close() self.cooker.shutdown(True) self.quitout.close() diff --git a/lib/bb/server/xmlrpc.py b/lib/bb/server/xmlrpc.py index a06007f..d0f5a6d 100644 --- a/lib/bb/server/xmlrpc.py +++ b/lib/bb/server/xmlrpc.py @@ -125,7 +125,7 @@ class BitBakeServerCommands(): """ Unregister a remote UI Event Handler """ - return bb.event.unregister_UIHhandler(handlerNum) + return bb.event.unregister_UIHhandler(handlerNum, True) def runCommand(self, command): """ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 7 22:58:56 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 07 Jul 2017 22:58:56 +0000 Subject: [oe-commits] [bitbake] 04/05: BBHandler: Remove old style bb.data.setVar() syntax usage In-Reply-To: <149946833247.5645.3783324714502707492@git.openembedded.org> References: <149946833247.5645.3783324714502707492@git.openembedded.org> Message-ID: <20170707225852.9EE5A23482B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit d43e97226dc7f53592c06a528f20390b68dc854f Author: Enrico Scholz AuthorDate: Thu May 18 18:17:01 2017 +0200 BBHandler: Remove old style bb.data.setVar() syntax usage Fixes except bb.parse.SkipRecipe: > bb.data.setVar("__SKIPPED", True, d) if include == 0: AttributeError: module 'bb.data' has no attribute 'setVar' Signed-off-by: Enrico Scholz Signed-off-by: Richard Purdie --- lib/bb/parse/parse_py/BBHandler.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/bb/parse/parse_py/BBHandler.py b/lib/bb/parse/parse_py/BBHandler.py index fe918a4..f89ad24 100644 --- a/lib/bb/parse/parse_py/BBHandler.py +++ b/lib/bb/parse/parse_py/BBHandler.py @@ -144,7 +144,7 @@ def handle(fn, d, include): try: statements.eval(d) except bb.parse.SkipRecipe: - bb.data.setVar("__SKIPPED", True, d) + d.setVar("__SKIPPED", True) if include == 0: return { "" : d } -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 7 22:58:55 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 07 Jul 2017 22:58:55 +0000 Subject: [oe-commits] [bitbake] 03/05: server/xmlrpc: Add Heartbeat event support In-Reply-To: <149946833247.5645.3783324714502707492@git.openembedded.org> References: <149946833247.5645.3783324714502707492@git.openembedded.org> Message-ID: <20170707225852.9874D23482A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 00bf2e60222767b4dee84fb3f958732a83544e80 Author: Richard Purdie AuthorDate: Fri Jul 7 15:42:05 2017 +0100 server/xmlrpc: Add Heartbeat event support When heartbeat event support was added it was only added to process.py. Add it to server/xmlrpc too. There is duplicated code however since we're likely to combine the server abstractions soon its not worth worrying about now. This ensures the backends have the same event support. [YOCTO #10741] Signed-off-by: Richard Purdie --- lib/bb/server/xmlrpc.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/lib/bb/server/xmlrpc.py b/lib/bb/server/xmlrpc.py index d0f5a6d..1a475e0 100644 --- a/lib/bb/server/xmlrpc.py +++ b/lib/bb/server/xmlrpc.py @@ -227,6 +227,8 @@ class XMLRPCServer(SimpleXMLRPCServer, BaseImplServer): self.idle_timeout = idle_timeout if idle_timeout: self.register_idle_function(self.handle_idle_timeout, self) + self.heartbeat_seconds = 1 # default, BB_HEARTBEAT_EVENT will be checked once we have a datastore. + self.next_heartbeat = time.time() def addcooker(self, cooker): BaseImplServer.addcooker(self, cooker) @@ -250,6 +252,15 @@ class XMLRPCServer(SimpleXMLRPCServer, BaseImplServer): return [] def serve_forever(self): + heartbeat_event = self.cooker.data.getVar('BB_HEARTBEAT_EVENT') + if heartbeat_event: + try: + self.heartbeat_seconds = float(heartbeat_event) + except: + # Throwing an exception here causes bitbake to hang. + # Just warn about the invalid setting and continue + bb.warn('Ignoring invalid BB_HEARTBEAT_EVENT=%s, must be a float specifying seconds.' % heartbeat_event) + # Start the actual XMLRPC server bb.cooker.server_main(self.cooker, self._serve_forever) @@ -297,6 +308,21 @@ class XMLRPCServer(SimpleXMLRPCServer, BaseImplServer): # we ignore interrupted calls pass + # Create new heartbeat event? + now = time.time() + if now >= self.next_heartbeat: + # We might have missed heartbeats. Just trigger once in + # that case and continue after the usual delay. + self.next_heartbeat += self.heartbeat_seconds + if self.next_heartbeat <= now: + self.next_heartbeat = now + self.heartbeat_seconds + heartbeat = bb.event.HeartbeatEvent(now) + bb.event.fire(heartbeat, self.cooker.data) + if nextsleep and now + nextsleep > self.next_heartbeat: + # Shorten timeout so that we we wake up in time for + # the heartbeat. + nextsleep = self.next_heartbeat - now + # Tell idle functions we're exiting for function, data in list(self._idlefuns.items()): try: -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 7 22:58:57 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 07 Jul 2017 22:58:57 +0000 Subject: [oe-commits] [bitbake] 05/05: knotty: Drop task prefix of PLAIN log messages In-Reply-To: <149946833247.5645.3783324714502707492@git.openembedded.org> References: <149946833247.5645.3783324714502707492@git.openembedded.org> Message-ID: <20170707225852.A51FB23482C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 4a14b44b3e4fad3a3e5e53461aa8ba9929a515b8 Author: Richard Purdie AuthorDate: Fri Jul 7 16:00:35 2017 +0100 knotty: Drop task prefix of PLAIN log messages To quote Paul: Not that long ago we added a prefix to logged messages to allow us to see where the message has been generated (recipe / task). This is undoubtedly useful for errors and warnings, however, I'm not sure it's really appropriate for bb.plain(). As an example, see the output for -c listtasks now: ... NOTE: Executing RunQueue Tasks nodejs-native-4.5.0-r0 do_listtasks: do_addto_recipe_sysroot nodejs-native-4.5.0-r0 do_listtasks: do_build Default task for a recipe - depends on all other normal tasks required to 'build' a recipe nodejs-native-4.5.0-r0 do_listtasks: do_checklicense nodejs-native-4.5.0-r0 do_listtasks: do_checklicenseall nodejs-native-4.5.0-r0 do_listtasks: do_checkpkg ... This patch excludes PLAIN messages from this prefixing making the log output neater. [YOCTO #11457] Signed-off-by: Richard Purdie --- lib/bb/ui/knotty.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/bb/ui/knotty.py b/lib/bb/ui/knotty.py index 936d5a4..11afb3e 100644 --- a/lib/bb/ui/knotty.py +++ b/lib/bb/ui/knotty.py @@ -472,7 +472,7 @@ def main(server, eventHandler, params, tf = TerminalFilter): continue # Prefix task messages with recipe/task - if event.taskpid in helper.running_tasks: + if event.taskpid in helper.running_tasks and event.levelno != format.PLAIN: taskinfo = helper.running_tasks[event.taskpid] event.msg = taskinfo['title'] + ': ' + event.msg if hasattr(event, 'fn'): -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 8 12:30:31 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 08 Jul 2017 12:30:31 +0000 Subject: [oe-commits] [bitbake] branch master updated (877a1f4 -> 4a14b44) Message-ID: <149951703101.20510.10471148754113011237@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master in repository bitbake. from 877a1f4 bitbake-user-manual: Removed and replaced broken link add 160e47f bitbake: Add MultiConfigParsed event add 0b00f03 cooker: Use multiple BuildStarted events for multiconfig add 9a36531 data: Micro performance optimisation tweak add 412bfab server/process: Fix waitEvent() calls with 0 timeout add cb241fb event: Queue offline events for the UI add 00bf2e6 server/xmlrpc: Add Heartbeat event support add d43e972 BBHandler: Remove old style bb.data.setVar() syntax usage add 4a14b44 knotty: Drop task prefix of PLAIN log messages No new revisions were added by this update. Summary of changes: lib/bb/cooker.py | 28 ++++++++++++++++------------ lib/bb/cookerdata.py | 2 ++ lib/bb/data.py | 2 +- lib/bb/event.py | 17 ++++++++++++++++- lib/bb/parse/parse_py/BBHandler.py | 2 +- lib/bb/server/process.py | 4 +++- lib/bb/server/xmlrpc.py | 28 +++++++++++++++++++++++++++- lib/bb/ui/knotty.py | 3 ++- 8 files changed, 68 insertions(+), 18 deletions(-) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 8 12:34:13 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 08 Jul 2017 12:34:13 +0000 Subject: [oe-commits] [openembedded-core] 03/31: distutils, setuptools: Delete use of SECURITY_NO_PIE_CFLAGS In-Reply-To: <149951725039.21269.4404944061198668926@git.openembedded.org> References: <149951725039.21269.4404944061198668926@git.openembedded.org> Message-ID: <20170708123410.D3DBE23482A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit fcfe6d4ab4460f8358e13023022a5e909941ca93 Author: Khem Raj AuthorDate: Sat Jun 10 08:06:17 2017 -0700 distutils,setuptools: Delete use of SECURITY_NO_PIE_CFLAGS gcc can handle PIE in gcc driver Signed-off-by: Khem Raj --- meta/classes/distutils-common-base.bbclass | 2 -- meta/classes/setuptools.bbclass | 2 -- 2 files changed, 4 deletions(-) diff --git a/meta/classes/distutils-common-base.bbclass b/meta/classes/distutils-common-base.bbclass index fa733c6..824a1b6 100644 --- a/meta/classes/distutils-common-base.bbclass +++ b/meta/classes/distutils-common-base.bbclass @@ -11,5 +11,3 @@ FILES_${PN}-dev += "\ ${libdir}/pkgconfig \ ${PYTHON_SITEPACKAGES_DIR}/*.la \ " - -SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}" diff --git a/meta/classes/setuptools.bbclass b/meta/classes/setuptools.bbclass index 7d0c526..56343b1 100644 --- a/meta/classes/setuptools.bbclass +++ b/meta/classes/setuptools.bbclass @@ -6,5 +6,3 @@ DISTUTILS_INSTALL_ARGS = "--root=${D} \ --prefix=${prefix} \ --install-lib=${PYTHON_SITEPACKAGES_DIR} \ --install-data=${datadir}" - -SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 8 12:34:11 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 08 Jul 2017 12:34:11 +0000 Subject: [oe-commits] [openembedded-core] 01/31: gcc: Introduce a knob to configure gcc to default to PIE In-Reply-To: <149951725039.21269.4404944061198668926@git.openembedded.org> References: <149951725039.21269.4404944061198668926@git.openembedded.org> Message-ID: <20170708123410.C3846234828@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 1c7e195c94764d680a12a49b870f04cd58860f81 Author: Khem Raj AuthorDate: Sat Jun 10 07:51:58 2017 -0700 gcc: Introduce a knob to configure gcc to default to PIE GCCPIE flag which is empty by default adds "--enable-default-pie" configure option for harderned distros We do not require to add -fpie -pie flag externally anymore Signed-off-by: Khem Raj --- meta/conf/distro/include/security_flags.inc | 4 +++- meta/recipes-devtools/gcc/gcc-configure-common.inc | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/meta/conf/distro/include/security_flags.inc b/meta/conf/distro/include/security_flags.inc index 38164d0..f2eb224 100644 --- a/meta/conf/distro/include/security_flags.inc +++ b/meta/conf/distro/include/security_flags.inc @@ -5,6 +5,8 @@ # From a Yocto Project perspective, this file is included and tested # in the DISTRO="poky-lsb" configuration. +GCCPIE ?= "--enable-default-pie" + # _FORTIFY_SOURCE requires -O1 or higher, so disable in debug builds as they use # -O0 which then results in a compiler warning. lcl_maybe_fortify = "${@base_conditional('DEBUG_BUILD','1','','-D_FORTIFY_SOURCE=2',d)}" @@ -12,7 +14,7 @@ lcl_maybe_fortify = "${@base_conditional('DEBUG_BUILD','1','','-D_FORTIFY_SOURCE # Error on use of format strings that represent possible security problems SECURITY_STRINGFORMAT ?= "-Wformat -Wformat-security -Werror=format-security" -SECURITY_CFLAGS ?= "-fstack-protector-strong -pie -fpie ${lcl_maybe_fortify} ${SECURITY_STRINGFORMAT}" +SECURITY_CFLAGS ?= "-fstack-protector-strong ${lcl_maybe_fortify} ${SECURITY_STRINGFORMAT}" SECURITY_NO_PIE_CFLAGS ?= "-fstack-protector-strong ${lcl_maybe_fortify} ${SECURITY_STRINGFORMAT}" SECURITY_LDFLAGS ?= "-fstack-protector-strong -Wl,-z,relro,-z,now" diff --git a/meta/recipes-devtools/gcc/gcc-configure-common.inc b/meta/recipes-devtools/gcc/gcc-configure-common.inc index 63fa1d9..e2ce234 100644 --- a/meta/recipes-devtools/gcc/gcc-configure-common.inc +++ b/meta/recipes-devtools/gcc/gcc-configure-common.inc @@ -22,6 +22,8 @@ EXTRA_OECONF_INITIAL ?= "" GCCMULTILIB ?= "--disable-multilib" GCCTHREADS ?= "posix" +GCCPIE ??= "" + EXTRA_OECONF = "\ ${@['--enable-clocale=generic', ''][d.getVar('USE_NLS') != 'no']} \ --with-gnu-ld \ @@ -29,6 +31,7 @@ EXTRA_OECONF = "\ --enable-languages=${LANGUAGES} \ --enable-threads=${GCCTHREADS} \ ${GCCMULTILIB} \ + ${GCCPIE} \ --enable-c99 \ --enable-long-long \ --enable-symvers=gnu \ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 8 12:34:14 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 08 Jul 2017 12:34:14 +0000 Subject: [oe-commits] [openembedded-core] 04/31: gcc7: Enable static PIE In-Reply-To: <149951725039.21269.4404944061198668926@git.openembedded.org> References: <149951725039.21269.4404944061198668926@git.openembedded.org> Message-ID: <20170708123410.DCDCB23482B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 85557ab7bac7db80174205b7969965b7a6bece24 Author: Khem Raj AuthorDate: Tue Jun 13 16:15:49 2017 -0700 gcc7: Enable static PIE Signed-off-by: Khem Raj --- meta/recipes-devtools/gcc/gcc-7.1.inc | 1 + .../gcc/gcc-7.1/0048-gcc-Enable-static-PIE.patch | 37 ++++++++++++++++++++++ 2 files changed, 38 insertions(+) diff --git a/meta/recipes-devtools/gcc/gcc-7.1.inc b/meta/recipes-devtools/gcc/gcc-7.1.inc index 4098d6a..b52d51f 100644 --- a/meta/recipes-devtools/gcc/gcc-7.1.inc +++ b/meta/recipes-devtools/gcc/gcc-7.1.inc @@ -72,6 +72,7 @@ SRC_URI = "\ file://0045-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch \ file://0046-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch \ file://0047-sync-gcc-stddef.h-with-musl.patch \ + file://0048-gcc-Enable-static-PIE.patch \ ${BACKPORTS} \ " BACKPORTS = "\ diff --git a/meta/recipes-devtools/gcc/gcc-7.1/0048-gcc-Enable-static-PIE.patch b/meta/recipes-devtools/gcc/gcc-7.1/0048-gcc-Enable-static-PIE.patch new file mode 100644 index 0000000..879e360 --- /dev/null +++ b/meta/recipes-devtools/gcc/gcc-7.1/0048-gcc-Enable-static-PIE.patch @@ -0,0 +1,37 @@ +From 44ef80688b56beea85c0070840dea1e2a4e34aed Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 13 Jun 2017 12:12:52 -0700 +Subject: [PATCH 49/49] gcc: Enable static PIE + +Static PIE support in GCC +see +https://gcc.gnu.org/ml/gcc/2015-06/msg00008.html + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +--- + gcc/config/gnu-user.h | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/gcc/config/gnu-user.h b/gcc/config/gnu-user.h +index 2787a3d16be..ee7b781319e 100644 +--- a/gcc/config/gnu-user.h ++++ b/gcc/config/gnu-user.h +@@ -51,10 +51,10 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + #if defined HAVE_LD_PIE + #define GNU_USER_TARGET_STARTFILE_SPEC \ + "%{!shared: %{pg|p|profile:gcrt1.o%s;: \ +- %{" PIE_SPEC ":Scrt1.o%s} %{" NO_PIE_SPEC ":crt1.o%s}}} \ +- crti.o%s %{static:crtbeginT.o%s;: %{shared:crtbeginS.o%s} \ ++ %{" PIE_SPEC ":%{static:rcrt1.o%s;:Scrt1.o%s}} %{" NO_PIE_SPEC ":crt1.o%s}}} \ ++ crti.o%s %{shared:crtbeginS.o%s;: \ + %{" PIE_SPEC ":crtbeginS.o%s} \ +- %{" NO_PIE_SPEC ":crtbegin.o%s}} \ ++ %{" NO_PIE_SPEC ":%{static:crtbeginT.o%s;:crtbegin.o%s}}} \ + %{fvtable-verify=none:%s; \ + fvtable-verify=preinit:vtv_start_preinit.o%s; \ + fvtable-verify=std:vtv_start.o%s} \ +-- +2.13.1 + -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 8 12:34:12 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 08 Jul 2017 12:34:12 +0000 Subject: [oe-commits] [openembedded-core] 02/31: security_flags.inc: Delete pinnings for SECURITY_NO_PIE_CFLAGS In-Reply-To: <149951725039.21269.4404944061198668926@git.openembedded.org> References: <149951725039.21269.4404944061198668926@git.openembedded.org> Message-ID: <20170708123410.CBC48234829@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit e93765ffb5718b0fce84f0b8123963176dea95e4 Author: Khem Raj AuthorDate: Sat Jun 10 07:57:34 2017 -0700 security_flags.inc: Delete pinnings for SECURITY_NO_PIE_CFLAGS GCC is configured correctly to pass PIE cflags/ldflags Signed-off-by: Khem Raj --- meta/conf/distro/include/security_flags.inc | 83 ++++++++--------------------- 1 file changed, 22 insertions(+), 61 deletions(-) diff --git a/meta/conf/distro/include/security_flags.inc b/meta/conf/distro/include/security_flags.inc index f2eb224..dd713b9 100644 --- a/meta/conf/distro/include/security_flags.inc +++ b/meta/conf/distro/include/security_flags.inc @@ -1,4 +1,4 @@ -# Setup extra CFLAGS and LDFLAGS which have 'security' benefits. These +# Setup extra CFLAGS and LDFLAGS which have 'security' benefits. These # don't work universally, there are recipes which can't use one, the other # or both so a blacklist is maintained here. The idea would be over # time to reduce this list to nothing. @@ -14,87 +14,45 @@ lcl_maybe_fortify = "${@base_conditional('DEBUG_BUILD','1','','-D_FORTIFY_SOURCE # Error on use of format strings that represent possible security problems SECURITY_STRINGFORMAT ?= "-Wformat -Wformat-security -Werror=format-security" -SECURITY_CFLAGS ?= "-fstack-protector-strong ${lcl_maybe_fortify} ${SECURITY_STRINGFORMAT}" +# Inject pie flags into compiler flags if not configured with gcc itself +# especially useful with external toolchains +SECURITY_PIE_CFLAGS ?= "${@'' if '${GCCPIE}' else '-pie -fPIE'}" + +SECURITY_NOPIE_CFLAGS ?= "-no-pie -fno-PIE" + +SECURITY_CFLAGS ?= "-fstack-protector-strong ${SECURITY_PIE_CFLAGS} ${lcl_maybe_fortify} ${SECURITY_STRINGFORMAT}" SECURITY_NO_PIE_CFLAGS ?= "-fstack-protector-strong ${lcl_maybe_fortify} ${SECURITY_STRINGFORMAT}" SECURITY_LDFLAGS ?= "-fstack-protector-strong -Wl,-z,relro,-z,now" SECURITY_X_LDFLAGS ?= "-fstack-protector-strong -Wl,-z,relro" # powerpc does not get on with pie for reasons not looked into as yet -SECURITY_CFLAGS_powerpc = "-fstack-protector-strong ${lcl_maybe_fortify}" -# Deal with ppc specific linker failures when using the cflags -SECURITY_CFLAGS_pn-dbus_powerpc = "" -SECURITY_CFLAGS_pn-dbus-ptest_powerpc = "" -SECURITY_CFLAGS_pn-libmatchbox_powerpc = "" +SECURITY_CFLAGS_powerpc = "-fstack-protector-strong ${lcl_maybe_fortify} ${SECURITY_NOPIE_CFLAGS}" +SECURITY_CFLAGS_pn-libgcc_powerpc = "" # arm specific security flag issues -SECURITY_CFLAGS_pn-lttng-tools_arm = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-aspell = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-beecrypt = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-coreutils = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-cups = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-db = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-directfb = "${SECURITY_NO_PIE_CFLAGS}" SECURITY_CFLAGS_pn-glibc = "" SECURITY_CFLAGS_pn-glibc-initial = "" -SECURITY_CFLAGS_pn-elfutils = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-enchant = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-expect = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-flac = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-gcc = "${SECURITY_NO_PIE_CFLAGS}" SECURITY_CFLAGS_pn-gcc-runtime = "" -SECURITY_CFLAGS_pn-gcc-sanitizers = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-gdb = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-gmp = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-gnutls = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-gpgme = "${SECURITY_NO_PIE_CFLAGS}" SECURITY_CFLAGS_pn-grub = "" SECURITY_CFLAGS_pn-grub-efi = "" SECURITY_CFLAGS_pn-grub-efi-native = "" SECURITY_CFLAGS_pn-grub-efi-x86-native = "" SECURITY_CFLAGS_pn-grub-efi-i586-native = "" SECURITY_CFLAGS_pn-grub-efi-x86-64-native = "" -SECURITY_CFLAGS_pn-gstreamer1.0-plugins-bad = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-gstreamer1.0-plugins-good = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-harfbuzz = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-kexec-tools = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-iptables = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-libaio = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-libcap = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-libgcc = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-libid3tag = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-libnewt-python = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-libglu = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-libpcap = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-libpcre = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-libproxy = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-mesa = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-mesa-gl = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-openssl = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-opensp = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-ppp = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-python = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-python-pycurl = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-python-numpy = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-python3-numpy = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-python3-pycairo = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-python3-pycurl = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-python3-pygpgme = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-python3 = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-syslinux = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-slang = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-source-highlight = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-tcl = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-tiff = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-valgrind = "" -SECURITY_CFLAGS_pn-zlib = "${SECURITY_NO_PIE_CFLAGS}" + +SECURITY_CFLAGS_pn-mkelfimage_x86 = "" + +SECURITY_CFLAGS_pn-valgrind = "${SECURITY_NOPIE_CFLAGS}" +SECURITY_LDFLAGS_pn-valgrind = "" +SECURITY_CFLAGS_pn-sysklogd = "${SECURITY_NOPIE_CFLAGS}" +SECURITY_LDFLAGS_pn-sysklogd = "" # Recipes which fail to compile when elevating -Wformat-security to an error SECURITY_STRINGFORMAT_pn-busybox = "" SECURITY_STRINGFORMAT_pn-gcc = "" -SECURITY_STRINGFORMAT_pn-oh-puzzles = "" -TARGET_CFLAGS_append_class-target = " ${SECURITY_CFLAGS}" +TARGET_CC_ARCH_append_class-target = " ${SECURITY_CFLAGS}" TARGET_LDFLAGS_append_class-target = " ${SECURITY_LDFLAGS}" SECURITY_LDFLAGS_remove_pn-gcc-runtime = "-fstack-protector-strong" @@ -108,4 +66,7 @@ SECURITY_LDFLAGS_pn-xf86-video-vesa = "${SECURITY_X_LDFLAGS}" SECURITY_LDFLAGS_pn-xf86-video-vmware = "${SECURITY_X_LDFLAGS}" SECURITY_LDFLAGS_pn-xserver-xorg = "${SECURITY_X_LDFLAGS}" -TARGET_CC_ARCH_append_pn-binutils = " ${SECURITY_CFLAGS} ${SELECTED_OPTIMIZATION}" +TARGET_CC_ARCH_append_pn-binutils = " ${SELECTED_OPTIMIZATION}" +TARGET_CC_ARCH_append_pn-gcc = " ${SELECTED_OPTIMIZATION}" +TARGET_CC_ARCH_append_pn-gdb = " ${SELECTED_OPTIMIZATION}" +TARGET_CC_ARCH_append_pn-perf = " ${SELECTED_OPTIMIZATION}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 8 12:34:10 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 08 Jul 2017 12:34:10 +0000 Subject: [oe-commits] [openembedded-core] branch master updated (2d7a58e -> 7dd5dfc) Message-ID: <149951725039.21269.4404944061198668926@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master in repository openembedded-core. from 2d7a58e image.bbclass: create root symlinks in nativesdk target sysroot add 7267e7c base: Add MultiConfigParsed handler to deal with unstable build signatures new 1c7e195 gcc: Introduce a knob to configure gcc to default to PIE new e93765f security_flags.inc: Delete pinnings for SECURITY_NO_PIE_CFLAGS new fcfe6d4 distutils,setuptools: Delete use of SECURITY_NO_PIE_CFLAGS new 85557ab gcc7: Enable static PIE new d71eba2 gcc: Link libssp_nonshared.a only on musl targets new 39c00c7 sysklogd: Improve build and fix runtime crash new 24755af libunwind: We set -fPIE in security flags now if gcc is not configured for default PIE new c32dbe7 gstreamer1.0-plugins-bad: Fix missing library with bcm egl new 4f3a9cc security_flags.inc: Do not build gcc for powerpc with PIE defaults new 85476cd ovmf: Fix build with toolchain defaulting to PIE new 7a0abab mesa: etnaviv: fix shader miscompilation with more than 16 labels new 305e2b3 insane.bbclass: Support musl-x32 new 94ed793 siteinfo.bbclass: Support musl-x32 new a9301cb gnu-efi: Support musl-x32 build new 28cd7c5 grub-efi: Support musl-x32 new 4a50250 perl: Support musl-x32 build new da21b51 vulkan: Upgrade 1.0.39.1 -> 1.0.51.0 new d3f7a18 assimp: Add as dependency of vulkan-demos new a80a0b3 gstreamer1.0-plugins-bad: Add vulkan PACKAGECONFIG new a5ed54e mesa, gstreamer: Add "vulkan" DISTRO_FEATURE new 0fc9047 vulkan: RRECOMMEND mesa drivers new 5d4acae linuxloader.bbclass: add musl libc support new 50e6f23 image_types: fix kernel target on elf's image dependencies new 78701c5 lsof: minor recipe cleanup new 4e71824 lsof: update SRC_URI new 2ea075f mirrors.bbclass: remove stale lsof ftp mirrors new 41683e0 oeqa/runtime: Replace buildiptables for buildlzip on runtime tests new 57cd682 testimage: Use the renamed buildlzip new b798284 oeqa/sdk: Replace buildiptables for buildlzip tests new c440298 staging: Ensure a clean recipe sysroot removes addto_recipe_sysroot stamps new 7dd5dfc oeqa/tinfoil: Improve test_wait_event for race issues The 31 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: meta/classes/base.bbclass | 12 +- meta/classes/distutils-common-base.bbclass | 2 - meta/classes/image_types.bbclass | 2 +- meta/classes/insane.bbclass | 5 +- meta/classes/linuxloader.bbclass | 42 +++- meta/classes/mirrors.bbclass | 11 +- meta/classes/setuptools.bbclass | 2 - meta/classes/siteinfo.bbclass | 2 + meta/classes/staging.bbclass | 3 + meta/classes/testimage.bbclass | 6 +- meta/conf/distro/include/security_flags.inc | 86 +++----- .../cases/{buildiptables.py => buildlzip.py} | 6 +- .../sdk/cases/{buildiptables.py => buildlzip.py} | 8 +- meta/lib/oeqa/selftest/cases/tinfoil.py | 22 ++- meta/recipes-bsp/gnu-efi/gnu-efi_3.0.5.bb | 1 + meta/recipes-bsp/grub/grub-efi_2.02.bb | 2 + .../ovmf/ovmf/0001-ia32-Dont-use-pie.patch | 27 ++- meta/recipes-devtools/gcc/gcc-7.1.inc | 3 +- ...shared-to-link-commandline-for-musl-targe.patch | 42 ++++ .../gcc/gcc-7.1/0040-ssp_nonshared.patch | 28 --- .../gcc/gcc-7.1/0048-gcc-Enable-static-PIE.patch | 37 ++++ meta/recipes-devtools/gcc/gcc-configure-common.inc | 3 + meta/recipes-devtools/perl/perl_5.24.1.bb | 2 +- meta/recipes-extended/lsof/lsof_4.89.bb | 24 ++- ...s-that-causes-a-segmentation-fault-under-.patch | 28 +++ ...way-for-respecting-flags-from-environment.patch | 35 ++++ meta/recipes-extended/sysklogd/sysklogd.inc | 6 +- .../files/etnaviv_fix-shader-miscompilation.patch | 220 +++++++++++++++++++++ meta/recipes-graphics/mesa/mesa.inc | 3 +- meta/recipes-graphics/mesa/mesa_17.1.4.bb | 1 + meta/recipes-graphics/vulkan/assimp_git.bb | 14 ++ ...se-getenv-if-secure_getenv-does-not-exist.patch | 34 ---- .../{vulkan_1.0.39.1.bb => vulkan_1.0.51.0.bb} | 6 +- .../gstreamer/gstreamer1.0-plugins-bad.inc | 6 +- ...y-Use-ifdef-for-platform-specific-defines.patch | 37 ++++ ...n-Use-the-generated-version-of-vkconfig.h.patch | 64 ++++++ .../link-with-libvchostif.patch | 35 ++++ .../gstreamer/gstreamer1.0-plugins-bad_1.10.4.bb | 3 + meta/recipes-support/libunwind/libunwind_1.2.bb | 4 - 39 files changed, 679 insertions(+), 195 deletions(-) rename meta/lib/oeqa/runtime/cases/{buildiptables.py => buildlzip.py} (89%) rename meta/lib/oeqa/sdk/cases/{buildiptables.py => buildlzip.py} (84%) create mode 100644 meta/recipes-devtools/gcc/gcc-7.1/0040-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch delete mode 100644 meta/recipes-devtools/gcc/gcc-7.1/0040-ssp_nonshared.patch create mode 100644 meta/recipes-devtools/gcc/gcc-7.1/0048-gcc-Enable-static-PIE.patch create mode 100644 meta/recipes-extended/sysklogd/files/0001-fix-problems-that-causes-a-segmentation-fault-under-.patch create mode 100644 meta/recipes-extended/sysklogd/files/0002-Make-way-for-respecting-flags-from-environment.patch create mode 100644 meta/recipes-graphics/mesa/files/etnaviv_fix-shader-miscompilation.patch create mode 100644 meta/recipes-graphics/vulkan/assimp_git.bb delete mode 100644 meta/recipes-graphics/vulkan/vulkan/0001-Use-getenv-if-secure_getenv-does-not-exist.patch rename meta/recipes-graphics/vulkan/{vulkan_1.0.39.1.bb => vulkan_1.0.51.0.bb} (90%) create mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-vkdisplay-Use-ifdef-for-platform-specific-defines.patch create mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-vulkan-Use-the-generated-version-of-vkconfig.h.patch create mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/link-with-libvchostif.patch -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 8 12:34:17 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 08 Jul 2017 12:34:17 +0000 Subject: [oe-commits] [openembedded-core] 07/31: libunwind: We set -fPIE in security flags now if gcc is not configured for default PIE In-Reply-To: <149951725039.21269.4404944061198668926@git.openembedded.org> References: <149951725039.21269.4404944061198668926@git.openembedded.org> Message-ID: <20170708123411.03A6E23482E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 24755afceb38530215a59d53f37df31ca77b0b6e Author: Khem Raj AuthorDate: Tue Jun 13 19:18:38 2017 -0700 libunwind: We set -fPIE in security flags now if gcc is not configured for default PIE Signed-off-by: Khem Raj --- meta/recipes-support/libunwind/libunwind_1.2.bb | 4 ---- 1 file changed, 4 deletions(-) diff --git a/meta/recipes-support/libunwind/libunwind_1.2.bb b/meta/recipes-support/libunwind/libunwind_1.2.bb index e598e40..c6312f2 100644 --- a/meta/recipes-support/libunwind/libunwind_1.2.bb +++ b/meta/recipes-support/libunwind/libunwind_1.2.bb @@ -21,8 +21,4 @@ EXTRA_OECONF_append_libc-musl = " --disable-documentation --disable-tests " ARM_INSTRUCTION_SET_armv4 = "arm" ARM_INSTRUCTION_SET_armv5 = "arm" -# see https://sourceware.org/bugzilla/show_bug.cgi?id=19987 -SECURITY_CFLAGS_remove_aarch64 = "-fpie" -SECURITY_CFLAGS_append_aarch64 = " -fPIE" - LDFLAGS += "-Wl,-z,relro,-z,now ${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 8 12:34:19 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 08 Jul 2017 12:34:19 +0000 Subject: [oe-commits] [openembedded-core] 09/31: security_flags.inc: Do not build gcc for powerpc with PIE defaults In-Reply-To: <149951725039.21269.4404944061198668926@git.openembedded.org> References: <149951725039.21269.4404944061198668926@git.openembedded.org> Message-ID: <20170708123411.1450B234830@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 4f3a9ccdb1d45804f4c094589e69e0bc87dc9c62 Author: Khem Raj AuthorDate: Mon Jul 3 18:33:10 2017 -0700 security_flags.inc: Do not build gcc for powerpc with PIE defaults Since we have disabled FPIE from SECURITY_CFLAGS already, we have to ensure the same with gcc, otherwise gcc (on-device) will be built defaulting to PIE, and such binaries will fail to execute Signed-off-by: Khem Raj --- meta/conf/distro/include/security_flags.inc | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/conf/distro/include/security_flags.inc b/meta/conf/distro/include/security_flags.inc index dd713b9..ab2062b 100644 --- a/meta/conf/distro/include/security_flags.inc +++ b/meta/conf/distro/include/security_flags.inc @@ -29,6 +29,7 @@ SECURITY_X_LDFLAGS ?= "-fstack-protector-strong -Wl,-z,relro" # powerpc does not get on with pie for reasons not looked into as yet SECURITY_CFLAGS_powerpc = "-fstack-protector-strong ${lcl_maybe_fortify} ${SECURITY_NOPIE_CFLAGS}" SECURITY_CFLAGS_pn-libgcc_powerpc = "" +GCCPIE_powerpc = "" # arm specific security flag issues SECURITY_CFLAGS_pn-glibc = "" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 8 12:34:15 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 08 Jul 2017 12:34:15 +0000 Subject: [oe-commits] [openembedded-core] 05/31: gcc: Link libssp_nonshared.a only on musl targets In-Reply-To: <149951725039.21269.4404944061198668926@git.openembedded.org> References: <149951725039.21269.4404944061198668926@git.openembedded.org> Message-ID: <20170708123410.E6C2C23482C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit d71eba26850838b2878efea3f8c392a2eb2ebbfb Author: Khem Raj AuthorDate: Tue Jun 27 19:11:44 2017 -0700 gcc: Link libssp_nonshared.a only on musl targets glibc already provides the content for libssp_nonshared in libc_nonshared.a therefore we dont need to make it universal. This also fixed build issues on glibc when linking statically and using -fstack-protector Fixed errors like /mnt/a/oe/build/tmp/work/i586-bec-linux/aufs-util/3.14+gitAUTOINC+bdfcc0dcfc-r0/recipe-sysroot/usr/lib/../lib/libc.a(stack_chk_fail.o): In function `__stack_chk_fail': /usr/src/debug/glibc/2.26-r0/git/debug/stack_chk_fail.c:27: multiple definition of `__stack_chk_fail_local' /mnt/a/oe/bui [...] Signed-off-by: Khem Raj --- meta/recipes-devtools/gcc/gcc-7.1.inc | 2 +- ...shared-to-link-commandline-for-musl-targe.patch | 42 ++++++++++++++++++++++ .../gcc/gcc-7.1/0040-ssp_nonshared.patch | 28 --------------- 3 files changed, 43 insertions(+), 29 deletions(-) diff --git a/meta/recipes-devtools/gcc/gcc-7.1.inc b/meta/recipes-devtools/gcc/gcc-7.1.inc index b52d51f..96fc11c 100644 --- a/meta/recipes-devtools/gcc/gcc-7.1.inc +++ b/meta/recipes-devtools/gcc/gcc-7.1.inc @@ -64,7 +64,7 @@ SRC_URI = "\ file://0037-Search-target-sysroot-gcc-version-specific-dirs-with.patch \ file://0038-Fix-various-_FOR_BUILD-and-related-variables.patch \ file://0039-nios2-Define-MUSL_DYNAMIC_LINKER.patch \ - file://0040-ssp_nonshared.patch \ + file://0040-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch \ file://0041-gcc-libcpp-support-ffile-prefix-map-old-new.patch \ file://0042-Reuse-fdebug-prefix-map-to-replace-ffile-prefix-map.patch \ file://0043-gcc-final.c-fdebug-prefix-map-support-to-remap-sourc.patch \ diff --git a/meta/recipes-devtools/gcc/gcc-7.1/0040-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch b/meta/recipes-devtools/gcc/gcc-7.1/0040-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch new file mode 100644 index 0000000..310f7aa --- /dev/null +++ b/meta/recipes-devtools/gcc/gcc-7.1/0040-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch @@ -0,0 +1,42 @@ +From 75a42d6d0f1f9784327f74882195a5c24843d5a8 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 27 Jun 2017 18:10:54 -0700 +Subject: [PATCH 40/49] Add ssp_nonshared to link commandline for musl targets + +when -fstack-protector options are enabled we need to +link with ssp_shared on musl since it does not provide +the __stack_chk_fail_local() so essentially it provides +libssp but not libssp_nonshared something like +TARGET_LIBC_PROVIDES_SSP_BUT_NOT_SSP_NONSHARED + where-as for glibc the needed symbols +are already present in libc_nonshared library therefore +we do not need any library helper on glibc based systems +but musl needs the libssp_noshared from gcc + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +--- + gcc/config/linux.h | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/gcc/config/linux.h b/gcc/config/linux.h +index 2e683d0c430..5ff0a2cb2ff 100644 +--- a/gcc/config/linux.h ++++ b/gcc/config/linux.h +@@ -182,6 +182,12 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + { GCC_INCLUDE_DIR, "GCC", 0, 1, 0, 0 }, \ + { 0, 0, 0, 0, 0, 0 } \ + } ++#ifdef TARGET_LIBC_PROVIDES_SSP ++#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \ ++ "|fstack-protector-strong|fstack-protector-explicit" \ ++ ":-lssp_nonshared}" ++#endif ++ + #endif + + #if (DEFAULT_LIBC == LIBC_UCLIBC) && defined (SINGLE_LIBC) /* uClinux */ +-- +2.13.2 + diff --git a/meta/recipes-devtools/gcc/gcc-7.1/0040-ssp_nonshared.patch b/meta/recipes-devtools/gcc/gcc-7.1/0040-ssp_nonshared.patch deleted file mode 100644 index e9fb35c..0000000 --- a/meta/recipes-devtools/gcc/gcc-7.1/0040-ssp_nonshared.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 6c98538411ac30c2262b2635547974c6cd1699c5 Mon Sep 17 00:00:00 2001 -From: Szabolcs Nagy -Date: Sat, 7 Nov 2015 14:58:40 +0000 -Subject: [PATCH 40/47] ssp_nonshared - ---- -Upstream-Status: Inappropriate [OE-Specific] - - gcc/gcc.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/gcc/gcc.c b/gcc/gcc.c -index 84af5d5a2e1..2c6471aa565 100644 ---- a/gcc/gcc.c -+++ b/gcc/gcc.c -@@ -872,7 +872,8 @@ proper position among the other output files. */ - #ifndef LINK_SSP_SPEC - #ifdef TARGET_LIBC_PROVIDES_SSP - #define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \ -- "|fstack-protector-strong|fstack-protector-explicit:}" -+ "|fstack-protector-strong|fstack-protector-explicit" \ -+ ":-lssp_nonshared}" - #else - #define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \ - "|fstack-protector-strong|fstack-protector-explicit" \ --- -2.12.2 - -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 8 12:34:22 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 08 Jul 2017 12:34:22 +0000 Subject: [oe-commits] [openembedded-core] 12/31: insane.bbclass: Support musl-x32 In-Reply-To: <149951725039.21269.4404944061198668926@git.openembedded.org> References: <149951725039.21269.4404944061198668926@git.openembedded.org> Message-ID: <20170708123411.2CDCA234833@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 305e2b3b3de1af0001d534e5c9ec126481dfd9dd Author: sweeaun AuthorDate: Wed Jul 5 16:56:32 2017 -0700 insane.bbclass: Support musl-x32 Added musl-x32 elf header into dictionary. Signed-off-by: sweeaun Signed-off-by: Ross Burton --- meta/classes/insane.bbclass | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass index 7680a59..479d39c 100644 --- a/meta/classes/insane.bbclass +++ b/meta/classes/insane.bbclass @@ -150,6 +150,9 @@ def package_qa_get_machine_dict(d): "linux-gnux32" : { "x86_64": (62, 0, 0, True, 32), }, + "linux-muslx32" : { + "x86_64": (62, 0, 0, True, 32), + }, "linux-gnun32" : { "mips64": ( 8, 0, 0, False, 32), "mips64el": ( 8, 0, 0, True, 32), @@ -488,7 +491,7 @@ def package_qa_check_arch(path,name,d, elf, messages): # Check the architecture and endiannes of the binary is_32 = (("virtual/kernel" in provides) or bb.data.inherits_class("module", d)) and \ - (target_os == "linux-gnux32" or re.match('mips64.*32', d.getVar('DEFAULTTUNE'))) + (target_os == "linux-gnux32" or target_os == "linux-muslx32" or re.match('mips64.*32', d.getVar('DEFAULTTUNE'))) if not ((machine == elf.machine()) or is_32): package_qa_add_message(messages, "arch", "Architecture did not match (%s, expected %s) on %s" % \ (oe.qa.elf_machine_to_string(elf.machine()), oe.qa.elf_machine_to_string(machine), package_qa_clean_path(path,d))) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 8 12:34:18 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 08 Jul 2017 12:34:18 +0000 Subject: [oe-commits] [openembedded-core] 08/31: gstreamer1.0-plugins-bad: Fix missing library with bcm egl In-Reply-To: <149951725039.21269.4404944061198668926@git.openembedded.org> References: <149951725039.21269.4404944061198668926@git.openembedded.org> Message-ID: <20170708123411.0BC0123482F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit c32dbe73f2089177a071ba81a9de82dac7741e44 Author: Khem Raj AuthorDate: Sat May 27 15:14:16 2017 -0700 gstreamer1.0-plugins-bad: Fix missing library with bcm egl userland graphics driver provided libegl for rpi depends upon symbols from vchostif library, therefore add it to linker cmdline helps with loadng gst-gl plugins on rpi Signed-off-by: Khem Raj --- .../link-with-libvchostif.patch | 35 ++++++++++++++++++++++ .../gstreamer/gstreamer1.0-plugins-bad_1.10.4.bb | 1 + 2 files changed, 36 insertions(+) diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/link-with-libvchostif.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/link-with-libvchostif.patch new file mode 100644 index 0000000..c382b17 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/link-with-libvchostif.patch @@ -0,0 +1,35 @@ +Add -lvchostif to link when using -lEGL on rpi + +This is required because libEGL from userland uses sybols +from this library. + +lib/libEGL.so.1.0.0 121: 00000000 0 FUNC GLOBAL DEFAULT UND vc_dispmanx_element_add + 1552: 00000000 0 FUNC GLOBAL DEFAULT UND vc_dispmanx_element_add + +These symbols are provided by libvchostif as seen below + +lib/libvchostif.so + 252: 0000b161 192 FUNC GLOBAL DEFAULT 9 vc_dispmanx_element_add + 809: 0000b161 192 FUNC GLOBAL DEFAULT 9 vc_dispmanx_element_add + +With this explicit link, plugins fail during runtime + +(gst-plugin-scanner:571): GStreamer-WARNING **: Failed to load plugin '/usr/lib/gstreamer-1.0/libgstomx.so': Error relocating /usr/lib/libgstgl-1.0.so.0: vc_dispmanx_element_add: symbol not found +(gst-plugin-scanner:571): GStreamer-WARNING **: Failed to load plugin '/usr/lib/gstreamer-1.0/libgstopengl.so': Error relocating /usr/lib/libgstgl-1.0.so.0: vc_dispmanx_element_add: symbol not found + +Signed-off-by: Khem Raj + +Upstream-Status: Pending +Index: gst-plugins-bad-1.10.4/configure.ac +=================================================================== +--- gst-plugins-bad-1.10.4.orig/configure.ac ++++ gst-plugins-bad-1.10.4/configure.ac +@@ -785,7 +785,7 @@ case $host in + HAVE_EGL=yes + HAVE_GLES2=yes + HAVE_EGL_RPI=yes +- EGL_LIBS="-lbcm_host -lvcos -lvchiq_arm" ++ EGL_LIBS="-lbcm_host -lvchostif -lvcos -lvchiq_arm" + EGL_CFLAGS="" + AC_DEFINE(USE_EGL_RPI, [1], [Use RPi platform]) + ]) diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.10.4.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.10.4.bb index 0bb4053..def03a9 100644 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.10.4.bb +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.10.4.bb @@ -18,6 +18,7 @@ SRC_URI = " \ file://0001-smoothstreaming-implement-adaptivedemux-s-get_live_s.patch \ file://0001-smoothstreaming-use-the-duration-from-the-list-of-fr.patch \ file://0001-mssdemux-improved-live-playback-support.patch \ + file://link-with-libvchostif.patch \ " SRC_URI[md5sum] = "2757103e57a096a1a05b3ab85b8381af" SRC_URI[sha256sum] = "23ddae506b3a223b94869a0d3eea3e9a12e847f94d2d0e0b97102ce13ecd6966" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 8 12:34:16 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 08 Jul 2017 12:34:16 +0000 Subject: [oe-commits] [openembedded-core] 06/31: sysklogd: Improve build and fix runtime crash In-Reply-To: <149951725039.21269.4404944061198668926@git.openembedded.org> References: <149951725039.21269.4404944061198668926@git.openembedded.org> Message-ID: <20170708123410.EECCA23482D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 39c00c7c42fe7e555eb65ea7c01bfc9cb8a34514 Author: Khem Raj AuthorDate: Sat Jul 1 00:04:35 2017 -0700 sysklogd: Improve build and fix runtime crash Patch the makefile so it can respect flags from environment add a patch to fix a run time crash Signed-off-by: Khem Raj --- ...s-that-causes-a-segmentation-fault-under-.patch | 28 +++++++++++++++++ ...way-for-respecting-flags-from-environment.patch | 35 ++++++++++++++++++++++ meta/recipes-extended/sysklogd/sysklogd.inc | 6 ++-- 3 files changed, 66 insertions(+), 3 deletions(-) diff --git a/meta/recipes-extended/sysklogd/files/0001-fix-problems-that-causes-a-segmentation-fault-under-.patch b/meta/recipes-extended/sysklogd/files/0001-fix-problems-that-causes-a-segmentation-fault-under-.patch new file mode 100644 index 0000000..56431af --- /dev/null +++ b/meta/recipes-extended/sysklogd/files/0001-fix-problems-that-causes-a-segmentation-fault-under-.patch @@ -0,0 +1,28 @@ +From cb72b3e172c238b4b5ae5935dc6be54f5034fcf1 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 30 Jun 2017 18:20:06 -0700 +Subject: [PATCH 1/2] fix problems that causes a segmentation fault under some + conditions + +Upstream-Status: Inappropriate [ no upstream ] + +Signed-off-by: Khem Raj +--- + ksym_mod.c | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/ksym_mod.c b/ksym_mod.c +index 6e26da1..a3daa7d 100644 +--- a/ksym_mod.c ++++ b/ksym_mod.c +@@ -186,7 +186,6 @@ extern int InitMsyms() + else + Syslog(LOG_ERR, "Error loading kernel symbols " \ + "- %s\n", strerror(errno)); +- fclose(ksyms); + return(0); + } + +-- +2.13.2 + diff --git a/meta/recipes-extended/sysklogd/files/0002-Make-way-for-respecting-flags-from-environment.patch b/meta/recipes-extended/sysklogd/files/0002-Make-way-for-respecting-flags-from-environment.patch new file mode 100644 index 0000000..ebbdef3 --- /dev/null +++ b/meta/recipes-extended/sysklogd/files/0002-Make-way-for-respecting-flags-from-environment.patch @@ -0,0 +1,35 @@ +From b22f244732cd0f475af2f82fc7eecec49f90623b Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 1 Jul 2017 00:01:50 -0700 +Subject: [PATCH 2/2] Make way for respecting flags from environment + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +--- + Makefile | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +diff --git a/Makefile b/Makefile +index 5af1689..af699d2 100644 +--- a/Makefile ++++ b/Makefile +@@ -17,14 +17,12 @@ + # along with this program; if not, write to the Free Software + # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +-CC= gcc + #SKFLAGS= -g -DSYSV -Wall + #LDFLAGS= -g +-SKFLAGS= $(RPM_OPT_FLAGS) -O3 -DSYSV -fomit-frame-pointer -Wall -fno-strength-reduce ++SKFLAGS = $(CFLAGS) $(CPPFLAGS) -DSYSV -Wall -fno-strength-reduce + # -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE + # -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE + # $(shell getconf LFS_SKFLAGS) +-LDFLAGS= -s + + # Look where your install program is. + INSTALL = /usr/bin/install +-- +2.13.2 + diff --git a/meta/recipes-extended/sysklogd/sysklogd.inc b/meta/recipes-extended/sysklogd/sysklogd.inc index 78b8d7a..644728a 100644 --- a/meta/recipes-extended/sysklogd/sysklogd.inc +++ b/meta/recipes-extended/sysklogd/sysklogd.inc @@ -16,6 +16,8 @@ inherit update-rc.d update-alternatives systemd SRC_URI = "http://www.infodrom.org/projects/sysklogd/download/sysklogd-${PV}.tar.gz \ file://no-strip-install.patch \ file://0001-Fix-build-with-musl.patch \ + file://0001-fix-problems-that-causes-a-segmentation-fault-under-.patch \ + file://0002-Make-way-for-respecting-flags-from-environment.patch \ file://sysklogd \ file://syslog.conf \ file://syslogd.service \ @@ -32,9 +34,7 @@ SYSTEMD_AUTO_ENABLE = "enable" INITSCRIPT_NAME = "syslog" CONFFILES_${PN} = "${sysconfdir}/syslog.conf.${BPN}" -EXTRA_OEMAKE = "-e MAKEFLAGS=" - -CFLAGS_append = " -DSYSV" +CFLAGS += "-DSYSV -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" do_install () { install -d ${D}${mandir}/man8 \ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 8 12:34:23 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 08 Jul 2017 12:34:23 +0000 Subject: [oe-commits] [openembedded-core] 13/31: siteinfo.bbclass: Support musl-x32 In-Reply-To: <149951725039.21269.4404944061198668926@git.openembedded.org> References: <149951725039.21269.4404944061198668926@git.openembedded.org> Message-ID: <20170708123411.35295234834@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 94ed793a704dadf55481305b6ed49ae3f3e1fc66 Author: sweeaun AuthorDate: Wed Jul 5 16:56:33 2017 -0700 siteinfo.bbclass: Support musl-x32 Modified targetinfo and osinfo to support musl-x32. Signed-off-by: sweeaun Signed-off-by: Ross Burton --- meta/classes/siteinfo.bbclass | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/classes/siteinfo.bbclass b/meta/classes/siteinfo.bbclass index 90ea5ba..20b4704 100644 --- a/meta/classes/siteinfo.bbclass +++ b/meta/classes/siteinfo.bbclass @@ -63,6 +63,7 @@ def siteinfo_data(d): "linux-gnueabi": "common-linux common-glibc", "linux-gnuspe": "common-linux common-glibc", "linux-musl": "common-linux common-musl", + "linux-muslx32": "common-linux common-musl", "linux-musleabi": "common-linux common-musl", "linux-muslspe": "common-linux common-musl", "uclinux-uclibc": "common-uclibc", @@ -99,6 +100,7 @@ def siteinfo_data(d): "x86_64-darwin9": "bit-64", "x86_64-linux": "bit-64", "x86_64-linux-musl": "x86_64-linux bit-64", + "x86_64-linux-muslx32": "bit-32 ix86-common x32-linux", "x86_64-elf": "bit-64", "x86_64-linux-gnu": "bit-64 x86_64-linux", "x86_64-linux-gnux32": "bit-32 ix86-common x32-linux", -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 8 12:34:20 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 08 Jul 2017 12:34:20 +0000 Subject: [oe-commits] [openembedded-core] 10/31: ovmf: Fix build with toolchain defaulting to PIE In-Reply-To: <149951725039.21269.4404944061198668926@git.openembedded.org> References: <149951725039.21269.4404944061198668926@git.openembedded.org> Message-ID: <20170708123411.1C0AD234831@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 85476cdb19d5c383966ba753a71eaeb3622bd6b4 Author: Khem Raj AuthorDate: Tue Jul 4 08:46:03 2017 -0700 ovmf: Fix build with toolchain defaulting to PIE GCC44_IA32_X64_DLINK_COMMON and GCC49_IA32_X64_DLINK_COMMON variables add to final linker flags that ovmf build forms on its own, so trying to inject it from environment will not work. Here we add option to disable pie during linking, which should have been accompanied with correcponding gcc/cflags. Fixes | /mnt/a/oe/build/tmp/work/i586-bec-linux/ovmf/git-r0/git/Build/OvmfIa32/RELEASE_GCC5/IA32/OvmfPkg/AcpiTables/AcpiTables/OUTPUT/./Facs.dll: Bad definition for symbol ''@0 or unsupported symbol type. For example, absolute and undefined symbols are not supported. Signed-off-by: Khem Raj --- .../ovmf/ovmf/0001-ia32-Dont-use-pie.patch | 27 ++++++++++++++-------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/meta/recipes-core/ovmf/ovmf/0001-ia32-Dont-use-pie.patch b/meta/recipes-core/ovmf/ovmf/0001-ia32-Dont-use-pie.patch index 7ce20be..5bb418b 100644 --- a/meta/recipes-core/ovmf/ovmf/0001-ia32-Dont-use-pie.patch +++ b/meta/recipes-core/ovmf/ovmf/0001-ia32-Dont-use-pie.patch @@ -10,10 +10,10 @@ Signed-off-by: Khem Raj BaseTools/Conf/tools_def.template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template -index 04a1bcb210..84c5f84f93 100755 ---- a/BaseTools/Conf/tools_def.template -+++ b/BaseTools/Conf/tools_def.template +Index: git/BaseTools/Conf/tools_def.template +=================================================================== +--- git.orig/BaseTools/Conf/tools_def.template ++++ git/BaseTools/Conf/tools_def.template @@ -4336,7 +4336,7 @@ RELEASE_*_*_OBJCOPY_ADDDEBUGFLAG = NOOPT_*_*_OBJCOPY_ADDDEBUGFLAG = --add-gnu-debuglink=$(DEBUG_DIR)/$(MODULE_NAME).debug @@ -23,15 +23,24 @@ index 04a1bcb210..84c5f84f93 100755 DEFINE GCC_X64_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -mno-red-zone -Wno-address -mno-stack-arg-probe DEFINE GCC_IPF_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -minline-int-divide-min-latency DEFINE GCC_ARM_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -mlittle-endian -mabi=aapcs -fno-short-enums -funsigned-char -ffunction-sections -fdata-sections -fomit-frame-pointer -Wno-address -mthumb -mfloat-abi=soft -fno-pic -fno-pie -@@ -4369,7 +4369,7 @@ DEFINE GCC_ARM_RC_FLAGS = -I binary -O elf32-littlearm -B arm +@@ -4369,9 +4369,9 @@ DEFINE GCC_ARM_RC_FLAGS = -I DEFINE GCC_AARCH64_RC_FLAGS = -I binary -O elf64-littleaarch64 -B aarch64 --rename-section .data=.hii DEFINE GCC44_ALL_CC_FLAGS = -g -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -ffunction-sections -fdata-sections -include AutoGen.h -fno-common -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings -DEFINE GCC44_IA32_CC_FLAGS = DEF(GCC44_ALL_CC_FLAGS) -m32 -march=i586 -malign-double -fno-stack-protector -D EFI32 -fno-asynchronous-unwind-tables +DEFINE GCC44_IA32_CC_FLAGS = DEF(GCC44_ALL_CC_FLAGS) -m32 -march=i586 -malign-double -fno-stack-protector -D EFI32 -fno-asynchronous-unwind-tables -fno-PIE -no-pie DEFINE GCC44_X64_CC_FLAGS = DEF(GCC44_ALL_CC_FLAGS) -m64 -fno-stack-protector "-DEFIAPI=__attribute__((ms_abi))" -maccumulate-outgoing-args -mno-red-zone -Wno-address -mcmodel=small -fpie -fno-asynchronous-unwind-tables - DEFINE GCC44_IA32_X64_DLINK_COMMON = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x20 +-DEFINE GCC44_IA32_X64_DLINK_COMMON = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x20 ++DEFINE GCC44_IA32_X64_DLINK_COMMON = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x20 -no-pie DEFINE GCC44_IA32_X64_ASLDLINK_FLAGS = DEF(GCC44_IA32_X64_DLINK_COMMON) -Wl,--entry,ReferenceAcpiTable -u ReferenceAcpiTable --- -2.13.1 - + DEFINE GCC44_IA32_X64_DLINK_FLAGS = DEF(GCC44_IA32_X64_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map + DEFINE GCC44_IA32_DLINK2_FLAGS = -Wl,--defsym=PECOFF_HEADER_SIZE=0x220 DEF(GCC_DLINK2_FLAGS_COMMON) +@@ -4451,7 +4451,7 @@ DEFINE GCC48_AARCH64_ASLDLINK_FLAGS = D + + DEFINE GCC49_IA32_CC_FLAGS = DEF(GCC48_IA32_CC_FLAGS) + DEFINE GCC49_X64_CC_FLAGS = DEF(GCC48_X64_CC_FLAGS) +-DEFINE GCC49_IA32_X64_DLINK_COMMON = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x40 ++DEFINE GCC49_IA32_X64_DLINK_COMMON = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x40 -no-pie + DEFINE GCC49_IA32_X64_ASLDLINK_FLAGS = DEF(GCC49_IA32_X64_DLINK_COMMON) -Wl,--entry,ReferenceAcpiTable -u ReferenceAcpiTable + DEFINE GCC49_IA32_X64_DLINK_FLAGS = DEF(GCC49_IA32_X64_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map + DEFINE GCC49_IA32_DLINK2_FLAGS = DEF(GCC48_IA32_DLINK2_FLAGS) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 8 12:34:24 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 08 Jul 2017 12:34:24 +0000 Subject: [oe-commits] [openembedded-core] 14/31: gnu-efi: Support musl-x32 build In-Reply-To: <149951725039.21269.4404944061198668926@git.openembedded.org> References: <149951725039.21269.4404944061198668926@git.openembedded.org> Message-ID: <20170708123411.3CBB6234835@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit a9301cbc90a61b54f99f321934f421d432ec8826 Author: sweeaun AuthorDate: Wed Jul 5 16:56:34 2017 -0700 gnu-efi: Support musl-x32 build To build 64-bit binaries for musl-x32. Signed-off-by: sweeaun Signed-off-by: Ross Burton --- meta/recipes-bsp/gnu-efi/gnu-efi_3.0.5.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.5.bb b/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.5.bb index d6f9f53..7346737 100644 --- a/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.5.bb +++ b/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.5.bb @@ -53,6 +53,7 @@ FILES_${PN} += "${libdir}/*.lds" # 64-bit binaries are expected for EFI when targeting X32 INSANE_SKIP_${PN}-dev_append_linux-gnux32 = " arch" +INSANE_SKIP_${PN}-dev_append_linux-muslx32 = " arch" BBCLASSEXTEND = "native" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 8 12:34:21 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 08 Jul 2017 12:34:21 +0000 Subject: [oe-commits] [openembedded-core] 11/31: mesa: etnaviv: fix shader miscompilation with more than 16 labels In-Reply-To: <149951725039.21269.4404944061198668926@git.openembedded.org> References: <149951725039.21269.4404944061198668926@git.openembedded.org> Message-ID: <20170708123411.2499B234832@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 7a0ababb9f5c7f09bf072412e0744dcf69534129 Author: Otavio Salvador AuthorDate: Wed Jul 5 18:36:27 2017 -0300 mesa: etnaviv: fix shader miscompilation with more than 16 labels The labels array may change its virtual address on a reallocation, so it is invalid to cache pointers into the array. Rather than using the pointer directly, remember the array index. Fixes miscompilation of shaders in glmark2 ideas, leading to GPU hangs. This is a backport from 17.1.5. Signed-off-by: Otavio Salvador Signed-off-by: Ross Burton --- .../files/etnaviv_fix-shader-miscompilation.patch | 220 +++++++++++++++++++++ meta/recipes-graphics/mesa/mesa_17.1.4.bb | 1 + 2 files changed, 221 insertions(+) diff --git a/meta/recipes-graphics/mesa/files/etnaviv_fix-shader-miscompilation.patch b/meta/recipes-graphics/mesa/files/etnaviv_fix-shader-miscompilation.patch new file mode 100644 index 0000000..0354e2a --- /dev/null +++ b/meta/recipes-graphics/mesa/files/etnaviv_fix-shader-miscompilation.patch @@ -0,0 +1,220 @@ +From ec43605189907fa327a4a7f457aa3c822cfdea5d Mon Sep 17 00:00:00 2001 +From: Lucas Stach +Date: Mon, 26 Jun 2017 18:24:31 +0200 +Subject: etnaviv: fix shader miscompilation with more than 16 labels + +The labels array may change its virtual address on a reallocation, so +it is invalid to cache pointers into the array. Rather than using the +pointer directly, remember the array index. + +Fixes miscompilation of shaders in glmark2 ideas, leading to GPU hangs. + +Fixes: c9e8b49b (etnaviv: gallium driver for Vivante GPUs) +Cc: mesa-stable at lists.freedesktop.org +Signed-off-by: Lucas Stach +Reviewed-by: Christian Gmeiner + +Upstream-Status: Backport [17.1.5] + +diff --git a/src/gallium/drivers/etnaviv/etnaviv_compiler.c b/src/gallium/drivers/etnaviv/etnaviv_compiler.c +index eafb511..af0f76b 100644 +--- a/src/gallium/drivers/etnaviv/etnaviv_compiler.c ++++ b/src/gallium/drivers/etnaviv/etnaviv_compiler.c +@@ -119,10 +119,10 @@ enum etna_compile_frame_type { + */ + struct etna_compile_frame { + enum etna_compile_frame_type type; +- struct etna_compile_label *lbl_else; +- struct etna_compile_label *lbl_endif; +- struct etna_compile_label *lbl_loop_bgn; +- struct etna_compile_label *lbl_loop_end; ++ int lbl_else_idx; ++ int lbl_endif_idx; ++ int lbl_loop_bgn_idx; ++ int lbl_loop_end_idx; + }; + + struct etna_compile_file { +@@ -178,7 +178,7 @@ struct etna_compile { + /* Fields for handling nested conditionals */ + struct etna_compile_frame frame_stack[ETNA_MAX_DEPTH]; + int frame_sp; +- struct etna_compile_label *lbl_usage[ETNA_MAX_INSTRUCTIONS]; ++ int lbl_usage[ETNA_MAX_INSTRUCTIONS]; + + unsigned labels_count, labels_sz; + struct etna_compile_label *labels; +@@ -990,7 +990,7 @@ etna_src_uniforms_conflict(struct etna_inst_src a, struct etna_inst_src b) + } + + /* create a new label */ +-static struct etna_compile_label * ++static unsigned int + alloc_new_label(struct etna_compile *c) + { + struct etna_compile_label label = { +@@ -999,7 +999,7 @@ alloc_new_label(struct etna_compile *c) + + array_insert(c->labels, label); + +- return &c->labels[c->labels_count - 1]; ++ return c->labels_count - 1; + } + + /* place label at current instruction pointer */ +@@ -1015,10 +1015,10 @@ label_place(struct etna_compile *c, struct etna_compile_label *label) + * as the value becomes known. + */ + static void +-label_mark_use(struct etna_compile *c, struct etna_compile_label *label) ++label_mark_use(struct etna_compile *c, int lbl_idx) + { + assert(c->inst_ptr < ETNA_MAX_INSTRUCTIONS); +- c->lbl_usage[c->inst_ptr] = label; ++ c->lbl_usage[c->inst_ptr] = lbl_idx; + } + + /* walk the frame stack and return first frame with matching type */ +@@ -1099,8 +1099,8 @@ trans_if(const struct instr_translater *t, struct etna_compile *c, + /* push IF to stack */ + f->type = ETNA_COMPILE_FRAME_IF; + /* create "else" label */ +- f->lbl_else = alloc_new_label(c); +- f->lbl_endif = NULL; ++ f->lbl_else_idx = alloc_new_label(c); ++ f->lbl_endif_idx = -1; + + /* We need to avoid the emit_inst() below becoming two instructions */ + if (etna_src_uniforms_conflict(src[0], imm_0)) +@@ -1108,7 +1108,7 @@ trans_if(const struct instr_translater *t, struct etna_compile *c, + + /* mark position in instruction stream of label reference so that it can be + * filled in in next pass */ +- label_mark_use(c, f->lbl_else); ++ label_mark_use(c, f->lbl_else_idx); + + /* create conditional branch to label if src0 EQ 0 */ + emit_inst(c, &(struct etna_inst){ +@@ -1129,8 +1129,8 @@ trans_else(const struct instr_translater *t, struct etna_compile *c, + assert(f->type == ETNA_COMPILE_FRAME_IF); + + /* create "endif" label, and branch to endif label */ +- f->lbl_endif = alloc_new_label(c); +- label_mark_use(c, f->lbl_endif); ++ f->lbl_endif_idx = alloc_new_label(c); ++ label_mark_use(c, f->lbl_endif_idx); + emit_inst(c, &(struct etna_inst) { + .opcode = INST_OPCODE_BRANCH, + .cond = INST_CONDITION_TRUE, +@@ -1138,7 +1138,7 @@ trans_else(const struct instr_translater *t, struct etna_compile *c, + }); + + /* mark "else" label at this position in instruction stream */ +- label_place(c, f->lbl_else); ++ label_place(c, &c->labels[f->lbl_else_idx]); + } + + static void +@@ -1151,10 +1151,10 @@ trans_endif(const struct instr_translater *t, struct etna_compile *c, + + /* assign "endif" or "else" (if no ELSE) label to current position in + * instruction stream, pop IF */ +- if (f->lbl_endif != NULL) +- label_place(c, f->lbl_endif); ++ if (f->lbl_endif_idx != -1) ++ label_place(c, &c->labels[f->lbl_endif_idx]); + else +- label_place(c, f->lbl_else); ++ label_place(c, &c->labels[f->lbl_else_idx]); + } + + static void +@@ -1166,10 +1166,10 @@ trans_loop_bgn(const struct instr_translater *t, struct etna_compile *c, + + /* push LOOP to stack */ + f->type = ETNA_COMPILE_FRAME_LOOP; +- f->lbl_loop_bgn = alloc_new_label(c); +- f->lbl_loop_end = alloc_new_label(c); ++ f->lbl_loop_bgn_idx = alloc_new_label(c); ++ f->lbl_loop_end_idx = alloc_new_label(c); + +- label_place(c, f->lbl_loop_bgn); ++ label_place(c, &c->labels[f->lbl_loop_bgn_idx]); + + c->num_loops++; + } +@@ -1185,7 +1185,7 @@ trans_loop_end(const struct instr_translater *t, struct etna_compile *c, + + /* mark position in instruction stream of label reference so that it can be + * filled in in next pass */ +- label_mark_use(c, f->lbl_loop_bgn); ++ label_mark_use(c, f->lbl_loop_bgn_idx); + + /* create branch to loop_bgn label */ + emit_inst(c, &(struct etna_inst) { +@@ -1195,7 +1195,7 @@ trans_loop_end(const struct instr_translater *t, struct etna_compile *c, + /* imm is filled in later */ + }); + +- label_place(c, f->lbl_loop_end); ++ label_place(c, &c->labels[f->lbl_loop_end_idx]); + } + + static void +@@ -1207,7 +1207,7 @@ trans_brk(const struct instr_translater *t, struct etna_compile *c, + + /* mark position in instruction stream of label reference so that it can be + * filled in in next pass */ +- label_mark_use(c, f->lbl_loop_end); ++ label_mark_use(c, f->lbl_loop_end_idx); + + /* create branch to loop_end label */ + emit_inst(c, &(struct etna_inst) { +@@ -1227,7 +1227,7 @@ trans_cont(const struct instr_translater *t, struct etna_compile *c, + + /* mark position in instruction stream of label reference so that it can be + * filled in in next pass */ +- label_mark_use(c, f->lbl_loop_bgn); ++ label_mark_use(c, f->lbl_loop_bgn_idx); + + /* create branch to loop_end label */ + emit_inst(c, &(struct etna_inst) { +@@ -1998,8 +1998,9 @@ static void + etna_compile_fill_in_labels(struct etna_compile *c) + { + for (int idx = 0; idx < c->inst_ptr; ++idx) { +- if (c->lbl_usage[idx]) +- etna_assemble_set_imm(&c->code[idx * 4], c->lbl_usage[idx]->inst_idx); ++ if (c->lbl_usage[idx] != -1) ++ etna_assemble_set_imm(&c->code[idx * 4], ++ c->labels[c->lbl_usage[idx]].inst_idx); + } + } + +@@ -2301,6 +2302,8 @@ etna_compile_shader(struct etna_shader_variant *v) + if (!c) + return false; + ++ memset(&c->lbl_usage, -1, ARRAY_SIZE(c->lbl_usage)); ++ + const struct tgsi_token *tokens = v->shader->tokens; + + c->specs = specs; +@@ -2430,12 +2433,13 @@ etna_compile_shader(struct etna_shader_variant *v) + etna_compile_add_z_div_if_needed(c); + etna_compile_frag_rb_swap(c); + etna_compile_add_nop_if_needed(c); +- etna_compile_fill_in_labels(c); + + ret = etna_compile_check_limits(c); + if (!ret) + goto out; + ++ etna_compile_fill_in_labels(c); ++ + /* fill in output structure */ + v->processor = c->info.processor; + v->code_size = c->inst_ptr * 4; +-- +cgit v0.10.2 + diff --git a/meta/recipes-graphics/mesa/mesa_17.1.4.bb b/meta/recipes-graphics/mesa/mesa_17.1.4.bb index 2a1ecd3..3289cd6 100644 --- a/meta/recipes-graphics/mesa/mesa_17.1.4.bb +++ b/meta/recipes-graphics/mesa/mesa_17.1.4.bb @@ -3,6 +3,7 @@ require ${BPN}.inc SRC_URI = "https://mesa.freedesktop.org/archive/mesa-${PV}.tar.xz \ file://replace_glibc_check_with_linux.patch \ file://disable-asm-on-non-gcc.patch \ + file://etnaviv_fix-shader-miscompilation.patch \ file://0001-Use-wayland-scanner-in-the-path.patch \ file://0002-hardware-gloat.patch \ " -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 8 12:34:25 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 08 Jul 2017 12:34:25 +0000 Subject: [oe-commits] [openembedded-core] 15/31: grub-efi: Support musl-x32 In-Reply-To: <149951725039.21269.4404944061198668926@git.openembedded.org> References: <149951725039.21269.4404944061198668926@git.openembedded.org> Message-ID: <20170708123411.4559A234836@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 28cd7c5a5cd0567439146eaa30c45301e76b71b6 Author: sweeaun AuthorDate: Wed Jul 5 16:56:35 2017 -0700 grub-efi: Support musl-x32 To build 64-bit binaries for musl-x32. Signed-off-by: sweeaun Signed-off-by: Ross Burton --- meta/recipes-bsp/grub/grub-efi_2.02.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-bsp/grub/grub-efi_2.02.bb b/meta/recipes-bsp/grub/grub-efi_2.02.bb index 9d494d5..b949beb 100644 --- a/meta/recipes-bsp/grub/grub-efi_2.02.bb +++ b/meta/recipes-bsp/grub/grub-efi_2.02.bb @@ -65,5 +65,7 @@ FILES_${PN} += "${libdir}/grub/${GRUB_TARGET}-efi \ # 64-bit binaries are expected for the bootloader with an x32 userland INSANE_SKIP_${PN}_append_linux-gnux32 = " arch" INSANE_SKIP_${PN}-dbg_append_linux-gnux32 = " arch" +INSANE_SKIP_${PN}_append_linux-muslx32 = " arch" +INSANE_SKIP_${PN}-dbg_append_linux-muslx32 = " arch" BBCLASSEXTEND = "native" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 8 12:34:34 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 08 Jul 2017 12:34:34 +0000 Subject: [oe-commits] [openembedded-core] 24/31: lsof: minor recipe cleanup In-Reply-To: <149951725039.21269.4404944061198668926@git.openembedded.org> References: <149951725039.21269.4404944061198668926@git.openembedded.org> Message-ID: <20170708123411.94381234829@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 78701c5b873605240226c502de3b940097433596 Author: Andre McCurdy AuthorDate: Thu Jul 6 12:49:00 2017 -0700 lsof: minor recipe cleanup - Add HOMEPAGE - Remove ${S} from LIC_FILES_CHKSUM path - Use tabs consistently to indent do_configure() - Re-order LIC_FILES_CHKSUM definition to follow OE style guide Signed-off-by: Andre McCurdy Signed-off-by: Ross Burton --- meta/recipes-extended/lsof/lsof_4.89.bb | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/meta/recipes-extended/lsof/lsof_4.89.bb b/meta/recipes-extended/lsof/lsof_4.89.bb index 650b34c..0c38e97 100644 --- a/meta/recipes-extended/lsof/lsof_4.89.bb +++ b/meta/recipes-extended/lsof/lsof_4.89.bb @@ -1,8 +1,10 @@ SUMMARY = "LiSt Open Files tool" DESCRIPTION = "Lsof is a Unix-specific diagnostic tool. \ Its name stands for LiSt Open Files, and it does just that." +HOMEPAGE = "http://people.freebsd.org/~abe/" SECTION = "devel" LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://00README;beginline=645;endline=679;md5=964df275d26429ba3b39dbb9f205172a" SRC_URI = "ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/lsof_${PV}.tar.bz2" @@ -12,9 +14,8 @@ SRC_URI[sha256sum] = "81ac2fc5fdc944793baf41a14002b6deb5a29096b387744e28f8c30a36 UPSTREAM_CHECK_URI = "http://www.mirrorservice.org/sites/lsof.itap.purdue.edu/pub/tools/unix/lsof" LOCALSRC = "file://${WORKDIR}/lsof_${PV}/lsof_${PV}_src.tar" -S = "${WORKDIR}/lsof_${PV}_src" -LIC_FILES_CHKSUM = "file://${S}/00README;beginline=645;endline=679;md5=964df275d26429ba3b39dbb9f205172a" +S = "${WORKDIR}/lsof_${PV}_src" python do_unpack () { # temporarily change S for unpack @@ -36,11 +37,11 @@ export LSOF_INCLUDE = "${STAGING_INCDIR}" do_configure () { export LSOF_AR="${AR} cr" export LSOF_RANLIB="${RANLIB}" - if [ "x${GLIBCVERSION}" != "x" ];then - LINUX_CLIB=`echo ${GLIBCVERSION} |sed -e 's,\.,,g'` - LINUX_CLIB="-DGLIBCV=${LINUX_CLIB}" - export LINUX_CLIB - fi + if [ "x${GLIBCVERSION}" != "x" ]; then + LINUX_CLIB=`echo ${GLIBCVERSION} |sed -e 's,\.,,g'` + LINUX_CLIB="-DGLIBCV=${LINUX_CLIB}" + export LINUX_CLIB + fi yes | ./Configure linux } -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 8 12:34:33 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 08 Jul 2017 12:34:33 +0000 Subject: [oe-commits] [openembedded-core] 23/31: image_types: fix kernel target on elf's image dependencies In-Reply-To: <149951725039.21269.4404944061198668926@git.openembedded.org> References: <149951725039.21269.4404944061198668926@git.openembedded.org> Message-ID: <20170708123411.8B447234827@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 50e6f23ef1e304c335d44e3e8e7a6cfa5a93fa86 Author: Leonardo Sandoval AuthorDate: Thu Jul 6 08:17:05 2017 -0700 image_types: fix kernel target on elf's image dependencies Kernel recipes provides 'virtual/kernel' so remove the native part. Signed-off-by: Leonardo Sandoval Signed-off-by: Ross Burton --- meta/classes/image_types.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/classes/image_types.bbclass b/meta/classes/image_types.bbclass index a5f7e19..92e0f2c 100644 --- a/meta/classes/image_types.bbclass +++ b/meta/classes/image_types.bbclass @@ -235,7 +235,7 @@ do_image_btrfs[depends] += "btrfs-tools-native:do_populate_sysroot" do_image_squashfs[depends] += "squashfs-tools-native:do_populate_sysroot" do_image_squashfs-xz[depends] += "squashfs-tools-native:do_populate_sysroot" do_image_squashfs-lzo[depends] += "squashfs-tools-native:do_populate_sysroot" -do_image_elf[depends] += "virtual/kernel-native:do_populate_sysroot mkelfimage-native:do_populate_sysroot" +do_image_elf[depends] += "virtual/kernel:do_populate_sysroot mkelfimage-native:do_populate_sysroot" do_image_ubi[depends] += "mtd-utils-native:do_populate_sysroot" do_image_ubifs[depends] += "mtd-utils-native:do_populate_sysroot" do_image_multiubi[depends] += "mtd-utils-native:do_populate_sysroot" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 8 12:34:31 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 08 Jul 2017 12:34:31 +0000 Subject: [oe-commits] [openembedded-core] 21/31: vulkan: RRECOMMEND mesa drivers In-Reply-To: <149951725039.21269.4404944061198668926@git.openembedded.org> References: <149951725039.21269.4404944061198668926@git.openembedded.org> Message-ID: <20170708123411.7AD5523482A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 0fc904749f45bd7d679233cced9d5a155afac421 Author: Jussi Kukkonen AuthorDate: Thu Jul 6 10:54:38 2017 +0300 vulkan: RRECOMMEND mesa drivers One less thing to remember when trying to build an image with working vulkan. Signed-off-by: Jussi Kukkonen Signed-off-by: Ross Burton --- meta/recipes-graphics/vulkan/vulkan_1.0.51.0.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/recipes-graphics/vulkan/vulkan_1.0.51.0.bb b/meta/recipes-graphics/vulkan/vulkan_1.0.51.0.bb index fe7dac0..555d741 100644 --- a/meta/recipes-graphics/vulkan/vulkan_1.0.51.0.bb +++ b/meta/recipes-graphics/vulkan/vulkan_1.0.51.0.bb @@ -32,3 +32,4 @@ PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '' ,d)} PACKAGECONFIG[x11] = "-DBUILD_WSI_XLIB_SUPPORT=ON -DBUILD_WSI_XCB_SUPPORT=ON -DDEMOS_WSI_SELECTION=XCB, -DBUILD_WSI_XLIB_SUPPORT=OFF -DBUILD_WSI_XCB_SUPPORT=OFF -DDEMOS_WSI_SELECTION=WAYLAND, libxcb libx11 libxrandr" PACKAGECONFIG[wayland] = "-DBUILD_WSI_WAYLAND_SUPPORT=ON, -DBUILD_WSI_WAYLAND_SUPPORT=OFF, wayland" +RRECOMMENDS_${PN} = "mesa-vulkan-drivers" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 8 12:34:32 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 08 Jul 2017 12:34:32 +0000 Subject: [oe-commits] [openembedded-core] 22/31: linuxloader.bbclass: add musl libc support In-Reply-To: <149951725039.21269.4404944061198668926@git.openembedded.org> References: <149951725039.21269.4404944061198668926@git.openembedded.org> Message-ID: <20170708123411.8228223482B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 5d4acaed81a811912e60d85c507bee819623369e Author: Ming Liu AuthorDate: Thu Jul 6 13:50:31 2017 +0200 linuxloader.bbclass: add musl libc support Current linuxloader.bbclass does not support musl libc ldso, so add it in. After changing, now the linuxloader function will call a subfunction according to which virtual/libc is being used, glibc or musl, the linuxloader_musl function is made on top of the LDSO macro defined in musl source, by mapping related OE variables to it. Change tested on following machines: "genericx86" "genericx86-64" "beaglebone" "qemumips64" "qemuarm64" "mpc8315e-rdb" "edgerouter" "qemumips" "kc705-microblazeel" - meta-xilinx "qemuppc" Signed-off-by: Ming Liu Signed-off-by: Ross Burton --- meta/classes/linuxloader.bbclass | 42 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) diff --git a/meta/classes/linuxloader.bbclass b/meta/classes/linuxloader.bbclass index 117b030..8f30eb3 100644 --- a/meta/classes/linuxloader.bbclass +++ b/meta/classes/linuxloader.bbclass @@ -1,5 +1,8 @@ +LDSO_TCLIBC = "glibc" +LDSO_TCLIBC_libc-musl = "musl" +LDSO_TCLIBC_libc-baremetal = "musl" -linuxloader () { +linuxloader_glibc () { case ${TARGET_ARCH} in powerpc | microblaze ) dynamic_loader="${base_libdir}/ld.so.1" @@ -28,3 +31,40 @@ linuxloader () { esac echo $dynamic_loader } + +linuxloader_musl () { + case ${TARGET_ARCH} in + microblaze* ) + dynamic_loader="${base_libdir}/ld-musl-microblaze${@bb.utils.contains('TUNE_FEATURES', 'bigendian', '', 'el' ,d)}.so.1" + ;; + mips* ) + dynamic_loader="${base_libdir}/ld-musl-mips${ABIEXTENSION}${MIPSPKGSFX_BYTE}${MIPSPKGSFX_R6}${MIPSPKGSFX_ENDIAN}${@['', '-sf'][d.getVar('TARGET_FPU') == 'soft']}.so.1" + ;; + powerpc ) + dynamic_loader="${base_libdir}/ld-musl-powerpc${@['', '-sf'][d.getVar('TARGET_FPU') == 'soft']}.so.1" + ;; + powerpc64 ) + dynamic_loader="${base_libdir}/ld-musl-powerpc64.so.1" + ;; + x86_64 ) + dynamic_loader="${base_libdir}/ld-musl-x86_64.so.1" + ;; + i*86 ) + dynamic_loader="${base_libdir}/ld-musl-i386.so.1" + ;; + arm* ) + dynamic_loader="${base_libdir}/ld-musl-arm${ARMPKGSFX_ENDIAN}${ARMPKGSFX_EABI}.so.1" + ;; + aarch64* ) + dynamic_loader="${base_libdir}/ld-musl-aarch64${ARMPKGSFX_ENDIAN_64}.so.1" + ;; + * ) + dynamic_loader="/unknown_dynamic_linker" + ;; + esac + echo $dynamic_loader +} + +linuxloader () { + linuxloader_${LDSO_TCLIBC} +} -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 8 12:34:35 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 08 Jul 2017 12:34:35 +0000 Subject: [oe-commits] [openembedded-core] 25/31: lsof: update SRC_URI In-Reply-To: <149951725039.21269.4404944061198668926@git.openembedded.org> References: <149951725039.21269.4404944061198668926@git.openembedded.org> Message-ID: <20170708123411.9C9BA23483B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 4e718242c1554021689a7946add055b22b81ec42 Author: Andre McCurdy AuthorDate: Thu Jul 6 12:49:01 2017 -0700 lsof: update SRC_URI Upstream lsof releases are hosted on an ftp server which times out download attempts from hosts for which it can not perform a DNS reverse-lookup. See: https://people.freebsd.org/~abe/ http://www.mirrorservice.org seems to be the most commonly used alternative (and using it for SRC_URI allows the custom UPSTREAM_CHECK_URI to be removed). Signed-off-by: Andre McCurdy Signed-off-by: Ross Burton --- meta/recipes-extended/lsof/lsof_4.89.bb | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/meta/recipes-extended/lsof/lsof_4.89.bb b/meta/recipes-extended/lsof/lsof_4.89.bb index 0c38e97..29245b1 100644 --- a/meta/recipes-extended/lsof/lsof_4.89.bb +++ b/meta/recipes-extended/lsof/lsof_4.89.bb @@ -6,13 +6,16 @@ SECTION = "devel" LICENSE = "BSD" LIC_FILES_CHKSUM = "file://00README;beginline=645;endline=679;md5=964df275d26429ba3b39dbb9f205172a" -SRC_URI = "ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/lsof_${PV}.tar.bz2" +# Upstream lsof releases are hosted on an ftp server which times out download +# attempts from hosts for which it can not perform a DNS reverse-lookup (See: +# https://people.freebsd.org/~abe/ ). http://www.mirrorservice.org seems to be +# the most commonly used alternative. + +SRC_URI = "http://www.mirrorservice.org/sites/lsof.itap.purdue.edu/pub/tools/unix/lsof/lsof_${PV}.tar.bz2" SRC_URI[md5sum] = "1b9cd34f3fb86856a125abbf2be3a386" SRC_URI[sha256sum] = "81ac2fc5fdc944793baf41a14002b6deb5a29096b387744e28f8c30a360a3718" -UPSTREAM_CHECK_URI = "http://www.mirrorservice.org/sites/lsof.itap.purdue.edu/pub/tools/unix/lsof" - LOCALSRC = "file://${WORKDIR}/lsof_${PV}/lsof_${PV}_src.tar" S = "${WORKDIR}/lsof_${PV}_src" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 8 12:34:37 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 08 Jul 2017 12:34:37 +0000 Subject: [oe-commits] [openembedded-core] 27/31: oeqa/runtime: Replace buildiptables for buildlzip on runtime tests In-Reply-To: <149951725039.21269.4404944061198668926@git.openembedded.org> References: <149951725039.21269.4404944061198668926@git.openembedded.org> Message-ID: <20170708123411.B2D0523483D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 41683e0ab316049e28b1f4ceaf39f0fe17722d92 Author: Jose Perez Carranza AuthorDate: Thu Jul 6 14:03:07 2017 -0700 oeqa/runtime: Replace buildiptables for buildlzip on runtime tests Buildiptables test cases are conflicting with images built with ?musl? as standard C library, in order to avoid those issues lzip package was selected to be used on the tests as this does not have any "musl" dependency. This patch is applicable for testimage tests [YOCTO # 11713] Signed-off-by: Jose Perez Carranza Signed-off-by: Ross Burton --- meta/lib/oeqa/runtime/cases/{buildiptables.py => buildlzip.py} | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/meta/lib/oeqa/runtime/cases/buildiptables.py b/meta/lib/oeqa/runtime/cases/buildlzip.py similarity index 89% rename from meta/lib/oeqa/runtime/cases/buildiptables.py rename to meta/lib/oeqa/runtime/cases/buildlzip.py index 002b16c..ca3fead 100644 --- a/meta/lib/oeqa/runtime/cases/buildiptables.py +++ b/meta/lib/oeqa/runtime/cases/buildlzip.py @@ -5,12 +5,12 @@ from oeqa.core.decorator.data import skipIfNotFeature from oeqa.runtime.utils.targetbuildproject import TargetBuildProject -class BuildIptablesTest(OERuntimeTestCase): +class BuildLzipTest(OERuntimeTestCase): @classmethod def setUpClass(cls): uri = 'http://downloads.yoctoproject.org/mirror/sources' - uri = '%s/iptables-1.4.13.tar.bz2' % uri + uri = '%s/lzip-1.19.tar.gz' % uri cls.project = TargetBuildProject(cls.tc.target, uri, dl_dir = cls.tc.td['DL_DIR']) @@ -24,7 +24,7 @@ class BuildIptablesTest(OERuntimeTestCase): @skipIfNotFeature('tools-sdk', 'Test requires tools-sdk to be in IMAGE_FEATURES') @OETestDepends(['ssh.SSHTest.test_ssh']) - def test_iptables(self): + def test_lzip(self): self.project.run_configure() self.project.run_make() self.project.run_install() -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 8 12:34:27 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 08 Jul 2017 12:34:27 +0000 Subject: [oe-commits] [openembedded-core] 17/31: vulkan: Upgrade 1.0.39.1 -> 1.0.51.0 In-Reply-To: <149951725039.21269.4404944061198668926@git.openembedded.org> References: <149951725039.21269.4404944061198668926@git.openembedded.org> Message-ID: <20170708123411.58315234838@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit da21b51ec84080b5e544b197e7fb49cb91642a31 Author: Jussi Kukkonen AuthorDate: Thu Jul 6 10:54:33 2017 +0300 vulkan: Upgrade 1.0.39.1 -> 1.0.51.0 Remove a patch that's no longer needed Signed-off-by: Jussi Kukkonen Signed-off-by: Ross Burton --- ...se-getenv-if-secure_getenv-does-not-exist.patch | 34 ---------------------- .../{vulkan_1.0.39.1.bb => vulkan_1.0.51.0.bb} | 5 ++-- 2 files changed, 2 insertions(+), 37 deletions(-) diff --git a/meta/recipes-graphics/vulkan/vulkan/0001-Use-getenv-if-secure_getenv-does-not-exist.patch b/meta/recipes-graphics/vulkan/vulkan/0001-Use-getenv-if-secure_getenv-does-not-exist.patch deleted file mode 100644 index 694922c..0000000 --- a/meta/recipes-graphics/vulkan/vulkan/0001-Use-getenv-if-secure_getenv-does-not-exist.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 20525add1df8e1fb13fef90ac068f982def8b958 Mon Sep 17 00:00:00 2001 -From: Jussi Kukkonen -Date: Wed, 8 Mar 2017 13:23:58 +0200 -Subject: [PATCH] Use getenv() if secure_getenv() does not exist - -musl does not implement secure version: default to getenv() in that -case. - -https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/issues/1538 - -Upstream-Status: Pending -Signed-off-by: Jussi Kukkonen ---- - loader/loader.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/loader/loader.c b/loader/loader.c -index 24758f4..bff79c1 100644 ---- a/loader/loader.c -+++ b/loader/loader.c -@@ -54,6 +54,10 @@ - #endif - #endif - -+#if !defined(__secure_getenv) -+#define __secure_getenv getenv -+#endif -+ - struct loader_struct loader = {0}; - // TLS for instance for alloc/free callbacks - THREAD_LOCAL_DECL struct loader_instance *tls_instance; --- -2.1.4 - diff --git a/meta/recipes-graphics/vulkan/vulkan_1.0.39.1.bb b/meta/recipes-graphics/vulkan/vulkan_1.0.51.0.bb similarity index 90% rename from meta/recipes-graphics/vulkan/vulkan_1.0.39.1.bb rename to meta/recipes-graphics/vulkan/vulkan_1.0.51.0.bb index 7f0ba21..fe7dac0 100644 --- a/meta/recipes-graphics/vulkan/vulkan_1.0.39.1.bb +++ b/meta/recipes-graphics/vulkan/vulkan_1.0.51.0.bb @@ -10,11 +10,10 @@ SECTION = "libs" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=99c647ca3d4f6a4b9d8628f757aad156 \ file://loader/loader.c;endline=25;md5=a87cd5442291c23d1fce4eece4cfde9d" -SRC_URI = "git://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers.git;branch=sdk-1.0.39 \ +SRC_URI = "git://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers.git;branch=sdk-1.0.51 \ file://demos-Don-t-build-tri-or-cube.patch \ - file://0001-Use-getenv-if-secure_getenv-does-not-exist.patch \ " -SRCREV = "9c21ed0fb275589c3af6118aec9ef4f1d1544dc1" +SRCREV = "8d021e4d5a9f91436f4462df1dafb222908e296d" UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P\d+(\.\d+)+)" S = "${WORKDIR}/git" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 8 12:34:29 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 08 Jul 2017 12:34:29 +0000 Subject: [oe-commits] [openembedded-core] 19/31: gstreamer1.0-plugins-bad: Add vulkan PACKAGECONFIG In-Reply-To: <149951725039.21269.4404944061198668926@git.openembedded.org> References: <149951725039.21269.4404944061198668926@git.openembedded.org> Message-ID: <20170708123411.69DC523483A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit a80a0b3981d129a945ddd775690963cefa15376a Author: Jussi Kukkonen AuthorDate: Thu Jul 6 10:54:36 2017 +0300 gstreamer1.0-plugins-bad: Add vulkan PACKAGECONFIG This adds a Vulkan video sink (using xcb and/or wayland). Add a few patches to fix the build. Signed-off-by: Jussi Kukkonen Signed-off-by: Ross Burton --- .../gstreamer/gstreamer1.0-plugins-bad.inc | 4 +- ...y-Use-ifdef-for-platform-specific-defines.patch | 37 +++++++++++++ ...n-Use-the-generated-version-of-vkconfig.h.patch | 64 ++++++++++++++++++++++ .../gstreamer/gstreamer1.0-plugins-bad_1.10.4.bb | 2 + 4 files changed, 105 insertions(+), 2 deletions(-) diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc index 0ccfc89..4f6bc85 100644 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc @@ -66,6 +66,7 @@ PACKAGECONFIG[srtp] = "--enable-srtp,--disable-srtp,libsrtp" PACKAGECONFIG[uvch264] = "--enable-uvch264,--disable-uvch264,libusb1 libgudev" PACKAGECONFIG[voaacenc] = "--enable-voaacenc,--disable-voaacenc,vo-aacenc" PACKAGECONFIG[voamrwbenc] = "--enable-voamrwbenc,--disable-voamrwbenc,vo-amrwbenc" +PACKAGECONFIG[vulkan] = "--enable-vulkan,--disable-vulkan,vulkan" PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland-native wayland wayland-protocols" PACKAGECONFIG[webp] = "--enable-webp,--disable-webp,libwebp" @@ -78,7 +79,7 @@ PACKAGECONFIG[webp] = "--enable-webp,--disable-webp,libwebp" # openni2 winks direct3d directsound winscreencap acm apple_media # android_media avc bs2b chromaprint daala dts fdkaac gme gsm kate ladspa libde265 # lv2 mimic mpeg2enc mplex musepack nvenc ofa openh264 opensles pvr soundtouch spandsp -# spc teletextdec tinyalsa vdpau vulkan wasapi x265 zbar +# spc teletextdec tinyalsa vdpau wasapi x265 zbar # qt5 support is disabled, because it is not present in OE core, and requires more work than # just adding a packageconfig (it requires access to moc, uic, rcc, and qmake paths). @@ -136,7 +137,6 @@ EXTRA_OECONF += " \ --disable-timidity \ --disable-tinyalsa \ --disable-vdpau \ - --disable-vulkan \ --disable-wasapi \ --disable-wildmidi \ --disable-wininet \ diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-vkdisplay-Use-ifdef-for-platform-specific-defines.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-vkdisplay-Use-ifdef-for-platform-specific-defines.patch new file mode 100644 index 0000000..caaa62d --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-vkdisplay-Use-ifdef-for-platform-specific-defines.patch @@ -0,0 +1,37 @@ +From 1523ab462c1bf19055960ced255f4872b6cf9f5c Mon Sep 17 00:00:00 2001 +From: Jussi Kukkonen +Date: Wed, 5 Jul 2017 11:00:42 +0300 +Subject: [PATCH 1/2] vkdisplay: Use ifdef for platform specific defines + +VK_KHR_*_SURFACE_EXTENSION_NAME are only available when corresponding +WSI is enabled. + +Signed-off-by: Jussi Kukkonen +Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=784539] +--- + ext/vulkan/vkdisplay.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/ext/vulkan/vkdisplay.c b/ext/vulkan/vkdisplay.c +index 550134cd8..ade5d4583 100644 +--- a/ext/vulkan/vkdisplay.c ++++ b/ext/vulkan/vkdisplay.c +@@ -448,11 +448,15 @@ gst_vulkan_display_type_to_extension_string (GstVulkanDisplayType type) + if (type == GST_VULKAN_DISPLAY_TYPE_NONE) + return NULL; + ++#if GST_VULKAN_HAVE_WINDOW_XCB + if (type & GST_VULKAN_DISPLAY_TYPE_XCB) + return VK_KHR_XCB_SURFACE_EXTENSION_NAME; ++#endif + ++#if GST_VULKAN_HAVE_WINDOW_WAYLAND + if (type & GST_VULKAN_DISPLAY_TYPE_WAYLAND) + return VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME; ++#endif + + return NULL; + } +-- +2.13.2 + diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-vulkan-Use-the-generated-version-of-vkconfig.h.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-vulkan-Use-the-generated-version-of-vkconfig.h.patch new file mode 100644 index 0000000..0df145d --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-vulkan-Use-the-generated-version-of-vkconfig.h.patch @@ -0,0 +1,64 @@ +From c23e1dc22deb495561cffb877edb2746b740a1fa Mon Sep 17 00:00:00 2001 +From: Jussi Kukkonen +Date: Wed, 5 Jul 2017 11:07:05 +0300 +Subject: [PATCH 2/2] vulkan: Use the generated version of vkconfig.h + +Build fails in ext/vulkan/xcb and ext/vulkan/wayland when: +* building from tarball +* building out-of-tree +* Only one WSI integration (xcb or wayland) is enabled by configure.ac +This is because vkconfig.h from source directory gets used instead +of the generated one. + +Add the correct build directory to "-I". Use angle bracket +include in vkapi.h so that it actually looks in the include search +path instead of defaulting to the same (source tree) directory. + +Signed-off-by: Jussi Kukkonen +Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=784539] +--- + ext/vulkan/vkapi.h | 2 +- + ext/vulkan/wayland/Makefile.am | 1 + + ext/vulkan/xcb/Makefile.am | 1 + + 3 files changed, 3 insertions(+), 1 deletion(-) + +diff --git a/ext/vulkan/vkapi.h b/ext/vulkan/vkapi.h +index e9c23aa92..a37c29d0f 100644 +--- a/ext/vulkan/vkapi.h ++++ b/ext/vulkan/vkapi.h +@@ -23,7 +23,7 @@ + + #define VK_PROTOTYPES + +-#include "vkconfig.h" ++#include + #include "vk_fwd.h" + #include "vkmacros.h" + +diff --git a/ext/vulkan/wayland/Makefile.am b/ext/vulkan/wayland/Makefile.am +index f92d85e2c..10cfb70e6 100644 +--- a/ext/vulkan/wayland/Makefile.am ++++ b/ext/vulkan/wayland/Makefile.am +@@ -14,6 +14,7 @@ noinst_HEADERS = \ + + libgstvulkan_wayland_la_CFLAGS = \ + -I$(top_srcdir)/gst-libs \ ++ -I$(top_builddir)/ext/vulkan \ + -I$(top_srcdir)/ext/vulkan \ + -I$(top_builddir)/gst-libs \ + $(GST_PLUGINS_BASE_CFLAGS) \ +diff --git a/ext/vulkan/xcb/Makefile.am b/ext/vulkan/xcb/Makefile.am +index 7debcff9e..b5103551b 100644 +--- a/ext/vulkan/xcb/Makefile.am ++++ b/ext/vulkan/xcb/Makefile.am +@@ -14,6 +14,7 @@ noinst_HEADERS = \ + + libgstvulkan_xcb_la_CFLAGS = \ + -I$(top_srcdir)/gst-libs \ ++ -I$(top_builddir)/ext/vulkan \ + -I$(top_srcdir)/ext/vulkan \ + -I$(top_builddir)/gst-libs \ + $(GST_PLUGINS_BASE_CFLAGS) \ +-- +2.13.2 + diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.10.4.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.10.4.bb index def03a9..a769230 100644 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.10.4.bb +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.10.4.bb @@ -19,6 +19,8 @@ SRC_URI = " \ file://0001-smoothstreaming-use-the-duration-from-the-list-of-fr.patch \ file://0001-mssdemux-improved-live-playback-support.patch \ file://link-with-libvchostif.patch \ + file://0001-vkdisplay-Use-ifdef-for-platform-specific-defines.patch \ + file://0002-vulkan-Use-the-generated-version-of-vkconfig.h.patch \ " SRC_URI[md5sum] = "2757103e57a096a1a05b3ab85b8381af" SRC_URI[sha256sum] = "23ddae506b3a223b94869a0d3eea3e9a12e847f94d2d0e0b97102ce13ecd6966" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 8 12:34:40 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 08 Jul 2017 12:34:40 +0000 Subject: [oe-commits] [openembedded-core] 30/31: staging: Ensure a clean recipe sysroot removes addto_recipe_sysroot stamps In-Reply-To: <149951725039.21269.4404944061198668926@git.openembedded.org> References: <149951725039.21269.4404944061198668926@git.openembedded.org> Message-ID: <20170708123411.D555C234840@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit c440298674ab3b960c83a127eedb9e1b66bddf78 Author: Richard Purdie AuthorDate: Fri Jul 7 13:12:31 2017 +0100 staging: Ensure a clean recipe sysroot removes addto_recipe_sysroot stamps The commands: bitbake nodejs-native; bitbake nodejs-native -c clean; bitbake nodejs-native; bitbake -c addto_recipe_sysroot nodejs-native; bitbake -c devshell nodejs-native; bitbake -c addto_recipe_sysroot nodejs-native; bitbake -c devshell nodejs-native; never result in npm in the sysroot within devshell. The reason is the addto_recipe_sysroot stamp isn't removed when do_fetch is run but the sysroot is cleaned. With this patch, the second devshell will contain npm, which I think is probably the best outcome we can hope for here. [YOCTO #11461] Signed-off-by: Richard Purdie --- meta/classes/staging.bbclass | 3 +++ 1 file changed, 3 insertions(+) diff --git a/meta/classes/staging.bbclass b/meta/classes/staging.bbclass index fe82294..8f470d5 100644 --- a/meta/classes/staging.bbclass +++ b/meta/classes/staging.bbclass @@ -559,6 +559,9 @@ addtask do_prepare_recipe_sysroot before do_configure after do_fetch # Clean out the recipe specific sysroots before do_fetch # (use a prefunc so we can order before extend_recipe_sysroot if it gets added) python clean_recipe_sysroot() { + # We remove these stamps since we're removing any content they'd have added with + # cleandirs. This removes the sigdata too, likely not a big deal, + oe.path.remove(d.getVar("STAMP") + "*addto_recipe_sysroot*") return } clean_recipe_sysroot[cleandirs] += "${RECIPE_SYSROOT} ${RECIPE_SYSROOT_NATIVE}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 8 12:34:28 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 08 Jul 2017 12:34:28 +0000 Subject: [oe-commits] [openembedded-core] 18/31: assimp: Add as dependency of vulkan-demos In-Reply-To: <149951725039.21269.4404944061198668926@git.openembedded.org> References: <149951725039.21269.4404944061198668926@git.openembedded.org> Message-ID: <20170708123411.60D6C234839@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit d3f7a18c8119c22b5120fc618396548259a012e7 Author: Jussi Kukkonen AuthorDate: Thu Jul 6 10:54:34 2017 +0300 assimp: Add as dependency of vulkan-demos Asset import library used by Sascha Willems Vulkan demos. Signed-off-by: Jussi Kukkonen Signed-off-by: Ross Burton --- meta/recipes-graphics/vulkan/assimp_git.bb | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/meta/recipes-graphics/vulkan/assimp_git.bb b/meta/recipes-graphics/vulkan/assimp_git.bb new file mode 100644 index 0000000..c519458 --- /dev/null +++ b/meta/recipes-graphics/vulkan/assimp_git.bb @@ -0,0 +1,14 @@ +DESCRIPTION = "Open Asset Import Library" +LICENSE = "BSD-3-Clause" +DEPENDS = "zlib" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=2119edef0916b0bd511cb3c731076271 \ + file://code/Assimp.cpp;endline=41;md5=717f847b6e8f43c64cdbafcfea109923" + +SRC_URI = "git://github.com/assimp/assimp.git" +SRCREV = "b38ba233f530fdb103d3ede3df5126121af78b10" +S = "${WORKDIR}/git" + +inherit cmake +EXTRA_OECMAKE = "-DASSIMP_BUILD_ASSIMP_TOOLS=OFF -DASSIMP_BUILD_TESTS=OFF" +FILES_${PN}-dev += "${libdir}/cmake/assimp-3.3" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 8 12:34:26 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 08 Jul 2017 12:34:26 +0000 Subject: [oe-commits] [openembedded-core] 16/31: perl: Support musl-x32 build In-Reply-To: <149951725039.21269.4404944061198668926@git.openembedded.org> References: <149951725039.21269.4404944061198668926@git.openembedded.org> Message-ID: <20170708123411.4F6BE234837@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 4a50250edb48510fa6382b2700a39a74847d287b Author: sweeaun AuthorDate: Wed Jul 5 16:56:37 2017 -0700 perl: Support musl-x32 build Existing musl fixups in perl recipe doesn't cover linux-muslx32. This is fixed to support musl-x32 build. Signed-off-by: sweeaun Signed-off-by: Ross Burton --- meta/recipes-devtools/perl/perl_5.24.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-devtools/perl/perl_5.24.1.bb b/meta/recipes-devtools/perl/perl_5.24.1.bb index b0ceb84..95d9694 100644 --- a/meta/recipes-devtools/perl/perl_5.24.1.bb +++ b/meta/recipes-devtools/perl/perl_5.24.1.bb @@ -125,7 +125,7 @@ do_configure() { done # Fixups for musl - if [ "${TARGET_OS}" = "linux-musl" -o "${TARGET_OS}" = "linux-musleabi" ]; then + if [ "${TARGET_OS}" = "linux-musl" -o "${TARGET_OS}" = "linux-musleabi" -o "${TARGET_OS}" = "linux-muslx32" ]; then sed -i -e "s,\(d_libm_lib_version=\)'define',\1'undef',g" \ -e "s,\(d_stdio_ptr_lval=\)'define',\1'undef',g" \ -e "s,\(d_stdio_ptr_lval_sets_cnt=\)'define',\1'undef',g" \ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 8 12:34:30 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 08 Jul 2017 12:34:30 +0000 Subject: [oe-commits] [openembedded-core] 20/31: mesa, gstreamer: Add "vulkan" DISTRO_FEATURE In-Reply-To: <149951725039.21269.4404944061198668926@git.openembedded.org> References: <149951725039.21269.4404944061198668926@git.openembedded.org> Message-ID: <20170708123411.74A92234828@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit a5ed54e5253006ce3a5a74c1243c949a42642ff7 Author: Jussi Kukkonen AuthorDate: Thu Jul 6 10:54:37 2017 +0300 mesa, gstreamer: Add "vulkan" DISTRO_FEATURE It doesn't do much but does make enabling vulkan a little less fiddly. Signed-off-by: Jussi Kukkonen Signed-off-by: Ross Burton --- meta/recipes-graphics/mesa/mesa.inc | 3 ++- meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc index a12ab7a..59e8923 100644 --- a/meta/recipes-graphics/mesa/mesa.inc +++ b/meta/recipes-graphics/mesa/mesa.inc @@ -25,7 +25,8 @@ REQUIRED_DISTRO_FEATURES = "opengl" EXTRA_OECONF = "--enable-shared-glapi --with-llvm-prefix=${STAGING_BINDIR_NATIVE}" PACKAGECONFIG ??= "gbm egl gles dri \ - ${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11 vulkan', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11 vulkan', 'dri3', '', d)} \ " PACKAGECONFIG[gbm] = "--enable-gbm,--disable-gbm" diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc index 4f6bc85..e964fef 100644 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc @@ -20,7 +20,7 @@ PACKAGECONFIG ??= " \ ${GSTREAMER_ORC} \ ${PACKAGECONFIG_GL} \ ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \ - ${@bb.utils.filter('DISTRO_FEATURES', 'directfb', d)} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'directfb vulkan', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland egl', '', d)} \ bz2 curl dash dtls hls neon rsvg sbc smoothstreaming sndfile uvch264 webp \ " -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 8 12:34:38 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 08 Jul 2017 12:34:38 +0000 Subject: [oe-commits] [openembedded-core] 28/31: testimage: Use the renamed buildlzip In-Reply-To: <149951725039.21269.4404944061198668926@git.openembedded.org> References: <149951725039.21269.4404944061198668926@git.openembedded.org> Message-ID: <20170708123411.B970223483E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 57cd682e05f82b63090b0cbb4a1d8feb3bfbff23 Author: Khem Raj AuthorDate: Thu Jul 6 14:03:08 2017 -0700 testimage: Use the renamed buildlzip buildiptables has been replaced with buildlzip Signed-off-by: Khem Raj Signed-off-by: Ross Burton --- meta/classes/testimage.bbclass | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/meta/classes/testimage.bbclass b/meta/classes/testimage.bbclass index 6fa2d6f..0c4a84e 100644 --- a/meta/classes/testimage.bbclass +++ b/meta/classes/testimage.bbclass @@ -49,10 +49,10 @@ DEFAULT_TEST_SUITES_pn-core-image-x11 = "${MINTESTSUITE}" DEFAULT_TEST_SUITES_pn-core-image-lsb = "${NETTESTSUITE} pam parselogs ${RPMTESTSUITE}" DEFAULT_TEST_SUITES_pn-core-image-sato = "${NETTESTSUITE} connman xorg parselogs ${RPMTESTSUITE} \ ${@bb.utils.contains('IMAGE_PKGTYPE', 'rpm', 'python', '', d)}" -DEFAULT_TEST_SUITES_pn-core-image-sato-sdk = "${NETTESTSUITE} buildcpio buildiptables buildgalculator \ +DEFAULT_TEST_SUITES_pn-core-image-sato-sdk = "${NETTESTSUITE} buildcpio buildlzip buildgalculator \ connman ${DEVTESTSUITE} logrotate perl parselogs python ${RPMTESTSUITE} xorg" DEFAULT_TEST_SUITES_pn-core-image-lsb-dev = "${NETTESTSUITE} pam perl python parselogs ${RPMTESTSUITE}" -DEFAULT_TEST_SUITES_pn-core-image-lsb-sdk = "${NETTESTSUITE} buildcpio buildiptables buildgalculator \ +DEFAULT_TEST_SUITES_pn-core-image-lsb-sdk = "${NETTESTSUITE} buildcpio buildlzip buildgalculator \ connman ${DEVTESTSUITE} logrotate pam parselogs perl python ${RPMTESTSUITE}" DEFAULT_TEST_SUITES_pn-meta-toolchain = "auto" @@ -61,7 +61,7 @@ DEFAULT_TEST_SUITES_remove_aarch64 = "xorg" # qemumips is quite slow and has reached the timeout limit several times on the YP build cluster, # mitigate this by removing build tests for qemumips machines. -MIPSREMOVE ??= "buildcpio buildiptables buildgalculator" +MIPSREMOVE ??= "buildcpio buildlzip buildgalculator" DEFAULT_TEST_SUITES_remove_qemumips = "${MIPSREMOVE}" DEFAULT_TEST_SUITES_remove_qemumips64 = "${MIPSREMOVE}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 8 12:34:36 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 08 Jul 2017 12:34:36 +0000 Subject: [oe-commits] [openembedded-core] 26/31: mirrors.bbclass: remove stale lsof ftp mirrors In-Reply-To: <149951725039.21269.4404944061198668926@git.openembedded.org> References: <149951725039.21269.4404944061198668926@git.openembedded.org> Message-ID: <20170708123411.A4EE323483C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 2ea075ffd6a4d68be546f0c10fc94f7a27e8f761 Author: Andre McCurdy AuthorDate: Thu Jul 6 12:49:02 2017 -0700 mirrors.bbclass: remove stale lsof ftp mirrors Replace with an mapping for http://www.mirrorservice.org to align with recent changes to SRC_URI in the lsof recipe and allow non-current lsof tar files to be found in the /OLD subdirectory. Signed-off-by: Andre McCurdy Signed-off-by: Ross Burton --- meta/classes/mirrors.bbclass | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/meta/classes/mirrors.bbclass b/meta/classes/mirrors.bbclass index de2c2b9..9b72473 100644 --- a/meta/classes/mirrors.bbclass +++ b/meta/classes/mirrors.bbclass @@ -30,16 +30,7 @@ ftp://dante.ctan.org/tex-archive http://ctan.unsw.edu.au/ \n \ ftp://ftp.gnutls.org/gcrypt/gnutls ${GNUPG_MIRROR}/gnutls \n \ http://ftp.info-zip.org/pub/infozip/src/ http://mirror.switch.ch/ftp/mirror/infozip/src/ \n \ http://ftp.info-zip.org/pub/infozip/src/ ftp://sunsite.icm.edu.pl/pub/unix/archiving/info-zip/src/ \n \ -ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.cerias.purdue.edu/pub/tools/unix/sysutils/lsof/ \n \ -ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.tau.ac.il/pub/unix/admin/ \n \ -ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.cert.dfn.de/pub/tools/admin/lsof/ \n \ -ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.fu-berlin.de/pub/unix/tools/lsof/ \n \ -ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.kaizo.org/pub/lsof/ \n \ -ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.tu-darmstadt.de/pub/sysadmin/lsof/ \n \ -ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.tux.org/pub/sites/vic.cc.purdue.edu/tools/unix/lsof/ \n \ -ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://gd.tuwien.ac.at/utils/admin-tools/lsof/ \n \ -ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://sunsite.ualberta.ca/pub/Mirror/lsof/ \n \ -ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://the.wiretapped.net/pub/security/host-security/lsof/ \n \ +http://www.mirrorservice.org/sites/lsof.itap.purdue.edu/pub/tools/unix/lsof/ http://www.mirrorservice.org/sites/lsof.itap.purdue.edu/pub/tools/unix/lsof/OLD/ \n \ ${APACHE_MIRROR} http://www.us.apache.org/dist \n \ ${APACHE_MIRROR} http://archive.apache.org/dist \n \ http://downloads.sourceforge.net/watchdog/ http://fossies.org/linux/misc/ \n \ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 8 12:34:39 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 08 Jul 2017 12:34:39 +0000 Subject: [oe-commits] [openembedded-core] 29/31: oeqa/sdk: Replace buildiptables for buildlzip tests In-Reply-To: <149951725039.21269.4404944061198668926@git.openembedded.org> References: <149951725039.21269.4404944061198668926@git.openembedded.org> Message-ID: <20170708123411.C751923483F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit b798284f62b3cb171373716b1ee84403439314aa Author: Jose Perez Carranza AuthorDate: Mon Jul 3 13:04:15 2017 -0700 oeqa/sdk: Replace buildiptables for buildlzip tests Buildiptables test cases are conflicting with images built with ?musl? as standard C library, in order to avoid those issues lzip package was selected to be used on the tests as this does not have any "musl" dependency. [YOCTO #11713] Signed-off-by: Jose Perez Carranza Signed-off-by: Ross Burton --- meta/lib/oeqa/sdk/cases/{buildiptables.py => buildlzip.py} | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/meta/lib/oeqa/sdk/cases/buildiptables.py b/meta/lib/oeqa/sdk/cases/buildlzip.py similarity index 84% rename from meta/lib/oeqa/sdk/cases/buildiptables.py rename to meta/lib/oeqa/sdk/cases/buildlzip.py index 419c7eb..3a89ce8 100644 --- a/meta/lib/oeqa/sdk/cases/buildiptables.py +++ b/meta/lib/oeqa/sdk/cases/buildlzip.py @@ -3,15 +3,15 @@ from oeqa.sdk.case import OESDKTestCase from oeqa.sdk.utils.sdkbuildproject import SDKBuildProject -class BuildIptablesTest(OESDKTestCase): +class BuildLzipTest(OESDKTestCase): td_vars = ['DATETIME'] @classmethod def setUpClass(self): dl_dir = self.td.get('DL_DIR', None) - self.project = SDKBuildProject(self.tc.sdk_dir + "/iptables/", self.tc.sdk_env, - "http://downloads.yoctoproject.org/mirror/sources/iptables-1.4.13.tar.bz2", + self.project = SDKBuildProject(self.tc.sdk_dir + "/lzip/", self.tc.sdk_env, + "http://downloads.yoctoproject.org/mirror/sources/lzip-1.19.tar.gz", self.tc.sdk_dir, self.td['DATETIME'], dl_dir=dl_dir) self.project.download_archive() @@ -21,7 +21,7 @@ class BuildIptablesTest(OESDKTestCase): self.tc.hasTargetPackage("gcc")): raise unittest.SkipTest("SDK doesn't contain a cross-canadian toolchain") - def test_iptables(self): + def test_lzip(self): self.assertEqual(self.project.run_configure(), 0, msg="Running configure failed") -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 8 12:34:41 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 08 Jul 2017 12:34:41 +0000 Subject: [oe-commits] [openembedded-core] 31/31: oeqa/tinfoil: Improve test_wait_event for race issues In-Reply-To: <149951725039.21269.4404944061198668926@git.openembedded.org> References: <149951725039.21269.4404944061198668926@git.openembedded.org> Message-ID: <20170708123411.DDD8D234841@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 7dd5dfc4d56f1201110d947ce1ca3c6d64fbc7da Author: Richard Purdie AuthorDate: Fri Jul 7 13:55:06 2017 +0100 oeqa/tinfoil: Improve test_wait_event for race issues The test could break in a variety of ways: a) If BB_HEARTBEAT_EVENT was less than ~0.25 it would hang indefinitely b) The mask is set after draining the event queue meaning a heartbeat event could have happened c) The test exits once it sees the events it wants, it doesn't check for spurious events such as heartbeats which shouldn't have occured. d) The hardcoded delay of 0.25 is nasty and shouldn't be needed. I found a bitbake bug and fixed that meaning we don't need the delay any more which fixes d). That means a) is no longer an issue either. We now set the mask, then drain the queue meaning no spurious events should be able to sneak in. The test is also tweaked to wait for 5s in total to ensure spurious events don't occur such as heartbeat events we shouldn't see. [YOCTO #11045] Signed-off-by: Richard Purdie --- meta/lib/oeqa/selftest/cases/tinfoil.py | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/meta/lib/oeqa/selftest/cases/tinfoil.py b/meta/lib/oeqa/selftest/cases/tinfoil.py index 3a58761..aa1af7e 100644 --- a/meta/lib/oeqa/selftest/cases/tinfoil.py +++ b/meta/lib/oeqa/selftest/cases/tinfoil.py @@ -1,5 +1,6 @@ import os import re +import time import bb.tinfoil from oeqa.selftest.case import OESelftestTestCase @@ -102,21 +103,26 @@ class TinfoilTests(OESelftestTestCase): def test_wait_event(self): with bb.tinfoil.Tinfoil() as tinfoil: tinfoil.prepare(config_only=True) - # Need to drain events otherwise events that will be masked will still be in the queue - while tinfoil.wait_event(0.25): - pass + tinfoil.set_event_mask(['bb.event.FilesMatchingFound', 'bb.command.CommandCompleted']) + + # Need to drain events otherwise events that were masked may still be in the queue + while tinfoil.wait_event(): + pass + pattern = 'conf' res = tinfoil.run_command('findFilesMatchingInDir', pattern, 'conf/machine') self.assertTrue(res) eventreceived = False - waitcount = 5 - while waitcount > 0: + commandcomplete = False + start = time.time() + # Wait for 5s in total so we'd detect spurious heartbeat events for example + while time.time() - start < 5: event = tinfoil.wait_event(1) if event: if isinstance(event, bb.command.CommandCompleted): - break + commandcomplete = True elif isinstance(event, bb.event.FilesMatchingFound): self.assertEqual(pattern, event._pattern) self.assertIn('qemuarm.conf', event._matches) @@ -124,9 +130,7 @@ class TinfoilTests(OESelftestTestCase): else: self.fail('Unexpected event: %s' % event) - waitcount = waitcount - 1 - - self.assertNotEqual(waitcount, 0, 'Timed out waiting for CommandCompleted event from bitbake server') + self.assertTrue(commandcomplete, 'Timed out waiting for CommandCompleted event from bitbake server') self.assertTrue(eventreceived, 'Did not receive FilesMatchingFound event from bitbake server') @OETestID(1576) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 8 18:17:05 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 08 Jul 2017 18:17:05 +0000 Subject: [oe-commits] [meta-openembedded] 03/11: python-pytest: update to version 3.1.3 In-Reply-To: <149953782210.7764.16805806755936026881@git.openembedded.org> References: <149953782210.7764.16805806755936026881@git.openembedded.org> Message-ID: <20170708181702.843C7234858@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 8d8958eb7097e852a097e84cdbf28e3c9920796f Author: Derek Straka AuthorDate: Wed Jul 5 10:00:21 2017 -0400 python-pytest: update to version 3.1.3 Updated license for copyright changes and verified terms Signed-off-by: Derek Straka Signed-off-by: Martin Jansa --- meta-python/recipes-devtools/python/python-pytest.inc | 6 +++--- .../python/{python-pytest_3.1.2.bb => python-pytest_3.1.3.bb} | 0 .../python/{python3-pytest_3.1.2.bb => python3-pytest_3.1.3.bb} | 0 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/meta-python/recipes-devtools/python/python-pytest.inc b/meta-python/recipes-devtools/python/python-pytest.inc index 2826838..2279596 100644 --- a/meta-python/recipes-devtools/python/python-pytest.inc +++ b/meta-python/recipes-devtools/python/python-pytest.inc @@ -1,9 +1,9 @@ SUMMARY = "Simple powerful teting with python" LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=d8a5609608d9a5a180705b0fa298ae01" +LIC_FILES_CHKSUM = "file://LICENSE;md5=c39b24965f4aef64222cb35de9d47cc4" -SRC_URI[md5sum] = "c4d179f89043cc925e1c169d03128e02" -SRC_URI[sha256sum] = "795ec29fbba70b22a593691ce8bcd4bdde2dc96e8099731f73c7d8bb3ce879bf" +SRC_URI[md5sum] = "35356e6e31cbd8318e8b2a8340a90b72" +SRC_URI[sha256sum] = "095e1832f7e424563c95daf4d8d3c865052b80e139cdd2f9610a986ee8526206" RDEPENDS_${PN}_class-target += " \ ${PYTHON_PN}-argparse \ diff --git a/meta-python/recipes-devtools/python/python-pytest_3.1.2.bb b/meta-python/recipes-devtools/python/python-pytest_3.1.3.bb similarity index 100% rename from meta-python/recipes-devtools/python/python-pytest_3.1.2.bb rename to meta-python/recipes-devtools/python/python-pytest_3.1.3.bb diff --git a/meta-python/recipes-devtools/python/python3-pytest_3.1.2.bb b/meta-python/recipes-devtools/python/python3-pytest_3.1.3.bb similarity index 100% rename from meta-python/recipes-devtools/python/python3-pytest_3.1.2.bb rename to meta-python/recipes-devtools/python/python3-pytest_3.1.3.bb -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 8 18:17:03 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 08 Jul 2017 18:17:03 +0000 Subject: [oe-commits] [meta-openembedded] 01/11: kodi: Fix build on powerpc In-Reply-To: <149953782210.7764.16805806755936026881@git.openembedded.org> References: <149953782210.7764.16805806755936026881@git.openembedded.org> Message-ID: <20170708181702.6DC63234856@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 59149f2c41f35db8d5fc76f7e33d353d1afb2b01 Author: Khem Raj AuthorDate: Mon Jul 3 08:11:07 2017 -0700 kodi: Fix build on powerpc 64bit atomics are not available therefore link in libatomic Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb b/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb index 3bc2eb5..0b39116 100644 --- a/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb +++ b/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb @@ -133,6 +133,7 @@ BUILD_OPTIMIZATION = "${FULL_OPTIMIZATION}" LDFLAGS_append_mips = " -latomic" LDFLAGS_append_mipsel = " -latomic" +LDFLAGS_append_powerpc = " -latomic" EXTRA_OECONF_append = " LIBTOOL=${STAGING_BINDIR_CROSS}/${HOST_SYS}-libtool" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 8 18:17:02 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 08 Jul 2017 18:17:02 +0000 Subject: [oe-commits] [meta-openembedded] branch master-next updated (7798745 -> 219dbe6) Message-ID: <149953782210.7764.16805806755936026881@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a change to branch master-next in repository meta-openembedded. from 7798745 ser2net: upgrade to version 3.4 new 59149f2 kodi: Fix build on powerpc new 15777de multipath-tools: 0.6.4 -> 0.7.1 new 8d8958e python-pytest: update to version 3.1.3 new 5a8ae37 python-pytest: remove fetch during do_compile phase new f0b2f6e libtinyxml2: upgrade to 5.0.1 new 63b4bf6 gnome-common: Add recipe (from oe-core) new 2dcd253 webrtc-audio-processing: initial recipe new 441c9c0 libdbus-c++: Fix build with gcc7 and unblacklist new be38f48 security_flags.inc: Delete new 7d871ba ltrace: Fix build on musl new 219dbe6 pptp-linux: Upgrade to 1.9.0 The 11 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../recipes-mediacenter/kodi/kodi_17.bb | 1 + ...ild-Protect-against-unsupported-CPU-types.patch | 29 + .../0002-build-Add-ARM-64bit-support.patch | 30 + .../0003-build-fix-architecture-detection.patch | 96 +++ ...add-support-for-64-bit-and-big-endian-MIP.patch | 41 ++ .../0005-typedefs.h-add-support-for-PowerPC.patch | 28 + ...o-implement-endianness-conversion-in-wav-.patch | 116 ++++ .../webrtc-audio-processing_0.3.bb | 25 + .../include/meta_networking_security_flags.inc | 10 - meta-networking/conf/layer.conf | 3 - .../0001-include-missing-sys-types.h.patch | 28 + .../{pptp-linux-1.8.0 => pptp-linux}/options.pptp | 0 .../{pptp-linux_1.8.0.bb => pptp-linux_1.9.0.bb} | 9 +- .../conf/distro/include/meta_oe_security_flags.inc | 28 - meta-oe/conf/layer.conf | 3 - .../0001-pipe.c-Use-a-string-instead-of-char.patch | 27 + meta-oe/recipes-core/dbus/libdbus-c++_0.9.0.bb | 20 +- ...nfigure-Recognise-linux-musl-as-a-host-OS.patch | 25 + meta-oe/recipes-devtools/ltrace/ltrace_git.bb | 1 + .../gnome-common/gnome-common_3.18.0.bb | 20 + .../{libtinyxml2_4.0.1.bb => libtinyxml2_5.0.1.bb} | 13 +- ...ltipath-attempt-at-common-multipath.rules.patch | 107 ++++ .../files/0001-multipathd.service-Error-fix.patch | 36 -- .../0002-RH-fixup-udev-rules-for-redhat.patch | 110 ++++ ...-the-property-blacklist-exception-builtin.patch | 70 +++ ...0004-RH-don-t-start-without-a-config-file.patch | 108 ++++ .../files/0005-RH-add-mpathconf.patch | 648 +++++++++++++++++++++ ...ds-from-kernel-cmdline-mpath.wwids-with-A.patch | 166 ++++++ ...gger-change-uevent-on-new-device-creation.patch | 138 +++++ ...ipath-change-how-RADOS-checker-is-enabled.patch | 56 ++ ...th-set-verbosity-to-default-during-config.patch | 40 ++ ...kip-device-configs-without-vendor-product.patch | 37 ++ .../0011-multipathd-fix-show-maps-json-crash.patch | 38 ++ ...ools-modify-Makefile.inc-for-cross-compil.patch | 58 ++ .../files/0013-Always-use-devmapper.patch | 53 ++ ... => 0014-Always-use-devmapper-for-kpartx.patch} | 25 +- .../files/always-use-libdevmapper.patch | 57 -- .../files/checkers-disable-libcheckrbd.so.patch | 31 - .../multipath-tools/files/makefile_inc.patch | 59 -- .../multipath-tools/files/multipath.conf.example | 90 +++ ...ared-libs-avoid-linking-.so-as-executable.patch | 55 -- .../multipath-tools/multipath-tools_0.7.1.bb | 112 ++++ .../multipath-tools/multipath-tools_git.bb | 71 --- .../recipes-devtools/python/python-pytest.inc | 10 +- ...ove-the-setup_requires-for-setuptools-scm.patch | 29 + ...thon-pytest_3.1.2.bb => python-pytest_3.1.3.bb} | 0 ...on3-pytest_3.1.2.bb => python3-pytest_3.1.3.bb} | 0 47 files changed, 2372 insertions(+), 385 deletions(-) create mode 100644 meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0001-build-Protect-against-unsupported-CPU-types.patch create mode 100644 meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0002-build-Add-ARM-64bit-support.patch create mode 100644 meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0003-build-fix-architecture-detection.patch create mode 100644 meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0004-typedefs.h-add-support-for-64-bit-and-big-endian-MIP.patch create mode 100644 meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0005-typedefs.h-add-support-for-PowerPC.patch create mode 100644 meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0006-common_audio-implement-endianness-conversion-in-wav-.patch create mode 100644 meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing_0.3.bb delete mode 100644 meta-networking/conf/distro/include/meta_networking_security_flags.inc create mode 100644 meta-networking/recipes-protocols/pptp-linux/pptp-linux/0001-include-missing-sys-types.h.patch rename meta-networking/recipes-protocols/pptp-linux/{pptp-linux-1.8.0 => pptp-linux}/options.pptp (100%) rename meta-networking/recipes-protocols/pptp-linux/{pptp-linux_1.8.0.bb => pptp-linux_1.9.0.bb} (81%) delete mode 100644 meta-oe/conf/distro/include/meta_oe_security_flags.inc create mode 100644 meta-oe/recipes-core/dbus/libdbus-c++-0.9.0/0001-pipe.c-Use-a-string-instead-of-char.patch create mode 100644 meta-oe/recipes-devtools/ltrace/ltrace/0001-configure-Recognise-linux-musl-as-a-host-OS.patch create mode 100644 meta-oe/recipes-gnome/gnome-common/gnome-common_3.18.0.bb rename meta-oe/recipes-support/libtinyxml2/{libtinyxml2_4.0.1.bb => libtinyxml2_5.0.1.bb} (63%) create mode 100644 meta-oe/recipes-support/multipath-tools/files/0001-multipath-attempt-at-common-multipath.rules.patch delete mode 100644 meta-oe/recipes-support/multipath-tools/files/0001-multipathd.service-Error-fix.patch create mode 100644 meta-oe/recipes-support/multipath-tools/files/0002-RH-fixup-udev-rules-for-redhat.patch create mode 100644 meta-oe/recipes-support/multipath-tools/files/0003-RH-Remove-the-property-blacklist-exception-builtin.patch create mode 100644 meta-oe/recipes-support/multipath-tools/files/0004-RH-don-t-start-without-a-config-file.patch create mode 100644 meta-oe/recipes-support/multipath-tools/files/0005-RH-add-mpathconf.patch create mode 100644 meta-oe/recipes-support/multipath-tools/files/0006-RH-add-wwids-from-kernel-cmdline-mpath.wwids-with-A.patch create mode 100644 meta-oe/recipes-support/multipath-tools/files/0007-RH-trigger-change-uevent-on-new-device-creation.patch create mode 100644 meta-oe/recipes-support/multipath-tools/files/0008-libmultipath-change-how-RADOS-checker-is-enabled.patch create mode 100644 meta-oe/recipes-support/multipath-tools/files/0009-multipath-set-verbosity-to-default-during-config.patch create mode 100644 meta-oe/recipes-support/multipath-tools/files/0010-mpath-skip-device-configs-without-vendor-product.patch create mode 100644 meta-oe/recipes-support/multipath-tools/files/0011-multipathd-fix-show-maps-json-crash.patch create mode 100644 meta-oe/recipes-support/multipath-tools/files/0012-multipath-tools-modify-Makefile.inc-for-cross-compil.patch create mode 100644 meta-oe/recipes-support/multipath-tools/files/0013-Always-use-devmapper.patch rename meta-oe/recipes-support/multipath-tools/files/{always-use-libdevmapper-kpartx.patch => 0014-Always-use-devmapper-for-kpartx.patch} (52%) delete mode 100644 meta-oe/recipes-support/multipath-tools/files/always-use-libdevmapper.patch delete mode 100644 meta-oe/recipes-support/multipath-tools/files/checkers-disable-libcheckrbd.so.patch delete mode 100644 meta-oe/recipes-support/multipath-tools/files/makefile_inc.patch create mode 100644 meta-oe/recipes-support/multipath-tools/files/multipath.conf.example delete mode 100644 meta-oe/recipes-support/multipath-tools/files/shared-libs-avoid-linking-.so-as-executable.patch create mode 100644 meta-oe/recipes-support/multipath-tools/multipath-tools_0.7.1.bb delete mode 100644 meta-oe/recipes-support/multipath-tools/multipath-tools_git.bb create mode 100644 meta-python/recipes-devtools/python/python-pytest/0001-setup.py-remove-the-setup_requires-for-setuptools-scm.patch rename meta-python/recipes-devtools/python/{python-pytest_3.1.2.bb => python-pytest_3.1.3.bb} (100%) rename meta-python/recipes-devtools/python/{python3-pytest_3.1.2.bb => python3-pytest_3.1.3.bb} (100%) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 8 18:17:06 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 08 Jul 2017 18:17:06 +0000 Subject: [oe-commits] [meta-openembedded] 04/11: python-pytest: remove fetch during do_compile phase In-Reply-To: <149953782210.7764.16805806755936026881@git.openembedded.org> References: <149953782210.7764.16805806755936026881@git.openembedded.org> Message-ID: <20170708181702.8CC95234859@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 5a8ae37b06bf96fee7d858b45fd56bf308965a49 Author: Derek Straka AuthorDate: Wed Jul 5 10:00:22 2017 -0400 python-pytest: remove fetch during do_compile phase Signed-off-by: Derek Straka Signed-off-by: Martin Jansa --- .../recipes-devtools/python/python-pytest.inc | 4 +++ ...ove-the-setup_requires-for-setuptools-scm.patch | 29 ++++++++++++++++++++++ 2 files changed, 33 insertions(+) diff --git a/meta-python/recipes-devtools/python/python-pytest.inc b/meta-python/recipes-devtools/python/python-pytest.inc index 2279596..b5c1fa8 100644 --- a/meta-python/recipes-devtools/python/python-pytest.inc +++ b/meta-python/recipes-devtools/python/python-pytest.inc @@ -5,6 +5,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=c39b24965f4aef64222cb35de9d47cc4" SRC_URI[md5sum] = "35356e6e31cbd8318e8b2a8340a90b72" SRC_URI[sha256sum] = "095e1832f7e424563c95daf4d8d3c865052b80e139cdd2f9610a986ee8526206" +SRC_URI_append = " file://0001-setup.py-remove-the-setup_requires-for-setuptools-scm.patch" + RDEPENDS_${PN}_class-target += " \ ${PYTHON_PN}-argparse \ ${PYTHON_PN}-debugger \ @@ -13,4 +15,6 @@ RDEPENDS_${PN}_class-target += " \ ${PYTHON_PN}-setuptools \ " +FILESEXTRAPATHS_prepend := "${THISDIR}/python-pytest:" + BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python-pytest/0001-setup.py-remove-the-setup_requires-for-setuptools-scm.patch b/meta-python/recipes-devtools/python/python-pytest/0001-setup.py-remove-the-setup_requires-for-setuptools-scm.patch new file mode 100644 index 0000000..e283b17 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-pytest/0001-setup.py-remove-the-setup_requires-for-setuptools-scm.patch @@ -0,0 +1,29 @@ +From e2d81009c790b4ebeced8408b6bae78060cabcaf Mon Sep 17 00:00:00 2001 +From: Derek Straka +Date: Wed, 5 Jul 2017 09:35:51 -0400 +Subject: [PATCH 1/1] setup.py: remove the setup_requires for setuptools-scm + +The setup_requires argument forces the download of the egg file for setuptools-scm +during the do_compile phase. This download is incompatible with the typical fetch +and mirror structure. The only usage of scm is the generation of the _version.py +file and in the release tarball it is already correctly created + +Signed-off-by: Derek Straka +--- + setup.py | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/setup.py b/setup.py +index 751868c..ef6ebf1 100644 +--- a/setup.py ++++ b/setup.py +@@ -71,7 +71,6 @@ def main(): + keywords="test unittest", + cmdclass={'test': PyTest}, + # the following should be enabled for release +- setup_requires=['setuptools-scm'], + install_requires=install_requires, + extras_require=extras_require, + packages=['_pytest', '_pytest.assertion', '_pytest._code', '_pytest.vendored_packages'], +-- +2.7.4 -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 8 18:17:04 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 08 Jul 2017 18:17:04 +0000 Subject: [oe-commits] [meta-openembedded] 02/11: multipath-tools: 0.6.4 -> 0.7.1 In-Reply-To: <149953782210.7764.16805806755936026881@git.openembedded.org> References: <149953782210.7764.16805806755936026881@git.openembedded.org> Message-ID: <20170708181702.7BADF234857@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 15777de522b681b85cc1f351f510f8fae5c79078 Author: Hongxu Jia AuthorDate: Wed Jul 5 05:13:17 2017 -0400 multipath-tools: 0.6.4 -> 0.7.1 1. In fedora/redhat, it is renamed to device-mapper-multipath, use PROVIDE and RPROVIDE to support. 2. Split ${PN}-libs 3. Add multipath.conf.example 4. Backport patches from fedora: git://pkgs.fedoraproject.org/rpms/device-mapper-multipath - 0001 ~ 0011 5. Rebase local patches: - makefile_inc.patch -> 0012-multipath-tools-modify-Makefile.inc-for-cross-compil.patch - always-use-libdevmapper.patch -> 0013-Always-use-devmapper.patch - always-use-libdevmapper-kpartx.patch -> 0014-Always-use-devmapper-for-kpartx.patch 6. Drop obsolete patches: - 0001-multipathd.service-Error-fix.patch - shared-libs-avoid-linking-.so-as-executable.patch - checkers-disable-libcheckrbd.so.patch Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- ...ltipath-attempt-at-common-multipath.rules.patch | 107 ++++ .../files/0001-multipathd.service-Error-fix.patch | 36 -- .../0002-RH-fixup-udev-rules-for-redhat.patch | 110 ++++ ...-the-property-blacklist-exception-builtin.patch | 70 +++ ...0004-RH-don-t-start-without-a-config-file.patch | 108 ++++ .../files/0005-RH-add-mpathconf.patch | 648 +++++++++++++++++++++ ...ds-from-kernel-cmdline-mpath.wwids-with-A.patch | 166 ++++++ ...gger-change-uevent-on-new-device-creation.patch | 138 +++++ ...ipath-change-how-RADOS-checker-is-enabled.patch | 56 ++ ...th-set-verbosity-to-default-during-config.patch | 40 ++ ...kip-device-configs-without-vendor-product.patch | 37 ++ .../0011-multipathd-fix-show-maps-json-crash.patch | 38 ++ ...ools-modify-Makefile.inc-for-cross-compil.patch | 58 ++ .../files/0013-Always-use-devmapper.patch | 53 ++ ... => 0014-Always-use-devmapper-for-kpartx.patch} | 25 +- .../files/always-use-libdevmapper.patch | 57 -- .../files/checkers-disable-libcheckrbd.so.patch | 31 - .../multipath-tools/files/makefile_inc.patch | 59 -- .../multipath-tools/files/multipath.conf.example | 90 +++ ...ared-libs-avoid-linking-.so-as-executable.patch | 55 -- .../multipath-tools/multipath-tools_0.7.1.bb | 112 ++++ .../multipath-tools/multipath-tools_git.bb | 71 --- 22 files changed, 1844 insertions(+), 321 deletions(-) diff --git a/meta-oe/recipes-support/multipath-tools/files/0001-multipath-attempt-at-common-multipath.rules.patch b/meta-oe/recipes-support/multipath-tools/files/0001-multipath-attempt-at-common-multipath.rules.patch new file mode 100644 index 0000000..acb4269 --- /dev/null +++ b/meta-oe/recipes-support/multipath-tools/files/0001-multipath-attempt-at-common-multipath.rules.patch @@ -0,0 +1,107 @@ +From 5ab50e0cb888e553a2635bbbf81eea3cdeffee60 Mon Sep 17 00:00:00 2001 +From: Benjamin Marzinski +Date: Wed, 12 Apr 2017 09:07:51 -0500 +Subject: [PATCH 01/14] multipath: attempt at common multipath.rules + +This is a proposal to try and bring the Redhat and SuSE multipath.rules +closer. There are a couple of changes that I'd like some input on. + +The big change is moving the kpartx call into the multipath rules. Half +of the current kpartx.rules file is about creating symlinks for multiple +types of dm devices. The other half auto-creates kpartx devices on top +of multipath devices. Since it is only creating kpartx devices on top of +multipath devices, I've moved the these rules into multipath.rules, or +rather, I've replaced them with the redhat rules in multipath.rules. The +biggest difference is the kpartx isn't run on every reload. It works +with the 11-dm-mpath.rules code to not run kpartx on multipathd +generated reloads or when there aren't any working paths. It does +remember if it didn't get to run kpartx when it was supposed to (because +there were no valid paths or the device was suspended) and will make +sure to run it on the next possible uevent. + +The other change is the redhat multipath rules remove the partition +device nodes for devices claimed by multipath. The udev rule will only +do this one time (both to keep from running partx on every event, and so +that if users manually reread the partition table, we don't keep +removing them when clearly they are wanted). Redhat does this because we +had multiple customer issues where they were using the scsi partitions +instead of the kpartx devices. Obviously, with setting the partition +devices to not ready and clearing their fs_type, this isn't essential, +but it has helped make customers do the right thing. + +Signed-off-by: Benjamin Marzinski +--- + kpartx/kpartx.rules | 8 -------- + multipath/multipath.rules | 27 ++++++++++++++++++++++++--- + 2 files changed, 24 insertions(+), 11 deletions(-) + +diff --git a/kpartx/kpartx.rules b/kpartx/kpartx.rules +index a958791..906e320 100644 +--- a/kpartx/kpartx.rules ++++ b/kpartx/kpartx.rules +@@ -34,12 +34,4 @@ ENV{ID_FS_LABEL_ENC}=="?*", IMPORT{db}="ID_FS_LABEL_ENC" + ENV{ID_FS_USAGE}=="filesystem|other", ENV{ID_FS_LABEL_ENC}=="?*", \ + SYMLINK+="disk/by-label/$env{ID_FS_LABEL_ENC}" + +-# Create dm tables for partitions +-ENV{DM_ACTION}=="PATH_FAILED|PATH_REINSTATED", GOTO="kpartx_end" +-ENV{DM_NR_VALID_PATHS}=="0", GOTO="kpartx_end" +-ENV{ENV{DM_UDEV_PRIMARY_SOURCE_FLAG}!="1", IMPORT{db}="DM_SUBSYSTEM_UDEV_FLAG1" +-ENV{DM_SUBSYSTEM_UDEV_FLAG1}=="1", GOTO="kpartx_end" +-ENV{DM_STATE}!="SUSPENDED", ENV{DM_UUID}=="mpath-*", \ +- RUN+="/sbin/kpartx -un -p -part /dev/$name" +- + LABEL="kpartx_end" +diff --git a/multipath/multipath.rules b/multipath/multipath.rules +index 86defc0..616a04c 100644 +--- a/multipath/multipath.rules ++++ b/multipath/multipath.rules +@@ -1,13 +1,13 @@ + # Set DM_MULTIPATH_DEVICE_PATH if the device should be handled by multipath + SUBSYSTEM!="block", GOTO="end_mpath" + ACTION!="add|change", GOTO="end_mpath" +-KERNEL!="sd*|dasd*", GOTO="end_mpath" +- ++KERNEL!="sd*|dasd*|rbd*|dm-*", GOTO="end_mpath" + IMPORT{cmdline}="nompath" + ENV{nompath}=="?*", GOTO="end_mpath" + IMPORT{cmdline}="multipath" + ENV{multipath}=="off", GOTO="end_mpath" + ++KERNEL=="dm-*", GOTO="check_kpartx" + ENV{DEVTYPE}!="partition", GOTO="test_dev" + IMPORT{parent}="DM_MULTIPATH_DEVICE_PATH" + ENV{DM_MULTIPATH_DEVICE_PATH}=="1", ENV{ID_FS_TYPE}="none", \ +@@ -21,7 +21,28 @@ TEST!="$env{MPATH_SBIN_PATH}/multipath", ENV{MPATH_SBIN_PATH}="/usr/sbin" + + ENV{DM_MULTIPATH_DEVICE_PATH}!="1", \ + PROGRAM=="$env{MPATH_SBIN_PATH}/multipath -u %k", \ +- ENV{DM_MULTIPATH_DEVICE_PATH}="1", ENV{ID_FS_TYPE}="none", \ ++ ENV{DM_MULTIPATH_DEVICE_PATH}="1", ENV{ID_FS_TYPE}="mpath_member", \ + ENV{SYSTEMD_READY}="0" + ++ENV{DM_MULTIPATH_DEVICE_PATH}!="1", GOTO="end_mpath" ++ ++IMPORT{db}="DM_MULTIPATH_WIPE_PARTS" ++ENV{DM_MULTIPATH_WIPE_PARTS}!="1", ENV{DM_MULTIPATH_WIPE_PARTS}="1", \ ++ RUN+="/sbin/partx -d --nr 1-1024 $env{DEVNAME}" ++GOTO="end_mpath" ++ ++LABEL="check_kpartx" ++ ++IMPORT{db}="DM_MULTIPATH_NEED_KPARTX" ++ENV{DM_UDEV_PRIMARY_SOURCE_FLAG}!="1", IMPORT{db}="DM_SUBSYSTEM_UDEV_FLAG1" ++ENV{DM_SUBSYSTEM_UDEV_FLAG1}=="1", GOTO="end_mpath" ++ACTION!="change", GOTO="end_mpath" ++ENV{DM_UUID}!="mpath-?*", GOTO="end_mpath" ++ENV{DM_ACTIVATION}=="1", ENV{DM_MULTIPATH_NEED_KPARTX}="1" ++ENV{DM_SUSPENDED}=="1", GOTO="end_mpath" ++ENV{DM_ACTION}=="PATH_FAILED", GOTO="end_mpath" ++ENV{DM_ACTIVATION}!="1", ENV{DM_MULTIPATH_NEED_KPARTX}!="1", GOTO="end_mpath" ++RUN+="/sbin/kpartx -un -p -part /dev/$name" ++ENV{DM_MULTIPATH_NEED_KPARTX}="" ++ + LABEL="end_mpath" +-- +2.8.1 + diff --git a/meta-oe/recipes-support/multipath-tools/files/0001-multipathd.service-Error-fix.patch b/meta-oe/recipes-support/multipath-tools/files/0001-multipathd.service-Error-fix.patch deleted file mode 100644 index 60c3c0a..0000000 --- a/meta-oe/recipes-support/multipath-tools/files/0001-multipathd.service-Error-fix.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 630483b9738349c8b3e637a00879b96834a33cdb Mon Sep 17 00:00:00 2001 -From: Li xin -Date: Tue, 7 Jul 2015 11:34:36 +0900 -Subject: [PATCH] multipathd.service: Error fix - -Failed to start Device-Mapper Multipath Device Controller. - -Upstream-Status: pending - -Signed-off-by: Li Xin ---- - multipathd/multipathd.service | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/multipathd/multipathd.service b/multipathd/multipathd.service -index e3d6f91..a7e00b2 100644 ---- a/multipathd/multipathd.service -+++ b/multipathd/multipathd.service -@@ -8,11 +8,12 @@ Wants=local-fs-pre.target multipathd.socket blk-availability.service - Conflicts=shutdown.target - - [Service] --Type=notify -+Type=forking - NotifyAccess=main - LimitCORE=infinity -+PIDFile=/var/run/multipathd.pid - ExecStartPre=/sbin/modprobe -a scsi_dh_alua scsi_dh_emc scsi_dh_rdac dm-multipath --ExecStart=/sbin/multipathd -d -s -+ExecStart=/sbin/multipathd - ExecReload=/sbin/multipathd reconfigure - - [Install] --- -2.11.0 - diff --git a/meta-oe/recipes-support/multipath-tools/files/0002-RH-fixup-udev-rules-for-redhat.patch b/meta-oe/recipes-support/multipath-tools/files/0002-RH-fixup-udev-rules-for-redhat.patch new file mode 100644 index 0000000..e63d2eb --- /dev/null +++ b/meta-oe/recipes-support/multipath-tools/files/0002-RH-fixup-udev-rules-for-redhat.patch @@ -0,0 +1,110 @@ +From 158255383c02d3fb81c82fb9ec6fd36fb234f68e Mon Sep 17 00:00:00 2001 +From: Benjamin Marzinski +Date: Thu, 13 Apr 2017 07:22:23 -0500 +Subject: [PATCH 02/14] RH: fixup udev rules for redhat + +The multipath rules need to run after scsi_id is run. This means moving +them after 60-persistent-storage.rules for redhat. Also, we don't +currently set up all the symlinks that SuSE does. If we want them, they +should be done in the device-mapper package, since they are for all +device-mapper devices. Redhat also uses a different naming scheme for +partitions than SuSE. + +Signed-off-by: Benjamin Marzinski +--- + Makefile.inc | 2 +- + kpartx/Makefile | 14 +++++++------- + multipath/Makefile | 4 ++-- + multipath/multipath.rules | 3 ++- + 4 files changed, 12 insertions(+), 11 deletions(-) + +diff --git a/Makefile.inc b/Makefile.inc +index 1815f9a..2591fa9 100644 +--- a/Makefile.inc ++++ b/Makefile.inc +@@ -47,7 +47,7 @@ endif + + prefix = + exec_prefix = $(prefix) +-bindir = $(exec_prefix)/sbin ++bindir = $(exec_prefix)/usr/sbin + libudevdir = $(prefix)/$(SYSTEMDPATH)/udev + udevrulesdir = $(libudevdir)/rules.d + multipathdir = $(TOPDIR)/libmultipath +diff --git a/kpartx/Makefile b/kpartx/Makefile +index 7b75032..bfa6fe8 100644 +--- a/kpartx/Makefile ++++ b/kpartx/Makefile +@@ -26,19 +26,19 @@ $(EXEC): $(OBJS) + install: $(EXEC) $(EXEC).8 + $(INSTALL_PROGRAM) -d $(DESTDIR)$(bindir) + $(INSTALL_PROGRAM) -m 755 $(EXEC) $(DESTDIR)$(bindir) +- $(INSTALL_PROGRAM) -d $(DESTDIR)$(libudevdir) +- $(INSTALL_PROGRAM) -m 755 kpartx_id $(DESTDIR)$(libudevdir) +- $(INSTALL_PROGRAM) -d $(DESTDIR)$(libudevdir)/rules.d +- $(INSTALL_PROGRAM) -m 644 kpartx.rules $(DESTDIR)$(libudevdir)/rules.d/66-kpartx.rules ++# $(INSTALL_PROGRAM) -d $(DESTDIR)$(libudevdir) ++# $(INSTALL_PROGRAM) -m 755 kpartx_id $(DESTDIR)$(libudevdir) ++# $(INSTALL_PROGRAM) -d $(DESTDIR)$(libudevdir)/rules.d ++# $(INSTALL_PROGRAM) -m 644 kpartx.rules $(DESTDIR)$(libudevdir)/rules.d/66-kpartx.rules + $(INSTALL_PROGRAM) -d $(DESTDIR)$(man8dir) + $(INSTALL_PROGRAM) -m 644 $(EXEC).8.gz $(DESTDIR)$(man8dir) + + uninstall: + $(RM) $(DESTDIR)$(bindir)/$(EXEC) + $(RM) $(DESTDIR)$(man8dir)/$(EXEC).8.gz +- $(RM) $(DESTDIR)$(libudevdir)/kpartx_id +- $(RM) $(DESTDIR)$(libudevdir)/rules.d/66-kpartx.rules +- $(RM) $(DESTDIR)$(libudevdir)/rules.d/67-kpartx-compat.rules ++# $(RM) $(DESTDIR)$(libudevdir)/kpartx_id ++# $(RM) $(DESTDIR)$(libudevdir)/rules.d/66-kpartx.rules ++# $(RM) $(DESTDIR)$(libudevdir)/rules.d/67-kpartx-compat.rules + + clean: + $(RM) core *.o $(EXEC) *.gz +diff --git a/multipath/Makefile b/multipath/Makefile +index c85314e..1e9ee4b 100644 +--- a/multipath/Makefile ++++ b/multipath/Makefile +@@ -24,7 +24,7 @@ install: + $(INSTALL_PROGRAM) -m 755 $(EXEC) $(DESTDIR)$(bindir)/ + $(INSTALL_PROGRAM) -d $(DESTDIR)$(udevrulesdir) + $(INSTALL_PROGRAM) -m 644 11-dm-mpath.rules $(DESTDIR)$(udevrulesdir) +- $(INSTALL_PROGRAM) -m 644 $(EXEC).rules $(DESTDIR)$(libudevdir)/rules.d/56-multipath.rules ++ $(INSTALL_PROGRAM) -m 644 $(EXEC).rules $(DESTDIR)$(libudevdir)/rules.d/62-multipath.rules + $(INSTALL_PROGRAM) -d $(DESTDIR)$(man8dir) + $(INSTALL_PROGRAM) -m 644 $(EXEC).8.gz $(DESTDIR)$(man8dir) + $(INSTALL_PROGRAM) -d $(DESTDIR)$(man5dir) +@@ -33,7 +33,7 @@ install: + uninstall: + $(RM) $(DESTDIR)$(bindir)/$(EXEC) + $(RM) $(DESTDIR)$(udevrulesdir)/11-dm-mpath.rules +- $(RM) $(DESTDIR)$(libudevdir)/rules.d/56-multipath.rules ++ $(RM) $(DESTDIR)$(libudevdir)/rules.d/62-multipath.rules + $(RM) $(DESTDIR)$(man8dir)/$(EXEC).8.gz + $(RM) $(DESTDIR)$(man5dir)/$(EXEC).conf.5.gz + +diff --git a/multipath/multipath.rules b/multipath/multipath.rules +index 616a04c..4d78b98 100644 +--- a/multipath/multipath.rules ++++ b/multipath/multipath.rules +@@ -33,6 +33,7 @@ GOTO="end_mpath" + + LABEL="check_kpartx" + ++ENV{DM_UUID}=="mpath-?*|part[0-9]*-mpath-?*", OPTIONS+="link_priority=10" + IMPORT{db}="DM_MULTIPATH_NEED_KPARTX" + ENV{DM_UDEV_PRIMARY_SOURCE_FLAG}!="1", IMPORT{db}="DM_SUBSYSTEM_UDEV_FLAG1" + ENV{DM_SUBSYSTEM_UDEV_FLAG1}=="1", GOTO="end_mpath" +@@ -42,7 +43,7 @@ ENV{DM_ACTIVATION}=="1", ENV{DM_MULTIPATH_NEED_KPARTX}="1" + ENV{DM_SUSPENDED}=="1", GOTO="end_mpath" + ENV{DM_ACTION}=="PATH_FAILED", GOTO="end_mpath" + ENV{DM_ACTIVATION}!="1", ENV{DM_MULTIPATH_NEED_KPARTX}!="1", GOTO="end_mpath" +-RUN+="/sbin/kpartx -un -p -part /dev/$name" ++RUN+="/sbin/kpartx -un /dev/$name" + ENV{DM_MULTIPATH_NEED_KPARTX}="" + + LABEL="end_mpath" +-- +2.8.1 + diff --git a/meta-oe/recipes-support/multipath-tools/files/0003-RH-Remove-the-property-blacklist-exception-builtin.patch b/meta-oe/recipes-support/multipath-tools/files/0003-RH-Remove-the-property-blacklist-exception-builtin.patch new file mode 100644 index 0000000..684e959 --- /dev/null +++ b/meta-oe/recipes-support/multipath-tools/files/0003-RH-Remove-the-property-blacklist-exception-builtin.patch @@ -0,0 +1,70 @@ +From 69a67c2ed09ae51b53de402966a9f7a4cc737715 Mon Sep 17 00:00:00 2001 +From: Benjamin Marzinski +Date: Wed, 2 Jul 2014 12:49:53 -0500 +Subject: [PATCH 03/14] RH: Remove the property blacklist exception builtin + +Multipath set the default property blacklist exceptions to +(ID_SCSI_VPD|ID_WWN). This has the effect of blacklisting some internal +devices. These devices may never have multiple paths, but it is nice +to be able to set multipath up on them all the same. This patch simply +removes the default, and makes it so that if no property +blacklist_exception is given, then devices aren't failed for not matching +it. + +Signed-off-by: Benjamin Marzinski +--- + libmultipath/blacklist.c | 15 ++++++--------- + multipath/multipath.conf.5 | 4 ---- + 2 files changed, 6 insertions(+), 13 deletions(-) + +diff --git a/libmultipath/blacklist.c b/libmultipath/blacklist.c +index ee396e2..19d4697 100644 +--- a/libmultipath/blacklist.c ++++ b/libmultipath/blacklist.c +@@ -181,12 +181,6 @@ setup_default_blist (struct config * conf) + if (store_ble(conf->blist_devnode, str, ORIGIN_DEFAULT)) + return 1; + +- str = STRDUP("(SCSI_IDENT_|ID_WWN)"); +- if (!str) +- return 1; +- if (store_ble(conf->elist_property, str, ORIGIN_DEFAULT)) +- return 1; +- + vector_foreach_slot (conf->hwtable, hwe, i) { + if (hwe->bl_product) { + if (_blacklist_device(conf->blist_device, hwe->vendor, +@@ -390,9 +384,12 @@ filter_property(struct config * conf, struct udev_device * udev) + * This is the inverse of the 'normal' matching; + * the environment variable _has_ to match. + */ +- log_filter(devname, NULL, NULL, NULL, NULL, +- MATCH_PROPERTY_BLIST_MISSING); +- return MATCH_PROPERTY_BLIST_MISSING; ++ if (VECTOR_SIZE(conf->elist_property)) { ++ log_filter(devname, NULL, NULL, NULL, NULL, ++ MATCH_PROPERTY_BLIST_MISSING); ++ return MATCH_PROPERTY_BLIST_MISSING; ++ } ++ return 0; + } + + void +diff --git a/multipath/multipath.conf.5 b/multipath/multipath.conf.5 +index f04ff19..fbbbb27 100644 +--- a/multipath/multipath.conf.5 ++++ b/multipath/multipath.conf.5 +@@ -1014,10 +1014,6 @@ The \fIWorld Wide Identification\fR of a device. + .TP + .B property + Regular expression of the udev property to be whitelisted. +-.RS +-.TP +-The default is: \fB(SCSI_IDENT_|ID_WWN)\fR +-.RE + .TP + .B device + Subsection for the device description. This subsection recognizes the +-- +2.8.1 + diff --git a/meta-oe/recipes-support/multipath-tools/files/0004-RH-don-t-start-without-a-config-file.patch b/meta-oe/recipes-support/multipath-tools/files/0004-RH-don-t-start-without-a-config-file.patch new file mode 100644 index 0000000..87a6d3f --- /dev/null +++ b/meta-oe/recipes-support/multipath-tools/files/0004-RH-don-t-start-without-a-config-file.patch @@ -0,0 +1,108 @@ +From b2b504fc1959c7a3f0a843c3c204e8e193b675b7 Mon Sep 17 00:00:00 2001 +From: Benjamin Marzinski +Date: Wed, 15 Oct 2014 10:39:30 -0500 +Subject: [PATCH 04/14] RH: don't start without a config file + +If /etc/multipath.conf doesn't exist, don't start multipathd and blacklist +all devices when running multipath. A completely blank configuration file +is almost never what users want. Also, people may have the multipath +packages installed but don't want to use them. This patch provides a +simple way to disable multipath. Simply removing or renaming +/etc/multipath.conf will keep multipath from doing anything. + +Signed-off-by: Benjamin Marzinski +--- + libmultipath/config.c | 17 +++++++++++++++++ + libmultipath/config.h | 1 + + multipath/multipath.rules | 1 + + multipathd/multipathd.8 | 2 ++ + multipathd/multipathd.service | 1 + + 5 files changed, 22 insertions(+) + +diff --git a/libmultipath/config.c b/libmultipath/config.c +index bb6619b..aae69b8 100644 +--- a/libmultipath/config.c ++++ b/libmultipath/config.c +@@ -25,6 +25,7 @@ + #include "prio.h" + #include "devmapper.h" + #include "mpath_cmd.h" ++#include "version.h" + + static int + hwe_strmatch (struct hwentry *hwe1, struct hwentry *hwe2) +@@ -667,6 +668,22 @@ load_config (char * file) + factorize_hwtable(conf->hwtable, builtin_hwtable_size); + } + ++ } else { ++ condlog(0, "/etc/multipath.conf does not exist, blacklisting all devices."); ++ condlog(0, "A default multipath.conf file is located at"); ++ condlog(0, "/usr/share/doc/device-mapper-multipath-%d.%d.%d/multipath.conf", MULTIPATH_VERSION(VERSION_CODE)); ++ if (conf->blist_devnode == NULL) { ++ conf->blist_devnode = vector_alloc(); ++ if (!conf->blist_devnode) { ++ condlog(0, "cannot allocate blacklist\n"); ++ goto out; ++ } ++ } ++ if (store_ble(conf->blist_devnode, strdup(".*"), ++ ORIGIN_NO_CONFIG)) { ++ condlog(0, "cannot store default no-config blacklist\n"); ++ goto out; ++ } + } + + conf->processed_main_config = 1; +diff --git a/libmultipath/config.h b/libmultipath/config.h +index ffc69b5..614331c 100644 +--- a/libmultipath/config.h ++++ b/libmultipath/config.h +@@ -7,6 +7,7 @@ + + #define ORIGIN_DEFAULT 0 + #define ORIGIN_CONFIG 1 ++#define ORIGIN_NO_CONFIG 2 + + /* + * In kernel, fast_io_fail == 0 means immediate failure on rport delete. +diff --git a/multipath/multipath.rules b/multipath/multipath.rules +index 4d78b98..5753766 100644 +--- a/multipath/multipath.rules ++++ b/multipath/multipath.rules +@@ -6,6 +6,7 @@ IMPORT{cmdline}="nompath" + ENV{nompath}=="?*", GOTO="end_mpath" + IMPORT{cmdline}="multipath" + ENV{multipath}=="off", GOTO="end_mpath" ++TEST!="/etc/multipath.conf", GOTO="end_mpath" + + KERNEL=="dm-*", GOTO="check_kpartx" + ENV{DEVTYPE}!="partition", GOTO="test_dev" +diff --git a/multipathd/multipathd.8 b/multipathd/multipathd.8 +index 4c765af..c1499a5 100644 +--- a/multipathd/multipathd.8 ++++ b/multipathd/multipathd.8 +@@ -39,6 +39,8 @@ map regains its maximum performance and redundancy. + This daemon executes the external \fBmultipath\fR tool when events occur. + In turn, the multipath tool signals the multipathd daemon when it is done with + devmap reconfiguration, so that it can refresh its failed path list. ++ ++In this Linux distribution, multipathd does not run unless a /etc/multipath.conffile exists + . + . + .\" ---------------------------------------------------------------------------- +diff --git a/multipathd/multipathd.service b/multipathd/multipathd.service +index fd66cf6..fafd088 100644 +--- a/multipathd/multipathd.service ++++ b/multipathd/multipathd.service +@@ -4,6 +4,7 @@ Wants=systemd-udev-trigger.service systemd-udev-settle.service + Before=iscsi.service iscsid.service lvm2-lvmetad.service lvm2-activation-early.service + Before=local-fs-pre.target blk-availability.service + After=multipathd.socket systemd-udev-trigger.service systemd-udev-settle.service ++ConditionPathExists=/etc/multipath.conf + DefaultDependencies=no + Conflicts=shutdown.target + ConditionKernelCommandLine=!nompath +-- +2.8.1 + diff --git a/meta-oe/recipes-support/multipath-tools/files/0005-RH-add-mpathconf.patch b/meta-oe/recipes-support/multipath-tools/files/0005-RH-add-mpathconf.patch new file mode 100644 index 0000000..acef410 --- /dev/null +++ b/meta-oe/recipes-support/multipath-tools/files/0005-RH-add-mpathconf.patch @@ -0,0 +1,648 @@ +From de44504fe7f7802cd474efd92ac15b5a8857db1f Mon Sep 17 00:00:00 2001 +From: Benjamin Marzinski +Date: Thu, 16 Oct 2014 15:49:01 -0500 +Subject: [PATCH 05/14] RH: add mpathconf + +mpathconf is a program (largely based on lvmcomf) to help users +configure /etc/multipath.conf and enable or disable multipathing. It +has a couple of built-in options that can be set directly from the +command line. But, mostly it is used to get a multipath.conf file +with the OS defaults, and to enable and disable multipathing via +a single command. + +Signed-off-by: Benjamin Marzinski +--- + libmultipath/config.c | 1 + + multipath/Makefile | 5 + + multipath/mpathconf | 464 ++++++++++++++++++++++++++++++++++++++++++++++++++ + multipath/mpathconf.8 | 101 +++++++++++ + 4 files changed, 571 insertions(+) + create mode 100644 multipath/mpathconf + create mode 100644 multipath/mpathconf.8 + +diff --git a/libmultipath/config.c b/libmultipath/config.c +index aae69b8..c485748 100644 +--- a/libmultipath/config.c ++++ b/libmultipath/config.c +@@ -672,6 +672,7 @@ load_config (char * file) + condlog(0, "/etc/multipath.conf does not exist, blacklisting all devices."); + condlog(0, "A default multipath.conf file is located at"); + condlog(0, "/usr/share/doc/device-mapper-multipath-%d.%d.%d/multipath.conf", MULTIPATH_VERSION(VERSION_CODE)); ++ condlog(0, "You can run /sbin/mpathconf to create or modify /etc/multipath.conf"); + if (conf->blist_devnode == NULL) { + conf->blist_devnode = vector_alloc(); + if (!conf->blist_devnode) { +diff --git a/multipath/Makefile b/multipath/Makefile +index 1e9ee4b..3d4d459 100644 +--- a/multipath/Makefile ++++ b/multipath/Makefile +@@ -18,10 +18,12 @@ $(EXEC): $(OBJS) + $(CC) $(CFLAGS) $(OBJS) -o $(EXEC) $(LDFLAGS) $(LIBDEPS) + $(GZIP) $(EXEC).8 > $(EXEC).8.gz + $(GZIP) $(EXEC).conf.5 > $(EXEC).conf.5.gz ++ $(GZIP) mpathconf.8 > mpathconf.8.gz + + install: + $(INSTALL_PROGRAM) -d $(DESTDIR)$(bindir) + $(INSTALL_PROGRAM) -m 755 $(EXEC) $(DESTDIR)$(bindir)/ ++ $(INSTALL_PROGRAM) -m 755 mpathconf $(DESTDIR)$(bindir)/ + $(INSTALL_PROGRAM) -d $(DESTDIR)$(udevrulesdir) + $(INSTALL_PROGRAM) -m 644 11-dm-mpath.rules $(DESTDIR)$(udevrulesdir) + $(INSTALL_PROGRAM) -m 644 $(EXEC).rules $(DESTDIR)$(libudevdir)/rules.d/62-multipath.rules +@@ -29,13 +31,16 @@ install: + $(INSTALL_PROGRAM) -m 644 $(EXEC).8.gz $(DESTDIR)$(man8dir) + $(INSTALL_PROGRAM) -d $(DESTDIR)$(man5dir) + $(INSTALL_PROGRAM) -m 644 $(EXEC).conf.5.gz $(DESTDIR)$(man5dir) ++ $(INSTALL_PROGRAM) -m 644 mpathconf.8.gz $(DESTDIR)$(man8dir) + + uninstall: + $(RM) $(DESTDIR)$(bindir)/$(EXEC) + $(RM) $(DESTDIR)$(udevrulesdir)/11-dm-mpath.rules + $(RM) $(DESTDIR)$(libudevdir)/rules.d/62-multipath.rules ++ $(RM) $(DESTDIR)$(bindir)/mpathconf + $(RM) $(DESTDIR)$(man8dir)/$(EXEC).8.gz + $(RM) $(DESTDIR)$(man5dir)/$(EXEC).conf.5.gz ++ $(RM) $(DESTDIR)$(man8dir)/mpathconf.8.gz + + clean: + $(RM) core *.o $(EXEC) *.gz +diff --git a/multipath/mpathconf b/multipath/mpathconf +new file mode 100644 +index 0000000..e839134 +--- /dev/null ++++ b/multipath/mpathconf +@@ -0,0 +1,464 @@ ++#!/bin/bash ++# ++# Copyright (C) 2010 Red Hat, Inc. All rights reserved. ++# ++# This file is part of the device-mapper-multipath package. ++# ++# This copyrighted material is made available to anyone wishing to use, ++# modify, copy, or redistribute it subject to the terms and conditions ++# of the GNU General Public License v.2. ++# ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software Foundation, ++# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++ ++# ++# Simple editting of /etc/multipath.conf ++# This program was largely ripped off from lvmconf ++# ++ ++unset ENABLE FIND FRIENDLY MODULE MULTIPATHD HAVE_DISABLE HAVE_WWID_DISABLE HAVE_FIND HAVE_BLACKLIST HAVE_EXCEPTIONS HAVE_DEFAULTS HAVE_FRIENDLY HAVE_MULTIPATHD HAVE_MODULE HAVE_OUTFILE SHOW_STATUS CHANGED_CONFIG WWID_LIST ++ ++DEFAULT_CONFIG="# device-mapper-multipath configuration file ++ ++# For a complete list of the default configuration values, run either: ++# # multipath -t ++# or ++# # multipathd show config ++ ++# For a list of configuration options with descriptions, see the ++# multipath.conf man page. ++ ++defaults { ++ user_friendly_names yes ++ find_multipaths yes ++} ++ ++blacklist_exceptions { ++ property \"(SCSI_IDENT_|ID_WWN)\" ++}" ++ ++CONFIGFILE="/etc/multipath.conf" ++OUTPUTFILE="/etc/multipath.conf" ++MULTIPATHDIR="/etc/multipath" ++TMPFILE="/etc/multipath/.multipath.conf.tmp" ++WWIDS=0 ++ ++function usage ++{ ++ echo "usage: $0 " ++ echo "" ++ echo "Commands:" ++ echo "Enable: --enable " ++ echo "Disable: --disable" ++ echo "Only allow certain wwids (instead of enable): --allow " ++ echo "Set user_friendly_names (Default y): --user_friendly_names " ++ echo "Set find_multipaths (Default y): --find_multipaths " ++ echo "Load the dm-multipath modules on enable (Default y): --with_module " ++ echo "start/stop/reload multipathd (Default n): --with_multipathd " ++ echo "select output file (Default /etc/multipath.conf): --outfile " ++ echo "" ++} ++ ++function add_wwid ++{ ++ INDEX=0 ++ while [ "$INDEX" -lt "$WWIDS" ] ; do ++ if [ "$1" = "${WWID_LIST[$INDEX]}" ] ; then ++ return ++ fi ++ ((INDEX++)) ++ done ++ WWID_LIST[$WWIDS]="$1" ++ ((WWIDS++)) ++} ++ ++function get_dm_deps ++{ ++ shift 3 ++ while [ -n "$1" -a -n "$2" ]; do ++ MAJOR=$(echo $1 | tr -d '(,') ++ MINOR=$(echo $2 | tr -d ')') ++ UUID=`dmsetup info -c --noheadings -o uuid -j $MAJOR -m $MINOR 2> /dev/null` ++ if [ -n "$UUID" ] ; then ++ set_dm_wwid $UUID ++ fi ++ shift 2 ++ done ++} ++ ++function set_dm_wwid ++{ ++ if [[ "$1" =~ ^part[[:digit:]]+-mpath- ]] ; then ++ add_wwid "${1##part*-mpath-}" ++ elif [[ "$1" =~ ^mpath- ]] ; then ++ add_wwid "${1##mpath-}" ++ else ++ get_dm_deps `dmsetup deps -u $1` ++ fi ++} ++ ++function set_wwid ++{ ++ UUID="" ++ if [[ "$1" =~ ^[[:digit:]]+:[[:digit:]]+$ ]] ; then ++ MAJOR=${1%%:*} ++ MINOR=${1##*:} ++ UUID=`dmsetup info -c --noheadings -o uuid -j $MAJOR -m $MINOR 2> /dev/null` ++ else ++ UUID=`dmsetup info -c --noheadings -o uuid $1 2> /dev/null` ++ fi ++ if [ -n "$UUID" ] ; then ++ set_dm_wwid $UUID ++ else ++ add_wwid "$1" ++ fi ++} ++ ++function parse_args ++{ ++ while [ -n "$1" ]; do ++ case $1 in ++ --enable) ++ ENABLE=1 ++ shift ++ ;; ++ --disable) ++ ENABLE=0 ++ shift ++ ;; ++ --allow) ++ ENABLE=2 ++ if [ -n "$2" ]; then ++ set_wwid $2 ++ shift 2 ++ else ++ usage ++ exit 1 ++ fi ++ ;; ++ --user_friendly_names) ++ if [ -n "$2" ]; then ++ FRIENDLY=$2 ++ shift 2 ++ else ++ usage ++ exit 1 ++ fi ++ ;; ++ --find_multipaths) ++ if [ -n "$2" ]; then ++ FIND=$2 ++ shift 2 ++ else ++ usage ++ exit 1 ++ fi ++ ;; ++ --with_module) ++ if [ -n "$2" ]; then ++ MODULE=$2 ++ shift 2 ++ else ++ usage ++ exit 1 ++ fi ++ ;; ++ --with_multipathd) ++ if [ -n "$2" ]; then ++ MULTIPATHD=$2 ++ shift 2 ++ else ++ usage ++ exit 1 ++ fi ++ ;; ++ --outfile) ++ if [ -n "$2" ]; then ++ OUTPUTFILE=$2 ++ HAVE_OUTFILE=1 ++ shift 2 ++ else ++ usage ++ exit 1 ++ fi ++ ;; ++ *) ++ usage ++ exit ++ esac ++ done ++} ++ ++function validate_args ++{ ++ if [ "$ENABLE" = "0" ] && [ -n "$FRIENDLY" -o -n "$FIND" -o -n "$MODULE" ]; then ++ echo "ignoring extra parameters on disable" ++ FRIENDLY="" ++ FIND="" ++ MODULE="" ++ fi ++ if [ -n "$FRIENDLY" ] && [ "$FRIENDLY" != "y" -a "$FRIENDLY" != "n" ]; then ++ echo "--user_friendly_names must be either 'y' or 'n'" ++ exit 1 ++ fi ++ if [ -n "$FIND" ] && [ "$FIND" != "y" -a "$FIND" != "n" ]; then ++ echo "--find_multipaths must be either 'y' or 'n'" ++ exit 1 ++ fi ++ if [ -z "$ENABLE" -a -z "$FIND" -a -z "$FRIENDLY" ]; then ++ SHOW_STATUS=1 ++ fi ++ if [ -n "$MODULE" ] && [ "$MODULE" != "y" -a "$MODULE" != "n" ]; then ++ echo "--with_module must be either 'y' or 'n'" ++ exit 1 ++ fi ++ if [ -n "$MULTIPATHD" ] && [ "$MULTIPATHD" != "y" -a "$MULTIPATHD" != "n" ]; then ++ echo "--with_multipathd must be either 'y' or 'n'" ++ exit 1 ++ fi ++ if [ "$ENABLE" = 2 -a -z "$HAVE_OUTFILE" ]; then ++ echo "Because --allow makes changes that cannot be automatically reversed," ++ echo "you must set --outfile when you set --allow" ++ exit 1 ++ fi ++} ++ ++function add_blacklist_exceptions ++{ ++ INDEX=0 ++ while [ "$INDEX" -lt "$WWIDS" ] ; do ++ sed -i '/^blacklist_exceptions[[:space:]]*{/ a\ ++ wwid '"\"${WWID_LIST[$INDEX]}\""' ++' $TMPFILE ++ ((INDEX++)) ++ done ++} ++ ++umask 0077 ++ ++parse_args "$@" ++ ++validate_args ++ ++if [ ! -d "$MULTIPATHDIR" ]; then ++ echo "/etc/multipath/ does not exist. failing" ++ exit 1 ++fi ++ ++rm $TMPFILE 2> /dev/null ++echo "$DEFAULT_CONFIG" > $TMPFILE ++if [ -f "$CONFIGFILE" ]; then ++ cp $CONFIGFILE $TMPFILE ++fi ++ ++if grep -q "^blacklist[[:space:]]*{" $TMPFILE ; then ++ HAVE_BLACKLIST=1 ++fi ++ ++if grep -q "^blacklist_exceptions[[:space:]]*{" $TMPFILE ; then ++ HAVE_EXCEPTIONS=1 ++fi ++ ++if grep -q "^defaults[[:space:]]*{" $TMPFILE ; then ++ HAVE_DEFAULTS=1 ++fi ++ ++if [ -z "$MODULE" -o "$MODULE" = "y" ]; then ++ if lsmod | grep -q "dm_multipath" ; then ++ HAVE_MODULE=1 ++ else ++ HAVE_MODULE=0 ++ fi ++fi ++ ++if [ "$MULTIPATHD" = "y" ]; then ++ if /bin/systemctl status multipathd.service > /dev/null 2>&1 ; then ++ HAVE_MULTIPATHD=1 ++ else ++ HAVE_MULTIPATHD=0 ++ fi ++fi ++ ++if [ "$HAVE_BLACKLIST" = "1" ]; then ++ if sed -n '/^blacklist[[:space:]]*{/,/^}/ p' $TMPFILE | grep -q "^[[:space:]]*devnode \"\.\?\*\"" ; then ++ HAVE_DISABLE=1 ++ elif sed -n '/^blacklist[[:space:]]*{/,/^}/ p' $TMPFILE | grep -q "^[[:space:]]*#[[:space:]]*devnode \"\.\?\*\"" ; then ++ HAVE_DISABLE=0 ++ fi ++fi ++ ++if [ "$HAVE_BLACKLIST" = "1" ]; then ++ if sed -n '/^blacklist[[:space:]]*{/,/^}/ p' $TMPFILE | grep -q "^[[:space:]]*wwid \"\.\?\*\"" ; then ++ HAVE_WWID_DISABLE=1 ++ elif sed -n '/^blacklist[[:space:]]*{/,/^}/ p' $TMPFILE | grep -q "^[[:space:]]*#[[:space:]]*wwid \"\.\?\*\"" ; then ++ HAVE_WWID_DISABLE=0 ++ fi ++fi ++ ++if [ "$HAVE_DEFAULTS" = "1" ]; then ++ if sed -n '/^defaults[[:space:]]*{/,/^}/ p' $TMPFILE | grep -q "^[[:space:]]*find_multipaths[[:space:]]*\(yes\|1\)" ; then ++ HAVE_FIND=1 ++ elif sed -n '/^defaults[[:space:]]*{/,/^}/ p' $TMPFILE | grep -q "^[[:space:]]*find_multipaths[[:space:]]*\(no\|0\)" ; then ++ HAVE_FIND=0 ++ fi ++ if sed -n '/^defaults[[:space:]]*{/,/^}/ p' $TMPFILE | grep -q "^[[:space:]]*user_friendly_names[[:space:]]*\(yes\|1\)" ; then ++ HAVE_FRIENDLY=1 ++ elif sed -n '/^defaults[[:space:]]*{/,/^}/ p' $TMPFILE | grep -q "^[[:space:]]*user_friendly_names[[:space:]]*\(no\|0\)" ; then ++ HAVE_FRIENDLY=0 ++ fi ++fi ++ ++if [ -n "$SHOW_STATUS" ]; then ++ if [ -z "$HAVE_DISABLE" -o "$HAVE_DISABLE" = 0 ]; then ++ echo "multipath is enabled" ++ else ++ echo "multipath is disabled" ++ fi ++ if [ -z "$HAVE_FIND" -o "$HAVE_FIND" = 0 ]; then ++ echo "find_multipaths is disabled" ++ else ++ echo "find_multipaths is enabled" ++ fi ++ if [ -z "$HAVE_FRIENDLY" -o "$HAVE_FRIENDLY" = 0 ]; then ++ echo "user_friendly_names is disabled" ++ else ++ echo "user_friendly_names is enabled" ++ fi ++ if [ -n "$HAVE_MODULE" ]; then ++ if [ "$HAVE_MODULE" = 1 ]; then ++ echo "dm_multipath module is loaded" ++ else ++ echo "dm_multipath module is not loaded" ++ fi ++ fi ++ if [ -z "$HAVE_MULTIPATHD" ]; then ++ if /bin/systemctl status multipathd.service > /dev/null 2>&1 ; then ++ HAVE_MULTIPATHD=1 ++ else ++ HAVE_MULTIPATHD=0 ++ fi ++ fi ++ if [ "$HAVE_MULTIPATHD" = 1 ]; then ++ echo "multipathd is running" ++ else ++ echo "multipathd is not running" ++ fi ++ exit 0 ++fi ++ ++if [ -z "$HAVE_BLACKLIST" ]; then ++ cat >> $TMPFILE <<- _EOF_ ++ ++blacklist { ++} ++_EOF_ ++fi ++ ++if [ -z "$HAVE_DEFAULTS" ]; then ++ cat >> $TMPFILE <<- _EOF_ ++ ++defaults { ++} ++_EOF_ ++fi ++ ++if [ "$ENABLE" = 2 ]; then ++ if [ "$HAVE_DISABLE" = 1 ]; then ++ sed -i '/^blacklist[[:space:]]*{/,/^}/ s/^[[:space:]]*devnode \"\.\?\*\"/# devnode ".*"/' $TMPFILE ++ fi ++ if [ -z "$HAVE_WWID_DISABLE" ]; then ++ sed -i '/^blacklist[[:space:]]*{/ a\ ++ wwid ".*" ++' $TMPFILE ++ elif [ "$HAVE_WWID_DISABLE" = 0 ]; then ++ sed -i '/^blacklist[[:space:]]*{/,/^}/ s/^[[:space:]]*#[[:space:]]*wwid \"\.\?\*\"/ wwid ".*"/' $TMPFILE ++ fi ++ if [ "$HAVE_EXCEPTIONS" = 1 ]; then ++ sed -i '/^blacklist_exceptions[[:space:]]*{/,/^}/ {/^[[:space:]]*wwid/ d}' $TMPFILE ++ else ++ cat >> $TMPFILE <<- _EOF_ ++ ++blacklist_exceptions { ++} ++_EOF_ ++ fi ++ add_blacklist_exceptions ++elif [ "$ENABLE" = 1 ]; then ++ if [ "$HAVE_DISABLE" = 1 ]; then ++ sed -i '/^blacklist[[:space:]]*{/,/^}/ s/^[[:space:]]*devnode \"\.\?\*\"/# devnode ".*"/' $TMPFILE ++ fi ++elif [ "$ENABLE" = 0 ]; then ++ if [ -z "$HAVE_DISABLE" ]; then ++ sed -i '/^blacklist[[:space:]]*{/ a\ ++ devnode ".*" ++' $TMPFILE ++ elif [ "$HAVE_DISABLE" = 0 ]; then ++ sed -i '/^blacklist[[:space:]]*{/,/^}/ s/^[[:space:]]*#[[:space:]]*devnode \"\.\?\*\"/ devnode ".*"/' $TMPFILE ++ fi ++fi ++ ++if [ "$FIND" = "n" ]; then ++ if [ "$HAVE_FIND" = 1 ]; then ++ sed -i '/^defaults[[:space:]]*{/,/^}/ s/^[[:space:]]*find_multipaths[[:space:]]*\(yes\|1\)/ find_multipaths no/' $TMPFILE ++ CHANGED_CONFIG=1 ++ fi ++elif [ "$FIND" = "y" ]; then ++ if [ -z "$HAVE_FIND" ]; then ++ sed -i '/^defaults[[:space:]]*{/ a\ ++ find_multipaths yes ++' $TMPFILE ++ CHANGED_CONFIG=1 ++ elif [ "$HAVE_FIND" = 0 ]; then ++ sed -i '/^defaults[[:space:]]*{/,/^}/ s/^[[:space:]]*find_multipaths[[:space:]]*\(no\|0\)/ find_multipaths yes/' $TMPFILE ++ CHANGED_CONFIG=1 ++ fi ++fi ++ ++if [ "$FRIENDLY" = "n" ]; then ++ if [ "$HAVE_FRIENDLY" = 1 ]; then ++ sed -i '/^defaults[[:space:]]*{/,/^}/ s/^[[:space:]]*user_friendly_names[[:space:]]*\(yes\|1\)/ user_friendly_names no/' $TMPFILE ++ CHANGED_CONFIG=1 ++ fi ++elif [ "$FRIENDLY" = "y" ]; then ++ if [ -z "$HAVE_FRIENDLY" ]; then ++ sed -i '/^defaults[[:space:]]*{/ a\ ++ user_friendly_names yes ++' $TMPFILE ++ CHANGED_CONFIG=1 ++ elif [ "$HAVE_FRIENDLY" = 0 ]; then ++ sed -i '/^defaults[[:space:]]*{/,/^}/ s/^[[:space:]]*user_friendly_names[[:space:]]*\(no\|0\)/ user_friendly_names yes/' $TMPFILE ++ CHANGED_CONFIG=1 ++ fi ++fi ++ ++if [ -f "$OUTPUTFILE" ]; then ++ cp $OUTPUTFILE $OUTPUTFILE.old ++ if [ $? != 0 ]; then ++ echo "failed to backup old config file, $OUTPUTFILE not updated" ++ exit 1 ++ fi ++fi ++ ++cp $TMPFILE $OUTPUTFILE ++if [ $? != 0 ]; then ++ echo "failed to copy new config file into place, check $OUTPUTFILE is still OK" ++ exit 1 ++fi ++ ++rm -f $TMPFILE ++ ++if [ "$ENABLE" = 1 ]; then ++ if [ "$HAVE_MODULE" = 0 ]; then ++ modprobe dm_multipath ++ fi ++ if [ "$HAVE_MULTIPATHD" = 0 ]; then ++ systemctl start multipathd.service ++ fi ++elif [ "$ENABLE" = 0 ]; then ++ if [ "$HAVE_MULTIPATHD" = 1 ]; then ++ systemctl stop multipathd.service ++ fi ++elif [ -n "$CHANGED_CONFIG" -a "$HAVE_MULTIPATHD" = 1 ]; then ++ systemctl reload multipathd.service ++fi +diff --git a/multipath/mpathconf.8 b/multipath/mpathconf.8 +new file mode 100644 +index 0000000..4cd3267 +--- /dev/null ++++ b/multipath/mpathconf.8 +@@ -0,0 +1,101 @@ ++.TH MPATHCONF 8 "June 2010" "" "Linux Administrator's Manual" ++.SH NAME ++mpathconf - A tool for configuring device-mapper-multipath ++.SH SYNOPSIS ++.B mpathconf ++.RB [\| commands \|] ++.RB [\| options \|] ++.SH DESCRIPTION ++.B mpathconf ++is a utility that creates or modifies ++.B /etc/multipath.conf. ++It can enable or disable multipathing and configure some common options. ++.B mpathconf ++can also load the ++.B dm_multipath ++module, start and stop the ++.B multipathd ++daemon, and configure the ++.B multipathd ++service to start automatically or not. If ++.B mpathconf ++is called with no commands, it will display the current configuration. ++ ++The default options for mpathconf are ++.B --with_module ++The ++.B --with_multipathd ++option is not set by default. Enabling multipathing will load the ++.B dm_multipath ++module but it will not immediately start it. This is so ++that users can manually edit their config file if necessary, before starting ++.B multipathd. ++ ++If ++.B /etc/multipath.conf ++already exists, mpathconf will edit it. If it does not exist, mpathconf will ++create a default file with ++.B user_friendly_names ++and ++.B find_multipaths ++set. To disable these, use the ++.B --user_friendly_names n ++and ++.B --find_multipaths n ++options ++.SH COMMANDS ++.TP ++.B --enable ++Removes any line that blacklists all device nodes from the ++.B /etc/multipath.conf ++blacklist section. ++.TP ++.B --disable ++Adds a line that blacklists all device nodes to the ++.B /etc/multipath.conf ++blacklist section. If no blacklist section exists, it will create one. ++.TP ++.B --user_friendly_name \fP { \fBy\fP | \fBn\fP } ++If set to \fBy\fP, this adds the line ++.B user_friendly_names yes ++to the ++.B /etc/multipath.conf ++defaults section. If set to \fBn\fP, this removes the line, if present. This ++command can be used along with any other command. ++.TP ++.B --find_multipaths\fP { \fBy\fP | \fBn\fP } ++If set to \fBy\fP, this adds the line ++.B find_multipaths yes ++to the ++.B /etc/multipath.conf ++defaults section. If set to \fBn\fP, this removes the line, if present. This ++command can be used aldong with any other command. ++.SH OPTIONS ++.TP ++.B --with_module\fP { \fBy\fP | \fBn\fP } ++If set to \fBy\fP, this runs ++.B modprobe dm_multipath ++to install the multipath modules. This option only works with the ++.B --enable ++command. This option is set to \fBy\fP by default. ++.TP ++.B --with_multipathd { \fBy\fP | \fBn\fP } ++If set to \fBy\fP, this runs ++.B service multipathd start ++to start the multipathd daemon on \fB--enable\fP, ++.B service multipathd stop ++to stop the multipathd daemon on \fB--disable\fP, and ++.B service multipathd reload ++to reconfigure multipathd on \fB--user_frindly_names\fP and ++\fB--find_multipaths\fP. ++This option is set to \fBn\fP by default. ++.SH FILES ++.BR /etc/multipath.conf ++.SH "SEE ALSO" ++.BR multipath.conf (5), ++.BR modprobe (8), ++.BR multipath (8), ++.BR multipathd (8), ++.BR service (8), ++.SH AUTHOR ++Benjamin Marzinski +-- +2.8.1 + diff --git a/meta-oe/recipes-support/multipath-tools/files/0006-RH-add-wwids-from-kernel-cmdline-mpath.wwids-with-A.patch b/meta-oe/recipes-support/multipath-tools/files/0006-RH-add-wwids-from-kernel-cmdline-mpath.wwids-with-A.patch new file mode 100644 index 0000000..dc291b8 --- /dev/null +++ b/meta-oe/recipes-support/multipath-tools/files/0006-RH-add-wwids-from-kernel-cmdline-mpath.wwids-with-A.patch @@ -0,0 +1,166 @@ +From 15179c830521d8f37f9254ebc6bbf150a409f956 Mon Sep 17 00:00:00 2001 +From: Benjamin Marzinski +Date: Fri, 17 Oct 2014 11:20:34 -0500 +Subject: [PATCH 06/14] RH: add wwids from kernel cmdline mpath.wwids with -A + +This patch adds another option to multipath, "-A", which reads +/proc/cmdline for mpath.wwid= options, and adds any wwids it finds +to /etc/multipath/wwids. While this isn't usually important during +normal operation, since these wwids should already be added, it can be +helpful during installation, to make sure that multipath can claim +devices as its own, before LVM or something else makes use of them. The +patch also execs "/sbin/multipath -A" before running multipathd in +multipathd.service + +Signed-off-by: Benjamin Marzinski +--- + libmultipath/wwids.c | 44 +++++++++++++++++++++++++++++++++++++++++++ + libmultipath/wwids.h | 1 + + multipath/main.c | 10 ++++++++-- + multipath/multipath.8 | 5 ++++- + multipathd/multipathd.service | 1 + + 5 files changed, 58 insertions(+), 3 deletions(-) + +diff --git a/libmultipath/wwids.c b/libmultipath/wwids.c +index bc70a27..88bb72b 100644 +--- a/libmultipath/wwids.c ++++ b/libmultipath/wwids.c +@@ -321,3 +321,47 @@ remember_wwid(char *wwid) + condlog(4, "wwid %s already in wwids file", wwid); + return 0; + } ++ ++int remember_cmdline_wwid(void) ++{ ++ FILE *f = NULL; ++ char buf[LINE_MAX], *next, *ptr; ++ int ret = 0; ++ ++ f = fopen("/proc/cmdline", "re"); ++ if (!f) { ++ condlog(0, "can't open /proc/cmdline : %s", strerror(errno)); ++ return -1; ++ } ++ ++ if (!fgets(buf, sizeof(buf), f)) { ++ if (ferror(f)) ++ condlog(0, "read of /proc/cmdline failed : %s", ++ strerror(errno)); ++ else ++ condlog(0, "couldn't read /proc/cmdline"); ++ fclose(f); ++ return -1; ++ } ++ fclose(f); ++ next = buf; ++ while((ptr = strstr(next, "mpath.wwid="))) { ++ ptr += 11; ++ next = strpbrk(ptr, " \t\n"); ++ if (next) { ++ *next = '\0'; ++ next++; ++ } ++ if (strlen(ptr)) { ++ if (remember_wwid(ptr) != 0) ++ ret = -1; ++ } ++ else { ++ condlog(0, "empty mpath.wwid kernel command line option"); ++ ret = -1; ++ } ++ if (!next) ++ break; ++ } ++ return ret; ++} +diff --git a/libmultipath/wwids.h b/libmultipath/wwids.h +index 9527012..b665232 100644 +--- a/libmultipath/wwids.h ++++ b/libmultipath/wwids.h +@@ -17,5 +17,6 @@ int remember_wwid(char *wwid); + int check_wwids_file(char *wwid, int write_wwid); + int remove_wwid(char *wwid); + int replace_wwids(vector mp); ++int remember_cmdline_wwid(void); + + #endif /* _WWIDS_H */ +diff --git a/multipath/main.c b/multipath/main.c +index 4174d43..72585b0 100644 +--- a/multipath/main.c ++++ b/multipath/main.c +@@ -102,7 +102,7 @@ usage (char * progname) + { + fprintf (stderr, VERSION_STRING); + fprintf (stderr, "Usage:\n"); +- fprintf (stderr, " %s [-a|-c|-w|-W] [-d] [-r] [-i] [-v lvl] [-p pol] [-b fil] [-q] [dev]\n", progname); ++ fprintf (stderr, " %s [-a|-A|-c|-w|-W] [-d] [-r] [-i] [-v lvl] [-p pol] [-b fil] [-q] [dev]\n", progname); + fprintf (stderr, " %s -l|-ll|-f [-v lvl] [-b fil] [-R num] [dev]\n", progname); + fprintf (stderr, " %s -F [-v lvl] [-R num]\n", progname); + fprintf (stderr, " %s -t\n", progname); +@@ -116,6 +116,8 @@ usage (char * progname) + " -f flush a multipath device map\n" + " -F flush all multipath device maps\n" + " -a add a device wwid to the wwids file\n" ++ " -A add devices from kernel command line mpath.wwids\n" ++ " parameters to wwids file\n" + " -c check if a device should be a path in a multipath device\n" + " -q allow queue_if_no_path when multipathd is not running\n" + " -d dry run, do not create or update devmaps\n" +@@ -522,7 +524,7 @@ main (int argc, char *argv[]) + exit(1); + multipath_conf = conf; + conf->retrigger_tries = 0; +- while ((arg = getopt(argc, argv, ":adchl::FfM:v:p:b:BrR:itquwW")) != EOF ) { ++ while ((arg = getopt(argc, argv, ":aAdchl::FfM:v:p:b:BrR:itquwW")) != EOF ) { + switch(arg) { + case 1: printf("optarg : %s\n",optarg); + break; +@@ -586,6 +588,10 @@ main (int argc, char *argv[]) + case 't': + r = dump_config(conf); + goto out_free_config; ++ case 'A': ++ if (remember_cmdline_wwid() != 0) ++ exit(1); ++ exit(0); + case 'h': + usage(argv[0]); + exit(0); +diff --git a/multipath/multipath.8 b/multipath/multipath.8 +index b9436e5..b9ad6b1 100644 +--- a/multipath/multipath.8 ++++ b/multipath/multipath.8 +@@ -25,7 +25,7 @@ multipath \- Device mapper target autoconfig. + .RB [\| \-b\ \c + .IR bindings_file \|] + .RB [\| \-d \|] +-.RB [\| \-h | \-l | \-ll | \-f | \-t | \-F | \-B | \-c | \-q | \|-r | \|-i | \-a | \|-u | \-w | \-W \|] ++.RB [\| \-h | \-l | \-ll | \-f | \-t | \-F | \-B | \-c | \-q | \|-r | \|-i | \-a | \-A | \-u | \-w | \-W \|] + .RB [\| \-p\ \c + .IR failover | multibus | group_by_serial | group_by_prio | group_by_node_name \|] + .RB [\| \-R\ \c +@@ -122,6 +122,9 @@ Add the WWID for the specified device to the WWIDs file. + Check if the device specified in the program environment should be + a path in a multipath device. + . ++.B \-A ++add wwids from any kernel command line mpath.wwid parameters to the wwids file ++. + .TP + .B \-w + Remove the WWID for the specified device from the WWIDs file. +diff --git a/multipathd/multipathd.service b/multipathd/multipathd.service +index fafd088..a623a3f 100644 +--- a/multipathd/multipathd.service ++++ b/multipathd/multipathd.service +@@ -15,6 +15,7 @@ Type=notify + NotifyAccess=main + LimitCORE=infinity + ExecStartPre=-/sbin/modprobe -a scsi_dh_alua scsi_dh_emc scsi_dh_rdac dm-multipath ++ExecStartPre=-/sbin/multipath -A + ExecStart=/sbin/multipathd -d -s + ExecReload=/sbin/multipathd reconfigure + +-- +2.8.1 + diff --git a/meta-oe/recipes-support/multipath-tools/files/0007-RH-trigger-change-uevent-on-new-device-creation.patch b/meta-oe/recipes-support/multipath-tools/files/0007-RH-trigger-change-uevent-on-new-device-creation.patch new file mode 100644 index 0000000..025a351 --- /dev/null +++ b/meta-oe/recipes-support/multipath-tools/files/0007-RH-trigger-change-uevent-on-new-device-creation.patch @@ -0,0 +1,138 @@ +From 0d2c9afbd89d79fd700f9c99aa20e5f7c7382027 Mon Sep 17 00:00:00 2001 +From: Benjamin Marzinski +Date: Mon, 24 Apr 2017 09:39:57 -0500 +Subject: [PATCH 07/14] RH: trigger change uevent on new device creation + +When multipath first sees a path device with user_friendly names +enabled, it can't know if the device should be multipathed. This means +that it will not claim the device in udev. If the device is eventually +multipathed, multipath should trigger a change uevent to update the udev +database to claim the device. + +This also reverts commit 64e27ec066a001012f44550f095c93443e91d845. + +Signed-off-by: Benjamin Marzinski +--- + libmultipath/configure.c | 26 ++++++++++++++++++++++++-- + libmultipath/configure.h | 1 + + libmultipath/wwids.c | 4 ++-- + multipath/main.c | 2 +- + multipathd/main.c | 7 ++----- + 5 files changed, 30 insertions(+), 10 deletions(-) + +diff --git a/libmultipath/configure.c b/libmultipath/configure.c +index bd090d9..843dd09 100644 +--- a/libmultipath/configure.c ++++ b/libmultipath/configure.c +@@ -422,6 +422,28 @@ trigger_udev_change(const struct multipath *mpp) + udev_device_unref(udd); + } + ++void ++trigger_paths_udev_change(const struct multipath *mpp) ++{ ++ struct pathgroup * pgp; ++ struct path * pp; ++ int i, j; ++ ++ if (!mpp || !mpp->pg) ++ return; ++ ++ vector_foreach_slot (mpp->pg, pgp, i) { ++ if (!pgp->paths) ++ continue; ++ vector_foreach_slot(pgp->paths, pp, j) { ++ if (!pp->udev) ++ continue; ++ sysfs_attr_set_value(pp->udev, "uevent", "change", ++ strlen("change")); ++ } ++ } ++} ++ + static int + is_mpp_known_to_udev(const struct multipath *mpp) + { +@@ -802,8 +824,8 @@ int domap(struct multipath *mpp, char *params, int is_daemon) + * succeeded + */ + mpp->force_udev_reload = 0; +- if (mpp->action == ACT_CREATE) +- remember_wwid(mpp->wwid); ++ if (mpp->action == ACT_CREATE && remember_wwid(mpp->wwid) == 1) ++ trigger_paths_udev_change(mpp); + if (!is_daemon) { + /* multipath client mode */ + dm_switchgroup(mpp->alias, mpp->bestpg); +diff --git a/libmultipath/configure.h b/libmultipath/configure.h +index fd7f581..253e29b 100644 +--- a/libmultipath/configure.h ++++ b/libmultipath/configure.h +@@ -36,3 +36,4 @@ int get_refwwid (enum mpath_cmds cmd, char * dev, enum devtypes dev_type, + vector pathvec, char **wwid); + int reload_map(struct vectors *vecs, struct multipath *mpp, int refresh, int is_daemon); + int sysfs_get_host_adapter_name(struct path *pp, char *adapter_name); ++void trigger_paths_udev_change(const struct multipath *mpp); +diff --git a/libmultipath/wwids.c b/libmultipath/wwids.c +index 88bb72b..249c6c1 100644 +--- a/libmultipath/wwids.c ++++ b/libmultipath/wwids.c +@@ -319,7 +319,7 @@ remember_wwid(char *wwid) + condlog(3, "wrote wwid %s to wwids file", wwid); + else + condlog(4, "wwid %s already in wwids file", wwid); +- return 0; ++ return ret; + } + + int remember_cmdline_wwid(void) +@@ -353,7 +353,7 @@ int remember_cmdline_wwid(void) + next++; + } + if (strlen(ptr)) { +- if (remember_wwid(ptr) != 0) ++ if (remember_wwid(ptr) < 0) + ret = -1; + } + else { +diff --git a/multipath/main.c b/multipath/main.c +index 72585b0..2eda6a3 100644 +--- a/multipath/main.c ++++ b/multipath/main.c +@@ -336,7 +336,7 @@ configure (struct config *conf, enum mpath_cmds cmd, + } + if (cmd == CMD_ADD_WWID) { + r = remember_wwid(refwwid); +- if (r == 0) ++ if (r >= 0) + printf("wwid '%s' added\n", refwwid); + else + printf("failed adding '%s' to wwids file\n", +diff --git a/multipathd/main.c b/multipathd/main.c +index 81c76ca..874bcce 100644 +--- a/multipathd/main.c ++++ b/multipathd/main.c +@@ -2093,7 +2093,8 @@ configure (struct vectors * vecs, int start_waiters) + + sync_maps_state(mpvec); + vector_foreach_slot(mpvec, mpp, i){ +- remember_wwid(mpp->wwid); ++ if (remember_wwid(mpp->wwid) == 1) ++ trigger_paths_udev_change(mpp); + update_map_pr(mpp); + } + +@@ -2175,10 +2176,6 @@ reconfigure (struct vectors * vecs) + conf->verbosity = verbosity; + if (bindings_read_only) + conf->bindings_read_only = bindings_read_only; +- if (conf->find_multipaths) { +- condlog(2, "find_multipaths is set: -n is implied"); +- ignore_new_devs = 1; +- } + if (ignore_new_devs) + conf->ignore_new_devs = ignore_new_devs; + uxsock_timeout = conf->uxsock_timeout; +-- +2.8.1 + diff --git a/meta-oe/recipes-support/multipath-tools/files/0008-libmultipath-change-how-RADOS-checker-is-enabled.patch b/meta-oe/recipes-support/multipath-tools/files/0008-libmultipath-change-how-RADOS-checker-is-enabled.patch new file mode 100644 index 0000000..f678809 --- /dev/null +++ b/meta-oe/recipes-support/multipath-tools/files/0008-libmultipath-change-how-RADOS-checker-is-enabled.patch @@ -0,0 +1,56 @@ +From 0be174dbedd861d7694b0c7799fe26be31eb32b0 Mon Sep 17 00:00:00 2001 +From: Benjamin Marzinski +Date: Fri, 26 May 2017 17:52:57 -0500 +Subject: [PATCH 08/14] libmultipath: change how RADOS checker is enabled + +Instead of making the user call "make", "make install" and "make clean" +with ENABLE_RADOS set correctly, have the makefile check if +/usr/include/rados/librados.h exists, just like it checks if specific +functions exist in a file. + +Signed-off-by: Benjamin Marzinski +--- + Makefile.inc | 13 +++++++++++++ + libmultipath/checkers/Makefile | 3 ++- + 2 files changed, 15 insertions(+), 1 deletion(-) + +diff --git a/Makefile.inc b/Makefile.inc +index 2591fa9..e084fd1 100644 +--- a/Makefile.inc ++++ b/Makefile.inc +@@ -109,5 +109,18 @@ check_func = \ + echo "$$found" \ + ) + ++# Checker whether a file with name $1 exists ++check_file = $(shell \ ++ if [ -f "$1" ]; then \ ++ found=1; \ ++ status="yes"; \ ++ else \ ++ found=0; \ ++ status="no"; \ ++ fi; \ ++ echo 1>&2 "Checking if $1 exists ... $$status"; \ ++ echo "$$found" \ ++ ) ++ + %.o: %.c + $(CC) $(CFLAGS) -c -o $@ $< +diff --git a/libmultipath/checkers/Makefile b/libmultipath/checkers/Makefile +index 732ca9d..bce6b8b 100644 +--- a/libmultipath/checkers/Makefile ++++ b/libmultipath/checkers/Makefile +@@ -14,7 +14,8 @@ LIBS= \ + libcheckemc_clariion.so \ + libcheckhp_sw.so \ + libcheckrdac.so +-ifneq ($(ENABLE_RADOS),0) ++ ++ifneq ($(call check_file,/usr/include/rados/librados.h),0) + LIBS += libcheckrbd.so + endif + +-- +2.8.1 + diff --git a/meta-oe/recipes-support/multipath-tools/files/0009-multipath-set-verbosity-to-default-during-config.patch b/meta-oe/recipes-support/multipath-tools/files/0009-multipath-set-verbosity-to-default-during-config.patch new file mode 100644 index 0000000..17d2d91 --- /dev/null +++ b/meta-oe/recipes-support/multipath-tools/files/0009-multipath-set-verbosity-to-default-during-config.patch @@ -0,0 +1,40 @@ +From 526e539628e051128abf46a60ec22e18c9b5d84f Mon Sep 17 00:00:00 2001 +From: Benjamin Marzinski +Date: Wed, 31 May 2017 15:03:02 -0500 +Subject: [PATCH 09/14] multipath: set verbosity to default during config + +condlog was setting the verbosity to 0 if there was no configuration. +This keeps multipath from printing warning messages about config file +problems that are found while loading the configuration. Instead, it +should use the default config level until it loads the configuration +to find the current value. + +Signed-off-by: Benjamin Marzinski +--- + libmultipath/debug.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/libmultipath/debug.c b/libmultipath/debug.c +index fbe171a..f89b264 100644 +--- a/libmultipath/debug.c ++++ b/libmultipath/debug.c +@@ -11,6 +11,7 @@ + #include "../third-party/valgrind/drd.h" + #include "vector.h" + #include "config.h" ++#include "defaults.h" + + void dlog (int sink, int prio, const char * fmt, ...) + { +@@ -21,7 +22,7 @@ void dlog (int sink, int prio, const char * fmt, ...) + va_start(ap, fmt); + conf = get_multipath_config(); + ANNOTATE_IGNORE_READS_BEGIN(); +- thres = (conf) ? conf->verbosity : 0; ++ thres = (conf) ? conf->verbosity : DEFAULT_VERBOSITY; + ANNOTATE_IGNORE_READS_END(); + put_multipath_config(conf); + +-- +2.8.1 + diff --git a/meta-oe/recipes-support/multipath-tools/files/0010-mpath-skip-device-configs-without-vendor-product.patch b/meta-oe/recipes-support/multipath-tools/files/0010-mpath-skip-device-configs-without-vendor-product.patch new file mode 100644 index 0000000..396b6d3 --- /dev/null +++ b/meta-oe/recipes-support/multipath-tools/files/0010-mpath-skip-device-configs-without-vendor-product.patch @@ -0,0 +1,37 @@ +From f88d60a93e98d86ae294f2317a122c4efde276f0 Mon Sep 17 00:00:00 2001 +From: Benjamin Marzinski +Date: Wed, 31 May 2017 17:58:59 -0500 +Subject: [PATCH 10/14] mpath: skip device configs without vendor/product + +Right now if multipath.conf includes a device configuration without a +vendor or product string, it will automatically be applied to all +devices, skipping all other configs entirely. This is clearly wrong. +This patch makes sure that user added configs include vendor and +product strings + +Signed-off-by: Benjamin Marzinski +--- + libmultipath/config.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/libmultipath/config.c b/libmultipath/config.c +index c485748..bdde113 100644 +--- a/libmultipath/config.c ++++ b/libmultipath/config.c +@@ -452,6 +452,13 @@ restart: + break; + j = n; + vector_foreach_slot_after(hw, hwe2, j) { ++ /* drop invalid device configs */ ++ if (!hwe2->vendor || !hwe2->product) { ++ condlog(0, "device config missing vendor or product parameter"); ++ vector_del_slot(hw, j--); ++ free_hwe(hwe2); ++ continue; ++ } + if (hwe_regmatch(hwe1, hwe2)) + continue; + /* dup */ +-- +2.8.1 + diff --git a/meta-oe/recipes-support/multipath-tools/files/0011-multipathd-fix-show-maps-json-crash.patch b/meta-oe/recipes-support/multipath-tools/files/0011-multipathd-fix-show-maps-json-crash.patch new file mode 100644 index 0000000..12d6d38 --- /dev/null +++ b/meta-oe/recipes-support/multipath-tools/files/0011-multipathd-fix-show-maps-json-crash.patch @@ -0,0 +1,38 @@ +From bc3ceda747104afdc24386df5dc45ca86f6c2936 Mon Sep 17 00:00:00 2001 +From: Benjamin Marzinski +Date: Thu, 1 Jun 2017 17:52:28 -0500 +Subject: [PATCH 11/14] multipathd: fix "show maps json" crash + +If there are no multipath devices, show_maps_json sets the maximum size +of the reply buffer to 0. Having a size of 0 causes the calls to calloc +and realloc to behave in ways that the code isn't designed to handle, +leading to a double-free crash. Instead, show_maps_json should just +use the INITIAL_REPLY_LEN if there are no multipath devices. + +Signed-off-by: Benjamin Marzinski +--- + multipathd/cli_handlers.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/multipathd/cli_handlers.c b/multipathd/cli_handlers.c +index 04c7386..7b0d00c 100644 +--- a/multipathd/cli_handlers.c ++++ b/multipathd/cli_handlers.c +@@ -162,10 +162,12 @@ show_maps_json (char ** r, int * len, struct vectors * vecs) + struct multipath * mpp; + char * c; + char * reply; +- unsigned int maxlen = INITIAL_REPLY_LEN * +- PRINT_JSON_MULTIPLIER * VECTOR_SIZE(vecs->mpvec); ++ unsigned int maxlen = INITIAL_REPLY_LEN; + int again = 1; + ++ if (VECTOR_SIZE(vecs->mpvec) > 0) ++ maxlen *= PRINT_JSON_MULTIPLIER * VECTOR_SIZE(vecs->mpvec); ++ + vector_foreach_slot(vecs->mpvec, mpp, i) { + if (update_multipath(vecs, mpp->alias, 0)) { + return 1; +-- +2.8.1 + diff --git a/meta-oe/recipes-support/multipath-tools/files/0012-multipath-tools-modify-Makefile.inc-for-cross-compil.patch b/meta-oe/recipes-support/multipath-tools/files/0012-multipath-tools-modify-Makefile.inc-for-cross-compil.patch new file mode 100644 index 0000000..5ccd4ae --- /dev/null +++ b/meta-oe/recipes-support/multipath-tools/files/0012-multipath-tools-modify-Makefile.inc-for-cross-compil.patch @@ -0,0 +1,58 @@ +From 6864ba28dec61609662ce5dc8bc7ed1925abb546 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Wed, 5 Jul 2017 02:56:13 -0400 +Subject: [PATCH 12/14] multipath-tools: modify Makefile.inc for + cross-compilation + +Do not look for systemd info on the host, and allow us to pass in CFLAGS +using the OPTFLAGS variable. + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Joe Slater + +Update for version 0.5.0-144-g770e6d0 + +Signed-off-by: Kai Kang + +Update for version 0.7.1 + +Signed-off-by: Hongxu Jia +--- + Makefile.inc | 8 ++------ + 1 file changed, 2 insertions(+), 6 deletions(-) + +diff --git a/Makefile.inc b/Makefile.inc +index e084fd1..c7f45fa 100644 +--- a/Makefile.inc ++++ b/Makefile.inc +@@ -35,12 +35,6 @@ ifndef RUN + endif + endif + +-ifndef SYSTEMD +- ifeq ($(shell systemctl --version > /dev/null 2>&1 && echo 1), 1) +- SYSTEMD = $(shell systemctl --version 2> /dev/null | sed -n 's/systemd \([0-9]*\)/\1/p') +- endif +-endif +- + ifndef SYSTEMDPATH + SYSTEMDPATH=usr/lib + endif +@@ -82,11 +76,13 @@ TEST_CC_OPTION = $(shell \ + + STACKPROT := $(call TEST_CC_OPTION,-fstack-protector-strong,-fstack-protector) + ++ifndef OPTFLAGS + OPTFLAGS = -O2 -g -pipe -Wall -Wextra -Wformat=2 -Werror=implicit-int \ + -Werror=implicit-function-declaration -Werror=format-security \ + -Wno-sign-compare -Wno-unused-parameter -Wno-clobbered \ + -Wp,-D_FORTIFY_SOURCE=2 $(STACKPROT) \ + --param=ssp-buffer-size=4 ++endif + + CFLAGS = $(OPTFLAGS) -DLIB_STRING=\"${LIB}\" -DRUN_DIR=\"${RUN}\" + BIN_CFLAGS = -fPIE -DPIE +-- +2.8.1 + diff --git a/meta-oe/recipes-support/multipath-tools/files/0013-Always-use-devmapper.patch b/meta-oe/recipes-support/multipath-tools/files/0013-Always-use-devmapper.patch new file mode 100644 index 0000000..52240f6 --- /dev/null +++ b/meta-oe/recipes-support/multipath-tools/files/0013-Always-use-devmapper.patch @@ -0,0 +1,53 @@ +From 1498338970a093fccbda3e33f5588a289ef2c66a Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Wed, 5 Jul 2017 02:59:46 -0400 +Subject: [PATCH 13/14] Always use devmapper + +Do not try to compute several _API_ make variables +from host information when cross-compiling. + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Aws Ismail +Signed-off-by: Joe Slater + +Rebase to 0.7.1 + +Signed-off-by: Hongxu Jia +--- + libmultipath/Makefile | 19 ++++--------------- + 1 file changed, 4 insertions(+), 15 deletions(-) + +diff --git a/libmultipath/Makefile b/libmultipath/Makefile +index b3244fc..9006b3f 100644 +--- a/libmultipath/Makefile ++++ b/libmultipath/Makefile +@@ -20,21 +20,10 @@ ifdef SYSTEMD + endif + endif + +-ifneq ($(call check_func,dm_task_no_flush,/usr/include/libdevmapper.h),0) +- CFLAGS += -DLIBDM_API_FLUSH -D_GNU_SOURCE +-endif +- +-ifneq ($(call check_func,dm_task_set_cookie,/usr/include/libdevmapper.h),0) +- CFLAGS += -DLIBDM_API_COOKIE +-endif +- +-ifneq ($(call check_func,udev_monitor_set_receive_buffer_size,/usr/include/libudev.h),0) +- CFLAGS += -DLIBUDEV_API_RECVBUF +-endif +- +-ifneq ($(call check_func,dm_task_deferred_remove,/usr/include/libdevmapper.h),0) +- CFLAGS += -DLIBDM_API_DEFERRED +-endif ++CFLAGS += -DLIBDM_API_FLUSH -D_GNU_SOURCE ++CFLAGS += -DLIBDM_API_COOKIE ++CFLAGS += -DLIBUDEV_API_RECVBUF ++CFLAGS += -DLIBDM_API_DEFERRED + + OBJS = memory.o parser.o vector.o devmapper.o callout.o \ + hwtable.o blacklist.o util.o dmparser.o config.o \ +-- +2.8.1 + diff --git a/meta-oe/recipes-support/multipath-tools/files/always-use-libdevmapper-kpartx.patch b/meta-oe/recipes-support/multipath-tools/files/0014-Always-use-devmapper-for-kpartx.patch similarity index 52% rename from meta-oe/recipes-support/multipath-tools/files/always-use-libdevmapper-kpartx.patch rename to meta-oe/recipes-support/multipath-tools/files/0014-Always-use-devmapper-for-kpartx.patch index 803e52c..f951213 100644 --- a/meta-oe/recipes-support/multipath-tools/files/always-use-libdevmapper-kpartx.patch +++ b/meta-oe/recipes-support/multipath-tools/files/0014-Always-use-devmapper-for-kpartx.patch @@ -1,7 +1,7 @@ -From 7267cf235fc052eaa1ca36e437096576edacb131 Mon Sep 17 00:00:00 2001 -From: Aws Ismail -Date: Mon, 22 Sep 2014 17:22:32 -0700 -Subject: [PATCH] Always use devmapper for kpartx +From 7f5869cd32a7b3f717d9544b35562d9d01ca6510 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Wed, 5 Jul 2017 03:03:16 -0400 +Subject: [PATCH 14/14] Always use devmapper for kpartx Do not try to compute the LIBDM_API_COOKIE make variable from host information when cross-compiling. @@ -10,21 +10,22 @@ Upstream-Status: Inappropriate [embedded specific] Signed-off-by: Aws Ismail Signed-off-by: Joe Slater + +Rebase to 0.7.1 +Signed-off-by: Hongxu Jia --- - kpartx/Makefile | 6 +----- - 1 file changed, 1 insertion(+), 5 deletions(-) + kpartx/Makefile | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/kpartx/Makefile b/kpartx/Makefile -index e8a59f2..e694a65 100644 +index bfa6fe8..be87124 100644 --- a/kpartx/Makefile +++ b/kpartx/Makefile -@@ -7,11 +7,7 @@ CFLAGS += -I. -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 +@@ -8,9 +8,7 @@ LDFLAGS += $(BIN_LDFLAGS) LIBDEPS += -ldevmapper --LIBDM_API_COOKIE = $(shell grep -Ecs '^[a-z]*[[:space:]]+dm_task_set_cookie' /usr/include/libdevmapper.h) -- --ifneq ($(strip $(LIBDM_API_COOKIE)),0) +-ifneq ($(call check_func,dm_task_set_cookie,/usr/include/libdevmapper.h),0) - CFLAGS += -DLIBDM_API_COOKIE -endif +CFLAGS += -DLIBDM_API_COOKIE @@ -32,5 +33,5 @@ index e8a59f2..e694a65 100644 OBJS = bsd.o dos.o kpartx.o solaris.o unixware.o dasd.o sun.o \ gpt.o mac.o ps3.o crc32.o lopart.o xstrncpy.o devmapper.o -- -2.11.0 +2.8.1 diff --git a/meta-oe/recipes-support/multipath-tools/files/always-use-libdevmapper.patch b/meta-oe/recipes-support/multipath-tools/files/always-use-libdevmapper.patch deleted file mode 100644 index 33834f6..0000000 --- a/meta-oe/recipes-support/multipath-tools/files/always-use-libdevmapper.patch +++ /dev/null @@ -1,57 +0,0 @@ -From c4f0dba4e86bfa20252fcc8218398e7468ca9149 Mon Sep 17 00:00:00 2001 -From: Aws Ismail -Date: Mon, 22 Sep 2014 17:22:32 -0700 -Subject: [PATCH] Always use devmapper - -Do not try to compute several _API_ make variables -from host information when cross-compiling. - -Upstream-Status: Inappropriate [embedded specific] - -Signed-off-by: Aws Ismail -Signed-off-by: Joe Slater ---- - libmultipath/Makefile | 27 ++++----------------------- - 1 file changed, 4 insertions(+), 23 deletions(-) - -diff --git a/libmultipath/Makefile b/libmultipath/Makefile -index 495cebe..9626e69 100644 ---- a/libmultipath/Makefile -+++ b/libmultipath/Makefile -@@ -20,29 +20,10 @@ ifdef SYSTEMD - endif - endif - --LIBDM_API_FLUSH = $(shell grep -Ecs '^[a-z]*[[:space:]]+dm_task_no_flush' /usr/include/libdevmapper.h) -- --ifneq ($(strip $(LIBDM_API_FLUSH)),0) -- CFLAGS += -DLIBDM_API_FLUSH -D_GNU_SOURCE --endif -- --LIBDM_API_COOKIE = $(shell grep -Ecs '^[a-z]*[[:space:]]+dm_task_set_cookie' /usr/include/libdevmapper.h) -- --ifneq ($(strip $(LIBDM_API_COOKIE)),0) -- CFLAGS += -DLIBDM_API_COOKIE --endif -- --LIBUDEV_API_RECVBUF = $(shell grep -Ecs '^[a-z]*[[:space:]]+udev_monitor_set_receive_buffer_size' /usr/include/libudev.h) -- --ifneq ($(strip $(LIBUDEV_API_RECVBUF)),0) -- CFLAGS += -DLIBUDEV_API_RECVBUF --endif -- --LIBDM_API_DEFERRED = $(shell grep -Ecs '^[a-z]*[[:space:]]+dm_task_deferred_remove' /usr/include/libdevmapper.h) -- --ifneq ($(strip $(LIBDM_API_DEFERRED)),0) -- CFLAGS += -DLIBDM_API_DEFERRED --endif -+CFLAGS += -DLIBDM_API_FLUSH -D_GNU_SOURCE -+CFLAGS += -DLIBDM_API_COOKIE -+CFLAGS += -DLIBUDEV_API_RECVBUF -+CFLAGS += -DLIBDM_API_DEFERRED - - OBJS = memory.o parser.o vector.o devmapper.o callout.o \ - hwtable.o blacklist.o util.o dmparser.o config.o \ --- -2.11.0 - diff --git a/meta-oe/recipes-support/multipath-tools/files/checkers-disable-libcheckrbd.so.patch b/meta-oe/recipes-support/multipath-tools/files/checkers-disable-libcheckrbd.so.patch deleted file mode 100644 index 908a516..0000000 --- a/meta-oe/recipes-support/multipath-tools/files/checkers-disable-libcheckrbd.so.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 148b848f45957e5e1c0466e8c79c84ba4a0bf241 Mon Sep 17 00:00:00 2001 -From: Patrick Ohly -Date: Fri, 27 Jan 2017 10:35:54 +0100 -Subject: [PATCH] checkers: disable libcheckrbd.so - -libcheckrbd.so depends on librados, which is not currently available -as a recipe. These checkers seem to be optional, so for now we merely -disable compilation of libcheckrbd.so. - -Upstream-Status: Inappropriate [configuration] - -Signed-off-by: Patrick Ohly ---- - libmultipath/checkers/Makefile | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/libmultipath/checkers/Makefile b/libmultipath/checkers/Makefile -index 11ab76f..c848d50 100644 ---- a/libmultipath/checkers/Makefile -+++ b/libmultipath/checkers/Makefile -@@ -14,7 +14,6 @@ LIBS= \ - libcheckemc_clariion.so \ - libcheckhp_sw.so \ - libcheckrdac.so \ -- libcheckrbd.so - - all: $(LIBS) - --- -2.11.0 - diff --git a/meta-oe/recipes-support/multipath-tools/files/makefile_inc.patch b/meta-oe/recipes-support/multipath-tools/files/makefile_inc.patch deleted file mode 100644 index 5b7b696..0000000 --- a/meta-oe/recipes-support/multipath-tools/files/makefile_inc.patch +++ /dev/null @@ -1,59 +0,0 @@ -From 9f5768eca165502b0f17d271aa6f7cf530ec60b2 Mon Sep 17 00:00:00 2001 -From: Joe Slater -Date: Mon, 22 Sep 2014 17:22:32 -0700 -Subject: [PATCH] multipath-tools: modify Makefile.inc for - cross-compilation - -Do not look for systemd info on the host, and allow us to pass in CFLAGS -using the OPTFLAGS variable. - -Upstream-Status: Inappropriate [embedded specific] - -Signed-off-by: Joe Slater - -Update for version 0.5.0-144-g770e6d0 - -Signed-off-by: Kai Kang ---- - Makefile.inc | 17 +++++------------ - 1 file changed, 5 insertions(+), 12 deletions(-) - -diff --git a/Makefile.inc b/Makefile.inc -index 1cc8f44..15f8b91 100644 ---- a/Makefile.inc -+++ b/Makefile.inc -@@ -29,12 +29,6 @@ ifndef RUN - endif - endif - --ifndef SYSTEMD -- ifeq ($(shell systemctl --version > /dev/null 2>&1 && echo 1), 1) -- SYSTEMD = $(shell systemctl --version 2> /dev/null | sed -n 's/systemd \([0-9]*\)/\1/p') -- endif --endif -- - ifndef SYSTEMDPATH - SYSTEMDPATH=usr/lib - endif -@@ -61,13 +55,12 @@ RM = rm -f - LN = ln -sf - INSTALL_PROGRAM = install - --OPTFLAGS = -O2 -g -pipe -Wall -Wextra -Wformat=2 \ -- -Wno-sign-compare -Wno-unused-parameter -Wno-clobbered \ -- -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector \ -- --param=ssp-buffer-size=4 -+ifndef OPTFLAGS -+OPTFLAGS = $(RPM_OPT_FLAGS) -Wunused -Wstrict-prototypes -+endif - --CFLAGS = $(OPTFLAGS) -fPIC -DLIB_STRING=\"${LIB}\" -DRUN_DIR=\"${RUN}\" --SHARED_FLAGS = -shared -+CFLAGS = $(OPTFLAGS) -fPIC -DLIB_STRING=\"${LIB}\" -DRUN_DIR=\"${RUN}\" -+SHARED_FLAGS = -shared - - %.o: %.c - $(CC) $(CFLAGS) -c -o $@ $< --- -2.11.0 - diff --git a/meta-oe/recipes-support/multipath-tools/files/multipath.conf.example b/meta-oe/recipes-support/multipath-tools/files/multipath.conf.example new file mode 100644 index 0000000..6bbeadb --- /dev/null +++ b/meta-oe/recipes-support/multipath-tools/files/multipath.conf.example @@ -0,0 +1,90 @@ +# This is a basic configuration file with some examples, for device mapper +# multipath. +# For a complete list of the default configuration values, see +# /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf.defaults +# For a list of configuration options with descriptions, see +# /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf.annotated + +## By default, devices with vendor = "IBM" and product = "S/390.*" are +## blacklisted. To enable mulitpathing on these devies, uncomment the +## following lines. +#blacklist_exceptions { +# device { +# vendor "IBM" +# product "S/390.*" +# } +#} + +## Use user friendly names, instead of using WWIDs as names. +defaults { + user_friendly_names yes +} +## +## Here is an example of how to configure some standard options. +## +# +#defaults { +# udev_dir /dev +# polling_interval 10 +# selector "round-robin 0" +# path_grouping_policy multibus +# getuid_callout "/lib/udev/scsi_id --whitelisted --device=/dev/%n" +# prio alua +# path_checker readsector0 +# rr_min_io 100 +# max_fds 8192 +# rr_weight priorities +# failback immediate +# no_path_retry fail +# user_friendly_names yes +#} +## +## The wwid line in the following blacklist section is shown as an example +## of how to blacklist devices by wwid. The 2 devnode lines are the +## compiled in default blacklist. If you want to blacklist entire types +## of devices, such as all scsi devices, you should use a devnode line. +## However, if you want to blacklist specific devices, you should use +## a wwid line. Since there is no guarantee that a specific device will +## not change names on reboot (from /dev/sda to /dev/sdb for example) +## devnode lines are not recommended for blacklisting specific devices. +## +#blacklist { +# wwid 26353900f02796769 +# devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*" +# devnode "^hd[a-z]" +#} +#multipaths { +# multipath { +# wwid 3600508b4000156d700012000000b0000 +# alias yellow +# path_grouping_policy multibus +# path_checker readsector0 +# path_selector "round-robin 0" +# failback manual +# rr_weight priorities +# no_path_retry 5 +# } +# multipath { +# wwid 1DEC_____321816758474 +# alias red +# } +#} +#devices { +# device { +# vendor "COMPAQ " +# product "HSV110 (C)COMPAQ" +# path_grouping_policy multibus +# getuid_callout "/lib/udev/scsi_id --whitelisted --device=/dev/%n" +# path_checker readsector0 +# path_selector "round-robin 0" +# hardware_handler "0" +# failback 15 +# rr_weight priorities +# no_path_retry queue +# } +# device { +# vendor "COMPAQ " +# product "MSA1000 " +# path_grouping_policy multibus +# } +#} diff --git a/meta-oe/recipes-support/multipath-tools/files/shared-libs-avoid-linking-.so-as-executable.patch b/meta-oe/recipes-support/multipath-tools/files/shared-libs-avoid-linking-.so-as-executable.patch deleted file mode 100644 index 88579e6..0000000 --- a/meta-oe/recipes-support/multipath-tools/files/shared-libs-avoid-linking-.so-as-executable.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 4311856200480288494df8df737f71ea316592d0 Mon Sep 17 00:00:00 2001 -From: Patrick Ohly -Date: Thu, 26 Jan 2017 15:28:34 +0100 -Subject: [PATCH] shared libs: avoid linking .so as executable - -When the OE build systems sets CFLAGS including -pie, gcc overrides -the earlier -shared parameter and tries to link a binary, leading to -errors about missing functions like main(). - -Reordering the parameters so that -shared comes after CFLAGS -fixes this. - -Upstream-Status: Inappropriate [OE specific, -pie shouldn't be in CFLAGS?!] - -Signed-off-by: Patrick Ohly ---- -diff --git a/libmpathcmd/Makefile b/libmpathcmd/Makefile -index 457c4ca..f68c82c 100644 ---- a/libmpathcmd/Makefile -+++ b/libmpathcmd/Makefile -@@ -9,7 +9,7 @@ OBJS = mpath_cmd.o - all: $(LIBS) - - $(LIBS): $(OBJS) -- $(CC) $(LDFLAGS) $(SHARED_FLAGS) -Wl,-soname=$@ $(CFLAGS) -o $@ $(OBJS) $(LIBDEPS) -+ $(CC) $(LDFLAGS) $(CFLAGS) $(SHARED_FLAGS) -Wl,-soname=$@ -o $@ $(OBJS) $(LIBDEPS) - $(LN) $@ $(DEVLIB) - - install: $(LIBS) -diff --git a/libmpathpersist/Makefile b/libmpathpersist/Makefile -index 6e43427..2486302 100644 ---- a/libmpathpersist/Makefile -+++ b/libmpathpersist/Makefile -@@ -15,7 +15,7 @@ all: $(LIBS) - - $(LIBS): - $(CC) -c $(CFLAGS) *.c -- $(CC) $(LDFLAGS) $(SHARED_FLAGS) $(LIBDEPS) -Wl,-soname=$@ $(CFLAGS) -o $@ $(OBJS) -+ $(CC) $(LDFLAGS) $(CFLAGS) $(SHARED_FLAGS) $(LIBDEPS) -Wl,-soname=$@ -o $@ $(OBJS) - $(LN) $(LIBS) $(DEVLIB) - $(GZIP) mpath_persistent_reserve_in.3 > mpath_persistent_reserve_in.3.gz - $(GZIP) mpath_persistent_reserve_out.3 > mpath_persistent_reserve_out.3.gz -diff --git a/libmultipath/Makefile b/libmultipath/Makefile -index 495cebe..752bcc0 100644 ---- a/libmultipath/Makefile -+++ b/libmultipath/Makefile -@@ -55,7 +55,7 @@ OBJS = memory.o parser.o vector.o devmapper.o callout.o \ - all: $(LIBS) - - $(LIBS): $(OBJS) -- $(CC) $(LDFLAGS) $(SHARED_FLAGS) -Wl,-soname=$@ $(CFLAGS) -o $@ $(OBJS) $(LIBDEPS) -+ $(CC) $(LDFLAGS) $(CFLAGS) $(SHARED_FLAGS) -Wl,-soname=$@ -o $@ $(OBJS) $(LIBDEPS) - $(LN) $@ $(DEVLIB) - - install: diff --git a/meta-oe/recipes-support/multipath-tools/multipath-tools_0.7.1.bb b/meta-oe/recipes-support/multipath-tools/multipath-tools_0.7.1.bb new file mode 100644 index 0000000..9331211 --- /dev/null +++ b/meta-oe/recipes-support/multipath-tools/multipath-tools_0.7.1.bb @@ -0,0 +1,112 @@ +SUMMARY = "The upstream project used to drive the Device Mapper multipathing driver" + +DESCRIPTION = "It provides tools to manage multipath devices \ +by instructing the device-mapper kernel module what to do. These \ +tools include: \ +1. multipath - Scan the system for multipath devices and assemble them.\ +2. multipathd - Detects when paths fail and execs multipath to update \ +things.\ +3. mpathpersist - Persistent reservation management feature allows \ +cluster management software to manage persistent reservation through \ +mpath device. It processes management requests from callers and hides \ +the management task details. It also handles persistent reservation \ +management of data path life cycle and state changes.\ +4. kpartx - This tool, derived from util-linux's partx, reads partition \ +tables on specified device and create device maps over partitions \ +segments detected. It is called from hotplug upon device maps creation \ +and deletion" + +HOMEPAGE = "http://christophe.varoqui.free.fr/" + +DEPENDS = "libdevmapper \ + libaio \ + liburcu \ + readline \ + udev \ + json-c \ + " + +LICENSE = "GPLv2" + +SRC_URI = "git://git.opensvc.com/multipath-tools/.git;protocol=http \ + file://multipathd.oe \ + file://multipath.conf.example \ + file://0001-multipath-attempt-at-common-multipath.rules.patch \ + file://0002-RH-fixup-udev-rules-for-redhat.patch \ + file://0003-RH-Remove-the-property-blacklist-exception-builtin.patch \ + file://0004-RH-don-t-start-without-a-config-file.patch \ + file://0005-RH-add-mpathconf.patch \ + file://0006-RH-add-wwids-from-kernel-cmdline-mpath.wwids-with-A.patch \ + file://0007-RH-trigger-change-uevent-on-new-device-creation.patch \ + file://0008-libmultipath-change-how-RADOS-checker-is-enabled.patch \ + file://0009-multipath-set-verbosity-to-default-during-config.patch \ + file://0010-mpath-skip-device-configs-without-vendor-product.patch \ + file://0011-multipathd-fix-show-maps-json-crash.patch \ + file://0012-multipath-tools-modify-Makefile.inc-for-cross-compil.patch \ + file://0013-Always-use-devmapper.patch \ + file://0014-Always-use-devmapper-for-kpartx.patch \ + " +LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2" + +SRCREV = "f21166a812a2cfb50ecf9550d32947c83103f83a" + +S = "${WORKDIR}/git" + +inherit systemd pkgconfig + +SYSTEMD_SERVICE_${PN} = "multipathd.service" + +TARGET_CC_ARCH += "${LDFLAGS}" + +# multipath-tools includes a copy of the valgrind.h header +# file and uses the macros to suppress some false positives. However, +# that only works on ARM when thumb is disabled. Otherwise one gets: +# Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r12,r12,ror#3' +# ../Makefile.inc:66: recipe for target 'debug.o' failed +ARM_INSTRUCTION_SET_armv4 = "arm" +ARM_INSTRUCTION_SET_armv5 = "arm" + +# The exact version of SYSTEMD does not matter but should be greater than 209. +# +EXTRA_OEMAKE = 'MULTIPATH_VERSION=${PV} DESTDIR=${D} syslibdir=${base_libdir} \ + OPTFLAGS="${CFLAGS}" \ + bindir=${base_sbindir} \ + LIB=${base_libdir} libdir=${base_libdir}/multipath \ + unitdir=${systemd_system_unitdir} \ + ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "SYSTEMD=216", "", d)} \ + ' + +do_install() { + oe_runmake install + + # We copy an initscript, but do not start multipathd at init time. + # + if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)};then + install -d ${D}${sysconfdir}/init.d + cp ${WORKDIR}/multipathd.oe ${D}${sysconfdir}/init.d/multipathd + fi + + install -d ${D}${sysconfdir} + install -m 0644 ${WORKDIR}/multipath.conf.example \ + ${D}${sysconfdir}/multipath.conf.example +} + +FILES_${PN}-dbg += "${base_libdir}/multipath/.debug" + +PACKAGES =+ "${PN}-libs" +FILES_${PN}-libs = "${base_libdir}/lib*.so.* \ + ${base_libdir}/multipath/lib*.so*" +RDEPENDS_${PN} += "${PN}-libs" + +PROVIDES += "device-mapper-multipath" +RPROVIDES_${PN} += "device-mapper-multipath" +RPROVIDES_${PN}-libs += "device-mapper-multipath-libs" + +FILES_${PN}-dev += "${base_libdir}/pkgconfig" + +PACKAGES =+ "kpartx" +FILES_kpartx = "${base_sbindir}/kpartx \ + ${nonarch_libdir}/udev/kpartx_id \ + " + +RDEPENDS_${PN} += "kpartx" diff --git a/meta-oe/recipes-support/multipath-tools/multipath-tools_git.bb b/meta-oe/recipes-support/multipath-tools/multipath-tools_git.bb deleted file mode 100644 index 5f8c422..0000000 --- a/meta-oe/recipes-support/multipath-tools/multipath-tools_git.bb +++ /dev/null @@ -1,71 +0,0 @@ -SUMMARY = "The upstream project used to drive the Device Mapper multipathing driver" - -DEPENDS = "libdevmapper libaio liburcu readline udev" - -LICENSE = "LGPLv2" - -SRC_URI = "git://git.opensvc.com/multipath-tools/.git;protocol=http \ - file://multipathd.oe \ - file://makefile_inc.patch \ - file://always-use-libdevmapper.patch \ - file://always-use-libdevmapper-kpartx.patch \ - file://0001-multipathd.service-Error-fix.patch \ - file://shared-libs-avoid-linking-.so-as-executable.patch \ - file://checkers-disable-libcheckrbd.so.patch \ - " -LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2" - -# 0.6.4 -SRCREV = "922421cf795d53d339862bb2d99f1a85c96ad9a3" - -inherit systemd - - -S = "${WORKDIR}/git" - -PV = "0.6.4+git${@'${SRCPV}'.split('+')[-1]}" - -TARGET_CC_ARCH += "${LDFLAGS}" - -# multipath-tools includes a copy of the valgrind.h header -# file and uses the macros to suppress some false positives. However, -# that only works on ARM when thumb is disabled. Otherwise one gets: -# Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r12,r12,ror#3' -# ../Makefile.inc:66: recipe for target 'debug.o' failed -ARM_INSTRUCTION_SET_armv4 = "arm" -ARM_INSTRUCTION_SET_armv5 = "arm" - -# The exact version of SYSTEMD does not matter but should be greater than 209. -# -EXTRA_OEMAKE = 'MULTIPATH_VERSION=${PV} DESTDIR=${D} syslibdir=${base_libdir} \ - OPTFLAGS="${CFLAGS}" \ - bindir=${base_sbindir} \ - LIB=${base_libdir} libdir=${base_libdir}/multipath \ - unitdir=${systemd_system_unitdir} \ - ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "SYSTEMD=216", "", d)} \ - ' - -do_install() { - oe_runmake install - - # We copy an initscript, but do not start multipathd at init time. - # - install -d ${D}${sysconfdir}/init.d - cp ${WORKDIR}/multipathd.oe ${D}${sysconfdir}/init.d/multipathd - -} - -FILES_${PN}-dbg += "${base_libdir}/multipath/.debug" - -# systemd and udev stuff always goes under /lib! -# -FILES_${PN} += "${base_libdir}/multipath \ - ${systemd_system_unitdir} \ - " - -PACKAGES =+ "kpartx" -FILES_kpartx = "${base_sbindir}/kpartx \ - ${nonarch_libdir}/udev/kpartx_id \ - " - -RDEPENDS_${PN} += "kpartx" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 8 18:17:08 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 08 Jul 2017 18:17:08 +0000 Subject: [oe-commits] [meta-openembedded] 06/11: gnome-common: Add recipe (from oe-core) In-Reply-To: <149953782210.7764.16805806755936026881@git.openembedded.org> References: <149953782210.7764.16805806755936026881@git.openembedded.org> Message-ID: <20170708181702.9C02E23485B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 63b4bf60f9371e1d8fa13b4afb51b30ce6657da4 Author: Jussi Kukkonen AuthorDate: Thu Jul 6 15:06:36 2017 +0300 gnome-common: Add recipe (from oe-core) gnome-common is deprecated upstream (it's just a collection of m4 macros so that's not a huge issue) and more importantly is soon not used in oe-core. There are 6 recipes in meta-oe and 22 in meta-gnome that DEPEND on gnome-common: Move gnome-common unchanged to meta-oe. Signed-off-by: Jussi Kukkonen Signed-off-by: Martin Jansa --- .../gnome-common/gnome-common_3.18.0.bb | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/meta-oe/recipes-gnome/gnome-common/gnome-common_3.18.0.bb b/meta-oe/recipes-gnome/gnome-common/gnome-common_3.18.0.bb new file mode 100644 index 0000000..06f3bb3 --- /dev/null +++ b/meta-oe/recipes-gnome/gnome-common/gnome-common_3.18.0.bb @@ -0,0 +1,20 @@ +SUMMARY = "Common macros for building GNOME applications" +HOMEPAGE = "http://www.gnome.org/" +BUGTRACKER = "https://bugzilla.gnome.org/" + +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +SECTION = "x11/gnome" +inherit gnomebase allarch + +SRC_URI[archive.md5sum] = "933258d9c23e218eb6eec9cc1951b053" +SRC_URI[archive.sha256sum] = "22569e370ae755e04527b76328befc4c73b62bfd4a572499fde116b8318af8cf" + +EXTRA_AUTORECONF = "" +DEPENDS = "" + +FILES_${PN} += "${datadir}/aclocal" +FILES_${PN}-dev = "" + +BBCLASSEXTEND = "native" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 8 18:17:07 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 08 Jul 2017 18:17:07 +0000 Subject: [oe-commits] [meta-openembedded] 05/11: libtinyxml2: upgrade to 5.0.1 In-Reply-To: <149953782210.7764.16805806755936026881@git.openembedded.org> References: <149953782210.7764.16805806755936026881@git.openembedded.org> Message-ID: <20170708181702.9564723485A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit f0b2f6e1d44b246c1d1ddc5b75188fc7c090589a Author: Johannes Pointner AuthorDate: Thu Jul 6 11:30:39 2017 +0200 libtinyxml2: upgrade to 5.0.1 Signed-off-by: Johannes Pointner Signed-off-by: Martin Jansa --- .../{libtinyxml2_4.0.1.bb => libtinyxml2_5.0.1.bb} | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/meta-oe/recipes-support/libtinyxml2/libtinyxml2_4.0.1.bb b/meta-oe/recipes-support/libtinyxml2/libtinyxml2_5.0.1.bb similarity index 63% rename from meta-oe/recipes-support/libtinyxml2/libtinyxml2_4.0.1.bb rename to meta-oe/recipes-support/libtinyxml2/libtinyxml2_5.0.1.bb index 3a66598..edf8368 100644 --- a/meta-oe/recipes-support/libtinyxml2/libtinyxml2_4.0.1.bb +++ b/meta-oe/recipes-support/libtinyxml2/libtinyxml2_5.0.1.bb @@ -6,10 +6,21 @@ LIC_FILES_CHKSUM = "file://tinyxml2.cpp;endline=22;md5=c19221dbd8a66ad3090462af4 SRC_URI = "git://github.com/leethomason/tinyxml2.git" -SRCREV = "74d44acb176f8510abf28ee0a70961eb26631988" +SRCREV = "37bc3aca429f0164adf68c23444540b4a24b5778" S = "${WORKDIR}/git" inherit cmake +FILES_${PN} = " \ + ${libdir}/lib*${SOLIBS} \ + ${includedir}/* \ + " + +FILES_${PN}-dev = " \ + ${libdir}/lib*${SOLIBSDEV} \ + ${libdir}/cmake/* \ + ${libdir}/pkgconfig/* \ + " + BBCLASSEXTEND = "native" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 8 18:17:12 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 08 Jul 2017 18:17:12 +0000 Subject: [oe-commits] [meta-openembedded] 10/11: ltrace: Fix build on musl In-Reply-To: <149953782210.7764.16805806755936026881@git.openembedded.org> References: <149953782210.7764.16805806755936026881@git.openembedded.org> Message-ID: <20170708181702.BCFAB23485F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 7d871ba56a8f6b2fb8aaaba83e827912c6d4af7b Author: Khem Raj AuthorDate: Sat Jul 8 06:17:43 2017 -0700 ltrace: Fix build on musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...nfigure-Recognise-linux-musl-as-a-host-OS.patch | 25 ++++++++++++++++++++++ meta-oe/recipes-devtools/ltrace/ltrace_git.bb | 1 + 2 files changed, 26 insertions(+) diff --git a/meta-oe/recipes-devtools/ltrace/ltrace/0001-configure-Recognise-linux-musl-as-a-host-OS.patch b/meta-oe/recipes-devtools/ltrace/ltrace/0001-configure-Recognise-linux-musl-as-a-host-OS.patch new file mode 100644 index 0000000..52264a1 --- /dev/null +++ b/meta-oe/recipes-devtools/ltrace/ltrace/0001-configure-Recognise-linux-musl-as-a-host-OS.patch @@ -0,0 +1,25 @@ +From c1d3aaf5ec810c2594938438c7b4ccd20943f255 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 7 Jul 2017 10:20:52 -0700 +Subject: [PATCH] configure: Recognise linux-musl as a host OS + +Signed-off-by: Khem Raj +--- + configure.ac | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/configure.ac b/configure.ac +index 3e8667f..95d6642 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -35,6 +35,7 @@ AC_CANONICAL_HOST + case "${host_os}" in + linux-gnu*) HOST_OS="linux-gnu" ;; + linux-uclibc*) HOST_OS="linux-gnu" ;; ++ linux-musl*) HOST_OS="linux-gnu" ;; + *) AC_MSG_ERROR([unkown host-os ${host_os}]) ;; + esac + AC_SUBST(HOST_OS) +-- +2.13.2 + diff --git a/meta-oe/recipes-devtools/ltrace/ltrace_git.bb b/meta-oe/recipes-devtools/ltrace/ltrace_git.bb index b613bc3..01b3bbe 100644 --- a/meta-oe/recipes-devtools/ltrace/ltrace_git.bb +++ b/meta-oe/recipes-devtools/ltrace/ltrace_git.bb @@ -23,6 +23,7 @@ SRC_URI = "git://anonscm.debian.org/collab-maint/ltrace.git;branch=master \ file://0001-ARM-code-has-unreachable-code-after-switch-statement.patch \ file://0001-Fix-tautological-compare-warning.patch \ file://0001-Add-support-for-mips64-n32-n64.patch \ + file://0001-configure-Recognise-linux-musl-as-a-host-OS.patch \ " S = "${WORKDIR}/git" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 8 18:17:09 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 08 Jul 2017 18:17:09 +0000 Subject: [oe-commits] [meta-openembedded] 07/11: webrtc-audio-processing: initial recipe In-Reply-To: <149953782210.7764.16805806755936026881@git.openembedded.org> References: <149953782210.7764.16805806755936026881@git.openembedded.org> Message-ID: <20170708181702.A3B5023485C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 2dcd253a14db3cefde2c17542993e52fa3734dc1 Author: Tanu Kaskinen AuthorDate: Thu Jul 6 15:07:13 2017 +0300 webrtc-audio-processing: initial recipe PulseAudio has multiple alternative echo canceller implementations. Probably the best one is the "webrtc" echo canceller, which depends on this library. I added some patches to fix building on MIPS and PowerPC. The first three patches are taken from upstream, the other three patches are my own. I have only tested that the code builds on all architectures, not that the code actually works. Signed-off-by: Tanu Kaskinen Signed-off-by: Martin Jansa --- ...ild-Protect-against-unsupported-CPU-types.patch | 29 ++++++ .../0002-build-Add-ARM-64bit-support.patch | 30 ++++++ .../0003-build-fix-architecture-detection.patch | 96 +++++++++++++++++ ...add-support-for-64-bit-and-big-endian-MIP.patch | 41 ++++++++ .../0005-typedefs.h-add-support-for-PowerPC.patch | 28 +++++ ...o-implement-endianness-conversion-in-wav-.patch | 116 +++++++++++++++++++++ .../webrtc-audio-processing_0.3.bb | 25 +++++ 7 files changed, 365 insertions(+) diff --git a/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0001-build-Protect-against-unsupported-CPU-types.patch b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0001-build-Protect-against-unsupported-CPU-types.patch new file mode 100644 index 0000000..7668df3 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0001-build-Protect-against-unsupported-CPU-types.patch @@ -0,0 +1,29 @@ +From 4945dca11bc4ddec60bd858f45212dc8f39638e0 Mon Sep 17 00:00:00 2001 +From: Nicolas Dufresne +Date: Tue, 5 Jul 2016 18:07:45 -0400 +Subject: [PATCH 1/6] build: Protect against unsupported CPU types + +Signed-off-by: Tanu Kaskinen +Upstream-Status: Accepted [expected in 0.4] +--- + configure.ac | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 6f9553b..f5304b8 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -70,8 +70,9 @@ AS_CASE(["${host_cpu}"], + [ + HAVE_ARM=1 + ARCH_CFLAGS="-DWEBRTC_ARCH_ARM" +- ] ++ ], + # FIXME: Add MIPS support, see webrtc/BUILD.gn for defines ++ [AC_MSG_ERROR([Unsupported CPU type $host_cpu])] + ) + AM_CONDITIONAL(HAVE_X86, [test "x${HAVE_X86}" = "x1"]) + AM_CONDITIONAL(HAVE_ARM, [test "x${HAVE_ARM}" = "x1"]) +-- +2.11.0 + diff --git a/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0002-build-Add-ARM-64bit-support.patch b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0002-build-Add-ARM-64bit-support.patch new file mode 100644 index 0000000..2e202b0 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0002-build-Add-ARM-64bit-support.patch @@ -0,0 +1,30 @@ +From b5bda3431159b6505dcd069641c863018c4d4309 Mon Sep 17 00:00:00 2001 +From: Nicolas Dufresne +Date: Wed, 6 Jul 2016 15:18:15 -0400 +Subject: [PATCH 2/6] build: Add ARM 64bit support + +Signed-off-by: Tanu Kaskinen +Upstream-Status: Accepted [expected in 0.4] +--- + configure.ac | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/configure.ac b/configure.ac +index f5304b8..be20514 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -71,6 +71,11 @@ AS_CASE(["${host_cpu}"], + HAVE_ARM=1 + ARCH_CFLAGS="-DWEBRTC_ARCH_ARM" + ], ++ [aarch64*], ++ [ ++ HAVE_NEON=1 ++ ARCH_CFLAGS="-DWEBRTC_HAS_NEON -DWEBRTC_ARCH_ARM64" ++ ], + # FIXME: Add MIPS support, see webrtc/BUILD.gn for defines + [AC_MSG_ERROR([Unsupported CPU type $host_cpu])] + ) +-- +2.11.0 + diff --git a/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0003-build-fix-architecture-detection.patch b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0003-build-fix-architecture-detection.patch new file mode 100644 index 0000000..82e270f --- /dev/null +++ b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0003-build-fix-architecture-detection.patch @@ -0,0 +1,96 @@ +From 7722fb8a3189fea0f6381f02a0e4f63c847f0393 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sat, 6 Aug 2016 11:02:43 +0200 +Subject: [PATCH 3/6] build: fix architecture detection + +The current architecture detection, based on the "host_cpu" part of the +tuple does not work properly for a number of reason: + + - The code assumes that if host_cpu starts with "arm" then ARM + instructions are available, which is incorrect. Indeed, Cortex-M + platforms can run Linux, they are ARM platforms (so host_cpu = arm), + but they don't support ARM instructions: they support only the + Thumb-2 instruction set. + + - The armv7 case is also not very useful, as it is not standard at all + to pass armv7 as host_cpu even if the host system is actually ARMv7 + based. + + - For the same reason, the armv8 case is not very useful: ARMv8 is + AArch64, and there is already a separate case to handle this + architecture. + +So, this commit moves away from a host_cpu based logic, and instead +tests using AC_CHECK_DECLS() the built-in definitions of the compiler: + + - If we have __ARM_ARCH_ISA_ARM defined, then it's an ARM processor + that supports the ARM instruction set (this allows to exclude Thumb-2 + only processors). + + - If we have __ARM_ARCH_7A__, then we have an ARMv7-A processor, and + we can enable the corresponding optimizations + + - Same for __aarch64__, __i386__ and __x86_64__. + +In addition, we remove the AC_MSG_ERROR() that makes the build fail for +all architectures but the ones that are explicitly supported. Indeed, +webrtc-audio-processing builds just fine for other architectures (tested +on MIPS), it's just that none of the architecture-specific optimizations +will be used. + +Signed-off-by: Thomas Petazzoni +Signed-off-by: Tanu Kaskinen +Upstream-Status: Accepted [expected in 0.4] +--- + configure.ac | 35 +++++++++++------------------------ + 1 file changed, 11 insertions(+), 24 deletions(-) + +diff --git a/configure.ac b/configure.ac +index be20514..e898014 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -55,30 +55,17 @@ AS_CASE(["${host}"], + ) + AC_SUBST(PLATFORM_CFLAGS) + +-AS_CASE(["${host_cpu}"], +- [i?86|x86_64], +- [ +- HAVE_X86=1 +- ], +- [armv7*|armv8*], +- [ +- HAVE_ARM=1 +- HAVE_ARMV7=1 +- ARCH_CFLAGS="-DWEBRTC_ARCH_ARM -DWEBRTC_ARCH_ARM_V7" +- ], +- [arm*], +- [ +- HAVE_ARM=1 +- ARCH_CFLAGS="-DWEBRTC_ARCH_ARM" +- ], +- [aarch64*], +- [ +- HAVE_NEON=1 +- ARCH_CFLAGS="-DWEBRTC_HAS_NEON -DWEBRTC_ARCH_ARM64" +- ], +- # FIXME: Add MIPS support, see webrtc/BUILD.gn for defines +- [AC_MSG_ERROR([Unsupported CPU type $host_cpu])] +-) ++# Testing __ARM_ARCH_ISA_ARM since the code contains ARM instructions, ++# which don't work on Thumb-2 only platforms (ARMv7-M). ++AC_CHECK_DECLS([__ARM_ARCH_ISA_ARM], ++ [HAVE_ARM=1; ARCH_CFLAGS="${ARCH_CFLAGS} -DWEBRTC_ARCH_ARM"]) ++AC_CHECK_DECLS([__ARM_ARCH_7A__], ++ [HAVE_ARMV7=1; ARCH_CFLAGS="${ARCH_CFLAGS} -DWEBRTC_ARCH_ARM_V7"]) ++AC_CHECK_DECLS([__aarch64__], ++ [HAVE_NEON=1; ARCH_CFLAGS="${ARCH_CFLAGS} -DWEBRTC_HAS_NEON -DWEBRTC_ARCH_ARM64"]) ++AC_CHECK_DECLS([__i386__], [HAVE_X86=1]) ++AC_CHECK_DECLS([__x86_64__], [HAVE_X86=1]) ++ + AM_CONDITIONAL(HAVE_X86, [test "x${HAVE_X86}" = "x1"]) + AM_CONDITIONAL(HAVE_ARM, [test "x${HAVE_ARM}" = "x1"]) + AM_CONDITIONAL(HAVE_ARMV7, [test "x${HAVE_ARMV7}" = "x1"]) +-- +2.11.0 + diff --git a/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0004-typedefs.h-add-support-for-64-bit-and-big-endian-MIP.patch b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0004-typedefs.h-add-support-for-64-bit-and-big-endian-MIP.patch new file mode 100644 index 0000000..c96f10e --- /dev/null +++ b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0004-typedefs.h-add-support-for-64-bit-and-big-endian-MIP.patch @@ -0,0 +1,41 @@ +From 0c332b7d94f8425c4f33344ddf406b6eea458861 Mon Sep 17 00:00:00 2001 +From: Tanu Kaskinen +Date: Mon, 8 May 2017 17:01:49 +0300 +Subject: [PATCH 4/6] typedefs.h: add support for 64-bit and big endian MIPS + +The 64-bit check is taken from the upstream webrtc project, the big +endian check is my own addition. + +Upstream-Status: Pending +Signed-off-by: Tanu Kaskinen +--- + webrtc/typedefs.h | 11 ++++++++++- + 1 file changed, 10 insertions(+), 1 deletion(-) + +diff --git a/webrtc/typedefs.h b/webrtc/typedefs.h +index d875490..d1b2f54 100644 +--- a/webrtc/typedefs.h ++++ b/webrtc/typedefs.h +@@ -41,9 +41,18 @@ + //#define WEBRTC_ARCH_ARMEL + #define WEBRTC_ARCH_32_BITS + #define WEBRTC_ARCH_LITTLE_ENDIAN +-#elif defined(__MIPSEL__) ++#elif defined(__MIPSEL__) || defined(__MIPSEB__) ++#define WEBRTC_ARCH_MIPS_FAMILY ++#if defined(__LP64__) ++#define WEBRTC_ARCH_64_BITS ++#else + #define WEBRTC_ARCH_32_BITS ++#endif ++#if defined(__MIPSEL__) + #define WEBRTC_ARCH_LITTLE_ENDIAN ++#else ++#define WEBRTC_ARCH_BIG_ENDIAN ++#endif + #elif defined(__pnacl__) + #define WEBRTC_ARCH_32_BITS + #define WEBRTC_ARCH_LITTLE_ENDIAN +-- +2.11.0 + diff --git a/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0005-typedefs.h-add-support-for-PowerPC.patch b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0005-typedefs.h-add-support-for-PowerPC.patch new file mode 100644 index 0000000..e16b57e --- /dev/null +++ b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0005-typedefs.h-add-support-for-PowerPC.patch @@ -0,0 +1,28 @@ +From db5f570e928c8ca5b0b8dc702e1af0a57277f092 Mon Sep 17 00:00:00 2001 +From: Tanu Kaskinen +Date: Mon, 3 Jul 2017 16:20:08 +0300 +Subject: [PATCH 5/6] typedefs.h: add support for PowerPC + +Upstream-Status: Pending +Signed-off-by: Tanu Kaskinen +--- + webrtc/typedefs.h | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/webrtc/typedefs.h b/webrtc/typedefs.h +index d1b2f54..6e34d9e 100644 +--- a/webrtc/typedefs.h ++++ b/webrtc/typedefs.h +@@ -53,6 +53,9 @@ + #else + #define WEBRTC_ARCH_BIG_ENDIAN + #endif ++#elif defined(__powerpc__) ++#define WEBRTC_ARCH_32_BITS ++#define WEBRTC_ARCH_BIG_ENDIAN + #elif defined(__pnacl__) + #define WEBRTC_ARCH_32_BITS + #define WEBRTC_ARCH_LITTLE_ENDIAN +-- +2.11.0 + diff --git a/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0006-common_audio-implement-endianness-conversion-in-wav-.patch b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0006-common_audio-implement-endianness-conversion-in-wav-.patch new file mode 100644 index 0000000..5826ab0 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0006-common_audio-implement-endianness-conversion-in-wav-.patch @@ -0,0 +1,116 @@ +From 7d31da8ef93987000f297d435dbacaf7d436107b Mon Sep 17 00:00:00 2001 +From: Tanu Kaskinen +Date: Thu, 15 Jun 2017 18:38:30 +0300 +Subject: [PATCH 6/6] common_audio: implement endianness conversion in wav file + handling + +The code didn't build for big endian machines due to the missing +endianness conversions. + +Upstream-Status: Pending +Signed-off-by: Tanu Kaskinen +--- + webrtc/common_audio/wav_file.cc | 27 +++++++++++++++++++++------ + webrtc/common_audio/wav_header.cc | 32 +++++++++++++++++++++++++++++++- + 2 files changed, 52 insertions(+), 7 deletions(-) + +diff --git a/webrtc/common_audio/wav_file.cc b/webrtc/common_audio/wav_file.cc +index b14b620..e2f7738 100644 +--- a/webrtc/common_audio/wav_file.cc ++++ b/webrtc/common_audio/wav_file.cc +@@ -64,9 +64,6 @@ WavReader::~WavReader() { + } + + size_t WavReader::ReadSamples(size_t num_samples, int16_t* samples) { +-#ifndef WEBRTC_ARCH_LITTLE_ENDIAN +-#error "Need to convert samples to big-endian when reading from WAV file" +-#endif + // There could be metadata after the audio; ensure we don't read it. + num_samples = std::min(rtc::checked_cast(num_samples), + num_samples_remaining_); +@@ -76,6 +73,13 @@ size_t WavReader::ReadSamples(size_t num_samples, int16_t* samples) { + RTC_CHECK(read == num_samples || feof(file_handle_)); + RTC_CHECK_LE(read, num_samples_remaining_); + num_samples_remaining_ -= rtc::checked_cast(read); ++ ++#ifdef WEBRTC_ARCH_BIG_ENDIAN ++ // Convert the read samples from little-endian to big-endian. ++ for (size_t i = 0; i < read; i++) ++ samples[i] = ((uint16_t) samples[i] >> 8) | ((uint16_t) samples[i] << 8); ++#endif ++ + return read; + } + +@@ -119,11 +123,22 @@ WavWriter::~WavWriter() { + } + + void WavWriter::WriteSamples(const int16_t* samples, size_t num_samples) { +-#ifndef WEBRTC_ARCH_LITTLE_ENDIAN +-#error "Need to convert samples to little-endian when writing to WAV file" +-#endif ++#ifdef WEBRTC_ARCH_BIG_ENDIAN ++ // Convert the samples from big-endian samples to little-endian. ++ int16_t* converted_samples = static_cast(malloc(num_samples * sizeof(*samples))); ++ RTC_CHECK(converted_samples) << "Out of memory."; ++ for (int i = 0; i < num_samples; i++) ++ converted_samples[i] = ++ ((uint16_t) samples[i] >> 8) | ((uint16_t) samples[i] << 8); ++ ++ const size_t written = ++ fwrite(converted_samples, sizeof(*converted_samples), num_samples, ++ file_handle_); ++ free(converted_samples); ++#else + const size_t written = + fwrite(samples, sizeof(*samples), num_samples, file_handle_); ++#endif + RTC_CHECK_EQ(num_samples, written); + num_samples_ += static_cast(written); + RTC_CHECK(written <= std::numeric_limits::max() || +diff --git a/webrtc/common_audio/wav_header.cc b/webrtc/common_audio/wav_header.cc +index 61cfffe..382bfc7 100644 +--- a/webrtc/common_audio/wav_header.cc ++++ b/webrtc/common_audio/wav_header.cc +@@ -129,7 +129,37 @@ static inline std::string ReadFourCC(uint32_t x) { + return std::string(reinterpret_cast(&x), 4); + } + #else +-#error "Write be-to-le conversion functions" ++static inline void WriteLE16(uint16_t* f, uint16_t x) { ++ *f = x >> 8 | x << 8; ++} ++static inline void WriteLE32(uint32_t* f, uint32_t x) { ++ *f = x >> 24 ++ | (x && 0xFF0000) >> 8 ++ | (x && 0xFF00) << 8 ++ | x << 24; ++} ++static inline void WriteFourCC(uint32_t* f, char a, char b, char c, char d) { ++ *f = static_cast(d) ++ | static_cast(c) << 8 ++ | static_cast(b) << 16 ++ | static_cast(a) << 24; ++} ++ ++static inline uint32_t ReadLE16(uint16_t x) { ++ return x >> 8 | x << 8; ++} ++ ++static inline uint32_t ReadLE32(uint32_t x) { ++ return x >> 24 ++ | (x && 0xFF0000) >> 8 ++ | (x && 0xFF00) << 8 ++ | x << 24; ++} ++ ++static inline std::string ReadFourCC(uint32_t x) { ++ x = ReadLE32(x); ++ return std::string(reinterpret_cast(&x), 4); ++} + #endif + + static inline uint32_t RiffChunkSize(uint32_t bytes_in_payload) { +-- +2.11.0 + diff --git a/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing_0.3.bb b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing_0.3.bb new file mode 100644 index 0000000..eb9a304 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing_0.3.bb @@ -0,0 +1,25 @@ +DESCRIPTION = "Audio processing bits of the WebRTC reference implementation" +HOMEPAGE = "https://www.freedesktop.org/software/pulseaudio/webrtc-audio-processing/" +SECTION = "audio" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://COPYING;md5=da08a38a32a340c5d91e13ee86a118f2 \ + file://webrtc/common.h;beginline=1;endline=9;md5=41f7322d91deabaf0acbbd0b8d0bc548 \ +" + +# Note that patch 3 effectively reverts patches 1 and 2. The only reason +# why patches 1 and 2 are included is that otherwise patch 3 wouldn't +# apply cleanly. +SRC_URI = "http://freedesktop.org/software/pulseaudio/webrtc-audio-processing/${BP}.tar.xz \ + file://0001-build-Protect-against-unsupported-CPU-types.patch \ + file://0002-build-Add-ARM-64bit-support.patch \ + file://0003-build-fix-architecture-detection.patch \ + file://0004-typedefs.h-add-support-for-64-bit-and-big-endian-MIP.patch \ + file://0005-typedefs.h-add-support-for-PowerPC.patch \ + file://0006-common_audio-implement-endianness-conversion-in-wav-.patch \ +" + +SRC_URI[md5sum] = "336ae032f608e65808ac577cde0ab72c" +SRC_URI[sha256sum] = "756e291d4f557d88cd50c4fe3b8454ec238362d22cedb3e6173240d90f0a80fa" + +inherit autotools -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 8 18:17:10 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 08 Jul 2017 18:17:10 +0000 Subject: [oe-commits] [meta-openembedded] 08/11: libdbus-c++: Fix build with gcc7 and unblacklist In-Reply-To: <149953782210.7764.16805806755936026881@git.openembedded.org> References: <149953782210.7764.16805806755936026881@git.openembedded.org> Message-ID: <20170708181702.ABEBF23485D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 441c9c0f08d89203085e8bdb8d643f8854387f96 Author: Khem Raj AuthorDate: Sat Jul 8 06:17:40 2017 -0700 libdbus-c++: Fix build with gcc7 and unblacklist Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../0001-pipe.c-Use-a-string-instead-of-char.patch | 27 ++++++++++++++++++++++ meta-oe/recipes-core/dbus/libdbus-c++_0.9.0.bb | 20 ++++++++-------- 2 files changed, 36 insertions(+), 11 deletions(-) diff --git a/meta-oe/recipes-core/dbus/libdbus-c++-0.9.0/0001-pipe.c-Use-a-string-instead-of-char.patch b/meta-oe/recipes-core/dbus/libdbus-c++-0.9.0/0001-pipe.c-Use-a-string-instead-of-char.patch new file mode 100644 index 0000000..6883f9a --- /dev/null +++ b/meta-oe/recipes-core/dbus/libdbus-c++-0.9.0/0001-pipe.c-Use-a-string-instead-of-char.patch @@ -0,0 +1,27 @@ +From 6bcb58bd69c38b9200e8ec6c382247167571189d Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 1 Jul 2017 16:44:15 -0700 +Subject: [PATCH] pipe.c: Use a string instead of char + +Fixes +error: invalid conversion from 'char' to 'const void*' [-fpermissive] + +Signed-off-by: Khem Raj +--- + src/pipe.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/pipe.cpp b/src/pipe.cpp +index 45c2ba6..1303c2d 100644 +--- a/src/pipe.cpp ++++ b/src/pipe.cpp +@@ -83,5 +83,5 @@ ssize_t Pipe::read(void *buffer, unsigned int &nbytes) + void Pipe::signal() + { + // TODO: ignoring return of read/write generates warning; maybe relevant for eventloop work... +- ::write(_fd_write, '\0', 1); ++ ::write(_fd_write, "", 1); + } +-- +2.13.2 + diff --git a/meta-oe/recipes-core/dbus/libdbus-c++_0.9.0.bb b/meta-oe/recipes-core/dbus/libdbus-c++_0.9.0.bb index 4412716..4cc1333 100644 --- a/meta-oe/recipes-core/dbus/libdbus-c++_0.9.0.bb +++ b/meta-oe/recipes-core/dbus/libdbus-c++_0.9.0.bb @@ -6,15 +6,15 @@ LICENSE = "LGPLv2.1" LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24" DEPENDS = "dbus expat glib-2.0 libpcre" -SRC_URI = "\ - ${SOURCEFORGE_MIRROR}/project/dbus-cplusplus/dbus-c++/${PV}/${BP}.tar.gz \ - file://fix-missing-unistd.h-include.patch \ - file://remove-CXX_FOR_BUILD-stuff.patch \ - file://0001-src-eventloop.cpp-use-portable-method-for-initializi.patch \ - file://0002-tools-generate_proxy.cpp-avoid-possibly-undefined-ui.patch \ - file://0003-Fixed-undefined-ssize_t-for-clang-3.8.0-on-FreeBSD.patch \ - file://0004-use-POSIX-poll.h-instead-of-sys-poll.h.patch \ -" +SRC_URI = "${SOURCEFORGE_MIRROR}/project/dbus-cplusplus/dbus-c++/${PV}/${BP}.tar.gz \ + file://fix-missing-unistd.h-include.patch \ + file://remove-CXX_FOR_BUILD-stuff.patch \ + file://0001-src-eventloop.cpp-use-portable-method-for-initializi.patch \ + file://0002-tools-generate_proxy.cpp-avoid-possibly-undefined-ui.patch \ + file://0003-Fixed-undefined-ssize_t-for-clang-3.8.0-on-FreeBSD.patch \ + file://0004-use-POSIX-poll.h-instead-of-sys-poll.h.patch \ + file://0001-pipe.c-Use-a-string-instead-of-char.patch \ + " SRC_URI[md5sum] = "e752116f523fa88ef041e63d3dee4de2" SRC_URI[sha256sum] = "bc11ac297b3cb010be904c72789695543ee3fdf3d75cdc8225fd371385af4e61" @@ -27,5 +27,3 @@ PACKAGE_BEFORE_PN = "${PN}-tools" FILES_${PN}-tools = "${bindir}" BBCLASSEXTEND = "native" - -PNBLACKLIST[libdbus-c++] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130644/ - the recipe will be removed on 2017-09-01 unless the issue is fixed" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 8 18:17:11 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 08 Jul 2017 18:17:11 +0000 Subject: [oe-commits] [meta-openembedded] 09/11: security_flags.inc: Delete In-Reply-To: <149953782210.7764.16805806755936026881@git.openembedded.org> References: <149953782210.7764.16805806755936026881@git.openembedded.org> Message-ID: <20170708181702.B42D523485E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit be38f488de64bbd478991bc385fff05118aed92e Author: Khem Raj AuthorDate: Sat Jul 8 06:17:41 2017 -0700 security_flags.inc: Delete OE-Core has now reworked the PIE flags, where they are implicitly passed by compiler when security flags are enabled None of these pinnings are needed anymore, since these packages compile fine with security flags enabled Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../include/meta_networking_security_flags.inc | 10 -------- meta-networking/conf/layer.conf | 3 --- .../conf/distro/include/meta_oe_security_flags.inc | 28 ---------------------- meta-oe/conf/layer.conf | 3 --- 4 files changed, 44 deletions(-) diff --git a/meta-networking/conf/distro/include/meta_networking_security_flags.inc b/meta-networking/conf/distro/include/meta_networking_security_flags.inc deleted file mode 100644 index 19e13ea..0000000 --- a/meta-networking/conf/distro/include/meta_networking_security_flags.inc +++ /dev/null @@ -1,10 +0,0 @@ -# configure righteously complains: -# | configure:3479: using CFLAGS: -O2 -pipe -g -feliminate-unused-debug-types -fstack-protector-strong -pie -fpie -D_FORTIFY_SOURCE=2 -# | configure:3485: CFLAGS error: CFLAGS may only be used to specify C compiler flags, not macro definitions. Use CPPFLAGS for: -D_FORTIFY_SOURCE=2 -# | configure:3516: error: Can not continue. Fix errors mentioned immediately above this line. - -# Make sure it's at least empty in builds which don't include -# conf/distro/include/security_flags.inc -lcl_maybe_fortify ?= "" -TARGET_CFLAGS_remove_pn-c-ares = "${lcl_maybe_fortify}" -TARGET_CPPFLAGS_append_pn-c-ares = "${lcl_maybe_fortify}" diff --git a/meta-networking/conf/layer.conf b/meta-networking/conf/layer.conf index b5aa159..2dfde4b 100644 --- a/meta-networking/conf/layer.conf +++ b/meta-networking/conf/layer.conf @@ -19,9 +19,6 @@ LAYERDEPENDS_networking-layer += "meta-python" LICENSE_PATH += "${LAYERDIR}/licenses" -# Override security flags -require conf/distro/include/meta_networking_security_flags.inc - SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \ wireguard-tools->wireguard-module \ " diff --git a/meta-oe/conf/distro/include/meta_oe_security_flags.inc b/meta-oe/conf/distro/include/meta_oe_security_flags.inc deleted file mode 100644 index 03868bf..0000000 --- a/meta-oe/conf/distro/include/meta_oe_security_flags.inc +++ /dev/null @@ -1,28 +0,0 @@ -# Build errors with the pie options enabled -SECURITY_CFLAGS_pn-libdbus-c++ = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-libdevmapper = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-lvm2 = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-rrdtool = "${SECURITY_NO_PIE_CFLAGS}" - -# This has text reloc errors with the pie options enabled -SECURITY_CFLAGS_pn-llvm3.3 = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-mozjs = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-openldap = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-s3c64xx-gpio = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-s3c24xx-gpio = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-cpufrequtils = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-libcec = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-libmodplug = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-libcdio = "${SECURITY_NO_PIE_CFLAGS}" - -#| /mnt/b/build/tmp-glibc/sysroots/intel-corei7-64/usr/lib/libc_nonshared.a(elf-init.oS): In function `__libc_csu_init': -#| /usr/src/debug/glibc/2.24-r0/git/csu/elf-init.c:86: undefined reference to `__init_array_start' - -SECURITY_CFLAGS_pn-libvdpau = "${SECURITY_NO_PIE_CFLAGS}" - -#| /mnt/a/build/tmp-glibc/sysroots/x86_64-linux/usr/libexec/x86_64-oe-linux/gcc/x86_64-oe-linux/6.2.0/ld: lj_err_dyn.o: relocation R_X86_64_TPOFF32 against `static_uex' can not be used when making a shared object; recompile with -fPIC -#| /mnt/a/build/tmp-glibc/sysroots/x86_64-linux/usr/libexec/x86_64-oe-linux/gcc/x86_64-oe-linux/6.2.0/ld: final link failed: Nonrepresentable section on output -#| collect2: error: ld returned 1 exit status -#| make[1]: *** [Makefile:675: libluajit.so] Error 1 -SECURITY_CFLAGS_pn-luajit = "${SECURITY_NO_PIE_CFLAGS}" - diff --git a/meta-oe/conf/layer.conf b/meta-oe/conf/layer.conf index 54425c6..f0d21ed 100644 --- a/meta-oe/conf/layer.conf +++ b/meta-oe/conf/layer.conf @@ -77,7 +77,4 @@ SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \ FREESMARTPHONE_GIT = "git://git.freesmartphone.org" -# Override security flags -require conf/distro/include/meta_oe_security_flags.inc - HOSTTOOLS += "id" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 8 18:17:13 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 08 Jul 2017 18:17:13 +0000 Subject: [oe-commits] [meta-openembedded] 11/11: pptp-linux: Upgrade to 1.9.0 In-Reply-To: <149953782210.7764.16805806755936026881@git.openembedded.org> References: <149953782210.7764.16805806755936026881@git.openembedded.org> Message-ID: <20170708181702.C5394234860@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 219dbe650c4b5f4f6a628eabcd0206e3ccb715af Author: Khem Raj AuthorDate: Sat Jul 8 06:17:44 2017 -0700 pptp-linux: Upgrade to 1.9.0 Fix build errors found when building for musl while here Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../0001-include-missing-sys-types.h.patch | 28 ++++++++++++++++++++++ .../{pptp-linux-1.8.0 => pptp-linux}/options.pptp | 0 .../{pptp-linux_1.8.0.bb => pptp-linux_1.9.0.bb} | 9 ++++--- 3 files changed, 32 insertions(+), 5 deletions(-) diff --git a/meta-networking/recipes-protocols/pptp-linux/pptp-linux/0001-include-missing-sys-types.h.patch b/meta-networking/recipes-protocols/pptp-linux/pptp-linux/0001-include-missing-sys-types.h.patch new file mode 100644 index 0000000..804bf12 --- /dev/null +++ b/meta-networking/recipes-protocols/pptp-linux/pptp-linux/0001-include-missing-sys-types.h.patch @@ -0,0 +1,28 @@ +From f6c4d2468ae0dadd2f35680d61b98b2a59077328 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 7 Jul 2017 10:31:03 -0700 +Subject: [PATCH] include missing sys/types.h + +Fixes errors seen on musl +pqueue.h:21:3: error: unknown type name 'u_int32_t' + +Signed-off-by: Khem Raj +--- + pqueue.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/pqueue.h b/pqueue.h +index c37ba7b..ae4cc6a 100644 +--- a/pqueue.h ++++ b/pqueue.h +@@ -3,6 +3,7 @@ + + #include + #include ++#include + + /* wait this many seconds for missing packets before forgetting about them */ + #define DEFAULT_PACKET_TIMEOUT 0.3 +-- +2.13.2 + diff --git a/meta-networking/recipes-protocols/pptp-linux/pptp-linux-1.8.0/options.pptp b/meta-networking/recipes-protocols/pptp-linux/pptp-linux/options.pptp similarity index 100% rename from meta-networking/recipes-protocols/pptp-linux/pptp-linux-1.8.0/options.pptp rename to meta-networking/recipes-protocols/pptp-linux/pptp-linux/options.pptp diff --git a/meta-networking/recipes-protocols/pptp-linux/pptp-linux_1.8.0.bb b/meta-networking/recipes-protocols/pptp-linux/pptp-linux_1.9.0.bb similarity index 81% rename from meta-networking/recipes-protocols/pptp-linux/pptp-linux_1.8.0.bb rename to meta-networking/recipes-protocols/pptp-linux/pptp-linux_1.9.0.bb index bc8b2cb..10c9170 100644 --- a/meta-networking/recipes-protocols/pptp-linux/pptp-linux_1.8.0.bb +++ b/meta-networking/recipes-protocols/pptp-linux/pptp-linux_1.9.0.bb @@ -9,14 +9,13 @@ SECTION = "net" LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" -PR = "r1" - SRC_URI = "${SOURCEFORGE_MIRROR}/sourceforge/pptpclient/pptp-${PV}.tar.gz \ file://options.pptp \ -" + file://0001-include-missing-sys-types.h.patch \ + " -SRC_URI[md5sum] = "4efce9f263e2c3f38d79d9df222476de" -SRC_URI[sha256sum] = "e39c42d933242a8a6dd8600a0fa7f0a5ec8f066d10c4149d8e81a5c68fe4bbda" +SRC_URI[md5sum] = "b2117b377f65294a9786f80f0235d308" +SRC_URI[sha256sum] = "0b1e8cbfc578d3f5ab12ee87c5c2c60419abfe9cc445690a8a19c320b11c9201" S = "${WORKDIR}/pptp-${PV}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 8 19:06:25 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 08 Jul 2017 19:06:25 +0000 Subject: [oe-commits] [meta-openembedded] branch master-next updated (219dbe6 -> 05ec709) Message-ID: <149954078553.15521.13502769468223606995@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a change to branch master-next in repository meta-openembedded. discard 219dbe6 pptp-linux: Upgrade to 1.9.0 discard 7d871ba ltrace: Fix build on musl discard be38f48 security_flags.inc: Delete discard 441c9c0 libdbus-c++: Fix build with gcc7 and unblacklist discard 2dcd253 webrtc-audio-processing: initial recipe discard 63b4bf6 gnome-common: Add recipe (from oe-core) discard f0b2f6e libtinyxml2: upgrade to 5.0.1 discard 5a8ae37 python-pytest: remove fetch during do_compile phase discard 8d8958e python-pytest: update to version 3.1.3 discard 15777de multipath-tools: 0.6.4 -> 0.7.1 discard 59149f2 kodi: Fix build on powerpc new fba5745 multipath-tools: 0.6.4 -> 0.7.1 new 576007b python-pytest: update to version 3.1.3 new ab2195a python-pytest: remove fetch during do_compile phase new 257ae76 libtinyxml2: upgrade to 5.0.1 new 097b85b gnome-common: Add recipe (from oe-core) new 8bd9323 webrtc-audio-processing: initial recipe new ed824a0 libdbus-c++: Fix build with gcc7 and unblacklist new 922fdce security_flags.inc: Delete new 76be091 ltrace: Fix build on musl new c6b1446 pptp-linux: Upgrade to 1.9.0 new 05ec709 kodi: Fix build on powerpc This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (219dbe6) \ N -- N -- N refs/heads/master-next (05ec709) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 11 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 8 19:06:29 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 08 Jul 2017 19:06:29 +0000 Subject: [oe-commits] [meta-openembedded] 04/11: libtinyxml2: upgrade to 5.0.1 In-Reply-To: <149954078553.15521.13502769468223606995@git.openembedded.org> References: <149954078553.15521.13502769468223606995@git.openembedded.org> Message-ID: <20170708190625.BD1EE234863@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 257ae767dd92a5daf1888a3a9caa9f5d97d2bed0 Author: Johannes Pointner AuthorDate: Thu Jul 6 11:30:39 2017 +0200 libtinyxml2: upgrade to 5.0.1 Signed-off-by: Johannes Pointner Signed-off-by: Martin Jansa --- .../{libtinyxml2_4.0.1.bb => libtinyxml2_5.0.1.bb} | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/meta-oe/recipes-support/libtinyxml2/libtinyxml2_4.0.1.bb b/meta-oe/recipes-support/libtinyxml2/libtinyxml2_5.0.1.bb similarity index 63% rename from meta-oe/recipes-support/libtinyxml2/libtinyxml2_4.0.1.bb rename to meta-oe/recipes-support/libtinyxml2/libtinyxml2_5.0.1.bb index 3a66598..edf8368 100644 --- a/meta-oe/recipes-support/libtinyxml2/libtinyxml2_4.0.1.bb +++ b/meta-oe/recipes-support/libtinyxml2/libtinyxml2_5.0.1.bb @@ -6,10 +6,21 @@ LIC_FILES_CHKSUM = "file://tinyxml2.cpp;endline=22;md5=c19221dbd8a66ad3090462af4 SRC_URI = "git://github.com/leethomason/tinyxml2.git" -SRCREV = "74d44acb176f8510abf28ee0a70961eb26631988" +SRCREV = "37bc3aca429f0164adf68c23444540b4a24b5778" S = "${WORKDIR}/git" inherit cmake +FILES_${PN} = " \ + ${libdir}/lib*${SOLIBS} \ + ${includedir}/* \ + " + +FILES_${PN}-dev = " \ + ${libdir}/lib*${SOLIBSDEV} \ + ${libdir}/cmake/* \ + ${libdir}/pkgconfig/* \ + " + BBCLASSEXTEND = "native" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 8 19:06:28 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 08 Jul 2017 19:06:28 +0000 Subject: [oe-commits] [meta-openembedded] 03/11: python-pytest: remove fetch during do_compile phase In-Reply-To: <149954078553.15521.13502769468223606995@git.openembedded.org> References: <149954078553.15521.13502769468223606995@git.openembedded.org> Message-ID: <20170708190625.B4980234862@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit ab2195a4c13200383d09acdf540ddcd046ec60a0 Author: Derek Straka AuthorDate: Wed Jul 5 10:00:22 2017 -0400 python-pytest: remove fetch during do_compile phase Signed-off-by: Derek Straka Signed-off-by: Martin Jansa --- .../recipes-devtools/python/python-pytest.inc | 4 +++ ...ove-the-setup_requires-for-setuptools-scm.patch | 29 ++++++++++++++++++++++ 2 files changed, 33 insertions(+) diff --git a/meta-python/recipes-devtools/python/python-pytest.inc b/meta-python/recipes-devtools/python/python-pytest.inc index 2279596..b5c1fa8 100644 --- a/meta-python/recipes-devtools/python/python-pytest.inc +++ b/meta-python/recipes-devtools/python/python-pytest.inc @@ -5,6 +5,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=c39b24965f4aef64222cb35de9d47cc4" SRC_URI[md5sum] = "35356e6e31cbd8318e8b2a8340a90b72" SRC_URI[sha256sum] = "095e1832f7e424563c95daf4d8d3c865052b80e139cdd2f9610a986ee8526206" +SRC_URI_append = " file://0001-setup.py-remove-the-setup_requires-for-setuptools-scm.patch" + RDEPENDS_${PN}_class-target += " \ ${PYTHON_PN}-argparse \ ${PYTHON_PN}-debugger \ @@ -13,4 +15,6 @@ RDEPENDS_${PN}_class-target += " \ ${PYTHON_PN}-setuptools \ " +FILESEXTRAPATHS_prepend := "${THISDIR}/python-pytest:" + BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python-pytest/0001-setup.py-remove-the-setup_requires-for-setuptools-scm.patch b/meta-python/recipes-devtools/python/python-pytest/0001-setup.py-remove-the-setup_requires-for-setuptools-scm.patch new file mode 100644 index 0000000..e283b17 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-pytest/0001-setup.py-remove-the-setup_requires-for-setuptools-scm.patch @@ -0,0 +1,29 @@ +From e2d81009c790b4ebeced8408b6bae78060cabcaf Mon Sep 17 00:00:00 2001 +From: Derek Straka +Date: Wed, 5 Jul 2017 09:35:51 -0400 +Subject: [PATCH 1/1] setup.py: remove the setup_requires for setuptools-scm + +The setup_requires argument forces the download of the egg file for setuptools-scm +during the do_compile phase. This download is incompatible with the typical fetch +and mirror structure. The only usage of scm is the generation of the _version.py +file and in the release tarball it is already correctly created + +Signed-off-by: Derek Straka +--- + setup.py | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/setup.py b/setup.py +index 751868c..ef6ebf1 100644 +--- a/setup.py ++++ b/setup.py +@@ -71,7 +71,6 @@ def main(): + keywords="test unittest", + cmdclass={'test': PyTest}, + # the following should be enabled for release +- setup_requires=['setuptools-scm'], + install_requires=install_requires, + extras_require=extras_require, + packages=['_pytest', '_pytest.assertion', '_pytest._code', '_pytest.vendored_packages'], +-- +2.7.4 -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 8 19:06:27 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 08 Jul 2017 19:06:27 +0000 Subject: [oe-commits] [meta-openembedded] 02/11: python-pytest: update to version 3.1.3 In-Reply-To: <149954078553.15521.13502769468223606995@git.openembedded.org> References: <149954078553.15521.13502769468223606995@git.openembedded.org> Message-ID: <20170708190625.AC81C234861@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 576007be42f70adfa0f3ee022df6671b48eae7ab Author: Derek Straka AuthorDate: Wed Jul 5 10:00:21 2017 -0400 python-pytest: update to version 3.1.3 Updated license for copyright changes and verified terms Signed-off-by: Derek Straka Signed-off-by: Martin Jansa --- meta-python/recipes-devtools/python/python-pytest.inc | 6 +++--- .../python/{python-pytest_3.1.2.bb => python-pytest_3.1.3.bb} | 0 .../python/{python3-pytest_3.1.2.bb => python3-pytest_3.1.3.bb} | 0 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/meta-python/recipes-devtools/python/python-pytest.inc b/meta-python/recipes-devtools/python/python-pytest.inc index 2826838..2279596 100644 --- a/meta-python/recipes-devtools/python/python-pytest.inc +++ b/meta-python/recipes-devtools/python/python-pytest.inc @@ -1,9 +1,9 @@ SUMMARY = "Simple powerful teting with python" LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=d8a5609608d9a5a180705b0fa298ae01" +LIC_FILES_CHKSUM = "file://LICENSE;md5=c39b24965f4aef64222cb35de9d47cc4" -SRC_URI[md5sum] = "c4d179f89043cc925e1c169d03128e02" -SRC_URI[sha256sum] = "795ec29fbba70b22a593691ce8bcd4bdde2dc96e8099731f73c7d8bb3ce879bf" +SRC_URI[md5sum] = "35356e6e31cbd8318e8b2a8340a90b72" +SRC_URI[sha256sum] = "095e1832f7e424563c95daf4d8d3c865052b80e139cdd2f9610a986ee8526206" RDEPENDS_${PN}_class-target += " \ ${PYTHON_PN}-argparse \ diff --git a/meta-python/recipes-devtools/python/python-pytest_3.1.2.bb b/meta-python/recipes-devtools/python/python-pytest_3.1.3.bb similarity index 100% rename from meta-python/recipes-devtools/python/python-pytest_3.1.2.bb rename to meta-python/recipes-devtools/python/python-pytest_3.1.3.bb diff --git a/meta-python/recipes-devtools/python/python3-pytest_3.1.2.bb b/meta-python/recipes-devtools/python/python3-pytest_3.1.3.bb similarity index 100% rename from meta-python/recipes-devtools/python/python3-pytest_3.1.2.bb rename to meta-python/recipes-devtools/python/python3-pytest_3.1.3.bb -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 8 19:06:30 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 08 Jul 2017 19:06:30 +0000 Subject: [oe-commits] [meta-openembedded] 05/11: gnome-common: Add recipe (from oe-core) In-Reply-To: <149954078553.15521.13502769468223606995@git.openembedded.org> References: <149954078553.15521.13502769468223606995@git.openembedded.org> Message-ID: <20170708190625.C6055234864@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 097b85b16e98d5dc4bbadb444e4098af74bf9530 Author: Jussi Kukkonen AuthorDate: Thu Jul 6 15:06:36 2017 +0300 gnome-common: Add recipe (from oe-core) gnome-common is deprecated upstream (it's just a collection of m4 macros so that's not a huge issue) and more importantly is soon not used in oe-core. There are 6 recipes in meta-oe and 22 in meta-gnome that DEPEND on gnome-common: Move gnome-common unchanged to meta-oe. Signed-off-by: Jussi Kukkonen Signed-off-by: Martin Jansa --- .../gnome-common/gnome-common_3.18.0.bb | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/meta-oe/recipes-gnome/gnome-common/gnome-common_3.18.0.bb b/meta-oe/recipes-gnome/gnome-common/gnome-common_3.18.0.bb new file mode 100644 index 0000000..06f3bb3 --- /dev/null +++ b/meta-oe/recipes-gnome/gnome-common/gnome-common_3.18.0.bb @@ -0,0 +1,20 @@ +SUMMARY = "Common macros for building GNOME applications" +HOMEPAGE = "http://www.gnome.org/" +BUGTRACKER = "https://bugzilla.gnome.org/" + +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +SECTION = "x11/gnome" +inherit gnomebase allarch + +SRC_URI[archive.md5sum] = "933258d9c23e218eb6eec9cc1951b053" +SRC_URI[archive.sha256sum] = "22569e370ae755e04527b76328befc4c73b62bfd4a572499fde116b8318af8cf" + +EXTRA_AUTORECONF = "" +DEPENDS = "" + +FILES_${PN} += "${datadir}/aclocal" +FILES_${PN}-dev = "" + +BBCLASSEXTEND = "native" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 8 19:06:26 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 08 Jul 2017 19:06:26 +0000 Subject: [oe-commits] [meta-openembedded] 01/11: multipath-tools: 0.6.4 -> 0.7.1 In-Reply-To: <149954078553.15521.13502769468223606995@git.openembedded.org> References: <149954078553.15521.13502769468223606995@git.openembedded.org> Message-ID: <20170708190625.A3EC3234860@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit fba5745edadc8bef75e0362854790fb7de32beab Author: Hongxu Jia AuthorDate: Wed Jul 5 05:13:17 2017 -0400 multipath-tools: 0.6.4 -> 0.7.1 1. In fedora/redhat, it is renamed to device-mapper-multipath, use PROVIDE and RPROVIDE to support. 2. Split ${PN}-libs 3. Add multipath.conf.example 4. Backport patches from fedora: git://pkgs.fedoraproject.org/rpms/device-mapper-multipath - 0001 ~ 0011 5. Rebase local patches: - makefile_inc.patch -> 0012-multipath-tools-modify-Makefile.inc-for-cross-compil.patch - always-use-libdevmapper.patch -> 0013-Always-use-devmapper.patch - always-use-libdevmapper-kpartx.patch -> 0014-Always-use-devmapper-for-kpartx.patch 6. Drop obsolete patches: - 0001-multipathd.service-Error-fix.patch - shared-libs-avoid-linking-.so-as-executable.patch - checkers-disable-libcheckrbd.so.patch Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- ...ltipath-attempt-at-common-multipath.rules.patch | 107 ++++ .../files/0001-multipathd.service-Error-fix.patch | 36 -- .../0002-RH-fixup-udev-rules-for-redhat.patch | 110 ++++ ...-the-property-blacklist-exception-builtin.patch | 70 +++ ...0004-RH-don-t-start-without-a-config-file.patch | 108 ++++ .../files/0005-RH-add-mpathconf.patch | 648 +++++++++++++++++++++ ...ds-from-kernel-cmdline-mpath.wwids-with-A.patch | 166 ++++++ ...gger-change-uevent-on-new-device-creation.patch | 138 +++++ ...ipath-change-how-RADOS-checker-is-enabled.patch | 56 ++ ...th-set-verbosity-to-default-during-config.patch | 40 ++ ...kip-device-configs-without-vendor-product.patch | 37 ++ .../0011-multipathd-fix-show-maps-json-crash.patch | 38 ++ ...ools-modify-Makefile.inc-for-cross-compil.patch | 58 ++ .../files/0013-Always-use-devmapper.patch | 53 ++ ... => 0014-Always-use-devmapper-for-kpartx.patch} | 25 +- .../files/always-use-libdevmapper.patch | 57 -- .../files/checkers-disable-libcheckrbd.so.patch | 31 - .../multipath-tools/files/makefile_inc.patch | 59 -- .../multipath-tools/files/multipath.conf.example | 90 +++ ...ared-libs-avoid-linking-.so-as-executable.patch | 55 -- .../multipath-tools/multipath-tools_0.7.1.bb | 112 ++++ .../multipath-tools/multipath-tools_git.bb | 71 --- 22 files changed, 1844 insertions(+), 321 deletions(-) diff --git a/meta-oe/recipes-support/multipath-tools/files/0001-multipath-attempt-at-common-multipath.rules.patch b/meta-oe/recipes-support/multipath-tools/files/0001-multipath-attempt-at-common-multipath.rules.patch new file mode 100644 index 0000000..acb4269 --- /dev/null +++ b/meta-oe/recipes-support/multipath-tools/files/0001-multipath-attempt-at-common-multipath.rules.patch @@ -0,0 +1,107 @@ +From 5ab50e0cb888e553a2635bbbf81eea3cdeffee60 Mon Sep 17 00:00:00 2001 +From: Benjamin Marzinski +Date: Wed, 12 Apr 2017 09:07:51 -0500 +Subject: [PATCH 01/14] multipath: attempt at common multipath.rules + +This is a proposal to try and bring the Redhat and SuSE multipath.rules +closer. There are a couple of changes that I'd like some input on. + +The big change is moving the kpartx call into the multipath rules. Half +of the current kpartx.rules file is about creating symlinks for multiple +types of dm devices. The other half auto-creates kpartx devices on top +of multipath devices. Since it is only creating kpartx devices on top of +multipath devices, I've moved the these rules into multipath.rules, or +rather, I've replaced them with the redhat rules in multipath.rules. The +biggest difference is the kpartx isn't run on every reload. It works +with the 11-dm-mpath.rules code to not run kpartx on multipathd +generated reloads or when there aren't any working paths. It does +remember if it didn't get to run kpartx when it was supposed to (because +there were no valid paths or the device was suspended) and will make +sure to run it on the next possible uevent. + +The other change is the redhat multipath rules remove the partition +device nodes for devices claimed by multipath. The udev rule will only +do this one time (both to keep from running partx on every event, and so +that if users manually reread the partition table, we don't keep +removing them when clearly they are wanted). Redhat does this because we +had multiple customer issues where they were using the scsi partitions +instead of the kpartx devices. Obviously, with setting the partition +devices to not ready and clearing their fs_type, this isn't essential, +but it has helped make customers do the right thing. + +Signed-off-by: Benjamin Marzinski +--- + kpartx/kpartx.rules | 8 -------- + multipath/multipath.rules | 27 ++++++++++++++++++++++++--- + 2 files changed, 24 insertions(+), 11 deletions(-) + +diff --git a/kpartx/kpartx.rules b/kpartx/kpartx.rules +index a958791..906e320 100644 +--- a/kpartx/kpartx.rules ++++ b/kpartx/kpartx.rules +@@ -34,12 +34,4 @@ ENV{ID_FS_LABEL_ENC}=="?*", IMPORT{db}="ID_FS_LABEL_ENC" + ENV{ID_FS_USAGE}=="filesystem|other", ENV{ID_FS_LABEL_ENC}=="?*", \ + SYMLINK+="disk/by-label/$env{ID_FS_LABEL_ENC}" + +-# Create dm tables for partitions +-ENV{DM_ACTION}=="PATH_FAILED|PATH_REINSTATED", GOTO="kpartx_end" +-ENV{DM_NR_VALID_PATHS}=="0", GOTO="kpartx_end" +-ENV{ENV{DM_UDEV_PRIMARY_SOURCE_FLAG}!="1", IMPORT{db}="DM_SUBSYSTEM_UDEV_FLAG1" +-ENV{DM_SUBSYSTEM_UDEV_FLAG1}=="1", GOTO="kpartx_end" +-ENV{DM_STATE}!="SUSPENDED", ENV{DM_UUID}=="mpath-*", \ +- RUN+="/sbin/kpartx -un -p -part /dev/$name" +- + LABEL="kpartx_end" +diff --git a/multipath/multipath.rules b/multipath/multipath.rules +index 86defc0..616a04c 100644 +--- a/multipath/multipath.rules ++++ b/multipath/multipath.rules +@@ -1,13 +1,13 @@ + # Set DM_MULTIPATH_DEVICE_PATH if the device should be handled by multipath + SUBSYSTEM!="block", GOTO="end_mpath" + ACTION!="add|change", GOTO="end_mpath" +-KERNEL!="sd*|dasd*", GOTO="end_mpath" +- ++KERNEL!="sd*|dasd*|rbd*|dm-*", GOTO="end_mpath" + IMPORT{cmdline}="nompath" + ENV{nompath}=="?*", GOTO="end_mpath" + IMPORT{cmdline}="multipath" + ENV{multipath}=="off", GOTO="end_mpath" + ++KERNEL=="dm-*", GOTO="check_kpartx" + ENV{DEVTYPE}!="partition", GOTO="test_dev" + IMPORT{parent}="DM_MULTIPATH_DEVICE_PATH" + ENV{DM_MULTIPATH_DEVICE_PATH}=="1", ENV{ID_FS_TYPE}="none", \ +@@ -21,7 +21,28 @@ TEST!="$env{MPATH_SBIN_PATH}/multipath", ENV{MPATH_SBIN_PATH}="/usr/sbin" + + ENV{DM_MULTIPATH_DEVICE_PATH}!="1", \ + PROGRAM=="$env{MPATH_SBIN_PATH}/multipath -u %k", \ +- ENV{DM_MULTIPATH_DEVICE_PATH}="1", ENV{ID_FS_TYPE}="none", \ ++ ENV{DM_MULTIPATH_DEVICE_PATH}="1", ENV{ID_FS_TYPE}="mpath_member", \ + ENV{SYSTEMD_READY}="0" + ++ENV{DM_MULTIPATH_DEVICE_PATH}!="1", GOTO="end_mpath" ++ ++IMPORT{db}="DM_MULTIPATH_WIPE_PARTS" ++ENV{DM_MULTIPATH_WIPE_PARTS}!="1", ENV{DM_MULTIPATH_WIPE_PARTS}="1", \ ++ RUN+="/sbin/partx -d --nr 1-1024 $env{DEVNAME}" ++GOTO="end_mpath" ++ ++LABEL="check_kpartx" ++ ++IMPORT{db}="DM_MULTIPATH_NEED_KPARTX" ++ENV{DM_UDEV_PRIMARY_SOURCE_FLAG}!="1", IMPORT{db}="DM_SUBSYSTEM_UDEV_FLAG1" ++ENV{DM_SUBSYSTEM_UDEV_FLAG1}=="1", GOTO="end_mpath" ++ACTION!="change", GOTO="end_mpath" ++ENV{DM_UUID}!="mpath-?*", GOTO="end_mpath" ++ENV{DM_ACTIVATION}=="1", ENV{DM_MULTIPATH_NEED_KPARTX}="1" ++ENV{DM_SUSPENDED}=="1", GOTO="end_mpath" ++ENV{DM_ACTION}=="PATH_FAILED", GOTO="end_mpath" ++ENV{DM_ACTIVATION}!="1", ENV{DM_MULTIPATH_NEED_KPARTX}!="1", GOTO="end_mpath" ++RUN+="/sbin/kpartx -un -p -part /dev/$name" ++ENV{DM_MULTIPATH_NEED_KPARTX}="" ++ + LABEL="end_mpath" +-- +2.8.1 + diff --git a/meta-oe/recipes-support/multipath-tools/files/0001-multipathd.service-Error-fix.patch b/meta-oe/recipes-support/multipath-tools/files/0001-multipathd.service-Error-fix.patch deleted file mode 100644 index 60c3c0a..0000000 --- a/meta-oe/recipes-support/multipath-tools/files/0001-multipathd.service-Error-fix.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 630483b9738349c8b3e637a00879b96834a33cdb Mon Sep 17 00:00:00 2001 -From: Li xin -Date: Tue, 7 Jul 2015 11:34:36 +0900 -Subject: [PATCH] multipathd.service: Error fix - -Failed to start Device-Mapper Multipath Device Controller. - -Upstream-Status: pending - -Signed-off-by: Li Xin ---- - multipathd/multipathd.service | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/multipathd/multipathd.service b/multipathd/multipathd.service -index e3d6f91..a7e00b2 100644 ---- a/multipathd/multipathd.service -+++ b/multipathd/multipathd.service -@@ -8,11 +8,12 @@ Wants=local-fs-pre.target multipathd.socket blk-availability.service - Conflicts=shutdown.target - - [Service] --Type=notify -+Type=forking - NotifyAccess=main - LimitCORE=infinity -+PIDFile=/var/run/multipathd.pid - ExecStartPre=/sbin/modprobe -a scsi_dh_alua scsi_dh_emc scsi_dh_rdac dm-multipath --ExecStart=/sbin/multipathd -d -s -+ExecStart=/sbin/multipathd - ExecReload=/sbin/multipathd reconfigure - - [Install] --- -2.11.0 - diff --git a/meta-oe/recipes-support/multipath-tools/files/0002-RH-fixup-udev-rules-for-redhat.patch b/meta-oe/recipes-support/multipath-tools/files/0002-RH-fixup-udev-rules-for-redhat.patch new file mode 100644 index 0000000..e63d2eb --- /dev/null +++ b/meta-oe/recipes-support/multipath-tools/files/0002-RH-fixup-udev-rules-for-redhat.patch @@ -0,0 +1,110 @@ +From 158255383c02d3fb81c82fb9ec6fd36fb234f68e Mon Sep 17 00:00:00 2001 +From: Benjamin Marzinski +Date: Thu, 13 Apr 2017 07:22:23 -0500 +Subject: [PATCH 02/14] RH: fixup udev rules for redhat + +The multipath rules need to run after scsi_id is run. This means moving +them after 60-persistent-storage.rules for redhat. Also, we don't +currently set up all the symlinks that SuSE does. If we want them, they +should be done in the device-mapper package, since they are for all +device-mapper devices. Redhat also uses a different naming scheme for +partitions than SuSE. + +Signed-off-by: Benjamin Marzinski +--- + Makefile.inc | 2 +- + kpartx/Makefile | 14 +++++++------- + multipath/Makefile | 4 ++-- + multipath/multipath.rules | 3 ++- + 4 files changed, 12 insertions(+), 11 deletions(-) + +diff --git a/Makefile.inc b/Makefile.inc +index 1815f9a..2591fa9 100644 +--- a/Makefile.inc ++++ b/Makefile.inc +@@ -47,7 +47,7 @@ endif + + prefix = + exec_prefix = $(prefix) +-bindir = $(exec_prefix)/sbin ++bindir = $(exec_prefix)/usr/sbin + libudevdir = $(prefix)/$(SYSTEMDPATH)/udev + udevrulesdir = $(libudevdir)/rules.d + multipathdir = $(TOPDIR)/libmultipath +diff --git a/kpartx/Makefile b/kpartx/Makefile +index 7b75032..bfa6fe8 100644 +--- a/kpartx/Makefile ++++ b/kpartx/Makefile +@@ -26,19 +26,19 @@ $(EXEC): $(OBJS) + install: $(EXEC) $(EXEC).8 + $(INSTALL_PROGRAM) -d $(DESTDIR)$(bindir) + $(INSTALL_PROGRAM) -m 755 $(EXEC) $(DESTDIR)$(bindir) +- $(INSTALL_PROGRAM) -d $(DESTDIR)$(libudevdir) +- $(INSTALL_PROGRAM) -m 755 kpartx_id $(DESTDIR)$(libudevdir) +- $(INSTALL_PROGRAM) -d $(DESTDIR)$(libudevdir)/rules.d +- $(INSTALL_PROGRAM) -m 644 kpartx.rules $(DESTDIR)$(libudevdir)/rules.d/66-kpartx.rules ++# $(INSTALL_PROGRAM) -d $(DESTDIR)$(libudevdir) ++# $(INSTALL_PROGRAM) -m 755 kpartx_id $(DESTDIR)$(libudevdir) ++# $(INSTALL_PROGRAM) -d $(DESTDIR)$(libudevdir)/rules.d ++# $(INSTALL_PROGRAM) -m 644 kpartx.rules $(DESTDIR)$(libudevdir)/rules.d/66-kpartx.rules + $(INSTALL_PROGRAM) -d $(DESTDIR)$(man8dir) + $(INSTALL_PROGRAM) -m 644 $(EXEC).8.gz $(DESTDIR)$(man8dir) + + uninstall: + $(RM) $(DESTDIR)$(bindir)/$(EXEC) + $(RM) $(DESTDIR)$(man8dir)/$(EXEC).8.gz +- $(RM) $(DESTDIR)$(libudevdir)/kpartx_id +- $(RM) $(DESTDIR)$(libudevdir)/rules.d/66-kpartx.rules +- $(RM) $(DESTDIR)$(libudevdir)/rules.d/67-kpartx-compat.rules ++# $(RM) $(DESTDIR)$(libudevdir)/kpartx_id ++# $(RM) $(DESTDIR)$(libudevdir)/rules.d/66-kpartx.rules ++# $(RM) $(DESTDIR)$(libudevdir)/rules.d/67-kpartx-compat.rules + + clean: + $(RM) core *.o $(EXEC) *.gz +diff --git a/multipath/Makefile b/multipath/Makefile +index c85314e..1e9ee4b 100644 +--- a/multipath/Makefile ++++ b/multipath/Makefile +@@ -24,7 +24,7 @@ install: + $(INSTALL_PROGRAM) -m 755 $(EXEC) $(DESTDIR)$(bindir)/ + $(INSTALL_PROGRAM) -d $(DESTDIR)$(udevrulesdir) + $(INSTALL_PROGRAM) -m 644 11-dm-mpath.rules $(DESTDIR)$(udevrulesdir) +- $(INSTALL_PROGRAM) -m 644 $(EXEC).rules $(DESTDIR)$(libudevdir)/rules.d/56-multipath.rules ++ $(INSTALL_PROGRAM) -m 644 $(EXEC).rules $(DESTDIR)$(libudevdir)/rules.d/62-multipath.rules + $(INSTALL_PROGRAM) -d $(DESTDIR)$(man8dir) + $(INSTALL_PROGRAM) -m 644 $(EXEC).8.gz $(DESTDIR)$(man8dir) + $(INSTALL_PROGRAM) -d $(DESTDIR)$(man5dir) +@@ -33,7 +33,7 @@ install: + uninstall: + $(RM) $(DESTDIR)$(bindir)/$(EXEC) + $(RM) $(DESTDIR)$(udevrulesdir)/11-dm-mpath.rules +- $(RM) $(DESTDIR)$(libudevdir)/rules.d/56-multipath.rules ++ $(RM) $(DESTDIR)$(libudevdir)/rules.d/62-multipath.rules + $(RM) $(DESTDIR)$(man8dir)/$(EXEC).8.gz + $(RM) $(DESTDIR)$(man5dir)/$(EXEC).conf.5.gz + +diff --git a/multipath/multipath.rules b/multipath/multipath.rules +index 616a04c..4d78b98 100644 +--- a/multipath/multipath.rules ++++ b/multipath/multipath.rules +@@ -33,6 +33,7 @@ GOTO="end_mpath" + + LABEL="check_kpartx" + ++ENV{DM_UUID}=="mpath-?*|part[0-9]*-mpath-?*", OPTIONS+="link_priority=10" + IMPORT{db}="DM_MULTIPATH_NEED_KPARTX" + ENV{DM_UDEV_PRIMARY_SOURCE_FLAG}!="1", IMPORT{db}="DM_SUBSYSTEM_UDEV_FLAG1" + ENV{DM_SUBSYSTEM_UDEV_FLAG1}=="1", GOTO="end_mpath" +@@ -42,7 +43,7 @@ ENV{DM_ACTIVATION}=="1", ENV{DM_MULTIPATH_NEED_KPARTX}="1" + ENV{DM_SUSPENDED}=="1", GOTO="end_mpath" + ENV{DM_ACTION}=="PATH_FAILED", GOTO="end_mpath" + ENV{DM_ACTIVATION}!="1", ENV{DM_MULTIPATH_NEED_KPARTX}!="1", GOTO="end_mpath" +-RUN+="/sbin/kpartx -un -p -part /dev/$name" ++RUN+="/sbin/kpartx -un /dev/$name" + ENV{DM_MULTIPATH_NEED_KPARTX}="" + + LABEL="end_mpath" +-- +2.8.1 + diff --git a/meta-oe/recipes-support/multipath-tools/files/0003-RH-Remove-the-property-blacklist-exception-builtin.patch b/meta-oe/recipes-support/multipath-tools/files/0003-RH-Remove-the-property-blacklist-exception-builtin.patch new file mode 100644 index 0000000..684e959 --- /dev/null +++ b/meta-oe/recipes-support/multipath-tools/files/0003-RH-Remove-the-property-blacklist-exception-builtin.patch @@ -0,0 +1,70 @@ +From 69a67c2ed09ae51b53de402966a9f7a4cc737715 Mon Sep 17 00:00:00 2001 +From: Benjamin Marzinski +Date: Wed, 2 Jul 2014 12:49:53 -0500 +Subject: [PATCH 03/14] RH: Remove the property blacklist exception builtin + +Multipath set the default property blacklist exceptions to +(ID_SCSI_VPD|ID_WWN). This has the effect of blacklisting some internal +devices. These devices may never have multiple paths, but it is nice +to be able to set multipath up on them all the same. This patch simply +removes the default, and makes it so that if no property +blacklist_exception is given, then devices aren't failed for not matching +it. + +Signed-off-by: Benjamin Marzinski +--- + libmultipath/blacklist.c | 15 ++++++--------- + multipath/multipath.conf.5 | 4 ---- + 2 files changed, 6 insertions(+), 13 deletions(-) + +diff --git a/libmultipath/blacklist.c b/libmultipath/blacklist.c +index ee396e2..19d4697 100644 +--- a/libmultipath/blacklist.c ++++ b/libmultipath/blacklist.c +@@ -181,12 +181,6 @@ setup_default_blist (struct config * conf) + if (store_ble(conf->blist_devnode, str, ORIGIN_DEFAULT)) + return 1; + +- str = STRDUP("(SCSI_IDENT_|ID_WWN)"); +- if (!str) +- return 1; +- if (store_ble(conf->elist_property, str, ORIGIN_DEFAULT)) +- return 1; +- + vector_foreach_slot (conf->hwtable, hwe, i) { + if (hwe->bl_product) { + if (_blacklist_device(conf->blist_device, hwe->vendor, +@@ -390,9 +384,12 @@ filter_property(struct config * conf, struct udev_device * udev) + * This is the inverse of the 'normal' matching; + * the environment variable _has_ to match. + */ +- log_filter(devname, NULL, NULL, NULL, NULL, +- MATCH_PROPERTY_BLIST_MISSING); +- return MATCH_PROPERTY_BLIST_MISSING; ++ if (VECTOR_SIZE(conf->elist_property)) { ++ log_filter(devname, NULL, NULL, NULL, NULL, ++ MATCH_PROPERTY_BLIST_MISSING); ++ return MATCH_PROPERTY_BLIST_MISSING; ++ } ++ return 0; + } + + void +diff --git a/multipath/multipath.conf.5 b/multipath/multipath.conf.5 +index f04ff19..fbbbb27 100644 +--- a/multipath/multipath.conf.5 ++++ b/multipath/multipath.conf.5 +@@ -1014,10 +1014,6 @@ The \fIWorld Wide Identification\fR of a device. + .TP + .B property + Regular expression of the udev property to be whitelisted. +-.RS +-.TP +-The default is: \fB(SCSI_IDENT_|ID_WWN)\fR +-.RE + .TP + .B device + Subsection for the device description. This subsection recognizes the +-- +2.8.1 + diff --git a/meta-oe/recipes-support/multipath-tools/files/0004-RH-don-t-start-without-a-config-file.patch b/meta-oe/recipes-support/multipath-tools/files/0004-RH-don-t-start-without-a-config-file.patch new file mode 100644 index 0000000..87a6d3f --- /dev/null +++ b/meta-oe/recipes-support/multipath-tools/files/0004-RH-don-t-start-without-a-config-file.patch @@ -0,0 +1,108 @@ +From b2b504fc1959c7a3f0a843c3c204e8e193b675b7 Mon Sep 17 00:00:00 2001 +From: Benjamin Marzinski +Date: Wed, 15 Oct 2014 10:39:30 -0500 +Subject: [PATCH 04/14] RH: don't start without a config file + +If /etc/multipath.conf doesn't exist, don't start multipathd and blacklist +all devices when running multipath. A completely blank configuration file +is almost never what users want. Also, people may have the multipath +packages installed but don't want to use them. This patch provides a +simple way to disable multipath. Simply removing or renaming +/etc/multipath.conf will keep multipath from doing anything. + +Signed-off-by: Benjamin Marzinski +--- + libmultipath/config.c | 17 +++++++++++++++++ + libmultipath/config.h | 1 + + multipath/multipath.rules | 1 + + multipathd/multipathd.8 | 2 ++ + multipathd/multipathd.service | 1 + + 5 files changed, 22 insertions(+) + +diff --git a/libmultipath/config.c b/libmultipath/config.c +index bb6619b..aae69b8 100644 +--- a/libmultipath/config.c ++++ b/libmultipath/config.c +@@ -25,6 +25,7 @@ + #include "prio.h" + #include "devmapper.h" + #include "mpath_cmd.h" ++#include "version.h" + + static int + hwe_strmatch (struct hwentry *hwe1, struct hwentry *hwe2) +@@ -667,6 +668,22 @@ load_config (char * file) + factorize_hwtable(conf->hwtable, builtin_hwtable_size); + } + ++ } else { ++ condlog(0, "/etc/multipath.conf does not exist, blacklisting all devices."); ++ condlog(0, "A default multipath.conf file is located at"); ++ condlog(0, "/usr/share/doc/device-mapper-multipath-%d.%d.%d/multipath.conf", MULTIPATH_VERSION(VERSION_CODE)); ++ if (conf->blist_devnode == NULL) { ++ conf->blist_devnode = vector_alloc(); ++ if (!conf->blist_devnode) { ++ condlog(0, "cannot allocate blacklist\n"); ++ goto out; ++ } ++ } ++ if (store_ble(conf->blist_devnode, strdup(".*"), ++ ORIGIN_NO_CONFIG)) { ++ condlog(0, "cannot store default no-config blacklist\n"); ++ goto out; ++ } + } + + conf->processed_main_config = 1; +diff --git a/libmultipath/config.h b/libmultipath/config.h +index ffc69b5..614331c 100644 +--- a/libmultipath/config.h ++++ b/libmultipath/config.h +@@ -7,6 +7,7 @@ + + #define ORIGIN_DEFAULT 0 + #define ORIGIN_CONFIG 1 ++#define ORIGIN_NO_CONFIG 2 + + /* + * In kernel, fast_io_fail == 0 means immediate failure on rport delete. +diff --git a/multipath/multipath.rules b/multipath/multipath.rules +index 4d78b98..5753766 100644 +--- a/multipath/multipath.rules ++++ b/multipath/multipath.rules +@@ -6,6 +6,7 @@ IMPORT{cmdline}="nompath" + ENV{nompath}=="?*", GOTO="end_mpath" + IMPORT{cmdline}="multipath" + ENV{multipath}=="off", GOTO="end_mpath" ++TEST!="/etc/multipath.conf", GOTO="end_mpath" + + KERNEL=="dm-*", GOTO="check_kpartx" + ENV{DEVTYPE}!="partition", GOTO="test_dev" +diff --git a/multipathd/multipathd.8 b/multipathd/multipathd.8 +index 4c765af..c1499a5 100644 +--- a/multipathd/multipathd.8 ++++ b/multipathd/multipathd.8 +@@ -39,6 +39,8 @@ map regains its maximum performance and redundancy. + This daemon executes the external \fBmultipath\fR tool when events occur. + In turn, the multipath tool signals the multipathd daemon when it is done with + devmap reconfiguration, so that it can refresh its failed path list. ++ ++In this Linux distribution, multipathd does not run unless a /etc/multipath.conffile exists + . + . + .\" ---------------------------------------------------------------------------- +diff --git a/multipathd/multipathd.service b/multipathd/multipathd.service +index fd66cf6..fafd088 100644 +--- a/multipathd/multipathd.service ++++ b/multipathd/multipathd.service +@@ -4,6 +4,7 @@ Wants=systemd-udev-trigger.service systemd-udev-settle.service + Before=iscsi.service iscsid.service lvm2-lvmetad.service lvm2-activation-early.service + Before=local-fs-pre.target blk-availability.service + After=multipathd.socket systemd-udev-trigger.service systemd-udev-settle.service ++ConditionPathExists=/etc/multipath.conf + DefaultDependencies=no + Conflicts=shutdown.target + ConditionKernelCommandLine=!nompath +-- +2.8.1 + diff --git a/meta-oe/recipes-support/multipath-tools/files/0005-RH-add-mpathconf.patch b/meta-oe/recipes-support/multipath-tools/files/0005-RH-add-mpathconf.patch new file mode 100644 index 0000000..acef410 --- /dev/null +++ b/meta-oe/recipes-support/multipath-tools/files/0005-RH-add-mpathconf.patch @@ -0,0 +1,648 @@ +From de44504fe7f7802cd474efd92ac15b5a8857db1f Mon Sep 17 00:00:00 2001 +From: Benjamin Marzinski +Date: Thu, 16 Oct 2014 15:49:01 -0500 +Subject: [PATCH 05/14] RH: add mpathconf + +mpathconf is a program (largely based on lvmcomf) to help users +configure /etc/multipath.conf and enable or disable multipathing. It +has a couple of built-in options that can be set directly from the +command line. But, mostly it is used to get a multipath.conf file +with the OS defaults, and to enable and disable multipathing via +a single command. + +Signed-off-by: Benjamin Marzinski +--- + libmultipath/config.c | 1 + + multipath/Makefile | 5 + + multipath/mpathconf | 464 ++++++++++++++++++++++++++++++++++++++++++++++++++ + multipath/mpathconf.8 | 101 +++++++++++ + 4 files changed, 571 insertions(+) + create mode 100644 multipath/mpathconf + create mode 100644 multipath/mpathconf.8 + +diff --git a/libmultipath/config.c b/libmultipath/config.c +index aae69b8..c485748 100644 +--- a/libmultipath/config.c ++++ b/libmultipath/config.c +@@ -672,6 +672,7 @@ load_config (char * file) + condlog(0, "/etc/multipath.conf does not exist, blacklisting all devices."); + condlog(0, "A default multipath.conf file is located at"); + condlog(0, "/usr/share/doc/device-mapper-multipath-%d.%d.%d/multipath.conf", MULTIPATH_VERSION(VERSION_CODE)); ++ condlog(0, "You can run /sbin/mpathconf to create or modify /etc/multipath.conf"); + if (conf->blist_devnode == NULL) { + conf->blist_devnode = vector_alloc(); + if (!conf->blist_devnode) { +diff --git a/multipath/Makefile b/multipath/Makefile +index 1e9ee4b..3d4d459 100644 +--- a/multipath/Makefile ++++ b/multipath/Makefile +@@ -18,10 +18,12 @@ $(EXEC): $(OBJS) + $(CC) $(CFLAGS) $(OBJS) -o $(EXEC) $(LDFLAGS) $(LIBDEPS) + $(GZIP) $(EXEC).8 > $(EXEC).8.gz + $(GZIP) $(EXEC).conf.5 > $(EXEC).conf.5.gz ++ $(GZIP) mpathconf.8 > mpathconf.8.gz + + install: + $(INSTALL_PROGRAM) -d $(DESTDIR)$(bindir) + $(INSTALL_PROGRAM) -m 755 $(EXEC) $(DESTDIR)$(bindir)/ ++ $(INSTALL_PROGRAM) -m 755 mpathconf $(DESTDIR)$(bindir)/ + $(INSTALL_PROGRAM) -d $(DESTDIR)$(udevrulesdir) + $(INSTALL_PROGRAM) -m 644 11-dm-mpath.rules $(DESTDIR)$(udevrulesdir) + $(INSTALL_PROGRAM) -m 644 $(EXEC).rules $(DESTDIR)$(libudevdir)/rules.d/62-multipath.rules +@@ -29,13 +31,16 @@ install: + $(INSTALL_PROGRAM) -m 644 $(EXEC).8.gz $(DESTDIR)$(man8dir) + $(INSTALL_PROGRAM) -d $(DESTDIR)$(man5dir) + $(INSTALL_PROGRAM) -m 644 $(EXEC).conf.5.gz $(DESTDIR)$(man5dir) ++ $(INSTALL_PROGRAM) -m 644 mpathconf.8.gz $(DESTDIR)$(man8dir) + + uninstall: + $(RM) $(DESTDIR)$(bindir)/$(EXEC) + $(RM) $(DESTDIR)$(udevrulesdir)/11-dm-mpath.rules + $(RM) $(DESTDIR)$(libudevdir)/rules.d/62-multipath.rules ++ $(RM) $(DESTDIR)$(bindir)/mpathconf + $(RM) $(DESTDIR)$(man8dir)/$(EXEC).8.gz + $(RM) $(DESTDIR)$(man5dir)/$(EXEC).conf.5.gz ++ $(RM) $(DESTDIR)$(man8dir)/mpathconf.8.gz + + clean: + $(RM) core *.o $(EXEC) *.gz +diff --git a/multipath/mpathconf b/multipath/mpathconf +new file mode 100644 +index 0000000..e839134 +--- /dev/null ++++ b/multipath/mpathconf +@@ -0,0 +1,464 @@ ++#!/bin/bash ++# ++# Copyright (C) 2010 Red Hat, Inc. All rights reserved. ++# ++# This file is part of the device-mapper-multipath package. ++# ++# This copyrighted material is made available to anyone wishing to use, ++# modify, copy, or redistribute it subject to the terms and conditions ++# of the GNU General Public License v.2. ++# ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software Foundation, ++# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++ ++# ++# Simple editting of /etc/multipath.conf ++# This program was largely ripped off from lvmconf ++# ++ ++unset ENABLE FIND FRIENDLY MODULE MULTIPATHD HAVE_DISABLE HAVE_WWID_DISABLE HAVE_FIND HAVE_BLACKLIST HAVE_EXCEPTIONS HAVE_DEFAULTS HAVE_FRIENDLY HAVE_MULTIPATHD HAVE_MODULE HAVE_OUTFILE SHOW_STATUS CHANGED_CONFIG WWID_LIST ++ ++DEFAULT_CONFIG="# device-mapper-multipath configuration file ++ ++# For a complete list of the default configuration values, run either: ++# # multipath -t ++# or ++# # multipathd show config ++ ++# For a list of configuration options with descriptions, see the ++# multipath.conf man page. ++ ++defaults { ++ user_friendly_names yes ++ find_multipaths yes ++} ++ ++blacklist_exceptions { ++ property \"(SCSI_IDENT_|ID_WWN)\" ++}" ++ ++CONFIGFILE="/etc/multipath.conf" ++OUTPUTFILE="/etc/multipath.conf" ++MULTIPATHDIR="/etc/multipath" ++TMPFILE="/etc/multipath/.multipath.conf.tmp" ++WWIDS=0 ++ ++function usage ++{ ++ echo "usage: $0 " ++ echo "" ++ echo "Commands:" ++ echo "Enable: --enable " ++ echo "Disable: --disable" ++ echo "Only allow certain wwids (instead of enable): --allow " ++ echo "Set user_friendly_names (Default y): --user_friendly_names " ++ echo "Set find_multipaths (Default y): --find_multipaths " ++ echo "Load the dm-multipath modules on enable (Default y): --with_module " ++ echo "start/stop/reload multipathd (Default n): --with_multipathd " ++ echo "select output file (Default /etc/multipath.conf): --outfile " ++ echo "" ++} ++ ++function add_wwid ++{ ++ INDEX=0 ++ while [ "$INDEX" -lt "$WWIDS" ] ; do ++ if [ "$1" = "${WWID_LIST[$INDEX]}" ] ; then ++ return ++ fi ++ ((INDEX++)) ++ done ++ WWID_LIST[$WWIDS]="$1" ++ ((WWIDS++)) ++} ++ ++function get_dm_deps ++{ ++ shift 3 ++ while [ -n "$1" -a -n "$2" ]; do ++ MAJOR=$(echo $1 | tr -d '(,') ++ MINOR=$(echo $2 | tr -d ')') ++ UUID=`dmsetup info -c --noheadings -o uuid -j $MAJOR -m $MINOR 2> /dev/null` ++ if [ -n "$UUID" ] ; then ++ set_dm_wwid $UUID ++ fi ++ shift 2 ++ done ++} ++ ++function set_dm_wwid ++{ ++ if [[ "$1" =~ ^part[[:digit:]]+-mpath- ]] ; then ++ add_wwid "${1##part*-mpath-}" ++ elif [[ "$1" =~ ^mpath- ]] ; then ++ add_wwid "${1##mpath-}" ++ else ++ get_dm_deps `dmsetup deps -u $1` ++ fi ++} ++ ++function set_wwid ++{ ++ UUID="" ++ if [[ "$1" =~ ^[[:digit:]]+:[[:digit:]]+$ ]] ; then ++ MAJOR=${1%%:*} ++ MINOR=${1##*:} ++ UUID=`dmsetup info -c --noheadings -o uuid -j $MAJOR -m $MINOR 2> /dev/null` ++ else ++ UUID=`dmsetup info -c --noheadings -o uuid $1 2> /dev/null` ++ fi ++ if [ -n "$UUID" ] ; then ++ set_dm_wwid $UUID ++ else ++ add_wwid "$1" ++ fi ++} ++ ++function parse_args ++{ ++ while [ -n "$1" ]; do ++ case $1 in ++ --enable) ++ ENABLE=1 ++ shift ++ ;; ++ --disable) ++ ENABLE=0 ++ shift ++ ;; ++ --allow) ++ ENABLE=2 ++ if [ -n "$2" ]; then ++ set_wwid $2 ++ shift 2 ++ else ++ usage ++ exit 1 ++ fi ++ ;; ++ --user_friendly_names) ++ if [ -n "$2" ]; then ++ FRIENDLY=$2 ++ shift 2 ++ else ++ usage ++ exit 1 ++ fi ++ ;; ++ --find_multipaths) ++ if [ -n "$2" ]; then ++ FIND=$2 ++ shift 2 ++ else ++ usage ++ exit 1 ++ fi ++ ;; ++ --with_module) ++ if [ -n "$2" ]; then ++ MODULE=$2 ++ shift 2 ++ else ++ usage ++ exit 1 ++ fi ++ ;; ++ --with_multipathd) ++ if [ -n "$2" ]; then ++ MULTIPATHD=$2 ++ shift 2 ++ else ++ usage ++ exit 1 ++ fi ++ ;; ++ --outfile) ++ if [ -n "$2" ]; then ++ OUTPUTFILE=$2 ++ HAVE_OUTFILE=1 ++ shift 2 ++ else ++ usage ++ exit 1 ++ fi ++ ;; ++ *) ++ usage ++ exit ++ esac ++ done ++} ++ ++function validate_args ++{ ++ if [ "$ENABLE" = "0" ] && [ -n "$FRIENDLY" -o -n "$FIND" -o -n "$MODULE" ]; then ++ echo "ignoring extra parameters on disable" ++ FRIENDLY="" ++ FIND="" ++ MODULE="" ++ fi ++ if [ -n "$FRIENDLY" ] && [ "$FRIENDLY" != "y" -a "$FRIENDLY" != "n" ]; then ++ echo "--user_friendly_names must be either 'y' or 'n'" ++ exit 1 ++ fi ++ if [ -n "$FIND" ] && [ "$FIND" != "y" -a "$FIND" != "n" ]; then ++ echo "--find_multipaths must be either 'y' or 'n'" ++ exit 1 ++ fi ++ if [ -z "$ENABLE" -a -z "$FIND" -a -z "$FRIENDLY" ]; then ++ SHOW_STATUS=1 ++ fi ++ if [ -n "$MODULE" ] && [ "$MODULE" != "y" -a "$MODULE" != "n" ]; then ++ echo "--with_module must be either 'y' or 'n'" ++ exit 1 ++ fi ++ if [ -n "$MULTIPATHD" ] && [ "$MULTIPATHD" != "y" -a "$MULTIPATHD" != "n" ]; then ++ echo "--with_multipathd must be either 'y' or 'n'" ++ exit 1 ++ fi ++ if [ "$ENABLE" = 2 -a -z "$HAVE_OUTFILE" ]; then ++ echo "Because --allow makes changes that cannot be automatically reversed," ++ echo "you must set --outfile when you set --allow" ++ exit 1 ++ fi ++} ++ ++function add_blacklist_exceptions ++{ ++ INDEX=0 ++ while [ "$INDEX" -lt "$WWIDS" ] ; do ++ sed -i '/^blacklist_exceptions[[:space:]]*{/ a\ ++ wwid '"\"${WWID_LIST[$INDEX]}\""' ++' $TMPFILE ++ ((INDEX++)) ++ done ++} ++ ++umask 0077 ++ ++parse_args "$@" ++ ++validate_args ++ ++if [ ! -d "$MULTIPATHDIR" ]; then ++ echo "/etc/multipath/ does not exist. failing" ++ exit 1 ++fi ++ ++rm $TMPFILE 2> /dev/null ++echo "$DEFAULT_CONFIG" > $TMPFILE ++if [ -f "$CONFIGFILE" ]; then ++ cp $CONFIGFILE $TMPFILE ++fi ++ ++if grep -q "^blacklist[[:space:]]*{" $TMPFILE ; then ++ HAVE_BLACKLIST=1 ++fi ++ ++if grep -q "^blacklist_exceptions[[:space:]]*{" $TMPFILE ; then ++ HAVE_EXCEPTIONS=1 ++fi ++ ++if grep -q "^defaults[[:space:]]*{" $TMPFILE ; then ++ HAVE_DEFAULTS=1 ++fi ++ ++if [ -z "$MODULE" -o "$MODULE" = "y" ]; then ++ if lsmod | grep -q "dm_multipath" ; then ++ HAVE_MODULE=1 ++ else ++ HAVE_MODULE=0 ++ fi ++fi ++ ++if [ "$MULTIPATHD" = "y" ]; then ++ if /bin/systemctl status multipathd.service > /dev/null 2>&1 ; then ++ HAVE_MULTIPATHD=1 ++ else ++ HAVE_MULTIPATHD=0 ++ fi ++fi ++ ++if [ "$HAVE_BLACKLIST" = "1" ]; then ++ if sed -n '/^blacklist[[:space:]]*{/,/^}/ p' $TMPFILE | grep -q "^[[:space:]]*devnode \"\.\?\*\"" ; then ++ HAVE_DISABLE=1 ++ elif sed -n '/^blacklist[[:space:]]*{/,/^}/ p' $TMPFILE | grep -q "^[[:space:]]*#[[:space:]]*devnode \"\.\?\*\"" ; then ++ HAVE_DISABLE=0 ++ fi ++fi ++ ++if [ "$HAVE_BLACKLIST" = "1" ]; then ++ if sed -n '/^blacklist[[:space:]]*{/,/^}/ p' $TMPFILE | grep -q "^[[:space:]]*wwid \"\.\?\*\"" ; then ++ HAVE_WWID_DISABLE=1 ++ elif sed -n '/^blacklist[[:space:]]*{/,/^}/ p' $TMPFILE | grep -q "^[[:space:]]*#[[:space:]]*wwid \"\.\?\*\"" ; then ++ HAVE_WWID_DISABLE=0 ++ fi ++fi ++ ++if [ "$HAVE_DEFAULTS" = "1" ]; then ++ if sed -n '/^defaults[[:space:]]*{/,/^}/ p' $TMPFILE | grep -q "^[[:space:]]*find_multipaths[[:space:]]*\(yes\|1\)" ; then ++ HAVE_FIND=1 ++ elif sed -n '/^defaults[[:space:]]*{/,/^}/ p' $TMPFILE | grep -q "^[[:space:]]*find_multipaths[[:space:]]*\(no\|0\)" ; then ++ HAVE_FIND=0 ++ fi ++ if sed -n '/^defaults[[:space:]]*{/,/^}/ p' $TMPFILE | grep -q "^[[:space:]]*user_friendly_names[[:space:]]*\(yes\|1\)" ; then ++ HAVE_FRIENDLY=1 ++ elif sed -n '/^defaults[[:space:]]*{/,/^}/ p' $TMPFILE | grep -q "^[[:space:]]*user_friendly_names[[:space:]]*\(no\|0\)" ; then ++ HAVE_FRIENDLY=0 ++ fi ++fi ++ ++if [ -n "$SHOW_STATUS" ]; then ++ if [ -z "$HAVE_DISABLE" -o "$HAVE_DISABLE" = 0 ]; then ++ echo "multipath is enabled" ++ else ++ echo "multipath is disabled" ++ fi ++ if [ -z "$HAVE_FIND" -o "$HAVE_FIND" = 0 ]; then ++ echo "find_multipaths is disabled" ++ else ++ echo "find_multipaths is enabled" ++ fi ++ if [ -z "$HAVE_FRIENDLY" -o "$HAVE_FRIENDLY" = 0 ]; then ++ echo "user_friendly_names is disabled" ++ else ++ echo "user_friendly_names is enabled" ++ fi ++ if [ -n "$HAVE_MODULE" ]; then ++ if [ "$HAVE_MODULE" = 1 ]; then ++ echo "dm_multipath module is loaded" ++ else ++ echo "dm_multipath module is not loaded" ++ fi ++ fi ++ if [ -z "$HAVE_MULTIPATHD" ]; then ++ if /bin/systemctl status multipathd.service > /dev/null 2>&1 ; then ++ HAVE_MULTIPATHD=1 ++ else ++ HAVE_MULTIPATHD=0 ++ fi ++ fi ++ if [ "$HAVE_MULTIPATHD" = 1 ]; then ++ echo "multipathd is running" ++ else ++ echo "multipathd is not running" ++ fi ++ exit 0 ++fi ++ ++if [ -z "$HAVE_BLACKLIST" ]; then ++ cat >> $TMPFILE <<- _EOF_ ++ ++blacklist { ++} ++_EOF_ ++fi ++ ++if [ -z "$HAVE_DEFAULTS" ]; then ++ cat >> $TMPFILE <<- _EOF_ ++ ++defaults { ++} ++_EOF_ ++fi ++ ++if [ "$ENABLE" = 2 ]; then ++ if [ "$HAVE_DISABLE" = 1 ]; then ++ sed -i '/^blacklist[[:space:]]*{/,/^}/ s/^[[:space:]]*devnode \"\.\?\*\"/# devnode ".*"/' $TMPFILE ++ fi ++ if [ -z "$HAVE_WWID_DISABLE" ]; then ++ sed -i '/^blacklist[[:space:]]*{/ a\ ++ wwid ".*" ++' $TMPFILE ++ elif [ "$HAVE_WWID_DISABLE" = 0 ]; then ++ sed -i '/^blacklist[[:space:]]*{/,/^}/ s/^[[:space:]]*#[[:space:]]*wwid \"\.\?\*\"/ wwid ".*"/' $TMPFILE ++ fi ++ if [ "$HAVE_EXCEPTIONS" = 1 ]; then ++ sed -i '/^blacklist_exceptions[[:space:]]*{/,/^}/ {/^[[:space:]]*wwid/ d}' $TMPFILE ++ else ++ cat >> $TMPFILE <<- _EOF_ ++ ++blacklist_exceptions { ++} ++_EOF_ ++ fi ++ add_blacklist_exceptions ++elif [ "$ENABLE" = 1 ]; then ++ if [ "$HAVE_DISABLE" = 1 ]; then ++ sed -i '/^blacklist[[:space:]]*{/,/^}/ s/^[[:space:]]*devnode \"\.\?\*\"/# devnode ".*"/' $TMPFILE ++ fi ++elif [ "$ENABLE" = 0 ]; then ++ if [ -z "$HAVE_DISABLE" ]; then ++ sed -i '/^blacklist[[:space:]]*{/ a\ ++ devnode ".*" ++' $TMPFILE ++ elif [ "$HAVE_DISABLE" = 0 ]; then ++ sed -i '/^blacklist[[:space:]]*{/,/^}/ s/^[[:space:]]*#[[:space:]]*devnode \"\.\?\*\"/ devnode ".*"/' $TMPFILE ++ fi ++fi ++ ++if [ "$FIND" = "n" ]; then ++ if [ "$HAVE_FIND" = 1 ]; then ++ sed -i '/^defaults[[:space:]]*{/,/^}/ s/^[[:space:]]*find_multipaths[[:space:]]*\(yes\|1\)/ find_multipaths no/' $TMPFILE ++ CHANGED_CONFIG=1 ++ fi ++elif [ "$FIND" = "y" ]; then ++ if [ -z "$HAVE_FIND" ]; then ++ sed -i '/^defaults[[:space:]]*{/ a\ ++ find_multipaths yes ++' $TMPFILE ++ CHANGED_CONFIG=1 ++ elif [ "$HAVE_FIND" = 0 ]; then ++ sed -i '/^defaults[[:space:]]*{/,/^}/ s/^[[:space:]]*find_multipaths[[:space:]]*\(no\|0\)/ find_multipaths yes/' $TMPFILE ++ CHANGED_CONFIG=1 ++ fi ++fi ++ ++if [ "$FRIENDLY" = "n" ]; then ++ if [ "$HAVE_FRIENDLY" = 1 ]; then ++ sed -i '/^defaults[[:space:]]*{/,/^}/ s/^[[:space:]]*user_friendly_names[[:space:]]*\(yes\|1\)/ user_friendly_names no/' $TMPFILE ++ CHANGED_CONFIG=1 ++ fi ++elif [ "$FRIENDLY" = "y" ]; then ++ if [ -z "$HAVE_FRIENDLY" ]; then ++ sed -i '/^defaults[[:space:]]*{/ a\ ++ user_friendly_names yes ++' $TMPFILE ++ CHANGED_CONFIG=1 ++ elif [ "$HAVE_FRIENDLY" = 0 ]; then ++ sed -i '/^defaults[[:space:]]*{/,/^}/ s/^[[:space:]]*user_friendly_names[[:space:]]*\(no\|0\)/ user_friendly_names yes/' $TMPFILE ++ CHANGED_CONFIG=1 ++ fi ++fi ++ ++if [ -f "$OUTPUTFILE" ]; then ++ cp $OUTPUTFILE $OUTPUTFILE.old ++ if [ $? != 0 ]; then ++ echo "failed to backup old config file, $OUTPUTFILE not updated" ++ exit 1 ++ fi ++fi ++ ++cp $TMPFILE $OUTPUTFILE ++if [ $? != 0 ]; then ++ echo "failed to copy new config file into place, check $OUTPUTFILE is still OK" ++ exit 1 ++fi ++ ++rm -f $TMPFILE ++ ++if [ "$ENABLE" = 1 ]; then ++ if [ "$HAVE_MODULE" = 0 ]; then ++ modprobe dm_multipath ++ fi ++ if [ "$HAVE_MULTIPATHD" = 0 ]; then ++ systemctl start multipathd.service ++ fi ++elif [ "$ENABLE" = 0 ]; then ++ if [ "$HAVE_MULTIPATHD" = 1 ]; then ++ systemctl stop multipathd.service ++ fi ++elif [ -n "$CHANGED_CONFIG" -a "$HAVE_MULTIPATHD" = 1 ]; then ++ systemctl reload multipathd.service ++fi +diff --git a/multipath/mpathconf.8 b/multipath/mpathconf.8 +new file mode 100644 +index 0000000..4cd3267 +--- /dev/null ++++ b/multipath/mpathconf.8 +@@ -0,0 +1,101 @@ ++.TH MPATHCONF 8 "June 2010" "" "Linux Administrator's Manual" ++.SH NAME ++mpathconf - A tool for configuring device-mapper-multipath ++.SH SYNOPSIS ++.B mpathconf ++.RB [\| commands \|] ++.RB [\| options \|] ++.SH DESCRIPTION ++.B mpathconf ++is a utility that creates or modifies ++.B /etc/multipath.conf. ++It can enable or disable multipathing and configure some common options. ++.B mpathconf ++can also load the ++.B dm_multipath ++module, start and stop the ++.B multipathd ++daemon, and configure the ++.B multipathd ++service to start automatically or not. If ++.B mpathconf ++is called with no commands, it will display the current configuration. ++ ++The default options for mpathconf are ++.B --with_module ++The ++.B --with_multipathd ++option is not set by default. Enabling multipathing will load the ++.B dm_multipath ++module but it will not immediately start it. This is so ++that users can manually edit their config file if necessary, before starting ++.B multipathd. ++ ++If ++.B /etc/multipath.conf ++already exists, mpathconf will edit it. If it does not exist, mpathconf will ++create a default file with ++.B user_friendly_names ++and ++.B find_multipaths ++set. To disable these, use the ++.B --user_friendly_names n ++and ++.B --find_multipaths n ++options ++.SH COMMANDS ++.TP ++.B --enable ++Removes any line that blacklists all device nodes from the ++.B /etc/multipath.conf ++blacklist section. ++.TP ++.B --disable ++Adds a line that blacklists all device nodes to the ++.B /etc/multipath.conf ++blacklist section. If no blacklist section exists, it will create one. ++.TP ++.B --user_friendly_name \fP { \fBy\fP | \fBn\fP } ++If set to \fBy\fP, this adds the line ++.B user_friendly_names yes ++to the ++.B /etc/multipath.conf ++defaults section. If set to \fBn\fP, this removes the line, if present. This ++command can be used along with any other command. ++.TP ++.B --find_multipaths\fP { \fBy\fP | \fBn\fP } ++If set to \fBy\fP, this adds the line ++.B find_multipaths yes ++to the ++.B /etc/multipath.conf ++defaults section. If set to \fBn\fP, this removes the line, if present. This ++command can be used aldong with any other command. ++.SH OPTIONS ++.TP ++.B --with_module\fP { \fBy\fP | \fBn\fP } ++If set to \fBy\fP, this runs ++.B modprobe dm_multipath ++to install the multipath modules. This option only works with the ++.B --enable ++command. This option is set to \fBy\fP by default. ++.TP ++.B --with_multipathd { \fBy\fP | \fBn\fP } ++If set to \fBy\fP, this runs ++.B service multipathd start ++to start the multipathd daemon on \fB--enable\fP, ++.B service multipathd stop ++to stop the multipathd daemon on \fB--disable\fP, and ++.B service multipathd reload ++to reconfigure multipathd on \fB--user_frindly_names\fP and ++\fB--find_multipaths\fP. ++This option is set to \fBn\fP by default. ++.SH FILES ++.BR /etc/multipath.conf ++.SH "SEE ALSO" ++.BR multipath.conf (5), ++.BR modprobe (8), ++.BR multipath (8), ++.BR multipathd (8), ++.BR service (8), ++.SH AUTHOR ++Benjamin Marzinski +-- +2.8.1 + diff --git a/meta-oe/recipes-support/multipath-tools/files/0006-RH-add-wwids-from-kernel-cmdline-mpath.wwids-with-A.patch b/meta-oe/recipes-support/multipath-tools/files/0006-RH-add-wwids-from-kernel-cmdline-mpath.wwids-with-A.patch new file mode 100644 index 0000000..dc291b8 --- /dev/null +++ b/meta-oe/recipes-support/multipath-tools/files/0006-RH-add-wwids-from-kernel-cmdline-mpath.wwids-with-A.patch @@ -0,0 +1,166 @@ +From 15179c830521d8f37f9254ebc6bbf150a409f956 Mon Sep 17 00:00:00 2001 +From: Benjamin Marzinski +Date: Fri, 17 Oct 2014 11:20:34 -0500 +Subject: [PATCH 06/14] RH: add wwids from kernel cmdline mpath.wwids with -A + +This patch adds another option to multipath, "-A", which reads +/proc/cmdline for mpath.wwid= options, and adds any wwids it finds +to /etc/multipath/wwids. While this isn't usually important during +normal operation, since these wwids should already be added, it can be +helpful during installation, to make sure that multipath can claim +devices as its own, before LVM or something else makes use of them. The +patch also execs "/sbin/multipath -A" before running multipathd in +multipathd.service + +Signed-off-by: Benjamin Marzinski +--- + libmultipath/wwids.c | 44 +++++++++++++++++++++++++++++++++++++++++++ + libmultipath/wwids.h | 1 + + multipath/main.c | 10 ++++++++-- + multipath/multipath.8 | 5 ++++- + multipathd/multipathd.service | 1 + + 5 files changed, 58 insertions(+), 3 deletions(-) + +diff --git a/libmultipath/wwids.c b/libmultipath/wwids.c +index bc70a27..88bb72b 100644 +--- a/libmultipath/wwids.c ++++ b/libmultipath/wwids.c +@@ -321,3 +321,47 @@ remember_wwid(char *wwid) + condlog(4, "wwid %s already in wwids file", wwid); + return 0; + } ++ ++int remember_cmdline_wwid(void) ++{ ++ FILE *f = NULL; ++ char buf[LINE_MAX], *next, *ptr; ++ int ret = 0; ++ ++ f = fopen("/proc/cmdline", "re"); ++ if (!f) { ++ condlog(0, "can't open /proc/cmdline : %s", strerror(errno)); ++ return -1; ++ } ++ ++ if (!fgets(buf, sizeof(buf), f)) { ++ if (ferror(f)) ++ condlog(0, "read of /proc/cmdline failed : %s", ++ strerror(errno)); ++ else ++ condlog(0, "couldn't read /proc/cmdline"); ++ fclose(f); ++ return -1; ++ } ++ fclose(f); ++ next = buf; ++ while((ptr = strstr(next, "mpath.wwid="))) { ++ ptr += 11; ++ next = strpbrk(ptr, " \t\n"); ++ if (next) { ++ *next = '\0'; ++ next++; ++ } ++ if (strlen(ptr)) { ++ if (remember_wwid(ptr) != 0) ++ ret = -1; ++ } ++ else { ++ condlog(0, "empty mpath.wwid kernel command line option"); ++ ret = -1; ++ } ++ if (!next) ++ break; ++ } ++ return ret; ++} +diff --git a/libmultipath/wwids.h b/libmultipath/wwids.h +index 9527012..b665232 100644 +--- a/libmultipath/wwids.h ++++ b/libmultipath/wwids.h +@@ -17,5 +17,6 @@ int remember_wwid(char *wwid); + int check_wwids_file(char *wwid, int write_wwid); + int remove_wwid(char *wwid); + int replace_wwids(vector mp); ++int remember_cmdline_wwid(void); + + #endif /* _WWIDS_H */ +diff --git a/multipath/main.c b/multipath/main.c +index 4174d43..72585b0 100644 +--- a/multipath/main.c ++++ b/multipath/main.c +@@ -102,7 +102,7 @@ usage (char * progname) + { + fprintf (stderr, VERSION_STRING); + fprintf (stderr, "Usage:\n"); +- fprintf (stderr, " %s [-a|-c|-w|-W] [-d] [-r] [-i] [-v lvl] [-p pol] [-b fil] [-q] [dev]\n", progname); ++ fprintf (stderr, " %s [-a|-A|-c|-w|-W] [-d] [-r] [-i] [-v lvl] [-p pol] [-b fil] [-q] [dev]\n", progname); + fprintf (stderr, " %s -l|-ll|-f [-v lvl] [-b fil] [-R num] [dev]\n", progname); + fprintf (stderr, " %s -F [-v lvl] [-R num]\n", progname); + fprintf (stderr, " %s -t\n", progname); +@@ -116,6 +116,8 @@ usage (char * progname) + " -f flush a multipath device map\n" + " -F flush all multipath device maps\n" + " -a add a device wwid to the wwids file\n" ++ " -A add devices from kernel command line mpath.wwids\n" ++ " parameters to wwids file\n" + " -c check if a device should be a path in a multipath device\n" + " -q allow queue_if_no_path when multipathd is not running\n" + " -d dry run, do not create or update devmaps\n" +@@ -522,7 +524,7 @@ main (int argc, char *argv[]) + exit(1); + multipath_conf = conf; + conf->retrigger_tries = 0; +- while ((arg = getopt(argc, argv, ":adchl::FfM:v:p:b:BrR:itquwW")) != EOF ) { ++ while ((arg = getopt(argc, argv, ":aAdchl::FfM:v:p:b:BrR:itquwW")) != EOF ) { + switch(arg) { + case 1: printf("optarg : %s\n",optarg); + break; +@@ -586,6 +588,10 @@ main (int argc, char *argv[]) + case 't': + r = dump_config(conf); + goto out_free_config; ++ case 'A': ++ if (remember_cmdline_wwid() != 0) ++ exit(1); ++ exit(0); + case 'h': + usage(argv[0]); + exit(0); +diff --git a/multipath/multipath.8 b/multipath/multipath.8 +index b9436e5..b9ad6b1 100644 +--- a/multipath/multipath.8 ++++ b/multipath/multipath.8 +@@ -25,7 +25,7 @@ multipath \- Device mapper target autoconfig. + .RB [\| \-b\ \c + .IR bindings_file \|] + .RB [\| \-d \|] +-.RB [\| \-h | \-l | \-ll | \-f | \-t | \-F | \-B | \-c | \-q | \|-r | \|-i | \-a | \|-u | \-w | \-W \|] ++.RB [\| \-h | \-l | \-ll | \-f | \-t | \-F | \-B | \-c | \-q | \|-r | \|-i | \-a | \-A | \-u | \-w | \-W \|] + .RB [\| \-p\ \c + .IR failover | multibus | group_by_serial | group_by_prio | group_by_node_name \|] + .RB [\| \-R\ \c +@@ -122,6 +122,9 @@ Add the WWID for the specified device to the WWIDs file. + Check if the device specified in the program environment should be + a path in a multipath device. + . ++.B \-A ++add wwids from any kernel command line mpath.wwid parameters to the wwids file ++. + .TP + .B \-w + Remove the WWID for the specified device from the WWIDs file. +diff --git a/multipathd/multipathd.service b/multipathd/multipathd.service +index fafd088..a623a3f 100644 +--- a/multipathd/multipathd.service ++++ b/multipathd/multipathd.service +@@ -15,6 +15,7 @@ Type=notify + NotifyAccess=main + LimitCORE=infinity + ExecStartPre=-/sbin/modprobe -a scsi_dh_alua scsi_dh_emc scsi_dh_rdac dm-multipath ++ExecStartPre=-/sbin/multipath -A + ExecStart=/sbin/multipathd -d -s + ExecReload=/sbin/multipathd reconfigure + +-- +2.8.1 + diff --git a/meta-oe/recipes-support/multipath-tools/files/0007-RH-trigger-change-uevent-on-new-device-creation.patch b/meta-oe/recipes-support/multipath-tools/files/0007-RH-trigger-change-uevent-on-new-device-creation.patch new file mode 100644 index 0000000..025a351 --- /dev/null +++ b/meta-oe/recipes-support/multipath-tools/files/0007-RH-trigger-change-uevent-on-new-device-creation.patch @@ -0,0 +1,138 @@ +From 0d2c9afbd89d79fd700f9c99aa20e5f7c7382027 Mon Sep 17 00:00:00 2001 +From: Benjamin Marzinski +Date: Mon, 24 Apr 2017 09:39:57 -0500 +Subject: [PATCH 07/14] RH: trigger change uevent on new device creation + +When multipath first sees a path device with user_friendly names +enabled, it can't know if the device should be multipathed. This means +that it will not claim the device in udev. If the device is eventually +multipathed, multipath should trigger a change uevent to update the udev +database to claim the device. + +This also reverts commit 64e27ec066a001012f44550f095c93443e91d845. + +Signed-off-by: Benjamin Marzinski +--- + libmultipath/configure.c | 26 ++++++++++++++++++++++++-- + libmultipath/configure.h | 1 + + libmultipath/wwids.c | 4 ++-- + multipath/main.c | 2 +- + multipathd/main.c | 7 ++----- + 5 files changed, 30 insertions(+), 10 deletions(-) + +diff --git a/libmultipath/configure.c b/libmultipath/configure.c +index bd090d9..843dd09 100644 +--- a/libmultipath/configure.c ++++ b/libmultipath/configure.c +@@ -422,6 +422,28 @@ trigger_udev_change(const struct multipath *mpp) + udev_device_unref(udd); + } + ++void ++trigger_paths_udev_change(const struct multipath *mpp) ++{ ++ struct pathgroup * pgp; ++ struct path * pp; ++ int i, j; ++ ++ if (!mpp || !mpp->pg) ++ return; ++ ++ vector_foreach_slot (mpp->pg, pgp, i) { ++ if (!pgp->paths) ++ continue; ++ vector_foreach_slot(pgp->paths, pp, j) { ++ if (!pp->udev) ++ continue; ++ sysfs_attr_set_value(pp->udev, "uevent", "change", ++ strlen("change")); ++ } ++ } ++} ++ + static int + is_mpp_known_to_udev(const struct multipath *mpp) + { +@@ -802,8 +824,8 @@ int domap(struct multipath *mpp, char *params, int is_daemon) + * succeeded + */ + mpp->force_udev_reload = 0; +- if (mpp->action == ACT_CREATE) +- remember_wwid(mpp->wwid); ++ if (mpp->action == ACT_CREATE && remember_wwid(mpp->wwid) == 1) ++ trigger_paths_udev_change(mpp); + if (!is_daemon) { + /* multipath client mode */ + dm_switchgroup(mpp->alias, mpp->bestpg); +diff --git a/libmultipath/configure.h b/libmultipath/configure.h +index fd7f581..253e29b 100644 +--- a/libmultipath/configure.h ++++ b/libmultipath/configure.h +@@ -36,3 +36,4 @@ int get_refwwid (enum mpath_cmds cmd, char * dev, enum devtypes dev_type, + vector pathvec, char **wwid); + int reload_map(struct vectors *vecs, struct multipath *mpp, int refresh, int is_daemon); + int sysfs_get_host_adapter_name(struct path *pp, char *adapter_name); ++void trigger_paths_udev_change(const struct multipath *mpp); +diff --git a/libmultipath/wwids.c b/libmultipath/wwids.c +index 88bb72b..249c6c1 100644 +--- a/libmultipath/wwids.c ++++ b/libmultipath/wwids.c +@@ -319,7 +319,7 @@ remember_wwid(char *wwid) + condlog(3, "wrote wwid %s to wwids file", wwid); + else + condlog(4, "wwid %s already in wwids file", wwid); +- return 0; ++ return ret; + } + + int remember_cmdline_wwid(void) +@@ -353,7 +353,7 @@ int remember_cmdline_wwid(void) + next++; + } + if (strlen(ptr)) { +- if (remember_wwid(ptr) != 0) ++ if (remember_wwid(ptr) < 0) + ret = -1; + } + else { +diff --git a/multipath/main.c b/multipath/main.c +index 72585b0..2eda6a3 100644 +--- a/multipath/main.c ++++ b/multipath/main.c +@@ -336,7 +336,7 @@ configure (struct config *conf, enum mpath_cmds cmd, + } + if (cmd == CMD_ADD_WWID) { + r = remember_wwid(refwwid); +- if (r == 0) ++ if (r >= 0) + printf("wwid '%s' added\n", refwwid); + else + printf("failed adding '%s' to wwids file\n", +diff --git a/multipathd/main.c b/multipathd/main.c +index 81c76ca..874bcce 100644 +--- a/multipathd/main.c ++++ b/multipathd/main.c +@@ -2093,7 +2093,8 @@ configure (struct vectors * vecs, int start_waiters) + + sync_maps_state(mpvec); + vector_foreach_slot(mpvec, mpp, i){ +- remember_wwid(mpp->wwid); ++ if (remember_wwid(mpp->wwid) == 1) ++ trigger_paths_udev_change(mpp); + update_map_pr(mpp); + } + +@@ -2175,10 +2176,6 @@ reconfigure (struct vectors * vecs) + conf->verbosity = verbosity; + if (bindings_read_only) + conf->bindings_read_only = bindings_read_only; +- if (conf->find_multipaths) { +- condlog(2, "find_multipaths is set: -n is implied"); +- ignore_new_devs = 1; +- } + if (ignore_new_devs) + conf->ignore_new_devs = ignore_new_devs; + uxsock_timeout = conf->uxsock_timeout; +-- +2.8.1 + diff --git a/meta-oe/recipes-support/multipath-tools/files/0008-libmultipath-change-how-RADOS-checker-is-enabled.patch b/meta-oe/recipes-support/multipath-tools/files/0008-libmultipath-change-how-RADOS-checker-is-enabled.patch new file mode 100644 index 0000000..f678809 --- /dev/null +++ b/meta-oe/recipes-support/multipath-tools/files/0008-libmultipath-change-how-RADOS-checker-is-enabled.patch @@ -0,0 +1,56 @@ +From 0be174dbedd861d7694b0c7799fe26be31eb32b0 Mon Sep 17 00:00:00 2001 +From: Benjamin Marzinski +Date: Fri, 26 May 2017 17:52:57 -0500 +Subject: [PATCH 08/14] libmultipath: change how RADOS checker is enabled + +Instead of making the user call "make", "make install" and "make clean" +with ENABLE_RADOS set correctly, have the makefile check if +/usr/include/rados/librados.h exists, just like it checks if specific +functions exist in a file. + +Signed-off-by: Benjamin Marzinski +--- + Makefile.inc | 13 +++++++++++++ + libmultipath/checkers/Makefile | 3 ++- + 2 files changed, 15 insertions(+), 1 deletion(-) + +diff --git a/Makefile.inc b/Makefile.inc +index 2591fa9..e084fd1 100644 +--- a/Makefile.inc ++++ b/Makefile.inc +@@ -109,5 +109,18 @@ check_func = \ + echo "$$found" \ + ) + ++# Checker whether a file with name $1 exists ++check_file = $(shell \ ++ if [ -f "$1" ]; then \ ++ found=1; \ ++ status="yes"; \ ++ else \ ++ found=0; \ ++ status="no"; \ ++ fi; \ ++ echo 1>&2 "Checking if $1 exists ... $$status"; \ ++ echo "$$found" \ ++ ) ++ + %.o: %.c + $(CC) $(CFLAGS) -c -o $@ $< +diff --git a/libmultipath/checkers/Makefile b/libmultipath/checkers/Makefile +index 732ca9d..bce6b8b 100644 +--- a/libmultipath/checkers/Makefile ++++ b/libmultipath/checkers/Makefile +@@ -14,7 +14,8 @@ LIBS= \ + libcheckemc_clariion.so \ + libcheckhp_sw.so \ + libcheckrdac.so +-ifneq ($(ENABLE_RADOS),0) ++ ++ifneq ($(call check_file,/usr/include/rados/librados.h),0) + LIBS += libcheckrbd.so + endif + +-- +2.8.1 + diff --git a/meta-oe/recipes-support/multipath-tools/files/0009-multipath-set-verbosity-to-default-during-config.patch b/meta-oe/recipes-support/multipath-tools/files/0009-multipath-set-verbosity-to-default-during-config.patch new file mode 100644 index 0000000..17d2d91 --- /dev/null +++ b/meta-oe/recipes-support/multipath-tools/files/0009-multipath-set-verbosity-to-default-during-config.patch @@ -0,0 +1,40 @@ +From 526e539628e051128abf46a60ec22e18c9b5d84f Mon Sep 17 00:00:00 2001 +From: Benjamin Marzinski +Date: Wed, 31 May 2017 15:03:02 -0500 +Subject: [PATCH 09/14] multipath: set verbosity to default during config + +condlog was setting the verbosity to 0 if there was no configuration. +This keeps multipath from printing warning messages about config file +problems that are found while loading the configuration. Instead, it +should use the default config level until it loads the configuration +to find the current value. + +Signed-off-by: Benjamin Marzinski +--- + libmultipath/debug.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/libmultipath/debug.c b/libmultipath/debug.c +index fbe171a..f89b264 100644 +--- a/libmultipath/debug.c ++++ b/libmultipath/debug.c +@@ -11,6 +11,7 @@ + #include "../third-party/valgrind/drd.h" + #include "vector.h" + #include "config.h" ++#include "defaults.h" + + void dlog (int sink, int prio, const char * fmt, ...) + { +@@ -21,7 +22,7 @@ void dlog (int sink, int prio, const char * fmt, ...) + va_start(ap, fmt); + conf = get_multipath_config(); + ANNOTATE_IGNORE_READS_BEGIN(); +- thres = (conf) ? conf->verbosity : 0; ++ thres = (conf) ? conf->verbosity : DEFAULT_VERBOSITY; + ANNOTATE_IGNORE_READS_END(); + put_multipath_config(conf); + +-- +2.8.1 + diff --git a/meta-oe/recipes-support/multipath-tools/files/0010-mpath-skip-device-configs-without-vendor-product.patch b/meta-oe/recipes-support/multipath-tools/files/0010-mpath-skip-device-configs-without-vendor-product.patch new file mode 100644 index 0000000..396b6d3 --- /dev/null +++ b/meta-oe/recipes-support/multipath-tools/files/0010-mpath-skip-device-configs-without-vendor-product.patch @@ -0,0 +1,37 @@ +From f88d60a93e98d86ae294f2317a122c4efde276f0 Mon Sep 17 00:00:00 2001 +From: Benjamin Marzinski +Date: Wed, 31 May 2017 17:58:59 -0500 +Subject: [PATCH 10/14] mpath: skip device configs without vendor/product + +Right now if multipath.conf includes a device configuration without a +vendor or product string, it will automatically be applied to all +devices, skipping all other configs entirely. This is clearly wrong. +This patch makes sure that user added configs include vendor and +product strings + +Signed-off-by: Benjamin Marzinski +--- + libmultipath/config.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/libmultipath/config.c b/libmultipath/config.c +index c485748..bdde113 100644 +--- a/libmultipath/config.c ++++ b/libmultipath/config.c +@@ -452,6 +452,13 @@ restart: + break; + j = n; + vector_foreach_slot_after(hw, hwe2, j) { ++ /* drop invalid device configs */ ++ if (!hwe2->vendor || !hwe2->product) { ++ condlog(0, "device config missing vendor or product parameter"); ++ vector_del_slot(hw, j--); ++ free_hwe(hwe2); ++ continue; ++ } + if (hwe_regmatch(hwe1, hwe2)) + continue; + /* dup */ +-- +2.8.1 + diff --git a/meta-oe/recipes-support/multipath-tools/files/0011-multipathd-fix-show-maps-json-crash.patch b/meta-oe/recipes-support/multipath-tools/files/0011-multipathd-fix-show-maps-json-crash.patch new file mode 100644 index 0000000..12d6d38 --- /dev/null +++ b/meta-oe/recipes-support/multipath-tools/files/0011-multipathd-fix-show-maps-json-crash.patch @@ -0,0 +1,38 @@ +From bc3ceda747104afdc24386df5dc45ca86f6c2936 Mon Sep 17 00:00:00 2001 +From: Benjamin Marzinski +Date: Thu, 1 Jun 2017 17:52:28 -0500 +Subject: [PATCH 11/14] multipathd: fix "show maps json" crash + +If there are no multipath devices, show_maps_json sets the maximum size +of the reply buffer to 0. Having a size of 0 causes the calls to calloc +and realloc to behave in ways that the code isn't designed to handle, +leading to a double-free crash. Instead, show_maps_json should just +use the INITIAL_REPLY_LEN if there are no multipath devices. + +Signed-off-by: Benjamin Marzinski +--- + multipathd/cli_handlers.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/multipathd/cli_handlers.c b/multipathd/cli_handlers.c +index 04c7386..7b0d00c 100644 +--- a/multipathd/cli_handlers.c ++++ b/multipathd/cli_handlers.c +@@ -162,10 +162,12 @@ show_maps_json (char ** r, int * len, struct vectors * vecs) + struct multipath * mpp; + char * c; + char * reply; +- unsigned int maxlen = INITIAL_REPLY_LEN * +- PRINT_JSON_MULTIPLIER * VECTOR_SIZE(vecs->mpvec); ++ unsigned int maxlen = INITIAL_REPLY_LEN; + int again = 1; + ++ if (VECTOR_SIZE(vecs->mpvec) > 0) ++ maxlen *= PRINT_JSON_MULTIPLIER * VECTOR_SIZE(vecs->mpvec); ++ + vector_foreach_slot(vecs->mpvec, mpp, i) { + if (update_multipath(vecs, mpp->alias, 0)) { + return 1; +-- +2.8.1 + diff --git a/meta-oe/recipes-support/multipath-tools/files/0012-multipath-tools-modify-Makefile.inc-for-cross-compil.patch b/meta-oe/recipes-support/multipath-tools/files/0012-multipath-tools-modify-Makefile.inc-for-cross-compil.patch new file mode 100644 index 0000000..5ccd4ae --- /dev/null +++ b/meta-oe/recipes-support/multipath-tools/files/0012-multipath-tools-modify-Makefile.inc-for-cross-compil.patch @@ -0,0 +1,58 @@ +From 6864ba28dec61609662ce5dc8bc7ed1925abb546 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Wed, 5 Jul 2017 02:56:13 -0400 +Subject: [PATCH 12/14] multipath-tools: modify Makefile.inc for + cross-compilation + +Do not look for systemd info on the host, and allow us to pass in CFLAGS +using the OPTFLAGS variable. + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Joe Slater + +Update for version 0.5.0-144-g770e6d0 + +Signed-off-by: Kai Kang + +Update for version 0.7.1 + +Signed-off-by: Hongxu Jia +--- + Makefile.inc | 8 ++------ + 1 file changed, 2 insertions(+), 6 deletions(-) + +diff --git a/Makefile.inc b/Makefile.inc +index e084fd1..c7f45fa 100644 +--- a/Makefile.inc ++++ b/Makefile.inc +@@ -35,12 +35,6 @@ ifndef RUN + endif + endif + +-ifndef SYSTEMD +- ifeq ($(shell systemctl --version > /dev/null 2>&1 && echo 1), 1) +- SYSTEMD = $(shell systemctl --version 2> /dev/null | sed -n 's/systemd \([0-9]*\)/\1/p') +- endif +-endif +- + ifndef SYSTEMDPATH + SYSTEMDPATH=usr/lib + endif +@@ -82,11 +76,13 @@ TEST_CC_OPTION = $(shell \ + + STACKPROT := $(call TEST_CC_OPTION,-fstack-protector-strong,-fstack-protector) + ++ifndef OPTFLAGS + OPTFLAGS = -O2 -g -pipe -Wall -Wextra -Wformat=2 -Werror=implicit-int \ + -Werror=implicit-function-declaration -Werror=format-security \ + -Wno-sign-compare -Wno-unused-parameter -Wno-clobbered \ + -Wp,-D_FORTIFY_SOURCE=2 $(STACKPROT) \ + --param=ssp-buffer-size=4 ++endif + + CFLAGS = $(OPTFLAGS) -DLIB_STRING=\"${LIB}\" -DRUN_DIR=\"${RUN}\" + BIN_CFLAGS = -fPIE -DPIE +-- +2.8.1 + diff --git a/meta-oe/recipes-support/multipath-tools/files/0013-Always-use-devmapper.patch b/meta-oe/recipes-support/multipath-tools/files/0013-Always-use-devmapper.patch new file mode 100644 index 0000000..52240f6 --- /dev/null +++ b/meta-oe/recipes-support/multipath-tools/files/0013-Always-use-devmapper.patch @@ -0,0 +1,53 @@ +From 1498338970a093fccbda3e33f5588a289ef2c66a Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Wed, 5 Jul 2017 02:59:46 -0400 +Subject: [PATCH 13/14] Always use devmapper + +Do not try to compute several _API_ make variables +from host information when cross-compiling. + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Aws Ismail +Signed-off-by: Joe Slater + +Rebase to 0.7.1 + +Signed-off-by: Hongxu Jia +--- + libmultipath/Makefile | 19 ++++--------------- + 1 file changed, 4 insertions(+), 15 deletions(-) + +diff --git a/libmultipath/Makefile b/libmultipath/Makefile +index b3244fc..9006b3f 100644 +--- a/libmultipath/Makefile ++++ b/libmultipath/Makefile +@@ -20,21 +20,10 @@ ifdef SYSTEMD + endif + endif + +-ifneq ($(call check_func,dm_task_no_flush,/usr/include/libdevmapper.h),0) +- CFLAGS += -DLIBDM_API_FLUSH -D_GNU_SOURCE +-endif +- +-ifneq ($(call check_func,dm_task_set_cookie,/usr/include/libdevmapper.h),0) +- CFLAGS += -DLIBDM_API_COOKIE +-endif +- +-ifneq ($(call check_func,udev_monitor_set_receive_buffer_size,/usr/include/libudev.h),0) +- CFLAGS += -DLIBUDEV_API_RECVBUF +-endif +- +-ifneq ($(call check_func,dm_task_deferred_remove,/usr/include/libdevmapper.h),0) +- CFLAGS += -DLIBDM_API_DEFERRED +-endif ++CFLAGS += -DLIBDM_API_FLUSH -D_GNU_SOURCE ++CFLAGS += -DLIBDM_API_COOKIE ++CFLAGS += -DLIBUDEV_API_RECVBUF ++CFLAGS += -DLIBDM_API_DEFERRED + + OBJS = memory.o parser.o vector.o devmapper.o callout.o \ + hwtable.o blacklist.o util.o dmparser.o config.o \ +-- +2.8.1 + diff --git a/meta-oe/recipes-support/multipath-tools/files/always-use-libdevmapper-kpartx.patch b/meta-oe/recipes-support/multipath-tools/files/0014-Always-use-devmapper-for-kpartx.patch similarity index 52% rename from meta-oe/recipes-support/multipath-tools/files/always-use-libdevmapper-kpartx.patch rename to meta-oe/recipes-support/multipath-tools/files/0014-Always-use-devmapper-for-kpartx.patch index 803e52c..f951213 100644 --- a/meta-oe/recipes-support/multipath-tools/files/always-use-libdevmapper-kpartx.patch +++ b/meta-oe/recipes-support/multipath-tools/files/0014-Always-use-devmapper-for-kpartx.patch @@ -1,7 +1,7 @@ -From 7267cf235fc052eaa1ca36e437096576edacb131 Mon Sep 17 00:00:00 2001 -From: Aws Ismail -Date: Mon, 22 Sep 2014 17:22:32 -0700 -Subject: [PATCH] Always use devmapper for kpartx +From 7f5869cd32a7b3f717d9544b35562d9d01ca6510 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Wed, 5 Jul 2017 03:03:16 -0400 +Subject: [PATCH 14/14] Always use devmapper for kpartx Do not try to compute the LIBDM_API_COOKIE make variable from host information when cross-compiling. @@ -10,21 +10,22 @@ Upstream-Status: Inappropriate [embedded specific] Signed-off-by: Aws Ismail Signed-off-by: Joe Slater + +Rebase to 0.7.1 +Signed-off-by: Hongxu Jia --- - kpartx/Makefile | 6 +----- - 1 file changed, 1 insertion(+), 5 deletions(-) + kpartx/Makefile | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/kpartx/Makefile b/kpartx/Makefile -index e8a59f2..e694a65 100644 +index bfa6fe8..be87124 100644 --- a/kpartx/Makefile +++ b/kpartx/Makefile -@@ -7,11 +7,7 @@ CFLAGS += -I. -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 +@@ -8,9 +8,7 @@ LDFLAGS += $(BIN_LDFLAGS) LIBDEPS += -ldevmapper --LIBDM_API_COOKIE = $(shell grep -Ecs '^[a-z]*[[:space:]]+dm_task_set_cookie' /usr/include/libdevmapper.h) -- --ifneq ($(strip $(LIBDM_API_COOKIE)),0) +-ifneq ($(call check_func,dm_task_set_cookie,/usr/include/libdevmapper.h),0) - CFLAGS += -DLIBDM_API_COOKIE -endif +CFLAGS += -DLIBDM_API_COOKIE @@ -32,5 +33,5 @@ index e8a59f2..e694a65 100644 OBJS = bsd.o dos.o kpartx.o solaris.o unixware.o dasd.o sun.o \ gpt.o mac.o ps3.o crc32.o lopart.o xstrncpy.o devmapper.o -- -2.11.0 +2.8.1 diff --git a/meta-oe/recipes-support/multipath-tools/files/always-use-libdevmapper.patch b/meta-oe/recipes-support/multipath-tools/files/always-use-libdevmapper.patch deleted file mode 100644 index 33834f6..0000000 --- a/meta-oe/recipes-support/multipath-tools/files/always-use-libdevmapper.patch +++ /dev/null @@ -1,57 +0,0 @@ -From c4f0dba4e86bfa20252fcc8218398e7468ca9149 Mon Sep 17 00:00:00 2001 -From: Aws Ismail -Date: Mon, 22 Sep 2014 17:22:32 -0700 -Subject: [PATCH] Always use devmapper - -Do not try to compute several _API_ make variables -from host information when cross-compiling. - -Upstream-Status: Inappropriate [embedded specific] - -Signed-off-by: Aws Ismail -Signed-off-by: Joe Slater ---- - libmultipath/Makefile | 27 ++++----------------------- - 1 file changed, 4 insertions(+), 23 deletions(-) - -diff --git a/libmultipath/Makefile b/libmultipath/Makefile -index 495cebe..9626e69 100644 ---- a/libmultipath/Makefile -+++ b/libmultipath/Makefile -@@ -20,29 +20,10 @@ ifdef SYSTEMD - endif - endif - --LIBDM_API_FLUSH = $(shell grep -Ecs '^[a-z]*[[:space:]]+dm_task_no_flush' /usr/include/libdevmapper.h) -- --ifneq ($(strip $(LIBDM_API_FLUSH)),0) -- CFLAGS += -DLIBDM_API_FLUSH -D_GNU_SOURCE --endif -- --LIBDM_API_COOKIE = $(shell grep -Ecs '^[a-z]*[[:space:]]+dm_task_set_cookie' /usr/include/libdevmapper.h) -- --ifneq ($(strip $(LIBDM_API_COOKIE)),0) -- CFLAGS += -DLIBDM_API_COOKIE --endif -- --LIBUDEV_API_RECVBUF = $(shell grep -Ecs '^[a-z]*[[:space:]]+udev_monitor_set_receive_buffer_size' /usr/include/libudev.h) -- --ifneq ($(strip $(LIBUDEV_API_RECVBUF)),0) -- CFLAGS += -DLIBUDEV_API_RECVBUF --endif -- --LIBDM_API_DEFERRED = $(shell grep -Ecs '^[a-z]*[[:space:]]+dm_task_deferred_remove' /usr/include/libdevmapper.h) -- --ifneq ($(strip $(LIBDM_API_DEFERRED)),0) -- CFLAGS += -DLIBDM_API_DEFERRED --endif -+CFLAGS += -DLIBDM_API_FLUSH -D_GNU_SOURCE -+CFLAGS += -DLIBDM_API_COOKIE -+CFLAGS += -DLIBUDEV_API_RECVBUF -+CFLAGS += -DLIBDM_API_DEFERRED - - OBJS = memory.o parser.o vector.o devmapper.o callout.o \ - hwtable.o blacklist.o util.o dmparser.o config.o \ --- -2.11.0 - diff --git a/meta-oe/recipes-support/multipath-tools/files/checkers-disable-libcheckrbd.so.patch b/meta-oe/recipes-support/multipath-tools/files/checkers-disable-libcheckrbd.so.patch deleted file mode 100644 index 908a516..0000000 --- a/meta-oe/recipes-support/multipath-tools/files/checkers-disable-libcheckrbd.so.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 148b848f45957e5e1c0466e8c79c84ba4a0bf241 Mon Sep 17 00:00:00 2001 -From: Patrick Ohly -Date: Fri, 27 Jan 2017 10:35:54 +0100 -Subject: [PATCH] checkers: disable libcheckrbd.so - -libcheckrbd.so depends on librados, which is not currently available -as a recipe. These checkers seem to be optional, so for now we merely -disable compilation of libcheckrbd.so. - -Upstream-Status: Inappropriate [configuration] - -Signed-off-by: Patrick Ohly ---- - libmultipath/checkers/Makefile | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/libmultipath/checkers/Makefile b/libmultipath/checkers/Makefile -index 11ab76f..c848d50 100644 ---- a/libmultipath/checkers/Makefile -+++ b/libmultipath/checkers/Makefile -@@ -14,7 +14,6 @@ LIBS= \ - libcheckemc_clariion.so \ - libcheckhp_sw.so \ - libcheckrdac.so \ -- libcheckrbd.so - - all: $(LIBS) - --- -2.11.0 - diff --git a/meta-oe/recipes-support/multipath-tools/files/makefile_inc.patch b/meta-oe/recipes-support/multipath-tools/files/makefile_inc.patch deleted file mode 100644 index 5b7b696..0000000 --- a/meta-oe/recipes-support/multipath-tools/files/makefile_inc.patch +++ /dev/null @@ -1,59 +0,0 @@ -From 9f5768eca165502b0f17d271aa6f7cf530ec60b2 Mon Sep 17 00:00:00 2001 -From: Joe Slater -Date: Mon, 22 Sep 2014 17:22:32 -0700 -Subject: [PATCH] multipath-tools: modify Makefile.inc for - cross-compilation - -Do not look for systemd info on the host, and allow us to pass in CFLAGS -using the OPTFLAGS variable. - -Upstream-Status: Inappropriate [embedded specific] - -Signed-off-by: Joe Slater - -Update for version 0.5.0-144-g770e6d0 - -Signed-off-by: Kai Kang ---- - Makefile.inc | 17 +++++------------ - 1 file changed, 5 insertions(+), 12 deletions(-) - -diff --git a/Makefile.inc b/Makefile.inc -index 1cc8f44..15f8b91 100644 ---- a/Makefile.inc -+++ b/Makefile.inc -@@ -29,12 +29,6 @@ ifndef RUN - endif - endif - --ifndef SYSTEMD -- ifeq ($(shell systemctl --version > /dev/null 2>&1 && echo 1), 1) -- SYSTEMD = $(shell systemctl --version 2> /dev/null | sed -n 's/systemd \([0-9]*\)/\1/p') -- endif --endif -- - ifndef SYSTEMDPATH - SYSTEMDPATH=usr/lib - endif -@@ -61,13 +55,12 @@ RM = rm -f - LN = ln -sf - INSTALL_PROGRAM = install - --OPTFLAGS = -O2 -g -pipe -Wall -Wextra -Wformat=2 \ -- -Wno-sign-compare -Wno-unused-parameter -Wno-clobbered \ -- -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector \ -- --param=ssp-buffer-size=4 -+ifndef OPTFLAGS -+OPTFLAGS = $(RPM_OPT_FLAGS) -Wunused -Wstrict-prototypes -+endif - --CFLAGS = $(OPTFLAGS) -fPIC -DLIB_STRING=\"${LIB}\" -DRUN_DIR=\"${RUN}\" --SHARED_FLAGS = -shared -+CFLAGS = $(OPTFLAGS) -fPIC -DLIB_STRING=\"${LIB}\" -DRUN_DIR=\"${RUN}\" -+SHARED_FLAGS = -shared - - %.o: %.c - $(CC) $(CFLAGS) -c -o $@ $< --- -2.11.0 - diff --git a/meta-oe/recipes-support/multipath-tools/files/multipath.conf.example b/meta-oe/recipes-support/multipath-tools/files/multipath.conf.example new file mode 100644 index 0000000..6bbeadb --- /dev/null +++ b/meta-oe/recipes-support/multipath-tools/files/multipath.conf.example @@ -0,0 +1,90 @@ +# This is a basic configuration file with some examples, for device mapper +# multipath. +# For a complete list of the default configuration values, see +# /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf.defaults +# For a list of configuration options with descriptions, see +# /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf.annotated + +## By default, devices with vendor = "IBM" and product = "S/390.*" are +## blacklisted. To enable mulitpathing on these devies, uncomment the +## following lines. +#blacklist_exceptions { +# device { +# vendor "IBM" +# product "S/390.*" +# } +#} + +## Use user friendly names, instead of using WWIDs as names. +defaults { + user_friendly_names yes +} +## +## Here is an example of how to configure some standard options. +## +# +#defaults { +# udev_dir /dev +# polling_interval 10 +# selector "round-robin 0" +# path_grouping_policy multibus +# getuid_callout "/lib/udev/scsi_id --whitelisted --device=/dev/%n" +# prio alua +# path_checker readsector0 +# rr_min_io 100 +# max_fds 8192 +# rr_weight priorities +# failback immediate +# no_path_retry fail +# user_friendly_names yes +#} +## +## The wwid line in the following blacklist section is shown as an example +## of how to blacklist devices by wwid. The 2 devnode lines are the +## compiled in default blacklist. If you want to blacklist entire types +## of devices, such as all scsi devices, you should use a devnode line. +## However, if you want to blacklist specific devices, you should use +## a wwid line. Since there is no guarantee that a specific device will +## not change names on reboot (from /dev/sda to /dev/sdb for example) +## devnode lines are not recommended for blacklisting specific devices. +## +#blacklist { +# wwid 26353900f02796769 +# devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*" +# devnode "^hd[a-z]" +#} +#multipaths { +# multipath { +# wwid 3600508b4000156d700012000000b0000 +# alias yellow +# path_grouping_policy multibus +# path_checker readsector0 +# path_selector "round-robin 0" +# failback manual +# rr_weight priorities +# no_path_retry 5 +# } +# multipath { +# wwid 1DEC_____321816758474 +# alias red +# } +#} +#devices { +# device { +# vendor "COMPAQ " +# product "HSV110 (C)COMPAQ" +# path_grouping_policy multibus +# getuid_callout "/lib/udev/scsi_id --whitelisted --device=/dev/%n" +# path_checker readsector0 +# path_selector "round-robin 0" +# hardware_handler "0" +# failback 15 +# rr_weight priorities +# no_path_retry queue +# } +# device { +# vendor "COMPAQ " +# product "MSA1000 " +# path_grouping_policy multibus +# } +#} diff --git a/meta-oe/recipes-support/multipath-tools/files/shared-libs-avoid-linking-.so-as-executable.patch b/meta-oe/recipes-support/multipath-tools/files/shared-libs-avoid-linking-.so-as-executable.patch deleted file mode 100644 index 88579e6..0000000 --- a/meta-oe/recipes-support/multipath-tools/files/shared-libs-avoid-linking-.so-as-executable.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 4311856200480288494df8df737f71ea316592d0 Mon Sep 17 00:00:00 2001 -From: Patrick Ohly -Date: Thu, 26 Jan 2017 15:28:34 +0100 -Subject: [PATCH] shared libs: avoid linking .so as executable - -When the OE build systems sets CFLAGS including -pie, gcc overrides -the earlier -shared parameter and tries to link a binary, leading to -errors about missing functions like main(). - -Reordering the parameters so that -shared comes after CFLAGS -fixes this. - -Upstream-Status: Inappropriate [OE specific, -pie shouldn't be in CFLAGS?!] - -Signed-off-by: Patrick Ohly ---- -diff --git a/libmpathcmd/Makefile b/libmpathcmd/Makefile -index 457c4ca..f68c82c 100644 ---- a/libmpathcmd/Makefile -+++ b/libmpathcmd/Makefile -@@ -9,7 +9,7 @@ OBJS = mpath_cmd.o - all: $(LIBS) - - $(LIBS): $(OBJS) -- $(CC) $(LDFLAGS) $(SHARED_FLAGS) -Wl,-soname=$@ $(CFLAGS) -o $@ $(OBJS) $(LIBDEPS) -+ $(CC) $(LDFLAGS) $(CFLAGS) $(SHARED_FLAGS) -Wl,-soname=$@ -o $@ $(OBJS) $(LIBDEPS) - $(LN) $@ $(DEVLIB) - - install: $(LIBS) -diff --git a/libmpathpersist/Makefile b/libmpathpersist/Makefile -index 6e43427..2486302 100644 ---- a/libmpathpersist/Makefile -+++ b/libmpathpersist/Makefile -@@ -15,7 +15,7 @@ all: $(LIBS) - - $(LIBS): - $(CC) -c $(CFLAGS) *.c -- $(CC) $(LDFLAGS) $(SHARED_FLAGS) $(LIBDEPS) -Wl,-soname=$@ $(CFLAGS) -o $@ $(OBJS) -+ $(CC) $(LDFLAGS) $(CFLAGS) $(SHARED_FLAGS) $(LIBDEPS) -Wl,-soname=$@ -o $@ $(OBJS) - $(LN) $(LIBS) $(DEVLIB) - $(GZIP) mpath_persistent_reserve_in.3 > mpath_persistent_reserve_in.3.gz - $(GZIP) mpath_persistent_reserve_out.3 > mpath_persistent_reserve_out.3.gz -diff --git a/libmultipath/Makefile b/libmultipath/Makefile -index 495cebe..752bcc0 100644 ---- a/libmultipath/Makefile -+++ b/libmultipath/Makefile -@@ -55,7 +55,7 @@ OBJS = memory.o parser.o vector.o devmapper.o callout.o \ - all: $(LIBS) - - $(LIBS): $(OBJS) -- $(CC) $(LDFLAGS) $(SHARED_FLAGS) -Wl,-soname=$@ $(CFLAGS) -o $@ $(OBJS) $(LIBDEPS) -+ $(CC) $(LDFLAGS) $(CFLAGS) $(SHARED_FLAGS) -Wl,-soname=$@ -o $@ $(OBJS) $(LIBDEPS) - $(LN) $@ $(DEVLIB) - - install: diff --git a/meta-oe/recipes-support/multipath-tools/multipath-tools_0.7.1.bb b/meta-oe/recipes-support/multipath-tools/multipath-tools_0.7.1.bb new file mode 100644 index 0000000..9331211 --- /dev/null +++ b/meta-oe/recipes-support/multipath-tools/multipath-tools_0.7.1.bb @@ -0,0 +1,112 @@ +SUMMARY = "The upstream project used to drive the Device Mapper multipathing driver" + +DESCRIPTION = "It provides tools to manage multipath devices \ +by instructing the device-mapper kernel module what to do. These \ +tools include: \ +1. multipath - Scan the system for multipath devices and assemble them.\ +2. multipathd - Detects when paths fail and execs multipath to update \ +things.\ +3. mpathpersist - Persistent reservation management feature allows \ +cluster management software to manage persistent reservation through \ +mpath device. It processes management requests from callers and hides \ +the management task details. It also handles persistent reservation \ +management of data path life cycle and state changes.\ +4. kpartx - This tool, derived from util-linux's partx, reads partition \ +tables on specified device and create device maps over partitions \ +segments detected. It is called from hotplug upon device maps creation \ +and deletion" + +HOMEPAGE = "http://christophe.varoqui.free.fr/" + +DEPENDS = "libdevmapper \ + libaio \ + liburcu \ + readline \ + udev \ + json-c \ + " + +LICENSE = "GPLv2" + +SRC_URI = "git://git.opensvc.com/multipath-tools/.git;protocol=http \ + file://multipathd.oe \ + file://multipath.conf.example \ + file://0001-multipath-attempt-at-common-multipath.rules.patch \ + file://0002-RH-fixup-udev-rules-for-redhat.patch \ + file://0003-RH-Remove-the-property-blacklist-exception-builtin.patch \ + file://0004-RH-don-t-start-without-a-config-file.patch \ + file://0005-RH-add-mpathconf.patch \ + file://0006-RH-add-wwids-from-kernel-cmdline-mpath.wwids-with-A.patch \ + file://0007-RH-trigger-change-uevent-on-new-device-creation.patch \ + file://0008-libmultipath-change-how-RADOS-checker-is-enabled.patch \ + file://0009-multipath-set-verbosity-to-default-during-config.patch \ + file://0010-mpath-skip-device-configs-without-vendor-product.patch \ + file://0011-multipathd-fix-show-maps-json-crash.patch \ + file://0012-multipath-tools-modify-Makefile.inc-for-cross-compil.patch \ + file://0013-Always-use-devmapper.patch \ + file://0014-Always-use-devmapper-for-kpartx.patch \ + " +LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2" + +SRCREV = "f21166a812a2cfb50ecf9550d32947c83103f83a" + +S = "${WORKDIR}/git" + +inherit systemd pkgconfig + +SYSTEMD_SERVICE_${PN} = "multipathd.service" + +TARGET_CC_ARCH += "${LDFLAGS}" + +# multipath-tools includes a copy of the valgrind.h header +# file and uses the macros to suppress some false positives. However, +# that only works on ARM when thumb is disabled. Otherwise one gets: +# Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r12,r12,ror#3' +# ../Makefile.inc:66: recipe for target 'debug.o' failed +ARM_INSTRUCTION_SET_armv4 = "arm" +ARM_INSTRUCTION_SET_armv5 = "arm" + +# The exact version of SYSTEMD does not matter but should be greater than 209. +# +EXTRA_OEMAKE = 'MULTIPATH_VERSION=${PV} DESTDIR=${D} syslibdir=${base_libdir} \ + OPTFLAGS="${CFLAGS}" \ + bindir=${base_sbindir} \ + LIB=${base_libdir} libdir=${base_libdir}/multipath \ + unitdir=${systemd_system_unitdir} \ + ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "SYSTEMD=216", "", d)} \ + ' + +do_install() { + oe_runmake install + + # We copy an initscript, but do not start multipathd at init time. + # + if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)};then + install -d ${D}${sysconfdir}/init.d + cp ${WORKDIR}/multipathd.oe ${D}${sysconfdir}/init.d/multipathd + fi + + install -d ${D}${sysconfdir} + install -m 0644 ${WORKDIR}/multipath.conf.example \ + ${D}${sysconfdir}/multipath.conf.example +} + +FILES_${PN}-dbg += "${base_libdir}/multipath/.debug" + +PACKAGES =+ "${PN}-libs" +FILES_${PN}-libs = "${base_libdir}/lib*.so.* \ + ${base_libdir}/multipath/lib*.so*" +RDEPENDS_${PN} += "${PN}-libs" + +PROVIDES += "device-mapper-multipath" +RPROVIDES_${PN} += "device-mapper-multipath" +RPROVIDES_${PN}-libs += "device-mapper-multipath-libs" + +FILES_${PN}-dev += "${base_libdir}/pkgconfig" + +PACKAGES =+ "kpartx" +FILES_kpartx = "${base_sbindir}/kpartx \ + ${nonarch_libdir}/udev/kpartx_id \ + " + +RDEPENDS_${PN} += "kpartx" diff --git a/meta-oe/recipes-support/multipath-tools/multipath-tools_git.bb b/meta-oe/recipes-support/multipath-tools/multipath-tools_git.bb deleted file mode 100644 index 5f8c422..0000000 --- a/meta-oe/recipes-support/multipath-tools/multipath-tools_git.bb +++ /dev/null @@ -1,71 +0,0 @@ -SUMMARY = "The upstream project used to drive the Device Mapper multipathing driver" - -DEPENDS = "libdevmapper libaio liburcu readline udev" - -LICENSE = "LGPLv2" - -SRC_URI = "git://git.opensvc.com/multipath-tools/.git;protocol=http \ - file://multipathd.oe \ - file://makefile_inc.patch \ - file://always-use-libdevmapper.patch \ - file://always-use-libdevmapper-kpartx.patch \ - file://0001-multipathd.service-Error-fix.patch \ - file://shared-libs-avoid-linking-.so-as-executable.patch \ - file://checkers-disable-libcheckrbd.so.patch \ - " -LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2" - -# 0.6.4 -SRCREV = "922421cf795d53d339862bb2d99f1a85c96ad9a3" - -inherit systemd - - -S = "${WORKDIR}/git" - -PV = "0.6.4+git${@'${SRCPV}'.split('+')[-1]}" - -TARGET_CC_ARCH += "${LDFLAGS}" - -# multipath-tools includes a copy of the valgrind.h header -# file and uses the macros to suppress some false positives. However, -# that only works on ARM when thumb is disabled. Otherwise one gets: -# Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r12,r12,ror#3' -# ../Makefile.inc:66: recipe for target 'debug.o' failed -ARM_INSTRUCTION_SET_armv4 = "arm" -ARM_INSTRUCTION_SET_armv5 = "arm" - -# The exact version of SYSTEMD does not matter but should be greater than 209. -# -EXTRA_OEMAKE = 'MULTIPATH_VERSION=${PV} DESTDIR=${D} syslibdir=${base_libdir} \ - OPTFLAGS="${CFLAGS}" \ - bindir=${base_sbindir} \ - LIB=${base_libdir} libdir=${base_libdir}/multipath \ - unitdir=${systemd_system_unitdir} \ - ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "SYSTEMD=216", "", d)} \ - ' - -do_install() { - oe_runmake install - - # We copy an initscript, but do not start multipathd at init time. - # - install -d ${D}${sysconfdir}/init.d - cp ${WORKDIR}/multipathd.oe ${D}${sysconfdir}/init.d/multipathd - -} - -FILES_${PN}-dbg += "${base_libdir}/multipath/.debug" - -# systemd and udev stuff always goes under /lib! -# -FILES_${PN} += "${base_libdir}/multipath \ - ${systemd_system_unitdir} \ - " - -PACKAGES =+ "kpartx" -FILES_kpartx = "${base_sbindir}/kpartx \ - ${nonarch_libdir}/udev/kpartx_id \ - " - -RDEPENDS_${PN} += "kpartx" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 8 19:06:34 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 08 Jul 2017 19:06:34 +0000 Subject: [oe-commits] [meta-openembedded] 09/11: ltrace: Fix build on musl In-Reply-To: <149954078553.15521.13502769468223606995@git.openembedded.org> References: <149954078553.15521.13502769468223606995@git.openembedded.org> Message-ID: <20170708190625.E9A38234868@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 76be091e531171fed0643ea08e4d4cd52fad8fd5 Author: Khem Raj AuthorDate: Sat Jul 8 06:17:43 2017 -0700 ltrace: Fix build on musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...nfigure-Recognise-linux-musl-as-a-host-OS.patch | 25 ++++++++++++++++++++++ meta-oe/recipes-devtools/ltrace/ltrace_git.bb | 1 + 2 files changed, 26 insertions(+) diff --git a/meta-oe/recipes-devtools/ltrace/ltrace/0001-configure-Recognise-linux-musl-as-a-host-OS.patch b/meta-oe/recipes-devtools/ltrace/ltrace/0001-configure-Recognise-linux-musl-as-a-host-OS.patch new file mode 100644 index 0000000..52264a1 --- /dev/null +++ b/meta-oe/recipes-devtools/ltrace/ltrace/0001-configure-Recognise-linux-musl-as-a-host-OS.patch @@ -0,0 +1,25 @@ +From c1d3aaf5ec810c2594938438c7b4ccd20943f255 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 7 Jul 2017 10:20:52 -0700 +Subject: [PATCH] configure: Recognise linux-musl as a host OS + +Signed-off-by: Khem Raj +--- + configure.ac | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/configure.ac b/configure.ac +index 3e8667f..95d6642 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -35,6 +35,7 @@ AC_CANONICAL_HOST + case "${host_os}" in + linux-gnu*) HOST_OS="linux-gnu" ;; + linux-uclibc*) HOST_OS="linux-gnu" ;; ++ linux-musl*) HOST_OS="linux-gnu" ;; + *) AC_MSG_ERROR([unkown host-os ${host_os}]) ;; + esac + AC_SUBST(HOST_OS) +-- +2.13.2 + diff --git a/meta-oe/recipes-devtools/ltrace/ltrace_git.bb b/meta-oe/recipes-devtools/ltrace/ltrace_git.bb index b613bc3..01b3bbe 100644 --- a/meta-oe/recipes-devtools/ltrace/ltrace_git.bb +++ b/meta-oe/recipes-devtools/ltrace/ltrace_git.bb @@ -23,6 +23,7 @@ SRC_URI = "git://anonscm.debian.org/collab-maint/ltrace.git;branch=master \ file://0001-ARM-code-has-unreachable-code-after-switch-statement.patch \ file://0001-Fix-tautological-compare-warning.patch \ file://0001-Add-support-for-mips64-n32-n64.patch \ + file://0001-configure-Recognise-linux-musl-as-a-host-OS.patch \ " S = "${WORKDIR}/git" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 8 19:06:33 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 08 Jul 2017 19:06:33 +0000 Subject: [oe-commits] [meta-openembedded] 08/11: security_flags.inc: Delete In-Reply-To: <149954078553.15521.13502769468223606995@git.openembedded.org> References: <149954078553.15521.13502769468223606995@git.openembedded.org> Message-ID: <20170708190625.E2D53234867@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 922fdce37b1a1f27109850ad3b969e7deedcf9d8 Author: Khem Raj AuthorDate: Sat Jul 8 06:17:41 2017 -0700 security_flags.inc: Delete OE-Core has now reworked the PIE flags, where they are implicitly passed by compiler when security flags are enabled None of these pinnings are needed anymore, since these packages compile fine with security flags enabled Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../include/meta_networking_security_flags.inc | 10 -------- meta-networking/conf/layer.conf | 3 --- .../conf/distro/include/meta_oe_security_flags.inc | 28 ---------------------- meta-oe/conf/layer.conf | 3 --- 4 files changed, 44 deletions(-) diff --git a/meta-networking/conf/distro/include/meta_networking_security_flags.inc b/meta-networking/conf/distro/include/meta_networking_security_flags.inc deleted file mode 100644 index 19e13ea..0000000 --- a/meta-networking/conf/distro/include/meta_networking_security_flags.inc +++ /dev/null @@ -1,10 +0,0 @@ -# configure righteously complains: -# | configure:3479: using CFLAGS: -O2 -pipe -g -feliminate-unused-debug-types -fstack-protector-strong -pie -fpie -D_FORTIFY_SOURCE=2 -# | configure:3485: CFLAGS error: CFLAGS may only be used to specify C compiler flags, not macro definitions. Use CPPFLAGS for: -D_FORTIFY_SOURCE=2 -# | configure:3516: error: Can not continue. Fix errors mentioned immediately above this line. - -# Make sure it's at least empty in builds which don't include -# conf/distro/include/security_flags.inc -lcl_maybe_fortify ?= "" -TARGET_CFLAGS_remove_pn-c-ares = "${lcl_maybe_fortify}" -TARGET_CPPFLAGS_append_pn-c-ares = "${lcl_maybe_fortify}" diff --git a/meta-networking/conf/layer.conf b/meta-networking/conf/layer.conf index b5aa159..2dfde4b 100644 --- a/meta-networking/conf/layer.conf +++ b/meta-networking/conf/layer.conf @@ -19,9 +19,6 @@ LAYERDEPENDS_networking-layer += "meta-python" LICENSE_PATH += "${LAYERDIR}/licenses" -# Override security flags -require conf/distro/include/meta_networking_security_flags.inc - SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \ wireguard-tools->wireguard-module \ " diff --git a/meta-oe/conf/distro/include/meta_oe_security_flags.inc b/meta-oe/conf/distro/include/meta_oe_security_flags.inc deleted file mode 100644 index 03868bf..0000000 --- a/meta-oe/conf/distro/include/meta_oe_security_flags.inc +++ /dev/null @@ -1,28 +0,0 @@ -# Build errors with the pie options enabled -SECURITY_CFLAGS_pn-libdbus-c++ = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-libdevmapper = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-lvm2 = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-rrdtool = "${SECURITY_NO_PIE_CFLAGS}" - -# This has text reloc errors with the pie options enabled -SECURITY_CFLAGS_pn-llvm3.3 = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-mozjs = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-openldap = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-s3c64xx-gpio = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-s3c24xx-gpio = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-cpufrequtils = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-libcec = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-libmodplug = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-libcdio = "${SECURITY_NO_PIE_CFLAGS}" - -#| /mnt/b/build/tmp-glibc/sysroots/intel-corei7-64/usr/lib/libc_nonshared.a(elf-init.oS): In function `__libc_csu_init': -#| /usr/src/debug/glibc/2.24-r0/git/csu/elf-init.c:86: undefined reference to `__init_array_start' - -SECURITY_CFLAGS_pn-libvdpau = "${SECURITY_NO_PIE_CFLAGS}" - -#| /mnt/a/build/tmp-glibc/sysroots/x86_64-linux/usr/libexec/x86_64-oe-linux/gcc/x86_64-oe-linux/6.2.0/ld: lj_err_dyn.o: relocation R_X86_64_TPOFF32 against `static_uex' can not be used when making a shared object; recompile with -fPIC -#| /mnt/a/build/tmp-glibc/sysroots/x86_64-linux/usr/libexec/x86_64-oe-linux/gcc/x86_64-oe-linux/6.2.0/ld: final link failed: Nonrepresentable section on output -#| collect2: error: ld returned 1 exit status -#| make[1]: *** [Makefile:675: libluajit.so] Error 1 -SECURITY_CFLAGS_pn-luajit = "${SECURITY_NO_PIE_CFLAGS}" - diff --git a/meta-oe/conf/layer.conf b/meta-oe/conf/layer.conf index 54425c6..f0d21ed 100644 --- a/meta-oe/conf/layer.conf +++ b/meta-oe/conf/layer.conf @@ -77,7 +77,4 @@ SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \ FREESMARTPHONE_GIT = "git://git.freesmartphone.org" -# Override security flags -require conf/distro/include/meta_oe_security_flags.inc - HOSTTOOLS += "id" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 8 19:06:32 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 08 Jul 2017 19:06:32 +0000 Subject: [oe-commits] [meta-openembedded] 07/11: libdbus-c++: Fix build with gcc7 and unblacklist In-Reply-To: <149954078553.15521.13502769468223606995@git.openembedded.org> References: <149954078553.15521.13502769468223606995@git.openembedded.org> Message-ID: <20170708190625.DA51E234866@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit ed824a00f7a4a3bc5a7a63bc337f915f16eb6aab Author: Khem Raj AuthorDate: Sat Jul 8 06:17:40 2017 -0700 libdbus-c++: Fix build with gcc7 and unblacklist Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../0001-pipe.c-Use-a-string-instead-of-char.patch | 27 ++++++++++++++++++++++ meta-oe/recipes-core/dbus/libdbus-c++_0.9.0.bb | 20 ++++++++-------- 2 files changed, 36 insertions(+), 11 deletions(-) diff --git a/meta-oe/recipes-core/dbus/libdbus-c++-0.9.0/0001-pipe.c-Use-a-string-instead-of-char.patch b/meta-oe/recipes-core/dbus/libdbus-c++-0.9.0/0001-pipe.c-Use-a-string-instead-of-char.patch new file mode 100644 index 0000000..6883f9a --- /dev/null +++ b/meta-oe/recipes-core/dbus/libdbus-c++-0.9.0/0001-pipe.c-Use-a-string-instead-of-char.patch @@ -0,0 +1,27 @@ +From 6bcb58bd69c38b9200e8ec6c382247167571189d Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 1 Jul 2017 16:44:15 -0700 +Subject: [PATCH] pipe.c: Use a string instead of char + +Fixes +error: invalid conversion from 'char' to 'const void*' [-fpermissive] + +Signed-off-by: Khem Raj +--- + src/pipe.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/pipe.cpp b/src/pipe.cpp +index 45c2ba6..1303c2d 100644 +--- a/src/pipe.cpp ++++ b/src/pipe.cpp +@@ -83,5 +83,5 @@ ssize_t Pipe::read(void *buffer, unsigned int &nbytes) + void Pipe::signal() + { + // TODO: ignoring return of read/write generates warning; maybe relevant for eventloop work... +- ::write(_fd_write, '\0', 1); ++ ::write(_fd_write, "", 1); + } +-- +2.13.2 + diff --git a/meta-oe/recipes-core/dbus/libdbus-c++_0.9.0.bb b/meta-oe/recipes-core/dbus/libdbus-c++_0.9.0.bb index 4412716..4cc1333 100644 --- a/meta-oe/recipes-core/dbus/libdbus-c++_0.9.0.bb +++ b/meta-oe/recipes-core/dbus/libdbus-c++_0.9.0.bb @@ -6,15 +6,15 @@ LICENSE = "LGPLv2.1" LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24" DEPENDS = "dbus expat glib-2.0 libpcre" -SRC_URI = "\ - ${SOURCEFORGE_MIRROR}/project/dbus-cplusplus/dbus-c++/${PV}/${BP}.tar.gz \ - file://fix-missing-unistd.h-include.patch \ - file://remove-CXX_FOR_BUILD-stuff.patch \ - file://0001-src-eventloop.cpp-use-portable-method-for-initializi.patch \ - file://0002-tools-generate_proxy.cpp-avoid-possibly-undefined-ui.patch \ - file://0003-Fixed-undefined-ssize_t-for-clang-3.8.0-on-FreeBSD.patch \ - file://0004-use-POSIX-poll.h-instead-of-sys-poll.h.patch \ -" +SRC_URI = "${SOURCEFORGE_MIRROR}/project/dbus-cplusplus/dbus-c++/${PV}/${BP}.tar.gz \ + file://fix-missing-unistd.h-include.patch \ + file://remove-CXX_FOR_BUILD-stuff.patch \ + file://0001-src-eventloop.cpp-use-portable-method-for-initializi.patch \ + file://0002-tools-generate_proxy.cpp-avoid-possibly-undefined-ui.patch \ + file://0003-Fixed-undefined-ssize_t-for-clang-3.8.0-on-FreeBSD.patch \ + file://0004-use-POSIX-poll.h-instead-of-sys-poll.h.patch \ + file://0001-pipe.c-Use-a-string-instead-of-char.patch \ + " SRC_URI[md5sum] = "e752116f523fa88ef041e63d3dee4de2" SRC_URI[sha256sum] = "bc11ac297b3cb010be904c72789695543ee3fdf3d75cdc8225fd371385af4e61" @@ -27,5 +27,3 @@ PACKAGE_BEFORE_PN = "${PN}-tools" FILES_${PN}-tools = "${bindir}" BBCLASSEXTEND = "native" - -PNBLACKLIST[libdbus-c++] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130644/ - the recipe will be removed on 2017-09-01 unless the issue is fixed" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 8 19:06:31 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 08 Jul 2017 19:06:31 +0000 Subject: [oe-commits] [meta-openembedded] 06/11: webrtc-audio-processing: initial recipe In-Reply-To: <149954078553.15521.13502769468223606995@git.openembedded.org> References: <149954078553.15521.13502769468223606995@git.openembedded.org> Message-ID: <20170708190625.D258A234865@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 8bd93231d73b435e738c6eda715e04118716ea0f Author: Tanu Kaskinen AuthorDate: Thu Jul 6 15:07:13 2017 +0300 webrtc-audio-processing: initial recipe PulseAudio has multiple alternative echo canceller implementations. Probably the best one is the "webrtc" echo canceller, which depends on this library. I added some patches to fix building on MIPS and PowerPC. The first three patches are taken from upstream, the other three patches are my own. I have only tested that the code builds on all architectures, not that the code actually works. Signed-off-by: Tanu Kaskinen Signed-off-by: Martin Jansa --- ...ild-Protect-against-unsupported-CPU-types.patch | 29 ++++++ .../0002-build-Add-ARM-64bit-support.patch | 30 ++++++ .../0003-build-fix-architecture-detection.patch | 96 +++++++++++++++++ ...add-support-for-64-bit-and-big-endian-MIP.patch | 41 ++++++++ .../0005-typedefs.h-add-support-for-PowerPC.patch | 28 +++++ ...o-implement-endianness-conversion-in-wav-.patch | 116 +++++++++++++++++++++ .../webrtc-audio-processing_0.3.bb | 25 +++++ 7 files changed, 365 insertions(+) diff --git a/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0001-build-Protect-against-unsupported-CPU-types.patch b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0001-build-Protect-against-unsupported-CPU-types.patch new file mode 100644 index 0000000..7668df3 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0001-build-Protect-against-unsupported-CPU-types.patch @@ -0,0 +1,29 @@ +From 4945dca11bc4ddec60bd858f45212dc8f39638e0 Mon Sep 17 00:00:00 2001 +From: Nicolas Dufresne +Date: Tue, 5 Jul 2016 18:07:45 -0400 +Subject: [PATCH 1/6] build: Protect against unsupported CPU types + +Signed-off-by: Tanu Kaskinen +Upstream-Status: Accepted [expected in 0.4] +--- + configure.ac | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 6f9553b..f5304b8 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -70,8 +70,9 @@ AS_CASE(["${host_cpu}"], + [ + HAVE_ARM=1 + ARCH_CFLAGS="-DWEBRTC_ARCH_ARM" +- ] ++ ], + # FIXME: Add MIPS support, see webrtc/BUILD.gn for defines ++ [AC_MSG_ERROR([Unsupported CPU type $host_cpu])] + ) + AM_CONDITIONAL(HAVE_X86, [test "x${HAVE_X86}" = "x1"]) + AM_CONDITIONAL(HAVE_ARM, [test "x${HAVE_ARM}" = "x1"]) +-- +2.11.0 + diff --git a/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0002-build-Add-ARM-64bit-support.patch b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0002-build-Add-ARM-64bit-support.patch new file mode 100644 index 0000000..2e202b0 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0002-build-Add-ARM-64bit-support.patch @@ -0,0 +1,30 @@ +From b5bda3431159b6505dcd069641c863018c4d4309 Mon Sep 17 00:00:00 2001 +From: Nicolas Dufresne +Date: Wed, 6 Jul 2016 15:18:15 -0400 +Subject: [PATCH 2/6] build: Add ARM 64bit support + +Signed-off-by: Tanu Kaskinen +Upstream-Status: Accepted [expected in 0.4] +--- + configure.ac | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/configure.ac b/configure.ac +index f5304b8..be20514 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -71,6 +71,11 @@ AS_CASE(["${host_cpu}"], + HAVE_ARM=1 + ARCH_CFLAGS="-DWEBRTC_ARCH_ARM" + ], ++ [aarch64*], ++ [ ++ HAVE_NEON=1 ++ ARCH_CFLAGS="-DWEBRTC_HAS_NEON -DWEBRTC_ARCH_ARM64" ++ ], + # FIXME: Add MIPS support, see webrtc/BUILD.gn for defines + [AC_MSG_ERROR([Unsupported CPU type $host_cpu])] + ) +-- +2.11.0 + diff --git a/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0003-build-fix-architecture-detection.patch b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0003-build-fix-architecture-detection.patch new file mode 100644 index 0000000..82e270f --- /dev/null +++ b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0003-build-fix-architecture-detection.patch @@ -0,0 +1,96 @@ +From 7722fb8a3189fea0f6381f02a0e4f63c847f0393 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sat, 6 Aug 2016 11:02:43 +0200 +Subject: [PATCH 3/6] build: fix architecture detection + +The current architecture detection, based on the "host_cpu" part of the +tuple does not work properly for a number of reason: + + - The code assumes that if host_cpu starts with "arm" then ARM + instructions are available, which is incorrect. Indeed, Cortex-M + platforms can run Linux, they are ARM platforms (so host_cpu = arm), + but they don't support ARM instructions: they support only the + Thumb-2 instruction set. + + - The armv7 case is also not very useful, as it is not standard at all + to pass armv7 as host_cpu even if the host system is actually ARMv7 + based. + + - For the same reason, the armv8 case is not very useful: ARMv8 is + AArch64, and there is already a separate case to handle this + architecture. + +So, this commit moves away from a host_cpu based logic, and instead +tests using AC_CHECK_DECLS() the built-in definitions of the compiler: + + - If we have __ARM_ARCH_ISA_ARM defined, then it's an ARM processor + that supports the ARM instruction set (this allows to exclude Thumb-2 + only processors). + + - If we have __ARM_ARCH_7A__, then we have an ARMv7-A processor, and + we can enable the corresponding optimizations + + - Same for __aarch64__, __i386__ and __x86_64__. + +In addition, we remove the AC_MSG_ERROR() that makes the build fail for +all architectures but the ones that are explicitly supported. Indeed, +webrtc-audio-processing builds just fine for other architectures (tested +on MIPS), it's just that none of the architecture-specific optimizations +will be used. + +Signed-off-by: Thomas Petazzoni +Signed-off-by: Tanu Kaskinen +Upstream-Status: Accepted [expected in 0.4] +--- + configure.ac | 35 +++++++++++------------------------ + 1 file changed, 11 insertions(+), 24 deletions(-) + +diff --git a/configure.ac b/configure.ac +index be20514..e898014 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -55,30 +55,17 @@ AS_CASE(["${host}"], + ) + AC_SUBST(PLATFORM_CFLAGS) + +-AS_CASE(["${host_cpu}"], +- [i?86|x86_64], +- [ +- HAVE_X86=1 +- ], +- [armv7*|armv8*], +- [ +- HAVE_ARM=1 +- HAVE_ARMV7=1 +- ARCH_CFLAGS="-DWEBRTC_ARCH_ARM -DWEBRTC_ARCH_ARM_V7" +- ], +- [arm*], +- [ +- HAVE_ARM=1 +- ARCH_CFLAGS="-DWEBRTC_ARCH_ARM" +- ], +- [aarch64*], +- [ +- HAVE_NEON=1 +- ARCH_CFLAGS="-DWEBRTC_HAS_NEON -DWEBRTC_ARCH_ARM64" +- ], +- # FIXME: Add MIPS support, see webrtc/BUILD.gn for defines +- [AC_MSG_ERROR([Unsupported CPU type $host_cpu])] +-) ++# Testing __ARM_ARCH_ISA_ARM since the code contains ARM instructions, ++# which don't work on Thumb-2 only platforms (ARMv7-M). ++AC_CHECK_DECLS([__ARM_ARCH_ISA_ARM], ++ [HAVE_ARM=1; ARCH_CFLAGS="${ARCH_CFLAGS} -DWEBRTC_ARCH_ARM"]) ++AC_CHECK_DECLS([__ARM_ARCH_7A__], ++ [HAVE_ARMV7=1; ARCH_CFLAGS="${ARCH_CFLAGS} -DWEBRTC_ARCH_ARM_V7"]) ++AC_CHECK_DECLS([__aarch64__], ++ [HAVE_NEON=1; ARCH_CFLAGS="${ARCH_CFLAGS} -DWEBRTC_HAS_NEON -DWEBRTC_ARCH_ARM64"]) ++AC_CHECK_DECLS([__i386__], [HAVE_X86=1]) ++AC_CHECK_DECLS([__x86_64__], [HAVE_X86=1]) ++ + AM_CONDITIONAL(HAVE_X86, [test "x${HAVE_X86}" = "x1"]) + AM_CONDITIONAL(HAVE_ARM, [test "x${HAVE_ARM}" = "x1"]) + AM_CONDITIONAL(HAVE_ARMV7, [test "x${HAVE_ARMV7}" = "x1"]) +-- +2.11.0 + diff --git a/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0004-typedefs.h-add-support-for-64-bit-and-big-endian-MIP.patch b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0004-typedefs.h-add-support-for-64-bit-and-big-endian-MIP.patch new file mode 100644 index 0000000..c96f10e --- /dev/null +++ b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0004-typedefs.h-add-support-for-64-bit-and-big-endian-MIP.patch @@ -0,0 +1,41 @@ +From 0c332b7d94f8425c4f33344ddf406b6eea458861 Mon Sep 17 00:00:00 2001 +From: Tanu Kaskinen +Date: Mon, 8 May 2017 17:01:49 +0300 +Subject: [PATCH 4/6] typedefs.h: add support for 64-bit and big endian MIPS + +The 64-bit check is taken from the upstream webrtc project, the big +endian check is my own addition. + +Upstream-Status: Pending +Signed-off-by: Tanu Kaskinen +--- + webrtc/typedefs.h | 11 ++++++++++- + 1 file changed, 10 insertions(+), 1 deletion(-) + +diff --git a/webrtc/typedefs.h b/webrtc/typedefs.h +index d875490..d1b2f54 100644 +--- a/webrtc/typedefs.h ++++ b/webrtc/typedefs.h +@@ -41,9 +41,18 @@ + //#define WEBRTC_ARCH_ARMEL + #define WEBRTC_ARCH_32_BITS + #define WEBRTC_ARCH_LITTLE_ENDIAN +-#elif defined(__MIPSEL__) ++#elif defined(__MIPSEL__) || defined(__MIPSEB__) ++#define WEBRTC_ARCH_MIPS_FAMILY ++#if defined(__LP64__) ++#define WEBRTC_ARCH_64_BITS ++#else + #define WEBRTC_ARCH_32_BITS ++#endif ++#if defined(__MIPSEL__) + #define WEBRTC_ARCH_LITTLE_ENDIAN ++#else ++#define WEBRTC_ARCH_BIG_ENDIAN ++#endif + #elif defined(__pnacl__) + #define WEBRTC_ARCH_32_BITS + #define WEBRTC_ARCH_LITTLE_ENDIAN +-- +2.11.0 + diff --git a/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0005-typedefs.h-add-support-for-PowerPC.patch b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0005-typedefs.h-add-support-for-PowerPC.patch new file mode 100644 index 0000000..e16b57e --- /dev/null +++ b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0005-typedefs.h-add-support-for-PowerPC.patch @@ -0,0 +1,28 @@ +From db5f570e928c8ca5b0b8dc702e1af0a57277f092 Mon Sep 17 00:00:00 2001 +From: Tanu Kaskinen +Date: Mon, 3 Jul 2017 16:20:08 +0300 +Subject: [PATCH 5/6] typedefs.h: add support for PowerPC + +Upstream-Status: Pending +Signed-off-by: Tanu Kaskinen +--- + webrtc/typedefs.h | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/webrtc/typedefs.h b/webrtc/typedefs.h +index d1b2f54..6e34d9e 100644 +--- a/webrtc/typedefs.h ++++ b/webrtc/typedefs.h +@@ -53,6 +53,9 @@ + #else + #define WEBRTC_ARCH_BIG_ENDIAN + #endif ++#elif defined(__powerpc__) ++#define WEBRTC_ARCH_32_BITS ++#define WEBRTC_ARCH_BIG_ENDIAN + #elif defined(__pnacl__) + #define WEBRTC_ARCH_32_BITS + #define WEBRTC_ARCH_LITTLE_ENDIAN +-- +2.11.0 + diff --git a/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0006-common_audio-implement-endianness-conversion-in-wav-.patch b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0006-common_audio-implement-endianness-conversion-in-wav-.patch new file mode 100644 index 0000000..5826ab0 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0006-common_audio-implement-endianness-conversion-in-wav-.patch @@ -0,0 +1,116 @@ +From 7d31da8ef93987000f297d435dbacaf7d436107b Mon Sep 17 00:00:00 2001 +From: Tanu Kaskinen +Date: Thu, 15 Jun 2017 18:38:30 +0300 +Subject: [PATCH 6/6] common_audio: implement endianness conversion in wav file + handling + +The code didn't build for big endian machines due to the missing +endianness conversions. + +Upstream-Status: Pending +Signed-off-by: Tanu Kaskinen +--- + webrtc/common_audio/wav_file.cc | 27 +++++++++++++++++++++------ + webrtc/common_audio/wav_header.cc | 32 +++++++++++++++++++++++++++++++- + 2 files changed, 52 insertions(+), 7 deletions(-) + +diff --git a/webrtc/common_audio/wav_file.cc b/webrtc/common_audio/wav_file.cc +index b14b620..e2f7738 100644 +--- a/webrtc/common_audio/wav_file.cc ++++ b/webrtc/common_audio/wav_file.cc +@@ -64,9 +64,6 @@ WavReader::~WavReader() { + } + + size_t WavReader::ReadSamples(size_t num_samples, int16_t* samples) { +-#ifndef WEBRTC_ARCH_LITTLE_ENDIAN +-#error "Need to convert samples to big-endian when reading from WAV file" +-#endif + // There could be metadata after the audio; ensure we don't read it. + num_samples = std::min(rtc::checked_cast(num_samples), + num_samples_remaining_); +@@ -76,6 +73,13 @@ size_t WavReader::ReadSamples(size_t num_samples, int16_t* samples) { + RTC_CHECK(read == num_samples || feof(file_handle_)); + RTC_CHECK_LE(read, num_samples_remaining_); + num_samples_remaining_ -= rtc::checked_cast(read); ++ ++#ifdef WEBRTC_ARCH_BIG_ENDIAN ++ // Convert the read samples from little-endian to big-endian. ++ for (size_t i = 0; i < read; i++) ++ samples[i] = ((uint16_t) samples[i] >> 8) | ((uint16_t) samples[i] << 8); ++#endif ++ + return read; + } + +@@ -119,11 +123,22 @@ WavWriter::~WavWriter() { + } + + void WavWriter::WriteSamples(const int16_t* samples, size_t num_samples) { +-#ifndef WEBRTC_ARCH_LITTLE_ENDIAN +-#error "Need to convert samples to little-endian when writing to WAV file" +-#endif ++#ifdef WEBRTC_ARCH_BIG_ENDIAN ++ // Convert the samples from big-endian samples to little-endian. ++ int16_t* converted_samples = static_cast(malloc(num_samples * sizeof(*samples))); ++ RTC_CHECK(converted_samples) << "Out of memory."; ++ for (int i = 0; i < num_samples; i++) ++ converted_samples[i] = ++ ((uint16_t) samples[i] >> 8) | ((uint16_t) samples[i] << 8); ++ ++ const size_t written = ++ fwrite(converted_samples, sizeof(*converted_samples), num_samples, ++ file_handle_); ++ free(converted_samples); ++#else + const size_t written = + fwrite(samples, sizeof(*samples), num_samples, file_handle_); ++#endif + RTC_CHECK_EQ(num_samples, written); + num_samples_ += static_cast(written); + RTC_CHECK(written <= std::numeric_limits::max() || +diff --git a/webrtc/common_audio/wav_header.cc b/webrtc/common_audio/wav_header.cc +index 61cfffe..382bfc7 100644 +--- a/webrtc/common_audio/wav_header.cc ++++ b/webrtc/common_audio/wav_header.cc +@@ -129,7 +129,37 @@ static inline std::string ReadFourCC(uint32_t x) { + return std::string(reinterpret_cast(&x), 4); + } + #else +-#error "Write be-to-le conversion functions" ++static inline void WriteLE16(uint16_t* f, uint16_t x) { ++ *f = x >> 8 | x << 8; ++} ++static inline void WriteLE32(uint32_t* f, uint32_t x) { ++ *f = x >> 24 ++ | (x && 0xFF0000) >> 8 ++ | (x && 0xFF00) << 8 ++ | x << 24; ++} ++static inline void WriteFourCC(uint32_t* f, char a, char b, char c, char d) { ++ *f = static_cast(d) ++ | static_cast(c) << 8 ++ | static_cast(b) << 16 ++ | static_cast(a) << 24; ++} ++ ++static inline uint32_t ReadLE16(uint16_t x) { ++ return x >> 8 | x << 8; ++} ++ ++static inline uint32_t ReadLE32(uint32_t x) { ++ return x >> 24 ++ | (x && 0xFF0000) >> 8 ++ | (x && 0xFF00) << 8 ++ | x << 24; ++} ++ ++static inline std::string ReadFourCC(uint32_t x) { ++ x = ReadLE32(x); ++ return std::string(reinterpret_cast(&x), 4); ++} + #endif + + static inline uint32_t RiffChunkSize(uint32_t bytes_in_payload) { +-- +2.11.0 + diff --git a/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing_0.3.bb b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing_0.3.bb new file mode 100644 index 0000000..eb9a304 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing_0.3.bb @@ -0,0 +1,25 @@ +DESCRIPTION = "Audio processing bits of the WebRTC reference implementation" +HOMEPAGE = "https://www.freedesktop.org/software/pulseaudio/webrtc-audio-processing/" +SECTION = "audio" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://COPYING;md5=da08a38a32a340c5d91e13ee86a118f2 \ + file://webrtc/common.h;beginline=1;endline=9;md5=41f7322d91deabaf0acbbd0b8d0bc548 \ +" + +# Note that patch 3 effectively reverts patches 1 and 2. The only reason +# why patches 1 and 2 are included is that otherwise patch 3 wouldn't +# apply cleanly. +SRC_URI = "http://freedesktop.org/software/pulseaudio/webrtc-audio-processing/${BP}.tar.xz \ + file://0001-build-Protect-against-unsupported-CPU-types.patch \ + file://0002-build-Add-ARM-64bit-support.patch \ + file://0003-build-fix-architecture-detection.patch \ + file://0004-typedefs.h-add-support-for-64-bit-and-big-endian-MIP.patch \ + file://0005-typedefs.h-add-support-for-PowerPC.patch \ + file://0006-common_audio-implement-endianness-conversion-in-wav-.patch \ +" + +SRC_URI[md5sum] = "336ae032f608e65808ac577cde0ab72c" +SRC_URI[sha256sum] = "756e291d4f557d88cd50c4fe3b8454ec238362d22cedb3e6173240d90f0a80fa" + +inherit autotools -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 8 19:06:36 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 08 Jul 2017 19:06:36 +0000 Subject: [oe-commits] [meta-openembedded] 11/11: kodi: Fix build on powerpc In-Reply-To: <149954078553.15521.13502769468223606995@git.openembedded.org> References: <149954078553.15521.13502769468223606995@git.openembedded.org> Message-ID: <20170708190626.04D4C23486A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 05ec70979aae9300a7a4276d501cecd0b7e0aa4e Author: Khem Raj AuthorDate: Sat Jul 8 06:17:42 2017 -0700 kodi: Fix build on powerpc 64bit atomics are not available therefore link in libatomic Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb b/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb index 3bc2eb5..0b39116 100644 --- a/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb +++ b/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb @@ -133,6 +133,7 @@ BUILD_OPTIMIZATION = "${FULL_OPTIMIZATION}" LDFLAGS_append_mips = " -latomic" LDFLAGS_append_mipsel = " -latomic" +LDFLAGS_append_powerpc = " -latomic" EXTRA_OECONF_append = " LIBTOOL=${STAGING_BINDIR_CROSS}/${HOST_SYS}-libtool" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 8 19:06:35 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 08 Jul 2017 19:06:35 +0000 Subject: [oe-commits] [meta-openembedded] 10/11: pptp-linux: Upgrade to 1.9.0 In-Reply-To: <149954078553.15521.13502769468223606995@git.openembedded.org> References: <149954078553.15521.13502769468223606995@git.openembedded.org> Message-ID: <20170708190625.F1633234869@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit c6b144659440fb132b4052772eece38c9d38a7bf Author: Khem Raj AuthorDate: Sat Jul 8 06:17:44 2017 -0700 pptp-linux: Upgrade to 1.9.0 Fix build errors found when building for musl while here Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../0001-include-missing-sys-types.h.patch | 28 ++++++++++++++++++++++ .../{pptp-linux-1.8.0 => pptp-linux}/options.pptp | 0 .../{pptp-linux_1.8.0.bb => pptp-linux_1.9.0.bb} | 9 ++++--- 3 files changed, 32 insertions(+), 5 deletions(-) diff --git a/meta-networking/recipes-protocols/pptp-linux/pptp-linux/0001-include-missing-sys-types.h.patch b/meta-networking/recipes-protocols/pptp-linux/pptp-linux/0001-include-missing-sys-types.h.patch new file mode 100644 index 0000000..804bf12 --- /dev/null +++ b/meta-networking/recipes-protocols/pptp-linux/pptp-linux/0001-include-missing-sys-types.h.patch @@ -0,0 +1,28 @@ +From f6c4d2468ae0dadd2f35680d61b98b2a59077328 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 7 Jul 2017 10:31:03 -0700 +Subject: [PATCH] include missing sys/types.h + +Fixes errors seen on musl +pqueue.h:21:3: error: unknown type name 'u_int32_t' + +Signed-off-by: Khem Raj +--- + pqueue.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/pqueue.h b/pqueue.h +index c37ba7b..ae4cc6a 100644 +--- a/pqueue.h ++++ b/pqueue.h +@@ -3,6 +3,7 @@ + + #include + #include ++#include + + /* wait this many seconds for missing packets before forgetting about them */ + #define DEFAULT_PACKET_TIMEOUT 0.3 +-- +2.13.2 + diff --git a/meta-networking/recipes-protocols/pptp-linux/pptp-linux-1.8.0/options.pptp b/meta-networking/recipes-protocols/pptp-linux/pptp-linux/options.pptp similarity index 100% rename from meta-networking/recipes-protocols/pptp-linux/pptp-linux-1.8.0/options.pptp rename to meta-networking/recipes-protocols/pptp-linux/pptp-linux/options.pptp diff --git a/meta-networking/recipes-protocols/pptp-linux/pptp-linux_1.8.0.bb b/meta-networking/recipes-protocols/pptp-linux/pptp-linux_1.9.0.bb similarity index 81% rename from meta-networking/recipes-protocols/pptp-linux/pptp-linux_1.8.0.bb rename to meta-networking/recipes-protocols/pptp-linux/pptp-linux_1.9.0.bb index bc8b2cb..10c9170 100644 --- a/meta-networking/recipes-protocols/pptp-linux/pptp-linux_1.8.0.bb +++ b/meta-networking/recipes-protocols/pptp-linux/pptp-linux_1.9.0.bb @@ -9,14 +9,13 @@ SECTION = "net" LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" -PR = "r1" - SRC_URI = "${SOURCEFORGE_MIRROR}/sourceforge/pptpclient/pptp-${PV}.tar.gz \ file://options.pptp \ -" + file://0001-include-missing-sys-types.h.patch \ + " -SRC_URI[md5sum] = "4efce9f263e2c3f38d79d9df222476de" -SRC_URI[sha256sum] = "e39c42d933242a8a6dd8600a0fa7f0a5ec8f066d10c4149d8e81a5c68fe4bbda" +SRC_URI[md5sum] = "b2117b377f65294a9786f80f0235d308" +SRC_URI[sha256sum] = "0b1e8cbfc578d3f5ab12ee87c5c2c60419abfe9cc445690a8a19c320b11c9201" S = "${WORKDIR}/pptp-${PV}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 10 12:01:59 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 10 Jul 2017 12:01:59 +0000 Subject: [oe-commits] [openembedded-core] branch master-next updated (76e750b -> 7dd5dfc) Message-ID: <149968811918.22744.7195354327311562976@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master-next in repository openembedded-core. discard 76e750b oeqa/tinfoil: Improve test_wait_event for race issues discard d1129a4 staging: Ensure a clean recipe sysroot removes addto_recipe_sysroot stamps discard 21cc4ab oeqa/sdk: Replace buildiptables for buildlzip tests discard ab4ed83 testimage: Use the renamed buildlzip discard 27516e8 oeqa/runtime: Replace buildiptables for buildlzip on runtime tests discard 2b74a65 mirrors.bbclass: remove stale lsof ftp mirrors discard 26815de lsof: update SRC_URI discard 08453d9 lsof: minor recipe cleanup discard 3317a34 Revert "oeqa/sdk: Replace buildiptables for buildlzip tests" discard 78da67e image_types: fix kernel target on elf's image dependencies discard cb800c3 linuxloader.bbclass: add musl libc support discard 1030095 vulkan: RRECOMMEND mesa drivers discard f9c15b4 mesa, gstreamer: Add "vulkan" DISTRO_FEATURE discard 6caa939 gstreamer1.0-plugins-bad: Add vulkan PACKAGECONFIG discard c4e7aa5 assimp: Add as dependency of vulkan-demos discard bcf0cc4 vulkan: Upgrade 1.0.39.1 -> 1.0.51.0 discard 27dbe64 perl: Support musl-x32 build discard cb2dfe9 grub-efi: Support musl-x32 discard b9e6149 gnu-efi: Support musl-x32 build discard 0ff5b48 siteinfo.bbclass: Support musl-x32 discard 6018c83 insane.bbclass: Support musl-x32 discard 06e5f20 mesa: etnaviv: fix shader miscompilation with more than 16 labels discard 7609777 ovmf: Fix build with toolchain defaulting to PIE discard 5e4de42 security_flags.inc: Do not build gcc for powerpc with PIE defaults discard 419aa77 gstreamer1.0-plugins-bad: Fix missing library with bcm egl discard 3633bdb libunwind: We set -fPIE in security flags now if gcc is not configured for default PIE discard 4063ecf sysklogd: Improve build and fix runtime crash discard 40f044f gcc: Link libssp_nonshared.a only on musl targets discard 03c9c31 gcc7: Enable static PIE discard 18158c7 distutils,setuptools: Delete use of SECURITY_NO_PIE_CFLAGS discard d18cdf4 security_flags.inc: Delete pinnings for SECURITY_NO_PIE_CFLAGS discard 0bbcb44 gcc: Introduce a knob to configure gcc to default to PIE discard e3354f9 oeqa/sdk: Replace buildiptables for buildlzip tests add 1c7e195 gcc: Introduce a knob to configure gcc to default to PIE add e93765f security_flags.inc: Delete pinnings for SECURITY_NO_PIE_CFLAGS add fcfe6d4 distutils,setuptools: Delete use of SECURITY_NO_PIE_CFLAGS add 85557ab gcc7: Enable static PIE add d71eba2 gcc: Link libssp_nonshared.a only on musl targets add 39c00c7 sysklogd: Improve build and fix runtime crash add 24755af libunwind: We set -fPIE in security flags now if gcc is not configured for default PIE add c32dbe7 gstreamer1.0-plugins-bad: Fix missing library with bcm egl add 4f3a9cc security_flags.inc: Do not build gcc for powerpc with PIE defaults add 85476cd ovmf: Fix build with toolchain defaulting to PIE add 7a0abab mesa: etnaviv: fix shader miscompilation with more than 16 labels add 305e2b3 insane.bbclass: Support musl-x32 add 94ed793 siteinfo.bbclass: Support musl-x32 add a9301cb gnu-efi: Support musl-x32 build add 28cd7c5 grub-efi: Support musl-x32 add 4a50250 perl: Support musl-x32 build add da21b51 vulkan: Upgrade 1.0.39.1 -> 1.0.51.0 add d3f7a18 assimp: Add as dependency of vulkan-demos add a80a0b3 gstreamer1.0-plugins-bad: Add vulkan PACKAGECONFIG add a5ed54e mesa, gstreamer: Add "vulkan" DISTRO_FEATURE add 0fc9047 vulkan: RRECOMMEND mesa drivers add 5d4acae linuxloader.bbclass: add musl libc support add 50e6f23 image_types: fix kernel target on elf's image dependencies add 78701c5 lsof: minor recipe cleanup add 4e71824 lsof: update SRC_URI add 2ea075f mirrors.bbclass: remove stale lsof ftp mirrors add 41683e0 oeqa/runtime: Replace buildiptables for buildlzip on runtime tests add 57cd682 testimage: Use the renamed buildlzip add b798284 oeqa/sdk: Replace buildiptables for buildlzip tests add c440298 staging: Ensure a clean recipe sysroot removes addto_recipe_sysroot stamps add 7dd5dfc oeqa/tinfoil: Improve test_wait_event for race issues This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (76e750b) \ N -- N -- N refs/heads/master-next (7dd5dfc) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. No new revisions were added by this update. Summary of changes: -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 10 23:11:37 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 10 Jul 2017 23:11:37 +0000 Subject: [oe-commits] [openembedded-core] 04/15: glibc: Enable obsoleted nsl In-Reply-To: <149972829372.2035.9783393405679486670@git.openembedded.org> References: <149972829372.2035.9783393405679486670@git.openembedded.org> Message-ID: <20170710231134.4B994234863@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit e8047c772f49fe5a4a18d54289d98fb2f98a8176 Author: Khem Raj AuthorDate: Tue Apr 25 08:41:17 2017 -0700 glibc: Enable obsoleted nsl libnsl has been obsoleted in 2.26 and will be removed in future until them we enable it Signed-off-by: Khem Raj Signed-off-by: Ross Burton --- meta/recipes-core/glibc/glibc_2.25.90.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/recipes-core/glibc/glibc_2.25.90.bb b/meta/recipes-core/glibc/glibc_2.25.90.bb index 24f5a38..caf1ff4 100644 --- a/meta/recipes-core/glibc/glibc_2.25.90.bb +++ b/meta/recipes-core/glibc/glibc_2.25.90.bb @@ -75,6 +75,7 @@ EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \ --with-headers=${STAGING_INCDIR} \ --without-selinux \ --enable-obsolete-rpc \ + --enable-obsolete-nsl \ --enable-tunables \ --enable-bind-now \ --enable-stack-protector=strong \ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 10 23:11:36 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 10 Jul 2017 23:11:36 +0000 Subject: [oe-commits] [openembedded-core] 03/15: glibc: Drop obsoleted bits/string.h from multilibbing In-Reply-To: <149972829372.2035.9783393405679486670@git.openembedded.org> References: <149972829372.2035.9783393405679486670@git.openembedded.org> Message-ID: <20170710231134.4415F234862@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 81da4f6f12744fd051510a4df4eaeac73c232469 Author: Khem Raj AuthorDate: Wed Jun 28 10:39:10 2017 -0700 glibc: Drop obsoleted bits/string.h from multilibbing glibc 2.26 has dropped bits/string.h Signed-off-by: Khem Raj Signed-off-by: Ross Burton --- meta/recipes-core/glibc/glibc-package.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-core/glibc/glibc-package.inc b/meta/recipes-core/glibc/glibc-package.inc index 645be69..0281251 100644 --- a/meta/recipes-core/glibc/glibc-package.inc +++ b/meta/recipes-core/glibc/glibc-package.inc @@ -135,7 +135,7 @@ do_install_armmultilib () { oe_multilib_header bits/endian.h bits/fcntl.h bits/fenv.h bits/fp-fast.h bits/hwcap.h bits/ipc.h bits/link.h bits/wordsize.h oe_multilib_header bits/local_lim.h bits/mman.h bits/msq.h bits/pthreadtypes.h bits/sem.h bits/semaphore.h bits/setjmp.h - oe_multilib_header bits/shm.h bits/sigstack.h bits/stat.h bits/statfs.h bits/string.h bits/typesizes.h + oe_multilib_header bits/shm.h bits/sigstack.h bits/stat.h bits/statfs.h bits/typesizes.h oe_multilib_header fpu_control.h gnu/lib-names.h gnu/stubs.h ieee754.h -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 10 23:11:33 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 10 Jul 2017 23:11:33 +0000 Subject: [oe-commits] [openembedded-core] branch master-next updated (7dd5dfc -> cb57487) Message-ID: <149972829372.2035.9783393405679486670@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master-next in repository openembedded-core. from 7dd5dfc oeqa/tinfoil: Improve test_wait_event for race issues new 6733936 piglit: Update to current git master new 5a58883 glibc: Upgrade to 2.25.90 new 81da4f6 glibc: Drop obsoleted bits/string.h from multilibbing new e8047c7 glibc: Enable obsoleted nsl new c5cb3a5 gcc-sanitizer: Fix build with glibc 2.26 new d70b970 gcc: Use ucontext_t instead of ucontext new 1e10965 musl: Update to latest on master new 9d39168 gcc: Fix libssh_nonshared linker specs for ppc/musl new b82bc7f world-broken.inc: Remove packages which are now buildable on musl new 459907c valgrind: tests build fixes for musl new bbcc532 mpeg2dec: Fix textrels QA errors on arm new 8256b12 vulkan-demos: Add recipe new 2128da1 mesa: Split --with-platforms from egl PACKAGECONFIG new 8b6c8fb valgrind: Update 3.12.0 -> 3.13.0 new cb57487 libiconv: remove 0001-Fix-link-error-when-compiling-with-gcc-O0.patch The 15 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: meta/conf/distro/include/tcmode-default.inc | 2 +- meta/conf/distro/include/world-broken.inc | 25 ---- ...e_2.25.bb => cross-localedef-native_2.25.90.bb} | 26 ++-- ...bc-initial_2.25.bb => glibc-initial_2.25.90.bb} | 0 ...libc-locale_2.25.bb => glibc-locale_2.25.90.bb} | 0 ...libc-mtrace_2.25.bb => glibc-mtrace_2.25.90.bb} | 0 meta/recipes-core/glibc/glibc-package.inc | 2 +- ...bc-scripts_2.25.bb => glibc-scripts_2.25.90.bb} | 0 ...libc-Look-for-host-system-ld.so.cache-as-.patch | 8 +- ...libc-Fix-buffer-overrun-with-a-relocated-.patch | 8 +- ...libc-Raise-the-size-of-arrays-containing-.patch | 36 ++--- ...ivesdk-glibc-Allow-64-bit-atomics-for-x86.patch | 13 +- ...500-e5500-e6500-603e-fsqrt-implementation.patch | 44 +++--- ...-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch | 8 +- ...-Fix-undefined-reference-to-__sqrt_finite.patch | 30 ++-- ...qrt-f-are-now-inline-functions-and-call-o.patch | 30 ++-- ...bug-1443-which-explains-what-the-patch-do.patch | 10 +- ...n-libm-err-tab.pl-with-specific-dirs-in-S.patch | 8 +- ...qrt-f-are-now-inline-functions-and-call-o.patch | 10 +- ...ersion-output-matching-grok-gold-s-output.patch | 44 ------ ...configure.ac-handle-correctly-libc_cv_ro.patch} | 10 +- ...ibute.patch => 0013-Add-unused-attribute.patch} | 8 +- ...hin-the-path-sets-wrong-config-variables.patch} | 30 ++-- ...timezone-re-written-tzselect-as-posix-sh.patch} | 12 +- ...ove-bash-dependency-for-nscd-init-script.patch} | 11 +- ...-Cross-building-and-testing-instructions.patch} | 10 +- ...18-eglibc-Help-bootstrap-cross-toolchain.patch} | 10 +- ... 0019-eglibc-Clear-cache-lines-on-ppc8xx.patch} | 10 +- ...020-eglibc-Resolve-__fpscr_values-on-SH4.patch} | 10 +- .../glibc/0020-eglibc-cherry-picked-from.patch | 64 --------- ...atch => 0021-eglibc-Install-PIC-archives.patch} | 20 +-- ...ard-port-cross-locale-generation-support.patch} | 36 ++--- ...023-Define-DUMMY_LOCALE_T-if-not-defined.patch} | 8 +- ...c-Make-_dl_build_local_scope-breadth-fir.patch} | 8 +- ...locale-fix-hard-coded-reference-to-gcc-E.patch} | 10 +- .../glibc/{glibc_2.25.bb => glibc_2.25.90.bb} | 36 ++--- meta/recipes-core/musl/musl_git.bb | 2 +- meta/recipes-devtools/gcc/gcc-7.1.inc | 2 + ...shared-to-link-commandline-for-musl-targe.patch | 55 ++++++- ...r-Use-stack_t-instead-of-struct-sigaltsta.patch | 160 +++++++++++++++++++++ ...0-replace-struct-ucontext-with-ucontext_t.patch | 149 +++++++++++++++++++ .../valgrind/0001-fix-build-for-musl-targets.patch | 69 --------- ...m64-Define-__THROW-if-not-already-defined.patch | 32 +++++ ...emcheck-x86-Define-__THROW-if-not-defined.patch | 32 +++++ ...verride-Replace-__modify_ldt-with-syscall.patch | 68 +++++++++ .../valgrind/0004-Fix-out-of-tree-builds.patch | 34 +++-- .../{valgrind_3.12.0.bb => valgrind_3.13.0.bb} | 16 +-- meta/recipes-graphics/mesa/mesa.inc | 12 +- ...fine-GBM_BO_MAP-only-when-symbol-is-found.patch | 49 ------- ...nour-Surfaceless-MESA-in-get_default_disp.patch | 49 ------- ...atform_surfaceless-Don-t-use-eglGetPlatfo.patch | 31 ---- ...atform_surfaceless-Use-EXT-functions-for-.patch | 76 ---------- meta/recipes-graphics/piglit/piglit_git.bb | 8 +- ...ild-demos-with-questionably-licensed-data.patch | 91 ++++++++++++ .../vulkan-demos/0001-Fix-build-on-x86.patch | 41 ++++++ ...stalling-demos-support-out-of-tree-builds.patch | 85 +++++++++++ meta/recipes-graphics/vulkan/vulkan-demos_git.bb | 36 +++++ ...001-check-for-available-arm-optimizations.patch | 55 +++++++ ...ity-of-global-symbols-used-in-ARM-specifi.patch | 63 ++++++++ meta/recipes-multimedia/mpeg2dec/mpeg2dec_0.5.1.bb | 5 +- ...Fix-link-error-when-compiling-with-gcc-O0.patch | 36 ----- 61 files changed, 1140 insertions(+), 713 deletions(-) rename meta/recipes-core/glibc/{cross-localedef-native_2.25.bb => cross-localedef-native_2.25.90.bb} (62%) rename meta/recipes-core/glibc/{glibc-initial_2.25.bb => glibc-initial_2.25.90.bb} (100%) rename meta/recipes-core/glibc/{glibc-locale_2.25.bb => glibc-locale_2.25.90.bb} (100%) rename meta/recipes-core/glibc/{glibc-mtrace_2.25.bb => glibc-mtrace_2.25.90.bb} (100%) rename meta/recipes-core/glibc/{glibc-scripts_2.25.bb => glibc-scripts_2.25.90.bb} (100%) delete mode 100644 meta/recipes-core/glibc/glibc/0012-Make-ld-version-output-matching-grok-gold-s-output.patch rename meta/recipes-core/glibc/glibc/{0013-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch => 0012-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch} (82%) rename meta/recipes-core/glibc/glibc/{0014-Add-unused-attribute.patch => 0013-Add-unused-attribute.patch} (82%) rename meta/recipes-core/glibc/glibc/{0015-yes-within-the-path-sets-wrong-config-variables.patch => 0014-yes-within-the-path-sets-wrong-config-variables.patch} (94%) rename meta/recipes-core/glibc/glibc/{0016-timezone-re-written-tzselect-as-posix-sh.patch => 0015-timezone-re-written-tzselect-as-posix-sh.patch} (81%) rename meta/recipes-core/glibc/glibc/{0017-Remove-bash-dependency-for-nscd-init-script.patch => 0016-Remove-bash-dependency-for-nscd-init-script.patch} (89%) rename meta/recipes-core/glibc/glibc/{0018-eglibc-Cross-building-and-testing-instructions.patch => 0017-eglibc-Cross-building-and-testing-instructions.patch} (99%) rename meta/recipes-core/glibc/glibc/{0019-eglibc-Help-bootstrap-cross-toolchain.patch => 0018-eglibc-Help-bootstrap-cross-toolchain.patch} (94%) rename meta/recipes-core/glibc/glibc/{0021-eglibc-Clear-cache-lines-on-ppc8xx.patch => 0019-eglibc-Clear-cache-lines-on-ppc8xx.patch} (94%) rename meta/recipes-core/glibc/glibc/{0022-eglibc-Resolve-__fpscr_values-on-SH4.patch => 0020-eglibc-Resolve-__fpscr_values-on-SH4.patch} (88%) delete mode 100644 meta/recipes-core/glibc/glibc/0020-eglibc-cherry-picked-from.patch rename meta/recipes-core/glibc/glibc/{0023-eglibc-Install-PIC-archives.patch => 0021-eglibc-Install-PIC-archives.patch} (90%) rename meta/recipes-core/glibc/glibc/{0024-eglibc-Forward-port-cross-locale-generation-support.patch => 0022-eglibc-Forward-port-cross-locale-generation-support.patch} (96%) rename meta/recipes-core/glibc/glibc/{0025-Define-DUMMY_LOCALE_T-if-not-defined.patch => 0023-Define-DUMMY_LOCALE_T-if-not-defined.patch} (80%) rename meta/recipes-core/glibc/glibc/{0026-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch => 0024-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch} (89%) rename meta/recipes-core/glibc/glibc/{0027-locale-fix-hard-coded-reference-to-gcc-E.patch => 0025-locale-fix-hard-coded-reference-to-gcc-E.patch} (82%) rename meta/recipes-core/glibc/{glibc_2.25.bb => glibc_2.25.90.bb} (80%) create mode 100644 meta/recipes-devtools/gcc/gcc-7.1/0049-libsanitizer-Use-stack_t-instead-of-struct-sigaltsta.patch create mode 100644 meta/recipes-devtools/gcc/gcc-7.1/0050-replace-struct-ucontext-with-ucontext_t.patch delete mode 100644 meta/recipes-devtools/valgrind/valgrind/0001-fix-build-for-musl-targets.patch create mode 100644 meta/recipes-devtools/valgrind/valgrind/0001-memcheck-arm64-Define-__THROW-if-not-already-defined.patch create mode 100644 meta/recipes-devtools/valgrind/valgrind/0002-memcheck-x86-Define-__THROW-if-not-defined.patch create mode 100644 meta/recipes-devtools/valgrind/valgrind/0003-tests-seg_override-Replace-__modify_ldt-with-syscall.patch rename meta/recipes-devtools/valgrind/{valgrind_3.12.0.bb => valgrind_3.13.0.bb} (89%) delete mode 100644 meta/recipes-graphics/piglit/piglit/0001-CMake-define-GBM_BO_MAP-only-when-symbol-is-found.patch delete mode 100644 meta/recipes-graphics/piglit/piglit/0002-util-egl-Honour-Surfaceless-MESA-in-get_default_disp.patch delete mode 100644 meta/recipes-graphics/piglit/piglit/0003-egl_mesa_platform_surfaceless-Don-t-use-eglGetPlatfo.patch delete mode 100644 meta/recipes-graphics/piglit/piglit/0004-egl_mesa_platform_surfaceless-Use-EXT-functions-for-.patch create mode 100644 meta/recipes-graphics/vulkan/vulkan-demos/0001-Don-t-build-demos-with-questionably-licensed-data.patch create mode 100644 meta/recipes-graphics/vulkan/vulkan-demos/0001-Fix-build-on-x86.patch create mode 100644 meta/recipes-graphics/vulkan/vulkan-demos/0001-Support-installing-demos-support-out-of-tree-builds.patch create mode 100644 meta/recipes-graphics/vulkan/vulkan-demos_git.bb create mode 100644 meta/recipes-multimedia/mpeg2dec/files/0001-check-for-available-arm-optimizations.patch create mode 100644 meta/recipes-multimedia/mpeg2dec/files/0002-Set-visibility-of-global-symbols-used-in-ARM-specifi.patch delete mode 100644 meta/recipes-support/libiconv/libiconv-1.14/0001-Fix-link-error-when-compiling-with-gcc-O0.patch -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 10 23:11:34 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 10 Jul 2017 23:11:34 +0000 Subject: [oe-commits] [openembedded-core] 01/15: piglit: Update to current git master In-Reply-To: <149972829372.2035.9783393405679486670@git.openembedded.org> References: <149972829372.2035.9783393405679486670@git.openembedded.org> Message-ID: <20170710231134.2BEC2234860@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 6733936c432a4e73c8dc63099c6abf7e393a1f93 Author: Jussi Kukkonen AuthorDate: Fri Jul 7 13:59:08 2017 +0300 piglit: Update to current git master Update, remove backported patches. Signed-off-by: Jussi Kukkonen Signed-off-by: Ross Burton --- ...fine-GBM_BO_MAP-only-when-symbol-is-found.patch | 49 -------------- ...nour-Surfaceless-MESA-in-get_default_disp.patch | 49 -------------- ...atform_surfaceless-Don-t-use-eglGetPlatfo.patch | 31 --------- ...atform_surfaceless-Use-EXT-functions-for-.patch | 76 ---------------------- meta/recipes-graphics/piglit/piglit_git.bb | 8 +-- 5 files changed, 2 insertions(+), 211 deletions(-) diff --git a/meta/recipes-graphics/piglit/piglit/0001-CMake-define-GBM_BO_MAP-only-when-symbol-is-found.patch b/meta/recipes-graphics/piglit/piglit/0001-CMake-define-GBM_BO_MAP-only-when-symbol-is-found.patch deleted file mode 100644 index 9d6eaaa..0000000 --- a/meta/recipes-graphics/piglit/piglit/0001-CMake-define-GBM_BO_MAP-only-when-symbol-is-found.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 6b6acee8841d092e5066b1bec2ba1c49cce4f91f Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Daniel=20D=C3=ADaz?= -Date: Thu, 4 May 2017 00:57:39 -0500 -Subject: [PATCH 1/4] CMake: define GBM_BO_MAP only when symbol is found -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -gbm_bo_map() and _unmap() have been added recently to Mesa, -and this update may not have reached all implementations of -GBM, such as the one provided by Mali r6, where said -definitions can be found in the header file but not in the -library itself. This leads to errors like the following when -linking: - ../../../../lib/libpiglitutil_gl.so.0: undefined reference to `gbm_bo_unmap' - ../../../../lib/libpiglitutil_gl.so.0: undefined reference to `gbm_bo_map' - collect2: error: ld returned 1 exit status - make[2]: *** [bin/point-sprite] Error 1 - -Instead of relying on the header file, actually try to link -using that symbol to determine if PIGLIT_HAS_GBM_BO_MAP -should be defined. - -Signed-off-by: Daniel D?az -Reviewed-by: Jan Vesely -Upstream-Status: Backport ---- - CMakeLists.txt | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index a4ff99e..cc26fa8 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -141,8 +141,9 @@ IF(${CMAKE_SYSTEM_NAME} MATCHES "Linux") - if(GBM_FOUND) - set(PIGLIT_HAS_GBM True) - add_definitions(-DPIGLIT_HAS_GBM) -- if (GBM_VERSION VERSION_EQUAL "12.1" OR GBM_VERSION VERSION_GREATER "12.1") -- set(PIGLIT_HAS_GBM_BO_MAP True) -+ set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${GBM_LIBRARIES}) -+ CHECK_FUNCTION_EXISTS(gbm_bo_map PIGLIT_HAS_GBM_BO_MAP) -+ if (PIGLIT_HAS_GBM_BO_MAP) - add_definitions(-DPIGLIT_HAS_GBM_BO_MAP) - endif() - endif(GBM_FOUND) --- -1.9.1 - diff --git a/meta/recipes-graphics/piglit/piglit/0002-util-egl-Honour-Surfaceless-MESA-in-get_default_disp.patch b/meta/recipes-graphics/piglit/piglit/0002-util-egl-Honour-Surfaceless-MESA-in-get_default_disp.patch deleted file mode 100644 index 39f0d86..0000000 --- a/meta/recipes-graphics/piglit/piglit/0002-util-egl-Honour-Surfaceless-MESA-in-get_default_disp.patch +++ /dev/null @@ -1,49 +0,0 @@ -From aa6728cc4941a87e3933c2aa770ab8ae3080b870 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Daniel=20D=C3=ADaz?= -Date: Tue, 16 May 2017 12:37:07 -0500 -Subject: [PATCH 2/4] util/egl: Honour Surfaceless MESA in get_default_display -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Signed-off-by: Daniel D?az -Upstream-Status: Pending ---- - tests/util/piglit-util-egl.c | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/tests/util/piglit-util-egl.c b/tests/util/piglit-util-egl.c -index 106c735..389fe12 100644 ---- a/tests/util/piglit-util-egl.c -+++ b/tests/util/piglit-util-egl.c -@@ -85,6 +85,7 @@ piglit_egl_get_default_display(EGLenum platform) - static bool has_x11 = false; - static bool has_wayland = false; - static bool has_gbm = false; -+ static bool has_surfaceless_mesa = false; - - static EGLDisplay (*peglGetPlatformDisplayEXT)(EGLenum platform, void *native_display, const EGLint *attrib_list); - -@@ -99,6 +100,7 @@ piglit_egl_get_default_display(EGLenum platform) - has_x11 = piglit_is_egl_extension_supported(EGL_NO_DISPLAY, "EGL_EXT_platform_x11"); - has_wayland = piglit_is_egl_extension_supported(EGL_NO_DISPLAY, "EGL_EXT_platform_wayland"); - has_gbm = piglit_is_egl_extension_supported(EGL_NO_DISPLAY, "EGL_EXT_platform_gbm"); -+ has_surfaceless_mesa = piglit_is_egl_extension_supported(EGL_NO_DISPLAY, "EGL_MESA_platform_surfaceless"); - - peglGetPlatformDisplayEXT = (void*) eglGetProcAddress("eglGetPlatformDisplayEXT"); - } -@@ -123,6 +125,11 @@ piglit_egl_get_default_display(EGLenum platform) - return EGL_NO_DISPLAY; - } - break; -+ case EGL_PLATFORM_SURFACELESS_MESA: -+ if (!has_surfaceless_mesa) { -+ return EGL_NO_DISPLAY; -+ } -+ break; - default: - fprintf(stderr, "%s: unrecognized platform %#x\n", __func__, platform); - return EGL_NO_DISPLAY; --- -1.9.1 - diff --git a/meta/recipes-graphics/piglit/piglit/0003-egl_mesa_platform_surfaceless-Don-t-use-eglGetPlatfo.patch b/meta/recipes-graphics/piglit/piglit/0003-egl_mesa_platform_surfaceless-Don-t-use-eglGetPlatfo.patch deleted file mode 100644 index ee64415..0000000 --- a/meta/recipes-graphics/piglit/piglit/0003-egl_mesa_platform_surfaceless-Don-t-use-eglGetPlatfo.patch +++ /dev/null @@ -1,31 +0,0 @@ -From b02bdbfdba3464ce47f87c04bcd1d35a8fef3f54 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Daniel=20D=C3=ADaz?= -Date: Wed, 17 May 2017 17:53:10 -0500 -Subject: [PATCH 3/4] egl_mesa_platform_surfaceless: Don't use - eglGetPlatformDisplay directly -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Signed-off-by: Daniel D?az -Upstream-Status: Pending ---- - .../spec/egl_mesa_platform_surfaceless/egl_mesa_platform_surfaceless.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/tests/egl/spec/egl_mesa_platform_surfaceless/egl_mesa_platform_surfaceless.c b/tests/egl/spec/egl_mesa_platform_surfaceless/egl_mesa_platform_surfaceless.c -index 3bbd6aa..81a3919 100644 ---- a/tests/egl/spec/egl_mesa_platform_surfaceless/egl_mesa_platform_surfaceless.c -+++ b/tests/egl/spec/egl_mesa_platform_surfaceless/egl_mesa_platform_surfaceless.c -@@ -31,7 +31,7 @@ test_setup(EGLDisplay *dpy) - - piglit_require_egl_extension(EGL_NO_DISPLAY, "EGL_MESA_platform_surfaceless"); - -- *dpy = eglGetPlatformDisplay(EGL_PLATFORM_SURFACELESS_MESA, NULL, NULL); -+ *dpy = piglit_egl_get_default_display(EGL_PLATFORM_SURFACELESS_MESA); - if (*dpy == EGL_NO_DISPLAY) { - printf("failed to get EGLDisplay\n"); - piglit_report_result(PIGLIT_SKIP); --- -1.9.1 - diff --git a/meta/recipes-graphics/piglit/piglit/0004-egl_mesa_platform_surfaceless-Use-EXT-functions-for-.patch b/meta/recipes-graphics/piglit/piglit/0004-egl_mesa_platform_surfaceless-Use-EXT-functions-for-.patch deleted file mode 100644 index 8b4fd34..0000000 --- a/meta/recipes-graphics/piglit/piglit/0004-egl_mesa_platform_surfaceless-Use-EXT-functions-for-.patch +++ /dev/null @@ -1,76 +0,0 @@ -From f3bb10947a87cc3a59619847f53d47708e10fbb7 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Daniel=20D=C3=ADaz?= -Date: Wed, 17 May 2017 10:51:48 -0500 -Subject: [PATCH 4/4] egl_mesa_platform_surfaceless: Use EXT functions for - surfaces -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -These EXT symbols are guaranteed to exist since they require -EGL_EXT_platform_base. - -Signed-off-by: Daniel D?az -Upstream-Status: Pending ---- - .../egl_mesa_platform_surfaceless.c | 23 ++++++++++++++++++++-- - 1 file changed, 21 insertions(+), 2 deletions(-) - -diff --git a/tests/egl/spec/egl_mesa_platform_surfaceless/egl_mesa_platform_surfaceless.c b/tests/egl/spec/egl_mesa_platform_surfaceless/egl_mesa_platform_surfaceless.c -index 81a3919..264ed71 100644 ---- a/tests/egl/spec/egl_mesa_platform_surfaceless/egl_mesa_platform_surfaceless.c -+++ b/tests/egl/spec/egl_mesa_platform_surfaceless/egl_mesa_platform_surfaceless.c -@@ -24,6 +24,24 @@ - #include "piglit-util.h" - #include "piglit-util-egl.h" - -+/* Extension function pointers. -+ * -+ * Use prefix 'pegl' (piglit egl) instead of 'egl' to avoid collisions with -+ * prototypes in eglext.h. */ -+EGLSurface (*peglCreatePlatformPixmapSurfaceEXT)(EGLDisplay display, EGLConfig config, -+ NativePixmapType native_pixmap, const EGLint *attrib_list); -+EGLSurface (*peglCreatePlatformWindowSurfaceEXT)(EGLDisplay display, EGLConfig config, -+ NativeWindowType native_window, const EGLint *attrib_list); -+ -+static void -+init_egl_extension_funcs(void) -+{ -+ peglCreatePlatformPixmapSurfaceEXT = (void*) -+ eglGetProcAddress("eglCreatePlatformPixmapSurfaceEXT"); -+ peglCreatePlatformWindowSurfaceEXT = (void*) -+ eglGetProcAddress("eglCreatePlatformWindowSurfaceEXT"); -+} -+ - static void - test_setup(EGLDisplay *dpy) - { -@@ -72,7 +90,7 @@ test_create_window(void *test_data) - - test_setup(&dpy); - -- surf = eglCreatePlatformWindowSurface(dpy, EGL_NO_CONFIG_KHR, -+ surf = peglCreatePlatformWindowSurfaceEXT(dpy, EGL_NO_CONFIG_KHR, - /*native_window*/ NULL, - /*attrib_list*/ NULL); - if (surf) { -@@ -103,7 +121,7 @@ test_create_pixmap(void *test_data) - - test_setup(&dpy); - -- surf = eglCreatePlatformPixmapSurface(dpy, EGL_NO_CONFIG_KHR, -+ surf = peglCreatePlatformPixmapSurfaceEXT(dpy, EGL_NO_CONFIG_KHR, - /*native_window*/ NULL, - /*attrib_list*/ NULL); - if (surf) { -@@ -205,6 +223,7 @@ main(int argc, char **argv) - piglit_report_result(PIGLIT_FAIL); - } - -+ init_egl_extension_funcs(); - result = piglit_run_selected_subtests(subtests, selected_names, - num_selected, result); - piglit_report_result(result); --- -1.9.1 - diff --git a/meta/recipes-graphics/piglit/piglit_git.bb b/meta/recipes-graphics/piglit/piglit_git.bb index 2ea5779..3f43798 100644 --- a/meta/recipes-graphics/piglit/piglit_git.bb +++ b/meta/recipes-graphics/piglit/piglit_git.bb @@ -5,14 +5,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b2beded7103a3d8a442a2a0391d607b0" SRC_URI = "git://anongit.freedesktop.org/piglit \ file://0001-cmake-install-bash-completions-in-the-right-place.patch \ file://0001-tests-Use-FE_UPWARD-only-if-its-defined-in-fenv.h.patch \ - file://0001-CMake-define-GBM_BO_MAP-only-when-symbol-is-found.patch \ - file://0002-util-egl-Honour-Surfaceless-MESA-in-get_default_disp.patch \ - file://0003-egl_mesa_platform_surfaceless-Don-t-use-eglGetPlatfo.patch \ - file://0004-egl_mesa_platform_surfaceless-Use-EXT-functions-for-.patch \ " -# From 2017-02-06 -SRCREV = "ca58eec0b965655c7eba592a634cbf4aadfbc675" +# From 2017-07-03 +SRCREV = "c8f4fd9eeb298a2ef0855927f22634f794ef3eff" # (when PV goes above 1.0 remove the trailing r) PV = "1.0+gitr${SRCPV}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 10 23:11:35 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 10 Jul 2017 23:11:35 +0000 Subject: [oe-commits] [openembedded-core] 02/15: glibc: Upgrade to 2.25.90 In-Reply-To: <149972829372.2035.9783393405679486670@git.openembedded.org> References: <149972829372.2035.9783393405679486670@git.openembedded.org> Message-ID: <20170710231134.3CA24234861@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 5a58883258206893d15990953c8691b05473eecb Author: Khem Raj AuthorDate: Fri Apr 14 18:23:20 2017 -0700 glibc: Upgrade to 2.25.90 Eventually it will be released as 2.26 final Signed-off-by: Khem Raj --- meta/conf/distro/include/tcmode-default.inc | 2 +- ...e_2.25.bb => cross-localedef-native_2.25.90.bb} | 26 ++++----- ...bc-initial_2.25.bb => glibc-initial_2.25.90.bb} | 0 ...libc-locale_2.25.bb => glibc-locale_2.25.90.bb} | 0 ...libc-mtrace_2.25.bb => glibc-mtrace_2.25.90.bb} | 0 ...bc-scripts_2.25.bb => glibc-scripts_2.25.90.bb} | 0 ...libc-Look-for-host-system-ld.so.cache-as-.patch | 8 +-- ...libc-Fix-buffer-overrun-with-a-relocated-.patch | 8 +-- ...libc-Raise-the-size-of-arrays-containing-.patch | 36 ++++++------ ...ivesdk-glibc-Allow-64-bit-atomics-for-x86.patch | 13 +++-- ...500-e5500-e6500-603e-fsqrt-implementation.patch | 44 +++++++-------- ...-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch | 8 +-- ...-Fix-undefined-reference-to-__sqrt_finite.patch | 30 +++++----- ...qrt-f-are-now-inline-functions-and-call-o.patch | 30 +++++----- ...bug-1443-which-explains-what-the-patch-do.patch | 10 ++-- ...n-libm-err-tab.pl-with-specific-dirs-in-S.patch | 8 +-- ...qrt-f-are-now-inline-functions-and-call-o.patch | 10 ++-- ...ersion-output-matching-grok-gold-s-output.patch | 44 --------------- ...configure.ac-handle-correctly-libc_cv_ro.patch} | 10 ++-- ...ibute.patch => 0013-Add-unused-attribute.patch} | 8 +-- ...hin-the-path-sets-wrong-config-variables.patch} | 30 +++++----- ...timezone-re-written-tzselect-as-posix-sh.patch} | 12 ++-- ...ove-bash-dependency-for-nscd-init-script.patch} | 11 ++-- ...-Cross-building-and-testing-instructions.patch} | 10 ++-- ...18-eglibc-Help-bootstrap-cross-toolchain.patch} | 10 ++-- ... 0019-eglibc-Clear-cache-lines-on-ppc8xx.patch} | 10 ++-- ...020-eglibc-Resolve-__fpscr_values-on-SH4.patch} | 10 ++-- .../glibc/0020-eglibc-cherry-picked-from.patch | 64 ---------------------- ...atch => 0021-eglibc-Install-PIC-archives.patch} | 20 +++---- ...ard-port-cross-locale-generation-support.patch} | 36 ++++++------ ...023-Define-DUMMY_LOCALE_T-if-not-defined.patch} | 8 +-- ...c-Make-_dl_build_local_scope-breadth-fir.patch} | 8 +-- ...locale-fix-hard-coded-reference-to-gcc-E.patch} | 10 ++-- .../glibc/{glibc_2.25.bb => glibc_2.25.90.bb} | 35 ++++++------ 34 files changed, 231 insertions(+), 338 deletions(-) diff --git a/meta/conf/distro/include/tcmode-default.inc b/meta/conf/distro/include/tcmode-default.inc index 424b888..8ffb8ad 100644 --- a/meta/conf/distro/include/tcmode-default.inc +++ b/meta/conf/distro/include/tcmode-default.inc @@ -26,7 +26,7 @@ GCCVERSION ?= "7.%" SDKGCCVERSION ?= "${GCCVERSION}" BINUVERSION ?= "2.28%" GDBVERSION ?= "8.0%" -GLIBCVERSION ?= "2.25" +GLIBCVERSION ?= "2.25%" LINUXLIBCVERSION ?= "4.10%" PREFERRED_VERSION_gcc ?= "${GCCVERSION}" diff --git a/meta/recipes-core/glibc/cross-localedef-native_2.25.bb b/meta/recipes-core/glibc/cross-localedef-native_2.25.90.bb similarity index 62% rename from meta/recipes-core/glibc/cross-localedef-native_2.25.bb rename to meta/recipes-core/glibc/cross-localedef-native_2.25.90.bb index cbd16f7..5dd0c70 100644 --- a/meta/recipes-core/glibc/cross-localedef-native_2.25.bb +++ b/meta/recipes-core/glibc/cross-localedef-native_2.25.90.bb @@ -17,25 +17,25 @@ inherit autotools FILESEXTRAPATHS =. "${FILE_DIRNAME}/${PN}:${FILE_DIRNAME}/glibc:" -SRCBRANCH ?= "release/${PV}/master" +#SRCBRANCH ?= "release/${PV}/master" +SRCBRANCH ?= "master" GLIBC_GIT_URI ?= "git://sourceware.org/git/glibc.git" UPSTREAM_CHECK_GITTAGREGEX = "(?P\d+\.\d+(\.\d+)*)" -SRCREV_glibc ?= "db0242e3023436757bbc7c488a779e6e3343db04" -SRCREV_localedef ?= "29869b6dc11427c5bab839bdb155c85a7c644c71" +SRCREV_glibc ?= "43a9f537fc121a867981ca31ea9d79f33ce0fd24" +SRCREV_localedef ?= "dfb4afe551c6c6e94f9cc85417bd1f582168c843" SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \ git://github.com/kraj/localedef;branch=master;name=localedef;destsuffix=git/localedef \ - file://0016-timezone-re-written-tzselect-as-posix-sh.patch \ - file://0017-Remove-bash-dependency-for-nscd-init-script.patch \ - file://0018-eglibc-Cross-building-and-testing-instructions.patch \ - file://0019-eglibc-Help-bootstrap-cross-toolchain.patch \ - file://0020-eglibc-cherry-picked-from.patch \ - file://0021-eglibc-Clear-cache-lines-on-ppc8xx.patch \ - file://0022-eglibc-Resolve-__fpscr_values-on-SH4.patch \ - file://0023-eglibc-Install-PIC-archives.patch \ - file://0024-eglibc-Forward-port-cross-locale-generation-support.patch \ - file://0025-Define-DUMMY_LOCALE_T-if-not-defined.patch \ + file://0015-timezone-re-written-tzselect-as-posix-sh.patch \ + file://0016-Remove-bash-dependency-for-nscd-init-script.patch \ + file://0017-eglibc-Cross-building-and-testing-instructions.patch \ + file://0018-eglibc-Help-bootstrap-cross-toolchain.patch \ + file://0019-eglibc-Clear-cache-lines-on-ppc8xx.patch \ + file://0020-eglibc-Resolve-__fpscr_values-on-SH4.patch \ + file://0021-eglibc-Install-PIC-archives.patch \ + file://0022-eglibc-Forward-port-cross-locale-generation-support.patch \ + file://0023-Define-DUMMY_LOCALE_T-if-not-defined.patch \ " # Makes for a rather long rev (22 characters), but... # diff --git a/meta/recipes-core/glibc/glibc-initial_2.25.bb b/meta/recipes-core/glibc/glibc-initial_2.25.90.bb similarity index 100% rename from meta/recipes-core/glibc/glibc-initial_2.25.bb rename to meta/recipes-core/glibc/glibc-initial_2.25.90.bb diff --git a/meta/recipes-core/glibc/glibc-locale_2.25.bb b/meta/recipes-core/glibc/glibc-locale_2.25.90.bb similarity index 100% rename from meta/recipes-core/glibc/glibc-locale_2.25.bb rename to meta/recipes-core/glibc/glibc-locale_2.25.90.bb diff --git a/meta/recipes-core/glibc/glibc-mtrace_2.25.bb b/meta/recipes-core/glibc/glibc-mtrace_2.25.90.bb similarity index 100% rename from meta/recipes-core/glibc/glibc-mtrace_2.25.bb rename to meta/recipes-core/glibc/glibc-mtrace_2.25.90.bb diff --git a/meta/recipes-core/glibc/glibc-scripts_2.25.bb b/meta/recipes-core/glibc/glibc-scripts_2.25.90.bb similarity index 100% rename from meta/recipes-core/glibc/glibc-scripts_2.25.bb rename to meta/recipes-core/glibc/glibc-scripts_2.25.90.bb diff --git a/meta/recipes-core/glibc/glibc/0001-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch b/meta/recipes-core/glibc/glibc/0001-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch index 0553f8a..19c1d9b 100644 --- a/meta/recipes-core/glibc/glibc/0001-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch +++ b/meta/recipes-core/glibc/glibc/0001-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch @@ -1,7 +1,7 @@ -From 2727e58d1d269994de17cadb12195001b14585e7 Mon Sep 17 00:00:00 2001 +From 81346b2f7735698078d5bf919a78b6c0269d6fee Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 01:48:24 +0000 -Subject: [PATCH 01/26] nativesdk-glibc: Look for host system ld.so.cache as +Subject: [PATCH 01/25] nativesdk-glibc: Look for host system ld.so.cache as well Upstream-Status: Inappropriate [embedded specific] @@ -31,7 +31,7 @@ Signed-off-by: Khem Raj 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/elf/dl-load.c b/elf/dl-load.c -index 51fb0d0..f503dbc 100644 +index c1b6d4ba0f..d7af9ebcbc 100644 --- a/elf/dl-load.c +++ b/elf/dl-load.c @@ -2054,6 +2054,14 @@ _dl_map_object (struct link_map *loader, const char *name, @@ -65,5 +65,5 @@ index 51fb0d0..f503dbc 100644 if (__glibc_unlikely (GLRO(dl_debug_mask) & DL_DEBUG_LIBS)) _dl_debug_printf ("\n"); -- -2.10.2 +2.13.2 diff --git a/meta/recipes-core/glibc/glibc/0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch b/meta/recipes-core/glibc/glibc/0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch index e5ef341..2ce240b 100644 --- a/meta/recipes-core/glibc/glibc/0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch +++ b/meta/recipes-core/glibc/glibc/0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch @@ -1,7 +1,7 @@ -From 1578f52647ec8804186d1944d4cd2095132efc39 Mon Sep 17 00:00:00 2001 +From 82f2e910ec0e2de6a9e2b007825bddfc5850575d Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 01:50:00 +0000 -Subject: [PATCH 02/26] nativesdk-glibc: Fix buffer overrun with a relocated +Subject: [PATCH 02/25] nativesdk-glibc: Fix buffer overrun with a relocated SDK When ld-linux-*.so.2 is relocated to a path that is longer than the @@ -22,7 +22,7 @@ Signed-off-by: Khem Raj 1 file changed, 12 insertions(+) diff --git a/elf/dl-load.c b/elf/dl-load.c -index f503dbc..3a3d112 100644 +index d7af9ebcbc..19c1db9948 100644 --- a/elf/dl-load.c +++ b/elf/dl-load.c @@ -1753,7 +1753,19 @@ open_path (const char *name, size_t namelen, int mode, @@ -46,5 +46,5 @@ index f503dbc..3a3d112 100644 { struct r_search_path_elem *this_dir = *dirs; -- -2.10.2 +2.13.2 diff --git a/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch b/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch index 9e207e4..397e8b3 100644 --- a/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch +++ b/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch @@ -1,7 +1,7 @@ -From e53968d61804b6bab32ec6e13cc0b3cd57214796 Mon Sep 17 00:00:00 2001 +From 490a0eb4da1af726ea5d68e3efc0d18ba94c4054 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 01:51:38 +0000 -Subject: [PATCH 03/26] nativesdk-glibc: Raise the size of arrays containing dl +Subject: [PATCH 03/25] nativesdk-glibc: Raise the size of arrays containing dl paths This patch puts the dynamic loader path in the binaries, SYSTEM_DIRS strings @@ -26,10 +26,10 @@ Signed-off-by: Khem Raj 7 files changed, 14 insertions(+), 10 deletions(-) diff --git a/elf/dl-cache.c b/elf/dl-cache.c -index cfa335e..daa12ec 100644 +index e9632da0b3..4de529d2cf 100644 --- a/elf/dl-cache.c +++ b/elf/dl-cache.c -@@ -132,6 +132,10 @@ do \ +@@ -133,6 +133,10 @@ do \ while (0) @@ -41,7 +41,7 @@ index cfa335e..daa12ec 100644 internal_function _dl_cache_libcmp (const char *p1, const char *p2) diff --git a/elf/dl-load.c b/elf/dl-load.c -index 3a3d112..a1410e4 100644 +index 19c1db9948..70c259b400 100644 --- a/elf/dl-load.c +++ b/elf/dl-load.c @@ -106,8 +106,8 @@ static size_t max_capstrlen attribute_relro; @@ -56,7 +56,7 @@ index 3a3d112..a1410e4 100644 SYSTEM_DIRS_LEN }; diff --git a/elf/interp.c b/elf/interp.c -index 9448802..e7e8c70 100644 +index b6e8f04444..47c20415bc 100644 --- a/elf/interp.c +++ b/elf/interp.c @@ -18,5 +18,5 @@ @@ -67,7 +67,7 @@ index 9448802..e7e8c70 100644 +const char __invoke_dynamic_linker__[4096] __attribute__ ((section (".interp"))) = RUNTIME_LINKER; diff --git a/elf/ldconfig.c b/elf/ldconfig.c -index 467ca82..631a2a9 100644 +index 99caf9e9bb..36ea5df5f1 100644 --- a/elf/ldconfig.c +++ b/elf/ldconfig.c @@ -168,6 +168,9 @@ static struct argp argp = @@ -81,18 +81,18 @@ index 467ca82..631a2a9 100644 a platform. */ static int diff --git a/elf/rtld.c b/elf/rtld.c -index 4ec25d7..e159c12 100644 +index 65647fb1c8..cd8381cb33 100644 --- a/elf/rtld.c +++ b/elf/rtld.c -@@ -99,6 +99,7 @@ uintptr_t __pointer_chk_guard_local - strong_alias (__pointer_chk_guard_local, __pointer_chk_guard) - #endif - +@@ -128,6 +128,7 @@ dso_name_valid_for_suid (const char *p) + } + return *p != '\0'; + } +extern const char LD_SO_CACHE[4096] __attribute__ ((section (".ldsocache"))); - /* List of auditing DSOs. */ - static struct audit_list -@@ -854,12 +855,12 @@ of this helper program; chances are you did not intend to run this program.\n\ + /* LD_AUDIT variable contents. Must be processed before the + audit_list below. */ +@@ -999,12 +1000,12 @@ of this helper program; chances are you did not intend to run this program.\n\ --list list all dependencies and how they are resolved\n\ --verify verify that given object really is a dynamically linked\n\ object we can handle\n\ @@ -108,7 +108,7 @@ index 4ec25d7..e159c12 100644 ++_dl_skip_args; --_dl_argc; diff --git a/iconv/gconv_conf.c b/iconv/gconv_conf.c -index e235188..569f72e 100644 +index 5aa055de6e..b9a14b9bd3 100644 --- a/iconv/gconv_conf.c +++ b/iconv/gconv_conf.c @@ -36,7 +36,7 @@ @@ -121,7 +121,7 @@ index e235188..569f72e 100644 /* The path elements, as determined by the __gconv_get_path function. All path elements end in a slash. */ diff --git a/sysdeps/generic/dl-cache.h b/sysdeps/generic/dl-cache.h -index eb2f900..505804e 100644 +index 1f0b8f629d..acbe68399d 100644 --- a/sysdeps/generic/dl-cache.h +++ b/sysdeps/generic/dl-cache.h @@ -27,10 +27,6 @@ @@ -136,5 +136,5 @@ index eb2f900..505804e 100644 # define add_system_dir(dir) add_dir (dir) #endif -- -2.10.2 +2.13.2 diff --git a/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch b/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch index 0926a11..8db47bc 100644 --- a/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch +++ b/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch @@ -1,22 +1,23 @@ -From 0b95f34207ffed3aa53fa949662bfbccc7c864a4 Mon Sep 17 00:00:00 2001 +From 8fe1b56180c30d237cc2ab9a5a9c97a0311f41da Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Thu, 31 Dec 2015 14:35:35 -0800 -Subject: [PATCH 04/26] nativesdk-glibc: Allow 64 bit atomics for x86 +Subject: [PATCH 04/25] nativesdk-glibc: Allow 64 bit atomics for x86 The fix consist of allowing 64bit atomic ops for x86. This should be safe for i586 and newer CPUs. It also makes the synchronization more efficient. +Upstream-Status: Inappropriate [OE-Specific] + Signed-off-by: Juro Bystricky Signed-off-by: Richard Purdie Signed-off-by: Khem Raj -Upstream-Status: Pending --- sysdeps/i386/atomic-machine.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sysdeps/i386/atomic-machine.h b/sysdeps/i386/atomic-machine.h -index ce62b33..4fe44ea 100644 +index 0e24200617..1532f52dec 100644 --- a/sysdeps/i386/atomic-machine.h +++ b/sysdeps/i386/atomic-machine.h @@ -54,7 +54,7 @@ typedef uintmax_t uatomic_max_t; @@ -26,8 +27,8 @@ index ce62b33..4fe44ea 100644 -#define __HAVE_64B_ATOMICS 0 +#define __HAVE_64B_ATOMICS 1 #define USE_ATOMIC_COMPILER_BUILTINS 0 - + #define ATOMIC_EXCHANGE_USES_CAS 0 -- -2.10.2 +2.13.2 diff --git a/meta/recipes-core/glibc/glibc/0005-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch b/meta/recipes-core/glibc/glibc/0005-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch index ee50000..956b2aa 100644 --- a/meta/recipes-core/glibc/glibc/0005-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch +++ b/meta/recipes-core/glibc/glibc/0005-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch @@ -1,7 +1,7 @@ -From 77a7495376c7d0c5507c0ec99bf1568150339ef4 Mon Sep 17 00:00:00 2001 +From b9edcc845641956b7286c60c833f05a9f70cfab9 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 00:01:50 +0000 -Subject: [PATCH 05/26] fsl e500/e5500/e6500/603e fsqrt implementation +Subject: [PATCH 05/25] fsl e500/e5500/e6500/603e fsqrt implementation Upstream-Status: Pending Signed-off-by: Edmar Wienskoski @@ -49,7 +49,7 @@ Signed-off-by: Khem Raj diff --git a/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c new file mode 100644 -index 0000000..71e516d +index 0000000000..71e516d1c8 --- /dev/null +++ b/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c @@ -0,0 +1,134 @@ @@ -189,7 +189,7 @@ index 0000000..71e516d +} diff --git a/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c new file mode 100644 -index 0000000..26fa067 +index 0000000000..26fa067abf --- /dev/null +++ b/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c @@ -0,0 +1,101 @@ @@ -296,7 +296,7 @@ index 0000000..26fa067 +} diff --git a/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c new file mode 100644 -index 0000000..71e516d +index 0000000000..71e516d1c8 --- /dev/null +++ b/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c @@ -0,0 +1,134 @@ @@ -436,7 +436,7 @@ index 0000000..71e516d +} diff --git a/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c new file mode 100644 -index 0000000..26fa067 +index 0000000000..26fa067abf --- /dev/null +++ b/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c @@ -0,0 +1,101 @@ @@ -543,7 +543,7 @@ index 0000000..26fa067 +} diff --git a/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c new file mode 100644 -index 0000000..71e516d +index 0000000000..71e516d1c8 --- /dev/null +++ b/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c @@ -0,0 +1,134 @@ @@ -683,7 +683,7 @@ index 0000000..71e516d +} diff --git a/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c new file mode 100644 -index 0000000..26fa067 +index 0000000000..26fa067abf --- /dev/null +++ b/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c @@ -0,0 +1,101 @@ @@ -790,7 +790,7 @@ index 0000000..26fa067 +} diff --git a/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c new file mode 100644 -index 0000000..71e516d +index 0000000000..71e516d1c8 --- /dev/null +++ b/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c @@ -0,0 +1,134 @@ @@ -930,7 +930,7 @@ index 0000000..71e516d +} diff --git a/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c new file mode 100644 -index 0000000..26fa067 +index 0000000000..26fa067abf --- /dev/null +++ b/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c @@ -0,0 +1,101 @@ @@ -1037,7 +1037,7 @@ index 0000000..26fa067 +} diff --git a/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c new file mode 100644 -index 0000000..71e516d +index 0000000000..71e516d1c8 --- /dev/null +++ b/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c @@ -0,0 +1,134 @@ @@ -1177,7 +1177,7 @@ index 0000000..71e516d +} diff --git a/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c new file mode 100644 -index 0000000..26fa067 +index 0000000000..26fa067abf --- /dev/null +++ b/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c @@ -0,0 +1,101 @@ @@ -1284,7 +1284,7 @@ index 0000000..26fa067 +} diff --git a/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c new file mode 100644 -index 0000000..71e516d +index 0000000000..71e516d1c8 --- /dev/null +++ b/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c @@ -0,0 +1,134 @@ @@ -1424,7 +1424,7 @@ index 0000000..71e516d +} diff --git a/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c new file mode 100644 -index 0000000..26fa067 +index 0000000000..26fa067abf --- /dev/null +++ b/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c @@ -0,0 +1,101 @@ @@ -1531,14 +1531,14 @@ index 0000000..26fa067 +} diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/603e/fpu/Implies b/sysdeps/unix/sysv/linux/powerpc/powerpc32/603e/fpu/Implies new file mode 100644 -index 0000000..b103b4d +index 0000000000..b103b4dea5 --- /dev/null +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/603e/fpu/Implies @@ -0,0 +1 @@ +powerpc/powerpc32/603e/fpu diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/e300c3/fpu/Implies b/sysdeps/unix/sysv/linux/powerpc/powerpc32/e300c3/fpu/Implies new file mode 100644 -index 0000000..64db17f +index 0000000000..64db17fada --- /dev/null +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/e300c3/fpu/Implies @@ -0,0 +1,2 @@ @@ -1546,39 +1546,39 @@ index 0000000..64db17f +powerpc/powerpc32/603e/fpu diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500mc/fpu/Implies b/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500mc/fpu/Implies new file mode 100644 -index 0000000..7eac5fc +index 0000000000..7eac5fcf02 --- /dev/null +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500mc/fpu/Implies @@ -0,0 +1 @@ +powerpc/powerpc32/e500mc/fpu diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/e5500/fpu/Implies b/sysdeps/unix/sysv/linux/powerpc/powerpc32/e5500/fpu/Implies new file mode 100644 -index 0000000..264b2a7 +index 0000000000..264b2a7700 --- /dev/null +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/e5500/fpu/Implies @@ -0,0 +1 @@ +powerpc/powerpc32/e5500/fpu diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/e6500/fpu/Implies b/sysdeps/unix/sysv/linux/powerpc/powerpc32/e6500/fpu/Implies new file mode 100644 -index 0000000..a259344 +index 0000000000..a25934467b --- /dev/null +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/e6500/fpu/Implies @@ -0,0 +1 @@ +powerpc/powerpc32/e6500/fpu diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/e5500/fpu/Implies b/sysdeps/unix/sysv/linux/powerpc/powerpc64/e5500/fpu/Implies new file mode 100644 -index 0000000..a7bc854 +index 0000000000..a7bc854be8 --- /dev/null +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/e5500/fpu/Implies @@ -0,0 +1 @@ +powerpc/powerpc64/e5500/fpu diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/e6500/fpu/Implies b/sysdeps/unix/sysv/linux/powerpc/powerpc64/e6500/fpu/Implies new file mode 100644 -index 0000000..04ff8cc +index 0000000000..04ff8cc181 --- /dev/null +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/e6500/fpu/Implies @@ -0,0 +1 @@ +powerpc/powerpc64/e6500/fpu -- -2.10.2 +2.13.2 diff --git a/meta/recipes-core/glibc/glibc/0006-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch b/meta/recipes-core/glibc/glibc/0006-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch index 9088d29..c74fead 100644 --- a/meta/recipes-core/glibc/glibc/0006-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch +++ b/meta/recipes-core/glibc/glibc/0006-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch @@ -1,7 +1,7 @@ -From 520cb9e746af637cf01fea385b7f4ee4aadbdfdd Mon Sep 17 00:00:00 2001 +From 324202488a1c2439be345745722f5cb04c0e0847 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 00:11:22 +0000 -Subject: [PATCH 06/26] readlib: Add OECORE_KNOWN_INTERPRETER_NAMES to known +Subject: [PATCH 06/25] readlib: Add OECORE_KNOWN_INTERPRETER_NAMES to known names This bolts in a hook for OE to pass its own version of interpreter @@ -17,7 +17,7 @@ Signed-off-by: Khem Raj 1 file changed, 1 insertion(+) diff --git a/elf/readlib.c b/elf/readlib.c -index 8a66ffe..08d56fc 100644 +index d278a189b2..a84cb85158 100644 --- a/elf/readlib.c +++ b/elf/readlib.c @@ -51,6 +51,7 @@ static struct known_names interpreters[] = @@ -29,5 +29,5 @@ index 8a66ffe..08d56fc 100644 static struct known_names known_libs[] = -- -2.10.2 +2.13.2 diff --git a/meta/recipes-core/glibc/glibc/0007-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch b/meta/recipes-core/glibc/glibc/0007-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch index f33defe..b643276 100644 --- a/meta/recipes-core/glibc/glibc/0007-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch +++ b/meta/recipes-core/glibc/glibc/0007-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch @@ -1,7 +1,7 @@ -From 64130262787d54e2e6695ae4ed8783bfec14ffef Mon Sep 17 00:00:00 2001 +From cf00bf9de8128171e79a019de809e35f3aeed281 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 00:15:07 +0000 -Subject: [PATCH 07/26] ppc/sqrt: Fix undefined reference to `__sqrt_finite' +Subject: [PATCH 07/25] ppc/sqrt: Fix undefined reference to `__sqrt_finite' on ppc fixes the errors like below | ./.libs/libpulsecore-1.1.so: undefined reference to `__sqrt_finite' @@ -36,7 +36,7 @@ Signed-off-by: Khem Raj 12 files changed, 12 insertions(+), 24 deletions(-) diff --git a/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c -index 71e516d..1795fd6 100644 +index 71e516d1c8..1795fd6c3e 100644 --- a/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c +++ b/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c @@ -39,14 +39,8 @@ static const float half = 0.5; @@ -60,7 +60,7 @@ index 71e516d..1795fd6 100644 } +strong_alias (__ieee754_sqrt, __sqrt_finite) diff --git a/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c -index 26fa067..a917f31 100644 +index 26fa067abf..a917f313ab 100644 --- a/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c +++ b/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c @@ -37,14 +37,8 @@ static const float threehalf = 1.5; @@ -84,7 +84,7 @@ index 26fa067..a917f31 100644 } +strong_alias (__ieee754_sqrtf, __sqrtf_finite) diff --git a/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c -index 71e516d..fc4a749 100644 +index 71e516d1c8..fc4a74990e 100644 --- a/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c +++ b/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c @@ -132,3 +132,4 @@ __ieee754_sqrt (b) @@ -93,7 +93,7 @@ index 71e516d..fc4a749 100644 } +strong_alias (__ieee754_sqrt, __sqrt_finite) diff --git a/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c -index 26fa067..9d17512 100644 +index 26fa067abf..9d175122a8 100644 --- a/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c +++ b/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c @@ -99,3 +99,4 @@ __ieee754_sqrtf (b) @@ -102,7 +102,7 @@ index 26fa067..9d17512 100644 } +strong_alias (__ieee754_sqrtf, __sqrtf_finite) diff --git a/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c -index 71e516d..fc4a749 100644 +index 71e516d1c8..fc4a74990e 100644 --- a/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c +++ b/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c @@ -132,3 +132,4 @@ __ieee754_sqrt (b) @@ -111,7 +111,7 @@ index 71e516d..fc4a749 100644 } +strong_alias (__ieee754_sqrt, __sqrt_finite) diff --git a/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c -index 26fa067..9d17512 100644 +index 26fa067abf..9d175122a8 100644 --- a/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c +++ b/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c @@ -99,3 +99,4 @@ __ieee754_sqrtf (b) @@ -120,7 +120,7 @@ index 26fa067..9d17512 100644 } +strong_alias (__ieee754_sqrtf, __sqrtf_finite) diff --git a/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c -index 71e516d..fc4a749 100644 +index 71e516d1c8..fc4a74990e 100644 --- a/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c +++ b/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c @@ -132,3 +132,4 @@ __ieee754_sqrt (b) @@ -129,7 +129,7 @@ index 71e516d..fc4a749 100644 } +strong_alias (__ieee754_sqrt, __sqrt_finite) diff --git a/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c -index 26fa067..9d17512 100644 +index 26fa067abf..9d175122a8 100644 --- a/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c +++ b/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c @@ -99,3 +99,4 @@ __ieee754_sqrtf (b) @@ -138,7 +138,7 @@ index 26fa067..9d17512 100644 } +strong_alias (__ieee754_sqrtf, __sqrtf_finite) diff --git a/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c -index 71e516d..1795fd6 100644 +index 71e516d1c8..1795fd6c3e 100644 --- a/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c +++ b/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c @@ -39,14 +39,8 @@ static const float half = 0.5; @@ -162,7 +162,7 @@ index 71e516d..1795fd6 100644 } +strong_alias (__ieee754_sqrt, __sqrt_finite) diff --git a/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c -index 26fa067..a917f31 100644 +index 26fa067abf..a917f313ab 100644 --- a/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c +++ b/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c @@ -37,14 +37,8 @@ static const float threehalf = 1.5; @@ -186,7 +186,7 @@ index 26fa067..a917f31 100644 } +strong_alias (__ieee754_sqrtf, __sqrtf_finite) diff --git a/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c -index 71e516d..fc4a749 100644 +index 71e516d1c8..fc4a74990e 100644 --- a/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c +++ b/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c @@ -132,3 +132,4 @@ __ieee754_sqrt (b) @@ -195,7 +195,7 @@ index 71e516d..fc4a749 100644 } +strong_alias (__ieee754_sqrt, __sqrt_finite) diff --git a/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c -index 26fa067..9d17512 100644 +index 26fa067abf..9d175122a8 100644 --- a/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c +++ b/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c @@ -99,3 +99,4 @@ __ieee754_sqrtf (b) @@ -204,5 +204,5 @@ index 26fa067..9d17512 100644 } +strong_alias (__ieee754_sqrtf, __sqrtf_finite) -- -2.10.2 +2.13.2 diff --git a/meta/recipes-core/glibc/glibc/0008-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch b/meta/recipes-core/glibc/glibc/0008-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch index 26f65c5..3aeec52 100644 --- a/meta/recipes-core/glibc/glibc/0008-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch +++ b/meta/recipes-core/glibc/glibc/0008-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch @@ -1,7 +1,7 @@ -From 5afb0147e3e49c3b474404524014efe51b2bca5a Mon Sep 17 00:00:00 2001 +From babe311deca9ee2730278f13b061b914b5286dc3 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 00:16:38 +0000 -Subject: [PATCH 08/26] __ieee754_sqrt{,f} are now inline functions and call +Subject: [PATCH 08/25] __ieee754_sqrt{,f} are now inline functions and call out __slow versions Upstream-Status: Pending @@ -23,7 +23,7 @@ Signed-off-by: Khem Raj 12 files changed, 114 insertions(+), 21 deletions(-) diff --git a/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c -index 1795fd6..daa83f3 100644 +index 1795fd6c3e..daa83f3fe8 100644 --- a/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c +++ b/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c @@ -40,7 +40,7 @@ static const float half = 0.5; @@ -58,7 +58,7 @@ index 1795fd6..daa83f3 100644 + strong_alias (__ieee754_sqrt, __sqrt_finite) diff --git a/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c -index a917f31..b812cf1 100644 +index a917f313ab..b812cf1705 100644 --- a/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c +++ b/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c @@ -38,7 +38,7 @@ static const float threehalf = 1.5; @@ -82,7 +82,7 @@ index a917f31..b812cf1 100644 +} strong_alias (__ieee754_sqrtf, __sqrtf_finite) diff --git a/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c -index fc4a749..7038a70 100644 +index fc4a74990e..7038a70b47 100644 --- a/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c +++ b/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c @@ -41,10 +41,10 @@ static const float half = 0.5; @@ -121,7 +121,7 @@ index fc4a749..7038a70 100644 + strong_alias (__ieee754_sqrt, __sqrt_finite) diff --git a/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c -index 9d17512..10de1f0 100644 +index 9d175122a8..10de1f0cc3 100644 --- a/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c +++ b/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c @@ -39,10 +39,10 @@ static const float threehalf = 1.5; @@ -151,7 +151,7 @@ index 9d17512..10de1f0 100644 + strong_alias (__ieee754_sqrtf, __sqrtf_finite) diff --git a/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c -index fc4a749..7038a70 100644 +index fc4a74990e..7038a70b47 100644 --- a/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c +++ b/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c @@ -41,10 +41,10 @@ static const float half = 0.5; @@ -190,7 +190,7 @@ index fc4a749..7038a70 100644 + strong_alias (__ieee754_sqrt, __sqrt_finite) diff --git a/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c -index 9d17512..10de1f0 100644 +index 9d175122a8..10de1f0cc3 100644 --- a/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c +++ b/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c @@ -39,10 +39,10 @@ static const float threehalf = 1.5; @@ -220,7 +220,7 @@ index 9d17512..10de1f0 100644 + strong_alias (__ieee754_sqrtf, __sqrtf_finite) diff --git a/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c -index fc4a749..1c34244 100644 +index fc4a74990e..1c34244bd8 100644 --- a/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c +++ b/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c @@ -132,4 +132,12 @@ __ieee754_sqrt (b) @@ -237,7 +237,7 @@ index fc4a749..1c34244 100644 + strong_alias (__ieee754_sqrt, __sqrt_finite) diff --git a/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c -index 9d17512..8126535 100644 +index 9d175122a8..812653558f 100644 --- a/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c +++ b/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c @@ -99,4 +99,12 @@ __ieee754_sqrtf (b) @@ -254,7 +254,7 @@ index 9d17512..8126535 100644 + strong_alias (__ieee754_sqrtf, __sqrtf_finite) diff --git a/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c -index 1795fd6..13a8197 100644 +index 1795fd6c3e..13a81973e3 100644 --- a/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c +++ b/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c @@ -40,7 +40,7 @@ static const float half = 0.5; @@ -289,7 +289,7 @@ index 1795fd6..13a8197 100644 + strong_alias (__ieee754_sqrt, __sqrt_finite) diff --git a/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c -index a917f31..fae2d81 100644 +index a917f313ab..fae2d81210 100644 --- a/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c +++ b/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c @@ -38,7 +38,7 @@ static const float threehalf = 1.5; @@ -314,7 +314,7 @@ index a917f31..fae2d81 100644 + strong_alias (__ieee754_sqrtf, __sqrtf_finite) diff --git a/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c -index fc4a749..7038a70 100644 +index fc4a74990e..7038a70b47 100644 --- a/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c +++ b/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c @@ -41,10 +41,10 @@ static const float half = 0.5; @@ -353,7 +353,7 @@ index fc4a749..7038a70 100644 + strong_alias (__ieee754_sqrt, __sqrt_finite) diff --git a/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c -index 9d17512..10de1f0 100644 +index 9d175122a8..10de1f0cc3 100644 --- a/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c +++ b/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c @@ -39,10 +39,10 @@ static const float threehalf = 1.5; @@ -383,5 +383,5 @@ index 9d17512..10de1f0 100644 + strong_alias (__ieee754_sqrtf, __sqrtf_finite) -- -2.10.2 +2.13.2 diff --git a/meta/recipes-core/glibc/glibc/0009-Quote-from-bug-1443-which-explains-what-the-patch-do.patch b/meta/recipes-core/glibc/glibc/0009-Quote-from-bug-1443-which-explains-what-the-patch-do.patch index d416acd..7d5c2e3 100644 --- a/meta/recipes-core/glibc/glibc/0009-Quote-from-bug-1443-which-explains-what-the-patch-do.patch +++ b/meta/recipes-core/glibc/glibc/0009-Quote-from-bug-1443-which-explains-what-the-patch-do.patch @@ -1,7 +1,7 @@ -From ddd51bb4e005432cb3c0f8f33822954408a9fee1 Mon Sep 17 00:00:00 2001 +From 93b5d6bed19939039031c45b777d29619db06184 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 00:20:09 +0000 -Subject: [PATCH 09/26] Quote from bug 1443 which explains what the patch does +Subject: [PATCH 09/25] Quote from bug 1443 which explains what the patch does : We build some random program and link it with -lust. When we run it, @@ -45,10 +45,10 @@ Signed-off-by: Khem Raj 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sysdeps/arm/dl-machine.h b/sysdeps/arm/dl-machine.h -index 60eee00..7d54d5e 100644 +index 7053ead16e..0b1e1716b0 100644 --- a/sysdeps/arm/dl-machine.h +++ b/sysdeps/arm/dl-machine.h -@@ -499,7 +499,7 @@ elf_machine_rel (struct link_map *map, const Elf32_Rel *reloc, +@@ -500,7 +500,7 @@ elf_machine_rel (struct link_map *map, const Elf32_Rel *reloc, case R_ARM_TLS_DTPOFF32: if (sym != NULL) @@ -58,5 +58,5 @@ index 60eee00..7d54d5e 100644 case R_ARM_TLS_TPOFF32: -- -2.10.2 +2.13.2 diff --git a/meta/recipes-core/glibc/glibc/0010-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch b/meta/recipes-core/glibc/glibc/0010-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch index 276f1fa..7275c3e 100644 --- a/meta/recipes-core/glibc/glibc/0010-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch +++ b/meta/recipes-core/glibc/glibc/0010-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch @@ -1,7 +1,7 @@ -From d7e74670825330f5421a55f5aa2a1ce6fda7d7fb Mon Sep 17 00:00:00 2001 +From 1a6e0f4ee8584b04226156df1a3de3e467f0ef6f Mon Sep 17 00:00:00 2001 From: Ting Liu Date: Wed, 19 Dec 2012 04:39:57 -0600 -Subject: [PATCH 10/26] eglibc: run libm-err-tab.pl with specific dirs in ${S} +Subject: [PATCH 10/25] eglibc: run libm-err-tab.pl with specific dirs in ${S} libm-err-tab.pl will parse all the files named "libm-test-ulps" in the given dir recursively. To avoid parsing the one in @@ -18,7 +18,7 @@ Signed-off-by: Ting Liu 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/manual/Makefile b/manual/Makefile -index f2f694f..e062833 100644 +index 4ed63a8ef3..e89919eb19 100644 --- a/manual/Makefile +++ b/manual/Makefile @@ -105,7 +105,8 @@ $(objpfx)libm-err.texi: $(objpfx)stamp-libm-err @@ -32,5 +32,5 @@ index f2f694f..e062833 100644 touch $@ -- -2.10.2 +2.13.2 diff --git a/meta/recipes-core/glibc/glibc/0011-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch b/meta/recipes-core/glibc/glibc/0011-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch index 096dab5..84f2ca5 100644 --- a/meta/recipes-core/glibc/glibc/0011-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch +++ b/meta/recipes-core/glibc/glibc/0011-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch @@ -1,7 +1,7 @@ -From d6e2076571263e45c48889896d3d94ff576df2be Mon Sep 17 00:00:00 2001 +From 9b2af6cbf68d3353d72519e7f6c46becb7bd1d0f Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 00:24:46 +0000 -Subject: [PATCH 11/26] __ieee754_sqrt{,f} are now inline functions and call +Subject: [PATCH 11/25] __ieee754_sqrt{,f} are now inline functions and call out __slow versions Upstream-Status: Pending @@ -14,7 +14,7 @@ Signed-off-by: Khem Raj 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c -index 1c34244..7038a70 100644 +index 1c34244bd8..7038a70b47 100644 --- a/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c +++ b/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c @@ -41,10 +41,10 @@ static const float half = 0.5; @@ -40,7 +40,7 @@ index 1c34244..7038a70 100644 #define FMADD(a_, c_, b_) \ ({ double __r; \ diff --git a/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c -index 8126535..10de1f0 100644 +index 812653558f..10de1f0cc3 100644 --- a/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c +++ b/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c @@ -39,10 +39,10 @@ static const float threehalf = 1.5; @@ -57,5 +57,5 @@ index 8126535..10de1f0 100644 #endif { -- -2.10.2 +2.13.2 diff --git a/meta/recipes-core/glibc/glibc/0012-Make-ld-version-output-matching-grok-gold-s-output.patch b/meta/recipes-core/glibc/glibc/0012-Make-ld-version-output-matching-grok-gold-s-output.patch deleted file mode 100644 index 7728c61..0000000 --- a/meta/recipes-core/glibc/glibc/0012-Make-ld-version-output-matching-grok-gold-s-output.patch +++ /dev/null @@ -1,44 +0,0 @@ -From c0974c746e026650bef5d1940eb3f519765c77af Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 18 Mar 2015 00:25:45 +0000 -Subject: [PATCH 12/26] Make ld --version output matching grok gold's output - -adapted from from upstream branch roland/gold-vs-libc - -Upstream-Status: Backport - -Signed-off-by: Khem Raj ---- - configure | 2 +- - configure.ac | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/configure b/configure -index 5cf3230..391f29d 100755 ---- a/configure -+++ b/configure -@@ -4555,7 +4555,7 @@ else - # Found it, now check the version. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking version of $LD" >&5 - $as_echo_n "checking version of $LD... " >&6; } -- ac_prog_version=`$LD --version 2>&1 | sed -n 's/^.*GNU ld.* \([0-9][0-9]*\.[0-9.]*\).*$/\1/p'` -+ ac_prog_version=`$LD --version 2>&1 | sed -n 's/^.*GNU [Bbinutilsd][^.]* \([0-9][0-9]*\.[0-9.]*\).*$/\1/p'` - case $ac_prog_version in - '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; - 2.1[0-9][0-9]*|2.2[2-9]*|2.[3-9][0-9]*|[3-9].*|[1-9][0-9]*) -diff --git a/configure.ac b/configure.ac -index d719fad..5b5877c 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -990,7 +990,7 @@ AC_CHECK_PROG_VER(AS, $AS, --version, - [2.1[0-9][0-9]*|2.2[2-9]*|2.[3-9][0-9]*|[3-9].*|[1-9][0-9]*], - AS=: critic_missing="$critic_missing as") - AC_CHECK_PROG_VER(LD, $LD, --version, -- [GNU ld.* \([0-9][0-9]*\.[0-9.]*\)], -+ [GNU [Bbinutilsd][^.]* \([0-9][0-9]*\.[0-9.]*\)], - [2.1[0-9][0-9]*|2.2[2-9]*|2.[3-9][0-9]*|[3-9].*|[1-9][0-9]*], - LD=: critic_missing="$critic_missing ld") - --- -2.10.2 - diff --git a/meta/recipes-core/glibc/glibc/0013-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch b/meta/recipes-core/glibc/glibc/0012-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch similarity index 82% rename from meta/recipes-core/glibc/glibc/0013-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch rename to meta/recipes-core/glibc/glibc/0012-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch index 1c81c72..2bf6b23 100644 --- a/meta/recipes-core/glibc/glibc/0013-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch +++ b/meta/recipes-core/glibc/glibc/0012-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch @@ -1,7 +1,7 @@ -From 2a12eadfd7940b6b0913de8e95d851254cce7953 Mon Sep 17 00:00:00 2001 +From ffd3c5a04d8f2f26fea71fed4ce41e88b6f51086 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 00:27:10 +0000 -Subject: [PATCH 13/26] sysdeps/gnu/configure.ac: handle correctly +Subject: [PATCH 12/25] sysdeps/gnu/configure.ac: handle correctly $libc_cv_rootsbindir Upstream-Status:Pending @@ -14,7 +14,7 @@ Signed-off-by: Khem Raj 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sysdeps/gnu/configure b/sysdeps/gnu/configure -index 71243ad..f578187 100644 +index 71243ad0c6..f578187576 100644 --- a/sysdeps/gnu/configure +++ b/sysdeps/gnu/configure @@ -32,6 +32,6 @@ case "$prefix" in @@ -26,7 +26,7 @@ index 71243ad..f578187 100644 ;; esac diff --git a/sysdeps/gnu/configure.ac b/sysdeps/gnu/configure.ac -index 634fe4d..3db1697 100644 +index 634fe4de2a..3db1697f4f 100644 --- a/sysdeps/gnu/configure.ac +++ b/sysdeps/gnu/configure.ac @@ -21,6 +21,6 @@ case "$prefix" in @@ -38,5 +38,5 @@ index 634fe4d..3db1697 100644 ;; esac -- -2.10.2 +2.13.2 diff --git a/meta/recipes-core/glibc/glibc/0014-Add-unused-attribute.patch b/meta/recipes-core/glibc/glibc/0013-Add-unused-attribute.patch similarity index 82% rename from meta/recipes-core/glibc/glibc/0014-Add-unused-attribute.patch rename to meta/recipes-core/glibc/glibc/0013-Add-unused-attribute.patch index b23e104..099fe50 100644 --- a/meta/recipes-core/glibc/glibc/0014-Add-unused-attribute.patch +++ b/meta/recipes-core/glibc/glibc/0013-Add-unused-attribute.patch @@ -1,7 +1,7 @@ -From ec4f7763b30603b7ba0b70bd7750e34d442821b3 Mon Sep 17 00:00:00 2001 +From 049cce82f35e0d864d98075b83888dbba4d68afd Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 00:28:41 +0000 -Subject: [PATCH 14/26] Add unused attribute +Subject: [PATCH 13/25] Add unused attribute Helps in avoiding gcc warning when header is is included in a source file which does not use both functions @@ -17,7 +17,7 @@ Upstream-Status: Pending 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/iconv/gconv_charset.h b/iconv/gconv_charset.h -index 95cbce7..191a0dd 100644 +index 18d8bd6ae7..eb729da5d3 100644 --- a/iconv/gconv_charset.h +++ b/iconv/gconv_charset.h @@ -21,7 +21,7 @@ @@ -30,5 +30,5 @@ index 95cbce7..191a0dd 100644 { int slash_count = 0; -- -2.10.2 +2.13.2 diff --git a/meta/recipes-core/glibc/glibc/0015-yes-within-the-path-sets-wrong-config-variables.patch b/meta/recipes-core/glibc/glibc/0014-yes-within-the-path-sets-wrong-config-variables.patch similarity index 94% rename from meta/recipes-core/glibc/glibc/0015-yes-within-the-path-sets-wrong-config-variables.patch rename to meta/recipes-core/glibc/glibc/0014-yes-within-the-path-sets-wrong-config-variables.patch index 98d425a..ddc70e0 100644 --- a/meta/recipes-core/glibc/glibc/0015-yes-within-the-path-sets-wrong-config-variables.patch +++ b/meta/recipes-core/glibc/glibc/0014-yes-within-the-path-sets-wrong-config-variables.patch @@ -1,7 +1,7 @@ -From 18d64951cbb68d8d75e8ef347cbd0e0a5c14604b Mon Sep 17 00:00:00 2001 +From 3b904bee81a1cfe81e3f437b5f3296efd54a51ac Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 00:31:06 +0000 -Subject: [PATCH 15/26] 'yes' within the path sets wrong config variables +Subject: [PATCH 14/25] 'yes' within the path sets wrong config variables It seems that the 'AC_EGREP_CPP(yes...' example is quite popular but being such a short word to grep it is likely to produce @@ -29,7 +29,7 @@ Signed-off-by: Khem Raj 12 files changed, 28 insertions(+), 28 deletions(-) diff --git a/sysdeps/aarch64/configure b/sysdeps/aarch64/configure -index 5bd355a..3bc5537 100644 +index 5bd355a691..3bc5537bc0 100644 --- a/sysdeps/aarch64/configure +++ b/sysdeps/aarch64/configure @@ -148,12 +148,12 @@ else @@ -48,7 +48,7 @@ index 5bd355a..3bc5537 100644 else libc_cv_aarch64_be=no diff --git a/sysdeps/aarch64/configure.ac b/sysdeps/aarch64/configure.ac -index 7851dd4..6e92381 100644 +index 7851dd4dac..6e9238171f 100644 --- a/sysdeps/aarch64/configure.ac +++ b/sysdeps/aarch64/configure.ac @@ -10,8 +10,8 @@ GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory. @@ -63,7 +63,7 @@ index 7851dd4..6e92381 100644 ], libc_cv_aarch64_be=yes, libc_cv_aarch64_be=no)]) if test $libc_cv_aarch64_be = yes; then diff --git a/sysdeps/arm/configure b/sysdeps/arm/configure -index 431e843..e152461 100644 +index 431e843b2b..e152461138 100644 --- a/sysdeps/arm/configure +++ b/sysdeps/arm/configure @@ -151,12 +151,12 @@ else @@ -82,7 +82,7 @@ index 431e843..e152461 100644 else libc_cv_arm_pcs_vfp=no diff --git a/sysdeps/arm/configure.ac b/sysdeps/arm/configure.ac -index 90cdd69..05a262b 100644 +index 90cdd69c75..05a262ba00 100644 --- a/sysdeps/arm/configure.ac +++ b/sysdeps/arm/configure.ac @@ -15,8 +15,8 @@ AC_DEFINE(PI_STATIC_AND_HIDDEN) @@ -97,7 +97,7 @@ index 90cdd69..05a262b 100644 ], libc_cv_arm_pcs_vfp=yes, libc_cv_arm_pcs_vfp=no)]) if test $libc_cv_arm_pcs_vfp = yes; then diff --git a/sysdeps/mips/configure b/sysdeps/mips/configure -index 4e13248..f14af95 100644 +index 4e13248c03..f14af952d0 100644 --- a/sysdeps/mips/configure +++ b/sysdeps/mips/configure @@ -143,11 +143,11 @@ else @@ -115,7 +115,7 @@ index 4e13248..f14af95 100644 else libc_cv_mips_nan2008=no diff --git a/sysdeps/mips/configure.ac b/sysdeps/mips/configure.ac -index bcbdaff..ad3057f 100644 +index bcbdaffd9f..ad3057f4cc 100644 --- a/sysdeps/mips/configure.ac +++ b/sysdeps/mips/configure.ac @@ -6,9 +6,9 @@ dnl position independent way. @@ -131,7 +131,7 @@ index bcbdaff..ad3057f 100644 if test x$libc_cv_mips_nan2008 = xyes; then AC_DEFINE(HAVE_MIPS_NAN2008) diff --git a/sysdeps/nios2/configure b/sysdeps/nios2/configure -index 14c8a3a..dde3814 100644 +index 14c8a3a014..dde3814ef2 100644 --- a/sysdeps/nios2/configure +++ b/sysdeps/nios2/configure @@ -142,12 +142,12 @@ else @@ -150,7 +150,7 @@ index 14c8a3a..dde3814 100644 else libc_cv_nios2_be=no diff --git a/sysdeps/nios2/configure.ac b/sysdeps/nios2/configure.ac -index f05f438..dc86399 100644 +index f05f43802b..dc8639902d 100644 --- a/sysdeps/nios2/configure.ac +++ b/sysdeps/nios2/configure.ac @@ -4,8 +4,8 @@ GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory. @@ -165,7 +165,7 @@ index f05f438..dc86399 100644 ], libc_cv_nios2_be=yes, libc_cv_nios2_be=no)]) if test $libc_cv_nios2_be = yes; then diff --git a/sysdeps/unix/sysv/linux/mips/configure b/sysdeps/unix/sysv/linux/mips/configure -index a5513fa..283b293 100644 +index a5513fad48..283b293ff3 100644 --- a/sysdeps/unix/sysv/linux/mips/configure +++ b/sysdeps/unix/sysv/linux/mips/configure @@ -414,11 +414,11 @@ else @@ -183,7 +183,7 @@ index a5513fa..283b293 100644 else libc_cv_mips_nan2008=no diff --git a/sysdeps/unix/sysv/linux/mips/configure.ac b/sysdeps/unix/sysv/linux/mips/configure.ac -index 9147aa4..7898e24 100644 +index 9147aa4582..7898e24738 100644 --- a/sysdeps/unix/sysv/linux/mips/configure.ac +++ b/sysdeps/unix/sysv/linux/mips/configure.ac @@ -105,9 +105,9 @@ AC_COMPILE_IFELSE( @@ -199,7 +199,7 @@ index 9147aa4..7898e24 100644 libc_mips_nan= diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure b/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure -index af06970..27b8c1b 100644 +index 4e7fcf1d97..44a9cb3791 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure @@ -155,12 +155,12 @@ else @@ -233,7 +233,7 @@ index af06970..27b8c1b 100644 else libc_cv_ppc64_def_call_elf=no diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac b/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac -index 0822915..9a32fdd 100644 +index f9cba6e15d..b21f72f1e4 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac @@ -6,8 +6,8 @@ LIBC_SLIBDIR_RTLDDIR([lib64], [lib64]) @@ -259,5 +259,5 @@ index 0822915..9a32fdd 100644 ], libc_cv_ppc64_def_call_elf=yes, libc_cv_ppc64_def_call_elf=no)]) if test $libc_cv_ppc64_def_call_elf = no; then -- -2.10.2 +2.13.2 diff --git a/meta/recipes-core/glibc/glibc/0016-timezone-re-written-tzselect-as-posix-sh.patch b/meta/recipes-core/glibc/glibc/0015-timezone-re-written-tzselect-as-posix-sh.patch similarity index 81% rename from meta/recipes-core/glibc/glibc/0016-timezone-re-written-tzselect-as-posix-sh.patch rename to meta/recipes-core/glibc/glibc/0015-timezone-re-written-tzselect-as-posix-sh.patch index 426a2c0..b5feffa 100644 --- a/meta/recipes-core/glibc/glibc/0016-timezone-re-written-tzselect-as-posix-sh.patch +++ b/meta/recipes-core/glibc/glibc/0015-timezone-re-written-tzselect-as-posix-sh.patch @@ -1,7 +1,7 @@ -From 2bed515b9f9f613ae0db9b9607d8fa60a4afca5b Mon Sep 17 00:00:00 2001 +From b8cb8cb242cb751d888feb1ada5c4d0f05cbc1d7 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 00:33:03 +0000 -Subject: [PATCH 16/26] timezone: re-written tzselect as posix sh +Subject: [PATCH 15/25] timezone: re-written tzselect as posix sh To avoid the bash dependency. @@ -15,10 +15,10 @@ Signed-off-by: Khem Raj 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/timezone/Makefile b/timezone/Makefile -index dee7568..66a50be 100644 +index d6cc7ba357..e4ead6e1a7 100644 --- a/timezone/Makefile +++ b/timezone/Makefile -@@ -120,7 +120,7 @@ $(testdata)/XT%: testdata/XT% +@@ -122,7 +122,7 @@ $(testdata)/XT%: testdata/XT% cp $< $@ $(objpfx)tzselect: tzselect.ksh $(common-objpfx)config.make @@ -28,7 +28,7 @@ index dee7568..66a50be 100644 -e '/TZVERSION=/s|see_Makefile|"$(version)"|' \ -e '/PKGVERSION=/s|=.*|="$(PKGVERSION)"|' \ diff --git a/timezone/tzselect.ksh b/timezone/tzselect.ksh -index 2c3b2f4..0c04a61 100755 +index d2c3a6d1dd..089679f306 100755 --- a/timezone/tzselect.ksh +++ b/timezone/tzselect.ksh @@ -35,7 +35,7 @@ REPORT_BUGS_TO=tz at iana.org @@ -41,5 +41,5 @@ index 2c3b2f4..0c04a61 100755 # Output one argument as-is to standard output. # Safer than 'echo', which can mishandle '\' or leading '-'. -- -2.10.2 +2.13.2 diff --git a/meta/recipes-core/glibc/glibc/0017-Remove-bash-dependency-for-nscd-init-script.patch b/meta/recipes-core/glibc/glibc/0016-Remove-bash-dependency-for-nscd-init-script.patch similarity index 89% rename from meta/recipes-core/glibc/glibc/0017-Remove-bash-dependency-for-nscd-init-script.patch rename to meta/recipes-core/glibc/glibc/0016-Remove-bash-dependency-for-nscd-init-script.patch index e44be89..1d9983b 100644 --- a/meta/recipes-core/glibc/glibc/0017-Remove-bash-dependency-for-nscd-init-script.patch +++ b/meta/recipes-core/glibc/glibc/0016-Remove-bash-dependency-for-nscd-init-script.patch @@ -1,20 +1,21 @@ -From c8814875b362efbfd778345d0d2777478bf11a30 Mon Sep 17 00:00:00 2001 +From 69d378001adfe9a359d2f4b069c1ed2d36de4480 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Thu, 31 Dec 2015 14:33:02 -0800 -Subject: [PATCH 17/26] Remove bash dependency for nscd init script +Subject: [PATCH 16/25] Remove bash dependency for nscd init script The nscd init script uses #! /bin/bash but only really uses one bashism (translated strings), so remove them and switch the shell to #!/bin/sh. +Upstream-Status: Pending + Signed-off-by: Ross Burton Signed-off-by: Khem Raj -Upstream-Status: Inappropriate --- nscd/nscd.init | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/nscd/nscd.init b/nscd/nscd.init -index a882da7..b02986e 100644 +index a882da7d8b..b02986ec15 100644 --- a/nscd/nscd.init +++ b/nscd/nscd.init @@ -1,4 +1,4 @@ @@ -70,5 +71,5 @@ index a882da7..b02986e 100644 ;; esac -- -2.10.2 +2.13.2 diff --git a/meta/recipes-core/glibc/glibc/0018-eglibc-Cross-building-and-testing-instructions.patch b/meta/recipes-core/glibc/glibc/0017-eglibc-Cross-building-and-testing-instructions.patch similarity index 99% rename from meta/recipes-core/glibc/glibc/0018-eglibc-Cross-building-and-testing-instructions.patch rename to meta/recipes-core/glibc/glibc/0017-eglibc-Cross-building-and-testing-instructions.patch index 2ec01f0..3e39d74 100644 --- a/meta/recipes-core/glibc/glibc/0018-eglibc-Cross-building-and-testing-instructions.patch +++ b/meta/recipes-core/glibc/glibc/0017-eglibc-Cross-building-and-testing-instructions.patch @@ -1,7 +1,7 @@ -From df96d6b61bb60f13cd3d4989d1afc56d705f4a33 Mon Sep 17 00:00:00 2001 +From cdc88dffa226815e3a218604655459e33dc86483 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 00:42:58 +0000 -Subject: [PATCH 18/26] eglibc: Cross building and testing instructions +Subject: [PATCH 17/25] eglibc: Cross building and testing instructions Ported from eglibc Upstream-Status: Pending @@ -16,7 +16,7 @@ Signed-off-by: Khem Raj diff --git a/GLIBC.cross-building b/GLIBC.cross-building new file mode 100644 -index 0000000..e6e0da1 +index 0000000000..e6e0da1aaf --- /dev/null +++ b/GLIBC.cross-building @@ -0,0 +1,383 @@ @@ -405,7 +405,7 @@ index 0000000..e6e0da1 + Hello, C++ world! diff --git a/GLIBC.cross-testing b/GLIBC.cross-testing new file mode 100644 -index 0000000..b67b468 +index 0000000000..b67b468466 --- /dev/null +++ b/GLIBC.cross-testing @@ -0,0 +1,205 @@ @@ -615,5 +615,5 @@ index 0000000..b67b468 + simply place copies of these libraries in the top GLIBC build + directory. -- -2.10.2 +2.13.2 diff --git a/meta/recipes-core/glibc/glibc/0019-eglibc-Help-bootstrap-cross-toolchain.patch b/meta/recipes-core/glibc/glibc/0018-eglibc-Help-bootstrap-cross-toolchain.patch similarity index 94% rename from meta/recipes-core/glibc/glibc/0019-eglibc-Help-bootstrap-cross-toolchain.patch rename to meta/recipes-core/glibc/glibc/0018-eglibc-Help-bootstrap-cross-toolchain.patch index f5921bb..02f35f4 100644 --- a/meta/recipes-core/glibc/glibc/0019-eglibc-Help-bootstrap-cross-toolchain.patch +++ b/meta/recipes-core/glibc/glibc/0018-eglibc-Help-bootstrap-cross-toolchain.patch @@ -1,7 +1,7 @@ -From 2cb7e3cae4020f431d426ad1740bb25506cde899 Mon Sep 17 00:00:00 2001 +From 1161cd1c683547d29a03626d9d7de7f9cc03b74a Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 00:49:28 +0000 -Subject: [PATCH 19/26] eglibc: Help bootstrap cross toolchain +Subject: [PATCH 18/25] eglibc: Help bootstrap cross toolchain Taken from EGLIBC, r1484 + r1525 @@ -29,7 +29,7 @@ Signed-off-by: Khem Raj create mode 100644 include/stubs-bootstrap.h diff --git a/Makefile b/Makefile -index 1ae3281..26ab7bf 100644 +index 3e0ae6f43b..24dc66d17c 100644 --- a/Makefile +++ b/Makefile @@ -70,9 +70,18 @@ subdir-dirs = include @@ -79,7 +79,7 @@ index 1ae3281..26ab7bf 100644 # Since stubs.h is never needed when building the library, we simplify the diff --git a/include/stubs-bootstrap.h b/include/stubs-bootstrap.h new file mode 100644 -index 0000000..1d2b669 +index 0000000000..1d2b669aff --- /dev/null +++ b/include/stubs-bootstrap.h @@ -0,0 +1,12 @@ @@ -96,5 +96,5 @@ index 0000000..1d2b669 + EGLIBC subdir 'stubs' make targets, on every .o file in EGLIBC, but + an empty stubs.h like this will do fine for GCC. */ -- -2.10.2 +2.13.2 diff --git a/meta/recipes-core/glibc/glibc/0021-eglibc-Clear-cache-lines-on-ppc8xx.patch b/meta/recipes-core/glibc/glibc/0019-eglibc-Clear-cache-lines-on-ppc8xx.patch similarity index 94% rename from meta/recipes-core/glibc/glibc/0021-eglibc-Clear-cache-lines-on-ppc8xx.patch rename to meta/recipes-core/glibc/glibc/0019-eglibc-Clear-cache-lines-on-ppc8xx.patch index a9a7391..adb28cf 100644 --- a/meta/recipes-core/glibc/glibc/0021-eglibc-Clear-cache-lines-on-ppc8xx.patch +++ b/meta/recipes-core/glibc/glibc/0019-eglibc-Clear-cache-lines-on-ppc8xx.patch @@ -1,7 +1,7 @@ -From 000ab518aa1269714bc0a9a4633b0a538fae91d9 Mon Sep 17 00:00:00 2001 +From 1732c7f25453c879c17701839ef34876a7357008 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Thu, 31 Dec 2015 15:15:09 -0800 -Subject: [PATCH 21/26] eglibc: Clear cache lines on ppc8xx +Subject: [PATCH 19/25] eglibc: Clear cache lines on ppc8xx 2007-06-13 Nathan Sidwell Mark Shinwell @@ -21,7 +21,7 @@ Signed-off-by: Khem Raj 2 files changed, 28 insertions(+), 2 deletions(-) diff --git a/sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c b/sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c -index 98ec2b3..b384ae0 100644 +index 23f5d5d388..7e45288db7 100644 --- a/sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c +++ b/sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c @@ -24,9 +24,21 @@ int __cache_line_size attribute_hidden; @@ -48,7 +48,7 @@ index 98ec2b3..b384ae0 100644 break; diff --git a/sysdeps/unix/sysv/linux/powerpc/libc-start.c b/sysdeps/unix/sysv/linux/powerpc/libc-start.c -index 0efd297..8cc0ef8 100644 +index ad036c1e4b..afee56a3da 100644 --- a/sysdeps/unix/sysv/linux/powerpc/libc-start.c +++ b/sysdeps/unix/sysv/linux/powerpc/libc-start.c @@ -73,11 +73,25 @@ __libc_start_main (int argc, char **argv, @@ -79,5 +79,5 @@ index 0efd297..8cc0ef8 100644 break; #ifndef SHARED -- -2.10.2 +2.13.2 diff --git a/meta/recipes-core/glibc/glibc/0022-eglibc-Resolve-__fpscr_values-on-SH4.patch b/meta/recipes-core/glibc/glibc/0020-eglibc-Resolve-__fpscr_values-on-SH4.patch similarity index 88% rename from meta/recipes-core/glibc/glibc/0022-eglibc-Resolve-__fpscr_values-on-SH4.patch rename to meta/recipes-core/glibc/glibc/0020-eglibc-Resolve-__fpscr_values-on-SH4.patch index c0cd5b0..f835d87 100644 --- a/meta/recipes-core/glibc/glibc/0022-eglibc-Resolve-__fpscr_values-on-SH4.patch +++ b/meta/recipes-core/glibc/glibc/0020-eglibc-Resolve-__fpscr_values-on-SH4.patch @@ -1,7 +1,7 @@ -From a50c6e80543fb4cbc589978c11fe846bf4a94492 Mon Sep 17 00:00:00 2001 +From 108b3a1df96a85522c52a0dec032fc2c106f5f2d Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 00:55:53 +0000 -Subject: [PATCH 22/26] eglibc: Resolve __fpscr_values on SH4 +Subject: [PATCH 20/25] eglibc: Resolve __fpscr_values on SH4 2010-09-29 Nobuhiro Iwamatsu Andrew Stubbs @@ -21,7 +21,7 @@ Signed-off-by: Khem Raj 2 files changed, 12 insertions(+) diff --git a/sysdeps/unix/sysv/linux/sh/Versions b/sysdeps/unix/sysv/linux/sh/Versions -index e0938c4..ca1d7da 100644 +index e0938c4165..ca1d7da339 100644 --- a/sysdeps/unix/sysv/linux/sh/Versions +++ b/sysdeps/unix/sysv/linux/sh/Versions @@ -2,6 +2,7 @@ libc { @@ -33,7 +33,7 @@ index e0938c4..ca1d7da 100644 # a* alphasort64; diff --git a/sysdeps/unix/sysv/linux/sh/sysdep.S b/sysdeps/unix/sysv/linux/sh/sysdep.S -index 0024d79..d1db7e4 100644 +index 5f11bc737b..2fd217b00b 100644 --- a/sysdeps/unix/sysv/linux/sh/sysdep.S +++ b/sysdeps/unix/sysv/linux/sh/sysdep.S @@ -30,3 +30,14 @@ ENTRY (__syscall_error) @@ -52,5 +52,5 @@ index 0024d79..d1db7e4 100644 +weak_alias (___fpscr_values, __fpscr_values) + -- -2.10.2 +2.13.2 diff --git a/meta/recipes-core/glibc/glibc/0020-eglibc-cherry-picked-from.patch b/meta/recipes-core/glibc/glibc/0020-eglibc-cherry-picked-from.patch deleted file mode 100644 index 4344573..0000000 --- a/meta/recipes-core/glibc/glibc/0020-eglibc-cherry-picked-from.patch +++ /dev/null @@ -1,64 +0,0 @@ -From b2ed906ec864583b43379ef9ad2b5630c1232565 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Thu, 31 Dec 2015 15:10:33 -0800 -Subject: [PATCH 20/26] eglibc: cherry-picked from - -http://www.eglibc.org/archives/patches/msg00772.html - -Not yet merged into glibc - -Upstream-Status: Pending - -Signed-off-by: Khem Raj ---- - resolv/res_libc.c | 14 +++++++++++++- - 1 file changed, 13 insertions(+), 1 deletion(-) - -diff --git a/resolv/res_libc.c b/resolv/res_libc.c -index a4b376f..3256e12 100644 ---- a/resolv/res_libc.c -+++ b/resolv/res_libc.c -@@ -21,11 +21,13 @@ - #include - #include - #include -+#include - #include - #include - #include - #include - -+__libc_lock_define_initialized (static, lock); - extern unsigned long long int __res_initstamp attribute_hidden; - /* We have atomic increment operations on 64-bit platforms. */ - #if __WORDSIZE == 64 -@@ -33,7 +35,6 @@ extern unsigned long long int __res_initstamp attribute_hidden; - # define atomicincunlock(lock) (void) 0 - # define atomicinc(var) catomic_increment (&(var)) - #else --__libc_lock_define_initialized (static, lock); - # define atomicinclock(lock) __libc_lock_lock (lock) - # define atomicincunlock(lock) __libc_lock_unlock (lock) - # define atomicinc(var) ++var -@@ -92,7 +93,18 @@ res_init(void) { - int - __res_maybe_init (res_state resp, int preinit) - { -+ static time_t last_mtime; -+ struct stat statbuf; -+ int ret; -+ - if (resp->options & RES_INIT) { -+ ret = stat (_PATH_RESCONF, &statbuf); -+ __libc_lock_lock (lock); -+ if ((ret == 0) && (last_mtime != statbuf.st_mtime)) { -+ last_mtime = statbuf.st_mtime; -+ atomicinc (__res_initstamp); -+ } -+ __libc_lock_unlock (lock); - if (__res_initstamp != resp->_u._ext.initstamp) { - if (resp->nscount > 0) - __res_iclose (resp, true); --- -2.10.2 - diff --git a/meta/recipes-core/glibc/glibc/0023-eglibc-Install-PIC-archives.patch b/meta/recipes-core/glibc/glibc/0021-eglibc-Install-PIC-archives.patch similarity index 90% rename from meta/recipes-core/glibc/glibc/0023-eglibc-Install-PIC-archives.patch rename to meta/recipes-core/glibc/glibc/0021-eglibc-Install-PIC-archives.patch index c3e571f..6ee397b 100644 --- a/meta/recipes-core/glibc/glibc/0023-eglibc-Install-PIC-archives.patch +++ b/meta/recipes-core/glibc/glibc/0021-eglibc-Install-PIC-archives.patch @@ -1,7 +1,7 @@ -From 101568daf48d99e71b280a2fdd85460fe740d583 Mon Sep 17 00:00:00 2001 +From 3392ee83b0132c089dffb1e9892b4b252ce1ec0e Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 01:57:01 +0000 -Subject: [PATCH 23/26] eglibc: Install PIC archives +Subject: [PATCH 21/25] eglibc: Install PIC archives Forward port from eglibc @@ -29,10 +29,10 @@ Signed-off-by: Khem Raj 1 file changed, 40 insertions(+), 2 deletions(-) diff --git a/Makerules b/Makerules -index 61a0240..373e628 100644 +index 9bb707c168..74cbefb9ba 100644 --- a/Makerules +++ b/Makerules -@@ -762,6 +762,9 @@ ifeq ($(build-shared),yes) +@@ -775,6 +775,9 @@ ifeq ($(build-shared),yes) $(common-objpfx)libc.so: $(common-objpfx)libc.map endif common-generated += libc.so libc_pic.os @@ -42,7 +42,7 @@ index 61a0240..373e628 100644 ifdef libc.so-version $(common-objpfx)libc.so$(libc.so-version): $(common-objpfx)libc.so $(make-link) -@@ -1004,6 +1007,7 @@ endif +@@ -1026,6 +1029,7 @@ endif install: check-install-supported @@ -50,7 +50,7 @@ index 61a0240..373e628 100644 install: $(installed-libcs) $(installed-libcs): $(inst_libdir)/lib$(libprefix)%: lib $(+force) $(make-target-directory) -@@ -1032,6 +1036,22 @@ versioned := $(strip $(foreach so,$(install-lib.so),\ +@@ -1054,6 +1058,22 @@ versioned := $(strip $(foreach so,$(install-lib.so),\ install-lib.so-versioned := $(filter $(versioned), $(install-lib.so)) install-lib.so-unversioned := $(filter-out $(versioned), $(install-lib.so)) @@ -73,7 +73,7 @@ index 61a0240..373e628 100644 # For versioned libraries, we install three files: # $(inst_libdir)/libfoo.so -- for linking, symlink or ld script # $(inst_slibdir)/libfoo.so.NN -- for loading by SONAME, symlink -@@ -1275,9 +1295,22 @@ $(addprefix $(inst_includedir)/,$(headers-nonh)): $(inst_includedir)/%: \ +@@ -1298,9 +1318,22 @@ $(addprefix $(inst_includedir)/,$(headers-nonh)): $(inst_includedir)/%: \ endif # headers-nonh endif # headers @@ -97,7 +97,7 @@ index 61a0240..373e628 100644 install-bin-nosubdir: $(addprefix $(inst_bindir)/,$(install-bin)) install-bin-script-nosubdir: $(addprefix $(inst_bindir)/,$(install-bin-script)) install-rootsbin-nosubdir: \ -@@ -1290,6 +1323,10 @@ install-data-nosubdir: $(addprefix $(inst_datadir)/,$(install-data)) +@@ -1313,6 +1346,10 @@ install-data-nosubdir: $(addprefix $(inst_datadir)/,$(install-data)) install-headers-nosubdir: $(addprefix $(inst_includedir)/,$(headers)) install-others-nosubdir: $(install-others) install-others-programs-nosubdir: $(install-others-programs) @@ -108,7 +108,7 @@ index 61a0240..373e628 100644 # We need all the `-nosubdir' targets so that `install' in the parent # doesn't depend on several things which each iterate over the subdirs. -@@ -1299,7 +1336,8 @@ install-%:: install-%-nosubdir ; +@@ -1322,7 +1359,8 @@ install-%:: install-%-nosubdir ; .PHONY: install install-no-libc.a-nosubdir install-no-libc.a-nosubdir: install-headers-nosubdir install-data-nosubdir \ @@ -119,5 +119,5 @@ index 61a0240..373e628 100644 install-no-libc.a-nosubdir: install-bin-nosubdir install-bin-script-nosubdir \ install-rootsbin-nosubdir install-sbin-nosubdir \ -- -2.10.2 +2.13.2 diff --git a/meta/recipes-core/glibc/glibc/0024-eglibc-Forward-port-cross-locale-generation-support.patch b/meta/recipes-core/glibc/glibc/0022-eglibc-Forward-port-cross-locale-generation-support.patch similarity index 96% rename from meta/recipes-core/glibc/glibc/0024-eglibc-Forward-port-cross-locale-generation-support.patch rename to meta/recipes-core/glibc/glibc/0022-eglibc-Forward-port-cross-locale-generation-support.patch index 3399890..2a8a20a 100644 --- a/meta/recipes-core/glibc/glibc/0024-eglibc-Forward-port-cross-locale-generation-support.patch +++ b/meta/recipes-core/glibc/glibc/0022-eglibc-Forward-port-cross-locale-generation-support.patch @@ -1,7 +1,7 @@ -From 82516e3ed372f618c886a2de4f9498f597aa8a8b Mon Sep 17 00:00:00 2001 +From d97533dc201cfd863765b1a67a27fde3e2622da7 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 01:33:49 +0000 -Subject: [PATCH 24/26] eglibc: Forward port cross locale generation support +Subject: [PATCH 22/25] eglibc: Forward port cross locale generation support Upstream-Status: Pending @@ -23,11 +23,11 @@ Signed-off-by: Khem Raj create mode 100644 locale/catnames.c diff --git a/locale/Makefile b/locale/Makefile -index c5379e6..c98c675 100644 +index 98ee76272d..bc3afb2248 100644 --- a/locale/Makefile +++ b/locale/Makefile -@@ -25,7 +25,8 @@ include ../Makeconfig - headers = locale.h bits/locale.h langinfo.h xlocale.h +@@ -26,7 +26,8 @@ headers = langinfo.h locale.h bits/locale.h \ + bits/types/locale_t.h bits/types/__locale_t.h routines = setlocale findlocale loadlocale loadarchive \ localeconv nl_langinfo nl_langinfo_l mb_cur_max \ - newlocale duplocale freelocale uselocale @@ -38,7 +38,7 @@ index c5379e6..c98c675 100644 address telephone measurement identification collate diff --git a/locale/catnames.c b/locale/catnames.c new file mode 100644 -index 0000000..9fad357 +index 0000000000..9fad357db1 --- /dev/null +++ b/locale/catnames.c @@ -0,0 +1,48 @@ @@ -91,10 +91,10 @@ index 0000000..9fad357 + [LC_ALL] = sizeof ("LC_ALL") - 1 + }; diff --git a/locale/localeinfo.h b/locale/localeinfo.h -index 1f4da92..7f68935 100644 +index 4e1c8c568a..f7ed946f1c 100644 --- a/locale/localeinfo.h +++ b/locale/localeinfo.h -@@ -224,7 +224,7 @@ __libc_tsd_define (extern, __locale_t, LOCALE) +@@ -224,7 +224,7 @@ __libc_tsd_define (extern, locale_t, LOCALE) unused. We can manage this playing some tricks with weak references. But with thread-local locale settings, it becomes quite ungainly unless we can use __thread variables. So only in that case do we attempt this. */ @@ -104,7 +104,7 @@ index 1f4da92..7f68935 100644 # define NL_CURRENT_INDIRECT 1 #endif diff --git a/locale/programs/charmap-dir.c b/locale/programs/charmap-dir.c -index 99fcd35..5e528dc 100644 +index e55ab86e28..0f87e6dd28 100644 --- a/locale/programs/charmap-dir.c +++ b/locale/programs/charmap-dir.c @@ -19,7 +19,9 @@ @@ -150,7 +150,7 @@ index 99fcd35..5e528dc 100644 return NULL; } diff --git a/locale/programs/ld-collate.c b/locale/programs/ld-collate.c -index 1e125f6..3b2867f 100644 +index cec848cb7c..fcd768eb7d 100644 --- a/locale/programs/ld-collate.c +++ b/locale/programs/ld-collate.c @@ -350,7 +350,7 @@ new_element (struct locale_collate_t *collate, const char *mbs, size_t mbslen, @@ -199,7 +199,7 @@ index 1e125f6..3b2867f 100644 == runp->wcnext->wcs[runp->nwcs - 1] + 1)); diff --git a/locale/programs/ld-ctype.c b/locale/programs/ld-ctype.c -index 0fd141c..68136e6 100644 +index df266c20d6..05c0152ec9 100644 --- a/locale/programs/ld-ctype.c +++ b/locale/programs/ld-ctype.c @@ -926,7 +926,7 @@ ctype_output (struct localedef_t *locale, const struct charmap_t *charmap, @@ -281,7 +281,7 @@ index 0fd141c..68136e6 100644 srunp = srunp->next; } diff --git a/locale/programs/ld-time.c b/locale/programs/ld-time.c -index 87531bc..5f2c266 100644 +index 32e9c41e35..6a61fcedeb 100644 --- a/locale/programs/ld-time.c +++ b/locale/programs/ld-time.c @@ -215,8 +215,10 @@ No definition for %s category found"), "LC_TIME")); @@ -350,7 +350,7 @@ index 87531bc..5f2c266 100644 diff --git a/locale/programs/linereader.c b/locale/programs/linereader.c -index b885f65..0afb631 100644 +index 52b340963a..1a8bce17b4 100644 --- a/locale/programs/linereader.c +++ b/locale/programs/linereader.c @@ -595,7 +595,7 @@ get_string (struct linereader *lr, const struct charmap_t *charmap, @@ -363,7 +363,7 @@ index b885f65..0afb631 100644 size_t bufmax = 56; diff --git a/locale/programs/localedef.c b/locale/programs/localedef.c -index b4c48f1..ed08d48 100644 +index 6acc1342c7..df87740f8b 100644 --- a/locale/programs/localedef.c +++ b/locale/programs/localedef.c @@ -108,6 +108,7 @@ void (*argp_program_version_hook) (FILE *, struct argp_state *) = print_version; @@ -409,7 +409,7 @@ index b4c48f1..ed08d48 100644 force_output = 1; break; diff --git a/locale/programs/locfile.c b/locale/programs/locfile.c -index 32f5cd2..02967b0 100644 +index 0990ef11be..683422c908 100644 --- a/locale/programs/locfile.c +++ b/locale/programs/locfile.c @@ -544,6 +544,9 @@ compare_files (const char *filename1, const char *filename2, size_t size, @@ -432,7 +432,7 @@ index 32f5cd2..02967b0 100644 /* Record that FILE's next element is the 32-bit integer VALUE. */ diff --git a/locale/programs/locfile.h b/locale/programs/locfile.h -index a3dd904..2c7763a 100644 +index 3407e13c13..0bb556caf8 100644 --- a/locale/programs/locfile.h +++ b/locale/programs/locfile.h @@ -71,6 +71,8 @@ extern void write_all_categories (struct localedef_t *definitions, @@ -521,7 +521,7 @@ index a3dd904..2c7763a 100644 + #endif /* locfile.h */ diff --git a/locale/setlocale.c b/locale/setlocale.c -index 69b3141..1cef0be 100644 +index 19acc4b2c7..c89d3b87ad 100644 --- a/locale/setlocale.c +++ b/locale/setlocale.c @@ -64,36 +64,6 @@ static char *const _nl_current_used[] = @@ -562,5 +562,5 @@ index 69b3141..1cef0be 100644 # define WEAK_POSTLOAD(postload) weak_extern (postload) #else -- -2.10.2 +2.13.2 diff --git a/meta/recipes-core/glibc/glibc/0025-Define-DUMMY_LOCALE_T-if-not-defined.patch b/meta/recipes-core/glibc/glibc/0023-Define-DUMMY_LOCALE_T-if-not-defined.patch similarity index 80% rename from meta/recipes-core/glibc/glibc/0025-Define-DUMMY_LOCALE_T-if-not-defined.patch rename to meta/recipes-core/glibc/glibc/0023-Define-DUMMY_LOCALE_T-if-not-defined.patch index 1f0f5d4..9e580d4 100644 --- a/meta/recipes-core/glibc/glibc/0025-Define-DUMMY_LOCALE_T-if-not-defined.patch +++ b/meta/recipes-core/glibc/glibc/0023-Define-DUMMY_LOCALE_T-if-not-defined.patch @@ -1,7 +1,7 @@ -From c2d8cdeab116caacdfedb35eeb3e743b44807bec Mon Sep 17 00:00:00 2001 +From cb4d00eac7f84092314de593626eea40f9529038 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 20 Apr 2016 21:11:00 -0700 -Subject: [PATCH 25/26] Define DUMMY_LOCALE_T if not defined +Subject: [PATCH 23/25] Define DUMMY_LOCALE_T if not defined This is a hack to fix building the locale bits on an older CentOs 5.X machine @@ -14,7 +14,7 @@ Signed-off-by: Khem Raj 1 file changed, 3 insertions(+) diff --git a/locale/programs/config.h b/locale/programs/config.h -index f606365..0e5f8c3 100644 +index 5b416be0d8..79e66eed5e 100644 --- a/locale/programs/config.h +++ b/locale/programs/config.h @@ -19,6 +19,9 @@ @@ -28,5 +28,5 @@ index f606365..0e5f8c3 100644 #define PACKAGE _libc_intl_domainname #ifndef VERSION -- -2.10.2 +2.13.2 diff --git a/meta/recipes-core/glibc/glibc/0026-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch b/meta/recipes-core/glibc/glibc/0024-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch similarity index 89% rename from meta/recipes-core/glibc/glibc/0026-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch rename to meta/recipes-core/glibc/glibc/0024-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch index 852f530..0b59352 100644 --- a/meta/recipes-core/glibc/glibc/0026-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch +++ b/meta/recipes-core/glibc/glibc/0024-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch @@ -1,7 +1,7 @@ -From fb315c197cca61299a6f6588ea3460145c255d06 Mon Sep 17 00:00:00 2001 +From a784742739c90eea0d4ccbbd073a067d55ca95e8 Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Thu, 18 Aug 2016 14:07:58 -0500 -Subject: [PATCH 26/26] elf/dl-deps.c: Make _dl_build_local_scope breadth first +Subject: [PATCH 24/25] elf/dl-deps.c: Make _dl_build_local_scope breadth first According to the ELF specification: @@ -24,7 +24,7 @@ Signed-off-by: Mark Hatle 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/elf/dl-deps.c b/elf/dl-deps.c -index 6a82987..53be824 100644 +index 1b8bac6593..c616808f31 100644 --- a/elf/dl-deps.c +++ b/elf/dl-deps.c @@ -73,13 +73,19 @@ _dl_build_local_scope (struct link_map **list, struct link_map *map) @@ -52,5 +52,5 @@ index 6a82987..53be824 100644 } -- -2.10.2 +2.13.2 diff --git a/meta/recipes-core/glibc/glibc/0027-locale-fix-hard-coded-reference-to-gcc-E.patch b/meta/recipes-core/glibc/glibc/0025-locale-fix-hard-coded-reference-to-gcc-E.patch similarity index 82% rename from meta/recipes-core/glibc/glibc/0027-locale-fix-hard-coded-reference-to-gcc-E.patch rename to meta/recipes-core/glibc/glibc/0025-locale-fix-hard-coded-reference-to-gcc-E.patch index bce9055..f653077 100644 --- a/meta/recipes-core/glibc/glibc/0027-locale-fix-hard-coded-reference-to-gcc-E.patch +++ b/meta/recipes-core/glibc/glibc/0025-locale-fix-hard-coded-reference-to-gcc-E.patch @@ -1,7 +1,7 @@ -From a2fc86cb8d0366171f100ebd033aeb9609fa40de Mon Sep 17 00:00:00 2001 +From f3a670496c8fe6d4acf045f5b167a19cf41b044e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Rosen?= Date: Mon, 22 Aug 2016 16:09:25 +0200 -Subject: [PATCH 27/27] locale: fix hard-coded reference to gcc -E +Subject: [PATCH 25/25] locale: fix hard-coded reference to gcc -E When new version of compilers are published, they may not be compatible with older versions of software. This is particularly common when software is built @@ -17,13 +17,13 @@ environment. This patch replaces the hard-coded reference to the gcc binary with the proper environment variable, thus allowing a user to override it. -Upstream-Status: Submitted [https://sourceware.org/ml/libc-alpha/2016-08/msg00746.html] +Upstream-Status : Submitted [https://sourceware.org/ml/libc-alpha/2016-08/msg00746.html] --- locale/gen-translit.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/locale/gen-translit.pl b/locale/gen-translit.pl -index 30d3f2f..e976530 100644 +index 30d3f2f195..e97653017c 100644 --- a/locale/gen-translit.pl +++ b/locale/gen-translit.pl @@ -1,5 +1,5 @@ @@ -34,5 +34,5 @@ index 30d3f2f..e976530 100644 sub cstrlen { -- -2.10.2 +2.13.2 diff --git a/meta/recipes-core/glibc/glibc_2.25.bb b/meta/recipes-core/glibc/glibc_2.25.90.bb similarity index 80% rename from meta/recipes-core/glibc/glibc_2.25.bb rename to meta/recipes-core/glibc/glibc_2.25.90.bb index c37438a..24f5a38 100644 --- a/meta/recipes-core/glibc/glibc_2.25.bb +++ b/meta/recipes-core/glibc/glibc_2.25.90.bb @@ -7,9 +7,10 @@ LIC_FILES_CHKSUM = "file://LICENSES;md5=e9a558e243b36d3209f380deb394b213 \ DEPENDS += "gperf-native" -SRCREV ?= "db0242e3023436757bbc7c488a779e6e3343db04" +SRCREV ?= "43a9f537fc121a867981ca31ea9d79f33ce0fd24" -SRCBRANCH ?= "release/${PV}/master" +#SRCBRANCH ?= "release/${PV}/master" +SRCBRANCH ?= "master" GLIBC_GIT_URI ?= "git://sourceware.org/git/glibc.git" UPSTREAM_CHECK_GITTAGREGEX = "(?P\d+\.\d+(\.\d+)*)" @@ -26,22 +27,20 @@ SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \ file://0009-Quote-from-bug-1443-which-explains-what-the-patch-do.patch \ file://0010-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch \ file://0011-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch \ - file://0012-Make-ld-version-output-matching-grok-gold-s-output.patch \ - file://0013-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch \ - file://0014-Add-unused-attribute.patch \ - file://0015-yes-within-the-path-sets-wrong-config-variables.patch \ - file://0016-timezone-re-written-tzselect-as-posix-sh.patch \ - file://0017-Remove-bash-dependency-for-nscd-init-script.patch \ - file://0018-eglibc-Cross-building-and-testing-instructions.patch \ - file://0019-eglibc-Help-bootstrap-cross-toolchain.patch \ - file://0020-eglibc-cherry-picked-from.patch \ - file://0021-eglibc-Clear-cache-lines-on-ppc8xx.patch \ - file://0022-eglibc-Resolve-__fpscr_values-on-SH4.patch \ - file://0023-eglibc-Install-PIC-archives.patch \ - file://0024-eglibc-Forward-port-cross-locale-generation-support.patch \ - file://0025-Define-DUMMY_LOCALE_T-if-not-defined.patch \ - file://0026-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch \ - file://0027-locale-fix-hard-coded-reference-to-gcc-E.patch \ + file://0012-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch \ + file://0013-Add-unused-attribute.patch \ + file://0014-yes-within-the-path-sets-wrong-config-variables.patch \ + file://0015-timezone-re-written-tzselect-as-posix-sh.patch \ + file://0016-Remove-bash-dependency-for-nscd-init-script.patch \ + file://0017-eglibc-Cross-building-and-testing-instructions.patch \ + file://0018-eglibc-Help-bootstrap-cross-toolchain.patch \ + file://0019-eglibc-Clear-cache-lines-on-ppc8xx.patch \ + file://0020-eglibc-Resolve-__fpscr_values-on-SH4.patch \ + file://0021-eglibc-Install-PIC-archives.patch \ + file://0022-eglibc-Forward-port-cross-locale-generation-support.patch \ + file://0023-Define-DUMMY_LOCALE_T-if-not-defined.patch \ + file://0024-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch \ + file://0025-locale-fix-hard-coded-reference-to-gcc-E.patch \ " NATIVESDKFIXES ?= "" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 10 23:11:40 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 10 Jul 2017 23:11:40 +0000 Subject: [oe-commits] [openembedded-core] 07/15: musl: Update to latest on master In-Reply-To: <149972829372.2035.9783393405679486670@git.openembedded.org> References: <149972829372.2035.9783393405679486670@git.openembedded.org> Message-ID: <20170710231134.63CC0234866@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 1e109651acd53b8bad5bc2ccdf152d747a91f1ac Author: Khem Raj AuthorDate: Mon Jun 12 14:54:24 2017 -0700 musl: Update to latest on master Bring in following changes * fix missing volatile qualifier on lock in __get_locale * remove ineffective compiler assist from printf * fix undefined behavior in ptrace * unify the use of FUTEX_PRIVATE * fix undefined behavior in free * reapply va_arg hacks removal to wprintf * remove useless declarations in string.h * allow specifying argv[0] when invoking a program via ldso command * fix regression in dlopen promotion from RTLD_LOCAL to RTLD_GLOBAL * ldso: avoid spurious & possible erroneous work for libs with no deps * powerpc64: add single-instruction math functions * fix clang CFLAGS checks and silence unused argument warnings * s390x: add single-instruction math functions * fix arm run-time abi string functions * fix regression in getspnam[_r] error code for insufficient buffer size * fix omission of microblaze user.h definitions * fix iconv conversions for iso88592-iso885916 * handle errors from localtime_r in ctime_r * set errno when getpw*_r, getgr*_r, and getspnam_r fail * handle localtime errors in ctime * handle mremap failure in realloc of mmap-serviced allocations * getdate: correctly specify error number * catopen: set errno to EOPNOTSUPP * fix glob failure to match plain "/" to root directory * use hard-coded sh4a atomic opcodes to avoid linker errors on sh Signed-off-by: Khem Raj Signed-off-by: Ross Burton --- meta/recipes-core/musl/musl_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-core/musl/musl_git.bb b/meta/recipes-core/musl/musl_git.bb index fba4709..31583de 100644 --- a/meta/recipes-core/musl/musl_git.bb +++ b/meta/recipes-core/musl/musl_git.bb @@ -3,7 +3,7 @@ require musl.inc -SRCREV = "179766aa2ef06df854bc1d9616bf6f00ce49b7f9" +SRCREV = "a08910fc2cc739f631b75b2d09b8d72a0d64d285" PV = "1.1.16+git${SRCPV}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 10 23:11:38 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 10 Jul 2017 23:11:38 +0000 Subject: [oe-commits] [openembedded-core] 05/15: gcc-sanitizer: Fix build with glibc 2.26 In-Reply-To: <149972829372.2035.9783393405679486670@git.openembedded.org> References: <149972829372.2035.9783393405679486670@git.openembedded.org> Message-ID: <20170710231134.53871234864@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit c5cb3a582531dd1b9c40df5bcaa6f8bf5b451a54 Author: Khem Raj AuthorDate: Sun Jun 11 10:15:44 2017 -0700 gcc-sanitizer: Fix build with glibc 2.26 sigaltstack is no more exposed by glibc see (bug 21517) therefore adjust to use stack_t instead Use res_state typedef instead of referring to __res_state struct Signed-off-by: Khem Raj Signed-off-by: Ross Burton --- meta/recipes-devtools/gcc/gcc-7.1.inc | 1 + ...r-Use-stack_t-instead-of-struct-sigaltsta.patch | 160 +++++++++++++++++++++ 2 files changed, 161 insertions(+) diff --git a/meta/recipes-devtools/gcc/gcc-7.1.inc b/meta/recipes-devtools/gcc/gcc-7.1.inc index 96fc11c..f30a73c 100644 --- a/meta/recipes-devtools/gcc/gcc-7.1.inc +++ b/meta/recipes-devtools/gcc/gcc-7.1.inc @@ -73,6 +73,7 @@ SRC_URI = "\ file://0046-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch \ file://0047-sync-gcc-stddef.h-with-musl.patch \ file://0048-gcc-Enable-static-PIE.patch \ + file://0049-libsanitizer-Use-stack_t-instead-of-struct-sigaltsta.patch \ ${BACKPORTS} \ " BACKPORTS = "\ diff --git a/meta/recipes-devtools/gcc/gcc-7.1/0049-libsanitizer-Use-stack_t-instead-of-struct-sigaltsta.patch b/meta/recipes-devtools/gcc/gcc-7.1/0049-libsanitizer-Use-stack_t-instead-of-struct-sigaltsta.patch new file mode 100644 index 0000000..ee15c6c --- /dev/null +++ b/meta/recipes-devtools/gcc/gcc-7.1/0049-libsanitizer-Use-stack_t-instead-of-struct-sigaltsta.patch @@ -0,0 +1,160 @@ +From 4c07606bb77bbd30f02adb947d480516da3fa3f7 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 11 Jun 2017 10:09:13 -0700 +Subject: [PATCH] libsanitizer: Use stack_t instead of struct sigaltstack + +Upstream-Status: Submitted + +Signed-off-by: Khem Raj +--- + libsanitizer/sanitizer_common/sanitizer_linux.cc | 4 ++-- + libsanitizer/sanitizer_common/sanitizer_linux.h | 6 +++--- + .../sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc | 3 ++- + 3 files changed, 7 insertions(+), 6 deletions(-) + +Index: gcc-7.1.0/libsanitizer/sanitizer_common/sanitizer_linux.cc +=================================================================== +--- gcc-7.1.0.orig/libsanitizer/sanitizer_common/sanitizer_linux.cc ++++ gcc-7.1.0/libsanitizer/sanitizer_common/sanitizer_linux.cc +@@ -14,6 +14,10 @@ + + #if SANITIZER_FREEBSD || SANITIZER_LINUX + ++#if !SANITIZER_ANDROID ++#include ++#endif ++ + #include "sanitizer_common.h" + #include "sanitizer_flags.h" + #include "sanitizer_internal_defs.h" +@@ -71,10 +75,6 @@ extern "C" { + extern char **environ; // provided by crt1 + #endif // SANITIZER_FREEBSD + +-#if !SANITIZER_ANDROID +-#include +-#endif +- + #if SANITIZER_LINUX + // + struct kernel_timeval { +@@ -605,8 +605,8 @@ uptr internal_prctl(int option, uptr arg + } + #endif + +-uptr internal_sigaltstack(const struct sigaltstack *ss, +- struct sigaltstack *oss) { ++uptr internal_sigaltstack(const stack_t *ss, ++ stack_t *oss) { + return internal_syscall(SYSCALL(sigaltstack), (uptr)ss, (uptr)oss); + } + +Index: gcc-7.1.0/libsanitizer/sanitizer_common/sanitizer_linux.h +=================================================================== +--- gcc-7.1.0.orig/libsanitizer/sanitizer_common/sanitizer_linux.h ++++ gcc-7.1.0/libsanitizer/sanitizer_common/sanitizer_linux.h +@@ -19,7 +19,10 @@ + #include "sanitizer_platform_limits_posix.h" + + struct link_map; // Opaque type returned by dlopen(). +-struct sigaltstack; ++ ++#ifndef __stack_t_defined ++struct stack_t; ++#endif + + namespace __sanitizer { + // Dirent structure for getdents(). Note that this structure is different from +@@ -28,8 +31,8 @@ struct linux_dirent; + + // Syscall wrappers. + uptr internal_getdents(fd_t fd, struct linux_dirent *dirp, unsigned int count); +-uptr internal_sigaltstack(const struct sigaltstack* ss, +- struct sigaltstack* oss); ++uptr internal_sigaltstack(const stack_t* ss, ++ stack_t* oss); + uptr internal_sigprocmask(int how, __sanitizer_sigset_t *set, + __sanitizer_sigset_t *oldset); + +Index: gcc-7.1.0/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc +=================================================================== +--- gcc-7.1.0.orig/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc ++++ gcc-7.1.0/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc +@@ -16,6 +16,7 @@ + defined(__aarch64__) || defined(__powerpc64__) || \ + defined(__s390__)) + ++#include + #include "sanitizer_stoptheworld.h" + + #include "sanitizer_platform_limits_posix.h" +@@ -273,7 +274,7 @@ static int TracerThread(void* argument) + + // Alternate stack for signal handling. + InternalScopedBuffer handler_stack_memory(kHandlerStackSize); +- struct sigaltstack handler_stack; ++ stack_t handler_stack; + internal_memset(&handler_stack, 0, sizeof(handler_stack)); + handler_stack.ss_sp = handler_stack_memory.data(); + handler_stack.ss_size = kHandlerStackSize; +Index: gcc-7.1.0/libsanitizer/tsan/tsan_platform_linux.cc +=================================================================== +--- gcc-7.1.0.orig/libsanitizer/tsan/tsan_platform_linux.cc ++++ gcc-7.1.0/libsanitizer/tsan/tsan_platform_linux.cc +@@ -14,6 +14,7 @@ + #include "sanitizer_common/sanitizer_platform.h" + #if SANITIZER_LINUX || SANITIZER_FREEBSD + ++#include + #include "sanitizer_common/sanitizer_common.h" + #include "sanitizer_common/sanitizer_libc.h" + #include "sanitizer_common/sanitizer_linux.h" +@@ -28,7 +29,6 @@ + + #include + #include +-#include + #include + #include + #include +@@ -287,7 +287,7 @@ void InitializePlatform() { + int ExtractResolvFDs(void *state, int *fds, int nfd) { + #if SANITIZER_LINUX && !SANITIZER_ANDROID + int cnt = 0; +- __res_state *statp = (__res_state*)state; ++ res_state statp = (res_state)state; + for (int i = 0; i < MAXNS && cnt < nfd; i++) { + if (statp->_u._ext.nsaddrs[i] && statp->_u._ext.nssocks[i] != -1) + fds[cnt++] = statp->_u._ext.nssocks[i]; +Index: gcc-7.1.0/libsanitizer/sanitizer_common/sanitizer_linux_libcdep.cc +=================================================================== +--- gcc-7.1.0.orig/libsanitizer/sanitizer_common/sanitizer_linux_libcdep.cc ++++ gcc-7.1.0/libsanitizer/sanitizer_common/sanitizer_linux_libcdep.cc +@@ -14,6 +14,7 @@ + + #if SANITIZER_FREEBSD || SANITIZER_LINUX + ++#include + #include "sanitizer_allocator_internal.h" + #include "sanitizer_atomic.h" + #include "sanitizer_common.h" +@@ -30,7 +31,6 @@ + + #include + #include +-#include + #include + #include + +Index: gcc-7.1.0/libsanitizer/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cc +=================================================================== +--- gcc-7.1.0.orig/libsanitizer/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cc ++++ gcc-7.1.0/libsanitizer/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cc +@@ -12,6 +12,7 @@ + + #include "sanitizer_platform.h" + #if SANITIZER_POSIX ++#include + #include "sanitizer_allocator_internal.h" + #include "sanitizer_common.h" + #include "sanitizer_flags.h" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 10 23:11:39 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 10 Jul 2017 23:11:39 +0000 Subject: [oe-commits] [openembedded-core] 06/15: gcc: Use ucontext_t instead of ucontext In-Reply-To: <149972829372.2035.9783393405679486670@git.openembedded.org> References: <149972829372.2035.9783393405679486670@git.openembedded.org> Message-ID: <20170710231134.5B416234865@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit d70b9705b7997786bc95cf6e70c172470db3413c Author: Khem Raj AuthorDate: Wed Jun 28 00:28:47 2017 -0700 gcc: Use ucontext_t instead of ucontext glibc 2.26 does not expose struct ucontext anymore Signed-off-by: Khem Raj Signed-off-by: Ross Burton --- meta/recipes-devtools/gcc/gcc-7.1.inc | 1 + ...0-replace-struct-ucontext-with-ucontext_t.patch | 149 +++++++++++++++++++++ 2 files changed, 150 insertions(+) diff --git a/meta/recipes-devtools/gcc/gcc-7.1.inc b/meta/recipes-devtools/gcc/gcc-7.1.inc index f30a73c..3f1c06d 100644 --- a/meta/recipes-devtools/gcc/gcc-7.1.inc +++ b/meta/recipes-devtools/gcc/gcc-7.1.inc @@ -74,6 +74,7 @@ SRC_URI = "\ file://0047-sync-gcc-stddef.h-with-musl.patch \ file://0048-gcc-Enable-static-PIE.patch \ file://0049-libsanitizer-Use-stack_t-instead-of-struct-sigaltsta.patch \ + file://0050-replace-struct-ucontext-with-ucontext_t.patch \ ${BACKPORTS} \ " BACKPORTS = "\ diff --git a/meta/recipes-devtools/gcc/gcc-7.1/0050-replace-struct-ucontext-with-ucontext_t.patch b/meta/recipes-devtools/gcc/gcc-7.1/0050-replace-struct-ucontext-with-ucontext_t.patch new file mode 100644 index 0000000..e814992 --- /dev/null +++ b/meta/recipes-devtools/gcc/gcc-7.1/0050-replace-struct-ucontext-with-ucontext_t.patch @@ -0,0 +1,149 @@ +From 7b3cb36ab07d0c36b500bb5d0548b190d4b5a9f6 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 28 Jun 2017 00:25:57 -0700 +Subject: [PATCH 50/50] replace struct ucontext with ucontext_t + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +--- + libgcc/config/aarch64/linux-unwind.h | 2 +- + libgcc/config/alpha/linux-unwind.h | 2 +- + libgcc/config/bfin/linux-unwind.h | 2 +- + libgcc/config/i386/linux-unwind.h | 4 ++-- + libgcc/config/pa/linux-unwind.h | 2 +- + libgcc/config/riscv/linux-unwind.h | 2 +- + libgcc/config/sh/linux-unwind.h | 2 +- + libgcc/config/tilepro/linux-unwind.h | 2 +- + libgcc/config/xtensa/linux-unwind.h | 2 +- + 9 files changed, 10 insertions(+), 10 deletions(-) + +diff --git a/libgcc/config/aarch64/linux-unwind.h b/libgcc/config/aarch64/linux-unwind.h +index d5d6980442f..d46d5f53be3 100644 +--- a/libgcc/config/aarch64/linux-unwind.h ++++ b/libgcc/config/aarch64/linux-unwind.h +@@ -55,7 +55,7 @@ aarch64_fallback_frame_state (struct _Unwind_Context *context, + struct rt_sigframe + { + siginfo_t info; +- struct ucontext uc; ++ ucontext_t uc; + }; + + struct rt_sigframe *rt_; +diff --git a/libgcc/config/alpha/linux-unwind.h b/libgcc/config/alpha/linux-unwind.h +index a91a5f4fe26..7202516581d 100644 +--- a/libgcc/config/alpha/linux-unwind.h ++++ b/libgcc/config/alpha/linux-unwind.h +@@ -51,7 +51,7 @@ alpha_fallback_frame_state (struct _Unwind_Context *context, + { + struct rt_sigframe { + siginfo_t info; +- struct ucontext uc; ++ ucontext_t uc; + } *rt_ = context->cfa; + sc = &rt_->uc.uc_mcontext; + } +diff --git a/libgcc/config/bfin/linux-unwind.h b/libgcc/config/bfin/linux-unwind.h +index 9412c7652b8..37e9feb6965 100644 +--- a/libgcc/config/bfin/linux-unwind.h ++++ b/libgcc/config/bfin/linux-unwind.h +@@ -52,7 +52,7 @@ bfin_fallback_frame_state (struct _Unwind_Context *context, + void *puc; + char retcode[8]; + siginfo_t info; +- struct ucontext uc; ++ ucontext_t uc; + } *rt_ = context->cfa; + + /* The void * cast is necessary to avoid an aliasing warning. +diff --git a/libgcc/config/i386/linux-unwind.h b/libgcc/config/i386/linux-unwind.h +index b1d5040a687..2009ad72260 100644 +--- a/libgcc/config/i386/linux-unwind.h ++++ b/libgcc/config/i386/linux-unwind.h +@@ -58,7 +58,7 @@ x86_64_fallback_frame_state (struct _Unwind_Context *context, + if (*(unsigned char *)(pc+0) == 0x48 + && *(unsigned long long *)(pc+1) == RT_SIGRETURN_SYSCALL) + { +- struct ucontext *uc_ = context->cfa; ++ ucontext_t *uc_ = context->cfa; + /* The void * cast is necessary to avoid an aliasing warning. + The aliasing warning is correct, but should not be a problem + because it does not alias anything. */ +@@ -138,7 +138,7 @@ x86_fallback_frame_state (struct _Unwind_Context *context, + siginfo_t *pinfo; + void *puc; + siginfo_t info; +- struct ucontext uc; ++ ucontext_t uc; + } *rt_ = context->cfa; + /* The void * cast is necessary to avoid an aliasing warning. + The aliasing warning is correct, but should not be a problem +diff --git a/libgcc/config/pa/linux-unwind.h b/libgcc/config/pa/linux-unwind.h +index 580c18dad69..c2c3409bcc1 100644 +--- a/libgcc/config/pa/linux-unwind.h ++++ b/libgcc/config/pa/linux-unwind.h +@@ -80,7 +80,7 @@ pa32_fallback_frame_state (struct _Unwind_Context *context, + struct sigcontext *sc; + struct rt_sigframe { + siginfo_t info; +- struct ucontext uc; ++ ucontext_t uc; + } *frame; + + /* rt_sigreturn trampoline: +diff --git a/libgcc/config/riscv/linux-unwind.h b/libgcc/config/riscv/linux-unwind.h +index a051a2869d4..1c8aeff7ef0 100644 +--- a/libgcc/config/riscv/linux-unwind.h ++++ b/libgcc/config/riscv/linux-unwind.h +@@ -42,7 +42,7 @@ riscv_fallback_frame_state (struct _Unwind_Context *context, + struct rt_sigframe + { + siginfo_t info; +- struct ucontext uc; ++ ucontext_t uc; + }; + + struct rt_sigframe *rt_; +diff --git a/libgcc/config/sh/linux-unwind.h b/libgcc/config/sh/linux-unwind.h +index 1038caeb5c3..a8c98220282 100644 +--- a/libgcc/config/sh/linux-unwind.h ++++ b/libgcc/config/sh/linux-unwind.h +@@ -82,7 +82,7 @@ sh_fallback_frame_state (struct _Unwind_Context *context, + { + struct rt_sigframe { + siginfo_t info; +- struct ucontext uc; ++ ucontext_t uc; + } *rt_ = context->cfa; + /* The void * cast is necessary to avoid an aliasing warning. + The aliasing warning is correct, but should not be a problem +diff --git a/libgcc/config/tilepro/linux-unwind.h b/libgcc/config/tilepro/linux-unwind.h +index a8dc4405715..dba3b410279 100644 +--- a/libgcc/config/tilepro/linux-unwind.h ++++ b/libgcc/config/tilepro/linux-unwind.h +@@ -61,7 +61,7 @@ tile_fallback_frame_state (struct _Unwind_Context *context, + struct rt_sigframe { + unsigned char save_area[C_ABI_SAVE_AREA_SIZE]; + siginfo_t info; +- struct ucontext uc; ++ ucontext_t uc; + } *rt_; + + /* Return if this is not a signal handler. */ +diff --git a/libgcc/config/xtensa/linux-unwind.h b/libgcc/config/xtensa/linux-unwind.h +index 67c272820d0..b37b8b31bbf 100644 +--- a/libgcc/config/xtensa/linux-unwind.h ++++ b/libgcc/config/xtensa/linux-unwind.h +@@ -67,7 +67,7 @@ xtensa_fallback_frame_state (struct _Unwind_Context *context, + + struct rt_sigframe { + siginfo_t info; +- struct ucontext uc; ++ struct ucontext_t uc; + } *rt_; + + /* movi a2, __NR_rt_sigreturn; syscall */ +-- +2.13.2 + -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 10 23:11:41 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 10 Jul 2017 23:11:41 +0000 Subject: [oe-commits] [openembedded-core] 08/15: gcc: Fix libssh_nonshared linker specs for ppc/musl In-Reply-To: <149972829372.2035.9783393405679486670@git.openembedded.org> References: <149972829372.2035.9783393405679486670@git.openembedded.org> Message-ID: <20170710231134.6B736234867@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 9d39168a6acfa1f289a4448271c0bf9caaea10ec Author: Khem Raj AuthorDate: Wed Jul 5 10:34:44 2017 -0700 gcc: Fix libssh_nonshared linker specs for ppc/musl The change to link libssp_nonshared.a only for musl was to move spec file changes to config/linux.h under a conditional when DEFAULT_LIBC == LIBC_MUSL which worked fine for all but ppc since gcc for ppc provided its own linux.h overrides which are used. This patch duplicates the change in those headers too Signed-off-by: Khem Raj Signed-off-by: Ross Burton --- ...shared-to-link-commandline-for-musl-targe.patch | 55 ++++++++++++++++++++-- 1 file changed, 50 insertions(+), 5 deletions(-) diff --git a/meta/recipes-devtools/gcc/gcc-7.1/0040-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch b/meta/recipes-devtools/gcc/gcc-7.1/0040-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch index 310f7aa..29b7ce7 100644 --- a/meta/recipes-devtools/gcc/gcc-7.1/0040-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch +++ b/meta/recipes-devtools/gcc/gcc-7.1/0040-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch @@ -1,4 +1,4 @@ -From 75a42d6d0f1f9784327f74882195a5c24843d5a8 Mon Sep 17 00:00:00 2001 +From 210f6b3b82084cc756e02b8bc12f909a43b14ee8 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Tue, 27 Jun 2017 18:10:54 -0700 Subject: [PATCH 40/49] Add ssp_nonshared to link commandline for musl targets @@ -17,18 +17,21 @@ Upstream-Status: Pending Signed-off-by: Khem Raj --- - gcc/config/linux.h | 6 ++++++ - 1 file changed, 6 insertions(+) + gcc/config/linux.h | 7 +++++++ + gcc/config/rs6000/linux.h | 10 ++++++++++ + gcc/config/rs6000/linux64.h | 10 ++++++++++ + 3 files changed, 27 insertions(+) diff --git a/gcc/config/linux.h b/gcc/config/linux.h -index 2e683d0c430..5ff0a2cb2ff 100644 +index 2e683d0c430..1b4df798671 100644 --- a/gcc/config/linux.h +++ b/gcc/config/linux.h -@@ -182,6 +182,12 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see +@@ -182,6 +182,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see { GCC_INCLUDE_DIR, "GCC", 0, 1, 0, 0 }, \ { 0, 0, 0, 0, 0, 0 } \ } +#ifdef TARGET_LIBC_PROVIDES_SSP ++#undef LINK_SSP_SPEC +#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \ + "|fstack-protector-strong|fstack-protector-explicit" \ + ":-lssp_nonshared}" @@ -37,6 +40,48 @@ index 2e683d0c430..5ff0a2cb2ff 100644 #endif #if (DEFAULT_LIBC == LIBC_UCLIBC) && defined (SINGLE_LIBC) /* uClinux */ +diff --git a/gcc/config/rs6000/linux.h b/gcc/config/rs6000/linux.h +index 684afd6c190..22cfa391b89 100644 +--- a/gcc/config/rs6000/linux.h ++++ b/gcc/config/rs6000/linux.h +@@ -91,6 +91,16 @@ + " -m elf32ppclinux") + #endif + ++/* link libssp_nonshared.a with musl */ ++#if DEFAULT_LIBC == LIBC_MUSL ++#ifdef TARGET_LIBC_PROVIDES_SSP ++#undef LINK_SSP_SPEC ++#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \ ++ "|fstack-protector-strong|fstack-protector-explicit" \ ++ ":-lssp_nonshared}" ++#endif ++#endif ++ + #undef LINK_OS_LINUX_SPEC + #define LINK_OS_LINUX_SPEC LINK_OS_LINUX_EMUL " %{!shared: %{!static: \ + %{rdynamic:-export-dynamic} \ +diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h +index 3b00ec0fcf0..8371f8d7b6b 100644 +--- a/gcc/config/rs6000/linux64.h ++++ b/gcc/config/rs6000/linux64.h +@@ -465,6 +465,16 @@ extern int dot_symbols; + " -m elf64ppc") + #endif + ++/* link libssp_nonshared.a with musl */ ++#if DEFAULT_LIBC == LIBC_MUSL ++#ifdef TARGET_LIBC_PROVIDES_SSP ++#undef LINK_SSP_SPEC ++#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \ ++ "|fstack-protector-strong|fstack-protector-explicit" \ ++ ":-lssp_nonshared}" ++#endif ++#endif ++ + #define LINK_OS_LINUX_SPEC32 LINK_OS_LINUX_EMUL32 " %{!shared: %{!static: \ + %{rdynamic:-export-dynamic} \ + -dynamic-linker " GNU_USER_DYNAMIC_LINKER32 "}} \ -- 2.13.2 -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 10 23:11:44 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 10 Jul 2017 23:11:44 +0000 Subject: [oe-commits] [openembedded-core] 11/15: mpeg2dec: Fix textrels QA errors on arm In-Reply-To: <149972829372.2035.9783393405679486670@git.openembedded.org> References: <149972829372.2035.9783393405679486670@git.openembedded.org> Message-ID: <20170710231134.8303C23486A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit bbcc5322d3d0eb9e87e78ec47e71e29860af39d7 Author: Khem Raj AuthorDate: Wed Jul 5 19:10:00 2017 -0700 mpeg2dec: Fix textrels QA errors on arm Fixes WARNING: mpeg2dec-0.5.1-r0 do_package_qa: QA Issue: ELF binary '/mnt/a/oe/build/tmp/work/armv5te-bec-linux-musleabi/mpeg2dec/0.5.1-r0/packages-split/libmpeg2/usr/lib/libmpeg2.so.0.1.0' has relocations in .text [textrel] Signed-off-by: Khem Raj Signed-off-by: Ross Burton --- ...001-check-for-available-arm-optimizations.patch | 55 +++++++++++++++++++ ...ity-of-global-symbols-used-in-ARM-specifi.patch | 63 ++++++++++++++++++++++ meta/recipes-multimedia/mpeg2dec/mpeg2dec_0.5.1.bb | 5 +- 3 files changed, 122 insertions(+), 1 deletion(-) diff --git a/meta/recipes-multimedia/mpeg2dec/files/0001-check-for-available-arm-optimizations.patch b/meta/recipes-multimedia/mpeg2dec/files/0001-check-for-available-arm-optimizations.patch new file mode 100644 index 0000000..5bf68b3 --- /dev/null +++ b/meta/recipes-multimedia/mpeg2dec/files/0001-check-for-available-arm-optimizations.patch @@ -0,0 +1,55 @@ +From cbcff58ed670c8edc0be1004384cbe0fd07d8d26 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 5 Jul 2017 18:49:21 -0700 +Subject: [PATCH 1/2] check for available arm optimizations + +Taken From +http://sources.debian.net/src/mpeg2dec/0.5.1-7/debian/patches/65_arm-test-with-compiler.patch/ + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +--- + configure.ac | 12 ++++++++---- + 1 file changed, 8 insertions(+), 4 deletions(-) + +diff --git a/configure.ac b/configure.ac +index acdcb1e..2c0a721 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -59,7 +59,7 @@ elif test x"$GCC" = x"yes"; then + AC_TRY_CFLAGS([$TRY_CFLAGS $CFLAGS],[OPT_CFLAGS="$TRY_CFLAGS"]) + + dnl arch-specific flags +- arm_conditional=false ++ build_arm_opt=false + case "$host" in + i?86-* | k?-* | x86_64-* | amd64-*) + AC_DEFINE([ARCH_X86],,[x86 architecture]) +@@ -102,8 +102,12 @@ elif test x"$GCC" = x"yes"; then + alpha*) + AC_DEFINE([ARCH_ALPHA],,[alpha architecture]);; + arm*) +- arm_conditional=: +- AC_DEFINE([ARCH_ARM],,[ARM architecture]);; ++ AC_LANG(C) ++ AC_COMPILE_IFELSE( ++ [AC_LANG_SOURCE([[ ++ void foo(void) { __asm__ volatile("pld [r1]"); }]])], ++ build_arm_opt=true; AC_DEFINE([ARCH_ARM],,[ARM architecture]), ++ build_arm_opt=false);; + esac + elif test x"$CC" = x"tendracc"; then + dnl TenDRA portability checking compiler +@@ -123,7 +127,7 @@ else + esac + fi + +-AM_CONDITIONAL(ARCH_ARM, ${arm_conditional}) ++AM_CONDITIONAL(ARCH_ARM, test x$build_arm_opt = xtrue) + + dnl Checks for libtool - this must be done after we set cflags + AC_LIBTOOL_WIN32_DLL +-- +2.13.2 + diff --git a/meta/recipes-multimedia/mpeg2dec/files/0002-Set-visibility-of-global-symbols-used-in-ARM-specifi.patch b/meta/recipes-multimedia/mpeg2dec/files/0002-Set-visibility-of-global-symbols-used-in-ARM-specifi.patch new file mode 100644 index 0000000..8301692 --- /dev/null +++ b/meta/recipes-multimedia/mpeg2dec/files/0002-Set-visibility-of-global-symbols-used-in-ARM-specifi.patch @@ -0,0 +1,63 @@ +From f9d9dc92d75f8910e3cd5fdcbea72e505cdf3493 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 5 Jul 2017 19:03:36 -0700 +Subject: [PATCH 2/2] Set visibility of global symbols used in ARM specific + assembly file to internal + +Taken from +http://sources.debian.net/src/mpeg2dec/0.5.1-7/debian/patches/60_arm-private-symbols.patch/ + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +--- + libmpeg2/motion_comp_arm_s.S | 12 ++++++++---- + 1 file changed, 8 insertions(+), 4 deletions(-) + +diff --git a/libmpeg2/motion_comp_arm_s.S b/libmpeg2/motion_comp_arm_s.S +index f6c3d7d..c921f7c 100644 +--- a/libmpeg2/motion_comp_arm_s.S ++++ b/libmpeg2/motion_comp_arm_s.S +@@ -23,7 +23,8 @@ + + @ ---------------------------------------------------------------- + .align +- .global MC_put_o_16_arm ++ .global MC_put_o_16_arm ++ .internal MC_put_o_16_arm + MC_put_o_16_arm: + @@ void func(uint8_t * dest, const uint8_t * ref, int stride, int height) + pld [r1] +@@ -83,7 +84,8 @@ MC_put_o_16_arm_align_jt: + + @ ---------------------------------------------------------------- + .align +- .global MC_put_o_8_arm ++ .global MC_put_o_8_arm ++ .internal MC_put_o_8_arm + MC_put_o_8_arm: + @@ void func(uint8_t * dest, const uint8_t * ref, int stride, int height) + pld [r1] +@@ -152,7 +154,8 @@ MC_put_o_8_arm_align_jt: + .endm + + .align +- .global MC_put_x_16_arm ++ .global MC_put_x_16_arm ++ .internal MC_put_x_16_arm + MC_put_x_16_arm: + @@ void func(uint8_t * dest, const uint8_t * ref, int stride, int height) + pld [r1] +@@ -244,7 +247,8 @@ MC_put_x_16_arm_align_jt: + + @ ---------------------------------------------------------------- + .align +- .global MC_put_x_8_arm ++ .global MC_put_x_8_arm ++ .internal MC_put_x_8_arm + MC_put_x_8_arm: + @@ void func(uint8_t * dest, const uint8_t * ref, int stride, int height) + pld [r1] +-- +2.13.2 + diff --git a/meta/recipes-multimedia/mpeg2dec/mpeg2dec_0.5.1.bb b/meta/recipes-multimedia/mpeg2dec/mpeg2dec_0.5.1.bb index 8e995da..7711c2d 100644 --- a/meta/recipes-multimedia/mpeg2dec/mpeg2dec_0.5.1.bb +++ b/meta/recipes-multimedia/mpeg2dec/mpeg2dec_0.5.1.bb @@ -7,7 +7,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ file://include/mpeg2.h;beginline=1;endline=22;md5=7766f4fcb58f0f8413c49a746f2ab89b" SRC_URI = "http://libmpeg2.sourceforge.net/files/libmpeg2-${PV}.tar.gz \ - file://altivec_h_needed.patch" + file://altivec_h_needed.patch \ + file://0001-check-for-available-arm-optimizations.patch \ + file://0002-Set-visibility-of-global-symbols-used-in-ARM-specifi.patch \ + " S = "${WORKDIR}/libmpeg2-${PV}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 10 23:11:43 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 10 Jul 2017 23:11:43 +0000 Subject: [oe-commits] [openembedded-core] 10/15: valgrind: tests build fixes for musl In-Reply-To: <149972829372.2035.9783393405679486670@git.openembedded.org> References: <149972829372.2035.9783393405679486670@git.openembedded.org> Message-ID: <20170710231134.7B08D234869@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 459907cd548b97e50b26036e6898d32685cee01e Author: Khem Raj AuthorDate: Wed Jul 5 17:50:31 2017 -0700 valgrind: tests build fixes for musl x86/aarch64 needed minor changes to make few testcases portable Signed-off-by: Khem Raj Signed-off-by: Ross Burton --- ...m64-Define-__THROW-if-not-already-defined.patch | 32 ++++++++++ ...emcheck-x86-Define-__THROW-if-not-defined.patch | 32 ++++++++++ ...verride-Replace-__modify_ldt-with-syscall.patch | 68 ++++++++++++++++++++++ meta/recipes-devtools/valgrind/valgrind_3.12.0.bb | 3 + 4 files changed, 135 insertions(+) diff --git a/meta/recipes-devtools/valgrind/valgrind/0001-memcheck-arm64-Define-__THROW-if-not-already-defined.patch b/meta/recipes-devtools/valgrind/valgrind/0001-memcheck-arm64-Define-__THROW-if-not-already-defined.patch new file mode 100644 index 0000000..a48d7db --- /dev/null +++ b/meta/recipes-devtools/valgrind/valgrind/0001-memcheck-arm64-Define-__THROW-if-not-already-defined.patch @@ -0,0 +1,32 @@ +From 3409dc35c15bb14c8a525239806322648e079ab1 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 5 Jul 2017 17:12:43 -0700 +Subject: [PATCH 1/3] memcheck/arm64: Define __THROW if not already defined + +Helps compiling with musl where __THROW is not available + +Signed-off-by: Khem Raj +--- +Upstream-Status: Submitted + + memcheck/tests/arm64-linux/scalar.h | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/memcheck/tests/arm64-linux/scalar.h b/memcheck/tests/arm64-linux/scalar.h +index 9008816..8ef050f 100644 +--- a/memcheck/tests/arm64-linux/scalar.h ++++ b/memcheck/tests/arm64-linux/scalar.h +@@ -12,6 +12,10 @@ + #include + #include + ++#ifndef __THROW ++#define __THROW ++#endif ++ + // Since we use vki_unistd.h, we can't include . So we have to + // declare this ourselves. + extern long int syscall (long int __sysno, ...) __THROW; +-- +2.13.2 + diff --git a/meta/recipes-devtools/valgrind/valgrind/0002-memcheck-x86-Define-__THROW-if-not-defined.patch b/meta/recipes-devtools/valgrind/valgrind/0002-memcheck-x86-Define-__THROW-if-not-defined.patch new file mode 100644 index 0000000..5433472 --- /dev/null +++ b/meta/recipes-devtools/valgrind/valgrind/0002-memcheck-x86-Define-__THROW-if-not-defined.patch @@ -0,0 +1,32 @@ +From 67d199dbdcbb3feff5f8928f87725fc64c0307d7 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 5 Jul 2017 17:36:42 -0700 +Subject: [PATCH 2/3] memcheck/x86: Define __THROW if not defined + +musl does not have __THROW, therefore make it null + +Signed-off-by: Khem Raj +--- +Upstream-Status: Submitted + + memcheck/tests/x86-linux/scalar.h | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/memcheck/tests/x86-linux/scalar.h b/memcheck/tests/x86-linux/scalar.h +index ef28b03..52f742e 100644 +--- a/memcheck/tests/x86-linux/scalar.h ++++ b/memcheck/tests/x86-linux/scalar.h +@@ -11,6 +11,10 @@ + #include + #include + ++#ifndef __THROW ++#define __THROW ++#endif ++ + // Since we use vki_unistd.h, we can't include . So we have to + // declare this ourselves. + extern long int syscall (long int __sysno, ...) __THROW; +-- +2.13.2 + diff --git a/meta/recipes-devtools/valgrind/valgrind/0003-tests-seg_override-Replace-__modify_ldt-with-syscall.patch b/meta/recipes-devtools/valgrind/valgrind/0003-tests-seg_override-Replace-__modify_ldt-with-syscall.patch new file mode 100644 index 0000000..fa1344c --- /dev/null +++ b/meta/recipes-devtools/valgrind/valgrind/0003-tests-seg_override-Replace-__modify_ldt-with-syscall.patch @@ -0,0 +1,68 @@ +From d103475875858ab8a2e6b53ce178bb2f63883d4c Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 5 Jul 2017 17:37:56 -0700 +Subject: [PATCH 3/3] tests/seg_override: Replace __modify_ldt() with syscall() + +__modify_ldt() is specific to glibc, replacing it with syscall() +makes it more portable. + +Signed-off-by: Khem Raj +--- +Upstream-Status: Submitted + + none/tests/x86-linux/seg_override.c | 15 ++++++--------- + 1 file changed, 6 insertions(+), 9 deletions(-) + +diff --git a/none/tests/x86-linux/seg_override.c b/none/tests/x86-linux/seg_override.c +index b7619c9..c89874b 100644 +--- a/none/tests/x86-linux/seg_override.c ++++ b/none/tests/x86-linux/seg_override.c +@@ -2,6 +2,8 @@ + #include + #include + #include ++#include ++#include + + /* Stuff from Wine. */ + +@@ -52,14 +54,11 @@ inline static unsigned int wine_ldt_get_limit( const LDT_ENTRY *ent ) + /* our copy of the ldt */ + LDT_ENTRY ldt_copy[8192]; + +-/* System call to set LDT entry. */ +-//extern int __modify_ldt (int, struct modify_ldt_ldt_s *, size_t); +-extern int __modify_ldt (int, void *, size_t); +- + void print_ldt ( void ) + { + int res; +- res = __modify_ldt( 0, ldt_copy, 8192*sizeof(LDT_ENTRY) ); ++ /* System call to set LDT entry. */ ++ res = syscall(SYS_modify_ldt, 0, ldt_copy, 8192*sizeof(LDT_ENTRY) ); + printf("got %d bytes\n", res ); + perror("error is"); + } +@@ -83,9 +82,6 @@ struct modify_ldt_ldt_s + unsigned int empty:25; + }; + +-/* System call to set LDT entry. */ +-//extern int __modify_ldt (int, struct modify_ldt_ldt_s *, size_t); +- + void set_ldt1 ( void* base ) + { + int stat; +@@ -102,7 +98,8 @@ void set_ldt1 ( void* base ) + ldt_entry.read_exec_only = 0; + ldt_entry.limit_in_pages = 0; + ldt_entry.seg_not_present = 0; +- stat = __modify_ldt (1, &ldt_entry, sizeof (ldt_entry)); ++ /* System call to set LDT entry. */ ++ stat = syscall(SYS_modify_ldt, 1, &ldt_entry, sizeof (ldt_entry)); + printf("stat = %d\n", stat); + } + +-- +2.13.2 + diff --git a/meta/recipes-devtools/valgrind/valgrind_3.12.0.bb b/meta/recipes-devtools/valgrind/valgrind_3.12.0.bb index 4cf8062..b63d278 100644 --- a/meta/recipes-devtools/valgrind/valgrind_3.12.0.bb +++ b/meta/recipes-devtools/valgrind/valgrind_3.12.0.bb @@ -32,6 +32,9 @@ SRC_URI = "http://www.valgrind.org/downloads/valgrind-${PV}.tar.bz2 \ file://0005-tc20_verifywrap.c-Fake-__GLIBC_PREREQ-with-musl.patch \ file://0006-pth_detached3.c-Dereference-pthread_t-before-adding-.patch \ file://0001-memcheck-tests-Use-ucontext_t-instead-of-struct-ucon.patch \ + file://0001-memcheck-arm64-Define-__THROW-if-not-already-defined.patch \ + file://0002-memcheck-x86-Define-__THROW-if-not-defined.patch \ + file://0003-tests-seg_override-Replace-__modify_ldt-with-syscall.patch \ " SRC_URI_append_libc-musl = "\ file://0001-fix-build-for-musl-targets.patch \ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 10 23:11:42 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 10 Jul 2017 23:11:42 +0000 Subject: [oe-commits] [openembedded-core] 09/15: world-broken.inc: Remove packages which are now buildable on musl In-Reply-To: <149972829372.2035.9783393405679486670@git.openembedded.org> References: <149972829372.2035.9783393405679486670@git.openembedded.org> Message-ID: <20170710231134.7303E234868@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit b82bc7f003d2133e818be5bd473e9c640d4b10bf Author: Khem Raj AuthorDate: Wed Jul 5 11:49:23 2017 -0700 world-broken.inc: Remove packages which are now buildable on musl Delete the pinnings which are no longer required during world builds becasue they have been fixed to build on musl Signed-off-by: Khem Raj Signed-off-by: Ross Burton --- meta/conf/distro/include/world-broken.inc | 25 ------------------------- 1 file changed, 25 deletions(-) diff --git a/meta/conf/distro/include/world-broken.inc b/meta/conf/distro/include/world-broken.inc index d4bdddf..49e9516 100644 --- a/meta/conf/distro/include/world-broken.inc +++ b/meta/conf/distro/include/world-broken.inc @@ -7,28 +7,14 @@ EXCLUDE_FROM_WORLD_pn-rt-tests_libc-musl = "1" # error: no member named 'sin_port' in 'struct sockaddr_in6' # this is due to libtirpc using ipv6 but portmap rpc expecting ipv4 -EXCLUDE_FROM_WORLD_pn-portmap_libc-musl = "1" EXCLUDE_FROM_WORLD_pn-unfs3_libc-musl = "1" # error: use of undeclared identifier '_STAT_VER' EXCLUDE_FROM_WORLD_pn-pseudo_libc-musl = "1" -# error: Need to implement custom I/O -EXCLUDE_FROM_WORLD_pn-libsolv_libc-musl = "1" - -# undefined reference to `pthread_tryjoin_np' -EXCLUDE_FROM_WORLD_pn-btrfs-tools_libc-musl = "1" - # error: error.h: No such file or directory EXCLUDE_FROM_WORLD_pn-prelink_libc-musl = "1" -# error: use of undeclared identifier 'O_CREAT' -EXCLUDE_FROM_WORLD_pn-libbsd_libc-musl = "1" - -# error: expected declaration specifiers before '__nonnull' -EXCLUDE_FROM_WORLD_pn-lttng-ust_libc-musl = "1" -EXCLUDE_FROM_WORLD_pn-lttng-tools_libc-musl = "1" - # error: obstack.h: No such file or directory EXCLUDE_FROM_WORLD_pn-systemtap_libc-musl = "1" EXCLUDE_FROM_WORLD_pn-systemtap-uprobes_libc-musl = "1" @@ -37,20 +23,9 @@ EXCLUDE_FROM_WORLD_pn-systemtap-uprobes_libc-musl = "1" # void (*_function)(sigval_t); EXCLUDE_FROM_WORLD_pn-qemu_libc-musl = "1" -# glibc specific funcrions -# error: storage size of 'mi' isn't known struct mallinfo mi -EXCLUDE_FROM_WORLD_pn-valgrind_libc-musl = "1" - # error: format '%s' expects argument of type 'char *', but argument 4 has type 'int' [-Werror=format=] # snprintf(buf, size, "%s", strerror_r(err, sbuf, sizeof(sbuf))); EXCLUDE_FROM_WORLD_pn-perf_libc-musl = "1" # error: 'RTLD_NEXT' was not declared in this scope EXCLUDE_FROM_WORLD_pn-gcc-sanitizers_libc-musl = "1" - -# gcc fails to build when libuwind is staged before building gcc since -# it then finds the unwind.h header from libunwind and not from libgcc -# and on arm specially they are different since libgcc defines some functions -# as macros which are functions in libunwind and it fails during linking -# libbacktrace/backtrace.c:76: undefined reference to `_Unwind_GetIP' -EXCLUDE_FROM_WORLD_pn-libunwind_libc-musl_arm = "1" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 10 23:11:45 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 10 Jul 2017 23:11:45 +0000 Subject: [oe-commits] [openembedded-core] 12/15: vulkan-demos: Add recipe In-Reply-To: <149972829372.2035.9783393405679486670@git.openembedded.org> References: <149972829372.2035.9783393405679486670@git.openembedded.org> Message-ID: <20170710231134.8B1BE23486B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 8256b128ec5d4ca0710cd7184bd51cb9e9e5ffb7 Author: Jussi Kukkonen AuthorDate: Mon Jul 10 15:00:53 2017 +0300 vulkan-demos: Add recipe Sascha Willems collection of Vulkan demos is useful as a smoke testing tool. * Add patch to install binaries and data. * Add patch to fix build on X86 * Use a combination of patch and do_install_append to avoid some 3D models with unclear licensing. Signed-off-by: Jussi Kukkonen Signed-off-by: Ross Burton --- ...ild-demos-with-questionably-licensed-data.patch | 91 ++++++++++++++++++++++ .../vulkan-demos/0001-Fix-build-on-x86.patch | 41 ++++++++++ ...stalling-demos-support-out-of-tree-builds.patch | 85 ++++++++++++++++++++ meta/recipes-graphics/vulkan/vulkan-demos_git.bb | 36 +++++++++ 4 files changed, 253 insertions(+) diff --git a/meta/recipes-graphics/vulkan/vulkan-demos/0001-Don-t-build-demos-with-questionably-licensed-data.patch b/meta/recipes-graphics/vulkan/vulkan-demos/0001-Don-t-build-demos-with-questionably-licensed-data.patch new file mode 100644 index 0000000..d32c8f2 --- /dev/null +++ b/meta/recipes-graphics/vulkan/vulkan-demos/0001-Don-t-build-demos-with-questionably-licensed-data.patch @@ -0,0 +1,91 @@ +From 55770fb07c42fe410cf8d09f8f5976babc89b9ef Mon Sep 17 00:00:00 2001 +From: Jussi Kukkonen +Date: Tue, 4 Jul 2017 17:13:45 +0300 +Subject: [PATCH] Don't build demos with questionably licensed data + +Some of the models don't have open source compatible licenses: +don't build demos using those. Also don't build demos that need +resources that are not included. + +ssao: +scenerendering: + Sibenik model, no license found + +deferred: +deferredmultisampling: +deferredshadows: + armor model, CC-BY-3.0 + +vulkanscene: +imgui: +shadowmapping: + vulkanscene model, no license found + +indirectdraw: + plant model, no license found + +hdr: +pbribl: +pbrtexture: + Require external Vulkan Asset Pack + +Upstream-Status: Inappropriate [configuration] +Signed-off-by: Jussi Kukkonen +--- + CMakeLists.txt | 13 ------------- + 1 file changed, 13 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4958fff..0f9d3e4 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -150,17 +150,11 @@ set(EXAMPLES + computeparticles + computeshader + debugmarker +- deferred +- deferredmultisampling +- deferredshadows + displacement + distancefieldfonts + dynamicuniformbuffer + gears + geometryshader +- hdr +- imgui +- indirectdraw + instancing + mesh + multisampling +@@ -170,20 +164,14 @@ set(EXAMPLES + parallaxmapping + particlefire + pbrbasic +- pbribl +- pbrtexture + pipelines + pushconstants + radialblur + raytracing +- scenerendering + screenshot +- shadowmapping +- shadowmappingomni + skeletalanimation + specializationconstants + sphericalenvmapping +- ssao + subpasses + terraintessellation + tessellation +@@ -196,7 +184,6 @@ set(EXAMPLES + texturesparseresidency + triangle + viewportarray +- vulkanscene + ) + + buildExamples() +-- +2.13.2 + diff --git a/meta/recipes-graphics/vulkan/vulkan-demos/0001-Fix-build-on-x86.patch b/meta/recipes-graphics/vulkan/vulkan-demos/0001-Fix-build-on-x86.patch new file mode 100644 index 0000000..681b342 --- /dev/null +++ b/meta/recipes-graphics/vulkan/vulkan-demos/0001-Fix-build-on-x86.patch @@ -0,0 +1,41 @@ +From b0495efb6c3ea3a530fcbaddac86da57ecce5a66 Mon Sep 17 00:00:00 2001 +From: Jussi Kukkonen +Date: Mon, 10 Jul 2017 13:11:12 +0300 +Subject: [PATCH] Fix build on x86 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +|?func_common.inl:193:51: error: wrong number of template arguments +|?(5, should be 6) struct compute_sign + +The fix is backported from the upstream glm project. + +Upstream-Status: Pending [https://github.com/SaschaWillems/Vulkan/issues/356] +Signed-off-by: Jussi Kukkonen +--- + external/glm/glm/detail/func_common.inl | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/external/glm/glm/detail/func_common.inl b/external/glm/glm/detail/func_common.inl +index cafaed5..2dd94e1 100644 +--- a/external/glm/glm/detail/func_common.inl ++++ b/external/glm/glm/detail/func_common.inl +@@ -190,12 +190,12 @@ namespace detail + + # if GLM_ARCH == GLM_ARCH_X86 + template class vecType, bool Aligned> +- struct compute_sign ++ struct compute_sign + { + GLM_FUNC_QUALIFIER static vecType call(vecType const & x) + { + T const Shift(static_cast(sizeof(T) * 8 - 1)); +- vecType const y(vecType::type, P>(-x) >> typename make_unsigned::type(Shift)); ++ vecType const y(vecType::type, P>(-x) >> typename make_unsigned::type(Shift)); + + return (x >> Shift) | y; + } +-- +2.1.4 + diff --git a/meta/recipes-graphics/vulkan/vulkan-demos/0001-Support-installing-demos-support-out-of-tree-builds.patch b/meta/recipes-graphics/vulkan/vulkan-demos/0001-Support-installing-demos-support-out-of-tree-builds.patch new file mode 100644 index 0000000..4addea3 --- /dev/null +++ b/meta/recipes-graphics/vulkan/vulkan-demos/0001-Support-installing-demos-support-out-of-tree-builds.patch @@ -0,0 +1,85 @@ +From edca667684764cfcc0460e448e834fadf623a887 Mon Sep 17 00:00:00 2001 +From: Jussi Kukkonen +Date: Mon, 3 Jul 2017 14:49:18 +0300 +Subject: [PATCH] Support installing demos, support out-of-tree builds + +This is especially useful for cross-compile situation where testing +happens on target. + +-DRESOURCE_INSTALL_DIR= decides where data is installed (and +where the binaries will load the data from): if it's left empty, +then nothing will be installed and binaries will load the data from +CMAKE_SOURCE_DIR. + +Binaries are now correctly built in CMAKE_BINARY_DIR. + +Upstream-Status: Submitted [https://github.com/SaschaWillems/Vulkan/pull/352] +Signed-off-by: Jussi Kukkonen +--- + CMakeLists.txt | 15 ++++++++++++++- + base/vulkanexamplebase.cpp | 2 +- + 2 files changed, 15 insertions(+), 2 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b9886bc..4958fff 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -16,6 +16,8 @@ include_directories(base) + OPTION(USE_D2D_WSI "Build the project using Direct to Display swapchain" OFF) + OPTION(USE_WAYLAND_WSI "Build the project using Wayland swapchain" OFF) + ++set(RESOURCE_INSTALL_DIR "" CACHE PATH "Path to install resources to (leave empty for running uninstalled)") ++ + # Use FindVulkan module added with CMAKE 3.7 + if (NOT CMAKE_VERSION VERSION_LESS 3.7.0) + message(STATUS "Using module to find Vulkan") +@@ -108,6 +110,10 @@ function(buildExample EXAMPLE_NAME) + add_executable(${EXAMPLE_NAME} ${MAIN_CPP} ${SOURCE} ${SHADERS}) + target_link_libraries(${EXAMPLE_NAME} ${Vulkan_LIBRARY} ${ASSIMP_LIBRARIES} ${WAYLAND_CLIENT_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT}) + endif(WIN32) ++ ++ if(RESOURCE_INSTALL_DIR) ++ install(TARGETS ${EXAMPLE_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR}) ++ endif() + endfunction(buildExample) + + # Build all examples +@@ -117,6 +123,13 @@ function(buildExamples) + endforeach(EXAMPLE) + endfunction(buildExamples) + ++if(RESOURCE_INSTALL_DIR) ++ add_definitions(-DVK_EXAMPLE_DATA_DIR=\"${RESOURCE_INSTALL_DIR}/\") ++ install(DIRECTORY data/ DESTINATION ${RESOURCE_INSTALL_DIR}/) ++else() ++ add_definitions(-DVK_EXAMPLE_DATA_DIR=\"${CMAKE_SOURCE_DIR}/data/\") ++endif() ++ + # Compiler specific stuff + IF(MSVC) + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc") +@@ -128,7 +141,7 @@ ELSE(WIN32) + link_libraries(${XCB_LIBRARIES} ${Vulkan_LIBRARY}) + ENDIF(WIN32) + +-set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/bin/") ++set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/") + + set(EXAMPLES + bloom +diff --git a/base/vulkanexamplebase.cpp b/base/vulkanexamplebase.cpp +index 647368a..a0f28a5 100644 +--- a/base/vulkanexamplebase.cpp ++++ b/base/vulkanexamplebase.cpp +@@ -84,7 +84,7 @@ const std::string VulkanExampleBase::getAssetPath() + #if defined(__ANDROID__) + return ""; + #else +- return "./../data/"; ++ return VK_EXAMPLE_DATA_DIR; + #endif + } + #endif +-- +2.13.2 + diff --git a/meta/recipes-graphics/vulkan/vulkan-demos_git.bb b/meta/recipes-graphics/vulkan/vulkan-demos_git.bb new file mode 100644 index 0000000..2748e40 --- /dev/null +++ b/meta/recipes-graphics/vulkan/vulkan-demos_git.bb @@ -0,0 +1,36 @@ +DESCRIPTION = "Collection of Vulkan examples" +LICENSE = "MIT" +DEPENDS = "zlib" + +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=dcf473723faabf17baa9b5f2207599d0 \ + file://triangle/triangle.cpp;endline=12;md5=bccd1bf9cadd9e10086cf7872157e4fa" + +SRC_URI = "git://github.com/SaschaWillems/Vulkan.git \ + file://0001-Support-installing-demos-support-out-of-tree-builds.patch \ + file://0001-Don-t-build-demos-with-questionably-licensed-data.patch \ + file://0001-Fix-build-on-x86.patch \ +" +SRCREV = "18df00c7b4677b0889486e16977857aa987947e2" + +S = "${WORKDIR}/git" + +inherit cmake distro_features_check +DEPENDS = "vulkan assimp" + +do_install_append () { + # Remove assets that have uncertain licenses + rm ${D}${datadir}/vulkan-demos/models/armor/* \ + ${D}${datadir}/vulkan-demos/models/sibenik/* \ + ${D}${datadir}/vulkan-demos/models/vulkanscene* \ + ${D}${datadir}/vulkan-demos/models/plants.dae \ + ${D}${datadir}/vulkan-demos/textures/texturearray_plants* +} + +EXTRA_OECMAKE = "-DRESOURCE_INSTALL_DIR=${datadir}/vulkan-demos" + +ANY_OF_DISTRO_FEATURES = "x11 wayland" + +# Can only pick one of [wayland,xcb] +PACKAGECONFIG = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', 'xcb' ,d)}" +PACKAGECONFIG[wayland] = "-DUSE_WAYLAND_WSI=ON, -DUSE_WAYLAND_WSI=OFF, wayland" +PACKAGECONFIG[xcb] = ",,libxcb" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 10 23:11:46 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 10 Jul 2017 23:11:46 +0000 Subject: [oe-commits] [openembedded-core] 13/15: mesa: Split --with-platforms from egl PACKAGECONFIG In-Reply-To: <149972829372.2035.9783393405679486670@git.openembedded.org> References: <149972829372.2035.9783393405679486670@git.openembedded.org> Message-ID: <20170710231134.9359123486C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 2128da1ff4f24412553df45fd2fbc2cac1cb12f4 Author: Jussi Kukkonen AuthorDate: Mon Jul 10 14:54:08 2017 +0300 mesa: Split --with-platforms from egl PACKAGECONFIG Mesa platforms no longer depend directly on egl. Current implementation breaks without egl with x11 (which can happen with mesa-gl). Separate the platform selection. Make drm platform depend on gbm PACKAGECONFIG by default. Signed-off-by: Jussi Kukkonen Signed-off-by: Ross Burton --- meta/recipes-graphics/mesa/mesa.inc | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc index 59e8923..1b712a2 100644 --- a/meta/recipes-graphics/mesa/mesa.inc +++ b/meta/recipes-graphics/mesa/mesa.inc @@ -22,7 +22,12 @@ inherit autotools pkgconfig gettext distro_features_check REQUIRED_DISTRO_FEATURES = "opengl" -EXTRA_OECONF = "--enable-shared-glapi --with-llvm-prefix=${STAGING_BINDIR_NATIVE}" +PLATFORMS ??= "${@bb.utils.filter('PACKAGECONFIG', 'x11 wayland', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'gbm', 'drm', '', d)}" + +EXTRA_OECONF = "--enable-shared-glapi \ + --with-llvm-prefix=${STAGING_BINDIR_NATIVE} \ + --with-platforms='${PLATFORMS}'" PACKAGECONFIG ??= "gbm egl gles dri \ ${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11 vulkan', d)} \ @@ -47,10 +52,7 @@ PACKAGECONFIG[vulkan] = "--with-vulkan-drivers=intel, --without-vulkan-drivers" PACKAGECONFIG[gles] = "--enable-gles1 --enable-gles2, --disable-gles1 --disable-gles2" -EGL_PLATFORMS = "drm" -EGL_PLATFORMS .="${@bb.utils.contains('PACKAGECONFIG', 'x11', ',x11', '', d)}" -EGL_PLATFORMS .="${@bb.utils.contains('PACKAGECONFIG', 'wayland', ',wayland', '', d)}" -PACKAGECONFIG[egl] = "--enable-egl --with-platforms=${EGL_PLATFORMS}, --disable-egl --with-platforms=''" +PACKAGECONFIG[egl] = "--enable-egl, --disable-egl" PACKAGECONFIG[etnaviv] = "" PACKAGECONFIG[imx] = "" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 10 23:11:48 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 10 Jul 2017 23:11:48 +0000 Subject: [oe-commits] [openembedded-core] 15/15: libiconv: remove 0001-Fix-link-error-when-compiling-with-gcc-O0.patch In-Reply-To: <149972829372.2035.9783393405679486670@git.openembedded.org> References: <149972829372.2035.9783393405679486670@git.openembedded.org> Message-ID: <20170710231134.A3DD423486E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit cb57487237d6a25d6ef60e980cf8270358f197d9 Author: Robert Yang AuthorDate: Mon Jul 10 03:31:43 2017 -0700 libiconv: remove 0001-Fix-link-error-when-compiling-with-gcc-O0.patch The recipe and patches (including this patch) had been moved into meta-mingw, this dangling patch is useless here, so should be removed. Signed-off-by: Robert Yang Signed-off-by: Ross Burton --- ...Fix-link-error-when-compiling-with-gcc-O0.patch | 36 ---------------------- 1 file changed, 36 deletions(-) diff --git a/meta/recipes-support/libiconv/libiconv-1.14/0001-Fix-link-error-when-compiling-with-gcc-O0.patch b/meta/recipes-support/libiconv/libiconv-1.14/0001-Fix-link-error-when-compiling-with-gcc-O0.patch deleted file mode 100644 index 15af15f..0000000 --- a/meta/recipes-support/libiconv/libiconv-1.14/0001-Fix-link-error-when-compiling-with-gcc-O0.patch +++ /dev/null @@ -1,36 +0,0 @@ -This fix is also needed for GCC7. - -Upstream-Status: Backport -Signed-off-by: Ross Burton - -From b29089d8b43abc8fba073da7e6dccaeba56b2b70 Mon Sep 17 00:00:00 2001 -From: Bruno Haible -Date: Sat, 19 Nov 2016 17:13:56 +0100 -Subject: [PATCH] Fix link error when compiling with gcc -O0. - ---- - ChangeLog | 7 +++++++ - lib/iconv.c | 6 +++++- - 2 files changed, 12 insertions(+), 1 deletion(-) - -diff --git a/lib/iconv.c b/lib/iconv.c -index 5a1a325..31853a7 100644 ---- a/lib/iconv.c -+++ b/lib/iconv.c -@@ -178,8 +178,12 @@ static const struct alias sysdep_aliases[] = { - }; - #ifdef __GNUC__ - __inline -+#else -+#ifdef __cplusplus -+inline -+#endif - #endif --const struct alias * -+static const struct alias * - aliases2_lookup (register const char *str) - { - const struct alias * ptr; --- -2.8.1 - -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 10 23:11:47 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 10 Jul 2017 23:11:47 +0000 Subject: [oe-commits] [openembedded-core] 14/15: valgrind: Update 3.12.0 -> 3.13.0 In-Reply-To: <149972829372.2035.9783393405679486670@git.openembedded.org> References: <149972829372.2035.9783393405679486670@git.openembedded.org> Message-ID: <20170710231134.9C63F23486D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 8b6c8fb33504ff896d3ac61b92afd094cb6ddbe6 Author: Soren Brinkmann AuthorDate: Sun Jul 9 00:35:37 2017 -0700 valgrind: Update 3.12.0 -> 3.13.0 Signed-off-by: Soren Brinkmann Signed-off-by: Ross Burton --- .../valgrind/0001-fix-build-for-musl-targets.patch | 69 ---------------------- .../valgrind/0004-Fix-out-of-tree-builds.patch | 34 +++++++---- .../{valgrind_3.12.0.bb => valgrind_3.13.0.bb} | 13 ++-- 3 files changed, 26 insertions(+), 90 deletions(-) diff --git a/meta/recipes-devtools/valgrind/valgrind/0001-fix-build-for-musl-targets.patch b/meta/recipes-devtools/valgrind/valgrind/0001-fix-build-for-musl-targets.patch deleted file mode 100644 index dc6feff..0000000 --- a/meta/recipes-devtools/valgrind/valgrind/0001-fix-build-for-musl-targets.patch +++ /dev/null @@ -1,69 +0,0 @@ -From 1b1a024efd18d44294e184e792c1e039cab02bfe Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sun, 14 Feb 2016 09:14:12 +0000 -Subject: [PATCH] fix build for musl targets - -Signed-off-by: Khem Raj ---- -Upstream-Status: Pending - - configure.ac | 2 -- - coregrind/vg_preloaded.c | 2 +- - include/pub_tool_redir.h | 7 +++++-- - 3 files changed, 6 insertions(+), 5 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 9366dc7..679f514 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1066,8 +1066,6 @@ case "${GLIBC_VERSION}" in - ;; - 2.0|2.1|*) - AC_MSG_RESULT([unsupported version ${GLIBC_VERSION}]) -- AC_MSG_ERROR([Valgrind requires glibc version 2.2 or later,]) -- AC_MSG_ERROR([Darwin libc, Bionic libc or Solaris libc]) - ;; - esac - -diff --git a/coregrind/vg_preloaded.c b/coregrind/vg_preloaded.c -index 2ea7a7a..e49c832 100644 ---- a/coregrind/vg_preloaded.c -+++ b/coregrind/vg_preloaded.c -@@ -56,7 +56,7 @@ - void VG_NOTIFY_ON_LOAD(freeres)( void ); - void VG_NOTIFY_ON_LOAD(freeres)( void ) - { --# if !defined(__UCLIBC__) \ -+# if !defined(__UCLIBC__) && defined(__GLIBC__) \ - && !defined(VGPV_arm_linux_android) \ - && !defined(VGPV_x86_linux_android) \ - && !defined(VGPV_mips32_linux_android) \ -diff --git a/include/pub_tool_redir.h b/include/pub_tool_redir.h -index bac00d7..fbb2ef2 100644 ---- a/include/pub_tool_redir.h -+++ b/include/pub_tool_redir.h -@@ -242,8 +242,7 @@ - /* --- Soname of the standard C library. --- */ - - #if defined(VGO_linux) || defined(VGO_solaris) --# define VG_Z_LIBC_SONAME libcZdsoZa // libc.so* -- -+# define VG_Z_LIBC_SONAME libcZdZa // libc.* - #elif defined(VGO_darwin) && (DARWIN_VERS <= DARWIN_10_6) - # define VG_Z_LIBC_SONAME libSystemZdZaZddylib // libSystem.*.dylib - -@@ -274,7 +273,11 @@ - /* --- Soname of the pthreads library. --- */ - - #if defined(VGO_linux) -+# if defined(__GLIBC__) || defined(__UCLIBC__) - # define VG_Z_LIBPTHREAD_SONAME libpthreadZdsoZd0 // libpthread.so.0 -+# else -+# define VG_Z_LIBPTHREAD_SONAME libcZdZa // libc.* -+#endif - #elif defined(VGO_darwin) - # define VG_Z_LIBPTHREAD_SONAME libSystemZdZaZddylib // libSystem.*.dylib - #elif defined(VGO_solaris) --- -2.7.1 - diff --git a/meta/recipes-devtools/valgrind/valgrind/0004-Fix-out-of-tree-builds.patch b/meta/recipes-devtools/valgrind/valgrind/0004-Fix-out-of-tree-builds.patch index ed313d6..39022d0 100644 --- a/meta/recipes-devtools/valgrind/valgrind/0004-Fix-out-of-tree-builds.patch +++ b/meta/recipes-devtools/valgrind/valgrind/0004-Fix-out-of-tree-builds.patch @@ -1,4 +1,4 @@ -From 38ae233b6893a4eec7f9ed6d8ad02392bca8eaed Mon Sep 17 00:00:00 2001 +From 739421e253e6eba3eb6438651822f80fa9c0502a Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Tue, 15 Dec 2015 15:31:50 +0200 Subject: [PATCH 1/2] Fix out of tree builds. @@ -13,21 +13,21 @@ Upstream-Status: Pending Signed-off-by: Alexander Kanavin --- - configure.ac | 64 ++++++++++++++++++++++++++++++------------------------------ - 1 file changed, 32 insertions(+), 32 deletions(-) + configure.ac | 68 ++++++++++++++++++++++++++++++------------------------------ + 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/configure.ac b/configure.ac -index 8ab7f9b..9366dc7 100644 +index 3874296fde0b..7a5ba2c8557e 100644 --- a/configure.ac +++ b/configure.ac -@@ -377,44 +377,44 @@ case "${host_os}" in +@@ -373,50 +373,50 @@ case "${host_os}" in 9.*) AC_MSG_RESULT([Darwin 9.x (${kernel}) / Mac OS X 10.5 Leopard]) AC_DEFINE([DARWIN_VERS], DARWIN_10_5, [Darwin / Mac OS X version]) - DEFAULT_SUPP="darwin9.supp ${DEFAULT_SUPP}" - DEFAULT_SUPP="darwin9-drd.supp ${DEFAULT_SUPP}" -+ DEFAULT_SUPP="$srcdir/darwin9.supp ${DEFAULT_SUPP}" -+ DEFAULT_SUPP="$srcdir/darwin9-drd.supp ${DEFAULT_SUPP}" ++ DEFAULT_SUPP="$srcdir/darwin9.supp ${DEFAULT_SUPP}" ++ DEFAULT_SUPP="$srcdir/darwin9-drd.supp ${DEFAULT_SUPP}" ;; 10.*) AC_MSG_RESULT([Darwin 10.x (${kernel}) / Mac OS X 10.6 Snow Leopard]) @@ -77,9 +77,17 @@ index 8ab7f9b..9366dc7 100644 + DEFAULT_SUPP="$srcdir/darwin15.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="$srcdir/darwin10-drd.supp ${DEFAULT_SUPP}" ;; + 16.*) + AC_MSG_RESULT([Darwin 16.x (${kernel}) / macOS 10.12 Sierra]) + AC_DEFINE([DARWIN_VERS], DARWIN_10_12, [Darwin / Mac OS X version]) +- DEFAULT_SUPP="darwin16.supp ${DEFAULT_SUPP}" +- DEFAULT_SUPP="darwin10-drd.supp ${DEFAULT_SUPP}" ++ DEFAULT_SUPP="$srcdir/darwin16.supp ${DEFAULT_SUPP}" ++ DEFAULT_SUPP="$srcdir/darwin10-drd.supp ${DEFAULT_SUPP}" + ;; *) AC_MSG_RESULT([unsupported (${kernel})]) -@@ -426,13 +426,13 @@ case "${host_os}" in +@@ -428,13 +428,13 @@ case "${host_os}" in solaris2.11*) AC_MSG_RESULT([ok (${host_os})]) VGCONF_OS="solaris" @@ -95,7 +103,7 @@ index 8ab7f9b..9366dc7 100644 ;; *) -@@ -1015,29 +1015,29 @@ AC_MSG_CHECKING([the glibc version]) +@@ -982,29 +982,29 @@ AC_MSG_CHECKING([the glibc version]) case "${GLIBC_VERSION}" in 2.2) AC_MSG_RESULT(${GLIBC_VERSION} family) @@ -135,7 +143,7 @@ index 8ab7f9b..9366dc7 100644 ;; 2.*) AC_MSG_RESULT(${GLIBC_VERSION} family) -@@ -1046,8 +1046,8 @@ case "${GLIBC_VERSION}" in +@@ -1013,8 +1013,8 @@ case "${GLIBC_VERSION}" in AC_DEFINE([GLIBC_MANDATORY_INDEX_AND_STRLEN_REDIRECT], 1, [Define to 1 if index() and strlen() have been optimized heavily (x86 glibc >= 2.12)]) DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}" @@ -146,7 +154,7 @@ index 8ab7f9b..9366dc7 100644 ;; darwin) AC_MSG_RESULT(Darwin) -@@ -1057,7 +1057,7 @@ case "${GLIBC_VERSION}" in +@@ -1024,7 +1024,7 @@ case "${GLIBC_VERSION}" in bionic) AC_MSG_RESULT(Bionic) AC_DEFINE([BIONIC_LIBC], 1, [Define to 1 if you're using Bionic]) @@ -155,7 +163,7 @@ index 8ab7f9b..9366dc7 100644 ;; solaris) AC_MSG_RESULT(Solaris) -@@ -1079,11 +1079,11 @@ if test "$VGCONF_OS" != "solaris"; then +@@ -1051,11 +1051,11 @@ if test "$VGCONF_OS" != "solaris"; then # attempt to detect whether such libraries are installed on the # build machine (or even if any X facilities are present); just # add the suppressions antidisirregardless. @@ -171,5 +179,5 @@ index 8ab7f9b..9366dc7 100644 -- -2.6.2 +2.13.2.3.g44cd85c14 diff --git a/meta/recipes-devtools/valgrind/valgrind_3.12.0.bb b/meta/recipes-devtools/valgrind/valgrind_3.13.0.bb similarity index 92% rename from meta/recipes-devtools/valgrind/valgrind_3.12.0.bb rename to meta/recipes-devtools/valgrind/valgrind_3.13.0.bb index b63d278..ff6cdb6 100644 --- a/meta/recipes-devtools/valgrind/valgrind_3.12.0.bb +++ b/meta/recipes-devtools/valgrind/valgrind_3.13.0.bb @@ -3,8 +3,8 @@ HOMEPAGE = "http://valgrind.org/" BUGTRACKER = "http://valgrind.org/support/bug_reports.html" LICENSE = "GPLv2 & GPLv2+ & BSD" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://include/pub_tool_basics.h;beginline=1;endline=29;md5=ebb8e640ef633f940c425686c873f9fa \ - file://include/valgrind.h;beginline=1;endline=56;md5=4b5e24908e53016ea561c45f4234a327 \ + file://include/pub_tool_basics.h;beginline=6;endline=29;md5=d4de0407239381463cf01dd276d7c22e \ + file://include/valgrind.h;beginline=1;endline=56;md5=ad3b317f3286b6b704575d9efe6ca5df \ file://COPYING.DOCS;md5=24ea4c7092233849b4394699333b5c56" X11DEPENDS = "virtual/libx11" @@ -12,7 +12,7 @@ DEPENDS = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '${X11DEPENDS}', '', d ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'boost', '', d)} \ " -SRC_URI = "http://www.valgrind.org/downloads/valgrind-${PV}.tar.bz2 \ +SRC_URI = "ftp://sourceware.org/pub/valgrind/valgrind-${PV}.tar.bz2 \ file://fixed-perl-path.patch \ file://Added-support-for-PPC-instructions-mfatbu-mfatbl.patch \ file://run-ptest \ @@ -36,11 +36,8 @@ SRC_URI = "http://www.valgrind.org/downloads/valgrind-${PV}.tar.bz2 \ file://0002-memcheck-x86-Define-__THROW-if-not-defined.patch \ file://0003-tests-seg_override-Replace-__modify_ldt-with-syscall.patch \ " -SRC_URI_append_libc-musl = "\ - file://0001-fix-build-for-musl-targets.patch \ -" -SRC_URI[md5sum] = "6eb03c0c10ea917013a7622e483d61bb" -SRC_URI[sha256sum] = "67ca4395b2527247780f36148b084f5743a68ab0c850cb43e4a5b4b012cf76a1" +SRC_URI[md5sum] = "817dd08f1e8a66336b9ff206400a5369" +SRC_URI[sha256sum] = "d76680ef03f00cd5e970bbdcd4e57fb1f6df7d2e2c071635ef2be74790190c3b" COMPATIBLE_HOST = '(i.86|x86_64|arm|aarch64|mips|powerpc|powerpc64).*-linux' -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 11 06:50:21 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 11 Jul 2017 06:50:21 +0000 Subject: [oe-commits] [openembedded-core] branch master-next updated (cb57487 -> 5fdcd59) Message-ID: <149975582107.22493.613820663072658784@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master-next in repository openembedded-core. discard cb57487 libiconv: remove 0001-Fix-link-error-when-compiling-with-gcc-O0.patch discard 8b6c8fb valgrind: Update 3.12.0 -> 3.13.0 new 5fdcd59 libiconv: remove 0001-Fix-link-error-when-compiling-with-gcc-O0.patch This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (cb57487) \ N -- N -- N refs/heads/master-next (5fdcd59) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../valgrind/0001-fix-build-for-musl-targets.patch | 69 ++++++++++++++++++++++ .../valgrind/0004-Fix-out-of-tree-builds.patch | 34 ++++------- .../{valgrind_3.13.0.bb => valgrind_3.12.0.bb} | 13 ++-- 3 files changed, 90 insertions(+), 26 deletions(-) create mode 100644 meta/recipes-devtools/valgrind/valgrind/0001-fix-build-for-musl-targets.patch rename meta/recipes-devtools/valgrind/{valgrind_3.13.0.bb => valgrind_3.12.0.bb} (92%) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 11 06:50:22 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 11 Jul 2017 06:50:22 +0000 Subject: [oe-commits] [openembedded-core] 01/01: libiconv: remove 0001-Fix-link-error-when-compiling-with-gcc-O0.patch In-Reply-To: <149975582107.22493.613820663072658784@git.openembedded.org> References: <149975582107.22493.613820663072658784@git.openembedded.org> Message-ID: <20170711065021.58E21234860@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 5fdcd599906cd8fcf3942a78a78f82801a19f29c Author: Robert Yang AuthorDate: Mon Jul 10 03:31:43 2017 -0700 libiconv: remove 0001-Fix-link-error-when-compiling-with-gcc-O0.patch The recipe and patches (including this patch) had been moved into meta-mingw, this dangling patch is useless here, so should be removed. Signed-off-by: Robert Yang Signed-off-by: Ross Burton --- ...Fix-link-error-when-compiling-with-gcc-O0.patch | 36 ---------------------- 1 file changed, 36 deletions(-) diff --git a/meta/recipes-support/libiconv/libiconv-1.14/0001-Fix-link-error-when-compiling-with-gcc-O0.patch b/meta/recipes-support/libiconv/libiconv-1.14/0001-Fix-link-error-when-compiling-with-gcc-O0.patch deleted file mode 100644 index 15af15f..0000000 --- a/meta/recipes-support/libiconv/libiconv-1.14/0001-Fix-link-error-when-compiling-with-gcc-O0.patch +++ /dev/null @@ -1,36 +0,0 @@ -This fix is also needed for GCC7. - -Upstream-Status: Backport -Signed-off-by: Ross Burton - -From b29089d8b43abc8fba073da7e6dccaeba56b2b70 Mon Sep 17 00:00:00 2001 -From: Bruno Haible -Date: Sat, 19 Nov 2016 17:13:56 +0100 -Subject: [PATCH] Fix link error when compiling with gcc -O0. - ---- - ChangeLog | 7 +++++++ - lib/iconv.c | 6 +++++- - 2 files changed, 12 insertions(+), 1 deletion(-) - -diff --git a/lib/iconv.c b/lib/iconv.c -index 5a1a325..31853a7 100644 ---- a/lib/iconv.c -+++ b/lib/iconv.c -@@ -178,8 +178,12 @@ static const struct alias sysdep_aliases[] = { - }; - #ifdef __GNUC__ - __inline -+#else -+#ifdef __cplusplus -+inline -+#endif - #endif --const struct alias * -+static const struct alias * - aliases2_lookup (register const char *str) - { - const struct alias * ptr; --- -2.8.1 - -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 11 08:08:38 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 11 Jul 2017 08:08:38 +0000 Subject: [oe-commits] [meta-openembedded] 04/13: recipes-utils: Add recipe for udevil In-Reply-To: <149976051445.6369.2295161645059251959@git.openembedded.org> References: <149976051445.6369.2295161645059251959@git.openembedded.org> Message-ID: <20170711080834.DAB7323488C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 1fa365db852946964ee67a8c9ecd39ce2da8b970 Author: Krzysztof Kozlowski AuthorDate: Sun Jul 9 18:29:34 2017 +0200 recipes-utils: Add recipe for udevil udevil is a command line Linux program which mounts and unmounts removable devices without a password. Signed-off-by: Krzysztof Kozlowski Signed-off-by: Martin Jansa --- .../0001-udevil-0.4.3-fix-compile-with-gcc6.patch | 12 ++++++++++ .../recipes-utils/udevil/udevil_0.4.4.bb | 28 ++++++++++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/meta-filesystems/recipes-utils/udevil/files/0001-udevil-0.4.3-fix-compile-with-gcc6.patch b/meta-filesystems/recipes-utils/udevil/files/0001-udevil-0.4.3-fix-compile-with-gcc6.patch new file mode 100644 index 0000000..355e93a --- /dev/null +++ b/meta-filesystems/recipes-utils/udevil/files/0001-udevil-0.4.3-fix-compile-with-gcc6.patch @@ -0,0 +1,12 @@ +Fix compilation with GCC6 + +--- a/src/device-info.c 2013-12-09 14:59:27.000000000 +0100 ++++ b/src/device-info.c 2017-03-13 07:06:25.506666680 +0100 +@@ -3,6 +3,7 @@ + * contains code excerpts from udisks v1.0.4 + ************************************************************************** */ + ++#include + #include "device-info.h" + + static char * diff --git a/meta-filesystems/recipes-utils/udevil/udevil_0.4.4.bb b/meta-filesystems/recipes-utils/udevil/udevil_0.4.4.bb new file mode 100644 index 0000000..4ad4a09 --- /dev/null +++ b/meta-filesystems/recipes-utils/udevil/udevil_0.4.4.bb @@ -0,0 +1,28 @@ +SUMMARY = "A command line Linux program which mounts and unmounts removable devices" +HOMEPAGE = "http://ignorantguru.github.io/udevil/" + +DEPENDS = "glib-2.0 \ + glib-2.0-native \ + intltool-native \ + udev \ +" +RDEPENDS_${PN} = "glib-2.0 \ + udev \ +" + +LICENSE = "GPL-3.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +inherit autotools pkgconfig systemd + +SRC_URI = "https://github.com/IgnorantGuru/udevil/raw/pkg/${PV}/udevil-${PV}.tar.xz \ + file://0001-udevil-0.4.3-fix-compile-with-gcc6.patch \ +" + +SRC_URI[md5sum] = "dc1c489b603a0500a04dc7e1805ac1d9" +SRC_URI[sha256sum] = "ce8c51fd4d589cda7be56e75b42188deeb258c66fc911a9b3a70a3945c157739" + +SYSTEMD_SERVICE_${PN} = "devmon at .service" +SYSTEMD_AUTO_ENABLE = "disable" + +FILES_${PN} += " ${libdir}/systemd/system/devmon at .service" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 11 08:08:36 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 11 Jul 2017 08:08:36 +0000 Subject: [oe-commits] [meta-openembedded] 02/13: meta-python: Add pybluez recipe In-Reply-To: <149976051445.6369.2295161645059251959@git.openembedded.org> References: <149976051445.6369.2295161645059251959@git.openembedded.org> Message-ID: <20170711080834.C6C3723488A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 6d67f3bdd7617459c6491444d03cf1a50d9b1e1c Author: Krzysztof Kozlowski AuthorDate: Sun Jul 9 17:47:23 2017 +0200 meta-python: Add pybluez recipe Add recipe for PyBluez, Python wrapper over bluez. Signed-off-by: Krzysztof Kozlowski Signed-off-by: Martin Jansa --- .../recipes-devtools/python/python-pybluez_0.22.bb | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/meta-python/recipes-devtools/python/python-pybluez_0.22.bb b/meta-python/recipes-devtools/python/python-pybluez_0.22.bb new file mode 100644 index 0000000..eab9c54 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-pybluez_0.22.bb @@ -0,0 +1,17 @@ +DESCRIPTION = "Bluetooth Python extension module" +HOMEPAGE = "http://karulis.github.io/pybluez/" +SECTION = "devel/python" + +RDEPENDS_${PN} = "bluez5" +DEPENDS = "bluez5" + +LICENSE = "GPL-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=8a71d0475d08eee76d8b6d0c6dbec543" + +inherit pypi setuptools + +SRC_URI = "https://pypi.python.org/packages/c1/98/3149481d508bee174335be6725880f00d297afebe75c15e917af8f6fe169/PyBluez-0.22.zip" +SRC_URI[md5sum] = "49dab9d5a8f0b798c8125c7f649be3cd" +SRC_URI[sha256sum] = "4ce006716a54d9d18e8186a3f1c8b12a8e6befecffe8fd5828a291fb694ce49d" + +S = "${WORKDIR}/PyBluez-${PV}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 11 08:08:34 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 11 Jul 2017 08:08:34 +0000 Subject: [oe-commits] [meta-openembedded] branch master-next updated (05ec709 -> 090ffc2) Message-ID: <149976051445.6369.2295161645059251959@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a change to branch master-next in repository meta-openembedded. from 05ec709 kodi: Fix build on powerpc new 7129489 meta-python: Add Protobuf and gRPC Python recipes new 6d67f3b meta-python: Add pybluez recipe new 536aaeb meta-python: Add python-daemon recipe and its dependencies new 1fa365d recipes-utils: Add recipe for udevil new 3b68b89 udisks2: update 2.1.7 -> 2.1.8 new 40289a3 gvfs: update 1.28.3 -> 1.32.1 new 886230a garcon: update 0.4.0 -> 0.6.1 new 282447b gparted: update 0.27.0 -> 0.28.1 new 59dc097 abiword: update 3.0.1 -> 3.0.2 new e49a72c faac: update 1.28 -> 1.29 new f24c55b libdbus-c++: Add -pthread to linker flags new 191cab0 klibc: Fix build with musl new 090ffc2 ubi-utils-klibc: Pass TUNE_CCARGS into CFLAGS The 13 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../0001-udevil-0.4.3-fix-compile-with-gcc6.patch | 12 + .../recipes-utils/udevil/udevil_0.4.4.bb | 28 ++ .../{gparted_0.27.0.bb => gparted_0.28.1.bb} | 4 +- ...-13754-Fix-build-on-gcc-6-default-to-C-11.patch | 74 ----- .../abiword/{abiword_3.0.1.bb => abiword_3.0.2.bb} | 5 +- .../gvfs/{gvfs_1.28.3.bb => gvfs_1.32.1.bb} | 6 +- ...ine-in_-structs-for-non-glibc-system-libs.patch | 85 ++++++ ...0001-dash-Specify-format-string-in-fmtstr.patch | 31 ++ .../0001-include-linux-sysinfo.h-directly.patch | 32 ++ .../klibc-2.0.4/0001-mkfifo-Implement-mkfifo.patch | 29 ++ meta-initramfs/recipes-devtools/klibc/klibc.inc | 34 ++- .../recipes-devtools/mtd/ubi-utils-klibc_1.5.1.bb | 1 + .../recipes-multimedia/faac/faac_1.28.bb | 26 -- .../recipes-multimedia/faac/faac_1.29.bb | 27 ++ ...frontend-Fix-format-string-security-error.patch | 26 -- ...efine-__STRING-if-cdefs.h-does-not-exist.patch} | 0 .../files/address-gcc-6-narrowing-errors.patch | 47 --- .../recipes-multimedia/faac/files/build-fix.patch | 332 --------------------- meta-oe/recipes-core/dbus/libdbus-c++_0.9.0.bb | 1 + .../udisks/{udisks2_2.1.7.bb => udisks2_2.1.8.bb} | 4 +- .../0001-Workaround-for-issue-2-1.patch | 31 ++ .../recipes-devtools/python/python-daemon_2.1.2.bb | 27 ++ .../python/python-docutils_0.14rc2.bb | 18 ++ .../python/python-grpcio-tools_1.4.0.bb | 17 ++ .../recipes-devtools/python/python-grpcio_1.4.0.bb | 23 ++ .../python/python-lockfile_0.12.2.bb | 13 + .../python/python-protobuf_3.3.0.bb | 16 + .../recipes-devtools/python/python-pybluez_0.22.bb | 17 ++ .../garcon/{garcon_0.4.0.bb => garcon_0.6.1.bb} | 4 +- 29 files changed, 442 insertions(+), 528 deletions(-) create mode 100644 meta-filesystems/recipes-utils/udevil/files/0001-udevil-0.4.3-fix-compile-with-gcc6.patch create mode 100644 meta-filesystems/recipes-utils/udevil/udevil_0.4.4.bb rename meta-gnome/recipes-extended/gparted/{gparted_0.27.0.bb => gparted_0.28.1.bb} (90%) delete mode 100644 meta-gnome/recipes-gnome/abiword/abiword/0002-Bug-13754-Fix-build-on-gcc-6-default-to-C-11.patch rename meta-gnome/recipes-gnome/abiword/{abiword_3.0.1.bb => abiword_3.0.2.bb} (96%) rename meta-gnome/recipes-gnome/gvfs/{gvfs_1.28.3.bb => gvfs_1.32.1.bb} (91%) create mode 100644 meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Define-in_-structs-for-non-glibc-system-libs.patch create mode 100644 meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-dash-Specify-format-string-in-fmtstr.patch create mode 100644 meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-include-linux-sysinfo.h-directly.patch create mode 100644 meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-mkfifo-Implement-mkfifo.patch delete mode 100644 meta-multimedia/recipes-multimedia/faac/faac_1.28.bb create mode 100644 meta-multimedia/recipes-multimedia/faac/faac_1.29.bb delete mode 100644 meta-multimedia/recipes-multimedia/faac/files/0001-frontend-Fix-format-string-security-error.patch rename meta-multimedia/recipes-multimedia/faac/files/{0002-mp4v2-Define-__STRING-if-cdefs.h-does-not-exist.patch => 0001-mp4v2-Define-__STRING-if-cdefs.h-does-not-exist.patch} (100%) delete mode 100644 meta-multimedia/recipes-multimedia/faac/files/address-gcc-6-narrowing-errors.patch delete mode 100644 meta-multimedia/recipes-multimedia/faac/files/build-fix.patch rename meta-oe/recipes-support/udisks/{udisks2_2.1.7.bb => udisks2_2.1.8.bb} (89%) create mode 100644 meta-python/recipes-devtools/python/python-daemon/0001-Workaround-for-issue-2-1.patch create mode 100644 meta-python/recipes-devtools/python/python-daemon_2.1.2.bb create mode 100644 meta-python/recipes-devtools/python/python-docutils_0.14rc2.bb create mode 100644 meta-python/recipes-devtools/python/python-grpcio-tools_1.4.0.bb create mode 100644 meta-python/recipes-devtools/python/python-grpcio_1.4.0.bb create mode 100644 meta-python/recipes-devtools/python/python-lockfile_0.12.2.bb create mode 100644 meta-python/recipes-devtools/python/python-protobuf_3.3.0.bb create mode 100644 meta-python/recipes-devtools/python/python-pybluez_0.22.bb rename meta-xfce/recipes-xfce/garcon/{garcon_0.4.0.bb => garcon_0.6.1.bb} (76%) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 11 08:08:37 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 11 Jul 2017 08:08:37 +0000 Subject: [oe-commits] [meta-openembedded] 03/13: meta-python: Add python-daemon recipe and its dependencies In-Reply-To: <149976051445.6369.2295161645059251959@git.openembedded.org> References: <149976051445.6369.2295161645059251959@git.openembedded.org> Message-ID: <20170711080834.D019D23488B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 536aaebfb1e18112685adcf75b57e4759d2fbd1a Author: Krzysztof Kozlowski AuthorDate: Sun Jul 9 17:47:22 2017 +0200 meta-python: Add python-daemon recipe and its dependencies Add recipes for python-daemon PIP package with its dependencies - lockfile and docutils. Signed-off-by: Krzysztof Kozlowski Signed-off-by: Martin Jansa --- .../0001-Workaround-for-issue-2-1.patch | 31 ++++++++++++++++++++++ .../recipes-devtools/python/python-daemon_2.1.2.bb | 27 +++++++++++++++++++ .../python/python-docutils_0.14rc2.bb | 18 +++++++++++++ .../python/python-lockfile_0.12.2.bb | 13 +++++++++ 4 files changed, 89 insertions(+) diff --git a/meta-python/recipes-devtools/python/python-daemon/0001-Workaround-for-issue-2-1.patch b/meta-python/recipes-devtools/python/python-daemon/0001-Workaround-for-issue-2-1.patch new file mode 100644 index 0000000..dbb8407 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-daemon/0001-Workaround-for-issue-2-1.patch @@ -0,0 +1,31 @@ +From 0981eee9f0198c2045dc0eaa78a005d06fc7bfe4 Mon Sep 17 00:00:00 2001 +From: Carlos Eduardo Moreira dos Santos +Date: Tue, 28 Mar 2017 18:23:44 -0300 +Subject: [PATCH] Workaround for issue 2 [1] + +[1] https://pagure.io/python-daemon/issue/2 +--- + version.py | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +diff --git a/version.py b/version.py +index d58422a377ee..293e2d64c2b7 100644 +--- a/version.py ++++ b/version.py +@@ -648,9 +648,10 @@ class ChangelogAwareDistribution(distutils.dist.Distribution, object): + + @lru_cache(maxsize=128) + def get_version_info(self): +- changelog_path = get_changelog_path(self) +- version_info = generate_version_info_from_changelog(changelog_path) +- return version_info ++ return { ++ 'version': '2.1.2', ++ 'maintainer': 'Ben Finney' ++ } + + def get_version(self): + version_info = self.get_version_info() +-- +2.7.4 + diff --git a/meta-python/recipes-devtools/python/python-daemon_2.1.2.bb b/meta-python/recipes-devtools/python/python-daemon_2.1.2.bb new file mode 100644 index 0000000..4c18e2b --- /dev/null +++ b/meta-python/recipes-devtools/python/python-daemon_2.1.2.bb @@ -0,0 +1,27 @@ +DESCRIPTION = "Library to implement a well-behaved Unix daemon process" +HOMEPAGE = "https://pagure.io/python-daemon/" +SECTION = "devel/python" + +DEPENDS = "python-docutils" +RDEPENDS_${PN} = "python-docutils \ + python-lockfile (>= 0.10) \ + python-resource \ +" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" + +inherit pypi setuptools + +SRC_URI[md5sum] = "9c57343d81f2a96c51cffeab982b04d2" +SRC_URI[sha256sum] = "261c859be5c12ae7d4286dc6951e87e9e1a70a882a8b41fd926efc1ec4214f73" + +# Fix for build error in Yocto: +# i = p.rfind('/') + 1 +# AttributeError: 'NoneType' object has no attribute 'rfind' +#S = "${WORKDIR}/python-daemon" +SRC_URI_append = " \ + file://0001-Workaround-for-issue-2-1.patch \ +" + +PYPI_PACKAGE = "python-daemon" diff --git a/meta-python/recipes-devtools/python/python-docutils_0.14rc2.bb b/meta-python/recipes-devtools/python/python-docutils_0.14rc2.bb new file mode 100644 index 0000000..68436a1 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-docutils_0.14rc2.bb @@ -0,0 +1,18 @@ +SUMMARY = "Text processing system for documentation" +HOMEPAGE = "http://docutils.sourceforge.net" +SECTION = "devel/python" +LICENSE = "PSF & BSD-2-Clause & GPLv3" +LIC_FILES_CHKSUM = "file://COPYING.txt;md5=35a23d42b615470583563132872c97d6" + +DEPENDS = "python" + +SRC_URI = "${SOURCEFORGE_MIRROR}/docutils/docutils-${PV}.tar.gz" +SRC_URI[md5sum] = "2f4bee6451958252f7bec71f18b05be3" +SRC_URI[sha256sum] = "3caee0bcb2a49fdf24fcfa70849a60abb7a181aa68b030f7cb7494096181830c" + +S = "${WORKDIR}/docutils-${PV}" + +inherit distutils + +BBCLASSEXTEND = "native" + diff --git a/meta-python/recipes-devtools/python/python-lockfile_0.12.2.bb b/meta-python/recipes-devtools/python/python-lockfile_0.12.2.bb new file mode 100644 index 0000000..cd15760 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-lockfile_0.12.2.bb @@ -0,0 +1,13 @@ +DESCRIPTION = "Platform-independent file locking module" +HOMEPAGE = "http://launchpad.net/pylockfile" +SECTION = "devel/python" + +RDEPENDS_${PN} = "python-threading" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" + +inherit pypi setuptools + +SRC_URI[md5sum] = "a6a1a82957a23afdf44cfdd039b65ff9" +SRC_URI[sha256sum] = "6aed02de03cba24efabcd600b30540140634fc06cfa603822d508d5361e9f799" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 11 08:08:35 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 11 Jul 2017 08:08:35 +0000 Subject: [oe-commits] [meta-openembedded] 01/13: meta-python: Add Protobuf and gRPC Python recipes In-Reply-To: <149976051445.6369.2295161645059251959@git.openembedded.org> References: <149976051445.6369.2295161645059251959@git.openembedded.org> Message-ID: <20170711080834.BC8D8234889@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 712948963848cdbf3c8653b4c7f2c2e4280888f1 Author: Krzysztof Kozlowski AuthorDate: Sun Jul 9 17:47:21 2017 +0200 meta-python: Add Protobuf and gRPC Python recipes Add recipes for Python PIP packages for Google's Protobuf, gRPC and gRPC tools. Signed-off-by: Krzysztof Kozlowski Signed-off-by: Martin Jansa --- .../python/python-grpcio-tools_1.4.0.bb | 17 ++++++++++++++++ .../recipes-devtools/python/python-grpcio_1.4.0.bb | 23 ++++++++++++++++++++++ .../python/python-protobuf_3.3.0.bb | 16 +++++++++++++++ 3 files changed, 56 insertions(+) diff --git a/meta-python/recipes-devtools/python/python-grpcio-tools_1.4.0.bb b/meta-python/recipes-devtools/python/python-grpcio-tools_1.4.0.bb new file mode 100644 index 0000000..f9cfd99 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-grpcio-tools_1.4.0.bb @@ -0,0 +1,17 @@ +DESCRIPTION = "Google gRPC tools" +HOMEPAGE = "http://www.grpc.io/" +SECTION = "devel/python" + +DEPENDS = "python-grpcio" +RDEPENDS_${PN} = "python-grpcio" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9" + +inherit pypi setuptools + +SRC_URI[md5sum] = "b0d585872c69f207a05c55566e8afb38" +SRC_URI[sha256sum] = "bddc98f063755a5df9d285666db49c49201f93d416c45d4f4924cf752b68c99c" + +# For usage in other recipies when compiling protobuf files (e.g. by grpcio-tools) +BBCLASSEXTEND = "native" diff --git a/meta-python/recipes-devtools/python/python-grpcio_1.4.0.bb b/meta-python/recipes-devtools/python/python-grpcio_1.4.0.bb new file mode 100644 index 0000000..5412e02 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-grpcio_1.4.0.bb @@ -0,0 +1,23 @@ +DESCRIPTION = "Google gRPC" +HOMEPAGE = "http://www.grpc.io/" +SECTION = "devel/python" + +DEPENDS = "python-protobuf" + +RDEPENDS_${PN} = "python-enum34 \ + python-futures \ + python-protobuf \ + python-setuptools \ + python-six \ +" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9" + +inherit pypi setuptools + +SRC_URI[md5sum] = "d882ae4eeef4f32ac9c1d32052bf05ad" +SRC_URI[sha256sum] = "a3a213a4c24b5c572b386d752e3b74a3f1b8fa5d03c07b6166fa39f3a6cdef34" + +# For usage in other recipies when compiling protobuf files (e.g. by grpcio-tools) +BBCLASSEXTEND = "native" diff --git a/meta-python/recipes-devtools/python/python-protobuf_3.3.0.bb b/meta-python/recipes-devtools/python/python-protobuf_3.3.0.bb new file mode 100644 index 0000000..61b8fef --- /dev/null +++ b/meta-python/recipes-devtools/python/python-protobuf_3.3.0.bb @@ -0,0 +1,16 @@ +DESCRIPTION = "Protocol Buffers" +HOMEPAGE = "https://developers.google.com/protocol-buffers/" +SECTION = "devel/python" + +RDEPENDS_${PN} = "python-six" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9" + +inherit pypi setuptools + +SRC_URI[md5sum] = "27941e8e42e83d5183605054576882dd" +SRC_URI[sha256sum] = "1cbcee2c45773f57cb6de7ee0eceb97f92b9b69c0178305509b162c0160c1f04" + +# For usage in other recipies when compiling protobuf files (e.g. by grpcio-tools) +BBCLASSEXTEND = "native" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 11 08:08:39 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 11 Jul 2017 08:08:39 +0000 Subject: [oe-commits] [meta-openembedded] 05/13: udisks2: update 2.1.7 -> 2.1.8 In-Reply-To: <149976051445.6369.2295161645059251959@git.openembedded.org> References: <149976051445.6369.2295161645059251959@git.openembedded.org> Message-ID: <20170711080834.E232A23488D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 3b68b898d92cc9ff1116c2ab884c3fd8dcf220c7 Author: Andreas M?ller AuthorDate: Mon Jul 10 19:35:02 2017 +0200 udisks2: update 2.1.7 -> 2.1.8 Signed-off-by: Andreas M?ller Signed-off-by: Martin Jansa --- meta-oe/recipes-support/udisks/{udisks2_2.1.7.bb => udisks2_2.1.8.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-oe/recipes-support/udisks/udisks2_2.1.7.bb b/meta-oe/recipes-support/udisks/udisks2_2.1.8.bb similarity index 89% rename from meta-oe/recipes-support/udisks/udisks2_2.1.7.bb rename to meta-oe/recipes-support/udisks/udisks2_2.1.8.bb index d8f7eaa..6d90e49 100644 --- a/meta-oe/recipes-support/udisks/udisks2_2.1.7.bb +++ b/meta-oe/recipes-support/udisks/udisks2_2.1.8.bb @@ -10,8 +10,8 @@ RDEPENDS_${PN} = "acl" SRC_URI = "http://udisks.freedesktop.org/releases/udisks-${PV}.tar.bz2 \ file://non-gnu-libc.patch \ " -SRC_URI[md5sum] = "8bccd36573b75286538bd5bd2c424f45" -SRC_URI[sha256sum] = "abae2bb3bdc691ca13c1e4c244630b8c881c4f3b35c207299f1b39b7bec83785" +SRC_URI[md5sum] = "501d11c243bd8c6c00650474cd2afaab" +SRC_URI[sha256sum] = "da416914812a77e5f4d82b81deb8c25799fd3228d27d52f7bf89a501b1857dda" inherit autotools systemd gtk-doc gobject-introspection -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 11 08:08:40 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 11 Jul 2017 08:08:40 +0000 Subject: [oe-commits] [meta-openembedded] 06/13: gvfs: update 1.28.3 -> 1.32.1 In-Reply-To: <149976051445.6369.2295161645059251959@git.openembedded.org> References: <149976051445.6369.2295161645059251959@git.openembedded.org> Message-ID: <20170711080834.E91BC23488E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 40289a381c5511745dde317d85a0649b089f9573 Author: Andreas M?ller AuthorDate: Mon Jul 10 19:35:03 2017 +0200 gvfs: update 1.28.3 -> 1.32.1 Signed-off-by: Andreas M?ller Signed-off-by: Martin Jansa --- meta-gnome/recipes-gnome/gvfs/{gvfs_1.28.3.bb => gvfs_1.32.1.bb} | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/meta-gnome/recipes-gnome/gvfs/gvfs_1.28.3.bb b/meta-gnome/recipes-gnome/gvfs/gvfs_1.32.1.bb similarity index 91% rename from meta-gnome/recipes-gnome/gvfs/gvfs_1.28.3.bb rename to meta-gnome/recipes-gnome/gvfs/gvfs_1.32.1.bb index 62b757f..94d8954 100644 --- a/meta-gnome/recipes-gnome/gvfs/gvfs_1.28.3.bb +++ b/meta-gnome/recipes-gnome/gvfs/gvfs_1.32.1.bb @@ -2,14 +2,14 @@ DESCRIPTION = "gvfs is a userspace virtual filesystem" LICENSE = "LGPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=05df38dd77c35ec8431f212410a3329e" -inherit gnome bash-completion +inherit gnome bash-completion gettext DEPENDS += "libsecret glib-2.0 gconf intltool-native libgudev udisks2" SRC_URI = "https://download.gnome.org/sources/${BPN}/${@gnome_verdir("${PV}")}/${BPN}-${PV}.tar.xz;name=archive" -SRC_URI[archive.md5sum] = "d2399a1a217dd5030e8830c7e7c813c2" -SRC_URI[archive.sha256sum] = "458c4cb68570f6ef4a9e152995c62d0057c3e0a07ed64d84c7200cdd22f0bd17" +SRC_URI[archive.md5sum] = "cbe766b46f324e17d7abcfb4a89a1684" +SRC_URI[archive.sha256sum] = "d0b6c9edab09d52472355657a2f0a14831b2e6c58caba395f721ab683f836ade" EXTRA_OECONF = " \ --disable-gdu \ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 11 08:08:42 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 11 Jul 2017 08:08:42 +0000 Subject: [oe-commits] [meta-openembedded] 08/13: gparted: update 0.27.0 -> 0.28.1 In-Reply-To: <149976051445.6369.2295161645059251959@git.openembedded.org> References: <149976051445.6369.2295161645059251959@git.openembedded.org> Message-ID: <20170711080835.07B90234890@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 282447b7958f27153bc8b2b21dfd7b521c19cb7d Author: Andreas M?ller AuthorDate: Mon Jul 10 19:35:05 2017 +0200 gparted: update 0.27.0 -> 0.28.1 Signed-off-by: Andreas M?ller Signed-off-by: Martin Jansa --- .../recipes-extended/gparted/{gparted_0.27.0.bb => gparted_0.28.1.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-gnome/recipes-extended/gparted/gparted_0.27.0.bb b/meta-gnome/recipes-extended/gparted/gparted_0.28.1.bb similarity index 90% rename from meta-gnome/recipes-extended/gparted/gparted_0.27.0.bb rename to meta-gnome/recipes-extended/gparted/gparted_0.28.1.bb index c921065..83ab6f2 100644 --- a/meta-gnome/recipes-extended/gparted/gparted_0.27.0.bb +++ b/meta-gnome/recipes-extended/gparted/gparted_0.28.1.bb @@ -10,8 +10,8 @@ SRC_URI = " \ file://org.yoctoproject.pkexec.run-gparted.policy \ file://gparted_polkit \ " -SRC_URI[md5sum] = "726f539f774b442670028af656f270bd" -SRC_URI[sha256sum] = "208cf60c061b86bee4f658d568a3b5d843dce3ab9847f66b452298268799e7bd" +SRC_URI[md5sum] = "ab72464a3ab2137664d9df8462befd3f" +SRC_URI[sha256sum] = "76891f14394754f7d6ecceba2af0e585bf89f9d780c389a255dcd41a2f45d333" DEPENDS = "glib-2.0 glib-2.0-native gtkmm parted gnome-doc-utils intltool-native" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 11 08:08:41 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 11 Jul 2017 08:08:41 +0000 Subject: [oe-commits] [meta-openembedded] 07/13: garcon: update 0.4.0 -> 0.6.1 In-Reply-To: <149976051445.6369.2295161645059251959@git.openembedded.org> References: <149976051445.6369.2295161645059251959@git.openembedded.org> Message-ID: <20170711080834.F418723488F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 886230a2c6e56afad359db24e2579c5b117abfc2 Author: Andreas M?ller AuthorDate: Mon Jul 10 19:35:04 2017 +0200 garcon: update 0.4.0 -> 0.6.1 Signed-off-by: Andreas M?ller Signed-off-by: Martin Jansa --- meta-xfce/recipes-xfce/garcon/{garcon_0.4.0.bb => garcon_0.6.1.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-xfce/recipes-xfce/garcon/garcon_0.4.0.bb b/meta-xfce/recipes-xfce/garcon/garcon_0.6.1.bb similarity index 76% rename from meta-xfce/recipes-xfce/garcon/garcon_0.4.0.bb rename to meta-xfce/recipes-xfce/garcon/garcon_0.6.1.bb index 8a3260a..06e2369 100644 --- a/meta-xfce/recipes-xfce/garcon/garcon_0.4.0.bb +++ b/meta-xfce/recipes-xfce/garcon/garcon_0.6.1.bb @@ -9,8 +9,8 @@ inherit xfce gtk-doc distro_features_check REQUIRED_DISTRO_FEATURES = "x11" SRC_URI += "file://0001-xfce-applications.menu-don-t-bloat-settings-menu-by-.patch" -SRC_URI[md5sum] = "aba62b80787aac295083bf7afd419ffb" -SRC_URI[sha256sum] = "787dc859713b6518992d760d4b858fb02e8a30705e6f6e871d7a14cc97bca972" +SRC_URI[md5sum] = "174690ad19243f7ef9529cb0c24b9080" +SRC_URI[sha256sum] = "41c31ba0498c2cc39de4a8e0c2367510adbf4bc2104c17feee358e51e6acf603" EXTRA_OECONF = "--disable-gtk-doc" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 11 08:08:45 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 11 Jul 2017 08:08:45 +0000 Subject: [oe-commits] [meta-openembedded] 11/13: libdbus-c++: Add -pthread to linker flags In-Reply-To: <149976051445.6369.2295161645059251959@git.openembedded.org> References: <149976051445.6369.2295161645059251959@git.openembedded.org> Message-ID: <20170711080835.2E8B6234893@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit f24c55bc638a1188902187e686e53cdd2091372b Author: Khem Raj AuthorDate: Mon Jul 10 21:54:21 2017 -0700 libdbus-c++: Add -pthread to linker flags It uses symbols from libpthread e.g. pthread_mutexattr_init and pthread_mutexattr_settype but does not link with pthreads, gold is strict about it and calls out with an error ../src/.libs/libdbus-c++-1.so: error: undefined reference to 'pthread_mutexattr_init' ../src/.libs/libdbus-c++-1.so: error: undefined reference to 'pthread_mutexattr_settype' Therefore correct the linker cmdline Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- meta-oe/recipes-core/dbus/libdbus-c++_0.9.0.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-oe/recipes-core/dbus/libdbus-c++_0.9.0.bb b/meta-oe/recipes-core/dbus/libdbus-c++_0.9.0.bb index 4cc1333..a6d8b86 100644 --- a/meta-oe/recipes-core/dbus/libdbus-c++_0.9.0.bb +++ b/meta-oe/recipes-core/dbus/libdbus-c++_0.9.0.bb @@ -21,6 +21,7 @@ SRC_URI[sha256sum] = "bc11ac297b3cb010be904c72789695543ee3fdf3d75cdc8225fd371385 inherit autotools pkgconfig EXTRA_OECONF = "--disable-ecore --disable-examples --disable-tests" +LDFLAGS += "-pthread" PACKAGE_BEFORE_PN = "${PN}-tools" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 11 08:08:47 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 11 Jul 2017 08:08:47 +0000 Subject: [oe-commits] [meta-openembedded] 13/13: ubi-utils-klibc: Pass TUNE_CCARGS into CFLAGS In-Reply-To: <149976051445.6369.2295161645059251959@git.openembedded.org> References: <149976051445.6369.2295161645059251959@git.openembedded.org> Message-ID: <20170711080835.4AA5A234895@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 090ffc2fcf74b2f8d96dc16c3bbc91afc05636aa Author: Khem Raj AuthorDate: Mon Jul 10 21:54:23 2017 -0700 ubi-utils-klibc: Pass TUNE_CCARGS into CFLAGS This is needed for hard float ABI selection options Signed-off-by: Khem Raj Cc: Andrea Adami Signed-off-by: Martin Jansa --- meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_1.5.1.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_1.5.1.bb b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_1.5.1.bb index 8ca1ca7..8674077 100644 --- a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_1.5.1.bb +++ b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_1.5.1.bb @@ -21,6 +21,7 @@ SRC_URI = "git://git.infradead.org/mtd-utils.git;tag=b7455d847ab4f9eeeb6a729efc3 S = "${WORKDIR}/git/" EXTRA_OEMAKE = "'CC=${CC}' 'RANLIB=${RANLIB}' 'AR=${AR}' 'CFLAGS=${CFLAGS} -I${S}include -DWITHOUT_XATTR' 'BUILDDIR=${S}'" +CFLAGS += "${TUNE_CCARGS}" do_install () { -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 11 08:08:44 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 11 Jul 2017 08:08:44 +0000 Subject: [oe-commits] [meta-openembedded] 10/13: faac: update 1.28 -> 1.29 In-Reply-To: <149976051445.6369.2295161645059251959@git.openembedded.org> References: <149976051445.6369.2295161645059251959@git.openembedded.org> Message-ID: <20170711080835.1D037234892@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit e49a72c9b20e3517f51f07a428ce084ff6d8c1ce Author: Andreas M?ller AuthorDate: Mon Jul 10 19:35:07 2017 +0200 faac: update 1.28 -> 1.29 Most patches don't apply any more and build succeeds Signed-off-by: Andreas M?ller Signed-off-by: Martin Jansa --- .../recipes-multimedia/faac/faac_1.28.bb | 26 -- .../recipes-multimedia/faac/faac_1.29.bb | 27 ++ ...frontend-Fix-format-string-security-error.patch | 26 -- ...efine-__STRING-if-cdefs.h-does-not-exist.patch} | 0 .../files/address-gcc-6-narrowing-errors.patch | 47 --- .../recipes-multimedia/faac/files/build-fix.patch | 332 --------------------- 6 files changed, 27 insertions(+), 431 deletions(-) diff --git a/meta-multimedia/recipes-multimedia/faac/faac_1.28.bb b/meta-multimedia/recipes-multimedia/faac/faac_1.28.bb deleted file mode 100644 index 5c9477f..0000000 --- a/meta-multimedia/recipes-multimedia/faac/faac_1.28.bb +++ /dev/null @@ -1,26 +0,0 @@ -SUMMARY = "Freeware Advanced Audio Coder (MPEG2-AAC, MPEG4-AAC)" -SECTION = "libs" -LICENSE = "LGPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \ - file://libfaac/coder.h;beginline=5;endline=17;md5=fa1fd6a5fa8cdc877d63a12530d273e0" - -inherit autotools-brokensep - -SRC_URI = "${SOURCEFORGE_MIRROR}/faac/${BP}.tar.gz \ - file://build-fix.patch \ - file://address-gcc-6-narrowing-errors.patch \ - file://0001-frontend-Fix-format-string-security-error.patch \ - file://0002-mp4v2-Define-__STRING-if-cdefs.h-does-not-exist.patch \ - " - -SRC_URI[md5sum] = "80763728d392c7d789cde25614c878f6" -SRC_URI[sha256sum] = "c5141199f4cfb17d749c36ba8cfe4b25f838da67c22f0fec40228b6b9c3d19df" - -EXTRA_OECONF += "--without-mp4v2" - -PACKAGES =+ "lib${BPN} lib${BPN}-dev" - -FILES_${PN} = " ${bindir}/faac " -FILES_lib${PN} = " ${libdir}/libfaac.so.*" -FILES_lib${PN}-dev = "${includedir}/faac.h ${includedir}/faaccfg.h ${libdir}/libfaac.so ${libdir}/libfaac.la" -FILES_lib${PN}-staticdev = "${libdir}/libfaac.a" diff --git a/meta-multimedia/recipes-multimedia/faac/faac_1.29.bb b/meta-multimedia/recipes-multimedia/faac/faac_1.29.bb new file mode 100644 index 0000000..4765c6c --- /dev/null +++ b/meta-multimedia/recipes-multimedia/faac/faac_1.29.bb @@ -0,0 +1,27 @@ +SUMMARY = "Freeware Advanced Audio Coder (MPEG2-AAC, MPEG4-AAC)" +SECTION = "libs" +LICENSE = "LGPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \ + file://libfaac/coder.h;beginline=5;endline=17;md5=fa1fd6a5fa8cdc877d63a12530d273e0" + +inherit autotools + +SRC_URI = " \ + ${SOURCEFORGE_MIRROR}/faac/${BP}.tar.gz \ + file://0001-mp4v2-Define-__STRING-if-cdefs.h-does-not-exist.patch \ +" + +SRC_URI[md5sum] = "78603720f655180059d6970c582a3005" +SRC_URI[sha256sum] = "8cc7b03ceb2722223a6457e95d4c994731d80214a03ba33d1af76ba53f4b3197" + +EXTRA_OECONF += "--without-mp4v2" + +PACKAGES =+ "lib${BPN} lib${BPN}-dev" + +FILES_${PN} = " ${bindir}/faac " +FILES_lib${PN} = " ${libdir}/*.so.*" +FILES_lib${PN}-dev = " \ + ${includedir} \ + ${libdir}/*.so \ + ${libdir}/*.la \ +" diff --git a/meta-multimedia/recipes-multimedia/faac/files/0001-frontend-Fix-format-string-security-error.patch b/meta-multimedia/recipes-multimedia/faac/files/0001-frontend-Fix-format-string-security-error.patch deleted file mode 100644 index 75e003e..0000000 --- a/meta-multimedia/recipes-multimedia/faac/files/0001-frontend-Fix-format-string-security-error.patch +++ /dev/null @@ -1,26 +0,0 @@ -From c1d7a8b992dc36d0012cc3d54b7d3abf4ad4d5d8 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 28 Mar 2017 21:33:01 -0700 -Subject: [PATCH 1/2] frontend: Fix format string security error - -Signed-off-by: Khem Raj ---- - frontend/main.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/frontend/main.c b/frontend/main.c -index 02146a8..cb9329c 100644 ---- a/frontend/main.c -+++ b/frontend/main.c -@@ -715,7 +715,7 @@ int main(int argc, char *argv[]) - break; - #endif - case 'L': -- fprintf(stderr, faac_copyright_string); -+ fprintf(stderr, "%s", faac_copyright_string); - dieMessage = license; - break; - case 'X': --- -2.12.1 - diff --git a/meta-multimedia/recipes-multimedia/faac/files/0002-mp4v2-Define-__STRING-if-cdefs.h-does-not-exist.patch b/meta-multimedia/recipes-multimedia/faac/files/0001-mp4v2-Define-__STRING-if-cdefs.h-does-not-exist.patch similarity index 100% rename from meta-multimedia/recipes-multimedia/faac/files/0002-mp4v2-Define-__STRING-if-cdefs.h-does-not-exist.patch rename to meta-multimedia/recipes-multimedia/faac/files/0001-mp4v2-Define-__STRING-if-cdefs.h-does-not-exist.patch diff --git a/meta-multimedia/recipes-multimedia/faac/files/address-gcc-6-narrowing-errors.patch b/meta-multimedia/recipes-multimedia/faac/files/address-gcc-6-narrowing-errors.patch deleted file mode 100644 index 92fdd9b..0000000 --- a/meta-multimedia/recipes-multimedia/faac/files/address-gcc-6-narrowing-errors.patch +++ /dev/null @@ -1,47 +0,0 @@ ---- faac-1.28/common/mp4v2/atom_standard.cpp.orig 2016-06-16 07:59:21.657040761 -0400 -+++ faac-1.28/common/mp4v2/atom_standard.cpp 2016-06-16 08:01:50.613036724 -0400 -@@ -22,15 +22,15 @@ - #include "mp4common.h" - #include "atoms.h" - --static const char name[5]={0251,'n', 'a', 'm', '\0'}; --static const char art[5]={0251,'A', 'R', 'T', '\0'}; --static const char wrt[5]={0251,'w', 'r', 't', '\0'}; --static const char alb[5]={0251,'a', 'l', 'b', '\0'}; --static const char day[5]={0251,'d', 'a', 'y', '\0'}; --static const char too[5]={0251,'t', 'o', 'o', '\0'}; --static const char cmt[5]={0251,'c', 'm', 't', '\0'}; --static const char gen[5]={0251,'g', 'e', 'n', '\0'}; --static const char grp[5]={0251,'g', 'r', 'p', '\0'}; -+static const char name[5]={(char)0251,'n', 'a', 'm', '\0'}; -+static const char art[5]={(char)0251,'A', 'R', 'T', '\0'}; -+static const char wrt[5]={(char)0251,'w', 'r', 't', '\0'}; -+static const char alb[5]={(char)0251,'a', 'l', 'b', '\0'}; -+static const char day[5]={(char)0251,'d', 'a', 'y', '\0'}; -+static const char too[5]={(char)0251,'t', 'o', 'o', '\0'}; -+static const char cmt[5]={(char)0251,'c', 'm', 't', '\0'}; -+static const char gen[5]={(char)0251,'g', 'e', 'n', '\0'}; -+static const char grp[5]={(char)0251,'g', 'r', 'p', '\0'}; - - MP4StandardAtom::MP4StandardAtom (const char *type) : MP4Atom(type) - { ---- faac-1.28/common/mp4v2/mp4atom.cpp.orig 2016-06-16 08:03:07.777034633 -0400 -+++ faac-1.28/common/mp4v2/mp4atom.cpp 2016-06-16 08:03:54.629033363 -0400 -@@ -264,11 +264,11 @@ - } - break; - case 0251: -- static const char name[5]={0251,'n', 'a', 'm', '\0'}; -- static const char cmt[5]={0251,'c', 'm', 't', '\0'}; -- static const char cpy[5]={0251,'c', 'p', 'y', '\0'}; -- static const char des[5]={0251,'d', 'e', 's','\0'}; -- static const char prd[5]={0251, 'p', 'r', 'd', '\0'}; -+ static const char name[5]={(char)0251,'n', 'a', 'm', '\0'}; -+ static const char cmt[5]={(char)0251,'c', 'm', 't', '\0'}; -+ static const char cpy[5]={(char)0251,'c', 'p', 'y', '\0'}; -+ static const char des[5]={(char)0251,'d', 'e', 's','\0'}; -+ static const char prd[5]={(char)0251, 'p', 'r', 'd', '\0'}; - if (ATOMID(type) == ATOMID(name) || - ATOMID(type) == ATOMID(cmt) || - ATOMID(type) == ATOMID(cpy) || - diff --git a/meta-multimedia/recipes-multimedia/faac/files/build-fix.patch b/meta-multimedia/recipes-multimedia/faac/files/build-fix.patch deleted file mode 100644 index 83cff8f..0000000 --- a/meta-multimedia/recipes-multimedia/faac/files/build-fix.patch +++ /dev/null @@ -1,332 +0,0 @@ -Patch fixing build error and warnings. Error consisted of redefining -strcasestr function from string.h. Warnings consisted of deprecated conversions -of string constants to char*, using '%llu' for type uint64_t (which on 64 bit -systems, is defined as unsigned long int by stdint.h), and using '==' for -equality of two strings. - -Patch originally from Debian. - -Upstream-Status: Pending - -========================================================================== ---- a/common/mp4v2/mpeg4ip.h -+++ b/common/mp4v2/mpeg4ip.h -@@ -120,14 +120,6 @@ - #endif - #include - --#ifdef __cplusplus --extern "C" { --#endif --char *strcasestr(const char *haystack, const char *needle); --#ifdef __cplusplus --} --#endif -- - #define OPEN_RDWR O_RDWR - #define OPEN_CREAT O_CREAT - #define OPEN_RDONLY O_RDONLY -@@ -135,7 +127,6 @@ - #define closesocket close - #define IOSBINARY ios::bin - --#if SIZEOF_LONG == 8 - #define MAX_UINT64 -1LU - #define D64F "ld" - #define U64F "lu" -@@ -143,15 +134,6 @@ - - #define TO_D64(a) (a##L) - #define TO_U64(a) (a##LU) --#else --#define MAX_UINT64 -1LLU --#define D64F "lld" --#define U64F "llu" --#define X64F "llx" -- --#define TO_D64(a) (a##LL) --#define TO_U64(a) (a##LLU) --#endif - - #ifdef HAVE_FPOS_T___POS - #define FPOS_TO_VAR(fpos, typed, var) (var) = (typed)((fpos).__pos) ---- a/configure.in -+++ b/configure.in -@@ -4,6 +4,9 @@ - AM_INIT_AUTOMAKE - - AM_CONFIG_HEADER(config.h) -+AH_TOP([#ifndef CONFIG_H -+#define CONFIG_H]) -+AH_BOTTOM([#endif /* CONFIG_H */]) - - AC_ARG_WITH( mp4v2, [ --with-mp4v2 compile libmp4v2],WITHMP4V2=$withval, WITHMP4V2=yes) - AC_ARG_ENABLE( drm, [ --enable-drm Digital Radio Mondiale support], enable_drm=$enableval, enable_drm=no) ---- a/common/mp4v2/atom_avcC.cpp -+++ b/common/mp4v2/atom_avcC.cpp -@@ -29,7 +29,7 @@ - class SizeTableProperty : public MP4TableProperty - { - public: -- SizeTableProperty(char *name, MP4IntegerProperty *pCountProperty) : -+ SizeTableProperty(const char *name, MP4IntegerProperty *pCountProperty) : - MP4TableProperty(name, pCountProperty) {}; - protected: - void ReadEntry(MP4File *pFile, u_int32_t index) { ---- a/common/mp4v2/atom_ohdr.cpp -+++ b/common/mp4v2/atom_ohdr.cpp -@@ -21,7 +21,7 @@ - \param useCountedFormat counted format flag. - \param useUnicode unicode flag. - */ -- OhdrMP4StringProperty(char* name, bool useCountedFormat = false, -+ OhdrMP4StringProperty(const char* name, bool useCountedFormat = false, - bool useUnicode = false): MP4StringProperty(name, useCountedFormat, - useUnicode) { - } ---- a/common/mp4v2/atom_stz2.cpp -+++ b/common/mp4v2/atom_stz2.cpp -@@ -30,7 +30,7 @@ - class MP4HalfSizeTableProperty : public MP4TableProperty - { - public: -- MP4HalfSizeTableProperty(char *name, MP4IntegerProperty *pCountProperty) : -+ MP4HalfSizeTableProperty(const char *name, MP4IntegerProperty *pCountProperty) : - MP4TableProperty(name, pCountProperty) {}; - - // The count is half the actual size ---- a/common/mp4v2/mp4atom.cpp -+++ b/common/mp4v2/mp4atom.cpp -@@ -806,7 +806,7 @@ - AddProperty(new MP4Integer24Property("flags")); - } - --void MP4Atom::AddReserved(char* name, u_int32_t size) -+void MP4Atom::AddReserved(const char* name, u_int32_t size) - { - MP4BytesProperty* pReserved = new MP4BytesProperty(name, size); - pReserved->SetReadOnly(); ---- a/common/mp4v2/mp4atom.h -+++ b/common/mp4v2/mp4atom.h -@@ -204,7 +204,7 @@ - - void AddVersionAndFlags(); - -- void AddReserved(char* name, u_int32_t size); -+ void AddReserved(const char* name, u_int32_t size); - - void ExpectChildAtom(const char* name, - bool mandatory, bool onlyOne = true); ---- a/common/mp4v2/mp4file.cpp -+++ b/common/mp4v2/mp4file.cpp -@@ -718,7 +718,7 @@ - } - } - --void MP4File::ProtectWriteOperation(char* where) -+void MP4File::ProtectWriteOperation(const char* where) - { - if (m_mode == 'r') { - throw new MP4Error("operation not permitted in read mode", where); -@@ -1274,7 +1274,7 @@ - } - - // NULL terminated list of brands which require the IODS atom --char *brandsWithIods[] = { "mp42", -+const char *brandsWithIods[] = { "mp42", - "isom", - NULL}; - -@@ -2211,11 +2211,11 @@ - for (u_int32_t i = 0; i < m_pTracks.Size(); i++) { - if (!strcmp(normType, m_pTracks[i]->GetType())) { - if (subType) { -- if (normType == MP4_AUDIO_TRACK_TYPE) { -+ if (!strcmp(normType,MP4_AUDIO_TRACK_TYPE)) { - if (subType != GetTrackEsdsObjectTypeId(m_pTracks[i]->GetId())) { - continue; - } -- } else if (normType == MP4_VIDEO_TRACK_TYPE) { -+ } else if (!strcmp(normType,MP4_VIDEO_TRACK_TYPE)) { - if (subType != GetTrackEsdsObjectTypeId(m_pTracks[i]->GetId())) { - continue; - } -@@ -2278,11 +2278,11 @@ - for (u_int32_t i = 0; i < m_pTracks.Size(); i++) { - if (!strcmp(normType, m_pTracks[i]->GetType())) { - if (subType) { -- if (normType == MP4_AUDIO_TRACK_TYPE) { -+ if (!strcmp(normType,MP4_AUDIO_TRACK_TYPE)) { - if (subType != GetTrackEsdsObjectTypeId(m_pTracks[i]->GetId())) { - continue; - } -- } else if (normType == MP4_VIDEO_TRACK_TYPE) { -+ } else if (!strcmp(normType,MP4_VIDEO_TRACK_TYPE)) { - if (subType != GetTrackEsdsObjectTypeId(m_pTracks[i]->GetId())) { - continue; - } ---- a/common/mp4v2/mp4file.h -+++ b/common/mp4v2/mp4file.h -@@ -700,7 +700,7 @@ - const char* TempFileName(); - void Rename(const char* existingFileName, const char* newFileName); - -- void ProtectWriteOperation(char* where); -+ void ProtectWriteOperation(const char* where); - - void FindIntegerProperty(const char* name, - MP4Property** ppProperty, u_int32_t* pIndex = NULL); ---- a/common/mp4v2/mp4property.cpp -+++ b/common/mp4v2/mp4property.cpp -@@ -313,7 +313,7 @@ - - // MP4StringProperty - --MP4StringProperty::MP4StringProperty(char* name, -+MP4StringProperty::MP4StringProperty(const char* name, - bool useCountedFormat, bool useUnicode) - : MP4Property(name) - { -@@ -420,7 +420,7 @@ - - // MP4BytesProperty - --MP4BytesProperty::MP4BytesProperty(char* name, u_int32_t valueSize, -+MP4BytesProperty::MP4BytesProperty(const char* name, u_int32_t valueSize, - u_int32_t defaultValueSize) - : MP4Property(name) - { -@@ -549,7 +549,7 @@ - - // MP4TableProperty - --MP4TableProperty::MP4TableProperty(char* name, MP4IntegerProperty* pCountProperty) -+MP4TableProperty::MP4TableProperty(const char* name, MP4IntegerProperty* pCountProperty) - : MP4Property(name) - { - m_pCountProperty = pCountProperty; -@@ -725,7 +725,7 @@ - - // MP4DescriptorProperty - --MP4DescriptorProperty::MP4DescriptorProperty(char* name, -+MP4DescriptorProperty::MP4DescriptorProperty(const char* name, - u_int8_t tagsStart, u_int8_t tagsEnd, bool mandatory, bool onlyOne) - : MP4Property(name) - { ---- a/common/mp4v2/mp4property.h -+++ b/common/mp4v2/mp4property.h -@@ -100,7 +100,7 @@ - - class MP4IntegerProperty : public MP4Property { - protected: -- MP4IntegerProperty(char* name) -+ MP4IntegerProperty(const char* name) - : MP4Property(name) { }; - - public: -@@ -118,7 +118,7 @@ - #define MP4INTEGER_PROPERTY_DECL2(isize, xsize) \ - class MP4Integer##xsize##Property : public MP4IntegerProperty { \ - public: \ -- MP4Integer##xsize##Property(char* name) \ -+ MP4Integer##xsize##Property(const char* name) \ - : MP4IntegerProperty(name) { \ - SetCount(1); \ - m_values[0] = 0; \ -@@ -188,7 +188,7 @@ - - class MP4BitfieldProperty : public MP4Integer64Property { - public: -- MP4BitfieldProperty(char* name, u_int8_t numBits) -+ MP4BitfieldProperty(const char* name, u_int8_t numBits) - : MP4Integer64Property(name) { - ASSERT(numBits != 0); - ASSERT(numBits <= 64); -@@ -213,7 +213,7 @@ - - class MP4Float32Property : public MP4Property { - public: -- MP4Float32Property(char* name) -+ MP4Float32Property(const char* name) - : MP4Property(name) { - m_useFixed16Format = false; - m_useFixed32Format = false; -@@ -280,7 +280,7 @@ - - class MP4StringProperty : public MP4Property { - public: -- MP4StringProperty(char* name, -+ MP4StringProperty(const char* name, - bool useCountedFormat = false, bool useUnicode = false); - - ~MP4StringProperty(); -@@ -355,7 +355,7 @@ - - class MP4BytesProperty : public MP4Property { - public: -- MP4BytesProperty(char* name, u_int32_t valueSize = 0, -+ MP4BytesProperty(const char* name, u_int32_t valueSize = 0, - u_int32_t defaultValueSize = 0); - - ~MP4BytesProperty(); -@@ -419,7 +419,7 @@ - - class MP4TableProperty : public MP4Property { - public: -- MP4TableProperty(char* name, MP4IntegerProperty* pCountProperty); -+ MP4TableProperty(const char* name, MP4IntegerProperty* pCountProperty); - - ~MP4TableProperty(); - -@@ -469,7 +469,7 @@ - - class MP4DescriptorProperty : public MP4Property { - public: -- MP4DescriptorProperty(char* name = NULL, -+ MP4DescriptorProperty(const char* name = NULL, - u_int8_t tagsStart = 0, u_int8_t tagsEnd = 0, - bool mandatory = false, bool onlyOne = false); - -@@ -531,7 +531,7 @@ - - class MP4QosQualifierProperty : public MP4DescriptorProperty { - public: -- MP4QosQualifierProperty(char* name = NULL, -+ MP4QosQualifierProperty(const char* name = NULL, - u_int8_t tagsStart = 0, u_int8_t tagsEnd = 0, - bool mandatory = false, bool onlyOne = false) : - MP4DescriptorProperty(name, tagsStart, tagsEnd, mandatory, onlyOne) { } ---- a/common/mp4v2/mp4track.cpp -+++ b/common/mp4v2/mp4track.cpp -@@ -1360,7 +1360,7 @@ - } - } - --MP4Atom* MP4Track::AddAtom(char* parentName, char* childName) -+MP4Atom* MP4Track::AddAtom(const char* parentName, const char* childName) - { - MP4Atom* pChildAtom = MP4Atom::CreateAtom(childName); - ---- a/common/mp4v2/mp4track.h -+++ b/common/mp4v2/mp4track.h -@@ -168,7 +168,7 @@ - void UpdateSyncSamples(MP4SampleId sampleId, - bool isSyncSample); - -- MP4Atom* AddAtom(char* parentName, char* childName); -+ MP4Atom* AddAtom(const char* parentName, const char* childName); - - void UpdateDurations(MP4Duration duration); - MP4Duration ToMovieDuration(MP4Duration trackDuration); ---- a/common/mp4v2/ocidescriptors.cpp -+++ b/common/mp4v2/ocidescriptors.cpp -@@ -171,7 +171,7 @@ - - class MP4CreatorTableProperty : public MP4TableProperty { - public: -- MP4CreatorTableProperty(char* name, MP4Integer8Property* pCountProperty) : -+ MP4CreatorTableProperty(const char* name, MP4Integer8Property* pCountProperty) : - MP4TableProperty(name, pCountProperty) { - }; - protected: -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 11 08:08:46 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 11 Jul 2017 08:08:46 +0000 Subject: [oe-commits] [meta-openembedded] 12/13: klibc: Fix build with musl In-Reply-To: <149976051445.6369.2295161645059251959@git.openembedded.org> References: <149976051445.6369.2295161645059251959@git.openembedded.org> Message-ID: <20170711080835.3F98A234894@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 191cab019d57bbf75111ba5f4504a902e86a4132 Author: Khem Raj AuthorDate: Mon Jul 10 21:54:22 2017 -0700 klibc: Fix build with musl klibc failed to build with armv7+ when using thumb2 it needed to resepct TUNE_CCARGS Add patches to fix build with musl, to sort out the linux header maze. Signed-off-by: Khem Raj Cc: Andrea Adami Signed-off-by: Martin Jansa --- ...ine-in_-structs-for-non-glibc-system-libs.patch | 85 ++++++++++++++++++++++ ...0001-dash-Specify-format-string-in-fmtstr.patch | 31 ++++++++ .../0001-include-linux-sysinfo.h-directly.patch | 32 ++++++++ .../klibc-2.0.4/0001-mkfifo-Implement-mkfifo.patch | 29 ++++++++ meta-initramfs/recipes-devtools/klibc/klibc.inc | 34 ++++++--- 5 files changed, 200 insertions(+), 11 deletions(-) diff --git a/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Define-in_-structs-for-non-glibc-system-libs.patch b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Define-in_-structs-for-non-glibc-system-libs.patch new file mode 100644 index 0000000..8d1ec69 --- /dev/null +++ b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Define-in_-structs-for-non-glibc-system-libs.patch @@ -0,0 +1,85 @@ +From f414dea1316a48aba3e8e293201ebd51652d3ef4 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 9 Jul 2017 15:17:29 -0700 +Subject: [PATCH] Define in_* structs for non-glibc system libs + +These defines and structs are required to be coming from +userspace netinet/in.h, which is being overridden in klibc +however, libc-compat.h from kernel is only written keeping +glibc in mind, and does not provide adequate guards for musl +to infer that these structs should be defined in linux/in.h + +Signed-off-by: Khem Raj +--- + usr/include/netinet/in.h | 33 +++++++++++++++++++++++++++++++++ + 1 file changed, 33 insertions(+) + +Index: git/usr/include/netinet/in.h +=================================================================== +--- git.orig/usr/include/netinet/in.h ++++ git/usr/include/netinet/in.h +@@ -5,6 +5,42 @@ + #ifndef _NETINET_IN_H + #define _NETINET_IN_H + ++#ifndef __GLIBC__ ++#include ++ ++#undef __UAPI_DEF_IN_ADDR ++#undef __UAPI_DEF_IN_IPPROTO ++#undef __UAPI_DEF_IN_PKTINFO ++#undef __UAPI_DEF_IP_MREQ ++#undef __UAPI_DEF_SOCKADDR_IN ++#undef __UAPI_DEF_IN_CLASS ++#undef __UAPI_DEF_IN6_ADDR ++#undef __UAPI_DEF_IN6_ADDR_ALT ++#undef __UAPI_DEF_SOCKADDR_IN6 ++#undef __UAPI_DEF_IPV6_MREQ ++#undef __UAPI_DEF_IPPROTO_V6 ++#undef __UAPI_DEF_IPV6_OPTIONS ++#undef __UAPI_DEF_IN6_PKTINFO ++#undef __UAPI_DEF_IP6_MTUINFO ++#undef __UAPI_DEF_IF_IFREQ ++ ++#define __UAPI_DEF_IN_ADDR 1 ++#define __UAPI_DEF_IN_IPPROTO 1 ++#define __UAPI_DEF_IN_PKTINFO 1 ++#define __UAPI_DEF_IP_MREQ 1 ++#define __UAPI_DEF_SOCKADDR_IN 1 ++#define __UAPI_DEF_IN_CLASS 1 ++#define __UAPI_DEF_IN6_ADDR 1 ++#define __UAPI_DEF_IN6_ADDR_ALT 1 ++#define __UAPI_DEF_SOCKADDR_IN6 1 ++#define __UAPI_DEF_IPV6_MREQ 1 ++#define __UAPI_DEF_IPPROTO_V6 1 ++#define __UAPI_DEF_IPV6_OPTIONS 1 ++#define __UAPI_DEF_IN6_PKTINFO 1 ++#define __UAPI_DEF_IP6_MTUINFO 1 ++#define __UAPI_DEF_IF_IFREQ 1 ++#endif ++ + #include + #include + #include /* Must be included *before* */ +Index: git/usr/include/net/if.h +=================================================================== +--- git.orig/usr/include/net/if.h ++++ git/usr/include/net/if.h +@@ -1,6 +1,17 @@ + #ifndef _NET_IF_H + #define _NET_IF_H + ++#ifndef __GLIBC__ ++#include ++#undef __UAPI_DEF_IF_IFREQ ++#define __UAPI_DEF_IF_IFREQ 1 ++#undef __UAPI_DEF_IF_IFNAMSIZ ++#define __UAPI_DEF_IF_IFNAMSIZ 1 ++#undef __UAPI_DEF_IF_IFMAP ++#define __UAPI_DEF_IF_IFMAP 1 ++#undef __UAPI_DEF_IF_NET_DEVICE_FLAGS ++#define __UAPI_DEF_IF_NET_DEVICE_FLAGS 1 ++#endif + #include + #include + #include diff --git a/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-dash-Specify-format-string-in-fmtstr.patch b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-dash-Specify-format-string-in-fmtstr.patch new file mode 100644 index 0000000..ae8c1f1 --- /dev/null +++ b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-dash-Specify-format-string-in-fmtstr.patch @@ -0,0 +1,31 @@ +From 2fff607fd0b5550e5072a6fffcbb01c29d5207d2 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 9 Jul 2017 13:51:25 -0700 +Subject: [PATCH] dash: Specify format string in fmtstr() + +Fixes build with hardening flags + +usr/dash/jobs.c:429:3: error: format not a string literal and no format arguments [-Werror=format-security] + col = fmtstr(s, 32, strsignal(st)); + +Signed-off-by: Khem Raj +--- + usr/dash/jobs.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/usr/dash/jobs.c b/usr/dash/jobs.c +index 009bbfee..299bcacc 100644 +--- a/usr/dash/jobs.c ++++ b/usr/dash/jobs.c +@@ -426,7 +426,7 @@ sprint_status(char *s, int status, int sigonly) + goto out; + #endif + } +- col = fmtstr(s, 32, strsignal(st)); ++ col = fmtstr(s, 32, "%s", strsignal(st)); + #ifdef WCOREDUMP + if (WCOREDUMP(status)) { + col += fmtstr(s + col, 16, " (core dumped)"); +-- +2.13.2 + diff --git a/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-include-linux-sysinfo.h-directly.patch b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-include-linux-sysinfo.h-directly.patch new file mode 100644 index 0000000..1b033ac --- /dev/null +++ b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-include-linux-sysinfo.h-directly.patch @@ -0,0 +1,32 @@ +From ab060a57b41f989665ade20e813bbcb67f91f1f2 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 9 Jul 2017 15:56:28 -0700 +Subject: [PATCH] include linux/sysinfo.h directly + +This is done to avoid the kernel header linux/kernel.h to use +__GLIBC__ define to decide on if libc implements sysinfo() API +or not. Kernel headers should be independent of such assumptions +but until its done in right place, change the local header +override to avoid this assumption + +Signed-off-by: Khem Raj +--- + usr/include/sys/sysinfo.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/usr/include/sys/sysinfo.h b/usr/include/sys/sysinfo.h +index dba68dc6..d145c0b1 100644 +--- a/usr/include/sys/sysinfo.h ++++ b/usr/include/sys/sysinfo.h +@@ -5,7 +5,7 @@ + #ifndef _SYS_SYSINFO_H + #define _SYS_SYSINFO_H + +-#include ++#include + + extern int sysinfo(struct sysinfo *info); + +-- +2.13.2 + diff --git a/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-mkfifo-Implement-mkfifo.patch b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-mkfifo-Implement-mkfifo.patch new file mode 100644 index 0000000..9791412 --- /dev/null +++ b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-mkfifo-Implement-mkfifo.patch @@ -0,0 +1,29 @@ +From b4e120f5edf06e6df138b1804a8b5180584cea6b Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 10 Jul 2017 20:42:50 -0700 +Subject: [PATCH] mkfifo: Implement mkfifo + +Signed-off-by: Khem Raj +--- + usr/utils/mkfifo.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/usr/utils/mkfifo.c b/usr/utils/mkfifo.c +index 5a758b2a..f1f577e6 100644 +--- a/usr/utils/mkfifo.c ++++ b/usr/utils/mkfifo.c +@@ -26,6 +26,11 @@ static int make_fifo(char *dir) + return 0; + } + ++int mkfifo (const char *__p, mode_t __m) ++{ ++ return mknod(__p, (__m & ~S_IFMT) | S_IFIFO, (dev_t) 0); ++} ++ + int main(int argc, char *argv[]) + { + int c, ret = 0; +-- +2.13.2 + diff --git a/meta-initramfs/recipes-devtools/klibc/klibc.inc b/meta-initramfs/recipes-devtools/klibc/klibc.inc index e039cb2..be59aa4 100644 --- a/meta-initramfs/recipes-devtools/klibc/klibc.inc +++ b/meta-initramfs/recipes-devtools/klibc/klibc.inc @@ -7,17 +7,23 @@ LIC_FILES_CHKSUM = "file://usr/klibc/LICENSE;md5=d75181f10e998c21eb147f6d2e43ce8 DEPENDS = "linux-libc-headers perl-native" SRCREV = "4d19974d7020488f63651244e1f9f51727c3f66c" -SRC_URI = "git://git.kernel.org/pub/scm/libs/klibc/klibc.git" -SRC_URI_append_linux-gnueabi = " file://klibc-config-eabi.patch \ - file://armv4-fix-v4bx.patch \ - " -SRC_URI_append_linux-uclibceabi = " file://klibc-config-eabi.patch \ - file://armv4-fix-v4bx.patch \ - " -SRC_URI += "file://klibc-linux-libc-dev.patch \ - file://staging.patch \ - file://klcc-consider-sysroot.patch \ - " +SRC_URI = "git://git.kernel.org/pub/scm/libs/klibc/klibc.git \ + ${ARMPATCHES} \ + file://klibc-linux-libc-dev.patch \ + file://staging.patch \ + file://klcc-consider-sysroot.patch \ + file://0001-dash-Specify-format-string-in-fmtstr.patch \ + file://0001-Define-in_-structs-for-non-glibc-system-libs.patch \ + file://0001-include-linux-sysinfo.h-directly.patch \ + file://0001-mkfifo-Implement-mkfifo.patch \ +" + +ARMPATCHES ?= "" + +ARMPATCHES_arm = "file://klibc-config-eabi.patch \ + file://armv4-fix-v4bx.patch \ + " + S = "${WORKDIR}/git" @@ -30,9 +36,12 @@ EXTRA_OEMAKE = "'KLIBCARCH=${KLIBC_ARCH}' \ 'INSTALLROOT=${D}' \ 'INSTALLDIR=${libdir}/klibc' \ 'SHLIBDIR=${libdir}' \ + '${KLIBCTHUMB}' \ + 'KLIBCOPTFLAGS=${TUNE_CCARGS}' \ " export FIX_ARMV4_EABI_BX = "${FIX_V4BX}" +KLIBCTHUMB = "${@['', 'CONFIG_KLIBC_THUMB=y'][(d.getVar('ARM_INSTRUCTION_SET') == 'thumb')]}" do_configure () { ln -sf "${STAGING_DIR_TARGET}${exec_prefix}" linux @@ -51,3 +60,6 @@ KLIBC_ARCH_x86-64 = "x86_64" KLIBC_ARCH_powerpc = "ppc" KLIBC_ARCH_powerpc64 = "ppc64" THIS_LIBKLIBC = "libklibc (= ${PV}-${PR})" + +SECURITY_CFLAGS = "-fno-PIE -no-pie" +SECURITY_LDFLAGS = "-no-pie" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 11 08:08:43 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 11 Jul 2017 08:08:43 +0000 Subject: [oe-commits] [meta-openembedded] 09/13: abiword: update 3.0.1 -> 3.0.2 In-Reply-To: <149976051445.6369.2295161645059251959@git.openembedded.org> References: <149976051445.6369.2295161645059251959@git.openembedded.org> Message-ID: <20170711080835.0F8C8234891@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 59dc097cc7e87719037cadc9d8565a89bb891c54 Author: Andreas M?ller AuthorDate: Mon Jul 10 19:35:06 2017 +0200 abiword: update 3.0.1 -> 3.0.2 Patch was a backport now included upstream Signed-off-by: Andreas M?ller Signed-off-by: Martin Jansa --- ...-13754-Fix-build-on-gcc-6-default-to-C-11.patch | 74 ---------------------- .../abiword/{abiword_3.0.1.bb => abiword_3.0.2.bb} | 5 +- 2 files changed, 2 insertions(+), 77 deletions(-) diff --git a/meta-gnome/recipes-gnome/abiword/abiword/0002-Bug-13754-Fix-build-on-gcc-6-default-to-C-11.patch b/meta-gnome/recipes-gnome/abiword/abiword/0002-Bug-13754-Fix-build-on-gcc-6-default-to-C-11.patch deleted file mode 100644 index 595ee8e..0000000 --- a/meta-gnome/recipes-gnome/abiword/abiword/0002-Bug-13754-Fix-build-on-gcc-6-default-to-C-11.patch +++ /dev/null @@ -1,74 +0,0 @@ -From a83e6f50dbd5efa16fb39efe32b9de370f103130 Mon Sep 17 00:00:00 2001 -From: Hubert Figuiere -Date: Sat, 23 Jan 2016 20:46:02 +0000 -Subject: [PATCH] Bug 13754 - Fix build on gcc-6 (default to C++11). - -This is debian bug https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=811381 - -git-svn-id: svn+ssh://svn.abisource.com/svnroot/abiword/trunk at 35182 bcba8976-2d24-0410-9c9c-aab3bd5fdfd6 - -Upstream-Status: Backport ---- - plugins/collab/backends/service/xp/RealmProtocol.cpp | 4 ++-- - plugins/collab/backends/service/xp/soa_soup.cpp | 2 +- - plugins/latex/xp/ie_exp_LaTeX.cpp | 2 +- - plugins/xslfo/xp/ie_exp_XSL-FO.cpp | 2 +- - 4 files changed, 5 insertions(+), 5 deletions(-) - -diff --git a/plugins/collab/backends/service/xp/RealmProtocol.cpp b/plugins/collab/backends/service/xp/RealmProtocol.cpp -index fb426eb..347a49c 100644 ---- a/plugins/collab/backends/service/xp/RealmProtocol.cpp -+++ b/plugins/collab/backends/service/xp/RealmProtocol.cpp -@@ -6,8 +6,8 @@ namespace protocolv1 { - - #define MAX_PACKET_DATA_SIZE 64*1024*1024 - --#define RPV1_PACKET_NONEXISTENT -2 --#define RPV1_PACKET_VARIABLE -1 -+#define RPV1_PACKET_NONEXISTENT uint32_t(-2) -+#define RPV1_PACKET_VARIABLE uint32_t(-1) - - static uint32_t body_size[6] = { - RPV1_PACKET_NONEXISTENT, /* 0: reserved */ -diff --git a/plugins/collab/backends/service/xp/soa_soup.cpp b/plugins/collab/backends/service/xp/soa_soup.cpp -index 4b81735..f4f5134 100644 ---- a/plugins/collab/backends/service/xp/soa_soup.cpp -+++ b/plugins/collab/backends/service/xp/soa_soup.cpp -@@ -163,7 +163,7 @@ namespace soup_soa { - - static bool _invoke(const std::string& /*url*/, const soa::method_invocation& /*mi*/, SoaSoupSession& sess, std::string& result) { - if (!sess.m_session || !sess.m_msg ) -- return soa::GenericPtr(); -+ return false; - - guint status = soup_session_send_message (sess.m_session, sess.m_msg); - if (!(SOUP_STATUS_IS_SUCCESSFUL (status) || -diff --git a/plugins/latex/xp/ie_exp_LaTeX.cpp b/plugins/latex/xp/ie_exp_LaTeX.cpp -index 7aaf3a9..8bcc250 100644 ---- a/plugins/latex/xp/ie_exp_LaTeX.cpp -+++ b/plugins/latex/xp/ie_exp_LaTeX.cpp -@@ -1330,7 +1330,7 @@ void s_LaTeX_Listener::_outputData(const UT_UCSChar * data, UT_uint32 length) - m_pie->write(sBuf.c_str(),sBuf.size()); - } - --#define SUB(a,who) case a: subst = "\\(\\"who"\\)"; return true; -+#define SUB(a,who) case a: subst = "\\(\\" who"\\)"; return true; - #define SUBd(a,who) case a: subst = who; return true; - static bool _convertLettersToSymbols(char c, const char *& subst) - { -diff --git a/plugins/xslfo/xp/ie_exp_XSL-FO.cpp b/plugins/xslfo/xp/ie_exp_XSL-FO.cpp -index cc5e4e6..957226e 100644 ---- a/plugins/xslfo/xp/ie_exp_XSL-FO.cpp -+++ b/plugins/xslfo/xp/ie_exp_XSL-FO.cpp -@@ -1451,7 +1451,7 @@ void s_XSL_FO_Listener::_openSection(PT_AttrPropIndex api) - { \ - UT_UTF8String esc = szValue; \ - esc.escapeXML(); \ -- buf += " "x"=\""; \ -+ buf += " " x"=\""; \ - buf += esc.utf8_str(); \ - buf += "\""; \ - } --- -2.5.5 - diff --git a/meta-gnome/recipes-gnome/abiword/abiword_3.0.1.bb b/meta-gnome/recipes-gnome/abiword/abiword_3.0.2.bb similarity index 96% rename from meta-gnome/recipes-gnome/abiword/abiword_3.0.1.bb rename to meta-gnome/recipes-gnome/abiword/abiword_3.0.2.bb index 34fc97d..2a13e48 100644 --- a/meta-gnome/recipes-gnome/abiword/abiword_3.0.1.bb +++ b/meta-gnome/recipes-gnome/abiword/abiword_3.0.2.bb @@ -28,13 +28,12 @@ RCONFLICTS_${PN} = "${PN}-embedded" SRC_URI = " \ http://www.abisource.com/downloads/${BPN}/${PV}/source/${BP}.tar.gz \ file://0001-plugins-aiksaurus-Makefile.am-remove-uncomplete-opti.patch \ - file://0002-Bug-13754-Fix-build-on-gcc-6-default-to-C-11.patch \ " LIC_FILES_CHKSUM = "file://COPYING;md5=c5edcc3ccd864b19004d14e9c1c9a26a" -SRC_URI[md5sum] = "f3f8052e7b4979a43b75775a381e6cb8" -SRC_URI[sha256sum] = "e094f6fbf0afc5c5538b4894888e7c346f8ee8f49c9d24821dd696d0734865c6" +SRC_URI[md5sum] = "cda6dd58c747c133b421cc7eb18f5796" +SRC_URI[sha256sum] = "afbfd458fd02989d8b0c6362ba8a4c14686d89666f54cfdb5501bd2090cf3522" #want 3.x from 3.x.y for the installation directory SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 11 08:59:04 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 11 Jul 2017 08:59:04 +0000 Subject: [oe-commits] [meta-openembedded] branch master-next updated: kodi: Fix build on arm Message-ID: <149976354409.19801.13189592961026674021@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. The following commit(s) were added to refs/heads/master-next by this push: new b6e1db9 kodi: Fix build on arm b6e1db9 is described below commit b6e1db91ad7e79ab361f2ca3458f27163946e376 Author: Martin Jansa AuthorDate: Tue Jul 11 10:26:56 2017 +0200 kodi: Fix build on arm Signed-off-by: Martin Jansa --- meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb b/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb index 0b39116..5a9fa98 100644 --- a/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb +++ b/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb @@ -134,6 +134,7 @@ BUILD_OPTIMIZATION = "${FULL_OPTIMIZATION}" LDFLAGS_append_mips = " -latomic" LDFLAGS_append_mipsel = " -latomic" LDFLAGS_append_powerpc = " -latomic" +LDFLAGS_append_arm = " -latomic" EXTRA_OECONF_append = " LIBTOOL=${STAGING_BINDIR_CROSS}/${HOST_SYS}-libtool" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 11 09:21:23 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 11 Jul 2017 09:21:23 +0000 Subject: [oe-commits] [meta-openembedded] branch master-next updated: fluentbit: fix SYSTEMD_SERVICE name Message-ID: <149976488365.24270.15147577139033164743@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. The following commit(s) were added to refs/heads/master-next by this push: new d4b757a fluentbit: fix SYSTEMD_SERVICE name d4b757a is described below commit d4b757a3ce5b40056522b81956c8363d654e0832 Author: Martin Jansa AuthorDate: Tue Jul 11 11:15:44 2017 +0200 fluentbit: fix SYSTEMD_SERVICE name * the binary and service name was renamed in 0.11.11 from fluent-bit to td-agent-bit, but unfortunately SYSTEMD_SERVICE wasn't updated in the recipe with the upgrade causing do_package failures as in: http://errors.yoctoproject.org/Errors/Details/147040/ ERROR: SYSTEMD_SERVICE_fluentbit value fluent-bit.service does not exist 0.11.3-r0/image/ 0.11.3-r0/image/etc 0.11.3-r0/image/etc/fluent-bit 0.11.3-r0/image/etc/fluent-bit/parsers.conf 0.11.3-r0/image/etc/fluent-bit/fluent-bit.conf 0.11.3-r0/image/lib 0.11.3-r0/image/lib/systemd 0.11.3-r0/image/lib/systemd/system 0.11.3-r0/image/lib/systemd/system/fluent-bit.service 0.11.3-r0/image/usr 0.11.3-r0/image/usr/bin 0.11.3-r0/image/usr/bin/fluent-bit 0.11.3-r0/image/usr/lib 0.11.3-r0/image/usr/lib/libfluent-bit.so 0.11.3-r0/image/usr/lib/pkgconfig 0.11.3-r0/image/usr/lib/pkgconfig/msgpack.pc 0.11.11-r0/image 0.11.11-r0/image/etc 0.11.11-r0/image/etc/td-agent-bit 0.11.11-r0/image/etc/td-agent-bit/parsers.conf 0.11.11-r0/image/etc/td-agent-bit/td-agent-bit.conf 0.11.11-r0/image/lib 0.11.11-r0/image/lib/systemd 0.11.11-r0/image/lib/systemd/system 0.11.11-r0/image/lib/systemd/system/td-agent-bit.service 0.11.11-r0/image/usr 0.11.11-r0/image/usr/bin 0.11.11-r0/image/usr/bin/td-agent-bit 0.11.11-r0/image/usr/lib 0.11.11-r0/image/usr/lib/libfluent-bit.so 0.11.11-r0/image/usr/lib/pkgconfig 0.11.11-r0/image/usr/lib/pkgconfig/msgpack.pc Signed-off-by: Martin Jansa --- meta-oe/recipes-extended/fluentbit/fluentbit_0.11.11.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit_0.11.11.bb b/meta-oe/recipes-extended/fluentbit/fluentbit_0.11.11.bb index 83818c8..521d00b 100644 --- a/meta-oe/recipes-extended/fluentbit/fluentbit_0.11.11.bb +++ b/meta-oe/recipes-extended/fluentbit/fluentbit_0.11.11.bb @@ -21,6 +21,6 @@ inherit cmake systemd EXTRA_OECMAKE = "-DGNU_HOST=${HOST_SYS} -DFLB_ALL=ON -DFLB_TD=1" -SYSTEMD_SERVICE_${PN} = "fluent-bit.service" +SYSTEMD_SERVICE_${PN} = "td-agent-bit.service" TARGET_CC_ARCH_append = " ${SELECTED_OPTIMIZATION}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 11 09:30:58 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 11 Jul 2017 09:30:58 +0000 Subject: [oe-commits] [meta-openembedded] 02/23: gnome-common: Add recipe (from oe-core) In-Reply-To: <149976545603.27419.9052770751141584718@git.openembedded.org> References: <149976545603.27419.9052770751141584718@git.openembedded.org> Message-ID: <20170711093056.3E5C5233446@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit e5d13e0969732c80370d29cd66f8da9ec7447a24 Author: Jussi Kukkonen AuthorDate: Thu Jul 6 15:06:36 2017 +0300 gnome-common: Add recipe (from oe-core) gnome-common is deprecated upstream (it's just a collection of m4 macros so that's not a huge issue) and more importantly is soon not used in oe-core. There are 6 recipes in meta-oe and 22 in meta-gnome that DEPEND on gnome-common: Move gnome-common unchanged to meta-oe. Signed-off-by: Jussi Kukkonen Signed-off-by: Martin Jansa --- .../gnome-common/gnome-common_3.18.0.bb | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/meta-oe/recipes-gnome/gnome-common/gnome-common_3.18.0.bb b/meta-oe/recipes-gnome/gnome-common/gnome-common_3.18.0.bb new file mode 100644 index 0000000..06f3bb3 --- /dev/null +++ b/meta-oe/recipes-gnome/gnome-common/gnome-common_3.18.0.bb @@ -0,0 +1,20 @@ +SUMMARY = "Common macros for building GNOME applications" +HOMEPAGE = "http://www.gnome.org/" +BUGTRACKER = "https://bugzilla.gnome.org/" + +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +SECTION = "x11/gnome" +inherit gnomebase allarch + +SRC_URI[archive.md5sum] = "933258d9c23e218eb6eec9cc1951b053" +SRC_URI[archive.sha256sum] = "22569e370ae755e04527b76328befc4c73b62bfd4a572499fde116b8318af8cf" + +EXTRA_AUTORECONF = "" +DEPENDS = "" + +FILES_${PN} += "${datadir}/aclocal" +FILES_${PN}-dev = "" + +BBCLASSEXTEND = "native" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 11 09:30:57 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 11 Jul 2017 09:30:57 +0000 Subject: [oe-commits] [meta-openembedded] 01/23: libtinyxml2: upgrade to 5.0.1 In-Reply-To: <149976545603.27419.9052770751141584718@git.openembedded.org> References: <149976545603.27419.9052770751141584718@git.openembedded.org> Message-ID: <20170711093056.31282233444@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 8253d8c5a73d1f30c49f06fc58e599db3922b164 Author: Johannes Pointner AuthorDate: Tue Jul 11 11:19:11 2017 +0200 libtinyxml2: upgrade to 5.0.1 Signed-off-by: Johannes Pointner Signed-off-by: Martin Jansa --- .../libtinyxml2/{libtinyxml2_4.0.1.bb => libtinyxml2_5.0.1.bb} | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/meta-oe/recipes-support/libtinyxml2/libtinyxml2_4.0.1.bb b/meta-oe/recipes-support/libtinyxml2/libtinyxml2_5.0.1.bb similarity index 81% rename from meta-oe/recipes-support/libtinyxml2/libtinyxml2_4.0.1.bb rename to meta-oe/recipes-support/libtinyxml2/libtinyxml2_5.0.1.bb index 3a66598..8b5ab44 100644 --- a/meta-oe/recipes-support/libtinyxml2/libtinyxml2_4.0.1.bb +++ b/meta-oe/recipes-support/libtinyxml2/libtinyxml2_5.0.1.bb @@ -6,10 +6,12 @@ LIC_FILES_CHKSUM = "file://tinyxml2.cpp;endline=22;md5=c19221dbd8a66ad3090462af4 SRC_URI = "git://github.com/leethomason/tinyxml2.git" -SRCREV = "74d44acb176f8510abf28ee0a70961eb26631988" +SRCREV = "37bc3aca429f0164adf68c23444540b4a24b5778" S = "${WORKDIR}/git" inherit cmake +FILES_${PN}-dev += "${libdir}/cmake/" + BBCLASSEXTEND = "native" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 11 09:31:00 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 11 Jul 2017 09:31:00 +0000 Subject: [oe-commits] [meta-openembedded] 04/23: libdbus-c++: Fix build with gcc7 and unblacklist In-Reply-To: <149976545603.27419.9052770751141584718@git.openembedded.org> References: <149976545603.27419.9052770751141584718@git.openembedded.org> Message-ID: <20170711093056.5726E23344A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 3e83a125ebee36210f013b1b65139f6a0b5fb135 Author: Khem Raj AuthorDate: Sat Jul 8 06:17:40 2017 -0700 libdbus-c++: Fix build with gcc7 and unblacklist Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../0001-pipe.c-Use-a-string-instead-of-char.patch | 27 ++++++++++++++++++++++ meta-oe/recipes-core/dbus/libdbus-c++_0.9.0.bb | 20 ++++++++-------- 2 files changed, 36 insertions(+), 11 deletions(-) diff --git a/meta-oe/recipes-core/dbus/libdbus-c++-0.9.0/0001-pipe.c-Use-a-string-instead-of-char.patch b/meta-oe/recipes-core/dbus/libdbus-c++-0.9.0/0001-pipe.c-Use-a-string-instead-of-char.patch new file mode 100644 index 0000000..6883f9a --- /dev/null +++ b/meta-oe/recipes-core/dbus/libdbus-c++-0.9.0/0001-pipe.c-Use-a-string-instead-of-char.patch @@ -0,0 +1,27 @@ +From 6bcb58bd69c38b9200e8ec6c382247167571189d Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 1 Jul 2017 16:44:15 -0700 +Subject: [PATCH] pipe.c: Use a string instead of char + +Fixes +error: invalid conversion from 'char' to 'const void*' [-fpermissive] + +Signed-off-by: Khem Raj +--- + src/pipe.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/pipe.cpp b/src/pipe.cpp +index 45c2ba6..1303c2d 100644 +--- a/src/pipe.cpp ++++ b/src/pipe.cpp +@@ -83,5 +83,5 @@ ssize_t Pipe::read(void *buffer, unsigned int &nbytes) + void Pipe::signal() + { + // TODO: ignoring return of read/write generates warning; maybe relevant for eventloop work... +- ::write(_fd_write, '\0', 1); ++ ::write(_fd_write, "", 1); + } +-- +2.13.2 + diff --git a/meta-oe/recipes-core/dbus/libdbus-c++_0.9.0.bb b/meta-oe/recipes-core/dbus/libdbus-c++_0.9.0.bb index 4412716..4cc1333 100644 --- a/meta-oe/recipes-core/dbus/libdbus-c++_0.9.0.bb +++ b/meta-oe/recipes-core/dbus/libdbus-c++_0.9.0.bb @@ -6,15 +6,15 @@ LICENSE = "LGPLv2.1" LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24" DEPENDS = "dbus expat glib-2.0 libpcre" -SRC_URI = "\ - ${SOURCEFORGE_MIRROR}/project/dbus-cplusplus/dbus-c++/${PV}/${BP}.tar.gz \ - file://fix-missing-unistd.h-include.patch \ - file://remove-CXX_FOR_BUILD-stuff.patch \ - file://0001-src-eventloop.cpp-use-portable-method-for-initializi.patch \ - file://0002-tools-generate_proxy.cpp-avoid-possibly-undefined-ui.patch \ - file://0003-Fixed-undefined-ssize_t-for-clang-3.8.0-on-FreeBSD.patch \ - file://0004-use-POSIX-poll.h-instead-of-sys-poll.h.patch \ -" +SRC_URI = "${SOURCEFORGE_MIRROR}/project/dbus-cplusplus/dbus-c++/${PV}/${BP}.tar.gz \ + file://fix-missing-unistd.h-include.patch \ + file://remove-CXX_FOR_BUILD-stuff.patch \ + file://0001-src-eventloop.cpp-use-portable-method-for-initializi.patch \ + file://0002-tools-generate_proxy.cpp-avoid-possibly-undefined-ui.patch \ + file://0003-Fixed-undefined-ssize_t-for-clang-3.8.0-on-FreeBSD.patch \ + file://0004-use-POSIX-poll.h-instead-of-sys-poll.h.patch \ + file://0001-pipe.c-Use-a-string-instead-of-char.patch \ + " SRC_URI[md5sum] = "e752116f523fa88ef041e63d3dee4de2" SRC_URI[sha256sum] = "bc11ac297b3cb010be904c72789695543ee3fdf3d75cdc8225fd371385af4e61" @@ -27,5 +27,3 @@ PACKAGE_BEFORE_PN = "${PN}-tools" FILES_${PN}-tools = "${bindir}" BBCLASSEXTEND = "native" - -PNBLACKLIST[libdbus-c++] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130644/ - the recipe will be removed on 2017-09-01 unless the issue is fixed" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 11 09:30:59 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 11 Jul 2017 09:30:59 +0000 Subject: [oe-commits] [meta-openembedded] 03/23: webrtc-audio-processing: initial recipe In-Reply-To: <149976545603.27419.9052770751141584718@git.openembedded.org> References: <149976545603.27419.9052770751141584718@git.openembedded.org> Message-ID: <20170711093056.4A41C233448@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 2c095506e249e32240a55bf7968185accb00325b Author: Tanu Kaskinen AuthorDate: Thu Jul 6 15:07:13 2017 +0300 webrtc-audio-processing: initial recipe PulseAudio has multiple alternative echo canceller implementations. Probably the best one is the "webrtc" echo canceller, which depends on this library. I added some patches to fix building on MIPS and PowerPC. The first three patches are taken from upstream, the other three patches are my own. I have only tested that the code builds on all architectures, not that the code actually works. Signed-off-by: Tanu Kaskinen Signed-off-by: Martin Jansa --- ...ild-Protect-against-unsupported-CPU-types.patch | 29 ++++++ .../0002-build-Add-ARM-64bit-support.patch | 30 ++++++ .../0003-build-fix-architecture-detection.patch | 96 +++++++++++++++++ ...add-support-for-64-bit-and-big-endian-MIP.patch | 41 ++++++++ .../0005-typedefs.h-add-support-for-PowerPC.patch | 28 +++++ ...o-implement-endianness-conversion-in-wav-.patch | 116 +++++++++++++++++++++ .../webrtc-audio-processing_0.3.bb | 25 +++++ 7 files changed, 365 insertions(+) diff --git a/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0001-build-Protect-against-unsupported-CPU-types.patch b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0001-build-Protect-against-unsupported-CPU-types.patch new file mode 100644 index 0000000..7668df3 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0001-build-Protect-against-unsupported-CPU-types.patch @@ -0,0 +1,29 @@ +From 4945dca11bc4ddec60bd858f45212dc8f39638e0 Mon Sep 17 00:00:00 2001 +From: Nicolas Dufresne +Date: Tue, 5 Jul 2016 18:07:45 -0400 +Subject: [PATCH 1/6] build: Protect against unsupported CPU types + +Signed-off-by: Tanu Kaskinen +Upstream-Status: Accepted [expected in 0.4] +--- + configure.ac | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 6f9553b..f5304b8 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -70,8 +70,9 @@ AS_CASE(["${host_cpu}"], + [ + HAVE_ARM=1 + ARCH_CFLAGS="-DWEBRTC_ARCH_ARM" +- ] ++ ], + # FIXME: Add MIPS support, see webrtc/BUILD.gn for defines ++ [AC_MSG_ERROR([Unsupported CPU type $host_cpu])] + ) + AM_CONDITIONAL(HAVE_X86, [test "x${HAVE_X86}" = "x1"]) + AM_CONDITIONAL(HAVE_ARM, [test "x${HAVE_ARM}" = "x1"]) +-- +2.11.0 + diff --git a/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0002-build-Add-ARM-64bit-support.patch b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0002-build-Add-ARM-64bit-support.patch new file mode 100644 index 0000000..2e202b0 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0002-build-Add-ARM-64bit-support.patch @@ -0,0 +1,30 @@ +From b5bda3431159b6505dcd069641c863018c4d4309 Mon Sep 17 00:00:00 2001 +From: Nicolas Dufresne +Date: Wed, 6 Jul 2016 15:18:15 -0400 +Subject: [PATCH 2/6] build: Add ARM 64bit support + +Signed-off-by: Tanu Kaskinen +Upstream-Status: Accepted [expected in 0.4] +--- + configure.ac | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/configure.ac b/configure.ac +index f5304b8..be20514 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -71,6 +71,11 @@ AS_CASE(["${host_cpu}"], + HAVE_ARM=1 + ARCH_CFLAGS="-DWEBRTC_ARCH_ARM" + ], ++ [aarch64*], ++ [ ++ HAVE_NEON=1 ++ ARCH_CFLAGS="-DWEBRTC_HAS_NEON -DWEBRTC_ARCH_ARM64" ++ ], + # FIXME: Add MIPS support, see webrtc/BUILD.gn for defines + [AC_MSG_ERROR([Unsupported CPU type $host_cpu])] + ) +-- +2.11.0 + diff --git a/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0003-build-fix-architecture-detection.patch b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0003-build-fix-architecture-detection.patch new file mode 100644 index 0000000..82e270f --- /dev/null +++ b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0003-build-fix-architecture-detection.patch @@ -0,0 +1,96 @@ +From 7722fb8a3189fea0f6381f02a0e4f63c847f0393 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sat, 6 Aug 2016 11:02:43 +0200 +Subject: [PATCH 3/6] build: fix architecture detection + +The current architecture detection, based on the "host_cpu" part of the +tuple does not work properly for a number of reason: + + - The code assumes that if host_cpu starts with "arm" then ARM + instructions are available, which is incorrect. Indeed, Cortex-M + platforms can run Linux, they are ARM platforms (so host_cpu = arm), + but they don't support ARM instructions: they support only the + Thumb-2 instruction set. + + - The armv7 case is also not very useful, as it is not standard at all + to pass armv7 as host_cpu even if the host system is actually ARMv7 + based. + + - For the same reason, the armv8 case is not very useful: ARMv8 is + AArch64, and there is already a separate case to handle this + architecture. + +So, this commit moves away from a host_cpu based logic, and instead +tests using AC_CHECK_DECLS() the built-in definitions of the compiler: + + - If we have __ARM_ARCH_ISA_ARM defined, then it's an ARM processor + that supports the ARM instruction set (this allows to exclude Thumb-2 + only processors). + + - If we have __ARM_ARCH_7A__, then we have an ARMv7-A processor, and + we can enable the corresponding optimizations + + - Same for __aarch64__, __i386__ and __x86_64__. + +In addition, we remove the AC_MSG_ERROR() that makes the build fail for +all architectures but the ones that are explicitly supported. Indeed, +webrtc-audio-processing builds just fine for other architectures (tested +on MIPS), it's just that none of the architecture-specific optimizations +will be used. + +Signed-off-by: Thomas Petazzoni +Signed-off-by: Tanu Kaskinen +Upstream-Status: Accepted [expected in 0.4] +--- + configure.ac | 35 +++++++++++------------------------ + 1 file changed, 11 insertions(+), 24 deletions(-) + +diff --git a/configure.ac b/configure.ac +index be20514..e898014 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -55,30 +55,17 @@ AS_CASE(["${host}"], + ) + AC_SUBST(PLATFORM_CFLAGS) + +-AS_CASE(["${host_cpu}"], +- [i?86|x86_64], +- [ +- HAVE_X86=1 +- ], +- [armv7*|armv8*], +- [ +- HAVE_ARM=1 +- HAVE_ARMV7=1 +- ARCH_CFLAGS="-DWEBRTC_ARCH_ARM -DWEBRTC_ARCH_ARM_V7" +- ], +- [arm*], +- [ +- HAVE_ARM=1 +- ARCH_CFLAGS="-DWEBRTC_ARCH_ARM" +- ], +- [aarch64*], +- [ +- HAVE_NEON=1 +- ARCH_CFLAGS="-DWEBRTC_HAS_NEON -DWEBRTC_ARCH_ARM64" +- ], +- # FIXME: Add MIPS support, see webrtc/BUILD.gn for defines +- [AC_MSG_ERROR([Unsupported CPU type $host_cpu])] +-) ++# Testing __ARM_ARCH_ISA_ARM since the code contains ARM instructions, ++# which don't work on Thumb-2 only platforms (ARMv7-M). ++AC_CHECK_DECLS([__ARM_ARCH_ISA_ARM], ++ [HAVE_ARM=1; ARCH_CFLAGS="${ARCH_CFLAGS} -DWEBRTC_ARCH_ARM"]) ++AC_CHECK_DECLS([__ARM_ARCH_7A__], ++ [HAVE_ARMV7=1; ARCH_CFLAGS="${ARCH_CFLAGS} -DWEBRTC_ARCH_ARM_V7"]) ++AC_CHECK_DECLS([__aarch64__], ++ [HAVE_NEON=1; ARCH_CFLAGS="${ARCH_CFLAGS} -DWEBRTC_HAS_NEON -DWEBRTC_ARCH_ARM64"]) ++AC_CHECK_DECLS([__i386__], [HAVE_X86=1]) ++AC_CHECK_DECLS([__x86_64__], [HAVE_X86=1]) ++ + AM_CONDITIONAL(HAVE_X86, [test "x${HAVE_X86}" = "x1"]) + AM_CONDITIONAL(HAVE_ARM, [test "x${HAVE_ARM}" = "x1"]) + AM_CONDITIONAL(HAVE_ARMV7, [test "x${HAVE_ARMV7}" = "x1"]) +-- +2.11.0 + diff --git a/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0004-typedefs.h-add-support-for-64-bit-and-big-endian-MIP.patch b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0004-typedefs.h-add-support-for-64-bit-and-big-endian-MIP.patch new file mode 100644 index 0000000..c96f10e --- /dev/null +++ b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0004-typedefs.h-add-support-for-64-bit-and-big-endian-MIP.patch @@ -0,0 +1,41 @@ +From 0c332b7d94f8425c4f33344ddf406b6eea458861 Mon Sep 17 00:00:00 2001 +From: Tanu Kaskinen +Date: Mon, 8 May 2017 17:01:49 +0300 +Subject: [PATCH 4/6] typedefs.h: add support for 64-bit and big endian MIPS + +The 64-bit check is taken from the upstream webrtc project, the big +endian check is my own addition. + +Upstream-Status: Pending +Signed-off-by: Tanu Kaskinen +--- + webrtc/typedefs.h | 11 ++++++++++- + 1 file changed, 10 insertions(+), 1 deletion(-) + +diff --git a/webrtc/typedefs.h b/webrtc/typedefs.h +index d875490..d1b2f54 100644 +--- a/webrtc/typedefs.h ++++ b/webrtc/typedefs.h +@@ -41,9 +41,18 @@ + //#define WEBRTC_ARCH_ARMEL + #define WEBRTC_ARCH_32_BITS + #define WEBRTC_ARCH_LITTLE_ENDIAN +-#elif defined(__MIPSEL__) ++#elif defined(__MIPSEL__) || defined(__MIPSEB__) ++#define WEBRTC_ARCH_MIPS_FAMILY ++#if defined(__LP64__) ++#define WEBRTC_ARCH_64_BITS ++#else + #define WEBRTC_ARCH_32_BITS ++#endif ++#if defined(__MIPSEL__) + #define WEBRTC_ARCH_LITTLE_ENDIAN ++#else ++#define WEBRTC_ARCH_BIG_ENDIAN ++#endif + #elif defined(__pnacl__) + #define WEBRTC_ARCH_32_BITS + #define WEBRTC_ARCH_LITTLE_ENDIAN +-- +2.11.0 + diff --git a/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0005-typedefs.h-add-support-for-PowerPC.patch b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0005-typedefs.h-add-support-for-PowerPC.patch new file mode 100644 index 0000000..e16b57e --- /dev/null +++ b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0005-typedefs.h-add-support-for-PowerPC.patch @@ -0,0 +1,28 @@ +From db5f570e928c8ca5b0b8dc702e1af0a57277f092 Mon Sep 17 00:00:00 2001 +From: Tanu Kaskinen +Date: Mon, 3 Jul 2017 16:20:08 +0300 +Subject: [PATCH 5/6] typedefs.h: add support for PowerPC + +Upstream-Status: Pending +Signed-off-by: Tanu Kaskinen +--- + webrtc/typedefs.h | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/webrtc/typedefs.h b/webrtc/typedefs.h +index d1b2f54..6e34d9e 100644 +--- a/webrtc/typedefs.h ++++ b/webrtc/typedefs.h +@@ -53,6 +53,9 @@ + #else + #define WEBRTC_ARCH_BIG_ENDIAN + #endif ++#elif defined(__powerpc__) ++#define WEBRTC_ARCH_32_BITS ++#define WEBRTC_ARCH_BIG_ENDIAN + #elif defined(__pnacl__) + #define WEBRTC_ARCH_32_BITS + #define WEBRTC_ARCH_LITTLE_ENDIAN +-- +2.11.0 + diff --git a/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0006-common_audio-implement-endianness-conversion-in-wav-.patch b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0006-common_audio-implement-endianness-conversion-in-wav-.patch new file mode 100644 index 0000000..5826ab0 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0006-common_audio-implement-endianness-conversion-in-wav-.patch @@ -0,0 +1,116 @@ +From 7d31da8ef93987000f297d435dbacaf7d436107b Mon Sep 17 00:00:00 2001 +From: Tanu Kaskinen +Date: Thu, 15 Jun 2017 18:38:30 +0300 +Subject: [PATCH 6/6] common_audio: implement endianness conversion in wav file + handling + +The code didn't build for big endian machines due to the missing +endianness conversions. + +Upstream-Status: Pending +Signed-off-by: Tanu Kaskinen +--- + webrtc/common_audio/wav_file.cc | 27 +++++++++++++++++++++------ + webrtc/common_audio/wav_header.cc | 32 +++++++++++++++++++++++++++++++- + 2 files changed, 52 insertions(+), 7 deletions(-) + +diff --git a/webrtc/common_audio/wav_file.cc b/webrtc/common_audio/wav_file.cc +index b14b620..e2f7738 100644 +--- a/webrtc/common_audio/wav_file.cc ++++ b/webrtc/common_audio/wav_file.cc +@@ -64,9 +64,6 @@ WavReader::~WavReader() { + } + + size_t WavReader::ReadSamples(size_t num_samples, int16_t* samples) { +-#ifndef WEBRTC_ARCH_LITTLE_ENDIAN +-#error "Need to convert samples to big-endian when reading from WAV file" +-#endif + // There could be metadata after the audio; ensure we don't read it. + num_samples = std::min(rtc::checked_cast(num_samples), + num_samples_remaining_); +@@ -76,6 +73,13 @@ size_t WavReader::ReadSamples(size_t num_samples, int16_t* samples) { + RTC_CHECK(read == num_samples || feof(file_handle_)); + RTC_CHECK_LE(read, num_samples_remaining_); + num_samples_remaining_ -= rtc::checked_cast(read); ++ ++#ifdef WEBRTC_ARCH_BIG_ENDIAN ++ // Convert the read samples from little-endian to big-endian. ++ for (size_t i = 0; i < read; i++) ++ samples[i] = ((uint16_t) samples[i] >> 8) | ((uint16_t) samples[i] << 8); ++#endif ++ + return read; + } + +@@ -119,11 +123,22 @@ WavWriter::~WavWriter() { + } + + void WavWriter::WriteSamples(const int16_t* samples, size_t num_samples) { +-#ifndef WEBRTC_ARCH_LITTLE_ENDIAN +-#error "Need to convert samples to little-endian when writing to WAV file" +-#endif ++#ifdef WEBRTC_ARCH_BIG_ENDIAN ++ // Convert the samples from big-endian samples to little-endian. ++ int16_t* converted_samples = static_cast(malloc(num_samples * sizeof(*samples))); ++ RTC_CHECK(converted_samples) << "Out of memory."; ++ for (int i = 0; i < num_samples; i++) ++ converted_samples[i] = ++ ((uint16_t) samples[i] >> 8) | ((uint16_t) samples[i] << 8); ++ ++ const size_t written = ++ fwrite(converted_samples, sizeof(*converted_samples), num_samples, ++ file_handle_); ++ free(converted_samples); ++#else + const size_t written = + fwrite(samples, sizeof(*samples), num_samples, file_handle_); ++#endif + RTC_CHECK_EQ(num_samples, written); + num_samples_ += static_cast(written); + RTC_CHECK(written <= std::numeric_limits::max() || +diff --git a/webrtc/common_audio/wav_header.cc b/webrtc/common_audio/wav_header.cc +index 61cfffe..382bfc7 100644 +--- a/webrtc/common_audio/wav_header.cc ++++ b/webrtc/common_audio/wav_header.cc +@@ -129,7 +129,37 @@ static inline std::string ReadFourCC(uint32_t x) { + return std::string(reinterpret_cast(&x), 4); + } + #else +-#error "Write be-to-le conversion functions" ++static inline void WriteLE16(uint16_t* f, uint16_t x) { ++ *f = x >> 8 | x << 8; ++} ++static inline void WriteLE32(uint32_t* f, uint32_t x) { ++ *f = x >> 24 ++ | (x && 0xFF0000) >> 8 ++ | (x && 0xFF00) << 8 ++ | x << 24; ++} ++static inline void WriteFourCC(uint32_t* f, char a, char b, char c, char d) { ++ *f = static_cast(d) ++ | static_cast(c) << 8 ++ | static_cast(b) << 16 ++ | static_cast(a) << 24; ++} ++ ++static inline uint32_t ReadLE16(uint16_t x) { ++ return x >> 8 | x << 8; ++} ++ ++static inline uint32_t ReadLE32(uint32_t x) { ++ return x >> 24 ++ | (x && 0xFF0000) >> 8 ++ | (x && 0xFF00) << 8 ++ | x << 24; ++} ++ ++static inline std::string ReadFourCC(uint32_t x) { ++ x = ReadLE32(x); ++ return std::string(reinterpret_cast(&x), 4); ++} + #endif + + static inline uint32_t RiffChunkSize(uint32_t bytes_in_payload) { +-- +2.11.0 + diff --git a/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing_0.3.bb b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing_0.3.bb new file mode 100644 index 0000000..eb9a304 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing_0.3.bb @@ -0,0 +1,25 @@ +DESCRIPTION = "Audio processing bits of the WebRTC reference implementation" +HOMEPAGE = "https://www.freedesktop.org/software/pulseaudio/webrtc-audio-processing/" +SECTION = "audio" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://COPYING;md5=da08a38a32a340c5d91e13ee86a118f2 \ + file://webrtc/common.h;beginline=1;endline=9;md5=41f7322d91deabaf0acbbd0b8d0bc548 \ +" + +# Note that patch 3 effectively reverts patches 1 and 2. The only reason +# why patches 1 and 2 are included is that otherwise patch 3 wouldn't +# apply cleanly. +SRC_URI = "http://freedesktop.org/software/pulseaudio/webrtc-audio-processing/${BP}.tar.xz \ + file://0001-build-Protect-against-unsupported-CPU-types.patch \ + file://0002-build-Add-ARM-64bit-support.patch \ + file://0003-build-fix-architecture-detection.patch \ + file://0004-typedefs.h-add-support-for-64-bit-and-big-endian-MIP.patch \ + file://0005-typedefs.h-add-support-for-PowerPC.patch \ + file://0006-common_audio-implement-endianness-conversion-in-wav-.patch \ +" + +SRC_URI[md5sum] = "336ae032f608e65808ac577cde0ab72c" +SRC_URI[sha256sum] = "756e291d4f557d88cd50c4fe3b8454ec238362d22cedb3e6173240d90f0a80fa" + +inherit autotools -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 11 09:30:56 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 11 Jul 2017 09:30:56 +0000 Subject: [oe-commits] [meta-openembedded] branch master-next updated (d4b757a -> 59be502) Message-ID: <149976545603.27419.9052770751141584718@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a change to branch master-next in repository meta-openembedded. discard d4b757a fluentbit: fix SYSTEMD_SERVICE name discard b6e1db9 kodi: Fix build on arm discard 090ffc2 ubi-utils-klibc: Pass TUNE_CCARGS into CFLAGS discard 191cab0 klibc: Fix build with musl discard f24c55b libdbus-c++: Add -pthread to linker flags discard e49a72c faac: update 1.28 -> 1.29 discard 59dc097 abiword: update 3.0.1 -> 3.0.2 discard 282447b gparted: update 0.27.0 -> 0.28.1 discard 886230a garcon: update 0.4.0 -> 0.6.1 discard 40289a3 gvfs: update 1.28.3 -> 1.32.1 discard 3b68b89 udisks2: update 2.1.7 -> 2.1.8 discard 1fa365d recipes-utils: Add recipe for udevil discard 536aaeb meta-python: Add python-daemon recipe and its dependencies discard 6d67f3b meta-python: Add pybluez recipe discard 7129489 meta-python: Add Protobuf and gRPC Python recipes discard 05ec709 kodi: Fix build on powerpc discard c6b1446 pptp-linux: Upgrade to 1.9.0 discard 76be091 ltrace: Fix build on musl discard 922fdce security_flags.inc: Delete discard ed824a0 libdbus-c++: Fix build with gcc7 and unblacklist discard 8bd9323 webrtc-audio-processing: initial recipe discard 097b85b gnome-common: Add recipe (from oe-core) discard 257ae76 libtinyxml2: upgrade to 5.0.1 new 8253d8c libtinyxml2: upgrade to 5.0.1 new e5d13e0 gnome-common: Add recipe (from oe-core) new 2c09550 webrtc-audio-processing: initial recipe new 3e83a12 libdbus-c++: Fix build with gcc7 and unblacklist new a9b421b security_flags.inc: Delete new 21ac7ab ltrace: Fix build on musl new 9f59778 pptp-linux: Upgrade to 1.9.0 new 011d175 kodi: Fix build on powerpc new 96ddef1 meta-python: Add Protobuf and gRPC Python recipes new 6978c6c meta-python: Add pybluez recipe new 5fc3a7b meta-python: Add python-daemon recipe and its dependencies new fbdc222 recipes-utils: Add recipe for udevil new e74d5b4 udisks2: update 2.1.7 -> 2.1.8 new 60b25be gvfs: update 1.28.3 -> 1.32.1 new 6656d89 garcon: update 0.4.0 -> 0.6.1 new e995d76 gparted: update 0.27.0 -> 0.28.1 new de58e42 abiword: update 3.0.1 -> 3.0.2 new e0dabc2 faac: update 1.28 -> 1.29 new 9852d03 libdbus-c++: Add -pthread to linker flags new c27fad3 klibc: Fix build with musl new dac2e8a ubi-utils-klibc: Pass TUNE_CCARGS into CFLAGS new 23eeaa5 kodi: Fix build on arm new 59be502 fluentbit: fix SYSTEMD_SERVICE name This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (d4b757a) \ N -- N -- N refs/heads/master-next (59be502) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 23 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: meta-oe/recipes-support/libtinyxml2/libtinyxml2_5.0.1.bb | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 11 09:31:02 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 11 Jul 2017 09:31:02 +0000 Subject: [oe-commits] [meta-openembedded] 06/23: ltrace: Fix build on musl In-Reply-To: <149976545603.27419.9052770751141584718@git.openembedded.org> References: <149976545603.27419.9052770751141584718@git.openembedded.org> Message-ID: <20170711093056.6B98023344E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 21ac7abadb6ab9a839a9a702795235b3a7258d9e Author: Khem Raj AuthorDate: Sat Jul 8 06:17:43 2017 -0700 ltrace: Fix build on musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...nfigure-Recognise-linux-musl-as-a-host-OS.patch | 25 ++++++++++++++++++++++ meta-oe/recipes-devtools/ltrace/ltrace_git.bb | 1 + 2 files changed, 26 insertions(+) diff --git a/meta-oe/recipes-devtools/ltrace/ltrace/0001-configure-Recognise-linux-musl-as-a-host-OS.patch b/meta-oe/recipes-devtools/ltrace/ltrace/0001-configure-Recognise-linux-musl-as-a-host-OS.patch new file mode 100644 index 0000000..52264a1 --- /dev/null +++ b/meta-oe/recipes-devtools/ltrace/ltrace/0001-configure-Recognise-linux-musl-as-a-host-OS.patch @@ -0,0 +1,25 @@ +From c1d3aaf5ec810c2594938438c7b4ccd20943f255 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 7 Jul 2017 10:20:52 -0700 +Subject: [PATCH] configure: Recognise linux-musl as a host OS + +Signed-off-by: Khem Raj +--- + configure.ac | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/configure.ac b/configure.ac +index 3e8667f..95d6642 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -35,6 +35,7 @@ AC_CANONICAL_HOST + case "${host_os}" in + linux-gnu*) HOST_OS="linux-gnu" ;; + linux-uclibc*) HOST_OS="linux-gnu" ;; ++ linux-musl*) HOST_OS="linux-gnu" ;; + *) AC_MSG_ERROR([unkown host-os ${host_os}]) ;; + esac + AC_SUBST(HOST_OS) +-- +2.13.2 + diff --git a/meta-oe/recipes-devtools/ltrace/ltrace_git.bb b/meta-oe/recipes-devtools/ltrace/ltrace_git.bb index b613bc3..01b3bbe 100644 --- a/meta-oe/recipes-devtools/ltrace/ltrace_git.bb +++ b/meta-oe/recipes-devtools/ltrace/ltrace_git.bb @@ -23,6 +23,7 @@ SRC_URI = "git://anonscm.debian.org/collab-maint/ltrace.git;branch=master \ file://0001-ARM-code-has-unreachable-code-after-switch-statement.patch \ file://0001-Fix-tautological-compare-warning.patch \ file://0001-Add-support-for-mips64-n32-n64.patch \ + file://0001-configure-Recognise-linux-musl-as-a-host-OS.patch \ " S = "${WORKDIR}/git" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 11 09:31:04 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 11 Jul 2017 09:31:04 +0000 Subject: [oe-commits] [meta-openembedded] 08/23: kodi: Fix build on powerpc In-Reply-To: <149976545603.27419.9052770751141584718@git.openembedded.org> References: <149976545603.27419.9052770751141584718@git.openembedded.org> Message-ID: <20170711093056.7B56F233452@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 011d175454fe5a0921b0cb6d87b78685f2da5dab Author: Khem Raj AuthorDate: Sat Jul 8 06:17:42 2017 -0700 kodi: Fix build on powerpc 64bit atomics are not available therefore link in libatomic Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb b/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb index 3bc2eb5..0b39116 100644 --- a/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb +++ b/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb @@ -133,6 +133,7 @@ BUILD_OPTIMIZATION = "${FULL_OPTIMIZATION}" LDFLAGS_append_mips = " -latomic" LDFLAGS_append_mipsel = " -latomic" +LDFLAGS_append_powerpc = " -latomic" EXTRA_OECONF_append = " LIBTOOL=${STAGING_BINDIR_CROSS}/${HOST_SYS}-libtool" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 11 09:31:01 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 11 Jul 2017 09:31:01 +0000 Subject: [oe-commits] [meta-openembedded] 05/23: security_flags.inc: Delete In-Reply-To: <149976545603.27419.9052770751141584718@git.openembedded.org> References: <149976545603.27419.9052770751141584718@git.openembedded.org> Message-ID: <20170711093056.6261823344C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit a9b421b32c338825025591680f1832f53e17ae15 Author: Khem Raj AuthorDate: Sat Jul 8 06:17:41 2017 -0700 security_flags.inc: Delete OE-Core has now reworked the PIE flags, where they are implicitly passed by compiler when security flags are enabled None of these pinnings are needed anymore, since these packages compile fine with security flags enabled Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../include/meta_networking_security_flags.inc | 10 -------- meta-networking/conf/layer.conf | 3 --- .../conf/distro/include/meta_oe_security_flags.inc | 28 ---------------------- meta-oe/conf/layer.conf | 3 --- 4 files changed, 44 deletions(-) diff --git a/meta-networking/conf/distro/include/meta_networking_security_flags.inc b/meta-networking/conf/distro/include/meta_networking_security_flags.inc deleted file mode 100644 index 19e13ea..0000000 --- a/meta-networking/conf/distro/include/meta_networking_security_flags.inc +++ /dev/null @@ -1,10 +0,0 @@ -# configure righteously complains: -# | configure:3479: using CFLAGS: -O2 -pipe -g -feliminate-unused-debug-types -fstack-protector-strong -pie -fpie -D_FORTIFY_SOURCE=2 -# | configure:3485: CFLAGS error: CFLAGS may only be used to specify C compiler flags, not macro definitions. Use CPPFLAGS for: -D_FORTIFY_SOURCE=2 -# | configure:3516: error: Can not continue. Fix errors mentioned immediately above this line. - -# Make sure it's at least empty in builds which don't include -# conf/distro/include/security_flags.inc -lcl_maybe_fortify ?= "" -TARGET_CFLAGS_remove_pn-c-ares = "${lcl_maybe_fortify}" -TARGET_CPPFLAGS_append_pn-c-ares = "${lcl_maybe_fortify}" diff --git a/meta-networking/conf/layer.conf b/meta-networking/conf/layer.conf index b5aa159..2dfde4b 100644 --- a/meta-networking/conf/layer.conf +++ b/meta-networking/conf/layer.conf @@ -19,9 +19,6 @@ LAYERDEPENDS_networking-layer += "meta-python" LICENSE_PATH += "${LAYERDIR}/licenses" -# Override security flags -require conf/distro/include/meta_networking_security_flags.inc - SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \ wireguard-tools->wireguard-module \ " diff --git a/meta-oe/conf/distro/include/meta_oe_security_flags.inc b/meta-oe/conf/distro/include/meta_oe_security_flags.inc deleted file mode 100644 index 03868bf..0000000 --- a/meta-oe/conf/distro/include/meta_oe_security_flags.inc +++ /dev/null @@ -1,28 +0,0 @@ -# Build errors with the pie options enabled -SECURITY_CFLAGS_pn-libdbus-c++ = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-libdevmapper = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-lvm2 = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-rrdtool = "${SECURITY_NO_PIE_CFLAGS}" - -# This has text reloc errors with the pie options enabled -SECURITY_CFLAGS_pn-llvm3.3 = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-mozjs = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-openldap = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-s3c64xx-gpio = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-s3c24xx-gpio = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-cpufrequtils = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-libcec = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-libmodplug = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-libcdio = "${SECURITY_NO_PIE_CFLAGS}" - -#| /mnt/b/build/tmp-glibc/sysroots/intel-corei7-64/usr/lib/libc_nonshared.a(elf-init.oS): In function `__libc_csu_init': -#| /usr/src/debug/glibc/2.24-r0/git/csu/elf-init.c:86: undefined reference to `__init_array_start' - -SECURITY_CFLAGS_pn-libvdpau = "${SECURITY_NO_PIE_CFLAGS}" - -#| /mnt/a/build/tmp-glibc/sysroots/x86_64-linux/usr/libexec/x86_64-oe-linux/gcc/x86_64-oe-linux/6.2.0/ld: lj_err_dyn.o: relocation R_X86_64_TPOFF32 against `static_uex' can not be used when making a shared object; recompile with -fPIC -#| /mnt/a/build/tmp-glibc/sysroots/x86_64-linux/usr/libexec/x86_64-oe-linux/gcc/x86_64-oe-linux/6.2.0/ld: final link failed: Nonrepresentable section on output -#| collect2: error: ld returned 1 exit status -#| make[1]: *** [Makefile:675: libluajit.so] Error 1 -SECURITY_CFLAGS_pn-luajit = "${SECURITY_NO_PIE_CFLAGS}" - diff --git a/meta-oe/conf/layer.conf b/meta-oe/conf/layer.conf index 54425c6..f0d21ed 100644 --- a/meta-oe/conf/layer.conf +++ b/meta-oe/conf/layer.conf @@ -77,7 +77,4 @@ SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \ FREESMARTPHONE_GIT = "git://git.freesmartphone.org" -# Override security flags -require conf/distro/include/meta_oe_security_flags.inc - HOSTTOOLS += "id" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 11 09:31:06 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 11 Jul 2017 09:31:06 +0000 Subject: [oe-commits] [meta-openembedded] 10/23: meta-python: Add pybluez recipe In-Reply-To: <149976545603.27419.9052770751141584718@git.openembedded.org> References: <149976545603.27419.9052770751141584718@git.openembedded.org> Message-ID: <20170711093056.933BB233454@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 6978c6cf90289476c35eff318a1e047b9c301ee0 Author: Krzysztof Kozlowski AuthorDate: Sun Jul 9 17:47:23 2017 +0200 meta-python: Add pybluez recipe Add recipe for PyBluez, Python wrapper over bluez. Signed-off-by: Krzysztof Kozlowski Signed-off-by: Martin Jansa --- .../recipes-devtools/python/python-pybluez_0.22.bb | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/meta-python/recipes-devtools/python/python-pybluez_0.22.bb b/meta-python/recipes-devtools/python/python-pybluez_0.22.bb new file mode 100644 index 0000000..eab9c54 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-pybluez_0.22.bb @@ -0,0 +1,17 @@ +DESCRIPTION = "Bluetooth Python extension module" +HOMEPAGE = "http://karulis.github.io/pybluez/" +SECTION = "devel/python" + +RDEPENDS_${PN} = "bluez5" +DEPENDS = "bluez5" + +LICENSE = "GPL-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=8a71d0475d08eee76d8b6d0c6dbec543" + +inherit pypi setuptools + +SRC_URI = "https://pypi.python.org/packages/c1/98/3149481d508bee174335be6725880f00d297afebe75c15e917af8f6fe169/PyBluez-0.22.zip" +SRC_URI[md5sum] = "49dab9d5a8f0b798c8125c7f649be3cd" +SRC_URI[sha256sum] = "4ce006716a54d9d18e8186a3f1c8b12a8e6befecffe8fd5828a291fb694ce49d" + +S = "${WORKDIR}/PyBluez-${PV}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 11 09:31:09 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 11 Jul 2017 09:31:09 +0000 Subject: [oe-commits] [meta-openembedded] 13/23: udisks2: update 2.1.7 -> 2.1.8 In-Reply-To: <149976545603.27419.9052770751141584718@git.openembedded.org> References: <149976545603.27419.9052770751141584718@git.openembedded.org> Message-ID: <20170711093056.A7AAA233459@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit e74d5b443ced3b65002540a67de5aae7e0582240 Author: Andreas M?ller AuthorDate: Mon Jul 10 19:35:02 2017 +0200 udisks2: update 2.1.7 -> 2.1.8 Signed-off-by: Andreas M?ller Signed-off-by: Martin Jansa --- meta-oe/recipes-support/udisks/{udisks2_2.1.7.bb => udisks2_2.1.8.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-oe/recipes-support/udisks/udisks2_2.1.7.bb b/meta-oe/recipes-support/udisks/udisks2_2.1.8.bb similarity index 89% rename from meta-oe/recipes-support/udisks/udisks2_2.1.7.bb rename to meta-oe/recipes-support/udisks/udisks2_2.1.8.bb index d8f7eaa..6d90e49 100644 --- a/meta-oe/recipes-support/udisks/udisks2_2.1.7.bb +++ b/meta-oe/recipes-support/udisks/udisks2_2.1.8.bb @@ -10,8 +10,8 @@ RDEPENDS_${PN} = "acl" SRC_URI = "http://udisks.freedesktop.org/releases/udisks-${PV}.tar.bz2 \ file://non-gnu-libc.patch \ " -SRC_URI[md5sum] = "8bccd36573b75286538bd5bd2c424f45" -SRC_URI[sha256sum] = "abae2bb3bdc691ca13c1e4c244630b8c881c4f3b35c207299f1b39b7bec83785" +SRC_URI[md5sum] = "501d11c243bd8c6c00650474cd2afaab" +SRC_URI[sha256sum] = "da416914812a77e5f4d82b81deb8c25799fd3228d27d52f7bf89a501b1857dda" inherit autotools systemd gtk-doc gobject-introspection -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 11 09:31:10 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 11 Jul 2017 09:31:10 +0000 Subject: [oe-commits] [meta-openembedded] 14/23: gvfs: update 1.28.3 -> 1.32.1 In-Reply-To: <149976545603.27419.9052770751141584718@git.openembedded.org> References: <149976545603.27419.9052770751141584718@git.openembedded.org> Message-ID: <20170711093056.AD58C23345B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 60b25be4f2ee4a1bd68fe16a1b86212e9833c4de Author: Andreas M?ller AuthorDate: Mon Jul 10 19:35:03 2017 +0200 gvfs: update 1.28.3 -> 1.32.1 Signed-off-by: Andreas M?ller Signed-off-by: Martin Jansa --- meta-gnome/recipes-gnome/gvfs/{gvfs_1.28.3.bb => gvfs_1.32.1.bb} | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/meta-gnome/recipes-gnome/gvfs/gvfs_1.28.3.bb b/meta-gnome/recipes-gnome/gvfs/gvfs_1.32.1.bb similarity index 91% rename from meta-gnome/recipes-gnome/gvfs/gvfs_1.28.3.bb rename to meta-gnome/recipes-gnome/gvfs/gvfs_1.32.1.bb index 62b757f..94d8954 100644 --- a/meta-gnome/recipes-gnome/gvfs/gvfs_1.28.3.bb +++ b/meta-gnome/recipes-gnome/gvfs/gvfs_1.32.1.bb @@ -2,14 +2,14 @@ DESCRIPTION = "gvfs is a userspace virtual filesystem" LICENSE = "LGPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=05df38dd77c35ec8431f212410a3329e" -inherit gnome bash-completion +inherit gnome bash-completion gettext DEPENDS += "libsecret glib-2.0 gconf intltool-native libgudev udisks2" SRC_URI = "https://download.gnome.org/sources/${BPN}/${@gnome_verdir("${PV}")}/${BPN}-${PV}.tar.xz;name=archive" -SRC_URI[archive.md5sum] = "d2399a1a217dd5030e8830c7e7c813c2" -SRC_URI[archive.sha256sum] = "458c4cb68570f6ef4a9e152995c62d0057c3e0a07ed64d84c7200cdd22f0bd17" +SRC_URI[archive.md5sum] = "cbe766b46f324e17d7abcfb4a89a1684" +SRC_URI[archive.sha256sum] = "d0b6c9edab09d52472355657a2f0a14831b2e6c58caba395f721ab683f836ade" EXTRA_OECONF = " \ --disable-gdu \ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 11 09:31:08 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 11 Jul 2017 09:31:08 +0000 Subject: [oe-commits] [meta-openembedded] 12/23: recipes-utils: Add recipe for udevil In-Reply-To: <149976545603.27419.9052770751141584718@git.openembedded.org> References: <149976545603.27419.9052770751141584718@git.openembedded.org> Message-ID: <20170711093056.A1135233457@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit fbdc222085da1bf17a4544c08d57b01e1782ddf2 Author: Krzysztof Kozlowski AuthorDate: Sun Jul 9 18:29:34 2017 +0200 recipes-utils: Add recipe for udevil udevil is a command line Linux program which mounts and unmounts removable devices without a password. Signed-off-by: Krzysztof Kozlowski Signed-off-by: Martin Jansa --- .../0001-udevil-0.4.3-fix-compile-with-gcc6.patch | 12 ++++++++++ .../recipes-utils/udevil/udevil_0.4.4.bb | 28 ++++++++++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/meta-filesystems/recipes-utils/udevil/files/0001-udevil-0.4.3-fix-compile-with-gcc6.patch b/meta-filesystems/recipes-utils/udevil/files/0001-udevil-0.4.3-fix-compile-with-gcc6.patch new file mode 100644 index 0000000..355e93a --- /dev/null +++ b/meta-filesystems/recipes-utils/udevil/files/0001-udevil-0.4.3-fix-compile-with-gcc6.patch @@ -0,0 +1,12 @@ +Fix compilation with GCC6 + +--- a/src/device-info.c 2013-12-09 14:59:27.000000000 +0100 ++++ b/src/device-info.c 2017-03-13 07:06:25.506666680 +0100 +@@ -3,6 +3,7 @@ + * contains code excerpts from udisks v1.0.4 + ************************************************************************** */ + ++#include + #include "device-info.h" + + static char * diff --git a/meta-filesystems/recipes-utils/udevil/udevil_0.4.4.bb b/meta-filesystems/recipes-utils/udevil/udevil_0.4.4.bb new file mode 100644 index 0000000..4ad4a09 --- /dev/null +++ b/meta-filesystems/recipes-utils/udevil/udevil_0.4.4.bb @@ -0,0 +1,28 @@ +SUMMARY = "A command line Linux program which mounts and unmounts removable devices" +HOMEPAGE = "http://ignorantguru.github.io/udevil/" + +DEPENDS = "glib-2.0 \ + glib-2.0-native \ + intltool-native \ + udev \ +" +RDEPENDS_${PN} = "glib-2.0 \ + udev \ +" + +LICENSE = "GPL-3.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +inherit autotools pkgconfig systemd + +SRC_URI = "https://github.com/IgnorantGuru/udevil/raw/pkg/${PV}/udevil-${PV}.tar.xz \ + file://0001-udevil-0.4.3-fix-compile-with-gcc6.patch \ +" + +SRC_URI[md5sum] = "dc1c489b603a0500a04dc7e1805ac1d9" +SRC_URI[sha256sum] = "ce8c51fd4d589cda7be56e75b42188deeb258c66fc911a9b3a70a3945c157739" + +SYSTEMD_SERVICE_${PN} = "devmon at .service" +SYSTEMD_AUTO_ENABLE = "disable" + +FILES_${PN} += " ${libdir}/systemd/system/devmon at .service" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 11 09:31:05 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 11 Jul 2017 09:31:05 +0000 Subject: [oe-commits] [meta-openembedded] 09/23: meta-python: Add Protobuf and gRPC Python recipes In-Reply-To: <149976545603.27419.9052770751141584718@git.openembedded.org> References: <149976545603.27419.9052770751141584718@git.openembedded.org> Message-ID: <20170711093056.88763233453@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 96ddef1dddc2b5151401a01db14cbfc4dcfe4b4b Author: Krzysztof Kozlowski AuthorDate: Sun Jul 9 17:47:21 2017 +0200 meta-python: Add Protobuf and gRPC Python recipes Add recipes for Python PIP packages for Google's Protobuf, gRPC and gRPC tools. Signed-off-by: Krzysztof Kozlowski Signed-off-by: Martin Jansa --- .../python/python-grpcio-tools_1.4.0.bb | 17 ++++++++++++++++ .../recipes-devtools/python/python-grpcio_1.4.0.bb | 23 ++++++++++++++++++++++ .../python/python-protobuf_3.3.0.bb | 16 +++++++++++++++ 3 files changed, 56 insertions(+) diff --git a/meta-python/recipes-devtools/python/python-grpcio-tools_1.4.0.bb b/meta-python/recipes-devtools/python/python-grpcio-tools_1.4.0.bb new file mode 100644 index 0000000..f9cfd99 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-grpcio-tools_1.4.0.bb @@ -0,0 +1,17 @@ +DESCRIPTION = "Google gRPC tools" +HOMEPAGE = "http://www.grpc.io/" +SECTION = "devel/python" + +DEPENDS = "python-grpcio" +RDEPENDS_${PN} = "python-grpcio" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9" + +inherit pypi setuptools + +SRC_URI[md5sum] = "b0d585872c69f207a05c55566e8afb38" +SRC_URI[sha256sum] = "bddc98f063755a5df9d285666db49c49201f93d416c45d4f4924cf752b68c99c" + +# For usage in other recipies when compiling protobuf files (e.g. by grpcio-tools) +BBCLASSEXTEND = "native" diff --git a/meta-python/recipes-devtools/python/python-grpcio_1.4.0.bb b/meta-python/recipes-devtools/python/python-grpcio_1.4.0.bb new file mode 100644 index 0000000..5412e02 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-grpcio_1.4.0.bb @@ -0,0 +1,23 @@ +DESCRIPTION = "Google gRPC" +HOMEPAGE = "http://www.grpc.io/" +SECTION = "devel/python" + +DEPENDS = "python-protobuf" + +RDEPENDS_${PN} = "python-enum34 \ + python-futures \ + python-protobuf \ + python-setuptools \ + python-six \ +" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9" + +inherit pypi setuptools + +SRC_URI[md5sum] = "d882ae4eeef4f32ac9c1d32052bf05ad" +SRC_URI[sha256sum] = "a3a213a4c24b5c572b386d752e3b74a3f1b8fa5d03c07b6166fa39f3a6cdef34" + +# For usage in other recipies when compiling protobuf files (e.g. by grpcio-tools) +BBCLASSEXTEND = "native" diff --git a/meta-python/recipes-devtools/python/python-protobuf_3.3.0.bb b/meta-python/recipes-devtools/python/python-protobuf_3.3.0.bb new file mode 100644 index 0000000..61b8fef --- /dev/null +++ b/meta-python/recipes-devtools/python/python-protobuf_3.3.0.bb @@ -0,0 +1,16 @@ +DESCRIPTION = "Protocol Buffers" +HOMEPAGE = "https://developers.google.com/protocol-buffers/" +SECTION = "devel/python" + +RDEPENDS_${PN} = "python-six" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9" + +inherit pypi setuptools + +SRC_URI[md5sum] = "27941e8e42e83d5183605054576882dd" +SRC_URI[sha256sum] = "1cbcee2c45773f57cb6de7ee0eceb97f92b9b69c0178305509b162c0160c1f04" + +# For usage in other recipies when compiling protobuf files (e.g. by grpcio-tools) +BBCLASSEXTEND = "native" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 11 09:31:03 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 11 Jul 2017 09:31:03 +0000 Subject: [oe-commits] [meta-openembedded] 07/23: pptp-linux: Upgrade to 1.9.0 In-Reply-To: <149976545603.27419.9052770751141584718@git.openembedded.org> References: <149976545603.27419.9052770751141584718@git.openembedded.org> Message-ID: <20170711093056.74898233450@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 9f59778e13d592278c154089e6279b9e3f164d34 Author: Khem Raj AuthorDate: Sat Jul 8 06:17:44 2017 -0700 pptp-linux: Upgrade to 1.9.0 Fix build errors found when building for musl while here Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../0001-include-missing-sys-types.h.patch | 28 ++++++++++++++++++++++ .../{pptp-linux-1.8.0 => pptp-linux}/options.pptp | 0 .../{pptp-linux_1.8.0.bb => pptp-linux_1.9.0.bb} | 9 ++++--- 3 files changed, 32 insertions(+), 5 deletions(-) diff --git a/meta-networking/recipes-protocols/pptp-linux/pptp-linux/0001-include-missing-sys-types.h.patch b/meta-networking/recipes-protocols/pptp-linux/pptp-linux/0001-include-missing-sys-types.h.patch new file mode 100644 index 0000000..804bf12 --- /dev/null +++ b/meta-networking/recipes-protocols/pptp-linux/pptp-linux/0001-include-missing-sys-types.h.patch @@ -0,0 +1,28 @@ +From f6c4d2468ae0dadd2f35680d61b98b2a59077328 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 7 Jul 2017 10:31:03 -0700 +Subject: [PATCH] include missing sys/types.h + +Fixes errors seen on musl +pqueue.h:21:3: error: unknown type name 'u_int32_t' + +Signed-off-by: Khem Raj +--- + pqueue.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/pqueue.h b/pqueue.h +index c37ba7b..ae4cc6a 100644 +--- a/pqueue.h ++++ b/pqueue.h +@@ -3,6 +3,7 @@ + + #include + #include ++#include + + /* wait this many seconds for missing packets before forgetting about them */ + #define DEFAULT_PACKET_TIMEOUT 0.3 +-- +2.13.2 + diff --git a/meta-networking/recipes-protocols/pptp-linux/pptp-linux-1.8.0/options.pptp b/meta-networking/recipes-protocols/pptp-linux/pptp-linux/options.pptp similarity index 100% rename from meta-networking/recipes-protocols/pptp-linux/pptp-linux-1.8.0/options.pptp rename to meta-networking/recipes-protocols/pptp-linux/pptp-linux/options.pptp diff --git a/meta-networking/recipes-protocols/pptp-linux/pptp-linux_1.8.0.bb b/meta-networking/recipes-protocols/pptp-linux/pptp-linux_1.9.0.bb similarity index 81% rename from meta-networking/recipes-protocols/pptp-linux/pptp-linux_1.8.0.bb rename to meta-networking/recipes-protocols/pptp-linux/pptp-linux_1.9.0.bb index bc8b2cb..10c9170 100644 --- a/meta-networking/recipes-protocols/pptp-linux/pptp-linux_1.8.0.bb +++ b/meta-networking/recipes-protocols/pptp-linux/pptp-linux_1.9.0.bb @@ -9,14 +9,13 @@ SECTION = "net" LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" -PR = "r1" - SRC_URI = "${SOURCEFORGE_MIRROR}/sourceforge/pptpclient/pptp-${PV}.tar.gz \ file://options.pptp \ -" + file://0001-include-missing-sys-types.h.patch \ + " -SRC_URI[md5sum] = "4efce9f263e2c3f38d79d9df222476de" -SRC_URI[sha256sum] = "e39c42d933242a8a6dd8600a0fa7f0a5ec8f066d10c4149d8e81a5c68fe4bbda" +SRC_URI[md5sum] = "b2117b377f65294a9786f80f0235d308" +SRC_URI[sha256sum] = "0b1e8cbfc578d3f5ab12ee87c5c2c60419abfe9cc445690a8a19c320b11c9201" S = "${WORKDIR}/pptp-${PV}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 11 09:31:12 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 11 Jul 2017 09:31:12 +0000 Subject: [oe-commits] [meta-openembedded] 16/23: gparted: update 0.27.0 -> 0.28.1 In-Reply-To: <149976545603.27419.9052770751141584718@git.openembedded.org> References: <149976545603.27419.9052770751141584718@git.openembedded.org> Message-ID: <20170711093056.B92D723345D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit e995d7635ca63b2952a0939a1278dbb7e8865079 Author: Andreas M?ller AuthorDate: Mon Jul 10 19:35:05 2017 +0200 gparted: update 0.27.0 -> 0.28.1 Signed-off-by: Andreas M?ller Signed-off-by: Martin Jansa --- .../recipes-extended/gparted/{gparted_0.27.0.bb => gparted_0.28.1.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-gnome/recipes-extended/gparted/gparted_0.27.0.bb b/meta-gnome/recipes-extended/gparted/gparted_0.28.1.bb similarity index 90% rename from meta-gnome/recipes-extended/gparted/gparted_0.27.0.bb rename to meta-gnome/recipes-extended/gparted/gparted_0.28.1.bb index c921065..83ab6f2 100644 --- a/meta-gnome/recipes-extended/gparted/gparted_0.27.0.bb +++ b/meta-gnome/recipes-extended/gparted/gparted_0.28.1.bb @@ -10,8 +10,8 @@ SRC_URI = " \ file://org.yoctoproject.pkexec.run-gparted.policy \ file://gparted_polkit \ " -SRC_URI[md5sum] = "726f539f774b442670028af656f270bd" -SRC_URI[sha256sum] = "208cf60c061b86bee4f658d568a3b5d843dce3ab9847f66b452298268799e7bd" +SRC_URI[md5sum] = "ab72464a3ab2137664d9df8462befd3f" +SRC_URI[sha256sum] = "76891f14394754f7d6ecceba2af0e585bf89f9d780c389a255dcd41a2f45d333" DEPENDS = "glib-2.0 glib-2.0-native gtkmm parted gnome-doc-utils intltool-native" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 11 09:31:07 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 11 Jul 2017 09:31:07 +0000 Subject: [oe-commits] [meta-openembedded] 11/23: meta-python: Add python-daemon recipe and its dependencies In-Reply-To: <149976545603.27419.9052770751141584718@git.openembedded.org> References: <149976545603.27419.9052770751141584718@git.openembedded.org> Message-ID: <20170711093056.9ABD3233456@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 5fc3a7b92860b12635fd1e73e5b30ed2535e4805 Author: Krzysztof Kozlowski AuthorDate: Sun Jul 9 17:47:22 2017 +0200 meta-python: Add python-daemon recipe and its dependencies Add recipes for python-daemon PIP package with its dependencies - lockfile and docutils. Signed-off-by: Krzysztof Kozlowski Signed-off-by: Martin Jansa --- .../0001-Workaround-for-issue-2-1.patch | 31 ++++++++++++++++++++++ .../recipes-devtools/python/python-daemon_2.1.2.bb | 27 +++++++++++++++++++ .../python/python-docutils_0.14rc2.bb | 18 +++++++++++++ .../python/python-lockfile_0.12.2.bb | 13 +++++++++ 4 files changed, 89 insertions(+) diff --git a/meta-python/recipes-devtools/python/python-daemon/0001-Workaround-for-issue-2-1.patch b/meta-python/recipes-devtools/python/python-daemon/0001-Workaround-for-issue-2-1.patch new file mode 100644 index 0000000..dbb8407 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-daemon/0001-Workaround-for-issue-2-1.patch @@ -0,0 +1,31 @@ +From 0981eee9f0198c2045dc0eaa78a005d06fc7bfe4 Mon Sep 17 00:00:00 2001 +From: Carlos Eduardo Moreira dos Santos +Date: Tue, 28 Mar 2017 18:23:44 -0300 +Subject: [PATCH] Workaround for issue 2 [1] + +[1] https://pagure.io/python-daemon/issue/2 +--- + version.py | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +diff --git a/version.py b/version.py +index d58422a377ee..293e2d64c2b7 100644 +--- a/version.py ++++ b/version.py +@@ -648,9 +648,10 @@ class ChangelogAwareDistribution(distutils.dist.Distribution, object): + + @lru_cache(maxsize=128) + def get_version_info(self): +- changelog_path = get_changelog_path(self) +- version_info = generate_version_info_from_changelog(changelog_path) +- return version_info ++ return { ++ 'version': '2.1.2', ++ 'maintainer': 'Ben Finney' ++ } + + def get_version(self): + version_info = self.get_version_info() +-- +2.7.4 + diff --git a/meta-python/recipes-devtools/python/python-daemon_2.1.2.bb b/meta-python/recipes-devtools/python/python-daemon_2.1.2.bb new file mode 100644 index 0000000..4c18e2b --- /dev/null +++ b/meta-python/recipes-devtools/python/python-daemon_2.1.2.bb @@ -0,0 +1,27 @@ +DESCRIPTION = "Library to implement a well-behaved Unix daemon process" +HOMEPAGE = "https://pagure.io/python-daemon/" +SECTION = "devel/python" + +DEPENDS = "python-docutils" +RDEPENDS_${PN} = "python-docutils \ + python-lockfile (>= 0.10) \ + python-resource \ +" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" + +inherit pypi setuptools + +SRC_URI[md5sum] = "9c57343d81f2a96c51cffeab982b04d2" +SRC_URI[sha256sum] = "261c859be5c12ae7d4286dc6951e87e9e1a70a882a8b41fd926efc1ec4214f73" + +# Fix for build error in Yocto: +# i = p.rfind('/') + 1 +# AttributeError: 'NoneType' object has no attribute 'rfind' +#S = "${WORKDIR}/python-daemon" +SRC_URI_append = " \ + file://0001-Workaround-for-issue-2-1.patch \ +" + +PYPI_PACKAGE = "python-daemon" diff --git a/meta-python/recipes-devtools/python/python-docutils_0.14rc2.bb b/meta-python/recipes-devtools/python/python-docutils_0.14rc2.bb new file mode 100644 index 0000000..68436a1 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-docutils_0.14rc2.bb @@ -0,0 +1,18 @@ +SUMMARY = "Text processing system for documentation" +HOMEPAGE = "http://docutils.sourceforge.net" +SECTION = "devel/python" +LICENSE = "PSF & BSD-2-Clause & GPLv3" +LIC_FILES_CHKSUM = "file://COPYING.txt;md5=35a23d42b615470583563132872c97d6" + +DEPENDS = "python" + +SRC_URI = "${SOURCEFORGE_MIRROR}/docutils/docutils-${PV}.tar.gz" +SRC_URI[md5sum] = "2f4bee6451958252f7bec71f18b05be3" +SRC_URI[sha256sum] = "3caee0bcb2a49fdf24fcfa70849a60abb7a181aa68b030f7cb7494096181830c" + +S = "${WORKDIR}/docutils-${PV}" + +inherit distutils + +BBCLASSEXTEND = "native" + diff --git a/meta-python/recipes-devtools/python/python-lockfile_0.12.2.bb b/meta-python/recipes-devtools/python/python-lockfile_0.12.2.bb new file mode 100644 index 0000000..cd15760 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-lockfile_0.12.2.bb @@ -0,0 +1,13 @@ +DESCRIPTION = "Platform-independent file locking module" +HOMEPAGE = "http://launchpad.net/pylockfile" +SECTION = "devel/python" + +RDEPENDS_${PN} = "python-threading" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" + +inherit pypi setuptools + +SRC_URI[md5sum] = "a6a1a82957a23afdf44cfdd039b65ff9" +SRC_URI[sha256sum] = "6aed02de03cba24efabcd600b30540140634fc06cfa603822d508d5361e9f799" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 11 09:31:15 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 11 Jul 2017 09:31:15 +0000 Subject: [oe-commits] [meta-openembedded] 19/23: libdbus-c++: Add -pthread to linker flags In-Reply-To: <149976545603.27419.9052770751141584718@git.openembedded.org> References: <149976545603.27419.9052770751141584718@git.openembedded.org> Message-ID: <20170711093056.CD72A233463@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 9852d03179c0e0b9618d4342ae500c37fed1a77a Author: Khem Raj AuthorDate: Mon Jul 10 21:54:21 2017 -0700 libdbus-c++: Add -pthread to linker flags It uses symbols from libpthread e.g. pthread_mutexattr_init and pthread_mutexattr_settype but does not link with pthreads, gold is strict about it and calls out with an error ../src/.libs/libdbus-c++-1.so: error: undefined reference to 'pthread_mutexattr_init' ../src/.libs/libdbus-c++-1.so: error: undefined reference to 'pthread_mutexattr_settype' Therefore correct the linker cmdline Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- meta-oe/recipes-core/dbus/libdbus-c++_0.9.0.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-oe/recipes-core/dbus/libdbus-c++_0.9.0.bb b/meta-oe/recipes-core/dbus/libdbus-c++_0.9.0.bb index 4cc1333..a6d8b86 100644 --- a/meta-oe/recipes-core/dbus/libdbus-c++_0.9.0.bb +++ b/meta-oe/recipes-core/dbus/libdbus-c++_0.9.0.bb @@ -21,6 +21,7 @@ SRC_URI[sha256sum] = "bc11ac297b3cb010be904c72789695543ee3fdf3d75cdc8225fd371385 inherit autotools pkgconfig EXTRA_OECONF = "--disable-ecore --disable-examples --disable-tests" +LDFLAGS += "-pthread" PACKAGE_BEFORE_PN = "${PN}-tools" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 11 09:31:17 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 11 Jul 2017 09:31:17 +0000 Subject: [oe-commits] [meta-openembedded] 21/23: ubi-utils-klibc: Pass TUNE_CCARGS into CFLAGS In-Reply-To: <149976545603.27419.9052770751141584718@git.openembedded.org> References: <149976545603.27419.9052770751141584718@git.openembedded.org> Message-ID: <20170711093056.D968D233467@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit dac2e8ae26dd3d5cc849c7fd7ae2abf62107b41b Author: Khem Raj AuthorDate: Mon Jul 10 21:54:23 2017 -0700 ubi-utils-klibc: Pass TUNE_CCARGS into CFLAGS This is needed for hard float ABI selection options Signed-off-by: Khem Raj Cc: Andrea Adami Signed-off-by: Martin Jansa --- meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_1.5.1.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_1.5.1.bb b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_1.5.1.bb index 8ca1ca7..8674077 100644 --- a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_1.5.1.bb +++ b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_1.5.1.bb @@ -21,6 +21,7 @@ SRC_URI = "git://git.infradead.org/mtd-utils.git;tag=b7455d847ab4f9eeeb6a729efc3 S = "${WORKDIR}/git/" EXTRA_OEMAKE = "'CC=${CC}' 'RANLIB=${RANLIB}' 'AR=${AR}' 'CFLAGS=${CFLAGS} -I${S}include -DWITHOUT_XATTR' 'BUILDDIR=${S}'" +CFLAGS += "${TUNE_CCARGS}" do_install () { -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 11 09:31:13 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 11 Jul 2017 09:31:13 +0000 Subject: [oe-commits] [meta-openembedded] 17/23: abiword: update 3.0.1 -> 3.0.2 In-Reply-To: <149976545603.27419.9052770751141584718@git.openembedded.org> References: <149976545603.27419.9052770751141584718@git.openembedded.org> Message-ID: <20170711093056.BF5ED23345F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit de58e4206418fb244b2f77299a139df41fa9841d Author: Andreas M?ller AuthorDate: Mon Jul 10 19:35:06 2017 +0200 abiword: update 3.0.1 -> 3.0.2 Patch was a backport now included upstream Signed-off-by: Andreas M?ller Signed-off-by: Martin Jansa --- ...-13754-Fix-build-on-gcc-6-default-to-C-11.patch | 74 ---------------------- .../abiword/{abiword_3.0.1.bb => abiword_3.0.2.bb} | 5 +- 2 files changed, 2 insertions(+), 77 deletions(-) diff --git a/meta-gnome/recipes-gnome/abiword/abiword/0002-Bug-13754-Fix-build-on-gcc-6-default-to-C-11.patch b/meta-gnome/recipes-gnome/abiword/abiword/0002-Bug-13754-Fix-build-on-gcc-6-default-to-C-11.patch deleted file mode 100644 index 595ee8e..0000000 --- a/meta-gnome/recipes-gnome/abiword/abiword/0002-Bug-13754-Fix-build-on-gcc-6-default-to-C-11.patch +++ /dev/null @@ -1,74 +0,0 @@ -From a83e6f50dbd5efa16fb39efe32b9de370f103130 Mon Sep 17 00:00:00 2001 -From: Hubert Figuiere -Date: Sat, 23 Jan 2016 20:46:02 +0000 -Subject: [PATCH] Bug 13754 - Fix build on gcc-6 (default to C++11). - -This is debian bug https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=811381 - -git-svn-id: svn+ssh://svn.abisource.com/svnroot/abiword/trunk at 35182 bcba8976-2d24-0410-9c9c-aab3bd5fdfd6 - -Upstream-Status: Backport ---- - plugins/collab/backends/service/xp/RealmProtocol.cpp | 4 ++-- - plugins/collab/backends/service/xp/soa_soup.cpp | 2 +- - plugins/latex/xp/ie_exp_LaTeX.cpp | 2 +- - plugins/xslfo/xp/ie_exp_XSL-FO.cpp | 2 +- - 4 files changed, 5 insertions(+), 5 deletions(-) - -diff --git a/plugins/collab/backends/service/xp/RealmProtocol.cpp b/plugins/collab/backends/service/xp/RealmProtocol.cpp -index fb426eb..347a49c 100644 ---- a/plugins/collab/backends/service/xp/RealmProtocol.cpp -+++ b/plugins/collab/backends/service/xp/RealmProtocol.cpp -@@ -6,8 +6,8 @@ namespace protocolv1 { - - #define MAX_PACKET_DATA_SIZE 64*1024*1024 - --#define RPV1_PACKET_NONEXISTENT -2 --#define RPV1_PACKET_VARIABLE -1 -+#define RPV1_PACKET_NONEXISTENT uint32_t(-2) -+#define RPV1_PACKET_VARIABLE uint32_t(-1) - - static uint32_t body_size[6] = { - RPV1_PACKET_NONEXISTENT, /* 0: reserved */ -diff --git a/plugins/collab/backends/service/xp/soa_soup.cpp b/plugins/collab/backends/service/xp/soa_soup.cpp -index 4b81735..f4f5134 100644 ---- a/plugins/collab/backends/service/xp/soa_soup.cpp -+++ b/plugins/collab/backends/service/xp/soa_soup.cpp -@@ -163,7 +163,7 @@ namespace soup_soa { - - static bool _invoke(const std::string& /*url*/, const soa::method_invocation& /*mi*/, SoaSoupSession& sess, std::string& result) { - if (!sess.m_session || !sess.m_msg ) -- return soa::GenericPtr(); -+ return false; - - guint status = soup_session_send_message (sess.m_session, sess.m_msg); - if (!(SOUP_STATUS_IS_SUCCESSFUL (status) || -diff --git a/plugins/latex/xp/ie_exp_LaTeX.cpp b/plugins/latex/xp/ie_exp_LaTeX.cpp -index 7aaf3a9..8bcc250 100644 ---- a/plugins/latex/xp/ie_exp_LaTeX.cpp -+++ b/plugins/latex/xp/ie_exp_LaTeX.cpp -@@ -1330,7 +1330,7 @@ void s_LaTeX_Listener::_outputData(const UT_UCSChar * data, UT_uint32 length) - m_pie->write(sBuf.c_str(),sBuf.size()); - } - --#define SUB(a,who) case a: subst = "\\(\\"who"\\)"; return true; -+#define SUB(a,who) case a: subst = "\\(\\" who"\\)"; return true; - #define SUBd(a,who) case a: subst = who; return true; - static bool _convertLettersToSymbols(char c, const char *& subst) - { -diff --git a/plugins/xslfo/xp/ie_exp_XSL-FO.cpp b/plugins/xslfo/xp/ie_exp_XSL-FO.cpp -index cc5e4e6..957226e 100644 ---- a/plugins/xslfo/xp/ie_exp_XSL-FO.cpp -+++ b/plugins/xslfo/xp/ie_exp_XSL-FO.cpp -@@ -1451,7 +1451,7 @@ void s_XSL_FO_Listener::_openSection(PT_AttrPropIndex api) - { \ - UT_UTF8String esc = szValue; \ - esc.escapeXML(); \ -- buf += " "x"=\""; \ -+ buf += " " x"=\""; \ - buf += esc.utf8_str(); \ - buf += "\""; \ - } --- -2.5.5 - diff --git a/meta-gnome/recipes-gnome/abiword/abiword_3.0.1.bb b/meta-gnome/recipes-gnome/abiword/abiword_3.0.2.bb similarity index 96% rename from meta-gnome/recipes-gnome/abiword/abiword_3.0.1.bb rename to meta-gnome/recipes-gnome/abiword/abiword_3.0.2.bb index 34fc97d..2a13e48 100644 --- a/meta-gnome/recipes-gnome/abiword/abiword_3.0.1.bb +++ b/meta-gnome/recipes-gnome/abiword/abiword_3.0.2.bb @@ -28,13 +28,12 @@ RCONFLICTS_${PN} = "${PN}-embedded" SRC_URI = " \ http://www.abisource.com/downloads/${BPN}/${PV}/source/${BP}.tar.gz \ file://0001-plugins-aiksaurus-Makefile.am-remove-uncomplete-opti.patch \ - file://0002-Bug-13754-Fix-build-on-gcc-6-default-to-C-11.patch \ " LIC_FILES_CHKSUM = "file://COPYING;md5=c5edcc3ccd864b19004d14e9c1c9a26a" -SRC_URI[md5sum] = "f3f8052e7b4979a43b75775a381e6cb8" -SRC_URI[sha256sum] = "e094f6fbf0afc5c5538b4894888e7c346f8ee8f49c9d24821dd696d0734865c6" +SRC_URI[md5sum] = "cda6dd58c747c133b421cc7eb18f5796" +SRC_URI[sha256sum] = "afbfd458fd02989d8b0c6362ba8a4c14686d89666f54cfdb5501bd2090cf3522" #want 3.x from 3.x.y for the installation directory SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 11 09:31:14 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 11 Jul 2017 09:31:14 +0000 Subject: [oe-commits] [meta-openembedded] 18/23: faac: update 1.28 -> 1.29 In-Reply-To: <149976545603.27419.9052770751141584718@git.openembedded.org> References: <149976545603.27419.9052770751141584718@git.openembedded.org> Message-ID: <20170711093056.C7533233461@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit e0dabc2ae2ac3ab87fbc117ff40e9b1fd76abd9b Author: Andreas M?ller AuthorDate: Mon Jul 10 19:35:07 2017 +0200 faac: update 1.28 -> 1.29 Most patches don't apply any more and build succeeds Signed-off-by: Andreas M?ller Signed-off-by: Martin Jansa --- .../recipes-multimedia/faac/faac_1.28.bb | 26 -- .../recipes-multimedia/faac/faac_1.29.bb | 27 ++ ...frontend-Fix-format-string-security-error.patch | 26 -- ...efine-__STRING-if-cdefs.h-does-not-exist.patch} | 0 .../files/address-gcc-6-narrowing-errors.patch | 47 --- .../recipes-multimedia/faac/files/build-fix.patch | 332 --------------------- 6 files changed, 27 insertions(+), 431 deletions(-) diff --git a/meta-multimedia/recipes-multimedia/faac/faac_1.28.bb b/meta-multimedia/recipes-multimedia/faac/faac_1.28.bb deleted file mode 100644 index 5c9477f..0000000 --- a/meta-multimedia/recipes-multimedia/faac/faac_1.28.bb +++ /dev/null @@ -1,26 +0,0 @@ -SUMMARY = "Freeware Advanced Audio Coder (MPEG2-AAC, MPEG4-AAC)" -SECTION = "libs" -LICENSE = "LGPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \ - file://libfaac/coder.h;beginline=5;endline=17;md5=fa1fd6a5fa8cdc877d63a12530d273e0" - -inherit autotools-brokensep - -SRC_URI = "${SOURCEFORGE_MIRROR}/faac/${BP}.tar.gz \ - file://build-fix.patch \ - file://address-gcc-6-narrowing-errors.patch \ - file://0001-frontend-Fix-format-string-security-error.patch \ - file://0002-mp4v2-Define-__STRING-if-cdefs.h-does-not-exist.patch \ - " - -SRC_URI[md5sum] = "80763728d392c7d789cde25614c878f6" -SRC_URI[sha256sum] = "c5141199f4cfb17d749c36ba8cfe4b25f838da67c22f0fec40228b6b9c3d19df" - -EXTRA_OECONF += "--without-mp4v2" - -PACKAGES =+ "lib${BPN} lib${BPN}-dev" - -FILES_${PN} = " ${bindir}/faac " -FILES_lib${PN} = " ${libdir}/libfaac.so.*" -FILES_lib${PN}-dev = "${includedir}/faac.h ${includedir}/faaccfg.h ${libdir}/libfaac.so ${libdir}/libfaac.la" -FILES_lib${PN}-staticdev = "${libdir}/libfaac.a" diff --git a/meta-multimedia/recipes-multimedia/faac/faac_1.29.bb b/meta-multimedia/recipes-multimedia/faac/faac_1.29.bb new file mode 100644 index 0000000..4765c6c --- /dev/null +++ b/meta-multimedia/recipes-multimedia/faac/faac_1.29.bb @@ -0,0 +1,27 @@ +SUMMARY = "Freeware Advanced Audio Coder (MPEG2-AAC, MPEG4-AAC)" +SECTION = "libs" +LICENSE = "LGPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \ + file://libfaac/coder.h;beginline=5;endline=17;md5=fa1fd6a5fa8cdc877d63a12530d273e0" + +inherit autotools + +SRC_URI = " \ + ${SOURCEFORGE_MIRROR}/faac/${BP}.tar.gz \ + file://0001-mp4v2-Define-__STRING-if-cdefs.h-does-not-exist.patch \ +" + +SRC_URI[md5sum] = "78603720f655180059d6970c582a3005" +SRC_URI[sha256sum] = "8cc7b03ceb2722223a6457e95d4c994731d80214a03ba33d1af76ba53f4b3197" + +EXTRA_OECONF += "--without-mp4v2" + +PACKAGES =+ "lib${BPN} lib${BPN}-dev" + +FILES_${PN} = " ${bindir}/faac " +FILES_lib${PN} = " ${libdir}/*.so.*" +FILES_lib${PN}-dev = " \ + ${includedir} \ + ${libdir}/*.so \ + ${libdir}/*.la \ +" diff --git a/meta-multimedia/recipes-multimedia/faac/files/0001-frontend-Fix-format-string-security-error.patch b/meta-multimedia/recipes-multimedia/faac/files/0001-frontend-Fix-format-string-security-error.patch deleted file mode 100644 index 75e003e..0000000 --- a/meta-multimedia/recipes-multimedia/faac/files/0001-frontend-Fix-format-string-security-error.patch +++ /dev/null @@ -1,26 +0,0 @@ -From c1d7a8b992dc36d0012cc3d54b7d3abf4ad4d5d8 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 28 Mar 2017 21:33:01 -0700 -Subject: [PATCH 1/2] frontend: Fix format string security error - -Signed-off-by: Khem Raj ---- - frontend/main.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/frontend/main.c b/frontend/main.c -index 02146a8..cb9329c 100644 ---- a/frontend/main.c -+++ b/frontend/main.c -@@ -715,7 +715,7 @@ int main(int argc, char *argv[]) - break; - #endif - case 'L': -- fprintf(stderr, faac_copyright_string); -+ fprintf(stderr, "%s", faac_copyright_string); - dieMessage = license; - break; - case 'X': --- -2.12.1 - diff --git a/meta-multimedia/recipes-multimedia/faac/files/0002-mp4v2-Define-__STRING-if-cdefs.h-does-not-exist.patch b/meta-multimedia/recipes-multimedia/faac/files/0001-mp4v2-Define-__STRING-if-cdefs.h-does-not-exist.patch similarity index 100% rename from meta-multimedia/recipes-multimedia/faac/files/0002-mp4v2-Define-__STRING-if-cdefs.h-does-not-exist.patch rename to meta-multimedia/recipes-multimedia/faac/files/0001-mp4v2-Define-__STRING-if-cdefs.h-does-not-exist.patch diff --git a/meta-multimedia/recipes-multimedia/faac/files/address-gcc-6-narrowing-errors.patch b/meta-multimedia/recipes-multimedia/faac/files/address-gcc-6-narrowing-errors.patch deleted file mode 100644 index 92fdd9b..0000000 --- a/meta-multimedia/recipes-multimedia/faac/files/address-gcc-6-narrowing-errors.patch +++ /dev/null @@ -1,47 +0,0 @@ ---- faac-1.28/common/mp4v2/atom_standard.cpp.orig 2016-06-16 07:59:21.657040761 -0400 -+++ faac-1.28/common/mp4v2/atom_standard.cpp 2016-06-16 08:01:50.613036724 -0400 -@@ -22,15 +22,15 @@ - #include "mp4common.h" - #include "atoms.h" - --static const char name[5]={0251,'n', 'a', 'm', '\0'}; --static const char art[5]={0251,'A', 'R', 'T', '\0'}; --static const char wrt[5]={0251,'w', 'r', 't', '\0'}; --static const char alb[5]={0251,'a', 'l', 'b', '\0'}; --static const char day[5]={0251,'d', 'a', 'y', '\0'}; --static const char too[5]={0251,'t', 'o', 'o', '\0'}; --static const char cmt[5]={0251,'c', 'm', 't', '\0'}; --static const char gen[5]={0251,'g', 'e', 'n', '\0'}; --static const char grp[5]={0251,'g', 'r', 'p', '\0'}; -+static const char name[5]={(char)0251,'n', 'a', 'm', '\0'}; -+static const char art[5]={(char)0251,'A', 'R', 'T', '\0'}; -+static const char wrt[5]={(char)0251,'w', 'r', 't', '\0'}; -+static const char alb[5]={(char)0251,'a', 'l', 'b', '\0'}; -+static const char day[5]={(char)0251,'d', 'a', 'y', '\0'}; -+static const char too[5]={(char)0251,'t', 'o', 'o', '\0'}; -+static const char cmt[5]={(char)0251,'c', 'm', 't', '\0'}; -+static const char gen[5]={(char)0251,'g', 'e', 'n', '\0'}; -+static const char grp[5]={(char)0251,'g', 'r', 'p', '\0'}; - - MP4StandardAtom::MP4StandardAtom (const char *type) : MP4Atom(type) - { ---- faac-1.28/common/mp4v2/mp4atom.cpp.orig 2016-06-16 08:03:07.777034633 -0400 -+++ faac-1.28/common/mp4v2/mp4atom.cpp 2016-06-16 08:03:54.629033363 -0400 -@@ -264,11 +264,11 @@ - } - break; - case 0251: -- static const char name[5]={0251,'n', 'a', 'm', '\0'}; -- static const char cmt[5]={0251,'c', 'm', 't', '\0'}; -- static const char cpy[5]={0251,'c', 'p', 'y', '\0'}; -- static const char des[5]={0251,'d', 'e', 's','\0'}; -- static const char prd[5]={0251, 'p', 'r', 'd', '\0'}; -+ static const char name[5]={(char)0251,'n', 'a', 'm', '\0'}; -+ static const char cmt[5]={(char)0251,'c', 'm', 't', '\0'}; -+ static const char cpy[5]={(char)0251,'c', 'p', 'y', '\0'}; -+ static const char des[5]={(char)0251,'d', 'e', 's','\0'}; -+ static const char prd[5]={(char)0251, 'p', 'r', 'd', '\0'}; - if (ATOMID(type) == ATOMID(name) || - ATOMID(type) == ATOMID(cmt) || - ATOMID(type) == ATOMID(cpy) || - diff --git a/meta-multimedia/recipes-multimedia/faac/files/build-fix.patch b/meta-multimedia/recipes-multimedia/faac/files/build-fix.patch deleted file mode 100644 index 83cff8f..0000000 --- a/meta-multimedia/recipes-multimedia/faac/files/build-fix.patch +++ /dev/null @@ -1,332 +0,0 @@ -Patch fixing build error and warnings. Error consisted of redefining -strcasestr function from string.h. Warnings consisted of deprecated conversions -of string constants to char*, using '%llu' for type uint64_t (which on 64 bit -systems, is defined as unsigned long int by stdint.h), and using '==' for -equality of two strings. - -Patch originally from Debian. - -Upstream-Status: Pending - -========================================================================== ---- a/common/mp4v2/mpeg4ip.h -+++ b/common/mp4v2/mpeg4ip.h -@@ -120,14 +120,6 @@ - #endif - #include - --#ifdef __cplusplus --extern "C" { --#endif --char *strcasestr(const char *haystack, const char *needle); --#ifdef __cplusplus --} --#endif -- - #define OPEN_RDWR O_RDWR - #define OPEN_CREAT O_CREAT - #define OPEN_RDONLY O_RDONLY -@@ -135,7 +127,6 @@ - #define closesocket close - #define IOSBINARY ios::bin - --#if SIZEOF_LONG == 8 - #define MAX_UINT64 -1LU - #define D64F "ld" - #define U64F "lu" -@@ -143,15 +134,6 @@ - - #define TO_D64(a) (a##L) - #define TO_U64(a) (a##LU) --#else --#define MAX_UINT64 -1LLU --#define D64F "lld" --#define U64F "llu" --#define X64F "llx" -- --#define TO_D64(a) (a##LL) --#define TO_U64(a) (a##LLU) --#endif - - #ifdef HAVE_FPOS_T___POS - #define FPOS_TO_VAR(fpos, typed, var) (var) = (typed)((fpos).__pos) ---- a/configure.in -+++ b/configure.in -@@ -4,6 +4,9 @@ - AM_INIT_AUTOMAKE - - AM_CONFIG_HEADER(config.h) -+AH_TOP([#ifndef CONFIG_H -+#define CONFIG_H]) -+AH_BOTTOM([#endif /* CONFIG_H */]) - - AC_ARG_WITH( mp4v2, [ --with-mp4v2 compile libmp4v2],WITHMP4V2=$withval, WITHMP4V2=yes) - AC_ARG_ENABLE( drm, [ --enable-drm Digital Radio Mondiale support], enable_drm=$enableval, enable_drm=no) ---- a/common/mp4v2/atom_avcC.cpp -+++ b/common/mp4v2/atom_avcC.cpp -@@ -29,7 +29,7 @@ - class SizeTableProperty : public MP4TableProperty - { - public: -- SizeTableProperty(char *name, MP4IntegerProperty *pCountProperty) : -+ SizeTableProperty(const char *name, MP4IntegerProperty *pCountProperty) : - MP4TableProperty(name, pCountProperty) {}; - protected: - void ReadEntry(MP4File *pFile, u_int32_t index) { ---- a/common/mp4v2/atom_ohdr.cpp -+++ b/common/mp4v2/atom_ohdr.cpp -@@ -21,7 +21,7 @@ - \param useCountedFormat counted format flag. - \param useUnicode unicode flag. - */ -- OhdrMP4StringProperty(char* name, bool useCountedFormat = false, -+ OhdrMP4StringProperty(const char* name, bool useCountedFormat = false, - bool useUnicode = false): MP4StringProperty(name, useCountedFormat, - useUnicode) { - } ---- a/common/mp4v2/atom_stz2.cpp -+++ b/common/mp4v2/atom_stz2.cpp -@@ -30,7 +30,7 @@ - class MP4HalfSizeTableProperty : public MP4TableProperty - { - public: -- MP4HalfSizeTableProperty(char *name, MP4IntegerProperty *pCountProperty) : -+ MP4HalfSizeTableProperty(const char *name, MP4IntegerProperty *pCountProperty) : - MP4TableProperty(name, pCountProperty) {}; - - // The count is half the actual size ---- a/common/mp4v2/mp4atom.cpp -+++ b/common/mp4v2/mp4atom.cpp -@@ -806,7 +806,7 @@ - AddProperty(new MP4Integer24Property("flags")); - } - --void MP4Atom::AddReserved(char* name, u_int32_t size) -+void MP4Atom::AddReserved(const char* name, u_int32_t size) - { - MP4BytesProperty* pReserved = new MP4BytesProperty(name, size); - pReserved->SetReadOnly(); ---- a/common/mp4v2/mp4atom.h -+++ b/common/mp4v2/mp4atom.h -@@ -204,7 +204,7 @@ - - void AddVersionAndFlags(); - -- void AddReserved(char* name, u_int32_t size); -+ void AddReserved(const char* name, u_int32_t size); - - void ExpectChildAtom(const char* name, - bool mandatory, bool onlyOne = true); ---- a/common/mp4v2/mp4file.cpp -+++ b/common/mp4v2/mp4file.cpp -@@ -718,7 +718,7 @@ - } - } - --void MP4File::ProtectWriteOperation(char* where) -+void MP4File::ProtectWriteOperation(const char* where) - { - if (m_mode == 'r') { - throw new MP4Error("operation not permitted in read mode", where); -@@ -1274,7 +1274,7 @@ - } - - // NULL terminated list of brands which require the IODS atom --char *brandsWithIods[] = { "mp42", -+const char *brandsWithIods[] = { "mp42", - "isom", - NULL}; - -@@ -2211,11 +2211,11 @@ - for (u_int32_t i = 0; i < m_pTracks.Size(); i++) { - if (!strcmp(normType, m_pTracks[i]->GetType())) { - if (subType) { -- if (normType == MP4_AUDIO_TRACK_TYPE) { -+ if (!strcmp(normType,MP4_AUDIO_TRACK_TYPE)) { - if (subType != GetTrackEsdsObjectTypeId(m_pTracks[i]->GetId())) { - continue; - } -- } else if (normType == MP4_VIDEO_TRACK_TYPE) { -+ } else if (!strcmp(normType,MP4_VIDEO_TRACK_TYPE)) { - if (subType != GetTrackEsdsObjectTypeId(m_pTracks[i]->GetId())) { - continue; - } -@@ -2278,11 +2278,11 @@ - for (u_int32_t i = 0; i < m_pTracks.Size(); i++) { - if (!strcmp(normType, m_pTracks[i]->GetType())) { - if (subType) { -- if (normType == MP4_AUDIO_TRACK_TYPE) { -+ if (!strcmp(normType,MP4_AUDIO_TRACK_TYPE)) { - if (subType != GetTrackEsdsObjectTypeId(m_pTracks[i]->GetId())) { - continue; - } -- } else if (normType == MP4_VIDEO_TRACK_TYPE) { -+ } else if (!strcmp(normType,MP4_VIDEO_TRACK_TYPE)) { - if (subType != GetTrackEsdsObjectTypeId(m_pTracks[i]->GetId())) { - continue; - } ---- a/common/mp4v2/mp4file.h -+++ b/common/mp4v2/mp4file.h -@@ -700,7 +700,7 @@ - const char* TempFileName(); - void Rename(const char* existingFileName, const char* newFileName); - -- void ProtectWriteOperation(char* where); -+ void ProtectWriteOperation(const char* where); - - void FindIntegerProperty(const char* name, - MP4Property** ppProperty, u_int32_t* pIndex = NULL); ---- a/common/mp4v2/mp4property.cpp -+++ b/common/mp4v2/mp4property.cpp -@@ -313,7 +313,7 @@ - - // MP4StringProperty - --MP4StringProperty::MP4StringProperty(char* name, -+MP4StringProperty::MP4StringProperty(const char* name, - bool useCountedFormat, bool useUnicode) - : MP4Property(name) - { -@@ -420,7 +420,7 @@ - - // MP4BytesProperty - --MP4BytesProperty::MP4BytesProperty(char* name, u_int32_t valueSize, -+MP4BytesProperty::MP4BytesProperty(const char* name, u_int32_t valueSize, - u_int32_t defaultValueSize) - : MP4Property(name) - { -@@ -549,7 +549,7 @@ - - // MP4TableProperty - --MP4TableProperty::MP4TableProperty(char* name, MP4IntegerProperty* pCountProperty) -+MP4TableProperty::MP4TableProperty(const char* name, MP4IntegerProperty* pCountProperty) - : MP4Property(name) - { - m_pCountProperty = pCountProperty; -@@ -725,7 +725,7 @@ - - // MP4DescriptorProperty - --MP4DescriptorProperty::MP4DescriptorProperty(char* name, -+MP4DescriptorProperty::MP4DescriptorProperty(const char* name, - u_int8_t tagsStart, u_int8_t tagsEnd, bool mandatory, bool onlyOne) - : MP4Property(name) - { ---- a/common/mp4v2/mp4property.h -+++ b/common/mp4v2/mp4property.h -@@ -100,7 +100,7 @@ - - class MP4IntegerProperty : public MP4Property { - protected: -- MP4IntegerProperty(char* name) -+ MP4IntegerProperty(const char* name) - : MP4Property(name) { }; - - public: -@@ -118,7 +118,7 @@ - #define MP4INTEGER_PROPERTY_DECL2(isize, xsize) \ - class MP4Integer##xsize##Property : public MP4IntegerProperty { \ - public: \ -- MP4Integer##xsize##Property(char* name) \ -+ MP4Integer##xsize##Property(const char* name) \ - : MP4IntegerProperty(name) { \ - SetCount(1); \ - m_values[0] = 0; \ -@@ -188,7 +188,7 @@ - - class MP4BitfieldProperty : public MP4Integer64Property { - public: -- MP4BitfieldProperty(char* name, u_int8_t numBits) -+ MP4BitfieldProperty(const char* name, u_int8_t numBits) - : MP4Integer64Property(name) { - ASSERT(numBits != 0); - ASSERT(numBits <= 64); -@@ -213,7 +213,7 @@ - - class MP4Float32Property : public MP4Property { - public: -- MP4Float32Property(char* name) -+ MP4Float32Property(const char* name) - : MP4Property(name) { - m_useFixed16Format = false; - m_useFixed32Format = false; -@@ -280,7 +280,7 @@ - - class MP4StringProperty : public MP4Property { - public: -- MP4StringProperty(char* name, -+ MP4StringProperty(const char* name, - bool useCountedFormat = false, bool useUnicode = false); - - ~MP4StringProperty(); -@@ -355,7 +355,7 @@ - - class MP4BytesProperty : public MP4Property { - public: -- MP4BytesProperty(char* name, u_int32_t valueSize = 0, -+ MP4BytesProperty(const char* name, u_int32_t valueSize = 0, - u_int32_t defaultValueSize = 0); - - ~MP4BytesProperty(); -@@ -419,7 +419,7 @@ - - class MP4TableProperty : public MP4Property { - public: -- MP4TableProperty(char* name, MP4IntegerProperty* pCountProperty); -+ MP4TableProperty(const char* name, MP4IntegerProperty* pCountProperty); - - ~MP4TableProperty(); - -@@ -469,7 +469,7 @@ - - class MP4DescriptorProperty : public MP4Property { - public: -- MP4DescriptorProperty(char* name = NULL, -+ MP4DescriptorProperty(const char* name = NULL, - u_int8_t tagsStart = 0, u_int8_t tagsEnd = 0, - bool mandatory = false, bool onlyOne = false); - -@@ -531,7 +531,7 @@ - - class MP4QosQualifierProperty : public MP4DescriptorProperty { - public: -- MP4QosQualifierProperty(char* name = NULL, -+ MP4QosQualifierProperty(const char* name = NULL, - u_int8_t tagsStart = 0, u_int8_t tagsEnd = 0, - bool mandatory = false, bool onlyOne = false) : - MP4DescriptorProperty(name, tagsStart, tagsEnd, mandatory, onlyOne) { } ---- a/common/mp4v2/mp4track.cpp -+++ b/common/mp4v2/mp4track.cpp -@@ -1360,7 +1360,7 @@ - } - } - --MP4Atom* MP4Track::AddAtom(char* parentName, char* childName) -+MP4Atom* MP4Track::AddAtom(const char* parentName, const char* childName) - { - MP4Atom* pChildAtom = MP4Atom::CreateAtom(childName); - ---- a/common/mp4v2/mp4track.h -+++ b/common/mp4v2/mp4track.h -@@ -168,7 +168,7 @@ - void UpdateSyncSamples(MP4SampleId sampleId, - bool isSyncSample); - -- MP4Atom* AddAtom(char* parentName, char* childName); -+ MP4Atom* AddAtom(const char* parentName, const char* childName); - - void UpdateDurations(MP4Duration duration); - MP4Duration ToMovieDuration(MP4Duration trackDuration); ---- a/common/mp4v2/ocidescriptors.cpp -+++ b/common/mp4v2/ocidescriptors.cpp -@@ -171,7 +171,7 @@ - - class MP4CreatorTableProperty : public MP4TableProperty { - public: -- MP4CreatorTableProperty(char* name, MP4Integer8Property* pCountProperty) : -+ MP4CreatorTableProperty(const char* name, MP4Integer8Property* pCountProperty) : - MP4TableProperty(name, pCountProperty) { - }; - protected: -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 11 09:31:16 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 11 Jul 2017 09:31:16 +0000 Subject: [oe-commits] [meta-openembedded] 20/23: klibc: Fix build with musl In-Reply-To: <149976545603.27419.9052770751141584718@git.openembedded.org> References: <149976545603.27419.9052770751141584718@git.openembedded.org> Message-ID: <20170711093056.D38C6233465@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit c27fad3ffa55e58cbfda92a20c7f676101e8ca5c Author: Khem Raj AuthorDate: Mon Jul 10 21:54:22 2017 -0700 klibc: Fix build with musl klibc failed to build with armv7+ when using thumb2 it needed to resepct TUNE_CCARGS Add patches to fix build with musl, to sort out the linux header maze. Signed-off-by: Khem Raj Cc: Andrea Adami Signed-off-by: Martin Jansa --- ...ine-in_-structs-for-non-glibc-system-libs.patch | 85 ++++++++++++++++++++++ ...0001-dash-Specify-format-string-in-fmtstr.patch | 31 ++++++++ .../0001-include-linux-sysinfo.h-directly.patch | 32 ++++++++ .../klibc-2.0.4/0001-mkfifo-Implement-mkfifo.patch | 29 ++++++++ meta-initramfs/recipes-devtools/klibc/klibc.inc | 34 ++++++--- 5 files changed, 200 insertions(+), 11 deletions(-) diff --git a/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Define-in_-structs-for-non-glibc-system-libs.patch b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Define-in_-structs-for-non-glibc-system-libs.patch new file mode 100644 index 0000000..8d1ec69 --- /dev/null +++ b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Define-in_-structs-for-non-glibc-system-libs.patch @@ -0,0 +1,85 @@ +From f414dea1316a48aba3e8e293201ebd51652d3ef4 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 9 Jul 2017 15:17:29 -0700 +Subject: [PATCH] Define in_* structs for non-glibc system libs + +These defines and structs are required to be coming from +userspace netinet/in.h, which is being overridden in klibc +however, libc-compat.h from kernel is only written keeping +glibc in mind, and does not provide adequate guards for musl +to infer that these structs should be defined in linux/in.h + +Signed-off-by: Khem Raj +--- + usr/include/netinet/in.h | 33 +++++++++++++++++++++++++++++++++ + 1 file changed, 33 insertions(+) + +Index: git/usr/include/netinet/in.h +=================================================================== +--- git.orig/usr/include/netinet/in.h ++++ git/usr/include/netinet/in.h +@@ -5,6 +5,42 @@ + #ifndef _NETINET_IN_H + #define _NETINET_IN_H + ++#ifndef __GLIBC__ ++#include ++ ++#undef __UAPI_DEF_IN_ADDR ++#undef __UAPI_DEF_IN_IPPROTO ++#undef __UAPI_DEF_IN_PKTINFO ++#undef __UAPI_DEF_IP_MREQ ++#undef __UAPI_DEF_SOCKADDR_IN ++#undef __UAPI_DEF_IN_CLASS ++#undef __UAPI_DEF_IN6_ADDR ++#undef __UAPI_DEF_IN6_ADDR_ALT ++#undef __UAPI_DEF_SOCKADDR_IN6 ++#undef __UAPI_DEF_IPV6_MREQ ++#undef __UAPI_DEF_IPPROTO_V6 ++#undef __UAPI_DEF_IPV6_OPTIONS ++#undef __UAPI_DEF_IN6_PKTINFO ++#undef __UAPI_DEF_IP6_MTUINFO ++#undef __UAPI_DEF_IF_IFREQ ++ ++#define __UAPI_DEF_IN_ADDR 1 ++#define __UAPI_DEF_IN_IPPROTO 1 ++#define __UAPI_DEF_IN_PKTINFO 1 ++#define __UAPI_DEF_IP_MREQ 1 ++#define __UAPI_DEF_SOCKADDR_IN 1 ++#define __UAPI_DEF_IN_CLASS 1 ++#define __UAPI_DEF_IN6_ADDR 1 ++#define __UAPI_DEF_IN6_ADDR_ALT 1 ++#define __UAPI_DEF_SOCKADDR_IN6 1 ++#define __UAPI_DEF_IPV6_MREQ 1 ++#define __UAPI_DEF_IPPROTO_V6 1 ++#define __UAPI_DEF_IPV6_OPTIONS 1 ++#define __UAPI_DEF_IN6_PKTINFO 1 ++#define __UAPI_DEF_IP6_MTUINFO 1 ++#define __UAPI_DEF_IF_IFREQ 1 ++#endif ++ + #include + #include + #include /* Must be included *before* */ +Index: git/usr/include/net/if.h +=================================================================== +--- git.orig/usr/include/net/if.h ++++ git/usr/include/net/if.h +@@ -1,6 +1,17 @@ + #ifndef _NET_IF_H + #define _NET_IF_H + ++#ifndef __GLIBC__ ++#include ++#undef __UAPI_DEF_IF_IFREQ ++#define __UAPI_DEF_IF_IFREQ 1 ++#undef __UAPI_DEF_IF_IFNAMSIZ ++#define __UAPI_DEF_IF_IFNAMSIZ 1 ++#undef __UAPI_DEF_IF_IFMAP ++#define __UAPI_DEF_IF_IFMAP 1 ++#undef __UAPI_DEF_IF_NET_DEVICE_FLAGS ++#define __UAPI_DEF_IF_NET_DEVICE_FLAGS 1 ++#endif + #include + #include + #include diff --git a/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-dash-Specify-format-string-in-fmtstr.patch b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-dash-Specify-format-string-in-fmtstr.patch new file mode 100644 index 0000000..ae8c1f1 --- /dev/null +++ b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-dash-Specify-format-string-in-fmtstr.patch @@ -0,0 +1,31 @@ +From 2fff607fd0b5550e5072a6fffcbb01c29d5207d2 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 9 Jul 2017 13:51:25 -0700 +Subject: [PATCH] dash: Specify format string in fmtstr() + +Fixes build with hardening flags + +usr/dash/jobs.c:429:3: error: format not a string literal and no format arguments [-Werror=format-security] + col = fmtstr(s, 32, strsignal(st)); + +Signed-off-by: Khem Raj +--- + usr/dash/jobs.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/usr/dash/jobs.c b/usr/dash/jobs.c +index 009bbfee..299bcacc 100644 +--- a/usr/dash/jobs.c ++++ b/usr/dash/jobs.c +@@ -426,7 +426,7 @@ sprint_status(char *s, int status, int sigonly) + goto out; + #endif + } +- col = fmtstr(s, 32, strsignal(st)); ++ col = fmtstr(s, 32, "%s", strsignal(st)); + #ifdef WCOREDUMP + if (WCOREDUMP(status)) { + col += fmtstr(s + col, 16, " (core dumped)"); +-- +2.13.2 + diff --git a/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-include-linux-sysinfo.h-directly.patch b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-include-linux-sysinfo.h-directly.patch new file mode 100644 index 0000000..1b033ac --- /dev/null +++ b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-include-linux-sysinfo.h-directly.patch @@ -0,0 +1,32 @@ +From ab060a57b41f989665ade20e813bbcb67f91f1f2 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 9 Jul 2017 15:56:28 -0700 +Subject: [PATCH] include linux/sysinfo.h directly + +This is done to avoid the kernel header linux/kernel.h to use +__GLIBC__ define to decide on if libc implements sysinfo() API +or not. Kernel headers should be independent of such assumptions +but until its done in right place, change the local header +override to avoid this assumption + +Signed-off-by: Khem Raj +--- + usr/include/sys/sysinfo.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/usr/include/sys/sysinfo.h b/usr/include/sys/sysinfo.h +index dba68dc6..d145c0b1 100644 +--- a/usr/include/sys/sysinfo.h ++++ b/usr/include/sys/sysinfo.h +@@ -5,7 +5,7 @@ + #ifndef _SYS_SYSINFO_H + #define _SYS_SYSINFO_H + +-#include ++#include + + extern int sysinfo(struct sysinfo *info); + +-- +2.13.2 + diff --git a/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-mkfifo-Implement-mkfifo.patch b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-mkfifo-Implement-mkfifo.patch new file mode 100644 index 0000000..9791412 --- /dev/null +++ b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-mkfifo-Implement-mkfifo.patch @@ -0,0 +1,29 @@ +From b4e120f5edf06e6df138b1804a8b5180584cea6b Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 10 Jul 2017 20:42:50 -0700 +Subject: [PATCH] mkfifo: Implement mkfifo + +Signed-off-by: Khem Raj +--- + usr/utils/mkfifo.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/usr/utils/mkfifo.c b/usr/utils/mkfifo.c +index 5a758b2a..f1f577e6 100644 +--- a/usr/utils/mkfifo.c ++++ b/usr/utils/mkfifo.c +@@ -26,6 +26,11 @@ static int make_fifo(char *dir) + return 0; + } + ++int mkfifo (const char *__p, mode_t __m) ++{ ++ return mknod(__p, (__m & ~S_IFMT) | S_IFIFO, (dev_t) 0); ++} ++ + int main(int argc, char *argv[]) + { + int c, ret = 0; +-- +2.13.2 + diff --git a/meta-initramfs/recipes-devtools/klibc/klibc.inc b/meta-initramfs/recipes-devtools/klibc/klibc.inc index e039cb2..be59aa4 100644 --- a/meta-initramfs/recipes-devtools/klibc/klibc.inc +++ b/meta-initramfs/recipes-devtools/klibc/klibc.inc @@ -7,17 +7,23 @@ LIC_FILES_CHKSUM = "file://usr/klibc/LICENSE;md5=d75181f10e998c21eb147f6d2e43ce8 DEPENDS = "linux-libc-headers perl-native" SRCREV = "4d19974d7020488f63651244e1f9f51727c3f66c" -SRC_URI = "git://git.kernel.org/pub/scm/libs/klibc/klibc.git" -SRC_URI_append_linux-gnueabi = " file://klibc-config-eabi.patch \ - file://armv4-fix-v4bx.patch \ - " -SRC_URI_append_linux-uclibceabi = " file://klibc-config-eabi.patch \ - file://armv4-fix-v4bx.patch \ - " -SRC_URI += "file://klibc-linux-libc-dev.patch \ - file://staging.patch \ - file://klcc-consider-sysroot.patch \ - " +SRC_URI = "git://git.kernel.org/pub/scm/libs/klibc/klibc.git \ + ${ARMPATCHES} \ + file://klibc-linux-libc-dev.patch \ + file://staging.patch \ + file://klcc-consider-sysroot.patch \ + file://0001-dash-Specify-format-string-in-fmtstr.patch \ + file://0001-Define-in_-structs-for-non-glibc-system-libs.patch \ + file://0001-include-linux-sysinfo.h-directly.patch \ + file://0001-mkfifo-Implement-mkfifo.patch \ +" + +ARMPATCHES ?= "" + +ARMPATCHES_arm = "file://klibc-config-eabi.patch \ + file://armv4-fix-v4bx.patch \ + " + S = "${WORKDIR}/git" @@ -30,9 +36,12 @@ EXTRA_OEMAKE = "'KLIBCARCH=${KLIBC_ARCH}' \ 'INSTALLROOT=${D}' \ 'INSTALLDIR=${libdir}/klibc' \ 'SHLIBDIR=${libdir}' \ + '${KLIBCTHUMB}' \ + 'KLIBCOPTFLAGS=${TUNE_CCARGS}' \ " export FIX_ARMV4_EABI_BX = "${FIX_V4BX}" +KLIBCTHUMB = "${@['', 'CONFIG_KLIBC_THUMB=y'][(d.getVar('ARM_INSTRUCTION_SET') == 'thumb')]}" do_configure () { ln -sf "${STAGING_DIR_TARGET}${exec_prefix}" linux @@ -51,3 +60,6 @@ KLIBC_ARCH_x86-64 = "x86_64" KLIBC_ARCH_powerpc = "ppc" KLIBC_ARCH_powerpc64 = "ppc64" THIS_LIBKLIBC = "libklibc (= ${PV}-${PR})" + +SECURITY_CFLAGS = "-fno-PIE -no-pie" +SECURITY_LDFLAGS = "-no-pie" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 11 09:31:11 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 11 Jul 2017 09:31:11 +0000 Subject: [oe-commits] [meta-openembedded] 15/23: garcon: update 0.4.0 -> 0.6.1 In-Reply-To: <149976545603.27419.9052770751141584718@git.openembedded.org> References: <149976545603.27419.9052770751141584718@git.openembedded.org> Message-ID: <20170711093056.B33D623345C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 6656d891c96e7b950817460dc0681252573869e6 Author: Andreas M?ller AuthorDate: Mon Jul 10 19:35:04 2017 +0200 garcon: update 0.4.0 -> 0.6.1 Signed-off-by: Andreas M?ller Signed-off-by: Martin Jansa --- meta-xfce/recipes-xfce/garcon/{garcon_0.4.0.bb => garcon_0.6.1.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-xfce/recipes-xfce/garcon/garcon_0.4.0.bb b/meta-xfce/recipes-xfce/garcon/garcon_0.6.1.bb similarity index 76% rename from meta-xfce/recipes-xfce/garcon/garcon_0.4.0.bb rename to meta-xfce/recipes-xfce/garcon/garcon_0.6.1.bb index 8a3260a..06e2369 100644 --- a/meta-xfce/recipes-xfce/garcon/garcon_0.4.0.bb +++ b/meta-xfce/recipes-xfce/garcon/garcon_0.6.1.bb @@ -9,8 +9,8 @@ inherit xfce gtk-doc distro_features_check REQUIRED_DISTRO_FEATURES = "x11" SRC_URI += "file://0001-xfce-applications.menu-don-t-bloat-settings-menu-by-.patch" -SRC_URI[md5sum] = "aba62b80787aac295083bf7afd419ffb" -SRC_URI[sha256sum] = "787dc859713b6518992d760d4b858fb02e8a30705e6f6e871d7a14cc97bca972" +SRC_URI[md5sum] = "174690ad19243f7ef9529cb0c24b9080" +SRC_URI[sha256sum] = "41c31ba0498c2cc39de4a8e0c2367510adbf4bc2104c17feee358e51e6acf603" EXTRA_OECONF = "--disable-gtk-doc" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 11 09:31:19 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 11 Jul 2017 09:31:19 +0000 Subject: [oe-commits] [meta-openembedded] 23/23: fluentbit: fix SYSTEMD_SERVICE name In-Reply-To: <149976545603.27419.9052770751141584718@git.openembedded.org> References: <149976545603.27419.9052770751141584718@git.openembedded.org> Message-ID: <20170711093056.E490F233469@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 59be5027f3cebfb259d2e4412edc4174f05e6c2b Author: Martin Jansa AuthorDate: Tue Jul 11 11:15:44 2017 +0200 fluentbit: fix SYSTEMD_SERVICE name * the binary and service name was renamed in 0.11.11 from fluent-bit to td-agent-bit, but unfortunately SYSTEMD_SERVICE wasn't updated in the recipe with the upgrade causing do_package failures as in: http://errors.yoctoproject.org/Errors/Details/147040/ ERROR: SYSTEMD_SERVICE_fluentbit value fluent-bit.service does not exist 0.11.3-r0/image/ 0.11.3-r0/image/etc 0.11.3-r0/image/etc/fluent-bit 0.11.3-r0/image/etc/fluent-bit/parsers.conf 0.11.3-r0/image/etc/fluent-bit/fluent-bit.conf 0.11.3-r0/image/lib 0.11.3-r0/image/lib/systemd 0.11.3-r0/image/lib/systemd/system 0.11.3-r0/image/lib/systemd/system/fluent-bit.service 0.11.3-r0/image/usr 0.11.3-r0/image/usr/bin 0.11.3-r0/image/usr/bin/fluent-bit 0.11.3-r0/image/usr/lib 0.11.3-r0/image/usr/lib/libfluent-bit.so 0.11.3-r0/image/usr/lib/pkgconfig 0.11.3-r0/image/usr/lib/pkgconfig/msgpack.pc 0.11.11-r0/image 0.11.11-r0/image/etc 0.11.11-r0/image/etc/td-agent-bit 0.11.11-r0/image/etc/td-agent-bit/parsers.conf 0.11.11-r0/image/etc/td-agent-bit/td-agent-bit.conf 0.11.11-r0/image/lib 0.11.11-r0/image/lib/systemd 0.11.11-r0/image/lib/systemd/system 0.11.11-r0/image/lib/systemd/system/td-agent-bit.service 0.11.11-r0/image/usr 0.11.11-r0/image/usr/bin 0.11.11-r0/image/usr/bin/td-agent-bit 0.11.11-r0/image/usr/lib 0.11.11-r0/image/usr/lib/libfluent-bit.so 0.11.11-r0/image/usr/lib/pkgconfig 0.11.11-r0/image/usr/lib/pkgconfig/msgpack.pc Signed-off-by: Martin Jansa --- meta-oe/recipes-extended/fluentbit/fluentbit_0.11.11.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit_0.11.11.bb b/meta-oe/recipes-extended/fluentbit/fluentbit_0.11.11.bb index 83818c8..521d00b 100644 --- a/meta-oe/recipes-extended/fluentbit/fluentbit_0.11.11.bb +++ b/meta-oe/recipes-extended/fluentbit/fluentbit_0.11.11.bb @@ -21,6 +21,6 @@ inherit cmake systemd EXTRA_OECMAKE = "-DGNU_HOST=${HOST_SYS} -DFLB_ALL=ON -DFLB_TD=1" -SYSTEMD_SERVICE_${PN} = "fluent-bit.service" +SYSTEMD_SERVICE_${PN} = "td-agent-bit.service" TARGET_CC_ARCH_append = " ${SELECTED_OPTIMIZATION}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 11 09:31:18 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 11 Jul 2017 09:31:18 +0000 Subject: [oe-commits] [meta-openembedded] 22/23: kodi: Fix build on arm In-Reply-To: <149976545603.27419.9052770751141584718@git.openembedded.org> References: <149976545603.27419.9052770751141584718@git.openembedded.org> Message-ID: <20170711093056.DF1DD233468@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 23eeaa50f3f2694c0928a359497883ed3befa95f Author: Martin Jansa AuthorDate: Tue Jul 11 10:26:56 2017 +0200 kodi: Fix build on arm Signed-off-by: Martin Jansa --- meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb b/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb index 0b39116..5a9fa98 100644 --- a/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb +++ b/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb @@ -134,6 +134,7 @@ BUILD_OPTIMIZATION = "${FULL_OPTIMIZATION}" LDFLAGS_append_mips = " -latomic" LDFLAGS_append_mipsel = " -latomic" LDFLAGS_append_powerpc = " -latomic" +LDFLAGS_append_arm = " -latomic" EXTRA_OECONF_append = " LIBTOOL=${STAGING_BINDIR_CROSS}/${HOST_SYS}-libtool" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 11 14:57:49 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 11 Jul 2017 14:57:49 +0000 Subject: [oe-commits] [openembedded-core] 02/02: libiconv: remove 0001-Fix-link-error-when-compiling-with-gcc-O0.patch In-Reply-To: <149978506795.29380.14817054223768087828@git.openembedded.org> References: <149978506795.29380.14817054223768087828@git.openembedded.org> Message-ID: <20170711145748.6953E233446@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit b1c4661742d12cfd444043e597d01bd627ee4ca4 Author: Robert Yang AuthorDate: Mon Jul 10 03:31:43 2017 -0700 libiconv: remove 0001-Fix-link-error-when-compiling-with-gcc-O0.patch The recipe and patches (including this patch) had been moved into meta-mingw, this dangling patch is useless here, so should be removed. Signed-off-by: Robert Yang Signed-off-by: Ross Burton --- ...Fix-link-error-when-compiling-with-gcc-O0.patch | 36 ---------------------- 1 file changed, 36 deletions(-) diff --git a/meta/recipes-support/libiconv/libiconv-1.14/0001-Fix-link-error-when-compiling-with-gcc-O0.patch b/meta/recipes-support/libiconv/libiconv-1.14/0001-Fix-link-error-when-compiling-with-gcc-O0.patch deleted file mode 100644 index 15af15f..0000000 --- a/meta/recipes-support/libiconv/libiconv-1.14/0001-Fix-link-error-when-compiling-with-gcc-O0.patch +++ /dev/null @@ -1,36 +0,0 @@ -This fix is also needed for GCC7. - -Upstream-Status: Backport -Signed-off-by: Ross Burton - -From b29089d8b43abc8fba073da7e6dccaeba56b2b70 Mon Sep 17 00:00:00 2001 -From: Bruno Haible -Date: Sat, 19 Nov 2016 17:13:56 +0100 -Subject: [PATCH] Fix link error when compiling with gcc -O0. - ---- - ChangeLog | 7 +++++++ - lib/iconv.c | 6 +++++- - 2 files changed, 12 insertions(+), 1 deletion(-) - -diff --git a/lib/iconv.c b/lib/iconv.c -index 5a1a325..31853a7 100644 ---- a/lib/iconv.c -+++ b/lib/iconv.c -@@ -178,8 +178,12 @@ static const struct alias sysdep_aliases[] = { - }; - #ifdef __GNUC__ - __inline -+#else -+#ifdef __cplusplus -+inline -+#endif - #endif --const struct alias * -+static const struct alias * - aliases2_lookup (register const char *str) - { - const struct alias * ptr; --- -2.8.1 - -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 11 14:57:48 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 11 Jul 2017 14:57:48 +0000 Subject: [oe-commits] [openembedded-core] 01/02: mesa: Split --with-platforms from egl PACKAGECONFIG In-Reply-To: <149978506795.29380.14817054223768087828@git.openembedded.org> References: <149978506795.29380.14817054223768087828@git.openembedded.org> Message-ID: <20170711145748.606AC233444@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 622d683273bab66f0b4dd385d083bff9fb7bb1de Author: Jussi Kukkonen AuthorDate: Mon Jul 10 14:54:08 2017 +0300 mesa: Split --with-platforms from egl PACKAGECONFIG Mesa platforms no longer depend directly on egl. Current implementation breaks without egl with x11 (which can happen with mesa-gl). Separate the platform selection. Make drm platform depend on gbm PACKAGECONFIG by default. Signed-off-by: Jussi Kukkonen Signed-off-by: Ross Burton --- meta/recipes-graphics/mesa/mesa.inc | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc index 59e8923..1b712a2 100644 --- a/meta/recipes-graphics/mesa/mesa.inc +++ b/meta/recipes-graphics/mesa/mesa.inc @@ -22,7 +22,12 @@ inherit autotools pkgconfig gettext distro_features_check REQUIRED_DISTRO_FEATURES = "opengl" -EXTRA_OECONF = "--enable-shared-glapi --with-llvm-prefix=${STAGING_BINDIR_NATIVE}" +PLATFORMS ??= "${@bb.utils.filter('PACKAGECONFIG', 'x11 wayland', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'gbm', 'drm', '', d)}" + +EXTRA_OECONF = "--enable-shared-glapi \ + --with-llvm-prefix=${STAGING_BINDIR_NATIVE} \ + --with-platforms='${PLATFORMS}'" PACKAGECONFIG ??= "gbm egl gles dri \ ${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11 vulkan', d)} \ @@ -47,10 +52,7 @@ PACKAGECONFIG[vulkan] = "--with-vulkan-drivers=intel, --without-vulkan-drivers" PACKAGECONFIG[gles] = "--enable-gles1 --enable-gles2, --disable-gles1 --disable-gles2" -EGL_PLATFORMS = "drm" -EGL_PLATFORMS .="${@bb.utils.contains('PACKAGECONFIG', 'x11', ',x11', '', d)}" -EGL_PLATFORMS .="${@bb.utils.contains('PACKAGECONFIG', 'wayland', ',wayland', '', d)}" -PACKAGECONFIG[egl] = "--enable-egl --with-platforms=${EGL_PLATFORMS}, --disable-egl --with-platforms=''" +PACKAGECONFIG[egl] = "--enable-egl, --disable-egl" PACKAGECONFIG[etnaviv] = "" PACKAGECONFIG[imx] = "" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 11 14:57:47 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 11 Jul 2017 14:57:47 +0000 Subject: [oe-commits] [openembedded-core] branch master updated (7dd5dfc -> b1c4661) Message-ID: <149978506795.29380.14817054223768087828@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master in repository openembedded-core. from 7dd5dfc oeqa/tinfoil: Improve test_wait_event for race issues add 6733936 piglit: Update to current git master add 5a58883 glibc: Upgrade to 2.25.90 add 81da4f6 glibc: Drop obsoleted bits/string.h from multilibbing add e8047c7 glibc: Enable obsoleted nsl add c5cb3a5 gcc-sanitizer: Fix build with glibc 2.26 add d70b970 gcc: Use ucontext_t instead of ucontext add 1e10965 musl: Update to latest on master add 9d39168 gcc: Fix libssh_nonshared linker specs for ppc/musl add b82bc7f world-broken.inc: Remove packages which are now buildable on musl add 459907c valgrind: tests build fixes for musl add bbcc532 mpeg2dec: Fix textrels QA errors on arm new 622d683 mesa: Split --with-platforms from egl PACKAGECONFIG new b1c4661 libiconv: remove 0001-Fix-link-error-when-compiling-with-gcc-O0.patch The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: meta/conf/distro/include/tcmode-default.inc | 2 +- meta/conf/distro/include/world-broken.inc | 25 ---- ...e_2.25.bb => cross-localedef-native_2.25.90.bb} | 26 ++-- ...bc-initial_2.25.bb => glibc-initial_2.25.90.bb} | 0 ...libc-locale_2.25.bb => glibc-locale_2.25.90.bb} | 0 ...libc-mtrace_2.25.bb => glibc-mtrace_2.25.90.bb} | 0 meta/recipes-core/glibc/glibc-package.inc | 2 +- ...bc-scripts_2.25.bb => glibc-scripts_2.25.90.bb} | 0 ...libc-Look-for-host-system-ld.so.cache-as-.patch | 8 +- ...libc-Fix-buffer-overrun-with-a-relocated-.patch | 8 +- ...libc-Raise-the-size-of-arrays-containing-.patch | 36 ++--- ...ivesdk-glibc-Allow-64-bit-atomics-for-x86.patch | 13 +- ...500-e5500-e6500-603e-fsqrt-implementation.patch | 44 +++--- ...-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch | 8 +- ...-Fix-undefined-reference-to-__sqrt_finite.patch | 30 ++-- ...qrt-f-are-now-inline-functions-and-call-o.patch | 30 ++-- ...bug-1443-which-explains-what-the-patch-do.patch | 10 +- ...n-libm-err-tab.pl-with-specific-dirs-in-S.patch | 8 +- ...qrt-f-are-now-inline-functions-and-call-o.patch | 10 +- ...ersion-output-matching-grok-gold-s-output.patch | 44 ------ ...configure.ac-handle-correctly-libc_cv_ro.patch} | 10 +- ...ibute.patch => 0013-Add-unused-attribute.patch} | 8 +- ...hin-the-path-sets-wrong-config-variables.patch} | 30 ++-- ...timezone-re-written-tzselect-as-posix-sh.patch} | 12 +- ...ove-bash-dependency-for-nscd-init-script.patch} | 11 +- ...-Cross-building-and-testing-instructions.patch} | 10 +- ...18-eglibc-Help-bootstrap-cross-toolchain.patch} | 10 +- ... 0019-eglibc-Clear-cache-lines-on-ppc8xx.patch} | 10 +- ...020-eglibc-Resolve-__fpscr_values-on-SH4.patch} | 10 +- .../glibc/0020-eglibc-cherry-picked-from.patch | 64 --------- ...atch => 0021-eglibc-Install-PIC-archives.patch} | 20 +-- ...ard-port-cross-locale-generation-support.patch} | 36 ++--- ...023-Define-DUMMY_LOCALE_T-if-not-defined.patch} | 8 +- ...c-Make-_dl_build_local_scope-breadth-fir.patch} | 8 +- ...locale-fix-hard-coded-reference-to-gcc-E.patch} | 10 +- .../glibc/{glibc_2.25.bb => glibc_2.25.90.bb} | 36 ++--- meta/recipes-core/musl/musl_git.bb | 2 +- meta/recipes-devtools/gcc/gcc-7.1.inc | 2 + ...shared-to-link-commandline-for-musl-targe.patch | 55 ++++++- ...r-Use-stack_t-instead-of-struct-sigaltsta.patch | 160 +++++++++++++++++++++ ...0-replace-struct-ucontext-with-ucontext_t.patch | 149 +++++++++++++++++++ ...m64-Define-__THROW-if-not-already-defined.patch | 32 +++++ ...emcheck-x86-Define-__THROW-if-not-defined.patch | 32 +++++ ...verride-Replace-__modify_ldt-with-syscall.patch | 68 +++++++++ meta/recipes-devtools/valgrind/valgrind_3.12.0.bb | 3 + meta/recipes-graphics/mesa/mesa.inc | 12 +- ...fine-GBM_BO_MAP-only-when-symbol-is-found.patch | 49 ------- ...nour-Surfaceless-MESA-in-get_default_disp.patch | 49 ------- ...atform_surfaceless-Don-t-use-eglGetPlatfo.patch | 31 ---- ...atform_surfaceless-Use-EXT-functions-for-.patch | 76 ---------- meta/recipes-graphics/piglit/piglit_git.bb | 8 +- ...001-check-for-available-arm-optimizations.patch | 55 +++++++ ...ity-of-global-symbols-used-in-ARM-specifi.patch | 63 ++++++++ meta/recipes-multimedia/mpeg2dec/mpeg2dec_0.5.1.bb | 5 +- ...Fix-link-error-when-compiling-with-gcc-O0.patch | 36 ----- 55 files changed, 861 insertions(+), 623 deletions(-) rename meta/recipes-core/glibc/{cross-localedef-native_2.25.bb => cross-localedef-native_2.25.90.bb} (62%) rename meta/recipes-core/glibc/{glibc-initial_2.25.bb => glibc-initial_2.25.90.bb} (100%) rename meta/recipes-core/glibc/{glibc-locale_2.25.bb => glibc-locale_2.25.90.bb} (100%) rename meta/recipes-core/glibc/{glibc-mtrace_2.25.bb => glibc-mtrace_2.25.90.bb} (100%) rename meta/recipes-core/glibc/{glibc-scripts_2.25.bb => glibc-scripts_2.25.90.bb} (100%) delete mode 100644 meta/recipes-core/glibc/glibc/0012-Make-ld-version-output-matching-grok-gold-s-output.patch rename meta/recipes-core/glibc/glibc/{0013-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch => 0012-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch} (82%) rename meta/recipes-core/glibc/glibc/{0014-Add-unused-attribute.patch => 0013-Add-unused-attribute.patch} (82%) rename meta/recipes-core/glibc/glibc/{0015-yes-within-the-path-sets-wrong-config-variables.patch => 0014-yes-within-the-path-sets-wrong-config-variables.patch} (94%) rename meta/recipes-core/glibc/glibc/{0016-timezone-re-written-tzselect-as-posix-sh.patch => 0015-timezone-re-written-tzselect-as-posix-sh.patch} (81%) rename meta/recipes-core/glibc/glibc/{0017-Remove-bash-dependency-for-nscd-init-script.patch => 0016-Remove-bash-dependency-for-nscd-init-script.patch} (89%) rename meta/recipes-core/glibc/glibc/{0018-eglibc-Cross-building-and-testing-instructions.patch => 0017-eglibc-Cross-building-and-testing-instructions.patch} (99%) rename meta/recipes-core/glibc/glibc/{0019-eglibc-Help-bootstrap-cross-toolchain.patch => 0018-eglibc-Help-bootstrap-cross-toolchain.patch} (94%) rename meta/recipes-core/glibc/glibc/{0021-eglibc-Clear-cache-lines-on-ppc8xx.patch => 0019-eglibc-Clear-cache-lines-on-ppc8xx.patch} (94%) rename meta/recipes-core/glibc/glibc/{0022-eglibc-Resolve-__fpscr_values-on-SH4.patch => 0020-eglibc-Resolve-__fpscr_values-on-SH4.patch} (88%) delete mode 100644 meta/recipes-core/glibc/glibc/0020-eglibc-cherry-picked-from.patch rename meta/recipes-core/glibc/glibc/{0023-eglibc-Install-PIC-archives.patch => 0021-eglibc-Install-PIC-archives.patch} (90%) rename meta/recipes-core/glibc/glibc/{0024-eglibc-Forward-port-cross-locale-generation-support.patch => 0022-eglibc-Forward-port-cross-locale-generation-support.patch} (96%) rename meta/recipes-core/glibc/glibc/{0025-Define-DUMMY_LOCALE_T-if-not-defined.patch => 0023-Define-DUMMY_LOCALE_T-if-not-defined.patch} (80%) rename meta/recipes-core/glibc/glibc/{0026-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch => 0024-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch} (89%) rename meta/recipes-core/glibc/glibc/{0027-locale-fix-hard-coded-reference-to-gcc-E.patch => 0025-locale-fix-hard-coded-reference-to-gcc-E.patch} (82%) rename meta/recipes-core/glibc/{glibc_2.25.bb => glibc_2.25.90.bb} (80%) create mode 100644 meta/recipes-devtools/gcc/gcc-7.1/0049-libsanitizer-Use-stack_t-instead-of-struct-sigaltsta.patch create mode 100644 meta/recipes-devtools/gcc/gcc-7.1/0050-replace-struct-ucontext-with-ucontext_t.patch create mode 100644 meta/recipes-devtools/valgrind/valgrind/0001-memcheck-arm64-Define-__THROW-if-not-already-defined.patch create mode 100644 meta/recipes-devtools/valgrind/valgrind/0002-memcheck-x86-Define-__THROW-if-not-defined.patch create mode 100644 meta/recipes-devtools/valgrind/valgrind/0003-tests-seg_override-Replace-__modify_ldt-with-syscall.patch delete mode 100644 meta/recipes-graphics/piglit/piglit/0001-CMake-define-GBM_BO_MAP-only-when-symbol-is-found.patch delete mode 100644 meta/recipes-graphics/piglit/piglit/0002-util-egl-Honour-Surfaceless-MESA-in-get_default_disp.patch delete mode 100644 meta/recipes-graphics/piglit/piglit/0003-egl_mesa_platform_surfaceless-Don-t-use-eglGetPlatfo.patch delete mode 100644 meta/recipes-graphics/piglit/piglit/0004-egl_mesa_platform_surfaceless-Use-EXT-functions-for-.patch create mode 100644 meta/recipes-multimedia/mpeg2dec/files/0001-check-for-available-arm-optimizations.patch create mode 100644 meta/recipes-multimedia/mpeg2dec/files/0002-Set-visibility-of-global-symbols-used-in-ARM-specifi.patch delete mode 100644 meta/recipes-support/libiconv/libiconv-1.14/0001-Fix-link-error-when-compiling-with-gcc-O0.patch -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 11 14:58:12 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 11 Jul 2017 14:58:12 +0000 Subject: [oe-commits] [openembedded-core] branch master-next updated (5fdcd59 -> b1c4661) Message-ID: <149978509211.30131.3039396481613713888@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master-next in repository openembedded-core. discard 5fdcd59 libiconv: remove 0001-Fix-link-error-when-compiling-with-gcc-O0.patch discard 2128da1 mesa: Split --with-platforms from egl PACKAGECONFIG discard 8256b12 vulkan-demos: Add recipe add 622d683 mesa: Split --with-platforms from egl PACKAGECONFIG add b1c4661 libiconv: remove 0001-Fix-link-error-when-compiling-with-gcc-O0.patch This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (5fdcd59) \ N -- N -- N refs/heads/master-next (b1c4661) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. No new revisions were added by this update. Summary of changes: ...ild-demos-with-questionably-licensed-data.patch | 91 ---------------------- .../vulkan-demos/0001-Fix-build-on-x86.patch | 41 ---------- ...stalling-demos-support-out-of-tree-builds.patch | 85 -------------------- meta/recipes-graphics/vulkan/vulkan-demos_git.bb | 36 --------- 4 files changed, 253 deletions(-) delete mode 100644 meta/recipes-graphics/vulkan/vulkan-demos/0001-Don-t-build-demos-with-questionably-licensed-data.patch delete mode 100644 meta/recipes-graphics/vulkan/vulkan-demos/0001-Fix-build-on-x86.patch delete mode 100644 meta/recipes-graphics/vulkan/vulkan-demos/0001-Support-installing-demos-support-out-of-tree-builds.patch delete mode 100644 meta/recipes-graphics/vulkan/vulkan-demos_git.bb -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 11 23:29:00 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 11 Jul 2017 23:29:00 +0000 Subject: [oe-commits] [openembedded-core] branch pyro updated (915b012 -> 3a2b434) Message-ID: <149981574003.29081.1778411227927536948@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch pyro in repository openembedded-core. from 915b012 systemd-boot.bbclass: Add configuration data to secondary EFI partition new 359722a mkefidsk: fix bash/dash shell quoting problem new 3a2b434 build-appliance-image: Update to pyro head revision The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: meta/recipes-core/images/build-appliance-image_15.0.0.bb | 2 +- scripts/contrib/mkefidisk.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 11 23:29:02 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 11 Jul 2017 23:29:02 +0000 Subject: [oe-commits] [openembedded-core] 02/02: build-appliance-image: Update to pyro head revision In-Reply-To: <149981574003.29081.1778411227927536948@git.openembedded.org> References: <149981574003.29081.1778411227927536948@git.openembedded.org> Message-ID: <20170711232900.2C599233446@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch pyro in repository openembedded-core. commit 3a2b434ea95612ed52ec9edfd809d87cb5c086be Author: Richard Purdie AuthorDate: Wed Jul 12 00:28:32 2017 +0100 build-appliance-image: Update to pyro head revision Signed-off-by: Richard Purdie --- meta/recipes-core/images/build-appliance-image_15.0.0.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-core/images/build-appliance-image_15.0.0.bb b/meta/recipes-core/images/build-appliance-image_15.0.0.bb index f145b5e..ab68f40 100644 --- a/meta/recipes-core/images/build-appliance-image_15.0.0.bb +++ b/meta/recipes-core/images/build-appliance-image_15.0.0.bb @@ -23,7 +23,7 @@ IMAGE_FSTYPES = "vmdk" inherit core-image module-base setuptools3 -SRCREV ?= "1d57ca352f798dd671fd8c15ee4286644c49c4b9" +SRCREV ?= "e3ba377698887def72de74d54056d7ad139ff509" SRC_URI = "git://git.yoctoproject.org/poky;branch=master \ file://Yocto_Build_Appliance.vmx \ file://Yocto_Build_Appliance.vmxf \ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 11 23:29:01 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 11 Jul 2017 23:29:01 +0000 Subject: [oe-commits] [openembedded-core] 01/02: mkefidsk: fix bash/dash shell quoting problem In-Reply-To: <149981574003.29081.1778411227927536948@git.openembedded.org> References: <149981574003.29081.1778411227927536948@git.openembedded.org> Message-ID: <20170711232900.25EF6233444@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch pyro in repository openembedded-core. commit 359722a86580128aeccd05531eff0da4e6971721 Author: Saul Wold AuthorDate: Tue Jul 11 08:14:16 2017 -0700 mkefidsk: fix bash/dash shell quoting problem mkefidsk currently writes a startup.nsh with embedded control characters. This happens because \b etc are control sequences to the shell echo command when using dash. The resulting startup.nsh causes the bootup to fail, and the user is dropped into the EFI shell to manually run startup.nsh. Patch originally provided by Troy D. Hanson [YOCTO #9665] Signed-off-by: Saul Wold Signed-off-by: Richard Purdie (cherry picked from commit 008d6cb5bb4969f53a228893c502be8c9420ecb0) Signed-off-by: Richard Purdie --- scripts/contrib/mkefidisk.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/contrib/mkefidisk.sh b/scripts/contrib/mkefidisk.sh index 800733f..ac4ec9c 100755 --- a/scripts/contrib/mkefidisk.sh +++ b/scripts/contrib/mkefidisk.sh @@ -444,7 +444,7 @@ if [ -d $ROOTFS_MNT/etc/udev/ ] ; then fi # Add startup.nsh script for automated boot -echo "fs0:\EFI\BOOT\bootx64.efi" > $BOOTFS_MNT/startup.nsh +printf "fs0:\%s\BOOT\%s\n" "EFI" "bootx64.efi" > $BOOTFS_MNT/startup.nsh # Call cleanup to unmount devices and images and remove the TMPDIR -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 12 06:06:31 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 12 Jul 2017 06:06:31 +0000 Subject: [oe-commits] [openembedded-core] 02/02: build-appliance-image: Update to pyro head revision In-Reply-To: <149983958904.21814.8048502248193553228@git.openembedded.org> References: <149983958904.21814.8048502248193553228@git.openembedded.org> Message-ID: <20170712060629.2C8AF233446@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch pyro in repository openembedded-core. commit beab5b357cd46094b1c376c47d04e8d0de73e1e3 Author: Richard Purdie AuthorDate: Wed Jul 12 07:06:06 2017 +0100 build-appliance-image: Update to pyro head revision Signed-off-by: Richard Purdie --- meta/recipes-core/images/build-appliance-image_15.0.0.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-core/images/build-appliance-image_15.0.0.bb b/meta/recipes-core/images/build-appliance-image_15.0.0.bb index aefe970..a0a1c24 100644 --- a/meta/recipes-core/images/build-appliance-image_15.0.0.bb +++ b/meta/recipes-core/images/build-appliance-image_15.0.0.bb @@ -23,7 +23,7 @@ IMAGE_FSTYPES = "vmdk" inherit core-image module-base setuptools3 -SRCREV ?= "e3ba377698887def72de74d54056d7ad139ff509" +SRCREV ?= "405517b4290d740f7d5b7e47a68ef37080ead63b" SRC_URI = "git://git.yoctoproject.org/poky;branch=pyro \ file://Yocto_Build_Appliance.vmx \ file://Yocto_Build_Appliance.vmxf \ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 12 06:06:29 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 12 Jul 2017 06:06:29 +0000 Subject: [oe-commits] [openembedded-core] branch pyro updated (3a2b434 -> beab5b3) Message-ID: <149983958904.21814.8048502248193553228@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch pyro in repository openembedded-core. from 3a2b434 build-appliance-image: Update to pyro head revision new 48b61ab build-appliance: Set to pyro release branch new beab5b3 build-appliance-image: Update to pyro head revision The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: meta/recipes-core/images/build-appliance-image_15.0.0.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 12 06:06:30 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 12 Jul 2017 06:06:30 +0000 Subject: [oe-commits] [openembedded-core] 01/02: build-appliance: Set to pyro release branch In-Reply-To: <149983958904.21814.8048502248193553228@git.openembedded.org> References: <149983958904.21814.8048502248193553228@git.openembedded.org> Message-ID: <20170712060629.24BB8233444@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch pyro in repository openembedded-core. commit 48b61abac098f180c37e11facd32f3bfa007254e Author: Richard Purdie AuthorDate: Wed Jul 12 07:05:44 2017 +0100 build-appliance: Set to pyro release branch Signed-off-by: Richard Purdie --- meta/recipes-core/images/build-appliance-image_15.0.0.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-core/images/build-appliance-image_15.0.0.bb b/meta/recipes-core/images/build-appliance-image_15.0.0.bb index ab68f40..aefe970 100644 --- a/meta/recipes-core/images/build-appliance-image_15.0.0.bb +++ b/meta/recipes-core/images/build-appliance-image_15.0.0.bb @@ -24,7 +24,7 @@ IMAGE_FSTYPES = "vmdk" inherit core-image module-base setuptools3 SRCREV ?= "e3ba377698887def72de74d54056d7ad139ff509" -SRC_URI = "git://git.yoctoproject.org/poky;branch=master \ +SRC_URI = "git://git.yoctoproject.org/poky;branch=pyro \ file://Yocto_Build_Appliance.vmx \ file://Yocto_Build_Appliance.vmxf \ file://README_VirtualBox_Guest_Additions.txt \ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 12 08:23:02 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 12 Jul 2017 08:23:02 +0000 Subject: [oe-commits] [meta-openembedded] 02/23: gvfs: update 1.28.3 -> 1.32.1 In-Reply-To: <149984778010.23327.4991773501196615787@git.openembedded.org> References: <149984778010.23327.4991773501196615787@git.openembedded.org> Message-ID: <20170712082300.85423233446@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 6351d5d8040d848c8a2ea29d53d44aea153ffab2 Author: Andreas M?ller AuthorDate: Mon Jul 10 19:35:03 2017 +0200 gvfs: update 1.28.3 -> 1.32.1 Signed-off-by: Andreas M?ller Signed-off-by: Martin Jansa --- meta-gnome/recipes-gnome/gvfs/{gvfs_1.28.3.bb => gvfs_1.32.1.bb} | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/meta-gnome/recipes-gnome/gvfs/gvfs_1.28.3.bb b/meta-gnome/recipes-gnome/gvfs/gvfs_1.32.1.bb similarity index 91% rename from meta-gnome/recipes-gnome/gvfs/gvfs_1.28.3.bb rename to meta-gnome/recipes-gnome/gvfs/gvfs_1.32.1.bb index 62b757f..94d8954 100644 --- a/meta-gnome/recipes-gnome/gvfs/gvfs_1.28.3.bb +++ b/meta-gnome/recipes-gnome/gvfs/gvfs_1.32.1.bb @@ -2,14 +2,14 @@ DESCRIPTION = "gvfs is a userspace virtual filesystem" LICENSE = "LGPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=05df38dd77c35ec8431f212410a3329e" -inherit gnome bash-completion +inherit gnome bash-completion gettext DEPENDS += "libsecret glib-2.0 gconf intltool-native libgudev udisks2" SRC_URI = "https://download.gnome.org/sources/${BPN}/${@gnome_verdir("${PV}")}/${BPN}-${PV}.tar.xz;name=archive" -SRC_URI[archive.md5sum] = "d2399a1a217dd5030e8830c7e7c813c2" -SRC_URI[archive.sha256sum] = "458c4cb68570f6ef4a9e152995c62d0057c3e0a07ed64d84c7200cdd22f0bd17" +SRC_URI[archive.md5sum] = "cbe766b46f324e17d7abcfb4a89a1684" +SRC_URI[archive.sha256sum] = "d0b6c9edab09d52472355657a2f0a14831b2e6c58caba395f721ab683f836ade" EXTRA_OECONF = " \ --disable-gdu \ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 12 08:23:01 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 12 Jul 2017 08:23:01 +0000 Subject: [oe-commits] [meta-openembedded] 01/23: udisks2: update 2.1.7 -> 2.1.8 In-Reply-To: <149984778010.23327.4991773501196615787@git.openembedded.org> References: <149984778010.23327.4991773501196615787@git.openembedded.org> Message-ID: <20170712082300.7BAEE233444@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit b234cb7841d79c59b0bee8794e2081f257b463f6 Author: Andreas M?ller AuthorDate: Mon Jul 10 19:35:02 2017 +0200 udisks2: update 2.1.7 -> 2.1.8 Signed-off-by: Andreas M?ller Signed-off-by: Martin Jansa --- meta-oe/recipes-support/udisks/{udisks2_2.1.7.bb => udisks2_2.1.8.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-oe/recipes-support/udisks/udisks2_2.1.7.bb b/meta-oe/recipes-support/udisks/udisks2_2.1.8.bb similarity index 89% rename from meta-oe/recipes-support/udisks/udisks2_2.1.7.bb rename to meta-oe/recipes-support/udisks/udisks2_2.1.8.bb index d8f7eaa..6d90e49 100644 --- a/meta-oe/recipes-support/udisks/udisks2_2.1.7.bb +++ b/meta-oe/recipes-support/udisks/udisks2_2.1.8.bb @@ -10,8 +10,8 @@ RDEPENDS_${PN} = "acl" SRC_URI = "http://udisks.freedesktop.org/releases/udisks-${PV}.tar.bz2 \ file://non-gnu-libc.patch \ " -SRC_URI[md5sum] = "8bccd36573b75286538bd5bd2c424f45" -SRC_URI[sha256sum] = "abae2bb3bdc691ca13c1e4c244630b8c881c4f3b35c207299f1b39b7bec83785" +SRC_URI[md5sum] = "501d11c243bd8c6c00650474cd2afaab" +SRC_URI[sha256sum] = "da416914812a77e5f4d82b81deb8c25799fd3228d27d52f7bf89a501b1857dda" inherit autotools systemd gtk-doc gobject-introspection -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 12 08:23:03 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 12 Jul 2017 08:23:03 +0000 Subject: [oe-commits] [meta-openembedded] 03/23: garcon: update 0.4.0 -> 0.6.1 In-Reply-To: <149984778010.23327.4991773501196615787@git.openembedded.org> References: <149984778010.23327.4991773501196615787@git.openembedded.org> Message-ID: <20170712082300.8EF41233448@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 072a282ade0177e7dbe4aa6b1ea38debf5bc7226 Author: Andreas M?ller AuthorDate: Mon Jul 10 19:35:04 2017 +0200 garcon: update 0.4.0 -> 0.6.1 Signed-off-by: Andreas M?ller Signed-off-by: Martin Jansa --- meta-xfce/recipes-xfce/garcon/{garcon_0.4.0.bb => garcon_0.6.1.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-xfce/recipes-xfce/garcon/garcon_0.4.0.bb b/meta-xfce/recipes-xfce/garcon/garcon_0.6.1.bb similarity index 76% rename from meta-xfce/recipes-xfce/garcon/garcon_0.4.0.bb rename to meta-xfce/recipes-xfce/garcon/garcon_0.6.1.bb index 8a3260a..06e2369 100644 --- a/meta-xfce/recipes-xfce/garcon/garcon_0.4.0.bb +++ b/meta-xfce/recipes-xfce/garcon/garcon_0.6.1.bb @@ -9,8 +9,8 @@ inherit xfce gtk-doc distro_features_check REQUIRED_DISTRO_FEATURES = "x11" SRC_URI += "file://0001-xfce-applications.menu-don-t-bloat-settings-menu-by-.patch" -SRC_URI[md5sum] = "aba62b80787aac295083bf7afd419ffb" -SRC_URI[sha256sum] = "787dc859713b6518992d760d4b858fb02e8a30705e6f6e871d7a14cc97bca972" +SRC_URI[md5sum] = "174690ad19243f7ef9529cb0c24b9080" +SRC_URI[sha256sum] = "41c31ba0498c2cc39de4a8e0c2367510adbf4bc2104c17feee358e51e6acf603" EXTRA_OECONF = "--disable-gtk-doc" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 12 08:23:04 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 12 Jul 2017 08:23:04 +0000 Subject: [oe-commits] [meta-openembedded] 04/23: gparted: update 0.27.0 -> 0.28.1 In-Reply-To: <149984778010.23327.4991773501196615787@git.openembedded.org> References: <149984778010.23327.4991773501196615787@git.openembedded.org> Message-ID: <20170712082300.98BE223344A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 4ae21b2774827bf88edd1c42229c7be5b90f4f2a Author: Andreas M?ller AuthorDate: Mon Jul 10 19:35:05 2017 +0200 gparted: update 0.27.0 -> 0.28.1 Signed-off-by: Andreas M?ller Signed-off-by: Martin Jansa --- .../recipes-extended/gparted/{gparted_0.27.0.bb => gparted_0.28.1.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-gnome/recipes-extended/gparted/gparted_0.27.0.bb b/meta-gnome/recipes-extended/gparted/gparted_0.28.1.bb similarity index 90% rename from meta-gnome/recipes-extended/gparted/gparted_0.27.0.bb rename to meta-gnome/recipes-extended/gparted/gparted_0.28.1.bb index c921065..83ab6f2 100644 --- a/meta-gnome/recipes-extended/gparted/gparted_0.27.0.bb +++ b/meta-gnome/recipes-extended/gparted/gparted_0.28.1.bb @@ -10,8 +10,8 @@ SRC_URI = " \ file://org.yoctoproject.pkexec.run-gparted.policy \ file://gparted_polkit \ " -SRC_URI[md5sum] = "726f539f774b442670028af656f270bd" -SRC_URI[sha256sum] = "208cf60c061b86bee4f658d568a3b5d843dce3ab9847f66b452298268799e7bd" +SRC_URI[md5sum] = "ab72464a3ab2137664d9df8462befd3f" +SRC_URI[sha256sum] = "76891f14394754f7d6ecceba2af0e585bf89f9d780c389a255dcd41a2f45d333" DEPENDS = "glib-2.0 glib-2.0-native gtkmm parted gnome-doc-utils intltool-native" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 12 08:23:00 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 12 Jul 2017 08:23:00 +0000 Subject: [oe-commits] [meta-openembedded] branch master-next updated (59be502 -> 1815d4e) Message-ID: <149984778010.23327.4991773501196615787@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a change to branch master-next in repository meta-openembedded. discard 59be502 fluentbit: fix SYSTEMD_SERVICE name discard 23eeaa5 kodi: Fix build on arm discard dac2e8a ubi-utils-klibc: Pass TUNE_CCARGS into CFLAGS discard c27fad3 klibc: Fix build with musl discard 9852d03 libdbus-c++: Add -pthread to linker flags discard e0dabc2 faac: update 1.28 -> 1.29 discard de58e42 abiword: update 3.0.1 -> 3.0.2 discard e995d76 gparted: update 0.27.0 -> 0.28.1 discard 6656d89 garcon: update 0.4.0 -> 0.6.1 discard 60b25be gvfs: update 1.28.3 -> 1.32.1 discard e74d5b4 udisks2: update 2.1.7 -> 2.1.8 discard fbdc222 recipes-utils: Add recipe for udevil new b234cb7 udisks2: update 2.1.7 -> 2.1.8 new 6351d5d gvfs: update 1.28.3 -> 1.32.1 new 072a282 garcon: update 0.4.0 -> 0.6.1 new 4ae21b2 gparted: update 0.27.0 -> 0.28.1 new 85f9438 abiword: update 3.0.1 -> 3.0.2 new f180ebe faac: update 1.28 -> 1.29 new d4373e3 libdbus-c++: Add -pthread to linker flags new 216bf8b klibc: Fix build with musl new ac04fc6 ubi-utils-klibc: Pass TUNE_CCARGS into CFLAGS new 225e21d kodi: Fix build on arm new 5cce369 fluentbit: fix SYSTEMD_SERVICE name new 626a865 Intel: remove license file new 7fdf736 proj: update to 4.9.3 new ef59094 klibc: Fix linking by using bfd linker when default linker is gold new 9b2852b libsombok3: add recipe new 20b186c libmime-charset-perl: add recipe new 3ccb597 libterm-readkey-perl: add recipe new 91736f5 liblocale-gettext-perl: add recipe new 9dfe3e1 libtext-charwidth-perl: add recipe new f5158f7 libtext-wrapi18n-perl: add recipe new 247aec7 libunicode-linebreak-perl: add recipe new 131de8c po4a: add full functionalities new 1815d4e ebtables: replace ebtables-save perl script with bash rewrite This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (59be502) \ N -- N -- N refs/heads/master-next (1815d4e) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 23 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../0001-udevil-0.4.3-fix-compile-with-gcc6.patch | 12 ------ .../recipes-utils/udevil/udevil_0.4.4.bb | 28 -------------- .../klibc-2.0.4/0001-always-use-bfd-linker.patch | 30 +++++++++++++++ meta-initramfs/recipes-devtools/klibc/klibc.inc | 1 + .../ebtables/ebtables-2.0.10-4/ebtables-save | 43 ++++++++++++++++++++++ .../recipes-filter/ebtables/ebtables_2.0.10-4.bb | 15 ++++---- meta-oe/licenses/Intel | 21 ----------- ...01-configure.ac-fix-cross-compiling-issue.patch | 31 ++++++++++++++++ .../libsombok3/libsombok3_2.4.0.bb | 25 +++++++++++++ .../proj/{proj_4.8.0.bb => proj_4.9.3.bb} | 4 +- .../liblocale/liblocale-gettext-perl_1.07.bb | 21 +++++++++++ .../libmime/libmime-charset-perl_1.012.2.bb | 19 ++++++++++ .../libterm/libterm-readkey-perl_2.37.bb | 36 ++++++++++++++++++ .../libtext/libtext-charwidth-perl_0.04.bb | 27 ++++++++++++++ .../libtext/libtext-wrapi18n-perl_0.06.bb | 32 ++++++++++++++++ .../libunicode-linebreak-perl_2017.004.bb | 26 +++++++++++++ meta-perl/recipes-perl/po4a/po4a_0.49.bb | 17 ++++++++- 17 files changed, 315 insertions(+), 73 deletions(-) delete mode 100644 meta-filesystems/recipes-utils/udevil/files/0001-udevil-0.4.3-fix-compile-with-gcc6.patch delete mode 100644 meta-filesystems/recipes-utils/udevil/udevil_0.4.4.bb create mode 100644 meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-always-use-bfd-linker.patch create mode 100755 meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/ebtables-save delete mode 100644 meta-oe/licenses/Intel create mode 100644 meta-oe/recipes-devtools/libsombok3/libsombok3/0001-configure.ac-fix-cross-compiling-issue.patch create mode 100644 meta-oe/recipes-devtools/libsombok3/libsombok3_2.4.0.bb rename meta-oe/recipes-navigation/proj/{proj_4.8.0.bb => proj_4.9.3.bb} (70%) create mode 100644 meta-perl/recipes-perl/liblocale/liblocale-gettext-perl_1.07.bb create mode 100644 meta-perl/recipes-perl/libmime/libmime-charset-perl_1.012.2.bb create mode 100644 meta-perl/recipes-perl/libterm/libterm-readkey-perl_2.37.bb create mode 100644 meta-perl/recipes-perl/libtext/libtext-charwidth-perl_0.04.bb create mode 100644 meta-perl/recipes-perl/libtext/libtext-wrapi18n-perl_0.06.bb create mode 100644 meta-perl/recipes-perl/libunicode/libunicode-linebreak-perl_2017.004.bb -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 12 08:23:10 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 12 Jul 2017 08:23:10 +0000 Subject: [oe-commits] [meta-openembedded] 10/23: kodi: Fix build on arm In-Reply-To: <149984778010.23327.4991773501196615787@git.openembedded.org> References: <149984778010.23327.4991773501196615787@git.openembedded.org> Message-ID: <20170712082300.CB20B233454@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 225e21d4b4a046470edd46540f6b23b15e4ef32a Author: Martin Jansa AuthorDate: Tue Jul 11 10:26:56 2017 +0200 kodi: Fix build on arm Signed-off-by: Martin Jansa --- meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb b/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb index 0b39116..5a9fa98 100644 --- a/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb +++ b/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb @@ -134,6 +134,7 @@ BUILD_OPTIMIZATION = "${FULL_OPTIMIZATION}" LDFLAGS_append_mips = " -latomic" LDFLAGS_append_mipsel = " -latomic" LDFLAGS_append_powerpc = " -latomic" +LDFLAGS_append_arm = " -latomic" EXTRA_OECONF_append = " LIBTOOL=${STAGING_BINDIR_CROSS}/${HOST_SYS}-libtool" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 12 08:23:09 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 12 Jul 2017 08:23:09 +0000 Subject: [oe-commits] [meta-openembedded] 09/23: ubi-utils-klibc: Pass TUNE_CCARGS into CFLAGS In-Reply-To: <149984778010.23327.4991773501196615787@git.openembedded.org> References: <149984778010.23327.4991773501196615787@git.openembedded.org> Message-ID: <20170712082300.C3B63233453@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit ac04fc6afa8badda104676a6660b9dd6a3ef2b18 Author: Khem Raj AuthorDate: Mon Jul 10 21:54:23 2017 -0700 ubi-utils-klibc: Pass TUNE_CCARGS into CFLAGS This is needed for hard float ABI selection options Signed-off-by: Khem Raj Cc: Andrea Adami Signed-off-by: Martin Jansa --- meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_1.5.1.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_1.5.1.bb b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_1.5.1.bb index 8ca1ca7..8674077 100644 --- a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_1.5.1.bb +++ b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_1.5.1.bb @@ -21,6 +21,7 @@ SRC_URI = "git://git.infradead.org/mtd-utils.git;tag=b7455d847ab4f9eeeb6a729efc3 S = "${WORKDIR}/git/" EXTRA_OEMAKE = "'CC=${CC}' 'RANLIB=${RANLIB}' 'AR=${AR}' 'CFLAGS=${CFLAGS} -I${S}include -DWITHOUT_XATTR' 'BUILDDIR=${S}'" +CFLAGS += "${TUNE_CCARGS}" do_install () { -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 12 08:23:08 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 12 Jul 2017 08:23:08 +0000 Subject: [oe-commits] [meta-openembedded] 08/23: klibc: Fix build with musl In-Reply-To: <149984778010.23327.4991773501196615787@git.openembedded.org> References: <149984778010.23327.4991773501196615787@git.openembedded.org> Message-ID: <20170712082300.BC0FC233452@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 216bf8b3d3aa96773e472efe65443b88d41f5560 Author: Khem Raj AuthorDate: Mon Jul 10 21:54:22 2017 -0700 klibc: Fix build with musl klibc failed to build with armv7+ when using thumb2 it needed to resepct TUNE_CCARGS Add patches to fix build with musl, to sort out the linux header maze. Signed-off-by: Khem Raj Cc: Andrea Adami Signed-off-by: Martin Jansa --- ...ine-in_-structs-for-non-glibc-system-libs.patch | 85 ++++++++++++++++++++++ ...0001-dash-Specify-format-string-in-fmtstr.patch | 31 ++++++++ .../0001-include-linux-sysinfo.h-directly.patch | 32 ++++++++ .../klibc-2.0.4/0001-mkfifo-Implement-mkfifo.patch | 29 ++++++++ meta-initramfs/recipes-devtools/klibc/klibc.inc | 34 ++++++--- 5 files changed, 200 insertions(+), 11 deletions(-) diff --git a/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Define-in_-structs-for-non-glibc-system-libs.patch b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Define-in_-structs-for-non-glibc-system-libs.patch new file mode 100644 index 0000000..8d1ec69 --- /dev/null +++ b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Define-in_-structs-for-non-glibc-system-libs.patch @@ -0,0 +1,85 @@ +From f414dea1316a48aba3e8e293201ebd51652d3ef4 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 9 Jul 2017 15:17:29 -0700 +Subject: [PATCH] Define in_* structs for non-glibc system libs + +These defines and structs are required to be coming from +userspace netinet/in.h, which is being overridden in klibc +however, libc-compat.h from kernel is only written keeping +glibc in mind, and does not provide adequate guards for musl +to infer that these structs should be defined in linux/in.h + +Signed-off-by: Khem Raj +--- + usr/include/netinet/in.h | 33 +++++++++++++++++++++++++++++++++ + 1 file changed, 33 insertions(+) + +Index: git/usr/include/netinet/in.h +=================================================================== +--- git.orig/usr/include/netinet/in.h ++++ git/usr/include/netinet/in.h +@@ -5,6 +5,42 @@ + #ifndef _NETINET_IN_H + #define _NETINET_IN_H + ++#ifndef __GLIBC__ ++#include ++ ++#undef __UAPI_DEF_IN_ADDR ++#undef __UAPI_DEF_IN_IPPROTO ++#undef __UAPI_DEF_IN_PKTINFO ++#undef __UAPI_DEF_IP_MREQ ++#undef __UAPI_DEF_SOCKADDR_IN ++#undef __UAPI_DEF_IN_CLASS ++#undef __UAPI_DEF_IN6_ADDR ++#undef __UAPI_DEF_IN6_ADDR_ALT ++#undef __UAPI_DEF_SOCKADDR_IN6 ++#undef __UAPI_DEF_IPV6_MREQ ++#undef __UAPI_DEF_IPPROTO_V6 ++#undef __UAPI_DEF_IPV6_OPTIONS ++#undef __UAPI_DEF_IN6_PKTINFO ++#undef __UAPI_DEF_IP6_MTUINFO ++#undef __UAPI_DEF_IF_IFREQ ++ ++#define __UAPI_DEF_IN_ADDR 1 ++#define __UAPI_DEF_IN_IPPROTO 1 ++#define __UAPI_DEF_IN_PKTINFO 1 ++#define __UAPI_DEF_IP_MREQ 1 ++#define __UAPI_DEF_SOCKADDR_IN 1 ++#define __UAPI_DEF_IN_CLASS 1 ++#define __UAPI_DEF_IN6_ADDR 1 ++#define __UAPI_DEF_IN6_ADDR_ALT 1 ++#define __UAPI_DEF_SOCKADDR_IN6 1 ++#define __UAPI_DEF_IPV6_MREQ 1 ++#define __UAPI_DEF_IPPROTO_V6 1 ++#define __UAPI_DEF_IPV6_OPTIONS 1 ++#define __UAPI_DEF_IN6_PKTINFO 1 ++#define __UAPI_DEF_IP6_MTUINFO 1 ++#define __UAPI_DEF_IF_IFREQ 1 ++#endif ++ + #include + #include + #include /* Must be included *before* */ +Index: git/usr/include/net/if.h +=================================================================== +--- git.orig/usr/include/net/if.h ++++ git/usr/include/net/if.h +@@ -1,6 +1,17 @@ + #ifndef _NET_IF_H + #define _NET_IF_H + ++#ifndef __GLIBC__ ++#include ++#undef __UAPI_DEF_IF_IFREQ ++#define __UAPI_DEF_IF_IFREQ 1 ++#undef __UAPI_DEF_IF_IFNAMSIZ ++#define __UAPI_DEF_IF_IFNAMSIZ 1 ++#undef __UAPI_DEF_IF_IFMAP ++#define __UAPI_DEF_IF_IFMAP 1 ++#undef __UAPI_DEF_IF_NET_DEVICE_FLAGS ++#define __UAPI_DEF_IF_NET_DEVICE_FLAGS 1 ++#endif + #include + #include + #include diff --git a/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-dash-Specify-format-string-in-fmtstr.patch b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-dash-Specify-format-string-in-fmtstr.patch new file mode 100644 index 0000000..ae8c1f1 --- /dev/null +++ b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-dash-Specify-format-string-in-fmtstr.patch @@ -0,0 +1,31 @@ +From 2fff607fd0b5550e5072a6fffcbb01c29d5207d2 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 9 Jul 2017 13:51:25 -0700 +Subject: [PATCH] dash: Specify format string in fmtstr() + +Fixes build with hardening flags + +usr/dash/jobs.c:429:3: error: format not a string literal and no format arguments [-Werror=format-security] + col = fmtstr(s, 32, strsignal(st)); + +Signed-off-by: Khem Raj +--- + usr/dash/jobs.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/usr/dash/jobs.c b/usr/dash/jobs.c +index 009bbfee..299bcacc 100644 +--- a/usr/dash/jobs.c ++++ b/usr/dash/jobs.c +@@ -426,7 +426,7 @@ sprint_status(char *s, int status, int sigonly) + goto out; + #endif + } +- col = fmtstr(s, 32, strsignal(st)); ++ col = fmtstr(s, 32, "%s", strsignal(st)); + #ifdef WCOREDUMP + if (WCOREDUMP(status)) { + col += fmtstr(s + col, 16, " (core dumped)"); +-- +2.13.2 + diff --git a/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-include-linux-sysinfo.h-directly.patch b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-include-linux-sysinfo.h-directly.patch new file mode 100644 index 0000000..1b033ac --- /dev/null +++ b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-include-linux-sysinfo.h-directly.patch @@ -0,0 +1,32 @@ +From ab060a57b41f989665ade20e813bbcb67f91f1f2 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 9 Jul 2017 15:56:28 -0700 +Subject: [PATCH] include linux/sysinfo.h directly + +This is done to avoid the kernel header linux/kernel.h to use +__GLIBC__ define to decide on if libc implements sysinfo() API +or not. Kernel headers should be independent of such assumptions +but until its done in right place, change the local header +override to avoid this assumption + +Signed-off-by: Khem Raj +--- + usr/include/sys/sysinfo.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/usr/include/sys/sysinfo.h b/usr/include/sys/sysinfo.h +index dba68dc6..d145c0b1 100644 +--- a/usr/include/sys/sysinfo.h ++++ b/usr/include/sys/sysinfo.h +@@ -5,7 +5,7 @@ + #ifndef _SYS_SYSINFO_H + #define _SYS_SYSINFO_H + +-#include ++#include + + extern int sysinfo(struct sysinfo *info); + +-- +2.13.2 + diff --git a/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-mkfifo-Implement-mkfifo.patch b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-mkfifo-Implement-mkfifo.patch new file mode 100644 index 0000000..9791412 --- /dev/null +++ b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-mkfifo-Implement-mkfifo.patch @@ -0,0 +1,29 @@ +From b4e120f5edf06e6df138b1804a8b5180584cea6b Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 10 Jul 2017 20:42:50 -0700 +Subject: [PATCH] mkfifo: Implement mkfifo + +Signed-off-by: Khem Raj +--- + usr/utils/mkfifo.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/usr/utils/mkfifo.c b/usr/utils/mkfifo.c +index 5a758b2a..f1f577e6 100644 +--- a/usr/utils/mkfifo.c ++++ b/usr/utils/mkfifo.c +@@ -26,6 +26,11 @@ static int make_fifo(char *dir) + return 0; + } + ++int mkfifo (const char *__p, mode_t __m) ++{ ++ return mknod(__p, (__m & ~S_IFMT) | S_IFIFO, (dev_t) 0); ++} ++ + int main(int argc, char *argv[]) + { + int c, ret = 0; +-- +2.13.2 + diff --git a/meta-initramfs/recipes-devtools/klibc/klibc.inc b/meta-initramfs/recipes-devtools/klibc/klibc.inc index e039cb2..be59aa4 100644 --- a/meta-initramfs/recipes-devtools/klibc/klibc.inc +++ b/meta-initramfs/recipes-devtools/klibc/klibc.inc @@ -7,17 +7,23 @@ LIC_FILES_CHKSUM = "file://usr/klibc/LICENSE;md5=d75181f10e998c21eb147f6d2e43ce8 DEPENDS = "linux-libc-headers perl-native" SRCREV = "4d19974d7020488f63651244e1f9f51727c3f66c" -SRC_URI = "git://git.kernel.org/pub/scm/libs/klibc/klibc.git" -SRC_URI_append_linux-gnueabi = " file://klibc-config-eabi.patch \ - file://armv4-fix-v4bx.patch \ - " -SRC_URI_append_linux-uclibceabi = " file://klibc-config-eabi.patch \ - file://armv4-fix-v4bx.patch \ - " -SRC_URI += "file://klibc-linux-libc-dev.patch \ - file://staging.patch \ - file://klcc-consider-sysroot.patch \ - " +SRC_URI = "git://git.kernel.org/pub/scm/libs/klibc/klibc.git \ + ${ARMPATCHES} \ + file://klibc-linux-libc-dev.patch \ + file://staging.patch \ + file://klcc-consider-sysroot.patch \ + file://0001-dash-Specify-format-string-in-fmtstr.patch \ + file://0001-Define-in_-structs-for-non-glibc-system-libs.patch \ + file://0001-include-linux-sysinfo.h-directly.patch \ + file://0001-mkfifo-Implement-mkfifo.patch \ +" + +ARMPATCHES ?= "" + +ARMPATCHES_arm = "file://klibc-config-eabi.patch \ + file://armv4-fix-v4bx.patch \ + " + S = "${WORKDIR}/git" @@ -30,9 +36,12 @@ EXTRA_OEMAKE = "'KLIBCARCH=${KLIBC_ARCH}' \ 'INSTALLROOT=${D}' \ 'INSTALLDIR=${libdir}/klibc' \ 'SHLIBDIR=${libdir}' \ + '${KLIBCTHUMB}' \ + 'KLIBCOPTFLAGS=${TUNE_CCARGS}' \ " export FIX_ARMV4_EABI_BX = "${FIX_V4BX}" +KLIBCTHUMB = "${@['', 'CONFIG_KLIBC_THUMB=y'][(d.getVar('ARM_INSTRUCTION_SET') == 'thumb')]}" do_configure () { ln -sf "${STAGING_DIR_TARGET}${exec_prefix}" linux @@ -51,3 +60,6 @@ KLIBC_ARCH_x86-64 = "x86_64" KLIBC_ARCH_powerpc = "ppc" KLIBC_ARCH_powerpc64 = "ppc64" THIS_LIBKLIBC = "libklibc (= ${PV}-${PR})" + +SECURITY_CFLAGS = "-fno-PIE -no-pie" +SECURITY_LDFLAGS = "-no-pie" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 12 08:23:07 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 12 Jul 2017 08:23:07 +0000 Subject: [oe-commits] [meta-openembedded] 07/23: libdbus-c++: Add -pthread to linker flags In-Reply-To: <149984778010.23327.4991773501196615787@git.openembedded.org> References: <149984778010.23327.4991773501196615787@git.openembedded.org> Message-ID: <20170712082300.B2DC3233450@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit d4373e39903ae79a4cd465898d63b7cada4612ba Author: Khem Raj AuthorDate: Mon Jul 10 21:54:21 2017 -0700 libdbus-c++: Add -pthread to linker flags It uses symbols from libpthread e.g. pthread_mutexattr_init and pthread_mutexattr_settype but does not link with pthreads, gold is strict about it and calls out with an error ../src/.libs/libdbus-c++-1.so: error: undefined reference to 'pthread_mutexattr_init' ../src/.libs/libdbus-c++-1.so: error: undefined reference to 'pthread_mutexattr_settype' Therefore correct the linker cmdline Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- meta-oe/recipes-core/dbus/libdbus-c++_0.9.0.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-oe/recipes-core/dbus/libdbus-c++_0.9.0.bb b/meta-oe/recipes-core/dbus/libdbus-c++_0.9.0.bb index 4cc1333..a6d8b86 100644 --- a/meta-oe/recipes-core/dbus/libdbus-c++_0.9.0.bb +++ b/meta-oe/recipes-core/dbus/libdbus-c++_0.9.0.bb @@ -21,6 +21,7 @@ SRC_URI[sha256sum] = "bc11ac297b3cb010be904c72789695543ee3fdf3d75cdc8225fd371385 inherit autotools pkgconfig EXTRA_OECONF = "--disable-ecore --disable-examples --disable-tests" +LDFLAGS += "-pthread" PACKAGE_BEFORE_PN = "${PN}-tools" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 12 08:23:06 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 12 Jul 2017 08:23:06 +0000 Subject: [oe-commits] [meta-openembedded] 06/23: faac: update 1.28 -> 1.29 In-Reply-To: <149984778010.23327.4991773501196615787@git.openembedded.org> References: <149984778010.23327.4991773501196615787@git.openembedded.org> Message-ID: <20170712082300.AADAF23344E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit f180ebe074af1a67b94625c05afe50a4e591d27f Author: Andreas M?ller AuthorDate: Mon Jul 10 19:35:07 2017 +0200 faac: update 1.28 -> 1.29 Most patches don't apply any more and build succeeds Signed-off-by: Andreas M?ller Signed-off-by: Martin Jansa --- .../recipes-multimedia/faac/faac_1.28.bb | 26 -- .../recipes-multimedia/faac/faac_1.29.bb | 27 ++ ...frontend-Fix-format-string-security-error.patch | 26 -- ...efine-__STRING-if-cdefs.h-does-not-exist.patch} | 0 .../files/address-gcc-6-narrowing-errors.patch | 47 --- .../recipes-multimedia/faac/files/build-fix.patch | 332 --------------------- 6 files changed, 27 insertions(+), 431 deletions(-) diff --git a/meta-multimedia/recipes-multimedia/faac/faac_1.28.bb b/meta-multimedia/recipes-multimedia/faac/faac_1.28.bb deleted file mode 100644 index 5c9477f..0000000 --- a/meta-multimedia/recipes-multimedia/faac/faac_1.28.bb +++ /dev/null @@ -1,26 +0,0 @@ -SUMMARY = "Freeware Advanced Audio Coder (MPEG2-AAC, MPEG4-AAC)" -SECTION = "libs" -LICENSE = "LGPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \ - file://libfaac/coder.h;beginline=5;endline=17;md5=fa1fd6a5fa8cdc877d63a12530d273e0" - -inherit autotools-brokensep - -SRC_URI = "${SOURCEFORGE_MIRROR}/faac/${BP}.tar.gz \ - file://build-fix.patch \ - file://address-gcc-6-narrowing-errors.patch \ - file://0001-frontend-Fix-format-string-security-error.patch \ - file://0002-mp4v2-Define-__STRING-if-cdefs.h-does-not-exist.patch \ - " - -SRC_URI[md5sum] = "80763728d392c7d789cde25614c878f6" -SRC_URI[sha256sum] = "c5141199f4cfb17d749c36ba8cfe4b25f838da67c22f0fec40228b6b9c3d19df" - -EXTRA_OECONF += "--without-mp4v2" - -PACKAGES =+ "lib${BPN} lib${BPN}-dev" - -FILES_${PN} = " ${bindir}/faac " -FILES_lib${PN} = " ${libdir}/libfaac.so.*" -FILES_lib${PN}-dev = "${includedir}/faac.h ${includedir}/faaccfg.h ${libdir}/libfaac.so ${libdir}/libfaac.la" -FILES_lib${PN}-staticdev = "${libdir}/libfaac.a" diff --git a/meta-multimedia/recipes-multimedia/faac/faac_1.29.bb b/meta-multimedia/recipes-multimedia/faac/faac_1.29.bb new file mode 100644 index 0000000..4765c6c --- /dev/null +++ b/meta-multimedia/recipes-multimedia/faac/faac_1.29.bb @@ -0,0 +1,27 @@ +SUMMARY = "Freeware Advanced Audio Coder (MPEG2-AAC, MPEG4-AAC)" +SECTION = "libs" +LICENSE = "LGPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \ + file://libfaac/coder.h;beginline=5;endline=17;md5=fa1fd6a5fa8cdc877d63a12530d273e0" + +inherit autotools + +SRC_URI = " \ + ${SOURCEFORGE_MIRROR}/faac/${BP}.tar.gz \ + file://0001-mp4v2-Define-__STRING-if-cdefs.h-does-not-exist.patch \ +" + +SRC_URI[md5sum] = "78603720f655180059d6970c582a3005" +SRC_URI[sha256sum] = "8cc7b03ceb2722223a6457e95d4c994731d80214a03ba33d1af76ba53f4b3197" + +EXTRA_OECONF += "--without-mp4v2" + +PACKAGES =+ "lib${BPN} lib${BPN}-dev" + +FILES_${PN} = " ${bindir}/faac " +FILES_lib${PN} = " ${libdir}/*.so.*" +FILES_lib${PN}-dev = " \ + ${includedir} \ + ${libdir}/*.so \ + ${libdir}/*.la \ +" diff --git a/meta-multimedia/recipes-multimedia/faac/files/0001-frontend-Fix-format-string-security-error.patch b/meta-multimedia/recipes-multimedia/faac/files/0001-frontend-Fix-format-string-security-error.patch deleted file mode 100644 index 75e003e..0000000 --- a/meta-multimedia/recipes-multimedia/faac/files/0001-frontend-Fix-format-string-security-error.patch +++ /dev/null @@ -1,26 +0,0 @@ -From c1d7a8b992dc36d0012cc3d54b7d3abf4ad4d5d8 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 28 Mar 2017 21:33:01 -0700 -Subject: [PATCH 1/2] frontend: Fix format string security error - -Signed-off-by: Khem Raj ---- - frontend/main.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/frontend/main.c b/frontend/main.c -index 02146a8..cb9329c 100644 ---- a/frontend/main.c -+++ b/frontend/main.c -@@ -715,7 +715,7 @@ int main(int argc, char *argv[]) - break; - #endif - case 'L': -- fprintf(stderr, faac_copyright_string); -+ fprintf(stderr, "%s", faac_copyright_string); - dieMessage = license; - break; - case 'X': --- -2.12.1 - diff --git a/meta-multimedia/recipes-multimedia/faac/files/0002-mp4v2-Define-__STRING-if-cdefs.h-does-not-exist.patch b/meta-multimedia/recipes-multimedia/faac/files/0001-mp4v2-Define-__STRING-if-cdefs.h-does-not-exist.patch similarity index 100% rename from meta-multimedia/recipes-multimedia/faac/files/0002-mp4v2-Define-__STRING-if-cdefs.h-does-not-exist.patch rename to meta-multimedia/recipes-multimedia/faac/files/0001-mp4v2-Define-__STRING-if-cdefs.h-does-not-exist.patch diff --git a/meta-multimedia/recipes-multimedia/faac/files/address-gcc-6-narrowing-errors.patch b/meta-multimedia/recipes-multimedia/faac/files/address-gcc-6-narrowing-errors.patch deleted file mode 100644 index 92fdd9b..0000000 --- a/meta-multimedia/recipes-multimedia/faac/files/address-gcc-6-narrowing-errors.patch +++ /dev/null @@ -1,47 +0,0 @@ ---- faac-1.28/common/mp4v2/atom_standard.cpp.orig 2016-06-16 07:59:21.657040761 -0400 -+++ faac-1.28/common/mp4v2/atom_standard.cpp 2016-06-16 08:01:50.613036724 -0400 -@@ -22,15 +22,15 @@ - #include "mp4common.h" - #include "atoms.h" - --static const char name[5]={0251,'n', 'a', 'm', '\0'}; --static const char art[5]={0251,'A', 'R', 'T', '\0'}; --static const char wrt[5]={0251,'w', 'r', 't', '\0'}; --static const char alb[5]={0251,'a', 'l', 'b', '\0'}; --static const char day[5]={0251,'d', 'a', 'y', '\0'}; --static const char too[5]={0251,'t', 'o', 'o', '\0'}; --static const char cmt[5]={0251,'c', 'm', 't', '\0'}; --static const char gen[5]={0251,'g', 'e', 'n', '\0'}; --static const char grp[5]={0251,'g', 'r', 'p', '\0'}; -+static const char name[5]={(char)0251,'n', 'a', 'm', '\0'}; -+static const char art[5]={(char)0251,'A', 'R', 'T', '\0'}; -+static const char wrt[5]={(char)0251,'w', 'r', 't', '\0'}; -+static const char alb[5]={(char)0251,'a', 'l', 'b', '\0'}; -+static const char day[5]={(char)0251,'d', 'a', 'y', '\0'}; -+static const char too[5]={(char)0251,'t', 'o', 'o', '\0'}; -+static const char cmt[5]={(char)0251,'c', 'm', 't', '\0'}; -+static const char gen[5]={(char)0251,'g', 'e', 'n', '\0'}; -+static const char grp[5]={(char)0251,'g', 'r', 'p', '\0'}; - - MP4StandardAtom::MP4StandardAtom (const char *type) : MP4Atom(type) - { ---- faac-1.28/common/mp4v2/mp4atom.cpp.orig 2016-06-16 08:03:07.777034633 -0400 -+++ faac-1.28/common/mp4v2/mp4atom.cpp 2016-06-16 08:03:54.629033363 -0400 -@@ -264,11 +264,11 @@ - } - break; - case 0251: -- static const char name[5]={0251,'n', 'a', 'm', '\0'}; -- static const char cmt[5]={0251,'c', 'm', 't', '\0'}; -- static const char cpy[5]={0251,'c', 'p', 'y', '\0'}; -- static const char des[5]={0251,'d', 'e', 's','\0'}; -- static const char prd[5]={0251, 'p', 'r', 'd', '\0'}; -+ static const char name[5]={(char)0251,'n', 'a', 'm', '\0'}; -+ static const char cmt[5]={(char)0251,'c', 'm', 't', '\0'}; -+ static const char cpy[5]={(char)0251,'c', 'p', 'y', '\0'}; -+ static const char des[5]={(char)0251,'d', 'e', 's','\0'}; -+ static const char prd[5]={(char)0251, 'p', 'r', 'd', '\0'}; - if (ATOMID(type) == ATOMID(name) || - ATOMID(type) == ATOMID(cmt) || - ATOMID(type) == ATOMID(cpy) || - diff --git a/meta-multimedia/recipes-multimedia/faac/files/build-fix.patch b/meta-multimedia/recipes-multimedia/faac/files/build-fix.patch deleted file mode 100644 index 83cff8f..0000000 --- a/meta-multimedia/recipes-multimedia/faac/files/build-fix.patch +++ /dev/null @@ -1,332 +0,0 @@ -Patch fixing build error and warnings. Error consisted of redefining -strcasestr function from string.h. Warnings consisted of deprecated conversions -of string constants to char*, using '%llu' for type uint64_t (which on 64 bit -systems, is defined as unsigned long int by stdint.h), and using '==' for -equality of two strings. - -Patch originally from Debian. - -Upstream-Status: Pending - -========================================================================== ---- a/common/mp4v2/mpeg4ip.h -+++ b/common/mp4v2/mpeg4ip.h -@@ -120,14 +120,6 @@ - #endif - #include - --#ifdef __cplusplus --extern "C" { --#endif --char *strcasestr(const char *haystack, const char *needle); --#ifdef __cplusplus --} --#endif -- - #define OPEN_RDWR O_RDWR - #define OPEN_CREAT O_CREAT - #define OPEN_RDONLY O_RDONLY -@@ -135,7 +127,6 @@ - #define closesocket close - #define IOSBINARY ios::bin - --#if SIZEOF_LONG == 8 - #define MAX_UINT64 -1LU - #define D64F "ld" - #define U64F "lu" -@@ -143,15 +134,6 @@ - - #define TO_D64(a) (a##L) - #define TO_U64(a) (a##LU) --#else --#define MAX_UINT64 -1LLU --#define D64F "lld" --#define U64F "llu" --#define X64F "llx" -- --#define TO_D64(a) (a##LL) --#define TO_U64(a) (a##LLU) --#endif - - #ifdef HAVE_FPOS_T___POS - #define FPOS_TO_VAR(fpos, typed, var) (var) = (typed)((fpos).__pos) ---- a/configure.in -+++ b/configure.in -@@ -4,6 +4,9 @@ - AM_INIT_AUTOMAKE - - AM_CONFIG_HEADER(config.h) -+AH_TOP([#ifndef CONFIG_H -+#define CONFIG_H]) -+AH_BOTTOM([#endif /* CONFIG_H */]) - - AC_ARG_WITH( mp4v2, [ --with-mp4v2 compile libmp4v2],WITHMP4V2=$withval, WITHMP4V2=yes) - AC_ARG_ENABLE( drm, [ --enable-drm Digital Radio Mondiale support], enable_drm=$enableval, enable_drm=no) ---- a/common/mp4v2/atom_avcC.cpp -+++ b/common/mp4v2/atom_avcC.cpp -@@ -29,7 +29,7 @@ - class SizeTableProperty : public MP4TableProperty - { - public: -- SizeTableProperty(char *name, MP4IntegerProperty *pCountProperty) : -+ SizeTableProperty(const char *name, MP4IntegerProperty *pCountProperty) : - MP4TableProperty(name, pCountProperty) {}; - protected: - void ReadEntry(MP4File *pFile, u_int32_t index) { ---- a/common/mp4v2/atom_ohdr.cpp -+++ b/common/mp4v2/atom_ohdr.cpp -@@ -21,7 +21,7 @@ - \param useCountedFormat counted format flag. - \param useUnicode unicode flag. - */ -- OhdrMP4StringProperty(char* name, bool useCountedFormat = false, -+ OhdrMP4StringProperty(const char* name, bool useCountedFormat = false, - bool useUnicode = false): MP4StringProperty(name, useCountedFormat, - useUnicode) { - } ---- a/common/mp4v2/atom_stz2.cpp -+++ b/common/mp4v2/atom_stz2.cpp -@@ -30,7 +30,7 @@ - class MP4HalfSizeTableProperty : public MP4TableProperty - { - public: -- MP4HalfSizeTableProperty(char *name, MP4IntegerProperty *pCountProperty) : -+ MP4HalfSizeTableProperty(const char *name, MP4IntegerProperty *pCountProperty) : - MP4TableProperty(name, pCountProperty) {}; - - // The count is half the actual size ---- a/common/mp4v2/mp4atom.cpp -+++ b/common/mp4v2/mp4atom.cpp -@@ -806,7 +806,7 @@ - AddProperty(new MP4Integer24Property("flags")); - } - --void MP4Atom::AddReserved(char* name, u_int32_t size) -+void MP4Atom::AddReserved(const char* name, u_int32_t size) - { - MP4BytesProperty* pReserved = new MP4BytesProperty(name, size); - pReserved->SetReadOnly(); ---- a/common/mp4v2/mp4atom.h -+++ b/common/mp4v2/mp4atom.h -@@ -204,7 +204,7 @@ - - void AddVersionAndFlags(); - -- void AddReserved(char* name, u_int32_t size); -+ void AddReserved(const char* name, u_int32_t size); - - void ExpectChildAtom(const char* name, - bool mandatory, bool onlyOne = true); ---- a/common/mp4v2/mp4file.cpp -+++ b/common/mp4v2/mp4file.cpp -@@ -718,7 +718,7 @@ - } - } - --void MP4File::ProtectWriteOperation(char* where) -+void MP4File::ProtectWriteOperation(const char* where) - { - if (m_mode == 'r') { - throw new MP4Error("operation not permitted in read mode", where); -@@ -1274,7 +1274,7 @@ - } - - // NULL terminated list of brands which require the IODS atom --char *brandsWithIods[] = { "mp42", -+const char *brandsWithIods[] = { "mp42", - "isom", - NULL}; - -@@ -2211,11 +2211,11 @@ - for (u_int32_t i = 0; i < m_pTracks.Size(); i++) { - if (!strcmp(normType, m_pTracks[i]->GetType())) { - if (subType) { -- if (normType == MP4_AUDIO_TRACK_TYPE) { -+ if (!strcmp(normType,MP4_AUDIO_TRACK_TYPE)) { - if (subType != GetTrackEsdsObjectTypeId(m_pTracks[i]->GetId())) { - continue; - } -- } else if (normType == MP4_VIDEO_TRACK_TYPE) { -+ } else if (!strcmp(normType,MP4_VIDEO_TRACK_TYPE)) { - if (subType != GetTrackEsdsObjectTypeId(m_pTracks[i]->GetId())) { - continue; - } -@@ -2278,11 +2278,11 @@ - for (u_int32_t i = 0; i < m_pTracks.Size(); i++) { - if (!strcmp(normType, m_pTracks[i]->GetType())) { - if (subType) { -- if (normType == MP4_AUDIO_TRACK_TYPE) { -+ if (!strcmp(normType,MP4_AUDIO_TRACK_TYPE)) { - if (subType != GetTrackEsdsObjectTypeId(m_pTracks[i]->GetId())) { - continue; - } -- } else if (normType == MP4_VIDEO_TRACK_TYPE) { -+ } else if (!strcmp(normType,MP4_VIDEO_TRACK_TYPE)) { - if (subType != GetTrackEsdsObjectTypeId(m_pTracks[i]->GetId())) { - continue; - } ---- a/common/mp4v2/mp4file.h -+++ b/common/mp4v2/mp4file.h -@@ -700,7 +700,7 @@ - const char* TempFileName(); - void Rename(const char* existingFileName, const char* newFileName); - -- void ProtectWriteOperation(char* where); -+ void ProtectWriteOperation(const char* where); - - void FindIntegerProperty(const char* name, - MP4Property** ppProperty, u_int32_t* pIndex = NULL); ---- a/common/mp4v2/mp4property.cpp -+++ b/common/mp4v2/mp4property.cpp -@@ -313,7 +313,7 @@ - - // MP4StringProperty - --MP4StringProperty::MP4StringProperty(char* name, -+MP4StringProperty::MP4StringProperty(const char* name, - bool useCountedFormat, bool useUnicode) - : MP4Property(name) - { -@@ -420,7 +420,7 @@ - - // MP4BytesProperty - --MP4BytesProperty::MP4BytesProperty(char* name, u_int32_t valueSize, -+MP4BytesProperty::MP4BytesProperty(const char* name, u_int32_t valueSize, - u_int32_t defaultValueSize) - : MP4Property(name) - { -@@ -549,7 +549,7 @@ - - // MP4TableProperty - --MP4TableProperty::MP4TableProperty(char* name, MP4IntegerProperty* pCountProperty) -+MP4TableProperty::MP4TableProperty(const char* name, MP4IntegerProperty* pCountProperty) - : MP4Property(name) - { - m_pCountProperty = pCountProperty; -@@ -725,7 +725,7 @@ - - // MP4DescriptorProperty - --MP4DescriptorProperty::MP4DescriptorProperty(char* name, -+MP4DescriptorProperty::MP4DescriptorProperty(const char* name, - u_int8_t tagsStart, u_int8_t tagsEnd, bool mandatory, bool onlyOne) - : MP4Property(name) - { ---- a/common/mp4v2/mp4property.h -+++ b/common/mp4v2/mp4property.h -@@ -100,7 +100,7 @@ - - class MP4IntegerProperty : public MP4Property { - protected: -- MP4IntegerProperty(char* name) -+ MP4IntegerProperty(const char* name) - : MP4Property(name) { }; - - public: -@@ -118,7 +118,7 @@ - #define MP4INTEGER_PROPERTY_DECL2(isize, xsize) \ - class MP4Integer##xsize##Property : public MP4IntegerProperty { \ - public: \ -- MP4Integer##xsize##Property(char* name) \ -+ MP4Integer##xsize##Property(const char* name) \ - : MP4IntegerProperty(name) { \ - SetCount(1); \ - m_values[0] = 0; \ -@@ -188,7 +188,7 @@ - - class MP4BitfieldProperty : public MP4Integer64Property { - public: -- MP4BitfieldProperty(char* name, u_int8_t numBits) -+ MP4BitfieldProperty(const char* name, u_int8_t numBits) - : MP4Integer64Property(name) { - ASSERT(numBits != 0); - ASSERT(numBits <= 64); -@@ -213,7 +213,7 @@ - - class MP4Float32Property : public MP4Property { - public: -- MP4Float32Property(char* name) -+ MP4Float32Property(const char* name) - : MP4Property(name) { - m_useFixed16Format = false; - m_useFixed32Format = false; -@@ -280,7 +280,7 @@ - - class MP4StringProperty : public MP4Property { - public: -- MP4StringProperty(char* name, -+ MP4StringProperty(const char* name, - bool useCountedFormat = false, bool useUnicode = false); - - ~MP4StringProperty(); -@@ -355,7 +355,7 @@ - - class MP4BytesProperty : public MP4Property { - public: -- MP4BytesProperty(char* name, u_int32_t valueSize = 0, -+ MP4BytesProperty(const char* name, u_int32_t valueSize = 0, - u_int32_t defaultValueSize = 0); - - ~MP4BytesProperty(); -@@ -419,7 +419,7 @@ - - class MP4TableProperty : public MP4Property { - public: -- MP4TableProperty(char* name, MP4IntegerProperty* pCountProperty); -+ MP4TableProperty(const char* name, MP4IntegerProperty* pCountProperty); - - ~MP4TableProperty(); - -@@ -469,7 +469,7 @@ - - class MP4DescriptorProperty : public MP4Property { - public: -- MP4DescriptorProperty(char* name = NULL, -+ MP4DescriptorProperty(const char* name = NULL, - u_int8_t tagsStart = 0, u_int8_t tagsEnd = 0, - bool mandatory = false, bool onlyOne = false); - -@@ -531,7 +531,7 @@ - - class MP4QosQualifierProperty : public MP4DescriptorProperty { - public: -- MP4QosQualifierProperty(char* name = NULL, -+ MP4QosQualifierProperty(const char* name = NULL, - u_int8_t tagsStart = 0, u_int8_t tagsEnd = 0, - bool mandatory = false, bool onlyOne = false) : - MP4DescriptorProperty(name, tagsStart, tagsEnd, mandatory, onlyOne) { } ---- a/common/mp4v2/mp4track.cpp -+++ b/common/mp4v2/mp4track.cpp -@@ -1360,7 +1360,7 @@ - } - } - --MP4Atom* MP4Track::AddAtom(char* parentName, char* childName) -+MP4Atom* MP4Track::AddAtom(const char* parentName, const char* childName) - { - MP4Atom* pChildAtom = MP4Atom::CreateAtom(childName); - ---- a/common/mp4v2/mp4track.h -+++ b/common/mp4v2/mp4track.h -@@ -168,7 +168,7 @@ - void UpdateSyncSamples(MP4SampleId sampleId, - bool isSyncSample); - -- MP4Atom* AddAtom(char* parentName, char* childName); -+ MP4Atom* AddAtom(const char* parentName, const char* childName); - - void UpdateDurations(MP4Duration duration); - MP4Duration ToMovieDuration(MP4Duration trackDuration); ---- a/common/mp4v2/ocidescriptors.cpp -+++ b/common/mp4v2/ocidescriptors.cpp -@@ -171,7 +171,7 @@ - - class MP4CreatorTableProperty : public MP4TableProperty { - public: -- MP4CreatorTableProperty(char* name, MP4Integer8Property* pCountProperty) : -+ MP4CreatorTableProperty(const char* name, MP4Integer8Property* pCountProperty) : - MP4TableProperty(name, pCountProperty) { - }; - protected: -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 12 08:23:13 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 12 Jul 2017 08:23:13 +0000 Subject: [oe-commits] [meta-openembedded] 13/23: proj: update to 4.9.3 In-Reply-To: <149984778010.23327.4991773501196615787@git.openembedded.org> References: <149984778010.23327.4991773501196615787@git.openembedded.org> Message-ID: <20170712082300.E31D4233459@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 7fdf736870ab7f259f4859c8496d8c62bfc39b02 Author: Marc Ferland AuthorDate: Tue Jul 11 10:10:05 2017 -0400 proj: update to 4.9.3 Signed-off-by: Marc Ferland Signed-off-by: Martin Jansa --- meta-oe/recipes-navigation/proj/{proj_4.8.0.bb => proj_4.9.3.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-oe/recipes-navigation/proj/proj_4.8.0.bb b/meta-oe/recipes-navigation/proj/proj_4.9.3.bb similarity index 70% rename from meta-oe/recipes-navigation/proj/proj_4.8.0.bb rename to meta-oe/recipes-navigation/proj/proj_4.9.3.bb index b4bfaf4..f45f894 100644 --- a/meta-oe/recipes-navigation/proj/proj_4.8.0.bb +++ b/meta-oe/recipes-navigation/proj/proj_4.9.3.bb @@ -6,8 +6,8 @@ LICENSE = "MIT" LIC_FILES_CHKSUM = "file://COPYING;md5=74d9aaec5fa0cd734341e8c4dc91b608" SRC_URI = "http://download.osgeo.org/proj/proj-${PV}.tar.gz" -SRC_URI[md5sum] = "d815838c92a29179298c126effbb1537" -SRC_URI[sha256sum] = "2db2dbf0fece8d9880679154e0d6d1ce7c694dd8e08b4d091028093d87a9d1b5" +SRC_URI[md5sum] = "d598336ca834742735137c5674b214a1" +SRC_URI[sha256sum] = "6984542fea333488de5c82eea58d699e4aff4b359200a9971537cd7e047185f7" inherit autotools pkgconfig lib_package -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 12 08:23:05 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 12 Jul 2017 08:23:05 +0000 Subject: [oe-commits] [meta-openembedded] 05/23: abiword: update 3.0.1 -> 3.0.2 In-Reply-To: <149984778010.23327.4991773501196615787@git.openembedded.org> References: <149984778010.23327.4991773501196615787@git.openembedded.org> Message-ID: <20170712082300.A1DBF23344C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 85f94381c74235e3996578c680a46434577d12eb Author: Andreas M?ller AuthorDate: Mon Jul 10 19:35:06 2017 +0200 abiword: update 3.0.1 -> 3.0.2 Patch was a backport now included upstream Signed-off-by: Andreas M?ller Signed-off-by: Martin Jansa --- ...-13754-Fix-build-on-gcc-6-default-to-C-11.patch | 74 ---------------------- .../abiword/{abiword_3.0.1.bb => abiword_3.0.2.bb} | 5 +- 2 files changed, 2 insertions(+), 77 deletions(-) diff --git a/meta-gnome/recipes-gnome/abiword/abiword/0002-Bug-13754-Fix-build-on-gcc-6-default-to-C-11.patch b/meta-gnome/recipes-gnome/abiword/abiword/0002-Bug-13754-Fix-build-on-gcc-6-default-to-C-11.patch deleted file mode 100644 index 595ee8e..0000000 --- a/meta-gnome/recipes-gnome/abiword/abiword/0002-Bug-13754-Fix-build-on-gcc-6-default-to-C-11.patch +++ /dev/null @@ -1,74 +0,0 @@ -From a83e6f50dbd5efa16fb39efe32b9de370f103130 Mon Sep 17 00:00:00 2001 -From: Hubert Figuiere -Date: Sat, 23 Jan 2016 20:46:02 +0000 -Subject: [PATCH] Bug 13754 - Fix build on gcc-6 (default to C++11). - -This is debian bug https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=811381 - -git-svn-id: svn+ssh://svn.abisource.com/svnroot/abiword/trunk at 35182 bcba8976-2d24-0410-9c9c-aab3bd5fdfd6 - -Upstream-Status: Backport ---- - plugins/collab/backends/service/xp/RealmProtocol.cpp | 4 ++-- - plugins/collab/backends/service/xp/soa_soup.cpp | 2 +- - plugins/latex/xp/ie_exp_LaTeX.cpp | 2 +- - plugins/xslfo/xp/ie_exp_XSL-FO.cpp | 2 +- - 4 files changed, 5 insertions(+), 5 deletions(-) - -diff --git a/plugins/collab/backends/service/xp/RealmProtocol.cpp b/plugins/collab/backends/service/xp/RealmProtocol.cpp -index fb426eb..347a49c 100644 ---- a/plugins/collab/backends/service/xp/RealmProtocol.cpp -+++ b/plugins/collab/backends/service/xp/RealmProtocol.cpp -@@ -6,8 +6,8 @@ namespace protocolv1 { - - #define MAX_PACKET_DATA_SIZE 64*1024*1024 - --#define RPV1_PACKET_NONEXISTENT -2 --#define RPV1_PACKET_VARIABLE -1 -+#define RPV1_PACKET_NONEXISTENT uint32_t(-2) -+#define RPV1_PACKET_VARIABLE uint32_t(-1) - - static uint32_t body_size[6] = { - RPV1_PACKET_NONEXISTENT, /* 0: reserved */ -diff --git a/plugins/collab/backends/service/xp/soa_soup.cpp b/plugins/collab/backends/service/xp/soa_soup.cpp -index 4b81735..f4f5134 100644 ---- a/plugins/collab/backends/service/xp/soa_soup.cpp -+++ b/plugins/collab/backends/service/xp/soa_soup.cpp -@@ -163,7 +163,7 @@ namespace soup_soa { - - static bool _invoke(const std::string& /*url*/, const soa::method_invocation& /*mi*/, SoaSoupSession& sess, std::string& result) { - if (!sess.m_session || !sess.m_msg ) -- return soa::GenericPtr(); -+ return false; - - guint status = soup_session_send_message (sess.m_session, sess.m_msg); - if (!(SOUP_STATUS_IS_SUCCESSFUL (status) || -diff --git a/plugins/latex/xp/ie_exp_LaTeX.cpp b/plugins/latex/xp/ie_exp_LaTeX.cpp -index 7aaf3a9..8bcc250 100644 ---- a/plugins/latex/xp/ie_exp_LaTeX.cpp -+++ b/plugins/latex/xp/ie_exp_LaTeX.cpp -@@ -1330,7 +1330,7 @@ void s_LaTeX_Listener::_outputData(const UT_UCSChar * data, UT_uint32 length) - m_pie->write(sBuf.c_str(),sBuf.size()); - } - --#define SUB(a,who) case a: subst = "\\(\\"who"\\)"; return true; -+#define SUB(a,who) case a: subst = "\\(\\" who"\\)"; return true; - #define SUBd(a,who) case a: subst = who; return true; - static bool _convertLettersToSymbols(char c, const char *& subst) - { -diff --git a/plugins/xslfo/xp/ie_exp_XSL-FO.cpp b/plugins/xslfo/xp/ie_exp_XSL-FO.cpp -index cc5e4e6..957226e 100644 ---- a/plugins/xslfo/xp/ie_exp_XSL-FO.cpp -+++ b/plugins/xslfo/xp/ie_exp_XSL-FO.cpp -@@ -1451,7 +1451,7 @@ void s_XSL_FO_Listener::_openSection(PT_AttrPropIndex api) - { \ - UT_UTF8String esc = szValue; \ - esc.escapeXML(); \ -- buf += " "x"=\""; \ -+ buf += " " x"=\""; \ - buf += esc.utf8_str(); \ - buf += "\""; \ - } --- -2.5.5 - diff --git a/meta-gnome/recipes-gnome/abiword/abiword_3.0.1.bb b/meta-gnome/recipes-gnome/abiword/abiword_3.0.2.bb similarity index 96% rename from meta-gnome/recipes-gnome/abiword/abiword_3.0.1.bb rename to meta-gnome/recipes-gnome/abiword/abiword_3.0.2.bb index 34fc97d..2a13e48 100644 --- a/meta-gnome/recipes-gnome/abiword/abiword_3.0.1.bb +++ b/meta-gnome/recipes-gnome/abiword/abiword_3.0.2.bb @@ -28,13 +28,12 @@ RCONFLICTS_${PN} = "${PN}-embedded" SRC_URI = " \ http://www.abisource.com/downloads/${BPN}/${PV}/source/${BP}.tar.gz \ file://0001-plugins-aiksaurus-Makefile.am-remove-uncomplete-opti.patch \ - file://0002-Bug-13754-Fix-build-on-gcc-6-default-to-C-11.patch \ " LIC_FILES_CHKSUM = "file://COPYING;md5=c5edcc3ccd864b19004d14e9c1c9a26a" -SRC_URI[md5sum] = "f3f8052e7b4979a43b75775a381e6cb8" -SRC_URI[sha256sum] = "e094f6fbf0afc5c5538b4894888e7c346f8ee8f49c9d24821dd696d0734865c6" +SRC_URI[md5sum] = "cda6dd58c747c133b421cc7eb18f5796" +SRC_URI[sha256sum] = "afbfd458fd02989d8b0c6362ba8a4c14686d89666f54cfdb5501bd2090cf3522" #want 3.x from 3.x.y for the installation directory SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 12 08:23:14 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 12 Jul 2017 08:23:14 +0000 Subject: [oe-commits] [meta-openembedded] 14/23: klibc: Fix linking by using bfd linker when default linker is gold In-Reply-To: <149984778010.23327.4991773501196615787@git.openembedded.org> References: <149984778010.23327.4991773501196615787@git.openembedded.org> Message-ID: <20170712082300.EA86423345B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit ef59094bc81d0cfe2f41aacc2353ea49c153cbf6 Author: Khem Raj AuthorDate: Tue Jul 11 08:16:14 2017 -0700 klibc: Fix linking by using bfd linker when default linker is gold Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../klibc-2.0.4/0001-always-use-bfd-linker.patch | 30 ++++++++++++++++++++++ meta-initramfs/recipes-devtools/klibc/klibc.inc | 1 + 2 files changed, 31 insertions(+) diff --git a/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-always-use-bfd-linker.patch b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-always-use-bfd-linker.patch new file mode 100644 index 0000000..41a6b9e --- /dev/null +++ b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-always-use-bfd-linker.patch @@ -0,0 +1,30 @@ +From 9ea19bd9636806a73bcf29cfcee40a268f91eb4c Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 11 Jul 2017 08:09:52 -0700 +Subject: [PATCH] always use bfd linker + +its possible that distros choose to default to gold linker +therefore explicitly asking for bfd linker would fix the +linking issues on such distros + +Signed-off-by: Khem Raj +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index dc10fc5d..40647be4 100644 +--- a/Makefile ++++ b/Makefile +@@ -20,7 +20,7 @@ include $(srctree)/scripts/Kbuild.include + KLIBCROSS ?= $(CROSS_COMPILE) + export KLIBCROSS + export CC := $(KLIBCROSS)gcc +-export LD := $(KLIBCROSS)ld ++export LD := $(KLIBCROSS)ld.bfd + export AR := $(KLIBCROSS)ar + export RANLIB := $(KLIBCROSS)ranlib + export STRIP := $(KLIBCROSS)strip +-- +2.13.2 + diff --git a/meta-initramfs/recipes-devtools/klibc/klibc.inc b/meta-initramfs/recipes-devtools/klibc/klibc.inc index be59aa4..c4c3e00 100644 --- a/meta-initramfs/recipes-devtools/klibc/klibc.inc +++ b/meta-initramfs/recipes-devtools/klibc/klibc.inc @@ -16,6 +16,7 @@ SRC_URI = "git://git.kernel.org/pub/scm/libs/klibc/klibc.git \ file://0001-Define-in_-structs-for-non-glibc-system-libs.patch \ file://0001-include-linux-sysinfo.h-directly.patch \ file://0001-mkfifo-Implement-mkfifo.patch \ + file://0001-always-use-bfd-linker.patch \ " ARMPATCHES ?= "" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 12 08:23:12 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 12 Jul 2017 08:23:12 +0000 Subject: [oe-commits] [meta-openembedded] 12/23: Intel: remove license file In-Reply-To: <149984778010.23327.4991773501196615787@git.openembedded.org> References: <149984778010.23327.4991773501196615787@git.openembedded.org> Message-ID: <20170712082300.DBB90233457@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 626a865e0b66ffc26cc675c53c3f93edf343c27b Author: Maxin John AuthorDate: Tue Jul 11 14:50:48 2017 +0300 Intel: remove license file This license was added to fix warnings with acpitests. acpitests recipe was moved to oe-core with this commit: OE-Core rev: 020f7ea3aa5c1f311841d4fb16bc525ae1dd5f11 Remove this file as it is not used anymore. Signed-off-by: Maxin B. John Signed-off-by: Martin Jansa --- meta-oe/licenses/Intel | 21 --------------------- 1 file changed, 21 deletions(-) diff --git a/meta-oe/licenses/Intel b/meta-oe/licenses/Intel deleted file mode 100644 index eb81dd7..0000000 --- a/meta-oe/licenses/Intel +++ /dev/null @@ -1,21 +0,0 @@ -License for Contributions to ACPICA - -Copyright (c) 2000 ? 2015 Intel Corp. -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINES -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 12 08:23:11 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 12 Jul 2017 08:23:11 +0000 Subject: [oe-commits] [meta-openembedded] 11/23: fluentbit: fix SYSTEMD_SERVICE name In-Reply-To: <149984778010.23327.4991773501196615787@git.openembedded.org> References: <149984778010.23327.4991773501196615787@git.openembedded.org> Message-ID: <20170712082300.D4157233456@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 5cce369f0b640f8fc8d8989a33f0b3c92acf39f1 Author: Martin Jansa AuthorDate: Tue Jul 11 11:15:44 2017 +0200 fluentbit: fix SYSTEMD_SERVICE name * the binary and service name was renamed in 0.11.11 from fluent-bit to td-agent-bit, but unfortunately SYSTEMD_SERVICE wasn't updated in the recipe with the upgrade causing do_package failures as in: http://errors.yoctoproject.org/Errors/Details/147040/ ERROR: SYSTEMD_SERVICE_fluentbit value fluent-bit.service does not exist 0.11.3-r0/image/ 0.11.3-r0/image/etc 0.11.3-r0/image/etc/fluent-bit 0.11.3-r0/image/etc/fluent-bit/parsers.conf 0.11.3-r0/image/etc/fluent-bit/fluent-bit.conf 0.11.3-r0/image/lib 0.11.3-r0/image/lib/systemd 0.11.3-r0/image/lib/systemd/system 0.11.3-r0/image/lib/systemd/system/fluent-bit.service 0.11.3-r0/image/usr 0.11.3-r0/image/usr/bin 0.11.3-r0/image/usr/bin/fluent-bit 0.11.3-r0/image/usr/lib 0.11.3-r0/image/usr/lib/libfluent-bit.so 0.11.3-r0/image/usr/lib/pkgconfig 0.11.3-r0/image/usr/lib/pkgconfig/msgpack.pc 0.11.11-r0/image 0.11.11-r0/image/etc 0.11.11-r0/image/etc/td-agent-bit 0.11.11-r0/image/etc/td-agent-bit/parsers.conf 0.11.11-r0/image/etc/td-agent-bit/td-agent-bit.conf 0.11.11-r0/image/lib 0.11.11-r0/image/lib/systemd 0.11.11-r0/image/lib/systemd/system 0.11.11-r0/image/lib/systemd/system/td-agent-bit.service 0.11.11-r0/image/usr 0.11.11-r0/image/usr/bin 0.11.11-r0/image/usr/bin/td-agent-bit 0.11.11-r0/image/usr/lib 0.11.11-r0/image/usr/lib/libfluent-bit.so 0.11.11-r0/image/usr/lib/pkgconfig 0.11.11-r0/image/usr/lib/pkgconfig/msgpack.pc Signed-off-by: Martin Jansa --- meta-oe/recipes-extended/fluentbit/fluentbit_0.11.11.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit_0.11.11.bb b/meta-oe/recipes-extended/fluentbit/fluentbit_0.11.11.bb index 83818c8..521d00b 100644 --- a/meta-oe/recipes-extended/fluentbit/fluentbit_0.11.11.bb +++ b/meta-oe/recipes-extended/fluentbit/fluentbit_0.11.11.bb @@ -21,6 +21,6 @@ inherit cmake systemd EXTRA_OECMAKE = "-DGNU_HOST=${HOST_SYS} -DFLB_ALL=ON -DFLB_TD=1" -SYSTEMD_SERVICE_${PN} = "fluent-bit.service" +SYSTEMD_SERVICE_${PN} = "td-agent-bit.service" TARGET_CC_ARCH_append = " ${SELECTED_OPTIMIZATION}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 12 08:23:17 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 12 Jul 2017 08:23:17 +0000 Subject: [oe-commits] [meta-openembedded] 17/23: libterm-readkey-perl: add recipe In-Reply-To: <149984778010.23327.4991773501196615787@git.openembedded.org> References: <149984778010.23327.4991773501196615787@git.openembedded.org> Message-ID: <20170712082301.0EADF23345F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 3ccb5975ef3c4794552614668d1b9b76fa9d5d67 Author: Ming Liu AuthorDate: Tue Jul 11 18:44:33 2017 +0200 libterm-readkey-perl: add recipe Term::ReadKey - A perl module for simple terminal control. It's being strongly recommended by po4a. Signed-off-by: Ming Liu Signed-off-by: Martin Jansa --- .../libterm/libterm-readkey-perl_2.37.bb | 36 ++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/meta-perl/recipes-perl/libterm/libterm-readkey-perl_2.37.bb b/meta-perl/recipes-perl/libterm/libterm-readkey-perl_2.37.bb new file mode 100644 index 0000000..6b76682 --- /dev/null +++ b/meta-perl/recipes-perl/libterm/libterm-readkey-perl_2.37.bb @@ -0,0 +1,36 @@ +SUMMARY = "Term::ReadKey - A perl module for simple terminal control." +DESCRIPTION = "Term::ReadKey is a compiled perl module dedicated to providing simple \ +control over terminal driver modes (cbreak, raw, cooked, etc.,) support \ +for non-blocking reads, if the architecture allows, and some generalized \ +handy functions for working with terminals. One of the main goals is to \ +have the functions as portable as possible, so you can just plug in "use \ +Term::ReadKey" on any architecture and have a good likelihood of it \ +working." +HOMEPAGE = "http://search.cpan.org/~jstowe/TermReadKey-${PV}" +SECTION = "libraries" + +LICENSE = "Artistic-1.0 | GPLv1+" +LIC_FILES_CHKSUM = "file://README;md5=c275db663c8489a5709ebb22b185add5" + +SRC_URI = "${CPAN_MIRROR}/authors/id/J/JS/JSTOWE/TermReadKey-${PV}.tar.gz" + +SRC_URI[md5sum] = "e8ea15c16333ac4f8d146d702e83cc0c" +SRC_URI[sha256sum] = "4a9383cf2e0e0194668fe2bd546e894ffad41d556b41d2f2f577c8db682db241" + +S = "${WORKDIR}/TermReadKey-${PV}" + +# It needs depend on native to let dynamic loader use native modules +# rather than target ones. +DEPENDS = "libterm-readkey-perl-native" + +inherit cpan + +do_configure_append () { + # Hack the dynamic module loader so that it use native modules since it can't load + # the target ones. + if [ "${BUILD_SYS}" != "${HOST_SYS}" ]; then + sed -i -e "s#-I\$(INST_ARCHLIB)#-I${STAGING_BINDIR_NATIVE}/perl-native/perl/vendor_perl/${@get_perl_version(d)}#g" Makefile + fi +} + +BBCLASSEXTEND = "native" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 12 08:23:19 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 12 Jul 2017 08:23:19 +0000 Subject: [oe-commits] [meta-openembedded] 19/23: libtext-charwidth-perl: add recipe In-Reply-To: <149984778010.23327.4991773501196615787@git.openembedded.org> References: <149984778010.23327.4991773501196615787@git.openembedded.org> Message-ID: <20170712082301.1ED61233463@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 9dfe3e1a3ad3ec78bb5355aac6df32d18a29668b Author: Ming Liu AuthorDate: Tue Jul 11 18:44:35 2017 +0200 libtext-charwidth-perl: add recipe Text::CharWidth - Get number of occupied columns of a string on terminal. It's being depended by libtext-wrapi18n-perl. Signed-off-by: Ming Liu Signed-off-by: Martin Jansa --- .../libtext/libtext-charwidth-perl_0.04.bb | 27 ++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/meta-perl/recipes-perl/libtext/libtext-charwidth-perl_0.04.bb b/meta-perl/recipes-perl/libtext/libtext-charwidth-perl_0.04.bb new file mode 100644 index 0000000..9057ae7 --- /dev/null +++ b/meta-perl/recipes-perl/libtext/libtext-charwidth-perl_0.04.bb @@ -0,0 +1,27 @@ +SUMMARY = "Text::CharWidth - Get number of occupied columns of a string on terminal." +DESCRIPTION = "This module supplies features similar as wcwidth(3) and wcswidth(3) \ +in C language. \ +Characters have its own width on terminal depending on locale. For \ +example, ASCII characters occupy one column per character, east Asian \ +fullwidth characters (like Hiragana or Han Ideograph) occupy two columns \ +per character, and combining characters (apperaring in ISO-8859-11 Thai, \ +Unicode, and so on) occupy zero columns per character. mbwidth() gives the \ +width of the first character of the given string and mbswidth() gives the \ +width of the whole given string." +SECTION = "libs" + +HOMEPAGE = "http://search.cpan.org/~kubota/Text-CharWidth-${PV}/" + +LICENSE = "Artistic-1.0 | GPLv1+" +LIC_FILES_CHKSUM = "file://README;md5=d8d54c8c500cbdd57a4c15911d9d96db" + +SRC_URI = "${CPAN_MIRROR}/authors/id/K/KU/KUBOTA/Text-CharWidth-${PV}.tar.gz" + +SRC_URI[md5sum] = "37a723df0580c0758c0ee67b37336c15" +SRC_URI[sha256sum] = "abded5f4fdd9338e89fd2f1d8271c44989dae5bf50aece41b6179d8e230704f8" + +S = "${WORKDIR}/Text-CharWidth-${PV}" + +inherit cpan + +BBCLASSEXTEND = "native" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 12 08:23:21 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 12 Jul 2017 08:23:21 +0000 Subject: [oe-commits] [meta-openembedded] 21/23: libunicode-linebreak-perl: add recipe In-Reply-To: <149984778010.23327.4991773501196615787@git.openembedded.org> References: <149984778010.23327.4991773501196615787@git.openembedded.org> Message-ID: <20170712082301.30A98233467@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 247aec798cf8f5f275535ce1a15ffdd8a0a4399c Author: Ming Liu AuthorDate: Tue Jul 11 18:44:37 2017 +0200 libunicode-linebreak-perl: add recipe Unicode::LineBreak - UAX #14 Unicode Line Breaking Algorithm. It's being strongly recommended by po4a. Signed-off-by: Ming Liu Signed-off-by: Martin Jansa --- .../libunicode-linebreak-perl_2017.004.bb | 26 ++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/meta-perl/recipes-perl/libunicode/libunicode-linebreak-perl_2017.004.bb b/meta-perl/recipes-perl/libunicode/libunicode-linebreak-perl_2017.004.bb new file mode 100644 index 0000000..5ccb411 --- /dev/null +++ b/meta-perl/recipes-perl/libunicode/libunicode-linebreak-perl_2017.004.bb @@ -0,0 +1,26 @@ +SUMMARY = "Unicode::LineBreak - UAX #14 Unicode Line Breaking Algorithm." +DESCRIPTION = "Unicode::LineBreak performs Line Breaking Algorithm described in Unicode \ +Standard Annex #14 [UAX #14]. East_Asian_Width informative property \ +defined by Annex #11 [UAX #11] will be concerned to determine breaking \ +positions." +SECTION = "libs" + +HOMEPAGE = "http://search.cpan.org/~nezumi/Unicode-LineBreak-${PV}/" + +LICENSE = "Artistic-1.0 | GPLv1+" +LIC_FILES_CHKSUM = "file://README;md5=77241abd74fec561b3f3de1b44c0241b" + +SRC_URI = "${CPAN_MIRROR}/authors/id/N/NE/NEZUMI/Unicode-LineBreak-${PV}.tar.gz" + +SRC_URI[md5sum] = "de7672227922260ac92d20bbad29660b" +SRC_URI[sha256sum] = "655bc3c4cb60ad0770d97816716cfe322f24e602c70e595f5941dfa02c40cb76" + +S = "${WORKDIR}/Unicode-LineBreak-${PV}" + +DEPENDS = "libsombok3 libmime-charset-perl" + +RDEPENDS_${PN} = "libsombok3 libmime-charset-perl" + +inherit cpan + +BBCLASSEXTEND = "native" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 12 08:23:20 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 12 Jul 2017 08:23:20 +0000 Subject: [oe-commits] [meta-openembedded] 20/23: libtext-wrapi18n-perl: add recipe In-Reply-To: <149984778010.23327.4991773501196615787@git.openembedded.org> References: <149984778010.23327.4991773501196615787@git.openembedded.org> Message-ID: <20170712082301.28202233465@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit f5158f760b053b2ce3650dd5bfa6b08cf7eda130 Author: Ming Liu AuthorDate: Tue Jul 11 18:44:36 2017 +0200 libtext-wrapi18n-perl: add recipe Text::WrapI18N - Line wrapping module with support for multibyte, fullwidth, and combining characters and languages without whitespaces between words. It's being strongly recommended by po4a. Signed-off-by: Ming Liu Signed-off-by: Martin Jansa --- .../libtext/libtext-wrapi18n-perl_0.06.bb | 32 ++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/meta-perl/recipes-perl/libtext/libtext-wrapi18n-perl_0.06.bb b/meta-perl/recipes-perl/libtext/libtext-wrapi18n-perl_0.06.bb new file mode 100644 index 0000000..b2c239d --- /dev/null +++ b/meta-perl/recipes-perl/libtext/libtext-wrapi18n-perl_0.06.bb @@ -0,0 +1,32 @@ +SUMMARY = "Text::WrapI18N - Line wrapping module with support for multibyte, \ +fullwidth, and combining characters and languages without whitespaces \ +between words." +DESCRIPTION = "This module intends to be a better Text::Wrap module. This module is \ +needed to support multibyte character encodings such as UTF-8, EUC-JP, \ +EUC-KR, GB2312, and Big5. This module also supports characters with \ +irregular widths, such as combining characters (which occupy zero columns \ +on terminal, like diacritical marks in UTF-8) and fullwidth characters \ +(which occupy two columns on terminal, like most of east Asian \ +characters). Also, minimal handling of languages which doesn't use \ +whitespaces between words (like Chinese and Japanese) is supported." +SECTION = "libs" + +HOMEPAGE = "http://search.cpan.org/~kubota/Text-WrapI18N-${PV}/" + +LICENSE = "Artistic-1.0 | GPLv1+" +LIC_FILES_CHKSUM = "file://README;md5=080862e1e40cdcddef4393e137285858" + +SRC_URI = "${CPAN_MIRROR}/authors/id/K/KU/KUBOTA/Text-WrapI18N-${PV}.tar.gz" + +SRC_URI[md5sum] = "0799c16a00926e6c18d400c2e2861d5f" +SRC_URI[sha256sum] = "4bd29a17f0c2c792d12c1005b3c276f2ab0fae39c00859ae1741d7941846a488" + +S = "${WORKDIR}/Text-WrapI18N-${PV}" + +DEPENDS = "libtext-charwidth-perl" + +RDEPENDS_${PN} = "libtext-charwidth-perl" + +inherit cpan + +BBCLASSEXTEND = "native" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 12 08:23:22 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 12 Jul 2017 08:23:22 +0000 Subject: [oe-commits] [meta-openembedded] 22/23: po4a: add full functionalities In-Reply-To: <149984778010.23327.4991773501196615787@git.openembedded.org> References: <149984778010.23327.4991773501196615787@git.openembedded.org> Message-ID: <20170712082301.3BA16233468@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 131de8c76746f83a598d6babe0152603e8378182 Author: Ming Liu AuthorDate: Tue Jul 11 18:44:38 2017 +0200 po4a: add full functionalities Add the following dependencies to DEPENDS and RRECOMMENDS_${PN}, to let po4a and po4a-native work with full functionalities: - libtext-wrapi18n-perl - libterm-readkey-perl - liblocale-gettext-perl - libunicode-linebreak-perl Signed-off-by: Ming Liu Signed-off-by: Martin Jansa --- meta-perl/recipes-perl/po4a/po4a_0.49.bb | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/meta-perl/recipes-perl/po4a/po4a_0.49.bb b/meta-perl/recipes-perl/po4a/po4a_0.49.bb index e52e5f7..5db5b8f 100644 --- a/meta-perl/recipes-perl/po4a/po4a_0.49.bb +++ b/meta-perl/recipes-perl/po4a/po4a_0.49.bb @@ -13,8 +13,21 @@ SRCREV = "79ed87a577a543538fe39c7b60079981f5997072" S = "${WORKDIR}/git" -inherit cpan_build +DEPENDS = " \ + libmodule-build-perl-native \ + libtext-wrapi18n-perl \ + libterm-readkey-perl \ + liblocale-gettext-perl \ + libunicode-linebreak-perl \ +" + +RRECOMMENDS_${PN} = " \ + libtext-wrapi18n-perl \ + libterm-readkey-perl \ + liblocale-gettext-perl \ + libunicode-linebreak-perl \ +" -DEPENDS += "libmodule-build-perl-native" +inherit cpan_build BBCLASSEXTEND = "native" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 12 08:23:15 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 12 Jul 2017 08:23:15 +0000 Subject: [oe-commits] [meta-openembedded] 15/23: libsombok3: add recipe In-Reply-To: <149984778010.23327.4991773501196615787@git.openembedded.org> References: <149984778010.23327.4991773501196615787@git.openembedded.org> Message-ID: <20170712082300.F257A23345C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 9b2852b9c2c4b7cfaffc4abc98eff5c11a3529cf Author: Ming Liu AuthorDate: Tue Jul 11 18:44:31 2017 +0200 libsombok3: add recipe Sombok - Unicode Text Segmentation Package. It's being depended by libunicode-linebreak-perl. Signed-off-by: Ming Liu Signed-off-by: Martin Jansa --- ...01-configure.ac-fix-cross-compiling-issue.patch | 31 ++++++++++++++++++++++ .../libsombok3/libsombok3_2.4.0.bb | 25 +++++++++++++++++ 2 files changed, 56 insertions(+) diff --git a/meta-oe/recipes-devtools/libsombok3/libsombok3/0001-configure.ac-fix-cross-compiling-issue.patch b/meta-oe/recipes-devtools/libsombok3/libsombok3/0001-configure.ac-fix-cross-compiling-issue.patch new file mode 100644 index 0000000..1a69287 --- /dev/null +++ b/meta-oe/recipes-devtools/libsombok3/libsombok3/0001-configure.ac-fix-cross-compiling-issue.patch @@ -0,0 +1,31 @@ +From 9c2ffe825e28d63e2a771135f297e8ffac0dbe81 Mon Sep 17 00:00:00 2001 +From: Ming Liu +Date: Tue, 11 Jul 2017 14:35:30 +0200 +Subject: [PATCH] configure.ac: fix cross-compiling issue + +Avoid checking for file existence when cross compiling. + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Ming Liu +--- + configure.ac | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 9978852..06b16e3 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -120,9 +120,6 @@ AC_ARG_WITH(unicode-version, + AC_HELP_STRING(--with-unicode-version=VERSION, + [version of Unicode Standard @<:@default=current version@:>@]), + UNICODE_VERSION=$withval,UNICODE_VERSION=$DEFAULT_UNICODE_VERSION) +-AC_CHECK_FILE([lib/$UNICODE_VERSION.c], +- AC_MSG_RESULT($UNICODE_VERSION), +- AC_MSG_ERROR(Unknown Unicode version $UNICODE_VERSION.)) + AC_SUBST(UNICODE_VERSION) + + # check if code to debug memory allocation is enabled. +-- +2.7.4 + diff --git a/meta-oe/recipes-devtools/libsombok3/libsombok3_2.4.0.bb b/meta-oe/recipes-devtools/libsombok3/libsombok3_2.4.0.bb new file mode 100644 index 0000000..b83e86a --- /dev/null +++ b/meta-oe/recipes-devtools/libsombok3/libsombok3_2.4.0.bb @@ -0,0 +1,25 @@ +SUMMARY = "Sombok - Unicode Text Segmentation Package." +DESCRIPTION = "Sombok library package performs Line Breaking Algorithm described in \ +Unicode Standard Annex #14 (UAX #14). East_Asian_Width informative \ +properties defined by Annex #11 (UAX #11) may be concerned to determin \ +breaking positions. This package also implements "default" Grapheme \ +Cluster segmentation described in Annex #29 (UAX #29)." +LICENSE = "Artistic-1.0 | GPLv1+" +LIC_FILES_CHKSUM = "file://COPYING;md5=5b122a36d0f6dc55279a0ebc69f3c60b" + +SRC_URI = "git://github.com/hatukanezumi/sombok.git;protocol=https \ + file://0001-configure.ac-fix-cross-compiling-issue.patch \ + " + +inherit autotools pkgconfig + +# sombok-2.4.0 +SRCREV = "0098d85a037ef5c99a648a3669a077781a45e8cc" + +S = "${WORKDIR}/git" +B = "${S}" + +# Disable libthai support +EXTRA_OECONF = "--disable-libthai" + +BBCLASSEXTEND = "native" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 12 08:23:23 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 12 Jul 2017 08:23:23 +0000 Subject: [oe-commits] [meta-openembedded] 23/23: ebtables: replace ebtables-save perl script with bash rewrite In-Reply-To: <149984778010.23327.4991773501196615787@git.openembedded.org> References: <149984778010.23327.4991773501196615787@git.openembedded.org> Message-ID: <20170712082301.44711233469@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 1815d4eaaae42aa52b1130bab5cfbcc35ade8946 Author: Andre McCurdy AuthorDate: Tue Jul 11 10:09:11 2017 -0700 ebtables: replace ebtables-save perl script with bash rewrite Fedora provides a bash replacement for the default ebtables-save perl script. Using it allows the ebtables run-time dependency on perl to be replaced with a runtime dependency on bash - which is lower overhead and more likely to be present on typical embedded systems already. https://bugzilla.redhat.com/show_bug.cgi?id=746040 http://pkgs.fedoraproject.org/cgit/rpms/ebtables.git/tree/ebtables-save Since ebtables-save no longer contains a references to /usr, the previous QA issue workaround of moving it from ${base_sbindir} to ${sbindir} is no longer required. http://git.openembedded.org/meta-openembedded/commit/?id=a7c6fcebee7d9f86c356ea92de445d89e714ff62 Signed-off-by: Andre McCurdy Signed-off-by: Martin Jansa --- .../ebtables/ebtables-2.0.10-4/ebtables-save | 43 ++++++++++++++++++++++ .../recipes-filter/ebtables/ebtables_2.0.10-4.bb | 15 ++++---- 2 files changed, 50 insertions(+), 8 deletions(-) diff --git a/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/ebtables-save b/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/ebtables-save new file mode 100755 index 0000000..2d7fc4e --- /dev/null +++ b/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/ebtables-save @@ -0,0 +1,43 @@ +#!/bin/bash + +EBTABLES="/sbin/ebtables" + +[ -x "$EBTABLES" ] || exit 1 + +echo "# Generated by ebtables-save v1.0 on $(date)" + +cnt="" +[ "x$EBTABLES_SAVE_COUNTER" = "xyes" ] && cnt="--Lc" + +for table_name in $(grep -E '^ebtable_' /proc/modules | cut -f1 -d' ' | sed s/ebtable_//); do + table=$($EBTABLES -t $table_name -L $cnt) + [ $? -eq 0 ] || { echo "$table"; exit -1; } + + chain="" + rules="" + while read line; do + [ -z "$line" ] && continue + + case "$line" in + Bridge\ table:\ *) + echo "*${line:14}" + ;; + Bridge\ chain:\ *) + chain="${line:14}" + chain="${chain%%,*}" + policy="${line##*policy: }" + echo ":$chain $policy" + ;; + *) + if [ "$cnt" = "--Lc" ]; then + line=${line/, pcnt \=/ -c} + line=${line/-- bcnt \=/} + fi + rules="$rules-A $chain $line\n" + ;; + esac + done < References: <149984778010.23327.4991773501196615787@git.openembedded.org> Message-ID: <20170712082301.066E123345D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 20b186c27bea6b9e352d8cf8ac3ec70b556b1327 Author: Ming Liu AuthorDate: Tue Jul 11 18:44:32 2017 +0200 libmime-charset-perl: add recipe MIME::Charset - Charset Information for MIME. It's being depended by libunicode-linebreak-perl. Signed-off-by: Ming Liu Signed-off-by: Martin Jansa --- .../libmime/libmime-charset-perl_1.012.2.bb | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/meta-perl/recipes-perl/libmime/libmime-charset-perl_1.012.2.bb b/meta-perl/recipes-perl/libmime/libmime-charset-perl_1.012.2.bb new file mode 100644 index 0000000..79b4681 --- /dev/null +++ b/meta-perl/recipes-perl/libmime/libmime-charset-perl_1.012.2.bb @@ -0,0 +1,19 @@ +SUMMARY = "MIME::Charset - Charset Information for MIME." +DESCRIPTION = "MIME::Charset provides information about character sets used for MIME \ +messages on Internet." +HOMEPAGE = "http://search.cpan.org/~nezumi/MIME-Charset-${PV}/" +SECTION = "libs" + +LICENSE = "Artistic-1.0 | GPLv1+" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +SRC_URI = "${CPAN_MIRROR}/authors/id/N/NE/NEZUMI/MIME-Charset-${PV}.tar.gz" + +SRC_URI[md5sum] = "71440416376248c31aa3bef753fae28d" +SRC_URI[sha256sum] = "878c779c0256c591666bd06c0cde4c0d7820eeeb98fd1183082aee9a1e7b1d13" + +S = "${WORKDIR}/MIME-Charset-${PV}" + +inherit cpan + +BBCLASSEXTEND = "native" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 13 16:38:56 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 13 Jul 2017 16:38:56 +0000 Subject: [oe-commits] [bitbake] branch master-next updated: server: Rework the server API so process and xmlrpc servers coexist Message-ID: <149996393622.18741.17302558639404429965@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. The following commit(s) were added to refs/heads/master-next by this push: new cfd085c server: Rework the server API so process and xmlrpc servers coexist cfd085c is described below commit cfd085c209210a2a9a3f41d2726ee3adf270481b Author: Richard Purdie AuthorDate: Thu Jul 13 17:24:35 2017 +0100 server: Rework the server API so process and xmlrpc servers coexist This changes the way bitbake server works quite radically. Now, the server is always a process based server with the option of starting an XMLRPC listener on a specific inferface/port. Behind the scenes this is done with a "bitbake.sock" file alongside the bitbake.lock file. If we can obtain the lock, we know we need to start a server. The server always listens on the socket and UIs can then connect to this. UIs connect by sending a set of three file descriptors over the domain socket, one for sending commands, one for receiving command results and the other for receiving events. These changes meant we can throw away all the horrid server abstraction code, the plugable transport option to bitbake and the code becomes much more readable and debuggable. It also likely removes a ton of ways you could hang the UI/cooker in weird ways due to all the race conditions that existed with previous processes. Changes: * The foreground option for bitbake-server was dropped. Just tail the log if you really want this, the codepaths were complicated enough without adding one for this. * BBSERVER="autodetect" was dropped. The server will autostart and autoconnect in process mode. You have to specify an xmlrpc server address since that can't be autodetected. I can't see a use case for autodetect now. * The transport/servetype option to bitbake was dropped. * A BB_SERVER_TIMEOUT variable is added which allows the server to stay resident for a period of time after the last client disconnects before unloading. This is used if the -T/--idle-timeout option is not passed to bitbake. This change is invasive and may well introduce new issues however I believe the codebase is in a much better position for further development and debugging. Signed-off-by: Richard Purdie --- lib/bb/command.py | 5 + lib/bb/cooker.py | 61 +---- lib/bb/cookerdata.py | 25 +- lib/bb/event.py | 11 +- lib/bb/main.py | 219 +++++------------ lib/bb/server/__init__.py | 78 ------ lib/bb/server/process.py | 558 ++++++++++++++++++++++++++++-------------- lib/bb/server/xmlrpc.py | 448 --------------------------------- lib/bb/server/xmlrpcclient.py | 154 ++++++++++++ lib/bb/server/xmlrpcserver.py | 158 ++++++++++++ lib/prserv/serv.py | 4 +- 11 files changed, 796 insertions(+), 925 deletions(-) diff --git a/lib/bb/command.py b/lib/bb/command.py index 36891b9..eb7c86f 100644 --- a/lib/bb/command.py +++ b/lib/bb/command.py @@ -238,6 +238,11 @@ class CommandsSync: return command.cooker.matchFile(fMatch) matchFile.needconfig = False + def getUIHandlerNum(self, command, params): + return bb.event.get_uihandler() + getUIHandlerNum.needconfig = False + getUIHandlerNum.readonly = True + def setEventMask(self, command, params): handlerNum = params[0] llevel = params[1] diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py index dc8f54c..2e8ccb3 100644 --- a/lib/bb/cooker.py +++ b/lib/bb/cooker.py @@ -215,19 +215,6 @@ class BBCooker: self.configuration.server_register_idlecallback(_process_inotify_updates, [self.confignotifier, self.notifier]) - # Take a lock so only one copy of bitbake can run against a given build - # directory at a time - if not self.lockBitbake(): - bb.fatal("Only one copy of bitbake should be run against a build directory") - try: - self.lock.seek(0) - self.lock.truncate() - if len(configuration.interface) >= 2: - self.lock.write("%s:%s\n" % (configuration.interface[0], configuration.interface[1])); - self.lock.flush() - except: - pass - # TOSTOP must not be set or our children will hang when they output try: fd = sys.stdout.fileno() @@ -1557,33 +1544,6 @@ class BBCooker: def post_serve(self): prserv.serv.auto_shutdown(self.data) bb.event.fire(CookerExit(), self.data) - lockfile = self.lock.name - self.lock.close() - self.lock = None - - while not self.lock: - with bb.utils.timeout(3): - self.lock = bb.utils.lockfile(lockfile, shared=False, retry=False, block=True) - if not self.lock: - # Some systems may not have lsof available - procs = None - try: - procs = subprocess.check_output(["lsof", '-w', lockfile], stderr=subprocess.STDOUT) - except OSError as e: - if e.errno != errno.ENOENT: - raise - if procs is None: - # Fall back to fuser if lsof is unavailable - try: - procs = subprocess.check_output(["fuser", '-v', lockfile], stderr=subprocess.STDOUT) - except OSError as e: - if e.errno != errno.ENOENT: - raise - - msg = "Delaying shutdown due to active processes which appear to be holding bitbake.lock" - if procs: - msg += ":\n%s" % str(procs) - print(msg) def shutdown(self, force = False): @@ -1605,23 +1565,10 @@ class BBCooker: def clientComplete(self): """Called when the client is done using the server""" - if self.configuration.server_only: - self.finishcommand() - else: - self.shutdown(True) - - def lockBitbake(self): - if not hasattr(self, 'lock'): - self.lock = None - if self.data: - lockfile = self.data.expand("${TOPDIR}/bitbake.lock") - if lockfile: - self.lock = bb.utils.lockfile(lockfile, False, False) - return self.lock - - def unlockBitbake(self): - if hasattr(self, 'lock') and self.lock: - bb.utils.unlockfile(self.lock) + #if self.configuration.server_only: + self.finishcommand() + #else: + # self.shutdown(True) def server_main(cooker, func, *args): cooker.pre_serve() diff --git a/lib/bb/cookerdata.py b/lib/bb/cookerdata.py index 644bb38..1050cb4 100644 --- a/lib/bb/cookerdata.py +++ b/lib/bb/cookerdata.py @@ -76,7 +76,7 @@ class ConfigParameters(object): for o in ["abort", "tryaltconfigs", "force", "invalidate_stamp", "verbose", "debug", "dry_run", "dump_signatures", "debug_domains", "extra_assume_provided", "profile", - "prefile", "postfile", "tracking"]: + "prefile", "postfile", "tracking", "server_timeout"]: options[o] = getattr(self.options, o) ret, error = server.runCommand(["updateConfig", options, environment, sys.argv]) @@ -144,7 +144,8 @@ class CookerConfiguration(object): self.dump_signatures = [] self.dry_run = False self.tracking = False - self.interface = [] + self.xmlrpcinterface = [] + self.server_timeout = None self.writeeventlog = False self.server_only = False self.limited_deps = False @@ -230,6 +231,26 @@ def findConfigFile(configfile, data): return None +# +# We search for a conf/bblayers.conf under an entry in BBPATH or in cwd working +# up to /. If that fails, we search for a conf/bitbake.conf in BBPATH. +# + +def findTopdir(): + d = bb.data.init() + if 'BBPATH' in os.environ: + bbpath = os.environ['BBPATH'] + d.setVar('BBPATH', bbpath) + + layerconf = findConfigFile("bblayers.conf", d) + if layerconf: + return os.path.dirname(os.path.dirname(layerconf)) + if bbpath: + bitbakeconf = bb.utils.which(bbpath, "conf/bitbake.conf") + if bitbakeconf: + return os.path.dirname(os.path.dirname(bitbakeconf)) + return None + class CookerDataBuilder(object): def __init__(self, cookercfg, worker = False): diff --git a/lib/bb/event.py b/lib/bb/event.py index d5c5ef3..92ee3e9 100644 --- a/lib/bb/event.py +++ b/lib/bb/event.py @@ -288,13 +288,13 @@ def set_eventfilter(func): _eventfilter = func def register_UIHhandler(handler, mainui=False): - if mainui: - global _uiready - _uiready = True bb.event._ui_handler_seq = bb.event._ui_handler_seq + 1 _ui_handlers[_ui_handler_seq] = handler level, debug_domains = bb.msg.constructLogOptions() _ui_logfilters[_ui_handler_seq] = UIEventFilter(level, debug_domains) + if mainui: + global _uiready + _uiready = _ui_handler_seq return _ui_handler_seq def unregister_UIHhandler(handlerNum, mainui=False): @@ -305,6 +305,11 @@ def unregister_UIHhandler(handlerNum, mainui=False): del _ui_handlers[handlerNum] return +def get_uihandler(): + if _uiready is False: + return None + return _uiready + # Class to allow filtering of events and specific filtering of LogRecords *before* we put them over the IPC class UIEventFilter(object): def __init__(self, level, debug_domains): diff --git a/lib/bb/main.py b/lib/bb/main.py index 29e3911..81076ee 100755 --- a/lib/bb/main.py +++ b/lib/bb/main.py @@ -28,6 +28,7 @@ import logging import optparse import warnings import fcntl +import time import bb from bb import event @@ -37,6 +38,9 @@ from bb import ui from bb import server from bb import cookerdata +import bb.server.process +import bb.server.xmlrpcclient + logger = logging.getLogger("BitBake") class BBMainException(Exception): @@ -58,9 +62,6 @@ class BitbakeHelpFormatter(optparse.IndentedHelpFormatter): if option.dest == 'ui': valid_uis = list_extension_modules(bb.ui, 'main') option.help = option.help.replace('@CHOICES@', present_options(valid_uis)) - elif option.dest == 'servertype': - valid_server_types = list_extension_modules(bb.server, 'BitBakeServer') - option.help = option.help.replace('@CHOICES@', present_options(valid_server_types)) return optparse.IndentedHelpFormatter.format_option(self, option) @@ -238,11 +239,6 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters): default=os.environ.get('BITBAKE_UI', 'knotty'), help="The user interface to use (@CHOICES@ - default %default).") - # @CHOICES@ is substituted out by BitbakeHelpFormatter above - parser.add_option("-t", "--servertype", action="store", dest="servertype", - default=["process", "xmlrpc"]["BBSERVER" in os.environ], - help="Choose which server type to use (@CHOICES@ - default %default).") - parser.add_option("", "--token", action="store", dest="xmlrpctoken", default=os.environ.get("BBTOKEN"), help="Specify the connection token to be used when connecting " @@ -258,14 +254,11 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters): help="Run bitbake without a UI, only starting a server " "(cooker) process.") - parser.add_option("", "--foreground", action="store_true", - help="Run bitbake server in foreground.") - parser.add_option("-B", "--bind", action="store", dest="bind", default=False, - help="The name/address for the bitbake server to bind to.") + help="The name/address for the bitbake xmlrpc server to bind to.") - parser.add_option("-T", "--idle-timeout", type=int, - default=int(os.environ.get("BBTIMEOUT", "0")), + parser.add_option("-T", "--idle-timeout", type=float, dest="server_timeout", + default=float(os.environ.get("BB_SERVER_TIMEOUT", 0)) or None, help="Set timeout to unload bitbake server due to inactivity") parser.add_option("", "--no-setscene", action="store_true", @@ -283,7 +276,7 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters): parser.add_option("-m", "--kill-server", action="store_true", dest="kill_server", default=False, - help="Terminate the remote server.") + help="Terminate the bitbake server.") parser.add_option("", "--observe-only", action="store_true", dest="observe_only", default=False, @@ -322,70 +315,20 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters): eventlog = "bitbake_eventlog_%s.json" % datetime.now().strftime("%Y%m%d%H%M%S") options.writeeventlog = eventlog - # if BBSERVER says to autodetect, let's do that - if options.remote_server: - port = -1 - if options.remote_server != 'autostart': - host, port = options.remote_server.split(":", 2) + if options.bind: + try: + #Checking that the port is a number and is a ':' delimited value + (host, port) = options.bind.split(':') port = int(port) - # use automatic port if port set to -1, means read it from - # the bitbake.lock file; this is a bit tricky, but we always expect - # to be in the base of the build directory if we need to have a - # chance to start the server later, anyway - if port == -1: - lock_location = "./bitbake.lock" - # we try to read the address at all times; if the server is not started, - # we'll try to start it after the first connect fails, below - try: - lf = open(lock_location, 'r') - remotedef = lf.readline() - [host, port] = remotedef.split(":") - port = int(port) - lf.close() - options.remote_server = remotedef - except Exception as e: - if options.remote_server != 'autostart': - raise BBMainException("Failed to read bitbake.lock (%s), invalid port" % str(e)) + except (ValueError,IndexError): + raise BBMainException("FATAL: Malformed host:port bind parameter") + options.xmlrpcinterface = (host, port) + else: + options.xmlrpcinterface = (None, 0) return options, targets[1:] -def start_server(servermodule, configParams, configuration, features): - server = servermodule.BitBakeServer() - single_use = not configParams.server_only and os.getenv('BBSERVER') != 'autostart' - if configParams.bind: - (host, port) = configParams.bind.split(':') - server.initServer((host, int(port)), single_use=single_use, - idle_timeout=configParams.idle_timeout) - configuration.interface = [server.serverImpl.host, server.serverImpl.port] - else: - server.initServer(single_use=single_use) - configuration.interface = [] - - try: - configuration.setServerRegIdleCallback(server.getServerIdleCB()) - - cooker = bb.cooker.BBCooker(configuration, features) - - server.addcooker(cooker) - server.saveConnectionDetails() - except Exception as e: - while hasattr(server, "event_queue"): - import queue - try: - event = server.event_queue.get(block=False) - except (queue.Empty, IOError): - break - if isinstance(event, logging.LogRecord): - logger.handle(event) - raise - if not configParams.foreground: - server.detach() - cooker.shutdown() - cooker.lock.close() - return server - - def bitbake_main(configParams, configuration): # Python multiprocessing requires /dev/shm on Linux @@ -406,45 +349,15 @@ def bitbake_main(configParams, configuration): configuration.setConfigParameters(configParams) - if configParams.server_only: - if configParams.servertype != "xmlrpc": - raise BBMainException("FATAL: If '--server-only' is defined, we must set the " - "servertype as 'xmlrpc'.\n") - if not configParams.bind: - raise BBMainException("FATAL: The '--server-only' option requires a name/address " - "to bind to with the -B option.\n") - else: - try: - #Checking that the port is a number - int(configParams.bind.split(":")[1]) - except (ValueError,IndexError): - raise BBMainException( - "FATAL: Malformed host:port bind parameter") - if configParams.remote_server: + if configParams.server_only and configParams.remote_server: raise BBMainException("FATAL: The '--server-only' option conflicts with %s.\n" % ("the BBSERVER environment variable" if "BBSERVER" in os.environ \ else "the '--remote-server' option")) - elif configParams.foreground: - raise BBMainException("FATAL: The '--foreground' option can only be used " - "with --server-only.\n") - - if configParams.bind and configParams.servertype != "xmlrpc": - raise BBMainException("FATAL: If '-B' or '--bind' is defined, we must " - "set the servertype as 'xmlrpc'.\n") - - if configParams.remote_server and configParams.servertype != "xmlrpc": - raise BBMainException("FATAL: If '--remote-server' is defined, we must " - "set the servertype as 'xmlrpc'.\n") - if configParams.observe_only and (not configParams.remote_server or configParams.bind): raise BBMainException("FATAL: '--observe-only' can only be used by UI clients " "connecting to a server.\n") - if configParams.kill_server and not configParams.remote_server: - raise BBMainException("FATAL: '--kill-server' can only be used to " - "terminate a remote server") - if "BBDEBUG" in os.environ: level = int(os.environ["BBDEBUG"]) if level > configuration.debug: @@ -453,7 +366,7 @@ def bitbake_main(configParams, configuration): bb.msg.init_msgconfig(configParams.verbose, configuration.debug, configuration.debug_domains) - server, server_connection, ui_module = setup_bitbake(configParams, configuration) + server_connection, ui_module = setup_bitbake(configParams, configuration) if server_connection is None and configParams.kill_server: return 0 @@ -463,16 +376,15 @@ def bitbake_main(configParams, configuration): return 0 try: + for event in bb.event.ui_queue: + server_connection.events.queue_event(event) + bb.event.ui_queue = [] + return ui_module.main(server_connection.connection, server_connection.events, configParams) finally: - bb.event.ui_queue = [] server_connection.terminate() else: - print("Bitbake server address: %s, server port: %s" % (server.serverImpl.host, - server.serverImpl.port)) - if configParams.foreground: - server.serverImpl.serve_forever() return 0 return 1 @@ -495,58 +407,59 @@ def setup_bitbake(configParams, configuration, extrafeatures=None, setup_logging # Collect the feature set for the UI featureset = getattr(ui_module, "featureSet", []) - if configParams.server_only: - for param in ('prefile', 'postfile'): - value = getattr(configParams, param) - if value: - setattr(configuration, "%s_server" % param, value) - param = "%s_server" % param - if extrafeatures: for feature in extrafeatures: if not feature in featureset: featureset.append(feature) - servermodule = import_extension_module(bb.server, - configParams.servertype, - 'BitBakeServer') + server_connection = None + if configParams.remote_server: - if os.getenv('BBSERVER') == 'autostart': - if configParams.remote_server == 'autostart' or \ - not servermodule.check_connection(configParams.remote_server, timeout=2): - configParams.bind = 'localhost:0' - srv = start_server(servermodule, configParams, configuration, featureset) - configParams.remote_server = '%s:%d' % tuple(configuration.interface) - bb.event.ui_queue = [] - # we start a stub server that is actually a XMLRPClient that connects to a real server - from bb.server.xmlrpc import BitBakeXMLRPCClient - server = servermodule.BitBakeXMLRPCClient(configParams.observe_only, - configParams.xmlrpctoken) - server.saveConnectionDetails(configParams.remote_server) + # Connect to a remote XMLRPC server + server_connection = bb.server.xmlrpcclient.connectXMLRPC(configParams.remote_server, featureset, + configParams.observe_only, configParams.xmlrpctoken) else: - # we start a server with a given configuration - server = start_server(servermodule, configParams, configuration, featureset) + retries = 5 + while retries: + try: + topdir, lock = lockBitbake() + sockname = topdir + "/bitbake.sock" + if lock: + # we start a server with a given configuration + print("Starting bitbake server...") + server = bb.server.process.BitBakeServer(lock, sockname, configuration, featureset) + else: + print("Reconnecting to bitbake server...") + if not os.path.exists(sockname): + print("Previous bitbake instance shutting down?, waiting to retry...") + time.sleep(5) + raise bb.server.process.ProcessTimeout + if not configParams.server_only: + server_connection = bb.server.process.connectProcessServer(sockname, featureset) + break + except bb.server.process.ProcessTimeout: + if not retries: + raise + retries -= 1 + print("Retrying server connection...") + + if configParams.kill_server: + server_connection.connection.terminateServer() + server_connection.terminate() bb.event.ui_queue = [] + print("Terminated bitbake server.") + return None, None - if configParams.server_only: - server_connection = None - else: - try: - server_connection = server.establishConnection(featureset) - except Exception as e: - bb.fatal("Could not connect to server %s: %s" % (configParams.remote_server, str(e))) - - if configParams.kill_server: - server_connection.connection.terminateServer() - bb.event.ui_queue = [] - return None, None, None + # Restore the environment in case the UI needs it + for k in cleanedvars: + os.environ[k] = cleanedvars[k] - server_connection.setupEventQueue() + logger.removeHandler(handler) - # Restore the environment in case the UI needs it - for k in cleanedvars: - os.environ[k] = cleanedvars[k] + return server_connection, ui_module - logger.removeHandler(handler) +def lockBitbake(): + topdir = bb.cookerdata.findTopdir() + lockfile = topdir + "/bitbake.lock" + return topdir, bb.utils.lockfile(lockfile, False, False) - return server, server_connection, ui_module diff --git a/lib/bb/server/__init__.py b/lib/bb/server/__init__.py index 538a633..5a3fba9 100644 --- a/lib/bb/server/__init__.py +++ b/lib/bb/server/__init__.py @@ -18,82 +18,4 @@ # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -""" Base code for Bitbake server process -Have a common base for that all Bitbake server classes ensures a consistent -approach to the interface, and minimize risks associated with code duplication. - -""" - -""" BaseImplServer() the base class for all XXServer() implementations. - - These classes contain the actual code that runs the server side, i.e. - listens for the commands and executes them. Although these implementations - contain all the data of the original bitbake command, i.e the cooker instance, - they may well run on a different process or even machine. - -""" - -class BaseImplServer(): - def __init__(self): - self._idlefuns = {} - - def addcooker(self, cooker): - self.cooker = cooker - - def register_idle_function(self, function, data): - """Register a function to be called while the server is idle""" - assert hasattr(function, '__call__') - self._idlefuns[function] = data - - - -""" BitBakeBaseServerConnection class is the common ancestor to all - BitBakeServerConnection classes. - - These classes control the remote server. The only command currently - implemented is the terminate() command. - -""" - -class BitBakeBaseServerConnection(): - def __init__(self, serverImpl): - pass - - def terminate(self): - pass - - def setupEventQueue(self): - pass - - -""" BitBakeBaseServer class is the common ancestor to all Bitbake servers - - Derive this class in order to implement a BitBakeServer which is the - controlling stub for the actual server implementation - -""" -class BitBakeBaseServer(object): - def initServer(self): - self.serverImpl = None # we ensure a runtime crash if not overloaded - self.connection = None - return - - def addcooker(self, cooker): - self.cooker = cooker - self.serverImpl.addcooker(cooker) - - def getServerIdleCB(self): - return self.serverImpl.register_idle_function - - def saveConnectionDetails(self): - return - - def detach(self): - return - - def establishConnection(self, featureset): - raise "Must redefine the %s.establishConnection()" % self.__class__.__name__ - - def endSession(self): - self.connection.terminate() diff --git a/lib/bb/server/process.py b/lib/bb/server/process.py index f8d6767..1922aba 100644 --- a/lib/bb/server/process.py +++ b/lib/bb/server/process.py @@ -22,125 +22,196 @@ import bb import bb.event -import itertools import logging import multiprocessing +import threading +import array import os -import signal import sys import time import select -from queue import Empty -from multiprocessing import Event, Process, util, Queue, Pipe, queues, Manager - -from . import BitBakeBaseServer, BitBakeBaseServerConnection, BaseImplServer +import socket +import bb.server.xmlrpcserver +from bb import daemonize +from multiprocessing import queues logger = logging.getLogger('BitBake') -class ServerCommunicator(): - def __init__(self, connection, event_handle, server): - self.connection = connection - self.event_handle = event_handle - self.server = server - - def runCommand(self, command): - # @todo try/except - self.connection.send(command) - - if not self.server.is_alive(): - raise SystemExit +class ProcessTimeout(SystemExit): + pass - while True: - # don't let the user ctrl-c while we're waiting for a response - try: - for idx in range(0,4): # 0, 1, 2, 3 - if self.connection.poll(5): - return self.connection.recv() - else: - bb.warn("Timeout while attempting to communicate with bitbake server") - bb.fatal("Gave up; Too many tries: timeout while attempting to communicate with bitbake server") - except KeyboardInterrupt: - pass - - def getEventHandle(self): - return self.event_handle.value - -class EventAdapter(): - """ - Adapter to wrap our event queue since the caller (bb.event) expects to - call a send() method, but our actual queue only has put() - """ - def __init__(self, queue): - self.queue = queue - - def send(self, event): - try: - self.queue.put(event) - except Exception as err: - print("EventAdapter puked: %s" % str(err)) - - -class ProcessServer(Process, BaseImplServer): +class ProcessServer(multiprocessing.Process): profile_filename = "profile.log" profile_processed_filename = "profile.log.processed" - def __init__(self, command_channel, event_queue, featurelist): - BaseImplServer.__init__(self) - Process.__init__(self) - self.command_channel = command_channel - self.event_queue = event_queue - self.event = EventAdapter(event_queue) - self.featurelist = featurelist + def __init__(self, lock, sock, sockname): + multiprocessing.Process.__init__(self) + self.command_channel = False + self.command_channel_reply = False self.quit = False self.heartbeat_seconds = 1 # default, BB_HEARTBEAT_EVENT will be checked once we have a datastore. self.next_heartbeat = time.time() - self.quitin, self.quitout = Pipe() - self.event_handle = multiprocessing.Value("i") + self.event_handle = None + self.haveui = False + self.lastui = False + self.xmlrpc = False + + self._idlefuns = {} + + self.bitbake_lock = lock + self.sock = sock + self.sockname = sockname + + def register_idle_function(self, function, data): + """Register a function to be called while the server is idle""" + assert hasattr(function, '__call__') + self._idlefuns[function] = data def run(self): - for event in bb.event.ui_queue: - self.event_queue.put(event) - self.event_handle.value = bb.event.register_UIHhandler(self, True) + + if self.xmlrpcinterface[0]: + self.xmlrpc = bb.server.xmlrpcserver.BitBakeXMLRPCServer(self.xmlrpcinterface, self.cooker, self) + + print("Bitbake XMLRPC server address: %s, server port: %s" % (self.xmlrpc.host, self.xmlrpc.port)) heartbeat_event = self.cooker.data.getVar('BB_HEARTBEAT_EVENT') if heartbeat_event: try: self.heartbeat_seconds = float(heartbeat_event) except: - # Throwing an exception here causes bitbake to hang. - # Just warn about the invalid setting and continue bb.warn('Ignoring invalid BB_HEARTBEAT_EVENT=%s, must be a float specifying seconds.' % heartbeat_event) + + self.timeout = self.server_timeout or self.cooker.data.getVar('BB_SERVER_TIMEOUT') + try: + if self.timeout: + self.timeout = float(self.timeout) + except: + bb.warn('Ignoring invalid BB_SERVER_TIMEOUT=%s, must be a float specifying seconds.' % self.timeout) + + + try: + self.bitbake_lock.seek(0) + self.bitbake_lock.truncate() + if self.xmlrpcinterface[0]: + self.bitbake_lock.write("%s %s:%s\n" % (os.getpid(), configuration.interface[0], configuration.interface[1])) + else: + self.bitbake_lock.write("%s\n" % (os.getpid())) + self.bitbake_lock.flush() + except: + pass + bb.cooker.server_main(self.cooker, self.main) def main(self): - # Ignore SIGINT within the server, as all SIGINT handling is done by - # the UI and communicated to us - self.quitin.close() - signal.signal(signal.SIGINT, signal.SIG_IGN) bb.utils.set_process_name("Cooker") + + ready = [] + + self.controllersock = False + fds = [self.sock] + if self.xmlrpc: + fds.append(self.xmlrpc) while not self.quit: - try: - if self.command_channel.poll(): - command = self.command_channel.recv() - self.runCommand(command) - if self.quitout.poll(): - self.quitout.recv() + if self.command_channel in ready: + command = self.command_channel.get() + if command[0] == "terminateServer": self.quit = True - try: - self.runCommand(["stateForceShutdown"]) - except: - pass - - self.idle_commands(.1, [self.command_channel, self.quitout]) - except Exception: - logger.exception('Running command %s', command) + continue + try: + print("Running command %s" % command) + self.command_channel_reply.send(self.cooker.command.runCommand(command)) + except Exception as e: + logger.exception('Exception in server main event loop running command %s (%s)' % (command, str(e))) + + if self.xmlrpc in ready: + self.xmlrpc.handle_requests() + if self.sock in ready: + print("Accepting %s" % (str(ready))) + self.controllersock, address = self.sock.accept() + fds.append(self.controllersock) + if self.controllersock in ready: + try: + print("Connecting Client") + ui_fds = recvfds(self.controllersock, 3) + + # Where to write events to + writer = ConnectionWriter(ui_fds[0]) + self.event_handle = bb.event.register_UIHhandler(writer, True) + self.event_writer = writer + + # Where to read commands from + reader = ConnectionReader(ui_fds[1]) + fds.append(reader) + self.command_channel = reader + + # Where to send command return values to + writer = ConnectionWriter(ui_fds[2]) + self.command_channel_reply = writer + + self.haveui = True + + except EOFError: + print("Disconnecting Client") + fds.remove(self.controllersock) + fds.remove(self.command_channel) + bb.event.unregister_UIHhandler(self.event_handle, True) + self.command_channel_reply.writer.close() + self.event_writer.writer.close() + del self.event_writer + self.controllersock.close() + self.haveui = False + self.lastui = time.time() + self.cooker.clientComplete() + if self.timeout is None: + self.quit = True + if not self.haveui and self.lastui and self.timeout and (self.lastui + self.timeout) < time.time(): + self.quit = True - self.event_queue.close() - bb.event.unregister_UIHhandler(self.event_handle.value, True) - self.command_channel.close() - self.cooker.shutdown(True) - self.quitout.close() + ready = self.idle_commands(.1, fds) + + print("Exiting") + try: + self.cooker.shutdown(True) + except: + pass + + # Remove the socket file so we don't get any more connections to avoid races + os.unlink(self.sockname) + self.sock.close() + + # Finally release the lockfile but warn about other processes holding it open + lock = self.bitbake_lock + lockfile = lock.name + lock.close() + lock = None + + while not lock: + with bb.utils.timeout(3): + lock = bb.utils.lockfile(lockfile, shared=False, retry=False, block=True) + if not lock: + # Some systems may not have lsof available + procs = None + try: + procs = subprocess.check_output(["lsof", '-w', lockfile], stderr=subprocess.STDOUT) + except OSError as e: + if e.errno != errno.ENOENT: + raise + if procs is None: + # Fall back to fuser if lsof is unavailable + try: + procs = subprocess.check_output(["fuser", '-v', lockfile], stderr=subprocess.STDOUT) + except OSError as e: + if e.errno != errno.ENOENT: + raise + + msg = "Delaying shutdown due to active processes which appear to be holding bitbake.lock" + if procs: + msg += ":\n%s" % str(procs) + print(msg) + return + # We hold the lock so we can remove the file (hide stale pid data) + bb.utils.remove(lockfile) def idle_commands(self, delay, fds=None): nextsleep = delay @@ -186,111 +257,234 @@ class ProcessServer(Process, BaseImplServer): nextsleep = self.next_heartbeat - now if nextsleep is not None: - select.select(fds,[],[],nextsleep) + if self.xmlrpc: + nextsleep = self.xmlrpc.get_timeout(nextsleep) + return select.select(fds,[],[],nextsleep)[0] + else: + return [] + + +class ServerCommunicator(): + def __init__(self, connection, recv): + self.connection = connection + self.recv = recv def runCommand(self, command): - """ - Run a cooker command on the server - """ - self.command_channel.send(self.cooker.command.runCommand(command)) - - def stop(self): - self.quitin.send("quit") - self.quitin.close() - -class BitBakeProcessServerConnection(BitBakeBaseServerConnection): - def __init__(self, serverImpl, ui_channel, event_queue): - self.procserver = serverImpl - self.ui_channel = ui_channel - self.event_queue = event_queue - self.connection = ServerCommunicator(self.ui_channel, self.procserver.event_handle, self.procserver) - self.events = self.event_queue - self.terminated = False - - def sigterm_terminate(self): - bb.error("UI received SIGTERM") - self.terminate() + + self.connection.send(command) + while True: + # don't let the user ctrl-c while we're waiting for a response + try: + for idx in range(0,4): # 0, 1, 2, 3 + if self.recv.poll(1): + return self.recv.get() + else: + bb.warn("Timeout while attempting to communicate with bitbake server") + raise ProcessTimeout("Gave up; Too many tries: timeout while attempting to communicate with bitbake server") + except KeyboardInterrupt: + pass + + def updateFeatureSet(self, featureset): + _, error = self.runCommand(["setFeatures", featureset]) + if error: + logger.error("Unable to set the cooker to the correct featureset: %s" % error) + raise BaseException(error) + + def getEventHandle(self): + handle, error = self.runCommand(["getUIHandlerNum"]) + if error: + logger.error("Unable to get UI Handler Number: %s" % error) + raise BaseException(error) + + return handle + + def terminateServer(self): + self.connection.send(['terminateServer']) + return + +class BitBakeProcessServerConnection(object): + def __init__(self, ui_channel, recv, eq): + self.connection = ServerCommunicator(ui_channel, recv) + self.events = eq def terminate(self): - if self.terminated: - return - self.terminated = True - def flushevents(): - while True: - try: - event = self.event_queue.get(block=False) - except (Empty, IOError): - break - if isinstance(event, logging.LogRecord): - logger.handle(event) - - self.procserver.stop() - - while self.procserver.is_alive(): - flushevents() - self.procserver.join(0.1) - - self.ui_channel.close() - self.event_queue.close() - self.event_queue.setexit() - # XXX: Call explicity close in _writer to avoid - # fd leakage because isn't called on Queue.close() - self.event_queue._writer.close() - -# Wrap Queue to provide API which isn't server implementation specific -class ProcessEventQueue(multiprocessing.queues.Queue): - def __init__(self, maxsize): - multiprocessing.queues.Queue.__init__(self, maxsize, ctx=multiprocessing.get_context()) - self.exit = False - bb.utils.set_process_name("ProcessEQueue") - - def setexit(self): - self.exit = True - - def waitEvent(self, timeout): - if self.exit: - return self.getEvent() + self.socket_connection.close() + return + +class BitBakeServer(object): + def __init__(self, lock, sockname, configuration, featureset): + + self.configuration = configuration + self.featureset = featureset + self.sockname = sockname + self.bitbake_lock = lock + + # Create server control socket + if os.path.exists(sockname): + os.unlink(sockname) + + self.sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) + self.sock.bind(sockname) + self.sock.listen(1) + + os.set_inheritable(self.sock.fileno(), True) + bb.daemonize.createDaemon(self._startServer, "bitbake-cookerdaemon.log") + self.sock.close() + + def _startServer(self): + server = ProcessServer(self.bitbake_lock, self.sock, self.sockname) + self.configuration.setServerRegIdleCallback(server.register_idle_function) + + # Copy prefile and postfile to _server variants + for param in ('prefile', 'postfile'): + value = getattr(self.configuration, param) + if value: + setattr(self.configuration, "%s_server" % param, value) + + self.cooker = bb.cooker.BBCooker(self.configuration, self.featureset) + server.cooker = self.cooker + server.server_timeout = self.configuration.server_timeout + server.xmlrpcinterface = self.configuration.xmlrpcinterface + server.start() + +def connectProcessServer(sockname, featureset): + # Connect to socket + sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) + sock.connect(sockname) + + # Send an fd for the remote to write events to + readfd, writefd = os.pipe() + eq = BBUIEventQueue(readfd) + # Send an fd for the remote to recieve commands from + readfd1, writefd1 = os.pipe() + command_chan = ConnectionWriter(writefd1) + # Send an fd for the remote to write commands results to + readfd2, writefd2 = os.pipe() + command_chan_recv = ConnectionReader(readfd2) + + sendfds(sock, [writefd, readfd1, writefd2]) + + try: + server_connection = BitBakeProcessServerConnection(command_chan, command_chan_recv, eq) + + server_connection.connection.updateFeatureSet(featureset) + + # Save sock so it doesn't get gc'd for the life of our connection + server_connection.socket_connection = sock + except: + sock.close() + raise + + return server_connection + +def sendfds(sock, fds): + '''Send an array of fds over an AF_UNIX socket.''' + fds = array.array('i', fds) + msg = bytes([len(fds) % 256]) + sock.sendmsg([msg], [(socket.SOL_SOCKET, socket.SCM_RIGHTS, fds)]) + +def recvfds(sock, size): + '''Receive an array of fds over an AF_UNIX socket.''' + a = array.array('i') + bytes_size = a.itemsize * size + msg, ancdata, flags, addr = sock.recvmsg(1, socket.CMSG_LEN(bytes_size)) + if not msg and not ancdata: + raise EOFError try: - if not self.server.is_alive(): - return self.getEvent() - if timeout == 0: - return self.get(False) - return self.get(True, timeout) - except Empty: - return None + if len(ancdata) != 1: + raise RuntimeError('received %d items of ancdata' % + len(ancdata)) + cmsg_level, cmsg_type, cmsg_data = ancdata[0] + if (cmsg_level == socket.SOL_SOCKET and + cmsg_type == socket.SCM_RIGHTS): + if len(cmsg_data) % a.itemsize != 0: + raise ValueError + a.frombytes(cmsg_data) + assert len(a) % 256 == msg[0] + return list(a) + except (ValueError, IndexError): + pass + raise RuntimeError('Invalid data received') + +class BBUIEventQueue: + def __init__(self, readfd): + + self.eventQueue = [] + self.eventQueueLock = threading.Lock() + self.eventQueueNotify = threading.Event() + + self.reader = ConnectionReader(readfd) + + self.t = threading.Thread() + self.t.setDaemon(True) + self.t.run = self.startCallbackHandler + self.t.start() def getEvent(self): - try: - if not self.server.is_alive(): - self.setexit() - return self.get(False) - except Empty: - if self.exit: - sys.exit(1) + self.eventQueueLock.acquire() + + if len(self.eventQueue) == 0: + self.eventQueueLock.release() return None -class BitBakeServer(BitBakeBaseServer): - def initServer(self, single_use=True): - # establish communication channels. We use bidirectional pipes for - # ui <--> server command/response pairs - # and a queue for server -> ui event notifications - # - self.ui_channel, self.server_channel = Pipe() - self.event_queue = ProcessEventQueue(0) - self.serverImpl = ProcessServer(self.server_channel, self.event_queue, None) - self.event_queue.server = self.serverImpl - - def detach(self): - self.serverImpl.start() - return + item = self.eventQueue.pop(0) - def establishConnection(self, featureset): + if len(self.eventQueue) == 0: + self.eventQueueNotify.clear() - self.connection = BitBakeProcessServerConnection(self.serverImpl, self.ui_channel, self.event_queue) + self.eventQueueLock.release() + return item + + def waitEvent(self, delay): + self.eventQueueNotify.wait(delay) + return self.getEvent() + + def queue_event(self, event): + self.eventQueueLock.acquire() + self.eventQueue.append(event) + self.eventQueueNotify.set() + self.eventQueueLock.release() + + def send_event(self, event): + self.queue_event(pickle.loads(event)) + + def startCallbackHandler(self): + bb.utils.set_process_name("UIEventQueue") + while True: + self.reader.wait() + event = self.reader.get() + self.queue_event(event) + +class ConnectionReader(object): + + def __init__(self, fd): + self.reader = multiprocessing.connection.Connection(fd, writable=False) + self.rlock = multiprocessing.Lock() + + def wait(self, timeout=None): + return multiprocessing.connection.wait([self.reader], timeout) + + def poll(self, timeout=None): + return self.reader.poll(timeout) + + def get(self): + with self.rlock: + res = self.reader.recv_bytes() + return multiprocessing.reduction.ForkingPickler.loads(res) + + def fileno(self): + return self.reader.fileno() + +class ConnectionWriter(object): + + def __init__(self, fd): + self.writer = multiprocessing.connection.Connection(fd, readable=False) + self.wlock = multiprocessing.Lock() + # Why bb.event needs this I have no idea + self.event = self + + def send(self, obj): + obj = multiprocessing.reduction.ForkingPickler.dumps(obj) + with self.wlock: + self.writer.send_bytes(obj) - _, error = self.connection.connection.runCommand(["setFeatures", featureset]) - if error: - logger.error("Unable to set the cooker to the correct featureset: %s" % error) - raise BaseException(error) - signal.signal(signal.SIGTERM, lambda i, s: self.connection.sigterm_terminate()) - return self.connection diff --git a/lib/bb/server/xmlrpc.py b/lib/bb/server/xmlrpc.py deleted file mode 100644 index 1a475e0..0000000 --- a/lib/bb/server/xmlrpc.py +++ /dev/null @@ -1,448 +0,0 @@ -# -# BitBake XMLRPC Server -# -# Copyright (C) 2006 - 2007 Michael 'Mickey' Lauer -# Copyright (C) 2006 - 2008 Richard Purdie -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -""" - This module implements an xmlrpc server for BitBake. - - Use this by deriving a class from BitBakeXMLRPCServer and then adding - methods which you want to "export" via XMLRPC. If the methods have the - prefix xmlrpc_, then registering those function will happen automatically, - if not, you need to call register_function. - - Use register_idle_function() to add a function which the xmlrpc server - calls from within server_forever when no requests are pending. Make sure - that those functions are non-blocking or else you will introduce latency - in the server's main loop. -""" - -import os -import sys - -import hashlib -import time -import socket -import signal -import threading -import pickle -import inspect -import select -import http.client -import xmlrpc.client -from xmlrpc.server import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler - -import bb -from bb import daemonize -from bb.ui import uievent -from . import BitBakeBaseServer, BitBakeBaseServerConnection, BaseImplServer - -DEBUG = False - -class BBTransport(xmlrpc.client.Transport): - def __init__(self, timeout): - self.timeout = timeout - self.connection_token = None - xmlrpc.client.Transport.__init__(self) - - # Modified from default to pass timeout to HTTPConnection - def make_connection(self, host): - #return an existing connection if possible. This allows - #HTTP/1.1 keep-alive. - if self._connection and host == self._connection[0]: - return self._connection[1] - - # create a HTTP connection object from a host descriptor - chost, self._extra_headers, x509 = self.get_host_info(host) - #store the host argument along with the connection object - self._connection = host, http.client.HTTPConnection(chost, timeout=self.timeout) - return self._connection[1] - - def set_connection_token(self, token): - self.connection_token = token - - def send_content(self, h, body): - if self.connection_token: - h.putheader("Bitbake-token", self.connection_token) - xmlrpc.client.Transport.send_content(self, h, body) - -def _create_server(host, port, timeout = 60): - t = BBTransport(timeout) - s = xmlrpc.client.ServerProxy("http://%s:%d/" % (host, port), transport=t, allow_none=True, use_builtin_types=True) - return s, t - -def check_connection(remote, timeout): - try: - host, port = remote.split(":") - port = int(port) - except Exception as e: - bb.warn("Failed to read remote definition (%s)" % str(e)) - raise e - - server, _transport = _create_server(host, port, timeout) - try: - ret, err = server.runCommand(['getVariable', 'TOPDIR']) - if err or not ret: - return False - except ConnectionError: - return False - return True - -class BitBakeServerCommands(): - - def __init__(self, server): - self.server = server - self.has_client = False - - def registerEventHandler(self, host, port): - """ - Register a remote UI Event Handler - """ - s, t = _create_server(host, port) - - # we don't allow connections if the cooker is running - if (self.cooker.state in [bb.cooker.state.parsing, bb.cooker.state.running]): - return None, "Cooker is busy: %s" % bb.cooker.state.get_name(self.cooker.state) - - self.event_handle = bb.event.register_UIHhandler(s, True) - return self.event_handle, 'OK' - - def unregisterEventHandler(self, handlerNum): - """ - Unregister a remote UI Event Handler - """ - return bb.event.unregister_UIHhandler(handlerNum, True) - - def runCommand(self, command): - """ - Run a cooker command on the server - """ - return self.cooker.command.runCommand(command, self.server.readonly) - - def getEventHandle(self): - return self.event_handle - - def terminateServer(self): - """ - Trigger the server to quit - """ - self.server.quit = True - print("Server (cooker) exiting") - return - - def addClient(self): - if self.has_client: - return None - token = hashlib.md5(str(time.time()).encode("utf-8")).hexdigest() - self.server.set_connection_token(token) - self.has_client = True - return token - - def removeClient(self): - if self.has_client: - self.server.set_connection_token(None) - self.has_client = False - if self.server.single_use: - self.server.quit = True - -# This request handler checks if the request has a "Bitbake-token" header -# field (this comes from the client side) and compares it with its internal -# "Bitbake-token" field (this comes from the server). If the two are not -# equal, it is assumed that a client is trying to connect to the server -# while another client is connected to the server. In this case, a 503 error -# ("service unavailable") is returned to the client. -class BitBakeXMLRPCRequestHandler(SimpleXMLRPCRequestHandler): - def __init__(self, request, client_address, server): - self.server = server - SimpleXMLRPCRequestHandler.__init__(self, request, client_address, server) - - def do_POST(self): - try: - remote_token = self.headers["Bitbake-token"] - except: - remote_token = None - if remote_token != self.server.connection_token and remote_token != "observer": - self.report_503() - else: - if remote_token == "observer": - self.server.readonly = True - else: - self.server.readonly = False - SimpleXMLRPCRequestHandler.do_POST(self) - - def report_503(self): - self.send_response(503) - response = 'No more client allowed' - self.send_header("Content-type", "text/plain") - self.send_header("Content-length", str(len(response))) - self.end_headers() - self.wfile.write(bytes(response, 'utf-8')) - - -class XMLRPCProxyServer(BaseImplServer): - """ not a real working server, but a stub for a proxy server connection - - """ - def __init__(self, host, port, use_builtin_types=True): - self.host = host - self.port = port - -class XMLRPCServer(SimpleXMLRPCServer, BaseImplServer): - # remove this when you're done with debugging - # allow_reuse_address = True - - def __init__(self, interface, single_use=False, idle_timeout=0): - """ - Constructor - """ - BaseImplServer.__init__(self) - self.single_use = single_use - # Use auto port configuration - if (interface[1] == -1): - interface = (interface[0], 0) - SimpleXMLRPCServer.__init__(self, interface, - requestHandler=BitBakeXMLRPCRequestHandler, - logRequests=False, allow_none=True) - self.host, self.port = self.socket.getsockname() - self.connection_token = None - #self.register_introspection_functions() - self.commands = BitBakeServerCommands(self) - self.autoregister_all_functions(self.commands, "") - self.interface = interface - self.time = time.time() - self.idle_timeout = idle_timeout - if idle_timeout: - self.register_idle_function(self.handle_idle_timeout, self) - self.heartbeat_seconds = 1 # default, BB_HEARTBEAT_EVENT will be checked once we have a datastore. - self.next_heartbeat = time.time() - - def addcooker(self, cooker): - BaseImplServer.addcooker(self, cooker) - self.commands.cooker = cooker - - def autoregister_all_functions(self, context, prefix): - """ - Convenience method for registering all functions in the scope - of this class that start with a common prefix - """ - methodlist = inspect.getmembers(context, inspect.ismethod) - for name, method in methodlist: - if name.startswith(prefix): - self.register_function(method, name[len(prefix):]) - - def handle_idle_timeout(self, server, data, abort): - if not abort: - if time.time() - server.time > server.idle_timeout: - server.quit = True - print("Server idle timeout expired") - return [] - - def serve_forever(self): - heartbeat_event = self.cooker.data.getVar('BB_HEARTBEAT_EVENT') - if heartbeat_event: - try: - self.heartbeat_seconds = float(heartbeat_event) - except: - # Throwing an exception here causes bitbake to hang. - # Just warn about the invalid setting and continue - bb.warn('Ignoring invalid BB_HEARTBEAT_EVENT=%s, must be a float specifying seconds.' % heartbeat_event) - - # Start the actual XMLRPC server - bb.cooker.server_main(self.cooker, self._serve_forever) - - def _serve_forever(self): - """ - Serve Requests. Overloaded to honor a quit command - """ - self.quit = False - while not self.quit: - fds = [self] - nextsleep = 0.1 - for function, data in list(self._idlefuns.items()): - retval = None - try: - retval = function(self, data, False) - if retval is False: - del self._idlefuns[function] - elif retval is True: - nextsleep = 0 - elif isinstance(retval, float): - if (retval < nextsleep): - nextsleep = retval - else: - fds = fds + retval - except SystemExit: - raise - except: - import traceback - traceback.print_exc() - if retval == None: - # the function execute failed; delete it - del self._idlefuns[function] - pass - - socktimeout = self.socket.gettimeout() or nextsleep - socktimeout = min(socktimeout, nextsleep) - # Mirror what BaseServer handle_request would do - try: - fd_sets = select.select(fds, [], [], socktimeout) - if fd_sets[0] and self in fd_sets[0]: - if self.idle_timeout: - self.time = time.time() - self._handle_request_noblock() - except IOError: - # we ignore interrupted calls - pass - - # Create new heartbeat event? - now = time.time() - if now >= self.next_heartbeat: - # We might have missed heartbeats. Just trigger once in - # that case and continue after the usual delay. - self.next_heartbeat += self.heartbeat_seconds - if self.next_heartbeat <= now: - self.next_heartbeat = now + self.heartbeat_seconds - heartbeat = bb.event.HeartbeatEvent(now) - bb.event.fire(heartbeat, self.cooker.data) - if nextsleep and now + nextsleep > self.next_heartbeat: - # Shorten timeout so that we we wake up in time for - # the heartbeat. - nextsleep = self.next_heartbeat - now - - # Tell idle functions we're exiting - for function, data in list(self._idlefuns.items()): - try: - retval = function(self, data, True) - except: - pass - self.server_close() - return - - def set_connection_token(self, token): - self.connection_token = token - -class BitBakeXMLRPCServerConnection(BitBakeBaseServerConnection): - def __init__(self, serverImpl, clientinfo=("localhost", 0), observer_only = False, featureset = None): - self.connection, self.transport = _create_server(serverImpl.host, serverImpl.port) - self.clientinfo = clientinfo - self.serverImpl = serverImpl - self.observer_only = observer_only - if featureset: - self.featureset = featureset - else: - self.featureset = [] - - def connect(self, token = None): - if token is None: - if self.observer_only: - token = "observer" - else: - token = self.connection.addClient() - - if token is None: - return None - - self.transport.set_connection_token(token) - return self - - def setupEventQueue(self): - self.events = uievent.BBUIEventQueue(self.connection, self.clientinfo) - for event in bb.event.ui_queue: - self.events.queue_event(event) - - _, error = self.connection.runCommand(["setFeatures", self.featureset]) - if error: - # disconnect the client, we can't make the setFeature work - self.connection.removeClient() - # no need to log it here, the error shall be sent to the client - raise BaseException(error) - - def removeClient(self): - if not self.observer_only: - self.connection.removeClient() - - def terminate(self): - # Don't wait for server indefinitely - import socket - socket.setdefaulttimeout(2) - try: - self.events.system_quit() - except: - pass - try: - self.connection.removeClient() - except: - pass - -class BitBakeServer(BitBakeBaseServer): - def initServer(self, interface = ("localhost", 0), - single_use = False, idle_timeout=0): - self.interface = interface - self.serverImpl = XMLRPCServer(interface, single_use, idle_timeout) - - def detach(self): - daemonize.createDaemon(self.serverImpl.serve_forever, "bitbake-cookerdaemon.log") - del self.cooker - - def establishConnection(self, featureset): - self.connection = BitBakeXMLRPCServerConnection(self.serverImpl, self.interface, False, featureset) - return self.connection.connect() - - def set_connection_token(self, token): - self.connection.transport.set_connection_token(token) - -class BitBakeXMLRPCClient(BitBakeBaseServer): - - def __init__(self, observer_only = False, token = None): - self.token = token - - self.observer_only = observer_only - # if we need extra caches, just tell the server to load them all - pass - - def saveConnectionDetails(self, remote): - self.remote = remote - - def establishConnection(self, featureset): - # The format of "remote" must be "server:port" - try: - [host, port] = self.remote.split(":") - port = int(port) - except Exception as e: - bb.warn("Failed to read remote definition (%s)" % str(e)) - raise e - - # We need our IP for the server connection. We get the IP - # by trying to connect with the server - try: - s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) - s.connect((host, port)) - ip = s.getsockname()[0] - s.close() - except Exception as e: - bb.warn("Could not create socket for %s:%s (%s)" % (host, port, str(e))) - raise e - try: - self.serverImpl = XMLRPCProxyServer(host, port, use_builtin_types=True) - self.connection = BitBakeXMLRPCServerConnection(self.serverImpl, (ip, 0), self.observer_only, featureset) - return self.connection.connect(self.token) - except Exception as e: - bb.warn("Could not connect to server at %s:%s (%s)" % (host, port, str(e))) - raise e - - def endSession(self): - self.connection.removeClient() diff --git a/lib/bb/server/xmlrpcclient.py b/lib/bb/server/xmlrpcclient.py new file mode 100644 index 0000000..4661a9e --- /dev/null +++ b/lib/bb/server/xmlrpcclient.py @@ -0,0 +1,154 @@ +# +# BitBake XMLRPC Client Interface +# +# Copyright (C) 2006 - 2007 Michael 'Mickey' Lauer +# Copyright (C) 2006 - 2008 Richard Purdie +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +import os +import sys + +import socket +import http.client +import xmlrpc.client + +import bb +from bb.ui import uievent + +class BBTransport(xmlrpc.client.Transport): + def __init__(self, timeout): + self.timeout = timeout + self.connection_token = None + xmlrpc.client.Transport.__init__(self) + + # Modified from default to pass timeout to HTTPConnection + def make_connection(self, host): + #return an existing connection if possible. This allows + #HTTP/1.1 keep-alive. + if self._connection and host == self._connection[0]: + return self._connection[1] + + # create a HTTP connection object from a host descriptor + chost, self._extra_headers, x509 = self.get_host_info(host) + #store the host argument along with the connection object + self._connection = host, http.client.HTTPConnection(chost, timeout=self.timeout) + return self._connection[1] + + def set_connection_token(self, token): + self.connection_token = token + + def send_content(self, h, body): + if self.connection_token: + h.putheader("Bitbake-token", self.connection_token) + xmlrpc.client.Transport.send_content(self, h, body) + +def _create_server(host, port, timeout = 60): + t = BBTransport(timeout) + s = xmlrpc.client.ServerProxy("http://%s:%d/" % (host, port), transport=t, allow_none=True, use_builtin_types=True) + return s, t + +def check_connection(remote, timeout): + try: + host, port = remote.split(":") + port = int(port) + except Exception as e: + bb.warn("Failed to read remote definition (%s)" % str(e)) + raise e + + server, _transport = _create_server(host, port, timeout) + try: + ret, err = server.runCommand(['getVariable', 'TOPDIR']) + if err or not ret: + return False + except ConnectionError: + return False + return True + +class BitBakeXMLRPCServerConnection(object): + def __init__(self, host, port, clientinfo=("localhost", 0), observer_only = False, featureset = None): + self.connection, self.transport = _create_server(host, port) + self.clientinfo = clientinfo + self.observer_only = observer_only + if featureset: + self.featureset = featureset + else: + self.featureset = [] + + self.events = uievent.BBUIEventQueue(self.connection, self.clientinfo) + + _, error = self.connection.runCommand(["setFeatures", self.featureset]) + if error: + # disconnect the client, we can't make the setFeature work + self.connection.removeClient() + # no need to log it here, the error shall be sent to the client + raise BaseException(error) + + def connect(self, token = None): + if token is None: + if self.observer_only: + token = "observer" + else: + token = self.connection.addClient() + + if token is None: + return None + + self.transport.set_connection_token(token) + return self + + def removeClient(self): + if not self.observer_only: + self.connection.removeClient() + + def terminate(self): + # Don't wait for server indefinitely + socket.setdefaulttimeout(2) + try: + self.events.system_quit() + except: + pass + try: + self.connection.removeClient() + except: + pass + +def connectXMLRPC(remote, featureset, observer_only = False, token = None): + # The format of "remote" must be "server:port" + try: + [host, port] = remote.split(":") + port = int(port) + except Exception as e: + bb.warn("Failed to parse remote definition %s (%s)" % (remote, str(e))) + raise e + + # We need our IP for the server connection. We get the IP + # by trying to connect with the server + try: + s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + s.connect((host, port)) + ip = s.getsockname()[0] + s.close() + except Exception as e: + bb.warn("Could not create socket for %s:%s (%s)" % (host, port, str(e))) + raise e + try: + connection = BitBakeXMLRPCServerConnection(host, port, (ip, 0), observer_only, featureset) + return connection.connect(token) + except Exception as e: + bb.warn("Could not connect to server at %s:%s (%s)" % (host, port, str(e))) + raise e + + + diff --git a/lib/bb/server/xmlrpcserver.py b/lib/bb/server/xmlrpcserver.py new file mode 100644 index 0000000..875b128 --- /dev/null +++ b/lib/bb/server/xmlrpcserver.py @@ -0,0 +1,158 @@ +# +# BitBake XMLRPC Server Interface +# +# Copyright (C) 2006 - 2007 Michael 'Mickey' Lauer +# Copyright (C) 2006 - 2008 Richard Purdie +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +import os +import sys + +import hashlib +import time +import inspect +from xmlrpc.server import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler + +import bb + +# This request handler checks if the request has a "Bitbake-token" header +# field (this comes from the client side) and compares it with its internal +# "Bitbake-token" field (this comes from the server). If the two are not +# equal, it is assumed that a client is trying to connect to the server +# while another client is connected to the server. In this case, a 503 error +# ("service unavailable") is returned to the client. +class BitBakeXMLRPCRequestHandler(SimpleXMLRPCRequestHandler): + def __init__(self, request, client_address, server): + self.server = server + SimpleXMLRPCRequestHandler.__init__(self, request, client_address, server) + + def do_POST(self): + try: + remote_token = self.headers["Bitbake-token"] + except: + remote_token = None + if 0 and remote_token != self.server.connection_token and remote_token != "observer": + self.report_503() + else: + if remote_token == "observer": + self.server.readonly = True + else: + self.server.readonly = False + SimpleXMLRPCRequestHandler.do_POST(self) + + def report_503(self): + self.send_response(503) + response = 'No more client allowed' + self.send_header("Content-type", "text/plain") + self.send_header("Content-length", str(len(response))) + self.end_headers() + self.wfile.write(bytes(response, 'utf-8')) + +class BitBakeXMLRPCServer(SimpleXMLRPCServer): + # remove this when you're done with debugging + # allow_reuse_address = True + + def __init__(self, interface, cooker, parent): + # Use auto port configuration + if (interface[1] == -1): + interface = (interface[0], 0) + SimpleXMLRPCServer.__init__(self, interface, + requestHandler=BitBakeXMLRPCRequestHandler, + logRequests=False, allow_none=True) + self.host, self.port = self.socket.getsockname() + self.interface = interface + + self.connection_token = None + self.commands = BitBakeXMLRPCServerCommands(self) + self.register_functions(self.commands, "") + + self.cooker = cooker + self.parent = parent + + + def register_functions(self, context, prefix): + """ + Convenience method for registering all functions in the scope + of this class that start with a common prefix + """ + methodlist = inspect.getmembers(context, inspect.ismethod) + for name, method in methodlist: + if name.startswith(prefix): + self.register_function(method, name[len(prefix):]) + + def get_timeout(self, delay): + socktimeout = self.socket.gettimeout() or delay + return min(socktimeout, delay) + + def handle_requests(self): + self._handle_request_noblock() + +class BitBakeXMLRPCServerCommands(): + + def __init__(self, server): + self.server = server + self.has_client = False + + def registerEventHandler(self, host, port): + """ + Register a remote UI Event Handler + """ + s, t = bb.server.xmlrpcclient._create_server(host, port) + + # we don't allow connections if the cooker is running + if (self.server.cooker.state in [bb.cooker.state.parsing, bb.cooker.state.running]): + return None, "Cooker is busy: %s" % bb.cooker.state.get_name(self.server.cooker.state) + + self.event_handle = bb.event.register_UIHhandler(s, True) + return self.event_handle, 'OK' + + def unregisterEventHandler(self, handlerNum): + """ + Unregister a remote UI Event Handler + """ + ret = bb.event.unregister_UIHhandler(handlerNum, True) + self.event_handle = None + return ret + + def runCommand(self, command): + """ + Run a cooker command on the server + """ + return self.server.cooker.command.runCommand(command, self.server.readonly) + + def getEventHandle(self): + return self.event_handle + + def terminateServer(self): + """ + Trigger the server to quit + """ + self.server.parent.quit = True + print("XMLRPC Server triggering exit") + return + + def addClient(self): + if self.server.parent.haveui: + return None + token = hashlib.md5(str(time.time()).encode("utf-8")).hexdigest() + self.server.connection_token = token + self.server.parent.haveui = True + return token + + def removeClient(self): + if self.server.parent.haveui: + self.server.connection_token = None + self.server.parent.haveui = False + diff --git a/lib/prserv/serv.py b/lib/prserv/serv.py index a7efa58..5f061c2 100644 --- a/lib/prserv/serv.py +++ b/lib/prserv/serv.py @@ -6,7 +6,7 @@ import queue import socket import io import sqlite3 -import bb.server.xmlrpc +import bb.server.xmlrpcclient import prserv import prserv.db import errno @@ -300,7 +300,7 @@ class PRServerConnection(object): host, port = singleton.getinfo() self.host = host self.port = port - self.connection, self.transport = bb.server.xmlrpc._create_server(self.host, self.port) + self.connection, self.transport = bb.server.xmlrpcclient._create_server(self.host, self.port) def terminate(self): try: -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 13 19:12:05 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 13 Jul 2017 19:12:05 +0000 Subject: [oe-commits] [bitbake] branch master-next updated (cfd085c -> fa7ffbf) Message-ID: <149997312527.20761.15662860487353013375@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master-next in repository bitbake. discard cfd085c server: Rework the server API so process and xmlrpc servers coexist new fa7ffbf server: Rework the server API so process and xmlrpc servers coexist This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (cfd085c) \ N -- N -- N refs/heads/master-next (fa7ffbf) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: lib/bb/main.py | 8 ++++++-- lib/bb/server/process.py | 2 ++ 2 files changed, 8 insertions(+), 2 deletions(-) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 13 19:12:06 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 13 Jul 2017 19:12:06 +0000 Subject: [oe-commits] [bitbake] 01/01: server: Rework the server API so process and xmlrpc servers coexist In-Reply-To: <149997312527.20761.15662860487353013375@git.openembedded.org> References: <149997312527.20761.15662860487353013375@git.openembedded.org> Message-ID: <20170713191205.5B5B8233456@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit fa7ffbf0ea7308a3c3833ea35b23e87ce67cbdff Author: Richard Purdie AuthorDate: Thu Jul 13 17:24:35 2017 +0100 server: Rework the server API so process and xmlrpc servers coexist This changes the way bitbake server works quite radically. Now, the server is always a process based server with the option of starting an XMLRPC listener on a specific inferface/port. Behind the scenes this is done with a "bitbake.sock" file alongside the bitbake.lock file. If we can obtain the lock, we know we need to start a server. The server always listens on the socket and UIs can then connect to this. UIs connect by sending a set of three file descriptors over the domain socket, one for sending commands, one for receiving command results and the other for receiving events. These changes meant we can throw away all the horrid server abstraction code, the plugable transport option to bitbake and the code becomes much more readable and debuggable. It also likely removes a ton of ways you could hang the UI/cooker in weird ways due to all the race conditions that existed with previous processes. Changes: * The foreground option for bitbake-server was dropped. Just tail the log if you really want this, the codepaths were complicated enough without adding one for this. * BBSERVER="autodetect" was dropped. The server will autostart and autoconnect in process mode. You have to specify an xmlrpc server address since that can't be autodetected. I can't see a use case for autodetect now. * The transport/servetype option to bitbake was dropped. * A BB_SERVER_TIMEOUT variable is added which allows the server to stay resident for a period of time after the last client disconnects before unloading. This is used if the -T/--idle-timeout option is not passed to bitbake. This change is invasive and may well introduce new issues however I believe the codebase is in a much better position for further development and debugging. Signed-off-by: Richard Purdie --- lib/bb/command.py | 5 + lib/bb/cooker.py | 61 +---- lib/bb/cookerdata.py | 25 +- lib/bb/event.py | 11 +- lib/bb/main.py | 223 ++++++----------- lib/bb/server/__init__.py | 78 ------ lib/bb/server/process.py | 560 ++++++++++++++++++++++++++++-------------- lib/bb/server/xmlrpc.py | 448 --------------------------------- lib/bb/server/xmlrpcclient.py | 154 ++++++++++++ lib/bb/server/xmlrpcserver.py | 158 ++++++++++++ lib/prserv/serv.py | 4 +- 11 files changed, 802 insertions(+), 925 deletions(-) diff --git a/lib/bb/command.py b/lib/bb/command.py index 36891b9..eb7c86f 100644 --- a/lib/bb/command.py +++ b/lib/bb/command.py @@ -238,6 +238,11 @@ class CommandsSync: return command.cooker.matchFile(fMatch) matchFile.needconfig = False + def getUIHandlerNum(self, command, params): + return bb.event.get_uihandler() + getUIHandlerNum.needconfig = False + getUIHandlerNum.readonly = True + def setEventMask(self, command, params): handlerNum = params[0] llevel = params[1] diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py index dc8f54c..2e8ccb3 100644 --- a/lib/bb/cooker.py +++ b/lib/bb/cooker.py @@ -215,19 +215,6 @@ class BBCooker: self.configuration.server_register_idlecallback(_process_inotify_updates, [self.confignotifier, self.notifier]) - # Take a lock so only one copy of bitbake can run against a given build - # directory at a time - if not self.lockBitbake(): - bb.fatal("Only one copy of bitbake should be run against a build directory") - try: - self.lock.seek(0) - self.lock.truncate() - if len(configuration.interface) >= 2: - self.lock.write("%s:%s\n" % (configuration.interface[0], configuration.interface[1])); - self.lock.flush() - except: - pass - # TOSTOP must not be set or our children will hang when they output try: fd = sys.stdout.fileno() @@ -1557,33 +1544,6 @@ class BBCooker: def post_serve(self): prserv.serv.auto_shutdown(self.data) bb.event.fire(CookerExit(), self.data) - lockfile = self.lock.name - self.lock.close() - self.lock = None - - while not self.lock: - with bb.utils.timeout(3): - self.lock = bb.utils.lockfile(lockfile, shared=False, retry=False, block=True) - if not self.lock: - # Some systems may not have lsof available - procs = None - try: - procs = subprocess.check_output(["lsof", '-w', lockfile], stderr=subprocess.STDOUT) - except OSError as e: - if e.errno != errno.ENOENT: - raise - if procs is None: - # Fall back to fuser if lsof is unavailable - try: - procs = subprocess.check_output(["fuser", '-v', lockfile], stderr=subprocess.STDOUT) - except OSError as e: - if e.errno != errno.ENOENT: - raise - - msg = "Delaying shutdown due to active processes which appear to be holding bitbake.lock" - if procs: - msg += ":\n%s" % str(procs) - print(msg) def shutdown(self, force = False): @@ -1605,23 +1565,10 @@ class BBCooker: def clientComplete(self): """Called when the client is done using the server""" - if self.configuration.server_only: - self.finishcommand() - else: - self.shutdown(True) - - def lockBitbake(self): - if not hasattr(self, 'lock'): - self.lock = None - if self.data: - lockfile = self.data.expand("${TOPDIR}/bitbake.lock") - if lockfile: - self.lock = bb.utils.lockfile(lockfile, False, False) - return self.lock - - def unlockBitbake(self): - if hasattr(self, 'lock') and self.lock: - bb.utils.unlockfile(self.lock) + #if self.configuration.server_only: + self.finishcommand() + #else: + # self.shutdown(True) def server_main(cooker, func, *args): cooker.pre_serve() diff --git a/lib/bb/cookerdata.py b/lib/bb/cookerdata.py index 644bb38..1050cb4 100644 --- a/lib/bb/cookerdata.py +++ b/lib/bb/cookerdata.py @@ -76,7 +76,7 @@ class ConfigParameters(object): for o in ["abort", "tryaltconfigs", "force", "invalidate_stamp", "verbose", "debug", "dry_run", "dump_signatures", "debug_domains", "extra_assume_provided", "profile", - "prefile", "postfile", "tracking"]: + "prefile", "postfile", "tracking", "server_timeout"]: options[o] = getattr(self.options, o) ret, error = server.runCommand(["updateConfig", options, environment, sys.argv]) @@ -144,7 +144,8 @@ class CookerConfiguration(object): self.dump_signatures = [] self.dry_run = False self.tracking = False - self.interface = [] + self.xmlrpcinterface = [] + self.server_timeout = None self.writeeventlog = False self.server_only = False self.limited_deps = False @@ -230,6 +231,26 @@ def findConfigFile(configfile, data): return None +# +# We search for a conf/bblayers.conf under an entry in BBPATH or in cwd working +# up to /. If that fails, we search for a conf/bitbake.conf in BBPATH. +# + +def findTopdir(): + d = bb.data.init() + if 'BBPATH' in os.environ: + bbpath = os.environ['BBPATH'] + d.setVar('BBPATH', bbpath) + + layerconf = findConfigFile("bblayers.conf", d) + if layerconf: + return os.path.dirname(os.path.dirname(layerconf)) + if bbpath: + bitbakeconf = bb.utils.which(bbpath, "conf/bitbake.conf") + if bitbakeconf: + return os.path.dirname(os.path.dirname(bitbakeconf)) + return None + class CookerDataBuilder(object): def __init__(self, cookercfg, worker = False): diff --git a/lib/bb/event.py b/lib/bb/event.py index d5c5ef3..92ee3e9 100644 --- a/lib/bb/event.py +++ b/lib/bb/event.py @@ -288,13 +288,13 @@ def set_eventfilter(func): _eventfilter = func def register_UIHhandler(handler, mainui=False): - if mainui: - global _uiready - _uiready = True bb.event._ui_handler_seq = bb.event._ui_handler_seq + 1 _ui_handlers[_ui_handler_seq] = handler level, debug_domains = bb.msg.constructLogOptions() _ui_logfilters[_ui_handler_seq] = UIEventFilter(level, debug_domains) + if mainui: + global _uiready + _uiready = _ui_handler_seq return _ui_handler_seq def unregister_UIHhandler(handlerNum, mainui=False): @@ -305,6 +305,11 @@ def unregister_UIHhandler(handlerNum, mainui=False): del _ui_handlers[handlerNum] return +def get_uihandler(): + if _uiready is False: + return None + return _uiready + # Class to allow filtering of events and specific filtering of LogRecords *before* we put them over the IPC class UIEventFilter(object): def __init__(self, level, debug_domains): diff --git a/lib/bb/main.py b/lib/bb/main.py index 29e3911..995357c 100755 --- a/lib/bb/main.py +++ b/lib/bb/main.py @@ -28,6 +28,7 @@ import logging import optparse import warnings import fcntl +import time import bb from bb import event @@ -37,6 +38,9 @@ from bb import ui from bb import server from bb import cookerdata +import bb.server.process +import bb.server.xmlrpcclient + logger = logging.getLogger("BitBake") class BBMainException(Exception): @@ -58,9 +62,6 @@ class BitbakeHelpFormatter(optparse.IndentedHelpFormatter): if option.dest == 'ui': valid_uis = list_extension_modules(bb.ui, 'main') option.help = option.help.replace('@CHOICES@', present_options(valid_uis)) - elif option.dest == 'servertype': - valid_server_types = list_extension_modules(bb.server, 'BitBakeServer') - option.help = option.help.replace('@CHOICES@', present_options(valid_server_types)) return optparse.IndentedHelpFormatter.format_option(self, option) @@ -238,11 +239,6 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters): default=os.environ.get('BITBAKE_UI', 'knotty'), help="The user interface to use (@CHOICES@ - default %default).") - # @CHOICES@ is substituted out by BitbakeHelpFormatter above - parser.add_option("-t", "--servertype", action="store", dest="servertype", - default=["process", "xmlrpc"]["BBSERVER" in os.environ], - help="Choose which server type to use (@CHOICES@ - default %default).") - parser.add_option("", "--token", action="store", dest="xmlrpctoken", default=os.environ.get("BBTOKEN"), help="Specify the connection token to be used when connecting " @@ -258,14 +254,11 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters): help="Run bitbake without a UI, only starting a server " "(cooker) process.") - parser.add_option("", "--foreground", action="store_true", - help="Run bitbake server in foreground.") - parser.add_option("-B", "--bind", action="store", dest="bind", default=False, - help="The name/address for the bitbake server to bind to.") + help="The name/address for the bitbake xmlrpc server to bind to.") - parser.add_option("-T", "--idle-timeout", type=int, - default=int(os.environ.get("BBTIMEOUT", "0")), + parser.add_option("-T", "--idle-timeout", type=float, dest="server_timeout", + default=float(os.environ.get("BB_SERVER_TIMEOUT", 0)) or None, help="Set timeout to unload bitbake server due to inactivity") parser.add_option("", "--no-setscene", action="store_true", @@ -283,7 +276,7 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters): parser.add_option("-m", "--kill-server", action="store_true", dest="kill_server", default=False, - help="Terminate the remote server.") + help="Terminate the bitbake server.") parser.add_option("", "--observe-only", action="store_true", dest="observe_only", default=False, @@ -322,70 +315,20 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters): eventlog = "bitbake_eventlog_%s.json" % datetime.now().strftime("%Y%m%d%H%M%S") options.writeeventlog = eventlog - # if BBSERVER says to autodetect, let's do that - if options.remote_server: - port = -1 - if options.remote_server != 'autostart': - host, port = options.remote_server.split(":", 2) + if options.bind: + try: + #Checking that the port is a number and is a ':' delimited value + (host, port) = options.bind.split(':') port = int(port) - # use automatic port if port set to -1, means read it from - # the bitbake.lock file; this is a bit tricky, but we always expect - # to be in the base of the build directory if we need to have a - # chance to start the server later, anyway - if port == -1: - lock_location = "./bitbake.lock" - # we try to read the address at all times; if the server is not started, - # we'll try to start it after the first connect fails, below - try: - lf = open(lock_location, 'r') - remotedef = lf.readline() - [host, port] = remotedef.split(":") - port = int(port) - lf.close() - options.remote_server = remotedef - except Exception as e: - if options.remote_server != 'autostart': - raise BBMainException("Failed to read bitbake.lock (%s), invalid port" % str(e)) + except (ValueError,IndexError): + raise BBMainException("FATAL: Malformed host:port bind parameter") + options.xmlrpcinterface = (host, port) + else: + options.xmlrpcinterface = (None, 0) return options, targets[1:] -def start_server(servermodule, configParams, configuration, features): - server = servermodule.BitBakeServer() - single_use = not configParams.server_only and os.getenv('BBSERVER') != 'autostart' - if configParams.bind: - (host, port) = configParams.bind.split(':') - server.initServer((host, int(port)), single_use=single_use, - idle_timeout=configParams.idle_timeout) - configuration.interface = [server.serverImpl.host, server.serverImpl.port] - else: - server.initServer(single_use=single_use) - configuration.interface = [] - - try: - configuration.setServerRegIdleCallback(server.getServerIdleCB()) - - cooker = bb.cooker.BBCooker(configuration, features) - - server.addcooker(cooker) - server.saveConnectionDetails() - except Exception as e: - while hasattr(server, "event_queue"): - import queue - try: - event = server.event_queue.get(block=False) - except (queue.Empty, IOError): - break - if isinstance(event, logging.LogRecord): - logger.handle(event) - raise - if not configParams.foreground: - server.detach() - cooker.shutdown() - cooker.lock.close() - return server - - def bitbake_main(configParams, configuration): # Python multiprocessing requires /dev/shm on Linux @@ -406,45 +349,15 @@ def bitbake_main(configParams, configuration): configuration.setConfigParameters(configParams) - if configParams.server_only: - if configParams.servertype != "xmlrpc": - raise BBMainException("FATAL: If '--server-only' is defined, we must set the " - "servertype as 'xmlrpc'.\n") - if not configParams.bind: - raise BBMainException("FATAL: The '--server-only' option requires a name/address " - "to bind to with the -B option.\n") - else: - try: - #Checking that the port is a number - int(configParams.bind.split(":")[1]) - except (ValueError,IndexError): - raise BBMainException( - "FATAL: Malformed host:port bind parameter") - if configParams.remote_server: + if configParams.server_only and configParams.remote_server: raise BBMainException("FATAL: The '--server-only' option conflicts with %s.\n" % ("the BBSERVER environment variable" if "BBSERVER" in os.environ \ else "the '--remote-server' option")) - elif configParams.foreground: - raise BBMainException("FATAL: The '--foreground' option can only be used " - "with --server-only.\n") - - if configParams.bind and configParams.servertype != "xmlrpc": - raise BBMainException("FATAL: If '-B' or '--bind' is defined, we must " - "set the servertype as 'xmlrpc'.\n") - - if configParams.remote_server and configParams.servertype != "xmlrpc": - raise BBMainException("FATAL: If '--remote-server' is defined, we must " - "set the servertype as 'xmlrpc'.\n") - if configParams.observe_only and (not configParams.remote_server or configParams.bind): raise BBMainException("FATAL: '--observe-only' can only be used by UI clients " "connecting to a server.\n") - if configParams.kill_server and not configParams.remote_server: - raise BBMainException("FATAL: '--kill-server' can only be used to " - "terminate a remote server") - if "BBDEBUG" in os.environ: level = int(os.environ["BBDEBUG"]) if level > configuration.debug: @@ -453,7 +366,7 @@ def bitbake_main(configParams, configuration): bb.msg.init_msgconfig(configParams.verbose, configuration.debug, configuration.debug_domains) - server, server_connection, ui_module = setup_bitbake(configParams, configuration) + server_connection, ui_module = setup_bitbake(configParams, configuration) if server_connection is None and configParams.kill_server: return 0 @@ -463,16 +376,15 @@ def bitbake_main(configParams, configuration): return 0 try: + for event in bb.event.ui_queue: + server_connection.events.queue_event(event) + bb.event.ui_queue = [] + return ui_module.main(server_connection.connection, server_connection.events, configParams) finally: - bb.event.ui_queue = [] server_connection.terminate() else: - print("Bitbake server address: %s, server port: %s" % (server.serverImpl.host, - server.serverImpl.port)) - if configParams.foreground: - server.serverImpl.serve_forever() return 0 return 1 @@ -495,58 +407,63 @@ def setup_bitbake(configParams, configuration, extrafeatures=None, setup_logging # Collect the feature set for the UI featureset = getattr(ui_module, "featureSet", []) - if configParams.server_only: - for param in ('prefile', 'postfile'): - value = getattr(configParams, param) - if value: - setattr(configuration, "%s_server" % param, value) - param = "%s_server" % param - if extrafeatures: for feature in extrafeatures: if not feature in featureset: featureset.append(feature) - servermodule = import_extension_module(bb.server, - configParams.servertype, - 'BitBakeServer') + server_connection = None + if configParams.remote_server: - if os.getenv('BBSERVER') == 'autostart': - if configParams.remote_server == 'autostart' or \ - not servermodule.check_connection(configParams.remote_server, timeout=2): - configParams.bind = 'localhost:0' - srv = start_server(servermodule, configParams, configuration, featureset) - configParams.remote_server = '%s:%d' % tuple(configuration.interface) - bb.event.ui_queue = [] - # we start a stub server that is actually a XMLRPClient that connects to a real server - from bb.server.xmlrpc import BitBakeXMLRPCClient - server = servermodule.BitBakeXMLRPCClient(configParams.observe_only, - configParams.xmlrpctoken) - server.saveConnectionDetails(configParams.remote_server) + # Connect to a remote XMLRPC server + server_connection = bb.server.xmlrpcclient.connectXMLRPC(configParams.remote_server, featureset, + configParams.observe_only, configParams.xmlrpctoken) else: - # we start a server with a given configuration - server = start_server(servermodule, configParams, configuration, featureset) + retries = 8 + while retries: + try: + topdir, lock = lockBitbake() + sockname = topdir + "/bitbake.sock" + if lock: + # we start a server with a given configuration + print("Starting bitbake server...") + server = bb.server.process.BitBakeServer(lock, sockname, configuration, featureset) + else: + print("Reconnecting to bitbake server...") + if not os.path.exists(sockname): + print("Previous bitbake instance shutting down?, waiting to retry...") + time.sleep(5) + raise bb.server.process.ProcessTimeout + if not configParams.server_only: + server_connection = bb.server.process.connectProcessServer(sockname, featureset) + if server_connection: + break + except bb.server.process.ProcessTimeout: + if not retries: + raise + retries -= 1 + print("Retrying server connection...") + if not retries: + raise bb.server.process.ProcessTimeout("Unable to connect to bitbake server, or start one") + + + if configParams.kill_server: + server_connection.connection.terminateServer() + server_connection.terminate() bb.event.ui_queue = [] + print("Terminated bitbake server.") + return None, None - if configParams.server_only: - server_connection = None - else: - try: - server_connection = server.establishConnection(featureset) - except Exception as e: - bb.fatal("Could not connect to server %s: %s" % (configParams.remote_server, str(e))) - - if configParams.kill_server: - server_connection.connection.terminateServer() - bb.event.ui_queue = [] - return None, None, None + # Restore the environment in case the UI needs it + for k in cleanedvars: + os.environ[k] = cleanedvars[k] - server_connection.setupEventQueue() + logger.removeHandler(handler) - # Restore the environment in case the UI needs it - for k in cleanedvars: - os.environ[k] = cleanedvars[k] + return server_connection, ui_module - logger.removeHandler(handler) +def lockBitbake(): + topdir = bb.cookerdata.findTopdir() + lockfile = topdir + "/bitbake.lock" + return topdir, bb.utils.lockfile(lockfile, False, False) - return server, server_connection, ui_module diff --git a/lib/bb/server/__init__.py b/lib/bb/server/__init__.py index 538a633..5a3fba9 100644 --- a/lib/bb/server/__init__.py +++ b/lib/bb/server/__init__.py @@ -18,82 +18,4 @@ # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -""" Base code for Bitbake server process -Have a common base for that all Bitbake server classes ensures a consistent -approach to the interface, and minimize risks associated with code duplication. - -""" - -""" BaseImplServer() the base class for all XXServer() implementations. - - These classes contain the actual code that runs the server side, i.e. - listens for the commands and executes them. Although these implementations - contain all the data of the original bitbake command, i.e the cooker instance, - they may well run on a different process or even machine. - -""" - -class BaseImplServer(): - def __init__(self): - self._idlefuns = {} - - def addcooker(self, cooker): - self.cooker = cooker - - def register_idle_function(self, function, data): - """Register a function to be called while the server is idle""" - assert hasattr(function, '__call__') - self._idlefuns[function] = data - - - -""" BitBakeBaseServerConnection class is the common ancestor to all - BitBakeServerConnection classes. - - These classes control the remote server. The only command currently - implemented is the terminate() command. - -""" - -class BitBakeBaseServerConnection(): - def __init__(self, serverImpl): - pass - - def terminate(self): - pass - - def setupEventQueue(self): - pass - - -""" BitBakeBaseServer class is the common ancestor to all Bitbake servers - - Derive this class in order to implement a BitBakeServer which is the - controlling stub for the actual server implementation - -""" -class BitBakeBaseServer(object): - def initServer(self): - self.serverImpl = None # we ensure a runtime crash if not overloaded - self.connection = None - return - - def addcooker(self, cooker): - self.cooker = cooker - self.serverImpl.addcooker(cooker) - - def getServerIdleCB(self): - return self.serverImpl.register_idle_function - - def saveConnectionDetails(self): - return - - def detach(self): - return - - def establishConnection(self, featureset): - raise "Must redefine the %s.establishConnection()" % self.__class__.__name__ - - def endSession(self): - self.connection.terminate() diff --git a/lib/bb/server/process.py b/lib/bb/server/process.py index f8d6767..1d5ef7b 100644 --- a/lib/bb/server/process.py +++ b/lib/bb/server/process.py @@ -22,125 +22,198 @@ import bb import bb.event -import itertools import logging import multiprocessing +import threading +import array import os -import signal import sys import time import select -from queue import Empty -from multiprocessing import Event, Process, util, Queue, Pipe, queues, Manager - -from . import BitBakeBaseServer, BitBakeBaseServerConnection, BaseImplServer +import socket +import subprocess +import errno +import bb.server.xmlrpcserver +from bb import daemonize +from multiprocessing import queues logger = logging.getLogger('BitBake') -class ServerCommunicator(): - def __init__(self, connection, event_handle, server): - self.connection = connection - self.event_handle = event_handle - self.server = server - - def runCommand(self, command): - # @todo try/except - self.connection.send(command) - - if not self.server.is_alive(): - raise SystemExit +class ProcessTimeout(SystemExit): + pass - while True: - # don't let the user ctrl-c while we're waiting for a response - try: - for idx in range(0,4): # 0, 1, 2, 3 - if self.connection.poll(5): - return self.connection.recv() - else: - bb.warn("Timeout while attempting to communicate with bitbake server") - bb.fatal("Gave up; Too many tries: timeout while attempting to communicate with bitbake server") - except KeyboardInterrupt: - pass - - def getEventHandle(self): - return self.event_handle.value - -class EventAdapter(): - """ - Adapter to wrap our event queue since the caller (bb.event) expects to - call a send() method, but our actual queue only has put() - """ - def __init__(self, queue): - self.queue = queue - - def send(self, event): - try: - self.queue.put(event) - except Exception as err: - print("EventAdapter puked: %s" % str(err)) - - -class ProcessServer(Process, BaseImplServer): +class ProcessServer(multiprocessing.Process): profile_filename = "profile.log" profile_processed_filename = "profile.log.processed" - def __init__(self, command_channel, event_queue, featurelist): - BaseImplServer.__init__(self) - Process.__init__(self) - self.command_channel = command_channel - self.event_queue = event_queue - self.event = EventAdapter(event_queue) - self.featurelist = featurelist + def __init__(self, lock, sock, sockname): + multiprocessing.Process.__init__(self) + self.command_channel = False + self.command_channel_reply = False self.quit = False self.heartbeat_seconds = 1 # default, BB_HEARTBEAT_EVENT will be checked once we have a datastore. self.next_heartbeat = time.time() - self.quitin, self.quitout = Pipe() - self.event_handle = multiprocessing.Value("i") + self.event_handle = None + self.haveui = False + self.lastui = False + self.xmlrpc = False + + self._idlefuns = {} + + self.bitbake_lock = lock + self.sock = sock + self.sockname = sockname + + def register_idle_function(self, function, data): + """Register a function to be called while the server is idle""" + assert hasattr(function, '__call__') + self._idlefuns[function] = data def run(self): - for event in bb.event.ui_queue: - self.event_queue.put(event) - self.event_handle.value = bb.event.register_UIHhandler(self, True) + + if self.xmlrpcinterface[0]: + self.xmlrpc = bb.server.xmlrpcserver.BitBakeXMLRPCServer(self.xmlrpcinterface, self.cooker, self) + + print("Bitbake XMLRPC server address: %s, server port: %s" % (self.xmlrpc.host, self.xmlrpc.port)) heartbeat_event = self.cooker.data.getVar('BB_HEARTBEAT_EVENT') if heartbeat_event: try: self.heartbeat_seconds = float(heartbeat_event) except: - # Throwing an exception here causes bitbake to hang. - # Just warn about the invalid setting and continue bb.warn('Ignoring invalid BB_HEARTBEAT_EVENT=%s, must be a float specifying seconds.' % heartbeat_event) + + self.timeout = self.server_timeout or self.cooker.data.getVar('BB_SERVER_TIMEOUT') + try: + if self.timeout: + self.timeout = float(self.timeout) + except: + bb.warn('Ignoring invalid BB_SERVER_TIMEOUT=%s, must be a float specifying seconds.' % self.timeout) + + + try: + self.bitbake_lock.seek(0) + self.bitbake_lock.truncate() + if self.xmlrpcinterface[0]: + self.bitbake_lock.write("%s %s:%s\n" % (os.getpid(), configuration.interface[0], configuration.interface[1])) + else: + self.bitbake_lock.write("%s\n" % (os.getpid())) + self.bitbake_lock.flush() + except: + pass + bb.cooker.server_main(self.cooker, self.main) def main(self): - # Ignore SIGINT within the server, as all SIGINT handling is done by - # the UI and communicated to us - self.quitin.close() - signal.signal(signal.SIGINT, signal.SIG_IGN) bb.utils.set_process_name("Cooker") + + ready = [] + + self.controllersock = False + fds = [self.sock] + if self.xmlrpc: + fds.append(self.xmlrpc) while not self.quit: - try: - if self.command_channel.poll(): - command = self.command_channel.recv() - self.runCommand(command) - if self.quitout.poll(): - self.quitout.recv() + if self.command_channel in ready: + command = self.command_channel.get() + if command[0] == "terminateServer": self.quit = True - try: - self.runCommand(["stateForceShutdown"]) - except: - pass - - self.idle_commands(.1, [self.command_channel, self.quitout]) - except Exception: - logger.exception('Running command %s', command) + continue + try: + print("Running command %s" % command) + self.command_channel_reply.send(self.cooker.command.runCommand(command)) + except Exception as e: + logger.exception('Exception in server main event loop running command %s (%s)' % (command, str(e))) + + if self.xmlrpc in ready: + self.xmlrpc.handle_requests() + if self.sock in ready: + print("Accepting %s" % (str(ready))) + self.controllersock, address = self.sock.accept() + fds.append(self.controllersock) + if self.controllersock in ready: + try: + print("Connecting Client") + ui_fds = recvfds(self.controllersock, 3) + + # Where to write events to + writer = ConnectionWriter(ui_fds[0]) + self.event_handle = bb.event.register_UIHhandler(writer, True) + self.event_writer = writer + + # Where to read commands from + reader = ConnectionReader(ui_fds[1]) + fds.append(reader) + self.command_channel = reader + + # Where to send command return values to + writer = ConnectionWriter(ui_fds[2]) + self.command_channel_reply = writer + + self.haveui = True + + except EOFError: + print("Disconnecting Client") + fds.remove(self.controllersock) + fds.remove(self.command_channel) + bb.event.unregister_UIHhandler(self.event_handle, True) + self.command_channel_reply.writer.close() + self.event_writer.writer.close() + del self.event_writer + self.controllersock.close() + self.haveui = False + self.lastui = time.time() + self.cooker.clientComplete() + if self.timeout is None: + self.quit = True + if not self.haveui and self.lastui and self.timeout and (self.lastui + self.timeout) < time.time(): + self.quit = True - self.event_queue.close() - bb.event.unregister_UIHhandler(self.event_handle.value, True) - self.command_channel.close() - self.cooker.shutdown(True) - self.quitout.close() + ready = self.idle_commands(.1, fds) + + print("Exiting") + try: + self.cooker.shutdown(True) + except: + pass + + # Remove the socket file so we don't get any more connections to avoid races + os.unlink(self.sockname) + self.sock.close() + + # Finally release the lockfile but warn about other processes holding it open + lock = self.bitbake_lock + lockfile = lock.name + lock.close() + lock = None + + while not lock: + with bb.utils.timeout(3): + lock = bb.utils.lockfile(lockfile, shared=False, retry=False, block=True) + if not lock: + # Some systems may not have lsof available + procs = None + try: + procs = subprocess.check_output(["lsof", '-w', lockfile], stderr=subprocess.STDOUT) + except OSError as e: + if e.errno != errno.ENOENT: + raise + if procs is None: + # Fall back to fuser if lsof is unavailable + try: + procs = subprocess.check_output(["fuser", '-v', lockfile], stderr=subprocess.STDOUT) + except OSError as e: + if e.errno != errno.ENOENT: + raise + + msg = "Delaying shutdown due to active processes which appear to be holding bitbake.lock" + if procs: + msg += ":\n%s" % str(procs) + print(msg) + return + # We hold the lock so we can remove the file (hide stale pid data) + bb.utils.remove(lockfile) def idle_commands(self, delay, fds=None): nextsleep = delay @@ -186,111 +259,234 @@ class ProcessServer(Process, BaseImplServer): nextsleep = self.next_heartbeat - now if nextsleep is not None: - select.select(fds,[],[],nextsleep) + if self.xmlrpc: + nextsleep = self.xmlrpc.get_timeout(nextsleep) + return select.select(fds,[],[],nextsleep)[0] + else: + return [] + + +class ServerCommunicator(): + def __init__(self, connection, recv): + self.connection = connection + self.recv = recv def runCommand(self, command): - """ - Run a cooker command on the server - """ - self.command_channel.send(self.cooker.command.runCommand(command)) - - def stop(self): - self.quitin.send("quit") - self.quitin.close() - -class BitBakeProcessServerConnection(BitBakeBaseServerConnection): - def __init__(self, serverImpl, ui_channel, event_queue): - self.procserver = serverImpl - self.ui_channel = ui_channel - self.event_queue = event_queue - self.connection = ServerCommunicator(self.ui_channel, self.procserver.event_handle, self.procserver) - self.events = self.event_queue - self.terminated = False - - def sigterm_terminate(self): - bb.error("UI received SIGTERM") - self.terminate() + + self.connection.send(command) + while True: + # don't let the user ctrl-c while we're waiting for a response + try: + for idx in range(0,4): # 0, 1, 2, 3 + if self.recv.poll(1): + return self.recv.get() + else: + bb.warn("Timeout while attempting to communicate with bitbake server") + raise ProcessTimeout("Gave up; Too many tries: timeout while attempting to communicate with bitbake server") + except KeyboardInterrupt: + pass + + def updateFeatureSet(self, featureset): + _, error = self.runCommand(["setFeatures", featureset]) + if error: + logger.error("Unable to set the cooker to the correct featureset: %s" % error) + raise BaseException(error) + + def getEventHandle(self): + handle, error = self.runCommand(["getUIHandlerNum"]) + if error: + logger.error("Unable to get UI Handler Number: %s" % error) + raise BaseException(error) + + return handle + + def terminateServer(self): + self.connection.send(['terminateServer']) + return + +class BitBakeProcessServerConnection(object): + def __init__(self, ui_channel, recv, eq): + self.connection = ServerCommunicator(ui_channel, recv) + self.events = eq def terminate(self): - if self.terminated: - return - self.terminated = True - def flushevents(): - while True: - try: - event = self.event_queue.get(block=False) - except (Empty, IOError): - break - if isinstance(event, logging.LogRecord): - logger.handle(event) - - self.procserver.stop() - - while self.procserver.is_alive(): - flushevents() - self.procserver.join(0.1) - - self.ui_channel.close() - self.event_queue.close() - self.event_queue.setexit() - # XXX: Call explicity close in _writer to avoid - # fd leakage because isn't called on Queue.close() - self.event_queue._writer.close() - -# Wrap Queue to provide API which isn't server implementation specific -class ProcessEventQueue(multiprocessing.queues.Queue): - def __init__(self, maxsize): - multiprocessing.queues.Queue.__init__(self, maxsize, ctx=multiprocessing.get_context()) - self.exit = False - bb.utils.set_process_name("ProcessEQueue") - - def setexit(self): - self.exit = True - - def waitEvent(self, timeout): - if self.exit: - return self.getEvent() + self.socket_connection.close() + return + +class BitBakeServer(object): + def __init__(self, lock, sockname, configuration, featureset): + + self.configuration = configuration + self.featureset = featureset + self.sockname = sockname + self.bitbake_lock = lock + + # Create server control socket + if os.path.exists(sockname): + os.unlink(sockname) + + self.sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) + self.sock.bind(sockname) + self.sock.listen(1) + + os.set_inheritable(self.sock.fileno(), True) + bb.daemonize.createDaemon(self._startServer, "bitbake-cookerdaemon.log") + self.sock.close() + + def _startServer(self): + server = ProcessServer(self.bitbake_lock, self.sock, self.sockname) + self.configuration.setServerRegIdleCallback(server.register_idle_function) + + # Copy prefile and postfile to _server variants + for param in ('prefile', 'postfile'): + value = getattr(self.configuration, param) + if value: + setattr(self.configuration, "%s_server" % param, value) + + self.cooker = bb.cooker.BBCooker(self.configuration, self.featureset) + server.cooker = self.cooker + server.server_timeout = self.configuration.server_timeout + server.xmlrpcinterface = self.configuration.xmlrpcinterface + server.start() + +def connectProcessServer(sockname, featureset): + # Connect to socket + sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) + sock.connect(sockname) + + # Send an fd for the remote to write events to + readfd, writefd = os.pipe() + eq = BBUIEventQueue(readfd) + # Send an fd for the remote to recieve commands from + readfd1, writefd1 = os.pipe() + command_chan = ConnectionWriter(writefd1) + # Send an fd for the remote to write commands results to + readfd2, writefd2 = os.pipe() + command_chan_recv = ConnectionReader(readfd2) + + sendfds(sock, [writefd, readfd1, writefd2]) + + try: + server_connection = BitBakeProcessServerConnection(command_chan, command_chan_recv, eq) + + server_connection.connection.updateFeatureSet(featureset) + + # Save sock so it doesn't get gc'd for the life of our connection + server_connection.socket_connection = sock + except: + sock.close() + raise + + return server_connection + +def sendfds(sock, fds): + '''Send an array of fds over an AF_UNIX socket.''' + fds = array.array('i', fds) + msg = bytes([len(fds) % 256]) + sock.sendmsg([msg], [(socket.SOL_SOCKET, socket.SCM_RIGHTS, fds)]) + +def recvfds(sock, size): + '''Receive an array of fds over an AF_UNIX socket.''' + a = array.array('i') + bytes_size = a.itemsize * size + msg, ancdata, flags, addr = sock.recvmsg(1, socket.CMSG_LEN(bytes_size)) + if not msg and not ancdata: + raise EOFError try: - if not self.server.is_alive(): - return self.getEvent() - if timeout == 0: - return self.get(False) - return self.get(True, timeout) - except Empty: - return None + if len(ancdata) != 1: + raise RuntimeError('received %d items of ancdata' % + len(ancdata)) + cmsg_level, cmsg_type, cmsg_data = ancdata[0] + if (cmsg_level == socket.SOL_SOCKET and + cmsg_type == socket.SCM_RIGHTS): + if len(cmsg_data) % a.itemsize != 0: + raise ValueError + a.frombytes(cmsg_data) + assert len(a) % 256 == msg[0] + return list(a) + except (ValueError, IndexError): + pass + raise RuntimeError('Invalid data received') + +class BBUIEventQueue: + def __init__(self, readfd): + + self.eventQueue = [] + self.eventQueueLock = threading.Lock() + self.eventQueueNotify = threading.Event() + + self.reader = ConnectionReader(readfd) + + self.t = threading.Thread() + self.t.setDaemon(True) + self.t.run = self.startCallbackHandler + self.t.start() def getEvent(self): - try: - if not self.server.is_alive(): - self.setexit() - return self.get(False) - except Empty: - if self.exit: - sys.exit(1) + self.eventQueueLock.acquire() + + if len(self.eventQueue) == 0: + self.eventQueueLock.release() return None -class BitBakeServer(BitBakeBaseServer): - def initServer(self, single_use=True): - # establish communication channels. We use bidirectional pipes for - # ui <--> server command/response pairs - # and a queue for server -> ui event notifications - # - self.ui_channel, self.server_channel = Pipe() - self.event_queue = ProcessEventQueue(0) - self.serverImpl = ProcessServer(self.server_channel, self.event_queue, None) - self.event_queue.server = self.serverImpl - - def detach(self): - self.serverImpl.start() - return + item = self.eventQueue.pop(0) - def establishConnection(self, featureset): + if len(self.eventQueue) == 0: + self.eventQueueNotify.clear() - self.connection = BitBakeProcessServerConnection(self.serverImpl, self.ui_channel, self.event_queue) + self.eventQueueLock.release() + return item + + def waitEvent(self, delay): + self.eventQueueNotify.wait(delay) + return self.getEvent() + + def queue_event(self, event): + self.eventQueueLock.acquire() + self.eventQueue.append(event) + self.eventQueueNotify.set() + self.eventQueueLock.release() + + def send_event(self, event): + self.queue_event(pickle.loads(event)) + + def startCallbackHandler(self): + bb.utils.set_process_name("UIEventQueue") + while True: + self.reader.wait() + event = self.reader.get() + self.queue_event(event) + +class ConnectionReader(object): + + def __init__(self, fd): + self.reader = multiprocessing.connection.Connection(fd, writable=False) + self.rlock = multiprocessing.Lock() + + def wait(self, timeout=None): + return multiprocessing.connection.wait([self.reader], timeout) + + def poll(self, timeout=None): + return self.reader.poll(timeout) + + def get(self): + with self.rlock: + res = self.reader.recv_bytes() + return multiprocessing.reduction.ForkingPickler.loads(res) + + def fileno(self): + return self.reader.fileno() + +class ConnectionWriter(object): + + def __init__(self, fd): + self.writer = multiprocessing.connection.Connection(fd, readable=False) + self.wlock = multiprocessing.Lock() + # Why bb.event needs this I have no idea + self.event = self + + def send(self, obj): + obj = multiprocessing.reduction.ForkingPickler.dumps(obj) + with self.wlock: + self.writer.send_bytes(obj) - _, error = self.connection.connection.runCommand(["setFeatures", featureset]) - if error: - logger.error("Unable to set the cooker to the correct featureset: %s" % error) - raise BaseException(error) - signal.signal(signal.SIGTERM, lambda i, s: self.connection.sigterm_terminate()) - return self.connection diff --git a/lib/bb/server/xmlrpc.py b/lib/bb/server/xmlrpc.py deleted file mode 100644 index 1a475e0..0000000 --- a/lib/bb/server/xmlrpc.py +++ /dev/null @@ -1,448 +0,0 @@ -# -# BitBake XMLRPC Server -# -# Copyright (C) 2006 - 2007 Michael 'Mickey' Lauer -# Copyright (C) 2006 - 2008 Richard Purdie -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -""" - This module implements an xmlrpc server for BitBake. - - Use this by deriving a class from BitBakeXMLRPCServer and then adding - methods which you want to "export" via XMLRPC. If the methods have the - prefix xmlrpc_, then registering those function will happen automatically, - if not, you need to call register_function. - - Use register_idle_function() to add a function which the xmlrpc server - calls from within server_forever when no requests are pending. Make sure - that those functions are non-blocking or else you will introduce latency - in the server's main loop. -""" - -import os -import sys - -import hashlib -import time -import socket -import signal -import threading -import pickle -import inspect -import select -import http.client -import xmlrpc.client -from xmlrpc.server import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler - -import bb -from bb import daemonize -from bb.ui import uievent -from . import BitBakeBaseServer, BitBakeBaseServerConnection, BaseImplServer - -DEBUG = False - -class BBTransport(xmlrpc.client.Transport): - def __init__(self, timeout): - self.timeout = timeout - self.connection_token = None - xmlrpc.client.Transport.__init__(self) - - # Modified from default to pass timeout to HTTPConnection - def make_connection(self, host): - #return an existing connection if possible. This allows - #HTTP/1.1 keep-alive. - if self._connection and host == self._connection[0]: - return self._connection[1] - - # create a HTTP connection object from a host descriptor - chost, self._extra_headers, x509 = self.get_host_info(host) - #store the host argument along with the connection object - self._connection = host, http.client.HTTPConnection(chost, timeout=self.timeout) - return self._connection[1] - - def set_connection_token(self, token): - self.connection_token = token - - def send_content(self, h, body): - if self.connection_token: - h.putheader("Bitbake-token", self.connection_token) - xmlrpc.client.Transport.send_content(self, h, body) - -def _create_server(host, port, timeout = 60): - t = BBTransport(timeout) - s = xmlrpc.client.ServerProxy("http://%s:%d/" % (host, port), transport=t, allow_none=True, use_builtin_types=True) - return s, t - -def check_connection(remote, timeout): - try: - host, port = remote.split(":") - port = int(port) - except Exception as e: - bb.warn("Failed to read remote definition (%s)" % str(e)) - raise e - - server, _transport = _create_server(host, port, timeout) - try: - ret, err = server.runCommand(['getVariable', 'TOPDIR']) - if err or not ret: - return False - except ConnectionError: - return False - return True - -class BitBakeServerCommands(): - - def __init__(self, server): - self.server = server - self.has_client = False - - def registerEventHandler(self, host, port): - """ - Register a remote UI Event Handler - """ - s, t = _create_server(host, port) - - # we don't allow connections if the cooker is running - if (self.cooker.state in [bb.cooker.state.parsing, bb.cooker.state.running]): - return None, "Cooker is busy: %s" % bb.cooker.state.get_name(self.cooker.state) - - self.event_handle = bb.event.register_UIHhandler(s, True) - return self.event_handle, 'OK' - - def unregisterEventHandler(self, handlerNum): - """ - Unregister a remote UI Event Handler - """ - return bb.event.unregister_UIHhandler(handlerNum, True) - - def runCommand(self, command): - """ - Run a cooker command on the server - """ - return self.cooker.command.runCommand(command, self.server.readonly) - - def getEventHandle(self): - return self.event_handle - - def terminateServer(self): - """ - Trigger the server to quit - """ - self.server.quit = True - print("Server (cooker) exiting") - return - - def addClient(self): - if self.has_client: - return None - token = hashlib.md5(str(time.time()).encode("utf-8")).hexdigest() - self.server.set_connection_token(token) - self.has_client = True - return token - - def removeClient(self): - if self.has_client: - self.server.set_connection_token(None) - self.has_client = False - if self.server.single_use: - self.server.quit = True - -# This request handler checks if the request has a "Bitbake-token" header -# field (this comes from the client side) and compares it with its internal -# "Bitbake-token" field (this comes from the server). If the two are not -# equal, it is assumed that a client is trying to connect to the server -# while another client is connected to the server. In this case, a 503 error -# ("service unavailable") is returned to the client. -class BitBakeXMLRPCRequestHandler(SimpleXMLRPCRequestHandler): - def __init__(self, request, client_address, server): - self.server = server - SimpleXMLRPCRequestHandler.__init__(self, request, client_address, server) - - def do_POST(self): - try: - remote_token = self.headers["Bitbake-token"] - except: - remote_token = None - if remote_token != self.server.connection_token and remote_token != "observer": - self.report_503() - else: - if remote_token == "observer": - self.server.readonly = True - else: - self.server.readonly = False - SimpleXMLRPCRequestHandler.do_POST(self) - - def report_503(self): - self.send_response(503) - response = 'No more client allowed' - self.send_header("Content-type", "text/plain") - self.send_header("Content-length", str(len(response))) - self.end_headers() - self.wfile.write(bytes(response, 'utf-8')) - - -class XMLRPCProxyServer(BaseImplServer): - """ not a real working server, but a stub for a proxy server connection - - """ - def __init__(self, host, port, use_builtin_types=True): - self.host = host - self.port = port - -class XMLRPCServer(SimpleXMLRPCServer, BaseImplServer): - # remove this when you're done with debugging - # allow_reuse_address = True - - def __init__(self, interface, single_use=False, idle_timeout=0): - """ - Constructor - """ - BaseImplServer.__init__(self) - self.single_use = single_use - # Use auto port configuration - if (interface[1] == -1): - interface = (interface[0], 0) - SimpleXMLRPCServer.__init__(self, interface, - requestHandler=BitBakeXMLRPCRequestHandler, - logRequests=False, allow_none=True) - self.host, self.port = self.socket.getsockname() - self.connection_token = None - #self.register_introspection_functions() - self.commands = BitBakeServerCommands(self) - self.autoregister_all_functions(self.commands, "") - self.interface = interface - self.time = time.time() - self.idle_timeout = idle_timeout - if idle_timeout: - self.register_idle_function(self.handle_idle_timeout, self) - self.heartbeat_seconds = 1 # default, BB_HEARTBEAT_EVENT will be checked once we have a datastore. - self.next_heartbeat = time.time() - - def addcooker(self, cooker): - BaseImplServer.addcooker(self, cooker) - self.commands.cooker = cooker - - def autoregister_all_functions(self, context, prefix): - """ - Convenience method for registering all functions in the scope - of this class that start with a common prefix - """ - methodlist = inspect.getmembers(context, inspect.ismethod) - for name, method in methodlist: - if name.startswith(prefix): - self.register_function(method, name[len(prefix):]) - - def handle_idle_timeout(self, server, data, abort): - if not abort: - if time.time() - server.time > server.idle_timeout: - server.quit = True - print("Server idle timeout expired") - return [] - - def serve_forever(self): - heartbeat_event = self.cooker.data.getVar('BB_HEARTBEAT_EVENT') - if heartbeat_event: - try: - self.heartbeat_seconds = float(heartbeat_event) - except: - # Throwing an exception here causes bitbake to hang. - # Just warn about the invalid setting and continue - bb.warn('Ignoring invalid BB_HEARTBEAT_EVENT=%s, must be a float specifying seconds.' % heartbeat_event) - - # Start the actual XMLRPC server - bb.cooker.server_main(self.cooker, self._serve_forever) - - def _serve_forever(self): - """ - Serve Requests. Overloaded to honor a quit command - """ - self.quit = False - while not self.quit: - fds = [self] - nextsleep = 0.1 - for function, data in list(self._idlefuns.items()): - retval = None - try: - retval = function(self, data, False) - if retval is False: - del self._idlefuns[function] - elif retval is True: - nextsleep = 0 - elif isinstance(retval, float): - if (retval < nextsleep): - nextsleep = retval - else: - fds = fds + retval - except SystemExit: - raise - except: - import traceback - traceback.print_exc() - if retval == None: - # the function execute failed; delete it - del self._idlefuns[function] - pass - - socktimeout = self.socket.gettimeout() or nextsleep - socktimeout = min(socktimeout, nextsleep) - # Mirror what BaseServer handle_request would do - try: - fd_sets = select.select(fds, [], [], socktimeout) - if fd_sets[0] and self in fd_sets[0]: - if self.idle_timeout: - self.time = time.time() - self._handle_request_noblock() - except IOError: - # we ignore interrupted calls - pass - - # Create new heartbeat event? - now = time.time() - if now >= self.next_heartbeat: - # We might have missed heartbeats. Just trigger once in - # that case and continue after the usual delay. - self.next_heartbeat += self.heartbeat_seconds - if self.next_heartbeat <= now: - self.next_heartbeat = now + self.heartbeat_seconds - heartbeat = bb.event.HeartbeatEvent(now) - bb.event.fire(heartbeat, self.cooker.data) - if nextsleep and now + nextsleep > self.next_heartbeat: - # Shorten timeout so that we we wake up in time for - # the heartbeat. - nextsleep = self.next_heartbeat - now - - # Tell idle functions we're exiting - for function, data in list(self._idlefuns.items()): - try: - retval = function(self, data, True) - except: - pass - self.server_close() - return - - def set_connection_token(self, token): - self.connection_token = token - -class BitBakeXMLRPCServerConnection(BitBakeBaseServerConnection): - def __init__(self, serverImpl, clientinfo=("localhost", 0), observer_only = False, featureset = None): - self.connection, self.transport = _create_server(serverImpl.host, serverImpl.port) - self.clientinfo = clientinfo - self.serverImpl = serverImpl - self.observer_only = observer_only - if featureset: - self.featureset = featureset - else: - self.featureset = [] - - def connect(self, token = None): - if token is None: - if self.observer_only: - token = "observer" - else: - token = self.connection.addClient() - - if token is None: - return None - - self.transport.set_connection_token(token) - return self - - def setupEventQueue(self): - self.events = uievent.BBUIEventQueue(self.connection, self.clientinfo) - for event in bb.event.ui_queue: - self.events.queue_event(event) - - _, error = self.connection.runCommand(["setFeatures", self.featureset]) - if error: - # disconnect the client, we can't make the setFeature work - self.connection.removeClient() - # no need to log it here, the error shall be sent to the client - raise BaseException(error) - - def removeClient(self): - if not self.observer_only: - self.connection.removeClient() - - def terminate(self): - # Don't wait for server indefinitely - import socket - socket.setdefaulttimeout(2) - try: - self.events.system_quit() - except: - pass - try: - self.connection.removeClient() - except: - pass - -class BitBakeServer(BitBakeBaseServer): - def initServer(self, interface = ("localhost", 0), - single_use = False, idle_timeout=0): - self.interface = interface - self.serverImpl = XMLRPCServer(interface, single_use, idle_timeout) - - def detach(self): - daemonize.createDaemon(self.serverImpl.serve_forever, "bitbake-cookerdaemon.log") - del self.cooker - - def establishConnection(self, featureset): - self.connection = BitBakeXMLRPCServerConnection(self.serverImpl, self.interface, False, featureset) - return self.connection.connect() - - def set_connection_token(self, token): - self.connection.transport.set_connection_token(token) - -class BitBakeXMLRPCClient(BitBakeBaseServer): - - def __init__(self, observer_only = False, token = None): - self.token = token - - self.observer_only = observer_only - # if we need extra caches, just tell the server to load them all - pass - - def saveConnectionDetails(self, remote): - self.remote = remote - - def establishConnection(self, featureset): - # The format of "remote" must be "server:port" - try: - [host, port] = self.remote.split(":") - port = int(port) - except Exception as e: - bb.warn("Failed to read remote definition (%s)" % str(e)) - raise e - - # We need our IP for the server connection. We get the IP - # by trying to connect with the server - try: - s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) - s.connect((host, port)) - ip = s.getsockname()[0] - s.close() - except Exception as e: - bb.warn("Could not create socket for %s:%s (%s)" % (host, port, str(e))) - raise e - try: - self.serverImpl = XMLRPCProxyServer(host, port, use_builtin_types=True) - self.connection = BitBakeXMLRPCServerConnection(self.serverImpl, (ip, 0), self.observer_only, featureset) - return self.connection.connect(self.token) - except Exception as e: - bb.warn("Could not connect to server at %s:%s (%s)" % (host, port, str(e))) - raise e - - def endSession(self): - self.connection.removeClient() diff --git a/lib/bb/server/xmlrpcclient.py b/lib/bb/server/xmlrpcclient.py new file mode 100644 index 0000000..4661a9e --- /dev/null +++ b/lib/bb/server/xmlrpcclient.py @@ -0,0 +1,154 @@ +# +# BitBake XMLRPC Client Interface +# +# Copyright (C) 2006 - 2007 Michael 'Mickey' Lauer +# Copyright (C) 2006 - 2008 Richard Purdie +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +import os +import sys + +import socket +import http.client +import xmlrpc.client + +import bb +from bb.ui import uievent + +class BBTransport(xmlrpc.client.Transport): + def __init__(self, timeout): + self.timeout = timeout + self.connection_token = None + xmlrpc.client.Transport.__init__(self) + + # Modified from default to pass timeout to HTTPConnection + def make_connection(self, host): + #return an existing connection if possible. This allows + #HTTP/1.1 keep-alive. + if self._connection and host == self._connection[0]: + return self._connection[1] + + # create a HTTP connection object from a host descriptor + chost, self._extra_headers, x509 = self.get_host_info(host) + #store the host argument along with the connection object + self._connection = host, http.client.HTTPConnection(chost, timeout=self.timeout) + return self._connection[1] + + def set_connection_token(self, token): + self.connection_token = token + + def send_content(self, h, body): + if self.connection_token: + h.putheader("Bitbake-token", self.connection_token) + xmlrpc.client.Transport.send_content(self, h, body) + +def _create_server(host, port, timeout = 60): + t = BBTransport(timeout) + s = xmlrpc.client.ServerProxy("http://%s:%d/" % (host, port), transport=t, allow_none=True, use_builtin_types=True) + return s, t + +def check_connection(remote, timeout): + try: + host, port = remote.split(":") + port = int(port) + except Exception as e: + bb.warn("Failed to read remote definition (%s)" % str(e)) + raise e + + server, _transport = _create_server(host, port, timeout) + try: + ret, err = server.runCommand(['getVariable', 'TOPDIR']) + if err or not ret: + return False + except ConnectionError: + return False + return True + +class BitBakeXMLRPCServerConnection(object): + def __init__(self, host, port, clientinfo=("localhost", 0), observer_only = False, featureset = None): + self.connection, self.transport = _create_server(host, port) + self.clientinfo = clientinfo + self.observer_only = observer_only + if featureset: + self.featureset = featureset + else: + self.featureset = [] + + self.events = uievent.BBUIEventQueue(self.connection, self.clientinfo) + + _, error = self.connection.runCommand(["setFeatures", self.featureset]) + if error: + # disconnect the client, we can't make the setFeature work + self.connection.removeClient() + # no need to log it here, the error shall be sent to the client + raise BaseException(error) + + def connect(self, token = None): + if token is None: + if self.observer_only: + token = "observer" + else: + token = self.connection.addClient() + + if token is None: + return None + + self.transport.set_connection_token(token) + return self + + def removeClient(self): + if not self.observer_only: + self.connection.removeClient() + + def terminate(self): + # Don't wait for server indefinitely + socket.setdefaulttimeout(2) + try: + self.events.system_quit() + except: + pass + try: + self.connection.removeClient() + except: + pass + +def connectXMLRPC(remote, featureset, observer_only = False, token = None): + # The format of "remote" must be "server:port" + try: + [host, port] = remote.split(":") + port = int(port) + except Exception as e: + bb.warn("Failed to parse remote definition %s (%s)" % (remote, str(e))) + raise e + + # We need our IP for the server connection. We get the IP + # by trying to connect with the server + try: + s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + s.connect((host, port)) + ip = s.getsockname()[0] + s.close() + except Exception as e: + bb.warn("Could not create socket for %s:%s (%s)" % (host, port, str(e))) + raise e + try: + connection = BitBakeXMLRPCServerConnection(host, port, (ip, 0), observer_only, featureset) + return connection.connect(token) + except Exception as e: + bb.warn("Could not connect to server at %s:%s (%s)" % (host, port, str(e))) + raise e + + + diff --git a/lib/bb/server/xmlrpcserver.py b/lib/bb/server/xmlrpcserver.py new file mode 100644 index 0000000..875b128 --- /dev/null +++ b/lib/bb/server/xmlrpcserver.py @@ -0,0 +1,158 @@ +# +# BitBake XMLRPC Server Interface +# +# Copyright (C) 2006 - 2007 Michael 'Mickey' Lauer +# Copyright (C) 2006 - 2008 Richard Purdie +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +import os +import sys + +import hashlib +import time +import inspect +from xmlrpc.server import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler + +import bb + +# This request handler checks if the request has a "Bitbake-token" header +# field (this comes from the client side) and compares it with its internal +# "Bitbake-token" field (this comes from the server). If the two are not +# equal, it is assumed that a client is trying to connect to the server +# while another client is connected to the server. In this case, a 503 error +# ("service unavailable") is returned to the client. +class BitBakeXMLRPCRequestHandler(SimpleXMLRPCRequestHandler): + def __init__(self, request, client_address, server): + self.server = server + SimpleXMLRPCRequestHandler.__init__(self, request, client_address, server) + + def do_POST(self): + try: + remote_token = self.headers["Bitbake-token"] + except: + remote_token = None + if 0 and remote_token != self.server.connection_token and remote_token != "observer": + self.report_503() + else: + if remote_token == "observer": + self.server.readonly = True + else: + self.server.readonly = False + SimpleXMLRPCRequestHandler.do_POST(self) + + def report_503(self): + self.send_response(503) + response = 'No more client allowed' + self.send_header("Content-type", "text/plain") + self.send_header("Content-length", str(len(response))) + self.end_headers() + self.wfile.write(bytes(response, 'utf-8')) + +class BitBakeXMLRPCServer(SimpleXMLRPCServer): + # remove this when you're done with debugging + # allow_reuse_address = True + + def __init__(self, interface, cooker, parent): + # Use auto port configuration + if (interface[1] == -1): + interface = (interface[0], 0) + SimpleXMLRPCServer.__init__(self, interface, + requestHandler=BitBakeXMLRPCRequestHandler, + logRequests=False, allow_none=True) + self.host, self.port = self.socket.getsockname() + self.interface = interface + + self.connection_token = None + self.commands = BitBakeXMLRPCServerCommands(self) + self.register_functions(self.commands, "") + + self.cooker = cooker + self.parent = parent + + + def register_functions(self, context, prefix): + """ + Convenience method for registering all functions in the scope + of this class that start with a common prefix + """ + methodlist = inspect.getmembers(context, inspect.ismethod) + for name, method in methodlist: + if name.startswith(prefix): + self.register_function(method, name[len(prefix):]) + + def get_timeout(self, delay): + socktimeout = self.socket.gettimeout() or delay + return min(socktimeout, delay) + + def handle_requests(self): + self._handle_request_noblock() + +class BitBakeXMLRPCServerCommands(): + + def __init__(self, server): + self.server = server + self.has_client = False + + def registerEventHandler(self, host, port): + """ + Register a remote UI Event Handler + """ + s, t = bb.server.xmlrpcclient._create_server(host, port) + + # we don't allow connections if the cooker is running + if (self.server.cooker.state in [bb.cooker.state.parsing, bb.cooker.state.running]): + return None, "Cooker is busy: %s" % bb.cooker.state.get_name(self.server.cooker.state) + + self.event_handle = bb.event.register_UIHhandler(s, True) + return self.event_handle, 'OK' + + def unregisterEventHandler(self, handlerNum): + """ + Unregister a remote UI Event Handler + """ + ret = bb.event.unregister_UIHhandler(handlerNum, True) + self.event_handle = None + return ret + + def runCommand(self, command): + """ + Run a cooker command on the server + """ + return self.server.cooker.command.runCommand(command, self.server.readonly) + + def getEventHandle(self): + return self.event_handle + + def terminateServer(self): + """ + Trigger the server to quit + """ + self.server.parent.quit = True + print("XMLRPC Server triggering exit") + return + + def addClient(self): + if self.server.parent.haveui: + return None + token = hashlib.md5(str(time.time()).encode("utf-8")).hexdigest() + self.server.connection_token = token + self.server.parent.haveui = True + return token + + def removeClient(self): + if self.server.parent.haveui: + self.server.connection_token = None + self.server.parent.haveui = False + diff --git a/lib/prserv/serv.py b/lib/prserv/serv.py index a7efa58..5f061c2 100644 --- a/lib/prserv/serv.py +++ b/lib/prserv/serv.py @@ -6,7 +6,7 @@ import queue import socket import io import sqlite3 -import bb.server.xmlrpc +import bb.server.xmlrpcclient import prserv import prserv.db import errno @@ -300,7 +300,7 @@ class PRServerConnection(object): host, port = singleton.getinfo() self.host = host self.port = port - self.connection, self.transport = bb.server.xmlrpc._create_server(self.host, self.port) + self.connection, self.transport = bb.server.xmlrpcclient._create_server(self.host, self.port) def terminate(self): try: -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 13 22:29:37 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 13 Jul 2017 22:29:37 +0000 Subject: [oe-commits] [bitbake] branch master-next updated: workaround path too long issues Message-ID: <149998497785.17867.9756345125753782418@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. The following commit(s) were added to refs/heads/master-next by this push: new 4d774b6 workaround path too long issues 4d774b6 is described below commit 4d774b654db8085e4fa4688839a5f94ee9660af2 Author: Richard Purdie AuthorDate: Thu Jul 13 23:27:22 2017 +0100 workaround path too long issues Signed-off-by: Richard Purdie --- lib/bb/server/process.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/lib/bb/server/process.py b/lib/bb/server/process.py index 1d5ef7b..9e181aa 100644 --- a/lib/bb/server/process.py +++ b/lib/bb/server/process.py @@ -326,7 +326,13 @@ class BitBakeServer(object): os.unlink(sockname) self.sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) - self.sock.bind(sockname) + # AF_UNIX has path length issues so chdir here to workaround + cwd = os.getcwd() + try: + os.chdir(os.path.dirname(sockname)) + self.sock.bind(os.path.basename(sockname)) + finally: + os.chdir(cwd) self.sock.listen(1) os.set_inheritable(self.sock.fileno(), True) @@ -352,7 +358,13 @@ class BitBakeServer(object): def connectProcessServer(sockname, featureset): # Connect to socket sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) - sock.connect(sockname) + # AF_UNIX has path length issues so chdir here to workaround + cwd = os.getcwd() + try: + os.chdir(os.path.dirname(sockname)) + sock.connect(os.path.basename(sockname)) + finally: + os.chdir(cwd) # Send an fd for the remote to write events to readfd, writefd = os.pipe() -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:47:51 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:47:51 +0000 Subject: [oe-commits] [meta-openembedded] 04/60: gegl: Upgrade to 0.3.18 In-Reply-To: <150006886722.7705.14424127970521923710@git.openembedded.org> References: <150006886722.7705.14424127970521923710@git.openembedded.org> Message-ID: <20170714214747.89A0623345B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit a85fb1b96e91501f4e4e798a8241ef8273ac34de Author: Khem Raj AuthorDate: Fri Jun 30 05:59:45 2017 -0700 gegl: Upgrade to 0.3.18 Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- meta-oe/recipes-graphics/gegl/{gegl_0.3.4.bb => gegl_0.3.18.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-oe/recipes-graphics/gegl/gegl_0.3.4.bb b/meta-oe/recipes-graphics/gegl/gegl_0.3.18.bb similarity index 91% rename from meta-oe/recipes-graphics/gegl/gegl_0.3.4.bb rename to meta-oe/recipes-graphics/gegl/gegl_0.3.18.bb index 90f0216..6cc20f5 100644 --- a/meta-oe/recipes-graphics/gegl/gegl_0.3.4.bb +++ b/meta-oe/recipes-graphics/gegl/gegl_0.3.18.bb @@ -16,8 +16,8 @@ PACKAGECONFIG[webp] = "--with-webp,--without-webp,webp" SRC_URI = "http://ftp.gimp.org/pub/${BPN}/0.3/${BP}.tar.bz2 \ file://pkgconfig.patch " -SRC_URI[md5sum] = "c19478321594d715a4cb324a0decda6f" -SRC_URI[sha256sum] = "846290a790854d1e6b7c17a2d6f82ad7cb14c72e240bd3b81b98cc0ceddbc3ec" +SRC_URI[md5sum] = "6e5c6f229261478dc436a38c84405b2a" +SRC_URI[sha256sum] = "d7858ef26ede136d14e3de188a9e9c0de7707061a9fb96d7d615fab4958491fb" LDFLAGS += "-lm" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:47:49 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:47:49 +0000 Subject: [oe-commits] [meta-openembedded] 02/60: librcf: fix mips/mips64 build In-Reply-To: <150006886722.7705.14424127970521923710@git.openembedded.org> References: <150006886722.7705.14424127970521923710@git.openembedded.org> Message-ID: <20170714214747.789B8233457@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 3278be3ac0d296df25928e057ed5d8d54a86ec50 Author: Khem Raj AuthorDate: Fri Jun 30 05:59:43 2017 -0700 librcf: fix mips/mips64 build Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../recipes-devtools/librcf/librcf/mips-support.patch | 19 +++++++++++++++++++ meta-oe/recipes-devtools/librcf/librcf_2.2.0.0.bb | 1 + 2 files changed, 20 insertions(+) diff --git a/meta-oe/recipes-devtools/librcf/librcf/mips-support.patch b/meta-oe/recipes-devtools/librcf/librcf/mips-support.patch new file mode 100644 index 0000000..4a327f7 --- /dev/null +++ b/meta-oe/recipes-devtools/librcf/librcf/mips-support.patch @@ -0,0 +1,19 @@ +Index: RCF-2.2.0.0/src/RCF/ByteOrdering.cpp +=================================================================== +--- RCF-2.2.0.0.orig/src/RCF/ByteOrdering.cpp ++++ RCF-2.2.0.0/src/RCF/ByteOrdering.cpp +@@ -64,6 +64,14 @@ namespace RCF { + + const ByteOrder MachineByteOrder = LittleEndian; + ++#elif defined(__mipsel__) || defined(__mips64el__) ++ ++ const ByteOrder MachineByteOrder = LittleEndian; ++ ++#elif defined( __mips__ ) || defined(__mips64__) ++ ++ const ByteOrder MachineByteOrder = BigEndian; ++ + #elif defined(__bfin__) + + const ByteOrder MachineByteOrder = LittleEndian; diff --git a/meta-oe/recipes-devtools/librcf/librcf_2.2.0.0.bb b/meta-oe/recipes-devtools/librcf/librcf_2.2.0.0.bb index 4c9683a..1287eb0 100644 --- a/meta-oe/recipes-devtools/librcf/librcf_2.2.0.0.bb +++ b/meta-oe/recipes-devtools/librcf/librcf_2.2.0.0.bb @@ -14,6 +14,7 @@ SRC_URI = "http://www.deltavsoft.com/downloads/RCF-${PV}.tar.gz \ file://0001-Add-CMake-build-files.patch \ file://aarch64-support.patch \ file://0001-ClientStub.hpp-fix-a-clang-compiling-issue.patch \ + file://mips-support.patch \ " SRC_URI[md5sum] = "7ecb3c73f7eb66dba8790b659374f690" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:47:47 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:47:47 +0000 Subject: [oe-commits] [meta-openembedded] branch master updated (66b88f7 -> 1cbd1bc) Message-ID: <150006886722.7705.14424127970521923710@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a change to branch master in repository meta-openembedded. from 66b88f7 hwloc: Inherit pkgconfig new 9847dfa gst-plugins-gl_0.10.3.bb: Fix build on rpi/userland new 3278be3 librcf: fix mips/mips64 build new b8deb41 freerdp: Fix build on mips new a85fb1b gegl: Upgrade to 0.3.18 new 598ec9e babl: Upgrade to 0.1.28 new 49bb63d gimp: Upgrade to 2.8.22 new 83dfe14 fluentbit: Fix parallel build race new 8d5d066 dietsplash: Fix build on mips new 69d7273 libsrtp: Fix build on mips new 9fc1d26 assimp: Upgrade to 3.3.1 release new d441a62 synergy: Update to 1.8.8 release new 2459f15 kodi: Update to 17.3 new cf75eaa libtorrent: Implement 64bit atomics for mips32 new f5cab49 rtorrent: Add and enable ipv6 packageconfig based on DISTRO_FEATURES new 36aa6ed uim: Add support for aarch64 new cde6146 meson: Port pkgconfig-native patch to 0.40.1 new f52cbdc tinymembench: Disable on mips64 new 27a7e20 ltrace: Add mips64 support new a899acc libtorrent: Link in 64bit atomics for ppc new 8c89764 librcf: Define byteorder for powerpc machines new 23a1d7a gperftools: Fix build on ppc new 5e9f83d crossguid: Add recipe new aad655a kodi: User external crossguid new 5688c8e ser2net: upgrade to version 3.4 new 1acfde8 multipath-tools: 0.6.4 -> 0.7.1 new 941ad26 python-pytest: update to version 3.1.3 new c974fbf python-pytest: remove fetch during do_compile phase new 2a502e8 libtinyxml2: upgrade to 5.0.1 new ea79166 gnome-common: Add recipe (from oe-core) new 5c98b0f webrtc-audio-processing: initial recipe new 5693b47 libdbus-c++: Fix build with gcc7 and unblacklist new 8a542c8 ltrace: Fix build on musl new c15782e kodi: Fix build on powerpc new d0513b1 meta-python: Add Protobuf and gRPC Python recipes new 5623b70 meta-python: Add pybluez recipe new 5dcaa12 meta-python: Add python-daemon recipe and its dependencies new 14171d0 udisks2: update 2.1.7 -> 2.1.8 new 187798c gvfs: update 1.28.3 -> 1.32.1 new cd15df6 garcon: update 0.4.0 -> 0.6.1 new 0783e23 gparted: update 0.27.0 -> 0.28.1 new 54ca918 abiword: update 3.0.1 -> 3.0.2 new 2563210 faac: update 1.28 -> 1.29 new 592e9f2 libdbus-c++: Add -pthread to linker flags new 15266c1 klibc: Fix build with musl new c6afff8 ubi-utils-klibc: Pass TUNE_CCARGS into CFLAGS new 3e42cd1 kodi: Fix build on arm new 9a469d6 fluentbit: fix SYSTEMD_SERVICE name new 5734362 Intel: remove license file new 909b1a2 proj: update to 4.9.3 new a52f2cb klibc: Fix linking by using bfd linker when default linker is gold new 0112916 libsombok3: add recipe new c311abb libmime-charset-perl: add recipe new 61a2e24 libterm-readkey-perl: add recipe new 7949042 liblocale-gettext-perl: add recipe new 2abbcac libtext-charwidth-perl: add recipe new 70e575f libtext-wrapi18n-perl: add recipe new 258c971 libunicode-linebreak-perl: add recipe new 7abd471 po4a: add full functionalities new 65a4fce gflags: update SRC_URI with git fetcher new 1cbd1bc unionfs-fuse: 0.26 -> 2.0 The 60 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../files/0001-support-cross-compiling.patch | 32 + .../unionfs-fuse/unionfs-fuse_0.26.bb | 19 - .../unionfs-fuse/unionfs-fuse_2.0.bb | 18 + .../{gparted_0.27.0.bb => gparted_0.28.1.bb} | 4 +- ...-13754-Fix-build-on-gcc-6-default-to-C-11.patch | 74 -- .../abiword/{abiword_3.0.1.bb => abiword_3.0.2.bb} | 5 +- .../gvfs/{gvfs_1.28.3.bb => gvfs_1.32.1.bb} | 6 +- ...ine-in_-structs-for-non-glibc-system-libs.patch | 85 ++ .../klibc-2.0.4/0001-always-use-bfd-linker.patch | 30 + ...0001-dash-Specify-format-string-in-fmtstr.patch | 31 + .../0001-include-linux-sysinfo.h-directly.patch | 32 + .../klibc-2.0.4/0001-mkfifo-Implement-mkfifo.patch | 29 + meta-initramfs/recipes-devtools/klibc/klibc.inc | 35 +- .../recipes-devtools/mtd/ubi-utils-klibc_1.5.1.bb | 1 + .../recipes-mediacenter/kodi/kodi_17.bb | 19 +- .../recipes-multimedia/faac/faac_1.28.bb | 26 - .../recipes-multimedia/faac/faac_1.29.bb | 27 + ...frontend-Fix-format-string-security-error.patch | 26 - ...efine-__STRING-if-cdefs.h-does-not-exist.patch} | 0 .../files/address-gcc-6-narrowing-errors.patch | 47 - .../recipes-multimedia/faac/files/build-fix.patch | 332 ------ .../gst-plugins-gl/rpi-egl-gles2-dep.patch | 22 + .../gstreamer-0.10/gst-plugins-gl_0.10.3.bb | 4 +- ...ild-Protect-against-unsupported-CPU-types.patch | 29 + .../0002-build-Add-ARM-64bit-support.patch | 30 + .../0003-build-fix-architecture-detection.patch | 96 ++ ...add-support-for-64-bit-and-big-endian-MIP.patch | 41 + .../0005-typedefs.h-add-support-for-PowerPC.patch | 28 + ...o-implement-endianness-conversion-in-wav-.patch | 116 ++ .../webrtc-audio-processing_0.3.bb | 25 + .../recipes-support/crossguid/crossguid.bb | 25 + .../0001-Rename-conflicting-variable-mips.patch | 73 ++ .../recipes-support/libsrtp/libsrtp_1.5.2.bb | 4 +- meta-oe/licenses/Intel | 21 - .../tinymembench/tinymembench_git.bb | 4 + ...efine-64bit-atomic-helpers-for-ppc-32-bit.patch | 30 + .../0001-implement-64bit-atomic-for-mips.patch | 263 +++++ .../libtorrent/libtorrent_git.bb | 6 +- .../recipes-connectivity/rtorrent/rtorrent_git.bb | 4 + .../ser2net/{ser2net_2.9.1.bb => ser2net_3.4.bb} | 4 +- .../0001-pipe.c-Use-a-string-instead-of-char.patch | 27 + meta-oe/recipes-core/dbus/libdbus-c++_0.9.0.bb | 21 +- .../librcf/0001-Check-for-__powerpc__-define.patch | 28 + .../librcf/librcf/mips-support.patch | 19 + meta-oe/recipes-devtools/librcf/librcf_2.2.0.0.bb | 4 +- ...01-configure.ac-fix-cross-compiling-issue.patch | 31 + .../libsombok3/libsombok3_2.4.0.bb | 25 + .../0001-Add-support-for-mips64-n32-n64.patch | 1148 ++++++++++++++++++++ ...nfigure-Recognise-linux-musl-as-a-host-OS.patch | 25 + meta-oe/recipes-devtools/ltrace/ltrace_git.bb | 2 + .../meson/meson/native_bindir.patch | 71 ++ meta-oe/recipes-devtools/meson/meson_0.40.1.bb | 1 + ...proxy-go-Add-missing-dependency-on-jemall.patch | 24 + .../fluentbit/fluentbit_0.11.11.bb | 5 +- .../gnome-common/gnome-common_3.18.0.bb | 20 + ...001-Fix-build-on-big-endian-architectures.patch | 29 + .../assimp/{assimp_3.1.1.bb => assimp_3.3.1.bb} | 10 +- .../babl/{babl_0.1.16.bb => babl_0.1.28.bb} | 4 +- ...figure.ac-Do-not-demand-linker-hash-style.patch | 28 + .../recipes-graphics/dietsplash/dietsplash_git.bb | 6 +- .../gegl/{gegl_0.3.4.bb => gegl_0.3.18.bb} | 4 +- .../gimp/gimp/0003-Fix-use-of-gegl-API.patch | 34 + .../gimp/{gimp_2.8.20.bb => gimp_2.8.22.bb} | 14 +- .../proj/{proj_4.8.0.bb => proj_4.9.3.bb} | 4 +- .../freerdp/freerdp/0003-add-missing-define.patch | 45 + meta-oe/recipes-support/freerdp/freerdp_git.bb | 1 + meta-oe/recipes-support/gflags/gflags_2.2.0.bb | 7 +- ...Use-ucontext_t-instead-of-struct-ucontext.patch | 36 + .../recipes-support/gperftools/gperftools_2.5.bb | 3 +- .../{libtinyxml2_4.0.1.bb => libtinyxml2_5.0.1.bb} | 4 +- ...ltipath-attempt-at-common-multipath.rules.patch | 107 ++ .../files/0001-multipathd.service-Error-fix.patch | 36 - .../0002-RH-fixup-udev-rules-for-redhat.patch | 110 ++ ...-the-property-blacklist-exception-builtin.patch | 70 ++ ...0004-RH-don-t-start-without-a-config-file.patch | 108 ++ .../files/0005-RH-add-mpathconf.patch | 648 +++++++++++ ...ds-from-kernel-cmdline-mpath.wwids-with-A.patch | 166 +++ ...gger-change-uevent-on-new-device-creation.patch | 138 +++ ...ipath-change-how-RADOS-checker-is-enabled.patch | 56 + ...th-set-verbosity-to-default-during-config.patch | 40 + ...kip-device-configs-without-vendor-product.patch | 37 + .../0011-multipathd-fix-show-maps-json-crash.patch | 38 + ...ools-modify-Makefile.inc-for-cross-compil.patch | 58 + .../files/0013-Always-use-devmapper.patch | 53 + ... => 0014-Always-use-devmapper-for-kpartx.patch} | 25 +- .../files/always-use-libdevmapper.patch | 57 - .../files/checkers-disable-libcheckrbd.so.patch | 31 - .../multipath-tools/files/makefile_inc.patch | 59 - .../multipath-tools/files/multipath.conf.example | 90 ++ ...ared-libs-avoid-linking-.so-as-executable.patch | 55 - .../multipath-tools/multipath-tools_0.7.1.bb | 112 ++ .../multipath-tools/multipath-tools_git.bb | 71 -- meta-oe/recipes-support/synergy/synergy_git.bb | 12 +- .../udisks/{udisks2_2.1.7.bb => udisks2_2.1.8.bb} | 4 +- .../uim/uim/0001-Add-support-for-aarch64.patch | 82 ++ meta-oe/recipes-support/uim/uim_1.8.6.bb | 1 + .../liblocale/liblocale-gettext-perl_1.07.bb | 21 + .../libmime/libmime-charset-perl_1.012.2.bb | 19 + .../libterm/libterm-readkey-perl_2.37.bb | 36 + .../libtext/libtext-charwidth-perl_0.04.bb | 27 + .../libtext/libtext-wrapi18n-perl_0.06.bb | 32 + .../libunicode-linebreak-perl_2017.004.bb | 26 + meta-perl/recipes-perl/po4a/po4a_0.49.bb | 17 +- .../0001-Workaround-for-issue-2-1.patch | 31 + .../recipes-devtools/python/python-daemon_2.1.2.bb | 27 + .../python/python-docutils_0.14rc2.bb | 18 + .../python/python-grpcio-tools_1.4.0.bb | 17 + .../recipes-devtools/python/python-grpcio_1.4.0.bb | 23 + .../python/python-lockfile_0.12.2.bb | 13 + .../python/python-protobuf_3.3.0.bb | 16 + .../recipes-devtools/python/python-pybluez_0.22.bb | 17 + .../recipes-devtools/python/python-pytest.inc | 10 +- ...ove-the-setup_requires-for-setuptools-scm.patch | 29 + ...thon-pytest_3.1.2.bb => python-pytest_3.1.3.bb} | 0 ...on3-pytest_3.1.2.bb => python3-pytest_3.1.3.bb} | 0 .../garcon/{garcon_0.4.0.bb => garcon_0.6.1.bb} | 4 +- 116 files changed, 5080 insertions(+), 950 deletions(-) create mode 100644 meta-filesystems/recipes-filesystems/unionfs-fuse/files/0001-support-cross-compiling.patch delete mode 100644 meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_0.26.bb create mode 100644 meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_2.0.bb rename meta-gnome/recipes-extended/gparted/{gparted_0.27.0.bb => gparted_0.28.1.bb} (90%) delete mode 100644 meta-gnome/recipes-gnome/abiword/abiword/0002-Bug-13754-Fix-build-on-gcc-6-default-to-C-11.patch rename meta-gnome/recipes-gnome/abiword/{abiword_3.0.1.bb => abiword_3.0.2.bb} (96%) rename meta-gnome/recipes-gnome/gvfs/{gvfs_1.28.3.bb => gvfs_1.32.1.bb} (91%) create mode 100644 meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Define-in_-structs-for-non-glibc-system-libs.patch create mode 100644 meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-always-use-bfd-linker.patch create mode 100644 meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-dash-Specify-format-string-in-fmtstr.patch create mode 100644 meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-include-linux-sysinfo.h-directly.patch create mode 100644 meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-mkfifo-Implement-mkfifo.patch delete mode 100644 meta-multimedia/recipes-multimedia/faac/faac_1.28.bb create mode 100644 meta-multimedia/recipes-multimedia/faac/faac_1.29.bb delete mode 100644 meta-multimedia/recipes-multimedia/faac/files/0001-frontend-Fix-format-string-security-error.patch rename meta-multimedia/recipes-multimedia/faac/files/{0002-mp4v2-Define-__STRING-if-cdefs.h-does-not-exist.patch => 0001-mp4v2-Define-__STRING-if-cdefs.h-does-not-exist.patch} (100%) delete mode 100644 meta-multimedia/recipes-multimedia/faac/files/address-gcc-6-narrowing-errors.patch delete mode 100644 meta-multimedia/recipes-multimedia/faac/files/build-fix.patch create mode 100644 meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-gl/rpi-egl-gles2-dep.patch create mode 100644 meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0001-build-Protect-against-unsupported-CPU-types.patch create mode 100644 meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0002-build-Add-ARM-64bit-support.patch create mode 100644 meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0003-build-fix-architecture-detection.patch create mode 100644 meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0004-typedefs.h-add-support-for-64-bit-and-big-endian-MIP.patch create mode 100644 meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0005-typedefs.h-add-support-for-PowerPC.patch create mode 100644 meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0006-common_audio-implement-endianness-conversion-in-wav-.patch create mode 100644 meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing_0.3.bb create mode 100644 meta-multimedia/recipes-support/crossguid/crossguid.bb create mode 100644 meta-multimedia/recipes-support/libsrtp/libsrtp/0001-Rename-conflicting-variable-mips.patch delete mode 100644 meta-oe/licenses/Intel create mode 100644 meta-oe/recipes-connectivity/libtorrent/libtorrent/0001-Define-64bit-atomic-helpers-for-ppc-32-bit.patch create mode 100644 meta-oe/recipes-connectivity/libtorrent/libtorrent/0001-implement-64bit-atomic-for-mips.patch rename meta-oe/recipes-connectivity/ser2net/{ser2net_2.9.1.bb => ser2net_3.4.bb} (71%) create mode 100644 meta-oe/recipes-core/dbus/libdbus-c++-0.9.0/0001-pipe.c-Use-a-string-instead-of-char.patch create mode 100644 meta-oe/recipes-devtools/librcf/librcf/0001-Check-for-__powerpc__-define.patch create mode 100644 meta-oe/recipes-devtools/librcf/librcf/mips-support.patch create mode 100644 meta-oe/recipes-devtools/libsombok3/libsombok3/0001-configure.ac-fix-cross-compiling-issue.patch create mode 100644 meta-oe/recipes-devtools/libsombok3/libsombok3_2.4.0.bb create mode 100644 meta-oe/recipes-devtools/ltrace/ltrace/0001-Add-support-for-mips64-n32-n64.patch create mode 100644 meta-oe/recipes-devtools/ltrace/ltrace/0001-configure-Recognise-linux-musl-as-a-host-OS.patch create mode 100644 meta-oe/recipes-devtools/meson/meson/native_bindir.patch create mode 100644 meta-oe/recipes-extended/fluentbit/fluentbit/0001-flb-plugin-proxy-go-Add-missing-dependency-on-jemall.patch create mode 100644 meta-oe/recipes-gnome/gnome-common/gnome-common_3.18.0.bb create mode 100644 meta-oe/recipes-graphics/assimp/assimp/0001-Fix-build-on-big-endian-architectures.patch rename meta-oe/recipes-graphics/assimp/{assimp_3.1.1.bb => assimp_3.3.1.bb} (50%) rename meta-oe/recipes-graphics/babl/{babl_0.1.16.bb => babl_0.1.28.bb} (72%) create mode 100644 meta-oe/recipes-graphics/dietsplash/dietsplash/0001-configure.ac-Do-not-demand-linker-hash-style.patch rename meta-oe/recipes-graphics/gegl/{gegl_0.3.4.bb => gegl_0.3.18.bb} (91%) create mode 100644 meta-oe/recipes-graphics/gimp/gimp/0003-Fix-use-of-gegl-API.patch rename meta-oe/recipes-graphics/gimp/{gimp_2.8.20.bb => gimp_2.8.22.bb} (70%) rename meta-oe/recipes-navigation/proj/{proj_4.8.0.bb => proj_4.9.3.bb} (70%) create mode 100644 meta-oe/recipes-support/freerdp/freerdp/0003-add-missing-define.patch create mode 100644 meta-oe/recipes-support/gperftools/gperftools/0001-Use-ucontext_t-instead-of-struct-ucontext.patch rename meta-oe/recipes-support/libtinyxml2/{libtinyxml2_4.0.1.bb => libtinyxml2_5.0.1.bb} (81%) create mode 100644 meta-oe/recipes-support/multipath-tools/files/0001-multipath-attempt-at-common-multipath.rules.patch delete mode 100644 meta-oe/recipes-support/multipath-tools/files/0001-multipathd.service-Error-fix.patch create mode 100644 meta-oe/recipes-support/multipath-tools/files/0002-RH-fixup-udev-rules-for-redhat.patch create mode 100644 meta-oe/recipes-support/multipath-tools/files/0003-RH-Remove-the-property-blacklist-exception-builtin.patch create mode 100644 meta-oe/recipes-support/multipath-tools/files/0004-RH-don-t-start-without-a-config-file.patch create mode 100644 meta-oe/recipes-support/multipath-tools/files/0005-RH-add-mpathconf.patch create mode 100644 meta-oe/recipes-support/multipath-tools/files/0006-RH-add-wwids-from-kernel-cmdline-mpath.wwids-with-A.patch create mode 100644 meta-oe/recipes-support/multipath-tools/files/0007-RH-trigger-change-uevent-on-new-device-creation.patch create mode 100644 meta-oe/recipes-support/multipath-tools/files/0008-libmultipath-change-how-RADOS-checker-is-enabled.patch create mode 100644 meta-oe/recipes-support/multipath-tools/files/0009-multipath-set-verbosity-to-default-during-config.patch create mode 100644 meta-oe/recipes-support/multipath-tools/files/0010-mpath-skip-device-configs-without-vendor-product.patch create mode 100644 meta-oe/recipes-support/multipath-tools/files/0011-multipathd-fix-show-maps-json-crash.patch create mode 100644 meta-oe/recipes-support/multipath-tools/files/0012-multipath-tools-modify-Makefile.inc-for-cross-compil.patch create mode 100644 meta-oe/recipes-support/multipath-tools/files/0013-Always-use-devmapper.patch rename meta-oe/recipes-support/multipath-tools/files/{always-use-libdevmapper-kpartx.patch => 0014-Always-use-devmapper-for-kpartx.patch} (52%) delete mode 100644 meta-oe/recipes-support/multipath-tools/files/always-use-libdevmapper.patch delete mode 100644 meta-oe/recipes-support/multipath-tools/files/checkers-disable-libcheckrbd.so.patch delete mode 100644 meta-oe/recipes-support/multipath-tools/files/makefile_inc.patch create mode 100644 meta-oe/recipes-support/multipath-tools/files/multipath.conf.example delete mode 100644 meta-oe/recipes-support/multipath-tools/files/shared-libs-avoid-linking-.so-as-executable.patch create mode 100644 meta-oe/recipes-support/multipath-tools/multipath-tools_0.7.1.bb delete mode 100644 meta-oe/recipes-support/multipath-tools/multipath-tools_git.bb rename meta-oe/recipes-support/udisks/{udisks2_2.1.7.bb => udisks2_2.1.8.bb} (89%) create mode 100644 meta-oe/recipes-support/uim/uim/0001-Add-support-for-aarch64.patch create mode 100644 meta-perl/recipes-perl/liblocale/liblocale-gettext-perl_1.07.bb create mode 100644 meta-perl/recipes-perl/libmime/libmime-charset-perl_1.012.2.bb create mode 100644 meta-perl/recipes-perl/libterm/libterm-readkey-perl_2.37.bb create mode 100644 meta-perl/recipes-perl/libtext/libtext-charwidth-perl_0.04.bb create mode 100644 meta-perl/recipes-perl/libtext/libtext-wrapi18n-perl_0.06.bb create mode 100644 meta-perl/recipes-perl/libunicode/libunicode-linebreak-perl_2017.004.bb create mode 100644 meta-python/recipes-devtools/python/python-daemon/0001-Workaround-for-issue-2-1.patch create mode 100644 meta-python/recipes-devtools/python/python-daemon_2.1.2.bb create mode 100644 meta-python/recipes-devtools/python/python-docutils_0.14rc2.bb create mode 100644 meta-python/recipes-devtools/python/python-grpcio-tools_1.4.0.bb create mode 100644 meta-python/recipes-devtools/python/python-grpcio_1.4.0.bb create mode 100644 meta-python/recipes-devtools/python/python-lockfile_0.12.2.bb create mode 100644 meta-python/recipes-devtools/python/python-protobuf_3.3.0.bb create mode 100644 meta-python/recipes-devtools/python/python-pybluez_0.22.bb create mode 100644 meta-python/recipes-devtools/python/python-pytest/0001-setup.py-remove-the-setup_requires-for-setuptools-scm.patch rename meta-python/recipes-devtools/python/{python-pytest_3.1.2.bb => python-pytest_3.1.3.bb} (100%) rename meta-python/recipes-devtools/python/{python3-pytest_3.1.2.bb => python3-pytest_3.1.3.bb} (100%) rename meta-xfce/recipes-xfce/garcon/{garcon_0.4.0.bb => garcon_0.6.1.bb} (76%) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:47:50 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:47:50 +0000 Subject: [oe-commits] [meta-openembedded] 03/60: freerdp: Fix build on mips In-Reply-To: <150006886722.7705.14424127970521923710@git.openembedded.org> References: <150006886722.7705.14424127970521923710@git.openembedded.org> Message-ID: <20170714214747.81E66233459@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit b8deb419369f5d59b77eb73ddea8dbf7b53eec47 Author: Khem Raj AuthorDate: Fri Jun 30 05:59:44 2017 -0700 freerdp: Fix build on mips Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../freerdp/freerdp/0003-add-missing-define.patch | 45 ++++++++++++++++++++++ meta-oe/recipes-support/freerdp/freerdp_git.bb | 1 + 2 files changed, 46 insertions(+) diff --git a/meta-oe/recipes-support/freerdp/freerdp/0003-add-missing-define.patch b/meta-oe/recipes-support/freerdp/freerdp/0003-add-missing-define.patch new file mode 100644 index 0000000..220edef --- /dev/null +++ b/meta-oe/recipes-support/freerdp/freerdp/0003-add-missing-define.patch @@ -0,0 +1,45 @@ +libwinpr/comm_seria: fix missing define + +FreeRDP uses CMSPAR, which is defined by glibc in bits/termios.h . + +glibc has two flavours of bits/termios.h: a genmeric one and an +architecture-specific one. When installing, glibc will install the +architecture-specific file if it exists, otherwise it installs the +generic file. Only Alpha, MIPS, PPC and Sparc have their own +bits/termios.h. + +The generic bits/termios.h, as well as the Alpha, PPC and Sparc flavours +do define CMSPAR. However, the MIPS flavour does not define it. + +Define CMSPAR to the value from the generic value, which is also the +value known to the Linux kernel for MIPS. + +Fixes: + http://autobuild.buildroot.org/results/0b4/0b4793f0bf9f4c57933897f3480054a4e06528ad/ + http://autobuild.buildroot.org/results/7a2/7a2284d0a2987158fa2e78f789b07c8c6fcdb974/ + http://autobuild.buildroot.org/results/387/3874088c3ccd4bbf76ea0c911ca1ef64c7dc9d1c/ + ... + +Signed-off-by: "Yann E. MORIN" +Cc: Peter Korsgaard +Cc: Thomas Petazzoni + +diff -durN freerdp-17834af7bb378f85a3b3cc4dcadaa5125a337e16.orig/winpr/libwinpr/comm/comm_serial_sys.c freerdp-17834af7bb378f85a3b3cc4dcadaa5125a337e16/winpr/libwinpr/comm/comm_serial_sys.c +--- freerdp-17834af7bb378f85a3b3cc4dcadaa5125a337e16.orig/winpr/libwinpr/comm/comm_serial_sys.c 2015-09-04 16:20:17.000000000 +0100 ++++ freerdp-17834af7bb378f85a3b3cc4dcadaa5125a337e16/winpr/libwinpr/comm/comm_serial_sys.c 2015-10-04 11:07:41.868513726 +0100 +@@ -27,6 +27,14 @@ + #include + #include + #include ++ ++/* glibc for MIPS has its own bits/termios.h which does not define ++ * CMSPAR, so we vampirise the value from the generic bits/termios.h ++ */ ++#ifndef CMSPAR ++#define CMSPAR 010000000000 ++#endif ++ + #include + + #include "comm_serial_sys.h" + diff --git a/meta-oe/recipes-support/freerdp/freerdp_git.bb b/meta-oe/recipes-support/freerdp/freerdp_git.bb index f2d0a4d..f0aa1b6 100644 --- a/meta-oe/recipes-support/freerdp/freerdp_git.bb +++ b/meta-oe/recipes-support/freerdp/freerdp_git.bb @@ -17,6 +17,7 @@ SRCREV = "62da9d28c674814c81c245c1c7882eb0da7be76b" SRC_URI = "git://github.com/FreeRDP/FreeRDP.git \ file://winpr-makecert-Build-with-install-RPATH.patch \ file://0001-FindGStreamer_1_0-fix-build-failure-for-new-gstreame.patch \ + file://0003-add-missing-define.patch \ " S = "${WORKDIR}/git" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:47:48 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:47:48 +0000 Subject: [oe-commits] [meta-openembedded] 01/60: gst-plugins-gl_0.10.3.bb: Fix build on rpi/userland In-Reply-To: <150006886722.7705.14424127970521923710@git.openembedded.org> References: <150006886722.7705.14424127970521923710@git.openembedded.org> Message-ID: <20170714214747.6AB51233456@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 9847dfaa54c7a33b8fdbfce839f6d1b74bf5e553 Author: Khem Raj AuthorDate: Fri Jun 30 05:59:42 2017 -0700 gst-plugins-gl_0.10.3.bb: Fix build on rpi/userland see https://www.raspberrypi.org/forums/viewtopic.php?t=7090 Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../gst-plugins-gl/rpi-egl-gles2-dep.patch | 22 ++++++++++++++++++++++ .../gstreamer-0.10/gst-plugins-gl_0.10.3.bb | 4 +++- 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-gl/rpi-egl-gles2-dep.patch b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-gl/rpi-egl-gles2-dep.patch new file mode 100644 index 0000000..7db1c5a --- /dev/null +++ b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-gl/rpi-egl-gles2-dep.patch @@ -0,0 +1,22 @@ +Check for header and library separately and check for GLESv2 before egl +this is to overcome an annoying issue with rpi/userland where egl depends +on sysmbols from libGLESv2 + +-Khem +Index: gst-plugins-gl-0.10.3/configure.ac +=================================================================== +--- gst-plugins-gl-0.10.3.orig/configure.ac ++++ gst-plugins-gl-0.10.3/configure.ac +@@ -183,8 +183,10 @@ case $host in + else + AC_CHECK_HEADERS([EGL/egl.h], [HAVE_EGL=yes], [HAVE_EGL=no]) + if test "x$HAVE_EGL" = "xyes"; then +- AG_GST_CHECK_LIBHEADER(EGL, EGL, eglGetError,, EGL/egl.h,, AC_MSG_ERROR([EGL is required])) +- AG_GST_CHECK_LIBHEADER(GLES2, GLESv2, glTexImage2D,, GLES2/gl2.h,, AC_MSG_ERROR([OpenGLES2 is required])) ++ AC_CHECK_HEADERS([GLES2/gl2.h],, AC_MSG_ERROR([OpenGLES2 is required])) ++ AC_CHECK_LIB(GLESv2,[glTexImage2D],, AC_MSG_ERROR([OpenGLES2 is required])) ++ AC_CHECK_HEADERS([EGL/egl.h],, AC_MSG_ERROR([EGL is required])) ++ AC_CHECK_LIB(EGL,[eglGetError],, AC_MSG_ERROR([EGL is required])) + GL_LIBS="$LIBS $X_LIBS -lEGL -lGLESv2" + GL_BACKEND=x11ES2 + GL_TYPE=gles diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-gl_0.10.3.bb b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-gl_0.10.3.bb index 6859f33..bb69bfe 100644 --- a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-gl_0.10.3.bb +++ b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-gl_0.10.3.bb @@ -6,7 +6,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605" SRC_URI[md5sum] = "ac70ede13f79978d56eaed8abaa3c938" SRC_URI[sha256sum] = "48340b6a4b8abce16344a7bc33e74a94fdcce4f57ef6342cdf2f941c429bf210" -SRC_URI += " file://0001-conditional-gl-framebuffer-undefined-use.patch" +SRC_URI += " file://0001-conditional-gl-framebuffer-undefined-use.patch \ + file://rpi-egl-gles2-dep.patch \ +" DEPENDS += "gst-plugins-base virtual/libgles2 virtual/egl jpeg libpng glew" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:47:55 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:47:55 +0000 Subject: [oe-commits] [meta-openembedded] 08/60: dietsplash: Fix build on mips In-Reply-To: <150006886722.7705.14424127970521923710@git.openembedded.org> References: <150006886722.7705.14424127970521923710@git.openembedded.org> Message-ID: <20170714214747.A656A233461@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 8d5d0663eb37e35aefa79f78938a385f4c31d520 Author: Khem Raj AuthorDate: Fri Jun 30 05:59:49 2017 -0700 dietsplash: Fix build on mips Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...figure.ac-Do-not-demand-linker-hash-style.patch | 28 ++++++++++++++++++++++ .../recipes-graphics/dietsplash/dietsplash_git.bb | 6 +++-- 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/meta-oe/recipes-graphics/dietsplash/dietsplash/0001-configure.ac-Do-not-demand-linker-hash-style.patch b/meta-oe/recipes-graphics/dietsplash/dietsplash/0001-configure.ac-Do-not-demand-linker-hash-style.patch new file mode 100644 index 0000000..87e8637 --- /dev/null +++ b/meta-oe/recipes-graphics/dietsplash/dietsplash/0001-configure.ac-Do-not-demand-linker-hash-style.patch @@ -0,0 +1,28 @@ +From 65e8e3c9c69f41778b6308c2f8f3262c82c6f3e1 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 29 Jun 2017 13:57:53 -0700 +Subject: [PATCH] configure.ac: Do not demand linker hash-style + +This helps fixing on architectures e.g. mips where gnu hash +is not supported + +Signed-off-by: Khem Raj +--- + configure.ac | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index e1dba23..7bcc039 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -65,7 +65,6 @@ CC_CHECK_CFLAGS_APPEND([ \ + -ffunction-sections \ + -fdata-sections \ + -Wl,-O1 \ +- -Wl,--hash-style=gnu \ + -Wl,--as-needed \ + -Wl,--gc-sections]) + +-- +2.13.2 + diff --git a/meta-oe/recipes-graphics/dietsplash/dietsplash_git.bb b/meta-oe/recipes-graphics/dietsplash/dietsplash_git.bb index a88caf8..32f0815 100644 --- a/meta-oe/recipes-graphics/dietsplash/dietsplash_git.bb +++ b/meta-oe/recipes-graphics/dietsplash/dietsplash_git.bb @@ -7,8 +7,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" PV = "0.3" PR = "r1" -SRCREV = "f7aadacbe3c19e37ea938e00a5141b577fb74a5e" -SRC_URI = "git://github.com/lucasdemarchi/dietsplash.git" +SRCREV = "ef2e1a390e768e21e6a6268977580ee129a96633" +SRC_URI = "git://github.com/lucasdemarchi/dietsplash.git \ + file://0001-configure.ac-Do-not-demand-linker-hash-style.patch \ + " inherit autotools -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:47:52 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:47:52 +0000 Subject: [oe-commits] [meta-openembedded] 05/60: babl: Upgrade to 0.1.28 In-Reply-To: <150006886722.7705.14424127970521923710@git.openembedded.org> References: <150006886722.7705.14424127970521923710@git.openembedded.org> Message-ID: <20170714214747.8F70823345C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 598ec9e4c410adc22ee717d669d24988e45b5cd7 Author: Khem Raj AuthorDate: Fri Jun 30 05:59:46 2017 -0700 babl: Upgrade to 0.1.28 Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- meta-oe/recipes-graphics/babl/{babl_0.1.16.bb => babl_0.1.28.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-oe/recipes-graphics/babl/babl_0.1.16.bb b/meta-oe/recipes-graphics/babl/babl_0.1.28.bb similarity index 72% rename from meta-oe/recipes-graphics/babl/babl_0.1.16.bb rename to meta-oe/recipes-graphics/babl/babl_0.1.28.bb index daea052..9d8c90f 100644 --- a/meta-oe/recipes-graphics/babl/babl_0.1.16.bb +++ b/meta-oe/recipes-graphics/babl/babl_0.1.28.bb @@ -5,8 +5,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=6a6a8e020838b23406c81b19c1d46df6" inherit gnomebase SRC_URI = "http://ftp.gimp.org/pub/${BPN}/0.1/${BP}.tar.bz2" -SRC_URI[md5sum] = "a1c72e5f5d55a8b736ef2fa67ddb86ec" -SRC_URI[sha256sum] = "7d6ba55ec53ee6f6bf6945beec28839d09ff72376f4d83035eb379cd4f3e980e" +SRC_URI[md5sum] = "cc53d8474a43aafb7cdaccea56cfde44" +SRC_URI[sha256sum] = "63f3ed23e72a857a0e6df53d9d968a325024177b01edbe314a0c98b499eb8603" FILES_${PN} += "${libdir}/babl-*/*.so" FILES_${PN}-dev += "${libdir}/babl-*/*.la" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:47:58 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:47:58 +0000 Subject: [oe-commits] [meta-openembedded] 11/60: synergy: Update to 1.8.8 release In-Reply-To: <150006886722.7705.14424127970521923710@git.openembedded.org> References: <150006886722.7705.14424127970521923710@git.openembedded.org> Message-ID: <20170714214747.BD659233467@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit d441a628d84139690bf66246bd3683ef80e33ec8 Author: Khem Raj AuthorDate: Fri Jun 30 05:59:52 2017 -0700 synergy: Update to 1.8.8 release Change license to reflect openSSL linking exception https://github.com/symless/synergy/commit/a8472d2eb2106a0d1503d25369e6bdc6e3b88c7d and copyright changes https://github.com/symless/synergy/commit/c3c0913633041584fa41180640d2e4c83fa92820 Point to new(moved) SRC_URI Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- meta-oe/recipes-support/synergy/synergy_git.bb | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/meta-oe/recipes-support/synergy/synergy_git.bb b/meta-oe/recipes-support/synergy/synergy_git.bb index 1c55a8a..68f0387 100644 --- a/meta-oe/recipes-support/synergy/synergy_git.bb +++ b/meta-oe/recipes-support/synergy/synergy_git.bb @@ -1,7 +1,7 @@ SUMMARY = "Synergy - control multiple computers with one keyboard and mouse" HOMEPAGE = "http://synergy-project.org" -LIC_FILES_CHKSUM = "file://LICENSE;md5=0f366945b209c5523e39889f636af00a" -LICENSE = "GPL-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=d2ba51ca68e055566aade24662f9eb41" +LICENSE = "GPL-2.0-with-OpenSSL-exception" SECTION = "x11/utils" DEPENDS = "virtual/libx11 libxtst libxinerama curl openssl" @@ -10,11 +10,11 @@ do_unpack_extra[depends] = "unzip-native:do_populate_sysroot" # depends on virtual/libx11 REQUIRED_DISTRO_FEATURES = "x11" -SRC_URI = "git://github.com/synergy/synergy.git;protocol=http" +SRC_URI = "git://github.com/symless/synergy.git;protocol=http" -# Version 1.7.4-rc8 -SRCREV ?= "588fb4b805dd452556d05dbc03fe29ea5b4e43c0" -PV = "1.7.3+1.7.4-rc8+${SRCPV}" +# Version 1.8.8-stable +SRCREV ?= "c30301e23424db1125664da17deb8c3aa6aec52d" +PV = "1.8.8+${SRCPV}" S = "${WORKDIR}/git" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:47:54 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:47:54 +0000 Subject: [oe-commits] [meta-openembedded] 07/60: fluentbit: Fix parallel build race In-Reply-To: <150006886722.7705.14424127970521923710@git.openembedded.org> References: <150006886722.7705.14424127970521923710@git.openembedded.org> Message-ID: <20170714214747.9C60C23345F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 83dfe144915876f74e8cba0f7f11ab5143bfbd76 Author: Khem Raj AuthorDate: Fri Jun 30 05:59:48 2017 -0700 fluentbit: Fix parallel build race Sometimes with high parallism the build fails like below | In file included from /mnt/a/oe/workspace/sources/fluentbit/include/fluent-bit/flb_thread_libco.h:24:0, | from /mnt/a/oe/workspace/sources/fluentbit/include/fluent-bit/flb_thread.h:41, | from /mnt/a/oe/workspace/sources/fluentbit/include/fluent-bit/flb_io.h:26, | from /mnt/a/oe/workspace/sources/fluentbit/include/fluent-bit/flb_output.h:34, | from /mnt/a/oe/workspace/sources/fluentbit/include/fluent-bit/flb_plugin_proxy.h:25, | from /mnt/a/oe/workspace/sources/fluentbit/src/proxy/go/go.c:22: | /mnt/a/oe/workspace/sources/fluentbit/include/fluent-bit/flb_mem.h:31:10: fatal error: jemalloc/jemalloc.h: No such file or directory | #include | ^~~~~~~~~~~~~~~~~~~~~ Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...proxy-go-Add-missing-dependency-on-jemall.patch | 24 ++++++++++++++++++++++ .../fluentbit/fluentbit_0.11.11.bb | 3 +++ 2 files changed, 27 insertions(+) diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/0001-flb-plugin-proxy-go-Add-missing-dependency-on-jemall.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/0001-flb-plugin-proxy-go-Add-missing-dependency-on-jemall.patch new file mode 100644 index 0000000..90242ae --- /dev/null +++ b/meta-oe/recipes-extended/fluentbit/fluentbit/0001-flb-plugin-proxy-go-Add-missing-dependency-on-jemall.patch @@ -0,0 +1,24 @@ +From 84d70b6bc744cd348e66a0bc6c7958cdfa9ce670 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 29 Jun 2017 12:56:21 -0700 +Subject: [PATCH] flb-plugin-proxy-go: Add missing dependency on jemalloc + +Signed-off-by: Khem Raj +--- + src/proxy/go/CMakeLists.txt | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/proxy/go/CMakeLists.txt b/src/proxy/go/CMakeLists.txt +index 3273346..02a54c2 100644 +--- a/src/proxy/go/CMakeLists.txt ++++ b/src/proxy/go/CMakeLists.txt +@@ -2,3 +2,6 @@ set(src + go.c) + + add_library(flb-plugin-proxy-go STATIC ${src}) ++if(FLB_JEMALLOC) ++ target_link_libraries(flb-plugin-proxy-go libjemalloc) ++endif() +-- +2.13.2 + diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit_0.11.11.bb b/meta-oe/recipes-extended/fluentbit/fluentbit_0.11.11.bb index 46c47fd..83818c8 100644 --- a/meta-oe/recipes-extended/fluentbit/fluentbit_0.11.11.bb +++ b/meta-oe/recipes-extended/fluentbit/fluentbit_0.11.11.bb @@ -3,6 +3,7 @@ HOMEPAGE = "http://fluentbit.io" BUGTRACKER = "https://github.com/fluent/fluent-bit/issues" SRC_URI = "http://fluentbit.io/releases/0.11/fluent-bit-${PV}.tar.gz \ + file://0001-flb-plugin-proxy-go-Add-missing-dependency-on-jemall.patch \ file://0002-msgpack-Add-comment-for-intended-fallthrough.patch \ " SRC_URI[md5sum] = "7bce8091c41fb6412b7fe0185b3cb8d6" @@ -21,3 +22,5 @@ inherit cmake systemd EXTRA_OECMAKE = "-DGNU_HOST=${HOST_SYS} -DFLB_ALL=ON -DFLB_TD=1" SYSTEMD_SERVICE_${PN} = "fluent-bit.service" + +TARGET_CC_ARCH_append = " ${SELECTED_OPTIMIZATION}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:47:56 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:47:56 +0000 Subject: [oe-commits] [meta-openembedded] 09/60: libsrtp: Fix build on mips In-Reply-To: <150006886722.7705.14424127970521923710@git.openembedded.org> References: <150006886722.7705.14424127970521923710@git.openembedded.org> Message-ID: <20170714214747.B16AC233463@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 69d7273a599265ecc8e128b20701f1c036609b4c Author: Khem Raj AuthorDate: Fri Jun 30 05:59:50 2017 -0700 libsrtp: Fix build on mips Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../0001-Rename-conflicting-variable-mips.patch | 73 ++++++++++++++++++++++ .../recipes-support/libsrtp/libsrtp_1.5.2.bb | 4 +- 2 files changed, 76 insertions(+), 1 deletion(-) diff --git a/meta-multimedia/recipes-support/libsrtp/libsrtp/0001-Rename-conflicting-variable-mips.patch b/meta-multimedia/recipes-support/libsrtp/libsrtp/0001-Rename-conflicting-variable-mips.patch new file mode 100644 index 0000000..b56c789 --- /dev/null +++ b/meta-multimedia/recipes-support/libsrtp/libsrtp/0001-Rename-conflicting-variable-mips.patch @@ -0,0 +1,73 @@ +From 3dc8a678a844247d0afcf7e30fb3cbd5ccbd828f Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 29 Jun 2017 14:05:06 -0700 +Subject: [PATCH] Rename conflicting variable 'mips' + +Fixes +test/srtp_driver.c:344:12: error: expected identifier or '(' before numeric constant + double mips = mips_estimate(1000000000, &ignore); + +Signed-off-by: Khem Raj +--- + test/srtp_driver.c | 20 ++++++++++---------- + 1 file changed, 10 insertions(+), 10 deletions(-) + +diff --git a/test/srtp_driver.c b/test/srtp_driver.c +index 8872971..d38ea19 100644 +--- a/test/srtp_driver.c ++++ b/test/srtp_driver.c +@@ -341,7 +341,7 @@ main (int argc, char *argv[]) { + if (do_codec_timing) { + srtp_policy_t policy; + int ignore; +- double mips = mips_estimate(1000000000, &ignore); ++ double est = mips_estimate(1000000000, &ignore); + + crypto_policy_set_rtp_default(&policy.rtp); + crypto_policy_set_rtcp_default(&policy.rtcp); +@@ -353,33 +353,33 @@ main (int argc, char *argv[]) { + policy.allow_repeat_tx = 0; + policy.next = NULL; + +- printf("mips estimate: %e\n", mips); ++ printf("mips estimate: %e\n", est); + + printf("testing srtp processing time for voice codecs:\n"); + printf("codec\t\tlength (octets)\t\tsrtp instructions/second\n"); + printf("G.711\t\t%d\t\t\t%e\n", 80, +- (double) mips * (80 * 8) / ++ (double) est * (80 * 8) / + srtp_bits_per_second(80, &policy) / .01 ); + printf("G.711\t\t%d\t\t\t%e\n", 160, +- (double) mips * (160 * 8) / ++ (double) est * (160 * 8) / + srtp_bits_per_second(160, &policy) / .02); + printf("G.726-32\t%d\t\t\t%e\n", 40, +- (double) mips * (40 * 8) / ++ (double) est * (40 * 8) / + srtp_bits_per_second(40, &policy) / .01 ); + printf("G.726-32\t%d\t\t\t%e\n", 80, +- (double) mips * (80 * 8) / ++ (double) est * (80 * 8) / + srtp_bits_per_second(80, &policy) / .02); + printf("G.729\t\t%d\t\t\t%e\n", 10, +- (double) mips * (10 * 8) / ++ (double) est * (10 * 8) / + srtp_bits_per_second(10, &policy) / .01 ); + printf("G.729\t\t%d\t\t\t%e\n", 20, +- (double) mips * (20 * 8) / ++ (double) est * (20 * 8) / + srtp_bits_per_second(20, &policy) / .02 ); + printf("Wideband\t%d\t\t\t%e\n", 320, +- (double) mips * (320 * 8) / ++ (double) est * (320 * 8) / + srtp_bits_per_second(320, &policy) / .01 ); + printf("Wideband\t%d\t\t\t%e\n", 640, +- (double) mips * (640 * 8) / ++ (double) est * (640 * 8) / + srtp_bits_per_second(640, &policy) / .02 ); + } + +-- +2.13.2 + diff --git a/meta-multimedia/recipes-support/libsrtp/libsrtp_1.5.2.bb b/meta-multimedia/recipes-support/libsrtp/libsrtp_1.5.2.bb index 3249828..8abaa12 100644 --- a/meta-multimedia/recipes-support/libsrtp/libsrtp_1.5.2.bb +++ b/meta-multimedia/recipes-support/libsrtp/libsrtp_1.5.2.bb @@ -5,7 +5,9 @@ SECTION = "libs" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM = "file://LICENSE;md5=15bc16b9d2e305974dde47e733883714" -SRC_URI = "https://github.com/cisco/libsrtp/archive/v${PV}.tar.gz;downloadfilename=${BP}.tar.gz" +SRC_URI = "https://github.com/cisco/libsrtp/archive/v${PV}.tar.gz;downloadfilename=${BP}.tar.gz \ + file://0001-Rename-conflicting-variable-mips.patch \ + " SRC_URI[md5sum] = "2309aa6027992810a4285b042c71e644" SRC_URI[sha256sum] = "86e1efe353397c0751f6bdd709794143bd1b76494412860f16ff2b6d9c304eda" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:47:53 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:47:53 +0000 Subject: [oe-commits] [meta-openembedded] 06/60: gimp: Upgrade to 2.8.22 In-Reply-To: <150006886722.7705.14424127970521923710@git.openembedded.org> References: <150006886722.7705.14424127970521923710@git.openembedded.org> Message-ID: <20170714214747.95B9123345D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 49bb63d5b35b3e156a66727ebb0e696ef8d4fec5 Author: Khem Raj AuthorDate: Fri Jun 30 05:59:47 2017 -0700 gimp: Upgrade to 2.8.22 Fix API issue due to new gegl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../gimp/gimp/0003-Fix-use-of-gegl-API.patch | 34 ++++++++++++++++++++++ .../gimp/{gimp_2.8.20.bb => gimp_2.8.22.bb} | 14 ++++----- 2 files changed, 41 insertions(+), 7 deletions(-) diff --git a/meta-oe/recipes-graphics/gimp/gimp/0003-Fix-use-of-gegl-API.patch b/meta-oe/recipes-graphics/gimp/gimp/0003-Fix-use-of-gegl-API.patch new file mode 100644 index 0000000..7da78e2 --- /dev/null +++ b/meta-oe/recipes-graphics/gimp/gimp/0003-Fix-use-of-gegl-API.patch @@ -0,0 +1,34 @@ +From e1c8f4b8323e3965271a93529eab5774c1a7083c Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 29 Jun 2017 10:32:14 -0700 +Subject: [PATCH 3/3] Fix use of gegl API + +newer version of gegl does not define GEGL_IS_PARAM_SPEC_MULTILINE + +| core/libappcore.a(gimpparamspecs-duplicate.o): In function `gimp_param_spec_duplicate': +| /usr/src/debug/gimp/2.8.22-r0/gimp-2.8.22/app/core/../../../../../../../../../workspace/sources/gimp/app/core/gimpparamspecs-duplicate.c:70: undefined reference to `GEGL_IS_PARAM_SPEC_MULTILINE' +| collect2: error: ld returned 1 exit status + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +--- + app/core/gimpparamspecs-duplicate.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/app/core/gimpparamspecs-duplicate.c b/app/core/gimpparamspecs-duplicate.c +index c0b7426..2efaf23 100644 +--- a/app/core/gimpparamspecs-duplicate.c ++++ b/app/core/gimpparamspecs-duplicate.c +@@ -67,7 +67,7 @@ gimp_param_spec_duplicate (GParamSpec *pspec) + spec->default_value, + pspec->flags); + +- if (GEGL_IS_PARAM_SPEC_MULTILINE (pspec)) ++ if (gegl_param_spec_get_property_key(pspec, "multiline")) + { + g_param_spec_set_qdata (new, multiline_quark, + GINT_TO_POINTER (TRUE)); +-- +2.13.2 + diff --git a/meta-oe/recipes-graphics/gimp/gimp_2.8.20.bb b/meta-oe/recipes-graphics/gimp/gimp_2.8.22.bb similarity index 70% rename from meta-oe/recipes-graphics/gimp/gimp_2.8.20.bb rename to meta-oe/recipes-graphics/gimp/gimp_2.8.22.bb index 9588ab0..1ecd2b7 100644 --- a/meta-oe/recipes-graphics/gimp/gimp_2.8.20.bb +++ b/meta-oe/recipes-graphics/gimp/gimp_2.8.22.bb @@ -27,13 +27,13 @@ DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libxmu libxpm', '', inherit gnome gtk-doc -SRC_URI = " \ - http://ftp.gimp.org/pub/gimp/v2.8/gimp-${PV}.tar.bz2 \ - file://0001-configure-ac-do-not-check-for-freetype-config.patch \ - file://bump_Babl-GEGL_versions.patch \ -" -SRC_URI[md5sum] = "d405640c426b234d6efc36fb4f5bae57" -SRC_URI[sha256sum] = "939ca1df70be865c672ffd654f4e20f188121d01601c5c90237214101533c805" +SRC_URI = "http://ftp.gimp.org/pub/gimp/v2.8/gimp-${PV}.tar.bz2 \ + file://0001-configure-ac-do-not-check-for-freetype-config.patch \ + file://bump_Babl-GEGL_versions.patch \ + file://0003-Fix-use-of-gegl-API.patch \ + " +SRC_URI[md5sum] = "7e4fd7a53b1d3c32dff642ab1a94b44d" +SRC_URI[sha256sum] = "9187a35cc52b110d78124d7b27b68a68ade14a794c2721314bac6134d2a5638a" EXTRA_OECONF = "--disable-python \ --without-webkit \ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:47:59 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:47:59 +0000 Subject: [oe-commits] [meta-openembedded] 12/60: kodi: Update to 17.3 In-Reply-To: <150006886722.7705.14424127970521923710@git.openembedded.org> References: <150006886722.7705.14424127970521923710@git.openembedded.org> Message-ID: <20170714214747.C31DC233468@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 2459f15f632e94c09bd8c905dc1fa77d826bac90 Author: Khem Raj AuthorDate: Fri Jun 30 05:59:53 2017 -0700 kodi: Update to 17.3 link with libatomic on mips Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb b/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb index 23f09af..19806a1 100644 --- a/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb +++ b/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb @@ -62,11 +62,11 @@ DEPENDS = " \ PROVIDES = "xbmc" -SRCREV = "661dd08d221f5b2bf509a696a6aca5ee7d45bb27" -BASEPV = "17.1" -PV = "${BASEPV}+gitr${SRCPV}" +SRCREV = "6abeebd5ba371547c8f04272296433f5e4e28e86" +PV = "17.3+gitr${SRCPV}" +ADDONSPV = "17.1" SRC_URI = "git://github.com/xbmc/xbmc.git;branch=Krypton \ - https://repo.voidlinux.eu/distfiles/${BPN}-${BASEPV}-generated-addons.tar.xz;name=addons;unpack=0 \ + https://repo.voidlinux.eu/distfiles/${BPN}-${ADDONSPV}-generated-addons.tar.xz;name=addons;unpack=0 \ file://0003-configure-don-t-try-to-run-stuff-to-find-tinyxml.patch \ file://0004-handle-SIGTERM.patch \ file://0005-add-support-to-read-frequency-output-if-using-intel-.patch \ @@ -130,6 +130,9 @@ FULL_OPTIMIZATION_armv7a = "-fexpensive-optimizations -fomit-frame-pointer -O3 - FULL_OPTIMIZATION_armv7ve = "-fexpensive-optimizations -fomit-frame-pointer -O3 -ffast-math" BUILD_OPTIMIZATION = "${FULL_OPTIMIZATION}" +LDFLAGS_append_mips = " -latomic" +LDFLAGS_append_mipsel = " -latomic" + EXTRA_OECONF_append = " LIBTOOL=${STAGING_BINDIR_CROSS}/${HOST_SYS}-libtool" # for python modules @@ -145,7 +148,7 @@ def enable_glew(bb, d): return "" do_configure() { - tar xf ${WORKDIR}/${BPN}-${BASEPV}-generated-addons.tar.xz -C ${S}/ + tar xf ${WORKDIR}/${BPN}-${ADDONSPV}-generated-addons.tar.xz -C ${S}/ ( for i in $(find ${S} -name "configure.*" ) ; do cd $(dirname $i) && gnu-configize --force || true -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:48:01 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:48:01 +0000 Subject: [oe-commits] [meta-openembedded] 14/60: rtorrent: Add and enable ipv6 packageconfig based on DISTRO_FEATURES In-Reply-To: <150006886722.7705.14424127970521923710@git.openembedded.org> References: <150006886722.7705.14424127970521923710@git.openembedded.org> Message-ID: <20170714214747.D090123346B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit f5cab49989e9e0cab54f4ddb95b1d37fdcb2ac55 Author: Khem Raj AuthorDate: Fri Jun 30 05:59:55 2017 -0700 rtorrent: Add and enable ipv6 packageconfig based on DISTRO_FEATURES Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- meta-oe/recipes-connectivity/rtorrent/rtorrent_git.bb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/meta-oe/recipes-connectivity/rtorrent/rtorrent_git.bb b/meta-oe/recipes-connectivity/rtorrent/rtorrent_git.bb index af1c4d6..c731cf7 100644 --- a/meta-oe/recipes-connectivity/rtorrent/rtorrent_git.bb +++ b/meta-oe/recipes-connectivity/rtorrent/rtorrent_git.bb @@ -14,6 +14,10 @@ PV = "0.9.6+git${SRCPV}" S = "${WORKDIR}/git" +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" + +PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," + inherit autotools pkgconfig do_configure_prepend() { -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:47:57 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:47:57 +0000 Subject: [oe-commits] [meta-openembedded] 10/60: assimp: Upgrade to 3.3.1 release In-Reply-To: <150006886722.7705.14424127970521923710@git.openembedded.org> References: <150006886722.7705.14424127970521923710@git.openembedded.org> Message-ID: <20170714214747.B78B7233465@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 9fc1d268bb2597a4eeeba8ba7f62ead7bb14085f Author: Khem Raj AuthorDate: Fri Jun 30 05:59:51 2017 -0700 assimp: Upgrade to 3.3.1 release License years changed see https://github.com/assimp/assimp/commit/189340a99f335cc28cae7c39eaee434322a54548 Fix build on big-endian architectures Use Assimp namespace to fix build for big-endian architectures Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...001-Fix-build-on-big-endian-architectures.patch | 29 ++++++++++++++++++++++ .../assimp/{assimp_3.1.1.bb => assimp_3.3.1.bb} | 10 +++++--- 2 files changed, 35 insertions(+), 4 deletions(-) diff --git a/meta-oe/recipes-graphics/assimp/assimp/0001-Fix-build-on-big-endian-architectures.patch b/meta-oe/recipes-graphics/assimp/assimp/0001-Fix-build-on-big-endian-architectures.patch new file mode 100644 index 0000000..c94bb3d --- /dev/null +++ b/meta-oe/recipes-graphics/assimp/assimp/0001-Fix-build-on-big-endian-architectures.patch @@ -0,0 +1,29 @@ +From 614475dcac1cee4d63b764282c578672bc060321 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 29 Jun 2017 14:23:00 -0700 +Subject: [PATCH] Fix build on big-endian architectures + +see +https://github.com/assimp/assimp/pull/986 + +Signed-off-by: Khem Raj +--- + code/glTFAsset.inl | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/code/glTFAsset.inl b/code/glTFAsset.inl +index d52c825c..470246c9 100644 +--- a/code/glTFAsset.inl ++++ b/code/glTFAsset.inl +@@ -40,6 +40,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + #include "StringUtils.h" + ++using namespace Assimp; ++ + namespace glTF { + + namespace { +-- +2.13.2 + diff --git a/meta-oe/recipes-graphics/assimp/assimp_3.1.1.bb b/meta-oe/recipes-graphics/assimp/assimp_3.3.1.bb similarity index 50% rename from meta-oe/recipes-graphics/assimp/assimp_3.1.1.bb rename to meta-oe/recipes-graphics/assimp/assimp_3.3.1.bb index 4da3dc2..064683a 100644 --- a/meta-oe/recipes-graphics/assimp/assimp_3.1.1.bb +++ b/meta-oe/recipes-graphics/assimp/assimp_3.3.1.bb @@ -3,13 +3,15 @@ DESCRIPTION = "Open Asset Import Library is a portable Open Source library to im HOMEPAGE = "http://www.assimp.org/" SECTION = "devel" LICENSE = "BSD" -LIC_FILES_CHKSUM = "file://LICENSE;md5=bc4231a2268da8fc55525ad119638a87" +LIC_FILES_CHKSUM = "file://LICENSE;md5=4cd8c0aedc7a0623476669377d7eeda8" DEPENDS = "boost virtual/libgl" -SRC_URI = "http://sourceforge.net/projects/${BPN}/files/${BPN}-3.1/${BPN}-${PV}_no_test_models.zip" -SRC_URI[md5sum] = "ccd4788204509da58a3a53c7aeda7a8b" -SRC_URI[sha256sum] = "da9827876f10a8b447270368753392cfd502e70a2e9d1361554e5dfcb1fede9e" +SRCREV = "a8673d4828df5107186f49e5e4efa5316b727482" +SRC_URI = "git://github.com/assimp/assimp \ + file://0001-Fix-build-on-big-endian-architectures.patch \ + " +S = "${WORKDIR}/git" inherit cmake -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:48:00 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:48:00 +0000 Subject: [oe-commits] [meta-openembedded] 13/60: libtorrent: Implement 64bit atomics for mips32 In-Reply-To: <150006886722.7705.14424127970521923710@git.openembedded.org> References: <150006886722.7705.14424127970521923710@git.openembedded.org> Message-ID: <20170714214747.C9FAA233469@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit cf75eaaac38b7eeef0d050ba63c1fde0971806d6 Author: Khem Raj AuthorDate: Fri Jun 30 05:59:54 2017 -0700 libtorrent: Implement 64bit atomics for mips32 Fixes build errors e.g. | /mnt/a/oe/build/tmp/work/mips32r2-bec-linux/rtorrent/0.9.6+gitAUTOINC+226e670dec-r0/recipe-sysroot/usr/lib/../lib/libtorrent.so: undefined reference to `__sync_fetch_and_and_8' | /mnt/a/oe/build/tmp/work/mips32r2-bec-linux/rtorrent/0.9.6+gitAUTOINC+226e670dec-r0/recipe-sysroot/usr/lib/../lib/libtorrent.so: undefined reference to `__sync_add_and_fetch_8' | collect2: error: ld returned 1 exit status Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../0001-implement-64bit-atomic-for-mips.patch | 263 +++++++++++++++++++++ .../libtorrent/libtorrent_git.bb | 5 +- 2 files changed, 266 insertions(+), 2 deletions(-) diff --git a/meta-oe/recipes-connectivity/libtorrent/libtorrent/0001-implement-64bit-atomic-for-mips.patch b/meta-oe/recipes-connectivity/libtorrent/libtorrent/0001-implement-64bit-atomic-for-mips.patch new file mode 100644 index 0000000..84e0772 --- /dev/null +++ b/meta-oe/recipes-connectivity/libtorrent/libtorrent/0001-implement-64bit-atomic-for-mips.patch @@ -0,0 +1,263 @@ +From d7b6df5808e7bef5930b61a82e880699a9f9e208 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 29 Jun 2017 15:39:19 -0700 +Subject: [PATCH] implement 64bit atomic for mips + +GCC does not provide 64bit atomics for mips32 + +Signed-off-by: Khem Raj +--- + src/Makefile.am | 1 + + src/atomic64.c | 228 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 229 insertions(+) + create mode 100644 src/atomic64.c + +diff --git a/src/Makefile.am b/src/Makefile.am +index 99aaace0..cbbbbee9 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -27,6 +27,7 @@ libtorrent_la_LIBADD = \ + utils/libsub_utils.la + + libtorrent_la_SOURCES = \ ++ atomic64.c \ + globals.cc \ + globals.h \ + manager.cc \ +diff --git a/src/atomic64.c b/src/atomic64.c +new file mode 100644 +index 00000000..f841b39b +--- /dev/null ++++ b/src/atomic64.c +@@ -0,0 +1,228 @@ ++/*===----- atomic64.c - Support functions for 64-bit atomic operations.-----=== ++ * ++ * The LLVM Compiler Infrastructure ++ * ++ * This file is dual licensed under the MIT and the University of Illinois Open ++ * Source Licenses. See LICENSE.TXT for details. ++ * ++ *===-----------------------------------------------------------------------=== ++ * ++ * atomic64.c defines a set of functions for performing atomic accesses on ++ * 64-bit memory locations. It also implements spinlock synchronization ++ * operations. ++ * ++ *===-----------------------------------------------------------------------=== ++ */ ++ ++#include ++#include ++ ++/* ++ * only need these on MIPS, since it lacks hardware 64-bit atomics, ++ * unlike x86 and ARM. ++ */ ++#if defined(__mips__) || defined(__mipsel__) ++ ++static void __spin_lock(volatile int *lock) { ++ while (__sync_lock_test_and_set(lock, 1)) ++ while (*lock) {} ++} ++ ++static void __spin_unlock(volatile int *lock) { ++ __sync_lock_release(lock); ++} ++ ++/* ++ * Make sure the lock is on its own cache line to prevent false sharing. ++ * Put it inside a struct that is aligned and padded to the typical MIPS ++ * cacheline which is 32 bytes. ++ */ ++static struct { ++ int lock; ++ char pad[32 - sizeof(int)]; ++} __attribute__((aligned (32))) lock = { 0 }; ++ ++ ++uint64_t __sync_fetch_and_add_8(volatile uint64_t *ptr, uint64_t val) { ++ uint64_t ret; ++ ++ __spin_lock(&lock.lock); ++ ++ ret = *ptr; ++ *ptr = ret + val; ++ ++ __spin_unlock(&lock.lock); ++ ++ return ret; ++} ++ ++uint64_t __sync_fetch_and_sub_8(volatile uint64_t *ptr, uint64_t val) { ++ uint64_t ret; ++ ++ __spin_lock(&lock.lock); ++ ++ ret = *ptr; ++ *ptr = ret - val; ++ ++ __spin_unlock(&lock.lock); ++ ++ return ret; ++} ++ ++uint64_t __sync_fetch_and_and_8(volatile uint64_t *ptr, uint64_t val) { ++ uint64_t ret; ++ ++ __spin_lock(&lock.lock); ++ ++ ret = *ptr; ++ *ptr = ret & val; ++ ++ __spin_unlock(&lock.lock); ++ ++ return ret; ++} ++ ++uint64_t __sync_fetch_and_or_8(volatile uint64_t *ptr, uint64_t val) { ++ uint64_t ret; ++ ++ __spin_lock(&lock.lock); ++ ++ ret = *ptr; ++ *ptr = ret | val; ++ ++ __spin_unlock(&lock.lock); ++ ++ return ret; ++} ++ ++uint64_t __sync_fetch_and_xor_8(volatile uint64_t *ptr, uint64_t val) { ++ uint64_t ret; ++ ++ __spin_lock(&lock.lock); ++ ++ ret = *ptr; ++ *ptr = ret ^ val; ++ ++ __spin_unlock(&lock.lock); ++ ++ return ret; ++} ++ ++uint64_t __sync_add_and_fetch_8(volatile uint64_t *ptr, uint64_t val) { ++ uint64_t ret; ++ ++ __spin_lock(&lock.lock); ++ ++ ret = *ptr + val; ++ *ptr = ret; ++ ++ __spin_unlock(&lock.lock); ++ ++ return ret; ++} ++ ++uint64_t __sync_sub_and_fetch_8(volatile uint64_t *ptr, uint64_t val) { ++ uint64_t ret; ++ ++ __spin_lock(&lock.lock); ++ ++ ret = *ptr - val; ++ *ptr = ret; ++ ++ __spin_unlock(&lock.lock); ++ ++ return ret; ++} ++ ++uint64_t __sync_and_and_fetch_8(volatile uint64_t *ptr, uint64_t val) { ++ uint64_t ret; ++ ++ __spin_lock(&lock.lock); ++ ++ ret = *ptr & val; ++ *ptr = ret; ++ ++ __spin_unlock(&lock.lock); ++ ++ return ret; ++} ++ ++uint64_t __sync_or_and_fetch_8(volatile uint64_t *ptr, uint64_t val) { ++ uint64_t ret; ++ ++ __spin_lock(&lock.lock); ++ ++ ret = *ptr | val; ++ *ptr = ret; ++ ++ __spin_unlock(&lock.lock); ++ ++ return ret; ++} ++ ++uint64_t __sync_xor_and_fetch_8(volatile uint64_t *ptr, uint64_t val) { ++ uint64_t ret; ++ ++ __spin_lock(&lock.lock); ++ ++ ret = *ptr ^ val; ++ *ptr = ret; ++ ++ __spin_unlock(&lock.lock); ++ ++ return ret; ++} ++ ++bool __sync_bool_compare_and_swap_8(volatile uint64_t *ptr, ++ uint64_t oldval, uint64_t newval) { ++ bool ret = false; ++ ++ __spin_lock(&lock.lock); ++ ++ if (*ptr == oldval) { ++ *ptr = newval; ++ ret = true; ++ } ++ ++ __spin_unlock(&lock.lock); ++ ++ return ret; ++} ++ ++uint64_t __sync_val_compare_and_swap_8(volatile uint64_t *ptr, ++ uint64_t oldval, uint64_t newval) { ++ uint64_t ret; ++ ++ __spin_lock(&lock.lock); ++ ++ ret = *ptr; ++ if (ret == oldval) ++ *ptr = newval; ++ ++ __spin_unlock(&lock.lock); ++ ++ return ret; ++} ++ ++uint64_t __sync_lock_test_and_set_8(volatile uint64_t *ptr, uint64_t val) { ++ uint64_t ret; ++ ++ __spin_lock(&lock.lock); ++ ++ ret = *ptr; ++ *ptr = val; ++ ++ __spin_unlock(&lock.lock); ++ ++ return ret; ++} ++ ++void __sync_lock_release_8(volatile uint64_t *ptr) { ++ __spin_lock(&lock.lock); ++ ++ *ptr = 0; ++ ++ __spin_unlock(&lock.lock); ++} ++ ++#endif +-- +2.13.2 + diff --git a/meta-oe/recipes-connectivity/libtorrent/libtorrent_git.bb b/meta-oe/recipes-connectivity/libtorrent/libtorrent_git.bb index aaebc5f..0febebd 100644 --- a/meta-oe/recipes-connectivity/libtorrent/libtorrent_git.bb +++ b/meta-oe/recipes-connectivity/libtorrent/libtorrent_git.bb @@ -7,8 +7,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833" DEPENDS = "zlib libsigc++-2.0 openssl cppunit" SRC_URI = "git://github.com/rakshasa/libtorrent \ - file://don-t-run-code-while-configuring-package.patch \ -" + file://don-t-run-code-while-configuring-package.patch \ + file://0001-implement-64bit-atomic-for-mips.patch \ + " SRCREV = "c167c5a9e0bcf0df23ae5efd91396aae0e37eb87" PV = "0.13.6+git${SRCPV}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:48:04 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:48:04 +0000 Subject: [oe-commits] [meta-openembedded] 17/60: tinymembench: Disable on mips64 In-Reply-To: <150006886722.7705.14424127970521923710@git.openembedded.org> References: <150006886722.7705.14424127970521923710@git.openembedded.org> Message-ID: <20170714214747.E6742233470@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit f52cbdcbe5ca0a2c0b4f02a79dd46394817ead78 Author: Khem Raj AuthorDate: Sat Jul 1 12:54:54 2017 -0700 tinymembench: Disable on mips64 Not yet supported Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- meta-oe/recipes-benchmark/tinymembench/tinymembench_git.bb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/meta-oe/recipes-benchmark/tinymembench/tinymembench_git.bb b/meta-oe/recipes-benchmark/tinymembench/tinymembench_git.bb index 5968d82..8cb59da 100644 --- a/meta-oe/recipes-benchmark/tinymembench/tinymembench_git.bb +++ b/meta-oe/recipes-benchmark/tinymembench/tinymembench_git.bb @@ -27,3 +27,7 @@ do_install() { #| {standard input}:82: Error: selected processor does not support Thumb mode `mla r3,r4,r3,r5' #| {standard input}:82: Error: unshifted register required -- `and r8,r7,r3,lsr#16' ARM_INSTRUCTION_SET = "arm" +# +# Does not work for 64bit mips. +# +COMPATIBLE_HOST = "^(?!mips64).*" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:48:07 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:48:07 +0000 Subject: [oe-commits] [meta-openembedded] 20/60: librcf: Define byteorder for powerpc machines In-Reply-To: <150006886722.7705.14424127970521923710@git.openembedded.org> References: <150006886722.7705.14424127970521923710@git.openembedded.org> Message-ID: <20170714214748.08FD6233481@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 8c89764648787e6df51a89d708492b137ec40cd5 Author: Khem Raj AuthorDate: Sat Jul 1 13:15:15 2017 -0700 librcf: Define byteorder for powerpc machines Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../librcf/0001-Check-for-__powerpc__-define.patch | 28 ++++++++++++++++++++++ meta-oe/recipes-devtools/librcf/librcf_2.2.0.0.bb | 3 ++- 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/meta-oe/recipes-devtools/librcf/librcf/0001-Check-for-__powerpc__-define.patch b/meta-oe/recipes-devtools/librcf/librcf/0001-Check-for-__powerpc__-define.patch new file mode 100644 index 0000000..d91accf --- /dev/null +++ b/meta-oe/recipes-devtools/librcf/librcf/0001-Check-for-__powerpc__-define.patch @@ -0,0 +1,28 @@ +From ac7316679e30f7013604b19aa0949a0744e91d2f Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 1 Jul 2017 13:06:30 -0700 +Subject: [PATCH] Check for __powerpc__ define + +Also check for gcc's internal define for ppc platform + +Signed-off-by: Khem Raj +--- + src/RCF/ByteOrdering.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/RCF/ByteOrdering.cpp b/src/RCF/ByteOrdering.cpp +index 278ca80..9f9c446 100755 +--- a/src/RCF/ByteOrdering.cpp ++++ b/src/RCF/ByteOrdering.cpp +@@ -36,7 +36,7 @@ namespace RCF { + + const ByteOrder MachineByteOrder = BigEndian; + +-#elif defined( __ppc__ ) ++#elif defined( __ppc__ ) || defined( __powerpc__ ) + + const ByteOrder MachineByteOrder = BigEndian; + +-- +2.13.2 + diff --git a/meta-oe/recipes-devtools/librcf/librcf_2.2.0.0.bb b/meta-oe/recipes-devtools/librcf/librcf_2.2.0.0.bb index 1287eb0..dee7427 100644 --- a/meta-oe/recipes-devtools/librcf/librcf_2.2.0.0.bb +++ b/meta-oe/recipes-devtools/librcf/librcf_2.2.0.0.bb @@ -15,7 +15,8 @@ SRC_URI = "http://www.deltavsoft.com/downloads/RCF-${PV}.tar.gz \ file://aarch64-support.patch \ file://0001-ClientStub.hpp-fix-a-clang-compiling-issue.patch \ file://mips-support.patch \ - " + file://0001-Check-for-__powerpc__-define.patch \ + " SRC_URI[md5sum] = "7ecb3c73f7eb66dba8790b659374f690" SRC_URI[sha256sum] = "bbfcc88de502c39604878c395f516b03fff4eac63eb4f7f44c07d433839712dd" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:48:02 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:48:02 +0000 Subject: [oe-commits] [meta-openembedded] 15/60: uim: Add support for aarch64 In-Reply-To: <150006886722.7705.14424127970521923710@git.openembedded.org> References: <150006886722.7705.14424127970521923710@git.openembedded.org> Message-ID: <20170714214747.D7FD123346C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 36aa6edabf82a2db25c35acf4b3e1130714a4045 Author: Khem Raj AuthorDate: Fri Jun 30 05:59:56 2017 -0700 uim: Add support for aarch64 Backport patch from https://github.com/uim/libgcroots/pull/1 Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../uim/uim/0001-Add-support-for-aarch64.patch | 82 ++++++++++++++++++++++ meta-oe/recipes-support/uim/uim_1.8.6.bb | 1 + 2 files changed, 83 insertions(+) diff --git a/meta-oe/recipes-support/uim/uim/0001-Add-support-for-aarch64.patch b/meta-oe/recipes-support/uim/uim/0001-Add-support-for-aarch64.patch new file mode 100644 index 0000000..4b12494 --- /dev/null +++ b/meta-oe/recipes-support/uim/uim/0001-Add-support-for-aarch64.patch @@ -0,0 +1,82 @@ +From 24fd52cc45f7b5ff45afe072f5fbe66485df8c8e Mon Sep 17 00:00:00 2001 +From: Andreas Schwab +Date: Wed, 29 Oct 2014 14:18:28 +0100 +Subject: [PATCH] Add support for aarch64 + +* include/private/gcconfig.h: Add support for aarch64. +--- + sigscheme/libgcroots/include/private/gcconfig.h | 37 +++++++++++++++++++++++++ + 1 file changed, 37 insertions(+) + +diff --git a/sigscheme/libgcroots/include/private/gcconfig.h b/sigscheme/libgcroots/include/private/gcconfig.h +index 4d42b03..0f13db6 100644 +--- a/sigscheme/libgcroots/include/private/gcconfig.h ++++ b/sigscheme/libgcroots/include/private/gcconfig.h +@@ -62,6 +62,13 @@ + # endif + + /* Determine the machine type: */ ++# if defined(__aarch64__) ++# define AARCH64 ++# if !defined(LINUX) ++# define NOSYS ++# define mach_type_known ++# endif ++# endif + # if defined(__arm__) || defined(__thumb__) + # define ARM32 + # if !defined(LINUX) && !defined(NETBSD) +@@ -231,6 +238,10 @@ + # define IA64 + # define mach_type_known + # endif ++# if defined(LINUX) && defined(__aarch64__) ++# define AARCH64 ++# define mach_type_known ++# endif + # if defined(LINUX) && defined(__arm__) + # define ARM32 + # define mach_type_known +@@ -504,6 +515,7 @@ + /* running Amdahl UTS4 */ + /* S390 ==> 390-like machine */ + /* running LINUX */ ++ /* AARCH64 ==> ARM AArch64 */ + /* ARM32 ==> Intel StrongARM */ + /* IA64 ==> Intel IPF */ + /* (e.g. Itanium) */ +@@ -1724,6 +1736,31 @@ + # endif + # endif + ++# ifdef AARCH64 ++# define CPP_WORDSZ 64 ++# define MACH_TYPE "AARCH64" ++# define ALIGNMENT 8 ++# ifndef HBLKSIZE ++# define HBLKSIZE 4096 ++# endif ++# ifdef LINUX ++# define OS_TYPE "LINUX" ++# define LINUX_STACKBOTTOM ++# define DYNAMIC_LOADING ++ extern int __data_start[]; ++# define DATASTART ((ptr_t)__data_start) ++ extern char _end[]; ++# define DATAEND ((ptr_t)(&_end)) ++# endif ++# ifdef NOSYS ++ /* __data_start is usually defined in the target linker script. */ ++ extern int __data_start[]; ++# define DATASTART ((ptr_t)__data_start) ++ extern void *__stack_base__; ++# define STACKBOTTOM ((ptr_t)__stack_base__) ++# endif ++# endif ++ + # ifdef ARM32 + # define CPP_WORDSZ 32 + # define MACH_TYPE "ARM32" +-- +2.13.2 + diff --git a/meta-oe/recipes-support/uim/uim_1.8.6.bb b/meta-oe/recipes-support/uim/uim_1.8.6.bb index 76a4125..ed846b9 100644 --- a/meta-oe/recipes-support/uim/uim_1.8.6.bb +++ b/meta-oe/recipes-support/uim/uim_1.8.6.bb @@ -8,6 +8,7 @@ SRC_URI = "http://uim.googlecode.com/files/uim-${PV}.tar.bz2" SRC_URI_append_class-target = " file://uim-module-manager.patch \ file://0001-fix-bug-for-cross-compile.patch \ + file://0001-Add-support-for-aarch64.patch \ " SRC_URI[md5sum] = "ecea4c597bab1fd4ba98ea84edcece59" SRC_URI[sha256sum] = "7b1ea803c73f3478917166f04f67cce6e45ad7ea5ab6df99b948c17eb1cb235f" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:48:06 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:48:06 +0000 Subject: [oe-commits] [meta-openembedded] 19/60: libtorrent: Link in 64bit atomics for ppc In-Reply-To: <150006886722.7705.14424127970521923710@git.openembedded.org> References: <150006886722.7705.14424127970521923710@git.openembedded.org> Message-ID: <20170714214748.027EB233473@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit a899acc81caa68824374f8b4948377e7b82fca2f Author: Khem Raj AuthorDate: Sat Jul 1 13:15:14 2017 -0700 libtorrent: Link in 64bit atomics for ppc Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...efine-64bit-atomic-helpers-for-ppc-32-bit.patch | 30 ++++++++++++++++++++++ .../libtorrent/libtorrent_git.bb | 1 + 2 files changed, 31 insertions(+) diff --git a/meta-oe/recipes-connectivity/libtorrent/libtorrent/0001-Define-64bit-atomic-helpers-for-ppc-32-bit.patch b/meta-oe/recipes-connectivity/libtorrent/libtorrent/0001-Define-64bit-atomic-helpers-for-ppc-32-bit.patch new file mode 100644 index 0000000..4d09797 --- /dev/null +++ b/meta-oe/recipes-connectivity/libtorrent/libtorrent/0001-Define-64bit-atomic-helpers-for-ppc-32-bit.patch @@ -0,0 +1,30 @@ +From c9859a38a58996b8767a30e14febc03845f66f95 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 1 Jul 2017 13:10:53 -0700 +Subject: [PATCH] Define 64bit atomic helpers for ppc 32-bit + +Signed-off-by: Khem Raj +--- + src/atomic64.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/atomic64.c b/src/atomic64.c +index f841b39b..35c7c9d8 100644 +--- a/src/atomic64.c ++++ b/src/atomic64.c +@@ -18,10 +18,10 @@ + #include + + /* +- * only need these on MIPS, since it lacks hardware 64-bit atomics, ++ * only need these on MIPS & PPC32, since it lacks hardware 64-bit atomics, + * unlike x86 and ARM. + */ +-#if defined(__mips__) || defined(__mipsel__) ++#if defined(__mips__) || defined(__mipsel__) || defined(__powerpc__) + + static void __spin_lock(volatile int *lock) { + while (__sync_lock_test_and_set(lock, 1)) +-- +2.13.2 + diff --git a/meta-oe/recipes-connectivity/libtorrent/libtorrent_git.bb b/meta-oe/recipes-connectivity/libtorrent/libtorrent_git.bb index 0febebd..92e6528 100644 --- a/meta-oe/recipes-connectivity/libtorrent/libtorrent_git.bb +++ b/meta-oe/recipes-connectivity/libtorrent/libtorrent_git.bb @@ -9,6 +9,7 @@ DEPENDS = "zlib libsigc++-2.0 openssl cppunit" SRC_URI = "git://github.com/rakshasa/libtorrent \ file://don-t-run-code-while-configuring-package.patch \ file://0001-implement-64bit-atomic-for-mips.patch \ + file://0001-Define-64bit-atomic-helpers-for-ppc-32-bit.patch \ " SRCREV = "c167c5a9e0bcf0df23ae5efd91396aae0e37eb87" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:48:11 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:48:11 +0000 Subject: [oe-commits] [meta-openembedded] 24/60: ser2net: upgrade to version 3.4 In-Reply-To: <150006886722.7705.14424127970521923710@git.openembedded.org> References: <150006886722.7705.14424127970521923710@git.openembedded.org> Message-ID: <20170714214748.20CCA2334A0@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 5688c8e24cf106f8248ea44e98ba15931844ed9b Author: Maxin John AuthorDate: Mon Jul 3 14:29:27 2017 +0300 ser2net: upgrade to version 3.4 2.9.1 -> 3.4 Signed-off-by: Maxin B. John Signed-off-by: Martin Jansa --- .../recipes-connectivity/ser2net/{ser2net_2.9.1.bb => ser2net_3.4.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-oe/recipes-connectivity/ser2net/ser2net_2.9.1.bb b/meta-oe/recipes-connectivity/ser2net/ser2net_3.4.bb similarity index 71% rename from meta-oe/recipes-connectivity/ser2net/ser2net_2.9.1.bb rename to meta-oe/recipes-connectivity/ser2net/ser2net_3.4.bb index 288c586..708650f 100644 --- a/meta-oe/recipes-connectivity/ser2net/ser2net_2.9.1.bb +++ b/meta-oe/recipes-connectivity/ser2net/ser2net_3.4.bb @@ -7,8 +7,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=bae3019b4c6dc4138c217864bd04331f" SRC_URI = "${SOURCEFORGE_MIRROR}/project/ser2net/ser2net/ser2net-${PV}.tar.gz" -SRC_URI[md5sum] = "80011ac0e60bbdcb65f1d7a86251e3f3" -SRC_URI[sha256sum] = "fdee1e69903cf409bdc6f32403a566cbc6006aa9e2a4d6f8f12b90dfd5ca0d0e" +SRC_URI[md5sum] = "562274d783534276a9feac913b7d8c4e" +SRC_URI[sha256sum] = "d846066e27c3072565990745d030357aa0c278f96b7d1d4f59023347c1db8824" inherit autotools pkgconfig -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:48:13 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:48:13 +0000 Subject: [oe-commits] [meta-openembedded] 26/60: python-pytest: update to version 3.1.3 In-Reply-To: <150006886722.7705.14424127970521923710@git.openembedded.org> References: <150006886722.7705.14424127970521923710@git.openembedded.org> Message-ID: <20170714214748.353DE2334A6@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 941ad264a6f9e6b21860c3834ce235b791912972 Author: Derek Straka AuthorDate: Wed Jul 5 10:00:21 2017 -0400 python-pytest: update to version 3.1.3 Updated license for copyright changes and verified terms Signed-off-by: Derek Straka Signed-off-by: Martin Jansa --- meta-python/recipes-devtools/python/python-pytest.inc | 6 +++--- .../python/{python-pytest_3.1.2.bb => python-pytest_3.1.3.bb} | 0 .../python/{python3-pytest_3.1.2.bb => python3-pytest_3.1.3.bb} | 0 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/meta-python/recipes-devtools/python/python-pytest.inc b/meta-python/recipes-devtools/python/python-pytest.inc index 2826838..2279596 100644 --- a/meta-python/recipes-devtools/python/python-pytest.inc +++ b/meta-python/recipes-devtools/python/python-pytest.inc @@ -1,9 +1,9 @@ SUMMARY = "Simple powerful teting with python" LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=d8a5609608d9a5a180705b0fa298ae01" +LIC_FILES_CHKSUM = "file://LICENSE;md5=c39b24965f4aef64222cb35de9d47cc4" -SRC_URI[md5sum] = "c4d179f89043cc925e1c169d03128e02" -SRC_URI[sha256sum] = "795ec29fbba70b22a593691ce8bcd4bdde2dc96e8099731f73c7d8bb3ce879bf" +SRC_URI[md5sum] = "35356e6e31cbd8318e8b2a8340a90b72" +SRC_URI[sha256sum] = "095e1832f7e424563c95daf4d8d3c865052b80e139cdd2f9610a986ee8526206" RDEPENDS_${PN}_class-target += " \ ${PYTHON_PN}-argparse \ diff --git a/meta-python/recipes-devtools/python/python-pytest_3.1.2.bb b/meta-python/recipes-devtools/python/python-pytest_3.1.3.bb similarity index 100% rename from meta-python/recipes-devtools/python/python-pytest_3.1.2.bb rename to meta-python/recipes-devtools/python/python-pytest_3.1.3.bb diff --git a/meta-python/recipes-devtools/python/python3-pytest_3.1.2.bb b/meta-python/recipes-devtools/python/python3-pytest_3.1.3.bb similarity index 100% rename from meta-python/recipes-devtools/python/python3-pytest_3.1.2.bb rename to meta-python/recipes-devtools/python/python3-pytest_3.1.3.bb -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:48:20 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:48:20 +0000 Subject: [oe-commits] [meta-openembedded] 33/60: kodi: Fix build on powerpc In-Reply-To: <150006886722.7705.14424127970521923710@git.openembedded.org> References: <150006886722.7705.14424127970521923710@git.openembedded.org> Message-ID: <20170714214748.66D3A2334CA@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit c15782ebe5bf342d3328572c28d00788df9ea095 Author: Khem Raj AuthorDate: Sat Jul 8 06:17:42 2017 -0700 kodi: Fix build on powerpc 64bit atomics are not available therefore link in libatomic Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb b/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb index 3bc2eb5..0b39116 100644 --- a/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb +++ b/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb @@ -133,6 +133,7 @@ BUILD_OPTIMIZATION = "${FULL_OPTIMIZATION}" LDFLAGS_append_mips = " -latomic" LDFLAGS_append_mipsel = " -latomic" +LDFLAGS_append_powerpc = " -latomic" EXTRA_OECONF_append = " LIBTOOL=${STAGING_BINDIR_CROSS}/${HOST_SYS}-libtool" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:48:08 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:48:08 +0000 Subject: [oe-commits] [meta-openembedded] 21/60: gperftools: Fix build on ppc In-Reply-To: <150006886722.7705.14424127970521923710@git.openembedded.org> References: <150006886722.7705.14424127970521923710@git.openembedded.org> Message-ID: <20170714214748.0EFF1233487@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 23a1d7accaf7c71559944a83cdb8622eb2be6d05 Author: Khem Raj AuthorDate: Sat Jul 1 13:30:32 2017 -0700 gperftools: Fix build on ppc Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...Use-ucontext_t-instead-of-struct-ucontext.patch | 36 ++++++++++++++++++++++ .../recipes-support/gperftools/gperftools_2.5.bb | 3 +- 2 files changed, 38 insertions(+), 1 deletion(-) diff --git a/meta-oe/recipes-support/gperftools/gperftools/0001-Use-ucontext_t-instead-of-struct-ucontext.patch b/meta-oe/recipes-support/gperftools/gperftools/0001-Use-ucontext_t-instead-of-struct-ucontext.patch new file mode 100644 index 0000000..5bd0b6f --- /dev/null +++ b/meta-oe/recipes-support/gperftools/gperftools/0001-Use-ucontext_t-instead-of-struct-ucontext.patch @@ -0,0 +1,36 @@ +From 12ac0dc6742e1bcdfaf1842186c9002f0820a5e8 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 1 Jul 2017 13:21:21 -0700 +Subject: [PATCH] Use ucontext_t instead of struct ucontext + +Newer glibc has dropped the ucontext tag from exposing + +Signed-off-by: Khem Raj +--- + src/stacktrace_powerpc-linux-inl.h | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/src/stacktrace_powerpc-linux-inl.h b/src/stacktrace_powerpc-linux-inl.h +index a9bf775..47ff2d7 100644 +--- a/src/stacktrace_powerpc-linux-inl.h ++++ b/src/stacktrace_powerpc-linux-inl.h +@@ -53,7 +53,6 @@ + #elif defined(HAVE_UCONTEXT_H) + #include // for ucontext_t + #endif +-typedef ucontext ucontext_t; + + // PowerPC64 Little Endian follows BE wrt. backchain, condition register, + // and LR save area, so no need to adjust the reading struct. +@@ -202,7 +201,7 @@ static int GET_STACK_TRACE_OR_FRAMES { + struct rt_signal_frame_32 { + char dummy[64 + 16]; + siginfo_t info; +- struct ucontext uc; ++ ucontext_t uc; + // We don't care about the rest, since IP value is at 'uc' field.A + } *sigframe = reinterpret_cast(current); + result[n] = (void*) sigframe->uc.uc_mcontext.uc_regs->gregs[PT_NIP]; +-- +2.13.2 + diff --git a/meta-oe/recipes-support/gperftools/gperftools_2.5.bb b/meta-oe/recipes-support/gperftools/gperftools_2.5.bb index 15cfc97..43780a5 100644 --- a/meta-oe/recipes-support/gperftools/gperftools_2.5.bb +++ b/meta-oe/recipes-support/gperftools/gperftools_2.5.bb @@ -7,7 +7,8 @@ DEPENDS = "libunwind" SRC_URI = "http://pkgs.fedoraproject.org/repo/pkgs/gperftools/gperftools-2.5.tar.gz/aa1eaf95dbe2c9828d0bd3a00f770f50/gperftools-2.5.tar.gz \ file://0001-Support-Atomic-ops-on-clang.patch \ file://0001-Fix-build-failure-for-ppc.patch \ - " + file://0001-Use-ucontext_t-instead-of-struct-ucontext.patch \ + " SRC_URI[md5sum] = "aa1eaf95dbe2c9828d0bd3a00f770f50" SRC_URI[sha256sum] = "6fa2748f1acdf44d750253e160cf6e2e72571329b42e563b455bde09e9e85173" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:48:22 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:48:22 +0000 Subject: [oe-commits] [meta-openembedded] 35/60: meta-python: Add pybluez recipe In-Reply-To: <150006886722.7705.14424127970521923710@git.openembedded.org> References: <150006886722.7705.14424127970521923710@git.openembedded.org> Message-ID: <20170714214748.793A6233456@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 5623b70c79ace30556ca59052a80a04030c9e66f Author: Krzysztof Kozlowski AuthorDate: Sun Jul 9 17:47:23 2017 +0200 meta-python: Add pybluez recipe Add recipe for PyBluez, Python wrapper over bluez. Signed-off-by: Krzysztof Kozlowski Signed-off-by: Martin Jansa --- .../recipes-devtools/python/python-pybluez_0.22.bb | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/meta-python/recipes-devtools/python/python-pybluez_0.22.bb b/meta-python/recipes-devtools/python/python-pybluez_0.22.bb new file mode 100644 index 0000000..eab9c54 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-pybluez_0.22.bb @@ -0,0 +1,17 @@ +DESCRIPTION = "Bluetooth Python extension module" +HOMEPAGE = "http://karulis.github.io/pybluez/" +SECTION = "devel/python" + +RDEPENDS_${PN} = "bluez5" +DEPENDS = "bluez5" + +LICENSE = "GPL-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=8a71d0475d08eee76d8b6d0c6dbec543" + +inherit pypi setuptools + +SRC_URI = "https://pypi.python.org/packages/c1/98/3149481d508bee174335be6725880f00d297afebe75c15e917af8f6fe169/PyBluez-0.22.zip" +SRC_URI[md5sum] = "49dab9d5a8f0b798c8125c7f649be3cd" +SRC_URI[sha256sum] = "4ce006716a54d9d18e8186a3f1c8b12a8e6befecffe8fd5828a291fb694ce49d" + +S = "${WORKDIR}/PyBluez-${PV}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:48:03 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:48:03 +0000 Subject: [oe-commits] [meta-openembedded] 16/60: meson: Port pkgconfig-native patch to 0.40.1 In-Reply-To: <150006886722.7705.14424127970521923710@git.openembedded.org> References: <150006886722.7705.14424127970521923710@git.openembedded.org> Message-ID: <20170714214747.DEBE823346E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit cde6146e49cd43b305831d9cf9ec9a4615b38be6 Author: Ricardo Ribalda Delgado AuthorDate: Sat Jul 1 10:47:31 2017 +0200 meson: Port pkgconfig-native patch to 0.40.1 The update to 0.40.1 did not add this patch required for qt builds. Fixes: 163abe723deb ("meson: update Meson devtool to 0.40.1") Signed-off-by: Ricardo Ribalda Delgado Signed-off-by: Martin Jansa --- .../meson/meson/native_bindir.patch | 71 ++++++++++++++++++++++ meta-oe/recipes-devtools/meson/meson_0.40.1.bb | 1 + 2 files changed, 72 insertions(+) diff --git a/meta-oe/recipes-devtools/meson/meson/native_bindir.patch b/meta-oe/recipes-devtools/meson/meson/native_bindir.patch new file mode 100644 index 0000000..993e975 --- /dev/null +++ b/meta-oe/recipes-devtools/meson/meson/native_bindir.patch @@ -0,0 +1,71 @@ +There are some discussions upstream to merge this patch, but I presonaly believe +that is is OE only. https://github.com/mesonbuild/meson/issues/1849#issuecomment-303730323 + +Upstream-Status: Inappropriate [OE specific] +Signed-off-by: Ricardo Ribalda Delgado +diff --git a/mesonbuild/dependencies.py b/mesonbuild/dependencies.py +index 04a22f985941..3e33bc4a79e7 100644 +--- a/mesonbuild/dependencies.py ++++ b/mesonbuild/dependencies.py +@@ -95,7 +95,7 @@ class Dependency: + def need_threads(self): + return False + +- def get_pkgconfig_variable(self, variable_name): ++ def get_pkgconfig_variable(self, variable_name, use_native=False): + raise MesonException('Tried to get a pkg-config variable from a non-pkgconfig dependency.') + + class InternalDependency(Dependency): +@@ -224,8 +224,12 @@ class PkgConfigDependency(Dependency): + return s.format(self.__class__.__name__, self.name, self.is_found, + self.version_reqs) + +- def _call_pkgbin(self, args): +- p, out = Popen_safe([self.pkgbin] + args, env=os.environ)[0:2] ++ def _call_pkgbin(self, args, use_native=False): ++ if use_native: ++ pkgbin = [self.pkgbin + "-native"] ++ else: ++ pkgbin = [self.pkgbin] ++ p, out = Popen_safe(pkgbin + args, env=os.environ)[0:2] + return p.returncode, out.strip() + + def _set_cargs(self): +@@ -259,8 +263,8 @@ class PkgConfigDependency(Dependency): + self.is_libtool = True + self.libs.append(lib) + +- def get_pkgconfig_variable(self, variable_name): +- ret, out = self._call_pkgbin(['--variable=' + variable_name, self.name]) ++ def get_pkgconfig_variable(self, variable_name, use_native=False): ++ ret, out = self._call_pkgbin(['--variable=' + variable_name, self.name], use_native=use_native) + variable = '' + if ret != 0: + if self.required: +@@ -1091,7 +1095,7 @@ class QtBaseDependency(Dependency): + self.bindir = self.get_pkgconfig_host_bins(core) + if not self.bindir: + # If exec_prefix is not defined, the pkg-config file is broken +- prefix = core.get_pkgconfig_variable('exec_prefix') ++ prefix = core.get_pkgconfig_variable('exec_prefix', use_native=True) + if prefix: + self.bindir = os.path.join(prefix, 'bin') + +@@ -1202,7 +1206,7 @@ class Qt5Dependency(QtBaseDependency): + QtBaseDependency.__init__(self, 'qt5', env, kwargs) + + def get_pkgconfig_host_bins(self, core): +- return core.get_pkgconfig_variable('host_bins') ++ return core.get_pkgconfig_variable('host_bins', use_native=True) + + class Qt4Dependency(QtBaseDependency): + def __init__(self, env, kwargs): +@@ -1216,7 +1220,7 @@ class Qt4Dependency(QtBaseDependency): + applications = ['moc', 'uic', 'rcc', 'lupdate', 'lrelease'] + for application in applications: + try: +- return os.path.dirname(core.get_pkgconfig_variable('%s_location' % application)) ++ return os.path.dirname(core.get_pkgconfig_variable('%s_location' % application, use_native=True)) + except MesonException: + pass + diff --git a/meta-oe/recipes-devtools/meson/meson_0.40.1.bb b/meta-oe/recipes-devtools/meson/meson_0.40.1.bb index ab54b8c..14644ba 100644 --- a/meta-oe/recipes-devtools/meson/meson_0.40.1.bb +++ b/meta-oe/recipes-devtools/meson/meson_0.40.1.bb @@ -6,6 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=3b83ef96387f14655fc854ddc3c6bd57" SRC_URI = " \ git://github.com/mesonbuild/meson.git \ + file://native_bindir.patch \ " SRCREV = "b25d3e4d3f2b4d37029a507cc089bdde643c6240" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:48:09 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:48:09 +0000 Subject: [oe-commits] [meta-openembedded] 22/60: crossguid: Add recipe In-Reply-To: <150006886722.7705.14424127970521923710@git.openembedded.org> References: <150006886722.7705.14424127970521923710@git.openembedded.org> Message-ID: <20170714214748.14DAA23348B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 5e9f83d11aede7113782f41400299582c7750bea Author: Khem Raj AuthorDate: Sat Jul 1 14:33:09 2017 -0700 crossguid: Add recipe Needed by kodi Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../recipes-support/crossguid/crossguid.bb | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/meta-multimedia/recipes-support/crossguid/crossguid.bb b/meta-multimedia/recipes-support/crossguid/crossguid.bb new file mode 100644 index 0000000..228b8b6 --- /dev/null +++ b/meta-multimedia/recipes-support/crossguid/crossguid.bb @@ -0,0 +1,25 @@ +# Copyright (C) 2017 Khem Raj +# Released under the MIT license (see COPYING.MIT for the terms) + +DESCRIPTION = "Lightweight cross platform C++ GUID/UUID library" +HOMEPAGE = "https://github.com/graeme-hill/crossguid" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=1373274bc8d8001edc54933919f36f68" +DEPENDS += "util-linux" + +PV = "0.0+git${SRCPV}" + +SRCREV = "b56957ac453575e91ca1b63a80c0077c2b0d011a" +SRC_URI = "git://github.com/graeme-hill/crossguid;protocol=https" + +S = "${WORKDIR}/git" + +do_compile() { + ${CXX} -c guid.cpp -o guid.o ${CXXFLAGS} -std=c++11 -DGUID_LIBUUID + ${AR} rvs libcrossguid.a guid.o +} + +do_install() { + install -D -m 0644 ${B}/libcrossguid.a ${D}${libdir}/libcrossguid.a + install -D -m 0644 ${S}/guid.h ${D}${includedir}/guid.h +} -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:48:10 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:48:10 +0000 Subject: [oe-commits] [meta-openembedded] 23/60: kodi: User external crossguid In-Reply-To: <150006886722.7705.14424127970521923710@git.openembedded.org> References: <150006886722.7705.14424127970521923710@git.openembedded.org> Message-ID: <20170714214748.1AA5223349E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit aad655a8e43d90f9debb51858283f375bb32b978 Author: Khem Raj AuthorDate: Sat Jul 1 14:33:10 2017 -0700 kodi: User external crossguid Prune our .pc directory when looking for configure.ac files Tighten the search regexp to look for just .ac or .in configure files Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb b/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb index 19806a1..3bc2eb5 100644 --- a/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb +++ b/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb @@ -18,6 +18,7 @@ DEPENDS = " \ avahi \ boost \ bzip2 \ + crossguid \ curl \ dcadec \ enca \ @@ -150,13 +151,12 @@ def enable_glew(bb, d): do_configure() { tar xf ${WORKDIR}/${BPN}-${ADDONSPV}-generated-addons.tar.xz -C ${S}/ - ( for i in $(find ${S} -name "configure.*" ) ; do + ( for i in $(find ${S} -name configure.ac -or -name configure.in|grep -v ".pc") ; do cd $(dirname $i) && gnu-configize --force || true done ) ( for f in ${S}/xbmc/interfaces/python/generated/*.cpp; do touch `echo $f|sed -e 's/.cpp$/.xml/g'` done ) - make -C tools/depends/target/crossguid PREFIX=${STAGING_DIR_HOST}${prefix} BOOTSTRAP_STANDALONE=1 make -f bootstrap.mk JSON_BUILDER="${STAGING_BINDIR_NATIVE}/JsonSchemaBuilder" BOOTSTRAP_STANDALONE=1 make JAVA=/bin/true -f codegenerator.mk JSON_BUILDER="${STAGING_BINDIR_NATIVE}/JsonSchemaBuilder" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:48:21 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:48:21 +0000 Subject: [oe-commits] [meta-openembedded] 34/60: meta-python: Add Protobuf and gRPC Python recipes In-Reply-To: <150006886722.7705.14424127970521923710@git.openembedded.org> References: <150006886722.7705.14424127970521923710@git.openembedded.org> Message-ID: <20170714214748.6FEB9233454@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit d0513b1d6137168a69f93c0eb84fbe77ccfd0145 Author: Krzysztof Kozlowski AuthorDate: Sun Jul 9 17:47:21 2017 +0200 meta-python: Add Protobuf and gRPC Python recipes Add recipes for Python PIP packages for Google's Protobuf, gRPC and gRPC tools. Signed-off-by: Krzysztof Kozlowski Signed-off-by: Martin Jansa --- .../python/python-grpcio-tools_1.4.0.bb | 17 ++++++++++++++++ .../recipes-devtools/python/python-grpcio_1.4.0.bb | 23 ++++++++++++++++++++++ .../python/python-protobuf_3.3.0.bb | 16 +++++++++++++++ 3 files changed, 56 insertions(+) diff --git a/meta-python/recipes-devtools/python/python-grpcio-tools_1.4.0.bb b/meta-python/recipes-devtools/python/python-grpcio-tools_1.4.0.bb new file mode 100644 index 0000000..f9cfd99 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-grpcio-tools_1.4.0.bb @@ -0,0 +1,17 @@ +DESCRIPTION = "Google gRPC tools" +HOMEPAGE = "http://www.grpc.io/" +SECTION = "devel/python" + +DEPENDS = "python-grpcio" +RDEPENDS_${PN} = "python-grpcio" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9" + +inherit pypi setuptools + +SRC_URI[md5sum] = "b0d585872c69f207a05c55566e8afb38" +SRC_URI[sha256sum] = "bddc98f063755a5df9d285666db49c49201f93d416c45d4f4924cf752b68c99c" + +# For usage in other recipies when compiling protobuf files (e.g. by grpcio-tools) +BBCLASSEXTEND = "native" diff --git a/meta-python/recipes-devtools/python/python-grpcio_1.4.0.bb b/meta-python/recipes-devtools/python/python-grpcio_1.4.0.bb new file mode 100644 index 0000000..5412e02 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-grpcio_1.4.0.bb @@ -0,0 +1,23 @@ +DESCRIPTION = "Google gRPC" +HOMEPAGE = "http://www.grpc.io/" +SECTION = "devel/python" + +DEPENDS = "python-protobuf" + +RDEPENDS_${PN} = "python-enum34 \ + python-futures \ + python-protobuf \ + python-setuptools \ + python-six \ +" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9" + +inherit pypi setuptools + +SRC_URI[md5sum] = "d882ae4eeef4f32ac9c1d32052bf05ad" +SRC_URI[sha256sum] = "a3a213a4c24b5c572b386d752e3b74a3f1b8fa5d03c07b6166fa39f3a6cdef34" + +# For usage in other recipies when compiling protobuf files (e.g. by grpcio-tools) +BBCLASSEXTEND = "native" diff --git a/meta-python/recipes-devtools/python/python-protobuf_3.3.0.bb b/meta-python/recipes-devtools/python/python-protobuf_3.3.0.bb new file mode 100644 index 0000000..61b8fef --- /dev/null +++ b/meta-python/recipes-devtools/python/python-protobuf_3.3.0.bb @@ -0,0 +1,16 @@ +DESCRIPTION = "Protocol Buffers" +HOMEPAGE = "https://developers.google.com/protocol-buffers/" +SECTION = "devel/python" + +RDEPENDS_${PN} = "python-six" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9" + +inherit pypi setuptools + +SRC_URI[md5sum] = "27941e8e42e83d5183605054576882dd" +SRC_URI[sha256sum] = "1cbcee2c45773f57cb6de7ee0eceb97f92b9b69c0178305509b162c0160c1f04" + +# For usage in other recipies when compiling protobuf files (e.g. by grpcio-tools) +BBCLASSEXTEND = "native" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:48:12 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:48:12 +0000 Subject: [oe-commits] [meta-openembedded] 25/60: multipath-tools: 0.6.4 -> 0.7.1 In-Reply-To: <150006886722.7705.14424127970521923710@git.openembedded.org> References: <150006886722.7705.14424127970521923710@git.openembedded.org> Message-ID: <20170714214748.2E1372334A2@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 1acfde8120eaa290df64f709e5a322bd6a44d19c Author: Hongxu Jia AuthorDate: Wed Jul 5 05:13:17 2017 -0400 multipath-tools: 0.6.4 -> 0.7.1 1. In fedora/redhat, it is renamed to device-mapper-multipath, use PROVIDE and RPROVIDE to support. 2. Split ${PN}-libs 3. Add multipath.conf.example 4. Backport patches from fedora: git://pkgs.fedoraproject.org/rpms/device-mapper-multipath - 0001 ~ 0011 5. Rebase local patches: - makefile_inc.patch -> 0012-multipath-tools-modify-Makefile.inc-for-cross-compil.patch - always-use-libdevmapper.patch -> 0013-Always-use-devmapper.patch - always-use-libdevmapper-kpartx.patch -> 0014-Always-use-devmapper-for-kpartx.patch 6. Drop obsolete patches: - 0001-multipathd.service-Error-fix.patch - shared-libs-avoid-linking-.so-as-executable.patch - checkers-disable-libcheckrbd.so.patch Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- ...ltipath-attempt-at-common-multipath.rules.patch | 107 ++++ .../files/0001-multipathd.service-Error-fix.patch | 36 -- .../0002-RH-fixup-udev-rules-for-redhat.patch | 110 ++++ ...-the-property-blacklist-exception-builtin.patch | 70 +++ ...0004-RH-don-t-start-without-a-config-file.patch | 108 ++++ .../files/0005-RH-add-mpathconf.patch | 648 +++++++++++++++++++++ ...ds-from-kernel-cmdline-mpath.wwids-with-A.patch | 166 ++++++ ...gger-change-uevent-on-new-device-creation.patch | 138 +++++ ...ipath-change-how-RADOS-checker-is-enabled.patch | 56 ++ ...th-set-verbosity-to-default-during-config.patch | 40 ++ ...kip-device-configs-without-vendor-product.patch | 37 ++ .../0011-multipathd-fix-show-maps-json-crash.patch | 38 ++ ...ools-modify-Makefile.inc-for-cross-compil.patch | 58 ++ .../files/0013-Always-use-devmapper.patch | 53 ++ ... => 0014-Always-use-devmapper-for-kpartx.patch} | 25 +- .../files/always-use-libdevmapper.patch | 57 -- .../files/checkers-disable-libcheckrbd.so.patch | 31 - .../multipath-tools/files/makefile_inc.patch | 59 -- .../multipath-tools/files/multipath.conf.example | 90 +++ ...ared-libs-avoid-linking-.so-as-executable.patch | 55 -- .../multipath-tools/multipath-tools_0.7.1.bb | 112 ++++ .../multipath-tools/multipath-tools_git.bb | 71 --- 22 files changed, 1844 insertions(+), 321 deletions(-) diff --git a/meta-oe/recipes-support/multipath-tools/files/0001-multipath-attempt-at-common-multipath.rules.patch b/meta-oe/recipes-support/multipath-tools/files/0001-multipath-attempt-at-common-multipath.rules.patch new file mode 100644 index 0000000..acb4269 --- /dev/null +++ b/meta-oe/recipes-support/multipath-tools/files/0001-multipath-attempt-at-common-multipath.rules.patch @@ -0,0 +1,107 @@ +From 5ab50e0cb888e553a2635bbbf81eea3cdeffee60 Mon Sep 17 00:00:00 2001 +From: Benjamin Marzinski +Date: Wed, 12 Apr 2017 09:07:51 -0500 +Subject: [PATCH 01/14] multipath: attempt at common multipath.rules + +This is a proposal to try and bring the Redhat and SuSE multipath.rules +closer. There are a couple of changes that I'd like some input on. + +The big change is moving the kpartx call into the multipath rules. Half +of the current kpartx.rules file is about creating symlinks for multiple +types of dm devices. The other half auto-creates kpartx devices on top +of multipath devices. Since it is only creating kpartx devices on top of +multipath devices, I've moved the these rules into multipath.rules, or +rather, I've replaced them with the redhat rules in multipath.rules. The +biggest difference is the kpartx isn't run on every reload. It works +with the 11-dm-mpath.rules code to not run kpartx on multipathd +generated reloads or when there aren't any working paths. It does +remember if it didn't get to run kpartx when it was supposed to (because +there were no valid paths or the device was suspended) and will make +sure to run it on the next possible uevent. + +The other change is the redhat multipath rules remove the partition +device nodes for devices claimed by multipath. The udev rule will only +do this one time (both to keep from running partx on every event, and so +that if users manually reread the partition table, we don't keep +removing them when clearly they are wanted). Redhat does this because we +had multiple customer issues where they were using the scsi partitions +instead of the kpartx devices. Obviously, with setting the partition +devices to not ready and clearing their fs_type, this isn't essential, +but it has helped make customers do the right thing. + +Signed-off-by: Benjamin Marzinski +--- + kpartx/kpartx.rules | 8 -------- + multipath/multipath.rules | 27 ++++++++++++++++++++++++--- + 2 files changed, 24 insertions(+), 11 deletions(-) + +diff --git a/kpartx/kpartx.rules b/kpartx/kpartx.rules +index a958791..906e320 100644 +--- a/kpartx/kpartx.rules ++++ b/kpartx/kpartx.rules +@@ -34,12 +34,4 @@ ENV{ID_FS_LABEL_ENC}=="?*", IMPORT{db}="ID_FS_LABEL_ENC" + ENV{ID_FS_USAGE}=="filesystem|other", ENV{ID_FS_LABEL_ENC}=="?*", \ + SYMLINK+="disk/by-label/$env{ID_FS_LABEL_ENC}" + +-# Create dm tables for partitions +-ENV{DM_ACTION}=="PATH_FAILED|PATH_REINSTATED", GOTO="kpartx_end" +-ENV{DM_NR_VALID_PATHS}=="0", GOTO="kpartx_end" +-ENV{ENV{DM_UDEV_PRIMARY_SOURCE_FLAG}!="1", IMPORT{db}="DM_SUBSYSTEM_UDEV_FLAG1" +-ENV{DM_SUBSYSTEM_UDEV_FLAG1}=="1", GOTO="kpartx_end" +-ENV{DM_STATE}!="SUSPENDED", ENV{DM_UUID}=="mpath-*", \ +- RUN+="/sbin/kpartx -un -p -part /dev/$name" +- + LABEL="kpartx_end" +diff --git a/multipath/multipath.rules b/multipath/multipath.rules +index 86defc0..616a04c 100644 +--- a/multipath/multipath.rules ++++ b/multipath/multipath.rules +@@ -1,13 +1,13 @@ + # Set DM_MULTIPATH_DEVICE_PATH if the device should be handled by multipath + SUBSYSTEM!="block", GOTO="end_mpath" + ACTION!="add|change", GOTO="end_mpath" +-KERNEL!="sd*|dasd*", GOTO="end_mpath" +- ++KERNEL!="sd*|dasd*|rbd*|dm-*", GOTO="end_mpath" + IMPORT{cmdline}="nompath" + ENV{nompath}=="?*", GOTO="end_mpath" + IMPORT{cmdline}="multipath" + ENV{multipath}=="off", GOTO="end_mpath" + ++KERNEL=="dm-*", GOTO="check_kpartx" + ENV{DEVTYPE}!="partition", GOTO="test_dev" + IMPORT{parent}="DM_MULTIPATH_DEVICE_PATH" + ENV{DM_MULTIPATH_DEVICE_PATH}=="1", ENV{ID_FS_TYPE}="none", \ +@@ -21,7 +21,28 @@ TEST!="$env{MPATH_SBIN_PATH}/multipath", ENV{MPATH_SBIN_PATH}="/usr/sbin" + + ENV{DM_MULTIPATH_DEVICE_PATH}!="1", \ + PROGRAM=="$env{MPATH_SBIN_PATH}/multipath -u %k", \ +- ENV{DM_MULTIPATH_DEVICE_PATH}="1", ENV{ID_FS_TYPE}="none", \ ++ ENV{DM_MULTIPATH_DEVICE_PATH}="1", ENV{ID_FS_TYPE}="mpath_member", \ + ENV{SYSTEMD_READY}="0" + ++ENV{DM_MULTIPATH_DEVICE_PATH}!="1", GOTO="end_mpath" ++ ++IMPORT{db}="DM_MULTIPATH_WIPE_PARTS" ++ENV{DM_MULTIPATH_WIPE_PARTS}!="1", ENV{DM_MULTIPATH_WIPE_PARTS}="1", \ ++ RUN+="/sbin/partx -d --nr 1-1024 $env{DEVNAME}" ++GOTO="end_mpath" ++ ++LABEL="check_kpartx" ++ ++IMPORT{db}="DM_MULTIPATH_NEED_KPARTX" ++ENV{DM_UDEV_PRIMARY_SOURCE_FLAG}!="1", IMPORT{db}="DM_SUBSYSTEM_UDEV_FLAG1" ++ENV{DM_SUBSYSTEM_UDEV_FLAG1}=="1", GOTO="end_mpath" ++ACTION!="change", GOTO="end_mpath" ++ENV{DM_UUID}!="mpath-?*", GOTO="end_mpath" ++ENV{DM_ACTIVATION}=="1", ENV{DM_MULTIPATH_NEED_KPARTX}="1" ++ENV{DM_SUSPENDED}=="1", GOTO="end_mpath" ++ENV{DM_ACTION}=="PATH_FAILED", GOTO="end_mpath" ++ENV{DM_ACTIVATION}!="1", ENV{DM_MULTIPATH_NEED_KPARTX}!="1", GOTO="end_mpath" ++RUN+="/sbin/kpartx -un -p -part /dev/$name" ++ENV{DM_MULTIPATH_NEED_KPARTX}="" ++ + LABEL="end_mpath" +-- +2.8.1 + diff --git a/meta-oe/recipes-support/multipath-tools/files/0001-multipathd.service-Error-fix.patch b/meta-oe/recipes-support/multipath-tools/files/0001-multipathd.service-Error-fix.patch deleted file mode 100644 index 60c3c0a..0000000 --- a/meta-oe/recipes-support/multipath-tools/files/0001-multipathd.service-Error-fix.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 630483b9738349c8b3e637a00879b96834a33cdb Mon Sep 17 00:00:00 2001 -From: Li xin -Date: Tue, 7 Jul 2015 11:34:36 +0900 -Subject: [PATCH] multipathd.service: Error fix - -Failed to start Device-Mapper Multipath Device Controller. - -Upstream-Status: pending - -Signed-off-by: Li Xin ---- - multipathd/multipathd.service | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/multipathd/multipathd.service b/multipathd/multipathd.service -index e3d6f91..a7e00b2 100644 ---- a/multipathd/multipathd.service -+++ b/multipathd/multipathd.service -@@ -8,11 +8,12 @@ Wants=local-fs-pre.target multipathd.socket blk-availability.service - Conflicts=shutdown.target - - [Service] --Type=notify -+Type=forking - NotifyAccess=main - LimitCORE=infinity -+PIDFile=/var/run/multipathd.pid - ExecStartPre=/sbin/modprobe -a scsi_dh_alua scsi_dh_emc scsi_dh_rdac dm-multipath --ExecStart=/sbin/multipathd -d -s -+ExecStart=/sbin/multipathd - ExecReload=/sbin/multipathd reconfigure - - [Install] --- -2.11.0 - diff --git a/meta-oe/recipes-support/multipath-tools/files/0002-RH-fixup-udev-rules-for-redhat.patch b/meta-oe/recipes-support/multipath-tools/files/0002-RH-fixup-udev-rules-for-redhat.patch new file mode 100644 index 0000000..e63d2eb --- /dev/null +++ b/meta-oe/recipes-support/multipath-tools/files/0002-RH-fixup-udev-rules-for-redhat.patch @@ -0,0 +1,110 @@ +From 158255383c02d3fb81c82fb9ec6fd36fb234f68e Mon Sep 17 00:00:00 2001 +From: Benjamin Marzinski +Date: Thu, 13 Apr 2017 07:22:23 -0500 +Subject: [PATCH 02/14] RH: fixup udev rules for redhat + +The multipath rules need to run after scsi_id is run. This means moving +them after 60-persistent-storage.rules for redhat. Also, we don't +currently set up all the symlinks that SuSE does. If we want them, they +should be done in the device-mapper package, since they are for all +device-mapper devices. Redhat also uses a different naming scheme for +partitions than SuSE. + +Signed-off-by: Benjamin Marzinski +--- + Makefile.inc | 2 +- + kpartx/Makefile | 14 +++++++------- + multipath/Makefile | 4 ++-- + multipath/multipath.rules | 3 ++- + 4 files changed, 12 insertions(+), 11 deletions(-) + +diff --git a/Makefile.inc b/Makefile.inc +index 1815f9a..2591fa9 100644 +--- a/Makefile.inc ++++ b/Makefile.inc +@@ -47,7 +47,7 @@ endif + + prefix = + exec_prefix = $(prefix) +-bindir = $(exec_prefix)/sbin ++bindir = $(exec_prefix)/usr/sbin + libudevdir = $(prefix)/$(SYSTEMDPATH)/udev + udevrulesdir = $(libudevdir)/rules.d + multipathdir = $(TOPDIR)/libmultipath +diff --git a/kpartx/Makefile b/kpartx/Makefile +index 7b75032..bfa6fe8 100644 +--- a/kpartx/Makefile ++++ b/kpartx/Makefile +@@ -26,19 +26,19 @@ $(EXEC): $(OBJS) + install: $(EXEC) $(EXEC).8 + $(INSTALL_PROGRAM) -d $(DESTDIR)$(bindir) + $(INSTALL_PROGRAM) -m 755 $(EXEC) $(DESTDIR)$(bindir) +- $(INSTALL_PROGRAM) -d $(DESTDIR)$(libudevdir) +- $(INSTALL_PROGRAM) -m 755 kpartx_id $(DESTDIR)$(libudevdir) +- $(INSTALL_PROGRAM) -d $(DESTDIR)$(libudevdir)/rules.d +- $(INSTALL_PROGRAM) -m 644 kpartx.rules $(DESTDIR)$(libudevdir)/rules.d/66-kpartx.rules ++# $(INSTALL_PROGRAM) -d $(DESTDIR)$(libudevdir) ++# $(INSTALL_PROGRAM) -m 755 kpartx_id $(DESTDIR)$(libudevdir) ++# $(INSTALL_PROGRAM) -d $(DESTDIR)$(libudevdir)/rules.d ++# $(INSTALL_PROGRAM) -m 644 kpartx.rules $(DESTDIR)$(libudevdir)/rules.d/66-kpartx.rules + $(INSTALL_PROGRAM) -d $(DESTDIR)$(man8dir) + $(INSTALL_PROGRAM) -m 644 $(EXEC).8.gz $(DESTDIR)$(man8dir) + + uninstall: + $(RM) $(DESTDIR)$(bindir)/$(EXEC) + $(RM) $(DESTDIR)$(man8dir)/$(EXEC).8.gz +- $(RM) $(DESTDIR)$(libudevdir)/kpartx_id +- $(RM) $(DESTDIR)$(libudevdir)/rules.d/66-kpartx.rules +- $(RM) $(DESTDIR)$(libudevdir)/rules.d/67-kpartx-compat.rules ++# $(RM) $(DESTDIR)$(libudevdir)/kpartx_id ++# $(RM) $(DESTDIR)$(libudevdir)/rules.d/66-kpartx.rules ++# $(RM) $(DESTDIR)$(libudevdir)/rules.d/67-kpartx-compat.rules + + clean: + $(RM) core *.o $(EXEC) *.gz +diff --git a/multipath/Makefile b/multipath/Makefile +index c85314e..1e9ee4b 100644 +--- a/multipath/Makefile ++++ b/multipath/Makefile +@@ -24,7 +24,7 @@ install: + $(INSTALL_PROGRAM) -m 755 $(EXEC) $(DESTDIR)$(bindir)/ + $(INSTALL_PROGRAM) -d $(DESTDIR)$(udevrulesdir) + $(INSTALL_PROGRAM) -m 644 11-dm-mpath.rules $(DESTDIR)$(udevrulesdir) +- $(INSTALL_PROGRAM) -m 644 $(EXEC).rules $(DESTDIR)$(libudevdir)/rules.d/56-multipath.rules ++ $(INSTALL_PROGRAM) -m 644 $(EXEC).rules $(DESTDIR)$(libudevdir)/rules.d/62-multipath.rules + $(INSTALL_PROGRAM) -d $(DESTDIR)$(man8dir) + $(INSTALL_PROGRAM) -m 644 $(EXEC).8.gz $(DESTDIR)$(man8dir) + $(INSTALL_PROGRAM) -d $(DESTDIR)$(man5dir) +@@ -33,7 +33,7 @@ install: + uninstall: + $(RM) $(DESTDIR)$(bindir)/$(EXEC) + $(RM) $(DESTDIR)$(udevrulesdir)/11-dm-mpath.rules +- $(RM) $(DESTDIR)$(libudevdir)/rules.d/56-multipath.rules ++ $(RM) $(DESTDIR)$(libudevdir)/rules.d/62-multipath.rules + $(RM) $(DESTDIR)$(man8dir)/$(EXEC).8.gz + $(RM) $(DESTDIR)$(man5dir)/$(EXEC).conf.5.gz + +diff --git a/multipath/multipath.rules b/multipath/multipath.rules +index 616a04c..4d78b98 100644 +--- a/multipath/multipath.rules ++++ b/multipath/multipath.rules +@@ -33,6 +33,7 @@ GOTO="end_mpath" + + LABEL="check_kpartx" + ++ENV{DM_UUID}=="mpath-?*|part[0-9]*-mpath-?*", OPTIONS+="link_priority=10" + IMPORT{db}="DM_MULTIPATH_NEED_KPARTX" + ENV{DM_UDEV_PRIMARY_SOURCE_FLAG}!="1", IMPORT{db}="DM_SUBSYSTEM_UDEV_FLAG1" + ENV{DM_SUBSYSTEM_UDEV_FLAG1}=="1", GOTO="end_mpath" +@@ -42,7 +43,7 @@ ENV{DM_ACTIVATION}=="1", ENV{DM_MULTIPATH_NEED_KPARTX}="1" + ENV{DM_SUSPENDED}=="1", GOTO="end_mpath" + ENV{DM_ACTION}=="PATH_FAILED", GOTO="end_mpath" + ENV{DM_ACTIVATION}!="1", ENV{DM_MULTIPATH_NEED_KPARTX}!="1", GOTO="end_mpath" +-RUN+="/sbin/kpartx -un -p -part /dev/$name" ++RUN+="/sbin/kpartx -un /dev/$name" + ENV{DM_MULTIPATH_NEED_KPARTX}="" + + LABEL="end_mpath" +-- +2.8.1 + diff --git a/meta-oe/recipes-support/multipath-tools/files/0003-RH-Remove-the-property-blacklist-exception-builtin.patch b/meta-oe/recipes-support/multipath-tools/files/0003-RH-Remove-the-property-blacklist-exception-builtin.patch new file mode 100644 index 0000000..684e959 --- /dev/null +++ b/meta-oe/recipes-support/multipath-tools/files/0003-RH-Remove-the-property-blacklist-exception-builtin.patch @@ -0,0 +1,70 @@ +From 69a67c2ed09ae51b53de402966a9f7a4cc737715 Mon Sep 17 00:00:00 2001 +From: Benjamin Marzinski +Date: Wed, 2 Jul 2014 12:49:53 -0500 +Subject: [PATCH 03/14] RH: Remove the property blacklist exception builtin + +Multipath set the default property blacklist exceptions to +(ID_SCSI_VPD|ID_WWN). This has the effect of blacklisting some internal +devices. These devices may never have multiple paths, but it is nice +to be able to set multipath up on them all the same. This patch simply +removes the default, and makes it so that if no property +blacklist_exception is given, then devices aren't failed for not matching +it. + +Signed-off-by: Benjamin Marzinski +--- + libmultipath/blacklist.c | 15 ++++++--------- + multipath/multipath.conf.5 | 4 ---- + 2 files changed, 6 insertions(+), 13 deletions(-) + +diff --git a/libmultipath/blacklist.c b/libmultipath/blacklist.c +index ee396e2..19d4697 100644 +--- a/libmultipath/blacklist.c ++++ b/libmultipath/blacklist.c +@@ -181,12 +181,6 @@ setup_default_blist (struct config * conf) + if (store_ble(conf->blist_devnode, str, ORIGIN_DEFAULT)) + return 1; + +- str = STRDUP("(SCSI_IDENT_|ID_WWN)"); +- if (!str) +- return 1; +- if (store_ble(conf->elist_property, str, ORIGIN_DEFAULT)) +- return 1; +- + vector_foreach_slot (conf->hwtable, hwe, i) { + if (hwe->bl_product) { + if (_blacklist_device(conf->blist_device, hwe->vendor, +@@ -390,9 +384,12 @@ filter_property(struct config * conf, struct udev_device * udev) + * This is the inverse of the 'normal' matching; + * the environment variable _has_ to match. + */ +- log_filter(devname, NULL, NULL, NULL, NULL, +- MATCH_PROPERTY_BLIST_MISSING); +- return MATCH_PROPERTY_BLIST_MISSING; ++ if (VECTOR_SIZE(conf->elist_property)) { ++ log_filter(devname, NULL, NULL, NULL, NULL, ++ MATCH_PROPERTY_BLIST_MISSING); ++ return MATCH_PROPERTY_BLIST_MISSING; ++ } ++ return 0; + } + + void +diff --git a/multipath/multipath.conf.5 b/multipath/multipath.conf.5 +index f04ff19..fbbbb27 100644 +--- a/multipath/multipath.conf.5 ++++ b/multipath/multipath.conf.5 +@@ -1014,10 +1014,6 @@ The \fIWorld Wide Identification\fR of a device. + .TP + .B property + Regular expression of the udev property to be whitelisted. +-.RS +-.TP +-The default is: \fB(SCSI_IDENT_|ID_WWN)\fR +-.RE + .TP + .B device + Subsection for the device description. This subsection recognizes the +-- +2.8.1 + diff --git a/meta-oe/recipes-support/multipath-tools/files/0004-RH-don-t-start-without-a-config-file.patch b/meta-oe/recipes-support/multipath-tools/files/0004-RH-don-t-start-without-a-config-file.patch new file mode 100644 index 0000000..87a6d3f --- /dev/null +++ b/meta-oe/recipes-support/multipath-tools/files/0004-RH-don-t-start-without-a-config-file.patch @@ -0,0 +1,108 @@ +From b2b504fc1959c7a3f0a843c3c204e8e193b675b7 Mon Sep 17 00:00:00 2001 +From: Benjamin Marzinski +Date: Wed, 15 Oct 2014 10:39:30 -0500 +Subject: [PATCH 04/14] RH: don't start without a config file + +If /etc/multipath.conf doesn't exist, don't start multipathd and blacklist +all devices when running multipath. A completely blank configuration file +is almost never what users want. Also, people may have the multipath +packages installed but don't want to use them. This patch provides a +simple way to disable multipath. Simply removing or renaming +/etc/multipath.conf will keep multipath from doing anything. + +Signed-off-by: Benjamin Marzinski +--- + libmultipath/config.c | 17 +++++++++++++++++ + libmultipath/config.h | 1 + + multipath/multipath.rules | 1 + + multipathd/multipathd.8 | 2 ++ + multipathd/multipathd.service | 1 + + 5 files changed, 22 insertions(+) + +diff --git a/libmultipath/config.c b/libmultipath/config.c +index bb6619b..aae69b8 100644 +--- a/libmultipath/config.c ++++ b/libmultipath/config.c +@@ -25,6 +25,7 @@ + #include "prio.h" + #include "devmapper.h" + #include "mpath_cmd.h" ++#include "version.h" + + static int + hwe_strmatch (struct hwentry *hwe1, struct hwentry *hwe2) +@@ -667,6 +668,22 @@ load_config (char * file) + factorize_hwtable(conf->hwtable, builtin_hwtable_size); + } + ++ } else { ++ condlog(0, "/etc/multipath.conf does not exist, blacklisting all devices."); ++ condlog(0, "A default multipath.conf file is located at"); ++ condlog(0, "/usr/share/doc/device-mapper-multipath-%d.%d.%d/multipath.conf", MULTIPATH_VERSION(VERSION_CODE)); ++ if (conf->blist_devnode == NULL) { ++ conf->blist_devnode = vector_alloc(); ++ if (!conf->blist_devnode) { ++ condlog(0, "cannot allocate blacklist\n"); ++ goto out; ++ } ++ } ++ if (store_ble(conf->blist_devnode, strdup(".*"), ++ ORIGIN_NO_CONFIG)) { ++ condlog(0, "cannot store default no-config blacklist\n"); ++ goto out; ++ } + } + + conf->processed_main_config = 1; +diff --git a/libmultipath/config.h b/libmultipath/config.h +index ffc69b5..614331c 100644 +--- a/libmultipath/config.h ++++ b/libmultipath/config.h +@@ -7,6 +7,7 @@ + + #define ORIGIN_DEFAULT 0 + #define ORIGIN_CONFIG 1 ++#define ORIGIN_NO_CONFIG 2 + + /* + * In kernel, fast_io_fail == 0 means immediate failure on rport delete. +diff --git a/multipath/multipath.rules b/multipath/multipath.rules +index 4d78b98..5753766 100644 +--- a/multipath/multipath.rules ++++ b/multipath/multipath.rules +@@ -6,6 +6,7 @@ IMPORT{cmdline}="nompath" + ENV{nompath}=="?*", GOTO="end_mpath" + IMPORT{cmdline}="multipath" + ENV{multipath}=="off", GOTO="end_mpath" ++TEST!="/etc/multipath.conf", GOTO="end_mpath" + + KERNEL=="dm-*", GOTO="check_kpartx" + ENV{DEVTYPE}!="partition", GOTO="test_dev" +diff --git a/multipathd/multipathd.8 b/multipathd/multipathd.8 +index 4c765af..c1499a5 100644 +--- a/multipathd/multipathd.8 ++++ b/multipathd/multipathd.8 +@@ -39,6 +39,8 @@ map regains its maximum performance and redundancy. + This daemon executes the external \fBmultipath\fR tool when events occur. + In turn, the multipath tool signals the multipathd daemon when it is done with + devmap reconfiguration, so that it can refresh its failed path list. ++ ++In this Linux distribution, multipathd does not run unless a /etc/multipath.conffile exists + . + . + .\" ---------------------------------------------------------------------------- +diff --git a/multipathd/multipathd.service b/multipathd/multipathd.service +index fd66cf6..fafd088 100644 +--- a/multipathd/multipathd.service ++++ b/multipathd/multipathd.service +@@ -4,6 +4,7 @@ Wants=systemd-udev-trigger.service systemd-udev-settle.service + Before=iscsi.service iscsid.service lvm2-lvmetad.service lvm2-activation-early.service + Before=local-fs-pre.target blk-availability.service + After=multipathd.socket systemd-udev-trigger.service systemd-udev-settle.service ++ConditionPathExists=/etc/multipath.conf + DefaultDependencies=no + Conflicts=shutdown.target + ConditionKernelCommandLine=!nompath +-- +2.8.1 + diff --git a/meta-oe/recipes-support/multipath-tools/files/0005-RH-add-mpathconf.patch b/meta-oe/recipes-support/multipath-tools/files/0005-RH-add-mpathconf.patch new file mode 100644 index 0000000..acef410 --- /dev/null +++ b/meta-oe/recipes-support/multipath-tools/files/0005-RH-add-mpathconf.patch @@ -0,0 +1,648 @@ +From de44504fe7f7802cd474efd92ac15b5a8857db1f Mon Sep 17 00:00:00 2001 +From: Benjamin Marzinski +Date: Thu, 16 Oct 2014 15:49:01 -0500 +Subject: [PATCH 05/14] RH: add mpathconf + +mpathconf is a program (largely based on lvmcomf) to help users +configure /etc/multipath.conf and enable or disable multipathing. It +has a couple of built-in options that can be set directly from the +command line. But, mostly it is used to get a multipath.conf file +with the OS defaults, and to enable and disable multipathing via +a single command. + +Signed-off-by: Benjamin Marzinski +--- + libmultipath/config.c | 1 + + multipath/Makefile | 5 + + multipath/mpathconf | 464 ++++++++++++++++++++++++++++++++++++++++++++++++++ + multipath/mpathconf.8 | 101 +++++++++++ + 4 files changed, 571 insertions(+) + create mode 100644 multipath/mpathconf + create mode 100644 multipath/mpathconf.8 + +diff --git a/libmultipath/config.c b/libmultipath/config.c +index aae69b8..c485748 100644 +--- a/libmultipath/config.c ++++ b/libmultipath/config.c +@@ -672,6 +672,7 @@ load_config (char * file) + condlog(0, "/etc/multipath.conf does not exist, blacklisting all devices."); + condlog(0, "A default multipath.conf file is located at"); + condlog(0, "/usr/share/doc/device-mapper-multipath-%d.%d.%d/multipath.conf", MULTIPATH_VERSION(VERSION_CODE)); ++ condlog(0, "You can run /sbin/mpathconf to create or modify /etc/multipath.conf"); + if (conf->blist_devnode == NULL) { + conf->blist_devnode = vector_alloc(); + if (!conf->blist_devnode) { +diff --git a/multipath/Makefile b/multipath/Makefile +index 1e9ee4b..3d4d459 100644 +--- a/multipath/Makefile ++++ b/multipath/Makefile +@@ -18,10 +18,12 @@ $(EXEC): $(OBJS) + $(CC) $(CFLAGS) $(OBJS) -o $(EXEC) $(LDFLAGS) $(LIBDEPS) + $(GZIP) $(EXEC).8 > $(EXEC).8.gz + $(GZIP) $(EXEC).conf.5 > $(EXEC).conf.5.gz ++ $(GZIP) mpathconf.8 > mpathconf.8.gz + + install: + $(INSTALL_PROGRAM) -d $(DESTDIR)$(bindir) + $(INSTALL_PROGRAM) -m 755 $(EXEC) $(DESTDIR)$(bindir)/ ++ $(INSTALL_PROGRAM) -m 755 mpathconf $(DESTDIR)$(bindir)/ + $(INSTALL_PROGRAM) -d $(DESTDIR)$(udevrulesdir) + $(INSTALL_PROGRAM) -m 644 11-dm-mpath.rules $(DESTDIR)$(udevrulesdir) + $(INSTALL_PROGRAM) -m 644 $(EXEC).rules $(DESTDIR)$(libudevdir)/rules.d/62-multipath.rules +@@ -29,13 +31,16 @@ install: + $(INSTALL_PROGRAM) -m 644 $(EXEC).8.gz $(DESTDIR)$(man8dir) + $(INSTALL_PROGRAM) -d $(DESTDIR)$(man5dir) + $(INSTALL_PROGRAM) -m 644 $(EXEC).conf.5.gz $(DESTDIR)$(man5dir) ++ $(INSTALL_PROGRAM) -m 644 mpathconf.8.gz $(DESTDIR)$(man8dir) + + uninstall: + $(RM) $(DESTDIR)$(bindir)/$(EXEC) + $(RM) $(DESTDIR)$(udevrulesdir)/11-dm-mpath.rules + $(RM) $(DESTDIR)$(libudevdir)/rules.d/62-multipath.rules ++ $(RM) $(DESTDIR)$(bindir)/mpathconf + $(RM) $(DESTDIR)$(man8dir)/$(EXEC).8.gz + $(RM) $(DESTDIR)$(man5dir)/$(EXEC).conf.5.gz ++ $(RM) $(DESTDIR)$(man8dir)/mpathconf.8.gz + + clean: + $(RM) core *.o $(EXEC) *.gz +diff --git a/multipath/mpathconf b/multipath/mpathconf +new file mode 100644 +index 0000000..e839134 +--- /dev/null ++++ b/multipath/mpathconf +@@ -0,0 +1,464 @@ ++#!/bin/bash ++# ++# Copyright (C) 2010 Red Hat, Inc. All rights reserved. ++# ++# This file is part of the device-mapper-multipath package. ++# ++# This copyrighted material is made available to anyone wishing to use, ++# modify, copy, or redistribute it subject to the terms and conditions ++# of the GNU General Public License v.2. ++# ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software Foundation, ++# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++ ++# ++# Simple editting of /etc/multipath.conf ++# This program was largely ripped off from lvmconf ++# ++ ++unset ENABLE FIND FRIENDLY MODULE MULTIPATHD HAVE_DISABLE HAVE_WWID_DISABLE HAVE_FIND HAVE_BLACKLIST HAVE_EXCEPTIONS HAVE_DEFAULTS HAVE_FRIENDLY HAVE_MULTIPATHD HAVE_MODULE HAVE_OUTFILE SHOW_STATUS CHANGED_CONFIG WWID_LIST ++ ++DEFAULT_CONFIG="# device-mapper-multipath configuration file ++ ++# For a complete list of the default configuration values, run either: ++# # multipath -t ++# or ++# # multipathd show config ++ ++# For a list of configuration options with descriptions, see the ++# multipath.conf man page. ++ ++defaults { ++ user_friendly_names yes ++ find_multipaths yes ++} ++ ++blacklist_exceptions { ++ property \"(SCSI_IDENT_|ID_WWN)\" ++}" ++ ++CONFIGFILE="/etc/multipath.conf" ++OUTPUTFILE="/etc/multipath.conf" ++MULTIPATHDIR="/etc/multipath" ++TMPFILE="/etc/multipath/.multipath.conf.tmp" ++WWIDS=0 ++ ++function usage ++{ ++ echo "usage: $0 " ++ echo "" ++ echo "Commands:" ++ echo "Enable: --enable " ++ echo "Disable: --disable" ++ echo "Only allow certain wwids (instead of enable): --allow " ++ echo "Set user_friendly_names (Default y): --user_friendly_names " ++ echo "Set find_multipaths (Default y): --find_multipaths " ++ echo "Load the dm-multipath modules on enable (Default y): --with_module " ++ echo "start/stop/reload multipathd (Default n): --with_multipathd " ++ echo "select output file (Default /etc/multipath.conf): --outfile " ++ echo "" ++} ++ ++function add_wwid ++{ ++ INDEX=0 ++ while [ "$INDEX" -lt "$WWIDS" ] ; do ++ if [ "$1" = "${WWID_LIST[$INDEX]}" ] ; then ++ return ++ fi ++ ((INDEX++)) ++ done ++ WWID_LIST[$WWIDS]="$1" ++ ((WWIDS++)) ++} ++ ++function get_dm_deps ++{ ++ shift 3 ++ while [ -n "$1" -a -n "$2" ]; do ++ MAJOR=$(echo $1 | tr -d '(,') ++ MINOR=$(echo $2 | tr -d ')') ++ UUID=`dmsetup info -c --noheadings -o uuid -j $MAJOR -m $MINOR 2> /dev/null` ++ if [ -n "$UUID" ] ; then ++ set_dm_wwid $UUID ++ fi ++ shift 2 ++ done ++} ++ ++function set_dm_wwid ++{ ++ if [[ "$1" =~ ^part[[:digit:]]+-mpath- ]] ; then ++ add_wwid "${1##part*-mpath-}" ++ elif [[ "$1" =~ ^mpath- ]] ; then ++ add_wwid "${1##mpath-}" ++ else ++ get_dm_deps `dmsetup deps -u $1` ++ fi ++} ++ ++function set_wwid ++{ ++ UUID="" ++ if [[ "$1" =~ ^[[:digit:]]+:[[:digit:]]+$ ]] ; then ++ MAJOR=${1%%:*} ++ MINOR=${1##*:} ++ UUID=`dmsetup info -c --noheadings -o uuid -j $MAJOR -m $MINOR 2> /dev/null` ++ else ++ UUID=`dmsetup info -c --noheadings -o uuid $1 2> /dev/null` ++ fi ++ if [ -n "$UUID" ] ; then ++ set_dm_wwid $UUID ++ else ++ add_wwid "$1" ++ fi ++} ++ ++function parse_args ++{ ++ while [ -n "$1" ]; do ++ case $1 in ++ --enable) ++ ENABLE=1 ++ shift ++ ;; ++ --disable) ++ ENABLE=0 ++ shift ++ ;; ++ --allow) ++ ENABLE=2 ++ if [ -n "$2" ]; then ++ set_wwid $2 ++ shift 2 ++ else ++ usage ++ exit 1 ++ fi ++ ;; ++ --user_friendly_names) ++ if [ -n "$2" ]; then ++ FRIENDLY=$2 ++ shift 2 ++ else ++ usage ++ exit 1 ++ fi ++ ;; ++ --find_multipaths) ++ if [ -n "$2" ]; then ++ FIND=$2 ++ shift 2 ++ else ++ usage ++ exit 1 ++ fi ++ ;; ++ --with_module) ++ if [ -n "$2" ]; then ++ MODULE=$2 ++ shift 2 ++ else ++ usage ++ exit 1 ++ fi ++ ;; ++ --with_multipathd) ++ if [ -n "$2" ]; then ++ MULTIPATHD=$2 ++ shift 2 ++ else ++ usage ++ exit 1 ++ fi ++ ;; ++ --outfile) ++ if [ -n "$2" ]; then ++ OUTPUTFILE=$2 ++ HAVE_OUTFILE=1 ++ shift 2 ++ else ++ usage ++ exit 1 ++ fi ++ ;; ++ *) ++ usage ++ exit ++ esac ++ done ++} ++ ++function validate_args ++{ ++ if [ "$ENABLE" = "0" ] && [ -n "$FRIENDLY" -o -n "$FIND" -o -n "$MODULE" ]; then ++ echo "ignoring extra parameters on disable" ++ FRIENDLY="" ++ FIND="" ++ MODULE="" ++ fi ++ if [ -n "$FRIENDLY" ] && [ "$FRIENDLY" != "y" -a "$FRIENDLY" != "n" ]; then ++ echo "--user_friendly_names must be either 'y' or 'n'" ++ exit 1 ++ fi ++ if [ -n "$FIND" ] && [ "$FIND" != "y" -a "$FIND" != "n" ]; then ++ echo "--find_multipaths must be either 'y' or 'n'" ++ exit 1 ++ fi ++ if [ -z "$ENABLE" -a -z "$FIND" -a -z "$FRIENDLY" ]; then ++ SHOW_STATUS=1 ++ fi ++ if [ -n "$MODULE" ] && [ "$MODULE" != "y" -a "$MODULE" != "n" ]; then ++ echo "--with_module must be either 'y' or 'n'" ++ exit 1 ++ fi ++ if [ -n "$MULTIPATHD" ] && [ "$MULTIPATHD" != "y" -a "$MULTIPATHD" != "n" ]; then ++ echo "--with_multipathd must be either 'y' or 'n'" ++ exit 1 ++ fi ++ if [ "$ENABLE" = 2 -a -z "$HAVE_OUTFILE" ]; then ++ echo "Because --allow makes changes that cannot be automatically reversed," ++ echo "you must set --outfile when you set --allow" ++ exit 1 ++ fi ++} ++ ++function add_blacklist_exceptions ++{ ++ INDEX=0 ++ while [ "$INDEX" -lt "$WWIDS" ] ; do ++ sed -i '/^blacklist_exceptions[[:space:]]*{/ a\ ++ wwid '"\"${WWID_LIST[$INDEX]}\""' ++' $TMPFILE ++ ((INDEX++)) ++ done ++} ++ ++umask 0077 ++ ++parse_args "$@" ++ ++validate_args ++ ++if [ ! -d "$MULTIPATHDIR" ]; then ++ echo "/etc/multipath/ does not exist. failing" ++ exit 1 ++fi ++ ++rm $TMPFILE 2> /dev/null ++echo "$DEFAULT_CONFIG" > $TMPFILE ++if [ -f "$CONFIGFILE" ]; then ++ cp $CONFIGFILE $TMPFILE ++fi ++ ++if grep -q "^blacklist[[:space:]]*{" $TMPFILE ; then ++ HAVE_BLACKLIST=1 ++fi ++ ++if grep -q "^blacklist_exceptions[[:space:]]*{" $TMPFILE ; then ++ HAVE_EXCEPTIONS=1 ++fi ++ ++if grep -q "^defaults[[:space:]]*{" $TMPFILE ; then ++ HAVE_DEFAULTS=1 ++fi ++ ++if [ -z "$MODULE" -o "$MODULE" = "y" ]; then ++ if lsmod | grep -q "dm_multipath" ; then ++ HAVE_MODULE=1 ++ else ++ HAVE_MODULE=0 ++ fi ++fi ++ ++if [ "$MULTIPATHD" = "y" ]; then ++ if /bin/systemctl status multipathd.service > /dev/null 2>&1 ; then ++ HAVE_MULTIPATHD=1 ++ else ++ HAVE_MULTIPATHD=0 ++ fi ++fi ++ ++if [ "$HAVE_BLACKLIST" = "1" ]; then ++ if sed -n '/^blacklist[[:space:]]*{/,/^}/ p' $TMPFILE | grep -q "^[[:space:]]*devnode \"\.\?\*\"" ; then ++ HAVE_DISABLE=1 ++ elif sed -n '/^blacklist[[:space:]]*{/,/^}/ p' $TMPFILE | grep -q "^[[:space:]]*#[[:space:]]*devnode \"\.\?\*\"" ; then ++ HAVE_DISABLE=0 ++ fi ++fi ++ ++if [ "$HAVE_BLACKLIST" = "1" ]; then ++ if sed -n '/^blacklist[[:space:]]*{/,/^}/ p' $TMPFILE | grep -q "^[[:space:]]*wwid \"\.\?\*\"" ; then ++ HAVE_WWID_DISABLE=1 ++ elif sed -n '/^blacklist[[:space:]]*{/,/^}/ p' $TMPFILE | grep -q "^[[:space:]]*#[[:space:]]*wwid \"\.\?\*\"" ; then ++ HAVE_WWID_DISABLE=0 ++ fi ++fi ++ ++if [ "$HAVE_DEFAULTS" = "1" ]; then ++ if sed -n '/^defaults[[:space:]]*{/,/^}/ p' $TMPFILE | grep -q "^[[:space:]]*find_multipaths[[:space:]]*\(yes\|1\)" ; then ++ HAVE_FIND=1 ++ elif sed -n '/^defaults[[:space:]]*{/,/^}/ p' $TMPFILE | grep -q "^[[:space:]]*find_multipaths[[:space:]]*\(no\|0\)" ; then ++ HAVE_FIND=0 ++ fi ++ if sed -n '/^defaults[[:space:]]*{/,/^}/ p' $TMPFILE | grep -q "^[[:space:]]*user_friendly_names[[:space:]]*\(yes\|1\)" ; then ++ HAVE_FRIENDLY=1 ++ elif sed -n '/^defaults[[:space:]]*{/,/^}/ p' $TMPFILE | grep -q "^[[:space:]]*user_friendly_names[[:space:]]*\(no\|0\)" ; then ++ HAVE_FRIENDLY=0 ++ fi ++fi ++ ++if [ -n "$SHOW_STATUS" ]; then ++ if [ -z "$HAVE_DISABLE" -o "$HAVE_DISABLE" = 0 ]; then ++ echo "multipath is enabled" ++ else ++ echo "multipath is disabled" ++ fi ++ if [ -z "$HAVE_FIND" -o "$HAVE_FIND" = 0 ]; then ++ echo "find_multipaths is disabled" ++ else ++ echo "find_multipaths is enabled" ++ fi ++ if [ -z "$HAVE_FRIENDLY" -o "$HAVE_FRIENDLY" = 0 ]; then ++ echo "user_friendly_names is disabled" ++ else ++ echo "user_friendly_names is enabled" ++ fi ++ if [ -n "$HAVE_MODULE" ]; then ++ if [ "$HAVE_MODULE" = 1 ]; then ++ echo "dm_multipath module is loaded" ++ else ++ echo "dm_multipath module is not loaded" ++ fi ++ fi ++ if [ -z "$HAVE_MULTIPATHD" ]; then ++ if /bin/systemctl status multipathd.service > /dev/null 2>&1 ; then ++ HAVE_MULTIPATHD=1 ++ else ++ HAVE_MULTIPATHD=0 ++ fi ++ fi ++ if [ "$HAVE_MULTIPATHD" = 1 ]; then ++ echo "multipathd is running" ++ else ++ echo "multipathd is not running" ++ fi ++ exit 0 ++fi ++ ++if [ -z "$HAVE_BLACKLIST" ]; then ++ cat >> $TMPFILE <<- _EOF_ ++ ++blacklist { ++} ++_EOF_ ++fi ++ ++if [ -z "$HAVE_DEFAULTS" ]; then ++ cat >> $TMPFILE <<- _EOF_ ++ ++defaults { ++} ++_EOF_ ++fi ++ ++if [ "$ENABLE" = 2 ]; then ++ if [ "$HAVE_DISABLE" = 1 ]; then ++ sed -i '/^blacklist[[:space:]]*{/,/^}/ s/^[[:space:]]*devnode \"\.\?\*\"/# devnode ".*"/' $TMPFILE ++ fi ++ if [ -z "$HAVE_WWID_DISABLE" ]; then ++ sed -i '/^blacklist[[:space:]]*{/ a\ ++ wwid ".*" ++' $TMPFILE ++ elif [ "$HAVE_WWID_DISABLE" = 0 ]; then ++ sed -i '/^blacklist[[:space:]]*{/,/^}/ s/^[[:space:]]*#[[:space:]]*wwid \"\.\?\*\"/ wwid ".*"/' $TMPFILE ++ fi ++ if [ "$HAVE_EXCEPTIONS" = 1 ]; then ++ sed -i '/^blacklist_exceptions[[:space:]]*{/,/^}/ {/^[[:space:]]*wwid/ d}' $TMPFILE ++ else ++ cat >> $TMPFILE <<- _EOF_ ++ ++blacklist_exceptions { ++} ++_EOF_ ++ fi ++ add_blacklist_exceptions ++elif [ "$ENABLE" = 1 ]; then ++ if [ "$HAVE_DISABLE" = 1 ]; then ++ sed -i '/^blacklist[[:space:]]*{/,/^}/ s/^[[:space:]]*devnode \"\.\?\*\"/# devnode ".*"/' $TMPFILE ++ fi ++elif [ "$ENABLE" = 0 ]; then ++ if [ -z "$HAVE_DISABLE" ]; then ++ sed -i '/^blacklist[[:space:]]*{/ a\ ++ devnode ".*" ++' $TMPFILE ++ elif [ "$HAVE_DISABLE" = 0 ]; then ++ sed -i '/^blacklist[[:space:]]*{/,/^}/ s/^[[:space:]]*#[[:space:]]*devnode \"\.\?\*\"/ devnode ".*"/' $TMPFILE ++ fi ++fi ++ ++if [ "$FIND" = "n" ]; then ++ if [ "$HAVE_FIND" = 1 ]; then ++ sed -i '/^defaults[[:space:]]*{/,/^}/ s/^[[:space:]]*find_multipaths[[:space:]]*\(yes\|1\)/ find_multipaths no/' $TMPFILE ++ CHANGED_CONFIG=1 ++ fi ++elif [ "$FIND" = "y" ]; then ++ if [ -z "$HAVE_FIND" ]; then ++ sed -i '/^defaults[[:space:]]*{/ a\ ++ find_multipaths yes ++' $TMPFILE ++ CHANGED_CONFIG=1 ++ elif [ "$HAVE_FIND" = 0 ]; then ++ sed -i '/^defaults[[:space:]]*{/,/^}/ s/^[[:space:]]*find_multipaths[[:space:]]*\(no\|0\)/ find_multipaths yes/' $TMPFILE ++ CHANGED_CONFIG=1 ++ fi ++fi ++ ++if [ "$FRIENDLY" = "n" ]; then ++ if [ "$HAVE_FRIENDLY" = 1 ]; then ++ sed -i '/^defaults[[:space:]]*{/,/^}/ s/^[[:space:]]*user_friendly_names[[:space:]]*\(yes\|1\)/ user_friendly_names no/' $TMPFILE ++ CHANGED_CONFIG=1 ++ fi ++elif [ "$FRIENDLY" = "y" ]; then ++ if [ -z "$HAVE_FRIENDLY" ]; then ++ sed -i '/^defaults[[:space:]]*{/ a\ ++ user_friendly_names yes ++' $TMPFILE ++ CHANGED_CONFIG=1 ++ elif [ "$HAVE_FRIENDLY" = 0 ]; then ++ sed -i '/^defaults[[:space:]]*{/,/^}/ s/^[[:space:]]*user_friendly_names[[:space:]]*\(no\|0\)/ user_friendly_names yes/' $TMPFILE ++ CHANGED_CONFIG=1 ++ fi ++fi ++ ++if [ -f "$OUTPUTFILE" ]; then ++ cp $OUTPUTFILE $OUTPUTFILE.old ++ if [ $? != 0 ]; then ++ echo "failed to backup old config file, $OUTPUTFILE not updated" ++ exit 1 ++ fi ++fi ++ ++cp $TMPFILE $OUTPUTFILE ++if [ $? != 0 ]; then ++ echo "failed to copy new config file into place, check $OUTPUTFILE is still OK" ++ exit 1 ++fi ++ ++rm -f $TMPFILE ++ ++if [ "$ENABLE" = 1 ]; then ++ if [ "$HAVE_MODULE" = 0 ]; then ++ modprobe dm_multipath ++ fi ++ if [ "$HAVE_MULTIPATHD" = 0 ]; then ++ systemctl start multipathd.service ++ fi ++elif [ "$ENABLE" = 0 ]; then ++ if [ "$HAVE_MULTIPATHD" = 1 ]; then ++ systemctl stop multipathd.service ++ fi ++elif [ -n "$CHANGED_CONFIG" -a "$HAVE_MULTIPATHD" = 1 ]; then ++ systemctl reload multipathd.service ++fi +diff --git a/multipath/mpathconf.8 b/multipath/mpathconf.8 +new file mode 100644 +index 0000000..4cd3267 +--- /dev/null ++++ b/multipath/mpathconf.8 +@@ -0,0 +1,101 @@ ++.TH MPATHCONF 8 "June 2010" "" "Linux Administrator's Manual" ++.SH NAME ++mpathconf - A tool for configuring device-mapper-multipath ++.SH SYNOPSIS ++.B mpathconf ++.RB [\| commands \|] ++.RB [\| options \|] ++.SH DESCRIPTION ++.B mpathconf ++is a utility that creates or modifies ++.B /etc/multipath.conf. ++It can enable or disable multipathing and configure some common options. ++.B mpathconf ++can also load the ++.B dm_multipath ++module, start and stop the ++.B multipathd ++daemon, and configure the ++.B multipathd ++service to start automatically or not. If ++.B mpathconf ++is called with no commands, it will display the current configuration. ++ ++The default options for mpathconf are ++.B --with_module ++The ++.B --with_multipathd ++option is not set by default. Enabling multipathing will load the ++.B dm_multipath ++module but it will not immediately start it. This is so ++that users can manually edit their config file if necessary, before starting ++.B multipathd. ++ ++If ++.B /etc/multipath.conf ++already exists, mpathconf will edit it. If it does not exist, mpathconf will ++create a default file with ++.B user_friendly_names ++and ++.B find_multipaths ++set. To disable these, use the ++.B --user_friendly_names n ++and ++.B --find_multipaths n ++options ++.SH COMMANDS ++.TP ++.B --enable ++Removes any line that blacklists all device nodes from the ++.B /etc/multipath.conf ++blacklist section. ++.TP ++.B --disable ++Adds a line that blacklists all device nodes to the ++.B /etc/multipath.conf ++blacklist section. If no blacklist section exists, it will create one. ++.TP ++.B --user_friendly_name \fP { \fBy\fP | \fBn\fP } ++If set to \fBy\fP, this adds the line ++.B user_friendly_names yes ++to the ++.B /etc/multipath.conf ++defaults section. If set to \fBn\fP, this removes the line, if present. This ++command can be used along with any other command. ++.TP ++.B --find_multipaths\fP { \fBy\fP | \fBn\fP } ++If set to \fBy\fP, this adds the line ++.B find_multipaths yes ++to the ++.B /etc/multipath.conf ++defaults section. If set to \fBn\fP, this removes the line, if present. This ++command can be used aldong with any other command. ++.SH OPTIONS ++.TP ++.B --with_module\fP { \fBy\fP | \fBn\fP } ++If set to \fBy\fP, this runs ++.B modprobe dm_multipath ++to install the multipath modules. This option only works with the ++.B --enable ++command. This option is set to \fBy\fP by default. ++.TP ++.B --with_multipathd { \fBy\fP | \fBn\fP } ++If set to \fBy\fP, this runs ++.B service multipathd start ++to start the multipathd daemon on \fB--enable\fP, ++.B service multipathd stop ++to stop the multipathd daemon on \fB--disable\fP, and ++.B service multipathd reload ++to reconfigure multipathd on \fB--user_frindly_names\fP and ++\fB--find_multipaths\fP. ++This option is set to \fBn\fP by default. ++.SH FILES ++.BR /etc/multipath.conf ++.SH "SEE ALSO" ++.BR multipath.conf (5), ++.BR modprobe (8), ++.BR multipath (8), ++.BR multipathd (8), ++.BR service (8), ++.SH AUTHOR ++Benjamin Marzinski +-- +2.8.1 + diff --git a/meta-oe/recipes-support/multipath-tools/files/0006-RH-add-wwids-from-kernel-cmdline-mpath.wwids-with-A.patch b/meta-oe/recipes-support/multipath-tools/files/0006-RH-add-wwids-from-kernel-cmdline-mpath.wwids-with-A.patch new file mode 100644 index 0000000..dc291b8 --- /dev/null +++ b/meta-oe/recipes-support/multipath-tools/files/0006-RH-add-wwids-from-kernel-cmdline-mpath.wwids-with-A.patch @@ -0,0 +1,166 @@ +From 15179c830521d8f37f9254ebc6bbf150a409f956 Mon Sep 17 00:00:00 2001 +From: Benjamin Marzinski +Date: Fri, 17 Oct 2014 11:20:34 -0500 +Subject: [PATCH 06/14] RH: add wwids from kernel cmdline mpath.wwids with -A + +This patch adds another option to multipath, "-A", which reads +/proc/cmdline for mpath.wwid= options, and adds any wwids it finds +to /etc/multipath/wwids. While this isn't usually important during +normal operation, since these wwids should already be added, it can be +helpful during installation, to make sure that multipath can claim +devices as its own, before LVM or something else makes use of them. The +patch also execs "/sbin/multipath -A" before running multipathd in +multipathd.service + +Signed-off-by: Benjamin Marzinski +--- + libmultipath/wwids.c | 44 +++++++++++++++++++++++++++++++++++++++++++ + libmultipath/wwids.h | 1 + + multipath/main.c | 10 ++++++++-- + multipath/multipath.8 | 5 ++++- + multipathd/multipathd.service | 1 + + 5 files changed, 58 insertions(+), 3 deletions(-) + +diff --git a/libmultipath/wwids.c b/libmultipath/wwids.c +index bc70a27..88bb72b 100644 +--- a/libmultipath/wwids.c ++++ b/libmultipath/wwids.c +@@ -321,3 +321,47 @@ remember_wwid(char *wwid) + condlog(4, "wwid %s already in wwids file", wwid); + return 0; + } ++ ++int remember_cmdline_wwid(void) ++{ ++ FILE *f = NULL; ++ char buf[LINE_MAX], *next, *ptr; ++ int ret = 0; ++ ++ f = fopen("/proc/cmdline", "re"); ++ if (!f) { ++ condlog(0, "can't open /proc/cmdline : %s", strerror(errno)); ++ return -1; ++ } ++ ++ if (!fgets(buf, sizeof(buf), f)) { ++ if (ferror(f)) ++ condlog(0, "read of /proc/cmdline failed : %s", ++ strerror(errno)); ++ else ++ condlog(0, "couldn't read /proc/cmdline"); ++ fclose(f); ++ return -1; ++ } ++ fclose(f); ++ next = buf; ++ while((ptr = strstr(next, "mpath.wwid="))) { ++ ptr += 11; ++ next = strpbrk(ptr, " \t\n"); ++ if (next) { ++ *next = '\0'; ++ next++; ++ } ++ if (strlen(ptr)) { ++ if (remember_wwid(ptr) != 0) ++ ret = -1; ++ } ++ else { ++ condlog(0, "empty mpath.wwid kernel command line option"); ++ ret = -1; ++ } ++ if (!next) ++ break; ++ } ++ return ret; ++} +diff --git a/libmultipath/wwids.h b/libmultipath/wwids.h +index 9527012..b665232 100644 +--- a/libmultipath/wwids.h ++++ b/libmultipath/wwids.h +@@ -17,5 +17,6 @@ int remember_wwid(char *wwid); + int check_wwids_file(char *wwid, int write_wwid); + int remove_wwid(char *wwid); + int replace_wwids(vector mp); ++int remember_cmdline_wwid(void); + + #endif /* _WWIDS_H */ +diff --git a/multipath/main.c b/multipath/main.c +index 4174d43..72585b0 100644 +--- a/multipath/main.c ++++ b/multipath/main.c +@@ -102,7 +102,7 @@ usage (char * progname) + { + fprintf (stderr, VERSION_STRING); + fprintf (stderr, "Usage:\n"); +- fprintf (stderr, " %s [-a|-c|-w|-W] [-d] [-r] [-i] [-v lvl] [-p pol] [-b fil] [-q] [dev]\n", progname); ++ fprintf (stderr, " %s [-a|-A|-c|-w|-W] [-d] [-r] [-i] [-v lvl] [-p pol] [-b fil] [-q] [dev]\n", progname); + fprintf (stderr, " %s -l|-ll|-f [-v lvl] [-b fil] [-R num] [dev]\n", progname); + fprintf (stderr, " %s -F [-v lvl] [-R num]\n", progname); + fprintf (stderr, " %s -t\n", progname); +@@ -116,6 +116,8 @@ usage (char * progname) + " -f flush a multipath device map\n" + " -F flush all multipath device maps\n" + " -a add a device wwid to the wwids file\n" ++ " -A add devices from kernel command line mpath.wwids\n" ++ " parameters to wwids file\n" + " -c check if a device should be a path in a multipath device\n" + " -q allow queue_if_no_path when multipathd is not running\n" + " -d dry run, do not create or update devmaps\n" +@@ -522,7 +524,7 @@ main (int argc, char *argv[]) + exit(1); + multipath_conf = conf; + conf->retrigger_tries = 0; +- while ((arg = getopt(argc, argv, ":adchl::FfM:v:p:b:BrR:itquwW")) != EOF ) { ++ while ((arg = getopt(argc, argv, ":aAdchl::FfM:v:p:b:BrR:itquwW")) != EOF ) { + switch(arg) { + case 1: printf("optarg : %s\n",optarg); + break; +@@ -586,6 +588,10 @@ main (int argc, char *argv[]) + case 't': + r = dump_config(conf); + goto out_free_config; ++ case 'A': ++ if (remember_cmdline_wwid() != 0) ++ exit(1); ++ exit(0); + case 'h': + usage(argv[0]); + exit(0); +diff --git a/multipath/multipath.8 b/multipath/multipath.8 +index b9436e5..b9ad6b1 100644 +--- a/multipath/multipath.8 ++++ b/multipath/multipath.8 +@@ -25,7 +25,7 @@ multipath \- Device mapper target autoconfig. + .RB [\| \-b\ \c + .IR bindings_file \|] + .RB [\| \-d \|] +-.RB [\| \-h | \-l | \-ll | \-f | \-t | \-F | \-B | \-c | \-q | \|-r | \|-i | \-a | \|-u | \-w | \-W \|] ++.RB [\| \-h | \-l | \-ll | \-f | \-t | \-F | \-B | \-c | \-q | \|-r | \|-i | \-a | \-A | \-u | \-w | \-W \|] + .RB [\| \-p\ \c + .IR failover | multibus | group_by_serial | group_by_prio | group_by_node_name \|] + .RB [\| \-R\ \c +@@ -122,6 +122,9 @@ Add the WWID for the specified device to the WWIDs file. + Check if the device specified in the program environment should be + a path in a multipath device. + . ++.B \-A ++add wwids from any kernel command line mpath.wwid parameters to the wwids file ++. + .TP + .B \-w + Remove the WWID for the specified device from the WWIDs file. +diff --git a/multipathd/multipathd.service b/multipathd/multipathd.service +index fafd088..a623a3f 100644 +--- a/multipathd/multipathd.service ++++ b/multipathd/multipathd.service +@@ -15,6 +15,7 @@ Type=notify + NotifyAccess=main + LimitCORE=infinity + ExecStartPre=-/sbin/modprobe -a scsi_dh_alua scsi_dh_emc scsi_dh_rdac dm-multipath ++ExecStartPre=-/sbin/multipath -A + ExecStart=/sbin/multipathd -d -s + ExecReload=/sbin/multipathd reconfigure + +-- +2.8.1 + diff --git a/meta-oe/recipes-support/multipath-tools/files/0007-RH-trigger-change-uevent-on-new-device-creation.patch b/meta-oe/recipes-support/multipath-tools/files/0007-RH-trigger-change-uevent-on-new-device-creation.patch new file mode 100644 index 0000000..025a351 --- /dev/null +++ b/meta-oe/recipes-support/multipath-tools/files/0007-RH-trigger-change-uevent-on-new-device-creation.patch @@ -0,0 +1,138 @@ +From 0d2c9afbd89d79fd700f9c99aa20e5f7c7382027 Mon Sep 17 00:00:00 2001 +From: Benjamin Marzinski +Date: Mon, 24 Apr 2017 09:39:57 -0500 +Subject: [PATCH 07/14] RH: trigger change uevent on new device creation + +When multipath first sees a path device with user_friendly names +enabled, it can't know if the device should be multipathed. This means +that it will not claim the device in udev. If the device is eventually +multipathed, multipath should trigger a change uevent to update the udev +database to claim the device. + +This also reverts commit 64e27ec066a001012f44550f095c93443e91d845. + +Signed-off-by: Benjamin Marzinski +--- + libmultipath/configure.c | 26 ++++++++++++++++++++++++-- + libmultipath/configure.h | 1 + + libmultipath/wwids.c | 4 ++-- + multipath/main.c | 2 +- + multipathd/main.c | 7 ++----- + 5 files changed, 30 insertions(+), 10 deletions(-) + +diff --git a/libmultipath/configure.c b/libmultipath/configure.c +index bd090d9..843dd09 100644 +--- a/libmultipath/configure.c ++++ b/libmultipath/configure.c +@@ -422,6 +422,28 @@ trigger_udev_change(const struct multipath *mpp) + udev_device_unref(udd); + } + ++void ++trigger_paths_udev_change(const struct multipath *mpp) ++{ ++ struct pathgroup * pgp; ++ struct path * pp; ++ int i, j; ++ ++ if (!mpp || !mpp->pg) ++ return; ++ ++ vector_foreach_slot (mpp->pg, pgp, i) { ++ if (!pgp->paths) ++ continue; ++ vector_foreach_slot(pgp->paths, pp, j) { ++ if (!pp->udev) ++ continue; ++ sysfs_attr_set_value(pp->udev, "uevent", "change", ++ strlen("change")); ++ } ++ } ++} ++ + static int + is_mpp_known_to_udev(const struct multipath *mpp) + { +@@ -802,8 +824,8 @@ int domap(struct multipath *mpp, char *params, int is_daemon) + * succeeded + */ + mpp->force_udev_reload = 0; +- if (mpp->action == ACT_CREATE) +- remember_wwid(mpp->wwid); ++ if (mpp->action == ACT_CREATE && remember_wwid(mpp->wwid) == 1) ++ trigger_paths_udev_change(mpp); + if (!is_daemon) { + /* multipath client mode */ + dm_switchgroup(mpp->alias, mpp->bestpg); +diff --git a/libmultipath/configure.h b/libmultipath/configure.h +index fd7f581..253e29b 100644 +--- a/libmultipath/configure.h ++++ b/libmultipath/configure.h +@@ -36,3 +36,4 @@ int get_refwwid (enum mpath_cmds cmd, char * dev, enum devtypes dev_type, + vector pathvec, char **wwid); + int reload_map(struct vectors *vecs, struct multipath *mpp, int refresh, int is_daemon); + int sysfs_get_host_adapter_name(struct path *pp, char *adapter_name); ++void trigger_paths_udev_change(const struct multipath *mpp); +diff --git a/libmultipath/wwids.c b/libmultipath/wwids.c +index 88bb72b..249c6c1 100644 +--- a/libmultipath/wwids.c ++++ b/libmultipath/wwids.c +@@ -319,7 +319,7 @@ remember_wwid(char *wwid) + condlog(3, "wrote wwid %s to wwids file", wwid); + else + condlog(4, "wwid %s already in wwids file", wwid); +- return 0; ++ return ret; + } + + int remember_cmdline_wwid(void) +@@ -353,7 +353,7 @@ int remember_cmdline_wwid(void) + next++; + } + if (strlen(ptr)) { +- if (remember_wwid(ptr) != 0) ++ if (remember_wwid(ptr) < 0) + ret = -1; + } + else { +diff --git a/multipath/main.c b/multipath/main.c +index 72585b0..2eda6a3 100644 +--- a/multipath/main.c ++++ b/multipath/main.c +@@ -336,7 +336,7 @@ configure (struct config *conf, enum mpath_cmds cmd, + } + if (cmd == CMD_ADD_WWID) { + r = remember_wwid(refwwid); +- if (r == 0) ++ if (r >= 0) + printf("wwid '%s' added\n", refwwid); + else + printf("failed adding '%s' to wwids file\n", +diff --git a/multipathd/main.c b/multipathd/main.c +index 81c76ca..874bcce 100644 +--- a/multipathd/main.c ++++ b/multipathd/main.c +@@ -2093,7 +2093,8 @@ configure (struct vectors * vecs, int start_waiters) + + sync_maps_state(mpvec); + vector_foreach_slot(mpvec, mpp, i){ +- remember_wwid(mpp->wwid); ++ if (remember_wwid(mpp->wwid) == 1) ++ trigger_paths_udev_change(mpp); + update_map_pr(mpp); + } + +@@ -2175,10 +2176,6 @@ reconfigure (struct vectors * vecs) + conf->verbosity = verbosity; + if (bindings_read_only) + conf->bindings_read_only = bindings_read_only; +- if (conf->find_multipaths) { +- condlog(2, "find_multipaths is set: -n is implied"); +- ignore_new_devs = 1; +- } + if (ignore_new_devs) + conf->ignore_new_devs = ignore_new_devs; + uxsock_timeout = conf->uxsock_timeout; +-- +2.8.1 + diff --git a/meta-oe/recipes-support/multipath-tools/files/0008-libmultipath-change-how-RADOS-checker-is-enabled.patch b/meta-oe/recipes-support/multipath-tools/files/0008-libmultipath-change-how-RADOS-checker-is-enabled.patch new file mode 100644 index 0000000..f678809 --- /dev/null +++ b/meta-oe/recipes-support/multipath-tools/files/0008-libmultipath-change-how-RADOS-checker-is-enabled.patch @@ -0,0 +1,56 @@ +From 0be174dbedd861d7694b0c7799fe26be31eb32b0 Mon Sep 17 00:00:00 2001 +From: Benjamin Marzinski +Date: Fri, 26 May 2017 17:52:57 -0500 +Subject: [PATCH 08/14] libmultipath: change how RADOS checker is enabled + +Instead of making the user call "make", "make install" and "make clean" +with ENABLE_RADOS set correctly, have the makefile check if +/usr/include/rados/librados.h exists, just like it checks if specific +functions exist in a file. + +Signed-off-by: Benjamin Marzinski +--- + Makefile.inc | 13 +++++++++++++ + libmultipath/checkers/Makefile | 3 ++- + 2 files changed, 15 insertions(+), 1 deletion(-) + +diff --git a/Makefile.inc b/Makefile.inc +index 2591fa9..e084fd1 100644 +--- a/Makefile.inc ++++ b/Makefile.inc +@@ -109,5 +109,18 @@ check_func = \ + echo "$$found" \ + ) + ++# Checker whether a file with name $1 exists ++check_file = $(shell \ ++ if [ -f "$1" ]; then \ ++ found=1; \ ++ status="yes"; \ ++ else \ ++ found=0; \ ++ status="no"; \ ++ fi; \ ++ echo 1>&2 "Checking if $1 exists ... $$status"; \ ++ echo "$$found" \ ++ ) ++ + %.o: %.c + $(CC) $(CFLAGS) -c -o $@ $< +diff --git a/libmultipath/checkers/Makefile b/libmultipath/checkers/Makefile +index 732ca9d..bce6b8b 100644 +--- a/libmultipath/checkers/Makefile ++++ b/libmultipath/checkers/Makefile +@@ -14,7 +14,8 @@ LIBS= \ + libcheckemc_clariion.so \ + libcheckhp_sw.so \ + libcheckrdac.so +-ifneq ($(ENABLE_RADOS),0) ++ ++ifneq ($(call check_file,/usr/include/rados/librados.h),0) + LIBS += libcheckrbd.so + endif + +-- +2.8.1 + diff --git a/meta-oe/recipes-support/multipath-tools/files/0009-multipath-set-verbosity-to-default-during-config.patch b/meta-oe/recipes-support/multipath-tools/files/0009-multipath-set-verbosity-to-default-during-config.patch new file mode 100644 index 0000000..17d2d91 --- /dev/null +++ b/meta-oe/recipes-support/multipath-tools/files/0009-multipath-set-verbosity-to-default-during-config.patch @@ -0,0 +1,40 @@ +From 526e539628e051128abf46a60ec22e18c9b5d84f Mon Sep 17 00:00:00 2001 +From: Benjamin Marzinski +Date: Wed, 31 May 2017 15:03:02 -0500 +Subject: [PATCH 09/14] multipath: set verbosity to default during config + +condlog was setting the verbosity to 0 if there was no configuration. +This keeps multipath from printing warning messages about config file +problems that are found while loading the configuration. Instead, it +should use the default config level until it loads the configuration +to find the current value. + +Signed-off-by: Benjamin Marzinski +--- + libmultipath/debug.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/libmultipath/debug.c b/libmultipath/debug.c +index fbe171a..f89b264 100644 +--- a/libmultipath/debug.c ++++ b/libmultipath/debug.c +@@ -11,6 +11,7 @@ + #include "../third-party/valgrind/drd.h" + #include "vector.h" + #include "config.h" ++#include "defaults.h" + + void dlog (int sink, int prio, const char * fmt, ...) + { +@@ -21,7 +22,7 @@ void dlog (int sink, int prio, const char * fmt, ...) + va_start(ap, fmt); + conf = get_multipath_config(); + ANNOTATE_IGNORE_READS_BEGIN(); +- thres = (conf) ? conf->verbosity : 0; ++ thres = (conf) ? conf->verbosity : DEFAULT_VERBOSITY; + ANNOTATE_IGNORE_READS_END(); + put_multipath_config(conf); + +-- +2.8.1 + diff --git a/meta-oe/recipes-support/multipath-tools/files/0010-mpath-skip-device-configs-without-vendor-product.patch b/meta-oe/recipes-support/multipath-tools/files/0010-mpath-skip-device-configs-without-vendor-product.patch new file mode 100644 index 0000000..396b6d3 --- /dev/null +++ b/meta-oe/recipes-support/multipath-tools/files/0010-mpath-skip-device-configs-without-vendor-product.patch @@ -0,0 +1,37 @@ +From f88d60a93e98d86ae294f2317a122c4efde276f0 Mon Sep 17 00:00:00 2001 +From: Benjamin Marzinski +Date: Wed, 31 May 2017 17:58:59 -0500 +Subject: [PATCH 10/14] mpath: skip device configs without vendor/product + +Right now if multipath.conf includes a device configuration without a +vendor or product string, it will automatically be applied to all +devices, skipping all other configs entirely. This is clearly wrong. +This patch makes sure that user added configs include vendor and +product strings + +Signed-off-by: Benjamin Marzinski +--- + libmultipath/config.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/libmultipath/config.c b/libmultipath/config.c +index c485748..bdde113 100644 +--- a/libmultipath/config.c ++++ b/libmultipath/config.c +@@ -452,6 +452,13 @@ restart: + break; + j = n; + vector_foreach_slot_after(hw, hwe2, j) { ++ /* drop invalid device configs */ ++ if (!hwe2->vendor || !hwe2->product) { ++ condlog(0, "device config missing vendor or product parameter"); ++ vector_del_slot(hw, j--); ++ free_hwe(hwe2); ++ continue; ++ } + if (hwe_regmatch(hwe1, hwe2)) + continue; + /* dup */ +-- +2.8.1 + diff --git a/meta-oe/recipes-support/multipath-tools/files/0011-multipathd-fix-show-maps-json-crash.patch b/meta-oe/recipes-support/multipath-tools/files/0011-multipathd-fix-show-maps-json-crash.patch new file mode 100644 index 0000000..12d6d38 --- /dev/null +++ b/meta-oe/recipes-support/multipath-tools/files/0011-multipathd-fix-show-maps-json-crash.patch @@ -0,0 +1,38 @@ +From bc3ceda747104afdc24386df5dc45ca86f6c2936 Mon Sep 17 00:00:00 2001 +From: Benjamin Marzinski +Date: Thu, 1 Jun 2017 17:52:28 -0500 +Subject: [PATCH 11/14] multipathd: fix "show maps json" crash + +If there are no multipath devices, show_maps_json sets the maximum size +of the reply buffer to 0. Having a size of 0 causes the calls to calloc +and realloc to behave in ways that the code isn't designed to handle, +leading to a double-free crash. Instead, show_maps_json should just +use the INITIAL_REPLY_LEN if there are no multipath devices. + +Signed-off-by: Benjamin Marzinski +--- + multipathd/cli_handlers.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/multipathd/cli_handlers.c b/multipathd/cli_handlers.c +index 04c7386..7b0d00c 100644 +--- a/multipathd/cli_handlers.c ++++ b/multipathd/cli_handlers.c +@@ -162,10 +162,12 @@ show_maps_json (char ** r, int * len, struct vectors * vecs) + struct multipath * mpp; + char * c; + char * reply; +- unsigned int maxlen = INITIAL_REPLY_LEN * +- PRINT_JSON_MULTIPLIER * VECTOR_SIZE(vecs->mpvec); ++ unsigned int maxlen = INITIAL_REPLY_LEN; + int again = 1; + ++ if (VECTOR_SIZE(vecs->mpvec) > 0) ++ maxlen *= PRINT_JSON_MULTIPLIER * VECTOR_SIZE(vecs->mpvec); ++ + vector_foreach_slot(vecs->mpvec, mpp, i) { + if (update_multipath(vecs, mpp->alias, 0)) { + return 1; +-- +2.8.1 + diff --git a/meta-oe/recipes-support/multipath-tools/files/0012-multipath-tools-modify-Makefile.inc-for-cross-compil.patch b/meta-oe/recipes-support/multipath-tools/files/0012-multipath-tools-modify-Makefile.inc-for-cross-compil.patch new file mode 100644 index 0000000..5ccd4ae --- /dev/null +++ b/meta-oe/recipes-support/multipath-tools/files/0012-multipath-tools-modify-Makefile.inc-for-cross-compil.patch @@ -0,0 +1,58 @@ +From 6864ba28dec61609662ce5dc8bc7ed1925abb546 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Wed, 5 Jul 2017 02:56:13 -0400 +Subject: [PATCH 12/14] multipath-tools: modify Makefile.inc for + cross-compilation + +Do not look for systemd info on the host, and allow us to pass in CFLAGS +using the OPTFLAGS variable. + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Joe Slater + +Update for version 0.5.0-144-g770e6d0 + +Signed-off-by: Kai Kang + +Update for version 0.7.1 + +Signed-off-by: Hongxu Jia +--- + Makefile.inc | 8 ++------ + 1 file changed, 2 insertions(+), 6 deletions(-) + +diff --git a/Makefile.inc b/Makefile.inc +index e084fd1..c7f45fa 100644 +--- a/Makefile.inc ++++ b/Makefile.inc +@@ -35,12 +35,6 @@ ifndef RUN + endif + endif + +-ifndef SYSTEMD +- ifeq ($(shell systemctl --version > /dev/null 2>&1 && echo 1), 1) +- SYSTEMD = $(shell systemctl --version 2> /dev/null | sed -n 's/systemd \([0-9]*\)/\1/p') +- endif +-endif +- + ifndef SYSTEMDPATH + SYSTEMDPATH=usr/lib + endif +@@ -82,11 +76,13 @@ TEST_CC_OPTION = $(shell \ + + STACKPROT := $(call TEST_CC_OPTION,-fstack-protector-strong,-fstack-protector) + ++ifndef OPTFLAGS + OPTFLAGS = -O2 -g -pipe -Wall -Wextra -Wformat=2 -Werror=implicit-int \ + -Werror=implicit-function-declaration -Werror=format-security \ + -Wno-sign-compare -Wno-unused-parameter -Wno-clobbered \ + -Wp,-D_FORTIFY_SOURCE=2 $(STACKPROT) \ + --param=ssp-buffer-size=4 ++endif + + CFLAGS = $(OPTFLAGS) -DLIB_STRING=\"${LIB}\" -DRUN_DIR=\"${RUN}\" + BIN_CFLAGS = -fPIE -DPIE +-- +2.8.1 + diff --git a/meta-oe/recipes-support/multipath-tools/files/0013-Always-use-devmapper.patch b/meta-oe/recipes-support/multipath-tools/files/0013-Always-use-devmapper.patch new file mode 100644 index 0000000..52240f6 --- /dev/null +++ b/meta-oe/recipes-support/multipath-tools/files/0013-Always-use-devmapper.patch @@ -0,0 +1,53 @@ +From 1498338970a093fccbda3e33f5588a289ef2c66a Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Wed, 5 Jul 2017 02:59:46 -0400 +Subject: [PATCH 13/14] Always use devmapper + +Do not try to compute several _API_ make variables +from host information when cross-compiling. + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Aws Ismail +Signed-off-by: Joe Slater + +Rebase to 0.7.1 + +Signed-off-by: Hongxu Jia +--- + libmultipath/Makefile | 19 ++++--------------- + 1 file changed, 4 insertions(+), 15 deletions(-) + +diff --git a/libmultipath/Makefile b/libmultipath/Makefile +index b3244fc..9006b3f 100644 +--- a/libmultipath/Makefile ++++ b/libmultipath/Makefile +@@ -20,21 +20,10 @@ ifdef SYSTEMD + endif + endif + +-ifneq ($(call check_func,dm_task_no_flush,/usr/include/libdevmapper.h),0) +- CFLAGS += -DLIBDM_API_FLUSH -D_GNU_SOURCE +-endif +- +-ifneq ($(call check_func,dm_task_set_cookie,/usr/include/libdevmapper.h),0) +- CFLAGS += -DLIBDM_API_COOKIE +-endif +- +-ifneq ($(call check_func,udev_monitor_set_receive_buffer_size,/usr/include/libudev.h),0) +- CFLAGS += -DLIBUDEV_API_RECVBUF +-endif +- +-ifneq ($(call check_func,dm_task_deferred_remove,/usr/include/libdevmapper.h),0) +- CFLAGS += -DLIBDM_API_DEFERRED +-endif ++CFLAGS += -DLIBDM_API_FLUSH -D_GNU_SOURCE ++CFLAGS += -DLIBDM_API_COOKIE ++CFLAGS += -DLIBUDEV_API_RECVBUF ++CFLAGS += -DLIBDM_API_DEFERRED + + OBJS = memory.o parser.o vector.o devmapper.o callout.o \ + hwtable.o blacklist.o util.o dmparser.o config.o \ +-- +2.8.1 + diff --git a/meta-oe/recipes-support/multipath-tools/files/always-use-libdevmapper-kpartx.patch b/meta-oe/recipes-support/multipath-tools/files/0014-Always-use-devmapper-for-kpartx.patch similarity index 52% rename from meta-oe/recipes-support/multipath-tools/files/always-use-libdevmapper-kpartx.patch rename to meta-oe/recipes-support/multipath-tools/files/0014-Always-use-devmapper-for-kpartx.patch index 803e52c..f951213 100644 --- a/meta-oe/recipes-support/multipath-tools/files/always-use-libdevmapper-kpartx.patch +++ b/meta-oe/recipes-support/multipath-tools/files/0014-Always-use-devmapper-for-kpartx.patch @@ -1,7 +1,7 @@ -From 7267cf235fc052eaa1ca36e437096576edacb131 Mon Sep 17 00:00:00 2001 -From: Aws Ismail -Date: Mon, 22 Sep 2014 17:22:32 -0700 -Subject: [PATCH] Always use devmapper for kpartx +From 7f5869cd32a7b3f717d9544b35562d9d01ca6510 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Wed, 5 Jul 2017 03:03:16 -0400 +Subject: [PATCH 14/14] Always use devmapper for kpartx Do not try to compute the LIBDM_API_COOKIE make variable from host information when cross-compiling. @@ -10,21 +10,22 @@ Upstream-Status: Inappropriate [embedded specific] Signed-off-by: Aws Ismail Signed-off-by: Joe Slater + +Rebase to 0.7.1 +Signed-off-by: Hongxu Jia --- - kpartx/Makefile | 6 +----- - 1 file changed, 1 insertion(+), 5 deletions(-) + kpartx/Makefile | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/kpartx/Makefile b/kpartx/Makefile -index e8a59f2..e694a65 100644 +index bfa6fe8..be87124 100644 --- a/kpartx/Makefile +++ b/kpartx/Makefile -@@ -7,11 +7,7 @@ CFLAGS += -I. -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 +@@ -8,9 +8,7 @@ LDFLAGS += $(BIN_LDFLAGS) LIBDEPS += -ldevmapper --LIBDM_API_COOKIE = $(shell grep -Ecs '^[a-z]*[[:space:]]+dm_task_set_cookie' /usr/include/libdevmapper.h) -- --ifneq ($(strip $(LIBDM_API_COOKIE)),0) +-ifneq ($(call check_func,dm_task_set_cookie,/usr/include/libdevmapper.h),0) - CFLAGS += -DLIBDM_API_COOKIE -endif +CFLAGS += -DLIBDM_API_COOKIE @@ -32,5 +33,5 @@ index e8a59f2..e694a65 100644 OBJS = bsd.o dos.o kpartx.o solaris.o unixware.o dasd.o sun.o \ gpt.o mac.o ps3.o crc32.o lopart.o xstrncpy.o devmapper.o -- -2.11.0 +2.8.1 diff --git a/meta-oe/recipes-support/multipath-tools/files/always-use-libdevmapper.patch b/meta-oe/recipes-support/multipath-tools/files/always-use-libdevmapper.patch deleted file mode 100644 index 33834f6..0000000 --- a/meta-oe/recipes-support/multipath-tools/files/always-use-libdevmapper.patch +++ /dev/null @@ -1,57 +0,0 @@ -From c4f0dba4e86bfa20252fcc8218398e7468ca9149 Mon Sep 17 00:00:00 2001 -From: Aws Ismail -Date: Mon, 22 Sep 2014 17:22:32 -0700 -Subject: [PATCH] Always use devmapper - -Do not try to compute several _API_ make variables -from host information when cross-compiling. - -Upstream-Status: Inappropriate [embedded specific] - -Signed-off-by: Aws Ismail -Signed-off-by: Joe Slater ---- - libmultipath/Makefile | 27 ++++----------------------- - 1 file changed, 4 insertions(+), 23 deletions(-) - -diff --git a/libmultipath/Makefile b/libmultipath/Makefile -index 495cebe..9626e69 100644 ---- a/libmultipath/Makefile -+++ b/libmultipath/Makefile -@@ -20,29 +20,10 @@ ifdef SYSTEMD - endif - endif - --LIBDM_API_FLUSH = $(shell grep -Ecs '^[a-z]*[[:space:]]+dm_task_no_flush' /usr/include/libdevmapper.h) -- --ifneq ($(strip $(LIBDM_API_FLUSH)),0) -- CFLAGS += -DLIBDM_API_FLUSH -D_GNU_SOURCE --endif -- --LIBDM_API_COOKIE = $(shell grep -Ecs '^[a-z]*[[:space:]]+dm_task_set_cookie' /usr/include/libdevmapper.h) -- --ifneq ($(strip $(LIBDM_API_COOKIE)),0) -- CFLAGS += -DLIBDM_API_COOKIE --endif -- --LIBUDEV_API_RECVBUF = $(shell grep -Ecs '^[a-z]*[[:space:]]+udev_monitor_set_receive_buffer_size' /usr/include/libudev.h) -- --ifneq ($(strip $(LIBUDEV_API_RECVBUF)),0) -- CFLAGS += -DLIBUDEV_API_RECVBUF --endif -- --LIBDM_API_DEFERRED = $(shell grep -Ecs '^[a-z]*[[:space:]]+dm_task_deferred_remove' /usr/include/libdevmapper.h) -- --ifneq ($(strip $(LIBDM_API_DEFERRED)),0) -- CFLAGS += -DLIBDM_API_DEFERRED --endif -+CFLAGS += -DLIBDM_API_FLUSH -D_GNU_SOURCE -+CFLAGS += -DLIBDM_API_COOKIE -+CFLAGS += -DLIBUDEV_API_RECVBUF -+CFLAGS += -DLIBDM_API_DEFERRED - - OBJS = memory.o parser.o vector.o devmapper.o callout.o \ - hwtable.o blacklist.o util.o dmparser.o config.o \ --- -2.11.0 - diff --git a/meta-oe/recipes-support/multipath-tools/files/checkers-disable-libcheckrbd.so.patch b/meta-oe/recipes-support/multipath-tools/files/checkers-disable-libcheckrbd.so.patch deleted file mode 100644 index 908a516..0000000 --- a/meta-oe/recipes-support/multipath-tools/files/checkers-disable-libcheckrbd.so.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 148b848f45957e5e1c0466e8c79c84ba4a0bf241 Mon Sep 17 00:00:00 2001 -From: Patrick Ohly -Date: Fri, 27 Jan 2017 10:35:54 +0100 -Subject: [PATCH] checkers: disable libcheckrbd.so - -libcheckrbd.so depends on librados, which is not currently available -as a recipe. These checkers seem to be optional, so for now we merely -disable compilation of libcheckrbd.so. - -Upstream-Status: Inappropriate [configuration] - -Signed-off-by: Patrick Ohly ---- - libmultipath/checkers/Makefile | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/libmultipath/checkers/Makefile b/libmultipath/checkers/Makefile -index 11ab76f..c848d50 100644 ---- a/libmultipath/checkers/Makefile -+++ b/libmultipath/checkers/Makefile -@@ -14,7 +14,6 @@ LIBS= \ - libcheckemc_clariion.so \ - libcheckhp_sw.so \ - libcheckrdac.so \ -- libcheckrbd.so - - all: $(LIBS) - --- -2.11.0 - diff --git a/meta-oe/recipes-support/multipath-tools/files/makefile_inc.patch b/meta-oe/recipes-support/multipath-tools/files/makefile_inc.patch deleted file mode 100644 index 5b7b696..0000000 --- a/meta-oe/recipes-support/multipath-tools/files/makefile_inc.patch +++ /dev/null @@ -1,59 +0,0 @@ -From 9f5768eca165502b0f17d271aa6f7cf530ec60b2 Mon Sep 17 00:00:00 2001 -From: Joe Slater -Date: Mon, 22 Sep 2014 17:22:32 -0700 -Subject: [PATCH] multipath-tools: modify Makefile.inc for - cross-compilation - -Do not look for systemd info on the host, and allow us to pass in CFLAGS -using the OPTFLAGS variable. - -Upstream-Status: Inappropriate [embedded specific] - -Signed-off-by: Joe Slater - -Update for version 0.5.0-144-g770e6d0 - -Signed-off-by: Kai Kang ---- - Makefile.inc | 17 +++++------------ - 1 file changed, 5 insertions(+), 12 deletions(-) - -diff --git a/Makefile.inc b/Makefile.inc -index 1cc8f44..15f8b91 100644 ---- a/Makefile.inc -+++ b/Makefile.inc -@@ -29,12 +29,6 @@ ifndef RUN - endif - endif - --ifndef SYSTEMD -- ifeq ($(shell systemctl --version > /dev/null 2>&1 && echo 1), 1) -- SYSTEMD = $(shell systemctl --version 2> /dev/null | sed -n 's/systemd \([0-9]*\)/\1/p') -- endif --endif -- - ifndef SYSTEMDPATH - SYSTEMDPATH=usr/lib - endif -@@ -61,13 +55,12 @@ RM = rm -f - LN = ln -sf - INSTALL_PROGRAM = install - --OPTFLAGS = -O2 -g -pipe -Wall -Wextra -Wformat=2 \ -- -Wno-sign-compare -Wno-unused-parameter -Wno-clobbered \ -- -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector \ -- --param=ssp-buffer-size=4 -+ifndef OPTFLAGS -+OPTFLAGS = $(RPM_OPT_FLAGS) -Wunused -Wstrict-prototypes -+endif - --CFLAGS = $(OPTFLAGS) -fPIC -DLIB_STRING=\"${LIB}\" -DRUN_DIR=\"${RUN}\" --SHARED_FLAGS = -shared -+CFLAGS = $(OPTFLAGS) -fPIC -DLIB_STRING=\"${LIB}\" -DRUN_DIR=\"${RUN}\" -+SHARED_FLAGS = -shared - - %.o: %.c - $(CC) $(CFLAGS) -c -o $@ $< --- -2.11.0 - diff --git a/meta-oe/recipes-support/multipath-tools/files/multipath.conf.example b/meta-oe/recipes-support/multipath-tools/files/multipath.conf.example new file mode 100644 index 0000000..6bbeadb --- /dev/null +++ b/meta-oe/recipes-support/multipath-tools/files/multipath.conf.example @@ -0,0 +1,90 @@ +# This is a basic configuration file with some examples, for device mapper +# multipath. +# For a complete list of the default configuration values, see +# /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf.defaults +# For a list of configuration options with descriptions, see +# /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf.annotated + +## By default, devices with vendor = "IBM" and product = "S/390.*" are +## blacklisted. To enable mulitpathing on these devies, uncomment the +## following lines. +#blacklist_exceptions { +# device { +# vendor "IBM" +# product "S/390.*" +# } +#} + +## Use user friendly names, instead of using WWIDs as names. +defaults { + user_friendly_names yes +} +## +## Here is an example of how to configure some standard options. +## +# +#defaults { +# udev_dir /dev +# polling_interval 10 +# selector "round-robin 0" +# path_grouping_policy multibus +# getuid_callout "/lib/udev/scsi_id --whitelisted --device=/dev/%n" +# prio alua +# path_checker readsector0 +# rr_min_io 100 +# max_fds 8192 +# rr_weight priorities +# failback immediate +# no_path_retry fail +# user_friendly_names yes +#} +## +## The wwid line in the following blacklist section is shown as an example +## of how to blacklist devices by wwid. The 2 devnode lines are the +## compiled in default blacklist. If you want to blacklist entire types +## of devices, such as all scsi devices, you should use a devnode line. +## However, if you want to blacklist specific devices, you should use +## a wwid line. Since there is no guarantee that a specific device will +## not change names on reboot (from /dev/sda to /dev/sdb for example) +## devnode lines are not recommended for blacklisting specific devices. +## +#blacklist { +# wwid 26353900f02796769 +# devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*" +# devnode "^hd[a-z]" +#} +#multipaths { +# multipath { +# wwid 3600508b4000156d700012000000b0000 +# alias yellow +# path_grouping_policy multibus +# path_checker readsector0 +# path_selector "round-robin 0" +# failback manual +# rr_weight priorities +# no_path_retry 5 +# } +# multipath { +# wwid 1DEC_____321816758474 +# alias red +# } +#} +#devices { +# device { +# vendor "COMPAQ " +# product "HSV110 (C)COMPAQ" +# path_grouping_policy multibus +# getuid_callout "/lib/udev/scsi_id --whitelisted --device=/dev/%n" +# path_checker readsector0 +# path_selector "round-robin 0" +# hardware_handler "0" +# failback 15 +# rr_weight priorities +# no_path_retry queue +# } +# device { +# vendor "COMPAQ " +# product "MSA1000 " +# path_grouping_policy multibus +# } +#} diff --git a/meta-oe/recipes-support/multipath-tools/files/shared-libs-avoid-linking-.so-as-executable.patch b/meta-oe/recipes-support/multipath-tools/files/shared-libs-avoid-linking-.so-as-executable.patch deleted file mode 100644 index 88579e6..0000000 --- a/meta-oe/recipes-support/multipath-tools/files/shared-libs-avoid-linking-.so-as-executable.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 4311856200480288494df8df737f71ea316592d0 Mon Sep 17 00:00:00 2001 -From: Patrick Ohly -Date: Thu, 26 Jan 2017 15:28:34 +0100 -Subject: [PATCH] shared libs: avoid linking .so as executable - -When the OE build systems sets CFLAGS including -pie, gcc overrides -the earlier -shared parameter and tries to link a binary, leading to -errors about missing functions like main(). - -Reordering the parameters so that -shared comes after CFLAGS -fixes this. - -Upstream-Status: Inappropriate [OE specific, -pie shouldn't be in CFLAGS?!] - -Signed-off-by: Patrick Ohly ---- -diff --git a/libmpathcmd/Makefile b/libmpathcmd/Makefile -index 457c4ca..f68c82c 100644 ---- a/libmpathcmd/Makefile -+++ b/libmpathcmd/Makefile -@@ -9,7 +9,7 @@ OBJS = mpath_cmd.o - all: $(LIBS) - - $(LIBS): $(OBJS) -- $(CC) $(LDFLAGS) $(SHARED_FLAGS) -Wl,-soname=$@ $(CFLAGS) -o $@ $(OBJS) $(LIBDEPS) -+ $(CC) $(LDFLAGS) $(CFLAGS) $(SHARED_FLAGS) -Wl,-soname=$@ -o $@ $(OBJS) $(LIBDEPS) - $(LN) $@ $(DEVLIB) - - install: $(LIBS) -diff --git a/libmpathpersist/Makefile b/libmpathpersist/Makefile -index 6e43427..2486302 100644 ---- a/libmpathpersist/Makefile -+++ b/libmpathpersist/Makefile -@@ -15,7 +15,7 @@ all: $(LIBS) - - $(LIBS): - $(CC) -c $(CFLAGS) *.c -- $(CC) $(LDFLAGS) $(SHARED_FLAGS) $(LIBDEPS) -Wl,-soname=$@ $(CFLAGS) -o $@ $(OBJS) -+ $(CC) $(LDFLAGS) $(CFLAGS) $(SHARED_FLAGS) $(LIBDEPS) -Wl,-soname=$@ -o $@ $(OBJS) - $(LN) $(LIBS) $(DEVLIB) - $(GZIP) mpath_persistent_reserve_in.3 > mpath_persistent_reserve_in.3.gz - $(GZIP) mpath_persistent_reserve_out.3 > mpath_persistent_reserve_out.3.gz -diff --git a/libmultipath/Makefile b/libmultipath/Makefile -index 495cebe..752bcc0 100644 ---- a/libmultipath/Makefile -+++ b/libmultipath/Makefile -@@ -55,7 +55,7 @@ OBJS = memory.o parser.o vector.o devmapper.o callout.o \ - all: $(LIBS) - - $(LIBS): $(OBJS) -- $(CC) $(LDFLAGS) $(SHARED_FLAGS) -Wl,-soname=$@ $(CFLAGS) -o $@ $(OBJS) $(LIBDEPS) -+ $(CC) $(LDFLAGS) $(CFLAGS) $(SHARED_FLAGS) -Wl,-soname=$@ -o $@ $(OBJS) $(LIBDEPS) - $(LN) $@ $(DEVLIB) - - install: diff --git a/meta-oe/recipes-support/multipath-tools/multipath-tools_0.7.1.bb b/meta-oe/recipes-support/multipath-tools/multipath-tools_0.7.1.bb new file mode 100644 index 0000000..9331211 --- /dev/null +++ b/meta-oe/recipes-support/multipath-tools/multipath-tools_0.7.1.bb @@ -0,0 +1,112 @@ +SUMMARY = "The upstream project used to drive the Device Mapper multipathing driver" + +DESCRIPTION = "It provides tools to manage multipath devices \ +by instructing the device-mapper kernel module what to do. These \ +tools include: \ +1. multipath - Scan the system for multipath devices and assemble them.\ +2. multipathd - Detects when paths fail and execs multipath to update \ +things.\ +3. mpathpersist - Persistent reservation management feature allows \ +cluster management software to manage persistent reservation through \ +mpath device. It processes management requests from callers and hides \ +the management task details. It also handles persistent reservation \ +management of data path life cycle and state changes.\ +4. kpartx - This tool, derived from util-linux's partx, reads partition \ +tables on specified device and create device maps over partitions \ +segments detected. It is called from hotplug upon device maps creation \ +and deletion" + +HOMEPAGE = "http://christophe.varoqui.free.fr/" + +DEPENDS = "libdevmapper \ + libaio \ + liburcu \ + readline \ + udev \ + json-c \ + " + +LICENSE = "GPLv2" + +SRC_URI = "git://git.opensvc.com/multipath-tools/.git;protocol=http \ + file://multipathd.oe \ + file://multipath.conf.example \ + file://0001-multipath-attempt-at-common-multipath.rules.patch \ + file://0002-RH-fixup-udev-rules-for-redhat.patch \ + file://0003-RH-Remove-the-property-blacklist-exception-builtin.patch \ + file://0004-RH-don-t-start-without-a-config-file.patch \ + file://0005-RH-add-mpathconf.patch \ + file://0006-RH-add-wwids-from-kernel-cmdline-mpath.wwids-with-A.patch \ + file://0007-RH-trigger-change-uevent-on-new-device-creation.patch \ + file://0008-libmultipath-change-how-RADOS-checker-is-enabled.patch \ + file://0009-multipath-set-verbosity-to-default-during-config.patch \ + file://0010-mpath-skip-device-configs-without-vendor-product.patch \ + file://0011-multipathd-fix-show-maps-json-crash.patch \ + file://0012-multipath-tools-modify-Makefile.inc-for-cross-compil.patch \ + file://0013-Always-use-devmapper.patch \ + file://0014-Always-use-devmapper-for-kpartx.patch \ + " +LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2" + +SRCREV = "f21166a812a2cfb50ecf9550d32947c83103f83a" + +S = "${WORKDIR}/git" + +inherit systemd pkgconfig + +SYSTEMD_SERVICE_${PN} = "multipathd.service" + +TARGET_CC_ARCH += "${LDFLAGS}" + +# multipath-tools includes a copy of the valgrind.h header +# file and uses the macros to suppress some false positives. However, +# that only works on ARM when thumb is disabled. Otherwise one gets: +# Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r12,r12,ror#3' +# ../Makefile.inc:66: recipe for target 'debug.o' failed +ARM_INSTRUCTION_SET_armv4 = "arm" +ARM_INSTRUCTION_SET_armv5 = "arm" + +# The exact version of SYSTEMD does not matter but should be greater than 209. +# +EXTRA_OEMAKE = 'MULTIPATH_VERSION=${PV} DESTDIR=${D} syslibdir=${base_libdir} \ + OPTFLAGS="${CFLAGS}" \ + bindir=${base_sbindir} \ + LIB=${base_libdir} libdir=${base_libdir}/multipath \ + unitdir=${systemd_system_unitdir} \ + ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "SYSTEMD=216", "", d)} \ + ' + +do_install() { + oe_runmake install + + # We copy an initscript, but do not start multipathd at init time. + # + if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)};then + install -d ${D}${sysconfdir}/init.d + cp ${WORKDIR}/multipathd.oe ${D}${sysconfdir}/init.d/multipathd + fi + + install -d ${D}${sysconfdir} + install -m 0644 ${WORKDIR}/multipath.conf.example \ + ${D}${sysconfdir}/multipath.conf.example +} + +FILES_${PN}-dbg += "${base_libdir}/multipath/.debug" + +PACKAGES =+ "${PN}-libs" +FILES_${PN}-libs = "${base_libdir}/lib*.so.* \ + ${base_libdir}/multipath/lib*.so*" +RDEPENDS_${PN} += "${PN}-libs" + +PROVIDES += "device-mapper-multipath" +RPROVIDES_${PN} += "device-mapper-multipath" +RPROVIDES_${PN}-libs += "device-mapper-multipath-libs" + +FILES_${PN}-dev += "${base_libdir}/pkgconfig" + +PACKAGES =+ "kpartx" +FILES_kpartx = "${base_sbindir}/kpartx \ + ${nonarch_libdir}/udev/kpartx_id \ + " + +RDEPENDS_${PN} += "kpartx" diff --git a/meta-oe/recipes-support/multipath-tools/multipath-tools_git.bb b/meta-oe/recipes-support/multipath-tools/multipath-tools_git.bb deleted file mode 100644 index 5f8c422..0000000 --- a/meta-oe/recipes-support/multipath-tools/multipath-tools_git.bb +++ /dev/null @@ -1,71 +0,0 @@ -SUMMARY = "The upstream project used to drive the Device Mapper multipathing driver" - -DEPENDS = "libdevmapper libaio liburcu readline udev" - -LICENSE = "LGPLv2" - -SRC_URI = "git://git.opensvc.com/multipath-tools/.git;protocol=http \ - file://multipathd.oe \ - file://makefile_inc.patch \ - file://always-use-libdevmapper.patch \ - file://always-use-libdevmapper-kpartx.patch \ - file://0001-multipathd.service-Error-fix.patch \ - file://shared-libs-avoid-linking-.so-as-executable.patch \ - file://checkers-disable-libcheckrbd.so.patch \ - " -LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2" - -# 0.6.4 -SRCREV = "922421cf795d53d339862bb2d99f1a85c96ad9a3" - -inherit systemd - - -S = "${WORKDIR}/git" - -PV = "0.6.4+git${@'${SRCPV}'.split('+')[-1]}" - -TARGET_CC_ARCH += "${LDFLAGS}" - -# multipath-tools includes a copy of the valgrind.h header -# file and uses the macros to suppress some false positives. However, -# that only works on ARM when thumb is disabled. Otherwise one gets: -# Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r12,r12,ror#3' -# ../Makefile.inc:66: recipe for target 'debug.o' failed -ARM_INSTRUCTION_SET_armv4 = "arm" -ARM_INSTRUCTION_SET_armv5 = "arm" - -# The exact version of SYSTEMD does not matter but should be greater than 209. -# -EXTRA_OEMAKE = 'MULTIPATH_VERSION=${PV} DESTDIR=${D} syslibdir=${base_libdir} \ - OPTFLAGS="${CFLAGS}" \ - bindir=${base_sbindir} \ - LIB=${base_libdir} libdir=${base_libdir}/multipath \ - unitdir=${systemd_system_unitdir} \ - ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "SYSTEMD=216", "", d)} \ - ' - -do_install() { - oe_runmake install - - # We copy an initscript, but do not start multipathd at init time. - # - install -d ${D}${sysconfdir}/init.d - cp ${WORKDIR}/multipathd.oe ${D}${sysconfdir}/init.d/multipathd - -} - -FILES_${PN}-dbg += "${base_libdir}/multipath/.debug" - -# systemd and udev stuff always goes under /lib! -# -FILES_${PN} += "${base_libdir}/multipath \ - ${systemd_system_unitdir} \ - " - -PACKAGES =+ "kpartx" -FILES_kpartx = "${base_sbindir}/kpartx \ - ${nonarch_libdir}/udev/kpartx_id \ - " - -RDEPENDS_${PN} += "kpartx" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:48:25 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:48:25 +0000 Subject: [oe-commits] [meta-openembedded] 38/60: gvfs: update 1.28.3 -> 1.32.1 In-Reply-To: <150006886722.7705.14424127970521923710@git.openembedded.org> References: <150006886722.7705.14424127970521923710@git.openembedded.org> Message-ID: <20170714214748.8F9412334D7@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 187798c3bd3dad2de3d159faf456aa6e71fbdf46 Author: Andreas M?ller AuthorDate: Mon Jul 10 19:35:03 2017 +0200 gvfs: update 1.28.3 -> 1.32.1 Signed-off-by: Andreas M?ller Signed-off-by: Martin Jansa --- meta-gnome/recipes-gnome/gvfs/{gvfs_1.28.3.bb => gvfs_1.32.1.bb} | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/meta-gnome/recipes-gnome/gvfs/gvfs_1.28.3.bb b/meta-gnome/recipes-gnome/gvfs/gvfs_1.32.1.bb similarity index 91% rename from meta-gnome/recipes-gnome/gvfs/gvfs_1.28.3.bb rename to meta-gnome/recipes-gnome/gvfs/gvfs_1.32.1.bb index 62b757f..94d8954 100644 --- a/meta-gnome/recipes-gnome/gvfs/gvfs_1.28.3.bb +++ b/meta-gnome/recipes-gnome/gvfs/gvfs_1.32.1.bb @@ -2,14 +2,14 @@ DESCRIPTION = "gvfs is a userspace virtual filesystem" LICENSE = "LGPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=05df38dd77c35ec8431f212410a3329e" -inherit gnome bash-completion +inherit gnome bash-completion gettext DEPENDS += "libsecret glib-2.0 gconf intltool-native libgudev udisks2" SRC_URI = "https://download.gnome.org/sources/${BPN}/${@gnome_verdir("${PV}")}/${BPN}-${PV}.tar.xz;name=archive" -SRC_URI[archive.md5sum] = "d2399a1a217dd5030e8830c7e7c813c2" -SRC_URI[archive.sha256sum] = "458c4cb68570f6ef4a9e152995c62d0057c3e0a07ed64d84c7200cdd22f0bd17" +SRC_URI[archive.md5sum] = "cbe766b46f324e17d7abcfb4a89a1684" +SRC_URI[archive.sha256sum] = "d0b6c9edab09d52472355657a2f0a14831b2e6c58caba395f721ab683f836ade" EXTRA_OECONF = " \ --disable-gdu \ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:48:24 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:48:24 +0000 Subject: [oe-commits] [meta-openembedded] 37/60: udisks2: update 2.1.7 -> 2.1.8 In-Reply-To: <150006886722.7705.14424127970521923710@git.openembedded.org> References: <150006886722.7705.14424127970521923710@git.openembedded.org> Message-ID: <20170714214748.8891B2334D1@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 14171d0c63009b736ae8c87548b0e675d11eabcb Author: Andreas M?ller AuthorDate: Mon Jul 10 19:35:02 2017 +0200 udisks2: update 2.1.7 -> 2.1.8 Signed-off-by: Andreas M?ller Signed-off-by: Martin Jansa --- meta-oe/recipes-support/udisks/{udisks2_2.1.7.bb => udisks2_2.1.8.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-oe/recipes-support/udisks/udisks2_2.1.7.bb b/meta-oe/recipes-support/udisks/udisks2_2.1.8.bb similarity index 89% rename from meta-oe/recipes-support/udisks/udisks2_2.1.7.bb rename to meta-oe/recipes-support/udisks/udisks2_2.1.8.bb index d8f7eaa..6d90e49 100644 --- a/meta-oe/recipes-support/udisks/udisks2_2.1.7.bb +++ b/meta-oe/recipes-support/udisks/udisks2_2.1.8.bb @@ -10,8 +10,8 @@ RDEPENDS_${PN} = "acl" SRC_URI = "http://udisks.freedesktop.org/releases/udisks-${PV}.tar.bz2 \ file://non-gnu-libc.patch \ " -SRC_URI[md5sum] = "8bccd36573b75286538bd5bd2c424f45" -SRC_URI[sha256sum] = "abae2bb3bdc691ca13c1e4c244630b8c881c4f3b35c207299f1b39b7bec83785" +SRC_URI[md5sum] = "501d11c243bd8c6c00650474cd2afaab" +SRC_URI[sha256sum] = "da416914812a77e5f4d82b81deb8c25799fd3228d27d52f7bf89a501b1857dda" inherit autotools systemd gtk-doc gobject-introspection -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:48:05 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:48:05 +0000 Subject: [oe-commits] [meta-openembedded] 18/60: ltrace: Add mips64 support In-Reply-To: <150006886722.7705.14424127970521923710@git.openembedded.org> References: <150006886722.7705.14424127970521923710@git.openembedded.org> Message-ID: <20170714214747.EED5A233472@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 27a7e20e2bb8722aad9dc59509fc0884f1b276b4 Author: Khem Raj AuthorDate: Sat Jul 1 12:54:55 2017 -0700 ltrace: Add mips64 support Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../0001-Add-support-for-mips64-n32-n64.patch | 1148 ++++++++++++++++++++ meta-oe/recipes-devtools/ltrace/ltrace_git.bb | 1 + 2 files changed, 1149 insertions(+) diff --git a/meta-oe/recipes-devtools/ltrace/ltrace/0001-Add-support-for-mips64-n32-n64.patch b/meta-oe/recipes-devtools/ltrace/ltrace/0001-Add-support-for-mips64-n32-n64.patch new file mode 100644 index 0000000..d0daf14 --- /dev/null +++ b/meta-oe/recipes-devtools/ltrace/ltrace/0001-Add-support-for-mips64-n32-n64.patch @@ -0,0 +1,1148 @@ +From 5f6dfafb80bdc2566fe91d5fde96769175fabf35 Mon Sep 17 00:00:00 2001 +From: Faraz Shahbazker +Date: Sat, 1 Jul 2017 10:56:59 -0700 +Subject: [PATCH] Add support for mips64 n32/n64 + +Signed-off-by: Khem Raj +--- +Upstream-Status: Pending +Source: http://lists.alioth.debian.org/pipermail/ltrace-devel/2015-May/001327.html + + backend.h | 8 + + ltrace-elf.c | 12 ++ + proc.h | 1 + + sysdeps/linux-gnu/mips/Makefile.am | 1 + + sysdeps/linux-gnu/mips/abi.c | 64 +++++++ + sysdeps/linux-gnu/mips/arch.h | 24 ++- + sysdeps/linux-gnu/mips/plt.c | 68 ++++++-- + sysdeps/linux-gnu/mips/signalent1.h | 52 ++++++ + sysdeps/linux-gnu/mips/syscallent1.h | 328 +++++++++++++++++++++++++++++++++++ + sysdeps/linux-gnu/mips/trace.c | 241 ++++++++++++++++++------- + sysdeps/linux-gnu/mksyscallent_mips | 9 +- + 11 files changed, 728 insertions(+), 80 deletions(-) + create mode 100644 sysdeps/linux-gnu/mips/abi.c + create mode 100644 sysdeps/linux-gnu/mips/signalent1.h + create mode 100644 sysdeps/linux-gnu/mips/syscallent1.h + +diff --git a/backend.h b/backend.h +index e25daa0..0d6926a 100644 +--- a/backend.h ++++ b/backend.h +@@ -314,6 +314,14 @@ int arch_process_exec(struct process *proc); + int arch_get_sym_info(struct ltelf *lte, const char *filename, size_t sym_index, + GElf_Rela *rela, GElf_Sym *sym); + ++/* The following callback has to be implemented in backend if arch.h ++ * defines ARCH_HAVE_GET_ABI ++ * ++ * This is called from read_module just once, when reading the main module. ++ * The value returned is an architecture specific ID for the current ABI ++ * to be used later for ABI-specific operations. */ ++char arch_get_abi(GElf_Ehdr ehdr); ++ + enum plt_status { + PLT_FAIL, + PLT_OK, +diff --git a/ltrace-elf.c b/ltrace-elf.c +index f439cb0..a85edca 100644 +--- a/ltrace-elf.c ++++ b/ltrace-elf.c +@@ -1131,6 +1131,14 @@ populate_symtab(struct process *proc, const char *filename, + only_exported_names); + } + ++#ifndef ARCH_HAVE_GET_ABI ++char ++arch_get_abi(GElf_Ehdr ehdr) ++{ ++ return 0; ++} ++#endif ++ + static int + read_module(struct library *lib, struct process *proc, + const char *filename, GElf_Addr bias, int main) +@@ -1151,6 +1159,10 @@ read_module(struct library *lib, struct process *proc, + * with 32-bit ltrace. It is desirable to preserve this. */ + proc->e_machine = lte.ehdr.e_machine; + proc->e_class = lte.ehdr.e_ident[EI_CLASS]; ++ /* Another candidate for the ABI module. We probably ++ * want to do all of the e_* stuff only once, for main */ ++ if (main) ++ proc->e_abi = arch_get_abi(lte.ehdr); + get_arch_dep(proc); + + /* Find out the base address. For PIE main binaries we look +diff --git a/proc.h b/proc.h +index a611456..00094e1 100644 +--- a/proc.h ++++ b/proc.h +@@ -117,6 +117,7 @@ struct process { + * nauseam. */ + short e_machine; + char e_class; ++ char e_abi; + + #if defined(HAVE_LIBDW) + /* Unwind info for leader, NULL for non-leader procs. */ +diff --git a/sysdeps/linux-gnu/mips/Makefile.am b/sysdeps/linux-gnu/mips/Makefile.am +index 1fd8c2a..571ee0d 100644 +--- a/sysdeps/linux-gnu/mips/Makefile.am ++++ b/sysdeps/linux-gnu/mips/Makefile.am +@@ -20,6 +20,7 @@ noinst_LTLIBRARIES = \ + ../libcpu.la + + ___libcpu_la_SOURCES = \ ++ abi.c \ + plt.c \ + regs.c \ + trace.c +diff --git a/sysdeps/linux-gnu/mips/abi.c b/sysdeps/linux-gnu/mips/abi.c +new file mode 100644 +index 0000000..64e3c10 +--- /dev/null ++++ b/sysdeps/linux-gnu/mips/abi.c +@@ -0,0 +1,64 @@ ++/* ++ * This file is part of ltrace. ++ * Copyright (C) 2015 Imagination Technologies Limited ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License as ++ * published by the Free Software Foundation; either version 2 of the ++ * License, or (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, but ++ * WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA ++ * 02110-1301 USA ++ */ ++ ++#include ++#include ++#include "arch.h" ++ ++/* ++ * There is no bit in the header-flags to mark N64 ABI, it must be ++ * determined by exclusion of other ABIs. The following values are ++ * from elfcpp/mips.h in binutils sources ++ */ ++enum ++{ ++ E_MIPS_ABI_MASK = 0x0000F000, ++ E_MIPS_ABI_N32 = 0x00000020, ++ E_MIPS_ABI_O32 = 0x00001000, ++ E_MIPS_ABI_O64 = 0x00002000, ++ E_MIPS_ABI_EABI32 = 0x00003000, ++ E_MIPS_ABI_EABI64 = 0x00004000, ++}; ++ ++char ++arch_get_abi(GElf_Ehdr ehdr) ++{ ++ enum mips_abi_type abi; ++ switch (ehdr.e_flags & E_MIPS_ABI_MASK) { ++ case E_MIPS_ABI_O32: ++ abi = ABI_O32; break; ++ case E_MIPS_ABI_O64: ++ abi = ABI_O64; break; ++ case E_MIPS_ABI_EABI32: ++ case E_MIPS_ABI_EABI64: ++ fprintf(stderr, "%s: MIPS EABI is not supported\n", __func__); ++ abi = -1; ++ break; ++ default: ++ if (ehdr.e_flags & E_MIPS_ABI_N32) ++ abi = ABI_N32; ++ else ++ abi = ABI_N64; ++ } ++ ++ return abi; ++} ++ ++/**@}*/ +diff --git a/sysdeps/linux-gnu/mips/arch.h b/sysdeps/linux-gnu/mips/arch.h +index 16273d2..8b75df2 100644 +--- a/sysdeps/linux-gnu/mips/arch.h ++++ b/sysdeps/linux-gnu/mips/arch.h +@@ -1,5 +1,6 @@ + /* + * This file is part of ltrace. ++ * Copyright (C) 2015 Imagination Technologies Limited + * Copyright (C) 2013,2014 Petr Machata, Red Hat Inc. + * Copyright (C) 2006 Eric Vaitl + * +@@ -38,8 +39,12 @@ + #define BREAKPOINT_LENGTH 4 + #define DECR_PC_AFTER_BREAK 0 + +-#define LT_ELFCLASS ELFCLASS32 ++#ifdef __LP64__ ++#define LT_ELFCLASS ELFCLASS64 + #define LT_ELF_MACHINE EM_MIPS ++#endif /* __LP64__ */ ++#define LT_ELFCLASS2 ELFCLASS32 ++#define LT_ELF_MACHINE2 EM_MIPS + + #define ARCH_HAVE_LTELF_DATA + struct arch_ltelf_data { +@@ -53,8 +58,14 @@ struct arch_ltelf_data { + #define ARCH_HAVE_ADD_PLT_ENTRY + #define ARCH_HAVE_SW_SINGLESTEP + #define ARCH_HAVE_SYMBOL_RET +- ++#define ARCH_HAVE_GET_ABI + #define ARCH_HAVE_LIBRARY_SYMBOL_DATA ++ ++#ifdef __LP64__ ++#define ARCH_HAVE_SIZEOF ++#define ARCH_HAVE_ALIGNOF ++#endif /* __LP64__ */ ++ + enum mips_plt_type + { + /* A symbol has associated PLT entry. */ +@@ -73,7 +84,14 @@ enum mips_plt_type + MIPS_PLT_NEED_UNRESOLVE, + }; + +-struct mips_unresolve_data; ++enum mips_abi_type ++{ ++ ABI_O32, ++ ABI_N32, ++ ABI_N64, ++ ABI_O64, ++}; ++ + struct arch_library_symbol_data { + enum mips_plt_type type; + union { +diff --git a/sysdeps/linux-gnu/mips/plt.c b/sysdeps/linux-gnu/mips/plt.c +index f3c12da..2d85ad9 100644 +--- a/sysdeps/linux-gnu/mips/plt.c ++++ b/sysdeps/linux-gnu/mips/plt.c +@@ -1,5 +1,6 @@ + /* + * This file is part of ltrace. ++ * Copyright (C) 2015 Imagination Technologies Limited + * Copyright (C) 2012,2013,2014 Petr Machata, Red Hat Inc. + * Copyright (C) 2012 Edgar E. Iglesias, Axis Communications + * Copyright (C) 2008,2009 Juan Cespedes +@@ -182,6 +183,11 @@ arch_find_dl_debug(struct process *proc, arch_addr_t dyn_addr, + { + arch_addr_t rld_addr; + int r; ++#ifdef __LP64__ ++ size_t addrsize = proc->mask_32bit ? 4 : (sizeof *ret); ++#else /* !__LP64__ */ ++ size_t addrsize = sizeof *ret; ++#endif /* !__LP64__ */ + + /* MIPS puts the address of the r_debug structure into the + * DT_MIPS_RLD_MAP entry instead of into the DT_DEBUG entry. */ +@@ -189,7 +195,7 @@ arch_find_dl_debug(struct process *proc, arch_addr_t dyn_addr, + DT_MIPS_RLD_MAP, &rld_addr); + if (r == 0) { + if (umovebytes(proc, rld_addr, +- ret, sizeof *ret) != sizeof *ret) { ++ ret, addrsize) != addrsize) { + r = -1; + } + } +@@ -295,14 +301,25 @@ arch_elf_init(struct ltelf *lte, struct library *lib) + + for (j = 0; j < data->d_size / 16; ++j) { + uint32_t insn; ++ int got_size = 4; ++ uint32_t load_inst = 0x24180000U; /* addui t8,0,xx */ ++ ++#ifdef __LP64__ ++ if (arch_get_abi(lte->ehdr) == ABI_N64 ++ || arch_get_abi(lte->ehdr) == ABI_O64) { ++ got_size = 8; ++ load_inst = 0x64180000U; /* daddui t8,0,xx */ ++ } ++#endif /* __LP64__ */ ++ + if (elf_read_u32(data, j * 16 + 12, &insn) < 0) + goto fail_stubs; + + if (insn == 0) + continue; + +- /* 0x2418XXXX encodes lbu 0,t8,XXXX or li t8,XXXX. */ +- if ((insn & 0xffff0000U) != 0x24180000U) ++ /* 0x[62]418XXXX encodes [d]addiu t8, 0, XXXX. */ ++ if ((insn & 0xffff0000U) != load_inst) + goto fail_stubs; + + unsigned idx = insn & 0xffff; +@@ -323,8 +340,8 @@ arch_elf_init(struct ltelf *lte, struct library *lib) + + lte->arch.mips_local_gotno; + /* XXX Double cast. */ + arch_addr_t got_entry_addr +- = (arch_addr_t) (uintptr_t) lte->arch.pltgot_addr +- + got_idx * 4; ++ = (arch_addr_t) (uintptr_t) (lte->arch.pltgot_addr ++ + got_idx * got_size); + + GElf_Rela rela = { + /* XXX double cast. */ +@@ -336,7 +353,7 @@ arch_elf_init(struct ltelf *lte, struct library *lib) + if (VECT_PUSHBACK(<e->plt_relocs, &rela) < 0) + goto fail_stubs; + +- fprintf(stderr, ++ debug(2, + "added stub entry for symbol %u at %#lx, GOT @%p\n", + idx, (unsigned long) rela.r_addend, got_entry_addr); + } +@@ -362,8 +379,17 @@ read_got_entry(struct process *proc, GElf_Addr addr, GElf_Addr *valp) + { + /* XXX double cast. */ + arch_addr_t a = (arch_addr_t) (uintptr_t) addr; +- uint32_t l; +- if (proc_read_32(proc, a, &l) < 0) { ++ uint64_t l = 0; ++ int result; ++ ++#ifdef __LP64__ ++ if (!proc->mask_32bit) ++ result = proc_read_64(proc, a, &l); ++ else ++#endif /* __LP64__ */ ++ result = proc_read_32(proc, a, (uint32_t *) &l); ++ ++ if (result < 0) { + fprintf(stderr, "ptrace read got entry @%#" PRIx64 ": %s\n", + addr, strerror(errno)); + return -1; +@@ -426,13 +452,13 @@ arch_elf_add_plt_entry(struct process *proc, struct ltelf *lte, + GElf_Addr stub_addr = rela->r_addend + lte->bias; + + debug(2, "PLT-less arch_elf_add_plt_entry %s = %#llx\n", +- a_name, stub_addr); ++ a_name, (unsigned long long) stub_addr); + + struct library_symbol *libsym = NULL; + if (default_elf_add_plt_entry(proc, lte, a_name, rela, ndx, + &libsym) < 0) { +- fprintf(stderr, "%s: failed %s(%#llx): %s\n", __func__, +- a_name, stub_addr, strerror(errno)); ++ fprintf(stderr, "%s: failed %s(%#lx): %s\n", __func__, ++ a_name, (unsigned long) stub_addr, strerror(errno)); + goto fail; + } + +@@ -503,13 +529,27 @@ jump_to_entry_point(struct process *proc, struct breakpoint *bp) + static int + unresolve_got_entry(struct process *proc, GElf_Addr addr, GElf_Addr value) + { +- uint32_t v32 = (uint32_t) value; +- uint32_t a32 = (uint32_t) addr; +- if (ptrace(PTRACE_POKETEXT, proc->pid, a32, v32) < 0) { ++ arch_addr_t a = (arch_addr_t) (uintptr_t) addr; ++#ifdef __LP64__ ++ /* To write 32-bit value in 64-bit mode, we must read-modify-write ++ the 64-bit value with only the lower 32 bits modified. */ ++ if (proc->mask_32bit) { ++ GElf_Addr orig = ptrace(PTRACE_PEEKTEXT, proc->pid, a, 0); ++ char *obytes = (char *) &orig; ++ char *nbytes = (char *) &value; ++ unsigned i; ++ ++ for (i = 0; i < 4; i++) ++ obytes[i] = nbytes[i]; ++ value = orig; ++ } ++#endif /* __LP64__ */ ++ if (ptrace(PTRACE_POKETEXT, proc->pid, a, (unsigned long) value) < 0) { + fprintf(stderr, "failed to unresolve GOT entry: %s\n", + strerror(errno)); + return -1; + } ++ + return 0; + } + +diff --git a/sysdeps/linux-gnu/mips/signalent1.h b/sysdeps/linux-gnu/mips/signalent1.h +new file mode 100644 +index 0000000..9e9d1f7 +--- /dev/null ++++ b/sysdeps/linux-gnu/mips/signalent1.h +@@ -0,0 +1,52 @@ ++/* ++ * This file is part of ltrace. ++ * Copyright (C) 2015 Imagination Technologies Limited ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License as ++ * published by the Free Software Foundation; either version 2 of the ++ * License, or (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, but ++ * WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA ++ * 02110-1301 USA ++ */ ++ ++ "SIG_0", /* 0 */ ++ "SIGHUP", /* 1 */ ++ "SIGINT", /* 2 */ ++ "SIGQUIT", /* 3 */ ++ "SIGILL", /* 4 */ ++ "SIGTRAP", /* 5 */ ++ "SIGIOT", /* 6 */ ++ "SIGEMT", /* 7 */ ++ "SIGFPE", /* 8 */ ++ "SIGKILL", /* 9 */ ++ "SIGBUS", /* 10 */ ++ "SIGSEGV", /* 11 */ ++ "SIGSYS", /* 12 */ ++ "SIGPIPE", /* 13 */ ++ "SIGALRM", /* 14 */ ++ "SIGTERM", /* 15 */ ++ "SIGUSR1", /* 16 */ ++ "SIGUSR2", /* 17 */ ++ "SIGCHLD", /* 18 */ ++ "SIGPWR", /* 19 */ ++ "SIGWINCH", /* 20 */ ++ "SIGURG", /* 21 */ ++ "SIGIO", /* 22 */ ++ "SIGSTOP", /* 23 */ ++ "SIGTSTP", /* 24 */ ++ "SIGCONT", /* 25 */ ++ "SIGTTIN", /* 26 */ ++ "SIGTTOU", /* 27 */ ++ "SIGVTALRM", /* 28 */ ++ "SIGPROF", /* 29 */ ++ "SIGXCPU", /* 30 */ ++ "SIGXFSZ", /* 31 */ +diff --git a/sysdeps/linux-gnu/mips/syscallent1.h b/sysdeps/linux-gnu/mips/syscallent1.h +new file mode 100644 +index 0000000..dfa4954 +--- /dev/null ++++ b/sysdeps/linux-gnu/mips/syscallent1.h +@@ -0,0 +1,328 @@ ++/* ++ * This file is part of ltrace. ++ * Copyright (C) 2015 Imagination Technologies Limited ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License as ++ * published by the Free Software Foundation; either version 2 of the ++ * License, or (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, but ++ * WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA ++ * 02110-1301 USA ++ */ ++ ++/* MIPS64 */ ++ ++ "read", /* 0 */ ++ "write", /* 1 */ ++ "open", /* 2 */ ++ "close", /* 3 */ ++ "stat", /* 4 */ ++ "fstat", /* 5 */ ++ "lstat", /* 6 */ ++ "poll", /* 7 */ ++ "lseek", /* 8 */ ++ "mmap", /* 9 */ ++ "mprotect", /* 10 */ ++ "munmap", /* 11 */ ++ "brk", /* 12 */ ++ "rt_sigaction", /* 13 */ ++ "rt_sigprocmask", /* 14 */ ++ "ioctl", /* 15 */ ++ "pread64", /* 16 */ ++ "pwrite64", /* 17 */ ++ "readv", /* 18 */ ++ "writev", /* 19 */ ++ "access", /* 20 */ ++ "pipe", /* 21 */ ++ "_newselect", /* 22 */ ++ "sched_yield", /* 23 */ ++ "mremap", /* 24 */ ++ "msync", /* 25 */ ++ "mincore", /* 26 */ ++ "madvise", /* 27 */ ++ "shmget", /* 28 */ ++ "shmat", /* 29 */ ++ "shmctl", /* 30 */ ++ "dup", /* 31 */ ++ "dup2", /* 32 */ ++ "pause", /* 33 */ ++ "nanosleep", /* 34 */ ++ "getitimer", /* 35 */ ++ "setitimer", /* 36 */ ++ "alarm", /* 37 */ ++ "getpid", /* 38 */ ++ "sendfile", /* 39 */ ++ "socket", /* 40 */ ++ "connect", /* 41 */ ++ "accept", /* 42 */ ++ "sendto", /* 43 */ ++ "recvfrom", /* 44 */ ++ "sendmsg", /* 45 */ ++ "recvmsg", /* 46 */ ++ "shutdown", /* 47 */ ++ "bind", /* 48 */ ++ "listen", /* 49 */ ++ "getsockname", /* 50 */ ++ "getpeername", /* 51 */ ++ "socketpair", /* 52 */ ++ "setsockopt", /* 53 */ ++ "getsockopt", /* 54 */ ++ "clone", /* 55 */ ++ "fork", /* 56 */ ++ "execve", /* 57 */ ++ "exit", /* 58 */ ++ "wait4", /* 59 */ ++ "kill", /* 60 */ ++ "uname", /* 61 */ ++ "semget", /* 62 */ ++ "semop", /* 63 */ ++ "semctl", /* 64 */ ++ "shmdt", /* 65 */ ++ "msgget", /* 66 */ ++ "msgsnd", /* 67 */ ++ "msgrcv", /* 68 */ ++ "msgctl", /* 69 */ ++ "fcntl", /* 70 */ ++ "flock", /* 71 */ ++ "fsync", /* 72 */ ++ "fdatasync", /* 73 */ ++ "truncate", /* 74 */ ++ "ftruncate", /* 75 */ ++ "getdents", /* 76 */ ++ "getcwd", /* 77 */ ++ "chdir", /* 78 */ ++ "fchdir", /* 79 */ ++ "rename", /* 80 */ ++ "mkdir", /* 81 */ ++ "rmdir", /* 82 */ ++ "creat", /* 83 */ ++ "link", /* 84 */ ++ "unlink", /* 85 */ ++ "symlink", /* 86 */ ++ "readlink", /* 87 */ ++ "chmod", /* 88 */ ++ "fchmod", /* 89 */ ++ "chown", /* 90 */ ++ "fchown", /* 91 */ ++ "lchown", /* 92 */ ++ "umask", /* 93 */ ++ "gettimeofday", /* 94 */ ++ "getrlimit", /* 95 */ ++ "getrusage", /* 96 */ ++ "sysinfo", /* 97 */ ++ "times", /* 98 */ ++ "ptrace", /* 99 */ ++ "getuid", /* 100 */ ++ "syslog", /* 101 */ ++ "getgid", /* 102 */ ++ "setuid", /* 103 */ ++ "setgid", /* 104 */ ++ "geteuid", /* 105 */ ++ "getegid", /* 106 */ ++ "setpgid", /* 107 */ ++ "getppid", /* 108 */ ++ "getpgrp", /* 109 */ ++ "setsid", /* 110 */ ++ "setreuid", /* 111 */ ++ "setregid", /* 112 */ ++ "getgroups", /* 113 */ ++ "setgroups", /* 114 */ ++ "setresuid", /* 115 */ ++ "getresuid", /* 116 */ ++ "setresgid", /* 117 */ ++ "getresgid", /* 118 */ ++ "getpgid", /* 119 */ ++ "setfsuid", /* 120 */ ++ "setfsgid", /* 121 */ ++ "getsid", /* 122 */ ++ "capget", /* 123 */ ++ "capset", /* 124 */ ++ "rt_sigpending", /* 125 */ ++ "rt_sigtimedwait", /* 126 */ ++ "rt_sigqueueinfo", /* 127 */ ++ "rt_sigsuspend", /* 128 */ ++ "sigaltstack", /* 129 */ ++ "utime", /* 130 */ ++ "mknod", /* 131 */ ++ "personality", /* 132 */ ++ "ustat", /* 133 */ ++ "statfs", /* 134 */ ++ "fstatfs", /* 135 */ ++ "sysfs", /* 136 */ ++ "getpriority", /* 137 */ ++ "setpriority", /* 138 */ ++ "sched_setparam", /* 139 */ ++ "sched_getparam", /* 140 */ ++ "sched_setscheduler", /* 141 */ ++ "sched_getscheduler", /* 142 */ ++ "sched_get_priority_max", /* 143 */ ++ "sched_get_priority_min", /* 144 */ ++ "sched_rr_get_interval", /* 145 */ ++ "mlock", /* 146 */ ++ "munlock", /* 147 */ ++ "mlockall", /* 148 */ ++ "munlockall", /* 149 */ ++ "vhangup", /* 150 */ ++ "pivot_root", /* 151 */ ++ "_sysctl", /* 152 */ ++ "prctl", /* 153 */ ++ "adjtimex", /* 154 */ ++ "setrlimit", /* 155 */ ++ "chroot", /* 156 */ ++ "sync", /* 157 */ ++ "acct", /* 158 */ ++ "settimeofday", /* 159 */ ++ "mount", /* 160 */ ++ "umount2", /* 161 */ ++ "swapon", /* 162 */ ++ "swapoff", /* 163 */ ++ "reboot", /* 164 */ ++ "sethostname", /* 165 */ ++ "setdomainname", /* 166 */ ++ "create_module", /* 167 */ ++ "init_module", /* 168 */ ++ "delete_module", /* 169 */ ++ "get_kernel_syms", /* 170 */ ++ "query_module", /* 171 */ ++ "quotactl", /* 172 */ ++ "nfsservctl", /* 173 */ ++ "getpmsg", /* 174 */ ++ "putpmsg", /* 175 */ ++ "afs_syscall", /* 176 */ ++ "reserved177", /* 177 */ ++ "gettid", /* 178 */ ++ "readahead", /* 179 */ ++ "setxattr", /* 180 */ ++ "lsetxattr", /* 181 */ ++ "fsetxattr", /* 182 */ ++ "getxattr", /* 183 */ ++ "lgetxattr", /* 184 */ ++ "fgetxattr", /* 185 */ ++ "listxattr", /* 186 */ ++ "llistxattr", /* 187 */ ++ "flistxattr", /* 188 */ ++ "removexattr", /* 189 */ ++ "lremovexattr", /* 190 */ ++ "fremovexattr", /* 191 */ ++ "tkill", /* 192 */ ++ "reserved193", /* 193 */ ++ "futex", /* 194 */ ++ "sched_setaffinity", /* 195 */ ++ "sched_getaffinity", /* 196 */ ++ "cacheflush", /* 197 */ ++ "cachectl", /* 198 */ ++ "sysmips", /* 199 */ ++ "io_setup", /* 200 */ ++ "io_destroy", /* 201 */ ++ "io_getevents", /* 202 */ ++ "io_submit", /* 203 */ ++ "io_cancel", /* 204 */ ++ "exit_group", /* 205 */ ++ "lookup_dcookie", /* 206 */ ++ "epoll_create", /* 207 */ ++ "epoll_ctl", /* 208 */ ++ "epoll_wait", /* 209 */ ++ "remap_file_pages", /* 210 */ ++ "rt_sigreturn", /* 211 */ ++ "set_tid_address", /* 212 */ ++ "restart_syscall", /* 213 */ ++ "semtimedop", /* 214 */ ++ "fadvise64", /* 215 */ ++ "timer_create", /* 216 */ ++ "timer_settime", /* 217 */ ++ "timer_gettime", /* 218 */ ++ "timer_getoverrun", /* 219 */ ++ "timer_delete", /* 220 */ ++ "clock_settime", /* 221 */ ++ "clock_gettime", /* 222 */ ++ "clock_getres", /* 223 */ ++ "clock_nanosleep", /* 224 */ ++ "tgkill", /* 225 */ ++ "utimes", /* 226 */ ++ "mbind", /* 227 */ ++ "get_mempolicy", /* 228 */ ++ "set_mempolicy", /* 229 */ ++ "mq_open", /* 230 */ ++ "mq_unlink", /* 231 */ ++ "mq_timedsend", /* 232 */ ++ "mq_timedreceive", /* 233 */ ++ "mq_notify", /* 234 */ ++ "mq_getsetattr", /* 235 */ ++ "vserver", /* 236 */ ++ "waitid", /* 237 */ ++ "238", /* 238 */ ++ "add_key", /* 239 */ ++ "request_key", /* 240 */ ++ "keyctl", /* 241 */ ++ "set_thread_area", /* 242 */ ++ "inotify_init", /* 243 */ ++ "inotify_add_watch", /* 244 */ ++ "inotify_rm_watch", /* 245 */ ++ "migrate_pages", /* 246 */ ++ "openat", /* 247 */ ++ "mkdirat", /* 248 */ ++ "mknodat", /* 249 */ ++ "fchownat", /* 250 */ ++ "futimesat", /* 251 */ ++ "newfstatat", /* 252 */ ++ "unlinkat", /* 253 */ ++ "renameat", /* 254 */ ++ "linkat", /* 255 */ ++ "symlinkat", /* 256 */ ++ "readlinkat", /* 257 */ ++ "fchmodat", /* 258 */ ++ "faccessat", /* 259 */ ++ "pselect6", /* 260 */ ++ "ppoll", /* 261 */ ++ "unshare", /* 262 */ ++ "splice", /* 263 */ ++ "sync_file_range", /* 264 */ ++ "tee", /* 265 */ ++ "vmsplice", /* 266 */ ++ "move_pages", /* 267 */ ++ "set_robust_list", /* 268 */ ++ "get_robust_list", /* 269 */ ++ "kexec_load", /* 270 */ ++ "getcpu", /* 271 */ ++ "epoll_pwait", /* 272 */ ++ "ioprio_set", /* 273 */ ++ "ioprio_get", /* 274 */ ++ "utimensat", /* 275 */ ++ "signalfd", /* 276 */ ++ "timerfd", /* 277 */ ++ "eventfd", /* 278 */ ++ "fallocate", /* 279 */ ++ "timerfd_create", /* 280 */ ++ "timerfd_gettime", /* 281 */ ++ "timerfd_settime", /* 282 */ ++ "signalfd4", /* 283 */ ++ "eventfd2", /* 284 */ ++ "epoll_create1", /* 285 */ ++ "dup3", /* 286 */ ++ "pipe2", /* 287 */ ++ "inotify_init1", /* 288 */ ++ "preadv", /* 289 */ ++ "pwritev", /* 290 */ ++ "rt_tgsigqueueinfo", /* 291 */ ++ "perf_event_open", /* 292 */ ++ "accept4", /* 293 */ ++ "recvmmsg", /* 294 */ ++ "fanotify_init", /* 295 */ ++ "fanotify_mark", /* 296 */ ++ "prlimit64", /* 297 */ ++ "name_to_handle_at", /* 298 */ ++ "open_by_handle_at", /* 299 */ ++ "clock_adjtime", /* 300 */ ++ "syncfs", /* 301 */ ++ "sendmmsg", /* 302 */ ++ "setns", /* 303 */ ++ "process_vm_readv", /* 304 */ ++ "process_vm_writev", /* 305 */ +diff --git a/sysdeps/linux-gnu/mips/trace.c b/sysdeps/linux-gnu/mips/trace.c +index e81b374..d54818e 100644 +--- a/sysdeps/linux-gnu/mips/trace.c ++++ b/sysdeps/linux-gnu/mips/trace.c +@@ -1,5 +1,6 @@ + /* + * This file is part of ltrace. ++ * Copyright (C) 2015 Imagination Technologies Limited + * Copyright (C) 2013 Petr Machata, Red Hat Inc. + * Copyright (C) 2012 Edgar E. Iglesias, Axis Communications + * Copyright (C) 2010 Arnaud Patard, Mandriva SA +@@ -29,6 +30,7 @@ + #include + #include + #include ++#include + #include + #include + +@@ -68,6 +70,44 @@ + void + get_arch_dep(struct process *proc) + { ++#ifdef __LP64__ ++ proc->mask_32bit = (proc->e_class == ELFCLASS32); ++#endif /* __LP64__ */ ++ /* n32 personality is best approximated by n64, ++ at least for syscall numbers */ ++ proc->personality = (proc->e_class == ELFCLASS64 ++ || proc->e_abi == ABI_N32); ++} ++ ++/** ++ \param abi ABI of current process, from mips_abi_type enum ++ \param list An array of 4 elements, each corresponding to an ABI, in ++ the order: o32, n32, n64, o64 ++ ++ return value from array corresponding to requested ABI ++ */ ++static int ++abi_select(const int abi, const int list[]) ++{ ++ int retval; ++ switch (abi) ++ { ++ case ABI_N32: ++ retval = list[1]; ++ break; ++ case ABI_N64: ++ retval = list[2]; ++ break; ++ case ABI_O64: ++ retval = list[3]; ++ break; ++ case ABI_O32: ++ default: ++ retval = list[0]; ++ break; ++ } ++ ++ return retval; + } + + /** +@@ -90,53 +130,94 @@ get_arch_dep(struct process *proc) + int + syscall_p(struct process *proc, int status, int *sysnum) + { +- if (WIFSTOPPED(status) +- && WSTOPSIG(status) == (SIGTRAP | proc->tracesysgood)) { +- /* get the user's pc (plus 8) */ +- long pc = (long)get_instruction_pointer(proc); +- /* fetch the SWI instruction */ +- int insn = ptrace(PTRACE_PEEKTEXT, proc->pid, pc - 4, 0); +- int num = ptrace(PTRACE_PEEKTEXT, proc->pid, pc - 8, 0); +- +- /* +- On a mips, syscall looks like: +- 24040fa1 li v0, 0x0fa1 # 4001 --> _exit syscall +- 0000000c syscall +- */ +- if(insn!=0x0000000c){ +- /* sigreturn returns control to the point +- where the signal was received; skip check +- for preceeding syscall instruction */ +- int depth = proc->callstack_depth; +- struct callstack_element *top = NULL; +- if (depth > 0) +- top = &proc->callstack[depth - 1]; +- +- if (top != NULL && top->is_syscall && +- (top->c_un.syscall == (__NR_rt_sigreturn - +- __NR_Linux) || +- top->c_un.syscall == (__NR_sigreturn - +- __NR_Linux))) { +- *sysnum = top->c_un.syscall; +- return 2; +- } +- else +- return 0; +- } +- +- *sysnum = (num & 0xFFFF) - 4000; +- /* if it is a syscall, return 1 or 2 */ +- if (proc->callstack_depth > 0 && +- proc->callstack[proc->callstack_depth - 1].is_syscall && +- proc->callstack[proc->callstack_depth - 1].c_un.syscall == *sysnum) { ++ unsigned long pc; ++ int insn, prev; ++ int min_syscall, max_syscall, sigreturn, rt_sigreturn; ++ struct callstack_element *top = NULL; ++ int depth = proc->callstack_depth; ++ const int syscallbase[] = {__NR_O32_Linux, __NR_N32_Linux, ++ __NR_64_Linux, __NR_O32_Linux}; ++ const int syscallnum[] = {__NR_O32_Linux_syscalls, ++ __NR_N32_Linux_syscalls, ++ __NR_64_Linux_syscalls, ++ __NR_O32_Linux_syscalls}; ++ const int rt_sigreturn_list[] = {193, 211, 211, 193}; ++ const int sigreturn_list[] = {119, -1, -1, 119}; ++ ++ if (!WIFSTOPPED(status) ++ || WSTOPSIG(status) != (SIGTRAP | proc->tracesysgood)) ++ return 0; ++ ++ /* get the user's pc (plus 8) */ ++ pc = (unsigned long)get_instruction_pointer(proc); ++ /* fetch the SWI instruction */ ++ insn = ptrace(PTRACE_PEEKTEXT, proc->pid, pc - 4, 0); ++ prev = ptrace(PTRACE_PEEKTEXT, proc->pid, pc - 8, 0); ++ ++ if (depth > 0) ++ top = &proc->callstack[depth - 1]; ++ ++ /* Range of syscall numbers varies with ABI; ref:asm/unistd.h */ ++ min_syscall = abi_select(proc->e_abi, syscallbase); ++ max_syscall = min_syscall + abi_select(proc->e_abi, syscallnum); ++ sigreturn = min_syscall + abi_select(proc->e_abi, sigreturn_list); ++ rt_sigreturn = min_syscall + abi_select(proc->e_abi, rt_sigreturn_list); ++ ++ /* not a syscall instruction */ ++ if(insn!=0x0000000c){ ++ /* sigreturn returns control to the point where the signal was ++ received; skip check for preceeding syscall instruction */ ++ if (top != NULL && top->is_syscall ++ && (top->c_un.syscall == (rt_sigreturn - min_syscall) ++ || top->c_un.syscall == (sigreturn - min_syscall))) { ++ *sysnum = top->c_un.syscall; + return 2; + } ++ else ++ return 0; ++ } + +- if (*sysnum >= 0) { +- return 1; +- } ++ /* ++ On a mips, syscall looks like: ++ 24020fa1 li v0, 0x0fa1 # 4001 --> _exit syscall ++ 0000000c syscall ++ */ ++ if ((prev & 0xFFFF0000) == 0x24020000) { ++ *sysnum = (prev & 0xFFFF) - min_syscall; + } +- return 0; ++ /* ++ The above is not necessary in Linux kernel > v2.6.35. Recent ++ kernels have a fancy-pants method of restarting syscalls. ++ We must read v0 instead, to get the syscall number. ++ ++ Unfortunately, v0 is not preserved till the point of return. ++ If already in syscall and v0 is invalid, assume this event ++ to be a return without attempting to match previous syscall. ++ ++ Caveat: logic fails if v0 incidentally contains a valid ++ syscall number, distinct from the current syscall number, ++ at the point of return from a nested syscall. ++ */ ++ else { ++ int v0 = ptrace(PTRACE_PEEKUSER, proc->pid, off_v0, 0); ++ ++ if ((v0 >= min_syscall) && (v0 <= max_syscall)) ++ *sysnum = v0 - min_syscall; ++ else if (depth > 0 && top->is_syscall) ++ *sysnum = top->c_un.syscall; ++ else /* syscall instruction without valid number - ignored */ ++ return 0; ++ } ++ ++ /* if it is a syscall, return 1 or 2 */ ++ if (depth > 0 && top->is_syscall && top->c_un.syscall == *sysnum) { ++ return 2; ++ } ++ ++ if (*sysnum >= 0) ++ return 1; ++ else ++ return 0; + } + + /* Based on GDB code. */ +@@ -162,9 +243,11 @@ mips32_relative_offset (uint32_t inst) + return ((itype_immediate(inst) ^ 0x8000) - 0x8000) << 2; + } + +-int mips_next_pcs(struct process *proc, uint32_t pc, uint32_t *newpc) ++int mips_next_pcs(struct process *proc, unsigned long pc, ++ unsigned long *newpc) + { +- uint32_t inst, rx; ++ uint32_t inst; ++ unsigned long rx; + int op; + int rn; + int nr = 0; +@@ -277,8 +360,8 @@ int mips_next_pcs(struct process *proc, uint32_t pc, uint32_t *newpc) + return nr; + + fail: +- printf("nr=%d pc=%x\n", nr, pc); +- printf("pc=%x %x\n", newpc[0], newpc[1]); ++ printf("nr=%d pc=%lx\n", nr, pc); ++ printf("pc=%lx %lx\n", newpc[0], newpc[1]); + return 0; + } + +@@ -304,17 +387,27 @@ fail: + * branches within the LL-SC sequence. + */ + #define inrange(x,lo,hi) ((x)<=(hi) && (x)>=(lo)) ++/* Instruction encodings for atomic operations */ ++#ifdef __mips64 ++#define op_SC_p(op) (op == 0x38 || op == 0x3c) ++#define op_LL_p(op) (op == 0x30 || op == 0x34) ++#else /* !__mips64 */ ++#define op_SC_p(op) (op == 0x38) ++#define op_LL_p(op) (op == 0x30) ++#endif /* !__mips64 */ ++ + static int +-mips_atomic_next_pcs(struct process *proc, uint32_t lladdr, uint32_t *newpcs) ++mips_atomic_next_pcs(struct process *proc, unsigned long lladdr, ++ unsigned long *newpcs) + { + int nr = 0; + +- uint32_t scaddr; ++ unsigned long scaddr; + for (scaddr = lladdr + 4; scaddr - lladdr <= 2048; scaddr += 4) { + /* Found SC, now stepover trailing branch */ + uint32_t inst; + if (proc_read_32(proc, (arch_addr_t)scaddr, &inst) >= 0 && +- itype_op(inst) == 0x38) { ++ op_SC_p (itype_op(inst))) { + newpcs[nr++] = scaddr + 4; + break; + } +@@ -327,16 +420,16 @@ mips_atomic_next_pcs(struct process *proc, uint32_t lladdr, uint32_t *newpcs) + } + + /* Scan LL<->SC range for branches going outside that range */ +- uint32_t spc; ++ unsigned long spc; + for (spc = lladdr + 4; spc < scaddr; spc += 4) { +- uint32_t scanpcs[2]; ++ unsigned long scanpcs[2]; + int snr = mips_next_pcs(proc, spc, scanpcs); + + int i; + for (i = 0; i < snr; ++i) { + if (!inrange(scanpcs[i], lladdr, scaddr)) { +- uint32_t *tmp = realloc(newpcs, (nr + 1) * +- sizeof *newpcs); ++ unsigned long *tmp = realloc(newpcs, (nr + 1) ++ * sizeof *newpcs); + if (tmp == NULL) { + perror("malloc atomic next pcs"); + return -1; +@@ -357,8 +450,8 @@ arch_sw_singlestep(struct process *proc, struct breakpoint *bp, + int (*add_cb)(arch_addr_t, struct sw_singlestep_data *), + struct sw_singlestep_data *add_cb_data) + { +- uint32_t pc = (uint32_t) get_instruction_pointer(proc); +- uint32_t *newpcs; ++ unsigned long pc = (unsigned long) get_instruction_pointer(proc); ++ unsigned long *newpcs; + int nr; + uint32_t inst; + +@@ -369,7 +462,7 @@ arch_sw_singlestep(struct process *proc, struct breakpoint *bp, + return SWS_FAIL; + + /* Starting an atomic read-modify-write sequence */ +- if (itype_op(inst) == 0x30) ++ if (op_LL_p(itype_op(inst))) + nr = mips_atomic_next_pcs(proc, pc, newpcs); + else + nr = mips_next_pcs(proc, pc, newpcs); +@@ -462,7 +555,7 @@ gimme_arg(enum tof type, struct process *proc, int arg_num, + debug(2,"ret = %#lx",addr); + return addr; + } +- ret = addr + 4*arg_num; ++ ret = addr + sizeof(long) * arg_num; + ret=ptrace(PTRACE_PEEKTEXT,proc->pid,addr,0); + debug(2,"ret = %#lx",ret); + return ret; +@@ -474,7 +567,7 @@ gimme_arg(enum tof type, struct process *proc, int arg_num, + debug(2,"ret = %#lx",addr); + return addr; + } +- ret = addr + 4*arg_num; ++ ret = addr + sizeof(long) * arg_num; + ret=ptrace(PTRACE_PEEKTEXT,proc->pid,addr,0); + debug(2,"ret = %#lx",ret); + return ret; +@@ -483,4 +576,34 @@ gimme_arg(enum tof type, struct process *proc, int arg_num, + return 0; + } + ++#ifdef __LP64__ ++size_t ++arch_type_sizeof(struct process *proc, struct arg_type_info *info) ++{ ++ if (proc == NULL) ++ return (size_t)-2; ++ ++ switch (info->type) { ++ case ARGTYPE_LONG: ++ case ARGTYPE_ULONG: ++ return proc->mask_32bit ? 4 : sizeof (long); ++ ++ case ARGTYPE_POINTER: ++ return proc->mask_32bit ? 4 : sizeof (void *); ++ ++ default: ++ /* Use default value. */ ++ return (size_t)-2; ++ } ++} ++ ++size_t ++arch_type_alignof(struct process *proc, struct arg_type_info *info) ++{ ++ if (proc == NULL) ++ return (size_t)-2; ++ ++ return arch_type_sizeof(proc, info); ++} ++#endif /* __LP64__ */ + /**@}*/ +diff --git a/sysdeps/linux-gnu/mksyscallent_mips b/sysdeps/linux-gnu/mksyscallent_mips +index f3961b4..f8dcfe1 100755 +--- a/sysdeps/linux-gnu/mksyscallent_mips ++++ b/sysdeps/linux-gnu/mksyscallent_mips +@@ -19,9 +19,7 @@ + + # hack expression to generate arch/syscallent.h from + # It reads from stdin and writes to stdout +-# It should work OK on i386,m68k,arm,ia64 +-# It does NOT work in mips, s390 +-# It is untested in other architectures ++# Default is o32; arch=mips64 generates n64 syscalls + + BEGIN { + max=0; +@@ -31,7 +29,10 @@ BEGIN { + { + #debug + #printf("/%s/%s/%s/%s/\n", $1, $2, $3, $4); +- if ($2 ~ /__NR_Linux/ && $3 ~ /4000/) { ++ min=4000 ++ if (arch ~ "mips64") min=5000 ++ ++ if ($2 ~ /__NR_Linux/ && $3 ~ min) { + syscall=1; + } + if ($2 ~ /__NR_Linux_syscalls/) { +-- +2.13.2 + diff --git a/meta-oe/recipes-devtools/ltrace/ltrace_git.bb b/meta-oe/recipes-devtools/ltrace/ltrace_git.bb index 213436c..b613bc3 100644 --- a/meta-oe/recipes-devtools/ltrace/ltrace_git.bb +++ b/meta-oe/recipes-devtools/ltrace/ltrace_git.bb @@ -22,6 +22,7 @@ SRC_URI = "git://anonscm.debian.org/collab-maint/ltrace.git;branch=master \ file://0002-Fix-const-qualifier-error.patch \ file://0001-ARM-code-has-unreachable-code-after-switch-statement.patch \ file://0001-Fix-tautological-compare-warning.patch \ + file://0001-Add-support-for-mips64-n32-n64.patch \ " S = "${WORKDIR}/git" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:48:16 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:48:16 +0000 Subject: [oe-commits] [meta-openembedded] 29/60: gnome-common: Add recipe (from oe-core) In-Reply-To: <150006886722.7705.14424127970521923710@git.openembedded.org> References: <150006886722.7705.14424127970521923710@git.openembedded.org> Message-ID: <20170714214748.4831F2334C4@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit ea791667e7b2721c98dee06ea957053fa7f6177b Author: Jussi Kukkonen AuthorDate: Thu Jul 6 15:06:36 2017 +0300 gnome-common: Add recipe (from oe-core) gnome-common is deprecated upstream (it's just a collection of m4 macros so that's not a huge issue) and more importantly is soon not used in oe-core. There are 6 recipes in meta-oe and 22 in meta-gnome that DEPEND on gnome-common: Move gnome-common unchanged to meta-oe. Signed-off-by: Jussi Kukkonen Signed-off-by: Martin Jansa --- .../gnome-common/gnome-common_3.18.0.bb | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/meta-oe/recipes-gnome/gnome-common/gnome-common_3.18.0.bb b/meta-oe/recipes-gnome/gnome-common/gnome-common_3.18.0.bb new file mode 100644 index 0000000..06f3bb3 --- /dev/null +++ b/meta-oe/recipes-gnome/gnome-common/gnome-common_3.18.0.bb @@ -0,0 +1,20 @@ +SUMMARY = "Common macros for building GNOME applications" +HOMEPAGE = "http://www.gnome.org/" +BUGTRACKER = "https://bugzilla.gnome.org/" + +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +SECTION = "x11/gnome" +inherit gnomebase allarch + +SRC_URI[archive.md5sum] = "933258d9c23e218eb6eec9cc1951b053" +SRC_URI[archive.sha256sum] = "22569e370ae755e04527b76328befc4c73b62bfd4a572499fde116b8318af8cf" + +EXTRA_AUTORECONF = "" +DEPENDS = "" + +FILES_${PN} += "${datadir}/aclocal" +FILES_${PN}-dev = "" + +BBCLASSEXTEND = "native" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:48:26 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:48:26 +0000 Subject: [oe-commits] [meta-openembedded] 39/60: garcon: update 0.4.0 -> 0.6.1 In-Reply-To: <150006886722.7705.14424127970521923710@git.openembedded.org> References: <150006886722.7705.14424127970521923710@git.openembedded.org> Message-ID: <20170714214748.9778D2334D9@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit cd15df6dcffc707222540174458cc81273381ad6 Author: Andreas M?ller AuthorDate: Mon Jul 10 19:35:04 2017 +0200 garcon: update 0.4.0 -> 0.6.1 Signed-off-by: Andreas M?ller Signed-off-by: Martin Jansa --- meta-xfce/recipes-xfce/garcon/{garcon_0.4.0.bb => garcon_0.6.1.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-xfce/recipes-xfce/garcon/garcon_0.4.0.bb b/meta-xfce/recipes-xfce/garcon/garcon_0.6.1.bb similarity index 76% rename from meta-xfce/recipes-xfce/garcon/garcon_0.4.0.bb rename to meta-xfce/recipes-xfce/garcon/garcon_0.6.1.bb index 8a3260a..06e2369 100644 --- a/meta-xfce/recipes-xfce/garcon/garcon_0.4.0.bb +++ b/meta-xfce/recipes-xfce/garcon/garcon_0.6.1.bb @@ -9,8 +9,8 @@ inherit xfce gtk-doc distro_features_check REQUIRED_DISTRO_FEATURES = "x11" SRC_URI += "file://0001-xfce-applications.menu-don-t-bloat-settings-menu-by-.patch" -SRC_URI[md5sum] = "aba62b80787aac295083bf7afd419ffb" -SRC_URI[sha256sum] = "787dc859713b6518992d760d4b858fb02e8a30705e6f6e871d7a14cc97bca972" +SRC_URI[md5sum] = "174690ad19243f7ef9529cb0c24b9080" +SRC_URI[sha256sum] = "41c31ba0498c2cc39de4a8e0c2367510adbf4bc2104c17feee358e51e6acf603" EXTRA_OECONF = "--disable-gtk-doc" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:48:27 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:48:27 +0000 Subject: [oe-commits] [meta-openembedded] 40/60: gparted: update 0.27.0 -> 0.28.1 In-Reply-To: <150006886722.7705.14424127970521923710@git.openembedded.org> References: <150006886722.7705.14424127970521923710@git.openembedded.org> Message-ID: <20170714214748.9E1F02334DB@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 0783e2326214521969996bc7f7f64fc309cd0dee Author: Andreas M?ller AuthorDate: Mon Jul 10 19:35:05 2017 +0200 gparted: update 0.27.0 -> 0.28.1 Signed-off-by: Andreas M?ller Signed-off-by: Martin Jansa --- .../recipes-extended/gparted/{gparted_0.27.0.bb => gparted_0.28.1.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-gnome/recipes-extended/gparted/gparted_0.27.0.bb b/meta-gnome/recipes-extended/gparted/gparted_0.28.1.bb similarity index 90% rename from meta-gnome/recipes-extended/gparted/gparted_0.27.0.bb rename to meta-gnome/recipes-extended/gparted/gparted_0.28.1.bb index c921065..83ab6f2 100644 --- a/meta-gnome/recipes-extended/gparted/gparted_0.27.0.bb +++ b/meta-gnome/recipes-extended/gparted/gparted_0.28.1.bb @@ -10,8 +10,8 @@ SRC_URI = " \ file://org.yoctoproject.pkexec.run-gparted.policy \ file://gparted_polkit \ " -SRC_URI[md5sum] = "726f539f774b442670028af656f270bd" -SRC_URI[sha256sum] = "208cf60c061b86bee4f658d568a3b5d843dce3ab9847f66b452298268799e7bd" +SRC_URI[md5sum] = "ab72464a3ab2137664d9df8462befd3f" +SRC_URI[sha256sum] = "76891f14394754f7d6ecceba2af0e585bf89f9d780c389a255dcd41a2f45d333" DEPENDS = "glib-2.0 glib-2.0-native gtkmm parted gnome-doc-utils intltool-native" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:48:15 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:48:15 +0000 Subject: [oe-commits] [meta-openembedded] 28/60: libtinyxml2: upgrade to 5.0.1 In-Reply-To: <150006886722.7705.14424127970521923710@git.openembedded.org> References: <150006886722.7705.14424127970521923710@git.openembedded.org> Message-ID: <20170714214748.421F32334B9@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 2a502e8d14cfe1c904ea3de55b02c1063f5292b3 Author: Johannes Pointner AuthorDate: Tue Jul 11 11:19:11 2017 +0200 libtinyxml2: upgrade to 5.0.1 Signed-off-by: Johannes Pointner Signed-off-by: Martin Jansa --- .../libtinyxml2/{libtinyxml2_4.0.1.bb => libtinyxml2_5.0.1.bb} | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/meta-oe/recipes-support/libtinyxml2/libtinyxml2_4.0.1.bb b/meta-oe/recipes-support/libtinyxml2/libtinyxml2_5.0.1.bb similarity index 81% rename from meta-oe/recipes-support/libtinyxml2/libtinyxml2_4.0.1.bb rename to meta-oe/recipes-support/libtinyxml2/libtinyxml2_5.0.1.bb index 3a66598..8b5ab44 100644 --- a/meta-oe/recipes-support/libtinyxml2/libtinyxml2_4.0.1.bb +++ b/meta-oe/recipes-support/libtinyxml2/libtinyxml2_5.0.1.bb @@ -6,10 +6,12 @@ LIC_FILES_CHKSUM = "file://tinyxml2.cpp;endline=22;md5=c19221dbd8a66ad3090462af4 SRC_URI = "git://github.com/leethomason/tinyxml2.git" -SRCREV = "74d44acb176f8510abf28ee0a70961eb26631988" +SRCREV = "37bc3aca429f0164adf68c23444540b4a24b5778" S = "${WORKDIR}/git" inherit cmake +FILES_${PN}-dev += "${libdir}/cmake/" + BBCLASSEXTEND = "native" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:48:19 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:48:19 +0000 Subject: [oe-commits] [meta-openembedded] 32/60: ltrace: Fix build on musl In-Reply-To: <150006886722.7705.14424127970521923710@git.openembedded.org> References: <150006886722.7705.14424127970521923710@git.openembedded.org> Message-ID: <20170714214748.5FDE523345B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 8a542c89129e97ef933eb73c247e52eeddd8ca7e Author: Khem Raj AuthorDate: Sat Jul 8 06:17:43 2017 -0700 ltrace: Fix build on musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...nfigure-Recognise-linux-musl-as-a-host-OS.patch | 25 ++++++++++++++++++++++ meta-oe/recipes-devtools/ltrace/ltrace_git.bb | 1 + 2 files changed, 26 insertions(+) diff --git a/meta-oe/recipes-devtools/ltrace/ltrace/0001-configure-Recognise-linux-musl-as-a-host-OS.patch b/meta-oe/recipes-devtools/ltrace/ltrace/0001-configure-Recognise-linux-musl-as-a-host-OS.patch new file mode 100644 index 0000000..52264a1 --- /dev/null +++ b/meta-oe/recipes-devtools/ltrace/ltrace/0001-configure-Recognise-linux-musl-as-a-host-OS.patch @@ -0,0 +1,25 @@ +From c1d3aaf5ec810c2594938438c7b4ccd20943f255 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 7 Jul 2017 10:20:52 -0700 +Subject: [PATCH] configure: Recognise linux-musl as a host OS + +Signed-off-by: Khem Raj +--- + configure.ac | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/configure.ac b/configure.ac +index 3e8667f..95d6642 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -35,6 +35,7 @@ AC_CANONICAL_HOST + case "${host_os}" in + linux-gnu*) HOST_OS="linux-gnu" ;; + linux-uclibc*) HOST_OS="linux-gnu" ;; ++ linux-musl*) HOST_OS="linux-gnu" ;; + *) AC_MSG_ERROR([unkown host-os ${host_os}]) ;; + esac + AC_SUBST(HOST_OS) +-- +2.13.2 + diff --git a/meta-oe/recipes-devtools/ltrace/ltrace_git.bb b/meta-oe/recipes-devtools/ltrace/ltrace_git.bb index b613bc3..01b3bbe 100644 --- a/meta-oe/recipes-devtools/ltrace/ltrace_git.bb +++ b/meta-oe/recipes-devtools/ltrace/ltrace_git.bb @@ -23,6 +23,7 @@ SRC_URI = "git://anonscm.debian.org/collab-maint/ltrace.git;branch=master \ file://0001-ARM-code-has-unreachable-code-after-switch-statement.patch \ file://0001-Fix-tautological-compare-warning.patch \ file://0001-Add-support-for-mips64-n32-n64.patch \ + file://0001-configure-Recognise-linux-musl-as-a-host-OS.patch \ " S = "${WORKDIR}/git" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:48:23 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:48:23 +0000 Subject: [oe-commits] [meta-openembedded] 36/60: meta-python: Add python-daemon recipe and its dependencies In-Reply-To: <150006886722.7705.14424127970521923710@git.openembedded.org> References: <150006886722.7705.14424127970521923710@git.openembedded.org> Message-ID: <20170714214748.8161A233459@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 5dcaa1231be0a2d6ded44855f8b5b054cb04c6f3 Author: Krzysztof Kozlowski AuthorDate: Sun Jul 9 17:47:22 2017 +0200 meta-python: Add python-daemon recipe and its dependencies Add recipes for python-daemon PIP package with its dependencies - lockfile and docutils. Signed-off-by: Krzysztof Kozlowski Signed-off-by: Martin Jansa --- .../0001-Workaround-for-issue-2-1.patch | 31 ++++++++++++++++++++++ .../recipes-devtools/python/python-daemon_2.1.2.bb | 27 +++++++++++++++++++ .../python/python-docutils_0.14rc2.bb | 18 +++++++++++++ .../python/python-lockfile_0.12.2.bb | 13 +++++++++ 4 files changed, 89 insertions(+) diff --git a/meta-python/recipes-devtools/python/python-daemon/0001-Workaround-for-issue-2-1.patch b/meta-python/recipes-devtools/python/python-daemon/0001-Workaround-for-issue-2-1.patch new file mode 100644 index 0000000..dbb8407 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-daemon/0001-Workaround-for-issue-2-1.patch @@ -0,0 +1,31 @@ +From 0981eee9f0198c2045dc0eaa78a005d06fc7bfe4 Mon Sep 17 00:00:00 2001 +From: Carlos Eduardo Moreira dos Santos +Date: Tue, 28 Mar 2017 18:23:44 -0300 +Subject: [PATCH] Workaround for issue 2 [1] + +[1] https://pagure.io/python-daemon/issue/2 +--- + version.py | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +diff --git a/version.py b/version.py +index d58422a377ee..293e2d64c2b7 100644 +--- a/version.py ++++ b/version.py +@@ -648,9 +648,10 @@ class ChangelogAwareDistribution(distutils.dist.Distribution, object): + + @lru_cache(maxsize=128) + def get_version_info(self): +- changelog_path = get_changelog_path(self) +- version_info = generate_version_info_from_changelog(changelog_path) +- return version_info ++ return { ++ 'version': '2.1.2', ++ 'maintainer': 'Ben Finney' ++ } + + def get_version(self): + version_info = self.get_version_info() +-- +2.7.4 + diff --git a/meta-python/recipes-devtools/python/python-daemon_2.1.2.bb b/meta-python/recipes-devtools/python/python-daemon_2.1.2.bb new file mode 100644 index 0000000..4c18e2b --- /dev/null +++ b/meta-python/recipes-devtools/python/python-daemon_2.1.2.bb @@ -0,0 +1,27 @@ +DESCRIPTION = "Library to implement a well-behaved Unix daemon process" +HOMEPAGE = "https://pagure.io/python-daemon/" +SECTION = "devel/python" + +DEPENDS = "python-docutils" +RDEPENDS_${PN} = "python-docutils \ + python-lockfile (>= 0.10) \ + python-resource \ +" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" + +inherit pypi setuptools + +SRC_URI[md5sum] = "9c57343d81f2a96c51cffeab982b04d2" +SRC_URI[sha256sum] = "261c859be5c12ae7d4286dc6951e87e9e1a70a882a8b41fd926efc1ec4214f73" + +# Fix for build error in Yocto: +# i = p.rfind('/') + 1 +# AttributeError: 'NoneType' object has no attribute 'rfind' +#S = "${WORKDIR}/python-daemon" +SRC_URI_append = " \ + file://0001-Workaround-for-issue-2-1.patch \ +" + +PYPI_PACKAGE = "python-daemon" diff --git a/meta-python/recipes-devtools/python/python-docutils_0.14rc2.bb b/meta-python/recipes-devtools/python/python-docutils_0.14rc2.bb new file mode 100644 index 0000000..68436a1 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-docutils_0.14rc2.bb @@ -0,0 +1,18 @@ +SUMMARY = "Text processing system for documentation" +HOMEPAGE = "http://docutils.sourceforge.net" +SECTION = "devel/python" +LICENSE = "PSF & BSD-2-Clause & GPLv3" +LIC_FILES_CHKSUM = "file://COPYING.txt;md5=35a23d42b615470583563132872c97d6" + +DEPENDS = "python" + +SRC_URI = "${SOURCEFORGE_MIRROR}/docutils/docutils-${PV}.tar.gz" +SRC_URI[md5sum] = "2f4bee6451958252f7bec71f18b05be3" +SRC_URI[sha256sum] = "3caee0bcb2a49fdf24fcfa70849a60abb7a181aa68b030f7cb7494096181830c" + +S = "${WORKDIR}/docutils-${PV}" + +inherit distutils + +BBCLASSEXTEND = "native" + diff --git a/meta-python/recipes-devtools/python/python-lockfile_0.12.2.bb b/meta-python/recipes-devtools/python/python-lockfile_0.12.2.bb new file mode 100644 index 0000000..cd15760 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-lockfile_0.12.2.bb @@ -0,0 +1,13 @@ +DESCRIPTION = "Platform-independent file locking module" +HOMEPAGE = "http://launchpad.net/pylockfile" +SECTION = "devel/python" + +RDEPENDS_${PN} = "python-threading" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" + +inherit pypi setuptools + +SRC_URI[md5sum] = "a6a1a82957a23afdf44cfdd039b65ff9" +SRC_URI[sha256sum] = "6aed02de03cba24efabcd600b30540140634fc06cfa603822d508d5361e9f799" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:48:14 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:48:14 +0000 Subject: [oe-commits] [meta-openembedded] 27/60: python-pytest: remove fetch during do_compile phase In-Reply-To: <150006886722.7705.14424127970521923710@git.openembedded.org> References: <150006886722.7705.14424127970521923710@git.openembedded.org> Message-ID: <20170714214748.3BC502334B3@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit c974fbf9ebf185552ab65301e07af44f36517abf Author: Derek Straka AuthorDate: Wed Jul 5 10:00:22 2017 -0400 python-pytest: remove fetch during do_compile phase Signed-off-by: Derek Straka Signed-off-by: Martin Jansa --- .../recipes-devtools/python/python-pytest.inc | 4 +++ ...ove-the-setup_requires-for-setuptools-scm.patch | 29 ++++++++++++++++++++++ 2 files changed, 33 insertions(+) diff --git a/meta-python/recipes-devtools/python/python-pytest.inc b/meta-python/recipes-devtools/python/python-pytest.inc index 2279596..b5c1fa8 100644 --- a/meta-python/recipes-devtools/python/python-pytest.inc +++ b/meta-python/recipes-devtools/python/python-pytest.inc @@ -5,6 +5,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=c39b24965f4aef64222cb35de9d47cc4" SRC_URI[md5sum] = "35356e6e31cbd8318e8b2a8340a90b72" SRC_URI[sha256sum] = "095e1832f7e424563c95daf4d8d3c865052b80e139cdd2f9610a986ee8526206" +SRC_URI_append = " file://0001-setup.py-remove-the-setup_requires-for-setuptools-scm.patch" + RDEPENDS_${PN}_class-target += " \ ${PYTHON_PN}-argparse \ ${PYTHON_PN}-debugger \ @@ -13,4 +15,6 @@ RDEPENDS_${PN}_class-target += " \ ${PYTHON_PN}-setuptools \ " +FILESEXTRAPATHS_prepend := "${THISDIR}/python-pytest:" + BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python-pytest/0001-setup.py-remove-the-setup_requires-for-setuptools-scm.patch b/meta-python/recipes-devtools/python/python-pytest/0001-setup.py-remove-the-setup_requires-for-setuptools-scm.patch new file mode 100644 index 0000000..e283b17 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-pytest/0001-setup.py-remove-the-setup_requires-for-setuptools-scm.patch @@ -0,0 +1,29 @@ +From e2d81009c790b4ebeced8408b6bae78060cabcaf Mon Sep 17 00:00:00 2001 +From: Derek Straka +Date: Wed, 5 Jul 2017 09:35:51 -0400 +Subject: [PATCH 1/1] setup.py: remove the setup_requires for setuptools-scm + +The setup_requires argument forces the download of the egg file for setuptools-scm +during the do_compile phase. This download is incompatible with the typical fetch +and mirror structure. The only usage of scm is the generation of the _version.py +file and in the release tarball it is already correctly created + +Signed-off-by: Derek Straka +--- + setup.py | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/setup.py b/setup.py +index 751868c..ef6ebf1 100644 +--- a/setup.py ++++ b/setup.py +@@ -71,7 +71,6 @@ def main(): + keywords="test unittest", + cmdclass={'test': PyTest}, + # the following should be enabled for release +- setup_requires=['setuptools-scm'], + install_requires=install_requires, + extras_require=extras_require, + packages=['_pytest', '_pytest.assertion', '_pytest._code', '_pytest.vendored_packages'], +-- +2.7.4 -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:48:17 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:48:17 +0000 Subject: [oe-commits] [meta-openembedded] 30/60: webrtc-audio-processing: initial recipe In-Reply-To: <150006886722.7705.14424127970521923710@git.openembedded.org> References: <150006886722.7705.14424127970521923710@git.openembedded.org> Message-ID: <20170714214748.4EF1E2334C8@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 5c98b0fd943beeec3efe8ab89f3a85b3b3729136 Author: Tanu Kaskinen AuthorDate: Thu Jul 6 15:07:13 2017 +0300 webrtc-audio-processing: initial recipe PulseAudio has multiple alternative echo canceller implementations. Probably the best one is the "webrtc" echo canceller, which depends on this library. I added some patches to fix building on MIPS and PowerPC. The first three patches are taken from upstream, the other three patches are my own. I have only tested that the code builds on all architectures, not that the code actually works. Signed-off-by: Tanu Kaskinen Signed-off-by: Martin Jansa --- ...ild-Protect-against-unsupported-CPU-types.patch | 29 ++++++ .../0002-build-Add-ARM-64bit-support.patch | 30 ++++++ .../0003-build-fix-architecture-detection.patch | 96 +++++++++++++++++ ...add-support-for-64-bit-and-big-endian-MIP.patch | 41 ++++++++ .../0005-typedefs.h-add-support-for-PowerPC.patch | 28 +++++ ...o-implement-endianness-conversion-in-wav-.patch | 116 +++++++++++++++++++++ .../webrtc-audio-processing_0.3.bb | 25 +++++ 7 files changed, 365 insertions(+) diff --git a/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0001-build-Protect-against-unsupported-CPU-types.patch b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0001-build-Protect-against-unsupported-CPU-types.patch new file mode 100644 index 0000000..7668df3 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0001-build-Protect-against-unsupported-CPU-types.patch @@ -0,0 +1,29 @@ +From 4945dca11bc4ddec60bd858f45212dc8f39638e0 Mon Sep 17 00:00:00 2001 +From: Nicolas Dufresne +Date: Tue, 5 Jul 2016 18:07:45 -0400 +Subject: [PATCH 1/6] build: Protect against unsupported CPU types + +Signed-off-by: Tanu Kaskinen +Upstream-Status: Accepted [expected in 0.4] +--- + configure.ac | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 6f9553b..f5304b8 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -70,8 +70,9 @@ AS_CASE(["${host_cpu}"], + [ + HAVE_ARM=1 + ARCH_CFLAGS="-DWEBRTC_ARCH_ARM" +- ] ++ ], + # FIXME: Add MIPS support, see webrtc/BUILD.gn for defines ++ [AC_MSG_ERROR([Unsupported CPU type $host_cpu])] + ) + AM_CONDITIONAL(HAVE_X86, [test "x${HAVE_X86}" = "x1"]) + AM_CONDITIONAL(HAVE_ARM, [test "x${HAVE_ARM}" = "x1"]) +-- +2.11.0 + diff --git a/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0002-build-Add-ARM-64bit-support.patch b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0002-build-Add-ARM-64bit-support.patch new file mode 100644 index 0000000..2e202b0 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0002-build-Add-ARM-64bit-support.patch @@ -0,0 +1,30 @@ +From b5bda3431159b6505dcd069641c863018c4d4309 Mon Sep 17 00:00:00 2001 +From: Nicolas Dufresne +Date: Wed, 6 Jul 2016 15:18:15 -0400 +Subject: [PATCH 2/6] build: Add ARM 64bit support + +Signed-off-by: Tanu Kaskinen +Upstream-Status: Accepted [expected in 0.4] +--- + configure.ac | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/configure.ac b/configure.ac +index f5304b8..be20514 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -71,6 +71,11 @@ AS_CASE(["${host_cpu}"], + HAVE_ARM=1 + ARCH_CFLAGS="-DWEBRTC_ARCH_ARM" + ], ++ [aarch64*], ++ [ ++ HAVE_NEON=1 ++ ARCH_CFLAGS="-DWEBRTC_HAS_NEON -DWEBRTC_ARCH_ARM64" ++ ], + # FIXME: Add MIPS support, see webrtc/BUILD.gn for defines + [AC_MSG_ERROR([Unsupported CPU type $host_cpu])] + ) +-- +2.11.0 + diff --git a/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0003-build-fix-architecture-detection.patch b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0003-build-fix-architecture-detection.patch new file mode 100644 index 0000000..82e270f --- /dev/null +++ b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0003-build-fix-architecture-detection.patch @@ -0,0 +1,96 @@ +From 7722fb8a3189fea0f6381f02a0e4f63c847f0393 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sat, 6 Aug 2016 11:02:43 +0200 +Subject: [PATCH 3/6] build: fix architecture detection + +The current architecture detection, based on the "host_cpu" part of the +tuple does not work properly for a number of reason: + + - The code assumes that if host_cpu starts with "arm" then ARM + instructions are available, which is incorrect. Indeed, Cortex-M + platforms can run Linux, they are ARM platforms (so host_cpu = arm), + but they don't support ARM instructions: they support only the + Thumb-2 instruction set. + + - The armv7 case is also not very useful, as it is not standard at all + to pass armv7 as host_cpu even if the host system is actually ARMv7 + based. + + - For the same reason, the armv8 case is not very useful: ARMv8 is + AArch64, and there is already a separate case to handle this + architecture. + +So, this commit moves away from a host_cpu based logic, and instead +tests using AC_CHECK_DECLS() the built-in definitions of the compiler: + + - If we have __ARM_ARCH_ISA_ARM defined, then it's an ARM processor + that supports the ARM instruction set (this allows to exclude Thumb-2 + only processors). + + - If we have __ARM_ARCH_7A__, then we have an ARMv7-A processor, and + we can enable the corresponding optimizations + + - Same for __aarch64__, __i386__ and __x86_64__. + +In addition, we remove the AC_MSG_ERROR() that makes the build fail for +all architectures but the ones that are explicitly supported. Indeed, +webrtc-audio-processing builds just fine for other architectures (tested +on MIPS), it's just that none of the architecture-specific optimizations +will be used. + +Signed-off-by: Thomas Petazzoni +Signed-off-by: Tanu Kaskinen +Upstream-Status: Accepted [expected in 0.4] +--- + configure.ac | 35 +++++++++++------------------------ + 1 file changed, 11 insertions(+), 24 deletions(-) + +diff --git a/configure.ac b/configure.ac +index be20514..e898014 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -55,30 +55,17 @@ AS_CASE(["${host}"], + ) + AC_SUBST(PLATFORM_CFLAGS) + +-AS_CASE(["${host_cpu}"], +- [i?86|x86_64], +- [ +- HAVE_X86=1 +- ], +- [armv7*|armv8*], +- [ +- HAVE_ARM=1 +- HAVE_ARMV7=1 +- ARCH_CFLAGS="-DWEBRTC_ARCH_ARM -DWEBRTC_ARCH_ARM_V7" +- ], +- [arm*], +- [ +- HAVE_ARM=1 +- ARCH_CFLAGS="-DWEBRTC_ARCH_ARM" +- ], +- [aarch64*], +- [ +- HAVE_NEON=1 +- ARCH_CFLAGS="-DWEBRTC_HAS_NEON -DWEBRTC_ARCH_ARM64" +- ], +- # FIXME: Add MIPS support, see webrtc/BUILD.gn for defines +- [AC_MSG_ERROR([Unsupported CPU type $host_cpu])] +-) ++# Testing __ARM_ARCH_ISA_ARM since the code contains ARM instructions, ++# which don't work on Thumb-2 only platforms (ARMv7-M). ++AC_CHECK_DECLS([__ARM_ARCH_ISA_ARM], ++ [HAVE_ARM=1; ARCH_CFLAGS="${ARCH_CFLAGS} -DWEBRTC_ARCH_ARM"]) ++AC_CHECK_DECLS([__ARM_ARCH_7A__], ++ [HAVE_ARMV7=1; ARCH_CFLAGS="${ARCH_CFLAGS} -DWEBRTC_ARCH_ARM_V7"]) ++AC_CHECK_DECLS([__aarch64__], ++ [HAVE_NEON=1; ARCH_CFLAGS="${ARCH_CFLAGS} -DWEBRTC_HAS_NEON -DWEBRTC_ARCH_ARM64"]) ++AC_CHECK_DECLS([__i386__], [HAVE_X86=1]) ++AC_CHECK_DECLS([__x86_64__], [HAVE_X86=1]) ++ + AM_CONDITIONAL(HAVE_X86, [test "x${HAVE_X86}" = "x1"]) + AM_CONDITIONAL(HAVE_ARM, [test "x${HAVE_ARM}" = "x1"]) + AM_CONDITIONAL(HAVE_ARMV7, [test "x${HAVE_ARMV7}" = "x1"]) +-- +2.11.0 + diff --git a/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0004-typedefs.h-add-support-for-64-bit-and-big-endian-MIP.patch b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0004-typedefs.h-add-support-for-64-bit-and-big-endian-MIP.patch new file mode 100644 index 0000000..c96f10e --- /dev/null +++ b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0004-typedefs.h-add-support-for-64-bit-and-big-endian-MIP.patch @@ -0,0 +1,41 @@ +From 0c332b7d94f8425c4f33344ddf406b6eea458861 Mon Sep 17 00:00:00 2001 +From: Tanu Kaskinen +Date: Mon, 8 May 2017 17:01:49 +0300 +Subject: [PATCH 4/6] typedefs.h: add support for 64-bit and big endian MIPS + +The 64-bit check is taken from the upstream webrtc project, the big +endian check is my own addition. + +Upstream-Status: Pending +Signed-off-by: Tanu Kaskinen +--- + webrtc/typedefs.h | 11 ++++++++++- + 1 file changed, 10 insertions(+), 1 deletion(-) + +diff --git a/webrtc/typedefs.h b/webrtc/typedefs.h +index d875490..d1b2f54 100644 +--- a/webrtc/typedefs.h ++++ b/webrtc/typedefs.h +@@ -41,9 +41,18 @@ + //#define WEBRTC_ARCH_ARMEL + #define WEBRTC_ARCH_32_BITS + #define WEBRTC_ARCH_LITTLE_ENDIAN +-#elif defined(__MIPSEL__) ++#elif defined(__MIPSEL__) || defined(__MIPSEB__) ++#define WEBRTC_ARCH_MIPS_FAMILY ++#if defined(__LP64__) ++#define WEBRTC_ARCH_64_BITS ++#else + #define WEBRTC_ARCH_32_BITS ++#endif ++#if defined(__MIPSEL__) + #define WEBRTC_ARCH_LITTLE_ENDIAN ++#else ++#define WEBRTC_ARCH_BIG_ENDIAN ++#endif + #elif defined(__pnacl__) + #define WEBRTC_ARCH_32_BITS + #define WEBRTC_ARCH_LITTLE_ENDIAN +-- +2.11.0 + diff --git a/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0005-typedefs.h-add-support-for-PowerPC.patch b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0005-typedefs.h-add-support-for-PowerPC.patch new file mode 100644 index 0000000..e16b57e --- /dev/null +++ b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0005-typedefs.h-add-support-for-PowerPC.patch @@ -0,0 +1,28 @@ +From db5f570e928c8ca5b0b8dc702e1af0a57277f092 Mon Sep 17 00:00:00 2001 +From: Tanu Kaskinen +Date: Mon, 3 Jul 2017 16:20:08 +0300 +Subject: [PATCH 5/6] typedefs.h: add support for PowerPC + +Upstream-Status: Pending +Signed-off-by: Tanu Kaskinen +--- + webrtc/typedefs.h | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/webrtc/typedefs.h b/webrtc/typedefs.h +index d1b2f54..6e34d9e 100644 +--- a/webrtc/typedefs.h ++++ b/webrtc/typedefs.h +@@ -53,6 +53,9 @@ + #else + #define WEBRTC_ARCH_BIG_ENDIAN + #endif ++#elif defined(__powerpc__) ++#define WEBRTC_ARCH_32_BITS ++#define WEBRTC_ARCH_BIG_ENDIAN + #elif defined(__pnacl__) + #define WEBRTC_ARCH_32_BITS + #define WEBRTC_ARCH_LITTLE_ENDIAN +-- +2.11.0 + diff --git a/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0006-common_audio-implement-endianness-conversion-in-wav-.patch b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0006-common_audio-implement-endianness-conversion-in-wav-.patch new file mode 100644 index 0000000..5826ab0 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0006-common_audio-implement-endianness-conversion-in-wav-.patch @@ -0,0 +1,116 @@ +From 7d31da8ef93987000f297d435dbacaf7d436107b Mon Sep 17 00:00:00 2001 +From: Tanu Kaskinen +Date: Thu, 15 Jun 2017 18:38:30 +0300 +Subject: [PATCH 6/6] common_audio: implement endianness conversion in wav file + handling + +The code didn't build for big endian machines due to the missing +endianness conversions. + +Upstream-Status: Pending +Signed-off-by: Tanu Kaskinen +--- + webrtc/common_audio/wav_file.cc | 27 +++++++++++++++++++++------ + webrtc/common_audio/wav_header.cc | 32 +++++++++++++++++++++++++++++++- + 2 files changed, 52 insertions(+), 7 deletions(-) + +diff --git a/webrtc/common_audio/wav_file.cc b/webrtc/common_audio/wav_file.cc +index b14b620..e2f7738 100644 +--- a/webrtc/common_audio/wav_file.cc ++++ b/webrtc/common_audio/wav_file.cc +@@ -64,9 +64,6 @@ WavReader::~WavReader() { + } + + size_t WavReader::ReadSamples(size_t num_samples, int16_t* samples) { +-#ifndef WEBRTC_ARCH_LITTLE_ENDIAN +-#error "Need to convert samples to big-endian when reading from WAV file" +-#endif + // There could be metadata after the audio; ensure we don't read it. + num_samples = std::min(rtc::checked_cast(num_samples), + num_samples_remaining_); +@@ -76,6 +73,13 @@ size_t WavReader::ReadSamples(size_t num_samples, int16_t* samples) { + RTC_CHECK(read == num_samples || feof(file_handle_)); + RTC_CHECK_LE(read, num_samples_remaining_); + num_samples_remaining_ -= rtc::checked_cast(read); ++ ++#ifdef WEBRTC_ARCH_BIG_ENDIAN ++ // Convert the read samples from little-endian to big-endian. ++ for (size_t i = 0; i < read; i++) ++ samples[i] = ((uint16_t) samples[i] >> 8) | ((uint16_t) samples[i] << 8); ++#endif ++ + return read; + } + +@@ -119,11 +123,22 @@ WavWriter::~WavWriter() { + } + + void WavWriter::WriteSamples(const int16_t* samples, size_t num_samples) { +-#ifndef WEBRTC_ARCH_LITTLE_ENDIAN +-#error "Need to convert samples to little-endian when writing to WAV file" +-#endif ++#ifdef WEBRTC_ARCH_BIG_ENDIAN ++ // Convert the samples from big-endian samples to little-endian. ++ int16_t* converted_samples = static_cast(malloc(num_samples * sizeof(*samples))); ++ RTC_CHECK(converted_samples) << "Out of memory."; ++ for (int i = 0; i < num_samples; i++) ++ converted_samples[i] = ++ ((uint16_t) samples[i] >> 8) | ((uint16_t) samples[i] << 8); ++ ++ const size_t written = ++ fwrite(converted_samples, sizeof(*converted_samples), num_samples, ++ file_handle_); ++ free(converted_samples); ++#else + const size_t written = + fwrite(samples, sizeof(*samples), num_samples, file_handle_); ++#endif + RTC_CHECK_EQ(num_samples, written); + num_samples_ += static_cast(written); + RTC_CHECK(written <= std::numeric_limits::max() || +diff --git a/webrtc/common_audio/wav_header.cc b/webrtc/common_audio/wav_header.cc +index 61cfffe..382bfc7 100644 +--- a/webrtc/common_audio/wav_header.cc ++++ b/webrtc/common_audio/wav_header.cc +@@ -129,7 +129,37 @@ static inline std::string ReadFourCC(uint32_t x) { + return std::string(reinterpret_cast(&x), 4); + } + #else +-#error "Write be-to-le conversion functions" ++static inline void WriteLE16(uint16_t* f, uint16_t x) { ++ *f = x >> 8 | x << 8; ++} ++static inline void WriteLE32(uint32_t* f, uint32_t x) { ++ *f = x >> 24 ++ | (x && 0xFF0000) >> 8 ++ | (x && 0xFF00) << 8 ++ | x << 24; ++} ++static inline void WriteFourCC(uint32_t* f, char a, char b, char c, char d) { ++ *f = static_cast(d) ++ | static_cast(c) << 8 ++ | static_cast(b) << 16 ++ | static_cast(a) << 24; ++} ++ ++static inline uint32_t ReadLE16(uint16_t x) { ++ return x >> 8 | x << 8; ++} ++ ++static inline uint32_t ReadLE32(uint32_t x) { ++ return x >> 24 ++ | (x && 0xFF0000) >> 8 ++ | (x && 0xFF00) << 8 ++ | x << 24; ++} ++ ++static inline std::string ReadFourCC(uint32_t x) { ++ x = ReadLE32(x); ++ return std::string(reinterpret_cast(&x), 4); ++} + #endif + + static inline uint32_t RiffChunkSize(uint32_t bytes_in_payload) { +-- +2.11.0 + diff --git a/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing_0.3.bb b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing_0.3.bb new file mode 100644 index 0000000..eb9a304 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing_0.3.bb @@ -0,0 +1,25 @@ +DESCRIPTION = "Audio processing bits of the WebRTC reference implementation" +HOMEPAGE = "https://www.freedesktop.org/software/pulseaudio/webrtc-audio-processing/" +SECTION = "audio" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://COPYING;md5=da08a38a32a340c5d91e13ee86a118f2 \ + file://webrtc/common.h;beginline=1;endline=9;md5=41f7322d91deabaf0acbbd0b8d0bc548 \ +" + +# Note that patch 3 effectively reverts patches 1 and 2. The only reason +# why patches 1 and 2 are included is that otherwise patch 3 wouldn't +# apply cleanly. +SRC_URI = "http://freedesktop.org/software/pulseaudio/webrtc-audio-processing/${BP}.tar.xz \ + file://0001-build-Protect-against-unsupported-CPU-types.patch \ + file://0002-build-Add-ARM-64bit-support.patch \ + file://0003-build-fix-architecture-detection.patch \ + file://0004-typedefs.h-add-support-for-64-bit-and-big-endian-MIP.patch \ + file://0005-typedefs.h-add-support-for-PowerPC.patch \ + file://0006-common_audio-implement-endianness-conversion-in-wav-.patch \ +" + +SRC_URI[md5sum] = "336ae032f608e65808ac577cde0ab72c" +SRC_URI[sha256sum] = "756e291d4f557d88cd50c4fe3b8454ec238362d22cedb3e6173240d90f0a80fa" + +inherit autotools -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:48:30 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:48:30 +0000 Subject: [oe-commits] [meta-openembedded] 43/60: libdbus-c++: Add -pthread to linker flags In-Reply-To: <150006886722.7705.14424127970521923710@git.openembedded.org> References: <150006886722.7705.14424127970521923710@git.openembedded.org> Message-ID: <20170714214748.B4A6D2334EB@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 592e9f26cca4944adf4e534af5794680f07d098c Author: Khem Raj AuthorDate: Mon Jul 10 21:54:21 2017 -0700 libdbus-c++: Add -pthread to linker flags It uses symbols from libpthread e.g. pthread_mutexattr_init and pthread_mutexattr_settype but does not link with pthreads, gold is strict about it and calls out with an error ../src/.libs/libdbus-c++-1.so: error: undefined reference to 'pthread_mutexattr_init' ../src/.libs/libdbus-c++-1.so: error: undefined reference to 'pthread_mutexattr_settype' Therefore correct the linker cmdline Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- meta-oe/recipes-core/dbus/libdbus-c++_0.9.0.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-oe/recipes-core/dbus/libdbus-c++_0.9.0.bb b/meta-oe/recipes-core/dbus/libdbus-c++_0.9.0.bb index 4cc1333..a6d8b86 100644 --- a/meta-oe/recipes-core/dbus/libdbus-c++_0.9.0.bb +++ b/meta-oe/recipes-core/dbus/libdbus-c++_0.9.0.bb @@ -21,6 +21,7 @@ SRC_URI[sha256sum] = "bc11ac297b3cb010be904c72789695543ee3fdf3d75cdc8225fd371385 inherit autotools pkgconfig EXTRA_OECONF = "--disable-ecore --disable-examples --disable-tests" +LDFLAGS += "-pthread" PACKAGE_BEFORE_PN = "${PN}-tools" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:48:18 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:48:18 +0000 Subject: [oe-commits] [meta-openembedded] 31/60: libdbus-c++: Fix build with gcc7 and unblacklist In-Reply-To: <150006886722.7705.14424127970521923710@git.openembedded.org> References: <150006886722.7705.14424127970521923710@git.openembedded.org> Message-ID: <20170714214748.580C7233457@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 5693b474a5014b27db5d842ebd1a690dec9ccc17 Author: Khem Raj AuthorDate: Sat Jul 8 06:17:40 2017 -0700 libdbus-c++: Fix build with gcc7 and unblacklist Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../0001-pipe.c-Use-a-string-instead-of-char.patch | 27 ++++++++++++++++++++++ meta-oe/recipes-core/dbus/libdbus-c++_0.9.0.bb | 20 ++++++++-------- 2 files changed, 36 insertions(+), 11 deletions(-) diff --git a/meta-oe/recipes-core/dbus/libdbus-c++-0.9.0/0001-pipe.c-Use-a-string-instead-of-char.patch b/meta-oe/recipes-core/dbus/libdbus-c++-0.9.0/0001-pipe.c-Use-a-string-instead-of-char.patch new file mode 100644 index 0000000..6883f9a --- /dev/null +++ b/meta-oe/recipes-core/dbus/libdbus-c++-0.9.0/0001-pipe.c-Use-a-string-instead-of-char.patch @@ -0,0 +1,27 @@ +From 6bcb58bd69c38b9200e8ec6c382247167571189d Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 1 Jul 2017 16:44:15 -0700 +Subject: [PATCH] pipe.c: Use a string instead of char + +Fixes +error: invalid conversion from 'char' to 'const void*' [-fpermissive] + +Signed-off-by: Khem Raj +--- + src/pipe.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/pipe.cpp b/src/pipe.cpp +index 45c2ba6..1303c2d 100644 +--- a/src/pipe.cpp ++++ b/src/pipe.cpp +@@ -83,5 +83,5 @@ ssize_t Pipe::read(void *buffer, unsigned int &nbytes) + void Pipe::signal() + { + // TODO: ignoring return of read/write generates warning; maybe relevant for eventloop work... +- ::write(_fd_write, '\0', 1); ++ ::write(_fd_write, "", 1); + } +-- +2.13.2 + diff --git a/meta-oe/recipes-core/dbus/libdbus-c++_0.9.0.bb b/meta-oe/recipes-core/dbus/libdbus-c++_0.9.0.bb index 4412716..4cc1333 100644 --- a/meta-oe/recipes-core/dbus/libdbus-c++_0.9.0.bb +++ b/meta-oe/recipes-core/dbus/libdbus-c++_0.9.0.bb @@ -6,15 +6,15 @@ LICENSE = "LGPLv2.1" LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24" DEPENDS = "dbus expat glib-2.0 libpcre" -SRC_URI = "\ - ${SOURCEFORGE_MIRROR}/project/dbus-cplusplus/dbus-c++/${PV}/${BP}.tar.gz \ - file://fix-missing-unistd.h-include.patch \ - file://remove-CXX_FOR_BUILD-stuff.patch \ - file://0001-src-eventloop.cpp-use-portable-method-for-initializi.patch \ - file://0002-tools-generate_proxy.cpp-avoid-possibly-undefined-ui.patch \ - file://0003-Fixed-undefined-ssize_t-for-clang-3.8.0-on-FreeBSD.patch \ - file://0004-use-POSIX-poll.h-instead-of-sys-poll.h.patch \ -" +SRC_URI = "${SOURCEFORGE_MIRROR}/project/dbus-cplusplus/dbus-c++/${PV}/${BP}.tar.gz \ + file://fix-missing-unistd.h-include.patch \ + file://remove-CXX_FOR_BUILD-stuff.patch \ + file://0001-src-eventloop.cpp-use-portable-method-for-initializi.patch \ + file://0002-tools-generate_proxy.cpp-avoid-possibly-undefined-ui.patch \ + file://0003-Fixed-undefined-ssize_t-for-clang-3.8.0-on-FreeBSD.patch \ + file://0004-use-POSIX-poll.h-instead-of-sys-poll.h.patch \ + file://0001-pipe.c-Use-a-string-instead-of-char.patch \ + " SRC_URI[md5sum] = "e752116f523fa88ef041e63d3dee4de2" SRC_URI[sha256sum] = "bc11ac297b3cb010be904c72789695543ee3fdf3d75cdc8225fd371385af4e61" @@ -27,5 +27,3 @@ PACKAGE_BEFORE_PN = "${PN}-tools" FILES_${PN}-tools = "${bindir}" BBCLASSEXTEND = "native" - -PNBLACKLIST[libdbus-c++] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130644/ - the recipe will be removed on 2017-09-01 unless the issue is fixed" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:48:32 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:48:32 +0000 Subject: [oe-commits] [meta-openembedded] 45/60: ubi-utils-klibc: Pass TUNE_CCARGS into CFLAGS In-Reply-To: <150006886722.7705.14424127970521923710@git.openembedded.org> References: <150006886722.7705.14424127970521923710@git.openembedded.org> Message-ID: <20170714214748.C17312334F4@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit c6afff8d92a37f592030713196a9f66d02c0aa4a Author: Khem Raj AuthorDate: Mon Jul 10 21:54:23 2017 -0700 ubi-utils-klibc: Pass TUNE_CCARGS into CFLAGS This is needed for hard float ABI selection options Signed-off-by: Khem Raj Cc: Andrea Adami Signed-off-by: Martin Jansa --- meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_1.5.1.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_1.5.1.bb b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_1.5.1.bb index 8ca1ca7..8674077 100644 --- a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_1.5.1.bb +++ b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_1.5.1.bb @@ -21,6 +21,7 @@ SRC_URI = "git://git.infradead.org/mtd-utils.git;tag=b7455d847ab4f9eeeb6a729efc3 S = "${WORKDIR}/git/" EXTRA_OEMAKE = "'CC=${CC}' 'RANLIB=${RANLIB}' 'AR=${AR}' 'CFLAGS=${CFLAGS} -I${S}include -DWITHOUT_XATTR' 'BUILDDIR=${S}'" +CFLAGS += "${TUNE_CCARGS}" do_install () { -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:48:28 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:48:28 +0000 Subject: [oe-commits] [meta-openembedded] 41/60: abiword: update 3.0.1 -> 3.0.2 In-Reply-To: <150006886722.7705.14424127970521923710@git.openembedded.org> References: <150006886722.7705.14424127970521923710@git.openembedded.org> Message-ID: <20170714214748.A57182334E6@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 54ca918b6cc562a9719dbb2a4ad40e862155a238 Author: Andreas M?ller AuthorDate: Mon Jul 10 19:35:06 2017 +0200 abiword: update 3.0.1 -> 3.0.2 Patch was a backport now included upstream Signed-off-by: Andreas M?ller Signed-off-by: Martin Jansa --- ...-13754-Fix-build-on-gcc-6-default-to-C-11.patch | 74 ---------------------- .../abiword/{abiword_3.0.1.bb => abiword_3.0.2.bb} | 5 +- 2 files changed, 2 insertions(+), 77 deletions(-) diff --git a/meta-gnome/recipes-gnome/abiword/abiword/0002-Bug-13754-Fix-build-on-gcc-6-default-to-C-11.patch b/meta-gnome/recipes-gnome/abiword/abiword/0002-Bug-13754-Fix-build-on-gcc-6-default-to-C-11.patch deleted file mode 100644 index 595ee8e..0000000 --- a/meta-gnome/recipes-gnome/abiword/abiword/0002-Bug-13754-Fix-build-on-gcc-6-default-to-C-11.patch +++ /dev/null @@ -1,74 +0,0 @@ -From a83e6f50dbd5efa16fb39efe32b9de370f103130 Mon Sep 17 00:00:00 2001 -From: Hubert Figuiere -Date: Sat, 23 Jan 2016 20:46:02 +0000 -Subject: [PATCH] Bug 13754 - Fix build on gcc-6 (default to C++11). - -This is debian bug https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=811381 - -git-svn-id: svn+ssh://svn.abisource.com/svnroot/abiword/trunk at 35182 bcba8976-2d24-0410-9c9c-aab3bd5fdfd6 - -Upstream-Status: Backport ---- - plugins/collab/backends/service/xp/RealmProtocol.cpp | 4 ++-- - plugins/collab/backends/service/xp/soa_soup.cpp | 2 +- - plugins/latex/xp/ie_exp_LaTeX.cpp | 2 +- - plugins/xslfo/xp/ie_exp_XSL-FO.cpp | 2 +- - 4 files changed, 5 insertions(+), 5 deletions(-) - -diff --git a/plugins/collab/backends/service/xp/RealmProtocol.cpp b/plugins/collab/backends/service/xp/RealmProtocol.cpp -index fb426eb..347a49c 100644 ---- a/plugins/collab/backends/service/xp/RealmProtocol.cpp -+++ b/plugins/collab/backends/service/xp/RealmProtocol.cpp -@@ -6,8 +6,8 @@ namespace protocolv1 { - - #define MAX_PACKET_DATA_SIZE 64*1024*1024 - --#define RPV1_PACKET_NONEXISTENT -2 --#define RPV1_PACKET_VARIABLE -1 -+#define RPV1_PACKET_NONEXISTENT uint32_t(-2) -+#define RPV1_PACKET_VARIABLE uint32_t(-1) - - static uint32_t body_size[6] = { - RPV1_PACKET_NONEXISTENT, /* 0: reserved */ -diff --git a/plugins/collab/backends/service/xp/soa_soup.cpp b/plugins/collab/backends/service/xp/soa_soup.cpp -index 4b81735..f4f5134 100644 ---- a/plugins/collab/backends/service/xp/soa_soup.cpp -+++ b/plugins/collab/backends/service/xp/soa_soup.cpp -@@ -163,7 +163,7 @@ namespace soup_soa { - - static bool _invoke(const std::string& /*url*/, const soa::method_invocation& /*mi*/, SoaSoupSession& sess, std::string& result) { - if (!sess.m_session || !sess.m_msg ) -- return soa::GenericPtr(); -+ return false; - - guint status = soup_session_send_message (sess.m_session, sess.m_msg); - if (!(SOUP_STATUS_IS_SUCCESSFUL (status) || -diff --git a/plugins/latex/xp/ie_exp_LaTeX.cpp b/plugins/latex/xp/ie_exp_LaTeX.cpp -index 7aaf3a9..8bcc250 100644 ---- a/plugins/latex/xp/ie_exp_LaTeX.cpp -+++ b/plugins/latex/xp/ie_exp_LaTeX.cpp -@@ -1330,7 +1330,7 @@ void s_LaTeX_Listener::_outputData(const UT_UCSChar * data, UT_uint32 length) - m_pie->write(sBuf.c_str(),sBuf.size()); - } - --#define SUB(a,who) case a: subst = "\\(\\"who"\\)"; return true; -+#define SUB(a,who) case a: subst = "\\(\\" who"\\)"; return true; - #define SUBd(a,who) case a: subst = who; return true; - static bool _convertLettersToSymbols(char c, const char *& subst) - { -diff --git a/plugins/xslfo/xp/ie_exp_XSL-FO.cpp b/plugins/xslfo/xp/ie_exp_XSL-FO.cpp -index cc5e4e6..957226e 100644 ---- a/plugins/xslfo/xp/ie_exp_XSL-FO.cpp -+++ b/plugins/xslfo/xp/ie_exp_XSL-FO.cpp -@@ -1451,7 +1451,7 @@ void s_XSL_FO_Listener::_openSection(PT_AttrPropIndex api) - { \ - UT_UTF8String esc = szValue; \ - esc.escapeXML(); \ -- buf += " "x"=\""; \ -+ buf += " " x"=\""; \ - buf += esc.utf8_str(); \ - buf += "\""; \ - } --- -2.5.5 - diff --git a/meta-gnome/recipes-gnome/abiword/abiword_3.0.1.bb b/meta-gnome/recipes-gnome/abiword/abiword_3.0.2.bb similarity index 96% rename from meta-gnome/recipes-gnome/abiword/abiword_3.0.1.bb rename to meta-gnome/recipes-gnome/abiword/abiword_3.0.2.bb index 34fc97d..2a13e48 100644 --- a/meta-gnome/recipes-gnome/abiword/abiword_3.0.1.bb +++ b/meta-gnome/recipes-gnome/abiword/abiword_3.0.2.bb @@ -28,13 +28,12 @@ RCONFLICTS_${PN} = "${PN}-embedded" SRC_URI = " \ http://www.abisource.com/downloads/${BPN}/${PV}/source/${BP}.tar.gz \ file://0001-plugins-aiksaurus-Makefile.am-remove-uncomplete-opti.patch \ - file://0002-Bug-13754-Fix-build-on-gcc-6-default-to-C-11.patch \ " LIC_FILES_CHKSUM = "file://COPYING;md5=c5edcc3ccd864b19004d14e9c1c9a26a" -SRC_URI[md5sum] = "f3f8052e7b4979a43b75775a381e6cb8" -SRC_URI[sha256sum] = "e094f6fbf0afc5c5538b4894888e7c346f8ee8f49c9d24821dd696d0734865c6" +SRC_URI[md5sum] = "cda6dd58c747c133b421cc7eb18f5796" +SRC_URI[sha256sum] = "afbfd458fd02989d8b0c6362ba8a4c14686d89666f54cfdb5501bd2090cf3522" #want 3.x from 3.x.y for the installation directory SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:48:34 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:48:34 +0000 Subject: [oe-commits] [meta-openembedded] 47/60: fluentbit: fix SYSTEMD_SERVICE name In-Reply-To: <150006886722.7705.14424127970521923710@git.openembedded.org> References: <150006886722.7705.14424127970521923710@git.openembedded.org> Message-ID: <20170714214748.CFD2023345C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 9a469d68266000a536027a17e1243fa05ae2f034 Author: Martin Jansa AuthorDate: Tue Jul 11 11:15:44 2017 +0200 fluentbit: fix SYSTEMD_SERVICE name * the binary and service name was renamed in 0.11.11 from fluent-bit to td-agent-bit, but unfortunately SYSTEMD_SERVICE wasn't updated in the recipe with the upgrade causing do_package failures as in: http://errors.yoctoproject.org/Errors/Details/147040/ ERROR: SYSTEMD_SERVICE_fluentbit value fluent-bit.service does not exist 0.11.3-r0/image/ 0.11.3-r0/image/etc 0.11.3-r0/image/etc/fluent-bit 0.11.3-r0/image/etc/fluent-bit/parsers.conf 0.11.3-r0/image/etc/fluent-bit/fluent-bit.conf 0.11.3-r0/image/lib 0.11.3-r0/image/lib/systemd 0.11.3-r0/image/lib/systemd/system 0.11.3-r0/image/lib/systemd/system/fluent-bit.service 0.11.3-r0/image/usr 0.11.3-r0/image/usr/bin 0.11.3-r0/image/usr/bin/fluent-bit 0.11.3-r0/image/usr/lib 0.11.3-r0/image/usr/lib/libfluent-bit.so 0.11.3-r0/image/usr/lib/pkgconfig 0.11.3-r0/image/usr/lib/pkgconfig/msgpack.pc 0.11.11-r0/image 0.11.11-r0/image/etc 0.11.11-r0/image/etc/td-agent-bit 0.11.11-r0/image/etc/td-agent-bit/parsers.conf 0.11.11-r0/image/etc/td-agent-bit/td-agent-bit.conf 0.11.11-r0/image/lib 0.11.11-r0/image/lib/systemd 0.11.11-r0/image/lib/systemd/system 0.11.11-r0/image/lib/systemd/system/td-agent-bit.service 0.11.11-r0/image/usr 0.11.11-r0/image/usr/bin 0.11.11-r0/image/usr/bin/td-agent-bit 0.11.11-r0/image/usr/lib 0.11.11-r0/image/usr/lib/libfluent-bit.so 0.11.11-r0/image/usr/lib/pkgconfig 0.11.11-r0/image/usr/lib/pkgconfig/msgpack.pc Signed-off-by: Martin Jansa --- meta-oe/recipes-extended/fluentbit/fluentbit_0.11.11.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit_0.11.11.bb b/meta-oe/recipes-extended/fluentbit/fluentbit_0.11.11.bb index 83818c8..521d00b 100644 --- a/meta-oe/recipes-extended/fluentbit/fluentbit_0.11.11.bb +++ b/meta-oe/recipes-extended/fluentbit/fluentbit_0.11.11.bb @@ -21,6 +21,6 @@ inherit cmake systemd EXTRA_OECMAKE = "-DGNU_HOST=${HOST_SYS} -DFLB_ALL=ON -DFLB_TD=1" -SYSTEMD_SERVICE_${PN} = "fluent-bit.service" +SYSTEMD_SERVICE_${PN} = "td-agent-bit.service" TARGET_CC_ARCH_append = " ${SELECTED_OPTIMIZATION}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:48:29 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:48:29 +0000 Subject: [oe-commits] [meta-openembedded] 42/60: faac: update 1.28 -> 1.29 In-Reply-To: <150006886722.7705.14424127970521923710@git.openembedded.org> References: <150006886722.7705.14424127970521923710@git.openembedded.org> Message-ID: <20170714214748.ADFF02334E8@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 2563210d055ef261d6443472daeacf21f16253a2 Author: Andreas M?ller AuthorDate: Mon Jul 10 19:35:07 2017 +0200 faac: update 1.28 -> 1.29 Most patches don't apply any more and build succeeds Signed-off-by: Andreas M?ller Signed-off-by: Martin Jansa --- .../recipes-multimedia/faac/faac_1.28.bb | 26 -- .../recipes-multimedia/faac/faac_1.29.bb | 27 ++ ...frontend-Fix-format-string-security-error.patch | 26 -- ...efine-__STRING-if-cdefs.h-does-not-exist.patch} | 0 .../files/address-gcc-6-narrowing-errors.patch | 47 --- .../recipes-multimedia/faac/files/build-fix.patch | 332 --------------------- 6 files changed, 27 insertions(+), 431 deletions(-) diff --git a/meta-multimedia/recipes-multimedia/faac/faac_1.28.bb b/meta-multimedia/recipes-multimedia/faac/faac_1.28.bb deleted file mode 100644 index 5c9477f..0000000 --- a/meta-multimedia/recipes-multimedia/faac/faac_1.28.bb +++ /dev/null @@ -1,26 +0,0 @@ -SUMMARY = "Freeware Advanced Audio Coder (MPEG2-AAC, MPEG4-AAC)" -SECTION = "libs" -LICENSE = "LGPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \ - file://libfaac/coder.h;beginline=5;endline=17;md5=fa1fd6a5fa8cdc877d63a12530d273e0" - -inherit autotools-brokensep - -SRC_URI = "${SOURCEFORGE_MIRROR}/faac/${BP}.tar.gz \ - file://build-fix.patch \ - file://address-gcc-6-narrowing-errors.patch \ - file://0001-frontend-Fix-format-string-security-error.patch \ - file://0002-mp4v2-Define-__STRING-if-cdefs.h-does-not-exist.patch \ - " - -SRC_URI[md5sum] = "80763728d392c7d789cde25614c878f6" -SRC_URI[sha256sum] = "c5141199f4cfb17d749c36ba8cfe4b25f838da67c22f0fec40228b6b9c3d19df" - -EXTRA_OECONF += "--without-mp4v2" - -PACKAGES =+ "lib${BPN} lib${BPN}-dev" - -FILES_${PN} = " ${bindir}/faac " -FILES_lib${PN} = " ${libdir}/libfaac.so.*" -FILES_lib${PN}-dev = "${includedir}/faac.h ${includedir}/faaccfg.h ${libdir}/libfaac.so ${libdir}/libfaac.la" -FILES_lib${PN}-staticdev = "${libdir}/libfaac.a" diff --git a/meta-multimedia/recipes-multimedia/faac/faac_1.29.bb b/meta-multimedia/recipes-multimedia/faac/faac_1.29.bb new file mode 100644 index 0000000..4765c6c --- /dev/null +++ b/meta-multimedia/recipes-multimedia/faac/faac_1.29.bb @@ -0,0 +1,27 @@ +SUMMARY = "Freeware Advanced Audio Coder (MPEG2-AAC, MPEG4-AAC)" +SECTION = "libs" +LICENSE = "LGPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \ + file://libfaac/coder.h;beginline=5;endline=17;md5=fa1fd6a5fa8cdc877d63a12530d273e0" + +inherit autotools + +SRC_URI = " \ + ${SOURCEFORGE_MIRROR}/faac/${BP}.tar.gz \ + file://0001-mp4v2-Define-__STRING-if-cdefs.h-does-not-exist.patch \ +" + +SRC_URI[md5sum] = "78603720f655180059d6970c582a3005" +SRC_URI[sha256sum] = "8cc7b03ceb2722223a6457e95d4c994731d80214a03ba33d1af76ba53f4b3197" + +EXTRA_OECONF += "--without-mp4v2" + +PACKAGES =+ "lib${BPN} lib${BPN}-dev" + +FILES_${PN} = " ${bindir}/faac " +FILES_lib${PN} = " ${libdir}/*.so.*" +FILES_lib${PN}-dev = " \ + ${includedir} \ + ${libdir}/*.so \ + ${libdir}/*.la \ +" diff --git a/meta-multimedia/recipes-multimedia/faac/files/0001-frontend-Fix-format-string-security-error.patch b/meta-multimedia/recipes-multimedia/faac/files/0001-frontend-Fix-format-string-security-error.patch deleted file mode 100644 index 75e003e..0000000 --- a/meta-multimedia/recipes-multimedia/faac/files/0001-frontend-Fix-format-string-security-error.patch +++ /dev/null @@ -1,26 +0,0 @@ -From c1d7a8b992dc36d0012cc3d54b7d3abf4ad4d5d8 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 28 Mar 2017 21:33:01 -0700 -Subject: [PATCH 1/2] frontend: Fix format string security error - -Signed-off-by: Khem Raj ---- - frontend/main.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/frontend/main.c b/frontend/main.c -index 02146a8..cb9329c 100644 ---- a/frontend/main.c -+++ b/frontend/main.c -@@ -715,7 +715,7 @@ int main(int argc, char *argv[]) - break; - #endif - case 'L': -- fprintf(stderr, faac_copyright_string); -+ fprintf(stderr, "%s", faac_copyright_string); - dieMessage = license; - break; - case 'X': --- -2.12.1 - diff --git a/meta-multimedia/recipes-multimedia/faac/files/0002-mp4v2-Define-__STRING-if-cdefs.h-does-not-exist.patch b/meta-multimedia/recipes-multimedia/faac/files/0001-mp4v2-Define-__STRING-if-cdefs.h-does-not-exist.patch similarity index 100% rename from meta-multimedia/recipes-multimedia/faac/files/0002-mp4v2-Define-__STRING-if-cdefs.h-does-not-exist.patch rename to meta-multimedia/recipes-multimedia/faac/files/0001-mp4v2-Define-__STRING-if-cdefs.h-does-not-exist.patch diff --git a/meta-multimedia/recipes-multimedia/faac/files/address-gcc-6-narrowing-errors.patch b/meta-multimedia/recipes-multimedia/faac/files/address-gcc-6-narrowing-errors.patch deleted file mode 100644 index 92fdd9b..0000000 --- a/meta-multimedia/recipes-multimedia/faac/files/address-gcc-6-narrowing-errors.patch +++ /dev/null @@ -1,47 +0,0 @@ ---- faac-1.28/common/mp4v2/atom_standard.cpp.orig 2016-06-16 07:59:21.657040761 -0400 -+++ faac-1.28/common/mp4v2/atom_standard.cpp 2016-06-16 08:01:50.613036724 -0400 -@@ -22,15 +22,15 @@ - #include "mp4common.h" - #include "atoms.h" - --static const char name[5]={0251,'n', 'a', 'm', '\0'}; --static const char art[5]={0251,'A', 'R', 'T', '\0'}; --static const char wrt[5]={0251,'w', 'r', 't', '\0'}; --static const char alb[5]={0251,'a', 'l', 'b', '\0'}; --static const char day[5]={0251,'d', 'a', 'y', '\0'}; --static const char too[5]={0251,'t', 'o', 'o', '\0'}; --static const char cmt[5]={0251,'c', 'm', 't', '\0'}; --static const char gen[5]={0251,'g', 'e', 'n', '\0'}; --static const char grp[5]={0251,'g', 'r', 'p', '\0'}; -+static const char name[5]={(char)0251,'n', 'a', 'm', '\0'}; -+static const char art[5]={(char)0251,'A', 'R', 'T', '\0'}; -+static const char wrt[5]={(char)0251,'w', 'r', 't', '\0'}; -+static const char alb[5]={(char)0251,'a', 'l', 'b', '\0'}; -+static const char day[5]={(char)0251,'d', 'a', 'y', '\0'}; -+static const char too[5]={(char)0251,'t', 'o', 'o', '\0'}; -+static const char cmt[5]={(char)0251,'c', 'm', 't', '\0'}; -+static const char gen[5]={(char)0251,'g', 'e', 'n', '\0'}; -+static const char grp[5]={(char)0251,'g', 'r', 'p', '\0'}; - - MP4StandardAtom::MP4StandardAtom (const char *type) : MP4Atom(type) - { ---- faac-1.28/common/mp4v2/mp4atom.cpp.orig 2016-06-16 08:03:07.777034633 -0400 -+++ faac-1.28/common/mp4v2/mp4atom.cpp 2016-06-16 08:03:54.629033363 -0400 -@@ -264,11 +264,11 @@ - } - break; - case 0251: -- static const char name[5]={0251,'n', 'a', 'm', '\0'}; -- static const char cmt[5]={0251,'c', 'm', 't', '\0'}; -- static const char cpy[5]={0251,'c', 'p', 'y', '\0'}; -- static const char des[5]={0251,'d', 'e', 's','\0'}; -- static const char prd[5]={0251, 'p', 'r', 'd', '\0'}; -+ static const char name[5]={(char)0251,'n', 'a', 'm', '\0'}; -+ static const char cmt[5]={(char)0251,'c', 'm', 't', '\0'}; -+ static const char cpy[5]={(char)0251,'c', 'p', 'y', '\0'}; -+ static const char des[5]={(char)0251,'d', 'e', 's','\0'}; -+ static const char prd[5]={(char)0251, 'p', 'r', 'd', '\0'}; - if (ATOMID(type) == ATOMID(name) || - ATOMID(type) == ATOMID(cmt) || - ATOMID(type) == ATOMID(cpy) || - diff --git a/meta-multimedia/recipes-multimedia/faac/files/build-fix.patch b/meta-multimedia/recipes-multimedia/faac/files/build-fix.patch deleted file mode 100644 index 83cff8f..0000000 --- a/meta-multimedia/recipes-multimedia/faac/files/build-fix.patch +++ /dev/null @@ -1,332 +0,0 @@ -Patch fixing build error and warnings. Error consisted of redefining -strcasestr function from string.h. Warnings consisted of deprecated conversions -of string constants to char*, using '%llu' for type uint64_t (which on 64 bit -systems, is defined as unsigned long int by stdint.h), and using '==' for -equality of two strings. - -Patch originally from Debian. - -Upstream-Status: Pending - -========================================================================== ---- a/common/mp4v2/mpeg4ip.h -+++ b/common/mp4v2/mpeg4ip.h -@@ -120,14 +120,6 @@ - #endif - #include - --#ifdef __cplusplus --extern "C" { --#endif --char *strcasestr(const char *haystack, const char *needle); --#ifdef __cplusplus --} --#endif -- - #define OPEN_RDWR O_RDWR - #define OPEN_CREAT O_CREAT - #define OPEN_RDONLY O_RDONLY -@@ -135,7 +127,6 @@ - #define closesocket close - #define IOSBINARY ios::bin - --#if SIZEOF_LONG == 8 - #define MAX_UINT64 -1LU - #define D64F "ld" - #define U64F "lu" -@@ -143,15 +134,6 @@ - - #define TO_D64(a) (a##L) - #define TO_U64(a) (a##LU) --#else --#define MAX_UINT64 -1LLU --#define D64F "lld" --#define U64F "llu" --#define X64F "llx" -- --#define TO_D64(a) (a##LL) --#define TO_U64(a) (a##LLU) --#endif - - #ifdef HAVE_FPOS_T___POS - #define FPOS_TO_VAR(fpos, typed, var) (var) = (typed)((fpos).__pos) ---- a/configure.in -+++ b/configure.in -@@ -4,6 +4,9 @@ - AM_INIT_AUTOMAKE - - AM_CONFIG_HEADER(config.h) -+AH_TOP([#ifndef CONFIG_H -+#define CONFIG_H]) -+AH_BOTTOM([#endif /* CONFIG_H */]) - - AC_ARG_WITH( mp4v2, [ --with-mp4v2 compile libmp4v2],WITHMP4V2=$withval, WITHMP4V2=yes) - AC_ARG_ENABLE( drm, [ --enable-drm Digital Radio Mondiale support], enable_drm=$enableval, enable_drm=no) ---- a/common/mp4v2/atom_avcC.cpp -+++ b/common/mp4v2/atom_avcC.cpp -@@ -29,7 +29,7 @@ - class SizeTableProperty : public MP4TableProperty - { - public: -- SizeTableProperty(char *name, MP4IntegerProperty *pCountProperty) : -+ SizeTableProperty(const char *name, MP4IntegerProperty *pCountProperty) : - MP4TableProperty(name, pCountProperty) {}; - protected: - void ReadEntry(MP4File *pFile, u_int32_t index) { ---- a/common/mp4v2/atom_ohdr.cpp -+++ b/common/mp4v2/atom_ohdr.cpp -@@ -21,7 +21,7 @@ - \param useCountedFormat counted format flag. - \param useUnicode unicode flag. - */ -- OhdrMP4StringProperty(char* name, bool useCountedFormat = false, -+ OhdrMP4StringProperty(const char* name, bool useCountedFormat = false, - bool useUnicode = false): MP4StringProperty(name, useCountedFormat, - useUnicode) { - } ---- a/common/mp4v2/atom_stz2.cpp -+++ b/common/mp4v2/atom_stz2.cpp -@@ -30,7 +30,7 @@ - class MP4HalfSizeTableProperty : public MP4TableProperty - { - public: -- MP4HalfSizeTableProperty(char *name, MP4IntegerProperty *pCountProperty) : -+ MP4HalfSizeTableProperty(const char *name, MP4IntegerProperty *pCountProperty) : - MP4TableProperty(name, pCountProperty) {}; - - // The count is half the actual size ---- a/common/mp4v2/mp4atom.cpp -+++ b/common/mp4v2/mp4atom.cpp -@@ -806,7 +806,7 @@ - AddProperty(new MP4Integer24Property("flags")); - } - --void MP4Atom::AddReserved(char* name, u_int32_t size) -+void MP4Atom::AddReserved(const char* name, u_int32_t size) - { - MP4BytesProperty* pReserved = new MP4BytesProperty(name, size); - pReserved->SetReadOnly(); ---- a/common/mp4v2/mp4atom.h -+++ b/common/mp4v2/mp4atom.h -@@ -204,7 +204,7 @@ - - void AddVersionAndFlags(); - -- void AddReserved(char* name, u_int32_t size); -+ void AddReserved(const char* name, u_int32_t size); - - void ExpectChildAtom(const char* name, - bool mandatory, bool onlyOne = true); ---- a/common/mp4v2/mp4file.cpp -+++ b/common/mp4v2/mp4file.cpp -@@ -718,7 +718,7 @@ - } - } - --void MP4File::ProtectWriteOperation(char* where) -+void MP4File::ProtectWriteOperation(const char* where) - { - if (m_mode == 'r') { - throw new MP4Error("operation not permitted in read mode", where); -@@ -1274,7 +1274,7 @@ - } - - // NULL terminated list of brands which require the IODS atom --char *brandsWithIods[] = { "mp42", -+const char *brandsWithIods[] = { "mp42", - "isom", - NULL}; - -@@ -2211,11 +2211,11 @@ - for (u_int32_t i = 0; i < m_pTracks.Size(); i++) { - if (!strcmp(normType, m_pTracks[i]->GetType())) { - if (subType) { -- if (normType == MP4_AUDIO_TRACK_TYPE) { -+ if (!strcmp(normType,MP4_AUDIO_TRACK_TYPE)) { - if (subType != GetTrackEsdsObjectTypeId(m_pTracks[i]->GetId())) { - continue; - } -- } else if (normType == MP4_VIDEO_TRACK_TYPE) { -+ } else if (!strcmp(normType,MP4_VIDEO_TRACK_TYPE)) { - if (subType != GetTrackEsdsObjectTypeId(m_pTracks[i]->GetId())) { - continue; - } -@@ -2278,11 +2278,11 @@ - for (u_int32_t i = 0; i < m_pTracks.Size(); i++) { - if (!strcmp(normType, m_pTracks[i]->GetType())) { - if (subType) { -- if (normType == MP4_AUDIO_TRACK_TYPE) { -+ if (!strcmp(normType,MP4_AUDIO_TRACK_TYPE)) { - if (subType != GetTrackEsdsObjectTypeId(m_pTracks[i]->GetId())) { - continue; - } -- } else if (normType == MP4_VIDEO_TRACK_TYPE) { -+ } else if (!strcmp(normType,MP4_VIDEO_TRACK_TYPE)) { - if (subType != GetTrackEsdsObjectTypeId(m_pTracks[i]->GetId())) { - continue; - } ---- a/common/mp4v2/mp4file.h -+++ b/common/mp4v2/mp4file.h -@@ -700,7 +700,7 @@ - const char* TempFileName(); - void Rename(const char* existingFileName, const char* newFileName); - -- void ProtectWriteOperation(char* where); -+ void ProtectWriteOperation(const char* where); - - void FindIntegerProperty(const char* name, - MP4Property** ppProperty, u_int32_t* pIndex = NULL); ---- a/common/mp4v2/mp4property.cpp -+++ b/common/mp4v2/mp4property.cpp -@@ -313,7 +313,7 @@ - - // MP4StringProperty - --MP4StringProperty::MP4StringProperty(char* name, -+MP4StringProperty::MP4StringProperty(const char* name, - bool useCountedFormat, bool useUnicode) - : MP4Property(name) - { -@@ -420,7 +420,7 @@ - - // MP4BytesProperty - --MP4BytesProperty::MP4BytesProperty(char* name, u_int32_t valueSize, -+MP4BytesProperty::MP4BytesProperty(const char* name, u_int32_t valueSize, - u_int32_t defaultValueSize) - : MP4Property(name) - { -@@ -549,7 +549,7 @@ - - // MP4TableProperty - --MP4TableProperty::MP4TableProperty(char* name, MP4IntegerProperty* pCountProperty) -+MP4TableProperty::MP4TableProperty(const char* name, MP4IntegerProperty* pCountProperty) - : MP4Property(name) - { - m_pCountProperty = pCountProperty; -@@ -725,7 +725,7 @@ - - // MP4DescriptorProperty - --MP4DescriptorProperty::MP4DescriptorProperty(char* name, -+MP4DescriptorProperty::MP4DescriptorProperty(const char* name, - u_int8_t tagsStart, u_int8_t tagsEnd, bool mandatory, bool onlyOne) - : MP4Property(name) - { ---- a/common/mp4v2/mp4property.h -+++ b/common/mp4v2/mp4property.h -@@ -100,7 +100,7 @@ - - class MP4IntegerProperty : public MP4Property { - protected: -- MP4IntegerProperty(char* name) -+ MP4IntegerProperty(const char* name) - : MP4Property(name) { }; - - public: -@@ -118,7 +118,7 @@ - #define MP4INTEGER_PROPERTY_DECL2(isize, xsize) \ - class MP4Integer##xsize##Property : public MP4IntegerProperty { \ - public: \ -- MP4Integer##xsize##Property(char* name) \ -+ MP4Integer##xsize##Property(const char* name) \ - : MP4IntegerProperty(name) { \ - SetCount(1); \ - m_values[0] = 0; \ -@@ -188,7 +188,7 @@ - - class MP4BitfieldProperty : public MP4Integer64Property { - public: -- MP4BitfieldProperty(char* name, u_int8_t numBits) -+ MP4BitfieldProperty(const char* name, u_int8_t numBits) - : MP4Integer64Property(name) { - ASSERT(numBits != 0); - ASSERT(numBits <= 64); -@@ -213,7 +213,7 @@ - - class MP4Float32Property : public MP4Property { - public: -- MP4Float32Property(char* name) -+ MP4Float32Property(const char* name) - : MP4Property(name) { - m_useFixed16Format = false; - m_useFixed32Format = false; -@@ -280,7 +280,7 @@ - - class MP4StringProperty : public MP4Property { - public: -- MP4StringProperty(char* name, -+ MP4StringProperty(const char* name, - bool useCountedFormat = false, bool useUnicode = false); - - ~MP4StringProperty(); -@@ -355,7 +355,7 @@ - - class MP4BytesProperty : public MP4Property { - public: -- MP4BytesProperty(char* name, u_int32_t valueSize = 0, -+ MP4BytesProperty(const char* name, u_int32_t valueSize = 0, - u_int32_t defaultValueSize = 0); - - ~MP4BytesProperty(); -@@ -419,7 +419,7 @@ - - class MP4TableProperty : public MP4Property { - public: -- MP4TableProperty(char* name, MP4IntegerProperty* pCountProperty); -+ MP4TableProperty(const char* name, MP4IntegerProperty* pCountProperty); - - ~MP4TableProperty(); - -@@ -469,7 +469,7 @@ - - class MP4DescriptorProperty : public MP4Property { - public: -- MP4DescriptorProperty(char* name = NULL, -+ MP4DescriptorProperty(const char* name = NULL, - u_int8_t tagsStart = 0, u_int8_t tagsEnd = 0, - bool mandatory = false, bool onlyOne = false); - -@@ -531,7 +531,7 @@ - - class MP4QosQualifierProperty : public MP4DescriptorProperty { - public: -- MP4QosQualifierProperty(char* name = NULL, -+ MP4QosQualifierProperty(const char* name = NULL, - u_int8_t tagsStart = 0, u_int8_t tagsEnd = 0, - bool mandatory = false, bool onlyOne = false) : - MP4DescriptorProperty(name, tagsStart, tagsEnd, mandatory, onlyOne) { } ---- a/common/mp4v2/mp4track.cpp -+++ b/common/mp4v2/mp4track.cpp -@@ -1360,7 +1360,7 @@ - } - } - --MP4Atom* MP4Track::AddAtom(char* parentName, char* childName) -+MP4Atom* MP4Track::AddAtom(const char* parentName, const char* childName) - { - MP4Atom* pChildAtom = MP4Atom::CreateAtom(childName); - ---- a/common/mp4v2/mp4track.h -+++ b/common/mp4v2/mp4track.h -@@ -168,7 +168,7 @@ - void UpdateSyncSamples(MP4SampleId sampleId, - bool isSyncSample); - -- MP4Atom* AddAtom(char* parentName, char* childName); -+ MP4Atom* AddAtom(const char* parentName, const char* childName); - - void UpdateDurations(MP4Duration duration); - MP4Duration ToMovieDuration(MP4Duration trackDuration); ---- a/common/mp4v2/ocidescriptors.cpp -+++ b/common/mp4v2/ocidescriptors.cpp -@@ -171,7 +171,7 @@ - - class MP4CreatorTableProperty : public MP4TableProperty { - public: -- MP4CreatorTableProperty(char* name, MP4Integer8Property* pCountProperty) : -+ MP4CreatorTableProperty(const char* name, MP4Integer8Property* pCountProperty) : - MP4TableProperty(name, pCountProperty) { - }; - protected: -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:48:31 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:48:31 +0000 Subject: [oe-commits] [meta-openembedded] 44/60: klibc: Fix build with musl In-Reply-To: <150006886722.7705.14424127970521923710@git.openembedded.org> References: <150006886722.7705.14424127970521923710@git.openembedded.org> Message-ID: <20170714214748.BB0D12334EF@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 15266c135acec3efdd4dfa1b504a266b5efcbf6b Author: Khem Raj AuthorDate: Mon Jul 10 21:54:22 2017 -0700 klibc: Fix build with musl klibc failed to build with armv7+ when using thumb2 it needed to resepct TUNE_CCARGS Add patches to fix build with musl, to sort out the linux header maze. Signed-off-by: Khem Raj Cc: Andrea Adami Signed-off-by: Martin Jansa --- ...ine-in_-structs-for-non-glibc-system-libs.patch | 85 ++++++++++++++++++++++ ...0001-dash-Specify-format-string-in-fmtstr.patch | 31 ++++++++ .../0001-include-linux-sysinfo.h-directly.patch | 32 ++++++++ .../klibc-2.0.4/0001-mkfifo-Implement-mkfifo.patch | 29 ++++++++ meta-initramfs/recipes-devtools/klibc/klibc.inc | 34 ++++++--- 5 files changed, 200 insertions(+), 11 deletions(-) diff --git a/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Define-in_-structs-for-non-glibc-system-libs.patch b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Define-in_-structs-for-non-glibc-system-libs.patch new file mode 100644 index 0000000..8d1ec69 --- /dev/null +++ b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Define-in_-structs-for-non-glibc-system-libs.patch @@ -0,0 +1,85 @@ +From f414dea1316a48aba3e8e293201ebd51652d3ef4 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 9 Jul 2017 15:17:29 -0700 +Subject: [PATCH] Define in_* structs for non-glibc system libs + +These defines and structs are required to be coming from +userspace netinet/in.h, which is being overridden in klibc +however, libc-compat.h from kernel is only written keeping +glibc in mind, and does not provide adequate guards for musl +to infer that these structs should be defined in linux/in.h + +Signed-off-by: Khem Raj +--- + usr/include/netinet/in.h | 33 +++++++++++++++++++++++++++++++++ + 1 file changed, 33 insertions(+) + +Index: git/usr/include/netinet/in.h +=================================================================== +--- git.orig/usr/include/netinet/in.h ++++ git/usr/include/netinet/in.h +@@ -5,6 +5,42 @@ + #ifndef _NETINET_IN_H + #define _NETINET_IN_H + ++#ifndef __GLIBC__ ++#include ++ ++#undef __UAPI_DEF_IN_ADDR ++#undef __UAPI_DEF_IN_IPPROTO ++#undef __UAPI_DEF_IN_PKTINFO ++#undef __UAPI_DEF_IP_MREQ ++#undef __UAPI_DEF_SOCKADDR_IN ++#undef __UAPI_DEF_IN_CLASS ++#undef __UAPI_DEF_IN6_ADDR ++#undef __UAPI_DEF_IN6_ADDR_ALT ++#undef __UAPI_DEF_SOCKADDR_IN6 ++#undef __UAPI_DEF_IPV6_MREQ ++#undef __UAPI_DEF_IPPROTO_V6 ++#undef __UAPI_DEF_IPV6_OPTIONS ++#undef __UAPI_DEF_IN6_PKTINFO ++#undef __UAPI_DEF_IP6_MTUINFO ++#undef __UAPI_DEF_IF_IFREQ ++ ++#define __UAPI_DEF_IN_ADDR 1 ++#define __UAPI_DEF_IN_IPPROTO 1 ++#define __UAPI_DEF_IN_PKTINFO 1 ++#define __UAPI_DEF_IP_MREQ 1 ++#define __UAPI_DEF_SOCKADDR_IN 1 ++#define __UAPI_DEF_IN_CLASS 1 ++#define __UAPI_DEF_IN6_ADDR 1 ++#define __UAPI_DEF_IN6_ADDR_ALT 1 ++#define __UAPI_DEF_SOCKADDR_IN6 1 ++#define __UAPI_DEF_IPV6_MREQ 1 ++#define __UAPI_DEF_IPPROTO_V6 1 ++#define __UAPI_DEF_IPV6_OPTIONS 1 ++#define __UAPI_DEF_IN6_PKTINFO 1 ++#define __UAPI_DEF_IP6_MTUINFO 1 ++#define __UAPI_DEF_IF_IFREQ 1 ++#endif ++ + #include + #include + #include /* Must be included *before* */ +Index: git/usr/include/net/if.h +=================================================================== +--- git.orig/usr/include/net/if.h ++++ git/usr/include/net/if.h +@@ -1,6 +1,17 @@ + #ifndef _NET_IF_H + #define _NET_IF_H + ++#ifndef __GLIBC__ ++#include ++#undef __UAPI_DEF_IF_IFREQ ++#define __UAPI_DEF_IF_IFREQ 1 ++#undef __UAPI_DEF_IF_IFNAMSIZ ++#define __UAPI_DEF_IF_IFNAMSIZ 1 ++#undef __UAPI_DEF_IF_IFMAP ++#define __UAPI_DEF_IF_IFMAP 1 ++#undef __UAPI_DEF_IF_NET_DEVICE_FLAGS ++#define __UAPI_DEF_IF_NET_DEVICE_FLAGS 1 ++#endif + #include + #include + #include diff --git a/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-dash-Specify-format-string-in-fmtstr.patch b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-dash-Specify-format-string-in-fmtstr.patch new file mode 100644 index 0000000..ae8c1f1 --- /dev/null +++ b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-dash-Specify-format-string-in-fmtstr.patch @@ -0,0 +1,31 @@ +From 2fff607fd0b5550e5072a6fffcbb01c29d5207d2 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 9 Jul 2017 13:51:25 -0700 +Subject: [PATCH] dash: Specify format string in fmtstr() + +Fixes build with hardening flags + +usr/dash/jobs.c:429:3: error: format not a string literal and no format arguments [-Werror=format-security] + col = fmtstr(s, 32, strsignal(st)); + +Signed-off-by: Khem Raj +--- + usr/dash/jobs.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/usr/dash/jobs.c b/usr/dash/jobs.c +index 009bbfee..299bcacc 100644 +--- a/usr/dash/jobs.c ++++ b/usr/dash/jobs.c +@@ -426,7 +426,7 @@ sprint_status(char *s, int status, int sigonly) + goto out; + #endif + } +- col = fmtstr(s, 32, strsignal(st)); ++ col = fmtstr(s, 32, "%s", strsignal(st)); + #ifdef WCOREDUMP + if (WCOREDUMP(status)) { + col += fmtstr(s + col, 16, " (core dumped)"); +-- +2.13.2 + diff --git a/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-include-linux-sysinfo.h-directly.patch b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-include-linux-sysinfo.h-directly.patch new file mode 100644 index 0000000..1b033ac --- /dev/null +++ b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-include-linux-sysinfo.h-directly.patch @@ -0,0 +1,32 @@ +From ab060a57b41f989665ade20e813bbcb67f91f1f2 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 9 Jul 2017 15:56:28 -0700 +Subject: [PATCH] include linux/sysinfo.h directly + +This is done to avoid the kernel header linux/kernel.h to use +__GLIBC__ define to decide on if libc implements sysinfo() API +or not. Kernel headers should be independent of such assumptions +but until its done in right place, change the local header +override to avoid this assumption + +Signed-off-by: Khem Raj +--- + usr/include/sys/sysinfo.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/usr/include/sys/sysinfo.h b/usr/include/sys/sysinfo.h +index dba68dc6..d145c0b1 100644 +--- a/usr/include/sys/sysinfo.h ++++ b/usr/include/sys/sysinfo.h +@@ -5,7 +5,7 @@ + #ifndef _SYS_SYSINFO_H + #define _SYS_SYSINFO_H + +-#include ++#include + + extern int sysinfo(struct sysinfo *info); + +-- +2.13.2 + diff --git a/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-mkfifo-Implement-mkfifo.patch b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-mkfifo-Implement-mkfifo.patch new file mode 100644 index 0000000..9791412 --- /dev/null +++ b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-mkfifo-Implement-mkfifo.patch @@ -0,0 +1,29 @@ +From b4e120f5edf06e6df138b1804a8b5180584cea6b Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 10 Jul 2017 20:42:50 -0700 +Subject: [PATCH] mkfifo: Implement mkfifo + +Signed-off-by: Khem Raj +--- + usr/utils/mkfifo.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/usr/utils/mkfifo.c b/usr/utils/mkfifo.c +index 5a758b2a..f1f577e6 100644 +--- a/usr/utils/mkfifo.c ++++ b/usr/utils/mkfifo.c +@@ -26,6 +26,11 @@ static int make_fifo(char *dir) + return 0; + } + ++int mkfifo (const char *__p, mode_t __m) ++{ ++ return mknod(__p, (__m & ~S_IFMT) | S_IFIFO, (dev_t) 0); ++} ++ + int main(int argc, char *argv[]) + { + int c, ret = 0; +-- +2.13.2 + diff --git a/meta-initramfs/recipes-devtools/klibc/klibc.inc b/meta-initramfs/recipes-devtools/klibc/klibc.inc index e039cb2..be59aa4 100644 --- a/meta-initramfs/recipes-devtools/klibc/klibc.inc +++ b/meta-initramfs/recipes-devtools/klibc/klibc.inc @@ -7,17 +7,23 @@ LIC_FILES_CHKSUM = "file://usr/klibc/LICENSE;md5=d75181f10e998c21eb147f6d2e43ce8 DEPENDS = "linux-libc-headers perl-native" SRCREV = "4d19974d7020488f63651244e1f9f51727c3f66c" -SRC_URI = "git://git.kernel.org/pub/scm/libs/klibc/klibc.git" -SRC_URI_append_linux-gnueabi = " file://klibc-config-eabi.patch \ - file://armv4-fix-v4bx.patch \ - " -SRC_URI_append_linux-uclibceabi = " file://klibc-config-eabi.patch \ - file://armv4-fix-v4bx.patch \ - " -SRC_URI += "file://klibc-linux-libc-dev.patch \ - file://staging.patch \ - file://klcc-consider-sysroot.patch \ - " +SRC_URI = "git://git.kernel.org/pub/scm/libs/klibc/klibc.git \ + ${ARMPATCHES} \ + file://klibc-linux-libc-dev.patch \ + file://staging.patch \ + file://klcc-consider-sysroot.patch \ + file://0001-dash-Specify-format-string-in-fmtstr.patch \ + file://0001-Define-in_-structs-for-non-glibc-system-libs.patch \ + file://0001-include-linux-sysinfo.h-directly.patch \ + file://0001-mkfifo-Implement-mkfifo.patch \ +" + +ARMPATCHES ?= "" + +ARMPATCHES_arm = "file://klibc-config-eabi.patch \ + file://armv4-fix-v4bx.patch \ + " + S = "${WORKDIR}/git" @@ -30,9 +36,12 @@ EXTRA_OEMAKE = "'KLIBCARCH=${KLIBC_ARCH}' \ 'INSTALLROOT=${D}' \ 'INSTALLDIR=${libdir}/klibc' \ 'SHLIBDIR=${libdir}' \ + '${KLIBCTHUMB}' \ + 'KLIBCOPTFLAGS=${TUNE_CCARGS}' \ " export FIX_ARMV4_EABI_BX = "${FIX_V4BX}" +KLIBCTHUMB = "${@['', 'CONFIG_KLIBC_THUMB=y'][(d.getVar('ARM_INSTRUCTION_SET') == 'thumb')]}" do_configure () { ln -sf "${STAGING_DIR_TARGET}${exec_prefix}" linux @@ -51,3 +60,6 @@ KLIBC_ARCH_x86-64 = "x86_64" KLIBC_ARCH_powerpc = "ppc" KLIBC_ARCH_powerpc64 = "ppc64" THIS_LIBKLIBC = "libklibc (= ${PV}-${PR})" + +SECURITY_CFLAGS = "-fno-PIE -no-pie" +SECURITY_LDFLAGS = "-no-pie" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:48:37 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:48:37 +0000 Subject: [oe-commits] [meta-openembedded] 50/60: klibc: Fix linking by using bfd linker when default linker is gold In-Reply-To: <150006886722.7705.14424127970521923710@git.openembedded.org> References: <150006886722.7705.14424127970521923710@git.openembedded.org> Message-ID: <20170714214748.E334D233467@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit a52f2cb2e93ead8f747cecfa2df12a9a6e144499 Author: Khem Raj AuthorDate: Tue Jul 11 08:16:14 2017 -0700 klibc: Fix linking by using bfd linker when default linker is gold Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../klibc-2.0.4/0001-always-use-bfd-linker.patch | 30 ++++++++++++++++++++++ meta-initramfs/recipes-devtools/klibc/klibc.inc | 1 + 2 files changed, 31 insertions(+) diff --git a/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-always-use-bfd-linker.patch b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-always-use-bfd-linker.patch new file mode 100644 index 0000000..41a6b9e --- /dev/null +++ b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-always-use-bfd-linker.patch @@ -0,0 +1,30 @@ +From 9ea19bd9636806a73bcf29cfcee40a268f91eb4c Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 11 Jul 2017 08:09:52 -0700 +Subject: [PATCH] always use bfd linker + +its possible that distros choose to default to gold linker +therefore explicitly asking for bfd linker would fix the +linking issues on such distros + +Signed-off-by: Khem Raj +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index dc10fc5d..40647be4 100644 +--- a/Makefile ++++ b/Makefile +@@ -20,7 +20,7 @@ include $(srctree)/scripts/Kbuild.include + KLIBCROSS ?= $(CROSS_COMPILE) + export KLIBCROSS + export CC := $(KLIBCROSS)gcc +-export LD := $(KLIBCROSS)ld ++export LD := $(KLIBCROSS)ld.bfd + export AR := $(KLIBCROSS)ar + export RANLIB := $(KLIBCROSS)ranlib + export STRIP := $(KLIBCROSS)strip +-- +2.13.2 + diff --git a/meta-initramfs/recipes-devtools/klibc/klibc.inc b/meta-initramfs/recipes-devtools/klibc/klibc.inc index be59aa4..c4c3e00 100644 --- a/meta-initramfs/recipes-devtools/klibc/klibc.inc +++ b/meta-initramfs/recipes-devtools/klibc/klibc.inc @@ -16,6 +16,7 @@ SRC_URI = "git://git.kernel.org/pub/scm/libs/klibc/klibc.git \ file://0001-Define-in_-structs-for-non-glibc-system-libs.patch \ file://0001-include-linux-sysinfo.h-directly.patch \ file://0001-mkfifo-Implement-mkfifo.patch \ + file://0001-always-use-bfd-linker.patch \ " ARMPATCHES ?= "" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:48:33 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:48:33 +0000 Subject: [oe-commits] [meta-openembedded] 46/60: kodi: Fix build on arm In-Reply-To: <150006886722.7705.14424127970521923710@git.openembedded.org> References: <150006886722.7705.14424127970521923710@git.openembedded.org> Message-ID: <20170714214748.C7C722334F6@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 3e42cd1e41dfdb8275e1993dbf616da359a5a6e8 Author: Martin Jansa AuthorDate: Tue Jul 11 10:26:56 2017 +0200 kodi: Fix build on arm Signed-off-by: Martin Jansa --- meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb b/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb index 0b39116..5a9fa98 100644 --- a/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb +++ b/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb @@ -134,6 +134,7 @@ BUILD_OPTIMIZATION = "${FULL_OPTIMIZATION}" LDFLAGS_append_mips = " -latomic" LDFLAGS_append_mipsel = " -latomic" LDFLAGS_append_powerpc = " -latomic" +LDFLAGS_append_arm = " -latomic" EXTRA_OECONF_append = " LIBTOOL=${STAGING_BINDIR_CROSS}/${HOST_SYS}-libtool" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:48:35 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:48:35 +0000 Subject: [oe-commits] [meta-openembedded] 48/60: Intel: remove license file In-Reply-To: <150006886722.7705.14424127970521923710@git.openembedded.org> References: <150006886722.7705.14424127970521923710@git.openembedded.org> Message-ID: <20170714214748.D6C43233461@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 5734362793abb51520e39b10b601d3d8361a2bf1 Author: Maxin John AuthorDate: Tue Jul 11 14:50:48 2017 +0300 Intel: remove license file This license was added to fix warnings with acpitests. acpitests recipe was moved to oe-core with this commit: OE-Core rev: 020f7ea3aa5c1f311841d4fb16bc525ae1dd5f11 Remove this file as it is not used anymore. Signed-off-by: Maxin B. John Signed-off-by: Martin Jansa --- meta-oe/licenses/Intel | 21 --------------------- 1 file changed, 21 deletions(-) diff --git a/meta-oe/licenses/Intel b/meta-oe/licenses/Intel deleted file mode 100644 index eb81dd7..0000000 --- a/meta-oe/licenses/Intel +++ /dev/null @@ -1,21 +0,0 @@ -License for Contributions to ACPICA - -Copyright (c) 2000 ? 2015 Intel Corp. -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINES -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:48:36 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:48:36 +0000 Subject: [oe-commits] [meta-openembedded] 49/60: proj: update to 4.9.3 In-Reply-To: <150006886722.7705.14424127970521923710@git.openembedded.org> References: <150006886722.7705.14424127970521923710@git.openembedded.org> Message-ID: <20170714214748.DC84C2334FE@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 909b1a2a71bee7af13345a04aac01fbd780c3ff0 Author: Marc Ferland AuthorDate: Tue Jul 11 10:10:05 2017 -0400 proj: update to 4.9.3 Signed-off-by: Marc Ferland Signed-off-by: Martin Jansa --- meta-oe/recipes-navigation/proj/{proj_4.8.0.bb => proj_4.9.3.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-oe/recipes-navigation/proj/proj_4.8.0.bb b/meta-oe/recipes-navigation/proj/proj_4.9.3.bb similarity index 70% rename from meta-oe/recipes-navigation/proj/proj_4.8.0.bb rename to meta-oe/recipes-navigation/proj/proj_4.9.3.bb index b4bfaf4..f45f894 100644 --- a/meta-oe/recipes-navigation/proj/proj_4.8.0.bb +++ b/meta-oe/recipes-navigation/proj/proj_4.9.3.bb @@ -6,8 +6,8 @@ LICENSE = "MIT" LIC_FILES_CHKSUM = "file://COPYING;md5=74d9aaec5fa0cd734341e8c4dc91b608" SRC_URI = "http://download.osgeo.org/proj/proj-${PV}.tar.gz" -SRC_URI[md5sum] = "d815838c92a29179298c126effbb1537" -SRC_URI[sha256sum] = "2db2dbf0fece8d9880679154e0d6d1ce7c694dd8e08b4d091028093d87a9d1b5" +SRC_URI[md5sum] = "d598336ca834742735137c5674b214a1" +SRC_URI[sha256sum] = "6984542fea333488de5c82eea58d699e4aff4b359200a9971537cd7e047185f7" inherit autotools pkgconfig lib_package -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:48:39 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:48:39 +0000 Subject: [oe-commits] [meta-openembedded] 52/60: libmime-charset-perl: add recipe In-Reply-To: <150006886722.7705.14424127970521923710@git.openembedded.org> References: <150006886722.7705.14424127970521923710@git.openembedded.org> Message-ID: <20170714214748.F0D0723345D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit c311abb43e41b3c1ef4e4884769039329254248a Author: Ming Liu AuthorDate: Tue Jul 11 18:44:32 2017 +0200 libmime-charset-perl: add recipe MIME::Charset - Charset Information for MIME. It's being depended by libunicode-linebreak-perl. Signed-off-by: Ming Liu Signed-off-by: Martin Jansa --- .../libmime/libmime-charset-perl_1.012.2.bb | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/meta-perl/recipes-perl/libmime/libmime-charset-perl_1.012.2.bb b/meta-perl/recipes-perl/libmime/libmime-charset-perl_1.012.2.bb new file mode 100644 index 0000000..79b4681 --- /dev/null +++ b/meta-perl/recipes-perl/libmime/libmime-charset-perl_1.012.2.bb @@ -0,0 +1,19 @@ +SUMMARY = "MIME::Charset - Charset Information for MIME." +DESCRIPTION = "MIME::Charset provides information about character sets used for MIME \ +messages on Internet." +HOMEPAGE = "http://search.cpan.org/~nezumi/MIME-Charset-${PV}/" +SECTION = "libs" + +LICENSE = "Artistic-1.0 | GPLv1+" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +SRC_URI = "${CPAN_MIRROR}/authors/id/N/NE/NEZUMI/MIME-Charset-${PV}.tar.gz" + +SRC_URI[md5sum] = "71440416376248c31aa3bef753fae28d" +SRC_URI[sha256sum] = "878c779c0256c591666bd06c0cde4c0d7820eeeb98fd1183082aee9a1e7b1d13" + +S = "${WORKDIR}/MIME-Charset-${PV}" + +inherit cpan + +BBCLASSEXTEND = "native" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:48:40 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:48:40 +0000 Subject: [oe-commits] [meta-openembedded] 53/60: libterm-readkey-perl: add recipe In-Reply-To: <150006886722.7705.14424127970521923710@git.openembedded.org> References: <150006886722.7705.14424127970521923710@git.openembedded.org> Message-ID: <20170714214749.05081233463@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 61a2e24f601a5e79f0ad42f87c757414dfa8b3fb Author: Ming Liu AuthorDate: Tue Jul 11 18:44:33 2017 +0200 libterm-readkey-perl: add recipe Term::ReadKey - A perl module for simple terminal control. It's being strongly recommended by po4a. Signed-off-by: Ming Liu Signed-off-by: Martin Jansa --- .../libterm/libterm-readkey-perl_2.37.bb | 36 ++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/meta-perl/recipes-perl/libterm/libterm-readkey-perl_2.37.bb b/meta-perl/recipes-perl/libterm/libterm-readkey-perl_2.37.bb new file mode 100644 index 0000000..6b76682 --- /dev/null +++ b/meta-perl/recipes-perl/libterm/libterm-readkey-perl_2.37.bb @@ -0,0 +1,36 @@ +SUMMARY = "Term::ReadKey - A perl module for simple terminal control." +DESCRIPTION = "Term::ReadKey is a compiled perl module dedicated to providing simple \ +control over terminal driver modes (cbreak, raw, cooked, etc.,) support \ +for non-blocking reads, if the architecture allows, and some generalized \ +handy functions for working with terminals. One of the main goals is to \ +have the functions as portable as possible, so you can just plug in "use \ +Term::ReadKey" on any architecture and have a good likelihood of it \ +working." +HOMEPAGE = "http://search.cpan.org/~jstowe/TermReadKey-${PV}" +SECTION = "libraries" + +LICENSE = "Artistic-1.0 | GPLv1+" +LIC_FILES_CHKSUM = "file://README;md5=c275db663c8489a5709ebb22b185add5" + +SRC_URI = "${CPAN_MIRROR}/authors/id/J/JS/JSTOWE/TermReadKey-${PV}.tar.gz" + +SRC_URI[md5sum] = "e8ea15c16333ac4f8d146d702e83cc0c" +SRC_URI[sha256sum] = "4a9383cf2e0e0194668fe2bd546e894ffad41d556b41d2f2f577c8db682db241" + +S = "${WORKDIR}/TermReadKey-${PV}" + +# It needs depend on native to let dynamic loader use native modules +# rather than target ones. +DEPENDS = "libterm-readkey-perl-native" + +inherit cpan + +do_configure_append () { + # Hack the dynamic module loader so that it use native modules since it can't load + # the target ones. + if [ "${BUILD_SYS}" != "${HOST_SYS}" ]; then + sed -i -e "s#-I\$(INST_ARCHLIB)#-I${STAGING_BINDIR_NATIVE}/perl-native/perl/vendor_perl/${@get_perl_version(d)}#g" Makefile + fi +} + +BBCLASSEXTEND = "native" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:48:41 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:48:41 +0000 Subject: [oe-commits] [meta-openembedded] 54/60: liblocale-gettext-perl: add recipe In-Reply-To: <150006886722.7705.14424127970521923710@git.openembedded.org> References: <150006886722.7705.14424127970521923710@git.openembedded.org> Message-ID: <20170714214749.0C084233468@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 7949042e856b0e1e119614d9cbabd2fd6b52f8a8 Author: Ming Liu AuthorDate: Tue Jul 11 18:44:34 2017 +0200 liblocale-gettext-perl: add recipe Locale::gettext - message handling functions. It's being strongly recommended by po4a. Signed-off-by: Ming Liu Signed-off-by: Martin Jansa --- .../liblocale/liblocale-gettext-perl_1.07.bb | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/meta-perl/recipes-perl/liblocale/liblocale-gettext-perl_1.07.bb b/meta-perl/recipes-perl/liblocale/liblocale-gettext-perl_1.07.bb new file mode 100644 index 0000000..fdc72a2 --- /dev/null +++ b/meta-perl/recipes-perl/liblocale/liblocale-gettext-perl_1.07.bb @@ -0,0 +1,21 @@ +SUMMARY = "Locale::gettext - message handling functions." +DESCRIPTION = "The gettext module permits access from perl to the gettext() family of \ +functions for retrieving message strings from databases constructed to \ +internationalize software." +SECTION = "libs" + +HOMEPAGE = "http://search.cpan.org/~pvandry/Locale-gettext-${PV}/" + +LICENSE = "Artistic-1.0 | GPLv1+" +LIC_FILES_CHKSUM = "file://README;md5=d028249c2d08dca6ca6c5bb43b56d926" + +SRC_URI = "${CPAN_MIRROR}/authors/id/P/PV/PVANDRY/Locale-gettext-${PV}.tar.gz" + +SRC_URI[md5sum] = "bc652758af65c24500f1d06a77415019" +SRC_URI[sha256sum] = "909d47954697e7c04218f972915b787bd1244d75e3bd01620bc167d5bbc49c15" + +S = "${WORKDIR}/Locale-gettext-${PV}" + +inherit cpan + +BBCLASSEXTEND = "native" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:48:42 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:48:42 +0000 Subject: [oe-commits] [meta-openembedded] 55/60: libtext-charwidth-perl: add recipe In-Reply-To: <150006886722.7705.14424127970521923710@git.openembedded.org> References: <150006886722.7705.14424127970521923710@git.openembedded.org> Message-ID: <20170714214749.15C4F233465@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 2abbcacaf37eeb74eb754bc2b299e2eb5fa6f736 Author: Ming Liu AuthorDate: Tue Jul 11 18:44:35 2017 +0200 libtext-charwidth-perl: add recipe Text::CharWidth - Get number of occupied columns of a string on terminal. It's being depended by libtext-wrapi18n-perl. Signed-off-by: Ming Liu Signed-off-by: Martin Jansa --- .../libtext/libtext-charwidth-perl_0.04.bb | 27 ++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/meta-perl/recipes-perl/libtext/libtext-charwidth-perl_0.04.bb b/meta-perl/recipes-perl/libtext/libtext-charwidth-perl_0.04.bb new file mode 100644 index 0000000..9057ae7 --- /dev/null +++ b/meta-perl/recipes-perl/libtext/libtext-charwidth-perl_0.04.bb @@ -0,0 +1,27 @@ +SUMMARY = "Text::CharWidth - Get number of occupied columns of a string on terminal." +DESCRIPTION = "This module supplies features similar as wcwidth(3) and wcswidth(3) \ +in C language. \ +Characters have its own width on terminal depending on locale. For \ +example, ASCII characters occupy one column per character, east Asian \ +fullwidth characters (like Hiragana or Han Ideograph) occupy two columns \ +per character, and combining characters (apperaring in ISO-8859-11 Thai, \ +Unicode, and so on) occupy zero columns per character. mbwidth() gives the \ +width of the first character of the given string and mbswidth() gives the \ +width of the whole given string." +SECTION = "libs" + +HOMEPAGE = "http://search.cpan.org/~kubota/Text-CharWidth-${PV}/" + +LICENSE = "Artistic-1.0 | GPLv1+" +LIC_FILES_CHKSUM = "file://README;md5=d8d54c8c500cbdd57a4c15911d9d96db" + +SRC_URI = "${CPAN_MIRROR}/authors/id/K/KU/KUBOTA/Text-CharWidth-${PV}.tar.gz" + +SRC_URI[md5sum] = "37a723df0580c0758c0ee67b37336c15" +SRC_URI[sha256sum] = "abded5f4fdd9338e89fd2f1d8271c44989dae5bf50aece41b6179d8e230704f8" + +S = "${WORKDIR}/Text-CharWidth-${PV}" + +inherit cpan + +BBCLASSEXTEND = "native" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:48:43 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:48:43 +0000 Subject: [oe-commits] [meta-openembedded] 56/60: libtext-wrapi18n-perl: add recipe In-Reply-To: <150006886722.7705.14424127970521923710@git.openembedded.org> References: <150006886722.7705.14424127970521923710@git.openembedded.org> Message-ID: <20170714214749.1E338233469@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 70e575f33daf2d506634c6c941fab272dc52219f Author: Ming Liu AuthorDate: Tue Jul 11 18:44:36 2017 +0200 libtext-wrapi18n-perl: add recipe Text::WrapI18N - Line wrapping module with support for multibyte, fullwidth, and combining characters and languages without whitespaces between words. It's being strongly recommended by po4a. Signed-off-by: Ming Liu Signed-off-by: Martin Jansa --- .../libtext/libtext-wrapi18n-perl_0.06.bb | 32 ++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/meta-perl/recipes-perl/libtext/libtext-wrapi18n-perl_0.06.bb b/meta-perl/recipes-perl/libtext/libtext-wrapi18n-perl_0.06.bb new file mode 100644 index 0000000..b2c239d --- /dev/null +++ b/meta-perl/recipes-perl/libtext/libtext-wrapi18n-perl_0.06.bb @@ -0,0 +1,32 @@ +SUMMARY = "Text::WrapI18N - Line wrapping module with support for multibyte, \ +fullwidth, and combining characters and languages without whitespaces \ +between words." +DESCRIPTION = "This module intends to be a better Text::Wrap module. This module is \ +needed to support multibyte character encodings such as UTF-8, EUC-JP, \ +EUC-KR, GB2312, and Big5. This module also supports characters with \ +irregular widths, such as combining characters (which occupy zero columns \ +on terminal, like diacritical marks in UTF-8) and fullwidth characters \ +(which occupy two columns on terminal, like most of east Asian \ +characters). Also, minimal handling of languages which doesn't use \ +whitespaces between words (like Chinese and Japanese) is supported." +SECTION = "libs" + +HOMEPAGE = "http://search.cpan.org/~kubota/Text-WrapI18N-${PV}/" + +LICENSE = "Artistic-1.0 | GPLv1+" +LIC_FILES_CHKSUM = "file://README;md5=080862e1e40cdcddef4393e137285858" + +SRC_URI = "${CPAN_MIRROR}/authors/id/K/KU/KUBOTA/Text-WrapI18N-${PV}.tar.gz" + +SRC_URI[md5sum] = "0799c16a00926e6c18d400c2e2861d5f" +SRC_URI[sha256sum] = "4bd29a17f0c2c792d12c1005b3c276f2ab0fae39c00859ae1741d7941846a488" + +S = "${WORKDIR}/Text-WrapI18N-${PV}" + +DEPENDS = "libtext-charwidth-perl" + +RDEPENDS_${PN} = "libtext-charwidth-perl" + +inherit cpan + +BBCLASSEXTEND = "native" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:48:45 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:48:45 +0000 Subject: [oe-commits] [meta-openembedded] 58/60: po4a: add full functionalities In-Reply-To: <150006886722.7705.14424127970521923710@git.openembedded.org> References: <150006886722.7705.14424127970521923710@git.openembedded.org> Message-ID: <20170714214749.2CD5C233470@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 7abd4710bf9b334874993bd9a4a90e3f8f3a9c41 Author: Ming Liu AuthorDate: Tue Jul 11 18:44:38 2017 +0200 po4a: add full functionalities Add the following dependencies to DEPENDS and RRECOMMENDS_${PN}, to let po4a and po4a-native work with full functionalities: - libtext-wrapi18n-perl - libterm-readkey-perl - liblocale-gettext-perl - libunicode-linebreak-perl Signed-off-by: Ming Liu Signed-off-by: Martin Jansa --- meta-perl/recipes-perl/po4a/po4a_0.49.bb | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/meta-perl/recipes-perl/po4a/po4a_0.49.bb b/meta-perl/recipes-perl/po4a/po4a_0.49.bb index e52e5f7..5db5b8f 100644 --- a/meta-perl/recipes-perl/po4a/po4a_0.49.bb +++ b/meta-perl/recipes-perl/po4a/po4a_0.49.bb @@ -13,8 +13,21 @@ SRCREV = "79ed87a577a543538fe39c7b60079981f5997072" S = "${WORKDIR}/git" -inherit cpan_build +DEPENDS = " \ + libmodule-build-perl-native \ + libtext-wrapi18n-perl \ + libterm-readkey-perl \ + liblocale-gettext-perl \ + libunicode-linebreak-perl \ +" + +RRECOMMENDS_${PN} = " \ + libtext-wrapi18n-perl \ + libterm-readkey-perl \ + liblocale-gettext-perl \ + libunicode-linebreak-perl \ +" -DEPENDS += "libmodule-build-perl-native" +inherit cpan_build BBCLASSEXTEND = "native" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:48:44 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:48:44 +0000 Subject: [oe-commits] [meta-openembedded] 57/60: libunicode-linebreak-perl: add recipe In-Reply-To: <150006886722.7705.14424127970521923710@git.openembedded.org> References: <150006886722.7705.14424127970521923710@git.openembedded.org> Message-ID: <20170714214749.2593723346B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 258c97116f2e4e1dd6cbb9d23a1d6c7ed476b201 Author: Ming Liu AuthorDate: Tue Jul 11 18:44:37 2017 +0200 libunicode-linebreak-perl: add recipe Unicode::LineBreak - UAX #14 Unicode Line Breaking Algorithm. It's being strongly recommended by po4a. Signed-off-by: Ming Liu Signed-off-by: Martin Jansa --- .../libunicode-linebreak-perl_2017.004.bb | 26 ++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/meta-perl/recipes-perl/libunicode/libunicode-linebreak-perl_2017.004.bb b/meta-perl/recipes-perl/libunicode/libunicode-linebreak-perl_2017.004.bb new file mode 100644 index 0000000..5ccb411 --- /dev/null +++ b/meta-perl/recipes-perl/libunicode/libunicode-linebreak-perl_2017.004.bb @@ -0,0 +1,26 @@ +SUMMARY = "Unicode::LineBreak - UAX #14 Unicode Line Breaking Algorithm." +DESCRIPTION = "Unicode::LineBreak performs Line Breaking Algorithm described in Unicode \ +Standard Annex #14 [UAX #14]. East_Asian_Width informative property \ +defined by Annex #11 [UAX #11] will be concerned to determine breaking \ +positions." +SECTION = "libs" + +HOMEPAGE = "http://search.cpan.org/~nezumi/Unicode-LineBreak-${PV}/" + +LICENSE = "Artistic-1.0 | GPLv1+" +LIC_FILES_CHKSUM = "file://README;md5=77241abd74fec561b3f3de1b44c0241b" + +SRC_URI = "${CPAN_MIRROR}/authors/id/N/NE/NEZUMI/Unicode-LineBreak-${PV}.tar.gz" + +SRC_URI[md5sum] = "de7672227922260ac92d20bbad29660b" +SRC_URI[sha256sum] = "655bc3c4cb60ad0770d97816716cfe322f24e602c70e595f5941dfa02c40cb76" + +S = "${WORKDIR}/Unicode-LineBreak-${PV}" + +DEPENDS = "libsombok3 libmime-charset-perl" + +RDEPENDS_${PN} = "libsombok3 libmime-charset-perl" + +inherit cpan + +BBCLASSEXTEND = "native" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:48:46 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:48:46 +0000 Subject: [oe-commits] [meta-openembedded] 59/60: gflags: update SRC_URI with git fetcher In-Reply-To: <150006886722.7705.14424127970521923710@git.openembedded.org> References: <150006886722.7705.14424127970521923710@git.openembedded.org> Message-ID: <20170714214749.3354A233481@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 65a4fce6d8ab6547d57985e0ee2a8e197aadca64 Author: Kai Kang AuthorDate: Fri Jun 30 14:43:10 2017 +0800 gflags: update SRC_URI with git fetcher Because github archives can be regenerated from time to time, update SRC_URI with git fetcher for gflags. Signed-off-by: Kai Kang Signed-off-by: Martin Jansa --- meta-oe/recipes-support/gflags/gflags_2.2.0.bb | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/meta-oe/recipes-support/gflags/gflags_2.2.0.bb b/meta-oe/recipes-support/gflags/gflags_2.2.0.bb index 5fc28f6..89caa37 100644 --- a/meta-oe/recipes-support/gflags/gflags_2.2.0.bb +++ b/meta-oe/recipes-support/gflags/gflags_2.2.0.bb @@ -5,9 +5,10 @@ HOMEPAGE = "https://github.com/gflags/gflags" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM = "file://COPYING.txt;md5=c80d1a3b623f72bb85a4c75b556551df" -SRC_URI = "https://github.com/gflags/gflags/archive/v${PV}.tar.gz;downloadfilename=${PN}-${PV}.tar.gz" -SRC_URI[md5sum] = "b99048d9ab82d8c56e876fb1456c285e" -SRC_URI[sha256sum] = "466c36c6508a451734e4f4d76825cf9cd9b8716d2b70ef36479ae40f08271f88" +SRC_URI = "git://github.com/gflags/gflags.git" +SRCREV = "f8a0efe03aa69b3336d8e228b37d4ccb17324b88" + +S = "${WORKDIR}/git" FILES_${PN}-dev += "${libdir}/cmake" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:48:38 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:48:38 +0000 Subject: [oe-commits] [meta-openembedded] 51/60: libsombok3: add recipe In-Reply-To: <150006886722.7705.14424127970521923710@git.openembedded.org> References: <150006886722.7705.14424127970521923710@git.openembedded.org> Message-ID: <20170714214748.E995F23345F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 0112916134631681c66d6f9b92edfa0c2ad2f37f Author: Ming Liu AuthorDate: Tue Jul 11 18:44:31 2017 +0200 libsombok3: add recipe Sombok - Unicode Text Segmentation Package. It's being depended by libunicode-linebreak-perl. Signed-off-by: Ming Liu Signed-off-by: Martin Jansa --- ...01-configure.ac-fix-cross-compiling-issue.patch | 31 ++++++++++++++++++++++ .../libsombok3/libsombok3_2.4.0.bb | 25 +++++++++++++++++ 2 files changed, 56 insertions(+) diff --git a/meta-oe/recipes-devtools/libsombok3/libsombok3/0001-configure.ac-fix-cross-compiling-issue.patch b/meta-oe/recipes-devtools/libsombok3/libsombok3/0001-configure.ac-fix-cross-compiling-issue.patch new file mode 100644 index 0000000..1a69287 --- /dev/null +++ b/meta-oe/recipes-devtools/libsombok3/libsombok3/0001-configure.ac-fix-cross-compiling-issue.patch @@ -0,0 +1,31 @@ +From 9c2ffe825e28d63e2a771135f297e8ffac0dbe81 Mon Sep 17 00:00:00 2001 +From: Ming Liu +Date: Tue, 11 Jul 2017 14:35:30 +0200 +Subject: [PATCH] configure.ac: fix cross-compiling issue + +Avoid checking for file existence when cross compiling. + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Ming Liu +--- + configure.ac | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 9978852..06b16e3 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -120,9 +120,6 @@ AC_ARG_WITH(unicode-version, + AC_HELP_STRING(--with-unicode-version=VERSION, + [version of Unicode Standard @<:@default=current version@:>@]), + UNICODE_VERSION=$withval,UNICODE_VERSION=$DEFAULT_UNICODE_VERSION) +-AC_CHECK_FILE([lib/$UNICODE_VERSION.c], +- AC_MSG_RESULT($UNICODE_VERSION), +- AC_MSG_ERROR(Unknown Unicode version $UNICODE_VERSION.)) + AC_SUBST(UNICODE_VERSION) + + # check if code to debug memory allocation is enabled. +-- +2.7.4 + diff --git a/meta-oe/recipes-devtools/libsombok3/libsombok3_2.4.0.bb b/meta-oe/recipes-devtools/libsombok3/libsombok3_2.4.0.bb new file mode 100644 index 0000000..b83e86a --- /dev/null +++ b/meta-oe/recipes-devtools/libsombok3/libsombok3_2.4.0.bb @@ -0,0 +1,25 @@ +SUMMARY = "Sombok - Unicode Text Segmentation Package." +DESCRIPTION = "Sombok library package performs Line Breaking Algorithm described in \ +Unicode Standard Annex #14 (UAX #14). East_Asian_Width informative \ +properties defined by Annex #11 (UAX #11) may be concerned to determin \ +breaking positions. This package also implements "default" Grapheme \ +Cluster segmentation described in Annex #29 (UAX #29)." +LICENSE = "Artistic-1.0 | GPLv1+" +LIC_FILES_CHKSUM = "file://COPYING;md5=5b122a36d0f6dc55279a0ebc69f3c60b" + +SRC_URI = "git://github.com/hatukanezumi/sombok.git;protocol=https \ + file://0001-configure.ac-fix-cross-compiling-issue.patch \ + " + +inherit autotools pkgconfig + +# sombok-2.4.0 +SRCREV = "0098d85a037ef5c99a648a3669a077781a45e8cc" + +S = "${WORKDIR}/git" +B = "${S}" + +# Disable libthai support +EXTRA_OECONF = "--disable-libthai" + +BBCLASSEXTEND = "native" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:48:47 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:48:47 +0000 Subject: [oe-commits] [meta-openembedded] 60/60: unionfs-fuse: 0.26 -> 2.0 In-Reply-To: <150006886722.7705.14424127970521923710@git.openembedded.org> References: <150006886722.7705.14424127970521923710@git.openembedded.org> Message-ID: <20170714214749.3BC4623346C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 1cbd1bc195017312ba8cf670b340f61a2ac6207b Author: Hongxu Jia AuthorDate: Fri Jun 30 03:25:24 2017 -0400 unionfs-fuse: 0.26 -> 2.0 - Fix 0.26's do_compile failure by inheriting cmake and pkgconfig - Update upstream to github Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- .../files/0001-support-cross-compiling.patch | 32 ++++++++++++++++++++++ .../unionfs-fuse/unionfs-fuse_0.26.bb | 19 ------------- .../unionfs-fuse/unionfs-fuse_2.0.bb | 18 ++++++++++++ 3 files changed, 50 insertions(+), 19 deletions(-) diff --git a/meta-filesystems/recipes-filesystems/unionfs-fuse/files/0001-support-cross-compiling.patch b/meta-filesystems/recipes-filesystems/unionfs-fuse/files/0001-support-cross-compiling.patch new file mode 100644 index 0000000..bf363ca --- /dev/null +++ b/meta-filesystems/recipes-filesystems/unionfs-fuse/files/0001-support-cross-compiling.patch @@ -0,0 +1,32 @@ +From 449cec34c123b86b792627553c6ec7471d2ee7ed Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Fri, 30 Jun 2017 14:46:51 +0800 +Subject: [PATCH] support cross compiling + +Do not override OE CMAKE variables + +Upstream-Status: Pending + +Signed-off-by: Hongxu Jia +--- + CMakeLists.txt | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -10,9 +10,9 @@ IF(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE) + ENDIF(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE) + + # Select flags. +-SET(CMAKE_C_FLAGS "-pipe -W -Wall -DFORTIFY_SOURCE=2") ++SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pipe -W -Wall -DFORTIFY_SOURCE=2") + SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -g") +-SET(CMAKE_C_FLAGS_RELEASE "-O2") ++SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O2") + SET(CMAKE_C_FLAGS_DEBUG "-O0 -g -DDEBUG") + + if (UNIX AND APPLE) +-- +2.8.1 + diff --git a/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_0.26.bb b/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_0.26.bb deleted file mode 100644 index 2520429..0000000 --- a/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_0.26.bb +++ /dev/null @@ -1,19 +0,0 @@ -SUMMARY = "A FUSE based implemention of unionfs" -HOMEPAGE = "http://podgorny.cz/moin/UnionFsFuse" -SECTION = "console/network" -LICENSE = "BSD-3-Clause" -DEPENDS = "fuse" -LIC_FILES_CHKSUM = "file://src/unionfs.c;beginline=3;endline=8;md5=30fa8de70fd8abab00b483a1b7943a32" - -SRC_URI = "http://podgorny.cz/unionfs-fuse/releases/${BP}.tar.xz" - -SRC_URI[md5sum] = "689c636484756f6f7a728ef354cbeac2" -SRC_URI[sha256sum] = "8d5c9dcb51ecb9a9b03890e16d17e37d602b0c1f23ed6a9ddec2b0f719c9f662" - -do_install() { - oe_runmake install DESTDIR=${D} PREFIX=${exec_prefix} -} - -RDEPENDS_${PN} += "bash" - -PNBLACKLIST[unionfs-fuse] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130648/ - the recipe will be removed on 2017-09-01 unless the issue is fixed" diff --git a/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_2.0.bb b/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_2.0.bb new file mode 100644 index 0000000..b89d8db --- /dev/null +++ b/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_2.0.bb @@ -0,0 +1,18 @@ +SUMMARY = "A FUSE based implemention of unionfs" +HOMEPAGE = "https://github.com/rpodgorny/unionfs-fuse" +SECTION = "console/network" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://src/unionfs.c;beginline=3;endline=8;md5=30fa8de70fd8abab00b483a1b7943a32 \ + file://LICENSE;md5=7e5a37fce17307066eec6b23546da3b3 \ +" + +SRC_URI = "git://github.com/rpodgorny/${BPN}.git;branch=master \ + file://0001-support-cross-compiling.patch \ +" +SRCREV = "c8d23a9a75f1a62988593671839e8a168a79f3e5" + +DEPENDS = "fuse" + +S = "${WORKDIR}/git" + +inherit cmake pkgconfig -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:49:35 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:49:35 +0000 Subject: [oe-commits] [meta-openembedded] 03/33: strongswan: Include stdint.h for uintptr_t In-Reply-To: <150006897250.9573.17315859959339979102@git.openembedded.org> References: <150006897250.9573.17315859959339979102@git.openembedded.org> Message-ID: <20170714214932.DD929233459@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit cb4a0145a26091abe544b3a99a6fef2e92166e53 Author: Khem Raj AuthorDate: Tue Jun 27 19:08:09 2017 -0700 strongswan: Include stdint.h for uintptr_t Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...1-memory.h-Include-stdint.h-for-uintptr_t.patch | 26 ++++++++++++++++++++++ .../recipes-support/strongswan/strongswan_5.5.3.bb | 5 +++-- 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/meta-networking/recipes-support/strongswan/files/0001-memory.h-Include-stdint.h-for-uintptr_t.patch b/meta-networking/recipes-support/strongswan/files/0001-memory.h-Include-stdint.h-for-uintptr_t.patch new file mode 100644 index 0000000..7ebc398 --- /dev/null +++ b/meta-networking/recipes-support/strongswan/files/0001-memory.h-Include-stdint.h-for-uintptr_t.patch @@ -0,0 +1,26 @@ +From 2a3ab04bbdc4624792886aa51579eadb427ef99e Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 27 Jun 2017 07:42:11 -0700 +Subject: [PATCH] memory.h: Include stdint.h for uintptr_t + +Signed-off-by: Khem Raj +--- + src/libstrongswan/utils/utils/memory.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/libstrongswan/utils/utils/memory.h b/src/libstrongswan/utils/utils/memory.h +index b978e7c..55aaaf5 100644 +--- a/src/libstrongswan/utils/utils/memory.h ++++ b/src/libstrongswan/utils/utils/memory.h +@@ -22,6 +22,8 @@ + #ifndef MEMORY_H_ + #define MEMORY_H_ + ++#include ++ + /** + * Helper function that compares two binary blobs for equality + */ +-- +2.13.2 + diff --git a/meta-networking/recipes-support/strongswan/strongswan_5.5.3.bb b/meta-networking/recipes-support/strongswan/strongswan_5.5.3.bb index 9215233..3fb56bc 100644 --- a/meta-networking/recipes-support/strongswan/strongswan_5.5.3.bb +++ b/meta-networking/recipes-support/strongswan/strongswan_5.5.3.bb @@ -8,8 +8,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" DEPENDS = "gmp openssl flex-native flex bison-native" SRC_URI = "http://download.strongswan.org/strongswan-${PV}.tar.bz2 \ - file://fix-funtion-parameter.patch \ -" + file://fix-funtion-parameter.patch \ + file://0001-memory.h-Include-stdint.h-for-uintptr_t.patch \ + " SRC_URI[md5sum] = "4afffe3c219bb2e04f09510905af836b" SRC_URI[sha256sum] = "c5ea54b199174708de11af9b8f4ecf28b5b0743d4bc0e380e741f25b28c0f8d4" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:49:34 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:49:34 +0000 Subject: [oe-commits] [meta-openembedded] 02/33: rdate: Fix build with hardening In-Reply-To: <150006897250.9573.17315859959339979102@git.openembedded.org> References: <150006897250.9573.17315859959339979102@git.openembedded.org> Message-ID: <20170714214932.D5EDA233457@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit ba5e474b87a7fc4aeba0e6e431c4f4c92fd85523 Author: Khem Raj AuthorDate: Mon Jun 26 22:57:09 2017 -0700 rdate: Fix build with hardening Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../0001-src-rdate-Fix-printf-format-errors.patch | 33 ++++++++++++++++++++++ .../recipes-connectivity/rdate/rdate_1.5.bb | 4 ++- 2 files changed, 36 insertions(+), 1 deletion(-) diff --git a/meta-networking/recipes-connectivity/rdate/rdate/0001-src-rdate-Fix-printf-format-errors.patch b/meta-networking/recipes-connectivity/rdate/rdate/0001-src-rdate-Fix-printf-format-errors.patch new file mode 100644 index 0000000..2f65189 --- /dev/null +++ b/meta-networking/recipes-connectivity/rdate/rdate/0001-src-rdate-Fix-printf-format-errors.patch @@ -0,0 +1,33 @@ +From f58bcb43c31d08de58853b088681cbe4df36cbf9 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 26 Jun 2017 22:50:56 -0700 +Subject: [PATCH] src/rdate: Fix printf format errors + +Fixes + +rdate.c:85:41: error: format not a string literal and no format arguments [-Werror=format-security] +| syslog(is_error?LOG_WARNING:LOG_INFO, buf); + +Signed-off-by: Khem Raj +--- +Upstream-Status: Submitted + + src/rdate.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/rdate.c b/src/rdate.c +index 5c3e829..943d481 100644 +--- a/src/rdate.c ++++ b/src/rdate.c +@@ -82,7 +82,7 @@ write_log(int is_error, char *format, ...) + return; /* Error, which we can't report because this _is_ the error + reporting mechanism */ + if(log_mode) +- syslog(is_error?LOG_WARNING:LOG_INFO, buf); ++ syslog(is_error?LOG_WARNING:LOG_INFO, "%s", buf); + if(is_error || print_mode) + fprintf(is_error?stderr:stdout, "%s: %s\n", argv0, buf); + } +-- +2.13.2 + diff --git a/meta-networking/recipes-connectivity/rdate/rdate_1.5.bb b/meta-networking/recipes-connectivity/rdate/rdate_1.5.bb index 818f16a..b3af927 100644 --- a/meta-networking/recipes-connectivity/rdate/rdate_1.5.bb +++ b/meta-networking/recipes-connectivity/rdate/rdate_1.5.bb @@ -11,7 +11,9 @@ SECTION = "Applications/System" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3" -SRC_URI= "https://www.aelius.com/njh/${BPN}/${BP}.tar.gz" +SRC_URI = "https://www.aelius.com/njh/${BPN}/${BP}.tar.gz \ + file://0001-src-rdate-Fix-printf-format-errors.patch \ + " SRC_URI[md5sum] = "0a4f612480777fdf25264ac03c57eae6" SRC_URI[sha256sum] = "6e800053eaac2b21ff4486ec42f0aca7214941c7e5fceedd593fa0be99b9227d" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:49:32 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:49:32 +0000 Subject: [oe-commits] [meta-openembedded] branch master-next updated (1815d4e -> 82650e1) Message-ID: <150006897250.9573.17315859959339979102@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a change to branch master-next in repository meta-openembedded. discard 1815d4e ebtables: replace ebtables-save perl script with bash rewrite discard 131de8c po4a: add full functionalities discard 247aec7 libunicode-linebreak-perl: add recipe discard f5158f7 libtext-wrapi18n-perl: add recipe discard 9dfe3e1 libtext-charwidth-perl: add recipe discard 91736f5 liblocale-gettext-perl: add recipe discard 3ccb597 libterm-readkey-perl: add recipe discard 20b186c libmime-charset-perl: add recipe discard 9b2852b libsombok3: add recipe discard ef59094 klibc: Fix linking by using bfd linker when default linker is gold discard 7fdf736 proj: update to 4.9.3 discard 626a865 Intel: remove license file discard 5cce369 fluentbit: fix SYSTEMD_SERVICE name discard 225e21d kodi: Fix build on arm discard ac04fc6 ubi-utils-klibc: Pass TUNE_CCARGS into CFLAGS discard 216bf8b klibc: Fix build with musl discard d4373e3 libdbus-c++: Add -pthread to linker flags discard f180ebe faac: update 1.28 -> 1.29 discard 85f9438 abiword: update 3.0.1 -> 3.0.2 discard 4ae21b2 gparted: update 0.27.0 -> 0.28.1 discard 072a282 garcon: update 0.4.0 -> 0.6.1 discard 6351d5d gvfs: update 1.28.3 -> 1.32.1 discard b234cb7 udisks2: update 2.1.7 -> 2.1.8 discard 5fc3a7b meta-python: Add python-daemon recipe and its dependencies discard 6978c6c meta-python: Add pybluez recipe discard 96ddef1 meta-python: Add Protobuf and gRPC Python recipes discard 011d175 kodi: Fix build on powerpc discard 9f59778 pptp-linux: Upgrade to 1.9.0 discard 21ac7ab ltrace: Fix build on musl discard a9b421b security_flags.inc: Delete discard 3e83a12 libdbus-c++: Fix build with gcc7 and unblacklist discard 2c09550 webrtc-audio-processing: initial recipe discard e5d13e0 gnome-common: Add recipe (from oe-core) discard 8253d8c libtinyxml2: upgrade to 5.0.1 discard ab2195a python-pytest: remove fetch during do_compile phase discard 576007b python-pytest: update to version 3.1.3 discard fba5745 multipath-tools: 0.6.4 -> 0.7.1 discard 7798745 ser2net: upgrade to version 3.4 discard 5b24757 kodi: User external crossguid discard 116273f crossguid: Add recipe discard d6871e9 gperftools: Fix build on ppc discard 339f975 librcf: Define byteorder for powerpc machines discard 78c68a2 libtorrent: Link in 64bit atomics for ppc discard b952200 ltrace: Add mips64 support discard 160c92f tinymembench: Disable on mips64 discard 553ca7d meson: Port pkgconfig-native patch to 0.40.1 discard d855e3d openhpi: Fix build on 64bit platforms e.g. aarch64 discard b7dac59 uim: Add support for aarch64 discard d1c5c69 rtorrent: Add and enable ipv6 packageconfig based on DISTRO_FEATURES discard 220ffd8 libtorrent: Implement 64bit atomics for mips32 discard bf198f6 kodi: Update to 17.3 discard 14c5780 synergy: Update to 1.8.8 release discard e6ffb3c assimp: Upgrade to 3.3.1 release discard 17afe08 libsrtp: Fix build on mips discard 73ccbee dietsplash: Fix build on mips discard 8ddbec6 fluentbit: Fix parallel build race discard a57a2ed gimp: Upgrade to 2.8.22 discard 6cbe8e8 babl: Upgrade to 0.1.28 discard 6869684 gegl: Upgrade to 0.3.18 discard b02be7a freerdp: Fix build on mips discard 5ed1dba librcf: fix mips/mips64 build discard b73b2f4 gst-plugins-gl_0.10.3.bb: Fix build on rpi/userland discard 39502f2 autofs: Add build dependency on libnsl2 discard 1a3966a unionfs-fuse: 0.26 -> 2.0 discard 5963598 gflags: update SRC_URI with git fetcher discard 2531f3e ippool: Fix build errors found with hardening flags discard ed9432c ncftp: Upgrade to 3.2.6 discard b1fb0ad netkit-telnet: Fix build with hardening discard 961797e netkit-rpc: Fix build with hardening flags discard 96fd8e1 strongswan: Include stdint.h for uintptr_t discard d1fca80 rdate: Fix build with hardening discard 9340320 dnsmasq: disable the service by default add 9847dfa gst-plugins-gl_0.10.3.bb: Fix build on rpi/userland add 3278be3 librcf: fix mips/mips64 build add b8deb41 freerdp: Fix build on mips add a85fb1b gegl: Upgrade to 0.3.18 add 598ec9e babl: Upgrade to 0.1.28 add 49bb63d gimp: Upgrade to 2.8.22 add 83dfe14 fluentbit: Fix parallel build race add 8d5d066 dietsplash: Fix build on mips add 69d7273 libsrtp: Fix build on mips add 9fc1d26 assimp: Upgrade to 3.3.1 release add d441a62 synergy: Update to 1.8.8 release add 2459f15 kodi: Update to 17.3 add cf75eaa libtorrent: Implement 64bit atomics for mips32 add f5cab49 rtorrent: Add and enable ipv6 packageconfig based on DISTRO_FEATURES add 36aa6ed uim: Add support for aarch64 add cde6146 meson: Port pkgconfig-native patch to 0.40.1 add f52cbdc tinymembench: Disable on mips64 add 27a7e20 ltrace: Add mips64 support add a899acc libtorrent: Link in 64bit atomics for ppc add 8c89764 librcf: Define byteorder for powerpc machines add 23a1d7a gperftools: Fix build on ppc add 5e9f83d crossguid: Add recipe add aad655a kodi: User external crossguid add 5688c8e ser2net: upgrade to version 3.4 add 1acfde8 multipath-tools: 0.6.4 -> 0.7.1 add 941ad26 python-pytest: update to version 3.1.3 add c974fbf python-pytest: remove fetch during do_compile phase add 2a502e8 libtinyxml2: upgrade to 5.0.1 add ea79166 gnome-common: Add recipe (from oe-core) add 5c98b0f webrtc-audio-processing: initial recipe add 5693b47 libdbus-c++: Fix build with gcc7 and unblacklist add 8a542c8 ltrace: Fix build on musl add c15782e kodi: Fix build on powerpc add d0513b1 meta-python: Add Protobuf and gRPC Python recipes add 5623b70 meta-python: Add pybluez recipe add 5dcaa12 meta-python: Add python-daemon recipe and its dependencies add 14171d0 udisks2: update 2.1.7 -> 2.1.8 add 187798c gvfs: update 1.28.3 -> 1.32.1 add cd15df6 garcon: update 0.4.0 -> 0.6.1 add 0783e23 gparted: update 0.27.0 -> 0.28.1 add 54ca918 abiword: update 3.0.1 -> 3.0.2 add 2563210 faac: update 1.28 -> 1.29 add 592e9f2 libdbus-c++: Add -pthread to linker flags add 15266c1 klibc: Fix build with musl add c6afff8 ubi-utils-klibc: Pass TUNE_CCARGS into CFLAGS add 3e42cd1 kodi: Fix build on arm add 9a469d6 fluentbit: fix SYSTEMD_SERVICE name add 5734362 Intel: remove license file add 909b1a2 proj: update to 4.9.3 add a52f2cb klibc: Fix linking by using bfd linker when default linker is gold add 0112916 libsombok3: add recipe add c311abb libmime-charset-perl: add recipe add 61a2e24 libterm-readkey-perl: add recipe add 7949042 liblocale-gettext-perl: add recipe add 2abbcac libtext-charwidth-perl: add recipe add 70e575f libtext-wrapi18n-perl: add recipe add 258c971 libunicode-linebreak-perl: add recipe add 7abd471 po4a: add full functionalities add 65a4fce gflags: update SRC_URI with git fetcher add 1cbd1bc unionfs-fuse: 0.26 -> 2.0 new c6d4c7a dnsmasq: disable the service by default new ba5e474 rdate: Fix build with hardening new cb4a014 strongswan: Include stdint.h for uintptr_t new 046d96d netkit-rpc: Fix build with hardening flags new caf0d05 netkit-telnet: Fix build with hardening new 933f271 ncftp: Upgrade to 3.2.6 new 31642e1 ippool: Fix build errors found with hardening flags new 7728c8f autofs: Add build dependency on libnsl2 new e4a0edd openhpi: Fix build on 64bit platforms e.g. aarch64 new d6b2593 security_flags.inc: Delete new 98a8830 pptp-linux: Upgrade to 1.9.0 new 39176bd ebtables: replace ebtables-save perl script with bash rewrite new 80a8634 librcf: RDEPENDS on protobuf, json-spirit new bbb9286 fuse: Correct runlevels and startup order new 1483a97 recipes-utils: Add recipe for udevil new d50395e klibc: Fix build issue when default ISA is not thumb new 852412e libteam: Upgrade to 1.27 new cebae2c sox: Fix build with musl new 4b4a68f webrtc-audio-processing: Link with libexecinfo on musl new 4c56033 cdparanoia: Fix build with musl new a8481ce lightmediascanner: Define comparison_fn_t if undefined new ab4314a lmbench: Fix build with musl new daab2b9 xfce4-netload-plugin: Do not include sys/sysctl.h new 5a30d20 imsettings: Fix build with musl new 0206352 gedit: Define ACCESSPERMS if not defined already new 8fd8bc8 onboard: Fix build with musl new 43ad720 libgtop: Fix build with musl new ea840c2 netdata: Upgrade to 1.6.0 new 14d749f can-utils: Update to tip of master new 1c46c71 kexec-tools-klibc: Fix build with musl new b75b17c dracut: Upgrade to 045 new ae7ac67 yaffs2-utils: Fix build with musl new 82650e1 logfsprogs: Rename setkey API to _setkey to not conflict with libc This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (1815d4e) \ N -- N -- N refs/heads/master-next (82650e1) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 33 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: ...ine-comparison_fn_t-for-non-glibc-systems.patch | 33 +++++ .../lightmediascanner/lightmediascanner_0.5.1.bb | 1 + ...-conflicts-with-libc-namespace-about-setk.patch | 135 +++++++++++++++++++++ .../logfsprogs/logfsprogs_git.bb | 3 +- ...0001-define-loff_t-if-not-already-defined.patch | 30 +++++ .../recipes-filesystems/yaffs2/yaffs2-utils_git.bb | 3 +- .../recipes-support/fuse/fuse_2.9.7.bb | 1 + .../0001-udevil-0.4.3-fix-compile-with-gcc6.patch | 12 ++ ...e.am-Use-systemd_unitdir-instead-of-libdi.patch | 32 +++++ .../recipes-utils/udevil/udevil_0.4.4.bb | 28 +++++ ...ent-saver.c-Define-ACCESSPERMS-if-not-def.patch | 31 +++++ meta-gnome/recipes-gnome/gedit/gedit_2.30.4.bb | 11 +- ...-Include-libc-net-headers-unconditionally.patch | 46 +++++++ meta-gnome/recipes-gnome/libgtop/libgtop_2.30.0.bb | 3 + ...m-Define-error-API-if-platform-does-not-h.patch | 67 ++++++++++ .../recipes-support/onboard/onboard_1.4.1.bb | 4 +- ...-util.h-include-sys-reg.h-when-libc-glibc.patch | 33 +++++ .../recipes-devtools/dracut/dracut_git.bb | 19 ++- meta-initramfs/recipes-devtools/klibc/klibc.inc | 2 +- ...he-order-of-headers-to-fix-build-for-musl.patch | 30 +++++ .../kexec/kexec-tools-klibc_2.0.2.bb | 1 + .../cdparanoia/cdparanoia_10.2.bb | 1 + ...-utils-Use-c99-compiler-independent-types.patch | 49 ++++++++ ...error-line-and-live-without-file-type-det.patch | 28 +++++ .../recipes-multimedia/sox/sox_14.4.0.bb | 4 +- .../webrtc-audio-processing_0.3.bb | 3 + ...usl-define-guard-before-redefining-sockle.patch | 29 +++++ ...t-CFLAGS-LDFLAGS-to-append-values-passed-.patch | 76 ++++++++++++ .../recipes-benchmark/lmbench/lmbench_3.0-a9.bb | 8 +- meta-oe/recipes-devtools/librcf/librcf_2.2.0.0.bb | 4 +- .../recipes-extended/socketcan/can-utils_git.bb | 2 +- ...nclude-sys-select.h-for-fd_set-definition.patch | 28 +++++ ...0002-teamd-Re-adjust-include-header-order.patch | 40 ++++++ .../libteam/{libteam_1.26.bb => libteam_1.27.bb} | 7 +- .../netdata/0001-Correct-Timeout-issue.patch | 32 ++--- .../0001-makefile-Do-not-build-contrib-dir.patch | 27 +++++ .../recipes-webadmin/netdata/netdata_git.bb | 14 ++- .../0001-Rename-use-of-stdout-and-stderr.patch | 72 +++++++++++ .../imsettings/imsettings_1.7.2.bb | 4 +- ...ude-sys-sysctl.h-its-unused-on-linux-port.patch | 25 ++++ .../netload/xfce4-netload-plugin_1.3.1.bb | 3 + 41 files changed, 938 insertions(+), 43 deletions(-) create mode 100644 meta-efl/recipes-multimedia/lightmediascanner/files/0001-Define-comparison_fn_t-for-non-glibc-systems.patch create mode 100644 meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs/0001-btree-Avoid-conflicts-with-libc-namespace-about-setk.patch create mode 100644 meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils/0001-define-loff_t-if-not-already-defined.patch create mode 100644 meta-filesystems/recipes-utils/udevil/files/0001-udevil-0.4.3-fix-compile-with-gcc6.patch create mode 100644 meta-filesystems/recipes-utils/udevil/files/0002-etc-Makefile.am-Use-systemd_unitdir-instead-of-libdi.patch create mode 100644 meta-filesystems/recipes-utils/udevil/udevil_0.4.4.bb create mode 100644 meta-gnome/recipes-gnome/gedit/files/0001-tests-document-saver.c-Define-ACCESSPERMS-if-not-def.patch create mode 100644 meta-gnome/recipes-gnome/libgtop/libgtop/0001-netload-Include-libc-net-headers-unconditionally.patch create mode 100644 meta-gnome/recipes-support/onboard/onboard/0001-pypredict-lm-Define-error-API-if-platform-does-not-h.patch create mode 100644 meta-initramfs/recipes-devtools/dracut/dracut/0001-util.h-include-sys-reg.h-when-libc-glibc.patch create mode 100644 meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/0001-Adjust-the-order-of-headers-to-fix-build-for-musl.patch create mode 100644 meta-multimedia/recipes-multimedia/cdparanoia/files/0001-utils-Use-c99-compiler-independent-types.patch create mode 100644 meta-multimedia/recipes-multimedia/sox/sox/0001-remove-the-error-line-and-live-without-file-type-det.patch create mode 100644 meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-Check-for-musl-define-guard-before-redefining-sockle.patch create mode 100644 meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0002-build-Adjust-CFLAGS-LDFLAGS-to-append-values-passed-.patch create mode 100644 meta-oe/recipes-support/libteam/libteam/0001-include-sys-select.h-for-fd_set-definition.patch create mode 100644 meta-oe/recipes-support/libteam/libteam/0002-teamd-Re-adjust-include-header-order.patch rename meta-oe/recipes-support/libteam/{libteam_1.26.bb => libteam_1.27.bb} (75%) create mode 100644 meta-webserver/recipes-webadmin/netdata/netdata/0001-makefile-Do-not-build-contrib-dir.patch create mode 100644 meta-xfce/recipes-extended/imsettings/imsettings/0001-Rename-use-of-stdout-and-stderr.patch create mode 100644 meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin/0001-Do-not-include-sys-sysctl.h-its-unused-on-linux-port.patch -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:49:33 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:49:33 +0000 Subject: [oe-commits] [meta-openembedded] 01/33: dnsmasq: disable the service by default In-Reply-To: <150006897250.9573.17315859959339979102@git.openembedded.org> References: <150006897250.9573.17315859959339979102@git.openembedded.org> Message-ID: <20170714214932.CEBF1233456@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit c6d4c7a961c64f5b786bc0c5c6ac5dd6e3388483 Author: Jackie Huang AuthorDate: Mon Feb 27 16:09:59 2017 +0800 dnsmasq: disable the service by default The service will fail to start/stop when dnsmasq and bind (provides named) are both installed since they are using the same port 53: | dnsmasq: failed to create listening socket for port 53: Address already in use So disable the service by default, if the user really want to use two dns servives, the config needs to be changed to use different interfaces or ports. As reference, other distro like centos/fedora also disables the services by default on installation. Signed-off-by: Jackie Huang Signed-off-by: Jackie Huang > Signed-off-by: Martin Jansa --- meta-networking/recipes-support/dnsmasq/dnsmasq.inc | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-networking/recipes-support/dnsmasq/dnsmasq.inc b/meta-networking/recipes-support/dnsmasq/dnsmasq.inc index ef79c5f..3d0386b 100644 --- a/meta-networking/recipes-support/dnsmasq/dnsmasq.inc +++ b/meta-networking/recipes-support/dnsmasq/dnsmasq.inc @@ -81,3 +81,4 @@ RPROVIDES_${PN} += "${PN}-systemd" RREPLACES_${PN} += "${PN}-systemd" RCONFLICTS_${PN} += "${PN}-systemd" SYSTEMD_SERVICE_${PN} = "dnsmasq.service" +SYSTEMD_AUTO_ENABLE ?= "disable" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:49:36 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:49:36 +0000 Subject: [oe-commits] [meta-openembedded] 04/33: netkit-rpc: Fix build with hardening flags In-Reply-To: <150006897250.9573.17315859959339979102@git.openembedded.org> References: <150006897250.9573.17315859959339979102@git.openembedded.org> Message-ID: <20170714214932.E3D1823345B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 046d96d67db99200b1ee73318e27e4edda5b290f Author: Khem Raj AuthorDate: Tue Jun 27 19:08:13 2017 -0700 netkit-rpc: Fix build with hardening flags Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../0001-rpcgen-Fix-printf-formats.patch | 51 ++++++++++++++++++++++ .../recipes-netkit/netkit-rpc/netkit-rpc_0.17.bb | 4 +- 2 files changed, 54 insertions(+), 1 deletion(-) diff --git a/meta-networking/recipes-netkit/netkit-rpc/netkit-rpc/0001-rpcgen-Fix-printf-formats.patch b/meta-networking/recipes-netkit/netkit-rpc/netkit-rpc/0001-rpcgen-Fix-printf-formats.patch new file mode 100644 index 0000000..8bd77d2 --- /dev/null +++ b/meta-networking/recipes-netkit/netkit-rpc/netkit-rpc/0001-rpcgen-Fix-printf-formats.patch @@ -0,0 +1,51 @@ +From 439e3e35f7fcbff1abb782de4b19b31e43ae3449 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 27 Jun 2017 09:59:19 -0700 +Subject: [PATCH] rpcgen: Fix printf formats + +Fixes build with hardening flags + +Signed-off-by: Khem Raj +--- + rpcgen/rpc_hout.c | 2 +- + rpcgen/rpc_tblout.c | 4 ++-- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/rpcgen/rpc_hout.c b/rpcgen/rpc_hout.c +index 0ef52df..09a7b57 100644 +--- a/rpcgen/rpc_hout.c ++++ b/rpcgen/rpc_hout.c +@@ -474,7 +474,7 @@ pdeclaration(const char *name, declaration *dec, int tab, + break; + } + } +- f_print(fout, separator ); ++ f_print(fout, "%s", separator ); + } + + static int +diff --git a/rpcgen/rpc_tblout.c b/rpcgen/rpc_tblout.c +index d64bfde..fd62a52 100644 +--- a/rpcgen/rpc_tblout.c ++++ b/rpcgen/rpc_tblout.c +@@ -99,7 +99,7 @@ write_table(const definition *def) + } + else { + expected = 1; +- f_print(fout, null_entry); ++ f_print(fout, "%s", null_entry); + } + for (proc = vp->procs; proc != NULL; proc = proc->next) { + current = atoi(proc->proc_num); +@@ -139,7 +139,7 @@ write_table(const definition *def) + } + + /* print the table trailer */ +- f_print(fout, tbl_end); ++ f_print(fout, "%s", tbl_end); + f_print(fout, tbl_nproc, progvers, progvers, progvers); + } + } +-- +2.13.2 + diff --git a/meta-networking/recipes-netkit/netkit-rpc/netkit-rpc_0.17.bb b/meta-networking/recipes-netkit/netkit-rpc/netkit-rpc_0.17.bb index abc9d88..75ec07c 100644 --- a/meta-networking/recipes-netkit/netkit-rpc/netkit-rpc_0.17.bb +++ b/meta-networking/recipes-netkit/netkit-rpc/netkit-rpc_0.17.bb @@ -5,7 +5,9 @@ LICENSE = "SPL-1.0" LIC_FILES_CHKSUM = "file://rpcinfo/rpcinfo.c;beginline=2;endline=3;md5=3e6339e3ce266e1122c5ba293e04bc89" SRC_URI = "http://sources.openembedded.org/${BPN}-${PV}.tar.gz \ - file://gcc4.patch" + file://gcc4.patch \ + file://0001-rpcgen-Fix-printf-formats.patch \ + " SRC_URI[md5sum] = "67212720482ea1aea9182a98653a9642" SRC_URI[sha256sum] = "421d63b414162237a72867061f1bd3e3752a0d962cd5d30b5e933ddad8a14d3b" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:49:40 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:49:40 +0000 Subject: [oe-commits] [meta-openembedded] 08/33: autofs: Add build dependency on libnsl2 In-Reply-To: <150006897250.9573.17315859959339979102@git.openembedded.org> References: <150006897250.9573.17315859959339979102@git.openembedded.org> Message-ID: <20170714214933.0BA89233461@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 7728c8fdc17a5c68e0bbe1ac1220625e1182f881 Author: Khem Raj AuthorDate: Fri Jun 30 05:59:41 2017 -0700 autofs: Add build dependency on libnsl2 this is needed with glibc 2.26 where libnsl is deprecated and is provided using separate recipe building it from external sources now. Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- meta-networking/recipes-daemons/autofs/autofs_5.1.2.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-networking/recipes-daemons/autofs/autofs_5.1.2.bb b/meta-networking/recipes-daemons/autofs/autofs_5.1.2.bb index eea7c4b..ccd8a7f 100644 --- a/meta-networking/recipes-daemons/autofs/autofs_5.1.2.bb +++ b/meta-networking/recipes-daemons/autofs/autofs_5.1.2.bb @@ -3,7 +3,7 @@ SECTION = "utils" LICENSE = "GPL-2.0" LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3" -DEPENDS += "libtirpc flex-native bison-native e2fsprogs openssl libxml2 util-linux cyrus-sasl" +DEPENDS += "libtirpc flex-native bison-native e2fsprogs openssl libxml2 util-linux cyrus-sasl libnsl2" CFLAGS += "-I${STAGING_INCDIR}/tirpc" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:49:42 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:49:42 +0000 Subject: [oe-commits] [meta-openembedded] 10/33: security_flags.inc: Delete In-Reply-To: <150006897250.9573.17315859959339979102@git.openembedded.org> References: <150006897250.9573.17315859959339979102@git.openembedded.org> Message-ID: <20170714214933.18BC4233465@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit d6b259306d7dddf2ae58719ba64c57f7e63e9f40 Author: Khem Raj AuthorDate: Sat Jul 8 06:17:41 2017 -0700 security_flags.inc: Delete OE-Core has now reworked the PIE flags, where they are implicitly passed by compiler when security flags are enabled None of these pinnings are needed anymore, since these packages compile fine with security flags enabled Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../include/meta_networking_security_flags.inc | 10 -------- meta-networking/conf/layer.conf | 3 --- .../conf/distro/include/meta_oe_security_flags.inc | 28 ---------------------- meta-oe/conf/layer.conf | 3 --- 4 files changed, 44 deletions(-) diff --git a/meta-networking/conf/distro/include/meta_networking_security_flags.inc b/meta-networking/conf/distro/include/meta_networking_security_flags.inc deleted file mode 100644 index 19e13ea..0000000 --- a/meta-networking/conf/distro/include/meta_networking_security_flags.inc +++ /dev/null @@ -1,10 +0,0 @@ -# configure righteously complains: -# | configure:3479: using CFLAGS: -O2 -pipe -g -feliminate-unused-debug-types -fstack-protector-strong -pie -fpie -D_FORTIFY_SOURCE=2 -# | configure:3485: CFLAGS error: CFLAGS may only be used to specify C compiler flags, not macro definitions. Use CPPFLAGS for: -D_FORTIFY_SOURCE=2 -# | configure:3516: error: Can not continue. Fix errors mentioned immediately above this line. - -# Make sure it's at least empty in builds which don't include -# conf/distro/include/security_flags.inc -lcl_maybe_fortify ?= "" -TARGET_CFLAGS_remove_pn-c-ares = "${lcl_maybe_fortify}" -TARGET_CPPFLAGS_append_pn-c-ares = "${lcl_maybe_fortify}" diff --git a/meta-networking/conf/layer.conf b/meta-networking/conf/layer.conf index b5aa159..2dfde4b 100644 --- a/meta-networking/conf/layer.conf +++ b/meta-networking/conf/layer.conf @@ -19,9 +19,6 @@ LAYERDEPENDS_networking-layer += "meta-python" LICENSE_PATH += "${LAYERDIR}/licenses" -# Override security flags -require conf/distro/include/meta_networking_security_flags.inc - SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \ wireguard-tools->wireguard-module \ " diff --git a/meta-oe/conf/distro/include/meta_oe_security_flags.inc b/meta-oe/conf/distro/include/meta_oe_security_flags.inc deleted file mode 100644 index 03868bf..0000000 --- a/meta-oe/conf/distro/include/meta_oe_security_flags.inc +++ /dev/null @@ -1,28 +0,0 @@ -# Build errors with the pie options enabled -SECURITY_CFLAGS_pn-libdbus-c++ = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-libdevmapper = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-lvm2 = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-rrdtool = "${SECURITY_NO_PIE_CFLAGS}" - -# This has text reloc errors with the pie options enabled -SECURITY_CFLAGS_pn-llvm3.3 = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-mozjs = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-openldap = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-s3c64xx-gpio = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-s3c24xx-gpio = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-cpufrequtils = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-libcec = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-libmodplug = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-libcdio = "${SECURITY_NO_PIE_CFLAGS}" - -#| /mnt/b/build/tmp-glibc/sysroots/intel-corei7-64/usr/lib/libc_nonshared.a(elf-init.oS): In function `__libc_csu_init': -#| /usr/src/debug/glibc/2.24-r0/git/csu/elf-init.c:86: undefined reference to `__init_array_start' - -SECURITY_CFLAGS_pn-libvdpau = "${SECURITY_NO_PIE_CFLAGS}" - -#| /mnt/a/build/tmp-glibc/sysroots/x86_64-linux/usr/libexec/x86_64-oe-linux/gcc/x86_64-oe-linux/6.2.0/ld: lj_err_dyn.o: relocation R_X86_64_TPOFF32 against `static_uex' can not be used when making a shared object; recompile with -fPIC -#| /mnt/a/build/tmp-glibc/sysroots/x86_64-linux/usr/libexec/x86_64-oe-linux/gcc/x86_64-oe-linux/6.2.0/ld: final link failed: Nonrepresentable section on output -#| collect2: error: ld returned 1 exit status -#| make[1]: *** [Makefile:675: libluajit.so] Error 1 -SECURITY_CFLAGS_pn-luajit = "${SECURITY_NO_PIE_CFLAGS}" - diff --git a/meta-oe/conf/layer.conf b/meta-oe/conf/layer.conf index 54425c6..f0d21ed 100644 --- a/meta-oe/conf/layer.conf +++ b/meta-oe/conf/layer.conf @@ -77,7 +77,4 @@ SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \ FREESMARTPHONE_GIT = "git://git.freesmartphone.org" -# Override security flags -require conf/distro/include/meta_oe_security_flags.inc - HOSTTOOLS += "id" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:49:41 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:49:41 +0000 Subject: [oe-commits] [meta-openembedded] 09/33: openhpi: Fix build on 64bit platforms e.g. aarch64 In-Reply-To: <150006897250.9573.17315859959339979102@git.openembedded.org> References: <150006897250.9573.17315859959339979102@git.openembedded.org> Message-ID: <20170714214933.12528233463@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit e4a0eddcf707074de42ad2ad94dc5dcbb9b5637d Author: Khem Raj AuthorDate: Fri Jun 30 05:59:57 2017 -0700 openhpi: Fix build on 64bit platforms e.g. aarch64 Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- meta-networking/recipes-daemons/openhpi/openhpi_3.6.1.bb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meta-networking/recipes-daemons/openhpi/openhpi_3.6.1.bb b/meta-networking/recipes-daemons/openhpi/openhpi_3.6.1.bb index db2a24a..16e58dc 100644 --- a/meta-networking/recipes-daemons/openhpi/openhpi_3.6.1.bb +++ b/meta-networking/recipes-daemons/openhpi/openhpi_3.6.1.bb @@ -54,9 +54,10 @@ FILES_${PN}-libs = "${libdir}/${BPN}/*.so /usr/lib/${BPN}/*.so" INSANE_SKIP_${PN}-libs = "dev-so" RDEPENDS_${PN} += "${PN}-libs" -PACKAGECONFIG ??= "libgcrypt" +PACKAGECONFIG ??= "libgcrypt non32bit" PACKAGECONFIG[sysfs] = "--enable-sysfs,--disable-sysfs,sysfsutils," PACKAGECONFIG[libgcrypt] = "--enable-encryption,--disable-encryption,libgcrypt," +PACKAGECONFIG[non32bit] = "--enable-non32bit-int,--disable-non32bit-int,," do_install_append () { install -m 0755 -d ${D}${sysconfdir}/${BPN} -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:49:39 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:49:39 +0000 Subject: [oe-commits] [meta-openembedded] 07/33: ippool: Fix build errors found with hardening flags In-Reply-To: <150006897250.9573.17315859959339979102@git.openembedded.org> References: <150006897250.9573.17315859959339979102@git.openembedded.org> Message-ID: <20170714214933.055B323345F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 31642e1dbffdeaa514e779b26e09226d608efb0d Author: Khem Raj AuthorDate: Tue Jun 27 19:08:18 2017 -0700 ippool: Fix build errors found with hardening flags Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...timer-Check-for-return-value-of-write-API.patch | 28 ++++++++++++++++++++++ .../recipes-daemons/ippool/ippool_1.3.bb | 22 ++++++++--------- 2 files changed, 39 insertions(+), 11 deletions(-) diff --git a/meta-networking/recipes-daemons/ippool/ippool/0001-usl_timer-Check-for-return-value-of-write-API.patch b/meta-networking/recipes-daemons/ippool/ippool/0001-usl_timer-Check-for-return-value-of-write-API.patch new file mode 100644 index 0000000..6fb7cc5 --- /dev/null +++ b/meta-networking/recipes-daemons/ippool/ippool/0001-usl_timer-Check-for-return-value-of-write-API.patch @@ -0,0 +1,28 @@ +From 5d7f20c045b3c74dad2c53d65e30bd4840250082 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 27 Jun 2017 15:17:19 -0700 +Subject: [PATCH] usl_timer: Check for return value of write() API + +Signed-off-by: Khem Raj +--- + usl/usl_timer.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/usl/usl_timer.c b/usl/usl_timer.c +index fda752b..d8414a6 100644 +--- a/usl/usl_timer.c ++++ b/usl/usl_timer.c +@@ -94,7 +94,9 @@ void usl_timer_tick(void) + + if (!usl_tick_pending) { + usl_tick_pending = 1; +- write(usl_tick_pipe[1], &msg, sizeof(msg)); ++ if (write(usl_tick_pipe[1], &msg, sizeof(msg)) != sizeof(msg)) { ++ fprintf(stderr, "write to fd %i failed: %s\n", usl_tick_pipe[1], strerror(errno)); ++ } + } + } + +-- +2.13.2 + diff --git a/meta-networking/recipes-daemons/ippool/ippool_1.3.bb b/meta-networking/recipes-daemons/ippool/ippool_1.3.bb index 969f434..e1c9215 100644 --- a/meta-networking/recipes-daemons/ippool/ippool_1.3.bb +++ b/meta-networking/recipes-daemons/ippool/ippool_1.3.bb @@ -11,16 +11,16 @@ HOMEPAGE = "http://www.openl2tp.org/" SECTION = "console/network" LICENSE = "GPLv2+" -SRC_URI = "\ - https://sourceforge.net/projects/openl2tp/files/${BPN}/${PV}/${BPN}-${PV}.tar.gz \ - file://ippool_usl_timer.patch \ - file://ippool_parallel_make_and_pic.patch \ - file://ippool_init.d.patch \ - file://always_syslog.patch \ - file://makefile-add-ldflags.patch \ - file://runtest.sh \ - file://ippool.service \ - " +SRC_URI = "https://sourceforge.net/projects/openl2tp/files/${BPN}/${PV}/${BPN}-${PV}.tar.gz \ + file://runtest.sh \ + file://ippool.service \ + file://ippool_usl_timer.patch \ + file://ippool_parallel_make_and_pic.patch \ + file://ippool_init.d.patch \ + file://always_syslog.patch \ + file://makefile-add-ldflags.patch \ + file://0001-usl_timer-Check-for-return-value-of-write-API.patch \ + " LIC_FILES_CHKSUM = "file://LICENSE;md5=4c59283b82fc2b166455e0fc23c71c6f" SRC_URI[md5sum] = "e2401e65db26a3764585b97212888fae" @@ -50,7 +50,7 @@ do_compile_prepend() { # ignore the OPT_CFLAGS?= in Makefile, # it should be in CFLAGS from env - export OPT_CFLAGS= + export OPT_CFLAGS="${SELECTED_OPTIMIZATION}" } -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:49:38 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:49:38 +0000 Subject: [oe-commits] [meta-openembedded] 06/33: ncftp: Upgrade to 3.2.6 In-Reply-To: <150006897250.9573.17315859959339979102@git.openembedded.org> References: <150006897250.9573.17315859959339979102@git.openembedded.org> Message-ID: <20170714214932.F17C623345D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 933f271c3aa8cdad1e10ee63acd95d4b2028328b Author: Khem Raj AuthorDate: Tue Jun 27 19:08:15 2017 -0700 ncftp: Upgrade to 3.2.6 Fix build with hardening flags Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../recipes-daemons/ncftp/ncftp/unistd.patch | 32 ++++++++++++++++++++++ .../ncftp/{ncftp_3.2.5.bb => ncftp_3.2.6.bb} | 16 ++++++++--- 2 files changed, 44 insertions(+), 4 deletions(-) diff --git a/meta-networking/recipes-daemons/ncftp/ncftp/unistd.patch b/meta-networking/recipes-daemons/ncftp/ncftp/unistd.patch new file mode 100644 index 0000000..1c8146e --- /dev/null +++ b/meta-networking/recipes-daemons/ncftp/ncftp/unistd.patch @@ -0,0 +1,32 @@ +This patch is needed to avoid double definitions of functions +especially when building with security flags turned on. The double +definitions causes the sed.sh script in configure to fail since it +starts to spit out double outputs e.g. + +wi_cv_gethostname_size_t size_t size_t + +which then caused almost all subsequent compile time tests to fail since +this gets into confdefs.h file + +removing this include causes only one definitions to be emitted into +the genrated protos.h file and thus avoiding the above failure. + +Other solution would to fix sed.sh to ignore double definitions + +Upstream-Status: Pending + +Signed-of-by: Khem Raj + + +Index: ncftp-3.2.6/configure +=================================================================== +--- ncftp-3.2.6.orig/configure ++++ ncftp-3.2.6/configure +@@ -7859,7 +7859,6 @@ chmod 755 "$wi_tmpdir/prpp.pl" + cat << 'EOF' > "$wi_tmpdir/unistd.c" + #include + +-#include + #include + #include + #include diff --git a/meta-networking/recipes-daemons/ncftp/ncftp_3.2.5.bb b/meta-networking/recipes-daemons/ncftp/ncftp_3.2.6.bb similarity index 53% rename from meta-networking/recipes-daemons/ncftp/ncftp_3.2.5.bb rename to meta-networking/recipes-daemons/ncftp/ncftp_3.2.6.bb index 893eacb..5f92f27 100644 --- a/meta-networking/recipes-daemons/ncftp/ncftp_3.2.5.bb +++ b/meta-networking/recipes-daemons/ncftp/ncftp_3.2.6.bb @@ -2,21 +2,29 @@ DESCRIPTION = "A sophisticated console ftp client" HOMEPAGE = "http://ncftp.com/" SECTION = "net" LICENSE = "ClArtistic" -LIC_FILES_CHKSUM = "file://ncftp/cmds.c;beginline=3;endline=4;md5=9de76faeaedc4f908082e3f8142715f4" +LIC_FILES_CHKSUM = "file://ncftp/cmds.c;beginline=3;endline=4;md5=9c2390809f71465aa7ff76e03dc14d91" DEPENDS = "ncurses" -SRC_URI = "${DEBIAN_MIRROR}/main/n/${BPN}/${BPN}_${PV}.orig.tar.gz \ +SRC_URI = "ftp://ftp.ncftp.com/${BPN}/${BP}-src.tar.xz \ file://ncftp-configure-use-BUILD_CC-for-ccdv.patch \ + file://unistd.patch \ " -SRC_URI[md5sum] = "685e45f60ac11c89442c572c28af4228" -SRC_URI[sha256sum] = "ac111b71112382853b2835c42ebe7bd59acb7f85dd00d44b2c19fbd074a436c4" +SRC_URI[md5sum] = "42d0f896d69a4d603ec097546444245f" +SRC_URI[sha256sum] = "5f200687c05d0807690d9fb770327b226f02dd86155b49e750853fce4e31098d" inherit autotools-brokensep pkgconfig +CFLAGS += "-DNO_SSLv2 -D_FILE_OFFSET_BITS=64 -Wall" + PACKAGECONFIG ??= "" PACKAGECONFIG[ccdv] = "--enable-ccdv,--disable-ccdv,," +EXTRA_OECONF = "--disable-precomp" +TARGET_CC_ARCH_append = " ${SELECTED_OPTIMIZATION}" + do_configure() { + install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S} + install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S} oe_runconf } do_install () { -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:49:46 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:49:46 +0000 Subject: [oe-commits] [meta-openembedded] 14/33: fuse: Correct runlevels and startup order In-Reply-To: <150006897250.9573.17315859959339979102@git.openembedded.org> References: <150006897250.9573.17315859959339979102@git.openembedded.org> Message-ID: <20170714214933.32E5B23346B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit bbb928619727310277858842dfa14ef282fd17b2 Author: Alex Stewart AuthorDate: Thu Jul 13 13:43:28 2017 -0500 fuse: Correct runlevels and startup order :**/fuse*.bb * Assert INITSCRIPT_PARAMS to install the fuse initscript according to its LSB header instead of defaults. Script now starts only during runlevel 'S'. * Also set priority to 03 such that fuse is loaded before udev. This enables systems which utilize udev to mount exfat and other fuse-provided filesystems as a part of the boot process. Natinst-CAR-ID: 630632 Signed-off-by: Alex Stewart Signed-off-by: Martin Jansa --- meta-filesystems/recipes-support/fuse/fuse_2.9.7.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-filesystems/recipes-support/fuse/fuse_2.9.7.bb b/meta-filesystems/recipes-support/fuse/fuse_2.9.7.bb index 000a6e2..202d4c3 100644 --- a/meta-filesystems/recipes-support/fuse/fuse_2.9.7.bb +++ b/meta-filesystems/recipes-support/fuse/fuse_2.9.7.bb @@ -22,6 +22,7 @@ SRC_URI[sha256sum] = "832432d1ad4f833c20e13b57cf40ce5277a9d33e483205fc63c78111b3 inherit autotools pkgconfig update-rc.d systemd INITSCRIPT_NAME = "fuse" +INITSCRIPT_PARAMS = "start 3 S . stop 20 0 6 ." SYSTEMD_SERVICE_${PN} = "" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:49:37 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:49:37 +0000 Subject: [oe-commits] [meta-openembedded] 05/33: netkit-telnet: Fix build with hardening In-Reply-To: <150006897250.9573.17315859959339979102@git.openembedded.org> References: <150006897250.9573.17315859959339979102@git.openembedded.org> Message-ID: <20170714214932.EA94B23345C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit caf0d05cba11a58ade77cd6b559d0a2aea898467 Author: Khem Raj AuthorDate: Tue Jun 27 19:08:14 2017 -0700 netkit-telnet: Fix build with hardening Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...1-telnet-telnetd-Fix-print-format-strings.patch | 66 ++++++++++++++++++++++ .../netkit-telnet/netkit-telnet_0.17.bb | 11 ++-- 2 files changed, 72 insertions(+), 5 deletions(-) diff --git a/meta-networking/recipes-netkit/netkit-telnet/files/0001-telnet-telnetd-Fix-print-format-strings.patch b/meta-networking/recipes-netkit/netkit-telnet/files/0001-telnet-telnetd-Fix-print-format-strings.patch new file mode 100644 index 0000000..f2f1b12 --- /dev/null +++ b/meta-networking/recipes-netkit/netkit-telnet/files/0001-telnet-telnetd-Fix-print-format-strings.patch @@ -0,0 +1,66 @@ +From 7a3095d1e9b7c73f9dca56250f433bcfc7cb660e Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 27 Jun 2017 10:15:34 -0700 +Subject: [PATCH] telnet/telnetd: Fix print format strings + +Fixes build with hardening flags + +Signed-off-by: Khem Raj +--- + telnet/utilities.cc | 6 +++--- + telnetd/utility.c | 6 +++--- + 2 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/telnet/utilities.cc b/telnet/utilities.cc +index 66839ab..36f0731 100644 +--- a/telnet/utilities.cc ++++ b/telnet/utilities.cc +@@ -583,17 +583,17 @@ void printsub(int direction, unsigned char *pointer, int length) { + case ENV_VAR: + if (pointer[1] == TELQUAL_SEND) + goto def_case; +- fprintf(NetTrace, "\" VAR " + noquote); ++ fprintf(NetTrace, "%s", "\" VAR " + noquote); + noquote = 2; + break; + + case ENV_VALUE: +- fprintf(NetTrace, "\" VALUE " + noquote); ++ fprintf(NetTrace, "%s", "\" VALUE " + noquote); + noquote = 2; + break; + + case ENV_ESC: +- fprintf(NetTrace, "\" ESC " + noquote); ++ fprintf(NetTrace, "%s", "\" ESC " + noquote); + noquote = 2; + break; + +diff --git a/telnetd/utility.c b/telnetd/utility.c +index 29b7da1..75314cb 100644 +--- a/telnetd/utility.c ++++ b/telnetd/utility.c +@@ -909,17 +909,17 @@ printsub(char direction, unsigned char *pointer, int length) + case ENV_VAR: + if (pointer[1] == TELQUAL_SEND) + goto def_case; +- netoprintf("\" VAR " + noquote); ++ netoprintf("%s", "\" VAR " + noquote); + noquote = 2; + break; + + case ENV_VALUE: +- netoprintf("\" VALUE " + noquote); ++ netoprintf("%s", "\" VALUE " + noquote); + noquote = 2; + break; + + case ENV_ESC: +- netoprintf("\" ESC " + noquote); ++ netoprintf("%s", "\" ESC " + noquote); + noquote = 2; + break; + +-- +2.13.2 + diff --git a/meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb b/meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb index 9438adc..54a58c8 100644 --- a/meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb +++ b/meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb @@ -5,11 +5,12 @@ LICENSE = "BSD" LIC_FILES_CHKSUM = "file://telnet/telnet.cc;beginline=2;endline=3;md5=780868e7b566313e70cb701560ca95ef" SRC_URI = "ftp://ftp.uk.linux.org/pub/linux/Networking/netkit/${BP}.tar.gz \ - file://To-aviod-buffer-overflow-in-telnet.patch \ - file://Warning-fix-in-the-step-of-install.patch \ - file://telnet-xinetd \ - file://cross-compile.patch \ -" + file://To-aviod-buffer-overflow-in-telnet.patch \ + file://Warning-fix-in-the-step-of-install.patch \ + file://telnet-xinetd \ + file://cross-compile.patch \ + file://0001-telnet-telnetd-Fix-print-format-strings.patch \ + " EXTRA_OEMAKE = "INSTALLROOT=${D} SBINDIR=${sbindir} DAEMONMODE=755 \ MANMODE=644 MANDIR=${mandir}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:49:44 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:49:44 +0000 Subject: [oe-commits] [meta-openembedded] 12/33: ebtables: replace ebtables-save perl script with bash rewrite In-Reply-To: <150006897250.9573.17315859959339979102@git.openembedded.org> References: <150006897250.9573.17315859959339979102@git.openembedded.org> Message-ID: <20170714214933.26654233468@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 39176bde913f4134e4af6efad9f518b7201c87e4 Author: Andre McCurdy AuthorDate: Tue Jul 11 10:09:11 2017 -0700 ebtables: replace ebtables-save perl script with bash rewrite Fedora provides a bash replacement for the default ebtables-save perl script. Using it allows the ebtables run-time dependency on perl to be replaced with a runtime dependency on bash - which is lower overhead and more likely to be present on typical embedded systems already. https://bugzilla.redhat.com/show_bug.cgi?id=746040 http://pkgs.fedoraproject.org/cgit/rpms/ebtables.git/tree/ebtables-save Since ebtables-save no longer contains a references to /usr, the previous QA issue workaround of moving it from ${base_sbindir} to ${sbindir} is no longer required. http://git.openembedded.org/meta-openembedded/commit/?id=a7c6fcebee7d9f86c356ea92de445d89e714ff62 Signed-off-by: Andre McCurdy Signed-off-by: Martin Jansa --- .../ebtables/ebtables-2.0.10-4/ebtables-save | 43 ++++++++++++++++++++++ .../recipes-filter/ebtables/ebtables_2.0.10-4.bb | 15 ++++---- 2 files changed, 50 insertions(+), 8 deletions(-) diff --git a/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/ebtables-save b/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/ebtables-save new file mode 100755 index 0000000..2d7fc4e --- /dev/null +++ b/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/ebtables-save @@ -0,0 +1,43 @@ +#!/bin/bash + +EBTABLES="/sbin/ebtables" + +[ -x "$EBTABLES" ] || exit 1 + +echo "# Generated by ebtables-save v1.0 on $(date)" + +cnt="" +[ "x$EBTABLES_SAVE_COUNTER" = "xyes" ] && cnt="--Lc" + +for table_name in $(grep -E '^ebtable_' /proc/modules | cut -f1 -d' ' | sed s/ebtable_//); do + table=$($EBTABLES -t $table_name -L $cnt) + [ $? -eq 0 ] || { echo "$table"; exit -1; } + + chain="" + rules="" + while read line; do + [ -z "$line" ] && continue + + case "$line" in + Bridge\ table:\ *) + echo "*${line:14}" + ;; + Bridge\ chain:\ *) + chain="${line:14}" + chain="${chain%%,*}" + policy="${line##*policy: }" + echo ":$chain $policy" + ;; + *) + if [ "$cnt" = "--Lc" ]; then + line=${line/, pcnt \=/ -c} + line=${line/-- bcnt \=/} + fi + rules="$rules-A $chain $line\n" + ;; + esac + done < References: <150006897250.9573.17315859959339979102@git.openembedded.org> Message-ID: <20170714214933.1FC1B233467@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 98a8830e3ab6ab9c4059e91f9eb5ea74d9b50669 Author: Khem Raj AuthorDate: Sat Jul 8 06:17:44 2017 -0700 pptp-linux: Upgrade to 1.9.0 Fix build errors found when building for musl while here Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../0001-include-missing-sys-types.h.patch | 28 ++++++++++++++++++++++ .../{pptp-linux-1.8.0 => pptp-linux}/options.pptp | 0 .../{pptp-linux_1.8.0.bb => pptp-linux_1.9.0.bb} | 9 ++++--- 3 files changed, 32 insertions(+), 5 deletions(-) diff --git a/meta-networking/recipes-protocols/pptp-linux/pptp-linux/0001-include-missing-sys-types.h.patch b/meta-networking/recipes-protocols/pptp-linux/pptp-linux/0001-include-missing-sys-types.h.patch new file mode 100644 index 0000000..804bf12 --- /dev/null +++ b/meta-networking/recipes-protocols/pptp-linux/pptp-linux/0001-include-missing-sys-types.h.patch @@ -0,0 +1,28 @@ +From f6c4d2468ae0dadd2f35680d61b98b2a59077328 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 7 Jul 2017 10:31:03 -0700 +Subject: [PATCH] include missing sys/types.h + +Fixes errors seen on musl +pqueue.h:21:3: error: unknown type name 'u_int32_t' + +Signed-off-by: Khem Raj +--- + pqueue.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/pqueue.h b/pqueue.h +index c37ba7b..ae4cc6a 100644 +--- a/pqueue.h ++++ b/pqueue.h +@@ -3,6 +3,7 @@ + + #include + #include ++#include + + /* wait this many seconds for missing packets before forgetting about them */ + #define DEFAULT_PACKET_TIMEOUT 0.3 +-- +2.13.2 + diff --git a/meta-networking/recipes-protocols/pptp-linux/pptp-linux-1.8.0/options.pptp b/meta-networking/recipes-protocols/pptp-linux/pptp-linux/options.pptp similarity index 100% rename from meta-networking/recipes-protocols/pptp-linux/pptp-linux-1.8.0/options.pptp rename to meta-networking/recipes-protocols/pptp-linux/pptp-linux/options.pptp diff --git a/meta-networking/recipes-protocols/pptp-linux/pptp-linux_1.8.0.bb b/meta-networking/recipes-protocols/pptp-linux/pptp-linux_1.9.0.bb similarity index 81% rename from meta-networking/recipes-protocols/pptp-linux/pptp-linux_1.8.0.bb rename to meta-networking/recipes-protocols/pptp-linux/pptp-linux_1.9.0.bb index bc8b2cb..10c9170 100644 --- a/meta-networking/recipes-protocols/pptp-linux/pptp-linux_1.8.0.bb +++ b/meta-networking/recipes-protocols/pptp-linux/pptp-linux_1.9.0.bb @@ -9,14 +9,13 @@ SECTION = "net" LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" -PR = "r1" - SRC_URI = "${SOURCEFORGE_MIRROR}/sourceforge/pptpclient/pptp-${PV}.tar.gz \ file://options.pptp \ -" + file://0001-include-missing-sys-types.h.patch \ + " -SRC_URI[md5sum] = "4efce9f263e2c3f38d79d9df222476de" -SRC_URI[sha256sum] = "e39c42d933242a8a6dd8600a0fa7f0a5ec8f066d10c4149d8e81a5c68fe4bbda" +SRC_URI[md5sum] = "b2117b377f65294a9786f80f0235d308" +SRC_URI[sha256sum] = "0b1e8cbfc578d3f5ab12ee87c5c2c60419abfe9cc445690a8a19c320b11c9201" S = "${WORKDIR}/pptp-${PV}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:49:47 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:49:47 +0000 Subject: [oe-commits] [meta-openembedded] 15/33: recipes-utils: Add recipe for udevil In-Reply-To: <150006897250.9573.17315859959339979102@git.openembedded.org> References: <150006897250.9573.17315859959339979102@git.openembedded.org> Message-ID: <20170714214933.3922723346C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 1483a9711313f4aaea2413a73714a94e5f0da011 Author: Krzysztof Kozlowski AuthorDate: Thu Jul 13 22:59:55 2017 +0200 recipes-utils: Add recipe for udevil udevil is a command line Linux program which mounts and unmounts removable devices without a password. Signed-off-by: Krzysztof Kozlowski Signed-off-by: Martin Jansa --- .../0001-udevil-0.4.3-fix-compile-with-gcc6.patch | 12 ++++++++ ...e.am-Use-systemd_unitdir-instead-of-libdi.patch | 32 ++++++++++++++++++++++ .../recipes-utils/udevil/udevil_0.4.4.bb | 28 +++++++++++++++++++ 3 files changed, 72 insertions(+) diff --git a/meta-filesystems/recipes-utils/udevil/files/0001-udevil-0.4.3-fix-compile-with-gcc6.patch b/meta-filesystems/recipes-utils/udevil/files/0001-udevil-0.4.3-fix-compile-with-gcc6.patch new file mode 100644 index 0000000..355e93a --- /dev/null +++ b/meta-filesystems/recipes-utils/udevil/files/0001-udevil-0.4.3-fix-compile-with-gcc6.patch @@ -0,0 +1,12 @@ +Fix compilation with GCC6 + +--- a/src/device-info.c 2013-12-09 14:59:27.000000000 +0100 ++++ b/src/device-info.c 2017-03-13 07:06:25.506666680 +0100 +@@ -3,6 +3,7 @@ + * contains code excerpts from udisks v1.0.4 + ************************************************************************** */ + ++#include + #include "device-info.h" + + static char * diff --git a/meta-filesystems/recipes-utils/udevil/files/0002-etc-Makefile.am-Use-systemd_unitdir-instead-of-libdi.patch b/meta-filesystems/recipes-utils/udevil/files/0002-etc-Makefile.am-Use-systemd_unitdir-instead-of-libdi.patch new file mode 100644 index 0000000..f014a0f --- /dev/null +++ b/meta-filesystems/recipes-utils/udevil/files/0002-etc-Makefile.am-Use-systemd_unitdir-instead-of-libdi.patch @@ -0,0 +1,32 @@ +From 80b087193698632e525b90d45b4a49e61e343e1c Mon Sep 17 00:00:00 2001 +From: Krzysztof Kozlowski +Date: Thu, 13 Jul 2017 21:30:35 +0200 +Subject: [PATCH] etc: Makefile.am: Use systemd_unitdir instead of libdir + +Proper directory for installing systemd services is systemd_unitdir, not +libdir. + +Signed-off-by: Krzysztof Kozlowski +--- + etc/Makefile.am | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/etc/Makefile.am b/etc/Makefile.am +index 9b6e7522c20f..6d663241a72f 100644 +--- a/etc/Makefile.am ++++ b/etc/Makefile.am +@@ -16,8 +16,8 @@ if ADD_SYSTEMD + test -f $(DESTDIR)/$(sysconfdir)/conf.d/devmon || $(INSTALL_DATA) \ + $(srcdir)/systemd/devmon \ + $(DESTDIR)/$(sysconfdir)/conf.d/devmon +- test -d $(DESTDIR)/$(libdir)/systemd/system || \ +- mkdir -p -- $(DESTDIR)/$(libdir)/systemd/system ++ test -d $(DESTDIR)/$(systemd_unitdir)/system || \ ++ mkdir -p -- $(DESTDIR)/$(systemd_unitdir)/system + $(INSTALL_DATA) $(srcdir)/systemd/devmon at .service \ +- $(DESTDIR)/$(libdir)/systemd/system/devmon at .service ++ $(DESTDIR)/$(systemd_unitdir)/system/devmon at .service + endif +-- +2.11.0 + diff --git a/meta-filesystems/recipes-utils/udevil/udevil_0.4.4.bb b/meta-filesystems/recipes-utils/udevil/udevil_0.4.4.bb new file mode 100644 index 0000000..c432e85 --- /dev/null +++ b/meta-filesystems/recipes-utils/udevil/udevil_0.4.4.bb @@ -0,0 +1,28 @@ +SUMMARY = "A command line Linux program which mounts and unmounts removable devices" +HOMEPAGE = "http://ignorantguru.github.io/udevil/" + +DEPENDS = "glib-2.0 \ + glib-2.0-native \ + intltool-native \ + udev \ +" +RDEPENDS_${PN} = "udev" + +LICENSE = "GPL-3.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +inherit autotools systemd + +SRC_URI = "https://github.com/IgnorantGuru/udevil/raw/pkg/${PV}/udevil-${PV}.tar.xz \ + file://0001-udevil-0.4.3-fix-compile-with-gcc6.patch \ + file://0002-etc-Makefile.am-Use-systemd_unitdir-instead-of-libdi.patch \ +" + +SRC_URI[md5sum] = "dc1c489b603a0500a04dc7e1805ac1d9" +SRC_URI[sha256sum] = "ce8c51fd4d589cda7be56e75b42188deeb258c66fc911a9b3a70a3945c157739" + +PACKAGECONFIG = "${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','',d)}" +PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd" + +SYSTEMD_SERVICE_${PN} = "devmon at .service" +SYSTEMD_AUTO_ENABLE = "disable" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:49:51 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:49:51 +0000 Subject: [oe-commits] [meta-openembedded] 19/33: webrtc-audio-processing: Link with libexecinfo on musl In-Reply-To: <150006897250.9573.17315859959339979102@git.openembedded.org> References: <150006897250.9573.17315859959339979102@git.openembedded.org> Message-ID: <20170714214933.5166C233473@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 4b4a68f58a343ada7f3b24f9b3216d957af1be24 Author: Khem Raj AuthorDate: Thu Jul 13 22:39:59 2017 -0700 webrtc-audio-processing: Link with libexecinfo on musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../webrtc-audio-processing/webrtc-audio-processing_0.3.bb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing_0.3.bb b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing_0.3.bb index eb9a304..2b0f7c6 100644 --- a/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing_0.3.bb +++ b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing_0.3.bb @@ -2,6 +2,8 @@ DESCRIPTION = "Audio processing bits of the WebRTC reference implementation" HOMEPAGE = "https://www.freedesktop.org/software/pulseaudio/webrtc-audio-processing/" SECTION = "audio" +DEPENDS_append_libc-musl = " libexecinfo" + LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM = "file://COPYING;md5=da08a38a32a340c5d91e13ee86a118f2 \ file://webrtc/common.h;beginline=1;endline=9;md5=41f7322d91deabaf0acbbd0b8d0bc548 \ @@ -22,4 +24,5 @@ SRC_URI = "http://freedesktop.org/software/pulseaudio/webrtc-audio-processing/${ SRC_URI[md5sum] = "336ae032f608e65808ac577cde0ab72c" SRC_URI[sha256sum] = "756e291d4f557d88cd50c4fe3b8454ec238362d22cedb3e6173240d90f0a80fa" +LDFLAGS_append_libc-musl = " -lexecinfo" inherit autotools -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:49:55 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:49:55 +0000 Subject: [oe-commits] [meta-openembedded] 23/33: xfce4-netload-plugin: Do not include sys/sysctl.h In-Reply-To: <150006897250.9573.17315859959339979102@git.openembedded.org> References: <150006897250.9573.17315859959339979102@git.openembedded.org> Message-ID: <20170714214933.6AF4B23349E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit daab2b95f9117b230394640edb40256d9413fe7e Author: Khem Raj AuthorDate: Thu Jul 13 22:40:03 2017 -0700 xfce4-netload-plugin: Do not include sys/sysctl.h Its unused, moreover it helps it compile with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...ude-sys-sysctl.h-its-unused-on-linux-port.patch | 25 ++++++++++++++++++++++ .../netload/xfce4-netload-plugin_1.3.1.bb | 3 +++ 2 files changed, 28 insertions(+) diff --git a/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin/0001-Do-not-include-sys-sysctl.h-its-unused-on-linux-port.patch b/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin/0001-Do-not-include-sys-sysctl.h-its-unused-on-linux-port.patch new file mode 100644 index 0000000..e354181 --- /dev/null +++ b/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin/0001-Do-not-include-sys-sysctl.h-its-unused-on-linux-port.patch @@ -0,0 +1,25 @@ +From 7fcc7352ec11644ac8be4e9ec1584a5be3333684 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 12 Jul 2017 18:18:30 -0700 +Subject: [PATCH] Do not include sys/sysctl.h its unused on linux port + +Signed-off-by: Khem Raj +--- + panel-plugin/os.h | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/panel-plugin/os.h b/panel-plugin/os.h +index 473c2a4..9a5c544 100644 +--- a/panel-plugin/os.h ++++ b/panel-plugin/os.h +@@ -170,7 +170,6 @@ + #elif __linux__ /* L I N U X */ + # include + # include +-# include + # include + # include + # include +-- +2.13.2 + diff --git a/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin_1.3.1.bb b/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin_1.3.1.bb index 7d77782..35c8861 100644 --- a/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin_1.3.1.bb +++ b/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin_1.3.1.bb @@ -5,5 +5,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=35a7203c41b86d15546dddc05995f97f" inherit xfce-panel-plugin +SRC_URI = "http://archive.xfce.org/src/panel-plugins/${BPN}/${@'${PV}'[0:3]}/${BPN}-${PV}.tar.bz2 \ + file://0001-Do-not-include-sys-sysctl.h-its-unused-on-linux-port.patch \ + " SRC_URI[md5sum] = "f25aa3242e3119b49f259a3e4a1af08b" SRC_URI[sha256sum] = "99762781099d1e0ab9aa6a7b30c2bd94d8f658dbe61c760410d5d42d0766391c" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:49:49 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:49:49 +0000 Subject: [oe-commits] [meta-openembedded] 17/33: libteam: Upgrade to 1.27 In-Reply-To: <150006897250.9573.17315859959339979102@git.openembedded.org> References: <150006897250.9573.17315859959339979102@git.openembedded.org> Message-ID: <20170714214933.45ED4233470@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 852412e9ec89f2d455f7d8405d1ea041eb95bdc3 Author: Khem Raj AuthorDate: Thu Jul 13 22:39:57 2017 -0700 libteam: Upgrade to 1.27 Fix build with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...nclude-sys-select.h-for-fd_set-definition.patch | 28 +++++++++++++++ ...0002-teamd-Re-adjust-include-header-order.patch | 40 ++++++++++++++++++++++ .../libteam/{libteam_1.26.bb => libteam_1.27.bb} | 7 ++-- 3 files changed, 73 insertions(+), 2 deletions(-) diff --git a/meta-oe/recipes-support/libteam/libteam/0001-include-sys-select.h-for-fd_set-definition.patch b/meta-oe/recipes-support/libteam/libteam/0001-include-sys-select.h-for-fd_set-definition.patch new file mode 100644 index 0000000..a4a17ed --- /dev/null +++ b/meta-oe/recipes-support/libteam/libteam/0001-include-sys-select.h-for-fd_set-definition.patch @@ -0,0 +1,28 @@ +From 0ab69dc18a2057ff5bf41abcdf2b983b72d5a903 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 12 Jul 2017 15:34:49 -0700 +Subject: [PATCH 1/2] include sys/select.h for fd_set definition + +Fixes +teamnl.c:160:2: error: unknown type name 'fd_set'; did you mean 'fpos_t'? + +Signed-off-by: Khem Raj +--- + utils/teamnl.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/utils/teamnl.c b/utils/teamnl.c +index e8de7e2..25129e8 100644 +--- a/utils/teamnl.c ++++ b/utils/teamnl.c +@@ -24,6 +24,7 @@ + #include + #include + #include ++#include + #include + #include + #include +-- +2.13.2 + diff --git a/meta-oe/recipes-support/libteam/libteam/0002-teamd-Re-adjust-include-header-order.patch b/meta-oe/recipes-support/libteam/libteam/0002-teamd-Re-adjust-include-header-order.patch new file mode 100644 index 0000000..beabf63 --- /dev/null +++ b/meta-oe/recipes-support/libteam/libteam/0002-teamd-Re-adjust-include-header-order.patch @@ -0,0 +1,40 @@ +From a5b945cb3c62a18dcd7047f62707c09076c4e48b Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 12 Jul 2017 15:35:51 -0700 +Subject: [PATCH 2/2] teamd: Re-adjust include header order + +So it gets the library definition before kernel definition + +usr/include/ne +tinet/if_ether.h:101:8: error: redefinition of 'struct ethhdr' + struct ethhdr { + ^~~~~~ + +Signed-off-by: Khem Raj +--- + teamd/teamd_runner_lacp.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/teamd/teamd_runner_lacp.c b/teamd/teamd_runner_lacp.c +index 9c77fae..8800854 100644 +--- a/teamd/teamd_runner_lacp.c ++++ b/teamd/teamd_runner_lacp.c +@@ -23,6 +23,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -30,7 +31,6 @@ + #include + #include + #include +-#include + + #include "teamd.h" + #include "teamd_config.h" +-- +2.13.2 + diff --git a/meta-oe/recipes-support/libteam/libteam_1.26.bb b/meta-oe/recipes-support/libteam/libteam_1.27.bb similarity index 75% rename from meta-oe/recipes-support/libteam/libteam_1.26.bb rename to meta-oe/recipes-support/libteam/libteam_1.27.bb index 2cb9e8f..3222700 100644 --- a/meta-oe/recipes-support/libteam/libteam_1.26.bb +++ b/meta-oe/recipes-support/libteam/libteam_1.27.bb @@ -7,8 +7,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" DEPENDS = "libnl libdaemon jansson" -SRC_URI = "git://github.com/jpirko/libteam" -SRCREV = "8c1cea00a21950089058e4e33ea1f7bf4deaddeb" +SRC_URI = "git://github.com/jpirko/libteam \ + file://0001-include-sys-select.h-for-fd_set-definition.patch \ + file://0002-teamd-Re-adjust-include-header-order.patch \ + " +SRCREV = "91a928a56a501daac5ce8b3c16bd9943661f1d16" SRC_URI[md5sum] = "565114d70c41bff6093d8e57be284e8a" SRC_URI[sha256sum] = "d65286379141db141bea33424ec0507bb0f827a0bf03d9c65004bb593e3d5545" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:49:48 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:49:48 +0000 Subject: [oe-commits] [meta-openembedded] 16/33: klibc: Fix build issue when default ISA is not thumb In-Reply-To: <150006897250.9573.17315859959339979102@git.openembedded.org> References: <150006897250.9573.17315859959339979102@git.openembedded.org> Message-ID: <20170714214933.3FC2223346E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit d50395e58f74a3585ce8a0779736383079629dd3 Author: Khem Raj AuthorDate: Thu Jul 13 22:39:56 2017 -0700 klibc: Fix build issue when default ISA is not thumb We were passing empty string '' to make as option when ISA was not thumb this breaks build for machines/distros which do not use ARM_INSTRUCTION_SET = thumb Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- meta-initramfs/recipes-devtools/klibc/klibc.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-initramfs/recipes-devtools/klibc/klibc.inc b/meta-initramfs/recipes-devtools/klibc/klibc.inc index c4c3e00..cd3f398 100644 --- a/meta-initramfs/recipes-devtools/klibc/klibc.inc +++ b/meta-initramfs/recipes-devtools/klibc/klibc.inc @@ -42,7 +42,7 @@ EXTRA_OEMAKE = "'KLIBCARCH=${KLIBC_ARCH}' \ " export FIX_ARMV4_EABI_BX = "${FIX_V4BX}" -KLIBCTHUMB = "${@['', 'CONFIG_KLIBC_THUMB=y'][(d.getVar('ARM_INSTRUCTION_SET') == 'thumb')]}" +KLIBCTHUMB = "${@['CONFIG_KLIBC_THUMB=n', 'CONFIG_KLIBC_THUMB=y'][(d.getVar('ARM_INSTRUCTION_SET') == 'thumb')]}" do_configure () { ln -sf "${STAGING_DIR_TARGET}${exec_prefix}" linux -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:49:56 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:49:56 +0000 Subject: [oe-commits] [meta-openembedded] 24/33: imsettings: Fix build with musl In-Reply-To: <150006897250.9573.17315859959339979102@git.openembedded.org> References: <150006897250.9573.17315859959339979102@git.openembedded.org> Message-ID: <20170714214933.724362334A0@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 5a30d2057129a0c476a7a889f611cbdc4c0d7f42 Author: Khem Raj AuthorDate: Thu Jul 13 22:40:04 2017 -0700 imsettings: Fix build with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../0001-Rename-use-of-stdout-and-stderr.patch | 72 ++++++++++++++++++++++ .../imsettings/imsettings_1.7.2.bb | 4 +- 2 files changed, 75 insertions(+), 1 deletion(-) diff --git a/meta-xfce/recipes-extended/imsettings/imsettings/0001-Rename-use-of-stdout-and-stderr.patch b/meta-xfce/recipes-extended/imsettings/imsettings/0001-Rename-use-of-stdout-and-stderr.patch new file mode 100644 index 0000000..d77ce4d --- /dev/null +++ b/meta-xfce/recipes-extended/imsettings/imsettings/0001-Rename-use-of-stdout-and-stderr.patch @@ -0,0 +1,72 @@ +From 7ee62ef0083844ab2fffcd106e3ee2e5f29b2a91 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 12 Jul 2017 18:53:56 -0700 +Subject: [PATCH] Rename use of stdout and stderr + +Since it shadow the standard definitions especially +seen on musl where libc defines these as macros they +cause all short of compilation errors on musl, using +a leading underscore makes it unique + +Signed-off-by: Khem Raj +--- + imsettings-daemon/imsettings-proc.c | 28 ++++++++++++++-------------- + 1 file changed, 14 insertions(+), 14 deletions(-) + +diff --git a/imsettings-daemon/imsettings-proc.c b/imsettings-daemon/imsettings-proc.c +index 915e78b..b78fcff 100644 +--- a/imsettings-daemon/imsettings-proc.c ++++ b/imsettings-daemon/imsettings-proc.c +@@ -39,8 +39,8 @@ + #define MAXRESTART 3 + + typedef struct _IMSettingsProcInfo { +- GIOChannel *stdout; +- GIOChannel *stderr; ++ GIOChannel *_stdout; ++ GIOChannel *_stderr; + GPid pid; + GTimeVal started_time; + guint id; +@@ -368,12 +368,12 @@ _start_process(IMSettingsProc *proc, + &ofd, &efd, + error)) { + pinfo->pid = pid; +- pinfo->stdout = g_io_channel_unix_new(ofd); +- pinfo->stderr = g_io_channel_unix_new(efd); +- g_io_channel_set_close_on_unref(pinfo->stdout, TRUE); +- g_io_channel_set_close_on_unref(pinfo->stderr, TRUE); +- pinfo->oid = g_io_add_watch(pinfo->stdout, G_IO_IN, _log_write_cb, proc); +- pinfo->eid = g_io_add_watch(pinfo->stderr, G_IO_IN, _log_write_cb, proc); ++ pinfo->_stdout = g_io_channel_unix_new(ofd); ++ pinfo->_stderr = g_io_channel_unix_new(efd); ++ g_io_channel_set_close_on_unref(pinfo->_stdout, TRUE); ++ g_io_channel_set_close_on_unref(pinfo->_stderr, TRUE); ++ pinfo->oid = g_io_add_watch(pinfo->_stdout, G_IO_IN, _log_write_cb, proc); ++ pinfo->eid = g_io_add_watch(pinfo->_stderr, G_IO_IN, _log_write_cb, proc); + g_get_current_time(&pinfo->started_time); + pinfo->id = g_child_watch_add(pid, _watch_im_status_cb, proc); + +@@ -521,13 +521,13 @@ imsettings_proc_get_property(GObject *object, + static void + imsettings_proc_info_finalize(IMSettingsProcInfo *pinfo) + { +- if (pinfo->stdout) { +- g_io_channel_unref(pinfo->stdout); +- pinfo->stdout = NULL; ++ if (pinfo->_stdout) { ++ g_io_channel_unref(pinfo->_stdout); ++ pinfo->_stdout = NULL; + } +- if (pinfo->stderr) { +- g_io_channel_unref(pinfo->stderr); +- pinfo->stderr = NULL; ++ if (pinfo->_stderr) { ++ g_io_channel_unref(pinfo->_stderr); ++ pinfo->_stderr = NULL; + } + if (pinfo->oid > 0) { + g_source_remove(pinfo->oid); +-- +2.13.2 + diff --git a/meta-xfce/recipes-extended/imsettings/imsettings_1.7.2.bb b/meta-xfce/recipes-extended/imsettings/imsettings_1.7.2.bb index 4b2ca49..7a4ce05 100644 --- a/meta-xfce/recipes-extended/imsettings/imsettings_1.7.2.bb +++ b/meta-xfce/recipes-extended/imsettings/imsettings_1.7.2.bb @@ -11,7 +11,9 @@ inherit autotools gtk-doc gobject-introspection SRC_URI = "https://bitbucket.org/tagoh/imsettings/downloads/${BPN}-${PV}.tar.bz2 \ file://gtk-is-required-by-notify.patch \ - file://multi-line-ACLOCAL_AMFLAGS-isnot-supported-by-autoreconf.patch" + file://multi-line-ACLOCAL_AMFLAGS-isnot-supported-by-autoreconf.patch \ + file://0001-Rename-use-of-stdout-and-stderr.patch \ + " SRC_URI[md5sum] = "8153b0583a9f47d8a62af1f92fb9d3bf" SRC_URI[sha256sum] = "41addf0458f760212b6b6100835066e16deb3a8a50eb005a0fc17fbac0a2ae66" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:49:50 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:49:50 +0000 Subject: [oe-commits] [meta-openembedded] 18/33: sox: Fix build with musl In-Reply-To: <150006897250.9573.17315859959339979102@git.openembedded.org> References: <150006897250.9573.17315859959339979102@git.openembedded.org> Message-ID: <20170714214933.4BDC0233472@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit cebae2c20179deb1d5a7e92518885774fbdae52c Author: Khem Raj AuthorDate: Thu Jul 13 22:39:58 2017 -0700 sox: Fix build with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...error-line-and-live-without-file-type-det.patch | 28 ++++++++++++++++++++++ .../recipes-multimedia/sox/sox_14.4.0.bb | 4 +++- 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/meta-multimedia/recipes-multimedia/sox/sox/0001-remove-the-error-line-and-live-without-file-type-det.patch b/meta-multimedia/recipes-multimedia/sox/sox/0001-remove-the-error-line-and-live-without-file-type-det.patch new file mode 100644 index 0000000..605863a --- /dev/null +++ b/meta-multimedia/recipes-multimedia/sox/sox/0001-remove-the-error-line-and-live-without-file-type-det.patch @@ -0,0 +1,28 @@ +From c2aed28e3e14329ad0a8c4371fdcce9934013f21 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 12 Jul 2017 16:36:06 -0700 +Subject: [PATCH] remove the #error line and live without file-type detection + with pipes + +this fallback is executed with musl + +Signed-off-by: Khem Raj +--- + src/formats.c | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/src/formats.c b/src/formats.c +index 7e231ca..b13f0d5 100644 +--- a/src/formats.c ++++ b/src/formats.c +@@ -416,7 +416,6 @@ static void UNUSED rewind_pipe(FILE * fp) + /* To fix this #error, either simply remove the #error line and live without + * file-type detection with pipes, or add support for your compiler in the + * lines above. Test with cat monkey.au | ./sox --info - */ +- #error FIX NEEDED HERE + #define NO_REWIND_PIPE + (void)fp; + #endif +-- +2.13.2 + diff --git a/meta-multimedia/recipes-multimedia/sox/sox_14.4.0.bb b/meta-multimedia/recipes-multimedia/sox/sox_14.4.0.bb index ada958b..e115f1c 100644 --- a/meta-multimedia/recipes-multimedia/sox/sox_14.4.0.bb +++ b/meta-multimedia/recipes-multimedia/sox/sox_14.4.0.bb @@ -27,7 +27,9 @@ LICENSE = "GPLv2 & LGPLv2.1" LIC_FILES_CHKSUM = "file://LICENSE.GPL;md5=751419260aa954499f7abaabaa882bbe \ file://LICENSE.LGPL;md5=fbc093901857fcd118f065f900982c24" -SRC_URI = "${SOURCEFORGE_MIRROR}/sox/sox-${PV}.tar.gz" +SRC_URI = "${SOURCEFORGE_MIRROR}/sox/sox-${PV}.tar.gz \ + file://0001-remove-the-error-line-and-live-without-file-type-det.patch \ + " SRC_URI[md5sum] = "b0c15cff7a4ba0ec17fdc74e6a1f9cf1" SRC_URI[sha256sum] = "3ee34b14dd267de378e8a117aae81ec4cae330772342e6a55bbf6520a0a88aa3" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:50:00 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:50:00 +0000 Subject: [oe-commits] [meta-openembedded] 28/33: netdata: Upgrade to 1.6.0 In-Reply-To: <150006897250.9573.17315859959339979102@git.openembedded.org> References: <150006897250.9573.17315859959339979102@git.openembedded.org> Message-ID: <20170714214933.968C3233459@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit ea840c222e38e8df7c6026993905957d7b18d366 Author: Khem Raj AuthorDate: Thu Jul 13 22:40:08 2017 -0700 netdata: Upgrade to 1.6.0 Licence files has gotten cosmetic changes additionally checksum COPYING file. Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../netdata/0001-Correct-Timeout-issue.patch | 32 ++++++++++++---------- .../0001-makefile-Do-not-build-contrib-dir.patch | 27 ++++++++++++++++++ .../recipes-webadmin/netdata/netdata_git.bb | 14 ++++++---- 3 files changed, 53 insertions(+), 20 deletions(-) diff --git a/meta-webserver/recipes-webadmin/netdata/netdata/0001-Correct-Timeout-issue.patch b/meta-webserver/recipes-webadmin/netdata/netdata/0001-Correct-Timeout-issue.patch index d5529a2..abea0d6 100644 --- a/meta-webserver/recipes-webadmin/netdata/netdata/0001-Correct-Timeout-issue.patch +++ b/meta-webserver/recipes-webadmin/netdata/netdata/0001-Correct-Timeout-issue.patch @@ -1,19 +1,21 @@ -diff --git a/plugins.d/charts.d.plugin b/plugins.d/charts.d.plugin -index 40c0356..bca57b3 100755 ---- a/plugins.d/charts.d.plugin -+++ b/plugins.d/charts.d.plugin -@@ -184,10 +184,10 @@ fi - # timeout command we use, providing a function that - # can emulate the timeout command we need: - # > timeout SECONDS command ... +Index: git/plugins.d/charts.d.plugin +=================================================================== +--- git.orig/plugins.d/charts.d.plugin ++++ git/plugins.d/charts.d.plugin +@@ -246,16 +246,6 @@ else + info "configuration file '$myconfig' not found. Using defaults." + fi + +-# we check for the timeout command, after we load our +-# configuration, so that the user may overwrite the +-# timeout command we use, providing a function that +-# can emulate the timeout command we need: +-# > timeout SECONDS command ... -if [ $check_for_timeout -eq 1 ] -- then -- require_cmd timeout || exit 1 +- then +- require_cmd timeout || exit 1 -fi -+#if [ $check_for_timeout -eq 1 ] -+# then -+# require_cmd timeout || exit 1 -+#fi - +- # ----------------------------------------------------------------------------- # internal checks + diff --git a/meta-webserver/recipes-webadmin/netdata/netdata/0001-makefile-Do-not-build-contrib-dir.patch b/meta-webserver/recipes-webadmin/netdata/netdata/0001-makefile-Do-not-build-contrib-dir.patch new file mode 100644 index 0000000..9a3a4a5 --- /dev/null +++ b/meta-webserver/recipes-webadmin/netdata/netdata/0001-makefile-Do-not-build-contrib-dir.patch @@ -0,0 +1,27 @@ +From 87f868918a9ae1dcf93e01f3e177d185c19a149a Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 13 Jul 2017 14:32:09 -0700 +Subject: [PATCH] makefile: Do not build contrib dir + +It contains debian build iteams anyway + +Signed-off-by: Khem Raj +--- + Makefile.am | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/Makefile.am b/Makefile.am +index 3ccf82f8..a852e529 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -52,7 +52,6 @@ SUBDIRS = \ + src \ + system \ + web \ +- contrib \ + $(NULL) + + dist_noinst_DATA= \ +-- +2.13.2 + diff --git a/meta-webserver/recipes-webadmin/netdata/netdata_git.bb b/meta-webserver/recipes-webadmin/netdata/netdata_git.bb index de14064..1003662 100644 --- a/meta-webserver/recipes-webadmin/netdata/netdata_git.bb +++ b/meta-webserver/recipes-webadmin/netdata/netdata_git.bb @@ -1,11 +1,15 @@ HOMEPAGE = "https://github.com/firehol/netdata/" SUMMARY = "Real-time performance monitoring" LICENSE = "GPLv3" -LIC_FILES_CHKSUM = "file://LICENSE.md;md5=747afe070ea9d6c2be0a31353609a35b" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=a4a3b650ea3f74269cdfd45a3550e219 \ + file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ + " -SRC_URI = "git://github.com/firehol/netdata.git;protocol=https" -SRCREV = "36c1304e37094174ea51001903058e65053107ca" -PV = "1.0.1+git${SRCPV}" +SRC_URI = "git://github.com/firehol/netdata.git;protocol=https \ + file://0001-makefile-Do-not-build-contrib-dir.patch \ +" +SRCREV = "f5fa346a188e906a8f2cce3c2cf32a88ce81c666" +PV = "1.6.0+git${SRCPV}" # patch to disable timeout because timeout are not available with actual version # of core-utils @@ -19,7 +23,7 @@ SRC_URI += "file://netdata.service" S = "${WORKDIR}/git" -DEPENDS += "zlib" +DEPENDS += "zlib util-linux" inherit pkgconfig autotools useradd systemd -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:49:54 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:49:54 +0000 Subject: [oe-commits] [meta-openembedded] 22/33: lmbench: Fix build with musl In-Reply-To: <150006897250.9573.17315859959339979102@git.openembedded.org> References: <150006897250.9573.17315859959339979102@git.openembedded.org> Message-ID: <20170714214933.64A1E23348B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit ab4314adae055c0c024b3a6435cd93cc3da56a8f Author: Khem Raj AuthorDate: Thu Jul 13 22:40:02 2017 -0700 lmbench: Fix build with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...usl-define-guard-before-redefining-sockle.patch | 29 +++++++++ ...t-CFLAGS-LDFLAGS-to-append-values-passed-.patch | 76 ++++++++++++++++++++++ .../recipes-benchmark/lmbench/lmbench_3.0-a9.bb | 8 ++- 3 files changed, 112 insertions(+), 1 deletion(-) diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-Check-for-musl-define-guard-before-redefining-sockle.patch b/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-Check-for-musl-define-guard-before-redefining-sockle.patch new file mode 100644 index 0000000..20791bf --- /dev/null +++ b/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-Check-for-musl-define-guard-before-redefining-sockle.patch @@ -0,0 +1,29 @@ +From 31d58ed7e6552781f415501e96d7cc74f83b910d Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 12 Jul 2017 18:08:51 -0700 +Subject: [PATCH 1/2] Check for musl define guard before redefining socklen_t + +musl uses __DEFINED_socklen_t so check for that as well +along with HAVE_socklen_t + +Signed-off-by: Khem Raj +--- + src/bench.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/bench.h b/src/bench.h +index 597d068..2ebdf5a 100644 +--- a/src/bench.h ++++ b/src/bench.h +@@ -77,7 +77,7 @@ typedef long long int64; + #endif /* HAVE_int64_t */ + #endif /* HAVE_int64 */ + +-#ifndef HAVE_socklen_t ++#if !defined(HAVE_socklen_t) && !defined(__DEFINED_socklen_t) + typedef int socklen_t; + #endif + +-- +2.13.2 + diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0002-build-Adjust-CFLAGS-LDFLAGS-to-append-values-passed-.patch b/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0002-build-Adjust-CFLAGS-LDFLAGS-to-append-values-passed-.patch new file mode 100644 index 0000000..d5c8f5f --- /dev/null +++ b/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0002-build-Adjust-CFLAGS-LDFLAGS-to-append-values-passed-.patch @@ -0,0 +1,76 @@ +From 76f3a9abc2ff96155425ef97d8c5520cfbc8fe6a Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 12 Jul 2017 18:09:46 -0700 +Subject: [PATCH 2/2] build: Adjust CFLAGS/LDFLAGS to append values passed from + env + +For musl we have to pass additional arguments via cflags and ldflags +to link in librirpc, make room for those changes to take effect + +Signed-off-by: Khem Raj +--- + scripts/build | 2 +- + src/Makefile | 14 +++++++------- + 2 files changed, 8 insertions(+), 8 deletions(-) + +diff --git a/scripts/build b/scripts/build +index 34a1371..3786741 100755 +--- a/scripts/build ++++ b/scripts/build +@@ -18,7 +18,7 @@ done + + trap 'rm -f ${BASE}$$.s ${BASE}$$.c ${BASE}$$.o ${BASE}$$; exit 1' 1 2 15 + +-LDLIBS=-lm ++LDLIBS+=-lm + + # check for HP-UX's ANSI compiler + echo "main(int ac, char *av[]) { int i; }" > ${BASE}$$.c +diff --git a/src/Makefile b/src/Makefile +index d9efd54..96467d7 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -112,8 +112,8 @@ LIBOBJS= $O/lib_tcp.o $O/lib_udp.o $O/lib_unix.o $O/lib_timing.o \ + $O/lib_sched.o + + lmbench: $(UTILS) +- @env CFLAGS=-O MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" CC="$(CC)" OS="$(OS)" ../scripts/build all +- - at env CFLAGS=-O MAKE="$(MAKE)" MAKEFLAGS="k$(MAKEFLAGS)" CC="$(CC)" OS="$(OS)" ../scripts/build opt ++ @env CFLAGS+=-O MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" CC="$(CC)" OS="$(OS)" ../scripts/build all ++ - at env CFLAGS+=-O MAKE="$(MAKE)" MAKEFLAGS="k$(MAKEFLAGS)" CC="$(CC)" OS="$(OS)" ../scripts/build opt + + results: lmbench + @env OS="${OS}" ../scripts/config-run +@@ -137,7 +137,7 @@ os: lmbench + @env OS="${OS}" BENCHMARK_HARDWARE=NO BENCHMARK_OS=YES ../scripts/results + + install: lmbench +- @env CFLAGS=-O MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" CC="${CC}" OS="${OS}" ../scripts/build install-target ++ @env CFLAGS+=-O MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" CC="${CC}" OS="${OS}" ../scripts/build install-target + + install-target: + if [ ! -d $(BASE) ]; then mkdir $(BASE); fi +@@ -155,16 +155,16 @@ all: $(EXES) $O/lmbench + opt: $(OPT_EXES) + asm: $(ASMS) + $(ASMS): +- $(CC) -S $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $@ `basename $@ .s`.c ++ $(CC) -S $(CFLAGS) $(CPPFLAGS) -o $@ `basename $@ .s`.c $(LDFLAGS) + + Wall: +- @env CFLAGS="-g -O -Wall" MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" CC="${CC}" OS="${OS}" ../scripts/build all opt ++ @env CFLAGS+="-g -O -Wall" MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" CC="${CC}" OS="${OS}" ../scripts/build all opt + + debug: +- @env CFLAGS="-g -O -DDEBUG" MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" CC="${CC}" OS="${OS}" ../scripts/build all opt ++ @env CFLAGS+="-g -O -DDEBUG" MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" CC="${CC}" OS="${OS}" ../scripts/build all opt + + assembler: +- @env CFLAGS=-O MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" CC="${CC}" OS="${OS}" ../scripts/build asm ++ @env CFLAGS+=-O MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" CC="${CC}" OS="${OS}" ../scripts/build asm + + + tag: +-- +2.13.2 + diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb b/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb index 43ac1d0..03b3721 100644 --- a/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb +++ b/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb @@ -7,6 +7,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b \ inherit autotools-brokensep +DEPENDS_append_libc-musl = " libtirpc" +CFLAGS_append_libc-musl = " -I${STAGING_INCDIR}/tirpc" +LDLIBS_append_libc-musl = " -ltirpc " + PR = "r2" SRC_URI = "${SOURCEFORGE_MIRROR}/lmbench/lmbench-${PV}.tgz \ @@ -20,12 +24,14 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/lmbench/lmbench-${PV}.tgz \ file://fix-lmbench-memory-check-failure.patch \ file://0001-avoid-gcc-optimize-away-the-loops.patch \ file://0001-lat_http.c-Add-printf-format.patch \ + file://0001-Check-for-musl-define-guard-before-redefining-sockle.patch \ + file://0002-build-Adjust-CFLAGS-LDFLAGS-to-append-values-passed-.patch \ " SRC_URI[md5sum] = "b3351a3294db66a72e2864a199d37cbf" SRC_URI[sha256sum] = "cbd5777d15f44eab7666dcac418054c3c09df99826961a397d9acf43d8a2a551" EXTRA_OEMAKE = 'CC="${CC}" AR="${AR}" RANLIB="${RANLIB}" CFLAGS="${CFLAGS}" \ - LDFLAGS="${LDFLAGS}" LD="${LD}" OS="${TARGET_SYS}" \ + LDFLAGS="${LDFLAGS}" LDLIBS="${LDLIBS}" LD="${LD}" OS="${TARGET_SYS}" \ TARGET="${TARGET_OS}" BASE="${prefix}" MANDIR="${mandir}"' do_configure() { -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:49:58 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:49:58 +0000 Subject: [oe-commits] [meta-openembedded] 26/33: onboard: Fix build with musl In-Reply-To: <150006897250.9573.17315859959339979102@git.openembedded.org> References: <150006897250.9573.17315859959339979102@git.openembedded.org> Message-ID: <20170714214933.84636233457@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 8fd8bc881021e34f753d3412ecce8c009b310cf2 Author: Khem Raj AuthorDate: Thu Jul 13 22:40:06 2017 -0700 onboard: Fix build with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...m-Define-error-API-if-platform-does-not-h.patch | 67 ++++++++++++++++++++++ .../recipes-support/onboard/onboard_1.4.1.bb | 4 +- 2 files changed, 70 insertions(+), 1 deletion(-) diff --git a/meta-gnome/recipes-support/onboard/onboard/0001-pypredict-lm-Define-error-API-if-platform-does-not-h.patch b/meta-gnome/recipes-support/onboard/onboard/0001-pypredict-lm-Define-error-API-if-platform-does-not-h.patch new file mode 100644 index 0000000..fda3789 --- /dev/null +++ b/meta-gnome/recipes-support/onboard/onboard/0001-pypredict-lm-Define-error-API-if-platform-does-not-h.patch @@ -0,0 +1,67 @@ +From 1c95f64aa342147387ce4b1b7269a5c8b34bd898 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 13 Jul 2017 09:01:04 -0700 +Subject: [PATCH] pypredict/lm: Define error API if platform does not have it + +error() API is not implemented across all libcs on linux +e.g. musl does not provide it. + +Signed-off-by: Khem Raj +--- + Onboard/pypredict/lm/lm.cpp | 1 - + Onboard/pypredict/lm/lm.h | 13 +++++++++++++ + Onboard/pypredict/lm/lm_dynamic.cpp | 2 -- + 3 files changed, 13 insertions(+), 3 deletions(-) + +diff --git a/Onboard/pypredict/lm/lm.cpp b/Onboard/pypredict/lm/lm.cpp +index 2e64296..37ae241 100644 +--- a/Onboard/pypredict/lm/lm.cpp ++++ b/Onboard/pypredict/lm/lm.cpp +@@ -19,7 +19,6 @@ + + #include + #include +-#include + #include + #include + #include +diff --git a/Onboard/pypredict/lm/lm.h b/Onboard/pypredict/lm/lm.h +index ed4164a..b8b63ee 100644 +--- a/Onboard/pypredict/lm/lm.h ++++ b/Onboard/pypredict/lm/lm.h +@@ -32,6 +32,19 @@ + #include + #include + ++#if defined(HAVE_ERROR_H) ++#include ++#else ++#include ++#define _onboard_error(S, E, F, ...) do { \ ++ if (E) \ ++ err(S, F ": %s", ##__VA_ARGS__, strerror(E)); \ ++ else \ ++ err(S, F, ##__VA_ARGS__); \ ++} while(0) ++ ++#define error _onboard_error ++#endif + + // break into debugger + // step twice to come back out of the raise() call into known code +diff --git a/Onboard/pypredict/lm/lm_dynamic.cpp b/Onboard/pypredict/lm/lm_dynamic.cpp +index 7c62824..e7c7f40 100644 +--- a/Onboard/pypredict/lm/lm_dynamic.cpp ++++ b/Onboard/pypredict/lm/lm_dynamic.cpp +@@ -17,8 +17,6 @@ + * along with this program. If not, see . + */ + +-#include +- + #include "lm_dynamic.h" + + using namespace std; +-- +2.13.2 + diff --git a/meta-gnome/recipes-support/onboard/onboard_1.4.1.bb b/meta-gnome/recipes-support/onboard/onboard_1.4.1.bb index 3a4f189..10765ee 100644 --- a/meta-gnome/recipes-support/onboard/onboard_1.4.1.bb +++ b/meta-gnome/recipes-support/onboard/onboard_1.4.1.bb @@ -4,7 +4,9 @@ LIC_FILES_CHKSUM = "file://COPYING.GPL3;md5=8521fa4dd51909b407c5150498d34f4e" DEPENDS += "gtk+3 hunspell libcanberra libxkbfile dconf python3-distutils-extra-native intltool-native" -SRC_URI = "https://launchpad.net/onboard/1.4/${PV}/+download/${BPN}-${PV}.tar.gz" +SRC_URI = "https://launchpad.net/onboard/1.4/${PV}/+download/${BPN}-${PV}.tar.gz \ + file://0001-pypredict-lm-Define-error-API-if-platform-does-not-h.patch \ + " SRC_URI[md5sum] = "1a2fbe82e934f5b37841d17ff51e80e8" SRC_URI[sha256sum] = "01cae1ac5b1ef1ab985bd2d2d79ded6fc99ee04b1535cc1bb191e43a231a3865" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:49:57 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:49:57 +0000 Subject: [oe-commits] [meta-openembedded] 25/33: gedit: Define ACCESSPERMS if not defined already In-Reply-To: <150006897250.9573.17315859959339979102@git.openembedded.org> References: <150006897250.9573.17315859959339979102@git.openembedded.org> Message-ID: <20170714214933.7DC8A233456@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 020635214b56d16e804686d5061b97bfa9a4d179 Author: Khem Raj AuthorDate: Thu Jul 13 22:40:05 2017 -0700 gedit: Define ACCESSPERMS if not defined already Fixes build on musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...ent-saver.c-Define-ACCESSPERMS-if-not-def.patch | 31 ++++++++++++++++++++++ meta-gnome/recipes-gnome/gedit/gedit_2.30.4.bb | 11 ++++---- 2 files changed, 37 insertions(+), 5 deletions(-) diff --git a/meta-gnome/recipes-gnome/gedit/files/0001-tests-document-saver.c-Define-ACCESSPERMS-if-not-def.patch b/meta-gnome/recipes-gnome/gedit/files/0001-tests-document-saver.c-Define-ACCESSPERMS-if-not-def.patch new file mode 100644 index 0000000..11afe75 --- /dev/null +++ b/meta-gnome/recipes-gnome/gedit/files/0001-tests-document-saver.c-Define-ACCESSPERMS-if-not-def.patch @@ -0,0 +1,31 @@ +From ee43bcc3c8d69fe56a64c3487e2d3c780ea5d25e Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 13 Jul 2017 06:53:35 -0700 +Subject: [PATCH] tests/document-saver.c: Define ACCESSPERMS if not defined + already + +Helps compile with musl + +Signed-off-by: Khem Raj +--- + tests/document-saver.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/tests/document-saver.c b/tests/document-saver.c +index 9f44d5a..811ade6 100644 +--- a/tests/document-saver.c ++++ b/tests/document-saver.c +@@ -41,6 +41,10 @@ + #define UNOWNED_GROUP_LOCAL_URI "/tmp/gedit-document-saver-unowned-group.txt" + #define UNOWNED_GROUP_REMOTE_URI "sftp://localhost/tmp/gedit-document-saver-unowned-group.txt" + ++#if !defined(ACCESSPERMS) ++#define ACCESSPERMS (S_IRWXU|S_IRWXG|S_IRWXO) /* 0777 */ ++#endif ++ + static gboolean test_completed; + static gboolean mount_completed; + static gboolean mount_success; +-- +2.13.2 + diff --git a/meta-gnome/recipes-gnome/gedit/gedit_2.30.4.bb b/meta-gnome/recipes-gnome/gedit/gedit_2.30.4.bb index 03d7fa4..4352b5e 100644 --- a/meta-gnome/recipes-gnome/gedit/gedit_2.30.4.bb +++ b/meta-gnome/recipes-gnome/gedit/gedit_2.30.4.bb @@ -8,11 +8,12 @@ DEPENDS = "gvfs enchant gconf gnome-doc-utils glib-2.0 gtk+ gtksourceview2 iso-c LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" inherit gnome gettext pythonnative -SRC_URI+= " \ - file://0001-workaround-void-pointer-arithmetic.patch \ - file://0001-Remove-help-directory-from-build.patch \ - file://0002-suppress-string-format-literal-warning-to-fix-build-.patch \ -" +SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@gnome_verdir("${PV}")}/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive \ + file://0001-workaround-void-pointer-arithmetic.patch \ + file://0001-Remove-help-directory-from-build.patch \ + file://0002-suppress-string-format-literal-warning-to-fix-build-.patch \ + file://0001-tests-document-saver.c-Define-ACCESSPERMS-if-not-def.patch \ + " SRC_URI[archive.md5sum] = "e1eecb0a92a1a363b3d375ec5ac0fb3b" SRC_URI[archive.sha256sum] = "a561fe3dd1d199baede1bd07c4ee65f06fc7c494dd4d3327117f04149a608e3c" GNOME_COMPRESS_TYPE="bz2" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:50:02 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:50:02 +0000 Subject: [oe-commits] [meta-openembedded] 30/33: kexec-tools-klibc: Fix build with musl In-Reply-To: <150006897250.9573.17315859959339979102@git.openembedded.org> References: <150006897250.9573.17315859959339979102@git.openembedded.org> Message-ID: <20170714214933.A32862334A2@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 1c46c71bc041348c23c89281f2a00de8e888c8d3 Author: Khem Raj AuthorDate: Thu Jul 13 22:40:10 2017 -0700 kexec-tools-klibc: Fix build with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...he-order-of-headers-to-fix-build-for-musl.patch | 30 ++++++++++++++++++++++ .../kexec/kexec-tools-klibc_2.0.2.bb | 1 + 2 files changed, 31 insertions(+) diff --git a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/0001-Adjust-the-order-of-headers-to-fix-build-for-musl.patch b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/0001-Adjust-the-order-of-headers-to-fix-build-for-musl.patch new file mode 100644 index 0000000..a7600b3 --- /dev/null +++ b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/0001-Adjust-the-order-of-headers-to-fix-build-for-musl.patch @@ -0,0 +1,30 @@ +From 86b962e7c0de43b20b6210d059e4855ce87078bc Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 13 Jul 2017 16:20:08 -0700 +Subject: [PATCH] Adjust the order of headers to fix build for musl + +Fixes +kexec/ifdown.c:33:16: error: storage size of 'ifc' isn't known + +Signed-off-by: Khem Raj +--- + kexec/ifdown.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/kexec/ifdown.c b/kexec/ifdown.c +index 2215798..e13f777 100644 +--- a/kexec/ifdown.c ++++ b/kexec/ifdown.c +@@ -16,8 +16,8 @@ char *v_ifdown = "@(#)ifdown.c 1.11 02-Jun-1998 miquels at cistron.nl"; + #include + #include + +-#include + #include ++#include + + #define MAX_IFS 64 + +-- +2.13.2 + diff --git a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc_2.0.2.bb b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc_2.0.2.bb index c9fec25..49c53a3 100644 --- a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc_2.0.2.bb +++ b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc_2.0.2.bb @@ -20,6 +20,7 @@ SRC_URI += " \ file://sha256.patch \ file://sysconf_nrprocessors.patch \ file://fix-out-of-tree-build.patch \ + file://0001-Adjust-the-order-of-headers-to-fix-build-for-musl.patch \ " SRC_URI_append_arm = " file://arm_crashdump.patch" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:50:05 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:50:05 +0000 Subject: [oe-commits] [meta-openembedded] 33/33: logfsprogs: Rename setkey API to _setkey to not conflict with libc In-Reply-To: <150006897250.9573.17315859959339979102@git.openembedded.org> References: <150006897250.9573.17315859959339979102@git.openembedded.org> Message-ID: <20170714214933.B752B2334B9@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 82650e191acc62ca1534f6c6edab4a1ee16e716a Author: Khem Raj AuthorDate: Thu Jul 13 22:40:13 2017 -0700 logfsprogs: Rename setkey API to _setkey to not conflict with libc Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...-conflicts-with-libc-namespace-about-setk.patch | 135 +++++++++++++++++++++ .../logfsprogs/logfsprogs_git.bb | 3 +- 2 files changed, 137 insertions(+), 1 deletion(-) diff --git a/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs/0001-btree-Avoid-conflicts-with-libc-namespace-about-setk.patch b/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs/0001-btree-Avoid-conflicts-with-libc-namespace-about-setk.patch new file mode 100644 index 0000000..dbf7ae0 --- /dev/null +++ b/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs/0001-btree-Avoid-conflicts-with-libc-namespace-about-setk.patch @@ -0,0 +1,135 @@ +From 5a8e26157d9642f022587cc1ca7525213c7a5379 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 13 Jul 2017 18:41:53 -0700 +Subject: [PATCH] btree: Avoid conflicts with libc namespace about setkey() + +This issue is highlighted with musl mainly because the +function signature from stdlib.h does not match the local +static function + +Signed-off-by: Khem Raj +--- + btree.c | 32 ++++++++++++++++---------------- + 1 file changed, 16 insertions(+), 16 deletions(-) + +diff --git a/btree.c b/btree.c +index eddc33b..dd3fef9 100644 +--- a/btree.c ++++ b/btree.c +@@ -123,7 +123,7 @@ static unsigned long bval(struct btree_geo *geo, unsigned long *node, int n) + return node[geo->no_pairs * geo->keylen + n]; + } + +-static void setkey(struct btree_geo *geo, unsigned long *node, ++static void _setkey(struct btree_geo *geo, unsigned long *node, + unsigned long *key, int n) + { + longcpy(bkey(geo, node, n), key, geo->keylen); +@@ -292,7 +292,7 @@ static unsigned long *find_level(struct btree_head *head, struct btree_geo *geo, + /* FIXME: If the right-most key on higher levels is + * always zero, this wouldn't be necessary. */ + i--; +- setkey(geo, node, key, i); ++ _setkey(geo, node, key, i); + } + BUG_ON(i < 0); + node = (unsigned long *)bval(geo, node, i); +@@ -311,7 +311,7 @@ static int btree_grow(struct btree_head *head, struct btree_geo *geo) + return -ENOMEM; + if (head->node) { + fill = getfill(geo, head->node, 0); +- setkey(geo, node, bkey(geo, head->node, fill - 1), 0); ++ _setkey(geo, node, bkey(geo, head->node, fill - 1), 0); + setval(geo, node, (unsigned long)head->node, 0); + } + head->node = node; +@@ -342,16 +342,16 @@ static void steal_l(struct btree_head *head, struct btree_geo *geo, int level, + + for (i = rfill - 1; i >= 0; i--) { + /* Shift entries on the right */ +- setkey(geo, right, bkey(geo, right, i), i + no_entries); ++ _setkey(geo, right, bkey(geo, right, i), i + no_entries); + setval(geo, right, bval(geo, right, i), i + no_entries); + } + for (i = 0; i < no_entries; i++) { + /* Move some entries to the right */ +- setkey(geo, right, bkey(geo, left, lfill - no_entries + i), i); ++ _setkey(geo, right, bkey(geo, left, lfill - no_entries + i), i); + setval(geo, right, bval(geo, left, lfill - no_entries + i), i); + } + /* Set parent key */ +- setkey(geo, parent, bkey(geo, left, lfill - no_entries - 1), lpos); ++ _setkey(geo, parent, bkey(geo, left, lfill - no_entries - 1), lpos); + for (i = lfill - no_entries; i < lfill; i++) + clearpair(geo, left, i); + } +@@ -366,14 +366,14 @@ static void steal_r(struct btree_head *head, struct btree_geo *geo, int level, + + for (i = 0; i < no_entries; i++) { + /* Move some entries to the left */ +- setkey(geo, left, bkey(geo, right, i), lfill + i); ++ _setkey(geo, left, bkey(geo, right, i), lfill + i); + setval(geo, left, bval(geo, right, i), lfill + i); + } + /* Set parent key */ +- setkey(geo, parent, bkey(geo, right, no_entries - 1), lpos); ++ _setkey(geo, parent, bkey(geo, right, no_entries - 1), lpos); + /* Shift entries on the right */ + for ( ; i < rfill; i++) { +- setkey(geo, right, bkey(geo, right, i), i - no_entries); ++ _setkey(geo, right, bkey(geo, right, i), i - no_entries); + setval(geo, right, bval(geo, right, i), i - no_entries); + } + for (i = rfill - no_entries; i < rfill; i++) +@@ -399,14 +399,14 @@ static int split(struct btree_head *head, struct btree_geo *geo, + return err; + } + for (i = 0; i < fill / 2; i++) { +- setkey(geo, new, bkey(geo, node, i), i); ++ _setkey(geo, new, bkey(geo, node, i), i); + setval(geo, new, bval(geo, node, i), i); +- setkey(geo, node, bkey(geo, node, i + fill / 2), i); ++ _setkey(geo, node, bkey(geo, node, i + fill / 2), i); + setval(geo, node, bval(geo, node, i + fill / 2), i); + clearpair(geo, node, i + fill / 2); + } + if (fill & 1) { +- setkey(geo, node, bkey(geo, node, fill - 1), i); ++ _setkey(geo, node, bkey(geo, node, fill - 1), i); + setval(geo, node, bval(geo, node, fill - 1), i); + clearpair(geo, node, fill - 1); + } +@@ -487,10 +487,10 @@ retry: + + /* shift and insert */ + for (i = fill; i > pos; i--) { +- setkey(geo, node, bkey(geo, node, i - 1), i); ++ _setkey(geo, node, bkey(geo, node, i - 1), i); + setval(geo, node, bval(geo, node, i - 1), i); + } +- setkey(geo, node, key, pos); ++ _setkey(geo, node, key, pos); + setval(geo, node, val, pos); + + return 0; +@@ -513,7 +513,7 @@ static void merge(struct btree_head *head, struct btree_geo *geo, int level, + + for (i = 0; i < rfill; i++) { + /* Move all entries to the left */ +- setkey(geo, left, bkey(geo, right, i), lfill + i); ++ _setkey(geo, left, bkey(geo, right, i), lfill + i); + setval(geo, left, bval(geo, right, i), lfill + i); + } + /* Exchange left and right child in parent */ +@@ -615,7 +615,7 @@ static void *btree_remove_level(struct btree_head *head, struct btree_geo *geo, + + /* remove and shift */ + for (i = pos; i < fill - 1; i++) { +- setkey(geo, node, bkey(geo, node, i + 1), i); ++ _setkey(geo, node, bkey(geo, node, i + 1), i); + setval(geo, node, bval(geo, node, i + 1), i); + } + clearpair(geo, node, fill - 1); +-- +2.13.2 + diff --git a/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs_git.bb b/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs_git.bb index c41f0ea..1b4d97d 100644 --- a/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs_git.bb +++ b/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs_git.bb @@ -13,7 +13,8 @@ DEPENDS = "zlib" SRC_URI = "git://github.com/prasad-joshi/logfsprogs.git \ file://0001-Add-LDFLAGS-to-linker-cmdline.patch \ -" + file://0001-btree-Avoid-conflicts-with-libc-namespace-about-setk.patch \ + " SRCREV = "45b72c81ce3c6fa17ca19bafc207ea93e76312f4" S = "${WORKDIR}/git" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:50:01 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:50:01 +0000 Subject: [oe-commits] [meta-openembedded] 29/33: can-utils: Update to tip of master In-Reply-To: <150006897250.9573.17315859959339979102@git.openembedded.org> References: <150006897250.9573.17315859959339979102@git.openembedded.org> Message-ID: <20170714214933.9D2E123345B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 14d749fbe122b6d233a4e151aff2359f48af9913 Author: Khem Raj AuthorDate: Thu Jul 13 22:40:09 2017 -0700 can-utils: Update to tip of master Fixes build issues with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- meta-oe/recipes-extended/socketcan/can-utils_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-oe/recipes-extended/socketcan/can-utils_git.bb b/meta-oe/recipes-extended/socketcan/can-utils_git.bb index 931e332..a2d62c3 100644 --- a/meta-oe/recipes-extended/socketcan/can-utils_git.bb +++ b/meta-oe/recipes-extended/socketcan/can-utils_git.bb @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://include/linux/can.h;endline=43;md5=390a2c9a3c5e3595a0 DEPENDS = "libsocketcan" SRC_URI = "git://github.com/linux-can/${BPN}.git;protocol=git;branch=master" -SRCREV = "67a2bdcd336e6becfa5784742e18c88dbeddc973" +SRCREV = "4c8fb05cb4d6ddcd67299008db54af423f86fd05" PV = "0.0+gitr${SRCPV}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:49:53 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:49:53 +0000 Subject: [oe-commits] [meta-openembedded] 21/33: lightmediascanner: Define comparison_fn_t if undefined In-Reply-To: <150006897250.9573.17315859959339979102@git.openembedded.org> References: <150006897250.9573.17315859959339979102@git.openembedded.org> Message-ID: <20170714214933.5D887233487@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit a8481ce2fdbe23e17c77a1b6f5cadd4acbd7fab1 Author: Khem Raj AuthorDate: Thu Jul 13 22:40:01 2017 -0700 lightmediascanner: Define comparison_fn_t if undefined Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...ine-comparison_fn_t-for-non-glibc-systems.patch | 33 ++++++++++++++++++++++ .../lightmediascanner/lightmediascanner_0.5.1.bb | 1 + 2 files changed, 34 insertions(+) diff --git a/meta-efl/recipes-multimedia/lightmediascanner/files/0001-Define-comparison_fn_t-for-non-glibc-systems.patch b/meta-efl/recipes-multimedia/lightmediascanner/files/0001-Define-comparison_fn_t-for-non-glibc-systems.patch new file mode 100644 index 0000000..15d4b3f --- /dev/null +++ b/meta-efl/recipes-multimedia/lightmediascanner/files/0001-Define-comparison_fn_t-for-non-glibc-systems.patch @@ -0,0 +1,33 @@ +From 5bc5b8c5dad3edec6736fd7e7ce61250c4ce3725 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 12 Jul 2017 17:13:19 -0700 +Subject: [PATCH] Define comparison_fn_t for non-glibc systems + +lightmediascanner.c:324:12: error: 'comparison_fn_t' undeclared (first use in this function) + (comparison_fn_t)_plugin_sort); + ^~~~~~~~~~~~~~~ + +Signed-off-by: Khem Raj +--- + src/lib/lightmediascanner.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/src/lib/lightmediascanner.c b/src/lib/lightmediascanner.c +index 344b247..b866883 100644 +--- a/src/lib/lightmediascanner.c ++++ b/src/lib/lightmediascanner.c +@@ -37,6 +37,11 @@ + #define DEFAULT_SLAVE_TIMEOUT 1000 + #define DEFAULT_COMMIT_INTERVAL 100 + ++#if !defined(__GLIBC__) ++typedef int (*__compar_fn_t) (const void*, const void*); ++typedef __compar_fn_t comparison_fn_t; ++#endif ++ + #ifdef HAVE_MAGIC_H + static magic_t _magic_handle; + +-- +2.13.2 + diff --git a/meta-efl/recipes-multimedia/lightmediascanner/lightmediascanner_0.5.1.bb b/meta-efl/recipes-multimedia/lightmediascanner/lightmediascanner_0.5.1.bb index d8c6dbb..f215876 100644 --- a/meta-efl/recipes-multimedia/lightmediascanner/lightmediascanner_0.5.1.bb +++ b/meta-efl/recipes-multimedia/lightmediascanner/lightmediascanner_0.5.1.bb @@ -12,6 +12,7 @@ PV = "0.5.1+git${SRCPV}" SRCREV = "adfddb3486276a5ed2f5008c9e43a811e1271cc9" SRC_URI = "git://github.com/profusion/lightmediascanner.git \ file://id3-plugin-support-out-of-tree-build.patch \ + file://0001-Define-comparison_fn_t-for-non-glibc-systems.patch \ " S = "${WORKDIR}/git" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:50:04 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:50:04 +0000 Subject: [oe-commits] [meta-openembedded] 32/33: yaffs2-utils: Fix build with musl In-Reply-To: <150006897250.9573.17315859959339979102@git.openembedded.org> References: <150006897250.9573.17315859959339979102@git.openembedded.org> Message-ID: <20170714214933.B00582334B3@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit ae7ac6736c7576fa4380e1271988dbf753b5306b Author: Khem Raj AuthorDate: Thu Jul 13 22:40:12 2017 -0700 yaffs2-utils: Fix build with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...0001-define-loff_t-if-not-already-defined.patch | 30 ++++++++++++++++++++++ .../recipes-filesystems/yaffs2/yaffs2-utils_git.bb | 3 ++- 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils/0001-define-loff_t-if-not-already-defined.patch b/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils/0001-define-loff_t-if-not-already-defined.patch new file mode 100644 index 0000000..df202c8 --- /dev/null +++ b/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils/0001-define-loff_t-if-not-already-defined.patch @@ -0,0 +1,30 @@ +From 848717da4a28d33f8aa8f889377e61e6b1b8ae67 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 13 Jul 2017 18:29:52 -0700 +Subject: [PATCH] define loff_t if not already defined + +Helps to build with musl + +Signed-off-by: Khem Raj +--- + yaffs_guts.h | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/yaffs_guts.h b/yaffs_guts.h +index 6bcf12d..4af17ce 100644 +--- a/yaffs_guts.h ++++ b/yaffs_guts.h +@@ -18,6 +18,10 @@ + + #include "yportenv.h" + ++#ifndef loff_t ++#define loff_t off_t ++#endif ++ + #define YAFFS_OK 1 + #define YAFFS_FAIL 0 + +-- +2.13.2 + diff --git a/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils_git.bb b/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils_git.bb index e8d1873..67c926b 100644 --- a/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils_git.bb +++ b/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils_git.bb @@ -14,7 +14,8 @@ DEPENDS = "mtd-utils" # Source is the HEAD of master branch at the time of writing this recipe SRC_URI = "git://www.aleph1.co.uk/yaffs2;protocol=git;branch=master \ file://makefile-add-ldflags.patch \ - " + file://0001-define-loff_t-if-not-already-defined.patch \ + " SRCREV = "bc76682d93955cfb33051beb503ad9f8a5450578" S = "${WORKDIR}/git" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:49:52 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:49:52 +0000 Subject: [oe-commits] [meta-openembedded] 20/33: cdparanoia: Fix build with musl In-Reply-To: <150006897250.9573.17315859959339979102@git.openembedded.org> References: <150006897250.9573.17315859959339979102@git.openembedded.org> Message-ID: <20170714214933.575DD233481@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 4c5603371c84541788c0122ae6574e8a699411e1 Author: Khem Raj AuthorDate: Thu Jul 13 22:40:00 2017 -0700 cdparanoia: Fix build with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../cdparanoia/cdparanoia_10.2.bb | 1 + ...-utils-Use-c99-compiler-independent-types.patch | 49 ++++++++++++++++++++++ 2 files changed, 50 insertions(+) diff --git a/meta-multimedia/recipes-multimedia/cdparanoia/cdparanoia_10.2.bb b/meta-multimedia/recipes-multimedia/cdparanoia/cdparanoia_10.2.bb index 30d71ff..27fa0e5 100644 --- a/meta-multimedia/recipes-multimedia/cdparanoia/cdparanoia_10.2.bb +++ b/meta-multimedia/recipes-multimedia/cdparanoia/cdparanoia_10.2.bb @@ -15,6 +15,7 @@ SRC_URI = "http://downloads.xiph.org/releases/cdparanoia/cdparanoia-III-${PV}.sr file://out-of-tree-build.patch \ file://0001-check-for-null-buffer-before-trying-a-byteswap.patch \ file://0002-Fix-printf-format-errors.patch \ + file://0001-utils-Use-c99-compiler-independent-types.patch \ " SRC_URI[md5sum] = "b304bbe8ab63373924a744eac9ebc652" SRC_URI[sha256sum] = "005db45ef4ee017f5c32ec124f913a0546e77014266c6a1c50df902a55fe64df" diff --git a/meta-multimedia/recipes-multimedia/cdparanoia/files/0001-utils-Use-c99-compiler-independent-types.patch b/meta-multimedia/recipes-multimedia/cdparanoia/files/0001-utils-Use-c99-compiler-independent-types.patch new file mode 100644 index 0000000..7699017 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/cdparanoia/files/0001-utils-Use-c99-compiler-independent-types.patch @@ -0,0 +1,49 @@ +From 89071cbc8d3ab9a15503f397580b7590338e5e91 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 12 Jul 2017 17:23:45 -0700 +Subject: [PATCH] utils: Use c99 compiler independent types + +Make it portable across different platforms + +Signed-off-by: Khem Raj +--- + utils.h | 13 +++++++------ + 1 file changed, 7 insertions(+), 6 deletions(-) + +diff --git a/utils.h b/utils.h +index 10dce58..73bba92 100644 +--- a/utils.h ++++ b/utils.h +@@ -3,6 +3,7 @@ + #include + #include + #include ++#include + + extern long buffering_write(int outf, char *buffer, long num); + extern int buffering_close(int fd); +@@ -18,15 +19,15 @@ static inline int bigendianp(void){ + } + + static inline int32_t swap32(int32_t x){ +- return((((u_int32_t)x & 0x000000ffU) << 24) | +- (((u_int32_t)x & 0x0000ff00U) << 8) | +- (((u_int32_t)x & 0x00ff0000U) >> 8) | +- (((u_int32_t)x & 0xff000000U) >> 24)); ++ return((((uint32_t)x & 0x000000ffU) << 24) | ++ (((uint32_t)x & 0x0000ff00U) << 8) | ++ (((uint32_t)x & 0x00ff0000U) >> 8) | ++ (((uint32_t)x & 0xff000000U) >> 24)); + } + + static inline int16_t swap16(int16_t x){ +- return((((u_int16_t)x & 0x00ffU) << 8) | +- (((u_int16_t)x & 0xff00U) >> 8)); ++ return((((uint16_t)x & 0x00ffU) << 8) | ++ (((uint16_t)x & 0xff00U) >> 8)); + } + + #if BYTE_ORDER == LITTLE_ENDIAN +-- +2.13.2 + -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:49:59 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:49:59 +0000 Subject: [oe-commits] [meta-openembedded] 27/33: libgtop: Fix build with musl In-Reply-To: <150006897250.9573.17315859959339979102@git.openembedded.org> References: <150006897250.9573.17315859959339979102@git.openembedded.org> Message-ID: <20170714214933.8C983233454@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 43ad7205b486b41a7533951c3eafde02bb6ef085 Author: Khem Raj AuthorDate: Thu Jul 13 22:40:07 2017 -0700 libgtop: Fix build with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...-Include-libc-net-headers-unconditionally.patch | 46 ++++++++++++++++++++++ meta-gnome/recipes-gnome/libgtop/libgtop_2.30.0.bb | 3 ++ 2 files changed, 49 insertions(+) diff --git a/meta-gnome/recipes-gnome/libgtop/libgtop/0001-netload-Include-libc-net-headers-unconditionally.patch b/meta-gnome/recipes-gnome/libgtop/libgtop/0001-netload-Include-libc-net-headers-unconditionally.patch new file mode 100644 index 0000000..c4f7da4 --- /dev/null +++ b/meta-gnome/recipes-gnome/libgtop/libgtop/0001-netload-Include-libc-net-headers-unconditionally.patch @@ -0,0 +1,46 @@ +From 3c6f70e50cb586ac4add4dea627c316242691040 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 13 Jul 2017 09:17:29 -0700 +Subject: [PATCH] netload: Include libc net headers unconditionally + +This fixes compile with musl, and this conditional +is not needed now a days if we are still using glibc < 1.0 +we have other bigger problems + +Signed-off-by: Khem Raj +--- + sysdeps/linux/netload.c | 11 ----------- + 1 file changed, 11 deletions(-) + +diff --git a/sysdeps/linux/netload.c b/sysdeps/linux/netload.c +index c275db2..446bddd 100644 +--- a/sysdeps/linux/netload.c ++++ b/sysdeps/linux/netload.c +@@ -34,8 +34,6 @@ + #include + #include + +-#if !defined (_LIBC) && defined (__GNU_LIBRARY__) && __GNU_LIBRARY__ > 1 +-/* GNU LibC */ + #include + #include + #include +@@ -43,15 +41,6 @@ + #include + #include + #include +-#else /* Libc 5 */ +-#include +-#include +-#include +-#include +-#include +-#include +-#endif +- + + #ifdef HAVE_IFADDRS_H + /* needed for IPV6 support */ +-- +2.13.2 + diff --git a/meta-gnome/recipes-gnome/libgtop/libgtop_2.30.0.bb b/meta-gnome/recipes-gnome/libgtop/libgtop_2.30.0.bb index d79b9e5..946d118 100644 --- a/meta-gnome/recipes-gnome/libgtop/libgtop_2.30.0.bb +++ b/meta-gnome/recipes-gnome/libgtop/libgtop_2.30.0.bb @@ -6,6 +6,9 @@ inherit gnomebase lib_package gtk-doc distro_features_check gobject-introspectio # depends on libxau REQUIRED_DISTRO_FEATURES = "x11" +SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@gnome_verdir("${PV}")}/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive \ + file://0001-netload-Include-libc-net-headers-unconditionally.patch \ + " SRC_URI[archive.md5sum] = "ee29a9ef60659ebf4b075ac281f71cb2" SRC_URI[archive.sha256sum] = "463bcbe5737b1b93f3345ee34abf601e8eb864f507c49ff1921c2737abafc1e5" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:50:03 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:50:03 +0000 Subject: [oe-commits] [meta-openembedded] 31/33: dracut: Upgrade to 045 In-Reply-To: <150006897250.9573.17315859959339979102@git.openembedded.org> References: <150006897250.9573.17315859959339979102@git.openembedded.org> Message-ID: <20170714214933.A8FE92334A6@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit b75b17ca1e460b13234689aea81dbd9ff5c367b1 Author: Khem Raj AuthorDate: Thu Jul 13 22:40:11 2017 -0700 dracut: Upgrade to 045 Fix build on musl while here Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...-util.h-include-sys-reg.h-when-libc-glibc.patch | 33 ++++++++++++++++++++++ .../recipes-devtools/dracut/dracut_git.bb | 19 +++++++++---- 2 files changed, 46 insertions(+), 6 deletions(-) diff --git a/meta-initramfs/recipes-devtools/dracut/dracut/0001-util.h-include-sys-reg.h-when-libc-glibc.patch b/meta-initramfs/recipes-devtools/dracut/dracut/0001-util.h-include-sys-reg.h-when-libc-glibc.patch new file mode 100644 index 0000000..3271403 --- /dev/null +++ b/meta-initramfs/recipes-devtools/dracut/dracut/0001-util.h-include-sys-reg.h-when-libc-glibc.patch @@ -0,0 +1,33 @@ +From 06011ce55b1e892e863568a73d64eebc6389544f Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 13 Jul 2017 17:14:05 -0700 +Subject: [PATCH] util.h: include when libc != glibc + +For musl libc it is required to include to +have __WORDSIZE defined to e.g. 32 for arm*-musl. + +Taken from void-linux +https://github.com/voidlinux/void-packages/blob/master/srcpkgs/dracut/patches/musl-__wordsize.patch + +Signed-off-by: Khem Raj +--- + install/util.h | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/install/util.h b/install/util.h +index 2ad3254d..062626ec 100644 +--- a/install/util.h ++++ b/install/util.h +@@ -36,6 +36,9 @@ + #include + #include + #include ++#if !defined(__GLIBC__) ++#include ++#endif + + #include "macro.h" + +-- +2.13.2 + diff --git a/meta-initramfs/recipes-devtools/dracut/dracut_git.bb b/meta-initramfs/recipes-devtools/dracut/dracut_git.bb index b91f3fa..09c86d0 100644 --- a/meta-initramfs/recipes-devtools/dracut/dracut_git.bb +++ b/meta-initramfs/recipes-devtools/dracut/dracut_git.bb @@ -5,13 +5,18 @@ LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" PE = "1" -PV = "044+git${SRCREV}" +PV = "045+git${SRCREV}" -# v044 tag -SRCREV = "1bc3e733f96033a508841e97fe08da7a12851782" -SRC_URI = "git://git.kernel.org/pub/scm/boot/dracut/dracut.git;protocol=http" +# v045 tag +SRCREV = "39c9b67f86145953aa30def9d77c68597a4ccfe8" +SRC_URI = "git://git.kernel.org/pub/scm/boot/dracut/dracut.git;protocol=http \ + file://0001-util.h-include-sys-reg.h-when-libc-glibc.patch \ + " -inherit bash-completion +DEPENDS += "kmod" +DEPENDS_append_libc-musl = " fts" + +inherit bash-completion pkgconfig S = "${WORKDIR}/git" @@ -30,7 +35,9 @@ EXTRA_OECONF = "--prefix=${prefix} \ PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,,,systemd" -EXTRA_OEMAKE += 'libdir=${prefix}/lib' +EXTRA_OEMAKE += 'libdir=${prefix}/lib LDLIBS="${LDLIBS}"' + +LDLIBS_append_libc-musl = " -lfts" do_configure() { ./configure ${EXTRA_OECONF} -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:54:06 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:54:06 +0000 Subject: [oe-commits] [meta-openembedded] branch master-next updated (82650e1 -> fcee6e9) Message-ID: <150006924622.12058.14944717806653143624@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a change to branch master-next in repository meta-openembedded. from 82650e1 logfsprogs: Rename setkey API to _setkey to not conflict with libc new e060cf2 unionfs-fuse: Fix build with musl new a764ec3 xfsdump: Fix build with musl new 1c5c8e8 nmon: Upgrade to 16g new 5d80364 metacity: Fix build with musl new 9d50570 monkey: Link in libexecinfo on musl new fcee6e9 aufs-util: Upgrade to 4.4 release The 6 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: ...1-unionfs-Define-IOCPARM_LEN-if-undefined.patch | 62 +++ .../unionfs-fuse/unionfs-fuse_2.0.bb | 3 +- .../recipes-utils/aufs-util/aufs-util/aufs_type.h | 419 --------------------- .../recipes-utils/aufs-util/aufs-util_git.bb | 17 +- .../files/0001-Include-fcntl.h-for-O_EXCL.patch | 28 ++ .../0002-Replace-__uint32_t-with-uint32_t.patch | 122 ++++++ .../0003-replace-use-of-SIGCLD-with-SIGCHLD.patch | 40 ++ .../files/0004-include-limit.h-for-PATH_MAX.patch | 29 ++ ...-types.h-for-u_int32_t-in-attr-attributes.patch | 27 ++ .../recipes-utils/xfsdump/xfsdump_3.1.6.bb | 9 +- ...1-ui-Replace-__USE_XOPEN-with-_GNU_SOURCE.patch | 31 ++ .../recipes-gnome/metacity/metacity_2.34.13.bb | 5 +- .../0001-lmon16g.c-Adjust-system-headers.patch | 46 +++ .../nmon/{nmon_13g.bb => nmon_16g.bb} | 14 +- .../recipes-httpd/monkey/monkey_1.5.6.bb | 8 + 15 files changed, 424 insertions(+), 436 deletions(-) create mode 100644 meta-filesystems/recipes-filesystems/unionfs-fuse/files/0001-unionfs-Define-IOCPARM_LEN-if-undefined.patch delete mode 100644 meta-filesystems/recipes-utils/aufs-util/aufs-util/aufs_type.h create mode 100644 meta-filesystems/recipes-utils/xfsdump/files/0001-Include-fcntl.h-for-O_EXCL.patch create mode 100644 meta-filesystems/recipes-utils/xfsdump/files/0002-Replace-__uint32_t-with-uint32_t.patch create mode 100644 meta-filesystems/recipes-utils/xfsdump/files/0003-replace-use-of-SIGCLD-with-SIGCHLD.patch create mode 100644 meta-filesystems/recipes-utils/xfsdump/files/0004-include-limit.h-for-PATH_MAX.patch create mode 100644 meta-filesystems/recipes-utils/xfsdump/files/0005-include-sys-types.h-for-u_int32_t-in-attr-attributes.patch create mode 100644 meta-gnome/recipes-gnome/metacity/metacity/0001-ui-Replace-__USE_XOPEN-with-_GNU_SOURCE.patch create mode 100644 meta-oe/recipes-support/nmon/nmon/0001-lmon16g.c-Adjust-system-headers.patch rename meta-oe/recipes-support/nmon/{nmon_13g.bb => nmon_16g.bb} (62%) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:54:10 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:54:10 +0000 Subject: [oe-commits] [meta-openembedded] 04/06: metacity: Fix build with musl In-Reply-To: <150006924622.12058.14944717806653143624@git.openembedded.org> References: <150006924622.12058.14944717806653143624@git.openembedded.org> Message-ID: <20170714215406.B7E032334B3@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 5d80364b2e607168934d16250f1a71ed61c16a73 Author: Khem Raj AuthorDate: Fri Jul 14 11:34:54 2017 -0700 metacity: Fix build with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...1-ui-Replace-__USE_XOPEN-with-_GNU_SOURCE.patch | 31 ++++++++++++++++++++++ .../recipes-gnome/metacity/metacity_2.34.13.bb | 5 +++- 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/meta-gnome/recipes-gnome/metacity/metacity/0001-ui-Replace-__USE_XOPEN-with-_GNU_SOURCE.patch b/meta-gnome/recipes-gnome/metacity/metacity/0001-ui-Replace-__USE_XOPEN-with-_GNU_SOURCE.patch new file mode 100644 index 0000000..3d2b9c7 --- /dev/null +++ b/meta-gnome/recipes-gnome/metacity/metacity/0001-ui-Replace-__USE_XOPEN-with-_GNU_SOURCE.patch @@ -0,0 +1,31 @@ +From 57493928f16c6bfd054c063c511201e295128539 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 14 Jul 2017 10:26:31 -0700 +Subject: [PATCH] ui: Replace __USE_XOPEN with _GNU_SOURCE + +Defining _GNU_SOURCE defines _XOPEN_SOURCE too which inturn defined __USE_XOPEN +which is internal define for glibc + +additionally it becomes portable across musl and glibc + +Signed-off-by: Khem Raj +--- + src/ui/theme.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/ui/theme.c b/src/ui/theme.c +index 84b57a0..6209b51 100644 +--- a/src/ui/theme.c ++++ b/src/ui/theme.c +@@ -60,7 +60,7 @@ + #include + #include + #include +-#define __USE_XOPEN ++#define _GNU_SOURCE + #include + + #define GDK_COLOR_RGBA(color) \ +-- +2.13.3 + diff --git a/meta-gnome/recipes-gnome/metacity/metacity_2.34.13.bb b/meta-gnome/recipes-gnome/metacity/metacity_2.34.13.bb index 662c90d..537414d 100644 --- a/meta-gnome/recipes-gnome/metacity/metacity_2.34.13.bb +++ b/meta-gnome/recipes-gnome/metacity/metacity_2.34.13.bb @@ -13,7 +13,10 @@ REQUIRED_DISTRO_FEATURES = "x11" GNOME_COMPRESS_TYPE = "xz" -SRC_URI += "file://remove-yelp-help-rules-var.patch" +SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@gnome_verdir("${PV}")}/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive \ + file://remove-yelp-help-rules-var.patch \ + file://0001-ui-Replace-__USE_XOPEN-with-_GNU_SOURCE.patch \ + " SRC_URI[archive.md5sum] = "6d89b71672d4fa49fc87f83d610d0ef6" SRC_URI[archive.sha256sum] = "8cf4dbf0da0a6f36357ce7db7f829ec685908a7792453c662fb8184572b91075" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:54:08 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:54:08 +0000 Subject: [oe-commits] [meta-openembedded] 02/06: xfsdump: Fix build with musl In-Reply-To: <150006924622.12058.14944717806653143624@git.openembedded.org> References: <150006924622.12058.14944717806653143624@git.openembedded.org> Message-ID: <20170714215406.A0D702334A2@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit a764ec3759714fe6f7c920e2964ba67ee7584698 Author: Khem Raj AuthorDate: Fri Jul 14 11:34:52 2017 -0700 xfsdump: Fix build with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../files/0001-Include-fcntl.h-for-O_EXCL.patch | 28 +++++ .../0002-Replace-__uint32_t-with-uint32_t.patch | 122 +++++++++++++++++++++ .../0003-replace-use-of-SIGCLD-with-SIGCHLD.patch | 40 +++++++ .../files/0004-include-limit.h-for-PATH_MAX.patch | 29 +++++ ...-types.h-for-u_int32_t-in-attr-attributes.patch | 27 +++++ .../recipes-utils/xfsdump/xfsdump_3.1.6.bb | 9 +- 6 files changed, 253 insertions(+), 2 deletions(-) diff --git a/meta-filesystems/recipes-utils/xfsdump/files/0001-Include-fcntl.h-for-O_EXCL.patch b/meta-filesystems/recipes-utils/xfsdump/files/0001-Include-fcntl.h-for-O_EXCL.patch new file mode 100644 index 0000000..660468d --- /dev/null +++ b/meta-filesystems/recipes-utils/xfsdump/files/0001-Include-fcntl.h-for-O_EXCL.patch @@ -0,0 +1,28 @@ +From 8cf48da5f645dd7bbb1ccbeab5bb0964f40f17f7 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 13 Jul 2017 23:18:47 -0700 +Subject: [PATCH 1/5] Include fcntl.h for O_EXCL + +Fix +error: 'O_CREAT' undeclared (first use in this function) + +Signed-off-by: Khem Raj +--- + invutil/invidx.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/invutil/invidx.c b/invutil/invidx.c +index 67efdf7..325a9a1 100644 +--- a/invutil/invidx.c ++++ b/invutil/invidx.c +@@ -27,6 +27,7 @@ + #include + #include + #include ++#include + + #include "types.h" + #include "mlog.h" +-- +2.13.2 + diff --git a/meta-filesystems/recipes-utils/xfsdump/files/0002-Replace-__uint32_t-with-uint32_t.patch b/meta-filesystems/recipes-utils/xfsdump/files/0002-Replace-__uint32_t-with-uint32_t.patch new file mode 100644 index 0000000..ed3e0a9 --- /dev/null +++ b/meta-filesystems/recipes-utils/xfsdump/files/0002-Replace-__uint32_t-with-uint32_t.patch @@ -0,0 +1,122 @@ +From f76d2142905f0e5bd830d5d576c235af1171c6ac Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 13 Jul 2017 23:23:31 -0700 +Subject: [PATCH 2/5] Replace __uint32_t with uint32_t + +Signed-off-by: Khem Raj +--- + common/content_inode.h | 4 ++-- + doc/xfsdump.html | 8 ++++---- + inventory/inv_oref.h | 2 +- + inventory/inv_priv.h | 4 ++-- + inventory/inventory.h | 2 +- + 5 files changed, 10 insertions(+), 10 deletions(-) + +diff --git a/common/content_inode.h b/common/content_inode.h +index a69a9a0..6936e05 100644 +--- a/common/content_inode.h ++++ b/common/content_inode.h +@@ -191,10 +191,10 @@ typedef struct bstat bstat_t; + * and using two 16bit values to hold new 32bit projid was choosen + * to retain compatibility with "old" filesystems). + */ +-static inline __uint32_t ++static inline uint32_t + bstat_projid(struct bstat *bs) + { +- return (__uint32_t)bs->bs_projid_hi << 16 | bs->bs_projid_lo; ++ return (uint32_t)bs->bs_projid_hi << 16 | bs->bs_projid_lo; + } + + +diff --git a/doc/xfsdump.html b/doc/xfsdump.html +index 9c6722e..f85128f 100644 +--- a/doc/xfsdump.html ++++ b/doc/xfsdump.html +@@ -1935,7 +1935,7 @@ The files are constructed like so: +
+ typedef struct invt_counter {
+     INVT_COUNTER_FIELDS
+-        __uint32_t    ic_vernum;/* on disk version number for posterity */\
++        uint32_t    ic_vernum;/* on disk version number for posterity */\
+         u_int         ic_curnum;/* number of sessions/invindices recorded \
+                                    so far */                              \
+         u_int         ic_maxnum;/* maximum number of sessions/inv_indices \
+@@ -1975,7 +1975,7 @@ typedef struct invt_fstab {
+ 
+ typedef struct invt_counter {
+     INVT_COUNTER_FIELDS
+-        __uint32_t    ic_vernum;/* on disk version number for posterity */\
++        uint32_t    ic_vernum;/* on disk version number for posterity */\
+         u_int         ic_curnum;/* number of sessions/invindices recorded \
+                                    so far */                              \
+         u_int         ic_maxnum;/* maximum number of sessions/inv_indices \
+@@ -2012,7 +2012,7 @@ typedef struct invt_entry {
+ 
+ typedef struct invt_sescounter {
+     INVT_COUNTER_FIELDS
+-        __uint32_t    ic_vernum;/* on disk version number for posterity */\
++        uint32_t    ic_vernum;/* on disk version number for posterity */\
+         u_int         ic_curnum;/* number of sessions/invindices recorded \
+                                    so far */                              \
+         u_int         ic_maxnum;/* maximum number of sessions/inv_indices \
+@@ -2034,7 +2034,7 @@ typedef struct invt_seshdr {
+     off64_t    sh_streams_off; /* offset to start of the set of
+                                   stream hdrs */
+     time_t     sh_time;        /* time of the dump */
+-    __uint32_t sh_flag;        /* for misc flags */
++    uint32_t sh_flag;        /* for misc flags */
+     u_char     sh_level;       /* dump level */
+     u_char     sh_pruned;      /* pruned by invutil flag */
+     char       sh_padding[22];
+diff --git a/inventory/inv_oref.h b/inventory/inv_oref.h
+index e16684d..38303a4 100644
+--- a/inventory/inv_oref.h
++++ b/inventory/inv_oref.h
+@@ -46,7 +46,7 @@
+ 
+ 
+ 
+-typedef __uint32_t	invt_objtype_t;
++typedef uint32_t	invt_objtype_t;
+ 
+ #define INVT_LOCKED		0x0001
+ 
+diff --git a/inventory/inv_priv.h b/inventory/inv_priv.h
+index 1690271..364ffbc 100644
+--- a/inventory/inv_priv.h
++++ b/inventory/inv_priv.h
+@@ -120,7 +120,7 @@ typedef struct invt_seshdr {
+ 	off64_t		sh_streams_off; /* offset to start of the set of 
+ 					   stream hdrs */
+ 	time32_t	sh_time;        /* time of the dump */
+-	__uint32_t	sh_flag;        /* for misc flags */
++	uint32_t	sh_flag;        /* for misc flags */
+ 	u_char		sh_level;       /* dump level */
+ 	u_char		sh_pruned;      /* pruned by invutil flag */
+ 	char		sh_padding[22];
+@@ -184,7 +184,7 @@ typedef struct invt_entry {
+ 
+ /* Cheap Inheritance, and an attempt to avoid a nested type */
+ #define INVT_COUNTER_FIELDS  \
+-        __uint32_t    ic_vernum;/* on disk version number for posterity */\
++        uint32_t    ic_vernum;/* on disk version number for posterity */\
+ 	uint	      ic_curnum;/* number of sessions/invindices recorded \
+ 				   so far */				  \
+ 	uint	      ic_maxnum;/* maximum number of sessions/inv_indices \
+diff --git a/inventory/inventory.h b/inventory/inventory.h
+index 134b9ba..c1d7403 100644
+--- a/inventory/inventory.h
++++ b/inventory/inventory.h
+@@ -43,7 +43,7 @@
+ /* length of labels, mntpts, etc */
+ #define INV_STRLEN              GLOBAL_HDR_STRING_SZ
+ 
+-typedef __uint32_t		inv_version_t;
++typedef uint32_t		inv_version_t;
+ 
+ /* This is the general inventory version. 
+  */
+-- 
+2.13.2
+
diff --git a/meta-filesystems/recipes-utils/xfsdump/files/0003-replace-use-of-SIGCLD-with-SIGCHLD.patch b/meta-filesystems/recipes-utils/xfsdump/files/0003-replace-use-of-SIGCLD-with-SIGCHLD.patch
new file mode 100644
index 0000000..31303d8
--- /dev/null
+++ b/meta-filesystems/recipes-utils/xfsdump/files/0003-replace-use-of-SIGCLD-with-SIGCHLD.patch
@@ -0,0 +1,40 @@
+From fcc0cf15a309947103a0695b8a1f4865b820eb5c Mon Sep 17 00:00:00 2001
+From: Khem Raj 
+Date: Thu, 13 Jul 2017 23:26:03 -0700
+Subject: [PATCH 3/5] replace use of SIGCLD with SIGCHLD
+
+Signed-off-by: Khem Raj 
+---
+ common/main.c    | 2 +-
+ doc/xfsdump.html | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/common/main.c b/common/main.c
+index 3848499..faa66ee 100644
+--- a/common/main.c
++++ b/common/main.c
+@@ -2225,7 +2225,7 @@ static sig_printmap_t sig_printmap[ ] = {
+ 	{SIGTERM,	"SIGTERM"},
+ 	{SIGUSR1,	"SIGUSR1"},
+ 	{SIGUSR2,	"SIGUSR2"},
+-	{SIGCLD,	"SIGCLD"},
++	{SIGCHLD,	"SIGCHLD"},
+ 	{SIGPWR,	"SIGPWR"},
+ 	{SIGURG,	"SIGURG"},
+ 	{SIGPOLL,	"SIGPOLL"},
+diff --git a/doc/xfsdump.html b/doc/xfsdump.html
+index f85128f..d96f037 100644
+--- a/doc/xfsdump.html
++++ b/doc/xfsdump.html
+@@ -334,7 +334,7 @@ the ring buffer. It ignores signals and does not terminate until it
+ receives a RING_OP_DIE message. It then exits 0.
+ 

+ The main process sleeps waiting for any of its children to die +-(ie. waiting for a SIGCLD). All children that it cares about (stream ++(ie. waiting for a SIGCHLD). All children that it cares about (stream + managers and ring buffer slaves) are registered through the child + manager abstraction. When a child dies wait status and other info is + stored with its entry in the child manager. main() ignores the deaths +-- +2.13.2 + diff --git a/meta-filesystems/recipes-utils/xfsdump/files/0004-include-limit.h-for-PATH_MAX.patch b/meta-filesystems/recipes-utils/xfsdump/files/0004-include-limit.h-for-PATH_MAX.patch new file mode 100644 index 0000000..62ea15b --- /dev/null +++ b/meta-filesystems/recipes-utils/xfsdump/files/0004-include-limit.h-for-PATH_MAX.patch @@ -0,0 +1,29 @@ +From 98c7d96f0f2c6eddf60aa4a1a08d7d4467645930 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 13 Jul 2017 23:28:10 -0700 +Subject: [PATCH 4/5] include limit.h for PATH_MAX + +fixed +var.c:42:12: error: 'PATH_MAX' undeclared (first use in this function); did you mean 'RAND_MAX'? + char path[PATH_MAX];` + +Signed-off-by: Khem Raj +--- + dump/var.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/dump/var.c b/dump/var.c +index 645caab..8156d37 100644 +--- a/dump/var.c ++++ b/dump/var.c +@@ -16,6 +16,7 @@ + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + ++#include + #include + #include + #include +-- +2.13.2 + diff --git a/meta-filesystems/recipes-utils/xfsdump/files/0005-include-sys-types.h-for-u_int32_t-in-attr-attributes.patch b/meta-filesystems/recipes-utils/xfsdump/files/0005-include-sys-types.h-for-u_int32_t-in-attr-attributes.patch new file mode 100644 index 0000000..fb6e467 --- /dev/null +++ b/meta-filesystems/recipes-utils/xfsdump/files/0005-include-sys-types.h-for-u_int32_t-in-attr-attributes.patch @@ -0,0 +1,27 @@ +From d95f494de1aa8123c74170ffebaed8ea89649da2 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 13 Jul 2017 23:33:44 -0700 +Subject: [PATCH 5/5] include sys/types.h for u_int32_t in attr/attributes.h + +error: unknown type name 'u_int32_t' + +Signed-off-by: Khem Raj +--- + restore/content.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/restore/content.c b/restore/content.c +index 7c4a81f..1d5de1b 100644 +--- a/restore/content.c ++++ b/restore/content.c +@@ -24,6 +24,7 @@ + #include + #include + #include ++#include + #include + #include + #include +-- +2.13.2 + diff --git a/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.6.bb b/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.6.bb index ecc7468..d1033cf 100644 --- a/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.6.bb +++ b/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.6.bb @@ -11,8 +11,13 @@ LIC_FILES_CHKSUM = "file://doc/COPYING;md5=15c832894d10ddd00dfcf57bee490ecc" DEPENDS = "xfsprogs attr" SRC_URI = "ftp://oss.sgi.com/projects/xfs/cmd_tars/${BPN}-${PV}.tar.gz \ - file://remove-install-as-user.patch \ -" + file://remove-install-as-user.patch \ + file://0001-Include-fcntl.h-for-O_EXCL.patch \ + file://0002-Replace-__uint32_t-with-uint32_t.patch \ + file://0003-replace-use-of-SIGCLD-with-SIGCHLD.patch \ + file://0004-include-limit.h-for-PATH_MAX.patch \ + file://0005-include-sys-types.h-for-u_int32_t-in-attr-attributes.patch \ + " SRC_URI[md5sum] = "50353cd4f4b435685955363e6044f4d1" SRC_URI[sha256sum] = "7f78c11ca527477d90e5e62b0778f3ad96f2b71c19173044e9aca9515fff42d0" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:54:07 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:54:07 +0000 Subject: [oe-commits] [meta-openembedded] 01/06: unionfs-fuse: Fix build with musl In-Reply-To: <150006924622.12058.14944717806653143624@git.openembedded.org> References: <150006924622.12058.14944717806653143624@git.openembedded.org> Message-ID: <20170714215406.9432B2334A0@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit e060cf28e5015e756c5f00013fcd0763edaa92b6 Author: Khem Raj AuthorDate: Fri Jul 14 11:34:51 2017 -0700 unionfs-fuse: Fix build with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...1-unionfs-Define-IOCPARM_LEN-if-undefined.patch | 62 ++++++++++++++++++++++ .../unionfs-fuse/unionfs-fuse_2.0.bb | 3 +- 2 files changed, 64 insertions(+), 1 deletion(-) diff --git a/meta-filesystems/recipes-filesystems/unionfs-fuse/files/0001-unionfs-Define-IOCPARM_LEN-if-undefined.patch b/meta-filesystems/recipes-filesystems/unionfs-fuse/files/0001-unionfs-Define-IOCPARM_LEN-if-undefined.patch new file mode 100644 index 0000000..8f991cd --- /dev/null +++ b/meta-filesystems/recipes-filesystems/unionfs-fuse/files/0001-unionfs-Define-IOCPARM_LEN-if-undefined.patch @@ -0,0 +1,62 @@ +From 10411fa8658621822ae394160daffaced4a4cd7f Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 13 Jul 2017 23:07:29 -0700 +Subject: [PATCH] unionfs: Define IOCPARM_LEN if undefined + +musl does not have sysctl.h which defines this +for glibc + +Signed-off-by: Khem Raj +--- + src/unionfs.c | 8 -------- + src/unionfs.h | 15 +++++++++++++++ + 2 files changed, 15 insertions(+), 8 deletions(-) + +diff --git a/src/unionfs.c b/src/unionfs.c +index a34d34e..51684a7 100644 +--- a/src/unionfs.c ++++ b/src/unionfs.c +@@ -21,14 +21,6 @@ + #include "opts.h" + #include "usyslog.h" + +-#ifndef _IOC_SIZE +-#ifdef IOCPARM_LEN +-#define _IOC_SIZE(x) IOCPARM_LEN(x) +-#else +-#error "No mechanism for determining ioctl length found." +-#endif +-#endif +- + static struct fuse_opt unionfs_opts[] = { + FUSE_OPT_KEY("chroot=%s,", KEY_CHROOT), + FUSE_OPT_KEY("cow", KEY_COW), +diff --git a/src/unionfs.h b/src/unionfs.h +index 8f5e0bf..b02de5a 100644 +--- a/src/unionfs.h ++++ b/src/unionfs.h +@@ -17,6 +17,21 @@ + #define FUSE_META_FILE ".fuse_hidden" + #define FUSE_META_LENGTH 12 + ++#ifndef IOCPARM_MASK ++#define IOCPARM_MASK 0x1FFF ++#endif ++#ifndef IOCPARM_LEN ++#define IOCPARM_LEN(a) (((a) >> 16) & IOCPARM_MASK) ++#endif ++ ++#ifndef _IOC_SIZE ++#ifdef IOCPARM_LEN ++#define _IOC_SIZE(x) IOCPARM_LEN(x) ++#else ++#error "No mechanism for determining ioctl length found." ++#endif ++#endif ++ + // file access protection mask + #define S_PROT_MASK (S_ISUID| S_ISGID | S_ISVTX | S_IRWXU | S_IRWXG | S_IRWXO) + +-- +2.13.2 + diff --git a/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_2.0.bb b/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_2.0.bb index b89d8db..6bedf16 100644 --- a/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_2.0.bb +++ b/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_2.0.bb @@ -8,7 +8,8 @@ LIC_FILES_CHKSUM = "file://src/unionfs.c;beginline=3;endline=8;md5=30fa8de70fd8a SRC_URI = "git://github.com/rpodgorny/${BPN}.git;branch=master \ file://0001-support-cross-compiling.patch \ -" + file://0001-unionfs-Define-IOCPARM_LEN-if-undefined.patch \ + " SRCREV = "c8d23a9a75f1a62988593671839e8a168a79f3e5" DEPENDS = "fuse" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:54:09 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:54:09 +0000 Subject: [oe-commits] [meta-openembedded] 03/06: nmon: Upgrade to 16g In-Reply-To: <150006924622.12058.14944717806653143624@git.openembedded.org> References: <150006924622.12058.14944717806653143624@git.openembedded.org> Message-ID: <20170714215406.AFAEF2334A6@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 1c5c8e8f0978f3ee464476e226f33b4a8c925bc4 Author: Khem Raj AuthorDate: Fri Jul 14 11:34:53 2017 -0700 nmon: Upgrade to 16g Fix build with musl while here. Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../0001-lmon16g.c-Adjust-system-headers.patch | 46 ++++++++++++++++++++++ .../nmon/{nmon_13g.bb => nmon_16g.bb} | 14 ++++--- 2 files changed, 54 insertions(+), 6 deletions(-) diff --git a/meta-oe/recipes-support/nmon/nmon/0001-lmon16g.c-Adjust-system-headers.patch b/meta-oe/recipes-support/nmon/nmon/0001-lmon16g.c-Adjust-system-headers.patch new file mode 100644 index 0000000..e8debe5 --- /dev/null +++ b/meta-oe/recipes-support/nmon/nmon/0001-lmon16g.c-Adjust-system-headers.patch @@ -0,0 +1,46 @@ +From d977b5170027926eb97ab9742ddc51d2a5555a34 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 14 Jul 2017 10:06:49 -0700 +Subject: [PATCH] lmon16g.c: Adjust system headers + +fstab.h is unused +errno.h is in /usr/include +defines from sys/cdefs.h is used + +Signed-off-by: Khem Raj +--- + lmon16g.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/lmon16g.c b/lmon16g.c +index cb27e09..d2a11c5 100644 +--- a/lmon16g.c ++++ b/lmon16g.c +@@ -63,7 +63,7 @@ static char *SccsId = "nmon " VERSION; + #include + #include + #include +-#include ++#include + #include + #include + #include +@@ -71,6 +71,7 @@ static char *SccsId = "nmon " VERSION; + #include + #include + #include ++#include + + /* Windows moved here so they can be cleared when the screen mode changes */ + WINDOW *padwelcome = NULL; +@@ -576,7 +577,6 @@ struct procsinfo { + int isroot = 0; + + #include +-#include + #include + #include + #include +-- +2.13.3 + diff --git a/meta-oe/recipes-support/nmon/nmon_13g.bb b/meta-oe/recipes-support/nmon/nmon_16g.bb similarity index 62% rename from meta-oe/recipes-support/nmon/nmon_13g.bb rename to meta-oe/recipes-support/nmon/nmon_16g.bb index 1f75189..6232f86 100644 --- a/meta-oe/recipes-support/nmon/nmon_13g.bb +++ b/meta-oe/recipes-support/nmon/nmon_16g.bb @@ -4,14 +4,14 @@ SECTION = "console/utils" LICENSE = "GPLv3" LIC_FILES_CHKSUM = "file://${WORKDIR}/Documentation.txt;md5=dbb13658cf55d687c4f2ff771a696d4a" DEPENDS = "ncurses" -PR = "r2" +DEPENDS_append_libc-musl = " bsd-headers" -SRC_URI = "${SOURCEFORGE_MIRROR}/nmon/lmon13g.c;name=lmon \ +SRC_URI = "${SOURCEFORGE_MIRROR}/nmon/lmon${PV}.c;name=lmon \ ${SOURCEFORGE_MIRROR}/nmon/Documentation.txt;name=doc \ + file://0001-lmon16g.c-Adjust-system-headers.patch \ " - -SRC_URI[lmon.md5sum] = "b1b8e6c0123ad232394991f2d4f40494" -SRC_URI[lmon.sha256sum] = "456ab2a342b31d1a352d0d940af5962fa65a12ae8757ff73e6e73210832ae8b5" +SRC_URI[lmon.md5sum] = "246ccfc74d5af55d992601fc4d3d4a72" +SRC_URI[lmon.sha256sum] = "da82dd693b503b062854dfe7dbb5d36b347872ab44a4aa05b97e9d577747f688" SRC_URI[doc.md5sum] = "dbb13658cf55d687c4f2ff771a696d4a" SRC_URI[doc.sha256sum] = "1f7f83afe62a7210be5e83cd24157adb854c14599efe0b377a7ecca933869278" @@ -19,8 +19,10 @@ CFLAGS += "-D JFS -D GETUSER -Wall -D LARGEMEM" LDFLAGS += "-ltinfo -lncursesw" ASNEEDED_pn-nmon = "" +S = "${WORKDIR}" + do_compile() { - ${CC} ${CFLAGS} ${LDFLAGS} ${WORKDIR}/lmon13g.c -o nmon + ${CC} ${CFLAGS} ${LDFLAGS} lmon${PV}.c -o nmon } do_install() { -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:54:11 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:54:11 +0000 Subject: [oe-commits] [meta-openembedded] 05/06: monkey: Link in libexecinfo on musl In-Reply-To: <150006924622.12058.14944717806653143624@git.openembedded.org> References: <150006924622.12058.14944717806653143624@git.openembedded.org> Message-ID: <20170714215406.BF61A2334B9@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 9d505709cbd8c93ed0e37b697ddc3b2109ebe4bf Author: Khem Raj AuthorDate: Fri Jul 14 11:34:55 2017 -0700 monkey: Link in libexecinfo on musl Needed for backtrace() APIs Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- meta-webserver/recipes-httpd/monkey/monkey_1.5.6.bb | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/meta-webserver/recipes-httpd/monkey/monkey_1.5.6.bb b/meta-webserver/recipes-httpd/monkey/monkey_1.5.6.bb index be8ed37..02d4040 100644 --- a/meta-webserver/recipes-httpd/monkey/monkey_1.5.6.bb +++ b/meta-webserver/recipes-httpd/monkey/monkey_1.5.6.bb @@ -7,6 +7,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93" SECTION = "net" +DEPENDS_append_libc-musl = " libexecinfo" + SRC_URI = "http://monkey-project.com/releases/1.5/monkey-${PV}.tar.gz \ file://monkey.service \ file://monkey.init" @@ -24,7 +26,13 @@ EXTRA_OECONF = "--plugdir=${libdir}/monkey/ \ --disable-plugins=mbedtls \ --debug \ --malloc-libc" + +EXTRA_OEMAKE += "LIBS='${LIBS}'" + DISABLE_STATIC = "" +CLEANBROKEN = "1" + +LIBS_append_libc-musl = " -lexecinfo" inherit autotools-brokensep pkgconfig update-rc.d systemd -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 14 21:54:12 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 14 Jul 2017 21:54:12 +0000 Subject: [oe-commits] [meta-openembedded] 06/06: aufs-util: Upgrade to 4.4 release In-Reply-To: <150006924622.12058.14944717806653143624@git.openembedded.org> References: <150006924622.12058.14944717806653143624@git.openembedded.org> Message-ID: <20170714215406.C8AF22334C4@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit fcee6e92772e52a06417f5f5b081f62e091a3061 Author: Khem Raj AuthorDate: Fri Jul 14 11:34:56 2017 -0700 aufs-util: Upgrade to 4.4 release - Download aufs_type.h instead of housing a local copy - Build uses paste utility from coreutils-native - Replace hardcoded strip command with STRIP env varible helps in cross compiling Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../recipes-utils/aufs-util/aufs-util/aufs_type.h | 419 --------------------- .../recipes-utils/aufs-util/aufs-util_git.bb | 17 +- 2 files changed, 10 insertions(+), 426 deletions(-) diff --git a/meta-filesystems/recipes-utils/aufs-util/aufs-util/aufs_type.h b/meta-filesystems/recipes-utils/aufs-util/aufs-util/aufs_type.h deleted file mode 100644 index c948033..0000000 --- a/meta-filesystems/recipes-utils/aufs-util/aufs-util/aufs_type.h +++ /dev/null @@ -1,419 +0,0 @@ -/* - * Copyright (C) 2005-2015 Junjiro R. Okajima - * - * This program, aufs is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#ifndef __AUFS_TYPE_H__ -#define __AUFS_TYPE_H__ - -#define AUFS_NAME "aufs" - -#ifdef __KERNEL__ -/* - * define it before including all other headers. - * sched.h may use pr_* macros before defining "current", so define the - * no-current version first, and re-define later. - */ -#define pr_fmt(fmt) AUFS_NAME " %s:%d: " fmt, __func__, __LINE__ -#include -#undef pr_fmt -#define pr_fmt(fmt) \ - AUFS_NAME " %s:%d:%.*s[%d]: " fmt, __func__, __LINE__, \ - (int)sizeof(current->comm), current->comm, current->pid -#else -#include -#include -#endif /* __KERNEL__ */ - -#include - -#define AUFS_VERSION "3.18-20150406" - -/* todo? move this to linux-2.6.19/include/magic.h */ -#define AUFS_SUPER_MAGIC ('a' << 24 | 'u' << 16 | 'f' << 8 | 's') - -/* ---------------------------------------------------------------------- */ - -#ifdef CONFIG_AUFS_BRANCH_MAX_127 -typedef int8_t aufs_bindex_t; -#define AUFS_BRANCH_MAX 127 -#else -typedef int16_t aufs_bindex_t; -#ifdef CONFIG_AUFS_BRANCH_MAX_511 -#define AUFS_BRANCH_MAX 511 -#elif defined(CONFIG_AUFS_BRANCH_MAX_1023) -#define AUFS_BRANCH_MAX 1023 -#elif defined(CONFIG_AUFS_BRANCH_MAX_32767) -#define AUFS_BRANCH_MAX 32767 -#endif -#endif - -#ifdef __KERNEL__ -#ifndef AUFS_BRANCH_MAX -#error unknown CONFIG_AUFS_BRANCH_MAX value -#endif -#endif /* __KERNEL__ */ - -/* ---------------------------------------------------------------------- */ - -#define AUFS_FSTYPE AUFS_NAME - -#define AUFS_ROOT_INO 2 -#define AUFS_FIRST_INO 11 - -#define AUFS_WH_PFX ".wh." -#define AUFS_WH_PFX_LEN ((int)sizeof(AUFS_WH_PFX) - 1) -#define AUFS_WH_TMP_LEN 4 -/* a limit for rmdir/rename a dir and copyup */ -#define AUFS_MAX_NAMELEN (NAME_MAX \ - - AUFS_WH_PFX_LEN * 2 /* doubly whiteouted */\ - - 1 /* dot */\ - - AUFS_WH_TMP_LEN) /* hex */ -#define AUFS_XINO_FNAME "." AUFS_NAME ".xino" -#define AUFS_XINO_DEFPATH "/tmp/" AUFS_XINO_FNAME -#define AUFS_XINO_DEF_SEC 30 /* seconds */ -#define AUFS_XINO_DEF_TRUNC 45 /* percentage */ -#define AUFS_DIRWH_DEF 3 -#define AUFS_RDCACHE_DEF 10 /* seconds */ -#define AUFS_RDCACHE_MAX 3600 /* seconds */ -#define AUFS_RDBLK_DEF 512 /* bytes */ -#define AUFS_RDHASH_DEF 32 -#define AUFS_WKQ_NAME AUFS_NAME "d" -#define AUFS_MFS_DEF_SEC 30 /* seconds */ -#define AUFS_MFS_MAX_SEC 3600 /* seconds */ -#define AUFS_FHSM_CACHE_DEF_SEC 30 /* seconds */ -#define AUFS_PLINK_WARN 50 /* number of plinks in a single bucket */ - -/* pseudo-link maintenace under /proc */ -#define AUFS_PLINK_MAINT_NAME "plink_maint" -#define AUFS_PLINK_MAINT_DIR "fs/" AUFS_NAME -#define AUFS_PLINK_MAINT_PATH AUFS_PLINK_MAINT_DIR "/" AUFS_PLINK_MAINT_NAME - -#define AUFS_DIROPQ_NAME AUFS_WH_PFX ".opq" /* whiteouted doubly */ -#define AUFS_WH_DIROPQ AUFS_WH_PFX AUFS_DIROPQ_NAME - -#define AUFS_BASE_NAME AUFS_WH_PFX AUFS_NAME -#define AUFS_PLINKDIR_NAME AUFS_WH_PFX "plnk" -#define AUFS_ORPHDIR_NAME AUFS_WH_PFX "orph" - -/* doubly whiteouted */ -#define AUFS_WH_BASE AUFS_WH_PFX AUFS_BASE_NAME -#define AUFS_WH_PLINKDIR AUFS_WH_PFX AUFS_PLINKDIR_NAME -#define AUFS_WH_ORPHDIR AUFS_WH_PFX AUFS_ORPHDIR_NAME - -/* branch permissions and attributes */ -#define AUFS_BRPERM_RW "rw" -#define AUFS_BRPERM_RO "ro" -#define AUFS_BRPERM_RR "rr" -#define AUFS_BRATTR_COO_REG "coo_reg" -#define AUFS_BRATTR_COO_ALL "coo_all" -#define AUFS_BRATTR_FHSM "fhsm" -#define AUFS_BRATTR_UNPIN "unpin" -#define AUFS_BRATTR_ICEX "icex" -#define AUFS_BRATTR_ICEX_SEC "icexsec" -#define AUFS_BRATTR_ICEX_SYS "icexsys" -#define AUFS_BRATTR_ICEX_TR "icextr" -#define AUFS_BRATTR_ICEX_USR "icexusr" -#define AUFS_BRATTR_ICEX_OTH "icexoth" -#define AUFS_BRRATTR_WH "wh" -#define AUFS_BRWATTR_NLWH "nolwh" -#define AUFS_BRWATTR_MOO "moo" - -#define AuBrPerm_RW 1 /* writable, hardlinkable wh */ -#define AuBrPerm_RO (1 << 1) /* readonly */ -#define AuBrPerm_RR (1 << 2) /* natively readonly */ -#define AuBrPerm_Mask (AuBrPerm_RW | AuBrPerm_RO | AuBrPerm_RR) - -#define AuBrAttr_COO_REG (1 << 3) /* copy-up on open */ -#define AuBrAttr_COO_ALL (1 << 4) -#define AuBrAttr_COO_Mask (AuBrAttr_COO_REG | AuBrAttr_COO_ALL) - -#define AuBrAttr_FHSM (1 << 5) /* file-based hsm */ -#define AuBrAttr_UNPIN (1 << 6) /* rename-able top dir of - branch. meaningless since - linux-3.18-rc1 */ - -/* ignore error in copying XATTR */ -#define AuBrAttr_ICEX_SEC (1 << 7) -#define AuBrAttr_ICEX_SYS (1 << 8) -#define AuBrAttr_ICEX_TR (1 << 9) -#define AuBrAttr_ICEX_USR (1 << 10) -#define AuBrAttr_ICEX_OTH (1 << 11) -#define AuBrAttr_ICEX (AuBrAttr_ICEX_SEC \ - | AuBrAttr_ICEX_SYS \ - | AuBrAttr_ICEX_TR \ - | AuBrAttr_ICEX_USR \ - | AuBrAttr_ICEX_OTH) - -#define AuBrRAttr_WH (1 << 12) /* whiteout-able */ -#define AuBrRAttr_Mask AuBrRAttr_WH - -#define AuBrWAttr_NoLinkWH (1 << 13) /* un-hardlinkable whiteouts */ -#define AuBrWAttr_MOO (1 << 14) /* move-up on open */ -#define AuBrWAttr_Mask (AuBrWAttr_NoLinkWH | AuBrWAttr_MOO) - -#define AuBrAttr_CMOO_Mask (AuBrAttr_COO_Mask | AuBrWAttr_MOO) - -/* #warning test userspace */ -#ifdef __KERNEL__ -#ifndef CONFIG_AUFS_FHSM -#undef AuBrAttr_FHSM -#define AuBrAttr_FHSM 0 -#endif -#ifndef CONFIG_AUFS_XATTR -#undef AuBrAttr_ICEX -#define AuBrAttr_ICEX 0 -#undef AuBrAttr_ICEX_SEC -#define AuBrAttr_ICEX_SEC 0 -#undef AuBrAttr_ICEX_SYS -#define AuBrAttr_ICEX_SYS 0 -#undef AuBrAttr_ICEX_TR -#define AuBrAttr_ICEX_TR 0 -#undef AuBrAttr_ICEX_USR -#define AuBrAttr_ICEX_USR 0 -#undef AuBrAttr_ICEX_OTH -#define AuBrAttr_ICEX_OTH 0 -#endif -#endif - -/* the longest combination */ -/* AUFS_BRATTR_ICEX and AUFS_BRATTR_ICEX_TR don't affect here */ -#define AuBrPermStrSz sizeof(AUFS_BRPERM_RW \ - "+" AUFS_BRATTR_COO_REG \ - "+" AUFS_BRATTR_FHSM \ - "+" AUFS_BRATTR_UNPIN \ - "+" AUFS_BRATTR_ICEX_SEC \ - "+" AUFS_BRATTR_ICEX_SYS \ - "+" AUFS_BRATTR_ICEX_USR \ - "+" AUFS_BRATTR_ICEX_OTH \ - "+" AUFS_BRWATTR_NLWH) - -typedef struct { - char a[AuBrPermStrSz]; -} au_br_perm_str_t; - -static inline int au_br_writable(int brperm) -{ - return brperm & AuBrPerm_RW; -} - -static inline int au_br_whable(int brperm) -{ - return brperm & (AuBrPerm_RW | AuBrRAttr_WH); -} - -static inline int au_br_wh_linkable(int brperm) -{ - return !(brperm & AuBrWAttr_NoLinkWH); -} - -static inline int au_br_cmoo(int brperm) -{ - return brperm & AuBrAttr_CMOO_Mask; -} - -static inline int au_br_fhsm(int brperm) -{ - return brperm & AuBrAttr_FHSM; -} - -/* ---------------------------------------------------------------------- */ - -/* ioctl */ -enum { - /* readdir in userspace */ - AuCtl_RDU, - AuCtl_RDU_INO, - - AuCtl_WBR_FD, /* pathconf wrapper */ - AuCtl_IBUSY, /* busy inode */ - AuCtl_MVDOWN, /* move-down */ - AuCtl_BR, /* info about branches */ - AuCtl_FHSM_FD /* connection for fhsm */ -}; - -/* borrowed from linux/include/linux/kernel.h */ -#ifndef ALIGN -#define ALIGN(x, a) __ALIGN_MASK(x, (typeof(x))(a)-1) -#define __ALIGN_MASK(x, mask) (((x)+(mask))&~(mask)) -#endif - -/* borrowed from linux/include/linux/compiler-gcc3.h */ -#ifndef __aligned -#define __aligned(x) __attribute__((aligned(x))) -#endif - -#ifdef __KERNEL__ -#ifndef __packed -#define __packed __attribute__((packed)) -#endif -#endif - -struct au_rdu_cookie { - uint64_t h_pos; - int16_t bindex; - uint8_t flags; - uint8_t pad; - uint32_t generation; -} __aligned(8); - -struct au_rdu_ent { - uint64_t ino; - int16_t bindex; - uint8_t type; - uint8_t nlen; - uint8_t wh; - char name[0]; -} __aligned(8); - -static inline int au_rdu_len(int nlen) -{ - /* include the terminating NULL */ - return ALIGN(sizeof(struct au_rdu_ent) + nlen + 1, - sizeof(uint64_t)); -} - -union au_rdu_ent_ul { - struct au_rdu_ent *e; - uint64_t ul; -}; - -enum { - AufsCtlRduV_SZ, - AufsCtlRduV_End -}; - -struct aufs_rdu { - /* input */ - union { - uint64_t sz; /* AuCtl_RDU */ - uint64_t nent; /* AuCtl_RDU_INO */ - }; - union au_rdu_ent_ul ent; - uint16_t verify[AufsCtlRduV_End]; - - /* input/output */ - uint32_t blk; - - /* output */ - union au_rdu_ent_ul tail; - /* number of entries which were added in a single call */ - uint64_t rent; - uint8_t full; - uint8_t shwh; - - struct au_rdu_cookie cookie; -} __aligned(8); - -/* ---------------------------------------------------------------------- */ - -struct aufs_wbr_fd { - uint32_t oflags; - int16_t brid; -} __aligned(8); - -/* ---------------------------------------------------------------------- */ - -struct aufs_ibusy { - uint64_t ino, h_ino; - int16_t bindex; -} __aligned(8); - -/* ---------------------------------------------------------------------- */ - -/* error code for move-down */ -/* the actual message strings are implemented in aufs-util.git */ -enum { - EAU_MVDOWN_OPAQUE = 1, - EAU_MVDOWN_WHITEOUT, - EAU_MVDOWN_UPPER, - EAU_MVDOWN_BOTTOM, - EAU_MVDOWN_NOUPPER, - EAU_MVDOWN_NOLOWERBR, - EAU_Last -}; - -/* flags for move-down */ -#define AUFS_MVDOWN_DMSG 1 -#define AUFS_MVDOWN_OWLOWER (1 << 1) /* overwrite lower */ -#define AUFS_MVDOWN_KUPPER (1 << 2) /* keep upper */ -#define AUFS_MVDOWN_ROLOWER (1 << 3) /* do even if lower is RO */ -#define AUFS_MVDOWN_ROLOWER_R (1 << 4) /* did on lower RO */ -#define AUFS_MVDOWN_ROUPPER (1 << 5) /* do even if upper is RO */ -#define AUFS_MVDOWN_ROUPPER_R (1 << 6) /* did on upper RO */ -#define AUFS_MVDOWN_BRID_UPPER (1 << 7) /* upper brid */ -#define AUFS_MVDOWN_BRID_LOWER (1 << 8) /* lower brid */ -#define AUFS_MVDOWN_FHSM_LOWER (1 << 9) /* find fhsm attr for lower */ -#define AUFS_MVDOWN_STFS (1 << 10) /* req. stfs */ -#define AUFS_MVDOWN_STFS_FAILED (1 << 11) /* output: stfs is unusable */ -#define AUFS_MVDOWN_BOTTOM (1 << 12) /* output: no more lowers */ - -/* index for move-down */ -enum { - AUFS_MVDOWN_UPPER, - AUFS_MVDOWN_LOWER, - AUFS_MVDOWN_NARRAY -}; - -/* - * additional info of move-down - * number of free blocks and inodes. - * subset of struct kstatfs, but smaller and always 64bit. - */ -struct aufs_stfs { - uint64_t f_blocks; - uint64_t f_bavail; - uint64_t f_files; - uint64_t f_ffree; -}; - -struct aufs_stbr { - int16_t brid; /* optional input */ - int16_t bindex; /* output */ - struct aufs_stfs stfs; /* output when AUFS_MVDOWN_STFS set */ -} __aligned(8); - -struct aufs_mvdown { - uint32_t flags; /* input/output */ - struct aufs_stbr stbr[AUFS_MVDOWN_NARRAY]; /* input/output */ - int8_t au_errno; /* output */ -} __aligned(8); - -/* ---------------------------------------------------------------------- */ - -union aufs_brinfo { - /* PATH_MAX may differ between kernel-space and user-space */ - char _spacer[4096]; - struct { - int16_t id; - int perm; - char path[0]; - }; -} __aligned(8); - -/* ---------------------------------------------------------------------- */ - -#define AuCtlType 'A' -#define AUFS_CTL_RDU _IOWR(AuCtlType, AuCtl_RDU, struct aufs_rdu) -#define AUFS_CTL_RDU_INO _IOWR(AuCtlType, AuCtl_RDU_INO, struct aufs_rdu) -#define AUFS_CTL_WBR_FD _IOW(AuCtlType, AuCtl_WBR_FD, \ - struct aufs_wbr_fd) -#define AUFS_CTL_IBUSY _IOWR(AuCtlType, AuCtl_IBUSY, struct aufs_ibusy) -#define AUFS_CTL_MVDOWN _IOWR(AuCtlType, AuCtl_MVDOWN, \ - struct aufs_mvdown) -#define AUFS_CTL_BRINFO _IOW(AuCtlType, AuCtl_BR, union aufs_brinfo) -#define AUFS_CTL_FHSM_FD _IOW(AuCtlType, AuCtl_FHSM_FD, int) - -#endif /* __AUFS_TYPE_H__ */ diff --git a/meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb b/meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb index 1e86775..66f560c 100644 --- a/meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb +++ b/meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb @@ -4,37 +4,40 @@ HOMEPAGE = "http://aufs.sourceforge.net/" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=892f569a555ba9c07a568a7c0c4fa63a" -DEPENDS = "aufs-util-native" +DEPENDS = "coreutils-native aufs-util-native" DEPENDS_class-native = "" -SRCREV = "bdfcc0dcfc6113146e928f85145dbd2cf9b0e080" -SRC_URI = "git://git.code.sf.net/p/aufs/aufs-util;protocol=git;branch=aufs3.18 \ +SRCREV = "89afb1806c3d2eed8db2666ae254b77518ae3ceb" +SRC_URI = "git://git.code.sf.net/p/aufs/aufs-util;protocol=git;branch=aufs4.4 \ + https://raw.githubusercontent.com/sfjro/aufs4-linux/aufs4.4/include/uapi/linux/aufs_type.h;name=aufs_type \ file://aufs-util-don-t-strip-executables.patch \ file://aufs-util-add-tool-concept-to-Makefile-for-cross-com.patch \ - file://aufs_type.h \ " +SRC_URI[aufs_type.md5sum] = "f7b4a255dcb55fe7b0967f5f59b44f19" +SRC_URI[aufs_type.sha256sum] = "85bc8e4c1a94a7d526c382e4b047b4256cab8c4a65fc0396291707ad9a327a18" -PV = "3.14+git${SRCPV}" +PV = "4.4+git${SRCPV}" S = "${WORKDIR}/git" export HOSTCC = "${BUILD_CC}" - do_configure_prepend() { # Replace sbin,bin paths with bitbake environment sed -i -e 's;install_sbin: Tgt = ${DESTDIR}/sbin;install_sbin: Tgt = ${DESTDIR}/${base_sbindir};' \ -e 's;install_ubin: Tgt = ${DESTDIR}/usr/sbin;install_sbin: Tgt = ${DESTDIR}/${bindir};' \ ${S}/Makefile + sed -i -e 's;strip -R;${STRIP} -R;' ${S}/libau/Makefile } do_configure_append () { install -d ${S}/include/linux/ cp ${WORKDIR}/aufs_type.h ${S}/include/linux/ + sed -i -e 's;__user;;' ${S}/include/linux/aufs_type.h } do_configure_append_class-target () { for i in ver c2sh c2tmac; do - cp ${STAGING_BINDIR_NATIVE}/aufs-util-*/$i ${B} + cp ${STAGING_BINDIR_NATIVE}/aufs-util-${PV}/$i ${B} done } -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 10:32:43 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 10:32:43 +0000 Subject: [oe-commits] [meta-openembedded] 02/08: metacity: Fix build with musl by defining _GNU_SOURCE In-Reply-To: <150028756113.31954.9336888341871038455@git.openembedded.org> References: <150028756113.31954.9336888341871038455@git.openembedded.org> Message-ID: <20170717103241.6EB79233539@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit bbac8d624c1309410e447e09758202368e686211 Author: Khem Raj AuthorDate: Fri Jul 14 18:55:37 2017 -0700 metacity: Fix build with musl by defining _GNU_SOURCE Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../metacity/0001-ui-Define-_GNU_SOURCE.patch | 27 ++++++++++++++++++++++ .../recipes-gnome/metacity/metacity_2.34.13.bb | 5 +++- 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/meta-gnome/recipes-gnome/metacity/metacity/0001-ui-Define-_GNU_SOURCE.patch b/meta-gnome/recipes-gnome/metacity/metacity/0001-ui-Define-_GNU_SOURCE.patch new file mode 100644 index 0000000..539d756 --- /dev/null +++ b/meta-gnome/recipes-gnome/metacity/metacity/0001-ui-Define-_GNU_SOURCE.patch @@ -0,0 +1,27 @@ +From e7fd072f0df968f342878b77098e97ff07ed28d7 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 14 Jul 2017 10:26:31 -0700 +Subject: [PATCH] ui: Define _GNU_SOURCE + +it becomes portable across musl and glibc + +Signed-off-by: Khem Raj +--- + src/ui/theme.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/ui/theme.c b/src/ui/theme.c +index 84b57a0..c7eafc8 100644 +--- a/src/ui/theme.c ++++ b/src/ui/theme.c +@@ -60,6 +60,7 @@ + #include + #include + #include ++#define _GNU_SOURCE + #define __USE_XOPEN + #include + +-- +2.13.3 + diff --git a/meta-gnome/recipes-gnome/metacity/metacity_2.34.13.bb b/meta-gnome/recipes-gnome/metacity/metacity_2.34.13.bb index 662c90d..370de70 100644 --- a/meta-gnome/recipes-gnome/metacity/metacity_2.34.13.bb +++ b/meta-gnome/recipes-gnome/metacity/metacity_2.34.13.bb @@ -13,7 +13,10 @@ REQUIRED_DISTRO_FEATURES = "x11" GNOME_COMPRESS_TYPE = "xz" -SRC_URI += "file://remove-yelp-help-rules-var.patch" +SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@gnome_verdir("${PV}")}/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive \ + file://remove-yelp-help-rules-var.patch \ + file://0001-ui-Define-_GNU_SOURCE.patch \ + " SRC_URI[archive.md5sum] = "6d89b71672d4fa49fc87f83d610d0ef6" SRC_URI[archive.sha256sum] = "8cf4dbf0da0a6f36357ce7db7f829ec685908a7792453c662fb8184572b91075" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 10:32:44 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 10:32:44 +0000 Subject: [oe-commits] [meta-openembedded] 03/08: monkey: Link in libexecinfo on musl In-Reply-To: <150028756113.31954.9336888341871038455@git.openembedded.org> References: <150028756113.31954.9336888341871038455@git.openembedded.org> Message-ID: <20170717103241.7539723353A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit ba8487634594c6a82585781e867e01af355cc00f Author: Khem Raj AuthorDate: Fri Jul 14 18:55:38 2017 -0700 monkey: Link in libexecinfo on musl Needed for backtrace() APIs Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...-configure-Respect-LIBS-variable-from-env.patch | 29 ++++++++++++++++++++++ .../recipes-httpd/monkey/monkey_1.5.6.bb | 9 +++++++ 2 files changed, 38 insertions(+) diff --git a/meta-webserver/recipes-httpd/monkey/files/0001-configure-Respect-LIBS-variable-from-env.patch b/meta-webserver/recipes-httpd/monkey/files/0001-configure-Respect-LIBS-variable-from-env.patch new file mode 100644 index 0000000..7a22951 --- /dev/null +++ b/meta-webserver/recipes-httpd/monkey/files/0001-configure-Respect-LIBS-variable-from-env.patch @@ -0,0 +1,29 @@ +From b0526a9b5325bd4758dad8d14efd85c98ef2ebff Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 14 Jul 2017 18:25:23 -0700 +Subject: [PATCH] configure: Respect LIBS variable from env + +For musl we need to pass -lexecinfo from env +this change accomodates that + +Signed-off-by: Khem Raj +--- + configure | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure b/configure +index 4286c34..f1c65db 100755 +--- a/configure ++++ b/configure +@@ -620,7 +620,7 @@ LIBDEFS = -DSHAREDLIB -fPIC \$(DEFS) + INCDIR = ./include + LDFLAGS = $LDFLAGS + DESTDIR = ../bin/monkey +-LIBS = -ldl $libs ++LIBS = -ldl $libs ${LIBS} + OBJ = monkey.o mk_method.o mk_mimetype.o mk_vhost.o mk_request.o \\ + mk_header.o mk_config.o mk_signals.o \\ + mk_user.o mk_utils.o mk_epoll.o mk_scheduler.o \\ +-- +2.13.3 + diff --git a/meta-webserver/recipes-httpd/monkey/monkey_1.5.6.bb b/meta-webserver/recipes-httpd/monkey/monkey_1.5.6.bb index be8ed37..97dc276 100644 --- a/meta-webserver/recipes-httpd/monkey/monkey_1.5.6.bb +++ b/meta-webserver/recipes-httpd/monkey/monkey_1.5.6.bb @@ -7,7 +7,10 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93" SECTION = "net" +DEPENDS_append_libc-musl = " libexecinfo" + SRC_URI = "http://monkey-project.com/releases/1.5/monkey-${PV}.tar.gz \ + file://0001-configure-Respect-LIBS-variable-from-env.patch \ file://monkey.service \ file://monkey.init" @@ -24,7 +27,13 @@ EXTRA_OECONF = "--plugdir=${libdir}/monkey/ \ --disable-plugins=mbedtls \ --debug \ --malloc-libc" + +do_configure_prepend_libc-musl() { + export LIBS="-lexecinfo" +} + DISABLE_STATIC = "" +CLEANBROKEN = "1" inherit autotools-brokensep pkgconfig update-rc.d systemd -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 10:32:45 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 10:32:45 +0000 Subject: [oe-commits] [meta-openembedded] 04/08: aufs-util: Upgrade to 4.4 release In-Reply-To: <150028756113.31954.9336888341871038455@git.openembedded.org> References: <150028756113.31954.9336888341871038455@git.openembedded.org> Message-ID: <20170717103241.7C31423353B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit fdb7abcb2b6cbad34f6fd915574b06b4d11dde19 Author: Khem Raj AuthorDate: Fri Jul 14 11:34:56 2017 -0700 aufs-util: Upgrade to 4.4 release - Download aufs_type.h instead of housing a local copy - Build uses paste utility from coreutils-native - Replace hardcoded strip command with STRIP env varible helps in cross compiling Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../recipes-utils/aufs-util/aufs-util/aufs_type.h | 419 --------------------- .../recipes-utils/aufs-util/aufs-util_git.bb | 17 +- 2 files changed, 10 insertions(+), 426 deletions(-) diff --git a/meta-filesystems/recipes-utils/aufs-util/aufs-util/aufs_type.h b/meta-filesystems/recipes-utils/aufs-util/aufs-util/aufs_type.h deleted file mode 100644 index c948033..0000000 --- a/meta-filesystems/recipes-utils/aufs-util/aufs-util/aufs_type.h +++ /dev/null @@ -1,419 +0,0 @@ -/* - * Copyright (C) 2005-2015 Junjiro R. Okajima - * - * This program, aufs is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#ifndef __AUFS_TYPE_H__ -#define __AUFS_TYPE_H__ - -#define AUFS_NAME "aufs" - -#ifdef __KERNEL__ -/* - * define it before including all other headers. - * sched.h may use pr_* macros before defining "current", so define the - * no-current version first, and re-define later. - */ -#define pr_fmt(fmt) AUFS_NAME " %s:%d: " fmt, __func__, __LINE__ -#include -#undef pr_fmt -#define pr_fmt(fmt) \ - AUFS_NAME " %s:%d:%.*s[%d]: " fmt, __func__, __LINE__, \ - (int)sizeof(current->comm), current->comm, current->pid -#else -#include -#include -#endif /* __KERNEL__ */ - -#include - -#define AUFS_VERSION "3.18-20150406" - -/* todo? move this to linux-2.6.19/include/magic.h */ -#define AUFS_SUPER_MAGIC ('a' << 24 | 'u' << 16 | 'f' << 8 | 's') - -/* ---------------------------------------------------------------------- */ - -#ifdef CONFIG_AUFS_BRANCH_MAX_127 -typedef int8_t aufs_bindex_t; -#define AUFS_BRANCH_MAX 127 -#else -typedef int16_t aufs_bindex_t; -#ifdef CONFIG_AUFS_BRANCH_MAX_511 -#define AUFS_BRANCH_MAX 511 -#elif defined(CONFIG_AUFS_BRANCH_MAX_1023) -#define AUFS_BRANCH_MAX 1023 -#elif defined(CONFIG_AUFS_BRANCH_MAX_32767) -#define AUFS_BRANCH_MAX 32767 -#endif -#endif - -#ifdef __KERNEL__ -#ifndef AUFS_BRANCH_MAX -#error unknown CONFIG_AUFS_BRANCH_MAX value -#endif -#endif /* __KERNEL__ */ - -/* ---------------------------------------------------------------------- */ - -#define AUFS_FSTYPE AUFS_NAME - -#define AUFS_ROOT_INO 2 -#define AUFS_FIRST_INO 11 - -#define AUFS_WH_PFX ".wh." -#define AUFS_WH_PFX_LEN ((int)sizeof(AUFS_WH_PFX) - 1) -#define AUFS_WH_TMP_LEN 4 -/* a limit for rmdir/rename a dir and copyup */ -#define AUFS_MAX_NAMELEN (NAME_MAX \ - - AUFS_WH_PFX_LEN * 2 /* doubly whiteouted */\ - - 1 /* dot */\ - - AUFS_WH_TMP_LEN) /* hex */ -#define AUFS_XINO_FNAME "." AUFS_NAME ".xino" -#define AUFS_XINO_DEFPATH "/tmp/" AUFS_XINO_FNAME -#define AUFS_XINO_DEF_SEC 30 /* seconds */ -#define AUFS_XINO_DEF_TRUNC 45 /* percentage */ -#define AUFS_DIRWH_DEF 3 -#define AUFS_RDCACHE_DEF 10 /* seconds */ -#define AUFS_RDCACHE_MAX 3600 /* seconds */ -#define AUFS_RDBLK_DEF 512 /* bytes */ -#define AUFS_RDHASH_DEF 32 -#define AUFS_WKQ_NAME AUFS_NAME "d" -#define AUFS_MFS_DEF_SEC 30 /* seconds */ -#define AUFS_MFS_MAX_SEC 3600 /* seconds */ -#define AUFS_FHSM_CACHE_DEF_SEC 30 /* seconds */ -#define AUFS_PLINK_WARN 50 /* number of plinks in a single bucket */ - -/* pseudo-link maintenace under /proc */ -#define AUFS_PLINK_MAINT_NAME "plink_maint" -#define AUFS_PLINK_MAINT_DIR "fs/" AUFS_NAME -#define AUFS_PLINK_MAINT_PATH AUFS_PLINK_MAINT_DIR "/" AUFS_PLINK_MAINT_NAME - -#define AUFS_DIROPQ_NAME AUFS_WH_PFX ".opq" /* whiteouted doubly */ -#define AUFS_WH_DIROPQ AUFS_WH_PFX AUFS_DIROPQ_NAME - -#define AUFS_BASE_NAME AUFS_WH_PFX AUFS_NAME -#define AUFS_PLINKDIR_NAME AUFS_WH_PFX "plnk" -#define AUFS_ORPHDIR_NAME AUFS_WH_PFX "orph" - -/* doubly whiteouted */ -#define AUFS_WH_BASE AUFS_WH_PFX AUFS_BASE_NAME -#define AUFS_WH_PLINKDIR AUFS_WH_PFX AUFS_PLINKDIR_NAME -#define AUFS_WH_ORPHDIR AUFS_WH_PFX AUFS_ORPHDIR_NAME - -/* branch permissions and attributes */ -#define AUFS_BRPERM_RW "rw" -#define AUFS_BRPERM_RO "ro" -#define AUFS_BRPERM_RR "rr" -#define AUFS_BRATTR_COO_REG "coo_reg" -#define AUFS_BRATTR_COO_ALL "coo_all" -#define AUFS_BRATTR_FHSM "fhsm" -#define AUFS_BRATTR_UNPIN "unpin" -#define AUFS_BRATTR_ICEX "icex" -#define AUFS_BRATTR_ICEX_SEC "icexsec" -#define AUFS_BRATTR_ICEX_SYS "icexsys" -#define AUFS_BRATTR_ICEX_TR "icextr" -#define AUFS_BRATTR_ICEX_USR "icexusr" -#define AUFS_BRATTR_ICEX_OTH "icexoth" -#define AUFS_BRRATTR_WH "wh" -#define AUFS_BRWATTR_NLWH "nolwh" -#define AUFS_BRWATTR_MOO "moo" - -#define AuBrPerm_RW 1 /* writable, hardlinkable wh */ -#define AuBrPerm_RO (1 << 1) /* readonly */ -#define AuBrPerm_RR (1 << 2) /* natively readonly */ -#define AuBrPerm_Mask (AuBrPerm_RW | AuBrPerm_RO | AuBrPerm_RR) - -#define AuBrAttr_COO_REG (1 << 3) /* copy-up on open */ -#define AuBrAttr_COO_ALL (1 << 4) -#define AuBrAttr_COO_Mask (AuBrAttr_COO_REG | AuBrAttr_COO_ALL) - -#define AuBrAttr_FHSM (1 << 5) /* file-based hsm */ -#define AuBrAttr_UNPIN (1 << 6) /* rename-able top dir of - branch. meaningless since - linux-3.18-rc1 */ - -/* ignore error in copying XATTR */ -#define AuBrAttr_ICEX_SEC (1 << 7) -#define AuBrAttr_ICEX_SYS (1 << 8) -#define AuBrAttr_ICEX_TR (1 << 9) -#define AuBrAttr_ICEX_USR (1 << 10) -#define AuBrAttr_ICEX_OTH (1 << 11) -#define AuBrAttr_ICEX (AuBrAttr_ICEX_SEC \ - | AuBrAttr_ICEX_SYS \ - | AuBrAttr_ICEX_TR \ - | AuBrAttr_ICEX_USR \ - | AuBrAttr_ICEX_OTH) - -#define AuBrRAttr_WH (1 << 12) /* whiteout-able */ -#define AuBrRAttr_Mask AuBrRAttr_WH - -#define AuBrWAttr_NoLinkWH (1 << 13) /* un-hardlinkable whiteouts */ -#define AuBrWAttr_MOO (1 << 14) /* move-up on open */ -#define AuBrWAttr_Mask (AuBrWAttr_NoLinkWH | AuBrWAttr_MOO) - -#define AuBrAttr_CMOO_Mask (AuBrAttr_COO_Mask | AuBrWAttr_MOO) - -/* #warning test userspace */ -#ifdef __KERNEL__ -#ifndef CONFIG_AUFS_FHSM -#undef AuBrAttr_FHSM -#define AuBrAttr_FHSM 0 -#endif -#ifndef CONFIG_AUFS_XATTR -#undef AuBrAttr_ICEX -#define AuBrAttr_ICEX 0 -#undef AuBrAttr_ICEX_SEC -#define AuBrAttr_ICEX_SEC 0 -#undef AuBrAttr_ICEX_SYS -#define AuBrAttr_ICEX_SYS 0 -#undef AuBrAttr_ICEX_TR -#define AuBrAttr_ICEX_TR 0 -#undef AuBrAttr_ICEX_USR -#define AuBrAttr_ICEX_USR 0 -#undef AuBrAttr_ICEX_OTH -#define AuBrAttr_ICEX_OTH 0 -#endif -#endif - -/* the longest combination */ -/* AUFS_BRATTR_ICEX and AUFS_BRATTR_ICEX_TR don't affect here */ -#define AuBrPermStrSz sizeof(AUFS_BRPERM_RW \ - "+" AUFS_BRATTR_COO_REG \ - "+" AUFS_BRATTR_FHSM \ - "+" AUFS_BRATTR_UNPIN \ - "+" AUFS_BRATTR_ICEX_SEC \ - "+" AUFS_BRATTR_ICEX_SYS \ - "+" AUFS_BRATTR_ICEX_USR \ - "+" AUFS_BRATTR_ICEX_OTH \ - "+" AUFS_BRWATTR_NLWH) - -typedef struct { - char a[AuBrPermStrSz]; -} au_br_perm_str_t; - -static inline int au_br_writable(int brperm) -{ - return brperm & AuBrPerm_RW; -} - -static inline int au_br_whable(int brperm) -{ - return brperm & (AuBrPerm_RW | AuBrRAttr_WH); -} - -static inline int au_br_wh_linkable(int brperm) -{ - return !(brperm & AuBrWAttr_NoLinkWH); -} - -static inline int au_br_cmoo(int brperm) -{ - return brperm & AuBrAttr_CMOO_Mask; -} - -static inline int au_br_fhsm(int brperm) -{ - return brperm & AuBrAttr_FHSM; -} - -/* ---------------------------------------------------------------------- */ - -/* ioctl */ -enum { - /* readdir in userspace */ - AuCtl_RDU, - AuCtl_RDU_INO, - - AuCtl_WBR_FD, /* pathconf wrapper */ - AuCtl_IBUSY, /* busy inode */ - AuCtl_MVDOWN, /* move-down */ - AuCtl_BR, /* info about branches */ - AuCtl_FHSM_FD /* connection for fhsm */ -}; - -/* borrowed from linux/include/linux/kernel.h */ -#ifndef ALIGN -#define ALIGN(x, a) __ALIGN_MASK(x, (typeof(x))(a)-1) -#define __ALIGN_MASK(x, mask) (((x)+(mask))&~(mask)) -#endif - -/* borrowed from linux/include/linux/compiler-gcc3.h */ -#ifndef __aligned -#define __aligned(x) __attribute__((aligned(x))) -#endif - -#ifdef __KERNEL__ -#ifndef __packed -#define __packed __attribute__((packed)) -#endif -#endif - -struct au_rdu_cookie { - uint64_t h_pos; - int16_t bindex; - uint8_t flags; - uint8_t pad; - uint32_t generation; -} __aligned(8); - -struct au_rdu_ent { - uint64_t ino; - int16_t bindex; - uint8_t type; - uint8_t nlen; - uint8_t wh; - char name[0]; -} __aligned(8); - -static inline int au_rdu_len(int nlen) -{ - /* include the terminating NULL */ - return ALIGN(sizeof(struct au_rdu_ent) + nlen + 1, - sizeof(uint64_t)); -} - -union au_rdu_ent_ul { - struct au_rdu_ent *e; - uint64_t ul; -}; - -enum { - AufsCtlRduV_SZ, - AufsCtlRduV_End -}; - -struct aufs_rdu { - /* input */ - union { - uint64_t sz; /* AuCtl_RDU */ - uint64_t nent; /* AuCtl_RDU_INO */ - }; - union au_rdu_ent_ul ent; - uint16_t verify[AufsCtlRduV_End]; - - /* input/output */ - uint32_t blk; - - /* output */ - union au_rdu_ent_ul tail; - /* number of entries which were added in a single call */ - uint64_t rent; - uint8_t full; - uint8_t shwh; - - struct au_rdu_cookie cookie; -} __aligned(8); - -/* ---------------------------------------------------------------------- */ - -struct aufs_wbr_fd { - uint32_t oflags; - int16_t brid; -} __aligned(8); - -/* ---------------------------------------------------------------------- */ - -struct aufs_ibusy { - uint64_t ino, h_ino; - int16_t bindex; -} __aligned(8); - -/* ---------------------------------------------------------------------- */ - -/* error code for move-down */ -/* the actual message strings are implemented in aufs-util.git */ -enum { - EAU_MVDOWN_OPAQUE = 1, - EAU_MVDOWN_WHITEOUT, - EAU_MVDOWN_UPPER, - EAU_MVDOWN_BOTTOM, - EAU_MVDOWN_NOUPPER, - EAU_MVDOWN_NOLOWERBR, - EAU_Last -}; - -/* flags for move-down */ -#define AUFS_MVDOWN_DMSG 1 -#define AUFS_MVDOWN_OWLOWER (1 << 1) /* overwrite lower */ -#define AUFS_MVDOWN_KUPPER (1 << 2) /* keep upper */ -#define AUFS_MVDOWN_ROLOWER (1 << 3) /* do even if lower is RO */ -#define AUFS_MVDOWN_ROLOWER_R (1 << 4) /* did on lower RO */ -#define AUFS_MVDOWN_ROUPPER (1 << 5) /* do even if upper is RO */ -#define AUFS_MVDOWN_ROUPPER_R (1 << 6) /* did on upper RO */ -#define AUFS_MVDOWN_BRID_UPPER (1 << 7) /* upper brid */ -#define AUFS_MVDOWN_BRID_LOWER (1 << 8) /* lower brid */ -#define AUFS_MVDOWN_FHSM_LOWER (1 << 9) /* find fhsm attr for lower */ -#define AUFS_MVDOWN_STFS (1 << 10) /* req. stfs */ -#define AUFS_MVDOWN_STFS_FAILED (1 << 11) /* output: stfs is unusable */ -#define AUFS_MVDOWN_BOTTOM (1 << 12) /* output: no more lowers */ - -/* index for move-down */ -enum { - AUFS_MVDOWN_UPPER, - AUFS_MVDOWN_LOWER, - AUFS_MVDOWN_NARRAY -}; - -/* - * additional info of move-down - * number of free blocks and inodes. - * subset of struct kstatfs, but smaller and always 64bit. - */ -struct aufs_stfs { - uint64_t f_blocks; - uint64_t f_bavail; - uint64_t f_files; - uint64_t f_ffree; -}; - -struct aufs_stbr { - int16_t brid; /* optional input */ - int16_t bindex; /* output */ - struct aufs_stfs stfs; /* output when AUFS_MVDOWN_STFS set */ -} __aligned(8); - -struct aufs_mvdown { - uint32_t flags; /* input/output */ - struct aufs_stbr stbr[AUFS_MVDOWN_NARRAY]; /* input/output */ - int8_t au_errno; /* output */ -} __aligned(8); - -/* ---------------------------------------------------------------------- */ - -union aufs_brinfo { - /* PATH_MAX may differ between kernel-space and user-space */ - char _spacer[4096]; - struct { - int16_t id; - int perm; - char path[0]; - }; -} __aligned(8); - -/* ---------------------------------------------------------------------- */ - -#define AuCtlType 'A' -#define AUFS_CTL_RDU _IOWR(AuCtlType, AuCtl_RDU, struct aufs_rdu) -#define AUFS_CTL_RDU_INO _IOWR(AuCtlType, AuCtl_RDU_INO, struct aufs_rdu) -#define AUFS_CTL_WBR_FD _IOW(AuCtlType, AuCtl_WBR_FD, \ - struct aufs_wbr_fd) -#define AUFS_CTL_IBUSY _IOWR(AuCtlType, AuCtl_IBUSY, struct aufs_ibusy) -#define AUFS_CTL_MVDOWN _IOWR(AuCtlType, AuCtl_MVDOWN, \ - struct aufs_mvdown) -#define AUFS_CTL_BRINFO _IOW(AuCtlType, AuCtl_BR, union aufs_brinfo) -#define AUFS_CTL_FHSM_FD _IOW(AuCtlType, AuCtl_FHSM_FD, int) - -#endif /* __AUFS_TYPE_H__ */ diff --git a/meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb b/meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb index 1e86775..66f560c 100644 --- a/meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb +++ b/meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb @@ -4,37 +4,40 @@ HOMEPAGE = "http://aufs.sourceforge.net/" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=892f569a555ba9c07a568a7c0c4fa63a" -DEPENDS = "aufs-util-native" +DEPENDS = "coreutils-native aufs-util-native" DEPENDS_class-native = "" -SRCREV = "bdfcc0dcfc6113146e928f85145dbd2cf9b0e080" -SRC_URI = "git://git.code.sf.net/p/aufs/aufs-util;protocol=git;branch=aufs3.18 \ +SRCREV = "89afb1806c3d2eed8db2666ae254b77518ae3ceb" +SRC_URI = "git://git.code.sf.net/p/aufs/aufs-util;protocol=git;branch=aufs4.4 \ + https://raw.githubusercontent.com/sfjro/aufs4-linux/aufs4.4/include/uapi/linux/aufs_type.h;name=aufs_type \ file://aufs-util-don-t-strip-executables.patch \ file://aufs-util-add-tool-concept-to-Makefile-for-cross-com.patch \ - file://aufs_type.h \ " +SRC_URI[aufs_type.md5sum] = "f7b4a255dcb55fe7b0967f5f59b44f19" +SRC_URI[aufs_type.sha256sum] = "85bc8e4c1a94a7d526c382e4b047b4256cab8c4a65fc0396291707ad9a327a18" -PV = "3.14+git${SRCPV}" +PV = "4.4+git${SRCPV}" S = "${WORKDIR}/git" export HOSTCC = "${BUILD_CC}" - do_configure_prepend() { # Replace sbin,bin paths with bitbake environment sed -i -e 's;install_sbin: Tgt = ${DESTDIR}/sbin;install_sbin: Tgt = ${DESTDIR}/${base_sbindir};' \ -e 's;install_ubin: Tgt = ${DESTDIR}/usr/sbin;install_sbin: Tgt = ${DESTDIR}/${bindir};' \ ${S}/Makefile + sed -i -e 's;strip -R;${STRIP} -R;' ${S}/libau/Makefile } do_configure_append () { install -d ${S}/include/linux/ cp ${WORKDIR}/aufs_type.h ${S}/include/linux/ + sed -i -e 's;__user;;' ${S}/include/linux/aufs_type.h } do_configure_append_class-target () { for i in ver c2sh c2tmac; do - cp ${STAGING_BINDIR_NATIVE}/aufs-util-*/$i ${B} + cp ${STAGING_BINDIR_NATIVE}/aufs-util-${PV}/$i ${B} done } -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 10:32:41 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 10:32:41 +0000 Subject: [oe-commits] [meta-openembedded] branch master-next updated (fcee6e9 -> 065575a) Message-ID: <150028756113.31954.9336888341871038455@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a change to branch master-next in repository meta-openembedded. discard fcee6e9 aufs-util: Upgrade to 4.4 release discard 9d50570 monkey: Link in libexecinfo on musl discard 5d80364 metacity: Fix build with musl discard 1c5c8e8 nmon: Upgrade to 16g new d0ea52a nmon: Upgrade to 16g new bbac8d6 metacity: Fix build with musl by defining _GNU_SOURCE new ba84876 monkey: Link in libexecinfo on musl new fdb7abc aufs-util: Upgrade to 4.4 release new 872870c uftrace: add recipe new 991233a iperf3: Fix missing stdint.h and do not link with -pg new 77817c3 v4l-utils: Fix build with musl new 065575a pimd: Upgrade to 2.3.2 This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (fcee6e9) \ N -- N -- N refs/heads/master-next (065575a) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 8 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../metacity/0001-ui-Define-_GNU_SOURCE.patch | 27 +++++++++++ ...1-ui-Replace-__USE_XOPEN-with-_GNU_SOURCE.patch | 31 ------------ .../recipes-gnome/metacity/metacity_2.34.13.bb | 2 +- ...ure-Dont-use-uname-to-determine-target-OS.patch | 28 +++++++++++ meta-networking/recipes-support/pimd/pimd_2.1.8.bb | 19 -------- meta-networking/recipes-support/pimd/pimd_2.3.2.bb | 20 ++++++++ ...de-stdint.h-for-various-std-c99-int-types.patch | 39 +++++++++++++++ .../0002-Remove-pg-from-profile_CFLAGS.patch | 31 ++++++++++++ meta-oe/recipes-benchmark/iperf3/iperf3_git.bb | 11 +++-- .../0001-Makefile-Add-LDFLAGS-in-export.patch | 31 ++++++++++++ ...tils-Add-limits-header-to-fix-build-error.patch | 31 ++++++++++++ meta-oe/recipes-devtools/uftrace/uftrace_0.7.bb | 35 ++++++++++++++ ...tl-Define-TEMP_FAILURE_RETRY-if-undefined.patch | 55 ++++++++++++++++++++++ ...t-Link-mc_nextgen_test-with-libargp-if-ne.patch | 28 +++++++++++ .../0003-v4l2-ctl-Do-not-use-getsubopt.patch | 49 +++++++++++++++++++ .../v4l2apps/v4l-utils_1.12.3.bb | 5 +- meta-oe/recipes-support/nmon/nmon_16g.bb | 2 +- ...-configure-Respect-LIBS-variable-from-env.patch | 29 ++++++++++++ .../recipes-httpd/monkey/monkey_1.5.6.bb | 7 +-- 19 files changed, 420 insertions(+), 60 deletions(-) create mode 100644 meta-gnome/recipes-gnome/metacity/metacity/0001-ui-Define-_GNU_SOURCE.patch delete mode 100644 meta-gnome/recipes-gnome/metacity/metacity/0001-ui-Replace-__USE_XOPEN-with-_GNU_SOURCE.patch create mode 100644 meta-networking/recipes-support/pimd/pimd/0001-configure-Dont-use-uname-to-determine-target-OS.patch delete mode 100644 meta-networking/recipes-support/pimd/pimd_2.1.8.bb create mode 100644 meta-networking/recipes-support/pimd/pimd_2.3.2.bb create mode 100644 meta-oe/recipes-benchmark/iperf3/iperf3/0001-include-stdint.h-for-various-std-c99-int-types.patch create mode 100644 meta-oe/recipes-benchmark/iperf3/iperf3/0002-Remove-pg-from-profile_CFLAGS.patch create mode 100644 meta-oe/recipes-devtools/uftrace/uftrace/0001-Makefile-Add-LDFLAGS-in-export.patch create mode 100644 meta-oe/recipes-devtools/uftrace/uftrace/0002-utils-Add-limits-header-to-fix-build-error.patch create mode 100644 meta-oe/recipes-devtools/uftrace/uftrace_0.7.bb create mode 100644 meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-ir-ctl-Define-TEMP_FAILURE_RETRY-if-undefined.patch create mode 100644 meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0002-contrib-test-Link-mc_nextgen_test-with-libargp-if-ne.patch create mode 100644 meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0003-v4l2-ctl-Do-not-use-getsubopt.patch create mode 100644 meta-webserver/recipes-httpd/monkey/files/0001-configure-Respect-LIBS-variable-from-env.patch -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 10:32:42 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 10:32:42 +0000 Subject: [oe-commits] [meta-openembedded] 01/08: nmon: Upgrade to 16g In-Reply-To: <150028756113.31954.9336888341871038455@git.openembedded.org> References: <150028756113.31954.9336888341871038455@git.openembedded.org> Message-ID: <20170717103241.67816233537@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit d0ea52ad3bc57b94fa7b222ee44d6cf90d6c4f83 Author: Khem Raj AuthorDate: Fri Jul 14 18:55:36 2017 -0700 nmon: Upgrade to 16g Fix build with musl while here. link with libm for ceilf API Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../0001-lmon16g.c-Adjust-system-headers.patch | 46 ++++++++++++++++++++++ .../nmon/{nmon_13g.bb => nmon_16g.bb} | 16 ++++---- 2 files changed, 55 insertions(+), 7 deletions(-) diff --git a/meta-oe/recipes-support/nmon/nmon/0001-lmon16g.c-Adjust-system-headers.patch b/meta-oe/recipes-support/nmon/nmon/0001-lmon16g.c-Adjust-system-headers.patch new file mode 100644 index 0000000..e8debe5 --- /dev/null +++ b/meta-oe/recipes-support/nmon/nmon/0001-lmon16g.c-Adjust-system-headers.patch @@ -0,0 +1,46 @@ +From d977b5170027926eb97ab9742ddc51d2a5555a34 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 14 Jul 2017 10:06:49 -0700 +Subject: [PATCH] lmon16g.c: Adjust system headers + +fstab.h is unused +errno.h is in /usr/include +defines from sys/cdefs.h is used + +Signed-off-by: Khem Raj +--- + lmon16g.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/lmon16g.c b/lmon16g.c +index cb27e09..d2a11c5 100644 +--- a/lmon16g.c ++++ b/lmon16g.c +@@ -63,7 +63,7 @@ static char *SccsId = "nmon " VERSION; + #include + #include + #include +-#include ++#include + #include + #include + #include +@@ -71,6 +71,7 @@ static char *SccsId = "nmon " VERSION; + #include + #include + #include ++#include + + /* Windows moved here so they can be cleared when the screen mode changes */ + WINDOW *padwelcome = NULL; +@@ -576,7 +577,6 @@ struct procsinfo { + int isroot = 0; + + #include +-#include + #include + #include + #include +-- +2.13.3 + diff --git a/meta-oe/recipes-support/nmon/nmon_13g.bb b/meta-oe/recipes-support/nmon/nmon_16g.bb similarity index 59% rename from meta-oe/recipes-support/nmon/nmon_13g.bb rename to meta-oe/recipes-support/nmon/nmon_16g.bb index 1f75189..e77faa3 100644 --- a/meta-oe/recipes-support/nmon/nmon_13g.bb +++ b/meta-oe/recipes-support/nmon/nmon_16g.bb @@ -4,23 +4,25 @@ SECTION = "console/utils" LICENSE = "GPLv3" LIC_FILES_CHKSUM = "file://${WORKDIR}/Documentation.txt;md5=dbb13658cf55d687c4f2ff771a696d4a" DEPENDS = "ncurses" -PR = "r2" +DEPENDS_append_libc-musl = " bsd-headers" -SRC_URI = "${SOURCEFORGE_MIRROR}/nmon/lmon13g.c;name=lmon \ +SRC_URI = "${SOURCEFORGE_MIRROR}/nmon/lmon${PV}.c;name=lmon \ ${SOURCEFORGE_MIRROR}/nmon/Documentation.txt;name=doc \ + file://0001-lmon16g.c-Adjust-system-headers.patch \ " - -SRC_URI[lmon.md5sum] = "b1b8e6c0123ad232394991f2d4f40494" -SRC_URI[lmon.sha256sum] = "456ab2a342b31d1a352d0d940af5962fa65a12ae8757ff73e6e73210832ae8b5" +SRC_URI[lmon.md5sum] = "246ccfc74d5af55d992601fc4d3d4a72" +SRC_URI[lmon.sha256sum] = "da82dd693b503b062854dfe7dbb5d36b347872ab44a4aa05b97e9d577747f688" SRC_URI[doc.md5sum] = "dbb13658cf55d687c4f2ff771a696d4a" SRC_URI[doc.sha256sum] = "1f7f83afe62a7210be5e83cd24157adb854c14599efe0b377a7ecca933869278" CFLAGS += "-D JFS -D GETUSER -Wall -D LARGEMEM" -LDFLAGS += "-ltinfo -lncursesw" +LDFLAGS += "-ltinfo -lncursesw -lm" ASNEEDED_pn-nmon = "" +S = "${WORKDIR}" + do_compile() { - ${CC} ${CFLAGS} ${LDFLAGS} ${WORKDIR}/lmon13g.c -o nmon + ${CC} ${CFLAGS} ${LDFLAGS} lmon${PV}.c -o nmon } do_install() { -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 10:32:47 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 10:32:47 +0000 Subject: [oe-commits] [meta-openembedded] 06/08: iperf3: Fix missing stdint.h and do not link with -pg In-Reply-To: <150028756113.31954.9336888341871038455@git.openembedded.org> References: <150028756113.31954.9336888341871038455@git.openembedded.org> Message-ID: <20170717103241.8AB62233548@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 991233a077898cf74d4b7224faa26fb1ee9c55af Author: Khem Raj AuthorDate: Fri Jul 14 18:55:34 2017 -0700 iperf3: Fix missing stdint.h and do not link with -pg Helps compile with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...de-stdint.h-for-various-std-c99-int-types.patch | 39 ++++++++++++++++++++++ .../0002-Remove-pg-from-profile_CFLAGS.patch | 31 +++++++++++++++++ meta-oe/recipes-benchmark/iperf3/iperf3_git.bb | 11 +++--- 3 files changed, 77 insertions(+), 4 deletions(-) diff --git a/meta-oe/recipes-benchmark/iperf3/iperf3/0001-include-stdint.h-for-various-std-c99-int-types.patch b/meta-oe/recipes-benchmark/iperf3/iperf3/0001-include-stdint.h-for-various-std-c99-int-types.patch new file mode 100644 index 0000000..ae36208 --- /dev/null +++ b/meta-oe/recipes-benchmark/iperf3/iperf3/0001-include-stdint.h-for-various-std-c99-int-types.patch @@ -0,0 +1,39 @@ +From be653711fb92d2430b3ecc546b4e3ad927d19ec5 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 14 Jul 2017 12:59:42 -0700 +Subject: [PATCH 1/2] include stdint.h for various std c99 int types + +Signed-off-by: Khem Raj +--- + src/cjson.h | 2 ++ + src/timer.h | 1 + + 2 files changed, 3 insertions(+) + +diff --git a/src/cjson.h b/src/cjson.h +index fb8cd3b..69cd272 100644 +--- a/src/cjson.h ++++ b/src/cjson.h +@@ -23,6 +23,8 @@ + #ifndef cJSON__h + #define cJSON__h + ++#include ++ + #ifdef __cplusplus + extern "C" + { +diff --git a/src/timer.h b/src/timer.h +index 0f9c5eb..0b195be 100644 +--- a/src/timer.h ++++ b/src/timer.h +@@ -31,6 +31,7 @@ + #define __TIMER_H + + #include ++#include + + /* TimerClientData is an opaque value that tags along with a timer. The + ** client can use it for whatever, and it gets passed to the callback when +-- +2.13.3 + diff --git a/meta-oe/recipes-benchmark/iperf3/iperf3/0002-Remove-pg-from-profile_CFLAGS.patch b/meta-oe/recipes-benchmark/iperf3/iperf3/0002-Remove-pg-from-profile_CFLAGS.patch new file mode 100644 index 0000000..06eb41a --- /dev/null +++ b/meta-oe/recipes-benchmark/iperf3/iperf3/0002-Remove-pg-from-profile_CFLAGS.patch @@ -0,0 +1,31 @@ +From 6db0e28f906bc3784019dfb5bb011237a8034fda Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 14 Jul 2017 13:00:16 -0700 +Subject: [PATCH 2/2] Remove -pg from profile_CFLAGS + +musl fails to link with missing gcrt1.o + +Signed-off-by: Khem Raj +--- + src/Makefile.am | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/Makefile.am b/src/Makefile.am +index 23b0c72..6268145 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -49,9 +49,9 @@ iperf3_LDFLAGS = -g + iperf3_profile_SOURCES = main.c \ + $(libiperf_la_SOURCES) + +-iperf3_profile_CFLAGS = -pg -g ++iperf3_profile_CFLAGS = -g + iperf3_profile_LDADD = libiperf.la +-iperf3_profile_LDFLAGS = -pg -g ++iperf3_profile_LDFLAGS = -g + + # Specify the sources and various flags for the test cases + t_timer_SOURCES = t_timer.c +-- +2.13.3 + diff --git a/meta-oe/recipes-benchmark/iperf3/iperf3_git.bb b/meta-oe/recipes-benchmark/iperf3/iperf3_git.bb index d19aa1e..4a01896 100644 --- a/meta-oe/recipes-benchmark/iperf3/iperf3_git.bb +++ b/meta-oe/recipes-benchmark/iperf3/iperf3_git.bb @@ -11,10 +11,11 @@ AUTHOR = "ESNET , Lawrence Berkeley National Laboratory References: <150028756113.31954.9336888341871038455@git.openembedded.org> Message-ID: <20170717103241.91A9F23354A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 77817c361c34e5a9fa45b00af05a26378a032a69 Author: Khem Raj AuthorDate: Fri Jul 14 18:55:35 2017 -0700 v4l-utils: Fix build with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...tl-Define-TEMP_FAILURE_RETRY-if-undefined.patch | 55 ++++++++++++++++++++++ ...t-Link-mc_nextgen_test-with-libargp-if-ne.patch | 28 +++++++++++ .../0003-v4l2-ctl-Do-not-use-getsubopt.patch | 49 +++++++++++++++++++ .../v4l2apps/v4l-utils_1.12.3.bb | 5 +- 4 files changed, 136 insertions(+), 1 deletion(-) diff --git a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-ir-ctl-Define-TEMP_FAILURE_RETRY-if-undefined.patch b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-ir-ctl-Define-TEMP_FAILURE_RETRY-if-undefined.patch new file mode 100644 index 0000000..f1e11da --- /dev/null +++ b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-ir-ctl-Define-TEMP_FAILURE_RETRY-if-undefined.patch @@ -0,0 +1,55 @@ +From e60aea50e41ae8a17672beb5859beecb66e7a305 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 14 Jul 2017 13:11:25 -0700 +Subject: [PATCH 1/3] ir-ctl: Define TEMP_FAILURE_RETRY if undefined + +use strndup() instead of strndupa() which is not +universally available in C libraries + +Taken from AlpineLinux + +Signed-off-by: Khem Raj +--- + utils/ir-ctl/ir-ctl.c | 14 +++++++++++++- + 1 file changed, 13 insertions(+), 1 deletion(-) + +diff --git a/utils/ir-ctl/ir-ctl.c b/utils/ir-ctl/ir-ctl.c +index bc58cee..1a44011 100644 +--- a/utils/ir-ctl/ir-ctl.c ++++ b/utils/ir-ctl/ir-ctl.c +@@ -42,6 +42,16 @@ + # define _(string) string + #endif + ++/* taken from glibc unistd.h */ ++#ifndef TEMP_FAILURE_RETRY ++#define TEMP_FAILURE_RETRY(expression) \ ++ (__extension__ \ ++ ({ long int __result; \ ++ do __result = (long int) (expression); \ ++ while (__result == -1L && errno == EINTR); \ ++ __result; })) ++#endif ++ + # define N_(string) string + + +@@ -344,12 +354,14 @@ static struct file *read_scancode(const char *name) + return NULL; + } + +- pstr = strndupa(name, p - name); ++ pstr = strndup(name, p - name); + + if (!protocol_match(pstr, &proto)) { + fprintf(stderr, _("error: protocol '%s' not found\n"), pstr); ++ free(pstr); + return NULL; + } ++ free(pstr); + + if (!strtoscancode(p + 1, &scancode)) { + fprintf(stderr, _("error: invalid scancode '%s'\n"), p + 1); +-- +2.13.3 + diff --git a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0002-contrib-test-Link-mc_nextgen_test-with-libargp-if-ne.patch b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0002-contrib-test-Link-mc_nextgen_test-with-libargp-if-ne.patch new file mode 100644 index 0000000..2fb4057 --- /dev/null +++ b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0002-contrib-test-Link-mc_nextgen_test-with-libargp-if-ne.patch @@ -0,0 +1,28 @@ +From b3acc4c6407f9553f32582a9aee6a11b5fcd1d8a Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 14 Jul 2017 13:17:19 -0700 +Subject: [PATCH 2/3] contrib/test: Link mc_nextgen_test with libargp if needed + +musl depends on external argp implementation e.g. + +Signed-off-by: Khem Raj +--- + contrib/test/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/contrib/test/Makefile.am b/contrib/test/Makefile.am +index 4641e21..e47b948 100644 +--- a/contrib/test/Makefile.am ++++ b/contrib/test/Makefile.am +@@ -32,7 +32,7 @@ v4l2gl_LDFLAGS = $(X11_LIBS) $(GL_LIBS) $(GLU_LIBS) $(ARGP_LIBS) + v4l2gl_LDADD = ../../lib/libv4l2/libv4l2.la ../../lib/libv4lconvert/libv4lconvert.la + + mc_nextgen_test_CFLAGS = $(LIBUDEV_CFLAGS) +-mc_nextgen_test_LDFLAGS = $(LIBUDEV_LIBS) ++mc_nextgen_test_LDFLAGS = $(ARGP_LIBS) $(LIBUDEV_LIBS) + + + ioctl_test_SOURCES = ioctl-test.c ioctl-test.h ioctl_32.h ioctl_64.h +-- +2.13.3 + diff --git a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0003-v4l2-ctl-Do-not-use-getsubopt.patch b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0003-v4l2-ctl-Do-not-use-getsubopt.patch new file mode 100644 index 0000000..0a986ae --- /dev/null +++ b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0003-v4l2-ctl-Do-not-use-getsubopt.patch @@ -0,0 +1,49 @@ +From d04aa6866cbea57c4a81b033cd60586a9436ac6b Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 14 Jul 2017 13:20:05 -0700 +Subject: [PATCH 3/3] v4l2-ctl: Do not use getsubopt + +POSIX says that behavior when subopts list is empty is undefined. +musl libs will set value to NULL which leads to crash. + +Taken from AlpineLinux + +Signed-off-by: Khem Raj +--- + utils/v4l2-ctl/v4l2-ctl-common.cpp | 19 ++++++++++--------- + 1 file changed, 10 insertions(+), 9 deletions(-) + +diff --git a/utils/v4l2-ctl/v4l2-ctl-common.cpp b/utils/v4l2-ctl/v4l2-ctl-common.cpp +index 3ea6cd3..291fb3e 100644 +--- a/utils/v4l2-ctl/v4l2-ctl-common.cpp ++++ b/utils/v4l2-ctl/v4l2-ctl-common.cpp +@@ -692,16 +692,17 @@ static bool parse_subset(char *optarg) + + static bool parse_next_subopt(char **subs, char **value) + { +- static char *const subopts[] = { +- NULL +- }; +- int opt = getsubopt(subs, subopts, value); ++ char *p = *subs; ++ *value = *subs; + +- if (opt < 0 || *value) +- return false; +- fprintf(stderr, "No value given to suboption <%s>\n", +- subopts[opt]); +- return true; ++ while (*p && *p != ',') ++ p++; ++ ++ if (*p) ++ *p++ = '\0'; ++ ++ *subs = p; ++ return false; + } + + void common_cmd(int ch, char *optarg) +-- +2.13.3 + diff --git a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.12.3.bb b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.12.3.bb index 42da5cc..b408bb0 100644 --- a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.12.3.bb +++ b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.12.3.bb @@ -18,7 +18,10 @@ SRC_URI = "http://linuxtv.org/downloads/v4l-utils/v4l-utils-${PV}.tar.bz2 \ file://0001-buildsystem-do-not-assume-building-in-source-tree.patch \ file://mediactl-pkgconfig.patch \ file://export-mediactl-headers.patch \ - " + file://0001-ir-ctl-Define-TEMP_FAILURE_RETRY-if-undefined.patch \ + file://0002-contrib-test-Link-mc_nextgen_test-with-libargp-if-ne.patch \ + file://0003-v4l2-ctl-Do-not-use-getsubopt.patch \ + " SRC_URI[md5sum] = "89e1ed6c69c94e0489dc0a638c7841aa" SRC_URI[sha256sum] = "5a47dd6f0e7dfe902d94605c01d385a4a4e87583ff5856d6f181900ea81cf46e" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 10:32:46 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 10:32:46 +0000 Subject: [oe-commits] [meta-openembedded] 05/08: uftrace: add recipe In-Reply-To: <150028756113.31954.9336888341871038455@git.openembedded.org> References: <150028756113.31954.9336888341871038455@git.openembedded.org> Message-ID: <20170717103241.8279A233546@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 872870cac07a04b6173b424e0dbfd36bb9781a00 Author: Changhyeok Bae AuthorDate: Fri Jul 14 23:59:59 2017 +0000 uftrace: add recipe - Add recipe for uftrace v0.7. - Support x86_64, arm (v6 or later), and aarch64. - Disable for armv4 and armv5 in arm architecture which is only supported armv6 or later. - Attached 2 patches is merged to upstream. Signed-off-by: Changhyeok Bae Signed-off-by: Martin Jansa --- .../0001-Makefile-Add-LDFLAGS-in-export.patch | 31 +++++++++++++++++++ ...tils-Add-limits-header-to-fix-build-error.patch | 31 +++++++++++++++++++ meta-oe/recipes-devtools/uftrace/uftrace_0.7.bb | 35 ++++++++++++++++++++++ 3 files changed, 97 insertions(+) diff --git a/meta-oe/recipes-devtools/uftrace/uftrace/0001-Makefile-Add-LDFLAGS-in-export.patch b/meta-oe/recipes-devtools/uftrace/uftrace/0001-Makefile-Add-LDFLAGS-in-export.patch new file mode 100644 index 0000000..f665051 --- /dev/null +++ b/meta-oe/recipes-devtools/uftrace/uftrace/0001-Makefile-Add-LDFLAGS-in-export.patch @@ -0,0 +1,31 @@ +From ec794945475d5792f2ae85afe461e64266613640 Mon Sep 17 00:00:00 2001 +From: Changhyeok Bae +Date: Thu, 13 Jul 2017 16:44:52 +0900 +Subject: [PATCH 1/2] Makefile: Add LDFLAGS in export + +To use build with musl, need to argp library. +So need to add LDFLAGS from outside. + +Upstream-Status: Accepted + +Signed-off-by: +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 67be2da..0ca649a 100644 +--- a/Makefile ++++ b/Makefile +@@ -48,7 +48,7 @@ endif + RM = rm -f + INSTALL = install + +-export ARCH CC AR LD RM srcdir objdir ++export ARCH CC AR LD RM srcdir objdir LDFLAGS + + COMMON_CFLAGS := -O2 -g -D_GNU_SOURCE $(CFLAGS) $(CPPFLAGS) + COMMON_CFLAGS += -iquote $(srcdir) -iquote $(objdir) -iquote $(srcdir)/arch/$(ARCH) +-- +1.9.1 + diff --git a/meta-oe/recipes-devtools/uftrace/uftrace/0002-utils-Add-limits-header-to-fix-build-error.patch b/meta-oe/recipes-devtools/uftrace/uftrace/0002-utils-Add-limits-header-to-fix-build-error.patch new file mode 100644 index 0000000..2690011 --- /dev/null +++ b/meta-oe/recipes-devtools/uftrace/uftrace/0002-utils-Add-limits-header-to-fix-build-error.patch @@ -0,0 +1,31 @@ +From 3bda554766150705160fe2191d8761c7881e2433 Mon Sep 17 00:00:00 2001 +From: Changhyeok Bae +Date: Thu, 13 Jul 2017 16:46:20 +0900 +Subject: [PATCH 2/2] utils: Add limits header to fix build error + +[Error] +error: 'PATH_MAX' undeclared (first use in this function); did you mean +'INT8_MAX'? + +Upstream-Status: Accepted + +Signed-off-by: Changhyeok Bae +--- + utils/utils.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/utils/utils.c b/utils/utils.c +index 03522c9..30f9e81 100644 +--- a/utils/utils.c ++++ b/utils/utils.c +@@ -6,6 +6,7 @@ + #include + #include + #include ++#include + + #include "utils/utils.h" + +-- +1.9.1 + diff --git a/meta-oe/recipes-devtools/uftrace/uftrace_0.7.bb b/meta-oe/recipes-devtools/uftrace/uftrace_0.7.bb new file mode 100644 index 0000000..821d0bb --- /dev/null +++ b/meta-oe/recipes-devtools/uftrace/uftrace_0.7.bb @@ -0,0 +1,35 @@ +SUMMARY = "Trace and analyze execution of a program written in C/C++" +HOMEPAGE = "https://github.com/namhyung/uftrace" +BUGTRACKER = "https://github.com/namhyung/uftrace/issues" +SECTION = "devel" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +DEPENDS = "elfutils" +DEPENDS_append_libc-musl = " argp-standalone" + +inherit autotools + +SRCREV = "712ad01fdde57893936d7e254451eec67ab41ca6" +SRC_URI = "\ + git://github.com/namhyung/${BPN} \ + file://0001-Makefile-Add-LDFLAGS-in-export.patch \ + file://0002-utils-Add-limits-header-to-fix-build-error.patch \ +" +S = "${WORKDIR}/git" + +LDFLAGS_append_libc-musl = " -largp" +EXTRA_OECONF = "ARCH=${TARGET_ARCH}" + +do_configure() { + ${S}/configure ${EXTRA_OECONF} +} + +FILES_SOLIBSDEV = "" +FILES_${PN} += "${libdir}/*.so" + +COMPATIBLE_HOST = "(x86_64|aarch64|arm)" + +# uftrace supports armv6 and above +COMPATIBLE_HOST_armv4 = 'null' +COMPATIBLE_HOST_armv5 = 'null' -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 10:32:49 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 10:32:49 +0000 Subject: [oe-commits] [meta-openembedded] 08/08: pimd: Upgrade to 2.3.2 In-Reply-To: <150028756113.31954.9336888341871038455@git.openembedded.org> References: <150028756113.31954.9336888341871038455@git.openembedded.org> Message-ID: <20170717103241.986B923354B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 065575a38da2ebd5cfc0369f549d66f4eecf324e Author: Khem Raj AuthorDate: Fri Jul 14 18:55:39 2017 -0700 pimd: Upgrade to 2.3.2 Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...ure-Dont-use-uname-to-determine-target-OS.patch | 28 ++++++++++++++++++++++ meta-networking/recipes-support/pimd/pimd_2.1.8.bb | 19 --------------- meta-networking/recipes-support/pimd/pimd_2.3.2.bb | 20 ++++++++++++++++ 3 files changed, 48 insertions(+), 19 deletions(-) diff --git a/meta-networking/recipes-support/pimd/pimd/0001-configure-Dont-use-uname-to-determine-target-OS.patch b/meta-networking/recipes-support/pimd/pimd/0001-configure-Dont-use-uname-to-determine-target-OS.patch new file mode 100644 index 0000000..eb549de --- /dev/null +++ b/meta-networking/recipes-support/pimd/pimd/0001-configure-Dont-use-uname-to-determine-target-OS.patch @@ -0,0 +1,28 @@ +From f3e04281bad361249a8dad0cde150a801d720f67 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 14 Jul 2017 18:46:52 -0700 +Subject: [PATCH] configure: Dont use uname to determine target OS + +Helps with cross-compiling + +Signed-off-by: Khem Raj +--- + configure | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure b/configure +index 6c35a72..f9714e2 100755 +--- a/configure ++++ b/configure +@@ -31,7 +31,7 @@ + #DEFS += -DSCOPED_ACL + # + +-OS=`uname` ++OS="Linux" + CFG=config.mk + TMP=`mktemp /tmp/XXXXXX` + BUGREPORT_URL="https://github.com/troglobit/pimd/issues" +-- +2.13.3 + diff --git a/meta-networking/recipes-support/pimd/pimd_2.1.8.bb b/meta-networking/recipes-support/pimd/pimd_2.1.8.bb deleted file mode 100644 index 7edb642..0000000 --- a/meta-networking/recipes-support/pimd/pimd_2.1.8.bb +++ /dev/null @@ -1,19 +0,0 @@ -SUMMARY = "pimd is a lightweight stand-alone PIM-SM v2 multicast routing daemon." -HOMEPAGE = "http://troglobit.com/pimd.html" -SECTION = "net" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=94f108f91fab720d62425770b70dd790" - -SRC_URI = "ftp://ftp.troglobit.com/pimd/${BP}.tar.bz2" -SRC_URI[md5sum] = "a12448bc7c9bfcebf51a13ebf1ffa962" -SRC_URI[sha256sum] = "01016940543a0a6131d4e6c91b595d47e187012c59a298eec14c3dbc38564b3a" - -EXTRA_OEMAKE = "-e MAKEFLAGS=" -CFLAGS += "-I ${S}/include " - -do_install() { - unset datadir - unset mandir - oe_runmake 'DESTDIR=${D}' install -} - diff --git a/meta-networking/recipes-support/pimd/pimd_2.3.2.bb b/meta-networking/recipes-support/pimd/pimd_2.3.2.bb new file mode 100644 index 0000000..2faa7cb --- /dev/null +++ b/meta-networking/recipes-support/pimd/pimd_2.3.2.bb @@ -0,0 +1,20 @@ +SUMMARY = "pimd is a lightweight stand-alone PIM-SM v2 multicast routing daemon." +HOMEPAGE = "http://troglobit.com/pimd.html" +SECTION = "net" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=94f108f91fab720d62425770b70dd790" + +SRC_URI = "ftp://ftp.troglobit.com/pimd/${BP}.tar.gz \ + file://0001-configure-Dont-use-uname-to-determine-target-OS.patch \ + " +SRC_URI[md5sum] = "a3c03e40540980b2c06e265a17988e60" +SRC_URI[sha256sum] = "c77a9812751f114490a28a6839b16aac8b020c8d9fd6aa22bf3880c054e19f1d" + +EXTRA_OECONF_append_libc-musl = " --embedded-libc" + +inherit autotools-brokensep + +do_configure() { + oe_runconf +} + -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:02:13 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:02:13 +0000 Subject: [oe-commits] [openembedded-core] 04/64: distrooverrides.bbclass: fix default configuration In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130210.769D823353B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 174277176fcdc13b4a29e291dafc2f508ff9da66 Author: Patrick Ohly AuthorDate: Wed Jul 12 11:08:34 2017 +0200 distrooverrides.bbclass: fix default configuration When using distrooverrides.bbclass without setting DISTRO_FEATURES_OVERRIDES, the code failed because of a spelling error in the default. [YOCTO #11759] Signed-off-by: Patrick Ohly Signed-off-by: Ross Burton --- meta/classes/distrooverrides.bbclass | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/classes/distrooverrides.bbclass b/meta/classes/distrooverrides.bbclass index 9a42712..9f4db0d 100644 --- a/meta/classes/distrooverrides.bbclass +++ b/meta/classes/distrooverrides.bbclass @@ -18,8 +18,8 @@ # of these overrides should be limited to .bb and .bbappend files, # because then DISTRO_FEATURES is final. -DISTRO_FEATURE_OVERRIDES ?= "" -DISTRO_FEATURE_OVERRIDES[doc] = "A space-separated list of entries. \ +DISTRO_FEATURES_OVERRIDES ?= "" +DISTRO_FEATURES_OVERRIDES[doc] = "A space-separated list of entries. \ Each entry is added to OVERRIDES as df- if is in DISTRO_FEATURES." DISTRO_FEATURES_FILTER_NATIVE_append = " ${DISTRO_FEATURES_OVERRIDES}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:02:11 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:02:11 +0000 Subject: [oe-commits] [openembedded-core] 02/64: runqemu: check exit code of 'ls -t' In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130210.68BC1233539@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit dac68d2323b0b630c019ce4d5256ed567eaf00da Author: Ed Bartosh AuthorDate: Tue Jul 11 17:34:24 2017 +0300 runqemu: check exit code of 'ls -t' Used check_output instead of Popen as it raises CalledProcessError exception when command exits with non-zero exit code. Catched the exception to produce user-friendly output. [YOCTO #11719] Signed-off-by: Ed Bartosh Signed-off-by: Ross Burton --- scripts/runqemu | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/scripts/runqemu b/scripts/runqemu index c33741d..d44afc7 100755 --- a/scripts/runqemu +++ b/scripts/runqemu @@ -676,7 +676,10 @@ class BaseConfig(object): else: cmd = 'ls -t %s/*.qemuboot.conf' % deploy_dir_image logger.info('Running %s...' % cmd) - qbs = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE).stdout.read().decode('utf-8') + try: + qbs = subprocess.check_output(cmd, shell=True).decode('utf-8') + except subprocess.CalledProcessError as err: + raise RunQemuError(err) if qbs: for qb in qbs.split(): # Don't use initramfs when other choices unless fstype is ramfs -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:02:12 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:02:12 +0000 Subject: [oe-commits] [openembedded-core] 03/64: x86-base: build only hddimg, rather than iso and hddimg, for x86 machines In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130210.6FF5623353A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 1e05d488f9f09230d2f7cd3f43a385ad206066f8 Author: Joshua Lock AuthorDate: Wed Jul 12 20:08:21 2017 +0100 x86-base: build only hddimg, rather than iso and hddimg, for x86 machines Signed-off-by: Joshua Lock Signed-off-by: Ross Burton --- meta/conf/machine/include/x86-base.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/conf/machine/include/x86-base.inc b/meta/conf/machine/include/x86-base.inc index bfacdf5..a29641a 100644 --- a/meta/conf/machine/include/x86-base.inc +++ b/meta/conf/machine/include/x86-base.inc @@ -10,7 +10,7 @@ MACHINE_FEATURES += "screen keyboard pci usbhost ext2 ext3 x86 \ MACHINE_EXTRA_RRECOMMENDS += "kernel-modules" -IMAGE_FSTYPES ?= "live" +IMAGE_FSTYPES ?= "hddimg" KERNEL_IMAGETYPE ?= "bzImage" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:02:10 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:02:10 +0000 Subject: [oe-commits] [openembedded-core] 01/64: runqemu: reworked exception handling In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130210.61F7E233537@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit a779a382b66e7b43ac53286758b4370dc14b193b Author: Ed Bartosh AuthorDate: Tue Jul 11 17:34:23 2017 +0300 runqemu: reworked exception handling Introduced custom RunQemuException that script raises on known errors. This exception is handled in one place and prints error output without printing Python traceback. This shoud make error output less scary for the end user. Handling of unknown errors has not been changed - both error and traceback will be printed. Reimplemented OEPathError exception code to handle it similarly to RunQemuException. Moved exception handling code into main() to keep it in one place. [YOCTO #11719] Signed-off-by: Ed Bartosh Signed-off-by: Ross Burton --- scripts/runqemu | 113 ++++++++++++++++++++++++++++---------------------------- 1 file changed, 56 insertions(+), 57 deletions(-) diff --git a/scripts/runqemu b/scripts/runqemu index 41b870c..c33741d 100755 --- a/scripts/runqemu +++ b/scripts/runqemu @@ -28,14 +28,18 @@ import shutil import glob import configparser -class OEPathError(Exception): +class RunQemuError(Exception): + """Custom exception to raise on known errors.""" + pass + +class OEPathError(RunQemuError): """Custom Exception to give better guidance on missing binaries""" def __init__(self, message): - self.message = "In order for this script to dynamically infer paths\n \ + super().__init__("In order for this script to dynamically infer paths\n \ kernels or filesystem images, you either need bitbake in your PATH\n \ or to source oe-init-build-env before running this script.\n\n \ Dynamic path inference can be avoided by passing a *.qemuboot.conf to\n \ -runqemu, i.e. `runqemu /path/to/my-image-name.qemuboot.conf`\n\n %s" % message +runqemu, i.e. `runqemu /path/to/my-image-name.qemuboot.conf`\n\n %s" % message) def create_logger(): @@ -101,10 +105,10 @@ def check_tun(): """Check /dev/net/tun""" dev_tun = '/dev/net/tun' if not os.path.exists(dev_tun): - raise Exception("TUN control device %s is unavailable; you may need to enable TUN (e.g. sudo modprobe tun)" % dev_tun) + raise RunQemuError("TUN control device %s is unavailable; you may need to enable TUN (e.g. sudo modprobe tun)" % dev_tun) if not os.access(dev_tun, os.W_OK): - raise Exception("TUN control device %s is not writable, please fix (e.g. sudo chmod 666 %s)" % (dev_tun, dev_tun)) + raise RunQemuError("TUN control device %s is not writable, please fix (e.g. sudo chmod 666 %s)" % (dev_tun, dev_tun)) def check_libgl(qemu_bin): cmd = 'ldd %s' % qemu_bin @@ -137,7 +141,7 @@ def check_libgl(qemu_bin): logger.error("You need libGL.so and libGLU.so to exist in your library path to run the QEMU emulator.") logger.error("Ubuntu package names are: libgl1-mesa-dev and libglu1-mesa-dev.") logger.error("Fedora package names are: mesa-libGL-devel mesa-libGLU-devel.") - raise Exception('%s requires libGLU, but not found' % qemu_bin) + raise RunQemuError('%s requires libGLU, but not found' % qemu_bin) def get_first_file(cmds): """Return first file found in wildcard cmds""" @@ -273,7 +277,7 @@ class BaseConfig(object): fst = 'cpio.gz' self.fstype = fst else: - raise Exception("Conflicting: FSTYPE %s and %s" % (self.fstype, fst)) + raise RunQemuError("Conflicting: FSTYPE %s and %s" % (self.fstype, fst)) def set_machine_deploy_dir(self, machine, deploy_dir_image): """Set MACHINE and DEPLOY_DIR_IMAGE""" @@ -329,7 +333,7 @@ class BaseConfig(object): else: logger.warn("%s doesn't exist" % qb) else: - raise Exception("Can't find FSTYPE from: %s" % p) + raise RunQemuError("Can't find FSTYPE from: %s" % p) elif os.path.isdir(p) or re.search(':', p) and re.search('/', p): if self.is_deploy_dir_image(p): @@ -341,16 +345,16 @@ class BaseConfig(object): elif os.path.basename(p).startswith('ovmf'): self.ovmf_bios.append(p) else: - raise Exception("Unknown path arg %s" % p) + raise RunQemuError("Unknown path arg %s" % p) def check_arg_machine(self, arg): """Check whether it is a machine""" if self.get('MACHINE') == arg: return elif self.get('MACHINE') and self.get('MACHINE') != arg: - raise Exception("Maybe conflicted MACHINE: %s vs %s" % (self.get('MACHINE'), arg)) + raise RunQemuError("Maybe conflicted MACHINE: %s vs %s" % (self.get('MACHINE'), arg)) elif re.search('/', arg): - raise Exception("Unknown arg: %s" % arg) + raise RunQemuError("Unknown arg: %s" % arg) logger.info('Assuming MACHINE = %s' % arg) @@ -381,7 +385,7 @@ class BaseConfig(object): if s: deploy_dir_image = s.group(1) else: - raise Exception("bitbake -e %s" % self.bitbake_e) + raise RunQemuError("bitbake -e %s" % self.bitbake_e) if self.is_deploy_dir_image(deploy_dir_image): self.set_machine_deploy_dir(arg, deploy_dir_image) else: @@ -435,7 +439,9 @@ class BaseConfig(object): if (not unknown_arg) or unknown_arg == arg: unknown_arg = arg else: - raise Exception("Can't handle two unknown args: %s %s" % (unknown_arg, arg)) + raise RunQemuError("Can't handle two unknown args: %s %s\n" + "Try 'runqemu help' on how to use it" % \ + (unknown_arg, arg)) # Check to make sure it is a valid machine if unknown_arg: if self.get('MACHINE') == unknown_arg: @@ -461,7 +467,7 @@ class BaseConfig(object): return if not self.get('QB_CPU_KVM'): - raise Exception("QB_CPU_KVM is NULL, this board doesn't support kvm") + raise RunQemuError("QB_CPU_KVM is NULL, this board doesn't support kvm") self.qemu_opt_script += ' %s %s' % (self.get('QB_MACHINE'), self.get('QB_CPU_KVM')) yocto_kvm_wiki = "https://wiki.yoctoproject.org/wiki/How_to_enable_KVM_for_Poky_qemu" @@ -473,30 +479,30 @@ class BaseConfig(object): if not kvm_cap: logger.error("You are trying to enable KVM on a cpu without VT support.") logger.error("Remove kvm from the command-line, or refer:") - raise Exception(yocto_kvm_wiki) + raise RunQemuError(yocto_kvm_wiki) if not os.path.exists(dev_kvm): logger.error("Missing KVM device. Have you inserted kvm modules?") logger.error("For further help see:") - raise Exception(yocto_kvm_wiki) + raise RunQemuError(yocto_kvm_wiki) if os.access(dev_kvm, os.W_OK|os.R_OK): self.qemu_opt_script += ' -enable-kvm' else: logger.error("You have no read or write permission on /dev/kvm.") logger.error("Please change the ownership of this file as described at:") - raise Exception(yocto_kvm_wiki) + raise RunQemuError(yocto_kvm_wiki) if self.vhost_enabled: if not os.path.exists(dev_vhost): logger.error("Missing virtio net device. Have you inserted vhost-net module?") logger.error("For further help see:") - raise Exception(yocto_paravirt_kvm_wiki) + raise RunQemuError(yocto_paravirt_kvm_wiki) if not os.access(dev_kvm, os.W_OK|os.R_OK): logger.error("You have no read or write permission on /dev/vhost-net.") logger.error("Please change the ownership of this file as described at:") - raise Exception(yocto_kvm_wiki) + raise RunQemuError(yocto_kvm_wiki) def check_fstype(self): """Check and setup FSTYPE""" @@ -505,7 +511,7 @@ class BaseConfig(object): if fstype: self.fstype = fstype else: - raise Exception("FSTYPE is NULL!") + raise RunQemuError("FSTYPE is NULL!") def check_rootfs(self): """Check and set rootfs""" @@ -517,7 +523,7 @@ class BaseConfig(object): if not self.rootfs: self.rootfs = self.get('ROOTFS') elif self.get('ROOTFS') != self.rootfs: - raise Exception("Maybe conflicted ROOTFS: %s vs %s" % (self.get('ROOTFS'), self.rootfs)) + raise RunQemuError("Maybe conflicted ROOTFS: %s vs %s" % (self.get('ROOTFS'), self.rootfs)) if self.fstype == 'nfs': return @@ -533,10 +539,10 @@ class BaseConfig(object): cmds = (cmd_name, cmd_link) self.rootfs = get_first_file(cmds) if not self.rootfs: - raise Exception("Failed to find rootfs: %s or %s" % cmds) + raise RunQemuError("Failed to find rootfs: %s or %s" % cmds) if not os.path.exists(self.rootfs): - raise Exception("Can't find rootfs: %s" % self.rootfs) + raise RunQemuError("Can't find rootfs: %s" % self.rootfs) def check_ovmf(self): """Check and set full path for OVMF firmware and variable file(s).""" @@ -550,7 +556,7 @@ class BaseConfig(object): self.ovmf_bios[index] = path break else: - raise Exception("Can't find OVMF firmware: %s" % ovmf) + raise RunQemuError("Can't find OVMF firmware: %s" % ovmf) def check_kernel(self): """Check and set kernel, dtb""" @@ -573,10 +579,10 @@ class BaseConfig(object): cmds = (kernel_match_name, kernel_match_link, kernel_startswith) self.kernel = get_first_file(cmds) if not self.kernel: - raise Exception('KERNEL not found: %s, %s or %s' % cmds) + raise RunQemuError('KERNEL not found: %s, %s or %s' % cmds) if not os.path.exists(self.kernel): - raise Exception("KERNEL %s not found" % self.kernel) + raise RunQemuError("KERNEL %s not found" % self.kernel) dtb = self.get('QB_DTB') if dtb: @@ -586,7 +592,7 @@ class BaseConfig(object): cmds = (cmd_match, cmd_startswith, cmd_wild) self.dtb = get_first_file(cmds) if not os.path.exists(self.dtb): - raise Exception('DTB not found: %s, %s or %s' % cmds) + raise RunQemuError('DTB not found: %s, %s or %s' % cmds) def check_biosdir(self): """Check custombiosdir""" @@ -606,7 +612,7 @@ class BaseConfig(object): self.qemu_opt_script += ' -L %s' % biosdir else: logger.error("Custom BIOS directory not found. Tried: %s, %s, and %s" % (self.custombiosdir, biosdir_native, biosdir_host)) - raise Exception("Invalid custombiosdir: %s" % self.custombiosdir) + raise RunQemuError("Invalid custombiosdir: %s" % self.custombiosdir) def check_mem(self): s = re.search('-m +([0-9]+)', self.qemu_opt_script) @@ -634,7 +640,7 @@ class BaseConfig(object): # Check audio if self.audio_enabled: if not self.get('QB_AUDIO_DRV'): - raise Exception("QB_AUDIO_DRV is NULL, this board doesn't support audio") + raise RunQemuError("QB_AUDIO_DRV is NULL, this board doesn't support audio") if not self.get('QB_AUDIO_OPT'): logger.warn('QB_AUDIO_OPT is NULL, you may need define it to make audio work') else: @@ -689,7 +695,7 @@ class BaseConfig(object): return if not os.path.exists(self.qemuboot): - raise Exception("Failed to find %s (wrong image name or BSP does not support running under qemu?)." % self.qemuboot) + raise RunQemuError("Failed to find %s (wrong image name or BSP does not support running under qemu?)." % self.qemuboot) logger.info('CONFFILE: %s' % self.qemuboot) @@ -815,12 +821,12 @@ class BaseConfig(object): elif os.path.exists(src2): src = src2 if not src: - raise Exception("No NFS_DIR is set, and can't find %s or %s to extract" % (src1, src2)) + raise RunQemuError("No NFS_DIR is set, and can't find %s or %s to extract" % (src1, src2)) logger.info('NFS_DIR not found, extracting %s to %s' % (src, dest)) cmd = 'runqemu-extract-sdk %s %s' % (src, dest) logger.info('Running %s...' % cmd) if subprocess.call(cmd, shell=True) != 0: - raise Exception('Failed to run %s' % cmd) + raise RunQemuError('Failed to run %s' % cmd) self.clean_nfs_dir = True self.rootfs = dest @@ -828,7 +834,7 @@ class BaseConfig(object): cmd = 'runqemu-export-rootfs start %s' % self.rootfs logger.info('Running %s...' % cmd) if subprocess.call(cmd, shell=True) != 0: - raise Exception('Failed to run %s' % cmd) + raise RunQemuError('Failed to run %s' % cmd) self.nfs_running = True @@ -911,7 +917,7 @@ class BaseConfig(object): if os.path.exists(nosudo_flag): logger.error("Error: There are no available tap devices to use for networking,") logger.error("and I see %s exists, so I am not going to try creating" % nosudo_flag) - raise Exception("a new one with sudo.") + raise RunQemuError("a new one with sudo.") gid = os.getgid() uid = os.getuid() @@ -1053,7 +1059,7 @@ class BaseConfig(object): if not qemu_system: qemu_system = self.guess_qb_system() if not qemu_system: - raise Exception("Failed to boot, QB_SYSTEM_NAME is NULL!") + raise RunQemuError("Failed to boot, QB_SYSTEM_NAME is NULL!") qemu_bin = '%s/%s' % (self.bindir_native, qemu_system) @@ -1202,42 +1208,35 @@ class BaseConfig(object): if os.path.exists(result): self.set('STAGING_BINDIR_NATIVE', result) return result - raise Exception("Native sysroot directory %s doesn't exist" % result) + raise RunQemuError("Native sysroot directory %s doesn't exist" % result) else: - raise Exception("Can't find STAGING_BINDIR_NATIVE in '%s' output" % cmd) + raise RunQemuError("Can't find STAGING_BINDIR_NATIVE in '%s' output" % cmd) def main(): if "help" in sys.argv or '-h' in sys.argv or '--help' in sys.argv: print_usage() return 0 - config = BaseConfig() try: + config = BaseConfig() config.check_args() - except Exception as esc: - logger.error(esc) - logger.error("Try 'runqemu help' on how to use it") - return 1 - config.read_qemuboot() - config.check_and_set() - config.print_config() - try: + config.read_qemuboot() + config.check_and_set() + config.print_config() config.setup_network() config.setup_rootfs() config.setup_final() config.start_qemu() + except RunQemuError as err: + logger.error(err) + return 1 + except Exception as err: + import traceback + traceback.print_exc() + return 1 finally: + print("Cleanup") config.cleanup() - return 0 if __name__ == "__main__": - try: - ret = main() - except OEPathError as err: - ret = 1 - logger.error(err.message) - except Exception as esc: - ret = 1 - import traceback - traceback.print_exc() - sys.exit(ret) + sys.exit(main()) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:02:17 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:02:17 +0000 Subject: [oe-commits] [openembedded-core] 08/64: lib/oe/sstatesig: exclude ccache-native from signature hashes In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130210.8F44B23354B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit ffeca7dcc1abe82cad8374a31bf72b36a472fa1b Author: Ross Burton AuthorDate: Mon Jul 10 17:29:58 2017 +0100 lib/oe/sstatesig: exclude ccache-native from signature hashes Enabling ccache should not cause a complete rebuild, so filter out ccache-native from the dependencies the same way we do for quilt-native (so the world doesn't repatch if quilt changes). This doesn't effect the actual dependencies, just the dependencies that impact the hash. [ YOCTO #11417 ] Signed-off-by: Ross Burton --- meta/lib/oe/sstatesig.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/lib/oe/sstatesig.py b/meta/lib/oe/sstatesig.py index b8dd4c8..5a40932 100644 --- a/meta/lib/oe/sstatesig.py +++ b/meta/lib/oe/sstatesig.py @@ -29,7 +29,7 @@ def sstate_rundepfilter(siggen, fn, recipename, task, dep, depname, dataCache): return True # Quilt (patch application) changing isn't likely to affect anything - excludelist = ['quilt-native', 'subversion-native', 'git-native'] + excludelist = ['quilt-native', 'subversion-native', 'git-native', 'ccache-native'] if depname in excludelist and recipename != depname: return False -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:02:09 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:02:09 +0000 Subject: [oe-commits] [openembedded-core] branch master updated (b1c4661 -> ef68005) Message-ID: <150029652997.508.9935287269759859769@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master in repository openembedded-core. from b1c4661 libiconv: remove 0001-Fix-link-error-when-compiling-with-gcc-O0.patch new a779a38 runqemu: reworked exception handling new dac68d2 runqemu: check exit code of 'ls -t' new 1e05d48 x86-base: build only hddimg, rather than iso and hddimg, for x86 machines new 1742771 distrooverrides.bbclass: fix default configuration new ef33a31 ccache: don't export CCACHE_DISABLE globally new 59e1264 bitbake.conf: add CCACHE_NOHASHDIR to hash whitelist new 408c5c0 ccache: let ccache create CCACHE_DIR, reducing hash changes new ffeca7d lib/oe/sstatesig: exclude ccache-native from signature hashes new 20ce04f classes/sanity: check for case-sensitive file systems new 2b30dcd image_types: remove Hob convenience variable new aed3ceb distro_alias.inc: update unmap packages to other distro new 18b5257 live-vm-common: add MKDOSFS_EXTRAOPTS variable new 33ca15b wic: get rid of using wic-tools new fc12ce9 wic: isoimage: do not remove temp directory new 522ac21 wic: build wic-tools only if wic is run manually new ad02f25 wic: isoimage-isohybrid: check result of glob() new 47b5695 wic-tools: don't create wic-tools.env new 01fc318 image_types_wic: set default WKS_FILE_DEPENDS new 9a17092 wic: isoimage-isohybrid: use grub-efi from deploy dir new b7bcc4b selftest: fixed 5 wic test cases new 9db3dbd imagefeatures: add test_image_fstypes test case new 1f8fc80 image_types: fix squashfs-lzo and squashfs-xz builds new 2fda41c gpg_sign.py: fix overwriting the RPM macro __gpg in a wrong way new 95b9ee3 sign_rpm: support signing files in RPM payload new 42a0fce acpitests: Remove as unmaintained new 88a6fa3 vulkan-demos: Add recipe new 910c16e selftest: Add vulkan-demos to checkpkg exceptions new c2bc26a libx11: fix build error new 844d477 libxt: fix build failure new f84614c gcc-cross: Fix linker and fortran symlinks new 979888c gcc-7.1: Update the libsanitize stack_t patch to upstreamed version new 4c38908 valgrind: fix link failure with gold new 99e00dc valgrind: Update 3.12.0 -> 3.13.0 new cd1a123 valgrind: fix ptest compilation for PowerPC new 00cd51e libarchive: Upgrade to 3.3.2 release new db5cac9 wayland-protocols: upgrade to 1.9 new 0cd2fc8 recipetool: git reformat URI mangling & parameter stripped new 20c1209 gnu-efi: Upgrade package to 3.0.6 and refresh patches new 6455aa2 automake: 1.15 -> 1.15.1 new 2a8a10a debianutils: 4.8.1 -> 4.8.1.1 new f759420 git: 2.11.1 -> 2.13.2 new 6a079bf mesa: Avoid installing khrplatfrom.h when not needed new fa3e2b4 mesa-gl: Clean recipe new 19e793f mesa: fix build race on src/intel/vulkan new 9606524 kernel-yocto: propagate configuration errors to bbclass new 6bd4f85 kernel-yocto/meta: smp configuration changes new 976c260 linux-yocto/4.1: update to v4.1.42 new ab2721f linux-yocto/4.4: update to v4.4.76 new d9d950b linux-yocto/4.9: update to v4.9.36 new 26aaa6c linux-yocto-dev: bump to 4.12+ new 9ee6a0a bind: 9.10.3-P3 -> 9.10.5-P3 new 7d3e734 dhcp: fix shutdown not work by SIGTERM while bind9 enable threads new 1ad3253 util-linux: fix "su -" and package su separately new 4511a52 base-files: ignore "mesg n" error messages new 9b2e3b8 dropbear: reduce local pending patches new 29e55fe chrpath: reduce local pending patches new 79212fe ethtool: Upgrade to 4.11 new 88e7f5c apr: 1.5.2 -> 1.6.2 new 1be785e libbsd: 0.8.3 -> 0.8.5 new 99392e3 libgcrypt: upgrade to 1.7.7 new 77ac45c matchbox-desktop: Upgrade to 2.2 new 22525a7 python3-pygobject: Don't use gnome-common new 9c3e4be gnome-desktop: Don't use gnome-common new ef68005 webkitgtk: Upgrade to 2.16.5 The 64 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: meta-selftest/files/distrodata/checkpkg_exceptions | 1 + meta/classes/ccache.bbclass | 4 - meta/classes/distrooverrides.bbclass | 4 +- meta/classes/image-live.bbclass | 4 +- meta/classes/image-vm.bbclass | 2 +- meta/classes/image_types.bbclass | 7 +- meta/classes/image_types_wic.bbclass | 11 +- meta/classes/kernel-yocto.bbclass | 3 +- meta/classes/live-vm-common.bbclass | 2 + meta/classes/sanity.bbclass | 12 + meta/classes/sign_rpm.bbclass | 20 +- meta/conf/bitbake.conf | 5 +- meta/conf/distro/include/distro_alias.inc | 7 + meta/conf/machine/include/x86-base.inc | 2 +- meta/lib/oe/gpg_sign.py | 9 +- meta/lib/oe/sstatesig.py | 2 +- meta/lib/oeqa/selftest/cases/imagefeatures.py | 28 + meta/lib/oeqa/selftest/cases/wic.py | 23 +- ...plicit-fall-through-so-Wextra-will-work-i.patch | 34 - .../gnu-efi/gnu-efi/gcc46-compatibility.patch | 24 +- .../gnu-efi/gnu-efi/parallel-make-archives.patch | 54 +- .../gnu-efi/{gnu-efi_3.0.5.bb => gnu-efi_3.0.6.bb} | 5 +- ...0001-build-use-pkg-config-to-find-libxml2.patch | 10 +- .../bind/bind/CVE-2016-1285.patch | 154 --- .../bind/bind/CVE-2016-1286_1.patch | 79 -- .../bind/bind/CVE-2016-1286_2.patch | 317 ------ .../bind/bind/CVE-2016-2088.patch | 247 ----- .../bind/bind/CVE-2016-2775.patch | 90 -- .../bind/bind/CVE-2016-2776.patch | 123 --- .../bind/bind/CVE-2016-6170.patch | 1090 -------------------- .../bind/bind/CVE-2016-8864.patch | 219 ---- .../bind/bind/bind-confgen-build-unix.o-once.patch | 10 +- .../bind/bind/mips1-not-support-opcode.diff | 104 -- .../use-python3-and-fix-install-lib-path.patch | 36 + .../bind/{bind_9.10.3-P3.bb => bind_9.10.5-P3.bb} | 25 +- ...all-to-isc_app_ctxstart-to-not-get-signal.patch | 81 ++ meta/recipes-connectivity/dhcp/dhcp_4.3.5.bb | 1 + .../base-files/base-files/share/dot.profile | 3 +- .../dropbear/dropbear/0003-configure.patch | 13 +- .../fix-libtomcrypt-libtommath-ordering.patch | 11 +- meta/recipes-core/meta/wic-tools.bb | 10 +- meta/recipes-core/util-linux/util-linux.inc | 13 +- ...0001-automake-port-to-Perl-5.22-and-later.patch | 32 - .../{automake_1.15.bb => automake_1.15.1.bb} | 5 +- .../chrpath/chrpath/standarddoc.patch | 25 +- ...r-Use-stack_t-instead-of-struct-sigaltsta.patch | 135 +-- meta/recipes-devtools/gcc/gcc-cross.inc | 10 +- meta/recipes-devtools/git/git.inc | 1 - meta/recipes-devtools/git/git_2.11.1.bb | 11 - meta/recipes-devtools/git/git_2.13.2.bb | 11 + ...onfigure.ac-Don-t-use-gnome-common-macros.patch | 33 + .../python/python3-pygobject_3.24.1.bb | 3 +- .../valgrind/0001-fix-build-for-musl-targets.patch | 69 -- .../valgrind/0004-Fix-out-of-tree-builds.patch | 34 +- .../valgrind/valgrind/link-gz-tests.patch | 27 + .../valgrind/valgrind/ppc-headers.patch | 87 ++ .../{valgrind_3.12.0.bb => valgrind_3.13.0.bb} | 15 +- .../acpica/acpitests/aapits-linux.patch | 336 ------ .../acpica/acpitests/aapits-makefile.patch | 34 - meta/recipes-extended/acpica/acpitests_20140828.bb | 36 - .../ethtool/{ethtool_4.8.bb => ethtool_4.11.bb} | 6 +- .../{libarchive_3.3.1.bb => libarchive_3.3.2.bb} | 4 +- ...figure.ac-Remove-gnome-common-macro-calls.patch | 33 + .../gnome-desktop/gnome-desktop3_3.24.2.bb | 6 +- ...ly-install-khrplatform.h-with-EGL-or-GLES.patch | 52 + .../recipes-graphics/mesa/files/vulkan-mkdir.patch | 37 + meta/recipes-graphics/mesa/mesa-gl_17.1.4.bb | 4 - meta/recipes-graphics/mesa/mesa_17.1.4.bb | 2 + ...ild-demos-with-questionably-licensed-data.patch | 91 ++ .../vulkan-demos/0001-Fix-build-on-x86.patch | 41 + ...stalling-demos-support-out-of-tree-builds.patch | 85 ++ meta/recipes-graphics/vulkan/vulkan-demos_git.bb | 36 + ...d-protocols_1.8.bb => wayland-protocols_1.9.bb} | 4 +- meta/recipes-graphics/xorg-lib/libx11_1.6.5.bb | 3 + ...il-don-t-link-makestrs-with-target-cflags.patch | 33 + meta/recipes-graphics/xorg-lib/libxt_1.1.5.bb | 4 +- meta/recipes-kernel/linux/linux-yocto-dev.bb | 2 +- meta/recipes-kernel/linux/linux-yocto-rt_4.1.bb | 6 +- meta/recipes-kernel/linux/linux-yocto-rt_4.10.bb | 2 +- meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb | 6 +- meta/recipes-kernel/linux/linux-yocto-rt_4.9.bb | 6 +- meta/recipes-kernel/linux/linux-yocto-tiny_4.1.bb | 6 +- meta/recipes-kernel/linux/linux-yocto-tiny_4.10.bb | 2 +- meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb | 6 +- meta/recipes-kernel/linux/linux-yocto-tiny_4.9.bb | 6 +- meta/recipes-kernel/linux/linux-yocto_4.1.bb | 20 +- meta/recipes-kernel/linux/linux-yocto_4.10.bb | 2 +- meta/recipes-kernel/linux/linux-yocto_4.4.bb | 20 +- meta/recipes-kernel/linux/linux-yocto_4.9.bb | 20 +- ...hbox-desktop_2.1.bb => matchbox-desktop_2.2.bb} | 6 +- .../{webkitgtk_2.16.3.bb => webkitgtk_2.16.5.bb} | 10 +- .../apr/{apr_1.5.2.bb => apr_1.6.2.bb} | 4 +- ...debianutils_4.8.1.bb => debianutils_4.8.1.1.bb} | 7 +- .../libbsd/libbsd/0002-Remove-funopen.patch | 21 +- ...3-Fix-build-breaks-due-to-missing-a.out.h.patch | 130 --- .../libbsd/{libbsd_0.8.3.bb => libbsd_0.8.5.bb} | 7 +- meta/recipes-support/libgcrypt/libgcrypt_1.7.6.bb | 4 - meta/recipes-support/libgcrypt/libgcrypt_1.7.7.bb | 4 + scripts/lib/recipetool/create.py | 35 +- scripts/lib/wic/misc.py | 9 +- scripts/lib/wic/plugins/source/bootimg-pcbios.py | 5 +- .../lib/wic/plugins/source/isoimage-isohybrid.py | 88 +- scripts/runqemu | 118 +-- scripts/wic | 14 +- 104 files changed, 1219 insertions(+), 3591 deletions(-) delete mode 100644 meta/recipes-bsp/gnu-efi/gnu-efi/0001-Mark-our-explicit-fall-through-so-Wextra-will-work-i.patch rename meta/recipes-bsp/gnu-efi/{gnu-efi_3.0.5.bb => gnu-efi_3.0.6.bb} (92%) delete mode 100644 meta/recipes-connectivity/bind/bind/CVE-2016-1285.patch delete mode 100644 meta/recipes-connectivity/bind/bind/CVE-2016-1286_1.patch delete mode 100644 meta/recipes-connectivity/bind/bind/CVE-2016-1286_2.patch delete mode 100644 meta/recipes-connectivity/bind/bind/CVE-2016-2088.patch delete mode 100644 meta/recipes-connectivity/bind/bind/CVE-2016-2775.patch delete mode 100644 meta/recipes-connectivity/bind/bind/CVE-2016-2776.patch delete mode 100644 meta/recipes-connectivity/bind/bind/CVE-2016-6170.patch delete mode 100644 meta/recipes-connectivity/bind/bind/CVE-2016-8864.patch delete mode 100644 meta/recipes-connectivity/bind/bind/mips1-not-support-opcode.diff create mode 100644 meta/recipes-connectivity/bind/bind/use-python3-and-fix-install-lib-path.patch rename meta/recipes-connectivity/bind/{bind_9.10.3-P3.bb => bind_9.10.5-P3.bb} (85%) create mode 100644 meta/recipes-connectivity/dhcp/dhcp/Moved-the-call-to-isc_app_ctxstart-to-not-get-signal.patch delete mode 100644 meta/recipes-devtools/automake/automake/0001-automake-port-to-Perl-5.22-and-later.patch rename meta/recipes-devtools/automake/{automake_1.15.bb => automake_1.15.1.bb} (84%) delete mode 100644 meta/recipes-devtools/git/git_2.11.1.bb create mode 100644 meta/recipes-devtools/git/git_2.13.2.bb create mode 100644 meta/recipes-devtools/python/python3-pygobject/0001-configure.ac-Don-t-use-gnome-common-macros.patch delete mode 100644 meta/recipes-devtools/valgrind/valgrind/0001-fix-build-for-musl-targets.patch create mode 100644 meta/recipes-devtools/valgrind/valgrind/link-gz-tests.patch create mode 100644 meta/recipes-devtools/valgrind/valgrind/ppc-headers.patch rename meta/recipes-devtools/valgrind/{valgrind_3.12.0.bb => valgrind_3.13.0.bb} (92%) delete mode 100644 meta/recipes-extended/acpica/acpitests/aapits-linux.patch delete mode 100644 meta/recipes-extended/acpica/acpitests/aapits-makefile.patch delete mode 100644 meta/recipes-extended/acpica/acpitests_20140828.bb rename meta/recipes-extended/ethtool/{ethtool_4.8.bb => ethtool_4.11.bb} (81%) rename meta/recipes-extended/libarchive/{libarchive_3.3.1.bb => libarchive_3.3.2.bb} (93%) create mode 100644 meta/recipes-gnome/gnome-desktop/gnome-desktop/0001-configure.ac-Remove-gnome-common-macro-calls.patch create mode 100644 meta/recipes-graphics/mesa/files/0001-mapi-Only-install-khrplatform.h-with-EGL-or-GLES.patch create mode 100644 meta/recipes-graphics/mesa/files/vulkan-mkdir.patch create mode 100644 meta/recipes-graphics/vulkan/vulkan-demos/0001-Don-t-build-demos-with-questionably-licensed-data.patch create mode 100644 meta/recipes-graphics/vulkan/vulkan-demos/0001-Fix-build-on-x86.patch create mode 100644 meta/recipes-graphics/vulkan/vulkan-demos/0001-Support-installing-demos-support-out-of-tree-builds.patch create mode 100644 meta/recipes-graphics/vulkan/vulkan-demos_git.bb rename meta/recipes-graphics/wayland/{wayland-protocols_1.8.bb => wayland-protocols_1.9.bb} (85%) create mode 100644 meta/recipes-graphics/xorg-lib/libxt/0001-libXt-util-don-t-link-makestrs-with-target-cflags.patch rename meta/recipes-sato/matchbox-desktop/{matchbox-desktop_2.1.bb => matchbox-desktop_2.2.bb} (87%) rename meta/recipes-sato/webkit/{webkitgtk_2.16.3.bb => webkitgtk_2.16.5.bb} (94%) rename meta/recipes-support/apr/{apr_1.5.2.bb => apr_1.6.2.bb} (96%) rename meta/recipes-support/debianutils/{debianutils_4.8.1.bb => debianutils_4.8.1.1.bb} (86%) delete mode 100644 meta/recipes-support/libbsd/libbsd/0003-Fix-build-breaks-due-to-missing-a.out.h.patch rename meta/recipes-support/libbsd/{libbsd_0.8.3.bb => libbsd_0.8.5.bb} (85%) delete mode 100644 meta/recipes-support/libgcrypt/libgcrypt_1.7.6.bb create mode 100644 meta/recipes-support/libgcrypt/libgcrypt_1.7.7.bb -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:02:18 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:02:18 +0000 Subject: [oe-commits] [openembedded-core] 09/64: classes/sanity: check for case-sensitive file systems In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130210.9681023354C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 20ce04fb64f559e64490d53678fa00644a92894a Author: Ross Burton AuthorDate: Wed Jul 12 20:32:26 2017 +0100 classes/sanity: check for case-sensitive file systems Case-insensitive file systems fail during builds in very mysterious ways, such as mpfr: ERROR: patch_do_patch: Not a directory The problem here being that mpfr has a PATCHES file, so when we try to copy the patches into ${S}/patches/ it fails. We can't and won't support case-insensitive file systems so add a sanity check to abort the build if one is found. Signed-off-by: Ross Burton --- meta/classes/sanity.bbclass | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass index b746b17..5699287 100644 --- a/meta/classes/sanity.bbclass +++ b/meta/classes/sanity.bbclass @@ -350,6 +350,14 @@ def check_not_nfs(path, name): return "The %s: %s can't be located on nfs.\n" % (name, path) return "" +# Check that the path is on a case-sensitive file system +def check_case_sensitive(path, name): + import tempfile + with tempfile.NamedTemporaryFile(prefix='TmP', dir=path) as tmp_file: + if os.path.exists(tmp_file.name.lower()): + return "The %s (%s) can't be on a case-insensitive file system.\n" % (name, path) + return "" + # Check that path isn't a broken symlink def check_symlink(lnk, data): if os.path.islink(lnk) and not os.path.exists(lnk): @@ -672,6 +680,10 @@ def check_sanity_version_change(status, d): # Check that TMPDIR isn't located on nfs status.addresult(check_not_nfs(tmpdir, "TMPDIR")) + # Check for case-insensitive file systems (such as Linux in Docker on + # macOS with default HFS+ file system) + status.addresult(check_case_sensitive(tmpdir, "TMPDIR")) + def sanity_check_locale(d): """ Currently bitbake switches locale to en_US.UTF-8 so check that this locale actually exists. -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:02:15 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:02:15 +0000 Subject: [oe-commits] [openembedded-core] 06/64: bitbake.conf: add CCACHE_NOHASHDIR to hash whitelist In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130210.83672233548@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 59e1264aea5fa0a0228e716626789c19355f7d9c Author: Ross Burton AuthorDate: Mon Jul 10 17:03:37 2017 +0100 bitbake.conf: add CCACHE_NOHASHDIR to hash whitelist --- meta/conf/bitbake.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf index 042a03c..9a3aa8b 100644 --- a/meta/conf/bitbake.conf +++ b/meta/conf/bitbake.conf @@ -842,7 +842,7 @@ BB_HASHBASE_WHITELIST ?= "TMPDIR FILE PATH PWD BB_TASKHASH BBPATH BBSERVER DL_DI SSTATE_DIR THISDIR FILESEXTRAPATHS FILE_DIRNAME HOME LOGNAME SHELL TERM \ USER FILESPATH STAGING_DIR_HOST STAGING_DIR_TARGET COREBASE PRSERV_HOST \ PRSERV_DUMPDIR PRSERV_DUMPFILE PRSERV_LOCKDOWN PARALLEL_MAKE \ - CCACHE_DIR EXTERNAL_TOOLCHAIN CCACHE LICENSE_PATH SDKPKGSUFFIX \ + CCACHE_DIR EXTERNAL_TOOLCHAIN CCACHE CCACHE_NOHASHDIR LICENSE_PATH SDKPKGSUFFIX \ WARN_QA ERROR_QA WORKDIR STAMPCLEAN PKGDATA_DIR BUILD_ARCH SSTATE_PKGARCH \ BB_WORKERCONTEXT BB_LIMITEDDEPS extend_recipe_sysroot DEPLOY_DIR" BB_HASHCONFIG_WHITELIST ?= "${BB_HASHBASE_WHITELIST} DATE TIME SSH_AGENT_PID \ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:02:19 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:02:19 +0000 Subject: [oe-commits] [openembedded-core] 10/64: image_types: remove Hob convenience variable In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130210.9C79623354E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 2b30dcdc903c1b0c18e14e39b954177628d058bd Author: Joshua Lock AuthorDate: Wed Jul 12 20:08:20 2017 +0100 image_types: remove Hob convenience variable IMAGE_EXTENSION_live is no longer used. It was used by Hob to map the live image type, but Hob is no longer part of the Bitbake codebase. Signed-off-by: Joshua Lock Signed-off-by: Ross Burton --- meta/classes/image_types.bbclass | 3 --- 1 file changed, 3 deletions(-) diff --git a/meta/classes/image_types.bbclass b/meta/classes/image_types.bbclass index 92e0f2c..d04bb08 100644 --- a/meta/classes/image_types.bbclass +++ b/meta/classes/image_types.bbclass @@ -301,9 +301,6 @@ RUNNABLE_MACHINE_PATTERNS ?= "qemu" DEPLOYABLE_IMAGE_TYPES ?= "hddimg iso" -# Use IMAGE_EXTENSION_xxx to map image type 'xxx' with real image file extension name(s) for Hob -IMAGE_EXTENSION_live = "hddimg iso" - # The IMAGE_TYPES_MASKED variable will be used to mask out from the IMAGE_FSTYPES, # images that will not be built at do_rootfs time: vmdk, vdi, qcow2, hdddirect, hddimg, iso, etc. IMAGE_TYPES_MASKED ?= "" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:02:16 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:02:16 +0000 Subject: [oe-commits] [openembedded-core] 07/64: ccache: let ccache create CCACHE_DIR, reducing hash changes In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130210.88FF523354A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 408c5c0f942fa4a7b4df6aacf336d685037ca76c Author: Ross Burton AuthorDate: Mon Jul 10 17:04:03 2017 +0100 ccache: let ccache create CCACHE_DIR, reducing hash changes Signed-off-by: Ross Burton --- meta/classes/ccache.bbclass | 3 --- 1 file changed, 3 deletions(-) diff --git a/meta/classes/ccache.bbclass b/meta/classes/ccache.bbclass index 9f1b1f4..9609020 100644 --- a/meta/classes/ccache.bbclass +++ b/meta/classes/ccache.bbclass @@ -9,6 +9,3 @@ export CCACHE_NOHASHDIR ?= "1" DEPENDS_append_class-target = " ccache-native" DEPENDS[vardepvalueexclude] = " ccache-native" - -do_configure[dirs] =+ "${CCACHE_DIR}" -do_kernel_configme[dirs] =+ "${CCACHE_DIR}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:02:23 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:02:23 +0000 Subject: [oe-commits] [openembedded-core] 14/64: wic: isoimage: do not remove temp directory In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130210.B7476233556@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit fc12ce9d1b92cc0104cf456af1e3d5f146b9219d Author: Ed Bartosh AuthorDate: Fri Jul 14 15:33:01 2017 +0300 wic: isoimage: do not remove temp directory Removed isodir subrdirectory instead of removing temporary working directory as working directory can contain copy of rootfs partition and shouldn't be removed by any plugin. Signed-off-by: Ed Bartosh Signed-off-by: Ross Burton --- scripts/lib/wic/plugins/source/isoimage-isohybrid.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/lib/wic/plugins/source/isoimage-isohybrid.py b/scripts/lib/wic/plugins/source/isoimage-isohybrid.py index 85f35f7..ffa5429 100644 --- a/scripts/lib/wic/plugins/source/isoimage-isohybrid.py +++ b/scripts/lib/wic/plugins/source/isoimage-isohybrid.py @@ -204,8 +204,8 @@ class IsoImagePlugin(SourcePlugin): """ isodir = "%s/ISO/" % cr_workdir - if os.path.exists(cr_workdir): - shutil.rmtree(cr_workdir) + if os.path.exists(isodir): + shutil.rmtree(isodir) install_cmd = "install -d %s " % isodir exec_cmd(install_cmd) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:02:20 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:02:20 +0000 Subject: [oe-commits] [openembedded-core] 11/64: distro_alias.inc: update unmap packages to other distro In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130210.A3260233550@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit aed3cebdfbd4f483644a8c200f27d52b981728a3 Author: Shen Joon Tan AuthorDate: Thu Jul 13 10:23:06 2017 +0800 distro_alias.inc: update unmap packages to other distro Added packages with different names or based on sources that generates multiple binaries eg: python-pycurl source generates python3-pycurl as well. Currently, some of these packages are not displayed as part of other distro due to naming differences on the source rather than the binaries as a single source could produce multiple binaries with different names. Signed-off-by: Shen Joon Tan Signed-off-by: Ross Burton --- meta/conf/distro/include/distro_alias.inc | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/meta/conf/distro/include/distro_alias.inc b/meta/conf/distro/include/distro_alias.inc index ba47f90..f7c8b4a 100644 --- a/meta/conf/distro/include/distro_alias.inc +++ b/meta/conf/distro/include/distro_alias.inc @@ -62,6 +62,7 @@ DISTRO_PN_ALIAS_pn-core-image-testmaster = "OE-Core" DISTRO_PN_ALIAS_pn-core-image-testmaster-initramfs = "OE-Core" DISTRO_PN_ALIAS_pn-core-image-weston = "OE-Core" DISTRO_PN_ALIAS_pn-core-image-x11 = "OE-Core" +DISTRO_PN_ALIAS_pn-createrepo-c = "Fedora=createrepo_c Clear=createrepo_c" DISTRO_PN_ALIAS_pn-cross-localedef = "OSPDT" DISTRO_PN_ALIAS_pn-cryptodev-linux = "OE-Core" DISTRO_PN_ALIAS_pn-cryptodev-module = "OE-Core" @@ -128,6 +129,7 @@ DISTRO_PN_ALIAS_pn-gstreamer1.0-plugins-bad = "Debian=gstreamer1.0-plugins-bad U DISTRO_PN_ALIAS_pn-gstreamer1.0-plugins-base = "Debian=gstreamer1.0-plugins-base Ubuntu=gstreamer1.0-plugins-base" DISTRO_PN_ALIAS_pn-gstreamer1.0-plugins-good = "Debian=gstreamer1.0-plugins-good Ubuntu=gstreamer1.0-plugins-bad" DISTRO_PN_ALIAS_pn-gstreamer1.0-rtsp-server = "Ubuntu=gstreamer0.10-rtsp Fedora=gstreamer-rtsp" +DISTRO_PN_ALIAS_pn-gstreamer1.0-vaapi = "Fedora=gstreamer1-vaapi Debian=gstreamer-vaapi Clear=gstreamer-vaapi" DISTRO_PN_ALIAS_pn-gtk+ = "Meego=gtk2 Fedora=gtk2 OpenSuSE=gtk2 Ubuntu=gtk+2.0 Mandriva=gtk+2.0 Debian=gtk+2.0" DISTRO_PN_ALIAS_pn-gtk+3 = "Ubuntu=gtk+3.0 Debian=gtk+3.0 Fedora=gtk3" DISTRO_PN_ALIAS_pn-gtk-doc = "Fedora=gtk-doc Ubuntu=gtk-doc" @@ -193,6 +195,7 @@ DISTRO_PN_ALIAS_pn-libomxil = "OSPDT upstream=http://omxil.sourceforge.net/" DISTRO_PN_ALIAS_pn-libowl = "Debian=owl OpenedHand" DISTRO_PN_ALIAS_pn-libpam = "Meego=pam Fedora=pam OpenSuSE=pam Ubuntu=pam Mandriva=pam Debian=pam" DISTRO_PN_ALIAS_pn-libpcre = "Mandriva=libpcre0 Fedora=pcre" +DISTRO_PN_ALIAS_pn-libpcre2 = "Fedora=pcre2 Debian=pcre2 Clear=pcre2" DISTRO_PN_ALIAS_pn-libpng12 = "Debian=libpng12-0 Fedora=libpng" DISTRO_PN_ALIAS_pn-libpod-plainer-perl = "OSPDT" DISTRO_PN_ALIAS_pn-libsamplerate0 = "Meego=libsamplerate Fedora=libsamplerate OpenSuSE=libsamplerate Ubuntu=libsamplerate Mandriva=libsamplerate Debian=libsamplerate" @@ -207,6 +210,7 @@ DISTRO_PN_ALIAS_pn-libusb1 = "Debian=libusb-1.0-0 Fedora=libusb1" DISTRO_PN_ALIAS_pn-libusb-compat = "OSPDT" DISTRO_PN_ALIAS_pn-libx11 = "Debian=libx11-6 Fedora=libX11 Ubuntu=libx11-6 OpenSuSE=xorg-x11-libX11" DISTRO_PN_ALIAS_pn-libxcalibrate = "OSPDT upstream=http://cgit.freedesktop.org/xorg/lib/libXCalibrate/" +DISTRO_PN_ALIAS_pn-libxfont2 = "Fedora=libXfont2 Clear=libXfont2" DISTRO_PN_ALIAS_pn-libxft = "Mandriva=libxft Debian=libxft2 Ubuntu=libxft2" DISTRO_PN_ALIAS_pn-libxi = "Ubuntu=libxi Fedora=libXi" DISTRO_PN_ALIAS_pn-libxkbcommon = "Fedora=libxkbcommon Debian=libxkbcommon" @@ -323,7 +327,10 @@ DISTRO_PN_ALIAS_pn-pulseaudio-client-conf-sato = "OE-Core" DISTRO_PN_ALIAS_pn-puzzles = "Debian=sgt-puzzles Fedora=puzzles" DISTRO_PN_ALIAS_pn-python3 = "Fedora=python3 Debian=python3.2" DISTRO_PN_ALIAS_pn-python3-distribute = "Debian=python3-setuptools Fedora=python3-setuptools" +DISTRO_PN_ALIAS_pn-python3-iniparse = "Fedora=python-iniparse Debian=python-iniparse" DISTRO_PN_ALIAS_pn-python3-pip = "OpenSuSE=python3-pip Debian=python3-pip" +DISTRO_PN_ALIAS_pn-python3-pycurl = "Fedora=python-pycurl Debian=pycurl" +DISTRO_PN_ALIAS_pn-python3-pygpgme = "Fedora=python-pygpgme Debian=pygpgme" DISTRO_PN_ALIAS_pn-python3-setuptools = "OpenSuSE=python3-setuptools Debian=python3-setuptools" DISTRO_PN_ALIAS_pn-python-dbus = "Ubuntu=python-dbus Debian=python-dbus Mandriva=python-dbus" DISTRO_PN_ALIAS_pn-python-distribute = "Opensuse=python-setuptools Fedora=python-setuptools" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:02:24 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:02:24 +0000 Subject: [oe-commits] [openembedded-core] 15/64: wic: build wic-tools only if wic is run manually In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130210.BFF40233557@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 522ac21831944b06fbcc372ac61762576d792c22 Author: Ed Bartosh AuthorDate: Fri Jul 14 15:33:02 2017 +0300 wic: build wic-tools only if wic is run manually When wic can't find native sysroot it tries to build wic-tools However, it's not possible when wic is run from bitbake. Moreover, it's not even feasible anymore as wic-tools should be used only when wic is run manually. Checked if wic is run manually before building wic-tools. Signed-off-by: Ed Bartosh Signed-off-by: Ross Burton --- scripts/wic | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/scripts/wic b/scripts/wic index b8d2a86..02bc82c 100755 --- a/scripts/wic +++ b/scripts/wic @@ -164,15 +164,15 @@ def wic_create_subcommand(options, usage_str): "(Use -e/--image-name to specify it)") native_sysroot = options.native_sysroot - if not native_sysroot or not os.path.isdir(native_sysroot): + if not options.vars_dir and (not native_sysroot or not os.path.isdir(native_sysroot)): logger.info("Building wic-tools...\n") if bitbake_main(BitBakeConfigParameters("bitbake wic-tools".split()), cookerdata.CookerConfiguration()): raise WicError("bitbake wic-tools failed") native_sysroot = get_bitbake_var("RECIPE_SYSROOT_NATIVE", "wic-tools") - if not native_sysroot: - raise WicError("Unable to find the location of the native " - "tools sysroot to use") + + if not native_sysroot: + raise WicError("Unable to find the location of the native tools sysroot") wks_file = options.wks_file -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:02:26 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:02:26 +0000 Subject: [oe-commits] [openembedded-core] 17/64: wic-tools: don't create wic-tools.env In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130210.CD4A023355A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 47b569553f1211e04ee21ebdece2ee3a509a83be Author: Ed Bartosh AuthorDate: Fri Jul 14 15:33:04 2017 +0300 wic-tools: don't create wic-tools.env wic-tools.env was uses only when wic is run from bitbake. As wic doesn't use wic-tools anymore in this mode there is no need for this file. Signed-off-by: Ed Bartosh Signed-off-by: Ross Burton --- meta/recipes-core/meta/wic-tools.bb | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/meta/recipes-core/meta/wic-tools.bb b/meta/recipes-core/meta/wic-tools.bb index cd494ec..c416a2e 100644 --- a/meta/recipes-core/meta/wic-tools.bb +++ b/meta/recipes-core/meta/wic-tools.bb @@ -11,6 +11,7 @@ DEPENDS_append_x86 = " syslinux grub-efi systemd-boot" DEPENDS_append_x86-64 = " syslinux grub-efi systemd-boot" INHIBIT_DEFAULT_DEPS = "1" + inherit nopackages # The sysroot of wic-tools is needed for wic, but if rm_work is enabled, it will @@ -19,14 +20,5 @@ RM_WORK_EXCLUDE += "${PN}" python do_build_sysroot () { bb.build.exec_func("extend_recipe_sysroot", d) - - # Write environment variables used by wic - # to tmp/sysroots//imgdata/wictools.env - outdir = os.path.join(d.getVar('STAGING_DIR'), d.getVar('MACHINE'), 'imgdata') - bb.utils.mkdirhier(outdir) - with open(os.path.join(outdir, "wic-tools.env"), 'w') as envf: - for var in ('RECIPE_SYSROOT_NATIVE', 'STAGING_DATADIR', 'STAGING_LIBDIR'): - envf.write('%s="%s"\n' % (var, d.getVar(var).strip())) - } addtask do_build_sysroot after do_prepare_recipe_sysroot before do_build -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:02:22 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:02:22 +0000 Subject: [oe-commits] [openembedded-core] 13/64: wic: get rid of using wic-tools In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130210.B01E9233554@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 33ca15b94dbe7204c556c4b5526edd529f6d85f4 Author: Ed Bartosh AuthorDate: Fri Jul 14 15:33:00 2017 +0300 wic: get rid of using wic-tools At the moment, when building images with IMAGE_FSTYPES=wic one ends up depending on wic-tools and thus syslinux and grub-efi even when not using those at all. Ideally, building an image with wic should only build the tools and components really needed. The problem is that "wic-tools" is needed also for the manual invocations of wic, in which case everything that might be needed has to be built in advance. Replaced dependency on wic-tools with dependency to a much shorter set of tools that wic uses almost for any image: 'parted', 'gptfdisk', 'dosfstools' and 'mtools'. [YOCTO #11552] Signed-off-by: Ed Bartosh Signed-off-by: Ross Burton --- meta/classes/image_types_wic.bbclass | 2 +- scripts/lib/wic/misc.py | 9 +++------ scripts/lib/wic/plugins/source/bootimg-pcbios.py | 5 ++--- scripts/lib/wic/plugins/source/isoimage-isohybrid.py | 4 ++-- scripts/wic | 6 ++++-- 5 files changed, 12 insertions(+), 14 deletions(-) diff --git a/meta/classes/image_types_wic.bbclass b/meta/classes/image_types_wic.bbclass index 5cd1c08..4d85330 100644 --- a/meta/classes/image_types_wic.bbclass +++ b/meta/classes/image_types_wic.bbclass @@ -39,7 +39,7 @@ IMAGE_CMD_wic[vardepsexclude] = "WKS_FULL_PATH WKS_FILES" USING_WIC = "${@bb.utils.contains_any('IMAGE_FSTYPES', 'wic ' + ' '.join('wic.%s' % c for c in '${CONVERSIONTYPES}'.split()), '1', '', d)}" WKS_FILE_CHECKSUM = "${@'${WKS_FULL_PATH}:%s' % os.path.exists('${WKS_FULL_PATH}') if '${USING_WIC}' else ''}" do_image_wic[file-checksums] += "${WKS_FILE_CHECKSUM}" -do_image_wic[depends] += "wic-tools:do_populate_sysroot" +do_image_wic[depends] += "${@' '.join('%s-native:do_populate_sysroot' % r for r in ('parted', 'gptfdisk', 'dosfstools', 'mtools'))}" WKS_FILE_DEPENDS ??= '' DEPENDS += "${@ '${WKS_FILE_DEPENDS}' if d.getVar('USING_WIC') else '' }" diff --git a/scripts/lib/wic/misc.py b/scripts/lib/wic/misc.py index 3ebae0a..4e07cd6 100644 --- a/scripts/lib/wic/misc.py +++ b/scripts/lib/wic/misc.py @@ -139,14 +139,11 @@ def exec_native_cmd(cmd_and_args, native_sysroot, pseudo=""): if pseudo: cmd_and_args = pseudo + cmd_and_args - wtools_sysroot = get_bitbake_var("RECIPE_SYSROOT_NATIVE", "wic-tools") + native_paths = "%s/sbin:%s/usr/sbin:%s/usr/bin" % \ + (native_sysroot, native_sysroot, native_sysroot) - native_paths = \ - "%s/sbin:%s/usr/sbin:%s/usr/bin:%s/sbin:%s/usr/sbin:%s/usr/bin" % \ - (wtools_sysroot, wtools_sysroot, wtools_sysroot, - native_sysroot, native_sysroot, native_sysroot) native_cmd_and_args = "export PATH=%s:$PATH;%s" % \ - (native_paths, cmd_and_args) + (native_paths, cmd_and_args) logger.debug("exec_native_cmd: %s", native_cmd_and_args) # If the command isn't in the native sysroot say we failed. diff --git a/scripts/lib/wic/plugins/source/bootimg-pcbios.py b/scripts/lib/wic/plugins/source/bootimg-pcbios.py index e3518d2..56da468 100644 --- a/scripts/lib/wic/plugins/source/bootimg-pcbios.py +++ b/scripts/lib/wic/plugins/source/bootimg-pcbios.py @@ -45,10 +45,9 @@ class BootimgPcbiosPlugin(SourcePlugin): @classmethod def _get_bootimg_dir(cls, bootimg_dir, dirname): """ - Check if dirname exists in default bootimg_dir or - in wic-tools STAGING_DIR. + Check if dirname exists in default bootimg_dir or in STAGING_DIR. """ - for result in (bootimg_dir, get_bitbake_var("STAGING_DATADIR", "wic-tools")): + for result in (bootimg_dir, get_bitbake_var("STAGING_DATADIR")): if os.path.exists("%s/%s" % (result, dirname)): return result diff --git a/scripts/lib/wic/plugins/source/isoimage-isohybrid.py b/scripts/lib/wic/plugins/source/isoimage-isohybrid.py index db77113..85f35f7 100644 --- a/scripts/lib/wic/plugins/source/isoimage-isohybrid.py +++ b/scripts/lib/wic/plugins/source/isoimage-isohybrid.py @@ -342,7 +342,7 @@ class IsoImagePlugin(SourcePlugin): if not os.path.isfile("%s/EFI/BOOT/%s" \ % (bootimg_dir, grub_image)): - grub_path = get_bitbake_var("STAGING_LIBDIR", "wic-tools") + grub_path = get_bitbake_var("STAGING_LIBDIR") if not grub_path: raise WicError("Couldn't find STAGING_LIBDIR, exiting.") @@ -411,7 +411,7 @@ class IsoImagePlugin(SourcePlugin): exec_cmd(chmod_cmd) # Prepare files for legacy boot - syslinux_dir = get_bitbake_var("STAGING_DATADIR", "wic-tools") + syslinux_dir = get_bitbake_var("STAGING_DATADIR") if not syslinux_dir: raise WicError("Couldn't find STAGING_DATADIR, exiting.") diff --git a/scripts/wic b/scripts/wic index 81fc85d..b8d2a86 100755 --- a/scripts/wic +++ b/scripts/wic @@ -154,8 +154,10 @@ def wic_create_subcommand(options, usage_str): rootfs_dir = get_bitbake_var("IMAGE_ROOTFS", options.image_name) kernel_dir = get_bitbake_var("DEPLOY_DIR_IMAGE", options.image_name) bootimg_dir = get_bitbake_var("STAGING_DATADIR", options.image_name) - native_sysroot = get_bitbake_var("RECIPE_SYSROOT_NATIVE", - options.image_name) #, cache=False) + + native_sysroot = options.native_sysroot + if options.vars_dir and not native_sysroot: + native_sysroot = get_bitbake_var("RECIPE_SYSROOT_NATIVE", options.image_name) else: if options.build_rootfs: raise WicError("Image name is not specified, exiting. " -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:02:14 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:02:14 +0000 Subject: [oe-commits] [openembedded-core] 05/64: ccache: don't export CCACHE_DISABLE globally In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130210.7CE73233546@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit ef33a3138384667f819688141086102e6e83ec44 Author: Ross Burton AuthorDate: Mon Jul 10 16:31:31 2017 +0100 ccache: don't export CCACHE_DISABLE globally CCACHE_DISABLE was added to bitbake.conf in oe-core dd2bab (June 2012) because autogen-native exports HOME=/dev/null during the build, which is then used by a host ccache to construct the path to it's cache (/dev/null/.ccache) and this fails. However we now always export CCACHE_DIR to solve the same problem in a more efficient way so CCACHE_DISABLE can be deleted. Signed-off-by: Ross Burton --- meta/classes/ccache.bbclass | 1 - meta/conf/bitbake.conf | 5 +---- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/meta/classes/ccache.bbclass b/meta/classes/ccache.bbclass index d58c8f6..9f1b1f4 100644 --- a/meta/classes/ccache.bbclass +++ b/meta/classes/ccache.bbclass @@ -1,6 +1,5 @@ CCACHE = "${@bb.utils.which(d.getVar('PATH'), 'ccache') and 'ccache '}" export CCACHE_DIR ?= "${TMPDIR}/ccache/${MULTIMACH_TARGET_SYS}/${PN}" -CCACHE_DISABLE[unexport] = "1" # We need to stop ccache considering the current directory or the # debug-prefix-map target directory to be significant when calculating diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf index 962eb43..042a03c 100644 --- a/meta/conf/bitbake.conf +++ b/meta/conf/bitbake.conf @@ -480,9 +480,6 @@ HOSTTOOLS_NONFATAL += "aws ccache gcc-ar gpg ld.bfd ld.gold nc sftp socat sudo" HOSTTOOLS_NONFATAL += "join nl size yes zcat" CCACHE ??= "" -# Disable ccache explicitly if CCACHE is null since gcc may be a symlink -# of ccache some distributions (e.g., Fedora 17). -export CCACHE_DISABLE ??= "${@[0,1][d.getVar('CCACHE') == '']}" # ccache < 3.1.10 will create CCACHE_DIR on startup even if disabled, and # autogen sets HOME=/dev/null so in certain situations builds can fail. # Explicitly export CCACHE_DIR until we can assume ccache >3.1.10 on the host. @@ -845,7 +842,7 @@ BB_HASHBASE_WHITELIST ?= "TMPDIR FILE PATH PWD BB_TASKHASH BBPATH BBSERVER DL_DI SSTATE_DIR THISDIR FILESEXTRAPATHS FILE_DIRNAME HOME LOGNAME SHELL TERM \ USER FILESPATH STAGING_DIR_HOST STAGING_DIR_TARGET COREBASE PRSERV_HOST \ PRSERV_DUMPDIR PRSERV_DUMPFILE PRSERV_LOCKDOWN PARALLEL_MAKE \ - CCACHE_DIR EXTERNAL_TOOLCHAIN CCACHE CCACHE_DISABLE LICENSE_PATH SDKPKGSUFFIX \ + CCACHE_DIR EXTERNAL_TOOLCHAIN CCACHE LICENSE_PATH SDKPKGSUFFIX \ WARN_QA ERROR_QA WORKDIR STAMPCLEAN PKGDATA_DIR BUILD_ARCH SSTATE_PKGARCH \ BB_WORKERCONTEXT BB_LIMITEDDEPS extend_recipe_sysroot DEPLOY_DIR" BB_HASHCONFIG_WHITELIST ?= "${BB_HASHBASE_WHITELIST} DATE TIME SSH_AGENT_PID \ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:02:25 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:02:25 +0000 Subject: [oe-commits] [openembedded-core] 16/64: wic: isoimage-isohybrid: check result of glob() In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130210.C6DAD233558@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit ad02f253f08a3da3fa5c86ae4f6ba7f94b070578 Author: Ed Bartosh AuthorDate: Fri Jul 14 15:33:03 2017 +0300 wic: isoimage-isohybrid: check result of glob() isoimage-isohybrid plugin uses result of glob call to get path to initrd image. When glob returns empty list the plugin crashes with IndexError. Checking if result of glob call is not empty should fix the breakage. Signed-off-by: Ed Bartosh Signed-off-by: Ross Burton --- scripts/lib/wic/plugins/source/isoimage-isohybrid.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/scripts/lib/wic/plugins/source/isoimage-isohybrid.py b/scripts/lib/wic/plugins/source/isoimage-isohybrid.py index ffa5429..ece4b0c 100644 --- a/scripts/lib/wic/plugins/source/isoimage-isohybrid.py +++ b/scripts/lib/wic/plugins/source/isoimage-isohybrid.py @@ -164,9 +164,12 @@ class IsoImagePlugin(SourcePlugin): machine = os.path.basename(initrd_dir) - initrd = glob.glob('%s/%s*%s.%s' % (initrd_dir, image_name, machine, image_type))[0] + pattern = '%s/%s*%s.%s' % (initrd_dir, image_name, machine, image_type) + files = glob.glob(pattern) + if files: + initrd = files[0] - if not os.path.exists(initrd): + if not initrd or not os.path.exists(initrd): # Create initrd from rootfs directory initrd = "%s/initrd.cpio.gz" % cr_workdir initrd_dir = "%s/INITRD" % cr_workdir -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:02:21 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:02:21 +0000 Subject: [oe-commits] [openembedded-core] 12/64: live-vm-common: add MKDOSFS_EXTRAOPTS variable In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130210.A97EF233552@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 18b52577484d3b86bc31980a50da04141afda5f9 Author: Ed Bartosh AuthorDate: Thu Jul 6 11:43:00 2017 +0300 live-vm-common: add MKDOSFS_EXTRAOPTS variable Sometimes it's needed to create FAT filesystem with specific sector or cluster size, FAT size or to use one of other useful mkdosfs options. Introduced MKDOSFS_EXTRAOPTS variable to set options for mkdosfs. [YOCTO #11709] Signed-off-by: Ed Bartosh Signed-off-by: Ross Burton --- meta/classes/image-live.bbclass | 4 ++-- meta/classes/image-vm.bbclass | 2 +- meta/classes/live-vm-common.bbclass | 2 ++ 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/meta/classes/image-live.bbclass b/meta/classes/image-live.bbclass index 3a6e5f0..c1862b1 100644 --- a/meta/classes/image-live.bbclass +++ b/meta/classes/image-live.bbclass @@ -217,10 +217,10 @@ build_fat_img() { fi if [ -z "${HDDIMG_ID}" ]; then - mkdosfs ${FATSIZE} -n ${BOOTIMG_VOLUME_ID} -S 512 -C ${FATIMG} \ + mkdosfs ${FATSIZE} -n ${BOOTIMG_VOLUME_ID} ${MKDOSFS_EXTRAOPTS} -C ${FATIMG} \ ${BLOCKS} else - mkdosfs ${FATSIZE} -n ${BOOTIMG_VOLUME_ID} -S 512 -C ${FATIMG} \ + mkdosfs ${FATSIZE} -n ${BOOTIMG_VOLUME_ID} ${MKDOSFS_EXTRAOPTS} -C ${FATIMG} \ ${BLOCKS} -i ${HDDIMG_ID} fi diff --git a/meta/classes/image-vm.bbclass b/meta/classes/image-vm.bbclass index 98bd920..b52df9f 100644 --- a/meta/classes/image-vm.bbclass +++ b/meta/classes/image-vm.bbclass @@ -68,7 +68,7 @@ build_boot_dd() { # Remove it since mkdosfs would fail when it exists rm -f $HDDIMG - mkdosfs -n ${BOOTDD_VOLUME_ID} -S 512 -C $HDDIMG $BLOCKS + mkdosfs -n ${BOOTDD_VOLUME_ID} ${MKDOSFS_EXTRAOPTS} -C $HDDIMG $BLOCKS mcopy -i $HDDIMG -s $HDDDIR/* ::/ if [ "${PCBIOS}" = "1" ]; then diff --git a/meta/classes/live-vm-common.bbclass b/meta/classes/live-vm-common.bbclass index 27b137d..e1d8b18 100644 --- a/meta/classes/live-vm-common.bbclass +++ b/meta/classes/live-vm-common.bbclass @@ -15,6 +15,8 @@ EFI = "${@bb.utils.contains("MACHINE_FEATURES", "efi", "1", "0", d)}" EFI_PROVIDER ?= "grub-efi" EFI_CLASS = "${@bb.utils.contains("MACHINE_FEATURES", "efi", "${EFI_PROVIDER}", "", d)}" +MKDOSFS_EXTRAOPTS ??= "-S 512" + # Include legacy boot if MACHINE_FEATURES includes "pcbios" or if it does not # contain "efi". This way legacy is supported by default if neither is # specified, maintaining the original behavior. -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:02:32 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:02:32 +0000 Subject: [oe-commits] [openembedded-core] 23/64: gpg_sign.py: fix overwriting the RPM macro __gpg in a wrong way In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130210.F1F092335A0@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 2fda41cef26b600d599dfb7f2e61c5829e2b309c Author: Lans Zhang AuthorDate: Tue Jul 11 12:43:02 2017 +0800 gpg_sign.py: fix overwriting the RPM macro __gpg in a wrong way The RPM macro used in --define option should not be prefixed by %%. Signed-off-by: Lans Zhang Signed-off-by: Ross Burton --- meta/lib/oe/gpg_sign.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/lib/oe/gpg_sign.py b/meta/lib/oe/gpg_sign.py index 7ce767e..c53df54 100644 --- a/meta/lib/oe/gpg_sign.py +++ b/meta/lib/oe/gpg_sign.py @@ -36,7 +36,7 @@ class LocalSigner(object): gpg_args += ' --pinentry-mode=loopback' cmd += "--define '_gpg_sign_cmd_extra_args %s' " % gpg_args if self.gpg_bin: - cmd += "--define '%%__gpg %s' " % self.gpg_bin + cmd += "--define '__gpg %s' " % self.gpg_bin if self.gpg_path: cmd += "--define '_gpg_path %s' " % self.gpg_path -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:02:29 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:02:29 +0000 Subject: [oe-commits] [openembedded-core] 20/64: selftest: fixed 5 wic test cases In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130210.E0BEB23357A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit b7bcc4ba756aa3941c89999e9d6761738ea5bb05 Author: Ed Bartosh AuthorDate: Fri Jul 14 15:33:07 2017 +0300 selftest: fixed 5 wic test cases Added core-image-minimal -> syslinux dependency to ensure syslinux artifacts are available from core-image-minimal build. This should fix test_iso_image, test_bootloader_config and test_default_output_dir test cases. Used --native-sysroot in test_image_vars_dir_long and test_image_vars_dir_short test cases to point out to wic-tools native sysrtoot. Signed-off-by: Ed Bartosh Signed-off-by: Ross Burton --- meta/lib/oeqa/selftest/cases/wic.py | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/meta/lib/oeqa/selftest/cases/wic.py b/meta/lib/oeqa/selftest/cases/wic.py index 02c7d0f..737fbc6 100644 --- a/meta/lib/oeqa/selftest/cases/wic.py +++ b/meta/lib/oeqa/selftest/cases/wic.py @@ -188,7 +188,8 @@ class Wic(OESelftestTestCase): def test_iso_image(self): """Test creation of hybrid iso image with legacy and EFI boot""" config = 'INITRAMFS_IMAGE = "core-image-minimal-initramfs"\n'\ - 'MACHINE_FEATURES_append = " efi"\n' + 'MACHINE_FEATURES_append = " efi"\n'\ + 'DEPENDS_pn-core-image-minimal += "syslinux"\n' self.append_config(config) bitbake('core-image-minimal') self.remove_config(config) @@ -217,6 +218,10 @@ class Wic(OESelftestTestCase): @only_for_arch(['i586', 'i686', 'x86_64']) def test_bootloader_config(self): """Test creation of directdisk-bootloader-config image""" + config = 'DEPENDS_pn-core-image-minimal += "syslinux"\n' + self.append_config(config) + bitbake('core-image-minimal') + self.remove_config(config) cmd = "wic create directdisk-bootloader-config -e core-image-minimal -o %s" % self.resultdir self.assertEqual(0, runCmd(cmd).status) self.assertEqual(1, len(glob(self.resultdir + "directdisk-bootloader-config-*direct"))) @@ -248,6 +253,10 @@ class Wic(OESelftestTestCase): """Test default output location""" for fname in glob("directdisk-*.direct"): os.remove(fname) + config = 'DEPENDS_pn-core-image-minimal += "syslinux"\n' + self.append_config(config) + bitbake('core-image-minimal') + self.remove_config(config) cmd = "wic create directdisk -e core-image-minimal" self.assertEqual(0, runCmd(cmd).status) self.assertEqual(1, len(glob("directdisk-*.direct"))) @@ -569,10 +578,12 @@ part /etc --source rootfs --ondisk mmcblk0 --fstype=ext4 --exclude-path bin/ --r """Test image vars directory selection -v option""" image = 'core-image-minimal' imgenvdir = self._get_image_env_path(image) + native_sysroot = get_bb_var("RECIPE_SYSROOT_NATIVE", "wic-tools") self.assertEqual(0, runCmd("wic create wictestdisk " - "--image-name=%s -v %s -o %s" - % (image, imgenvdir, self.resultdir)).status) + "--image-name=%s -v %s -n %s -o %s" + % (image, imgenvdir, native_sysroot, + self.resultdir)).status) self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*direct"))) @OETestID(1665) @@ -580,11 +591,15 @@ part /etc --source rootfs --ondisk mmcblk0 --fstype=ext4 --exclude-path bin/ --r """Test image vars directory selection --vars option""" image = 'core-image-minimal' imgenvdir = self._get_image_env_path(image) + native_sysroot = get_bb_var("RECIPE_SYSROOT_NATIVE", "wic-tools") + self.assertEqual(0, runCmd("wic create wictestdisk " "--image-name=%s " "--vars %s " + "--native-sysroot %s " "--outdir %s" - % (image, imgenvdir, self.resultdir)).status) + % (image, imgenvdir, native_sysroot, + self.resultdir)).status) self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*direct"))) @OETestID(1351) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:02:28 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:02:28 +0000 Subject: [oe-commits] [openembedded-core] 19/64: wic: isoimage-isohybrid: use grub-efi from deploy dir In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130210.DA126233579@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 9a1709278de877085a8d92f6361624e279a603bf Author: Ed Bartosh AuthorDate: Fri Jul 14 15:33:06 2017 +0300 wic: isoimage-isohybrid: use grub-efi from deploy dir isoimage-isohybrid plugin tries to build grub-efi in its working directory if it can't find efi binary. Wic should avoid doing anything in working directories of other recipes. It should use artifacts from the image deployment directory instead. Signed-off-by: Ed Bartosh Signed-off-by: Ross Burton --- .../lib/wic/plugins/source/isoimage-isohybrid.py | 75 +++++++--------------- 1 file changed, 23 insertions(+), 52 deletions(-) diff --git a/scripts/lib/wic/plugins/source/isoimage-isohybrid.py b/scripts/lib/wic/plugins/source/isoimage-isohybrid.py index ece4b0c..d6bd3bf 100644 --- a/scripts/lib/wic/plugins/source/isoimage-isohybrid.py +++ b/scripts/lib/wic/plugins/source/isoimage-isohybrid.py @@ -95,7 +95,7 @@ class IsoImagePlugin(SourcePlugin): cfg.write(syslinux_conf) @classmethod - def do_configure_grubefi(cls, part, creator, cr_workdir): + def do_configure_grubefi(cls, part, creator, target_dir): """ Create loader-specific (grub-efi) config """ @@ -109,7 +109,7 @@ class IsoImagePlugin(SourcePlugin): raise WicError("configfile is specified " "but failed to get it from %s", configfile) else: - splash = os.path.join(cr_workdir, "EFI/boot/splash.jpg") + splash = os.path.join(target_dir, "splash.jpg") if os.path.exists(splash): splashline = "menu background splash.jpg" else: @@ -137,9 +137,10 @@ class IsoImagePlugin(SourcePlugin): if splashline: grubefi_conf += "%s\n" % splashline - logger.debug("Writing grubefi config %s/EFI/BOOT/grub.cfg", cr_workdir) + cfg_path = os.path.join(target_dir, "grub.cfg") + logger.debug("Writing grubefi config %s", cfg_path) - with open("%s/EFI/BOOT/grub.cfg" % cr_workdir, "w") as cfg: + with open(cfg_path, "w") as cfg: cfg.write(grubefi_conf) @staticmethod @@ -313,20 +314,13 @@ class IsoImagePlugin(SourcePlugin): #Create bootloader for efi boot try: - if source_params['loader'] == 'grub-efi': - # Builds grub.cfg if ISODIR didn't exist or - # didn't contains grub.cfg - bootimg_dir = img_iso_dir - if not os.path.exists("%s/EFI/BOOT" % bootimg_dir): - bootimg_dir = "%s/bootimg" % cr_workdir - if os.path.exists(bootimg_dir): - shutil.rmtree(bootimg_dir) - install_cmd = "install -d %s/EFI/BOOT" % bootimg_dir - exec_cmd(install_cmd) - - if not os.path.isfile("%s/EFI/BOOT/boot.cfg" % bootimg_dir): - cls.do_configure_grubefi(part, creator, bootimg_dir) + target_dir = "%s/EFI/BOOT" % isodir + if os.path.exists(target_dir): + shutil.rmtree(target_dir) + + os.makedirs(target_dir) + if source_params['loader'] == 'grub-efi': # Builds bootx64.efi/bootia32.efi if ISODIR didn't exist or # didn't contains it target_arch = get_bitbake_var("TARGET_SYS") @@ -334,37 +328,23 @@ class IsoImagePlugin(SourcePlugin): raise WicError("Coludn't find target architecture") if re.match("x86_64", target_arch): - grub_target = 'x86_64-efi' - grub_image = "bootx64.efi" + grub_image = "grub-efi-bootx64.efi" elif re.match('i.86', target_arch): - grub_target = 'i386-efi' - grub_image = "bootia32.efi" + grub_image = "grub-efi-bootia32.efi" else: raise WicError("grub-efi is incompatible with target %s" % target_arch) - if not os.path.isfile("%s/EFI/BOOT/%s" \ - % (bootimg_dir, grub_image)): - grub_path = get_bitbake_var("STAGING_LIBDIR") - if not grub_path: - raise WicError("Couldn't find STAGING_LIBDIR, exiting.") - - grub_core = "%s/grub/%s" % (grub_path, grub_target) - if not os.path.exists(grub_core): - raise WicError("Please build grub-efi first") - - grub_cmd = "grub-mkimage -p '/EFI/BOOT' " - grub_cmd += "-d %s " % grub_core - grub_cmd += "-O %s -o %s/EFI/BOOT/%s " \ - % (grub_target, bootimg_dir, grub_image) - grub_cmd += "part_gpt part_msdos ntfs ntfscomp fat ext2 " - grub_cmd += "normal chain boot configfile linux multiboot " - grub_cmd += "search efi_gop efi_uga font gfxterm gfxmenu " - grub_cmd += "terminal minicmd test iorw loadenv echo help " - grub_cmd += "reboot serial terminfo iso9660 loopback tar " - grub_cmd += "memdisk ls search_fs_uuid udf btrfs xfs lvm " - grub_cmd += "reiserfs ata " - exec_native_cmd(grub_cmd, native_sysroot) + grub_target = os.path.join(target_dir, grub_image) + if not os.path.isfile(grub_target): + grub_src = os.path.join(deploy_dir, grub_image) + if not os.path.exists(grub_src): + raise WicError("Grub loader %s is not found in %s. " + "Please build grub-efi first" % (grub_image, deploy_dir)) + shutil.copy(grub_src, grub_target) + + if not os.path.isfile(os.path.join(target_dir, "boot.cfg")): + cls.do_configure_grubefi(part, creator, target_dir) else: raise WicError("unrecognized bootimg-efi loader: %s" % @@ -372,15 +352,6 @@ class IsoImagePlugin(SourcePlugin): except KeyError: raise WicError("bootimg-efi requires a loader, none specified") - if os.path.exists("%s/EFI/BOOT" % isodir): - shutil.rmtree("%s/EFI/BOOT" % isodir) - - shutil.copytree(bootimg_dir+"/EFI/BOOT", isodir+"/EFI/BOOT") - - # If exists, remove cr_workdir/bootimg temporary folder - if os.path.exists("%s/bootimg" % cr_workdir): - shutil.rmtree("%s/bootimg" % cr_workdir) - # Create efi.img that contains bootloader files for EFI booting # if ISODIR didn't exist or didn't contains it if os.path.isfile("%s/efi.img" % img_iso_dir): -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:02:37 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:02:37 +0000 Subject: [oe-commits] [openembedded-core] 28/64: libx11: fix build error In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130211.1F9F923353A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit c2bc26a163be231f489ea13e6f7226715765732e Author: Maxin B. John AuthorDate: Tue Jul 11 15:58:12 2017 +0300 libx11: fix build error libx11 build fails with this error: fatal error: bits/long-double-64.h: No such file or directory | compilation terminated. This is due to the fact that "makekeys" should be compiled for the host since it is executed at build time to generate ks_tables.h. Since we have the X11 include files in the standard path of oe-core, we can remove the X11_CFLAGS from Makefile. Signed-off-by: Maxin B. John Signed-off-by: Ross Burton --- meta/recipes-graphics/xorg-lib/libx11_1.6.5.bb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/meta/recipes-graphics/xorg-lib/libx11_1.6.5.bb b/meta/recipes-graphics/xorg-lib/libx11_1.6.5.bb index 71cbf67..50e8837 100644 --- a/meta/recipes-graphics/xorg-lib/libx11_1.6.5.bb +++ b/meta/recipes-graphics/xorg-lib/libx11_1.6.5.bb @@ -5,6 +5,9 @@ BBCLASSEXTEND = "native nativesdk" SRC_URI += "file://disable_tests.patch \ " +do_configure_append () { + sed -i -e "/X11_CFLAGS/d" ${B}/src/util/Makefile +} SRC_URI[md5sum] = "0f618db70c4054ca67cee0cc156a4255" SRC_URI[sha256sum] = "4d3890db2ba225ba8c55ca63c6409c1ebb078a2806de59fb16342768ae63435d" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:02:27 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:02:27 +0000 Subject: [oe-commits] [openembedded-core] 18/64: image_types_wic: set default WKS_FILE_DEPENDS In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130210.D383E233578@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 01fc31854f7da6b3a4546121f809875c35bbf0e0 Author: Ed Bartosh AuthorDate: Fri Jul 14 15:33:05 2017 +0300 image_types_wic: set default WKS_FILE_DEPENDS The default set of dependencies used via wic-tools is not used anymore as wic images don't depend on wic-tools. Set of packages required to produce wic image depends on the content of the .wks file, so WKS_FILE_DEPENDS variable should be used to provide correct list of dependencies when WKS_FILE variable is set. As WKS_FILE_DEPENDS is not used in many existing recipes yet we need to provide default value for it to ensure that removal of wic-tool dependency doesn't cause image build failures. Initialized WKS_FILE_DEPENDS with the set of dependencies previously brought by wic-tool. This is done to provide compatibility and to avoid breakages of existing image recipes that rely on current set of dependencies. Note: This is a temporary solution for transition period. After some time the list will be either reduced or removed. Recommended solution is to use WKS_FILE_DEPENDS in image recipes together with WKS_FILE to specify dependencies. Signed-off-by: Ed Bartosh Signed-off-by: Ross Burton --- meta/classes/image_types_wic.bbclass | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/meta/classes/image_types_wic.bbclass b/meta/classes/image_types_wic.bbclass index 4d85330..57ba646 100644 --- a/meta/classes/image_types_wic.bbclass +++ b/meta/classes/image_types_wic.bbclass @@ -40,7 +40,14 @@ USING_WIC = "${@bb.utils.contains_any('IMAGE_FSTYPES', 'wic ' + ' '.join('wic.%s WKS_FILE_CHECKSUM = "${@'${WKS_FULL_PATH}:%s' % os.path.exists('${WKS_FULL_PATH}') if '${USING_WIC}' else ''}" do_image_wic[file-checksums] += "${WKS_FILE_CHECKSUM}" do_image_wic[depends] += "${@' '.join('%s-native:do_populate_sysroot' % r for r in ('parted', 'gptfdisk', 'dosfstools', 'mtools'))}" -WKS_FILE_DEPENDS ??= '' + +WKS_FILE_DEPENDS_DEFAULT = "syslinux-native bmap-tools-native cdrtools-native btrfs-tools-native squashfs-tools-native" +WKS_FILE_DEPENDS_BOOTLOADERS = "" +WKS_FILE_DEPENDS_BOOTLOADERS_x86 = "syslinux grub-efi systemd-boot" +WKS_FILE_DEPENDS_BOOTLOADERS_x86-64 = "syslinux grub-efi systemd-boot" + +WKS_FILE_DEPENDS ??= "${WKS_FILE_DEPENDS_DEFAULT} ${WKS_FILE_DEPENDS_BOOTLOADERS}" + DEPENDS += "${@ '${WKS_FILE_DEPENDS}' if d.getVar('USING_WIC') else '' }" python do_write_wks_template () { -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:02:39 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:02:39 +0000 Subject: [oe-commits] [openembedded-core] 30/64: gcc-cross: Fix linker and fortran symlinks In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130211.2F686233535@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit f84614c082406287e608860741a82edd2f3c9bca Author: Khem Raj AuthorDate: Tue Jul 11 07:05:46 2017 -0700 gcc-cross: Fix linker and fortran symlinks If we used -fuse-ld gcc option, then it does not work ending in collect2: fatal error: cannot find 'ld' compilation terminated. This is because we are not creating proper symlinks for BFD and Gold linker in gcc installation Secondly, we end up with dangling fortran compiler symlinks if fortran is not enabled when confguring gcc, therefore create these symlinks only when fortran support is enabled in gcc Signed-off-by: Khem Raj Signed-off-by: Ross Burton --- meta/recipes-devtools/gcc/gcc-cross.inc | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/meta/recipes-devtools/gcc/gcc-cross.inc b/meta/recipes-devtools/gcc/gcc-cross.inc index b08bc19..1e184a6 100644 --- a/meta/recipes-devtools/gcc/gcc-cross.inc +++ b/meta/recipes-devtools/gcc/gcc-cross.inc @@ -161,17 +161,19 @@ do_install () { install -d ${D}${target_base_libdir} install -d ${D}${target_libdir} - + # Link gfortran to g77 to satisfy not-so-smart configure or hard coded g77 # gfortran is fully backwards compatible. This is a safe and practical solution. - ln -sf ${STAGING_DIR_NATIVE}${prefix_native}/bin/${TARGET_PREFIX}gfortran ${STAGING_DIR_NATIVE}${prefix_native}/bin/${TARGET_PREFIX}g77 || true + if [ -n "${@d.getVar('FORTRAN')}" ]; then + ln -sf ${STAGING_DIR_NATIVE}${prefix_native}/bin/${TARGET_PREFIX}gfortran ${STAGING_DIR_NATIVE}${prefix_native}/bin/${TARGET_PREFIX}g77 || true + fortsymlinks="g77 gfortran" + fi - # Insert symlinks into libexec so when tools without a prefix are searched for, the correct ones are # found. These need to be relative paths so they work in different locations. dest=${D}${libexecdir}/gcc/${TARGET_SYS}/${BINV}/ install -d $dest - for t in ar as ld nm objcopy objdump ranlib strip g77 gcc cpp gfortran; do + for t in ar as ld ld.bfd ld.gold nm objcopy objdump ranlib strip gcc cpp $fortsymlinks; do ln -sf ${BINRELPATH}/${TARGET_PREFIX}$t $dest$t ln -sf ${BINRELPATH}/${TARGET_PREFIX}$t ${dest}${TARGET_PREFIX}$t done -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:02:41 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:02:41 +0000 Subject: [oe-commits] [openembedded-core] 32/64: valgrind: fix link failure with gold In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130211.3BDE32335A6@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 4c38908169a11635138d357fa4be39a80d6285e8 Author: Ross Burton AuthorDate: Tue Jul 11 22:50:41 2017 +0100 valgrind: fix link failure with gold Signed-off-by: Ross Burton --- .../valgrind/valgrind/link-gz-tests.patch | 27 ++++++++++++++++++++++ meta/recipes-devtools/valgrind/valgrind_3.12.0.bb | 1 + 2 files changed, 28 insertions(+) diff --git a/meta/recipes-devtools/valgrind/valgrind/link-gz-tests.patch b/meta/recipes-devtools/valgrind/valgrind/link-gz-tests.patch new file mode 100644 index 0000000..db32239 --- /dev/null +++ b/meta/recipes-devtools/valgrind/valgrind/link-gz-tests.patch @@ -0,0 +1,27 @@ +When checking if the compiler supports compressed debug sections we need to +actually link instead of just compile. Otherwise the compiler thinks that +they are supported, but gold does not support -gz=zlib. + +Upstream-Status: Backport (r16459) +Signed-off-by: Ross Burton + +--- a/configure.ac~ 2017-07-11 11:53:16.000000000 +0100 ++++ b/configure.ac 2017-07-11 18:16:13.674130483 +0100 +@@ -2119,7 +2119,7 @@ + safe_CFLAGS=$CFLAGS + CFLAGS="-g -gz=zlib" + +-AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ ]], [[ ++AC_LINK_IFELSE([AC_LANG_PROGRAM([[ ]], [[ + return 0; + ]])], [ + ac_have_gz_zlib=yes +@@ -2139,7 +2139,7 @@ + safe_CFLAGS=$CFLAGS + CFLAGS="-g -gz=zlib-gnu" + +-AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ ]], [[ ++AC_LINK_IFELSE([AC_LANG_PROGRAM([[ ]], [[ + return 0; + ]])], [ + ac_have_gz_zlib_gnu=yes diff --git a/meta/recipes-devtools/valgrind/valgrind_3.12.0.bb b/meta/recipes-devtools/valgrind/valgrind_3.12.0.bb index b63d278..0cc5eef 100644 --- a/meta/recipes-devtools/valgrind/valgrind_3.12.0.bb +++ b/meta/recipes-devtools/valgrind/valgrind_3.12.0.bb @@ -35,6 +35,7 @@ SRC_URI = "http://www.valgrind.org/downloads/valgrind-${PV}.tar.bz2 \ file://0001-memcheck-arm64-Define-__THROW-if-not-already-defined.patch \ file://0002-memcheck-x86-Define-__THROW-if-not-defined.patch \ file://0003-tests-seg_override-Replace-__modify_ldt-with-syscall.patch \ + file://link-gz-tests.patch \ " SRC_URI_append_libc-musl = "\ file://0001-fix-build-for-musl-targets.patch \ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:02:31 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:02:31 +0000 Subject: [oe-commits] [openembedded-core] 22/64: image_types: fix squashfs-lzo and squashfs-xz builds In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130210.EBD7F23359F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 1f8fc803262cdcc26dabc28af70bf0fdaf2e5847 Author: Ed Bartosh AuthorDate: Fri Jul 7 18:03:45 2017 +0300 image_types: fix squashfs-lzo and squashfs-xz builds Dependencies required for squashfs-lzo and squashfs-xz image builds were assigned to do_image_squashfs-lzo and do_image_squashfs-xz. As these tasks don't exist the dependencies were not installed and builds were failing. Correct task names for these image types are: do_image_squashfs_lzo and do_image_squashfs_xz because '-' and '.' are replaced by '_' in all do_image* task names. [YOCTO #11760] Signed-off-by: Ed Bartosh Signed-off-by: Ross Burton --- meta/classes/image_types.bbclass | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/classes/image_types.bbclass b/meta/classes/image_types.bbclass index d04bb08..8f8d79c 100644 --- a/meta/classes/image_types.bbclass +++ b/meta/classes/image_types.bbclass @@ -233,8 +233,8 @@ do_image_ext3[depends] += "e2fsprogs-native:do_populate_sysroot" do_image_ext4[depends] += "e2fsprogs-native:do_populate_sysroot" do_image_btrfs[depends] += "btrfs-tools-native:do_populate_sysroot" do_image_squashfs[depends] += "squashfs-tools-native:do_populate_sysroot" -do_image_squashfs-xz[depends] += "squashfs-tools-native:do_populate_sysroot" -do_image_squashfs-lzo[depends] += "squashfs-tools-native:do_populate_sysroot" +do_image_squashfs_xz[depends] += "squashfs-tools-native:do_populate_sysroot" +do_image_squashfs_lzo[depends] += "squashfs-tools-native:do_populate_sysroot" do_image_elf[depends] += "virtual/kernel:do_populate_sysroot mkelfimage-native:do_populate_sysroot" do_image_ubi[depends] += "mtd-utils-native:do_populate_sysroot" do_image_ubifs[depends] += "mtd-utils-native:do_populate_sysroot" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:02:30 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:02:30 +0000 Subject: [oe-commits] [openembedded-core] 21/64: imagefeatures: add test_image_fstypes test case In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130210.E648023357E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 9db3dbde66e3590aea71400891eaea0ae2caf371 Author: Ed Bartosh AuthorDate: Fri Jul 7 18:12:23 2017 +0300 imagefeatures: add test_image_fstypes test case Tested if core-image-minimal can be built for existing fstypes by building an image and checking if result file . exists in the image deploy directory. Signed-off-by: Ed Bartosh Signed-off-by: Ross Burton --- meta/lib/oeqa/selftest/cases/imagefeatures.py | 28 +++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/meta/lib/oeqa/selftest/cases/imagefeatures.py b/meta/lib/oeqa/selftest/cases/imagefeatures.py index e6652ec..91d8e9b 100644 --- a/meta/lib/oeqa/selftest/cases/imagefeatures.py +++ b/meta/lib/oeqa/selftest/cases/imagefeatures.py @@ -124,3 +124,31 @@ class ImageFeatures(OESelftestTestCase): # check if result image is sparse image_stat = os.stat(image_path) self.assertTrue(image_stat.st_size > image_stat.st_blocks * 512) + + def test_image_fstypes(self): + """ + Summary: Check if image of supported image fstypes can be built + Expected: core-image-minimal can be built for various image types + Product: oe-core + Author: Ed Bartosh + """ + image_name = 'core-image-minimal' + + img_types = [itype for itype in get_bb_var("IMAGE_TYPES", image_name).split() \ + if itype not in ('container', 'elf', 'multiubi')] + + config = 'IMAGE_FSTYPES += "%s"\n'\ + 'MKUBIFS_ARGS ?= "-m 2048 -e 129024 -c 2047"\n'\ + 'UBINIZE_ARGS ?= "-m 2048 -p 128KiB -s 512"' % ' '.join(img_types) + + self.write_config(config) + + bitbake(image_name) + + deploy_dir_image = get_bb_var('DEPLOY_DIR_IMAGE') + link_name = get_bb_var('IMAGE_LINK_NAME', image_name) + for itype in img_types: + image_path = os.path.join(deploy_dir_image, "%s.%s" % (link_name, itype)) + # check if result image is in deploy directory + self.assertTrue(os.path.exists(image_path), + "%s image %s doesn't exist" % (itype, image_path)) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:02:44 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:02:44 +0000 Subject: [oe-commits] [openembedded-core] 35/64: libarchive: Upgrade to 3.3.2 release In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130211.50C372335AB@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 00cd51e4f9e4344faf0d2e6c1a7fa109901b48b2 Author: Otavio Salvador AuthorDate: Tue Jul 11 12:06:14 2017 -0300 libarchive: Upgrade to 3.3.2 release Signed-off-by: Otavio Salvador Signed-off-by: Ross Burton --- .../libarchive/{libarchive_3.3.1.bb => libarchive_3.3.2.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-extended/libarchive/libarchive_3.3.1.bb b/meta/recipes-extended/libarchive/libarchive_3.3.2.bb similarity index 93% rename from meta/recipes-extended/libarchive/libarchive_3.3.1.bb rename to meta/recipes-extended/libarchive/libarchive_3.3.2.bb index 7a7da58..9bf40f2 100644 --- a/meta/recipes-extended/libarchive/libarchive_3.3.1.bb +++ b/meta/recipes-extended/libarchive/libarchive_3.3.2.bb @@ -34,8 +34,8 @@ EXTRA_OECONF += "--enable-largefile" SRC_URI = "http://libarchive.org/downloads/libarchive-${PV}.tar.gz \ " -SRC_URI[md5sum] = "d2af45480aa5b0db5b5f3919cd0ea65e" -SRC_URI[sha256sum] = "29ca5bd1624ca5a007aa57e16080262ab4379dbf8797f5c52f7ea74a3b0424e7" +SRC_URI[md5sum] = "4583bd6b2ebf7e0e8963d90879eb1b27" +SRC_URI[sha256sum] = "ed2dbd6954792b2c054ccf8ec4b330a54b85904a80cef477a1c74643ddafa0ce" inherit autotools update-alternatives pkgconfig -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:02:45 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:02:45 +0000 Subject: [oe-commits] [openembedded-core] 36/64: wayland-protocols: upgrade to 1.9 In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130211.579C92335AD@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit db5cac904a922e84099e726d05acc6d95eaa32aa Author: Denys Dmytriyenko AuthorDate: Tue Jul 11 11:27:28 2017 -0400 wayland-protocols: upgrade to 1.9 Signed-off-by: Denys Dmytriyenko Signed-off-by: Ross Burton --- .../wayland/{wayland-protocols_1.8.bb => wayland-protocols_1.9.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-graphics/wayland/wayland-protocols_1.8.bb b/meta/recipes-graphics/wayland/wayland-protocols_1.9.bb similarity index 85% rename from meta/recipes-graphics/wayland/wayland-protocols_1.8.bb rename to meta/recipes-graphics/wayland/wayland-protocols_1.9.bb index 264af21..bcb5095 100644 --- a/meta/recipes-graphics/wayland/wayland-protocols_1.8.bb +++ b/meta/recipes-graphics/wayland/wayland-protocols_1.9.bb @@ -11,8 +11,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=c7b12b6702da38ca028ace54aae3d484 \ SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \ " -SRC_URI[md5sum] = "769f93b312b1323a8012565c3973cf7d" -SRC_URI[sha256sum] = "e3fa5f2812cfec3c1c2573bd34adfe37d4d8950dba572d9ec6c52adcc5fe4b9a" +SRC_URI[md5sum] = "d9a3c93aac1f423501a33e7a9804b3b3" +SRC_URI[sha256sum] = "666b72de30ca3b70c2b54ccc9e8114cb520e76db224c816b5e23501099174f75" inherit allarch autotools pkgconfig -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:02:42 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:02:42 +0000 Subject: [oe-commits] [openembedded-core] 33/64: valgrind: Update 3.12.0 -> 3.13.0 In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130211.4212F2335A8@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 99e00dc094afbff7785263b760e26e03ac09425f Author: Soren Brinkmann AuthorDate: Sun Jul 9 00:35:37 2017 -0700 valgrind: Update 3.12.0 -> 3.13.0 Signed-off-by: Soren Brinkmann Signed-off-by: Ross Burton --- .../valgrind/0001-fix-build-for-musl-targets.patch | 69 ---------------------- .../valgrind/0004-Fix-out-of-tree-builds.patch | 34 +++++++---- .../{valgrind_3.12.0.bb => valgrind_3.13.0.bb} | 13 ++-- 3 files changed, 26 insertions(+), 90 deletions(-) diff --git a/meta/recipes-devtools/valgrind/valgrind/0001-fix-build-for-musl-targets.patch b/meta/recipes-devtools/valgrind/valgrind/0001-fix-build-for-musl-targets.patch deleted file mode 100644 index dc6feff..0000000 --- a/meta/recipes-devtools/valgrind/valgrind/0001-fix-build-for-musl-targets.patch +++ /dev/null @@ -1,69 +0,0 @@ -From 1b1a024efd18d44294e184e792c1e039cab02bfe Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sun, 14 Feb 2016 09:14:12 +0000 -Subject: [PATCH] fix build for musl targets - -Signed-off-by: Khem Raj ---- -Upstream-Status: Pending - - configure.ac | 2 -- - coregrind/vg_preloaded.c | 2 +- - include/pub_tool_redir.h | 7 +++++-- - 3 files changed, 6 insertions(+), 5 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 9366dc7..679f514 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1066,8 +1066,6 @@ case "${GLIBC_VERSION}" in - ;; - 2.0|2.1|*) - AC_MSG_RESULT([unsupported version ${GLIBC_VERSION}]) -- AC_MSG_ERROR([Valgrind requires glibc version 2.2 or later,]) -- AC_MSG_ERROR([Darwin libc, Bionic libc or Solaris libc]) - ;; - esac - -diff --git a/coregrind/vg_preloaded.c b/coregrind/vg_preloaded.c -index 2ea7a7a..e49c832 100644 ---- a/coregrind/vg_preloaded.c -+++ b/coregrind/vg_preloaded.c -@@ -56,7 +56,7 @@ - void VG_NOTIFY_ON_LOAD(freeres)( void ); - void VG_NOTIFY_ON_LOAD(freeres)( void ) - { --# if !defined(__UCLIBC__) \ -+# if !defined(__UCLIBC__) && defined(__GLIBC__) \ - && !defined(VGPV_arm_linux_android) \ - && !defined(VGPV_x86_linux_android) \ - && !defined(VGPV_mips32_linux_android) \ -diff --git a/include/pub_tool_redir.h b/include/pub_tool_redir.h -index bac00d7..fbb2ef2 100644 ---- a/include/pub_tool_redir.h -+++ b/include/pub_tool_redir.h -@@ -242,8 +242,7 @@ - /* --- Soname of the standard C library. --- */ - - #if defined(VGO_linux) || defined(VGO_solaris) --# define VG_Z_LIBC_SONAME libcZdsoZa // libc.so* -- -+# define VG_Z_LIBC_SONAME libcZdZa // libc.* - #elif defined(VGO_darwin) && (DARWIN_VERS <= DARWIN_10_6) - # define VG_Z_LIBC_SONAME libSystemZdZaZddylib // libSystem.*.dylib - -@@ -274,7 +273,11 @@ - /* --- Soname of the pthreads library. --- */ - - #if defined(VGO_linux) -+# if defined(__GLIBC__) || defined(__UCLIBC__) - # define VG_Z_LIBPTHREAD_SONAME libpthreadZdsoZd0 // libpthread.so.0 -+# else -+# define VG_Z_LIBPTHREAD_SONAME libcZdZa // libc.* -+#endif - #elif defined(VGO_darwin) - # define VG_Z_LIBPTHREAD_SONAME libSystemZdZaZddylib // libSystem.*.dylib - #elif defined(VGO_solaris) --- -2.7.1 - diff --git a/meta/recipes-devtools/valgrind/valgrind/0004-Fix-out-of-tree-builds.patch b/meta/recipes-devtools/valgrind/valgrind/0004-Fix-out-of-tree-builds.patch index ed313d6..39022d0 100644 --- a/meta/recipes-devtools/valgrind/valgrind/0004-Fix-out-of-tree-builds.patch +++ b/meta/recipes-devtools/valgrind/valgrind/0004-Fix-out-of-tree-builds.patch @@ -1,4 +1,4 @@ -From 38ae233b6893a4eec7f9ed6d8ad02392bca8eaed Mon Sep 17 00:00:00 2001 +From 739421e253e6eba3eb6438651822f80fa9c0502a Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Tue, 15 Dec 2015 15:31:50 +0200 Subject: [PATCH 1/2] Fix out of tree builds. @@ -13,21 +13,21 @@ Upstream-Status: Pending Signed-off-by: Alexander Kanavin --- - configure.ac | 64 ++++++++++++++++++++++++++++++------------------------------ - 1 file changed, 32 insertions(+), 32 deletions(-) + configure.ac | 68 ++++++++++++++++++++++++++++++------------------------------ + 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/configure.ac b/configure.ac -index 8ab7f9b..9366dc7 100644 +index 3874296fde0b..7a5ba2c8557e 100644 --- a/configure.ac +++ b/configure.ac -@@ -377,44 +377,44 @@ case "${host_os}" in +@@ -373,50 +373,50 @@ case "${host_os}" in 9.*) AC_MSG_RESULT([Darwin 9.x (${kernel}) / Mac OS X 10.5 Leopard]) AC_DEFINE([DARWIN_VERS], DARWIN_10_5, [Darwin / Mac OS X version]) - DEFAULT_SUPP="darwin9.supp ${DEFAULT_SUPP}" - DEFAULT_SUPP="darwin9-drd.supp ${DEFAULT_SUPP}" -+ DEFAULT_SUPP="$srcdir/darwin9.supp ${DEFAULT_SUPP}" -+ DEFAULT_SUPP="$srcdir/darwin9-drd.supp ${DEFAULT_SUPP}" ++ DEFAULT_SUPP="$srcdir/darwin9.supp ${DEFAULT_SUPP}" ++ DEFAULT_SUPP="$srcdir/darwin9-drd.supp ${DEFAULT_SUPP}" ;; 10.*) AC_MSG_RESULT([Darwin 10.x (${kernel}) / Mac OS X 10.6 Snow Leopard]) @@ -77,9 +77,17 @@ index 8ab7f9b..9366dc7 100644 + DEFAULT_SUPP="$srcdir/darwin15.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="$srcdir/darwin10-drd.supp ${DEFAULT_SUPP}" ;; + 16.*) + AC_MSG_RESULT([Darwin 16.x (${kernel}) / macOS 10.12 Sierra]) + AC_DEFINE([DARWIN_VERS], DARWIN_10_12, [Darwin / Mac OS X version]) +- DEFAULT_SUPP="darwin16.supp ${DEFAULT_SUPP}" +- DEFAULT_SUPP="darwin10-drd.supp ${DEFAULT_SUPP}" ++ DEFAULT_SUPP="$srcdir/darwin16.supp ${DEFAULT_SUPP}" ++ DEFAULT_SUPP="$srcdir/darwin10-drd.supp ${DEFAULT_SUPP}" + ;; *) AC_MSG_RESULT([unsupported (${kernel})]) -@@ -426,13 +426,13 @@ case "${host_os}" in +@@ -428,13 +428,13 @@ case "${host_os}" in solaris2.11*) AC_MSG_RESULT([ok (${host_os})]) VGCONF_OS="solaris" @@ -95,7 +103,7 @@ index 8ab7f9b..9366dc7 100644 ;; *) -@@ -1015,29 +1015,29 @@ AC_MSG_CHECKING([the glibc version]) +@@ -982,29 +982,29 @@ AC_MSG_CHECKING([the glibc version]) case "${GLIBC_VERSION}" in 2.2) AC_MSG_RESULT(${GLIBC_VERSION} family) @@ -135,7 +143,7 @@ index 8ab7f9b..9366dc7 100644 ;; 2.*) AC_MSG_RESULT(${GLIBC_VERSION} family) -@@ -1046,8 +1046,8 @@ case "${GLIBC_VERSION}" in +@@ -1013,8 +1013,8 @@ case "${GLIBC_VERSION}" in AC_DEFINE([GLIBC_MANDATORY_INDEX_AND_STRLEN_REDIRECT], 1, [Define to 1 if index() and strlen() have been optimized heavily (x86 glibc >= 2.12)]) DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}" @@ -146,7 +154,7 @@ index 8ab7f9b..9366dc7 100644 ;; darwin) AC_MSG_RESULT(Darwin) -@@ -1057,7 +1057,7 @@ case "${GLIBC_VERSION}" in +@@ -1024,7 +1024,7 @@ case "${GLIBC_VERSION}" in bionic) AC_MSG_RESULT(Bionic) AC_DEFINE([BIONIC_LIBC], 1, [Define to 1 if you're using Bionic]) @@ -155,7 +163,7 @@ index 8ab7f9b..9366dc7 100644 ;; solaris) AC_MSG_RESULT(Solaris) -@@ -1079,11 +1079,11 @@ if test "$VGCONF_OS" != "solaris"; then +@@ -1051,11 +1051,11 @@ if test "$VGCONF_OS" != "solaris"; then # attempt to detect whether such libraries are installed on the # build machine (or even if any X facilities are present); just # add the suppressions antidisirregardless. @@ -171,5 +179,5 @@ index 8ab7f9b..9366dc7 100644 -- -2.6.2 +2.13.2.3.g44cd85c14 diff --git a/meta/recipes-devtools/valgrind/valgrind_3.12.0.bb b/meta/recipes-devtools/valgrind/valgrind_3.13.0.bb similarity index 92% rename from meta/recipes-devtools/valgrind/valgrind_3.12.0.bb rename to meta/recipes-devtools/valgrind/valgrind_3.13.0.bb index 0cc5eef..2ec9b9b 100644 --- a/meta/recipes-devtools/valgrind/valgrind_3.12.0.bb +++ b/meta/recipes-devtools/valgrind/valgrind_3.13.0.bb @@ -3,8 +3,8 @@ HOMEPAGE = "http://valgrind.org/" BUGTRACKER = "http://valgrind.org/support/bug_reports.html" LICENSE = "GPLv2 & GPLv2+ & BSD" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://include/pub_tool_basics.h;beginline=1;endline=29;md5=ebb8e640ef633f940c425686c873f9fa \ - file://include/valgrind.h;beginline=1;endline=56;md5=4b5e24908e53016ea561c45f4234a327 \ + file://include/pub_tool_basics.h;beginline=6;endline=29;md5=d4de0407239381463cf01dd276d7c22e \ + file://include/valgrind.h;beginline=1;endline=56;md5=ad3b317f3286b6b704575d9efe6ca5df \ file://COPYING.DOCS;md5=24ea4c7092233849b4394699333b5c56" X11DEPENDS = "virtual/libx11" @@ -12,7 +12,7 @@ DEPENDS = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '${X11DEPENDS}', '', d ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'boost', '', d)} \ " -SRC_URI = "http://www.valgrind.org/downloads/valgrind-${PV}.tar.bz2 \ +SRC_URI = "ftp://sourceware.org/pub/valgrind/valgrind-${PV}.tar.bz2 \ file://fixed-perl-path.patch \ file://Added-support-for-PPC-instructions-mfatbu-mfatbl.patch \ file://run-ptest \ @@ -37,11 +37,8 @@ SRC_URI = "http://www.valgrind.org/downloads/valgrind-${PV}.tar.bz2 \ file://0003-tests-seg_override-Replace-__modify_ldt-with-syscall.patch \ file://link-gz-tests.patch \ " -SRC_URI_append_libc-musl = "\ - file://0001-fix-build-for-musl-targets.patch \ -" -SRC_URI[md5sum] = "6eb03c0c10ea917013a7622e483d61bb" -SRC_URI[sha256sum] = "67ca4395b2527247780f36148b084f5743a68ab0c850cb43e4a5b4b012cf76a1" +SRC_URI[md5sum] = "817dd08f1e8a66336b9ff206400a5369" +SRC_URI[sha256sum] = "d76680ef03f00cd5e970bbdcd4e57fb1f6df7d2e2c071635ef2be74790190c3b" COMPATIBLE_HOST = '(i.86|x86_64|arm|aarch64|mips|powerpc|powerpc64).*-linux' -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:02:35 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:02:35 +0000 Subject: [oe-commits] [openembedded-core] 26/64: vulkan-demos: Add recipe In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130211.10B482335A5@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 88a6fa37e7ec2e68cdb2374f2a5371a6f44b3d67 Author: Jussi Kukkonen AuthorDate: Tue Jul 11 15:26:21 2017 +0300 vulkan-demos: Add recipe Sascha Willems collection of Vulkan demos is useful as a smoke testing tool. * Add patch to install binaries and data. * Add patch to fix build on X86 * Use a combination of patch and do_install_append to avoid some 3D models with unclear licensing. Signed-off-by: Jussi Kukkonen Signed-off-by: Ross Burton --- ...ild-demos-with-questionably-licensed-data.patch | 91 ++++++++++++++++++++++ .../vulkan-demos/0001-Fix-build-on-x86.patch | 41 ++++++++++ ...stalling-demos-support-out-of-tree-builds.patch | 85 ++++++++++++++++++++ meta/recipes-graphics/vulkan/vulkan-demos_git.bb | 36 +++++++++ 4 files changed, 253 insertions(+) diff --git a/meta/recipes-graphics/vulkan/vulkan-demos/0001-Don-t-build-demos-with-questionably-licensed-data.patch b/meta/recipes-graphics/vulkan/vulkan-demos/0001-Don-t-build-demos-with-questionably-licensed-data.patch new file mode 100644 index 0000000..d32c8f2 --- /dev/null +++ b/meta/recipes-graphics/vulkan/vulkan-demos/0001-Don-t-build-demos-with-questionably-licensed-data.patch @@ -0,0 +1,91 @@ +From 55770fb07c42fe410cf8d09f8f5976babc89b9ef Mon Sep 17 00:00:00 2001 +From: Jussi Kukkonen +Date: Tue, 4 Jul 2017 17:13:45 +0300 +Subject: [PATCH] Don't build demos with questionably licensed data + +Some of the models don't have open source compatible licenses: +don't build demos using those. Also don't build demos that need +resources that are not included. + +ssao: +scenerendering: + Sibenik model, no license found + +deferred: +deferredmultisampling: +deferredshadows: + armor model, CC-BY-3.0 + +vulkanscene: +imgui: +shadowmapping: + vulkanscene model, no license found + +indirectdraw: + plant model, no license found + +hdr: +pbribl: +pbrtexture: + Require external Vulkan Asset Pack + +Upstream-Status: Inappropriate [configuration] +Signed-off-by: Jussi Kukkonen +--- + CMakeLists.txt | 13 ------------- + 1 file changed, 13 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4958fff..0f9d3e4 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -150,17 +150,11 @@ set(EXAMPLES + computeparticles + computeshader + debugmarker +- deferred +- deferredmultisampling +- deferredshadows + displacement + distancefieldfonts + dynamicuniformbuffer + gears + geometryshader +- hdr +- imgui +- indirectdraw + instancing + mesh + multisampling +@@ -170,20 +164,14 @@ set(EXAMPLES + parallaxmapping + particlefire + pbrbasic +- pbribl +- pbrtexture + pipelines + pushconstants + radialblur + raytracing +- scenerendering + screenshot +- shadowmapping +- shadowmappingomni + skeletalanimation + specializationconstants + sphericalenvmapping +- ssao + subpasses + terraintessellation + tessellation +@@ -196,7 +184,6 @@ set(EXAMPLES + texturesparseresidency + triangle + viewportarray +- vulkanscene + ) + + buildExamples() +-- +2.13.2 + diff --git a/meta/recipes-graphics/vulkan/vulkan-demos/0001-Fix-build-on-x86.patch b/meta/recipes-graphics/vulkan/vulkan-demos/0001-Fix-build-on-x86.patch new file mode 100644 index 0000000..681b342 --- /dev/null +++ b/meta/recipes-graphics/vulkan/vulkan-demos/0001-Fix-build-on-x86.patch @@ -0,0 +1,41 @@ +From b0495efb6c3ea3a530fcbaddac86da57ecce5a66 Mon Sep 17 00:00:00 2001 +From: Jussi Kukkonen +Date: Mon, 10 Jul 2017 13:11:12 +0300 +Subject: [PATCH] Fix build on x86 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +|?func_common.inl:193:51: error: wrong number of template arguments +|?(5, should be 6) struct compute_sign + +The fix is backported from the upstream glm project. + +Upstream-Status: Pending [https://github.com/SaschaWillems/Vulkan/issues/356] +Signed-off-by: Jussi Kukkonen +--- + external/glm/glm/detail/func_common.inl | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/external/glm/glm/detail/func_common.inl b/external/glm/glm/detail/func_common.inl +index cafaed5..2dd94e1 100644 +--- a/external/glm/glm/detail/func_common.inl ++++ b/external/glm/glm/detail/func_common.inl +@@ -190,12 +190,12 @@ namespace detail + + # if GLM_ARCH == GLM_ARCH_X86 + template class vecType, bool Aligned> +- struct compute_sign ++ struct compute_sign + { + GLM_FUNC_QUALIFIER static vecType call(vecType const & x) + { + T const Shift(static_cast(sizeof(T) * 8 - 1)); +- vecType const y(vecType::type, P>(-x) >> typename make_unsigned::type(Shift)); ++ vecType const y(vecType::type, P>(-x) >> typename make_unsigned::type(Shift)); + + return (x >> Shift) | y; + } +-- +2.1.4 + diff --git a/meta/recipes-graphics/vulkan/vulkan-demos/0001-Support-installing-demos-support-out-of-tree-builds.patch b/meta/recipes-graphics/vulkan/vulkan-demos/0001-Support-installing-demos-support-out-of-tree-builds.patch new file mode 100644 index 0000000..4addea3 --- /dev/null +++ b/meta/recipes-graphics/vulkan/vulkan-demos/0001-Support-installing-demos-support-out-of-tree-builds.patch @@ -0,0 +1,85 @@ +From edca667684764cfcc0460e448e834fadf623a887 Mon Sep 17 00:00:00 2001 +From: Jussi Kukkonen +Date: Mon, 3 Jul 2017 14:49:18 +0300 +Subject: [PATCH] Support installing demos, support out-of-tree builds + +This is especially useful for cross-compile situation where testing +happens on target. + +-DRESOURCE_INSTALL_DIR= decides where data is installed (and +where the binaries will load the data from): if it's left empty, +then nothing will be installed and binaries will load the data from +CMAKE_SOURCE_DIR. + +Binaries are now correctly built in CMAKE_BINARY_DIR. + +Upstream-Status: Submitted [https://github.com/SaschaWillems/Vulkan/pull/352] +Signed-off-by: Jussi Kukkonen +--- + CMakeLists.txt | 15 ++++++++++++++- + base/vulkanexamplebase.cpp | 2 +- + 2 files changed, 15 insertions(+), 2 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b9886bc..4958fff 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -16,6 +16,8 @@ include_directories(base) + OPTION(USE_D2D_WSI "Build the project using Direct to Display swapchain" OFF) + OPTION(USE_WAYLAND_WSI "Build the project using Wayland swapchain" OFF) + ++set(RESOURCE_INSTALL_DIR "" CACHE PATH "Path to install resources to (leave empty for running uninstalled)") ++ + # Use FindVulkan module added with CMAKE 3.7 + if (NOT CMAKE_VERSION VERSION_LESS 3.7.0) + message(STATUS "Using module to find Vulkan") +@@ -108,6 +110,10 @@ function(buildExample EXAMPLE_NAME) + add_executable(${EXAMPLE_NAME} ${MAIN_CPP} ${SOURCE} ${SHADERS}) + target_link_libraries(${EXAMPLE_NAME} ${Vulkan_LIBRARY} ${ASSIMP_LIBRARIES} ${WAYLAND_CLIENT_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT}) + endif(WIN32) ++ ++ if(RESOURCE_INSTALL_DIR) ++ install(TARGETS ${EXAMPLE_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR}) ++ endif() + endfunction(buildExample) + + # Build all examples +@@ -117,6 +123,13 @@ function(buildExamples) + endforeach(EXAMPLE) + endfunction(buildExamples) + ++if(RESOURCE_INSTALL_DIR) ++ add_definitions(-DVK_EXAMPLE_DATA_DIR=\"${RESOURCE_INSTALL_DIR}/\") ++ install(DIRECTORY data/ DESTINATION ${RESOURCE_INSTALL_DIR}/) ++else() ++ add_definitions(-DVK_EXAMPLE_DATA_DIR=\"${CMAKE_SOURCE_DIR}/data/\") ++endif() ++ + # Compiler specific stuff + IF(MSVC) + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc") +@@ -128,7 +141,7 @@ ELSE(WIN32) + link_libraries(${XCB_LIBRARIES} ${Vulkan_LIBRARY}) + ENDIF(WIN32) + +-set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/bin/") ++set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/") + + set(EXAMPLES + bloom +diff --git a/base/vulkanexamplebase.cpp b/base/vulkanexamplebase.cpp +index 647368a..a0f28a5 100644 +--- a/base/vulkanexamplebase.cpp ++++ b/base/vulkanexamplebase.cpp +@@ -84,7 +84,7 @@ const std::string VulkanExampleBase::getAssetPath() + #if defined(__ANDROID__) + return ""; + #else +- return "./../data/"; ++ return VK_EXAMPLE_DATA_DIR; + #endif + } + #endif +-- +2.13.2 + diff --git a/meta/recipes-graphics/vulkan/vulkan-demos_git.bb b/meta/recipes-graphics/vulkan/vulkan-demos_git.bb new file mode 100644 index 0000000..fcd9e7b --- /dev/null +++ b/meta/recipes-graphics/vulkan/vulkan-demos_git.bb @@ -0,0 +1,36 @@ +DESCRIPTION = "Collection of Vulkan examples" +LICENSE = "MIT" +DEPENDS = "zlib" + +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=dcf473723faabf17baa9b5f2207599d0 \ + file://triangle/triangle.cpp;endline=12;md5=bccd1bf9cadd9e10086cf7872157e4fa" + +SRC_URI = "git://github.com/SaschaWillems/Vulkan.git \ + file://0001-Support-installing-demos-support-out-of-tree-builds.patch \ + file://0001-Don-t-build-demos-with-questionably-licensed-data.patch \ + file://0001-Fix-build-on-x86.patch \ +" +SRCREV = "18df00c7b4677b0889486e16977857aa987947e2" +UPSTREAM_CHECK_GITTAGREGEX = "These are not the releases you're looking for" +S = "${WORKDIR}/git" + +inherit cmake distro_features_check +DEPENDS = "vulkan assimp" + +do_install_append () { + # Remove assets that have uncertain licenses + rm ${D}${datadir}/vulkan-demos/models/armor/* \ + ${D}${datadir}/vulkan-demos/models/sibenik/* \ + ${D}${datadir}/vulkan-demos/models/vulkanscene* \ + ${D}${datadir}/vulkan-demos/models/plants.dae \ + ${D}${datadir}/vulkan-demos/textures/texturearray_plants* +} + +EXTRA_OECMAKE = "-DRESOURCE_INSTALL_DIR=${datadir}/vulkan-demos" + +ANY_OF_DISTRO_FEATURES = "x11 wayland" + +# Can only pick one of [wayland,xcb] +PACKAGECONFIG = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', 'xcb' ,d)}" +PACKAGECONFIG[wayland] = "-DUSE_WAYLAND_WSI=ON, -DUSE_WAYLAND_WSI=OFF, wayland" +PACKAGECONFIG[xcb] = ",,libxcb" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:02:36 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:02:36 +0000 Subject: [oe-commits] [openembedded-core] 27/64: selftest: Add vulkan-demos to checkpkg exceptions In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130211.179B7233539@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 910c16ef8e36286ce3e83e3c259ff7ec027b39b1 Author: Jussi Kukkonen AuthorDate: Fri Jul 14 15:06:31 2017 +0300 selftest: Add vulkan-demos to checkpkg exceptions vulkan-demos has not had any releases. Signed-off-by: Jussi Kukkonen Signed-off-by: Ross Burton --- meta-selftest/files/distrodata/checkpkg_exceptions | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-selftest/files/distrodata/checkpkg_exceptions b/meta-selftest/files/distrodata/checkpkg_exceptions index f0d1f67..ff54cf0 100644 --- a/meta-selftest/files/distrodata/checkpkg_exceptions +++ b/meta-selftest/files/distrodata/checkpkg_exceptions @@ -19,6 +19,7 @@ squashfs-tools tcf-agent unzip update-rc.d +vulkan-demos x264 xcursor-transparent-theme xinetd -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:02:34 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:02:34 +0000 Subject: [oe-commits] [openembedded-core] 25/64: acpitests: Remove as unmaintained In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130211.09D402335A3@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 42a0fcec9c956834cc0f05bdf66701424472b1b4 Author: Jussi Kukkonen AuthorDate: Tue Jul 11 15:03:04 2017 +0300 acpitests: Remove as unmaintained This recipe was last upgraded about ~30 releases or three years ago, it seems to only be touched when something breaks. It also has an 'interesting' license that maybe is open source... Signed-off-by: Jussi Kukkonen Signed-off-by: Ross Burton --- .../acpica/acpitests/aapits-linux.patch | 336 --------------------- .../acpica/acpitests/aapits-makefile.patch | 34 --- meta/recipes-extended/acpica/acpitests_20140828.bb | 36 --- 3 files changed, 406 deletions(-) diff --git a/meta/recipes-extended/acpica/acpitests/aapits-linux.patch b/meta/recipes-extended/acpica/acpitests/aapits-linux.patch deleted file mode 100644 index 5601046..0000000 --- a/meta/recipes-extended/acpica/acpitests/aapits-linux.patch +++ /dev/null @@ -1,336 +0,0 @@ -From: Al Stone -Date: Mon, 7 Apr 2014 19:09:37 +0000 -Subject: [PATCH 1/2] Fixup aapits build - -From http://git.linaro.org/people/al.stone/acpica-tools.git -Upstream-Status: Pending - -diff -urN acpica-unix2-20130626/tests/aapits/atexec.c acpica-unix2-20130626-aapits/tests/aapits/atexec.c ---- acpica-unix2-20130626/tests/aapits/atexec.c 2013-01-17 12:48:28.000000000 -0700 -+++ acpica-unix2-20130626-aapits/tests/aapits/atexec.c 2013-07-25 13:44:23.023894441 -0600 -@@ -639,6 +639,7 @@ - } - - -+#if ACPI_MACHINE_WIDTH == 32 - /******************************************************************************* - * - * FUNCTION: AtBuildLocalRSDT -@@ -757,8 +758,9 @@ - LocalRSDT->Header.Checksum = (UINT8)~LocalRSDT->Header.Checksum; - } - } -+#endif - - - /******************************************************************************* - * - * FUNCTION: AtBuildLocalXSDT -@@ -1424,7 +1426,7 @@ - ACPI_WARNING ((AE_INFO, - "Request on [%4.4s] is beyond region limit Req-%X+%X, Base=%X, Len-%X\n", - (RegionObject->Region.Node)->Name.Ascii, (UINT32) Address, -- ByteWidth, (UINT32) BufferAddress, Length)); -+ ByteWidth, (UINT32) BufferAddress, (UINT32) Length)); - - return (AE_AML_REGION_LIMIT); - } -@@ -1792,7 +1796,9 @@ - Path, Obj.Integer.Value, Value); - #else - printf ("API Error: Value of %s is 0x%llx instead of expected 0x%llx\n", -- Path, Obj.Integer.Value, Value); -+ Path, -+ (long long unsigned int) Obj.Integer.Value, -+ (long long unsigned int) Value); - #endif - Status = AE_ERROR; - } -@@ -1871,7 +1877,7 @@ - { - TestErrors++; - printf ("Test Error: cannot allocate buffer of %d bytes\n", -- Results.Length); -+ (int) Results.Length); - return (AE_NO_MEMORY); - } - Results.Pointer = Object; -@@ -1952,7 +1956,8 @@ - { - printf ("AtCheckBuffer: unexpected length %d of Buffer vs" - " calculated %d bytes\n", -- Results.Length, ACPI_ROUND_UP_TO_NATIVE_WORD(sizeof (ACPI_OBJECT) + Length)); -+ (int)Results.Length, -+ (int)(ACPI_ROUND_UP_TO_NATIVE_WORD(sizeof (ACPI_OBJECT) + Length))); - } - - /* Initialize the return buffer structure */ -@@ -1961,7 +1968,7 @@ - { - TestErrors++; - printf ("Test Error: cannot allocate buffer of %d bytes\n", -- Results.Length); -+ (int) Results.Length); - return (AE_NO_MEMORY); - } - Results.Pointer = Object; -diff -urN acpica-unix2-20130626/tests/aapits/atinit.c acpica-unix2-20130626-aapits/tests/aapits/atinit.c ---- acpica-unix2-20130626/tests/aapits/atinit.c 2013-01-17 12:48:28.000000000 -0700 -+++ acpica-unix2-20130626-aapits/tests/aapits/atinit.c 2013-07-25 13:20:19.706705960 -0600 -@@ -3024,7 +3024,7 @@ - AapiErrors++; - printf ("API Error: AcpiGetSystemInfo() returned" - " Length %d, expected %d\n", -- OutBuffer.Length, sizeof (Info)); -+ (int) OutBuffer.Length, (int) sizeof (Info)); - return (AE_ERROR); - } - -@@ -3046,7 +3046,7 @@ - AapiErrors++; - printf ("API Error: AcpiGetSystemInfo() returned" - " Length %d, expected %d\n", -- OutBuffer.Length, sizeof (Info)); -+ (int) OutBuffer.Length, (int) sizeof (Info)); - return (AE_ERROR); - } - -@@ -3066,7 +3066,7 @@ - AapiErrors++; - printf ("API Error: AcpiGetSystemInfo() returned" - " Length %d, expected %d\n", -- OutBuffer.Length, sizeof (Info)); -+ (int) OutBuffer.Length, (int) sizeof (Info)); - return (AE_ERROR); - } - else if (OutBuffer.Pointer != &Info) -@@ -3149,7 +3149,7 @@ - AapiErrors++; - printf ("API Error: AcpiGetSystemInfo() returned" - " Length %d, expected %d\n", -- OutBuffer.Length, sizeof (Info)); -+ (int) OutBuffer.Length, (int) sizeof (Info)); - return (AE_ERROR); - } - else if (OutBuffer.Pointer != &Info) -@@ -3214,7 +3214,7 @@ - AapiErrors++; - printf ("API Error: AcpiGetSystemInfo() returned" - " Length %d, expected %d\n", -- OutBuffer.Length, sizeof (ACPI_SYSTEM_INFO)); -+ (int) OutBuffer.Length, (int) sizeof (ACPI_SYSTEM_INFO)); - return (AE_ERROR); - } - else -diff -urN acpica-unix2-20130626/tests/aapits/atmain.c acpica-unix2-20130626-aapits/tests/aapits/atmain.c ---- acpica-unix2-20130626/tests/aapits/atmain.c 2013-01-17 12:48:28.000000000 -0700 -+++ acpica-unix2-20130626-aapits/tests/aapits/atmain.c 2013-07-25 13:18:22.083323948 -0600 -@@ -315,7 +315,7 @@ - { - printf ("ACPICA API TS err: test num %ld of test case %ld" - " is not implemented\n", -- test_num, test_case); -+ (long int) test_num, (long int) test_case); - return (AtRetNotImpl); - } - -@@ -430,7 +432,7 @@ - if (test_case < 1 || test_case > AT_TEST_CASE_NUM) - { - printf ("ACPICA API TS err: test case %ld is out of range 1 - %d\n", -- test_case, AT_TEST_CASE_NUM); -+ (long int) test_case, (int) AT_TEST_CASE_NUM); - return (AtRetBadParam); - } - -@@ -438,7 +440,7 @@ - if (test_num < 0 || test_num > AtTestCase[test_case].TestsNum) - { - printf ("ACPICA API TS err: test num %ld is out of range 0 - %d\n", -- test_num, AtTestCase[test_case].TestsNum); -+ (long int) test_num, AtTestCase[test_case].TestsNum); - return (AtRetBadParam); - } - -diff -urN acpica-unix2-20130626/tests/aapits/atnamespace.c acpica-unix2-20130626-aapits/tests/aapits/atnamespace.c ---- acpica-unix2-20130626/tests/aapits/atnamespace.c 2013-01-17 12:48:28.000000000 -0700 -+++ acpica-unix2-20130626-aapits/tests/aapits/atnamespace.c 2013-07-25 13:24:15.366466707 -0600 -@@ -2535,7 +2535,8 @@ - #else - printf ("API Error: Address of %s (0x%llX) != (0x%llX)\n", - PathNames[2 * i + 1], -- Info->Address, ExpectedInfo[i].Address); -+ (long long unsigned int) Info->Address, -+ (long long unsigned int) ExpectedInfo[i].Address); - #endif - #else - printf ("API Error: Address of %s (0x%X) != (0x%X)\n", -@@ -2908,7 +2909,8 @@ - TestErrors++; - printf ("AtGetNextObjectTypeCommon: different numbers of entities" - "in TypesNames (%d) and LevelTypes0000 (%d)\n", -- TypesCount, sizeof (LevelTypes0000) / sizeof (ACPI_OBJECT_TYPE)); -+ TypesCount, -+ (int) (sizeof (LevelTypes0000) / sizeof (ACPI_OBJECT_TYPE))); - return (AE_ERROR); - } - -@@ -4192,7 +4194,9 @@ - Pathname, Obj.Integer.Value, Value); - #else - printf ("API Error: Value of %s is 0x%llx instead of expected 0x%llx\n", -- Pathname, Obj.Integer.Value, Value); -+ Pathname, -+ (long long unsigned int) Obj.Integer.Value, -+ (long long unsigned int) Value); - #endif - Status = AE_ERROR; - } -@@ -5199,7 +5203,7 @@ - { - AapiErrors++; - printf ("API Error: AcpiOsAllocate(%d) returned NULL\n", -- OutName.Length); -+ (int) OutName.Length); - return (AE_ERROR); - } - } -diff -urN acpica-unix2-20130626/tests/aapits/atosxfctrl.c acpica-unix2-20130626-aapits/tests/aapits/atosxfctrl.c ---- acpica-unix2-20130626/tests/aapits/atosxfctrl.c 2013-01-17 12:48:28.000000000 -0700 -+++ acpica-unix2-20130626-aapits/tests/aapits/atosxfctrl.c 2013-07-25 13:30:00.375492751 -0600 -@@ -737,13 +737,15 @@ - #if ACPI_MACHINE_WIDTH == 64 - #ifdef _MSC_VER - printf("OsxfCtrlFingReg: unexpected Width %d of Reg 0x%I64x\n", -+ Width, Address); - #else - printf("OsxfCtrlFingReg: unexpected Width %d of Reg 0x%llx\n", -+ Width, (long long unsigned int) Address); - #endif - #else - printf("OsxfCtrlFingReg: unexpected Width %d of Reg 0x%x\n", --#endif - Width, Address); -+#endif - return (NULL); - } - -@@ -764,15 +766,19 @@ - #ifdef _MSC_VER - printf("OsxfCtrlFingReg: intersection Regs (0x%I64x: 0x%x)" - " and (0x%I64x: 0x%x)\n", -+ Reg->Address, Reg->Width, Address, Width); - #else - printf("OsxfCtrlFingReg: intersection Regs (0x%llx: 0x%x)" - " and (0x%llx: 0x%x)\n", -+ (long long unsigned int) Reg->Address, -+ Reg->Width, -+ (long long unsigned int) Address, Width); - #endif - #else - printf("OsxfCtrlFingReg: intersection Regs (0x%x: 0x%x)" - " and (0x%x: 0x%x)\n", --#endif - Reg->Address, Reg->Width, Address, Width); -+#endif - return (NULL); - } - } -@@ -786,13 +792,15 @@ - #if ACPI_MACHINE_WIDTH == 64 - #ifdef _MSC_VER - printf("OsxfCtrlFingReg: no memory for Reg (0x%I64x: 0x%x)\n", -+ Reg->Address, Reg->Width); - #else - printf("OsxfCtrlFingReg: no memory for Reg (0x%llx: 0x%x)\n", -+ (long long unsigned int) Reg->Address, Reg->Width); - #endif - #else - printf("OsxfCtrlFingReg: no memory for Reg (0x%x: 0x%x)\n", --#endif - Reg->Address, Reg->Width); -+#endif - return (NULL); - } - Reg->Type = Type; -@@ -932,14 +940,19 @@ - #if ACPI_MACHINE_WIDTH == 64 - #ifdef _MSC_VER - printf("%.2u (%s Address 0x%I64x: Width %.2u) r/w counts: %u/%u\n", -+ i, (Reg->Type == EMUL_REG_SYS)? "SYS": "IO", -+ Reg->Address, Reg->Width, Reg->ReadCount, Reg->WriteCount); - #else - printf("%.2u (%s Address 0x%llx: Width %.2u) r/w counts: %u/%u\n", -+ i, (Reg->Type == EMUL_REG_SYS)? "SYS": "IO", -+ (long long unsigned int) Reg->Address, -+ Reg->Width, Reg->ReadCount, Reg->WriteCount); - #endif - #else - printf("%.2u (%s Address 0x%.4x: Width %.2u) r/w counts: %u/%u\n", --#endif - i, (Reg->Type == EMUL_REG_SYS)? "SYS": "IO", - Reg->Address, Reg->Width, Reg->ReadCount, Reg->WriteCount); -+#endif - Reg = Reg->Next; - i++; - } -diff -urN acpica-unix2-20130626/tests/aapits/atresource.c acpica-unix2-20130626-aapits/tests/aapits/atresource.c ---- acpica-unix2-20130626/tests/aapits/atresource.c 2013-01-17 12:48:29.000000000 -0700 -+++ acpica-unix2-20130626-aapits/tests/aapits/atresource.c 2013-07-25 13:25:49.423565947 -0600 -@@ -174,7 +174,7 @@ - AapiErrors++; - printf ("API Error: AcpiGetCurrentResources(%s) returned Length %d," - " expected %d\n", -- Pathname, OutBuffer.Length, RT0000_DEV0_CRS_LEN); -+ Pathname, (int) OutBuffer.Length, RT0000_DEV0_CRS_LEN); - return (AE_ERROR); - } - -@@ -490,7 +490,7 @@ - AapiErrors++; - printf ("API Error: AcpiGetCurrentResources(%s) returned Length %d," - " expected %d\n", -- Pathname, OutBuffer.Length, RT0000_DEV0_CRS_LEN); -+ Pathname, (int) OutBuffer.Length, RT0000_DEV0_CRS_LEN); - return (AE_ERROR); - } - -@@ -689,7 +689,7 @@ - AapiErrors++; - printf ("Api Error: Resource->Length (%d) != %d\n", - CurrentResource->Length, -- ACPI_ROUND_UP_TO_NATIVE_WORD (ACPI_RS_SIZE (ACPI_RESOURCE_IRQ))); -+ (int) (ACPI_ROUND_UP_TO_NATIVE_WORD (ACPI_RS_SIZE (ACPI_RESOURCE_IRQ)))); - } - - if (CurrentResource->Data.Irq.Triggering != 0) /* Level-Triggered */ -@@ -981,7 +981,7 @@ - AapiErrors++; - printf ("API Error: AcpiGetPossibleResources(%s) returned Length %d," - " expected %d\n", -- Pathname, OutBuffer.Length, RT0000_DEV0_CRS_LEN); -+ Pathname, (int) OutBuffer.Length, RT0000_DEV0_CRS_LEN); - return (AE_ERROR); - } - -@@ -1923,7 +1923,7 @@ - AapiErrors++; - printf ("API Error: AcpiGetIrqRoutingTable(%s) returned Length %d," - " expected %d\n", -- Pathname, OutBuffer.Length, 0xA48); -+ Pathname, (int) OutBuffer.Length, 0xA48); - return (AE_ERROR); - } - -diff -urN acpica-unix2-20130626/tests/aapits/Makefile acpica-unix2-20130626-aapits/tests/aapits/Makefile ---- acpica-unix2-20130626/tests/aapits/Makefile 2013-01-17 12:48:29.000000000 -0700 -+++ acpica-unix2-20130626-aapits/tests/aapits/Makefile 2013-07-25 15:17:09.309236422 -0600 -@@ -194,7 +194,7 @@ - CFLAGS+= -Wall -g -D_LINUX -DNDEBUG -D_CONSOLE -DACPI_APITS -DACPI_EXEC_APP -D_MULTI_THREADED -Wstrict-prototypes -I../../source/include - - --acpiexec : $(patsubst %.c,%.o, $(SRCS)) -+$(PROG) : $(patsubst %.c,%.o, $(SRCS)) - $(CC) $(LDFLAGS) $(patsubst %.c,%.o, $(SRCS)) -o $(PROG) - - CLEANFILES= $(PROG) diff --git a/meta/recipes-extended/acpica/acpitests/aapits-makefile.patch b/meta/recipes-extended/acpica/acpitests/aapits-makefile.patch deleted file mode 100644 index f9d9dea..0000000 --- a/meta/recipes-extended/acpica/acpitests/aapits-makefile.patch +++ /dev/null @@ -1,34 +0,0 @@ -From: Al Stone -Date: Mon, 7 Apr 2014 19:09:37 +0000 -Subject: [PATCH 1/2] Fixup aapits build - -From http://git.linaro.org/people/al.stone/acpica-tools.git -Upstream-Status: Pending - -diff -urN acpica-unix2-20140325/tests/aapits/Makefile acpica-unix2-20140325/tests/aapits/Makefile ---- acpica-unix2-20140325/tests/aapits/Makefile 2014-04-05 14:23:14.683636794 -0600 -+++ acpica-unix2-20140325-aapits/tests/aapits/Makefile 2014-04-05 15:10:57.879184598 -0600 -@@ -16,6 +16,7 @@ - atosxfwrap.c \ - osunixxf.c \ - ../../source/common/ahids.c \ -+ ../../source/common/ahuuids.c \ - ../../source/common/cmfsize.c \ - ../../source/common/getopt.c \ - ../../source/components/hardware/hwtimer.c \ -@@ -174,6 +175,7 @@ - ../../source/components/utilities/utexcep.c \ - ../../source/components/utilities/utfileio.c \ - ../../source/components/utilities/utglobal.c \ -+ ../../source/components/utilities/uthex.c \ - ../../source/components/utilities/utids.c \ - ../../source/components/utilities/utinit.c \ - ../../source/components/utilities/utlock.c \ -@@ -189,6 +191,7 @@ - ../../source/components/utilities/utstate.c \ - ../../source/components/utilities/utstring.c \ - ../../source/components/utilities/uttrack.c \ -+ ../../source/components/utilities/utuuid.c \ - ../../source/components/utilities/utxface.c \ - ../../source/components/utilities/utxferror.c \ - ../../source/components/utilities/utxfinit.c \ diff --git a/meta/recipes-extended/acpica/acpitests_20140828.bb b/meta/recipes-extended/acpica/acpitests_20140828.bb deleted file mode 100644 index 45ac157..0000000 --- a/meta/recipes-extended/acpica/acpitests_20140828.bb +++ /dev/null @@ -1,36 +0,0 @@ -SUMMARY = "Test suite used to validate ACPICA" -HOMEPAGE = "http://www.acpica.org/" - -LICENSE = "Intel" -LIC_FILES_CHKSUM = "file://tests/aapits/atexec.c;beginline=1;endline=115;md5=e92bcdfcd01d117d1bda3e814bb2030a" - -DEPENDS = "bison flex" - -SRC_URI = "https://acpica.org/sites/acpica/files/acpitests-unix-${PV}.tar.gz;name=acpitests \ - https://acpica.org/sites/acpica/files/acpica-unix2-${PV}.tar.gz;name=acpica \ - file://aapits-linux.patch \ - file://aapits-makefile.patch \ -" -SRC_URI[acpitests.md5sum] = "db9d6fdaa8e3eb101d700ee5ba4938ed" -SRC_URI[acpitests.sha256sum] = "e576c74bf1bf1c9f7348bf9419e05c8acfece7105abcdc052e66670c7af2cf00" -SRC_URI[acpica.md5sum] = "6f05f0d10166a1b1ff6107f3d1cdf1e5" -SRC_URI[acpica.sha256sum] = "01d8867656c5ba41dec307c4383ce676196ad4281ac2c9dec9f5be5fac6d888e" -UPSTREAM_CHECK_URI = "https://acpica.org/downloads" - -S = "${WORKDIR}/acpitests-unix-${PV}" - -EXTRA_OEMAKE = "'CC=${CC}' 'OPT_CFLAGS=-Wall'" - -# The Makefiles expect a specific layout -do_compile() { - cp -af ${WORKDIR}/acpica-unix2-${PV}/source ${S} - cd tests/aapits - oe_runmake -} - -do_install() { - install -d ${D}${bindir} - install -m0755 tests/aapits/bin/aapits ${D}${bindir} -} - -COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:02:33 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:02:33 +0000 Subject: [oe-commits] [openembedded-core] 24/64: sign_rpm: support signing files in RPM payload In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130211.038AB2335A2@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 95b9ee33d5595078e90c633f6155ec9ba3d184f0 Author: Lans Zhang AuthorDate: Tue Jul 11 12:43:03 2017 +0800 sign_rpm: support signing files in RPM payload Currently, RPM4 supports to sign the files in RPM payload with plugin mechanism. We introduce more definitions to make the file signing available for the users: - RPM_FILE_CHECKSUM_DIGEST Global switch to enable file signing. - RPM_FSK_PATH The file signing key. - RPM_FSK_PASSWORD The password of file signing key. - RPM_FILE_CHECKSUM_DIGEST The file checksum digest. Signed-off-by: Lans Zhang Signed-off-by: Ross Burton --- meta/classes/sign_rpm.bbclass | 20 +++++++++++++++++++- meta/lib/oe/gpg_sign.py | 7 ++++++- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/meta/classes/sign_rpm.bbclass b/meta/classes/sign_rpm.bbclass index bc2e947..c49406c 100644 --- a/meta/classes/sign_rpm.bbclass +++ b/meta/classes/sign_rpm.bbclass @@ -9,6 +9,13 @@ # Optional variable for specifying the backend to use for signing. # Currently the only available option is 'local', i.e. local signing # on the build host. +# RPM_FILE_CHECKSUM_DIGEST +# Optional variable for specifying the algorithm for generating file +# checksum digest. +# RPM_FSK_PATH +# Optional variable for the file signing key. +# RPM_FSK_PASSWORD +# Optional variable for the file signing key password. # GPG_BIN # Optional variable for specifying the gpg binary/wrapper to use for # signing. @@ -18,7 +25,10 @@ inherit sanity RPM_SIGN_PACKAGES='1' +RPM_SIGN_FILES ?= '0' RPM_GPG_BACKEND ?= 'local' +# SHA-256 is used by default +RPM_FILE_CHECKSUM_DIGEST ?= '8' python () { @@ -28,6 +38,11 @@ python () { for var in ('RPM_GPG_NAME', 'RPM_GPG_PASSPHRASE'): if not d.getVar(var): raise_sanity_error("You need to define %s in the config" % var, d) + + if d.getVar('RPM_SIGN_FILES') == '1': + for var in ('RPM_FSK_PATH', 'RPM_FSK_PASSWORD'): + if not d.getVar(var): + raise_sanity_error("You need to define %s in the config" % var, d) } python sign_rpm () { @@ -39,7 +54,10 @@ python sign_rpm () { signer.sign_rpms(rpms, d.getVar('RPM_GPG_NAME'), - d.getVar('RPM_GPG_PASSPHRASE')) + d.getVar('RPM_GPG_PASSPHRASE'), + d.getVar('RPM_FILE_CHECKSUM_DIGEST'), + d.getVar('RPM_FSK_PATH'), + d.getVar('RPM_FSK_PASSWORD')) } do_package_index[depends] += "signing-keys:do_deploy" diff --git a/meta/lib/oe/gpg_sign.py b/meta/lib/oe/gpg_sign.py index c53df54..f4d8b10 100644 --- a/meta/lib/oe/gpg_sign.py +++ b/meta/lib/oe/gpg_sign.py @@ -27,7 +27,7 @@ class LocalSigner(object): raise bb.build.FuncFailed('Failed to export gpg public key (%s): %s' % (keyid, output)) - def sign_rpms(self, files, keyid, passphrase): + def sign_rpms(self, files, keyid, passphrase, digest, fsk=None, fsk_password=None): """Sign RPM files""" cmd = self.rpm_bin + " --addsign --define '_gpg_name %s' " % keyid @@ -35,10 +35,15 @@ class LocalSigner(object): if self.gpg_version > (2,1,): gpg_args += ' --pinentry-mode=loopback' cmd += "--define '_gpg_sign_cmd_extra_args %s' " % gpg_args + cmd += "--define '_binary_filedigest_algorithm %s' " % digest if self.gpg_bin: cmd += "--define '__gpg %s' " % self.gpg_bin if self.gpg_path: cmd += "--define '_gpg_path %s' " % self.gpg_path + if fsk: + cmd += "--signfiles --fskpath %s " % fsk + if fsk_password: + cmd += "--define '_file_signing_key_password %s' " % fsk_password # Sign in chunks of 100 packages for i in range(0, len(files), 100): -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:02:38 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:02:38 +0000 Subject: [oe-commits] [openembedded-core] 29/64: libxt: fix build failure In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130211.2821B23353B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 844d477982bb104fa1674324d2699b8995a51a58 Author: Maxin B. John AuthorDate: Tue Jul 11 15:58:13 2017 +0300 libxt: fix build failure libxt build fails with this error: /home/maxin/poky/build/tmp/work/i586-poky-linux/libxt/1_1.1.5-r0/recipe-sysroot/usr/include/bits/long-double.h:57:33: fatal error: bits/long-double-64.h: No such file or directory | compilation terminated. | Makefile:408: recipe for target 'makestrs.o' failed Fix the makestrs build. Signed-off-by: Maxin B. John Signed-off-by: Ross Burton --- ...il-don-t-link-makestrs-with-target-cflags.patch | 33 ++++++++++++++++++++++ meta/recipes-graphics/xorg-lib/libxt_1.1.5.bb | 4 ++- 2 files changed, 36 insertions(+), 1 deletion(-) diff --git a/meta/recipes-graphics/xorg-lib/libxt/0001-libXt-util-don-t-link-makestrs-with-target-cflags.patch b/meta/recipes-graphics/xorg-lib/libxt/0001-libXt-util-don-t-link-makestrs-with-target-cflags.patch new file mode 100644 index 0000000..1a691a3 --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libxt/0001-libXt-util-don-t-link-makestrs-with-target-cflags.patch @@ -0,0 +1,33 @@ +From b0c0e6d90bd99a699701c9542640adb218f5d536 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Mon, 10 Jul 2017 16:51:13 +0300 +Subject: [PATCH] libXt: util: don't link makestrs with target cflags + +The line: AM_CFLAGS = $(XT_CFLAGS) +in util/Makefile.am is wrong because it adds target cflags to the +compilation of makestrs, which is built for the build machine, which +leads to build failures when cross-compiling. + +Upstream-Status: Pending + +Signed-off-by: Thomas Petazzoni +Signed-off-by: Maxin B. John +--- + util/Makefile.am | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/util/Makefile.am b/util/Makefile.am +index 800b35b..f2dd1f9 100644 +--- a/util/Makefile.am ++++ b/util/Makefile.am +@@ -11,7 +11,6 @@ EXTRA_DIST = \ + StrDefs.ht \ + string.list + +-AM_CFLAGS = $(XT_CFLAGS) + makestrs_SOURCES = makestrs.c + + +-- +2.4.0 + diff --git a/meta/recipes-graphics/xorg-lib/libxt_1.1.5.bb b/meta/recipes-graphics/xorg-lib/libxt_1.1.5.bb index c1ed0bb..180d00d 100644 --- a/meta/recipes-graphics/xorg-lib/libxt_1.1.5.bb +++ b/meta/recipes-graphics/xorg-lib/libxt_1.1.5.bb @@ -23,7 +23,9 @@ PE = "1" XORG_PN = "libXt" -SRC_URI += "file://libxt_fix_for_x32.patch" +SRC_URI += "file://libxt_fix_for_x32.patch \ + file://0001-libXt-util-don-t-link-makestrs-with-target-cflags.patch \ + " BBCLASSEXTEND = "native" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:02:50 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:02:50 +0000 Subject: [oe-commits] [openembedded-core] 41/64: git: 2.11.1 -> 2.13.2 In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130211.7C4F32335B7@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit f759420ad2a60d0be4ca15f4c9294086ecc86e59 Author: Robert Yang AuthorDate: Wed Jul 12 03:15:29 2017 -0700 git: 2.11.1 -> 2.13.2 * Remove git-relink from PERLTOOLS: git-2.13.2/Documentation/RelNotes/2.12.0.txt: * An ancient script "git relink" has been removed. Signed-off-by: Robert Yang Signed-off-by: Ross Burton --- meta/recipes-devtools/git/git.inc | 1 - meta/recipes-devtools/git/git_2.11.1.bb | 11 ----------- meta/recipes-devtools/git/git_2.13.2.bb | 11 +++++++++++ 3 files changed, 11 insertions(+), 12 deletions(-) diff --git a/meta/recipes-devtools/git/git.inc b/meta/recipes-devtools/git/git.inc index 9b0d328..4390b8d 100644 --- a/meta/recipes-devtools/git/git.inc +++ b/meta/recipes-devtools/git/git.inc @@ -86,7 +86,6 @@ PERLTOOLS = " \ ${libexecdir}/git-core/git-cvsserver \ ${bindir}/git-cvsserver \ ${libexecdir}/git-core/git-difftool \ - ${libexecdir}/git-core/git-relink \ ${libexecdir}/git-core/git-send-email \ ${libexecdir}/git-core/git-svn \ ${libexecdir}/git-core/git-instaweb \ diff --git a/meta/recipes-devtools/git/git_2.11.1.bb b/meta/recipes-devtools/git/git_2.11.1.bb deleted file mode 100644 index f2f072c..0000000 --- a/meta/recipes-devtools/git/git_2.11.1.bb +++ /dev/null @@ -1,11 +0,0 @@ -require git.inc - -EXTRA_OECONF += "ac_cv_snprintf_returns_bogus=no \ - ac_cv_fread_reads_directories=${ac_cv_fread_reads_directories=yes} \ - " -EXTRA_OEMAKE += "NO_GETTEXT=1" - -SRC_URI[tarball.md5sum] = "6a7a73db076bb0514b602720669d685c" -SRC_URI[tarball.sha256sum] = "a1cdd7c820f92c44abb5003b36dc8cb7201ba38e8744802399f59c97285ca043" -SRC_URI[manpages.md5sum] = "e4268a6b514ccdb624b6450ff55881a3" -SRC_URI[manpages.sha256sum] = "ee567e7b0f95333816793714bb31c54e288cf8041f77a0092b85e62c9c2974f9" diff --git a/meta/recipes-devtools/git/git_2.13.2.bb b/meta/recipes-devtools/git/git_2.13.2.bb new file mode 100644 index 0000000..e7cae40 --- /dev/null +++ b/meta/recipes-devtools/git/git_2.13.2.bb @@ -0,0 +1,11 @@ +require git.inc + +EXTRA_OECONF += "ac_cv_snprintf_returns_bogus=no \ + ac_cv_fread_reads_directories=${ac_cv_fread_reads_directories=yes} \ + " +EXTRA_OEMAKE += "NO_GETTEXT=1" + +SRC_URI[tarball.md5sum] = "894583cddfb0ec3b0156484966f9db9c" +SRC_URI[tarball.sha256sum] = "e19d450648d6d100eb93abaa5d06ffbc778394fb502354b7026d73e9bcbc3160" +SRC_URI[manpages.md5sum] = "97384d23f2ee88d5ce51ffc75096bd3e" +SRC_URI[manpages.sha256sum] = "1c2bd0a2340b2ef118b7b167a8fec6cc05eb18cad9043e6e7a95fd8a70bb8c4c" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:02:47 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:02:47 +0000 Subject: [oe-commits] [openembedded-core] 38/64: gnu-efi: Upgrade package to 3.0.6 and refresh patches In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130211.671672335B1@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 20c1209f6fe0d56aa3698583a1b6d2774fbf4401 Author: California Sullivan AuthorDate: Tue Jul 11 17:47:29 2017 -0700 gnu-efi: Upgrade package to 3.0.6 and refresh patches Version 3.0.6 fixes a failure when using the pxe headers and allows us to drop the explicit fall through patch as it was fixed upstream. Other patches were rebased on top of the new version. Signed-off-by: California Sullivan Signed-off-by: Ross Burton --- ...plicit-fall-through-so-Wextra-will-work-i.patch | 34 -------------- .../gnu-efi/gnu-efi/gcc46-compatibility.patch | 24 ++++++++-- .../gnu-efi/gnu-efi/parallel-make-archives.patch | 54 ++++++++++++---------- .../gnu-efi/{gnu-efi_3.0.5.bb => gnu-efi_3.0.6.bb} | 5 +- 4 files changed, 51 insertions(+), 66 deletions(-) diff --git a/meta/recipes-bsp/gnu-efi/gnu-efi/0001-Mark-our-explicit-fall-through-so-Wextra-will-work-i.patch b/meta/recipes-bsp/gnu-efi/gnu-efi/0001-Mark-our-explicit-fall-through-so-Wextra-will-work-i.patch deleted file mode 100644 index d0aeb2d..0000000 --- a/meta/recipes-bsp/gnu-efi/gnu-efi/0001-Mark-our-explicit-fall-through-so-Wextra-will-work-i.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 676a8a9001f06808b4dbe0a545d76b5d9a8ebf48 Mon Sep 17 00:00:00 2001 -From: Peter Jones -Date: Thu, 2 Feb 2017 13:51:27 -0500 -Subject: [PATCH] Mark our explicit fall through so -Wextra will work in gcc 7 - -gcc 7 introduces detection of fall-through behavior in switch/case -statements, and will warn if -Wimplicit-fallthrough is present and there -is no comment stating that the fall-through is intentional. This is -also triggered by -Wextra, as it enables -Wimplicit-fallthrough=1. - -This patch adds the comment in the one place we use fall-through. - -Signed-off-by: Peter Jones ---- -Upstream-Status: Pending - - lib/print.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/lib/print.c b/lib/print.c -index b8a9d38..cb732f0 100644 ---- a/lib/print.c -+++ b/lib/print.c -@@ -1131,6 +1131,7 @@ Returns: - case 'X': - Item.Width = Item.Long ? 16 : 8; - Item.Pad = '0'; -+ /* falls through */ - case 'x': - ValueToHex ( - Item.Scratch, --- -2.12.2 - diff --git a/meta/recipes-bsp/gnu-efi/gnu-efi/gcc46-compatibility.patch b/meta/recipes-bsp/gnu-efi/gnu-efi/gcc46-compatibility.patch index 0ce6d7b..69efd34 100644 --- a/meta/recipes-bsp/gnu-efi/gnu-efi/gcc46-compatibility.patch +++ b/meta/recipes-bsp/gnu-efi/gnu-efi/gcc46-compatibility.patch @@ -1,3 +1,8 @@ +From 8d16ae374c5d4d9fac45c002605a66cfb8c08be5 Mon Sep 17 00:00:00 2001 +From: Steve Langasek +Date: Wed, 9 Sep 2015 08:26:06 +0000 +Subject: [PATCH 3/3] gnu-efi, syslinux: Support gcc < 4.7 + don't break with old compilers and -DGNU_EFI_USE_MS_ABI It's entirely legitimate to request GNU_EFI_USE_MS_ABI even if the current compiler doesn't support it, and gnu-efi should transparently fall back to @@ -6,16 +11,25 @@ checking, but at least it will still compile. Author: Steve Langasek Upstream-Status: Pending -Index: gnu-efi-3.0.3/inc/x86_64/efibind.h -=================================================================== ---- gnu-efi-3.0.3.orig/inc/x86_64/efibind.h -+++ gnu-efi-3.0.3/inc/x86_64/efibind.h +[Rebased for 3.0.6] +Signed-off-by: California Sullivan +--- + inc/x86_64/efibind.h | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/inc/x86_64/efibind.h b/inc/x86_64/efibind.h +index 4309f9f..02c0af1 100644 +--- a/inc/x86_64/efibind.h ++++ b/inc/x86_64/efibind.h @@ -25,8 +25,6 @@ Revision History #if defined(GNU_EFI_USE_MS_ABI) - #if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7)) + #if (defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7)))||(defined(__clang__) && (__clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 2))) #define HAVE_USE_MS_ABI 1 - #else - #error Compiler is too old for GNU_EFI_USE_MS_ABI #endif #endif +-- +2.9.4 + diff --git a/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch b/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch index e5b47c1..0110260 100644 --- a/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch +++ b/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch @@ -1,4 +1,7 @@ -Fix parallel make failure for archives +From 16865de66db33ca70872199e70d93efccecc8575 Mon Sep 17 00:00:00 2001 +From: Saul Wold +Date: Sun, 9 Mar 2014 15:22:15 +0200 +Subject: [PATCH 1/3] Fix parallel make failure for archives Upstream-Status: Pending @@ -12,31 +15,18 @@ for details. Signed-off-by: Saul Wold Signed-off-by: Darren Hart +[Rebased for 3.0.6] +Signed-off-by: California Sullivan --- ---- - gnuefi/Makefile | 3 ++- - lib/Makefile | 3 ++- - 2 files changed, 4 insertions(+), 2 deletions(-) + gnuefi/Makefile | 3 ++- + lib/Makefile | 2 +- + 2 files changed, 3 insertions(+), 2 deletions(-) -Index: gnu-efi-3.0/lib/Makefile -=================================================================== ---- gnu-efi-3.0.orig/lib/Makefile -+++ gnu-efi-3.0/lib/Makefile -@@ -66,7 +66,8 @@ all: libsubdirs libefi.a - libsubdirs: - for sdir in $(SUBDIRS); do mkdir -p $$sdir; done - --libefi.a: $(patsubst %,libefi.a(%),$(OBJS)) -+libefi.a: $(OBJS) -+ $(AR) rv $@ $(OBJS) - - clean: - rm -f libefi.a *~ $(OBJS) */*.o -Index: gnu-efi-3.0/gnuefi/Makefile -=================================================================== ---- gnu-efi-3.0.orig/gnuefi/Makefile -+++ gnu-efi-3.0/gnuefi/Makefile -@@ -51,7 +51,8 @@ TARGETS = crt0-efi-$(ARCH).o libgnuefi.a +diff --git a/gnuefi/Makefile b/gnuefi/Makefile +index 2a61699..148106e 100644 +--- a/gnuefi/Makefile ++++ b/gnuefi/Makefile +@@ -54,7 +54,8 @@ TARGETS = crt0-efi-$(ARCH).o libgnuefi.a all: $(TARGETS) @@ -46,3 +36,19 @@ Index: gnu-efi-3.0/gnuefi/Makefile clean: rm -f $(TARGETS) *~ *.o $(OBJS) +diff --git a/lib/Makefile b/lib/Makefile +index b8d1ce7..6ef8107 100644 +--- a/lib/Makefile ++++ b/lib/Makefile +@@ -75,7 +75,7 @@ libsubdirs: + for sdir in $(SUBDIRS); do mkdir -p $$sdir; done + + libefi.a: $(OBJS) +- $(AR) rv -U $@ $^ ++ $(AR) rv $@ $(OBJS) + + clean: + rm -f libefi.a *~ $(OBJS) */*.o +-- +2.9.4 + diff --git a/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.5.bb b/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.6.bb similarity index 92% rename from meta/recipes-bsp/gnu-efi/gnu-efi_3.0.5.bb rename to meta/recipes-bsp/gnu-efi/gnu-efi_3.0.6.bb index 7346737..2a60717 100644 --- a/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.5.bb +++ b/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.6.bb @@ -16,11 +16,10 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.bz2 \ file://parallel-make-archives.patch \ file://lib-Makefile-fix-parallel-issue.patch \ file://gcc46-compatibility.patch \ - file://0001-Mark-our-explicit-fall-through-so-Wextra-will-work-i.patch \ " -SRC_URI[md5sum] = "1f719c9c135778aa6b087b89a1cc2423" -SRC_URI[sha256sum] = "bd8fcd5914f18fc0e4ba948ab03b00013e528504f529c60739b748f6ef130b22" +SRC_URI[md5sum] = "46f633758a8a37db9fd6909fe270c26b" +SRC_URI[sha256sum] = "21515902d80fbea23328a61d70d3d51a47204abd1507ebfa27550a7b9bf22c91" COMPATIBLE_HOST = "(x86_64.*|i.86.*|aarch64.*|arm.*)-linux" COMPATIBLE_HOST_armv4 = 'null' -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:02:43 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:02:43 +0000 Subject: [oe-commits] [openembedded-core] 34/64: valgrind: fix ptest compilation for PowerPC In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130211.490302335AA@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit cd1a123bd07016abcff218d4274161cd794a190b Author: Ross Burton AuthorDate: Fri Jul 14 19:53:42 2017 +0100 valgrind: fix ptest compilation for PowerPC Signed-off-by: Ross Burton --- .../valgrind/valgrind/ppc-headers.patch | 87 ++++++++++++++++++++++ meta/recipes-devtools/valgrind/valgrind_3.13.0.bb | 1 + 2 files changed, 88 insertions(+) diff --git a/meta/recipes-devtools/valgrind/valgrind/ppc-headers.patch b/meta/recipes-devtools/valgrind/valgrind/ppc-headers.patch new file mode 100644 index 0000000..51259db --- /dev/null +++ b/meta/recipes-devtools/valgrind/valgrind/ppc-headers.patch @@ -0,0 +1,87 @@ +Backport a patch from upstream to fix test compilation for PPC where +system headers don't get included. + +Upstream-Status: Backport +Signed-off-by: Ross Burton + +r16450 | mjw | 2017-06-16 10:33:35 +0100 (Fri, 16 Jun 2017) | 7 lines + +ppc64 doesn't compile test_isa_2_06_partx.c without VSX support + +The #ifdef HAS_VSX guard is wrongly placed. It makes the standard +include headers not be used. Causing a build failure. Fix by moving +the #ifdef HAS_VSX after the standard includes. + +Index: none/tests/ppc32/test_isa_2_06_part3.c +=================================================================== +--- a/none/tests/ppc32/test_isa_2_06_part3.c (revision 16449) ++++ b/none/tests/ppc32/test_isa_2_06_part3.c (revision 16450) +@@ -20,17 +20,18 @@ + The GNU General Public License is contained in the file COPYING. + */ + +-#ifdef HAS_VSX +- + #include + #include + #include + #include + #include +-#include + #include + #include // getopt + ++#ifdef HAS_VSX ++ ++#include ++ + #ifndef __powerpc64__ + typedef uint32_t HWord_t; + #else +Index: none/tests/ppc32/test_isa_2_06_part1.c +=================================================================== +--- a/none/tests/ppc32/test_isa_2_06_part1.c (revision 16449) ++++ b/none/tests/ppc32/test_isa_2_06_part1.c (revision 16450) +@@ -20,13 +20,14 @@ + The GNU General Public License is contained in the file COPYING. + */ + +-#ifdef HAS_VSX +- + #include + #include + #include + #include + #include ++ ++#ifdef HAS_VSX ++ + #include + + #ifndef __powerpc64__ +Index: none/tests/ppc32/test_isa_2_06_part2.c +=================================================================== +--- a/none/tests/ppc32/test_isa_2_06_part2.c (revision 16449) ++++ b/none/tests/ppc32/test_isa_2_06_part2.c (revision 16450) +@@ -20,17 +20,18 @@ + The GNU General Public License is contained in the file COPYING. + */ + +-#ifdef HAS_VSX +- + #include + #include + #include + #include + #include +-#include + #include + #include // getopt + ++#ifdef HAS_VSX ++ ++#include ++ + #ifndef __powerpc64__ + typedef uint32_t HWord_t; + #else diff --git a/meta/recipes-devtools/valgrind/valgrind_3.13.0.bb b/meta/recipes-devtools/valgrind/valgrind_3.13.0.bb index 2ec9b9b..feab5fc 100644 --- a/meta/recipes-devtools/valgrind/valgrind_3.13.0.bb +++ b/meta/recipes-devtools/valgrind/valgrind_3.13.0.bb @@ -36,6 +36,7 @@ SRC_URI = "ftp://sourceware.org/pub/valgrind/valgrind-${PV}.tar.bz2 \ file://0002-memcheck-x86-Define-__THROW-if-not-defined.patch \ file://0003-tests-seg_override-Replace-__modify_ldt-with-syscall.patch \ file://link-gz-tests.patch \ + file://ppc-headers.patch \ " SRC_URI[md5sum] = "817dd08f1e8a66336b9ff206400a5369" SRC_URI[sha256sum] = "d76680ef03f00cd5e970bbdcd4e57fb1f6df7d2e2c071635ef2be74790190c3b" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:02:52 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:02:52 +0000 Subject: [oe-commits] [openembedded-core] 43/64: mesa-gl: Clean recipe In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130211.8AE0323354B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit fa3e2b4c07dffd14b02741470ce274619e9a9bd6 Author: Jussi Kukkonen AuthorDate: Wed Jul 12 15:11:44 2017 +0300 mesa-gl: Clean recipe Don't EXCLUDE_FROM_WORLD, mesa.inc already does this. Don't add a non-existing path to FILESEXTRAPATHS. Signed-off-by: Jussi Kukkonen Signed-off-by: Ross Burton --- meta/recipes-graphics/mesa/mesa-gl_17.1.4.bb | 4 ---- 1 file changed, 4 deletions(-) diff --git a/meta/recipes-graphics/mesa/mesa-gl_17.1.4.bb b/meta/recipes-graphics/mesa/mesa-gl_17.1.4.bb index e3604f3..b9e3b80 100644 --- a/meta/recipes-graphics/mesa/mesa-gl_17.1.4.bb +++ b/meta/recipes-graphics/mesa/mesa-gl_17.1.4.bb @@ -2,12 +2,8 @@ require mesa_${PV}.bb SUMMARY += " (OpenGL only, no EGL/GLES)" -FILESEXTRAPATHS =. "${FILE_DIRNAME}/mesa:" - PROVIDES = "virtual/libgl virtual/mesa" S = "${WORKDIR}/mesa-${PV}" PACKAGECONFIG ??= "dri ${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" - -EXCLUDE_FROM_WORLD = "1" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:02:46 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:02:46 +0000 Subject: [oe-commits] [openembedded-core] 37/64: recipetool: git reformat URI mangling & parameter stripped In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130211.5EA3F2335AF@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 0cd2fc8ca278ebaa76de95545eef26a07b350c8e Author: Stanley Cheong Kwan, Phoong AuthorDate: Wed Jul 12 17:25:45 2017 +0800 recipetool: git reformat URI mangling & parameter stripped recipetool seems to be mangling and stripping out the parameters for git URI. This will fix this issue as well as resolve the conflict of protocol parameter added by user. If a user adds their own protocol as an argument, it'll be honored. [YOCTO #11390] [YOCTO #11391] Signed-off-by: Stanley Cheong Kwan, Phoong Signed-off-by: Ross Burton --- scripts/lib/recipetool/create.py | 35 ++++++++++++++++++++++++++--------- 1 file changed, 26 insertions(+), 9 deletions(-) diff --git a/scripts/lib/recipetool/create.py b/scripts/lib/recipetool/create.py index 2a5a84c..8e63580 100644 --- a/scripts/lib/recipetool/create.py +++ b/scripts/lib/recipetool/create.py @@ -26,7 +26,7 @@ import logging import scriptutils from urllib.parse import urlparse, urldefrag, urlsplit import hashlib - +import bb.fetch2 logger = logging.getLogger('recipetool') tinfoil = None @@ -373,14 +373,31 @@ def reformat_git_uri(uri): '''Convert any http[s]://....git URI into git://...;protocol=http[s]''' checkuri = uri.split(';', 1)[0] if checkuri.endswith('.git') or '/git/' in checkuri or re.match('https?://github.com/[^/]+/[^/]+/?$', checkuri): - res = re.match('(http|https|ssh)://([^;]+(\.git)?)(;.*)?$', uri) - if res: - # Need to switch the URI around so that the git fetcher is used - return 'git://%s;protocol=%s%s' % (res.group(2), res.group(1), res.group(4) or '') - elif '@' in checkuri: - # Catch e.g. git at git.example.com:repo.git - return 'git://%s;protocol=ssh' % checkuri.replace(':', '/', 1) - return uri + # Appends scheme if the scheme is missing + if not '://' in uri: + uri = 'git://' + uri + scheme, host, path, user, pswd, parms = bb.fetch2.decodeurl(uri) + # Detection mechanism, this is required due to certain URL are formatter with ":" rather than "/" + # which causes decodeurl to fail getting the right host and path + if len(host.split(':')) > 1: + splitslash = host.split(':') + host = splitslash[0] + path = '/' + splitslash[1] + path + #Algorithm: + # if user is defined, append protocol=ssh or if a protocol is defined, then honor the user-defined protocol + # if no user & password is defined, check for scheme type and append the protocol with the scheme type + # finally if protocols or if the url is well-formed, do nothing and rejoin everything back to normal + # Need to repackage the arguments for encodeurl, the format is: (scheme, host, path, user, password, OrderedDict([('key', 'value')])) + if user: + if not 'protocol' in parms: + parms.update({('protocol', 'ssh')}) + elif (scheme == "http" or scheme == 'https' or scheme == 'ssh') and not ('protocol' in parms): + parms.update({('protocol', scheme)}) + # Always append 'git://' + fUrl = bb.fetch2.encodeurl(('git', host, path, user, pswd, parms)) + return fUrl + else: + return uri def is_package(url): '''Check if a URL points to a package''' -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:02:48 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:02:48 +0000 Subject: [oe-commits] [openembedded-core] 39/64: automake: 1.15 -> 1.15.1 In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130211.6E06B2335B3@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 6455aa2289a401ab4959b399acada02907be99be Author: Robert Yang AuthorDate: Wed Jul 12 03:15:26 2017 -0700 automake: 1.15 -> 1.15.1 * Remove backported patch: - 0001-automake-port-to-Perl-5.22-and-later.patch Signed-off-by: Robert Yang Signed-off-by: Ross Burton --- ...0001-automake-port-to-Perl-5.22-and-later.patch | 32 ---------------------- .../{automake_1.15.bb => automake_1.15.1.bb} | 5 ++-- 2 files changed, 2 insertions(+), 35 deletions(-) diff --git a/meta/recipes-devtools/automake/automake/0001-automake-port-to-Perl-5.22-and-later.patch b/meta/recipes-devtools/automake/automake/0001-automake-port-to-Perl-5.22-and-later.patch deleted file mode 100644 index 0e6895f..0000000 --- a/meta/recipes-devtools/automake/automake/0001-automake-port-to-Perl-5.22-and-later.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 13f00eb4493c217269b76614759e452d8302955e Mon Sep 17 00:00:00 2001 -From: Paul Eggert -Date: Thu, 31 Mar 2016 16:35:29 -0700 -Subject: [PATCH] automake: port to Perl 5.22 and later - -Without this change, Perl 5.22 complains "Unescaped left brace in -regex is deprecated" and this is planned to become a hard error in -Perl 5.26. See: -http://search.cpan.org/dist/perl-5.22.0/pod/perldelta.pod#A_literal_%22{%22_should_now_be_escaped_in_a_pattern -* bin/automake.in (substitute_ac_subst_variables): Escape left brace. - -Upstream-Status: Backport [13f00eb4493c217269b76614759e452d8302955e] ---- - bin/automake.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/bin/automake.in b/bin/automake.in -index a3a0aa318..2c8f31e14 100644 ---- a/bin/automake.in -+++ b/bin/automake.in -@@ -3878,7 +3878,7 @@ sub substitute_ac_subst_variables_worker - sub substitute_ac_subst_variables - { - my ($text) = @_; -- $text =~ s/\${([^ \t=:+{}]+)}/substitute_ac_subst_variables_worker ($1)/ge; -+ $text =~ s/\$[{]([^ \t=:+{}]+)}/substitute_ac_subst_variables_worker ($1)/ge; - return $text; - } - --- -2.11.0 - diff --git a/meta/recipes-devtools/automake/automake_1.15.bb b/meta/recipes-devtools/automake/automake_1.15.1.bb similarity index 84% rename from meta/recipes-devtools/automake/automake_1.15.bb rename to meta/recipes-devtools/automake/automake_1.15.1.bb index 902dd63..4812341 100644 --- a/meta/recipes-devtools/automake/automake_1.15.bb +++ b/meta/recipes-devtools/automake/automake_1.15.1.bb @@ -24,11 +24,10 @@ SRC_URI += "file://python-libdir.patch \ file://performance.patch \ file://new_rt_path_for_test-driver.patch \ file://automake-replace-w-option-in-shebangs-with-modern-use-warnings.patch \ - file://0001-automake-port-to-Perl-5.22-and-later.patch \ " -SRC_URI[md5sum] = "716946a105ca228ab545fc37a70df3a3" -SRC_URI[sha256sum] = "7946e945a96e28152ba5a6beb0625ca715c6e32ac55f2e353ef54def0c8ed924" +SRC_URI[md5sum] = "95df3f2d6eb8f81e70b8cb63a93c8853" +SRC_URI[sha256sum] = "988e32527abe052307d21c8ca000aa238b914df363a617e38f4fb89f5abf6260" PERL = "${USRBINPATH}/perl" PERL_class-native = "${USRBINPATH}/env perl" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:02:54 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:02:54 +0000 Subject: [oe-commits] [openembedded-core] 45/64: kernel-yocto: propagate configuration errors to bbclass In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130211.9A0E623354A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 960652416e2390337df6d9734375d6829ceb6420 Author: Bruce Ashfield AuthorDate: Tue Jun 13 03:26:17 2017 -0400 kernel-yocto: propagate configuration errors to bbclass As pointed out by klapperichpaul at johndeere.com, missing configuration fragments were being picked up twice, once by the tools and once by the bbclass. Unfortunately, the tools error message was being detected as configs, and hence no error was reported at all. Rather than catching the output of the tools, we can instead check the return code and propagate the error message from the tools directly to the user. [YOCTO #11649] Signed-off-by: Bruce Ashfield Signed-off-by: Ross Burton --- meta/classes/kernel-yocto.bbclass | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meta/classes/kernel-yocto.bbclass b/meta/classes/kernel-yocto.bbclass index 50226f6..1ca0756 100644 --- a/meta/classes/kernel-yocto.bbclass +++ b/meta/classes/kernel-yocto.bbclass @@ -281,7 +281,8 @@ do_kernel_configme() { meta_dir=$(kgit --meta) configs="$(scc --configs -o ${meta_dir})" - if [ -z "${configs}" ]; then + if [ $? -ne 0 ]; then + bberror "${configs}" bbfatal_log "Could not find configuration queue (${meta_dir}/config.queue)" fi -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:02:40 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:02:40 +0000 Subject: [oe-commits] [openembedded-core] 31/64: gcc-7.1: Update the libsanitize stack_t patch to upstreamed version In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130211.35587233537@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 979888c39684097086353dfd39eac60c4a66f776 Author: Khem Raj AuthorDate: Tue Jul 11 09:02:33 2017 -0700 gcc-7.1: Update the libsanitize stack_t patch to upstreamed version Signed-off-by: Khem Raj Signed-off-by: Ross Burton --- ...r-Use-stack_t-instead-of-struct-sigaltsta.patch | 135 +++++---------------- 1 file changed, 28 insertions(+), 107 deletions(-) diff --git a/meta/recipes-devtools/gcc/gcc-7.1/0049-libsanitizer-Use-stack_t-instead-of-struct-sigaltsta.patch b/meta/recipes-devtools/gcc/gcc-7.1/0049-libsanitizer-Use-stack_t-instead-of-struct-sigaltsta.patch index ee15c6c..165258b 100644 --- a/meta/recipes-devtools/gcc/gcc-7.1/0049-libsanitizer-Use-stack_t-instead-of-struct-sigaltsta.patch +++ b/meta/recipes-devtools/gcc/gcc-7.1/0049-libsanitizer-Use-stack_t-instead-of-struct-sigaltsta.patch @@ -3,6 +3,8 @@ From: Khem Raj Date: Sun, 11 Jun 2017 10:09:13 -0700 Subject: [PATCH] libsanitizer: Use stack_t instead of struct sigaltstack +https://reviews.llvm.org/D35246 + Upstream-Status: Submitted Signed-off-by: Khem Raj @@ -12,83 +14,49 @@ Signed-off-by: Khem Raj .../sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc | 3 ++- 3 files changed, 7 insertions(+), 6 deletions(-) -Index: gcc-7.1.0/libsanitizer/sanitizer_common/sanitizer_linux.cc -=================================================================== ---- gcc-7.1.0.orig/libsanitizer/sanitizer_common/sanitizer_linux.cc -+++ gcc-7.1.0/libsanitizer/sanitizer_common/sanitizer_linux.cc -@@ -14,6 +14,10 @@ - - #if SANITIZER_FREEBSD || SANITIZER_LINUX - -+#if !SANITIZER_ANDROID -+#include -+#endif -+ - #include "sanitizer_common.h" - #include "sanitizer_flags.h" - #include "sanitizer_internal_defs.h" -@@ -71,10 +75,6 @@ extern "C" { - extern char **environ; // provided by crt1 - #endif // SANITIZER_FREEBSD - --#if !SANITIZER_ANDROID --#include --#endif -- - #if SANITIZER_LINUX - // - struct kernel_timeval { -@@ -605,8 +605,8 @@ uptr internal_prctl(int option, uptr arg - } - #endif - --uptr internal_sigaltstack(const struct sigaltstack *ss, -- struct sigaltstack *oss) { -+uptr internal_sigaltstack(const stack_t *ss, -+ stack_t *oss) { - return internal_syscall(SYSCALL(sigaltstack), (uptr)ss, (uptr)oss); - } - + Index: gcc-7.1.0/libsanitizer/sanitizer_common/sanitizer_linux.h =================================================================== ---- gcc-7.1.0.orig/libsanitizer/sanitizer_common/sanitizer_linux.h +--- gcc-7.1.0/libsanitizer/sanitizer_common/sanitizer_linux.h +++ gcc-7.1.0/libsanitizer/sanitizer_common/sanitizer_linux.h -@@ -19,7 +19,10 @@ +@@ -21,17 +21,15 @@ #include "sanitizer_platform_limits_posix.h" struct link_map; // Opaque type returned by dlopen(). -struct sigaltstack; -+ -+#ifndef __stack_t_defined -+struct stack_t; -+#endif namespace __sanitizer { // Dirent structure for getdents(). Note that this structure is different from -@@ -28,8 +31,8 @@ struct linux_dirent; + // the one in , which is used by readdir(). + struct linux_dirent; // Syscall wrappers. uptr internal_getdents(fd_t fd, struct linux_dirent *dirp, unsigned int count); -uptr internal_sigaltstack(const struct sigaltstack* ss, - struct sigaltstack* oss); -+uptr internal_sigaltstack(const stack_t* ss, -+ stack_t* oss); ++uptr internal_sigaltstack(const void* ss, void* oss); uptr internal_sigprocmask(int how, __sanitizer_sigset_t *set, __sanitizer_sigset_t *oldset); -Index: gcc-7.1.0/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc +Index: gcc-7.1.0/libsanitizer/sanitizer_common/sanitizer_linux.cc =================================================================== ---- gcc-7.1.0.orig/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc -+++ gcc-7.1.0/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc -@@ -16,6 +16,7 @@ - defined(__aarch64__) || defined(__powerpc64__) || \ - defined(__s390__)) +--- gcc-7.1.0/libsanitizer/sanitizer_common/sanitizer_linux.cc ++++ gcc-7.1.0/libsanitizer/sanitizer_common/sanitizer_linux.cc +@@ -631,8 +631,7 @@ + } + #endif -+#include - #include "sanitizer_stoptheworld.h" +-uptr internal_sigaltstack(const struct sigaltstack *ss, +- struct sigaltstack *oss) { ++uptr internal_sigaltstack(const void *ss, void *oss) { + return internal_syscall(SYSCALL(sigaltstack), (uptr)ss, (uptr)oss); + } - #include "sanitizer_platform_limits_posix.h" -@@ -273,7 +274,7 @@ static int TracerThread(void* argument) +Index: gcc-7.1.0/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc +=================================================================== +--- gcc-7.1.0/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc ++++ gcc-7.1.0/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc +@@ -287,7 +287,7 @@ // Alternate stack for signal handling. InternalScopedBuffer handler_stack_memory(kHandlerStackSize); @@ -99,62 +67,15 @@ Index: gcc-7.1.0/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libc handler_stack.ss_size = kHandlerStackSize; Index: gcc-7.1.0/libsanitizer/tsan/tsan_platform_linux.cc =================================================================== ---- gcc-7.1.0.orig/libsanitizer/tsan/tsan_platform_linux.cc +--- gcc-7.1.0/libsanitizer/tsan/tsan_platform_linux.cc +++ gcc-7.1.0/libsanitizer/tsan/tsan_platform_linux.cc -@@ -14,6 +14,7 @@ - #include "sanitizer_common/sanitizer_platform.h" - #if SANITIZER_LINUX || SANITIZER_FREEBSD - -+#include - #include "sanitizer_common/sanitizer_common.h" - #include "sanitizer_common/sanitizer_libc.h" - #include "sanitizer_common/sanitizer_linux.h" -@@ -28,7 +29,6 @@ - - #include - #include --#include - #include - #include - #include -@@ -287,7 +287,7 @@ void InitializePlatform() { +@@ -288,7 +288,7 @@ int ExtractResolvFDs(void *state, int *fds, int nfd) { #if SANITIZER_LINUX && !SANITIZER_ANDROID int cnt = 0; - __res_state *statp = (__res_state*)state; -+ res_state statp = (res_state)state; ++ struct __res_state *statp = (struct __res_state*)state; for (int i = 0; i < MAXNS && cnt < nfd; i++) { if (statp->_u._ext.nsaddrs[i] && statp->_u._ext.nssocks[i] != -1) fds[cnt++] = statp->_u._ext.nssocks[i]; -Index: gcc-7.1.0/libsanitizer/sanitizer_common/sanitizer_linux_libcdep.cc -=================================================================== ---- gcc-7.1.0.orig/libsanitizer/sanitizer_common/sanitizer_linux_libcdep.cc -+++ gcc-7.1.0/libsanitizer/sanitizer_common/sanitizer_linux_libcdep.cc -@@ -14,6 +14,7 @@ - - #if SANITIZER_FREEBSD || SANITIZER_LINUX - -+#include - #include "sanitizer_allocator_internal.h" - #include "sanitizer_atomic.h" - #include "sanitizer_common.h" -@@ -30,7 +31,6 @@ - - #include - #include --#include - #include - #include - -Index: gcc-7.1.0/libsanitizer/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cc -=================================================================== ---- gcc-7.1.0.orig/libsanitizer/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cc -+++ gcc-7.1.0/libsanitizer/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cc -@@ -12,6 +12,7 @@ - - #include "sanitizer_platform.h" - #if SANITIZER_POSIX -+#include - #include "sanitizer_allocator_internal.h" - #include "sanitizer_common.h" - #include "sanitizer_flags.h" + -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:02:53 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:02:53 +0000 Subject: [oe-commits] [openembedded-core] 44/64: mesa: fix build race on src/intel/vulkan In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130211.91D21233548@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 19e793f65d214294baa9eeaf982f4ced351c7748 Author: Ross Burton AuthorDate: Wed Jul 12 17:18:30 2017 +0100 mesa: fix build race on src/intel/vulkan It's possible that src/intel/vulkcan can be written into by sed before it has been created, so add the required mkdir calls. Signed-off-by: Ross Burton --- .../recipes-graphics/mesa/files/vulkan-mkdir.patch | 37 ++++++++++++++++++++++ meta/recipes-graphics/mesa/mesa_17.1.4.bb | 1 + 2 files changed, 38 insertions(+) diff --git a/meta/recipes-graphics/mesa/files/vulkan-mkdir.patch b/meta/recipes-graphics/mesa/files/vulkan-mkdir.patch new file mode 100644 index 0000000..15ee5ee --- /dev/null +++ b/meta/recipes-graphics/mesa/files/vulkan-mkdir.patch @@ -0,0 +1,37 @@ +Upstream-Status: Submitted +Signed-off-by: Ross Burton + +From c78979fd95a1c4f732f7e6edf0f32c524e5955b8 Mon Sep 17 00:00:00 2001 +From: Ross Burton +Date: Wed, 12 Jul 2017 17:10:07 +0100 +Subject: [PATCH] src/intel/Makefile.vulkan.am: create target directories when + required + +In out-of-tree builds src/intel/vulkan won't exist, so always create it before +writing into it. + +Signed-off-by: Ross Burton +--- + src/intel/Makefile.vulkan.am | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/intel/Makefile.vulkan.am b/src/intel/Makefile.vulkan.am +index 3857a5dc62..26e9cd410c 100644 +--- a/src/intel/Makefile.vulkan.am ++++ b/src/intel/Makefile.vulkan.am +@@ -44,11 +44,13 @@ EXTRA_DIST += \ + vulkan/TODO + + vulkan/dev_icd.json : vulkan/dev_icd.json.in ++ $(MKDIR_GEN) + $(AM_V_GEN) $(SED) \ + -e "s#@build_libdir@#${abs_top_builddir}/${LIB_DIR}#" \ + < $(srcdir)/vulkan/dev_icd.json.in > $@ + + vulkan/intel_icd. at host_cpu@.json : vulkan/intel_icd.json.in ++ $(MKDIR_GEN) + $(AM_V_GEN) $(SED) \ + -e "s#@install_libdir@#${libdir}#" \ + < $(srcdir)/vulkan/intel_icd.json.in > $@ +-- +2.11.0 diff --git a/meta/recipes-graphics/mesa/mesa_17.1.4.bb b/meta/recipes-graphics/mesa/mesa_17.1.4.bb index 2257045..f0b634a 100644 --- a/meta/recipes-graphics/mesa/mesa_17.1.4.bb +++ b/meta/recipes-graphics/mesa/mesa_17.1.4.bb @@ -7,6 +7,7 @@ SRC_URI = "https://mesa.freedesktop.org/archive/mesa-${PV}.tar.xz \ file://0001-Use-wayland-scanner-in-the-path.patch \ file://0002-hardware-gloat.patch \ file://0001-mapi-Only-install-khrplatform.h-with-EGL-or-GLES.patch \ + file://vulkan-mkdir.patch \ " SRC_URI[md5sum] = "be2ef7c9edec23b07f74f6512a6a6fa5" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:02:51 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:02:51 +0000 Subject: [oe-commits] [openembedded-core] 42/64: mesa: Avoid installing khrplatfrom.h when not needed In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130211.82DF12335B8@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 6a079bf5a446c2e98e7444e04dfadaff96342b4f Author: Jussi Kukkonen AuthorDate: Wed Jul 12 15:11:43 2017 +0300 mesa: Avoid installing khrplatfrom.h when not needed Fix the conflict between mesa and userland (when former is used to provide GL and letter used to provide EGL+GLES) by not installing khrplatform.h header when its not needed. Signed-off-by: Jussi Kukkonen Signed-off-by: Ross Burton --- ...ly-install-khrplatform.h-with-EGL-or-GLES.patch | 52 ++++++++++++++++++++++ meta/recipes-graphics/mesa/mesa_17.1.4.bb | 1 + 2 files changed, 53 insertions(+) diff --git a/meta/recipes-graphics/mesa/files/0001-mapi-Only-install-khrplatform.h-with-EGL-or-GLES.patch b/meta/recipes-graphics/mesa/files/0001-mapi-Only-install-khrplatform.h-with-EGL-or-GLES.patch new file mode 100644 index 0000000..be61e2e --- /dev/null +++ b/meta/recipes-graphics/mesa/files/0001-mapi-Only-install-khrplatform.h-with-EGL-or-GLES.patch @@ -0,0 +1,52 @@ +From 922cb47a5b950ee5545a7a3cb4cd9a88a8b15054 Mon Sep 17 00:00:00 2001 +From: Jussi Kukkonen +Date: Wed, 12 Jul 2017 12:21:29 +0300 +Subject: [PATCH] mapi: Only install khrplatform.h with EGL or GLES + +When mesa is built with "--disable-egl --disable-gles1 +--disable-gles2" the KHR platform headers are not needed. + +Not installing the header when not needed allows using mesa for GL +and another implementation for GLES+EGL (as is done in practice with +userland on raspberrypi). + +Upstream-Status: Pending [waiting for test results before sending] +Signed-off-by: Jussi Kukkonen +--- + src/mapi/Makefile.am | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/src/mapi/Makefile.am b/src/mapi/Makefile.am +index 9ff70a14fd..94c77fb82c 100644 +--- a/src/mapi/Makefile.am ++++ b/src/mapi/Makefile.am +@@ -188,6 +188,8 @@ es1api_libGLESv1_CM_la_LDFLAGS = \ + $(LD_NO_UNDEFINED) + + es1api_libGLESv1_CM_la_LIBADD += shared-glapi/libglapi.la ++ ++khr_HEADERS = $(top_srcdir)/include/KHR/khrplatform.h + endif + + es1api/glapi_mapi_tmp.h: glapi/gen/gl_and_es_API.xml $(glapi_gen_mapi_deps) +@@ -233,6 +235,12 @@ es2api_libGLESv2_la_LDFLAGS = \ + $(LD_NO_UNDEFINED) + + es2api_libGLESv2_la_LIBADD += shared-glapi/libglapi.la ++ ++khr_HEADERS = $(top_srcdir)/include/KHR/khrplatform.h ++endif ++ ++if HAVE_EGL ++khr_HEADERS = $(top_srcdir)/include/KHR/khrplatform.h + endif + + es2api/glapi_mapi_tmp.h: glapi/gen/gl_and_es_API.xml $(glapi_gen_mapi_deps) +@@ -243,4 +251,3 @@ es2api/glapi_mapi_tmp.h: glapi/gen/gl_and_es_API.xml $(glapi_gen_mapi_deps) + include $(top_srcdir)/install-lib-links.mk + + khrdir = $(includedir)/KHR +-khr_HEADERS = $(top_srcdir)/include/KHR/khrplatform.h +-- +2.13.2 + diff --git a/meta/recipes-graphics/mesa/mesa_17.1.4.bb b/meta/recipes-graphics/mesa/mesa_17.1.4.bb index 3289cd6..2257045 100644 --- a/meta/recipes-graphics/mesa/mesa_17.1.4.bb +++ b/meta/recipes-graphics/mesa/mesa_17.1.4.bb @@ -6,6 +6,7 @@ SRC_URI = "https://mesa.freedesktop.org/archive/mesa-${PV}.tar.xz \ file://etnaviv_fix-shader-miscompilation.patch \ file://0001-Use-wayland-scanner-in-the-path.patch \ file://0002-hardware-gloat.patch \ + file://0001-mapi-Only-install-khrplatform.h-with-EGL-or-GLES.patch \ " SRC_URI[md5sum] = "be2ef7c9edec23b07f74f6512a6a6fa5" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:02:49 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:02:49 +0000 Subject: [oe-commits] [openembedded-core] 40/64: debianutils: 4.8.1 -> 4.8.1.1 In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130211.755C52335B5@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 2a8a10aead8da0c21e6461c03f038efcfc59e31a Author: Robert Yang AuthorDate: Wed Jul 12 03:15:28 2017 -0700 debianutils: 4.8.1 -> 4.8.1.1 Signed-off-by: Robert Yang Signed-off-by: Ross Burton --- .../debianutils/{debianutils_4.8.1.bb => debianutils_4.8.1.1.bb} | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/meta/recipes-support/debianutils/debianutils_4.8.1.bb b/meta/recipes-support/debianutils/debianutils_4.8.1.1.bb similarity index 86% rename from meta/recipes-support/debianutils/debianutils_4.8.1.bb rename to meta/recipes-support/debianutils/debianutils_4.8.1.1.bb index 54c345e..23f8421 100644 --- a/meta/recipes-support/debianutils/debianutils_4.8.1.bb +++ b/meta/recipes-support/debianutils/debianutils_4.8.1.1.bb @@ -3,14 +3,13 @@ SECTION = "base" LICENSE = "GPLv2 & SMAIL_GPL" LIC_FILES_CHKSUM = "file://debian/copyright;md5=f01a5203d50512fc4830b4332b696a9f" -SRC_URI = "http://snapshot.debian.org/archive/debian/20161118T033019Z/pool/main/d/${BPN}/${BPN}_${PV}.tar.xz" +SRC_URI = "http://snapshot.debian.org/archive/debian/20170402T211732Z/pool/main/d/${BPN}/${BPN}_${PV}.tar.xz" # the package is taken from snapshots.debian.org; that source is static and goes stale # so we check the latest upstream from a directory that does get updated UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/d/${BPN}/" - -SRC_URI[md5sum] = "44083fc66164746880dffd30d62d054b" -SRC_URI[sha256sum] = "2c395c0bdcfe89de30828b1d25cc5549ded5225a6d3625fbcb2cc0881ef5f026" +SRC_URI[md5sum] = "ee5fcecaab071bd0c93e8a0cee65d6c4" +SRC_URI[sha256sum] = "06446cd4c0d309fd31a0682c5c2f07f7613fb867f769414b9cc51f155ad73172" inherit autotools update-alternatives -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:02:59 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:02:59 +0000 Subject: [oe-commits] [openembedded-core] 50/64: linux-yocto-dev: bump to 4.12+ In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130211.C28732335B9@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 26aaa6cca9de678fa6d6e89902d14aff9cf3c8b0 Author: Bruce Ashfield AuthorDate: Tue Jul 11 09:37:53 2017 -0400 linux-yocto-dev: bump to 4.12+ Signed-off-by: Bruce Ashfield Signed-off-by: Ross Burton --- meta/recipes-kernel/linux/linux-yocto-dev.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-kernel/linux/linux-yocto-dev.bb b/meta/recipes-kernel/linux/linux-yocto-dev.bb index bf67f81..5852b42 100644 --- a/meta/recipes-kernel/linux/linux-yocto-dev.bb +++ b/meta/recipes-kernel/linux/linux-yocto-dev.bb @@ -28,7 +28,7 @@ SRC_URI = "git://git.yoctoproject.org/linux-yocto-dev.git;branch=${KBRANCH};name SRCREV_machine ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-yocto-dev", "${AUTOREV}", "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}' SRCREV_meta ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-yocto-dev", "${AUTOREV}", "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}' -LINUX_VERSION ?= "4.11-rc+" +LINUX_VERSION ?= "4.12-rc+" LINUX_VERSION_EXTENSION ?= "-yoctodev-${LINUX_KERNEL_TYPE}" PV = "${LINUX_VERSION}+git${SRCPV}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:02:55 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:02:55 +0000 Subject: [oe-commits] [openembedded-core] 46/64: kernel-yocto/meta: smp configuration changes In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130211.A29BE23354C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 6bd4f855cfc95c82d6bf5b00531f1aad752002ee Author: Bruce Ashfield AuthorDate: Mon Jul 3 22:57:45 2017 -0400 kernel-yocto/meta: smp configuration changes Integrating the following kernel configuration changes to clean up the SMP configuration fragments and fix a configuration audit warning. d0e5ea0e199b smp: Separate smp into 32 and 64 bit versions to avoid kernel warnings f1369c1d817e bsp/mohonpeak: smp gets added by default, remove unnecessary include 6fc22aa1200b bsp/rangeley: smp gets added by default, remove unnecessary include [YOCTO #11743] Signed-off-by: Alejandro Hernandez Signed-off-by: Bruce Ashfield Signed-off-by: Ross Burton --- meta/recipes-kernel/linux/linux-yocto-rt_4.10.bb | 2 +- meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb | 2 +- meta/recipes-kernel/linux/linux-yocto-rt_4.9.bb | 2 +- meta/recipes-kernel/linux/linux-yocto-tiny_4.10.bb | 2 +- meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb | 2 +- meta/recipes-kernel/linux/linux-yocto-tiny_4.9.bb | 2 +- meta/recipes-kernel/linux/linux-yocto_4.10.bb | 2 +- meta/recipes-kernel/linux/linux-yocto_4.4.bb | 2 +- meta/recipes-kernel/linux/linux-yocto_4.9.bb | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_4.10.bb b/meta/recipes-kernel/linux/linux-yocto-rt_4.10.bb index f25974c..e804d89 100644 --- a/meta/recipes-kernel/linux/linux-yocto-rt_4.10.bb +++ b/meta/recipes-kernel/linux/linux-yocto-rt_4.10.bb @@ -12,7 +12,7 @@ python () { } SRCREV_machine ?= "6648a34e00c55a0634b39e661dd6ba14dd106473" -SRCREV_meta ?= "4b89f331d4220f6f62d20ef60aa59edcd9b44106" +SRCREV_meta ?= "e92bd55409a6ded89642f5ac22391487364ac798" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.10.git;branch=${KBRANCH};name=machine \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.10;destsuffix=${KMETA}" diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb b/meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb index 4ad7990..f423604 100644 --- a/meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb +++ b/meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb @@ -12,7 +12,7 @@ python () { } SRCREV_machine ?= "b0b44854bfb7f7ea10890ab8d8fff936be7e37da" -SRCREV_meta ?= "c3f8900923a7b56ea6231d31a1a4e81306156dc5" +SRCREV_meta ?= "d0e5ea0e199b591cc7588dc80b6ec07ea05f74b8" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.4.git;branch=${KBRANCH};name=machine \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.4;destsuffix=${KMETA}" diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_4.9.bb b/meta/recipes-kernel/linux/linux-yocto-rt_4.9.bb index 3bfa24b..f0e9180 100644 --- a/meta/recipes-kernel/linux/linux-yocto-rt_4.9.bb +++ b/meta/recipes-kernel/linux/linux-yocto-rt_4.9.bb @@ -12,7 +12,7 @@ python () { } SRCREV_machine ?= "ab749ed8fd7beb6c63ec62a808eac8678db83810" -SRCREV_meta ?= "60dd89e2423aaa2e7be680db09be43d1f47471e0" +SRCREV_meta ?= "299f12a06ca1d6fd90b24450dae3b9f257a536be" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.9.git;branch=${KBRANCH};name=machine \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.9;destsuffix=${KMETA}" diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_4.10.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_4.10.bb index 2e98914..f58799b 100644 --- a/meta/recipes-kernel/linux/linux-yocto-tiny_4.10.bb +++ b/meta/recipes-kernel/linux/linux-yocto-tiny_4.10.bb @@ -10,7 +10,7 @@ KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" SRCREV_machine ?= "6648a34e00c55a0634b39e661dd6ba14dd106473" -SRCREV_meta ?= "4b89f331d4220f6f62d20ef60aa59edcd9b44106" +SRCREV_meta ?= "e92bd55409a6ded89642f5ac22391487364ac798" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb index 3f987a9..868e70e 100644 --- a/meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb +++ b/meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb @@ -10,7 +10,7 @@ KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" SRCREV_machine ?= "268676407913f5d496cde6cbf4052eb5acaf6237" -SRCREV_meta ?= "c3f8900923a7b56ea6231d31a1a4e81306156dc5" +SRCREV_meta ?= "d0e5ea0e199b591cc7588dc80b6ec07ea05f74b8" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_4.9.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_4.9.bb index 8041c5f..482e38c 100644 --- a/meta/recipes-kernel/linux/linux-yocto-tiny_4.9.bb +++ b/meta/recipes-kernel/linux/linux-yocto-tiny_4.9.bb @@ -10,7 +10,7 @@ KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" SRCREV_machine ?= "d2de43e42bb8a270e680aab1c8f2447bff0b3552" -SRCREV_meta ?= "60dd89e2423aaa2e7be680db09be43d1f47471e0" +SRCREV_meta ?= "299f12a06ca1d6fd90b24450dae3b9f257a536be" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/meta/recipes-kernel/linux/linux-yocto_4.10.bb b/meta/recipes-kernel/linux/linux-yocto_4.10.bb index fa85b21..f3966d4 100644 --- a/meta/recipes-kernel/linux/linux-yocto_4.10.bb +++ b/meta/recipes-kernel/linux/linux-yocto_4.10.bb @@ -19,7 +19,7 @@ SRCREV_machine_qemux86 ?= "6648a34e00c55a0634b39e661dd6ba14dd106473" SRCREV_machine_qemux86-64 ?= "6648a34e00c55a0634b39e661dd6ba14dd106473" SRCREV_machine_qemumips64 ?= "b442c964432938cbe10c4cc578260353045af980" SRCREV_machine ?= "6648a34e00c55a0634b39e661dd6ba14dd106473" -SRCREV_meta ?= "4b89f331d4220f6f62d20ef60aa59edcd9b44106" +SRCREV_meta ?= "e92bd55409a6ded89642f5ac22391487364ac798" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.10.git;name=machine;branch=${KBRANCH}; \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.10;destsuffix=${KMETA}" diff --git a/meta/recipes-kernel/linux/linux-yocto_4.4.bb b/meta/recipes-kernel/linux/linux-yocto_4.4.bb index 2643415..48f4e94 100644 --- a/meta/recipes-kernel/linux/linux-yocto_4.4.bb +++ b/meta/recipes-kernel/linux/linux-yocto_4.4.bb @@ -19,7 +19,7 @@ SRCREV_machine_qemux86 ?= "268676407913f5d496cde6cbf4052eb5acaf6237" SRCREV_machine_qemux86-64 ?= "268676407913f5d496cde6cbf4052eb5acaf6237" SRCREV_machine_qemumips64 ?= "dfd0bad7365562bf39b16630c59dcb4b18a09396" SRCREV_machine ?= "268676407913f5d496cde6cbf4052eb5acaf6237" -SRCREV_meta ?= "c3f8900923a7b56ea6231d31a1a4e81306156dc5" +SRCREV_meta ?= "d0e5ea0e199b591cc7588dc80b6ec07ea05f74b8" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.4.git;name=machine;branch=${KBRANCH}; \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.4;destsuffix=${KMETA}" diff --git a/meta/recipes-kernel/linux/linux-yocto_4.9.bb b/meta/recipes-kernel/linux/linux-yocto_4.9.bb index ba43d5a..acfae37 100644 --- a/meta/recipes-kernel/linux/linux-yocto_4.9.bb +++ b/meta/recipes-kernel/linux/linux-yocto_4.9.bb @@ -19,7 +19,7 @@ SRCREV_machine_qemux86 ?= "d2de43e42bb8a270e680aab1c8f2447bff0b3552" SRCREV_machine_qemux86-64 ?= "d2de43e42bb8a270e680aab1c8f2447bff0b3552" SRCREV_machine_qemumips64 ?= "5b396803703aa5c1bd1e6f5cc7ac02de05cd0d08" SRCREV_machine ?= "d2de43e42bb8a270e680aab1c8f2447bff0b3552" -SRCREV_meta ?= "60dd89e2423aaa2e7be680db09be43d1f47471e0" +SRCREV_meta ?= "299f12a06ca1d6fd90b24450dae3b9f257a536be" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.9.git;name=machine;branch=${KBRANCH}; \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.9;destsuffix=${KMETA}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:03:03 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:03:03 +0000 Subject: [oe-commits] [openembedded-core] 54/64: base-files: ignore "mesg n" error messages In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130211.E3DCB233557@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 4511a524f906c97db7c7674ad34e7bc8630649e3 Author: Patrick Ohly AuthorDate: Wed Jul 12 10:44:12 2017 +0200 base-files: ignore "mesg n" error messages When using "su - myuser" to change from root to a non-privileged user, "mesg n" from the default .profile fails with "mesg: error: tty device is not owned by group `tty' or "mesg: cannot open /dev/ttyS0: Permission denied", depending on whether mesg comes from busybox or util-linux. This does not happen during a normal login because permissions on /dev/tty* get changed while doing that, something that isn't possible with plain "su -". As the error can't be avoided and failures of mesg probably aren't particularly important, now error messages get dumped to /dev/null. [YOCTO #11127] Signed-off-by: Patrick Ohly Signed-off-by: Ross Burton --- meta/recipes-core/base-files/base-files/share/dot.profile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meta/recipes-core/base-files/base-files/share/dot.profile b/meta/recipes-core/base-files/base-files/share/dot.profile index 979793e..a873160 100644 --- a/meta/recipes-core/base-files/base-files/share/dot.profile +++ b/meta/recipes-core/base-files/base-files/share/dot.profile @@ -7,4 +7,5 @@ fi # path set by /etc/profile # export PATH -mesg n +# Might fail after "su - myuser" when /dev/tty* is not writable by "myuser". +mesg n 2>/dev/null -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:02:57 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:02:57 +0000 Subject: [oe-commits] [openembedded-core] 48/64: linux-yocto/4.4: update to v4.4.76 In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130211.B2670233552@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit ab2721fca72ed28f865b1ee3b7e33d9d09515d87 Author: Bruce Ashfield AuthorDate: Mon Jul 10 13:06:11 2017 -0400 linux-yocto/4.4: update to v4.4.76 Integrating the -stable commit with the following changes: 4282d39575bf Linux 4.4.76 be8c39b47061 KVM: nVMX: Fix exception injection 77d977dd78b3 KVM: x86: zero base3 of unusable segments 3b1609f6c436 KVM: x86/vPMU: fix undefined shift in intel_pmu_refresh() b9b3eb5c774e KVM: x86: fix emulation of RSM and IRET instructions 3491a0b59fcd cpufreq: s3c2416: double free on driver init error path aad7041e721e iommu/amd: Fix incorrect error handling in amd_iommu_bind_pasid() 48952c6d517a iommu: Handle default domain attach failure 3de9630abe3b iommu/vt-d: Don't over-free page table directories 404ef3b4bf62 ocfs2: o2hb: revert hb threshold to keep compatible 5d650fcef901 x86/mm: Fix flush_tlb_page() on Xen 6fb3b322307e x86/mpx: Correctly report do_mpx_bt_fault() failures to user-space 7cd8c4903171 ARM: 8685/1: ensure memblock-limit is pmd-aligned d4960d58158b ARM64/ACPI: Fix BAD_MADT_GICC_ENTRY() macro implementation 6ca11db55f62 sched/loadavg: Avoid loadavg spikes caused by delayed NO_HZ accounting f6115ec09225 watchdog: bcm281xx: Fix use of uninitialized spinlock. f99737ce2e56 xfrm: Oops on error in pfkey_msg2xfrm_state() ac78351c96e8 xfrm: NULL dereference on allocation failure 398ac7a19f17 xfrm: fix stack access out of bounds with CONFIG_XFRM_SUB_POLICY 736b342cc9b4 jump label: fix passing kbuild_cflags when checking for asm goto support 53ae0c2ffef7 ravb: Fix use-after-free on `ifconfig eth0 down` db1323b77c2b sctp: check af before verify address in sctp_addr_id2transport d521e9c384f9 net/mlx4_core: Eliminate warning messages for SRQ_LIMIT under SRIOV 9837392c2b3e perf probe: Fix to show correct locations for events on modules 0593fa8f34a2 be2net: fix status check in be_cmd_pmac_add() 5416a88c2fef s390/ctl_reg: make __ctl_load a full memory barrier 9a536d587246 swiotlb: ensure that page-sized mappings are page-aligned 878f37efac3e coredump: Ensure proper size of sparse core files c20bdc08af9b x86/mpx: Use compatible types in comparison to fix sparse error 14339b018bc2 mac80211: initialize SMPS field in HT capabilities 11dd9e2c4803 spi: davinci: use dma_mapping_error() be91b09750bf scsi: lpfc: avoid double free of resource identifiers 4ac60b20f703 HID: i2c-hid: Add sleep between POWER ON and RESET 70f41003b9d1 kernel/panic.c: add missing \n e4272ebefc83 ibmveth: Add a proper check for the availability of the checksum features 8fa301abb31a vxlan: do not age static remote mac entries 00e83abf8e62 virtio_net: fix PAGE_SIZE > 64k c64f4194a65b vfio/spapr: fail tce_iommu_attach_group() when iommu_data is null d3be5e0471ab drm/amdgpu: check ring being ready before using 58a766c460b1 net: dsa: Check return value of phy_connect_direct() 3d2cbbcbde3d amd-xgbe: Check xgbe_init() return code dac30e3dbd72 platform/x86: ideapad-laptop: handle ACPI event 1 666c821b0ae3 scsi: virtio_scsi: Reject commands when virtqueue is broken 230fe9c7d814 xen-netfront: Fix Rx stall during network stress and OOM 8df98ff6c394 swiotlb-xen: update dev_addr after swapping pages 23c7f01691a1 virtio_console: fix a crash in config_work_handler 6e1116a0b3e2 Btrfs: fix truncate down when no_holes feature is enabled 961efcd54e5b gianfar: Do not reuse pages from emergency reserve 477a2359c881 powerpc/eeh: Enable IO path on permanent error e1db592de735 net: bgmac: Remove superflous netif_carrier_on() e66647f0e1ff net: bgmac: Start transmit queue in bgmac_open f01babed64e6 net: bgmac: Fix SOF bit checking 992048f8ae84 bgmac: Fix reversed test of build_skb() return value. ebfa83ab5a53 mtd: bcm47xxpart: don't fail because of bit-flips 1124701061d8 bgmac: fix a missing check for build_skb 11e4bb957f1a mtd: bcm47xxpart: limit scanned flash area on BCM47XX (MIPS) only e025a30dd8b0 MIPS: ralink: fix MT7628 wled_an pinmux gpio cd1fe5c31e91 MIPS: ralink: fix MT7628 pinmux typos c9336bbdd924 MIPS: ralink: Fix invalid assignment of SoC type ad310161f513 MIPS: ralink: fix USB frequency scaling 9a23a35a4fc6 MIPS: ralink: MT7688 pinmux fixes e1688f1677e6 net: korina: Fix NAPI versus resources freeing ef0cb4c9d496 MIPS: ath79: fix regression in PCI window initialization 753be27f77eb net: mvneta: Fix for_each_present_cpu usage 0012ba253767 ARM: dts: BCM5301X: Correct GIC_PPI interrupt flags 50e18570d8ea qla2xxx: Fix erroneous invalid handle message 8c721e38055a scsi: lpfc: Set elsiocb contexts to NULL after freeing it 5c982bac211c scsi: sd: Fix wrong DPOFUA disable in sd_read_cache_type b92f9f6a2c09 KVM: x86: fix fixing of hypercalls cdbf92675fad mm: numa: avoid waiting on freed migrated pages 21d7c733251a block: fix module reference leak on put_disk() call for cgroups throttle 2449a71eb982 sysctl: enable strict writes 1e0f216195a6 usb: gadget: f_fs: Fix possibe deadlock 04686ab28a35 drm/vmwgfx: Free hash table allocated by cmdbuf managed res mgr c70e2006d06a ALSA: hda - set input_path bitmap to zero after moving it to new place 11327be3570e ALSA: hda - Fix endless loop of codec configure db60a2ec9acc MIPS: Fix IRQ tracing & lockdep when rescheduling 93206654a0b2 MIPS: pm-cps: Drop manual cache-line alignment of ready_count cb611ead80a2 MIPS: Avoid accidental raw backtrace 74de12dbfa7c mm, swap_cgroup: reschedule when neeed in swap_cgroup_swapoff() a9e5044b6804 drm/ast: Handle configuration without P2A bridge 542442710021 NFSv4: fix a reference leak caused WARNING messages e052be55a598 netfilter: synproxy: fix conntrackd interaction 234e649840d1 netfilter: xt_TCPMSS: add more sanity tests on tcph->doff 095a41128cb6 rtnetlink: add IFLA_GROUP to ifla_policy 640a09c64ec6 ipv6: Do not leak throw route references 9de17701a3bc sfc: provide dummy definitions of vswitch functions 1f8bb6053249 net: 8021q: Fix one possible panic caused by BUG_ON in free_netdev f50f2e0cb1a3 decnet: always not take dst->__refcnt when inserting dst into hash table 93911697a9f2 net/mlx5: Wait for FW readiness before initializing command interface 0d1effe95ebe ipv6: fix calling in6_ifa_hold incorrectly for dad work 4feb6121aa5e igmp: add a missing spin_lock_init() ee8d5f9fd17e igmp: acquire pmc lock for ip_mc_clear_src() 7de53eed6fda net: caif: Fix a sleep-in-atomic bug in cfpkt_create_pfx 030a77d2f904 Fix an intermittent pr_emerg warning about lo becoming free. 0fc0fad07722 af_unix: Add sockaddr length checks before accessing sa_family in bind and connect handlers e2c3ee003280 net: Zero ifla_vf_info in rtnl_fill_vfinfo() dedb088a1d18 decnet: dn_rtmsg: Improve input length sanitization in dnrmg_receive_user_skb e79948e2d90b net: don't call strlen on non-terminated string in dev_set_alias() d68a4e380ff5 ipv6: release dst on error in ip6_dst_lookup_tail 6ee496d7218a Linux 4.4.75 cb7be08dee4e nvme: apply DELAY_BEFORE_CHK_RDY quirk at probe time too bddc80274a12 nvme/quirk: Add a delay before checking for adapter readiness e5f87c733842 net: phy: fix marvell phy status reading 9b54821d5184 net: phy: Initialize mdio clock at probe function 889caad4fbe4 usb: gadget: f_fs: avoid out of bounds access on comp_desc db7130d63fd8 powerpc/slb: Force a full SLB flush when we insert for a bad EA 8fcb215c5426 mtd: spi-nor: fix spansion quad enable 7dfea167fc1d of: Add check to of_scan_flat_dt() before accessing initial_boot_params eab38dfd66d7 rxrpc: Fix several cases where a padded len isn't checked in ticket decode 800d7454e50f USB: usbip: fix nonconforming hub descriptor 525e496a9722 drm/amdgpu: adjust default display clock 526527847355 drm/amdgpu/atom: fix ps allocation size for EnableDispPowerGating 4f3d0f468552 drm/radeon: add a quirk for Toshiba Satellite L20-183 f8242fa8119b drm/radeon: add a PX quirk for another K53TK variant fe8003da6113 iscsi-target: Reject immediate data underflow larger than SCSI transfer length d374be75f4c7 target: Fix kref->refcount underflow in transport_cmd_finish_abort 1fecf3977def time: Fix clock->read(clock) race around clocksource changes 255ad85b5ecc Input: i8042 - add Fujitsu Lifebook AH544 to notimeout list 3ee9033e228d powerpc/kprobes: Pause function_graph tracing during jprobes handling bc7b3e9984a8 signal: Only reschedule timers on signals timers have sent 005253ffe4ad HID: Add quirk for Dell PIXART OEM mouse 63ba840a53d6 CIFS: Improve readdir verbosity 824b9506e4f2 KVM: PPC: Book3S HV: Preserve userspace HTM state properly 7b88f761929e lib/cmdline.c: fix get_options() overflow while parsing ranges b95aa98e77d7 autofs: sanity check status reported with AUTOFS_DEV_IOCTL_FAIL 1d3d0f8b7cf7 fs/exec.c: account for argv/envp pointers 22da7ca81a3a Linux 4.4.74 1f2284fac218 mm: fix new crash in unmapped_area_topdown() f41512c6acb7 Allow stack to grow up to address space limit 4b359430674c mm: larger stack guard gap, between vmas 26605a06dd92 alarmtimer: Rate limit periodic intervals c24159adf222 MIPS: Fix bnezc/jialc return address calculation 94695386c79c usb: dwc3: exynos fix axius clock error path to do cleanup aac7fa215e8f alarmtimer: Prevent overflow of relative timers 4d4d501cd707 genirq: Release resources in __setup_irq() error path 6af90091b610 swap: cond_resched in swap_cgroup_prepare() bfbd244c5f18 mm/memory-failure.c: use compound_head() flags for huge pages f5dc61753d0e USB: gadgetfs, dummy-hcd, net2280: fix locking for callbacks 89c15994a06d usb: xhci: ASMedia ASM1042A chipset need shorts TX quirk 5efd37fe7218 drivers/misc/c2port/c2port-duramar2150.c: checking for NULL instead of IS_ERR() ab29b21a47ae usb: r8a66597-hcd: decrease timeout 4c7a6dd205cc usb: r8a66597-hcd: select a different endpoint on timeout 42c8b4b5fdca USB: gadget: dummy_hcd: fix hub-descriptor removable fields dc6ecba3f6c1 pvrusb2: reduce stack usage pvr2_eeprom_analyze() e33e866d1593 usb: core: fix potential memory leak in error path during hcd creation ec443ee0c2aa USB: hub: fix SS max number of ports 7e2ad8b207f2 iio: proximity: as3935: recalibrate RCO after resume 0c967139e832 staging: rtl8188eu: prevent an underflow in rtw_check_beacon_data() e59d91144545 mfd: omap-usb-tll: Fix inverted bit use for USB TLL mode 93d022e25642 x86/mm/32: Set the '__vmalloc_start_set' flag in initmem_init() c79aab7007d8 serial: efm32: Fix parity management in 'efm32_uart_console_get_options()' daebcf9871eb mac80211: fix IBSS presp allocation size bb8428f4c954 mac80211: fix CSA in IBSS mode 5f1f39023c2a mac80211/wpa: use constant time memory comparison for MACs 156f00663af6 mac80211: don't look at the PM bit of BAR frames a8686c968fe3 vb2: Fix an off by one error in 'vb2_plane_vaddr' fa90f02d511d cpufreq: conservative: Allow down_threshold to take values from 1 to 10 58ab7a86cdc2 can: gs_usb: fix memory leak in gs_cmd_reset() 0ad134d81c07 configfs: Fix race between create_link and configfs_rmdir 1bd30958ec55 Linux 4.4.73 39e84dcd7876 sparc64: make string buffers large enough d80aa84235ff s390/kvm: do not rely on the ILC on kvm host protection fauls afb415f72daa xtensa: don't use linux IRQ #0 8b1aa2679812 tipc: ignore requests when the connection state is not CONNECTED 77d2b8dc9597 proc: add a schedule point in proc_pid_readdir() 202776694c2a romfs: use different way to generate fsid for BLOCK or MTD 50ef0e2e9abe sctp: sctp_addr_id2transport should verify the addr before looking up assoc 70752628521d r8152: avoid start_xmit to schedule napi when napi is disabled 5270bf63719c r8152: fix rtl8152_post_reset function a4877e5564a5 r8152: re-schedule napi for tx 10bfb4c76c94 nfs: Fix "Don't increment lock sequence ID after NFS4ERR_MOVED" 82ce18b09bf1 ravb: unmap descriptors when freeing rings 3987a40362b7 drm/ast: Fixed system hanged if disable P2A ff20cc9a6086 drm/nouveau: Don't enabling polling twice on runtime resume 711f4797a339 parisc, parport_gsc: Fixes for printk continuation lines 9343894a8b3d net: adaptec: starfire: add checks for dma mapping errors 3926d04ddec2 pinctrl: berlin-bg4ct: fix the value for "sd1a" of pin SCRD0_CRD_PRES 6e3ea31dfb01 gianfar: synchronize DMA API usage by free_skb_rx_queue w/ gfar_new_page 2b9f84ef46d8 net/mlx4_core: Avoid command timeouts during VF driver device shutdown 6f0a81edb918 drm/nouveau/fence/g84-: protect against concurrent access to semaphore buffers 9c7a11e6f994 drm/nouveau: prevent userspace from deleting client object 1507ea6df42e ipv6: fix flow labels when the traffic class is non-0 95a4659ee8d0 FS-Cache: Initialise stores_lock in netfs cookie 38481d7d43dd fscache: Clear outstanding writes when disabling a cookie b421d230dfa1 fscache: Fix dead object requeue e6b15f0fc7a6 ethtool: do not vzalloc(0) on registers dump 980660760aa7 log2: make order_base_2() behave correctly on const input value zero 55d0f89a1a0c kasan: respect /proc/sys/kernel/traceoff_on_warning 1948d0afe43e jump label: pass kbuild_cflags when checking for asm goto support 266e02bc69a2 PM / runtime: Avoid false-positive warnings from might_sleep_if() 8d228758f90f ipv6: Fix IPv6 packet loss in scenarios involving roaming + snooping switches ee0cd47799dd i2c: piix4: Fix request_region size 68cac0741246 sierra_net: Add support for IPv6 and Dual-Stack Link Sense Indications d95ffdd39566 sierra_net: Skip validating irrelevant fields for IDLE LSIs 716cca0a67ec net: hns: Fix the device being used for dma mapping during TX aacf9de1e239 NET: mkiss: Fix panic b9e9045d5e6b NET: Fix /proc/net/arp for AX.25 23287661af3e ipv6: Inhibit IPv4-mapped src address on the wire. 8faccb2b9442 ipv6: Handle IPv4-mapped src to in6addr_any dst. 10a762977267 net: xilinx_emaclite: fix receive buffer overflow 7f71f22a116f net: xilinx_emaclite: fix freezes due to unordered I/O 2ba464a4b748 Call echo service immediately after socket reconnect 691fe5610d58 staging: rtl8192e: rtl92e_fill_tx_desc fix write to mapped out memory. 3fc4d70453ee ARM: dts: imx6dl: Fix the VDD_ARM_CAP voltage for 396MHz operation b28c21baf28a partitions/msdos: FreeBSD UFS2 file systems are not recognized 0fb2a1fe6155 s390/vmem: fix identity mapping 30c9187fa8ed Linux 4.4.72 4e528eb9160b arm64: ensure extension of smp_store_release value 01ce16f40c97 arm64: armv8_deprecated: ensure extension of addr 51ff10e72fc2 usercopy: Adjust tests to deal with SMAP/PAN 746d48934f51 RDMA/qib,hfi1: Fix MR reference count leak on write with immediate 3ccf69562ac2 arm64: entry: improve data abort handling of tagged pointers 4eaef3651815 arm64: hw_breakpoint: fix watchpoint matching for tagged pointers bc5f31d34eab Make __xfs_xattr_put_listen preperly report errors. e8a1086ae191 NFSv4: Don't perform cached access checks before we've OPENed the file 533020828366 NFS: Ensure we revalidate attributes before using execute_ok() cb1fb15c8355 mm: consider memblock reservations for deferred memory initialization sizing 52d8b8ad2b4b net: better skb->sender_cpu and skb->napi_id cohabitation 3c0fcb52674a serial: sh-sci: Fix panic when serial console and DMA are enabled cc04a1433843 tty: Drop krefs for interrupted tty lock 983c09ebdbc2 drivers: char: mem: Fix wraparound check to allow mappings up to the end 9a9388953bdc ASoC: Fix use-after-free at card unregistration 54d12fbf54d4 ALSA: timer: Fix missing queue indices reset at SNDRV_TIMER_IOCTL_SELECT f5bc918760c8 ALSA: timer: Fix race between read and ioctl 5dffc1be6552 drm/nouveau/tmr: fully separate alarm execution/pending lists 74276868b455 drm/vmwgfx: Make sure backup_handle is always valid 619cc02fd85d drm/vmwgfx: limit the number of mip levels in vmw_gb_surface_define_ioctl() e4c05b3a751a drm/vmwgfx: Handle vmalloc() failure in vmw_local_fifo_reserve() e582b82c160a perf/core: Drop kernel samples even though :u is specified 1cfe1e9da629 powerpc/hotplug-mem: Fix missing endian conversion of aa_index 8c92870bdbf2 powerpc/numa: Fix percpu allocations to be NUMA aware fc7fb9430d70 powerpc/eeh: Avoid use after free in eeh_handle_special_event() 93d03807f395 scsi: qla2xxx: don't disable a not previously enabled PCI device f267b064a6e9 KVM: arm/arm64: Handle possible NULL stage2 pud when ageing pages 5c7955c8726c btrfs: fix memory leak in update_space_info failure path cc8c67cadc27 btrfs: use correct types for page indices in btrfs_page_exists_in_range 8fe4345d6a1d cxl: Fix error path on bad ioctl f0d2e153147e ufs_getfrag_block(): we only grab ->truncate_mutex on block creation path 34aa71cbd408 ufs_extend_tail(): fix the braino in calling conventions of ufs_new_fragments() d6bd1e7ec7d8 ufs: set correct ->s_maxsize 4c516dff07d7 ufs: restore maintaining ->i_blocks 1df45bb64396 fix ufs_isblockset() db9aafaf90b6 ufs: restore proper tail allocation 044470266a50 fs: add i_blocksize() c8acec90d9dd cpuset: consider dying css as offline fff08d245263 Input: elantech - add Fujitsu Lifebook E546/E557 to force crc_enabled ba9fe2e8072f drm/msm: Expose our reservation object when exporting a dmabuf. 934d0a9f9c65 target: Re-add check to reject control WRITEs with overflow data 94d3dafe96f3 cpufreq: cpufreq_register_driver() should return -ENODEV if init fails 2ff1edbbb29b stackprotector: Increase the per-task stack canary's random range from 32 bits to 64 bits on 64-bit platforms 1025503bcee9 random: properly align get_random_int_hash baae8c3c2e2a drivers: char: random: add get_random_long() ff7739a28719 iio: proximity: as3935: fix AS3935_INT mask 64276cdbd418 iio: light: ltr501 Fix interchanged als/ps register field a365c707d2ee staging/lustre/lov: remove set_fs() call from lov_getstripe() bd2e8f0a72c5 usb: chipidea: debug: check before accessing ci_role 942dcb0ffa9d usb: chipidea: udc: fix NULL pointer dereference if udc_start failed 6ff96a61bb20 usb: gadget: f_mass_storage: Serialize wake and sleep execution daa1357ff346 ext4: fix fdatasync(2) after extent manipulation operations 7b9694cb7bf2 ext4: keep existing extra fields when inode expands 08dc390b2745 ext4: fix SEEK_HOLE e9560c2df474 xen-netfront: cast grant table reference first to type int 17a58bdf3d63 xen-netfront: do not cast grant table reference to signed short 4467b3a14557 xen/privcmd: Support correctly 64KB page granularity when mapping memory 3340c0e11086 dmaengine: ep93xx: Always start from BASE0 3ff231a0d399 dmaengine: usb-dmac: Fix DMAOR AE bit definition 445d08a6be93 KVM: async_pf: avoid async pf injection when in guest mode 7b69d79732eb arm: KVM: Allow unaligned accesses at HYP c7740cbcc2c4 KVM: cpuid: Fix read/write out-of-bounds vulnerability in cpuid emulation a8bbdf1921fd kvm: async_pf: fix rcu_irq_enter() with irqs enabled e21ad4a956d4 nfsd: Fix up the "supattr_exclcreat" attributes 6a9b72248814 nfsd4: fix null dereference on replay 1f6791d4f208 drm/amdgpu/ci: disable mclk switching for high refresh rates (v2) a3a3a1cf538c crypto: gcm - wait for crypto op not signal safe 8096a6748a92 KEYS: fix freeing uninitialized memory in key_update() bc6be3433e69 KEYS: fix dereferencing NULL payload with nonzero length c94bea2e4bf5 ptrace: Properly initialize ptracer_cred on fork dd6a4b53d026 serial: ifx6x60: fix use-after-free on module unload 7816928f3435 arch/sparc: support NR_CPUS = 4096 8554f96c1656 sparc64: delete old wrap code c9215ca71390 sparc64: new context wrap 3e557fd99a22 sparc64: add per-cpu mm of secondary contexts 7e5551fbb864 sparc64: redefine first version e72963317bf1 sparc64: combine activate_mm and switch_mm 4c0cae481fae sparc64: reset mm cpumask after wrap 7047c2009be9 sparc: Machine description indices can vary 54e23c087f36 sparc64: mm: fix copy_tsb to correctly copy huge page TSBs 0774a35802e9 net: bridge: start hello timer only if device is up 9cbc6cbd9170 net: ethoc: enable NAPI before poll may be scheduled 45202cd2199c net: ping: do not abuse udp_poll() 406752726afc ipv6: Fix leak in ipv6_gso_segment(). 92d88e8a7adc vxlan: fix use-after-free on deletion f4c645f67e72 tcp: disallow cwnd undo when switching congestion control 03994b4b858f cxgb4: avoid enabling napi twice to the same queue 491809d0f8d8 ipv6: xfrm: Handle errors reported by xfrm6_find_1stfragopt() d02f4c962d35 bnx2x: Fix Multi-Cos Signed-off-by: Bruce Ashfield Signed-off-by: Ross Burton --- meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb | 6 +++--- meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb | 6 +++--- meta/recipes-kernel/linux/linux-yocto_4.4.bb | 20 ++++++++++---------- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb b/meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb index f423604..04c6cb6 100644 --- a/meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb +++ b/meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb @@ -11,13 +11,13 @@ python () { raise bb.parse.SkipPackage("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it") } -SRCREV_machine ?= "b0b44854bfb7f7ea10890ab8d8fff936be7e37da" -SRCREV_meta ?= "d0e5ea0e199b591cc7588dc80b6ec07ea05f74b8" +SRCREV_machine ?= "be70c37e4c370a8fe2ffef9e3300a266085588c4" +SRCREV_meta ?= "fbb3579c4011befe15368fea05f600d37b3444ba" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.4.git;branch=${KBRANCH};name=machine \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.4;destsuffix=${KMETA}" -LINUX_VERSION ?= "4.4.71" +LINUX_VERSION ?= "4.4.76" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb index 868e70e..28f197e 100644 --- a/meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb +++ b/meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb @@ -4,13 +4,13 @@ KCONFIG_MODE = "--allnoconfig" require recipes-kernel/linux/linux-yocto.inc -LINUX_VERSION ?= "4.4.71" +LINUX_VERSION ?= "4.4.76" KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" -SRCREV_machine ?= "268676407913f5d496cde6cbf4052eb5acaf6237" -SRCREV_meta ?= "d0e5ea0e199b591cc7588dc80b6ec07ea05f74b8" +SRCREV_machine ?= "2854678e4ccbb4bbd1bb4c243ac3e2571ef9834a" +SRCREV_meta ?= "fbb3579c4011befe15368fea05f600d37b3444ba" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/meta/recipes-kernel/linux/linux-yocto_4.4.bb b/meta/recipes-kernel/linux/linux-yocto_4.4.bb index 48f4e94..5194cf0 100644 --- a/meta/recipes-kernel/linux/linux-yocto_4.4.bb +++ b/meta/recipes-kernel/linux/linux-yocto_4.4.bb @@ -11,20 +11,20 @@ KBRANCH_qemux86 ?= "standard/base" KBRANCH_qemux86-64 ?= "standard/base" KBRANCH_qemumips64 ?= "standard/mti-malta64" -SRCREV_machine_qemuarm ?= "dbf351c65cf492518339ac1ee0ecb02de4beb313" -SRCREV_machine_qemuarm64 ?= "268676407913f5d496cde6cbf4052eb5acaf6237" -SRCREV_machine_qemumips ?= "80509fd80a3457f74c716e5018378efb75a35934" -SRCREV_machine_qemuppc ?= "268676407913f5d496cde6cbf4052eb5acaf6237" -SRCREV_machine_qemux86 ?= "268676407913f5d496cde6cbf4052eb5acaf6237" -SRCREV_machine_qemux86-64 ?= "268676407913f5d496cde6cbf4052eb5acaf6237" -SRCREV_machine_qemumips64 ?= "dfd0bad7365562bf39b16630c59dcb4b18a09396" -SRCREV_machine ?= "268676407913f5d496cde6cbf4052eb5acaf6237" -SRCREV_meta ?= "d0e5ea0e199b591cc7588dc80b6ec07ea05f74b8" +SRCREV_machine_qemuarm ?= "8b42f3bbf0818181eb444af119bd295029ea2caf" +SRCREV_machine_qemuarm64 ?= "2854678e4ccbb4bbd1bb4c243ac3e2571ef9834a" +SRCREV_machine_qemumips ?= "0afe3f8c5fb95ed9c9f87f7765be53f6e0b8fad6" +SRCREV_machine_qemuppc ?= "2854678e4ccbb4bbd1bb4c243ac3e2571ef9834a" +SRCREV_machine_qemux86 ?= "2854678e4ccbb4bbd1bb4c243ac3e2571ef9834a" +SRCREV_machine_qemux86-64 ?= "2854678e4ccbb4bbd1bb4c243ac3e2571ef9834a" +SRCREV_machine_qemumips64 ?= "45dd25b50163846c3346b93a21e967c68ab92b26" +SRCREV_machine ?= "2854678e4ccbb4bbd1bb4c243ac3e2571ef9834a" +SRCREV_meta ?= "fbb3579c4011befe15368fea05f600d37b3444ba" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.4.git;name=machine;branch=${KBRANCH}; \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.4;destsuffix=${KMETA}" -LINUX_VERSION ?= "4.4.71" +LINUX_VERSION ?= "4.4.76" PV = "${LINUX_VERSION}+git${SRCPV}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:03:05 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:03:05 +0000 Subject: [oe-commits] [openembedded-core] 56/64: chrpath: reduce local pending patches In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130211.F1EA523353A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 29e55fe5c5085e40dc9408294a9c59368b029f08 Author: Dengke Du AuthorDate: Wed Jul 12 22:19:18 2017 -0400 chrpath: reduce local pending patches Signed-off-by: Dengke Du Signed-off-by: Ross Burton --- .../chrpath/chrpath/standarddoc.patch | 25 ++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/meta/recipes-devtools/chrpath/chrpath/standarddoc.patch b/meta/recipes-devtools/chrpath/chrpath/standarddoc.patch index f96f104..3d303fb 100644 --- a/meta/recipes-devtools/chrpath/chrpath/standarddoc.patch +++ b/meta/recipes-devtools/chrpath/chrpath/standarddoc.patch @@ -1,14 +1,24 @@ -Upstream-Status: Pending +From 285b5fbf1d6b25ff55d305c17edf4d327bf19dd3 Mon Sep 17 00:00:00 2001 +From: Richard Purdie +Date: Tue, 5 Jul 2011 23:42:29 +0100 +Subject: [PATCH] chrpath: Ensure the package respects the docdir variable -autoconf/automake set docdir automatically, use their value ensuring +autoconf/automake set docdir automatically, use their value ensuring doc files are placed into $datadir/doc, not $prefix/doc. RP 5/7/2011 -Index: chrpath-0.13/Makefile.am -=================================================================== ---- chrpath-0.13.orig/Makefile.am 2011-07-05 23:40:14.769920254 +0100 -+++ chrpath-0.13/Makefile.am 2011-07-05 23:40:19.819920635 +0100 +Upstream-Status: Submitted [ http://lists.alioth.debian.org/pipermail/chrpath-devel/Week-of-Mon-20170710/000013.html ] + +Signed-off-by: Dengke Du +--- + Makefile.am | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index b50ad21..5f7e861 100644 +--- a/Makefile.am ++++ b/Makefile.am @@ -1,7 +1,5 @@ SUBDIRS = testsuite deb @@ -17,3 +27,6 @@ Index: chrpath-0.13/Makefile.am doc_DATA = AUTHORS COPYING ChangeLog INSTALL NEWS README bin_PROGRAMS = chrpath +-- +2.8.1 + -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:03:06 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:03:06 +0000 Subject: [oe-commits] [openembedded-core] 57/64: ethtool: Upgrade to 4.11 In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130212.0440123355A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 79212fea2ad6bf61097a8e1cda2e17ea30d059cb Author: Changhyeok Bae AuthorDate: Thu Jul 13 06:45:30 2017 +0000 ethtool: Upgrade to 4.11 Restore SRC_URI address Signed-off-by: Changhyeok Bae Signed-off-by: Ross Burton --- meta/recipes-extended/ethtool/{ethtool_4.8.bb => ethtool_4.11.bb} | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/meta/recipes-extended/ethtool/ethtool_4.8.bb b/meta/recipes-extended/ethtool/ethtool_4.11.bb similarity index 81% rename from meta/recipes-extended/ethtool/ethtool_4.8.bb rename to meta/recipes-extended/ethtool/ethtool_4.11.bb index afaf2e2..befe9b9 100644 --- a/meta/recipes-extended/ethtool/ethtool_4.8.bb +++ b/meta/recipes-extended/ethtool/ethtool_4.11.bb @@ -6,13 +6,13 @@ LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ file://ethtool.c;beginline=4;endline=17;md5=c19b30548c582577fc6b443626fc1216" -SRC_URI = "https://downloads.yoctoproject.org/mirror/sources/ethtool-${PV}.tar.gz \ +SRC_URI = "${KERNELORG_MIRROR}/software/network/ethtool/ethtool-${PV}.tar.gz \ file://run-ptest \ file://avoid_parallel_tests.patch \ " -SRC_URI[md5sum] = "28c4a4d85c33f573c49ff6d81ec094fd" -SRC_URI[sha256sum] = "1bd82ebe3d41de1b7b0d8f4fb18a8e8466fba934c952bc5c5002836ffa8bb606" +SRC_URI[md5sum] = "8f1072679888c9335e49b17efb798b4c" +SRC_URI[sha256sum] = "af2fd9692f3159d3ab1e41e6f9b7d8db2a4693f1cb22348c88ba89f70f0e6503" inherit autotools ptest RDEPENDS_${PN}-ptest += "make" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:03:01 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:03:01 +0000 Subject: [oe-commits] [openembedded-core] 52/64: dhcp: fix shutdown not work by SIGTERM while bind9 enable threads In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130211.D5CE7233554@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 7d3e734481e5d400d03ffd0a12669913fd264c5f Author: Hongxu Jia AuthorDate: Wed Jul 12 03:27:48 2017 -0400 dhcp: fix shutdown not work by SIGTERM while bind9 enable threads In https://source.isc.org/git/bind9.git, since the following commit applied: ... commit b99bfa184bc9375421b5df915eea7dfac6a68a99 Author: Evan Hunt Date: Wed Apr 10 13:49:57 2013 -0700 [master] unify internal and export libraries 3550. [func] Unified the internal and export versions of the BIND libraries, allowing external clients to use the same libraries as BIND. [RT #33131] ... (git show b99bfa184bc9375421b5df915eea7dfac6a68a99 -- ./lib/isc/unix/app.c) In this commit, if bind9 enable threads(ISC_PLATFORM_USETHREADS), it blocks signal SIGHUP, SIGINT and SIGTERM in isc__app_ctxstart. Which caused dhclient/dhcpd could not be stopped by SIGTERM. It caused systemd's reboot hung which send SIGTERM by default. Signed-off-by: Hongxu Jia Signed-off-by: Ross Burton --- ...all-to-isc_app_ctxstart-to-not-get-signal.patch | 81 ++++++++++++++++++++++ meta/recipes-connectivity/dhcp/dhcp_4.3.5.bb | 1 + 2 files changed, 82 insertions(+) diff --git a/meta/recipes-connectivity/dhcp/dhcp/Moved-the-call-to-isc_app_ctxstart-to-not-get-signal.patch b/meta/recipes-connectivity/dhcp/dhcp/Moved-the-call-to-isc_app_ctxstart-to-not-get-signal.patch new file mode 100644 index 0000000..9b43f96 --- /dev/null +++ b/meta/recipes-connectivity/dhcp/dhcp/Moved-the-call-to-isc_app_ctxstart-to-not-get-signal.patch @@ -0,0 +1,81 @@ +From e8c30bac53f8baeb80f87b445f42259cc8984fb5 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Wed, 12 Jul 2017 03:05:13 -0400 +Subject: [PATCH] Moved the call to isc_app_ctxstart() to not get signal block + by all threads + +Signed-off-by: Francis Dupont + +In https://source.isc.org/git/bind9.git, since the following +commit applied: +... +commit b99bfa184bc9375421b5df915eea7dfac6a68a99 +Author: Evan Hunt +Date: Wed Apr 10 13:49:57 2013 -0700 + + [master] unify internal and export libraries + + 3550. [func] Unified the internal and export versions of the + BIND libraries, allowing external clients to use + the same libraries as BIND. [RT #33131] +... +(git show b99bfa184bc9375421b5df915eea7dfac6a68a99 -- ./lib/isc/unix/app.c) + +In this commit, if bind9 enable threads(ISC_PLATFORM_USETHREADS), +it blocks signal SIGHUP, SIGINT and SIGTERM in isc__app_ctxstart. +Which caused dhclient/dhcpd could not be stopped by SIGTERM. + +It caused systemd's reboot hung which send SIGTERM by default. + +Upstream-Status: Backport [https://source.isc.org/git/dhcp.git] +Signed-off-by: Hongxu Jia +--- + omapip/isclib.c | 25 +++++++++++++++---------- + 1 file changed, 15 insertions(+), 10 deletions(-) + +diff --git a/omapip/isclib.c b/omapip/isclib.c +index 13f0d3e..4af04b6 100644 +--- a/omapip/isclib.c ++++ b/omapip/isclib.c +@@ -185,16 +185,6 @@ dhcp_context_create(int flags, + if (result != ISC_R_SUCCESS) + goto cleanup; + +- result = isc_app_ctxstart(dhcp_gbl_ctx.actx); +- if (result != ISC_R_SUCCESS) +- return (result); +- dhcp_gbl_ctx.actx_started = ISC_TRUE; +- +- /* Not all OSs support suppressing SIGPIPE through socket +- * options, so set the sigal action to be ignore. This allows +- * broken connections to fail gracefully with EPIPE on writes */ +- handle_signal(SIGPIPE, SIG_IGN); +- + result = isc_taskmgr_createinctx(dhcp_gbl_ctx.mctx, + dhcp_gbl_ctx.actx, + 1, 0, +@@ -217,6 +207,21 @@ dhcp_context_create(int flags, + result = isc_task_create(dhcp_gbl_ctx.taskmgr, 0, &dhcp_gbl_ctx.task); + if (result != ISC_R_SUCCESS) + goto cleanup; ++ ++ result = isc_app_ctxstart(dhcp_gbl_ctx.actx); ++ if (result != ISC_R_SUCCESS) ++ return (result); ++ dhcp_gbl_ctx.actx_started = ISC_TRUE; ++ ++ /* Not all OSs support suppressing SIGPIPE through socket ++ * options, so set the sigal action to be ignore. This allows ++ * broken connections to fail gracefully with EPIPE on writes */ ++ handle_signal(SIGPIPE, SIG_IGN); ++ ++ /* Reset handlers installed by isc_app_ctxstart() ++ * to default for control-c and kill */ ++ handle_signal(SIGINT, SIG_DFL); ++ handle_signal(SIGTERM, SIG_DFL); + } + + #if defined (NSUPDATE) +-- +2.8.1 + diff --git a/meta/recipes-connectivity/dhcp/dhcp_4.3.5.bb b/meta/recipes-connectivity/dhcp/dhcp_4.3.5.bb index 0a73ecc..964d05dd 100644 --- a/meta/recipes-connectivity/dhcp/dhcp_4.3.5.bb +++ b/meta/recipes-connectivity/dhcp/dhcp_4.3.5.bb @@ -10,6 +10,7 @@ SRC_URI += "file://dhcp-3.0.3-dhclient-dbus.patch;striplevel=0 \ file://tweak-to-support-external-bind.patch \ file://remove-dhclient-script-bash-dependency.patch \ file://build-shared-libs.patch \ + file://Moved-the-call-to-isc_app_ctxstart-to-not-get-signal.patch \ " SRC_URI[md5sum] = "2b5e5b2fa31c2e27e487039d86f83d3f" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:02:58 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:02:58 +0000 Subject: [oe-commits] [openembedded-core] 49/64: linux-yocto/4.9: update to v4.9.36 In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130211.BC9B7233556@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit d9d950bd48566e5a2e92ad4a2fd943ad828fb8df Author: Bruce Ashfield AuthorDate: Mon Jul 10 13:17:35 2017 -0400 linux-yocto/4.9: update to v4.9.36 Integrating the -stable release with the following commits: 9f86f302ec0e Linux 4.9.36 a29fd27ca268 KVM: nVMX: Fix exception injection d1d3756f07da KVM: x86: zero base3 of unusable segments f3c3ec96e5fb KVM: x86/vPMU: fix undefined shift in intel_pmu_refresh() 1eeb79426332 KVM: x86: fix emulation of RSM and IRET instructions 982d8d92f256 arm64: fix NULL dereference in have_cpu_die() a4bfcab30928 mtd: nand: brcmnand: Check flash #WP pin status before nand erase/program de5862335ed7 i2c: brcmstb: Fix START and STOP conditions 8ee785016d5a brcmfmac: avoid writing channel out of allocated array 65fc82cea84f infiniband: hns: avoid gcc-7.0.1 warning for uninitialized data 3e51ccbadd15 objtool: Fix another GCC jump table detection issue 92e66676523a clk: scpi: don't add cpufreq device if the scpi dvfs node is disabled 8a6f400a374c cpufreq: s3c2416: double free on driver init error path 1781a29b31fa iommu/amd: Fix interrupt remapping when disable guest_mode 0e55856b8f29 iommu/amd: Fix incorrect error handling in amd_iommu_bind_pasid() f0c31c674abd iommu/dma: Don't reserve PCI I/O windows d7fcb303d1ee iommu: Handle default domain attach failure c19bfc6765d4 iommu/vt-d: Don't over-free page table directories d5c5e8ba5d9d ocfs2: o2hb: revert hb threshold to keep compatible 8af88a950b42 x86/mm: Fix flush_tlb_page() on Xen 3667dafd6c04 x86/mpx: Correctly report do_mpx_bt_fault() failures to user-space b287ade87c91 x86/boot/KASLR: Fix kexec crash due to 'virt_addr' calculation bug 15541e64163c tools arch: Sync arch/x86/lib/memcpy_64.S with the kernel a2c222bef08f ARM: 8685/1: ensure memblock-limit is pmd-aligned 7661b19687b2 ARM64/ACPI: Fix BAD_MADT_GICC_ENTRY() macro implementation 4efe34b500a7 ARM: dts: OMAP3: Fix MFG ID EEPROM 07bb2c7e7ea3 ARM: OMAP2+: omap_device: Sync omap_device and pm_runtime after probe defer e57aa416ca4c regulator: tps65086: Fix DT node referencing in of_parse_cb 88baad2e7159 regulator: tps65086: Fix expected switch DT node names 9846c67974d6 spi: fix device-node leaks c52829f60f5f spi: When no dma_chan map buffers with spi_master's parent 478273e11521 sched/loadavg: Avoid loadavg spikes caused by delayed NO_HZ accounting eea0261db8ef watchdog: bcm281xx: Fix use of uninitialized spinlock. 4211442b2088 netfilter: use skb_to_full_sk in ip_route_me_harder ac2730234cc1 xfrm: Oops on error in pfkey_msg2xfrm_state() c460f2beb6f0 xfrm: NULL dereference on allocation failure 1e1666257cb6 xfrm: fix stack access out of bounds with CONFIG_XFRM_SUB_POLICY 647f605276c0 mm/vmalloc.c: huge-vmap: fail gracefully on unexpected huge vmap mappings f9f73c58feef ravb: Fix use-after-free on `ifconfig eth0 down` adfe95fe5b42 ip6_tunnel, ip6_gre: fix setting of DSCP on encapsulated packets 168bd51ec5ef sctp: check af before verify address in sctp_addr_id2transport 399566f8a4fb net/mlx4_core: Eliminate warning messages for SRQ_LIMIT under SRIOV b6f75b986a7f perf probe: Fix to probe on gcc generated functions in modules 9f8ffe4e0952 tipc: allocate user memory with GFP_KERNEL flag 18b200e0c8ee net: phy: dp83867: allow RGMII_TXID/RGMII_RXID interface types e1eac347d971 perf probe: Fix to show correct locations for events on modules cc439964fab1 be2net: fix MAC addr setting on privileged BE3 VFs 02434def6fd0 be2net: don't delete MAC on close on unprivileged BE3 VFs fa1dbf505aef be2net: fix status check in be_cmd_pmac_add() 5f54c4e1e2af usb: dwc2: gadget: Fix GUSBCFG.USBTRDTIM value 0e9867b7113c s390/ctl_reg: make __ctl_load a full memory barrier 9d00195bc0af swiotlb: ensure that page-sized mappings are page-aligned 68a5dc385735 coredump: Ensure proper size of sparse core files d21816c24591 aio: fix lock dep warning 82835fb33ce5 perf/x86: Reject non sampling events with precise_ip 1c68633329d2 perf/core: Fix sys_perf_event_open() vs. hotplug 48131dd0f2b1 x86/mpx: Use compatible types in comparison to fix sparse error 283994074501 x86/tsc: Add the Intel Denverton Processor to native_calibrate_tsc() 6baa8c92dab9 mac80211: initialize SMPS field in HT capabilities 8eaaf66d41ad pmem: return EIO on read_pmem() failure 25319ae8e8a7 drm/amd/powerplay: refine vce dpm update code on Cz. f275ac7fc5d2 drm/amd/powerplay: fix vce cg logic error on CZ/St. 77e82094a3c9 drm/radeon/si: load special ucode for certain MC configs 4ae8dc6acb71 net: thunderx: acpi: fix LMAC initialization f88f06e18318 arm64: assembler: make adr_l work in modules under KASLR aabb797b4c12 spi: davinci: use dma_mapping_error() c32462d0b523 scsi: lpfc: avoid double free of resource identifiers 582c1ca0ea1d HID: i2c-hid: Add sleep between POWER ON and RESET c78b8de5c05c perf/x86/intel: Use ULL constant to prevent undefined shift behaviour 6130fac99481 mac80211: recalculate min channel width on VHT opmode changes d48cb21fd50b net: phy: marvell: fix Marvell 88E1512 used in SGMII mode 849f2d0665e0 pinctrl: intel: Set pin direction properly 3a6edbc95ba0 perf/x86/intel/uncore: Fix hardcoded socket 0 assumption in the Haswell init code b8c5e7b12413 drm/etnaviv: trick drm_mm into giving out a low IOVA 2bc8fcd633d8 Documentation: devicetree: change the mediatek ethernet compatible string c5c8743642ae kernel/panic.c: add missing \n 00f468f51dd5 ibmveth: Add a proper check for the availability of the checksum features 32bd4d2ed9d8 vxlan: do not age static remote mac entries b07bf2364605 ip6_tunnel: must reload ipv6h in ip6ip6_tnl_xmit() 7fdc81f6e1a9 virtio_net: fix PAGE_SIZE > 64k a6c3e01bf32e mlxsw: spectrum_router: Correctly reallocate adjacency entries ff3b1dd026bb vfio/spapr: fail tce_iommu_attach_group() when iommu_data is null 8895ef4e5357 drm/amdgpu: check ring being ready before using e5a2ba9af818 net: dsa: Check return value of phy_connect_direct() c6f284899e01 amd-xgbe: Check xgbe_init() return code e99d86d76eed platform/x86: ideapad-laptop: handle ACPI event 1 e9a87e0f5bbb iwlwifi: fix kernel crash when unregistering thermal zone 322baf72eed5 scsi: virtio_scsi: Reject commands when virtqueue is broken 5d5c293af834 xen-netfront: Fix Rx stall during network stress and OOM 72191c7d82e7 swiotlb-xen: update dev_addr after swapping pages 884baf2abf6d virtio_console: fix a crash in config_work_handler c3eab85ff11a Btrfs: fix truncate down when no_holes feature is enabled e8b5068b64d0 Btrfs: Fix deadlock between direct IO and fast fsync 83571e9ef7c9 gianfar: Do not reuse pages from emergency reserve c48a862c47d4 objtool: Fix IRET's opcode 251d00bf1309 bpf: don't trigger OOM killer under pressure with map alloc a7a2a6d34fe7 bnxt_en: Fix "uninitialized variable" bug in TPA code path. da805bc788b0 xen-netback: protect resource cleaning on XenBus disconnect 7bdccaa5da12 xen-netback: fix memory leaks on XenBus disconnect 5dcd08594276 net: ethtool: Initialize buffer when querying device channel settings 6e315b2b10b6 powerpc/eeh: Enable IO path on permanent error ea7b808165a5 net: korina: Fix NAPI versus resources freeing fded17be01ab perf/x86/intel: Handle exclusive threadid correctly on CPU hotplug 3eeb3459b7e6 net: phy: dp83848: add DP83620 PHY support 10c24e89b2b8 drm/amdgpu: add support for new hainan variants 9f2a36a7504c drm/amdgpu: fix program vce instance logic error. 0c9626619777 qla2xxx: Fix erroneous invalid handle message 8cfcaa2899f3 qla2xxx: Terminate exchange if corrupted 42a1d5b47594 scsi: lpfc: Set elsiocb contexts to NULL after freeing it 7782ab228f64 stmmac: add missing of_node_put ee4494c6bda8 scsi: sd: Fix wrong DPOFUA disable in sd_read_cache_type 80b1a1180e4e KVM: x86: fix fixing of hypercalls afaee3ef5136 xen/blkback: don't free be structure too early 13fa36f9fbc8 ARM64: dts: meson-gxbb-odroidc2: fix GbE tx link breakage 8bface142a8d dt: bindings: net: use boolean dt properties for eee broken modes 3897ae12b706 net: phy: use boolean dt properties for eee broken modes 40373d91a0f7 net: phy: fix sign type error in genphy_config_eee_advert 752ba680eb70 dt-bindings: net: add EEE capability constants 97ace183074d net: phy: add an option to disable EEE advertisement 0e8eca987e27 net: ethtool: add support for 2500BaseT and 5000BaseT link modes 8886196a7320 sparc64: Zero pages on allocation for mondo and error queues. 41172b772da4 sparc64: Handle PIO & MEM non-resumable errors. 2aa6d036b716 mm: numa: avoid waiting on freed migrated pages 08cb8e5f83fd l2tp: take a reference on sessions used in genetlink handlers 599e6f038777 l2tp: hold session while sending creation notifications d9face6fc62a l2tp: fix duplicate session creation 806e98835683 l2tp: ensure session can't get removed during pppol2tp_session_ioctl() 6539c4f991c2 l2tp: fix race in l2tp_recv_common() d2da8d394147 usb: gadget: f_fs: Fix possibe deadlock ed96148d7f8e x86/mm: Fix boot crash caused by incorrect loop count calculation in sync_global_pgds() 1c0fa383b339 dm thin: do not queue freed thin mapping for next stage processing 466877f2d257 drm/vmwgfx: Free hash table allocated by cmdbuf managed res mgr 78c4244f8bdb gpiolib: fix filtering out unwanted events cb2c6fdf620f NFSv4.1: Fix a race in nfs4_proc_layoutget 7d0e27fe24c5 ALSA: hda - set input_path bitmap to zero after moving it to new place 093750c3dec4 ALSA: hda - Fix endless loop of codec configure dad3135e762b MIPS: Fix IRQ tracing & lockdep when rescheduling e9e24faf823e MIPS: pm-cps: Drop manual cache-line alignment of ready_count f7d3d40ea124 MIPS: Avoid accidental raw backtrace 3d4ac49a9538 MIPS: head: Reorder instructions missing a delay slot b1355226a64e mm, swap_cgroup: reschedule when neeed in swap_cgroup_swapoff() dbc808362b6c drm/ast: Handle configuration without P2A bridge 8dc9f9dede5b xen/blkback: don't use xen_blkif_get() in xen-blkback kthread 4ebe28d23d35 NFSv4.x/callback: Create the callback service through svc_create_pooled 955f270b6f5d NFSv4: fix a reference leak caused WARNING messages b89bd0c715c1 netfilter: synproxy: fix conntrackd interaction ced7689be60d netfilter: xt_TCPMSS: add more sanity tests on tcph->doff 8e2316399b8f rtnetlink: add IFLA_GROUP to ifla_policy b9ca9b0f5510 ipv6: Do not leak throw route references e4089baa08c4 sfc: provide dummy definitions of vswitch functions 08058c258afb net: 8021q: Fix one possible panic caused by BUG_ON in free_netdev f1a0e7d172b0 decnet: always not take dst->__refcnt when inserting dst into hash table c7d422d68fe9 net/mlx5e: Fix timestamping capabilities reporting 25ff35074e27 net/mlx5: Wait for FW readiness before initializing command interface 176b9874a203 net/mlx5e: Avoid doing a cleanup call if the profile doesn't have it 4c246863e7b4 sctp: return next obj by passing pos + 1 into sctp_transport_get_idx fded2d74a350 ipv6: fix calling in6_ifa_hold incorrectly for dad work cac2a9bb4034 igmp: add a missing spin_lock_init() ecd6627f48bd igmp: acquire pmc lock for ip_mc_clear_src() 059686754c18 proc: snmp6: Use correct type in memset 78b24ab695ab net/mlx5e: Fix wrong indications in DIM due to counter wraparound 9854e5865990 net/mlx5e: Added BW check for DIM decision mechanism 57360bc3c7a6 net: tipc: Fix a sleep-in-atomic bug in tipc_msg_reverse bb566ce3a60e net: caif: Fix a sleep-in-atomic bug in cfpkt_create_pfx 8cda426a7cfa sctp: disable BH in sctp_for_each_endpoint c6d4ff85722b Fix an intermittent pr_emerg warning about lo becoming free. bb84290cd296 af_unix: Add sockaddr length checks before accessing sa_family in bind and connect handlers 386ed38f0f28 net: vrf: Make add_fib_rules per network namespace flag b5cc68e0c190 net: Zero ifla_vf_info in rtnl_fill_vfinfo() fd9b13e6c175 decnet: dn_rtmsg: Improve input length sanitization in dnrmg_receive_user_skb d2f459e3feb0 net: don't call strlen on non-terminated string in dev_set_alias() 98184bbb8dae ipv6: release dst on error in ip6_dst_lookup_tail 92905e331aea Linux 4.9.35 855b08e57777 brcmfmac: fix uninitialized warning in brcmf_usb_probe_phase2() 21eaaa76b701 jump label: fix passing kbuild_cflags when checking for asm goto support ffa96c1a6afe net: phy: fix marvell phy status reading 5da6415e427b spi: double time out tolerance 25c7794ed046 dmaengine: bcm2835: Fix cyclic DMA period splitting 81135c71bde3 net: phy: Initialize mdio clock at probe function 948c4f17ab7e rt2x00: avoid introducing a USB dependency in the rt2x00lib module 225969acc0f1 usb: gadget: f_fs: avoid out of bounds access on comp_desc 5306119473b2 mtd: spi-nor: fix spansion quad enable dcd015f733a7 of: Add check to of_scan_flat_dt() before accessing initial_boot_params f20603874211 rxrpc: Fix several cases where a padded len isn't checked in ticket decode 581659a87820 drm/amdgpu: adjust default display clock 217e035d5120 drm/amdgpu/atom: fix ps allocation size for EnableDispPowerGating e4b8d1e84410 drm/radeon: add a quirk for Toshiba Satellite L20-183 61ea7c2817bd drm/radeon: add a PX quirk for another K53TK variant 3900f24aa6fa iscsi-target: Reject immediate data underflow larger than SCSI transfer length 463440e6de4a iscsi-target: Fix delayed logout processing greater than SECONDS_FOR_LOGOUT_COMP 1f576d53d854 target: Fix kref->refcount underflow in transport_cmd_finish_abort 99f66b5182a4 arm64/vdso: Fix nsec handling for CLOCK_MONOTONIC_RAW a53bfdda06ac time: Fix CLOCK_MONOTONIC_RAW sub-nanosecond accounting 02a37ccd6347 time: Fix clock->read(clock) race around clocksource changes c81d034bd09a brcmfmac: unbind all devices upon failure in firmware callback ba2d8d67875c brcmfmac: use firmware callback upon failure to load 1dd15bd62221 brcmfmac: add parameter to pass error code in firmware callback 20d8f785f974 Input: i8042 - add Fujitsu Lifebook AH544 to notimeout list 8eaa481dfb4c powerpc/64s: Handle data breakpoints in Radix mode 414f51ceb6ff powerpc/kprobes: Pause function_graph tracing during jprobes handling f719f20abe2a signal: Only reschedule timers on signals timers have sent 99afebe8fef9 HID: Add quirk for Dell PIXART OEM mouse cdf300d6105d cxgb4: notify uP to route ctrlq compl to rdma rspq fb6dc831b5cf CIFS: Improve readdir verbosity 2f1527e359f4 KVM: PPC: Book3S HV: Context-switch EBB registers properly 468aa930c0a2 KVM: PPC: Book3S HV: Preserve userspace HTM state properly df3a787b3a71 KVM: s390: gaccess: fix real-space designation asce handling for gmap shadows 5220378bd91c perf/x86/intel: Add 1G DTLB load/store miss support for SKL 7c679fe729c2 lib/cmdline.c: fix get_options() overflow while parsing ranges bc6eecff3d95 autofs: sanity check status reported with AUTOFS_DEV_IOCTL_FAIL 4b660fcbc64e powerpc/perf: Fix oops when kthread execs user process 3d6848e491df fs/exec.c: account for argv/envp pointers 552a14a572a2 ALSA: pcm: Don't treat NULL chmap as a fatal error 8c9c55a0f576 ALSA: firewire-lib: Fix stall of process context at packet error 4ae2cb91a636 xen-blkback: don't leak stack data via response ring e5c49c1703ae xen/blkback: fix disconnect while I/Os in flight 0e051f17bd04 clk: sunxi-ng: a31: Correct lcd1-ch1 clock register offset 493ecd5cd73e Linux 4.9.34 ce7fe8595902 mm: fix new crash in unmapped_area_topdown() 5d10ad629726 Allow stack to grow up to address space limit cfc0eb403816 mm: larger stack guard gap, between vmas 04651048c79a alarmtimer: Rate limit periodic intervals b355b899c74a crypto: Work around deallocated stack frame reference gcc bug on sparc. 7dfe7ca9ec12 vTPM: Fix missing NULL check ecae47331a43 MIPS: .its targets depend on vmlinux 6b706cbb16e9 MIPS: Fix bnezc/jialc return address calculation 22921a9e232a usb: dwc3: exynos fix axius clock error path to do cleanup f0ee203c864f usb: gadget: composite: Fix function used to free memory 8ee7f06f4dca alarmtimer: Prevent overflow of relative timers 766283254b67 genirq: Release resources in __setup_irq() error path 8a48b7eace4d sched/core: Idle_task_exit() shouldn't use switch_mm_irqs_off() cf6ac3abb323 iio: imu: inv_mpu6050: add accel lpf setting for chip >= MPU6500 f7ae7d2229d2 swap: cond_resched in swap_cgroup_prepare() 1419b8752153 mm/memory-failure.c: use compound_head() flags for huge pages 0c0d3d8730db USB: gadgetfs, dummy-hcd, net2280: fix locking for callbacks 3ff5f4f6a8a7 USB: gadget: fix GPF in gadgetfs 06178662474c usb: xhci: ASMedia ASM1042A chipset need shorts TX quirk 4581d7dd44f3 usb: xhci: Fix USB 3.1 supported protocol parsing 2abac4084fb9 drivers/misc/c2port/c2port-duramar2150.c: checking for NULL instead of IS_ERR() f28ba80c6a3e misc: mic: double free on ioctl error path 02d009e865a8 ath10k: fix napi crash during rmmod when probe firmware fails 07612c1227e8 usb: r8a66597-hcd: decrease timeout f75f4d196ab5 usb: r8a66597-hcd: select a different endpoint on timeout c8091f0e8549 USB: gadget: dummy_hcd: fix hub-descriptor removable fields 374aceef5912 pvrusb2: reduce stack usage pvr2_eeprom_analyze() 9ae5dac225e2 USB: usbip: fix nonconforming hub descriptor 7b5bce3a5128 usb: core: fix potential memory leak in error path during hcd creation 12bfbe157d06 USB: hub: fix SS max number of ports cb53a4e03b2f usb: gadget: udc: renesas_usb3: lock for PN_ registers access dd65c0958b77 usb: gadget: udc: renesas_usb3: fix deadlock by spinlock 723bd3b9f83f usb: gadget: udc: renesas_usb3: fix pm_runtime functions calling b51e4b0ac661 IB/mlx5: Fix kernel to user leak prevention logic dca02651cee7 iio: adc: ti_am335x_adc: allocating too much in probe cf308c15103e iio: proximity: as3935: recalibrate RCO after resume 56251d138570 iio: st_pressure: Fix data sign a1d51f7abf71 staging: iio: tsl2x7x_core: Fix standard deviation calculation 773fdcdc0957 staging: rtl8188eu: prevent an underflow in rtw_check_beacon_data() ed13a9c6464b mfd: omap-usb-tll: Fix inverted bit use for USB TLL mode caa6f1c7bcbe x86/mm/32: Set the '__vmalloc_start_set' flag in initmem_init() ad3faea03fdf serial: sh-sci: Fix late enablement of AUTORTS a50aacf5de52 serial: efm32: Fix parity management in 'efm32_uart_console_get_options()' 879d61f218a9 drm/vc4: Fix OOPSes from trying to cache a partially constructed BO. 5899b635ecc7 drm/mediatek: fix mtk_hdmi_setup_vendor_specific_infoframe mistake 5b754c994f38 mac80211: don't send SMPS action frame in AP mode when not needed 3e8c503d0a16 mac80211: fix dropped counter in multiqueue RX 6568f8f70152 mac80211: strictly check mesh address extension mode c8143269c9c4 mac80211: fix IBSS presp allocation size 841e4e775bb1 mac80211: fix packet statistics for fast-RX f79d740f3289 mac80211: fix CSA in IBSS mode bd3f89002e52 usb: musb: dsps: keep VBUS on for host-only mode a317afc0c1ce drm/i915: Fix GVT-g PVINFO version compatibility check 7f7bb1173db8 drm/amdgpu: Fix overflow of watermark calcs at > 4k resolutions. f6e99a2efc03 mac80211/wpa: use constant time memory comparison for MACs 2ec5b68bf62e mac80211: don't look at the PM bit of BAR frames 63d34ea7042a vb2: Fix an off by one error in 'vb2_plane_vaddr' 5d5605cc5833 cpufreq: conservative: Allow down_threshold to take values from 1 to 10 47537bceb7b7 ila_xlat: add missing hash secret initialization 95f47cd7d7d8 can: gs_usb: fix memory leak in gs_cmd_reset() a6d6282040b7 configfs: Fix race between create_link and configfs_rmdir 222aa34e5d79 fs: pass on flags in compat_writev 050639ef5810 Linux 4.9.33 bdc9a03fd9ce sparc64: make string buffers large enough 933b9b11f7ca drm/i915: Always recompute watermarks when distrust_bios_wm is set, v2. 4f59a7a895c4 drm/i915: Workaround VLV/CHV DSI scanline counter hardware fail 8e1a4006ff92 s390/kvm: do not rely on the ILC on kvm host protection fauls a2f68276822c xtensa: don't use linux IRQ #0 57211e84dda0 RDMA/qedr: Return max inline data in QP query result c5ea7aa57e24 RDMA/qedr: Don't spam dmesg if QP is in error state 13a87589af5f RDMA/qedr: Don't reset QP when queues aren't flushed bbf61096e42c RDMA/qedr: Fix and simplify memory leak in PD alloc a4fa249385b6 RDMA/qedr: Dispatch port active event from qedr_add c47538f61016 netfilter: nft_log: restrict the log prefix length to 127 fefdd79403e8 netfilter: nf_tables: fix set->nelems counting with no NLM_F_EXCL f68a45776a62 tipc: fix nametbl_lock soft lockup at node/link events 1d6e36d730ed tipc: add subscription refcount to avoid invalid delete 9f8df4f86a3f tipc: fix connection refcount error c7a552e771cc tipc: ignore requests when the connection state is not CONNECTED 2552e2c11575 ARCv2: smp-boot: wake_flag polling by non-Masters needs to be uncached 8cb6045ec40d ARC: smp-boot: Decouple Non masters waiting API from jump to entry point ae36f6a65af6 vhost/vsock: handle vhost_vq_init_access() error b13b3b706a9d kernel/watchdog: prevent false hardlockup on overloaded system 0ce66ee6aec1 kernel/watchdog.c: move shared definitions to nmi.h b969a240448b kernel/watchdog.c: move hardlockup detector to separate file dbd9eee1aaaf userfaultfd: fix SIGBUS resulting from false rwsem wakeups 9618fba26499 proc: add a schedule point in proc_pid_readdir() e23b1c05a50f frv: add missing atomic64 operations 918684681dc2 frv: add atomic64_add_unless() 013bbbc3e902 romfs: use different way to generate fsid for BLOCK or MTD 093d494c6d1d mn10300: fix build error of missing fpu_save() 5e4cafca06bf usb: musb: Fix external abort on non-linefetch for musb_irq_work() fb72eca1333c sctp: sctp_addr_id2transport should verify the addr before looking up assoc bf812fe92683 sctp: sctp gso should set feature with NETIF_F_SG when calling skb_segment 12a583ddf02a bnxt_en: Fix RTNL lock usage on bnxt_get_port_module_status(). 66deb409251c bnxt_en: Fix RTNL lock usage on bnxt_update_link(). e89ffe41e9a6 bnxt_en: Enhance autoneg support. 710ea9b028de bnxt_en: Fix bnxt_reset() in the slow path task. cb7188295d18 net-next: ethernet: mediatek: change the compatible string e9ace99c4bb0 r8152: avoid start_xmit to schedule napi when napi is disabled c1a7106b3b01 r8152: fix rtl8152_post_reset function 9507910ca46d r8152: re-schedule napi for tx 4242f0bce47e r8152: check rx after napi is enabled 993ba7ffcf6e r8152: avoid start_xmit to call napi_schedule during autosuspend 6149abe7f404 nvmet-rdma: Fix missing dma sync to nvme data structures 5a0d41409b4d nfs: Fix "Don't increment lock sequence ID after NFS4ERR_MOVED" d16268259683 ravb: unmap descriptors when freeing rings 47c362f147aa drm/ast: Fixed system hanged if disable P2A bfa4d2e461da drm/nouveau: Fix drm poll_helper handling c94e2edacea7 drm/nouveau: Don't enabling polling twice on runtime resume c7a29cf6c34a drm/nouveau: Handle fbcon suspend/resume in seperate worker d2beb1a9dd82 drm/nouveau: Rename acpi_work to hpd_work ef66745a1bd2 drm/nouveau: Intercept ACPI_VIDEO_NOTIFY_PROBE eb846414674c gtp: add genl family modules alias 7dddbfcd96e2 net: phy: micrel: add support for KSZ8795 2f970b437e86 parisc, parport_gsc: Fixes for printk continuation lines 4038524f7fef net/mlx5: Return EOPNOTSUPP when failing to get steering name-space b445ecbdff83 net/mlx5: E-Switch, Err when retrieving steering name-space fails 2bcbe747629e drm/i915: Check for NULL i915_vma in intel_unpin_fb_obj() e6549f36278c net: adaptec: starfire: add checks for dma mapping errors a15bbf44ab2f pinctrl: berlin-bg4ct: fix the value for "sd1a" of pin SCRD0_CRD_PRES 326fdffd7078 drm: Don't race connector registration 82b6693bd415 drm: prevent double-(un)registration for connectors d934fe02ba17 cec: fix wrong last_la determination 62614714e30a pinctrl: baytrail: Rectify debounce support (part 2) 3564d41e5c84 gianfar: synchronize DMA API usage by free_skb_rx_queue w/ gfar_new_page 581e4003bf12 net/mlx4_core: Avoid command timeouts during VF driver device shutdown c33f1bd7f289 drm/nouveau/fence/g84-: protect against concurrent access to semaphore buffers cf336eea809d drm/nouveau: prevent userspace from deleting client object 16f733d8db52 ipv6: fix flow labels when the traffic class is non-0 0542f9791246 FS-Cache: Initialise stores_lock in netfs cookie 34f1a4626bad fscache: Clear outstanding writes when disabling a cookie 11696dcea282 fscache: Fix dead object requeue f4d2d05ffb8b net: fix ndo_features_check/ndo_fix_features comment ordering 3a6ebd3f963c net: phy: Fix PHY module checks and NULL deref in phy_attach_direct() ea14fabd43a5 net: phy: Fix lack of reference count on PHY driver 2fba4f5b70f3 ethtool: do not vzalloc(0) on registers dump 8de6ea44af5c log2: make order_base_2() behave correctly on const input value zero 5331baaeb7e6 kasan: respect /proc/sys/kernel/traceoff_on_warning 8936b74fd339 shmem: fix sleeping from atomic context 3ec4141c68de jump label: pass kbuild_cflags when checking for asm goto support 36d9659cde0d PM / runtime: Avoid false-positive warnings from might_sleep_if() 40f6d71c0a09 ARM: defconfigs: make NF_CT_PROTO_SCTP and NF_CT_PROTO_UDPLITE built-in 1cadd394bbf9 ipv6: Fix IPv6 packet loss in scenarios involving roaming + snooping switches d536202202ee vfio/spapr_tce: Set window when adding additional groups to container d385ed7ad307 ipv6: addrconf: fix generation of new temporary addresses d7b2b380c08d net: thunderx: Fix PHY autoneg for SGMII QLM mode baaa84b43608 kernel/ucount.c: mark user_header with kmemleak_ignore() c419fe260b54 powerpc/powernv: Properly set "host-ipi" on IPIs 47a5aabc3424 i2c: piix4: Fix request_region size c1a4306f24a0 i2c: piix4: Request the SMBUS semaphore inside the mutex 7a6fcf38fabb sierra_net: Add support for IPv6 and Dual-Stack Link Sense Indications 9217eeefee15 sierra_net: Skip validating irrelevant fields for IDLE LSIs bed8b8627a33 net: hns: Fix the device being used for dma mapping during TX 008798746e6e NET: mkiss: Fix panic ae0b63eb344e ibmvnic: Initialize completion variables before starting work 4544ba3173b7 ibmvnic: Call napi_disable instead of napi_enable in failure path 74e24d1ea1a4 NET: Fix /proc/net/arp for AX.25 2557969fb4f7 gfs2: Use rhashtable walk interface in glock_hash_walk 44bc7cae6031 tipc: Fix tipc_sk_reinit race conditions cb351da6f2ba ipv6: Inhibit IPv4-mapped src address on the wire. 12ec2560d467 ipv6: Handle IPv4-mapped src to in6addr_any dst. 116589a5a7e0 tcp: tcp_probe: use spin_lock_bh() a2901d01a6c7 net: xilinx_emaclite: fix receive buffer overflow bff3001afae7 net: xilinx_emaclite: fix freezes due to unordered I/O 65e72723add0 ibmvnic: Fix endian error when requesting device capabilities b5a1aa812a16 ibmvnic: Fix endian errors in error reporting output d864e675c789 netfilter: nf_conntrack_sip: fix wrong memory initialisation 220b67a16fde partitions/msdos: FreeBSD UFS2 file systems are not recognized 7a7b2d5f65a7 drm/i915: Prevent the system suspend complete optimization b372d35a5226 PCI/PM: Add needs_resume flag to avoid suspend complete optimization 05afd4c0af6a Linux 4.9.32 3eb235a1af14 netfilter: nft_set_rbtree: handle element re-addition after deletion a8fc3159ee2c cpufreq: schedutil: Fix per-CPU structure initialization in sugov_start() afe8d4a51c76 cpufreq: schedutil: move cached_raw_freq to struct sugov_policy 09fcb3561d9e drm/i915/vbt: split out defaults that are set when there is no VBT 555c443a1ab9 drm/i915/vbt: don't propagate errors from intel_bios_init() a6a7d8ade88c usercopy: Adjust tests to deal with SMAP/PAN eefa5e13dff9 ARM: 8637/1: Adjust memory boundaries after reservations 1df21f45fd55 ARM: 8636/1: Cleanup sanity_check_meminfo 9e09d90ac5ac arm64: entry: improve data abort handling of tagged pointers 1d61ccb5ac27 arm64: hw_breakpoint: fix watchpoint matching for tagged pointers 791d94ef40f6 arm64: traps: fix userspace cache maintenance emulation on a tagged pointer d95202487334 serial: sh-sci: Fix panic when serial console and DMA are enabled 9ff4a1a36a58 drivers: char: mem: Fix wraparound check to allow mappings up to the end 106c77e82572 cpu/hotplug: Drop the device lock on error eb8fa317cb01 ASoC: Fix use-after-free at card unregistration 82ecd2f054bd ALSA: timer: Fix missing queue indices reset at SNDRV_TIMER_IOCTL_SELECT 66e982d8f1a1 ALSA: timer: Fix race between read and ioctl aae14f569f5d drm/nouveau/tmr: fully separate alarm execution/pending lists 7860d0e5e2bf drm/vmwgfx: Make sure backup_handle is always valid a76ff847013a drm/vmwgfx: limit the number of mip levels in vmw_gb_surface_define_ioctl() 64c21af51d71 drm/vmwgfx: Handle vmalloc() failure in vmw_local_fifo_reserve() 3743c0e1276d perf/core: Drop kernel samples even though :u is specified 6e6d89e18e53 powerpc/kernel: Initialize load_tm on task creation 2cfdf4fd3292 powerpc/kernel: Fix FP and vector register restoration cbf687acc1e1 powerpc/hotplug-mem: Fix missing endian conversion of aa_index b4624ff952ec powerpc/numa: Fix percpu allocations to be NUMA aware bb0a300f18ce powerpc/sysdev/simple_gpio: Fix oops in gpio save_regs function 59d9a40b5839 scsi: qla2xxx: Fix mailbox pointer error in fwdump capture 64dc431432ec scsi: qla2xxx: Set bit 15 for DIAG_ECHO_TEST MBC ab2b484e8038 scsi: qla2xxx: Modify T262 FW dump template to specify same start/end to debug customer issues fe42472e53eb scsi: qla2xxx: don't disable a not previously enabled PCI device f75e09ebd3e4 KVM: arm/arm64: Handle possible NULL stage2 pud when ageing pages 66d6448475c6 btrfs: fix memory leak in update_space_info failure path 4d15ab90ec2b btrfs: use correct types for page indices in btrfs_page_exists_in_range 3fd1233dabd5 cxl: Avoid double free_irq() for psl,slice interrupts 172c70d1cd82 cxl: Fix error path on bad ioctl 84bef90a454f ufs_getfrag_block(): we only grab ->truncate_mutex on block creation path 3d4922b5bb5b ufs_extend_tail(): fix the braino in calling conventions of ufs_new_fragments() 55a00f816bd7 ufs: set correct ->s_maxsize aed005fb7956 ufs: restore maintaining ->i_blocks bf7bfef3eee3 fix ufs_isblockset() 4896c87d2464 ufs: restore proper tail allocation 61604a2626a3 fs: add i_blocksize() 829a1cab22c4 cpuset: consider dying css as offline 5aa8f833ca78 Input: elantech - add Fujitsu Lifebook E546/E557 to force crc_enabled dff4c8bb1397 cgroup: Prevent kill_css() from being called more than once b59ec7072c84 ahci: Acer SA5-271 SSD Not Detected Fix b3a42bb630bd drm/msm: Expose our reservation object when exporting a dmabuf. 974a4eb16e84 target: Re-add check to reject control WRITEs with overflow data 96d7b43b42ba cpufreq: cpufreq_register_driver() should return -ENODEV if init fails acd8f9173960 mei: make sysfs modalias format similar as uevent modalias 716dd37398ad iio: proximity: as3935: fix iio_trigger_poll issue bad3b49b01aa iio: proximity: as3935: fix AS3935_INT mask 8067c911c5e9 iio: light: ltr501 Fix interchanged als/ps register field e33679f994db iio: adc: bcm_iproc_adc: swap primary and secondary isr handler's c5a8004434f0 staging/lustre/lov: remove set_fs() call from lov_getstripe() 5404b0c0ea85 usb: chipidea: debug: check before accessing ci_role 59db536f5812 usb: chipidea: udc: fix NULL pointer dereference if udc_start failed 405ac24a0aec usb: gadget: f_mass_storage: Serialize wake and sleep execution 1308eeec2fc5 drm: Fix oops + Xserver hang when unplugging USB drm devices c404f0dee7a8 ext4: fix fdatasync(2) after extent manipulation operations 2e16921d1743 ext4: fix data corruption with EXT4_GET_BLOCKS_ZERO 9890b9cb75c9 ext4: keep existing extra fields when inode expands 9850844e0a0e ext4: fix SEEK_HOLE 9636c086532b xen/privcmd: Support correctly 64KB page granularity when mapping memory 08229c119c42 cfq-iosched: fix the delay of cfq_group's vdisktime under iops mode 1f67d28d2707 dmaengine: mv_xor_v2: set DMA mask to 40 bits eb5afaba6177 dmaengine: mv_xor_v2: remove interrupt coalescing b2c8bb06bc83 dmaengine: mv_xor_v2: fix tx_submit() implementation 0d0918504a96 dmaengine: mv_xor_v2: enable XOR engine after its configuration e2a092eab8a5 dmaengine: mv_xor_v2: do not use descriptors not acked by async_tx 67b1684c4a5e dmaengine: mv_xor_v2: properly handle wrapping in the array of HW descriptors f08c84d4c745 dmaengine: mv_xor_v2: handle mv_xor_v2_prep_sw_desc() error properly f2e9d10bf1a2 dmaengine: ep93xx: Don't drain the transfers in terminate_all() b7e7a4d52a95 dmaengine: ep93xx: Always start from BASE0 cd0ef520aa70 dmaengine: usb-dmac: Fix DMAOR AE bit definition 3e7a76b290f1 KVM: arm/arm64: vgic-v2: Do not use Active+Pending state for a HW interrupt 2a5c08a4d3fe KVM: arm/arm64: vgic-v3: Do not use Active+Pending state for a HW interrupt 81555e45852a KVM: async_pf: avoid async pf injection when in guest mode 85c19308cb37 arm: KVM: Allow unaligned accesses at HYP 8abce1e49c82 arm64: KVM: Allow unaligned accesses at EL2 b9824dd75fcf arm64: KVM: Preserve RES1 bits in SCTLR_EL2 19c9a115085e KVM: cpuid: Fix read/write out-of-bounds vulnerability in cpuid emulation 78f87ce2a17f kvm: async_pf: fix rcu_irq_enter() with irqs enabled 4809f0e56d98 efi: Don't issue error message when booted under Xen e273ed246617 nfsd: Fix up the "supattr_exclcreat" attributes bfeac838043f nfsd4: fix null dereference on replay 34bae9b3ba98 drm/amdgpu/ci: disable mclk switching for high refresh rates (v2) d4783eb9f082 crypto: gcm - wait for crypto op not signal safe 2d0280070e6c crypto: drbg - wait for crypto op not signal safe d24c1c1977d8 KEYS: encrypted: avoid encrypting/decrypting stack buffers 24369761029a KEYS: fix freeing uninitialized memory in key_update() 1b253e023f8f KEYS: fix dereferencing NULL payload with nonzero length 0e479742e8d1 crypto: asymmetric_keys - handle EBUSY due to backlog correctly 7c24a70c70b7 ptrace: Properly initialize ptracer_cred on fork 3802abc6e0df serial: ifx6x60: fix use-after-free on module unload 04ac452dadbf arch/sparc: support NR_CPUS = 4096 433a50e681df sparc64: delete old wrap code b6bb22de0c9e sparc64: new context wrap 975f3cdc3915 sparc64: add per-cpu mm of secondary contexts 7932bfad0e82 sparc64: redefine first version 65e3443b61a8 sparc64: combine activate_mm and switch_mm e7590a1b15c8 sparc64: reset mm cpumask after wrap b3ad7a3e57b3 sparc: Machine description indices can vary 8d665e039e66 sparc64: mm: fix copy_tsb to correctly copy huge page TSBs 4b684e6474d0 sparc64: Add __multi3 for gcc 7.x and later. 0255284edddc net: bridge: start hello timer only if device is up 3dd4daf112fd net: stmmac: fix completely hung TX when using TSO a83564d12863 net: ethoc: enable NAPI before poll may be scheduled a97f807363d4 net/ipv6: Fix CALIPSO causing GPF with datagram support 0aa89f1b07de net: ping: do not abuse udp_poll() 599a4478d8cb ipv6: Fix leak in ipv6_gso_segment(). c242e1a8140e vxlan: fix use-after-free on deletion 3ee35b96825e tcp: disallow cwnd undo when switching congestion control 61c92d5a533c cxgb4: avoid enabling napi twice to the same queue abbcb731d69c ipv6: xfrm: Handle errors reported by xfrm6_find_1stfragopt() b5e9b7ad0dd4 vxlan: eliminate cached dst leak 96d145216b58 bnx2x: Fix Multi-Cos Signed-off-by: Bruce Ashfield Signed-off-by: Ross Burton --- meta/recipes-kernel/linux/linux-yocto-rt_4.9.bb | 6 +++--- meta/recipes-kernel/linux/linux-yocto-tiny_4.9.bb | 6 +++--- meta/recipes-kernel/linux/linux-yocto_4.9.bb | 20 ++++++++++---------- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_4.9.bb b/meta/recipes-kernel/linux/linux-yocto-rt_4.9.bb index f0e9180..6e18bd9 100644 --- a/meta/recipes-kernel/linux/linux-yocto-rt_4.9.bb +++ b/meta/recipes-kernel/linux/linux-yocto-rt_4.9.bb @@ -11,13 +11,13 @@ python () { raise bb.parse.SkipPackage("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it") } -SRCREV_machine ?= "ab749ed8fd7beb6c63ec62a808eac8678db83810" -SRCREV_meta ?= "299f12a06ca1d6fd90b24450dae3b9f257a536be" +SRCREV_machine ?= "1fb4e1d1e3f727fc20963fc631a259665bd4665b" +SRCREV_meta ?= "0db0b4a408f05cfed359983d7ff63b1a6e29be2c" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.9.git;branch=${KBRANCH};name=machine \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.9;destsuffix=${KMETA}" -LINUX_VERSION ?= "4.9.31" +LINUX_VERSION ?= "4.9.36" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_4.9.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_4.9.bb index 482e38c..da5b2ea 100644 --- a/meta/recipes-kernel/linux/linux-yocto-tiny_4.9.bb +++ b/meta/recipes-kernel/linux/linux-yocto-tiny_4.9.bb @@ -4,13 +4,13 @@ KCONFIG_MODE = "--allnoconfig" require recipes-kernel/linux/linux-yocto.inc -LINUX_VERSION ?= "4.9.31" +LINUX_VERSION ?= "4.9.36" KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" -SRCREV_machine ?= "d2de43e42bb8a270e680aab1c8f2447bff0b3552" -SRCREV_meta ?= "299f12a06ca1d6fd90b24450dae3b9f257a536be" +SRCREV_machine ?= "24572abb2cad341dd79e6aafcb9cdd1a7f8a0c1e" +SRCREV_meta ?= "0db0b4a408f05cfed359983d7ff63b1a6e29be2c" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/meta/recipes-kernel/linux/linux-yocto_4.9.bb b/meta/recipes-kernel/linux/linux-yocto_4.9.bb index acfae37..563c33d 100644 --- a/meta/recipes-kernel/linux/linux-yocto_4.9.bb +++ b/meta/recipes-kernel/linux/linux-yocto_4.9.bb @@ -11,20 +11,20 @@ KBRANCH_qemux86 ?= "standard/base" KBRANCH_qemux86-64 ?= "standard/base" KBRANCH_qemumips64 ?= "standard/mti-malta64" -SRCREV_machine_qemuarm ?= "734cdab9878ac73dbf43d8e7d14b07b9e3498c32" -SRCREV_machine_qemuarm64 ?= "d2de43e42bb8a270e680aab1c8f2447bff0b3552" -SRCREV_machine_qemumips ?= "59f4ca90a4bb47ce9c81508e3b8458b87f411d59" -SRCREV_machine_qemuppc ?= "d2de43e42bb8a270e680aab1c8f2447bff0b3552" -SRCREV_machine_qemux86 ?= "d2de43e42bb8a270e680aab1c8f2447bff0b3552" -SRCREV_machine_qemux86-64 ?= "d2de43e42bb8a270e680aab1c8f2447bff0b3552" -SRCREV_machine_qemumips64 ?= "5b396803703aa5c1bd1e6f5cc7ac02de05cd0d08" -SRCREV_machine ?= "d2de43e42bb8a270e680aab1c8f2447bff0b3552" -SRCREV_meta ?= "299f12a06ca1d6fd90b24450dae3b9f257a536be" +SRCREV_machine_qemuarm ?= "a4390ba8db101907133990f8e31ebcd56869ac3b" +SRCREV_machine_qemuarm64 ?= "24572abb2cad341dd79e6aafcb9cdd1a7f8a0c1e" +SRCREV_machine_qemumips ?= "580682c29df5023d2cecaf6c4074d401c4b57b94" +SRCREV_machine_qemuppc ?= "24572abb2cad341dd79e6aafcb9cdd1a7f8a0c1e" +SRCREV_machine_qemux86 ?= "24572abb2cad341dd79e6aafcb9cdd1a7f8a0c1e" +SRCREV_machine_qemux86-64 ?= "24572abb2cad341dd79e6aafcb9cdd1a7f8a0c1e" +SRCREV_machine_qemumips64 ?= "7c9ce18e05e1d84df17e677b26133671ec0430f5" +SRCREV_machine ?= "24572abb2cad341dd79e6aafcb9cdd1a7f8a0c1e" +SRCREV_meta ?= "0db0b4a408f05cfed359983d7ff63b1a6e29be2c" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.9.git;name=machine;branch=${KBRANCH}; \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.9;destsuffix=${KMETA}" -LINUX_VERSION ?= "4.9.31" +LINUX_VERSION ?= "4.9.36" PV = "${LINUX_VERSION}+git${SRCPV}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:02:56 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:02:56 +0000 Subject: [oe-commits] [openembedded-core] 47/64: linux-yocto/4.1: update to v4.1.42 In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130211.AA98D23354E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 976c260bfd61e1346c1ef842567eee80a7b7ffca Author: Bruce Ashfield AuthorDate: Thu Jul 13 12:49:11 2017 -0400 linux-yocto/4.1: update to v4.1.42 Integrating the korg -stable update that comprises the following commits: 2ac51e21d8c5 Linux 4.1.42 dcda279dede7 mm: fix new crash in unmapped_area_topdown() 8b18c6b2a0dd mm: larger stack guard gap, between vmas 55e6060ddd5f alarmtimer: Rate limit periodic intervals cedbfb3dc38c MIPS: Fix bnezc/jialc return address calculation d490b0caf87f usb: dwc3: exynos fix axius clock error path to do cleanup 61e04a644bd8 genirq: Release resources in __setup_irq() error path ec8376b633c9 swap: cond_resched in swap_cgroup_prepare() 331720703ebb mm/memory-failure.c: use compound_head() flags for huge pages e28840566853 USB: gadgetfs, dummy-hcd, net2280: fix locking for callbacks 7ed474c302c1 usb: xhci: ASMedia ASM1042A chipset need shorts TX quirk 235efbf2e58c drivers/misc/c2port/c2port-duramar2150.c: checking for NULL instead of IS_ERR() d5db08763ef2 usb: r8a66597-hcd: decrease timeout 152c8dcf311c usb: r8a66597-hcd: select a different endpoint on timeout 08e1f9869489 USB: gadget: dummy_hcd: fix hub-descriptor removable fields 0758e6a95a00 [media] pvrusb2: reduce stack usage pvr2_eeprom_analyze() bdc69cc86e01 usb: core: fix potential memory leak in error path during hcd creation 11f00c7e1194 USB: hub: fix SS max number of ports e507356624f1 iio: proximity: as3935: recalibrate RCO after resume fe9474901810 staging: rtl8188eu: prevent an underflow in rtw_check_beacon_data() 94bfe4f31f46 mfd: omap-usb-tll: Fix inverted bit use for USB TLL mode 49919278f4ce x86/mm/32: Set the '__vmalloc_start_set' flag in initmem_init() daccc774edf2 serial: efm32: Fix parity management in 'efm32_uart_console_get_options()' 394dc0f7c2ae mac80211: don't send SMPS action frame in AP mode when not needed 8373afb6cb12 mac80211: fix IBSS presp allocation size 26e7f9d274cf mac80211: fix CSA in IBSS mode 5125e4a41299 mac80211/wpa: use constant time memory comparison for MACs 1a8dacfbbbe7 mac80211: don't look at the PM bit of BAR frames 61df07cce8eb [media] vb2: Fix an off by one error in 'vb2_plane_vaddr' 6ea9210c046f can: gs_usb: fix memory leak in gs_cmd_reset() d30248c41364 configfs: Fix race between create_link and configfs_rmdir 9307fb9f34e1 sparc64: make string buffers large enough b865f707d7c6 xtensa: don't use linux IRQ #0 ddda59580e10 tipc: ignore requests when the connection state is not CONNECTED 1b98bab153c7 proc: add a schedule point in proc_pid_readdir() a20b7cab8735 romfs: use different way to generate fsid for BLOCK or MTD 3e335922279b mn10300: fix build error of missing fpu_save() 86e9b2ee9cc6 sctp: sctp_addr_id2transport should verify the addr before looking up assoc 5fbc861ad7eb r8152: re-schedule napi for tx 41e0083c7ddb drm/ast: Fixed system hanged if disable P2A 9b50bb2bc343 drm/nouveau: Don't enabling polling twice on runtime resume c29b8f7d2d1e parisc, parport_gsc: Fixes for printk continuation lines 8cc579971086 net: adaptec: starfire: add checks for dma mapping errors 6d43352435ba net/mlx4_core: Avoid command timeouts during VF driver device shutdown 295a19f594e8 drm/nouveau/fence/g84-: protect against concurrent access to semaphore buffers 510c29634e35 fscache: Clear outstanding writes when disabling a cookie 42c32ac3cec6 ethtool: do not vzalloc(0) on registers dump eaabe4b74095 log2: make order_base_2() behave correctly on const input value zero 8bc30cf03ca1 kasan: respect /proc/sys/kernel/traceoff_on_warning acd666657821 jump label: pass kbuild_cflags when checking for asm goto support cb2098ab876e PM / runtime: Avoid false-positive warnings from might_sleep_if() d3121ad14562 ARM: defconfigs: make NF_CT_PROTO_SCTP and NF_CT_PROTO_UDPLITE built-in 4c8eb6278488 ipv6: Fix IPv6 packet loss in scenarios involving roaming + snooping switches 0def8e45d25f sierra_net: Add support for IPv6 and Dual-Stack Link Sense Indications 0c2950fa861d sierra_net: Skip validating irrelevant fields for IDLE LSIs a9cbb7cd1868 NET: mkiss: Fix panic d914dc3b811d NET: Fix /proc/net/arp for AX.25 68978d69ea6f ipv6: Inhibit IPv4-mapped src address on the wire. 197082364320 ipv6: Handle IPv4-mapped src to in6addr_any dst. dd4d061cf1f6 net: xilinx_emaclite: fix receive buffer overflow 742e7978eaba net: xilinx_emaclite: fix freezes due to unordered I/O afae1d9da32e partitions/msdos: FreeBSD UFS2 file systems are not recognized 7f6abe4c0560 PCI/PM: Add needs_resume flag to avoid suspend complete optimization cd1c4f855f68 usercopy: Adjust tests to deal with SMAP/PAN 9da808668b58 arm64: entry: improve data abort handling of tagged pointers 47e49f2d1eda drivers: char: mem: Fix wraparound check to allow mappings up to the end bb3556c1d155 ASoC: Fix use-after-free at card unregistration 88c41586db86 ALSA: timer: Fix missing queue indices reset at SNDRV_TIMER_IOCTL_SELECT 5d28ba6eecde ALSA: timer: Fix race between read and ioctl 29837be8e922 drm/vmwgfx: Handle vmalloc() failure in vmw_local_fifo_reserve() d6f90404eaa0 perf/core: Drop kernel samples even though :u is specified f44556278b79 powerpc/hotplug-mem: Fix missing endian conversion of aa_index 7ee9689e6b68 powerpc/numa: Fix percpu allocations to be NUMA aware eecbbd835e2e scsi: qla2xxx: don't disable a not previously enabled PCI device 4a213a0fe0b3 KVM: arm/arm64: Handle possible NULL stage2 pud when ageing pages 951269f95603 btrfs: fix memory leak in update_space_info failure path d42014c8d4ce btrfs: use correct types for page indices in btrfs_page_exists_in_range cc558c203ce1 cxl: Fix error path on bad ioctl c58e11d1da35 ufs: set correct ->s_maxsize 7ba100d53ebc fix ufs_isblockset() 7f8053503ed2 cpuset: consider dying css as offline 51037ec2ee8e iio: proximity: as3935: fix AS3935_INT mask 60e9d774dc8e staging/lustre/lov: remove set_fs() call from lov_getstripe() 6f4f7e81b18e usb: chipidea: debug: check before accessing ci_role 9738b3df00b1 usb: chipidea: udc: fix NULL pointer dereference if udc_start failed db87e41d61aa usb: gadget: f_mass_storage: Serialize wake and sleep execution 926295793364 ext4: keep existing extra fields when inode expands 4d1adc2ada19 ext4: fix SEEK_HOLE 8406f302e985 KVM: async_pf: avoid async pf injection when in guest mode fdb67b2a3a16 arm: KVM: Allow unaligned accesses at HYP 1e8dabb6aa14 KVM: cpuid: Fix read/write out-of-bounds vulnerability in cpuid emulation 702eb8d270f2 kvm: async_pf: fix rcu_irq_enter() with irqs enabled 4b1bf4b008ca nfsd4: fix null dereference on replay 026ed759f4f4 crypto: gcm - wait for crypto op not signal safe e02ed52dd2d3 KEYS: fix freeing uninitialized memory in key_update() a38f69cb4a22 ptrace: Properly initialize ptracer_cred on fork 94d53c5028a3 arch/sparc: support NR_CPUS = 4096 252bf31f5d91 sparc64: delete old wrap code 0837a0481106 sparc64: new context wrap 169dc5fd241d sparc64: add per-cpu mm of secondary contexts ccadb4e680e9 sparc64: redefine first version 5203c6c92724 sparc64: combine activate_mm and switch_mm 317a444875fd sparc64: reset mm cpumask after wrap a2334e23c296 sparc: Machine description indices can vary 8ee93884863e sparc64: mm: fix copy_tsb to correctly copy huge page TSBs 246fa51013e3 net: ethoc: enable NAPI before poll may be scheduled 169a7e245c7f net: ping: do not abuse udp_poll() 59dc08f8f5e7 ipv6: Fix leak in ipv6_gso_segment(). f257e5d318a5 tcp: disallow cwnd undo when switching congestion control fa95ca65fb86 cxgb4: avoid enabling napi twice to the same queue cd276bb4fe54 ipv6: xfrm: Handle errors reported by xfrm6_find_1stfragopt() e616f6da095e bnx2x: Fix Multi-Cos d600ccd7fd21 xfs: fix unaligned access in xfs_btree_visit_blocks 20d07bb1567a xfs: bad assertion for delalloc an extent that start at i_size 45ed7e2f2f82 xfs: fix indlen accounting error on partial delalloc conversion 1a229fd5ae97 xfs: wait on new inodes during quotaoff dquot release b822f03516c9 xfs: update ag iterator to support wait on new inodes 821afaaed81d xfs: support ability to wait on new inodes 9b1260c216af xfs: fix up quotacheck buffer list error handling 022e9b0e554b xfs: prevent multi-fsb dir readahead from reading random blocks 641967d1f903 xfs: handle array index overrun in xfs_dir2_leaf_readbuf() 17d031b4add7 xfs: fix over-copying of getbmap parameters from userspace 74d27999c51e xfs: use dedicated log worker wq to avoid deadlock with cil wq ddf2f45b3344 xfs: fix kernel memory exposure problems 9bf638a08ad2 mm/migrate: fix refcount handling when !hugepage_migration_supported() c7dbf874d6b5 drm/radeon/ci: disable mclk switching for high refresh rates (v2) 9fcaaa87e08c fs/ufs: Set UFS default maximum bytes per file b36188f229d6 sparc: Fix -Wstringop-overflow warning 80f68f7daeb3 sctp: fix ICMP processing if skb is non-linear 01426eb3503d tcp: avoid fastopen API to be used on AF_UNSPEC a10f1d6ad744 virtio-net: enable TSO/checksum offloads for Q-in-Q vlans a05aec67cd6b be2net: Fix offload features for Q-in-Q packets b7b05a3b40e8 vlan: Fix tcp checksum offloads in Q-in-Q vlans d78ddec4e7fb ipv6: fix out of bound writes in __ip6_append_data() acf388f77791 qmi_wwan: add another Lenovo EM74xx device ID 7144c12e891d ipv6: Check ip6_find_1stfragopt() return value properly. e7f05ff30b0c ipv6: Prevent overrun when parsing v6 header options 3e674773cb5e tcp: eliminate negative reordering in tcp_clean_rtx_queue e7b4f3d39f46 sctp: do not inherit ipv6_{mc|ac|fl}_list from parent 61d62ee79cec tcp: avoid fragmenting peculiar skbs in SACK 93dcd4929d18 net: fix compile error in skb_orphan_partial() 7a230cfdf208 netem: fix skb_orphan_partial() 8404b686a33c s390/qeth: avoid null pointer dereference on OSN 89b9ca1dd7d0 s390/qeth: unbreak OSM and OSN support 0b651772fed7 s390/qeth: handle sysfs error during initialization 4e0ecb773276 dccp/tcp: do not inherit mc_list from parent 4bd4cfc5210e Linux 4.1.41 c1dd3f51ad77 mm/huge_memory.c: respect FOLL_FORCE/FOLL_COW for thp afeb39160249 xc2028: Fix use-after-free bug properly 5eef36af5974 iio: proximity: as3935: fix as3935_write e8701e0f6768 ipx: call ipxitf_put() in ioctl error path 709dcf11a353 sched/fair: Initialize throttle_count for new task-groups lazily 0f665ed5581f sched/fair: Do not announce throttled next buddy in dequeue_task_fair() 953334de0819 iio: dac: ad7303: fix channel description 60e2e499e37d mwifiex: pcie: fix cmd_buf use-after-free in remove/reset 036ab4111761 rtlwifi: rtl8821ae: setup 8812ae RFE according to device type df8198865a0f ARM: tegra: paz00: Mark panel regulator as enabled on boot fda7c899dd76 fs/xattr.c: zero out memory copied to userspace in getxattr 273225634fef vfio/type1: Remove locked page accounting workqueue 358fa411ba9a crypto: algif_aead - Require setkey before accept(2) e0b7d5eae185 staging: gdm724x: gdm_mux: fix use-after-free on module unload 47655216cdf4 drm/ttm: fix use-after-free races in vm fault handling 46527f8d11fa f2fs: sanity check segment count 2b674f4ecce8 ipv6: reorder ip6_route_dev_notifier after ipv6_dev_notf 4aaeda7f5c4f ipv6: initialize route null entry in addrconf_init() 1d9afaa5c0a8 rtnetlink: NUL-terminate IFLA_PHYS_PORT_NAME string 226d200531f4 ipv4, ipv6: ensure raw socket message is big enough to hold an IP header 14e82f4ce5bb tcp: fix wraparound issue in tcp_lp 38853e5c3775 tcp: do not underestimate skb->truesize in tcp_trim_head() 918d8536e126 ALSA: hda - Fix deadlock of controller device lock at unbinding 1c370084c6f3 staging: emxx_udc: remove incorrect __init annotations 8602853345b7 staging: wlan-ng: add missing byte order conversion bd253cf63929 brcmfmac: Make skb header writable before use c4efbc9ce69d brcmfmac: Ensure pointer correctly set if skb data location changes 62494116045e MIPS: R2-on-R6 MULTU/MADDU/MSUBU emulation bugfix 48ea252abd40 scsi: mac_scsi: Fix MAC_SCSI=m option when SCSI=m ddfc6a095d10 serial: 8250_omap: Fix probe and remove for PM runtime 2c7105e86e3d USB: serial: io_edgeport: fix descriptor error handling 00f244650faf USB: serial: mct_u232: fix modem-status error handling 0379d54281fc USB: serial: quatech2: fix control-message error handling e2eaebce9d20 USB: serial: ftdi_sio: fix latency-timer error handling e7ccc604153b USB: serial: ark3116: fix open error handling b5b985c3a0bd USB: serial: ti_usb_3410_5052: fix control-message error handling dc7697bad3f6 USB: serial: io_edgeport: fix epic-descriptor handling 4e78688b4cb3 USB: serial: ssu100: fix control-message error handling 0f5e27457f1a USB: serial: digi_acceleport: fix incomplete rx sanity check 5d7985765271 USB: serial: keyspan_pda: fix receive sanity checks 9de980a19940 usb: host: ohci-exynos: Decrese node refcount on exynos_ehci_get_phy() error paths 08fd577b4b0f usb: host: ehci-exynos: Decrese node refcount on exynos_ehci_get_phy() error paths 0a9f0af48e3f KVM: nVMX: initialize PML fields in vmcs02 4736ccc83dfc Revert "KVM: nested VMX: disable perf cpuid reporting" 7a07dbb8c25c x86/platform/intel-mid: Correct MSI IRQ line for watchdog device 92e01bd47512 kprobes/x86: Fix kernel panic when certain exception-handling addresses are probed 19d416eaccbb x86/pci-calgary: Fix iommu_free() comparison of unsigned expression >= 0 ae0f7bd8e226 mwifiex: Avoid skipping WEP key deletion for AP 34390bea46f7 mwifiex: remove redundant dma padding in AMSDU a5a09b34dab1 mwifiex: debugfs: Fix (sometimes) off-by-1 SSID print 039747b6ef2d power: supply: bq24190_charger: Install irq_handler_thread() at end of probe() f3b0fe6bfcbf power: supply: bq24190_charger: Call set_mode_host() on pm_resume() 0ba15a289c67 power: supply: bq24190_charger: Fix irq trigger to IRQF_TRIGGER_FALLING ab1b642339b3 powerpc/powernv: Fix opal_exit tracepoint opcode 5d1767ceff1f cpupower: Fix turbo frequency reporting for pre-Sandy Bridge cores 16968228efa5 9p: fix a potential acl leak c41e1ba87961 net: tg3: avoid uninitialized variable warning 95660aa2822d mtd: avoid stack overflow in MTD CFI code b9e4b97eb9a0 drbd: avoid redefinition of BITS_PER_PAGE 1de253cbd35b ALSA: ppc/awacs: shut up maybe-uninitialized warning db14464180fa timerfd: Protect the might cancel mechanism proper 11d54db42149 ftrace/x86: Fix triple fault with graph tracing and suspend-to-ram 77ded373242b ipv6: check raw payload size correctly in ioctl 0c8f1722d1d6 ip6mr: fix notification device destruction 7f4ab2ced0a7 netpoll: Check for skb->queue_mapping 74c4460b6482 sctp: listen on the sock only when it's state is listening or closed 7d1a0fdd41f8 net: ipv4: fix multipath RTM_GETROUTE behavior when iif is given 6824dcd302fd l2tp: take reference on sessions being dumped cc09115fb0b9 net/packet: fix overflow in check for tp_reserve fed853407cc2 net/packet: fix overflow in check for tp_frame_nr 9ba240219c96 l2tp: purge socket queues in the .destruct() callback 28bad8a652e9 net: phy: handle state correctly in phy_stop_machine b39245e33e95 net: neigh: guard against NULL solicit() method 9ffb20a69946 sparc64: Fix kernel panic due to erroneous #ifdef surrounding pmd_write() 1acc886c425e sparc64: kern_addr_valid regression 5023f12103b9 xen/x86: don't lose event interrupts b64d082304fe usb: gadget: f_midi: Fixed a bug when buflen was smaller than wMaxPacketSize e7211d1ff579 RDS: Fix the atomicity for congestion map update 92bf6b466b99 MIPS: Fix crash registers on non-crashing CPUs d0388c0e2556 md:raid1: fix a dead loop when read from a WriteMostly disk f364181f7aa2 crypto: testmgr - fix out of bound read in __test_aead() 9800a9a4b17a [media] xc2028: unlock on error in xc2028_set_config() c5ef0e9f70d1 f2fs: do more integrity verification for superblock 5f1cef9e823a ping: implement proper locking 9c90c093b98f staging/android/ion : fix a race condition in the ion driver 073e9973d48b vfio/pci: Fix integer overflows, bitmask check e21b00fe6cc7 [media] xc2028: avoid use after free c8580e3dcd00 tipc: fix random link resets while adding a second bearer 5eb668f8442e gfs2: avoid uninitialized variable warning 6013c31fb7e1 hostap: avoid uninitialized variable use in hfa384x_get_rid 56c3cd096747 tty: nozomi: avoid a harmless gcc warning 39a978c3e192 tipc: re-enable compensation for socket receive buffer double counting 0c28e96f0fec block: fix del_gendisk() vs blkdev_ioctl crash 0c4670d5a6a4 Drivers: hv: balloon: account for gaps in hot add regions 2cbbeec3e5a7 Drivers: hv: balloon: keep track of where ha_region starts 5b9ab933c369 x86/mce/AMD: Give a name to MCA bank 3 when accessed with legacy MSRs 749cab856042 Drivers: hv: vmbus: Reduce the delay between retries in vmbus_post_msg() 38f9c4b9176a Drivers: hv: don't leak memory in vmbus_establish_gpadl() 9f4a8ebb750b net: ipv6: check route protocol when deleting routes 5ce729a895b0 tty/serial: atmel: RS485 half duplex w/DMA: enable RX after TX is done 9d86a569dbd7 catc: Use heap buffer for memory size test 4d7726afea37 catc: Combine failure cleanup code in catc_probe() 61bd90b31be7 rtl8150: Use heap buffers for all register access 7b69bee71416 pegasus: Use heap buffers for all register access 0dd8a4702cbc virtio-console: avoid DMA from stack eb618d2eb22b mm: Tighten x86 /dev/mem with zeroing reads 187887b3dbae rtc: tegra: Implement clock handling ea215d798bc2 platform/x86: acer-wmi: setup accelerometer when machine has appropriate notify event 4473dc376c48 [media] dvb-usb-v2: avoid use-after-free 68e9c254f662 kvm: fix page struct leak in handle_vmon f800bcede54d char: lack of bool string made CONFIG_DEVPORT always on d1cdf638cde8 char: Drop bogus dependency of DEVPORT on !M68K 6d1174d8ff9d net/mlx4_core: Fix when to save some qp context flags for dynamic VST to VGT transitions 8a8878b16056 net/mlx4_en: Fix bad WQE issue 037948b4f092 usb: hub: Wait for connection to be reestablished after port reset dd07486ceba4 net/packet: fix overflow in check for priv area size c9d0eb33ba82 MIPS: Select HAVE_IRQ_EXIT_ON_IRQ_STACK cd7de3163c8c MIPS: Only change $28 to thread_info if coming from user mode aa7ae7fee5d6 mtd: bcm47xxpart: fix parsing first block after aligned TRX 1669925abfce usb: dwc3: gadget: delay unmap of bounced requests aa612d59c08f mm/mempolicy.c: fix error handling in set_mempolicy and mbind. 00fc586ea741 mlock: fix mlock count can not decrease in race condition 001360714b85 mm/memory-failure: introduce get_hwpoison_page() for consistent refcount handling da7cbd0c660c mm/memory-failure: split thp earlier in memory error handling aeb3435b4987 slub/memcg: cure the brainless abuse of sysfs attributes afc6ec14b863 blkcg: use blkg_free() in blkcg_init_queue() failure path f9fac98fc753 blkcg: always create the blkcg_gq for the root blkcg 712b6a6dceb2 iscsi-target: Use shash and ahash 1bd31de39e62 target/iscsi: Use proper SGL accessors for digest computation 89ff28d0d690 iscsi-target: Fix initial login PDU asynchronous socket close OOPs 09cb399b6219 target/iscsi: Fix indentation in iscsi_target_start_negotiation() 68185cb17f7e iscsi-target: Fix early sk_data_ready LOGIN_FLAGS_READY race 5df474e63ca5 cpufreq: cpufreq_register_driver() should return -ENODEV if init fails 7e144ca4d77a drm/msm: Expose our reservation object when exporting a dmabuf. 7e185e0063bc xfs: Fix missed holes in SEEK_HOLE implementation 59acce815cd6 xfs: fix off-by-one on max nr_pages in xfs_find_get_desired_pgoff() b96e5f18eb81 drm/radeon: Unbreak HPD handling for r600+ 81402e4033a7 dmaengine: ep93xx: Don't drain the transfers in terminate_all() 1a45b842de71 dmaengine: ep93xx: Always start from BASE0 72a5ed836013 drm/gma500/psb: Actually use VBT mode when it is found 4f268a106e88 PCI / PM: Avoid resuming more devices during system suspend b060ae49eb94 PCI: Add quirk for Intel DH895xCC VF PCI config erratum e0bda32c5bc5 ALSA: hda - apply STAC_9200_DELL_M22 quirk for Dell Latitude D430 9dbe42c5ae46 mmc: sdhci-iproc: suppress spurious interrupt with Multiblock read 0210333e202b i2c: i2c-tiny-usb: fix buffer not being DMA capable 8852d28b3f06 x86/mce: Don't use percpu workqueues 94d42e8811f4 osf_wait4(): fix infoleak 156c18c7d9ed KVM: X86: Fix read out-of-bounds vulnerability in kvm pio emulation e8b80de6d76e watchdog: pcwd_usb: fix NULL-deref at probe 9ef27e6ccbe0 drivers: char: mem: Check for address space wraparound with mmap() 682182e924ea serial: core: fix crash in uart_suspend_port b614900e0650 tty: Fix GPF in flush_to_ldisc() 2e279b7d786c tty: fix data race in flush_to_ldisc 3e984ccc90f8 serial: ifx6x60: fix use-after-free on module unload 191c13c554e5 serial: ifx6x60: Remove dangerous spi_driver casts 95a639d15067 Revert "tty_port: register tty ports with serdev bus" 1520f7e76d45 tty_port: register tty ports with serdev bus 0095625438b2 usb: musb: tusb6010_omap: Do not reset the other direction's packet size d7cc01aa1796 usb: host: xhci-plat: propagate return value of platform_get_irq() 1458bfaae6c8 USB: xhci: fix lock-inversion problem a0334d0ba6ad usb: host: xhci: simplify irq handler return 8732affeaf37 usb: host: xhci-mem: allocate zeroed Scratchpad Buffer 2f68fe68ad96 xhci: apply PME_STUCK_QUIRK and MISSING_CAS quirk for Denverton e17762c03b3e tracing/kprobes: Enforce kprobes teardown after testing 78de28c67c8f of: fdt: add missing allocation-failure check ac38837324c2 USB: serial: qcserial: add more Lenovo EM74xx device IDs 2a3835ffa5ed USB: hub: fix non-SS hub-descriptor handling c5922c99f193 USB: hub: fix SS hub-descriptor handling de90980c52da USB: iowarrior: fix info ioctl on big-endian hosts 46b3a375a926 uwb: fix device quirk on big-endian hosts 8ace7b038603 USB: core: replace %p with %pK 083112faaf11 USB: ene_usb6250: fix DMA to the stack a3670852d2fb USB: serial: ftdi_sio: add Olimex ARM-USB-TINY(H) PIDs d0e929a4e63f char: lp: fix possible integer overflow in lp_setup() da6d8dbb5da7 dm bufio: make the parameter "retain_bytes" unsigned long b9805634c6de genirq: Introduce struct irq_common_data to host shared irq data 073bc325fdc4 usb: dwc3: make dwc3_debugfs_init return value be void 83204fd38a02 kvm arm: Move fake PGD handling to arch specific files 060e39373d8a ARM: KVM: Remove pointless void pointer cast 0bef2bd6fa64 dmaengine: usb-dmac: Fix DMAOR AE bit definition 873bdf5cd492 dm space map disk: fix some book keeping in the disk space map a42b975f484e dm thin metadata: call precommit before saving the roots 2cd394cd1046 USB: serial: io_ti: fix div-by-zero in set_termios a1dfb5701675 USB: serial: mct_u232: fix big-endian baud-rate handling 391f2e944624 USB: serial: ftdi_sio: fix setting latency for unprivileged users 048a9813c3e5 usb: serial: option: add Telit ME910 support 092c6f1e1630 ARM: dts: imx6sx-sdb: Remove OPP override ba640473d7c9 ARM: dts: imx6sx-sdb: Add 198MHz operational point 4bb916c171fa cgroup: use bitmask to filter for_each_subsys 034dd596324d sched, cgroup: reorganize threadgroup locking 0e521eabd7a3 pid_ns: Sleep in TASK_INTERRUPTIBLE in zap_pid_ns_processes 57cd95a5dcbc net: irda: irda-usb: fix firmware name on big-endian hosts 38f915577c6e s390/cputime: fix incorrect system time 98442999b967 dccp: fix freeing skb too early for IPV6_RECVPKTINFO 56d847e3ef94 Linux 4.1.40 5c564705d3f0 udp: properly support MSG_PEEK with truncated buffers f97e5ec81364 nfsd: encoders mustn't use unitialized values in error cases a7b4cdeb22f5 arm64: uaccess: ensure extension of access_ok() addr ed3ffd7c7fb9 arm64: documentation: document tagged pointer stack constraints f8a4b26e261d target/fileio: Fix zero-length READ and WRITE handling 9d68722df885 CIFS: add misssing SFM mapping for doublequote 14f24a466cd1 iscsi-target: Set session_fall_back_to_erl0 when forcing reinstatement 3aa99b61c099 target: Fix compare_and_write_callback handling for non GOOD status 0c5623052d48 of: fix sparse warning in of_pci_range_parser_one 3e9e9c708f10 ceph: fix memory leak in __ceph_setxattr() 009a83913e29 SMB3: Work around mount failure when using SMB3 dialect to Macs ffd28faab493 CIFS: fix mapping of SFM_SPACE and SFM_PERIOD ae5175c8dba4 fs/block_dev: always invalidate cleancache in invalidate_bdev() e895a1054e25 um: Fix PTRACE_POKEUSER on x86_64 327d78550aea metag/uaccess: Check access_ok in strncpy_from_user 31390049dfd2 Set unicode flag on cifs echo request to avoid Mac error 3ea80afb2dce metag/uaccess: Fix access_ok() 17535d260b75 target: Fix VERIFY and WRITE VERIFY command parsing edd3ad16ead4 dm bufio: check new buffer allocation watermark every 30 seconds bbe86592f9c3 dm bufio: avoid a possible ABBA deadlock 9575253a91e6 Bluetooth: Fix user channel for 32bit userspace on 64bit kernel ca38d087f1b0 ext4: evict inline data when writing to memory map 3a9700b0709e proc: Fix unbalanced hard link numbers 2279c8b917f7 dm ioctl: prevent stack leak in dm ioctl call 5afff19d82af nfsd: stricter decoding of write-like NFSv2/v3 ops 24c3569dd195 nfsd4: minor NFSv2/v3 write decoding cleanup c9bb9f02b048 nfsd: check for oversized NFSv2/v3 arguments 6a5e61496c48 usb: Make sure usb/phy/of gets built-in 372323131cd0 ASoC: intel: Fix PM and non-atomic crash in bytcr drivers b583cc935477 Input: i8042 - add Clevo P650RS to the i8042 reset list 56e191701252 dm era: save spacemap metadata root after the pre-commit 6a887571cad2 dm btree: fix for dm_btree_find_lowest_key() 2ad7696baa06 powerpc/pseries: Fix of_node_put() underflow during DLPAR remove e756dc9e7bfb IB/mlx4: Fix ib device initialization error flow 50f63ac752b8 x86/boot: Fix BSS corruption/overwrite bug in early x86 kernel startup 51cad4572c02 ring-buffer: Have ring_buffer_iter_empty() return true when empty 2933c0ba9193 ACPI / power: Avoid maybe-uninitialized warning f7f44f588722 tracing: Allocate the snapshot buffer before enabling probe 73270592d94b usb: host: xhci: print correct command ring address 5ba52c08d1d1 [media] ttusb2: limit messages to buffer size e1dfe98dda6a USB: serial: ftdi_sio: add device ID for Microsemi/Arrow SF2PLUS Dev Kit 00461b9f4817 PCI: Freeze PME scan before suspending devices 57b8e3a6524b regulator: tps65023: Fix inverted core enable logic. 1ff629068e6e [media] zr364xx: enforce minimum size when reading header a0f82864854a KEYS: fix keyctl_set_reqkey_keyring() to not leak thread keyrings 86d961e25888 KEYS: Change the name of the dead type to ".dead" to prevent user access 4ef48e49b1c5 KEYS: Disallow keyrings beginning with '.' to be joined as session keyrings 369cd3933506 powerpc/kprobe: Fix oops when kprobed on 'stdu' instruction 199ea04d7d01 cifs: Do not send echoes before Negotiate is complete b291f2ed870a p9_client_readdir() fix 98ae917fd128 ARM: dts: at91: sama5d3_xplained: not all ADC channels are available 429957317eac ARM: dts: at91: sama5d3_xplained: fix ADC vref c7f3669caa0b zram: do not use copy_page with non-page aligned address ac87ea2ff7d7 zram: fix operator precedence to get offset 7bee1c58a629 ALSA: seq: Don't break snd_use_lock_sync() loop by timeout 93dfafeefbb6 MIPS: KGDB: Use kernel context for sleeping threads 22afb4fc42e4 PCI: Fix pci_mmap_fits() for HAVE_PCI_RESOURCE_TO_USER platforms 1ecc90c7e6b4 MIPS: Avoid BUG warning in arch_check_elf 396f0fe4cc1b s390/mm: fix CMMA vs KSM vs others fab0b034bd91 serial: omap: suspend device on probe errors 0ea0b8f3adbe serial: omap: fix runtime-pm handling on unbind 113cc52cf9fe CIFS: store results of cifs_reopen_file to avoid infinite wait 5c6d0e841556 CIFS: remove bad_network_name flag 417dc40ebaf2 Input: xpad - add support for Razer Wildcat gamepad 3a5df486f2e1 x86/vdso: Plug race between mapping and ELF header setup 7ec71e0bb16d md: update slab_cache before releasing new stripes when stripes resizing 2da764d4c67b padata: free correct variable ce0e21e44f97 crypto: ahash - Fix EINPROGRESS notification callback 4ee5f3baad19 [media] cx231xx-audio: fix NULL-deref at probe 8b6c66045c33 [media] cx231xx-audio: fix init error path 5a4e9221b31b [media] cx231xx-cards: fix NULL-deref at probe a44bcf6b4c54 [media] usbvision: fix NULL-deref at probe c7bcf82e59ea [media] dib0700: fix NULL-deref at probe 27a0c2317453 serial: samsung: Use right device for DMA-mapping calls 5eb0c97fc835 sysfs: be careful of error returns from ops->show() dad2a28d46e7 staging: android: ashmem: lseek failed due to no FMODE_LSEEK. 4ac302f8832f usb: misc: add missing continue in switch 34a2eb59fc13 ptrace: fix PTRACE_LISTEN race corrupting task->state 8624aeaec37d scsi: sd: Fix capacity calculation with 32-bit sector_t 9535300dd7e2 scsi: sr: Sanity check returned mode data 21ebc869930a ipmi: Fix kernel panic at ipmi_ssif_thread() 82bfc1d9bc5d xen, fbfront: fix connecting to backend 8dd5c1281e98 Reset TreeId to zero on SMB2 TREE_CONNECT 3707e32c8fcc [media] s5p-mfc: Fix unbalanced call to clock management 01ea8f2396af [media] gspca: konica: add missing endpoint sanity check 206374212c28 IB/IPoIB: ibX: failed to create mcg debug file f585e26312b5 metag/usercopy: Add missing fixups c31ac9be1dc2 metag/usercopy: Fix src fixup in from user rapf loops 09e3cca03b29 metag/usercopy: Set flags before ADDZ 7c3a804c24cc metag/usercopy: Zero rest of buffer from copy_from_user f58b27f0ce36 metag/usercopy: Add early abort to copy_to_user fde1ed807fc6 metag/usercopy: Fix alignment error checking 59465f2b425d metag/usercopy: Drop unused macros 8da28861bfab ring-buffer: Fix return value check in test_ringbuffer() 4cc0a6f14611 crypto: caam - fix RNG deinstantiation error checking c94b3a0d7a27 powerpc/mm: Add missing global TLB invalidate if cxl is active ca4f5edccb94 ath9k_htc: fix NULL-deref at probe 783494a2cf45 powerpc: Don't try to fix up misaligned load-with-reservation instructions ea42f85ce0a6 kvm: arm/arm64: Fix locking for kvm_free_stage2_pgd 407526d5f5cc tpm: add sleep only for retry in i2c_nuvoton_write_status() 779a96681b4b tpm_crb: check for bad response size 331f718a9746 tpm: msleep() delays - replace with usleep_range() in i2c nuvoton driver e43c2447f8ed iscsi-target: Drop work-around for legacy GlobalSAN initiator d2762e9848bb cdc-acm: fix possible invalid access when processing notification 4d8a7de65c82 mm, hugetlb: use pte_present() instead of pmd_present() in follow_huge_pmd() 5c9eddc3db73 ALSA: hda - fix a problem for lineout on a Dell AIO machine d91a91d8f6ba drm/vmwgfx: fix integer overflow in vmw_surface_define_ioctl() 6431059d9e0f drm/vmwgfx: Remove getparam error message b31c507e2c3b drm/vmwgfx: avoid calling vzalloc with a 0 size in vmw_get_cap_3d_ioctl() 13b52a46a677 drm/vmwgfx: NULL pointer dereference in vmw_surface_define_ioctl() 55f1d24ac1ab drm/vmwgfx: Type-check lookups of fence objects 18bcea4e8d2e iscsi-target: Fix TMR reference leak during session shutdown bfa5d70414f2 ubi/upd: Always flush after prepared for an update c127ce428b73 s390/uaccess: get_user() should zero on failure (again) 0d2f98e74d4f USB: Proper handling of Race Condition when two USB class drivers try to call init_usb_class simultaneously 6842ff6056ea ACPI: Fix incompatibility with mcount-based function graph tracing e5dcf4e37e91 ACPI: Do not create a platform_device for IOAPIC/IOxAPIC e2b3e7de14ba virtio_balloon: init 1st buffer in stats vq a205b2e5a2a0 powerpc: Disable HFSCR[TM] if TM is not supported f8889a244545 drm/radeon: Override fpfn for all VRAM placements in radeon_evict_flags 848f94592710 USB: fix linked-list corruption in rh_call_control() 3492352e1f34 ALSA: seq: Fix race during FIFO resize 55e9d9474816 [media] mceusb: fix NULL-deref at probe 91848cdb7ae7 xen/acpi: upload PM state from init-domain to Xen 970a7a72b32d pinctrl: qcom: Don't clear status bit on irq_unmask fbb9dd5123de mmc: sdhci: Do not disable interrupts while waiting for clock a2f7beb42427 usb: hub: Do not attempt to autosuspend disconnected devices 041fad219db7 usb: gadget: f_uvc: Fix SuperSpeed companion descriptor's wBytesPerInterval d4cbbe1460c4 s390/decompressor: fix initrd corruption caused by bss clear f1c9472e3dce ALSA: seq: Fix racy cell insertions during snd_seq_pool_done() d57b1afab5a8 scsi: libsas: fix ata xfer length 972d4b4f2c7b arm/arm64: KVM: Take mmap_sem in kvm_arch_prepare_memory_region 474d78d49b8b arm/arm64: KVM: Take mmap_sem in stage2_unmap_vm d59cf3fa94db USB: serial: qcserial: add Dell DW5811e 6338e370099a x86/perf: Fix CR4.PCE propagation to use active_mm instead of mm 1b9537d72610 tty: pty: Fix ldisc flush after userspace become aware of the data already 44705deddafe usb: hub: Fix crash after failure to read BOS descriptor 09b3048b2880 ACM gadget: fix endianness in notifications 861b5c18bb14 scsi: sg: check length passed to SG_NEXT_CMD_LEN 7268eabd5b5f Input: sur40 - validate number of endpoints before using them 84a91ce02105 Input: kbtab - validate number of endpoints before using them f1ba9cf02776 Input: hanwang - validate number of endpoints before using them 36d425fcc164 Input: yealink - validate number of endpoints before using them 79cae616c940 Input: ims-pcu - validate number of endpoints before using them 6585effe7d22 Input: cm109 - validate number of endpoints before using them 76d981017361 Input: iforce - validate number of endpoints before using them edf3bd9562a9 mmc: ushc: fix NULL-deref at probe 93d21fdc17e5 drm/radeon: reinstate oland workaround for sclk 71a1c9d004ed perf/core: Fix event inheritance on fork() 4da3251aac57 cpufreq: Fix and clean up show_cpuinfo_cur_freq() 85fa60732c80 drm/radeon/si: add dpm quirk for Oland 772653bea403 ext4: mark inode dirty after converting inline directory e8959ed1fd07 futex: Add missing error handling to FUTEX_REQUEUE_PI 33fcd6ecaf0f futex: Fix potential use-after-free in FUTEX_REQUEUE_PI 56d75a164c87 ARM: at91: pm: cpu_idle: switch DDR to power-down mode ce6df3d36d07 usb: musb: cppi41: don't check early-TX-interrupt for Isoch transfer ed4b286d254b usb-core: Add LINEAR_FRAME_INTR_BINTERVAL USB quirk 599dc7743f74 uwb: i1480-dfu: fix NULL-deref at probe 50c372bd694d uwb: hwa-rc: fix NULL-deref at probe 7896de4f8b00 USB: wusbcore: fix NULL-deref at probe 0b3718017641 USB: uss720: fix NULL-deref at probe aee563c5ffb5 USB: lvtest: fix NULL-deref at probe a2574cf7887d USB: idmouse: fix NULL-deref at probe 13cd0c011e73 isdn/gigaset: fix NULL-deref at probe 027a48c195e1 fat: fix using uninitialized fields of fat_inode/fsinfo_inode c4743e805d43 md/raid1/10: fix potential deadlock 6eea126f9d6d usb: host: xhci-plat: Fix timeout on removal of hot pluggable xhci controllers 92b280212adf USB: iowarrior: fix NULL-deref in write c4b516612312 USB: iowarrior: fix NULL-deref at probe 4db7a852b417 ath9k_htc: Add support of AirTies 1eda:2315 AR9271 device 394e5f4a60c1 USB: serial: safe_serial: fix information leak in completion handler e0f57e1a406c USB: serial: io_ti: fix information leak in completion handler 5dfb04937689 USB: serial: omninet: fix reference leaks at open 6aed13b2c40e USB: serial: io_ti: fix NULL-deref in interrupt callback 92fbcbfe994f MIPS: ralink: Fix typos in rt3883 pinctrl 7ba49ba6dd09 MIPS: End spinlocks with .insn d7f84ae03ff3 MIPS: Force o32 fp64 support on 32bit MIPS64r6 kernels 248e94265dd0 target: Fix VERIFY_16 handling in sbc_parse_cdb 452c3c927325 target/pscsi: Fix TYPE_TAPE + TYPE_MEDIMUM_CHANGER export 076df4623c10 scsi: lpfc: Add shutdown method for kexec e04d8b65f412 powerpc/boot: Fix zImage TOC alignment 5c8f767c657b serial: samsung: Continue to work if DMA request fails 46df5258a521 Input: i8042 - add noloop quirk for Dell Embedded Box PC 3000 9d3698c9b85c ima: accept previously set IMA_NEW_FILE 86525f9f4474 percpu: acquire pcpu_lock when updating pcpu_nr_empty_pop_pages 42ece5f50098 usb: gadget: dummy_hcd: clear usb_gadget region before registration 7ccd5568eab8 USB: serial: digi_acceleport: fix OOB-event processing 6842c8457292 staging: comedi: jr3_pci: cope with jiffies wraparound 29e34e47fadf staging: comedi: jr3_pci: fix possible null pointer dereference c48408dff998 usb: gadget: function: f_fs: pass companion descriptor along 757895c336d6 usb: dwc3: gadget: make Set Endpoint Configuration macros safe 2e9d3a921000 tracing: Add #undef to fix compile error bd38086c6b2a can: usb_8dev: Fix memory leak of priv->cmd_msg_buffer 99d3d49197e1 powerpc: Emulation support for load/store instructions on LE 381785176cc1 KVM: s390: Fix guest migration for huge guests resulting in panic 7caf29dc038c xtensa: move parse_tag_fdt out of #ifdef CONFIG_BLK_DEV_INITRD 14abcbaa3f0d scsi: libiscsi: add lock around task lists to fix list corruption regression 28d5d8b2db22 ALSA: seq: Fix link corruption by event error handling b78e49c3057a ALSA: hda - Add subwoofer support for Dell Inspiron 17 7000 Gaming d19f6529f1c1 ALSA: timer: Reject user params with too small ticks 3d35f4422582 drm/ast: Call open_key before enable_mmio in POST code 2188c2b367c6 drm/ast: Fix test for VGA enabled e8b120e25fbc drm/ast: Fix AST2400 POST failure without BMC FW or VBIOS c9cf983337a0 ipc/shm: Fix shmat mmap nil-page protection 1827f7e6062b mac80211: flush delayed work when entering suspend 0dad072cfc1d ALSA: hda - Fix micmute hotkey problem for a lenovo AIO machine e5ee49ad28a0 mm: do not access page->mapping directly on page_endio 21a6489deda1 mm: vmpressure: fix sending wrong events on underflow 091e3373d97f mm/page_alloc: fix nodes for reclaim in fast path 7ec8bd575e7b s390: TASK_SIZE for kernel threads 01592a4b8ba8 NFSv4: fix getacl ERANGE for some ACL buffer sizes bb9e115a5e85 NFSv4: fix getacl head length estimation 05365e1fdea9 scsi: aacraid: Reorder Adapter status check f90e6f9a26ba rdma_cm: fail iwarp accepts w/o connection params a60c9ff335a1 IB/srp: Avoid that duplicate responses trigger a kernel bug 3cac36b0423b MIPS: BCM47XX: Fix button inversion for Asus WL-500W 512cbc94607b MIPS: OCTEON: Fix copy_from_user fault handling for large buffers 9b4ed3674858 MIPS: Fix special case in 64 bit IP checksumming. 85050844c0b9 dm cache: fix corruption seen when using cache > 2TB c0601ca14e10 Bluetooth: Add another AR3012 04ca:3018 device da1324e7080d regulator: Fix regulator_summary for deviceless consumers 01f9734353be ALSA: hda - fix Lewisburg audio issue b57d6c457569 goldfish: Sanitize the broken interrupt handler c1dbd97d8a2a x86/platform/goldfish: Prevent unconditional loading 58cec2bdba91 ath9k: use correct OTP register offsets for the AR9340 and AR9550 9aabd8dbacd8 powerpc/xmon: Fix data-breakpoint c2fd678ea234 nlm: Ensure callback code also checks that the files match e53554da9daf drivers: hv: Turn off write permission on the hypercall page 5fdf59513019 USB: serial: mos7840: fix another NULL-deref at open 61f3d2296678 NFSv4: Fix memory and state leak in _nfs4_open_and_get_state 95f495896ad8 drm/atomic: fix an error code in mode_fixup() 04df6689f870 ktest: Fix child exit code processing a52f3859b78c ath9k: fix race condition in enabling/disabling IRQs db5051f86016 rtlwifi: rtl8192c-common: Fix "BUG: KASAN: f59f883503b7 USB: serial: ftdi_sio: fix line-status over-reporting 4a34581ed021 KVM: s390: Disable dirty log retrieval for UCONTROL guests 6631e70a42ff USB: serial: cp210x: add new IDs for GE Bx50v3 boards 31ac2f17fd85 serial: 8250_pci: Add MKS Tenta SCOM-0800 and SCOM-0801 cards 4c47ad359cc8 jbd2: don't leak modified metadata buffers on an aborted journal 2b24a8367068 s390/qdio: clear DSCI prior to scanning multiple input queues 36e4f568b8f1 s390/dcssblk: fix device size calculation in dcssblk_direct_access() 5e6ef5ef6eaf mnt: Tuck mounts under others instead of creating shadow/side mounts. 54195f1a32ee rtc: sun6i: Switch to the external oscillator cdb2a7f22913 rtc: sun6i: Add some locking af1af02352ee USB: serial: digi_acceleport: fix OOB data sanity check adb1da2a98a2 [media] media: fix dm1105.c build error c845c73b8396 bcma: use (get|put)_device when probing/removing device driver e1d467993c45 [media] am437x-vpfe: always assign bpp variable c53e17083e91 arm/arm64: KVM: Enforce unconditional flush to PoC when mapping to stage-2 75f37dab088e ext4: trim allocation requests to group size 07b79ed1e82c drm/radeon: handle vfct with multiple vbios images 1efa8e2ac68b drm/ttm: Make sure BOs being swapped out are cacheable a99df0713f43 usb: gadget: udc: fsl: Add missing complete function. 8c06df5655c7 USB: serial: ftdi_sio: fix extreme low-latency setting de143f74af3e w1: don't leak refcount on slave attach failure in w1_attach_slave_device() 271ce5038fbc w1: ds2490: USB transfer buffers need to be DMAable 57389faf841f ARM: dts: at91: Enable DMA on sama5d4_xplained console 61b067fb433a staging: rtl: fix possible NULL pointer dereference 434c09afa6c9 USB: serial: opticon: fix CTS retrieval at open 700b2315c254 USB: serial: spcp8x5: fix modem-status handling da3a3becb7a8 USB: serial: ftdi_sio: fix modem-status error handling 270ffbd14d81 USB: serial: ark3116: fix register-accessor error handling 131d81690f18 IB/ipoib: Fix deadlock between rmmod and set_mode 24104f6ae3b4 RDMA/core: Fix incorrect structure packing for booleans fc47912f44a7 ath5k: drop bogus warning on drv_set_key with unsupported cipher c2e65cde1bd7 tty: serial: msm: Fix module autoload ccb2e5cdaffa hv: init percpu_list in hv_synic_alloc() fbb6950ea08a samples/seccomp: fix 64-bit comparison macros 33b9ac915dba scsi: storvsc: properly handle SRB_ERROR when sense message is present f0cd3119dcd0 scsi: storvsc: use tagged SRB requests if supported by the device 88e4685b51d3 MIPS: Handle microMIPS jumps in the same way as MIPS32/MIPS64 jumps a6c4b18bdb3a MIPS: Calculate microMIPS ra properly when unwinding the stack 339da589697a MIPS: Fix is_jump_ins() handling of 16b microMIPS instructions 4556bdd21af3 MIPS: Fix get_frame_info() handling of microMIPS function size 7c6a61c004ad MIPS: Prevent unaligned accesses during stack unwinding 39fffbc9b371 MIPS: Clear ISA bit correctly in get_frame_info() e9ef2a32a2ec drm/i915/dsi: Do not clear DPOUNIT_CLOCK_GATE_DISABLE from vlv_init_display_clock_gating Signed-off-by: Bruce Ashfield Signed-off-by: Ross Burton --- meta/recipes-kernel/linux/linux-yocto-rt_4.1.bb | 6 +++--- meta/recipes-kernel/linux/linux-yocto-tiny_4.1.bb | 6 +++--- meta/recipes-kernel/linux/linux-yocto_4.1.bb | 20 ++++++++++---------- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_4.1.bb b/meta/recipes-kernel/linux/linux-yocto-rt_4.1.bb index 2df6d3f..4d40fd1 100644 --- a/meta/recipes-kernel/linux/linux-yocto-rt_4.1.bb +++ b/meta/recipes-kernel/linux/linux-yocto-rt_4.1.bb @@ -11,13 +11,13 @@ python () { raise bb.parse.SkipPackage("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it") } -SRCREV_machine ?= "ec0bfadaeac24cc63fa05521c6608b79b26a5e5d" -SRCREV_meta ?= "c55c877244b49a12c7f1bcf7e05d44e64e10046f" +SRCREV_machine ?= "798e2cbf3dec954f37cb84463bc0b0a95cb54c8f" +SRCREV_meta ?= "9f9c9a66ef3452343586adf150137967e955d71a" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.1.git;branch=${KBRANCH};name=machine \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.1;destsuffix=${KMETA}" -LINUX_VERSION ?= "4.1.39" +LINUX_VERSION ?= "4.1.42" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_4.1.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_4.1.bb index b77b7ff..4f2f647 100644 --- a/meta/recipes-kernel/linux/linux-yocto-tiny_4.1.bb +++ b/meta/recipes-kernel/linux/linux-yocto-tiny_4.1.bb @@ -4,13 +4,13 @@ KCONFIG_MODE = "--allnoconfig" require recipes-kernel/linux/linux-yocto.inc -LINUX_VERSION ?= "4.1.39" +LINUX_VERSION ?= "4.1.42" KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" -SRCREV_machine ?= "398d1785c6bde0085b99f00f346e199a15fbdcef" -SRCREV_meta ?= "c55c877244b49a12c7f1bcf7e05d44e64e10046f" +SRCREV_machine ?= "e2bea2e96fcbbbb9b1efc3bc7505ac42e39bb5c0" +SRCREV_meta ?= "9f9c9a66ef3452343586adf150137967e955d71a" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/meta/recipes-kernel/linux/linux-yocto_4.1.bb b/meta/recipes-kernel/linux/linux-yocto_4.1.bb index 9a2bf15..b5a3cc8 100644 --- a/meta/recipes-kernel/linux/linux-yocto_4.1.bb +++ b/meta/recipes-kernel/linux/linux-yocto_4.1.bb @@ -11,20 +11,20 @@ KBRANCH_qemux86 ?= "standard/base" KBRANCH_qemux86-64 ?= "standard/base" KBRANCH_qemumips64 ?= "standard/mti-malta64" -SRCREV_machine_qemuarm ?= "3b0fd24797cb11aae54010b1bbc09dd2ae8a108e" -SRCREV_machine_qemuarm64 ?= "398d1785c6bde0085b99f00f346e199a15fbdcef" -SRCREV_machine_qemumips ?= "7420516ff545f8ab3e2471cf08bf851744264a6a" -SRCREV_machine_qemuppc ?= "6952f5a70bc8a84a4c4d926cdec93e7a39878f32" -SRCREV_machine_qemux86 ?= "398d1785c6bde0085b99f00f346e199a15fbdcef" -SRCREV_machine_qemux86-64 ?= "398d1785c6bde0085b99f00f346e199a15fbdcef" -SRCREV_machine_qemumips64 ?= "59727538774860381f42bcfb6ec05fe21facd319" -SRCREV_machine ?= "398d1785c6bde0085b99f00f346e199a15fbdcef" -SRCREV_meta ?= "c55c877244b49a12c7f1bcf7e05d44e64e10046f" +SRCREV_machine_qemuarm ?= "f100a3d840596ac0dc47416336f34d8bf7b5ffa8" +SRCREV_machine_qemuarm64 ?= "e2bea2e96fcbbbb9b1efc3bc7505ac42e39bb5c0" +SRCREV_machine_qemumips ?= "4005321dfa890df693c12e902e48fd0dde88fee7" +SRCREV_machine_qemuppc ?= "1e29490accfb0547e3a854ac6ec9a6754cd47204" +SRCREV_machine_qemux86 ?= "e2bea2e96fcbbbb9b1efc3bc7505ac42e39bb5c0" +SRCREV_machine_qemux86-64 ?= "e2bea2e96fcbbbb9b1efc3bc7505ac42e39bb5c0" +SRCREV_machine_qemumips64 ?= "87c0f4d5bec646565e493d39bf57c3500151ed68" +SRCREV_machine ?= "e2bea2e96fcbbbb9b1efc3bc7505ac42e39bb5c0" +SRCREV_meta ?= "9f9c9a66ef3452343586adf150137967e955d71a" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.1.git;name=machine;branch=${KBRANCH}; \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.1;destsuffix=${KMETA}" -LINUX_VERSION ?= "4.1.39" +LINUX_VERSION ?= "4.1.42" PV = "${LINUX_VERSION}+git${SRCPV}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:03:09 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:03:09 +0000 Subject: [oe-commits] [openembedded-core] 60/64: libgcrypt: upgrade to 1.7.7 In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130212.181D2233579@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 99392e366047ee14e0ac94ac0ad2d97fed02e097 Author: Ross Burton AuthorDate: Thu Jul 13 15:40:42 2017 +0100 libgcrypt: upgrade to 1.7.7 Signed-off-by: Ross Burton --- meta/recipes-support/libgcrypt/libgcrypt_1.7.6.bb | 4 ---- meta/recipes-support/libgcrypt/libgcrypt_1.7.7.bb | 4 ++++ 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/meta/recipes-support/libgcrypt/libgcrypt_1.7.6.bb b/meta/recipes-support/libgcrypt/libgcrypt_1.7.6.bb deleted file mode 100644 index da0a1fe..0000000 --- a/meta/recipes-support/libgcrypt/libgcrypt_1.7.6.bb +++ /dev/null @@ -1,4 +0,0 @@ -require libgcrypt.inc - -SRC_URI[md5sum] = "eac6d11999650e8a1493674c1bdbc7f8" -SRC_URI[sha256sum] = "fc0aec7714d75d812b665bd510d66031b1b2ce8fa855cc2c02238c954ea36982" diff --git a/meta/recipes-support/libgcrypt/libgcrypt_1.7.7.bb b/meta/recipes-support/libgcrypt/libgcrypt_1.7.7.bb new file mode 100644 index 0000000..2bc21d2 --- /dev/null +++ b/meta/recipes-support/libgcrypt/libgcrypt_1.7.7.bb @@ -0,0 +1,4 @@ +require libgcrypt.inc + +SRC_URI[md5sum] = "36ace8f8dc4b1a82793ae759bbfc806f" +SRC_URI[sha256sum] = "0e72e91290d553c303095a50ea660279d8f11b76c6c86e826f470442fcdf1edd" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:03:10 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:03:10 +0000 Subject: [oe-commits] [openembedded-core] 61/64: matchbox-desktop: Upgrade to 2.2 In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130212.1F3DF23357A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 77ac45c242e65d90cda43199a33dae85dec0cd0a Author: Jussi Kukkonen AuthorDate: Fri Jul 14 15:25:23 2017 +0300 matchbox-desktop: Upgrade to 2.2 Only change is dropping dependency on gnome-common (which is deprecated upstream). Signed-off-by: Jussi Kukkonen Signed-off-by: Ross Burton --- .../{matchbox-desktop_2.1.bb => matchbox-desktop_2.2.bb} | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/meta/recipes-sato/matchbox-desktop/matchbox-desktop_2.1.bb b/meta/recipes-sato/matchbox-desktop/matchbox-desktop_2.2.bb similarity index 87% rename from meta/recipes-sato/matchbox-desktop/matchbox-desktop_2.1.bb rename to meta/recipes-sato/matchbox-desktop/matchbox-desktop_2.2.bb index c9a7b4b..b0cdfa2 100644 --- a/meta/recipes-sato/matchbox-desktop/matchbox-desktop_2.1.bb +++ b/meta/recipes-sato/matchbox-desktop/matchbox-desktop_2.2.bb @@ -7,11 +7,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ file://src/desktop.c;endline=20;md5=36c9bf295e6007f3423095f405af5a2d \ file://src/main.c;endline=19;md5=2044244f97a195c25b7dc602ac7e9a00" -DEPENDS = "gnome-common-native gtk+3 startup-notification dbus" +DEPENDS = "gtk+3 startup-notification dbus" SECTION = "x11/wm" -# SRCREV tagged 2.1 -SRCREV = "c8473519a0f37488b8b3e839e275b000cdde0b80" +# SRCREV tagged 2.2 +SRCREV = "6bc67d09da4147e5552fe30011a05a2c59d2f777" SRC_URI = "git://git.yoctoproject.org/${BPN}-2 \ file://vfolders/* \ " -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:03:02 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:03:02 +0000 Subject: [oe-commits] [openembedded-core] 53/64: util-linux: fix "su -" and package su separately In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130211.DD11B233546@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 1ad32536c2d4a3e55e698d27d827caee788cb0f7 Author: Patrick Ohly AuthorDate: Wed Jul 12 10:44:11 2017 +0200 util-linux: fix "su -" and package su separately "su -" == "su --login" was broken because it uses /etc/pam.d/su-l and lacking that, falls back to /etc/pam.d/other which denies the operation. The fix is to symlink "su-l" to the normal "su" pam config file. Because "su" usually comes from "shadow" and has been broken like this without anyone noticing, it probably is not used much and thus should be packaged separately so that it can be installed only when really needed. For backwards compatibility, "util-linux" still pulls it in. It is a bit strange that DISTRO_FEATURES are getting checked when deciding whether the packages should be defined. It is not wrong, the packages will be simply empty and thus probably not created when the distro feature is on and the package config is off. Perhaps there is a reason, so this is kept unchanged. The symlink however only gets created when su.util-linux really gets built. [YOCTO #11126] Signed-off-by: Patrick Ohly Signed-off-by: Ross Burton --- meta/recipes-core/util-linux/util-linux.inc | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/meta/recipes-core/util-linux/util-linux.inc b/meta/recipes-core/util-linux/util-linux.inc index 1656e92..47c2839 100644 --- a/meta/recipes-core/util-linux/util-linux.inc +++ b/meta/recipes-core/util-linux/util-linux.inc @@ -35,7 +35,7 @@ PACKAGES =+ "util-linux-agetty util-linux-fdisk util-linux-cfdisk util-linux-sfd util-linux-partx util-linux-hwclock util-linux-mountpoint \ util-linux-findfs util-linux-getopt util-linux-sulogin util-linux-prlimit" PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'pylibmount', 'util-linux-pylibmount', '', d)}" -PACKAGES =+ "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'util-linux-runuser', '', d)}" +PACKAGES =+ "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'util-linux-runuser util-linux-su', '', d)}" PACKAGES_DYNAMIC = "^util-linux-lib.*" @@ -91,6 +91,8 @@ FILES_util-linux-findfs = "${sbindir}/findfs" FILES_util-linux-getopt = "${base_bindir}/getopt.${BPN}" FILES_util-linux-runuser = "${sbindir}/runuser" FILES_util-linux-prlimit = "${bindir}/prlimit" +FILES_util-linux-su = "${bindir}/su.util-linux ${sysconfdir}/pam.d/su-l" +CONFFILES_util-linux-su = "${sysconfdir}/pam.d/su-l" FILES_util-linux-pylibmount = "${PYTHON_SITEPACKAGES_DIR}/libmount/pylibmount.so \ ${PYTHON_SITEPACKAGES_DIR}/libmount/__init__.* \ @@ -116,9 +118,10 @@ RREPLACES_util-linux-blkid = "e2fsprogs-blkid" RDEPENDS_util-linux-reset += "ncurses" RDEPENDS_util-linux-runuser += "libpam" +RDEPENDS_util-linux-su += "libpam" RDEPENDS_${PN} = "util-linux-umount util-linux-swaponoff util-linux-losetup util-linux-sulogin util-linux-lsblk" -RDEPENDS_${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'util-linux-runuser', '', d)}" +RDEPENDS_${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'util-linux-runuser util-linux-su', '', d)}" RRECOMMENDS_${PN} = "util-linux-fdisk util-linux-cfdisk util-linux-sfdisk util-linux-mount util-linux-readprofile util-linux-mkfs util-linux-mountpoint util-linux-prlimit" @@ -182,6 +185,12 @@ do_install () { install -m 0644 ${WORKDIR}/runuser.pamd ${D}${sysconfdir}/pam.d/runuser install -m 0644 ${WORKDIR}/runuser-l.pamd ${D}${sysconfdir}/pam.d/runuser-l fi + if [ "${@bb.utils.filter('PACKAGECONFIG', 'pam', d)}" ]; then + # Required for "su -" aka "su --login" because + # otherwise it uses "other", which has "auth pam_deny.so" + # and thus prevents the operation. + ln -s su ${D}${sysconfdir}/pam.d/su-l + fi } # reset and nologin causes a conflict with ncurses-native and shadow-native -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:03:04 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:03:04 +0000 Subject: [oe-commits] [openembedded-core] 55/64: dropbear: reduce local pending patches In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130211.EB3A5233558@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 9b2e3b8235ee545b0eb666266c5db2ec7cb9e21f Author: Dengke Du AuthorDate: Wed Jul 12 22:19:17 2017 -0400 dropbear: reduce local pending patches Signed-off-by: Dengke Du Signed-off-by: Ross Burton --- meta/recipes-core/dropbear/dropbear/0003-configure.patch | 13 +++++++------ .../dropbear/fix-libtomcrypt-libtommath-ordering.patch | 11 ++++++----- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/meta/recipes-core/dropbear/dropbear/0003-configure.patch b/meta/recipes-core/dropbear/dropbear/0003-configure.patch index c53ab01..8469a50 100644 --- a/meta/recipes-core/dropbear/dropbear/0003-configure.patch +++ b/meta/recipes-core/dropbear/dropbear/0003-configure.patch @@ -1,19 +1,20 @@ -From c5f5c5054c1b15539dccf866e2c3faba7ed68456 Mon Sep 17 00:00:00 2001 +From 58dd24a80ca0f400d0761afd9ce2b7f684fc9125 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eric=20B=C3=A9nard?= Date: Thu, 25 Apr 2013 00:27:25 +0200 -Subject: [PATCH 3/6] configure: add a variable to allow openpty check to be cached +Subject: [PATCH] configure: add a variable to allow openpty check to be cached -Upstream-Status: Pending +Upstream-Status: Submitted [ https://github.com/mkj/dropbear/pull/48 ] +Signed-off-by: Dengke Du --- configure.ac | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/configure.ac b/configure.ac -index 05461f3..9c16d90 100644 +index 893b904..245408d 100644 --- a/configure.ac +++ b/configure.ac -@@ -166,15 +166,20 @@ AC_ARG_ENABLE(openpty, +@@ -177,15 +177,20 @@ AC_ARG_ENABLE(openpty, AC_MSG_NOTICE(Not using openpty) else AC_MSG_NOTICE(Using openpty if available) @@ -38,5 +39,5 @@ index 05461f3..9c16d90 100644 AC_ARG_ENABLE(syslog, [ --disable-syslog Don't include syslog support], -- -1.7.11.7 +2.8.1 diff --git a/meta/recipes-core/dropbear/dropbear/fix-libtomcrypt-libtommath-ordering.patch b/meta/recipes-core/dropbear/dropbear/fix-libtomcrypt-libtommath-ordering.patch index de930f2..2b05e18 100644 --- a/meta/recipes-core/dropbear/dropbear/fix-libtomcrypt-libtommath-ordering.patch +++ b/meta/recipes-core/dropbear/dropbear/fix-libtomcrypt-libtommath-ordering.patch @@ -1,4 +1,4 @@ -From 2fd8d2aedad0c50cdf1e43edd2387874b720ad4c Mon Sep 17 00:00:00 2001 +From f37fa9a41f248fa41dd74a41c66cb41a291c03d2 Mon Sep 17 00:00:00 2001 From: Andre McCurdy Date: Fri, 16 Sep 2016 12:18:23 -0700 Subject: [PATCH] fix libtomcrypt/libtommath ordering @@ -11,18 +11,19 @@ prepended to LIBTOM_LIBS as they are found, not appended. Note that LIBTOM_LIBS is not used when linking with the bundled libtom libs. -Upstream-Status: Pending +Upstream-Status: Backport [ https://github.com/mkj/dropbear/commit/f9e6bc2aecab0f4b5b529e07a92cc63c8a66cd4b ] Signed-off-by: Andre McCurdy +Signed-off-by: Dengke Du --- configure.ac | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/configure.ac b/configure.ac -index b6abe4c..85bb8bc 100644 +index 245408d..d624853 100644 --- a/configure.ac +++ b/configure.ac -@@ -390,16 +390,16 @@ AC_ARG_ENABLE(bundled-libtom, +@@ -393,16 +393,16 @@ AC_ARG_ENABLE(bundled-libtom, AC_MSG_NOTICE(Forcing bundled libtom*) else BUNDLED_LIBTOM=0 @@ -44,5 +45,5 @@ index b6abe4c..85bb8bc 100644 ) -- -1.9.1 +2.8.1 -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:03:08 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:03:08 +0000 Subject: [oe-commits] [openembedded-core] 59/64: libbsd: 0.8.3 -> 0.8.5 In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130212.117D8233535@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 1be785e420c838080ce5dc608192794e46961582 Author: Robert Yang AuthorDate: Tue Jul 11 06:38:36 2017 -0700 libbsd: 0.8.3 -> 0.8.5 * The LIC_FILES_CHKSUM is changed becauses the files updated the date, and added a BSD-3-clause-John-Birrell for man/timeradd.3bsd, this license is already there for other files. * Update 0002-Remove-funopen.patch * Remove 0003-Fix-build-breaks-due-to-missing-a.out.h.patch, the a.out code is gone in the source, so this patch is not needed any more. Signed-off-by: Robert Yang --- .../libbsd/libbsd/0002-Remove-funopen.patch | 21 ++-- ...3-Fix-build-breaks-due-to-missing-a.out.h.patch | 130 --------------------- .../libbsd/{libbsd_0.8.3.bb => libbsd_0.8.5.bb} | 7 +- 3 files changed, 12 insertions(+), 146 deletions(-) diff --git a/meta/recipes-support/libbsd/libbsd/0002-Remove-funopen.patch b/meta/recipes-support/libbsd/libbsd/0002-Remove-funopen.patch index 83ce7c8..60da15e 100644 --- a/meta/recipes-support/libbsd/libbsd/0002-Remove-funopen.patch +++ b/meta/recipes-support/libbsd/libbsd/0002-Remove-funopen.patch @@ -15,17 +15,17 @@ Upstream-Status: Inappropriate [musl specific] 3 files changed, 3 deletions(-) diff --git a/man/Makefile.am b/man/Makefile.am -index e4d6e4a..c701d94 100644 +index 28192c0..a22787d 100644 --- a/man/Makefile.am +++ b/man/Makefile.am -@@ -29,7 +29,6 @@ dist_man_MANS = \ - flopen.3 \ - fmtcheck.3 \ - fparseln.3 \ +@@ -168,7 +168,6 @@ dist_man_MANS = \ + fmtcheck.3bsd \ + fparseln.3bsd \ + fpurge.3bsd \ - funopen.3bsd \ - getbsize.3 \ - getmode.3 \ - getpeereid.3 \ + getbsize.3bsd \ + getmode.3bsd \ + getpeereid.3bsd \ diff --git a/src/Makefile.am b/src/Makefile.am index ad83dbf..13225a3 100644 --- a/src/Makefile.am @@ -39,7 +39,7 @@ index ad83dbf..13225a3 100644 getpeereid.c \ hash/md5.c \ diff --git a/test/Makefile.am b/test/Makefile.am -index a75c8ff..e3a1d41 100644 +index d86539a..b32ed2e 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -36,7 +36,6 @@ check_PROGRAMS = \ @@ -50,6 +50,3 @@ index a75c8ff..e3a1d41 100644 fparseln \ fpurge \ md5 \ --- -2.10.2 - diff --git a/meta/recipes-support/libbsd/libbsd/0003-Fix-build-breaks-due-to-missing-a.out.h.patch b/meta/recipes-support/libbsd/libbsd/0003-Fix-build-breaks-due-to-missing-a.out.h.patch deleted file mode 100644 index 176d940..0000000 --- a/meta/recipes-support/libbsd/libbsd/0003-Fix-build-breaks-due-to-missing-a.out.h.patch +++ /dev/null @@ -1,130 +0,0 @@ -From a1b93c25311834f2f411e9bfe2e616899ba2122d Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sun, 6 Nov 2016 10:23:55 -0800 -Subject: [PATCH 3/3] Fix build breaks due to missing a.out.h - -Signed-off-by: Khem Raj ---- -Upstream-Status: Pending - - include/bsd/nlist.h | 1 - - include/bsd/nlist.h => src/local-aout.h | 47 ++++++++++++++++++++++----------- - src/nlist.c | 9 +++++++ - 3 files changed, 41 insertions(+), 16 deletions(-) - copy include/bsd/nlist.h => src/local-aout.h (63%) - -diff --git a/include/bsd/nlist.h b/include/bsd/nlist.h -index 0389ab7..9c7e3d8 100644 ---- a/include/bsd/nlist.h -+++ b/include/bsd/nlist.h -@@ -28,7 +28,6 @@ - #define LIBBSD_NLIST_H - - #include --#include - - /* __BEGIN_DECLS */ - #ifdef __cplusplus -diff --git a/include/bsd/nlist.h b/src/local-aout.h -similarity index 63% -copy from include/bsd/nlist.h -copy to src/local-aout.h -index 0389ab7..2adb93e 100644 ---- a/include/bsd/nlist.h -+++ b/src/local-aout.h -@@ -1,5 +1,5 @@ - /* -- * Copyright ? 2009 Guillem Jover -+ * Copyright ? 2016 Khem Raj - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions -@@ -24,20 +24,37 @@ - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - --#ifndef LIBBSD_NLIST_H --#define LIBBSD_NLIST_H -+#ifndef LIBBSD_LOCAL_AOUT_H -+#define LIBBSD_LOCAL_AOUT_H - --#include --#include -+#define N_UNDF 0 -+#define N_ABS 2 -+#define N_TEXT 4 -+#define N_DATA 6 -+#define N_BSS 8 -+#define N_FN 15 -+#define N_EXT 1 -+#define N_TYPE 036 -+#define N_STAB 0340 -+#define N_INDR 0xa -+#define N_SETA 0x14 /* Absolute set element symbol. */ -+#define N_SETT 0x16 /* Text set element symbol. */ -+#define N_SETD 0x18 /* Data set element symbol. */ -+#define N_SETB 0x1A /* Bss set element symbol. */ -+#define N_SETV 0x1C /* Pointer to set vector in data area. */ - --/* __BEGIN_DECLS */ --#ifdef __cplusplus --extern "C" { --#endif --extern int nlist(const char *filename, struct nlist *list); --#ifdef __cplusplus --} --#endif --/* __END_DECLS */ -+struct nlist -+{ -+ union -+ { -+ char *n_name; -+ struct nlist *n_next; -+ long n_strx; -+ } n_un; -+ unsigned char n_type; -+ char n_other; -+ short n_desc; -+ unsigned long n_value; -+}; - --#endif -+#endif /* LIBBSD_LOCAL_AOUT_H */ -diff --git a/src/nlist.c b/src/nlist.c -index 0cffe55..625d310 100644 ---- a/src/nlist.c -+++ b/src/nlist.c -@@ -40,7 +40,11 @@ static char sccsid[] = "@(#)nlist.c 8.1 (Berkeley) 6/4/93"; - - #include - #include -+#ifdef __GLIBC__ - #include -+#else -+#define __NO_A_OUT_SUPPORT -+#endif - #include - #include - #include -@@ -48,12 +52,17 @@ static char sccsid[] = "@(#)nlist.c 8.1 (Berkeley) 6/4/93"; - #if !defined(__NO_A_OUT_SUPPORT) - #define _NLIST_DO_AOUT - #endif -+ - #define _NLIST_DO_ELF - - #ifdef _NLIST_DO_ELF - #include "local-elf.h" - #endif - -+#ifdef _NLIST_DO_ELF -+#include "local-aout.h" -+#endif -+ - #define SIZE_T_MAX 0xffffffffU - - #ifdef _NLIST_DO_AOUT --- -2.10.2 - diff --git a/meta/recipes-support/libbsd/libbsd_0.8.3.bb b/meta/recipes-support/libbsd/libbsd_0.8.5.bb similarity index 85% rename from meta/recipes-support/libbsd/libbsd_0.8.3.bb rename to meta/recipes-support/libbsd/libbsd_0.8.5.bb index e85ee21..6a6b669 100644 --- a/meta/recipes-support/libbsd/libbsd_0.8.3.bb +++ b/meta/recipes-support/libbsd/libbsd_0.8.5.bb @@ -30,7 +30,7 @@ HOMEPAGE = "http://libbsd.freedesktop.org/wiki/" # License: public-domain # License: public-domain-Colin-Plumb LICENSE = "BSD-4-Clause & ISC & PD" -LIC_FILES_CHKSUM = "file://COPYING;md5=0b9c89d861915b86655b96e5e32fa2aa" +LIC_FILES_CHKSUM = "file://COPYING;md5=08fc4e66be4526715dab09c5fba5e9e8" SECTION = "libs" SRC_URI = " \ @@ -40,11 +40,10 @@ SRC_URI = " \ SRC_URI_append_libc-musl = " \ file://0001-Replace-__BEGIN_DECLS-and-__END_DECLS.patch \ file://0002-Remove-funopen.patch \ - file://0003-Fix-build-breaks-due-to-missing-a.out.h.patch \ " -SRC_URI[md5sum] = "e935c1bb6cc98a4a43cb1da22795493a" -SRC_URI[sha256sum] = "934b634f4dfd865b6482650b8f522c70ae65c463529de8be907b53c89c3a34a8" +SRC_URI[md5sum] = "f1a0dc285f5d21ea40ef5bfc9b647346" +SRC_URI[sha256sum] = "7647d024f41389305272c263da933a6f2a978213c1801592f47e68d83ac05b28" inherit autotools pkgconfig -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:03:11 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:03:11 +0000 Subject: [oe-commits] [openembedded-core] 62/64: python3-pygobject: Don't use gnome-common In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130212.2580C23357E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 22525a706196544919586e1bc764f362661685ae Author: Jussi Kukkonen AuthorDate: Fri Jul 14 15:25:24 2017 +0300 python3-pygobject: Don't use gnome-common Patch out the one use of gnome-common macros: pygobject is moving to autoconf-archive in next release so this patch is temporary. Signed-off-by: Jussi Kukkonen Signed-off-by: Ross Burton --- ...onfigure.ac-Don-t-use-gnome-common-macros.patch | 33 ++++++++++++++++++++++ .../python/python3-pygobject_3.24.1.bb | 3 +- 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/meta/recipes-devtools/python/python3-pygobject/0001-configure.ac-Don-t-use-gnome-common-macros.patch b/meta/recipes-devtools/python/python3-pygobject/0001-configure.ac-Don-t-use-gnome-common-macros.patch new file mode 100644 index 0000000..aaedb58 --- /dev/null +++ b/meta/recipes-devtools/python/python3-pygobject/0001-configure.ac-Don-t-use-gnome-common-macros.patch @@ -0,0 +1,33 @@ +From 206360744cedff20eae3c8fcfde9938fdae99592 Mon Sep 17 00:00:00 2001 +From: Jussi Kukkonen +Date: Thu, 6 Jul 2017 11:47:21 +0300 +Subject: [PATCH] configure.ac: Don't use gnome-common macros + +remove GNOME_COMPILE_WARNINGS() call: it's from gnome-common which +is deprecated. + +This patch can be removed when upgrading to 3.25.1: at that point +pygobject needs autoconf-archive instead. + +Upstream-Status: Inappropriate [Already handled upstream] +Signed-off-by: Jussi Kukkonen +--- + configure.ac | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 1f15b3c..5cb170f 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -221,8 +221,6 @@ AC_ARG_WITH(common, + with_common=yes) + AM_CONDITIONAL(WITH_COMMON, test "$with_common" = "yes") + +-# compiler warnings, errors, required cflags, and code coverage support +-GNOME_COMPILE_WARNINGS([maximum], [-Wno-error=missing-prototypes]) + AC_MSG_CHECKING(for Gnome code coverage support) + m4_ifdef([GNOME_CODE_COVERAGE], + [AC_MSG_RESULT(yes) +-- +2.1.4 + diff --git a/meta/recipes-devtools/python/python3-pygobject_3.24.1.bb b/meta/recipes-devtools/python/python3-pygobject_3.24.1.bb index 5795ae3..9d10af2 100644 --- a/meta/recipes-devtools/python/python3-pygobject_3.24.1.bb +++ b/meta/recipes-devtools/python/python3-pygobject_3.24.1.bb @@ -5,12 +5,13 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7" inherit autotools pkgconfig gnomebase distutils3-base gobject-introspection upstream-version-is-even -DEPENDS += "gnome-common-native python3 glib-2.0" +DEPENDS += "python3 glib-2.0" SRCNAME="pygobject" SRC_URI = " \ http://ftp.gnome.org/pub/GNOME/sources/${SRCNAME}/${@gnome_verdir("${PV}")}/${SRCNAME}-${PV}.tar.xz \ file://0001-configure.ac-add-sysroot-path-to-GI_DATADIR-don-t-se.patch \ + file://0001-configure.ac-Don-t-use-gnome-common-macros.patch \ " SRC_URI[md5sum] = "69a843311d0f0385dff376e11a2d83d2" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:03:00 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:03:00 +0000 Subject: [oe-commits] [openembedded-core] 51/64: bind: 9.10.3-P3 -> 9.10.5-P3 In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130211.CE742233550@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 9ee6a0a6599d081767b63382a576e67aed12cf4d Author: Kai Kang AuthorDate: Wed Jul 12 09:25:05 2017 +0800 bind: 9.10.3-P3 -> 9.10.5-P3 Upgrade bind from 9.10.3-P3 to 9.10.5-P3 * Update md5sum of LIC_FILES_CHKSUM that it update year in file COPYRIGHT * Remvoe mips1-not-support-opcode.diff which has been merged * Remove CVE patches that there are backported from upstream * Use python3 for build and make sure install .py files to right directory Signed-off-by: Kai Kang Signed-off-by: Ross Burton --- ...0001-build-use-pkg-config-to-find-libxml2.patch | 10 +- .../bind/bind/CVE-2016-1285.patch | 154 --- .../bind/bind/CVE-2016-1286_1.patch | 79 -- .../bind/bind/CVE-2016-1286_2.patch | 317 ------ .../bind/bind/CVE-2016-2088.patch | 247 ----- .../bind/bind/CVE-2016-2775.patch | 90 -- .../bind/bind/CVE-2016-2776.patch | 123 --- .../bind/bind/CVE-2016-6170.patch | 1090 -------------------- .../bind/bind/CVE-2016-8864.patch | 219 ---- .../bind/bind/bind-confgen-build-unix.o-once.patch | 10 +- .../bind/bind/mips1-not-support-opcode.diff | 104 -- .../use-python3-and-fix-install-lib-path.patch | 36 + .../bind/{bind_9.10.3-P3.bb => bind_9.10.5-P3.bb} | 25 +- 13 files changed, 61 insertions(+), 2443 deletions(-) diff --git a/meta/recipes-connectivity/bind/bind/0001-build-use-pkg-config-to-find-libxml2.patch b/meta/recipes-connectivity/bind/bind/0001-build-use-pkg-config-to-find-libxml2.patch index 805cbb3..1e23c0f 100644 --- a/meta/recipes-connectivity/bind/bind/0001-build-use-pkg-config-to-find-libxml2.patch +++ b/meta/recipes-connectivity/bind/bind/0001-build-use-pkg-config-to-find-libxml2.patch @@ -7,15 +7,19 @@ Signed-off-by: Ross Burton Update context for version 9.10.3-P2. Signed-off-by: Kai Kang + +Update context for version 9.10.5-P3. + +Signed-off-by: Kai Kang --- configure.in | 23 +++-------------------- 1 file changed, 3 insertions(+), 20 deletions(-) diff --git a/configure.in b/configure.in -index 0db826d..75819eb 100644 +index 4da73a4..6f2a754 100644 --- a/configure.in +++ b/configure.in -@@ -2107,26 +2107,9 @@ case "$use_libxml2" in +@@ -2282,26 +2282,9 @@ case "$use_libxml2" in DST_LIBXML2_INC="" ;; auto|yes) @@ -25,7 +29,7 @@ index 0db826d..75819eb 100644 - libxml2_cflags=`xml2-config --cflags` - ;; - *) -- if test "$use_libxml2" = "yes" ; then +- if test "yes" = "$use_libxml2" ; then - AC_MSG_RESULT(no) - AC_MSG_ERROR(required libxml2 version not available) - else diff --git a/meta/recipes-connectivity/bind/bind/CVE-2016-1285.patch b/meta/recipes-connectivity/bind/bind/CVE-2016-1285.patch deleted file mode 100644 index 2149bd1..0000000 --- a/meta/recipes-connectivity/bind/bind/CVE-2016-1285.patch +++ /dev/null @@ -1,154 +0,0 @@ -From 70037e040e587329cec82123e12b9f4f7c945f67 Mon Sep 17 00:00:00 2001 -From: Mark Andrews -Date: Thu, 18 Feb 2016 12:11:27 +1100 -Subject: [PATCH] 4318. [security] Malformed control messages can - trigger assertions in named and rndc. (CVE-2016-1285) - [RT #41666] - -(cherry picked from commit a2b15b3305acd52179e6f3dc7d073b07fbc40b8e) - -CVE: CVE-2016-1285 -Upstream-Status: Backport -[Removed doc/arm/notes.xml changes from upstream patch] - -Signed-off-by: Sona Sarmadi ---- - CHANGES | 3 +++ - bin/named/control.c | 2 +- - bin/named/controlconf.c | 2 +- - bin/rndc/rndc.c | 8 ++++---- - doc/arm/notes.xml | 11 +++++++++++ - lib/isccc/cc.c | 14 +++++++------- - 6 files changed, 27 insertions(+), 13 deletions(-) - -diff --git a/CHANGES b/CHANGES -index b9bd9ef..2c727d5 100644 ---- a/CHANGES -+++ b/CHANGES -@@ -1,3 +1,6 @@ -+4318. [security] Malformed control messages can trigger assertions -+ in named and rndc. (CVE-2016-1285) [RT #41666] -+ - --- 9.10.3-P3 released --- - - 4288. [bug] Fixed a regression in resolver.c:possibly_mark() -diff --git a/bin/named/control.c b/bin/named/control.c -index 8554335..81340ca 100644 ---- a/bin/named/control.c -+++ b/bin/named/control.c -@@ -69,7 +69,7 @@ ns_control_docommand(isccc_sexpr_t *message, isc_buffer_t *text) { - #endif - - data = isccc_alist_lookup(message, "_data"); -- if (data == NULL) { -+ if (!isccc_alist_alistp(data)) { - /* - * No data section. - */ -diff --git a/bin/named/controlconf.c b/bin/named/controlconf.c -index 765afdd..a39ab8b 100644 ---- a/bin/named/controlconf.c -+++ b/bin/named/controlconf.c -@@ -402,7 +402,7 @@ control_recvmessage(isc_task_t *task, isc_event_t *event) { - * Limit exposure to replay attacks. - */ - _ctrl = isccc_alist_lookup(request, "_ctrl"); -- if (_ctrl == NULL) { -+ if (!isccc_alist_alistp(_ctrl)) { - log_invalid(&conn->ccmsg, ISC_R_FAILURE); - goto cleanup_request; - } -diff --git a/bin/rndc/rndc.c b/bin/rndc/rndc.c -index cb17050..b6e05c8 100644 ---- a/bin/rndc/rndc.c -+++ b/bin/rndc/rndc.c -@@ -255,8 +255,8 @@ rndc_recvdone(isc_task_t *task, isc_event_t *event) { - isccc_cc_fromwire(&source, &response, algorithm, &secret)); - - data = isccc_alist_lookup(response, "_data"); -- if (data == NULL) -- fatal("no data section in response"); -+ if (!isccc_alist_alistp(data)) -+ fatal("bad or missing data section in response"); - result = isccc_cc_lookupstring(data, "err", &errormsg); - if (result == ISC_R_SUCCESS) { - failed = ISC_TRUE; -@@ -321,8 +321,8 @@ rndc_recvnonce(isc_task_t *task, isc_event_t *event) { - isccc_cc_fromwire(&source, &response, algorithm, &secret)); - - _ctrl = isccc_alist_lookup(response, "_ctrl"); -- if (_ctrl == NULL) -- fatal("_ctrl section missing"); -+ if (!isccc_alist_alistp(_ctrl)) -+ fatal("bad or missing ctrl section in response"); - nonce = 0; - if (isccc_cc_lookupuint32(_ctrl, "_nonce", &nonce) != ISC_R_SUCCESS) - nonce = 0; -diff --git a/lib/isccc/cc.c b/lib/isccc/cc.c -index 47a3b74..2bb961e 100644 ---- a/lib/isccc/cc.c -+++ b/lib/isccc/cc.c -@@ -403,13 +403,13 @@ verify(isccc_sexpr_t *alist, unsigned char *data, unsigned int length, - * Extract digest. - */ - _auth = isccc_alist_lookup(alist, "_auth"); -- if (_auth == NULL) -+ if (!isccc_alist_alistp(_auth)) - return (ISC_R_FAILURE); - if (algorithm == ISCCC_ALG_HMACMD5) - hmac = isccc_alist_lookup(_auth, "hmd5"); - else - hmac = isccc_alist_lookup(_auth, "hsha"); -- if (hmac == NULL) -+ if (!isccc_sexpr_binaryp(hmac)) - return (ISC_R_FAILURE); - /* - * Compute digest. -@@ -728,7 +728,7 @@ isccc_cc_createack(isccc_sexpr_t *message, isc_boolean_t ok, - REQUIRE(ackp != NULL && *ackp == NULL); - - _ctrl = isccc_alist_lookup(message, "_ctrl"); -- if (_ctrl == NULL || -+ if (!isccc_alist_alistp(_ctrl) || - isccc_cc_lookupuint32(_ctrl, "_ser", &serial) != ISC_R_SUCCESS || - isccc_cc_lookupuint32(_ctrl, "_tim", &t) != ISC_R_SUCCESS) - return (ISC_R_FAILURE); -@@ -773,7 +773,7 @@ isccc_cc_isack(isccc_sexpr_t *message) - isccc_sexpr_t *_ctrl; - - _ctrl = isccc_alist_lookup(message, "_ctrl"); -- if (_ctrl == NULL) -+ if (!isccc_alist_alistp(_ctrl)) - return (ISC_FALSE); - if (isccc_cc_lookupstring(_ctrl, "_ack", NULL) == ISC_R_SUCCESS) - return (ISC_TRUE); -@@ -786,7 +786,7 @@ isccc_cc_isreply(isccc_sexpr_t *message) - isccc_sexpr_t *_ctrl; - - _ctrl = isccc_alist_lookup(message, "_ctrl"); -- if (_ctrl == NULL) -+ if (!isccc_alist_alistp(_ctrl)) - return (ISC_FALSE); - if (isccc_cc_lookupstring(_ctrl, "_rpl", NULL) == ISC_R_SUCCESS) - return (ISC_TRUE); -@@ -806,7 +806,7 @@ isccc_cc_createresponse(isccc_sexpr_t *message, isccc_time_t now, - - _ctrl = isccc_alist_lookup(message, "_ctrl"); - _data = isccc_alist_lookup(message, "_data"); -- if (_ctrl == NULL || _data == NULL || -+ if (!isccc_alist_alistp(_ctrl) || !isccc_alist_alistp(_data) || - isccc_cc_lookupuint32(_ctrl, "_ser", &serial) != ISC_R_SUCCESS || - isccc_cc_lookupstring(_data, "type", &type) != ISC_R_SUCCESS) - return (ISC_R_FAILURE); -@@ -995,7 +995,7 @@ isccc_cc_checkdup(isccc_symtab_t *symtab, isccc_sexpr_t *message, - isccc_sexpr_t *_ctrl; - - _ctrl = isccc_alist_lookup(message, "_ctrl"); -- if (_ctrl == NULL || -+ if (!isccc_alist_alistp(_ctrl) || - isccc_cc_lookupstring(_ctrl, "_ser", &_ser) != ISC_R_SUCCESS || - isccc_cc_lookupstring(_ctrl, "_tim", &_tim) != ISC_R_SUCCESS) - return (ISC_R_FAILURE); --- -1.9.1 - diff --git a/meta/recipes-connectivity/bind/bind/CVE-2016-1286_1.patch b/meta/recipes-connectivity/bind/bind/CVE-2016-1286_1.patch deleted file mode 100644 index ae5cc48..0000000 --- a/meta/recipes-connectivity/bind/bind/CVE-2016-1286_1.patch +++ /dev/null @@ -1,79 +0,0 @@ -From a3d327bf1ceaaeabb20223d8de85166e940b9f12 Mon Sep 17 00:00:00 2001 -From: Mukund Sivaraman -Date: Mon, 22 Feb 2016 12:22:43 +0530 -Subject: [PATCH] Fix resolver assertion failure due to improper DNAME handling - (CVE-2016-1286) (#41753) - -(cherry picked from commit 5995fec51cc8bb7e53804e4936e60aa1537f3673) - -CVE: CVE-2016-1286 -Upstream-Status: Backport - -[Removed doc/arm/notes.xml changes from upstream patch.] - -Signed-off-by: Sona Sarmadi ---- -diff -ruN a/CHANGES b/CHANGES ---- a/CHANGES 2016-04-13 07:28:44.940873629 +0200 -+++ b/CHANGES 2016-04-13 07:38:38.923167851 +0200 -@@ -1,3 +1,7 @@ -+4319. [security] Fix resolver assertion failure due to improper -+ DNAME handling when parsing fetch reply messages. -+ (CVE-2016-1286) [RT #41753] -+ - 4318. [security] Malformed control messages can trigger assertions - in named and rndc. (CVE-2016-1285) [RT #41666] - -diff -ruN a/lib/dns/resolver.c b/lib/dns/resolver.c ---- a/lib/dns/resolver.c 2016-04-13 07:28:43.088953790 +0200 -+++ b/lib/dns/resolver.c 2016-04-13 07:38:20.411968925 +0200 -@@ -6967,21 +6967,26 @@ - isc_boolean_t found_dname = ISC_FALSE; - dns_name_t *dname_name; - -+ /* -+ * Only pass DNAME or RRSIG(DNAME). -+ */ -+ if (rdataset->type != dns_rdatatype_dname && -+ (rdataset->type != dns_rdatatype_rrsig || -+ rdataset->covers != dns_rdatatype_dname)) -+ continue; -+ -+ /* -+ * If we're not chaining, then the DNAME and -+ * its signature should not be external. -+ */ -+ if (!chaining && external) { -+ log_formerr(fctx, "external DNAME"); -+ return (DNS_R_FORMERR); -+ } -+ - found = ISC_FALSE; - aflag = 0; - if (rdataset->type == dns_rdatatype_dname) { -- /* -- * We're looking for something else, -- * but we found a DNAME. -- * -- * If we're not chaining, then the -- * DNAME should not be external. -- */ -- if (!chaining && external) { -- log_formerr(fctx, -- "external DNAME"); -- return (DNS_R_FORMERR); -- } - found = ISC_TRUE; - want_chaining = ISC_TRUE; - POST(want_chaining); -@@ -7010,9 +7015,7 @@ - &fctx->domain)) { - return (DNS_R_SERVFAIL); - } -- } else if (rdataset->type == dns_rdatatype_rrsig -- && rdataset->covers == -- dns_rdatatype_dname) { -+ } else { - /* - * We've found a signature that - * covers the DNAME. diff --git a/meta/recipes-connectivity/bind/bind/CVE-2016-1286_2.patch b/meta/recipes-connectivity/bind/bind/CVE-2016-1286_2.patch deleted file mode 100644 index 5f5cb0d..0000000 --- a/meta/recipes-connectivity/bind/bind/CVE-2016-1286_2.patch +++ /dev/null @@ -1,317 +0,0 @@ -From 7602be276a73a6eb5431c5acd9718e68a55e8b61 Mon Sep 17 00:00:00 2001 -From: Mark Andrews -Date: Mon, 29 Feb 2016 07:16:48 +1100 -Subject: [PATCH] Part 2 of: 4319. [security] Fix resolver assertion - failure due to improper DNAME handling when parsing - fetch reply messages. (CVE-2016-1286) [RT #41753] - -CVE: CVE-2016-1286 -Upstream-Status: Backport - -(cherry picked from commit 2de89ee9de8c8da9dc153a754b02dcdbb7fe2374) -Signed-off-by: Sona Sarmadi ---- - lib/dns/resolver.c | 192 ++++++++++++++++++++++++++--------------------------- - 1 file changed, 93 insertions(+), 99 deletions(-) - -diff --git a/lib/dns/resolver.c b/lib/dns/resolver.c -index 70aba87..41e9df4 100644 ---- a/lib/dns/resolver.c -+++ b/lib/dns/resolver.c -@@ -6074,14 +6074,11 @@ cname_target(dns_rdataset_t *rdataset, dns_name_t *tname) { - } - - static inline isc_result_t --dname_target(fetchctx_t *fctx, dns_rdataset_t *rdataset, dns_name_t *qname, -- dns_name_t *oname, dns_fixedname_t *fixeddname) -+dname_target(dns_rdataset_t *rdataset, dns_name_t *qname, -+ unsigned int nlabels, dns_fixedname_t *fixeddname) - { - isc_result_t result; - dns_rdata_t rdata = DNS_RDATA_INIT; -- unsigned int nlabels; -- int order; -- dns_namereln_t namereln; - dns_rdata_dname_t dname; - dns_fixedname_t prefix; - -@@ -6096,21 +6093,6 @@ dname_target(fetchctx_t *fctx, dns_rdataset_t *rdataset, dns_name_t *qname, - if (result != ISC_R_SUCCESS) - return (result); - -- /* -- * Get the prefix of qname. -- */ -- namereln = dns_name_fullcompare(qname, oname, &order, &nlabels); -- if (namereln != dns_namereln_subdomain) { -- char qbuf[DNS_NAME_FORMATSIZE]; -- char obuf[DNS_NAME_FORMATSIZE]; -- -- dns_rdata_freestruct(&dname); -- dns_name_format(qname, qbuf, sizeof(qbuf)); -- dns_name_format(oname, obuf, sizeof(obuf)); -- log_formerr(fctx, "unrelated DNAME in answer: " -- "%s is not in %s", qbuf, obuf); -- return (DNS_R_FORMERR); -- } - dns_fixedname_init(&prefix); - dns_name_split(qname, nlabels, dns_fixedname_name(&prefix), NULL); - dns_fixedname_init(fixeddname); -@@ -6736,13 +6718,13 @@ static isc_result_t - answer_response(fetchctx_t *fctx) { - isc_result_t result; - dns_message_t *message; -- dns_name_t *name, *qname, tname, *ns_name; -+ dns_name_t *name, *dname, *qname, tname, *ns_name; - dns_rdataset_t *rdataset, *ns_rdataset; - isc_boolean_t done, external, chaining, aa, found, want_chaining; - isc_boolean_t have_answer, found_cname, found_type, wanted_chaining; - unsigned int aflag; - dns_rdatatype_t type; -- dns_fixedname_t dname, fqname; -+ dns_fixedname_t fdname, fqname; - dns_view_t *view; - - FCTXTRACE("answer_response"); -@@ -6770,10 +6752,15 @@ answer_response(fetchctx_t *fctx) { - view = fctx->res->view; - result = dns_message_firstname(message, DNS_SECTION_ANSWER); - while (!done && result == ISC_R_SUCCESS) { -+ dns_namereln_t namereln; -+ int order; -+ unsigned int nlabels; -+ - name = NULL; - dns_message_currentname(message, DNS_SECTION_ANSWER, &name); - external = ISC_TF(!dns_name_issubdomain(name, &fctx->domain)); -- if (dns_name_equal(name, qname)) { -+ namereln = dns_name_fullcompare(qname, name, &order, &nlabels); -+ if (namereln == dns_namereln_equal) { - wanted_chaining = ISC_FALSE; - for (rdataset = ISC_LIST_HEAD(name->list); - rdataset != NULL; -@@ -6898,10 +6885,11 @@ answer_response(fetchctx_t *fctx) { - */ - INSIST(!external); - if (aflag == -- DNS_RDATASETATTR_ANSWER) -+ DNS_RDATASETATTR_ANSWER) { - have_answer = ISC_TRUE; -- name->attributes |= -- DNS_NAMEATTR_ANSWER; -+ name->attributes |= -+ DNS_NAMEATTR_ANSWER; -+ } - rdataset->attributes |= aflag; - if (aa) - rdataset->trust = -@@ -6956,6 +6944,8 @@ answer_response(fetchctx_t *fctx) { - if (wanted_chaining) - chaining = ISC_TRUE; - } else { -+ dns_rdataset_t *dnameset = NULL; -+ - /* - * Look for a DNAME (or its SIG). Anything else is - * ignored. -@@ -6963,10 +6953,8 @@ answer_response(fetchctx_t *fctx) { - wanted_chaining = ISC_FALSE; - for (rdataset = ISC_LIST_HEAD(name->list); - rdataset != NULL; -- rdataset = ISC_LIST_NEXT(rdataset, link)) { -- isc_boolean_t found_dname = ISC_FALSE; -- dns_name_t *dname_name; -- -+ rdataset = ISC_LIST_NEXT(rdataset, link)) -+ { - /* - * Only pass DNAME or RRSIG(DNAME). - */ -@@ -6980,20 +6968,41 @@ answer_response(fetchctx_t *fctx) { - * its signature should not be external. - */ - if (!chaining && external) { -- log_formerr(fctx, "external DNAME"); -+ char qbuf[DNS_NAME_FORMATSIZE]; -+ char obuf[DNS_NAME_FORMATSIZE]; -+ -+ dns_name_format(name, qbuf, -+ sizeof(qbuf)); -+ dns_name_format(&fctx->domain, obuf, -+ sizeof(obuf)); -+ log_formerr(fctx, "external DNAME or " -+ "RRSIG covering DNAME " -+ "in answer: %s is " -+ "not in %s", qbuf, obuf); -+ return (DNS_R_FORMERR); -+ } -+ -+ if (namereln != dns_namereln_subdomain) { -+ char qbuf[DNS_NAME_FORMATSIZE]; -+ char obuf[DNS_NAME_FORMATSIZE]; -+ -+ dns_name_format(qname, qbuf, -+ sizeof(qbuf)); -+ dns_name_format(name, obuf, -+ sizeof(obuf)); -+ log_formerr(fctx, "unrelated DNAME " -+ "in answer: %s is " -+ "not in %s", qbuf, obuf); - return (DNS_R_FORMERR); - } - -- found = ISC_FALSE; - aflag = 0; - if (rdataset->type == dns_rdatatype_dname) { -- found = ISC_TRUE; - want_chaining = ISC_TRUE; - POST(want_chaining); - aflag = DNS_RDATASETATTR_ANSWER; -- result = dname_target(fctx, rdataset, -- qname, name, -- &dname); -+ result = dname_target(rdataset, qname, -+ nlabels, &fdname); - if (result == ISC_R_NOSPACE) { - /* - * We can't construct the -@@ -7005,14 +7014,12 @@ answer_response(fetchctx_t *fctx) { - } else if (result != ISC_R_SUCCESS) - return (result); - else -- found_dname = ISC_TRUE; -+ dnameset = rdataset; - -- dname_name = dns_fixedname_name(&dname); -+ dname = dns_fixedname_name(&fdname); - if (!is_answertarget_allowed(view, -- qname, -- rdataset->type, -- dname_name, -- &fctx->domain)) { -+ qname, rdataset->type, -+ dname, &fctx->domain)) { - return (DNS_R_SERVFAIL); - } - } else { -@@ -7020,73 +7027,60 @@ answer_response(fetchctx_t *fctx) { - * We've found a signature that - * covers the DNAME. - */ -- found = ISC_TRUE; - aflag = DNS_RDATASETATTR_ANSWERSIG; - } - -- if (found) { -+ /* -+ * We've found an answer to our -+ * question. -+ */ -+ name->attributes |= DNS_NAMEATTR_CACHE; -+ rdataset->attributes |= DNS_RDATASETATTR_CACHE; -+ rdataset->trust = dns_trust_answer; -+ if (!chaining) { - /* -- * We've found an answer to our -- * question. -+ * This data is "the" answer to -+ * our question only if we're -+ * not chaining. - */ -- name->attributes |= -- DNS_NAMEATTR_CACHE; -- rdataset->attributes |= -- DNS_RDATASETATTR_CACHE; -- rdataset->trust = dns_trust_answer; -- if (!chaining) { -- /* -- * This data is "the" answer -- * to our question only if -- * we're not chaining. -- */ -- INSIST(!external); -- if (aflag == -- DNS_RDATASETATTR_ANSWER) -- have_answer = ISC_TRUE; -+ INSIST(!external); -+ if (aflag == DNS_RDATASETATTR_ANSWER) { -+ have_answer = ISC_TRUE; - name->attributes |= - DNS_NAMEATTR_ANSWER; -- rdataset->attributes |= aflag; -- if (aa) -- rdataset->trust = -- dns_trust_authanswer; -- } else if (external) { -- rdataset->attributes |= -- DNS_RDATASETATTR_EXTERNAL; -- } -- -- /* -- * DNAME chaining. -- */ -- if (found_dname) { -- /* -- * Copy the dname into the -- * qname fixed name. -- * -- * Although we check for -- * failure of the copy -- * operation, in practice it -- * should never fail since -- * we already know that the -- * result fits in a fixedname. -- */ -- dns_fixedname_init(&fqname); -- result = dns_name_copy( -- dns_fixedname_name(&dname), -- dns_fixedname_name(&fqname), -- NULL); -- if (result != ISC_R_SUCCESS) -- return (result); -- wanted_chaining = ISC_TRUE; -- name->attributes |= -- DNS_NAMEATTR_CHAINING; -- rdataset->attributes |= -- DNS_RDATASETATTR_CHAINING; -- qname = dns_fixedname_name( -- &fqname); - } -+ rdataset->attributes |= aflag; -+ if (aa) -+ rdataset->trust = -+ dns_trust_authanswer; -+ } else if (external) { -+ rdataset->attributes |= -+ DNS_RDATASETATTR_EXTERNAL; - } - } -+ -+ /* -+ * DNAME chaining. -+ */ -+ if (dnameset != NULL) { -+ /* -+ * Copy the dname into the qname fixed name. -+ * -+ * Although we check for failure of the copy -+ * operation, in practice it should never fail -+ * since we already know that the result fits -+ * in a fixedname. -+ */ -+ dns_fixedname_init(&fqname); -+ qname = dns_fixedname_name(&fqname); -+ result = dns_name_copy(dname, qname, NULL); -+ if (result != ISC_R_SUCCESS) -+ return (result); -+ wanted_chaining = ISC_TRUE; -+ name->attributes |= DNS_NAMEATTR_CHAINING; -+ dnameset->attributes |= -+ DNS_RDATASETATTR_CHAINING; -+ } - if (wanted_chaining) - chaining = ISC_TRUE; - } --- -1.9.1 - diff --git a/meta/recipes-connectivity/bind/bind/CVE-2016-2088.patch b/meta/recipes-connectivity/bind/bind/CVE-2016-2088.patch deleted file mode 100644 index 1b84d46..0000000 --- a/meta/recipes-connectivity/bind/bind/CVE-2016-2088.patch +++ /dev/null @@ -1,247 +0,0 @@ -CVE-2016-2088 - -Backport commit d7ff9a1c41bf0ba9773cb3adb08b48b9fd57c956 from the -v9_10_3_patch branch. - -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2088 -https://kb.isc.org/article/AA-01351 - -CVE: CVE-2016-2088 -Upstream-Status: Backport -Signed-off-by: Jussi Kukkonen - - -Original commit message from Mark Andrews below: - -4322. [security] Duplicate EDNS COOKIE options in a response could - trigger an assertion failure. (CVE-2016-2088) - [RT #41809] - -(cherry picked from commit 455c0848f80a8acda27aad1466c72987cafaa029) -(cherry picked from commit 7cd300abd6ee8b8ee8730593daf742ba53f90bc3) ---- - CHANGES | 4 ++++ - bin/dig/dighost.c | 9 +++++++++ - bin/named/client.c | 33 +++++++++++++++++++++++---------- - doc/arm/notes.xml | 7 +++++++ - lib/dns/resolver.c | 14 +++++++++++++- - 5 files changed, 56 insertions(+), 11 deletions(-) - -diff --git a/CHANGES b/CHANGES -index c5b5d2b..d2e3360 100644 ---- a/CHANGES -+++ b/CHANGES -@@ -1,3 +1,7 @@ -+4322. [security] Duplicate EDNS COOKIE options in a response could -+ trigger an assertion failure. (CVE-2016-2088) -+ [RT #41809] -+ - 4319. [security] Fix resolver assertion failure due to improper - DNAME handling when parsing fetch reply messages. - (CVE-2016-1286) [RT #41753] -diff --git a/bin/dig/dighost.c b/bin/dig/dighost.c -index ca82f8e..340904f 100644 ---- a/bin/dig/dighost.c -+++ b/bin/dig/dighost.c -@@ -3458,6 +3458,7 @@ process_opt(dig_lookup_t *l, dns_message_t *msg) { - isc_buffer_t optbuf; - isc_uint16_t optcode, optlen; - dns_rdataset_t *opt = msg->opt; -+ isc_boolean_t seen_cookie = ISC_FALSE; - - result = dns_rdataset_first(opt); - if (result == ISC_R_SUCCESS) { -@@ -3470,7 +3471,15 @@ process_opt(dig_lookup_t *l, dns_message_t *msg) { - optlen = isc_buffer_getuint16(&optbuf); - switch (optcode) { - case DNS_OPT_COOKIE: -+ /* -+ * Only process the first cookie option. -+ */ -+ if (seen_cookie) { -+ isc_buffer_forward(&optbuf, optlen); -+ break; -+ } - process_sit(l, msg, &optbuf, optlen); -+ seen_cookie = ISC_TRUE; - break; - default: - isc_buffer_forward(&optbuf, optlen); -diff --git a/bin/named/client.c b/bin/named/client.c -index 683305c..0d7331a 100644 ---- a/bin/named/client.c -+++ b/bin/named/client.c -@@ -120,7 +120,10 @@ - */ - #endif - --#define SIT_SIZE 24U /* 8 + 4 + 4 + 8 */ -+#define COOKIE_SIZE 24U /* 8 + 4 + 4 + 8 */ -+ -+#define WANTNSID(x) (((x)->attributes & NS_CLIENTATTR_WANTNSID) != 0) -+#define WANTEXPIRE(x) (((x)->attributes & NS_CLIENTATTR_WANTEXPIRE) != 0) - - /*% nameserver client manager structure */ - struct ns_clientmgr { -@@ -1395,7 +1398,7 @@ ns_client_addopt(ns_client_t *client, dns_message_t *message, - { - char nsid[BUFSIZ], *nsidp; - #ifdef ISC_PLATFORM_USESIT -- unsigned char sit[SIT_SIZE]; -+ unsigned char sit[COOKIE_SIZE]; - #endif - isc_result_t result; - dns_view_t *view; -@@ -1420,7 +1423,7 @@ ns_client_addopt(ns_client_t *client, dns_message_t *message, - flags = client->extflags & DNS_MESSAGEEXTFLAG_REPLYPRESERVE; - - /* Set EDNS options if applicable */ -- if ((client->attributes & NS_CLIENTATTR_WANTNSID) != 0 && -+ if (WANTNSID(client) && - (ns_g_server->server_id != NULL || - ns_g_server->server_usehostname)) { - if (ns_g_server->server_usehostname) { -@@ -1453,7 +1456,7 @@ ns_client_addopt(ns_client_t *client, dns_message_t *message, - - INSIST(count < DNS_EDNSOPTIONS); - ednsopts[count].code = DNS_OPT_COOKIE; -- ednsopts[count].length = SIT_SIZE; -+ ednsopts[count].length = COOKIE_SIZE; - ednsopts[count].value = sit; - count++; - } -@@ -1661,19 +1664,26 @@ compute_sit(ns_client_t *client, isc_uint32_t when, isc_uint32_t nonce, - - static void - process_sit(ns_client_t *client, isc_buffer_t *buf, size_t optlen) { -- unsigned char dbuf[SIT_SIZE]; -+ unsigned char dbuf[COOKIE_SIZE]; - unsigned char *old; - isc_stdtime_t now; - isc_uint32_t when; - isc_uint32_t nonce; - isc_buffer_t db; - -+ /* -+ * If we have already seen a ECS option skip this ECS option. -+ */ -+ if ((client->attributes & NS_CLIENTATTR_WANTSIT) != 0) { -+ isc_buffer_forward(buf, optlen); -+ return; -+ } - client->attributes |= NS_CLIENTATTR_WANTSIT; - - isc_stats_increment(ns_g_server->nsstats, - dns_nsstatscounter_sitopt); - -- if (optlen != SIT_SIZE) { -+ if (optlen != COOKIE_SIZE) { - /* - * Not our token. - */ -@@ -1717,14 +1727,13 @@ process_sit(ns_client_t *client, isc_buffer_t *buf, size_t optlen) { - isc_buffer_init(&db, dbuf, sizeof(dbuf)); - compute_sit(client, when, nonce, &db); - -- if (!isc_safe_memequal(old, dbuf, SIT_SIZE)) { -+ if (!isc_safe_memequal(old, dbuf, COOKIE_SIZE)) { - isc_stats_increment(ns_g_server->nsstats, - dns_nsstatscounter_sitnomatch); - return; - } - isc_stats_increment(ns_g_server->nsstats, - dns_nsstatscounter_sitmatch); -- - client->attributes |= NS_CLIENTATTR_HAVESIT; - } - #endif -@@ -1783,7 +1792,9 @@ process_opt(ns_client_t *client, dns_rdataset_t *opt) { - optlen = isc_buffer_getuint16(&optbuf); - switch (optcode) { - case DNS_OPT_NSID: -- isc_stats_increment(ns_g_server->nsstats, -+ if (!WANTNSID(client)) -+ isc_stats_increment( -+ ns_g_server->nsstats, - dns_nsstatscounter_nsidopt); - client->attributes |= NS_CLIENTATTR_WANTNSID; - isc_buffer_forward(&optbuf, optlen); -@@ -1794,7 +1805,9 @@ process_opt(ns_client_t *client, dns_rdataset_t *opt) { - break; - #endif - case DNS_OPT_EXPIRE: -- isc_stats_increment(ns_g_server->nsstats, -+ if (!WANTEXPIRE(client)) -+ isc_stats_increment( -+ ns_g_server->nsstats, - dns_nsstatscounter_expireopt); - client->attributes |= NS_CLIENTATTR_WANTEXPIRE; - isc_buffer_forward(&optbuf, optlen); -diff --git a/doc/arm/notes.xml b/doc/arm/notes.xml -index ebf4f55..095eb5b 100644 ---- a/doc/arm/notes.xml -+++ b/doc/arm/notes.xml -@@ -51,6 +51,13 @@ - Security Fixes - - -+ -+ Duplicate EDNS COOKIE options in a response could trigger -+ an assertion failure. This flaw is disclosed in CVE-2016-2088. -+ [RT #41809] -+ -+ -+ - - Specific APL data could trigger an INSIST. This flaw - was discovered by Brian Mitchell and is disclosed in -diff --git a/lib/dns/resolver.c b/lib/dns/resolver.c -index a797e3f..ba1ae23 100644 ---- a/lib/dns/resolver.c -+++ b/lib/dns/resolver.c -@@ -7502,7 +7502,9 @@ process_opt(resquery_t *query, dns_rdataset_t *opt) { - unsigned char *sit; - dns_adbaddrinfo_t *addrinfo; - unsigned char cookie[8]; -+ isc_boolean_t seen_cookie = ISC_FALSE; - #endif -+ isc_boolean_t seen_nsid = ISC_FALSE; - - result = dns_rdataset_first(opt); - if (result == ISC_R_SUCCESS) { -@@ -7516,14 +7518,23 @@ process_opt(resquery_t *query, dns_rdataset_t *opt) { - INSIST(optlen <= isc_buffer_remaininglength(&optbuf)); - switch (optcode) { - case DNS_OPT_NSID: -- if (query->options & DNS_FETCHOPT_WANTNSID) -+ if (!seen_nsid && -+ query->options & DNS_FETCHOPT_WANTNSID) - log_nsid(&optbuf, optlen, query, - ISC_LOG_DEBUG(3), - query->fctx->res->mctx); - isc_buffer_forward(&optbuf, optlen); -+ seen_nsid = ISC_TRUE; - break; - #ifdef ISC_PLATFORM_USESIT - case DNS_OPT_COOKIE: -+ /* -+ * Only process the first cookie option. -+ */ -+ if (seen_cookie) { -+ isc_buffer_forward(&optbuf, optlen); -+ break; -+ } - sit = isc_buffer_current(&optbuf); - compute_cc(query, cookie, sizeof(cookie)); - INSIST(query->fctx->rmessage->sitbad == 0 && -@@ -7541,6 +7552,7 @@ process_opt(resquery_t *query, dns_rdataset_t *opt) { - isc_buffer_forward(&optbuf, optlen); - inc_stats(query->fctx->res, - dns_resstatscounter_sitin); -+ seen_cookie = ISC_TRUE; - break; - #endif - default: --- -2.1.4 - diff --git a/meta/recipes-connectivity/bind/bind/CVE-2016-2775.patch b/meta/recipes-connectivity/bind/bind/CVE-2016-2775.patch deleted file mode 100644 index 5393063..0000000 --- a/meta/recipes-connectivity/bind/bind/CVE-2016-2775.patch +++ /dev/null @@ -1,90 +0,0 @@ -From 9d8aba8a7778721ae2cee6e4670a8e6be6590b05 Mon Sep 17 00:00:00 2001 -From: Mark Andrews -Date: Wed, 12 Oct 2016 19:52:59 +0900 -Subject: [PATCH] -4406. [security] getrrsetbyname with a non absolute name could - trigger an infinite recursion bug in lwresd - and named with lwres configured if when combined - with a search list entry the resulting name is - too long. (CVE-2016-2775) [RT #42694] - -Backport commit 38cc2d14e218e536e0102fa70deef99461354232 from the -v9.11.0_patch branch. - -CVE: CVE-2016-2775 -Upstream-Status: Backport - -Signed-off-by: zhengruoqin - ---- - CHANGES | 6 ++++++ - bin/named/lwdgrbn.c | 16 ++++++++++------ - bin/tests/system/lwresd/lwtest.c | 9 ++++++++- - 3 files changed, 24 insertions(+), 7 deletions(-) - -diff --git a/CHANGES b/CHANGES -index d2e3360..d0a9d12 100644 ---- a/CHANGES -+++ b/CHANGES -@@ -1,3 +1,9 @@ -+4406. [security] getrrsetbyname with a non absolute name could -+ trigger an infinite recursion bug in lwresd -+ and named with lwres configured if when combined -+ with a search list entry the resulting name is -+ too long. (CVE-2016-2775) [RT #42694] -+ - 4322. [security] Duplicate EDNS COOKIE options in a response could - trigger an assertion failure. (CVE-2016-2088) - [RT #41809] -diff --git a/bin/named/lwdgrbn.c b/bin/named/lwdgrbn.c -index 3e7b15b..e1e9adc 100644 ---- a/bin/named/lwdgrbn.c -+++ b/bin/named/lwdgrbn.c -@@ -403,14 +403,18 @@ start_lookup(ns_lwdclient_t *client) { - INSIST(client->lookup == NULL); - - dns_fixedname_init(&absname); -- result = ns_lwsearchctx_current(&client->searchctx, -- dns_fixedname_name(&absname)); -+ - /* -- * This will return failure if relative name + suffix is too long. -- * In this case, just go on to the next entry in the search path. -+ * Perform search across all search domains until success -+ * is returned. Return in case of failure. - */ -- if (result != ISC_R_SUCCESS) -- start_lookup(client); -+ while (ns_lwsearchctx_current(&client->searchctx, -+ dns_fixedname_name(&absname)) != ISC_R_SUCCESS) { -+ if (ns_lwsearchctx_next(&client->searchctx) != ISC_R_SUCCESS) { -+ ns_lwdclient_errorpktsend(client, LWRES_R_FAILURE); -+ return; -+ } -+ } - - result = dns_lookup_create(cm->mctx, - dns_fixedname_name(&absname), -diff --git a/bin/tests/system/lwresd/lwtest.c b/bin/tests/system/lwresd/lwtest.c -index ad9b551..3eb4a66 100644 ---- a/bin/tests/system/lwresd/lwtest.c -+++ b/bin/tests/system/lwresd/lwtest.c -@@ -768,7 +768,14 @@ main(void) { - test_getrrsetbyname("e.example1.", 1, 2, 1, 1, 1); - test_getrrsetbyname("e.example1.", 1, 46, 2, 0, 1); - test_getrrsetbyname("", 1, 1, 0, 0, 0); -- -+ test_getrrsetbyname("123456789.123456789.123456789.123456789." -+ "123456789.123456789.123456789.123456789." -+ "123456789.123456789.123456789.123456789." -+ "123456789.123456789.123456789.123456789." -+ "123456789.123456789.123456789.123456789." -+ "123456789.123456789.123456789.123456789." -+ "123456789", 1, 1, 0, 0, 0); -+ - if (fails == 0) - printf("I:ok\n"); - return (fails); --- -2.7.4 - diff --git a/meta/recipes-connectivity/bind/bind/CVE-2016-2776.patch b/meta/recipes-connectivity/bind/bind/CVE-2016-2776.patch deleted file mode 100644 index 738bf60..0000000 --- a/meta/recipes-connectivity/bind/bind/CVE-2016-2776.patch +++ /dev/null @@ -1,123 +0,0 @@ -From 1171111657081970585f9f0e03b476358c33a6c0 Mon Sep 17 00:00:00 2001 -From: Mark Andrews -Date: Wed, 12 Oct 2016 20:36:52 +0900 -Subject: [PATCH] -4467. [security] It was possible to trigger an assertion when - rendering a message. (CVE-2016-2776) [RT #43139] - -Backport commit 2bd0922cf995b9ac205fc83baf7e220b95c6bf12 from the -v9.11.0_patch branch. - -CVE: CVE-2016-2776 -Upstream-Status: Backport - -Signed-off-by: zhengruoqin - ---- - CHANGES | 3 +++ - lib/dns/message.c | 42 +++++++++++++++++++++++++++++++----------- - 2 files changed, 34 insertions(+), 11 deletions(-) - -diff --git a/CHANGES b/CHANGES -index d0a9d12..5c8c61a 100644 ---- a/CHANGES -+++ b/CHANGES -@@ -1,3 +1,6 @@ -+4467. [security] It was possible to trigger an assertion when -+ rendering a message. (CVE-2016-2776) [RT #43139] -+ - 4406. [security] getrrsetbyname with a non absolute name could - trigger an infinite recursion bug in lwresd - and named with lwres configured if when combined -diff --git a/lib/dns/message.c b/lib/dns/message.c -index 6b5b4bb..b74dc81 100644 ---- a/lib/dns/message.c -+++ b/lib/dns/message.c -@@ -1754,7 +1754,7 @@ dns_message_renderbegin(dns_message_t *msg, dns_compress_t *cctx, - if (r.length < DNS_MESSAGE_HEADERLEN) - return (ISC_R_NOSPACE); - -- if (r.length < msg->reserved) -+ if (r.length - DNS_MESSAGE_HEADERLEN < msg->reserved) - return (ISC_R_NOSPACE); - - /* -@@ -1895,8 +1895,29 @@ norender_rdataset(const dns_rdataset_t *rdataset, unsigned int options, - - return (ISC_TRUE); - } -- - #endif -+ -+static isc_result_t -+renderset(dns_rdataset_t *rdataset, dns_name_t *owner_name, -+ dns_compress_t *cctx, isc_buffer_t *target, -+ unsigned int reserved, unsigned int options, unsigned int *countp) -+{ -+ isc_result_t result; -+ -+ /* -+ * Shrink the space in the buffer by the reserved amount. -+ */ -+ if (target->length - target->used < reserved) -+ return (ISC_R_NOSPACE); -+ -+ target->length -= reserved; -+ result = dns_rdataset_towire(rdataset, owner_name, -+ cctx, target, options, countp); -+ target->length += reserved; -+ -+ return (result); -+} -+ - isc_result_t - dns_message_rendersection(dns_message_t *msg, dns_section_t sectionid, - unsigned int options) -@@ -1939,6 +1960,8 @@ dns_message_rendersection(dns_message_t *msg, dns_section_t sectionid, - /* - * Shrink the space in the buffer by the reserved amount. - */ -+ if (msg->buffer->length - msg->buffer->used < msg->reserved) -+ return (ISC_R_NOSPACE); - msg->buffer->length -= msg->reserved; - - total = 0; -@@ -2214,9 +2237,8 @@ dns_message_renderend(dns_message_t *msg) { - * Render. - */ - count = 0; -- result = dns_rdataset_towire(msg->opt, dns_rootname, -- msg->cctx, msg->buffer, 0, -- &count); -+ result = renderset(msg->opt, dns_rootname, msg->cctx, -+ msg->buffer, msg->reserved, 0, &count); - msg->counts[DNS_SECTION_ADDITIONAL] += count; - if (result != ISC_R_SUCCESS) - return (result); -@@ -2232,9 +2254,8 @@ dns_message_renderend(dns_message_t *msg) { - if (result != ISC_R_SUCCESS) - return (result); - count = 0; -- result = dns_rdataset_towire(msg->tsig, msg->tsigname, -- msg->cctx, msg->buffer, 0, -- &count); -+ result = renderset(msg->tsig, msg->tsigname, msg->cctx, -+ msg->buffer, msg->reserved, 0, &count); - msg->counts[DNS_SECTION_ADDITIONAL] += count; - if (result != ISC_R_SUCCESS) - return (result); -@@ -2255,9 +2276,8 @@ dns_message_renderend(dns_message_t *msg) { - * the owner name of a SIG(0) is irrelevant, and will not - * be set in a message being rendered. - */ -- result = dns_rdataset_towire(msg->sig0, dns_rootname, -- msg->cctx, msg->buffer, 0, -- &count); -+ result = renderset(msg->sig0, dns_rootname, msg->cctx, -+ msg->buffer, msg->reserved, 0, &count); - msg->counts[DNS_SECTION_ADDITIONAL] += count; - if (result != ISC_R_SUCCESS) - return (result); --- -2.7.4 - diff --git a/meta/recipes-connectivity/bind/bind/CVE-2016-6170.patch b/meta/recipes-connectivity/bind/bind/CVE-2016-6170.patch deleted file mode 100644 index 75bc211..0000000 --- a/meta/recipes-connectivity/bind/bind/CVE-2016-6170.patch +++ /dev/null @@ -1,1090 +0,0 @@ -From 1bbcfe2fc84f57b1e4e075fb3bc2a1dd0a3a851f Mon Sep 17 00:00:00 2001 -From: Mark Andrews -Date: Wed, 2 Nov 2016 17:31:27 +1100 -Subject: [PATCH] 4504. [security] Allow the maximum number of records in a - zone to be specified. This provides a control for issues raised in - CVE-2016-6170. [RT #42143] - -(cherry picked from commit 5f8412a4cb5ee14a0e8cddd4107854b40ee3291e) - -Upstream-Status: Backport -[https://source.isc.org/cgi-bin/gitweb.cgi?p=bind9.git;a=commit;h=1bbcfe2fc84f57b1e4e075fb3bc2a1dd0a3a851f] - -CVE: CVE-2016-6170 - -Signed-off-by: Yi Zhao ---- - CHANGES | 4 + - bin/named/config.c | 1 + - bin/named/named.conf.docbook | 3 + - bin/named/update.c | 16 +++ - bin/named/zoneconf.c | 7 ++ - bin/tests/system/nsupdate/clean.sh | 1 + - bin/tests/system/nsupdate/ns3/named.conf | 7 ++ - bin/tests/system/nsupdate/ns3/too-big.test.db.in | 10 ++ - bin/tests/system/nsupdate/setup.sh | 2 + - bin/tests/system/nsupdate/tests.sh | 15 +++ - bin/tests/system/xfer/clean.sh | 1 + - bin/tests/system/xfer/ns1/axfr-too-big.db | 10 ++ - bin/tests/system/xfer/ns1/ixfr-too-big.db.in | 13 +++ - bin/tests/system/xfer/ns1/named.conf | 11 ++ - bin/tests/system/xfer/ns6/named.conf | 14 +++ - bin/tests/system/xfer/setup.sh | 2 + - bin/tests/system/xfer/tests.sh | 26 +++++ - doc/arm/Bv9ARM-book.xml | 21 ++++ - doc/arm/notes.xml | 9 ++ - lib/bind9/check.c | 2 + - lib/dns/db.c | 13 +++ - lib/dns/ecdb.c | 3 +- - lib/dns/include/dns/db.h | 20 ++++ - lib/dns/include/dns/rdataslab.h | 13 +++ - lib/dns/include/dns/result.h | 6 +- - lib/dns/include/dns/zone.h | 28 ++++- - lib/dns/rbtdb.c | 127 +++++++++++++++++++++-- - lib/dns/rdataslab.c | 13 +++ - lib/dns/result.c | 9 +- - lib/dns/sdb.c | 3 +- - lib/dns/sdlz.c | 3 +- - lib/dns/xfrin.c | 22 +++- - lib/dns/zone.c | 23 +++- - lib/isccfg/namedconf.c | 1 + - 34 files changed, 444 insertions(+), 15 deletions(-) - create mode 100644 bin/tests/system/nsupdate/ns3/too-big.test.db.in - create mode 100644 bin/tests/system/xfer/ns1/axfr-too-big.db - create mode 100644 bin/tests/system/xfer/ns1/ixfr-too-big.db.in - -diff --git a/CHANGES b/CHANGES -index 41cfce5..97d2e60 100644 ---- a/CHANGES -+++ b/CHANGES -@@ -1,3 +1,7 @@ -+4504. [security] Allow the maximum number of records in a zone to -+ be specified. This provides a control for issues -+ raised in CVE-2016-6170. [RT #42143] -+ - 4489. [security] It was possible to trigger assertions when processing - a response. (CVE-2016-8864) [RT #43465] - -diff --git a/bin/named/config.c b/bin/named/config.c -index f06348c..c24e334 100644 ---- a/bin/named/config.c -+++ b/bin/named/config.c -@@ -209,6 +209,7 @@ options {\n\ - max-transfer-time-out 120;\n\ - max-transfer-idle-in 60;\n\ - max-transfer-idle-out 60;\n\ -+ max-records 0;\n\ - max-retry-time 1209600; /* 2 weeks */\n\ - min-retry-time 500;\n\ - max-refresh-time 2419200; /* 4 weeks */\n\ -diff --git a/bin/named/named.conf.docbook b/bin/named/named.conf.docbook -index 4c99a61..c2d173a 100644 ---- a/bin/named/named.conf.docbook -+++ b/bin/named/named.conf.docbook -@@ -338,6 +338,7 @@ options { - }; - - max-journal-size size_no_default; -+ max-records integer; - max-transfer-time-in integer; - max-transfer-time-out integer; - max-transfer-idle-in integer; -@@ -527,6 +528,7 @@ view string optional_class - }; - - max-journal-size size_no_default; -+ max-records integer; - max-transfer-time-in integer; - max-transfer-time-out integer; - max-transfer-idle-in integer; -@@ -624,6 +626,7 @@ zone string optional_class - }; - - max-journal-size size_no_default; -+ max-records integer; - max-transfer-time-in integer; - max-transfer-time-out integer; - max-transfer-idle-in integer; -diff --git a/bin/named/update.c b/bin/named/update.c -index 83b1a05..cc2a611 100644 ---- a/bin/named/update.c -+++ b/bin/named/update.c -@@ -2455,6 +2455,8 @@ update_action(isc_task_t *task, isc_event_t *event) { - isc_boolean_t had_dnskey; - dns_rdatatype_t privatetype = dns_zone_getprivatetype(zone); - dns_ttl_t maxttl = 0; -+ isc_uint32_t maxrecords; -+ isc_uint64_t records; - - INSIST(event->ev_type == DNS_EVENT_UPDATE); - -@@ -3138,6 +3140,20 @@ update_action(isc_task_t *task, isc_event_t *event) { - } - } - -+ maxrecords = dns_zone_getmaxrecords(zone); -+ if (maxrecords != 0U) { -+ result = dns_db_getsize(db, ver, &records, NULL); -+ if (result == ISC_R_SUCCESS && records > maxrecords) { -+ update_log(client, zone, ISC_LOG_ERROR, -+ "records in zone (%" -+ ISC_PRINT_QUADFORMAT -+ "u) exceeds max-records (%u)", -+ records, maxrecords); -+ result = DNS_R_TOOMANYRECORDS; -+ goto failure; -+ } -+ } -+ - journalfile = dns_zone_getjournal(zone); - if (journalfile != NULL) { - update_log(client, zone, LOGLEVEL_DEBUG, -diff --git a/bin/named/zoneconf.c b/bin/named/zoneconf.c -index 4ee3dfe..14dd8ce 100644 ---- a/bin/named/zoneconf.c -+++ b/bin/named/zoneconf.c -@@ -978,6 +978,13 @@ ns_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig, - dns_zone_setmaxttl(raw, maxttl); - } - -+ obj = NULL; -+ result = ns_config_get(maps, "max-records", &obj); -+ INSIST(result == ISC_R_SUCCESS && obj != NULL); -+ dns_zone_setmaxrecords(mayberaw, cfg_obj_asuint32(obj)); -+ if (zone != mayberaw) -+ dns_zone_setmaxrecords(zone, 0); -+ - if (raw != NULL && filename != NULL) { - #define SIGNED ".signed" - size_t signedlen = strlen(filename) + sizeof(SIGNED); -diff --git a/bin/tests/system/nsupdate/clean.sh b/bin/tests/system/nsupdate/clean.sh -index aaefc02..ea25545 100644 ---- a/bin/tests/system/nsupdate/clean.sh -+++ b/bin/tests/system/nsupdate/clean.sh -@@ -32,6 +32,7 @@ rm -f ns3/example.db.jnl ns3/example.db - rm -f ns3/nsec3param.test.db.signed.jnl ns3/nsec3param.test.db ns3/nsec3param.test.db.signed ns3/dsset-nsec3param.test. - rm -f ns3/dnskey.test.db.signed.jnl ns3/dnskey.test.db ns3/dnskey.test.db.signed ns3/dsset-dnskey.test. - rm -f ns3/K* -+rm -f ns3/too-big.test.db - rm -f dig.out.* - rm -f jp.out.ns3.* - rm -f Kxxx.* -diff --git a/bin/tests/system/nsupdate/ns3/named.conf b/bin/tests/system/nsupdate/ns3/named.conf -index 2abd522..68ff27a 100644 ---- a/bin/tests/system/nsupdate/ns3/named.conf -+++ b/bin/tests/system/nsupdate/ns3/named.conf -@@ -60,3 +60,10 @@ zone "dnskey.test" { - allow-update { any; }; - file "dnskey.test.db.signed"; - }; -+ -+zone "too-big.test" { -+ type master; -+ allow-update { any; }; -+ max-records 3; -+ file "too-big.test.db"; -+}; -diff --git a/bin/tests/system/nsupdate/ns3/too-big.test.db.in b/bin/tests/system/nsupdate/ns3/too-big.test.db.in -new file mode 100644 -index 0000000..7ff1e4a ---- /dev/null -+++ b/bin/tests/system/nsupdate/ns3/too-big.test.db.in -@@ -0,0 +1,10 @@ -+; Copyright (C) 2016 Internet Systems Consortium, Inc. ("ISC") -+; -+; This Source Code Form is subject to the terms of the Mozilla Public -+; License, v. 2.0. If a copy of the MPL was not distributed with this -+; file, You can obtain one at http://mozilla.org/MPL/2.0/. -+ -+$TTL 10 -+too-big.test. IN SOA too-big.test. hostmaster.too-big.test. 1 3600 900 2419200 3600 -+too-big.test. IN NS too-big.test. -+too-big.test. IN A 10.53.0.3 -diff --git a/bin/tests/system/nsupdate/setup.sh b/bin/tests/system/nsupdate/setup.sh -index 828255e..43c4094 100644 ---- a/bin/tests/system/nsupdate/setup.sh -+++ b/bin/tests/system/nsupdate/setup.sh -@@ -27,12 +27,14 @@ test -r $RANDFILE || $GENRANDOM 400 $RANDFILE - rm -f ns1/*.jnl ns1/example.db ns2/*.jnl ns2/example.bk - rm -f ns2/update.bk ns2/update.alt.bk - rm -f ns3/example.db.jnl -+rm -f ns3/too-big.test.db.jnl - - cp -f ns1/example1.db ns1/example.db - sed 's/example.nil/other.nil/g' ns1/example1.db > ns1/other.db - sed 's/example.nil/unixtime.nil/g' ns1/example1.db > ns1/unixtime.db - sed 's/example.nil/keytests.nil/g' ns1/example1.db > ns1/keytests.db - cp -f ns3/example.db.in ns3/example.db -+cp -f ns3/too-big.test.db.in ns3/too-big.test.db - - # update_test.pl has its own zone file because it - # requires a specific NS record set. -diff --git a/bin/tests/system/nsupdate/tests.sh b/bin/tests/system/nsupdate/tests.sh -index 78d501e..0a6bbd3 100755 ---- a/bin/tests/system/nsupdate/tests.sh -+++ b/bin/tests/system/nsupdate/tests.sh -@@ -581,5 +581,20 @@ if [ $ret -ne 0 ]; then - status=1 - fi - -+n=`expr $n + 1` -+echo "I:check that adding too many records is blocked ($n)" -+ret=0 -+$NSUPDATE -v << EOF > nsupdate.out-$n 2>&1 && ret=1 -+server 10.53.0.3 5300 -+zone too-big.test. -+update add r1.too-big.test 3600 IN TXT r1.too-big.test -+send -+EOF -+grep "update failed: SERVFAIL" nsupdate.out-$n > /dev/null || ret=1 -+DIG +tcp @10.53.0.3 -p 5300 r1.too-big.test TXT > dig.out.ns3.test$n -+grep "status: NXDOMAIN" dig.out.ns3.test$n > /dev/null || ret=1 -+grep "records in zone (4) exceeds max-records (3)" ns3/named.run > /dev/null || ret=1 -+[ $ret = 0 ] || { echo I:failed; status=1; } -+ - echo "I:exit status: $status" - exit $status -diff --git a/bin/tests/system/xfer/clean.sh b/bin/tests/system/xfer/clean.sh -index 48aa159..da62a33 100644 ---- a/bin/tests/system/xfer/clean.sh -+++ b/bin/tests/system/xfer/clean.sh -@@ -36,3 +36,4 @@ rm -f ns7/*.db ns7/*.bk ns7/*.jnl - rm -f */named.memstats - rm -f */named.run - rm -f */ans.run -+rm -f ns1/ixfr-too-big.db ns1/ixfr-too-big.db.jnl -diff --git a/bin/tests/system/xfer/ns1/axfr-too-big.db b/bin/tests/system/xfer/ns1/axfr-too-big.db -new file mode 100644 -index 0000000..d43760d ---- /dev/null -+++ b/bin/tests/system/xfer/ns1/axfr-too-big.db -@@ -0,0 +1,10 @@ -+; Copyright (C) 2016 Internet Systems Consortium, Inc. ("ISC") -+; -+; This Source Code Form is subject to the terms of the Mozilla Public -+; License, v. 2.0. If a copy of the MPL was not distributed with this -+; file, You can obtain one at http://mozilla.org/MPL/2.0/. -+ -+$TTL 3600 -+@ IN SOA . . 0 0 0 0 0 -+@ IN NS . -+$GENERATE 1-29 host$ A 1.2.3.$ -diff --git a/bin/tests/system/xfer/ns1/ixfr-too-big.db.in b/bin/tests/system/xfer/ns1/ixfr-too-big.db.in -new file mode 100644 -index 0000000..318bb77 ---- /dev/null -+++ b/bin/tests/system/xfer/ns1/ixfr-too-big.db.in -@@ -0,0 +1,13 @@ -+; Copyright (C) 2016 Internet Systems Consortium, Inc. ("ISC") -+; -+; This Source Code Form is subject to the terms of the Mozilla Public -+; License, v. 2.0. If a copy of the MPL was not distributed with this -+; file, You can obtain one at http://mozilla.org/MPL/2.0/. -+ -+$TTL 3600 -+@ IN SOA . . 0 0 0 0 0 -+@ IN NS ns1 -+@ IN NS ns6 -+ns1 IN A 10.53.0.1 -+ns6 IN A 10.53.0.6 -+$GENERATE 1-25 host$ A 1.2.3.$ -diff --git a/bin/tests/system/xfer/ns1/named.conf b/bin/tests/system/xfer/ns1/named.conf -index 07dad85..1d29292 100644 ---- a/bin/tests/system/xfer/ns1/named.conf -+++ b/bin/tests/system/xfer/ns1/named.conf -@@ -44,3 +44,14 @@ zone "slave" { - type master; - file "slave.db"; - }; -+ -+zone "axfr-too-big" { -+ type master; -+ file "axfr-too-big.db"; -+}; -+ -+zone "ixfr-too-big" { -+ type master; -+ allow-update { any; }; -+ file "ixfr-too-big.db"; -+}; -diff --git a/bin/tests/system/xfer/ns6/named.conf b/bin/tests/system/xfer/ns6/named.conf -index c9421b1..a12a92c 100644 ---- a/bin/tests/system/xfer/ns6/named.conf -+++ b/bin/tests/system/xfer/ns6/named.conf -@@ -52,3 +52,17 @@ zone "slave" { - masters { 10.53.0.1; }; - file "slave.bk"; - }; -+ -+zone "axfr-too-big" { -+ type slave; -+ max-records 30; -+ masters { 10.53.0.1; }; -+ file "axfr-too-big.bk"; -+}; -+ -+zone "ixfr-too-big" { -+ type slave; -+ max-records 30; -+ masters { 10.53.0.1; }; -+ file "ixfr-too-big.bk"; -+}; -diff --git a/bin/tests/system/xfer/setup.sh b/bin/tests/system/xfer/setup.sh -index 56ca901..c55abf8 100644 ---- a/bin/tests/system/xfer/setup.sh -+++ b/bin/tests/system/xfer/setup.sh -@@ -33,3 +33,5 @@ cp -f ns4/named.conf.base ns4/named.conf - - cp ns2/slave.db.in ns2/slave.db - touch -t 200101010000 ns2/slave.db -+ -+cp -f ns1/ixfr-too-big.db.in ns1/ixfr-too-big.db -diff --git a/bin/tests/system/xfer/tests.sh b/bin/tests/system/xfer/tests.sh -index 67b2a1a..fe33f0a 100644 ---- a/bin/tests/system/xfer/tests.sh -+++ b/bin/tests/system/xfer/tests.sh -@@ -368,5 +368,31 @@ $DIGCMD nil. TXT | grep 'incorrect key AXFR' >/dev/null && { - status=1 - } - -+n=`expr $n + 1` -+echo "I:test that a zone with too many records is rejected (AXFR) ($n)" -+tmp=0 -+grep "'axfr-too-big/IN'.*: too many records" ns6/named.run >/dev/null || tmp=1 -+if test $tmp != 0 ; then echo "I:failed"; fi -+status=`expr $status + $tmp` -+ -+n=`expr $n + 1` -+echo "I:test that a zone with too many records is rejected (IXFR) ($n)" -+tmp=0 -+grep "'ixfr-too-big./IN.*: too many records" ns6/named.run >/dev/null && tmp=1 -+$NSUPDATE << EOF -+zone ixfr-too-big -+server 10.53.0.1 5300 -+update add the-31st-record.ixfr-too-big 0 TXT this is it -+send -+EOF -+for i in 1 2 3 4 5 6 7 8 -+do -+ grep "'ixfr-too-big/IN'.*: too many records" ns6/named.run >/dev/null && break -+ sleep 1 -+done -+grep "'ixfr-too-big/IN'.*: too many records" ns6/named.run >/dev/null || tmp=1 -+if test $tmp != 0 ; then echo "I:failed"; fi -+status=`expr $status + $tmp` -+ - echo "I:exit status: $status" - exit $status -diff --git a/doc/arm/Bv9ARM-book.xml b/doc/arm/Bv9ARM-book.xml -index 848b582..0369505 100644 ---- a/doc/arm/Bv9ARM-book.xml -+++ b/doc/arm/Bv9ARM-book.xml -@@ -4858,6 +4858,7 @@ badresp:1,adberr:0,findfail:0,valfail:0] - use-queryport-pool yes_or_no; - queryport-pool-ports number; - queryport-pool-updateinterval number; -+ max-records number; - max-transfer-time-in number; - max-transfer-time-out number; - max-transfer-idle-in number; -@@ -8164,6 +8165,16 @@ avoid-v6-udp-ports { 40000; range 50000 60000; }; - - - -+ max-records -+ -+ -+ The maximum number of records permitted in a zone. -+ The default is zero which means unlimited. -+ -+ -+ -+ -+ - host-statistics-max - - -@@ -12056,6 +12067,16 @@ zone zone_name class - - -+ max-records -+ -+ -+ See the description of -+ max-records in . -+ -+ -+ -+ -+ - max-transfer-time-in - - -diff --git a/doc/arm/notes.xml b/doc/arm/notes.xml -index 095eb5b..36495e7 100644 ---- a/doc/arm/notes.xml -+++ b/doc/arm/notes.xml -@@ -52,6 +52,15 @@ - - - -+ Added the ability to specify the maximum number of records -+ permitted in a zone (max-records #;). This provides a mechanism -+ to block overly large zone transfers, which is a potential risk -+ with slave zones from other parties, as described in CVE-2016-6170. -+ [RT #42143] -+ -+ -+ -+ - Duplicate EDNS COOKIE options in a response could trigger - an assertion failure. This flaw is disclosed in CVE-2016-2088. - [RT #41809] -diff --git a/lib/bind9/check.c b/lib/bind9/check.c -index b8c05dd..edb7534 100644 ---- a/lib/bind9/check.c -+++ b/lib/bind9/check.c -@@ -1510,6 +1510,8 @@ check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions, - REDIRECTZONE }, - { "masters", SLAVEZONE | STUBZONE | REDIRECTZONE }, - { "max-ixfr-log-size", MASTERZONE | SLAVEZONE | STREDIRECTZONE }, -+ { "max-records", MASTERZONE | SLAVEZONE | STUBZONE | STREDIRECTZONE | -+ STATICSTUBZONE | REDIRECTZONE }, - { "max-refresh-time", SLAVEZONE | STUBZONE | STREDIRECTZONE }, - { "max-retry-time", SLAVEZONE | STUBZONE | STREDIRECTZONE }, - { "max-transfer-idle-in", SLAVEZONE | STUBZONE | STREDIRECTZONE }, -diff --git a/lib/dns/db.c b/lib/dns/db.c -index 7e4f357..ced94a5 100644 ---- a/lib/dns/db.c -+++ b/lib/dns/db.c -@@ -999,6 +999,19 @@ dns_db_getnsec3parameters(dns_db_t *db, dns_dbversion_t *version, - } - - isc_result_t -+dns_db_getsize(dns_db_t *db, dns_dbversion_t *version, isc_uint64_t *records, -+ isc_uint64_t *bytes) -+{ -+ REQUIRE(DNS_DB_VALID(db)); -+ REQUIRE(dns_db_iszone(db) == ISC_TRUE); -+ -+ if (db->methods->getsize != NULL) -+ return ((db->methods->getsize)(db, version, records, bytes)); -+ -+ return (ISC_R_NOTFOUND); -+} -+ -+isc_result_t - dns_db_setsigningtime(dns_db_t *db, dns_rdataset_t *rdataset, - isc_stdtime_t resign) - { -diff --git a/lib/dns/ecdb.c b/lib/dns/ecdb.c -index 553a339..b5d04d2 100644 ---- a/lib/dns/ecdb.c -+++ b/lib/dns/ecdb.c -@@ -587,7 +587,8 @@ static dns_dbmethods_t ecdb_methods = { - NULL, /* findnodeext */ - NULL, /* findext */ - NULL, /* setcachestats */ -- NULL /* hashsize */ -+ NULL, /* hashsize */ -+ NULL /* getsize */ - }; - - static isc_result_t -diff --git a/lib/dns/include/dns/db.h b/lib/dns/include/dns/db.h -index a4a4482..aff42d6 100644 ---- a/lib/dns/include/dns/db.h -+++ b/lib/dns/include/dns/db.h -@@ -195,6 +195,8 @@ typedef struct dns_dbmethods { - dns_rdataset_t *sigrdataset); - isc_result_t (*setcachestats)(dns_db_t *db, isc_stats_t *stats); - unsigned int (*hashsize)(dns_db_t *db); -+ isc_result_t (*getsize)(dns_db_t *db, dns_dbversion_t *version, -+ isc_uint64_t *records, isc_uint64_t *bytes); - } dns_dbmethods_t; - - typedef isc_result_t -@@ -1485,6 +1487,24 @@ dns_db_getnsec3parameters(dns_db_t *db, dns_dbversion_t *version, - */ - - isc_result_t -+dns_db_getsize(dns_db_t *db, dns_dbversion_t *version, isc_uint64_t *records, -+ isc_uint64_t *bytes); -+/*%< -+ * Get the number of records in the given version of the database as well -+ * as the number bytes used to store those records. -+ * -+ * Requires: -+ * \li 'db' is a valid zone database. -+ * \li 'version' is NULL or a valid version. -+ * \li 'records' is NULL or a pointer to return the record count in. -+ * \li 'bytes' is NULL or a pointer to return the byte count in. -+ * -+ * Returns: -+ * \li #ISC_R_SUCCESS -+ * \li #ISC_R_NOTIMPLEMENTED -+ */ -+ -+isc_result_t - dns_db_findnsec3node(dns_db_t *db, dns_name_t *name, - isc_boolean_t create, dns_dbnode_t **nodep); - /*%< -diff --git a/lib/dns/include/dns/rdataslab.h b/lib/dns/include/dns/rdataslab.h -index 3ac44b8..2e1e759 100644 ---- a/lib/dns/include/dns/rdataslab.h -+++ b/lib/dns/include/dns/rdataslab.h -@@ -104,6 +104,7 @@ dns_rdataslab_tordataset(unsigned char *slab, unsigned int reservelen, - * Ensures: - *\li 'rdataset' is associated and points to a valid rdataest. - */ -+ - unsigned int - dns_rdataslab_size(unsigned char *slab, unsigned int reservelen); - /*%< -@@ -116,6 +117,18 @@ dns_rdataslab_size(unsigned char *slab, unsigned int reservelen); - *\li The number of bytes in the slab, including the reservelen. - */ - -+unsigned int -+dns_rdataslab_count(unsigned char *slab, unsigned int reservelen); -+/*%< -+ * Return the number of records in the rdataslab -+ * -+ * Requires: -+ *\li 'slab' points to a slab. -+ * -+ * Returns: -+ *\li The number of records in the slab. -+ */ -+ - isc_result_t - dns_rdataslab_merge(unsigned char *oslab, unsigned char *nslab, - unsigned int reservelen, isc_mem_t *mctx, -diff --git a/lib/dns/include/dns/result.h b/lib/dns/include/dns/result.h -index 7d11c2b..93d1fd5 100644 ---- a/lib/dns/include/dns/result.h -+++ b/lib/dns/include/dns/result.h -@@ -157,8 +157,12 @@ - #define DNS_R_BADCDS (ISC_RESULTCLASS_DNS + 111) - #define DNS_R_BADCDNSKEY (ISC_RESULTCLASS_DNS + 112) - #define DNS_R_OPTERR (ISC_RESULTCLASS_DNS + 113) -+#define DNS_R_BADDNSTAP (ISC_RESULTCLASS_DNS + 114) -+#define DNS_R_BADTSIG (ISC_RESULTCLASS_DNS + 115) -+#define DNS_R_BADSIG0 (ISC_RESULTCLASS_DNS + 116) -+#define DNS_R_TOOMANYRECORDS (ISC_RESULTCLASS_DNS + 117) - --#define DNS_R_NRESULTS 114 /*%< Number of results */ -+#define DNS_R_NRESULTS 118 /*%< Number of results */ - - /* - * DNS wire format rcodes. -diff --git a/lib/dns/include/dns/zone.h b/lib/dns/include/dns/zone.h -index a9367f1..227540b 100644 ---- a/lib/dns/include/dns/zone.h -+++ b/lib/dns/include/dns/zone.h -@@ -296,6 +296,32 @@ dns_zone_getfile(dns_zone_t *zone); - */ - - void -+dns_zone_setmaxrecords(dns_zone_t *zone, isc_uint32_t records); -+/*%< -+ * Sets the maximim number of records permitted in a zone. -+ * 0 implies unlimited. -+ * -+ * Requires: -+ *\li 'zone' to be valid initialised zone. -+ * -+ * Returns: -+ *\li void -+ */ -+ -+isc_uint32_t -+dns_zone_getmaxrecords(dns_zone_t *zone); -+/*%< -+ * Gets the maximim number of records permitted in a zone. -+ * 0 implies unlimited. -+ * -+ * Requires: -+ *\li 'zone' to be valid initialised zone. -+ * -+ * Returns: -+ *\li isc_uint32_t maxrecords. -+ */ -+ -+void - dns_zone_setmaxttl(dns_zone_t *zone, isc_uint32_t maxttl); - /*%< - * Sets the max ttl of the zone. -@@ -316,7 +342,7 @@ dns_zone_getmaxttl(dns_zone_t *zone); - *\li 'zone' to be valid initialised zone. - * - * Returns: -- *\li isc_uint32_t maxttl. -+ *\li dns_ttl_t maxttl. - */ - - isc_result_t -diff --git a/lib/dns/rbtdb.c b/lib/dns/rbtdb.c -index 62becfc..72d722f 100644 ---- a/lib/dns/rbtdb.c -+++ b/lib/dns/rbtdb.c -@@ -209,6 +209,7 @@ typedef isc_uint64_t rbtdb_serial_t; - #define free_rbtdb_callback free_rbtdb_callback64 - #define free_rdataset free_rdataset64 - #define getnsec3parameters getnsec3parameters64 -+#define getsize getsize64 - #define getoriginnode getoriginnode64 - #define getrrsetstats getrrsetstats64 - #define getsigningtime getsigningtime64 -@@ -589,6 +590,13 @@ typedef struct rbtdb_version { - isc_uint16_t iterations; - isc_uint8_t salt_length; - unsigned char salt[DNS_NSEC3_SALTSIZE]; -+ -+ /* -+ * records and bytes are covered by rwlock. -+ */ -+ isc_rwlock_t rwlock; -+ isc_uint64_t records; -+ isc_uint64_t bytes; - } rbtdb_version_t; - - typedef ISC_LIST(rbtdb_version_t) rbtdb_versionlist_t; -@@ -1130,6 +1138,7 @@ free_rbtdb(dns_rbtdb_t *rbtdb, isc_boolean_t log, isc_event_t *event) { - INSIST(refs == 0); - UNLINK(rbtdb->open_versions, rbtdb->current_version, link); - isc_refcount_destroy(&rbtdb->current_version->references); -+ isc_rwlock_destroy(&rbtdb->current_version->rwlock); - isc_mem_put(rbtdb->common.mctx, rbtdb->current_version, - sizeof(rbtdb_version_t)); - } -@@ -1383,6 +1392,7 @@ allocate_version(isc_mem_t *mctx, rbtdb_serial_t serial, - - static isc_result_t - newversion(dns_db_t *db, dns_dbversion_t **versionp) { -+ isc_result_t result; - dns_rbtdb_t *rbtdb = (dns_rbtdb_t *)db; - rbtdb_version_t *version; - -@@ -1415,13 +1425,28 @@ newversion(dns_db_t *db, dns_dbversion_t **versionp) { - version->salt_length = 0; - memset(version->salt, 0, sizeof(version->salt)); - } -- rbtdb->next_serial++; -- rbtdb->future_version = version; -- } -+ result = isc_rwlock_init(&version->rwlock, 0, 0); -+ if (result != ISC_R_SUCCESS) { -+ isc_refcount_destroy(&version->references); -+ isc_mem_put(rbtdb->common.mctx, version, -+ sizeof(*version)); -+ version = NULL; -+ } else { -+ RWLOCK(&rbtdb->current_version->rwlock, -+ isc_rwlocktype_read); -+ version->records = rbtdb->current_version->records; -+ version->bytes = rbtdb->current_version->bytes; -+ RWUNLOCK(&rbtdb->current_version->rwlock, -+ isc_rwlocktype_read); -+ rbtdb->next_serial++; -+ rbtdb->future_version = version; -+ } -+ } else -+ result = ISC_R_NOMEMORY; - RBTDB_UNLOCK(&rbtdb->lock, isc_rwlocktype_write); - - if (version == NULL) -- return (ISC_R_NOMEMORY); -+ return (result); - - *versionp = version; - -@@ -2681,6 +2706,7 @@ closeversion(dns_db_t *db, dns_dbversion_t **versionp, isc_boolean_t commit) { - - if (cleanup_version != NULL) { - INSIST(EMPTY(cleanup_version->changed_list)); -+ isc_rwlock_destroy(&cleanup_version->rwlock); - isc_mem_put(rbtdb->common.mctx, cleanup_version, - sizeof(*cleanup_version)); - } -@@ -6254,6 +6280,26 @@ add32(dns_rbtdb_t *rbtdb, dns_rbtnode_t *rbtnode, rbtdb_version_t *rbtversion, - else - rbtnode->data = newheader; - newheader->next = topheader->next; -+ if (rbtversion != NULL) -+ RWLOCK(&rbtversion->rwlock, isc_rwlocktype_write); -+ if (rbtversion != NULL && !header_nx) { -+ rbtversion->records -= -+ dns_rdataslab_count((unsigned char *)header, -+ sizeof(*header)); -+ rbtversion->bytes -= -+ dns_rdataslab_size((unsigned char *)header, -+ sizeof(*header)); -+ } -+ if (rbtversion != NULL && !newheader_nx) { -+ rbtversion->records += -+ dns_rdataslab_count((unsigned char *)newheader, -+ sizeof(*newheader)); -+ rbtversion->bytes += -+ dns_rdataslab_size((unsigned char *)newheader, -+ sizeof(*newheader)); -+ } -+ if (rbtversion != NULL) -+ RWUNLOCK(&rbtversion->rwlock, isc_rwlocktype_write); - if (loading) { - /* - * There are no other references to 'header' when -@@ -6355,6 +6401,16 @@ add32(dns_rbtdb_t *rbtdb, dns_rbtnode_t *rbtnode, rbtdb_version_t *rbtversion, - newheader->down = NULL; - rbtnode->data = newheader; - } -+ if (rbtversion != NULL && !newheader_nx) { -+ RWLOCK(&rbtversion->rwlock, isc_rwlocktype_write); -+ rbtversion->records += -+ dns_rdataslab_count((unsigned char *)newheader, -+ sizeof(*newheader)); -+ rbtversion->bytes += -+ dns_rdataslab_size((unsigned char *)newheader, -+ sizeof(*newheader)); -+ RWUNLOCK(&rbtversion->rwlock, isc_rwlocktype_write); -+ } - idx = newheader->node->locknum; - if (IS_CACHE(rbtdb)) { - ISC_LIST_PREPEND(rbtdb->rdatasets[idx], -@@ -6811,6 +6867,12 @@ subtractrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, - */ - newheader->additional_auth = NULL; - newheader->additional_glue = NULL; -+ rbtversion->records += -+ dns_rdataslab_count((unsigned char *)newheader, -+ sizeof(*newheader)); -+ rbtversion->bytes += -+ dns_rdataslab_size((unsigned char *)newheader, -+ sizeof(*newheader)); - } else if (result == DNS_R_NXRRSET) { - /* - * This subtraction would remove all of the rdata; -@@ -6846,6 +6908,12 @@ subtractrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, - * topheader. - */ - INSIST(rbtversion->serial >= topheader->serial); -+ rbtversion->records -= -+ dns_rdataslab_count((unsigned char *)header, -+ sizeof(*header)); -+ rbtversion->bytes -= -+ dns_rdataslab_size((unsigned char *)header, -+ sizeof(*header)); - if (topheader_prev != NULL) - topheader_prev->next = newheader; - else -@@ -7172,6 +7240,7 @@ rbt_datafixer(dns_rbtnode_t *rbtnode, void *base, size_t filesize, - unsigned char *limit = ((unsigned char *) base) + filesize; - unsigned char *p; - size_t size; -+ unsigned int count; - - REQUIRE(rbtnode != NULL); - -@@ -7179,6 +7248,9 @@ rbt_datafixer(dns_rbtnode_t *rbtnode, void *base, size_t filesize, - p = (unsigned char *) header; - - size = dns_rdataslab_size(p, sizeof(*header)); -+ count = dns_rdataslab_count(p, sizeof(*header));; -+ rbtdb->current_version->records += count; -+ rbtdb->current_version->bytes += size; - isc_crc64_update(crc, p, size); - #ifdef DEBUG - hexdump("hashing header", p, sizeof(rdatasetheader_t)); -@@ -7777,6 +7849,33 @@ getnsec3parameters(dns_db_t *db, dns_dbversion_t *version, dns_hash_t *hash, - } - - static isc_result_t -+getsize(dns_db_t *db, dns_dbversion_t *version, isc_uint64_t *records, -+ isc_uint64_t *bytes) -+{ -+ dns_rbtdb_t *rbtdb; -+ isc_result_t result = ISC_R_SUCCESS; -+ rbtdb_version_t *rbtversion = version; -+ -+ rbtdb = (dns_rbtdb_t *)db; -+ -+ REQUIRE(VALID_RBTDB(rbtdb)); -+ INSIST(rbtversion == NULL || rbtversion->rbtdb == rbtdb); -+ -+ if (rbtversion == NULL) -+ rbtversion = rbtdb->current_version; -+ -+ RWLOCK(&rbtversion->rwlock, isc_rwlocktype_read); -+ if (records != NULL) -+ *records = rbtversion->records; -+ -+ if (bytes != NULL) -+ *bytes = rbtversion->bytes; -+ RWUNLOCK(&rbtversion->rwlock, isc_rwlocktype_read); -+ -+ return (result); -+} -+ -+static isc_result_t - setsigningtime(dns_db_t *db, dns_rdataset_t *rdataset, isc_stdtime_t resign) { - dns_rbtdb_t *rbtdb = (dns_rbtdb_t *)db; - isc_stdtime_t oldresign; -@@ -7972,7 +8071,8 @@ static dns_dbmethods_t zone_methods = { - NULL, - NULL, - NULL, -- hashsize -+ hashsize, -+ getsize - }; - - static dns_dbmethods_t cache_methods = { -@@ -8018,7 +8118,8 @@ static dns_dbmethods_t cache_methods = { - NULL, - NULL, - setcachestats, -- hashsize -+ hashsize, -+ NULL - }; - - isc_result_t -@@ -8310,6 +8411,20 @@ dns_rbtdb_create - rbtdb->current_version->salt_length = 0; - memset(rbtdb->current_version->salt, 0, - sizeof(rbtdb->current_version->salt)); -+ result = isc_rwlock_init(&rbtdb->current_version->rwlock, 0, 0); -+ if (result != ISC_R_SUCCESS) { -+ isc_refcount_destroy(&rbtdb->current_version->references); -+ isc_mem_put(mctx, rbtdb->current_version, -+ sizeof(*rbtdb->current_version)); -+ rbtdb->current_version = NULL; -+ isc_refcount_decrement(&rbtdb->references, NULL); -+ isc_refcount_destroy(&rbtdb->references); -+ free_rbtdb(rbtdb, ISC_FALSE, NULL); -+ return (result); -+ } -+ -+ rbtdb->current_version->records = 0; -+ rbtdb->current_version->bytes = 0; - rbtdb->future_version = NULL; - ISC_LIST_INIT(rbtdb->open_versions); - /* -diff --git a/lib/dns/rdataslab.c b/lib/dns/rdataslab.c -index e29dc84..63e3728 100644 ---- a/lib/dns/rdataslab.c -+++ b/lib/dns/rdataslab.c -@@ -523,6 +523,19 @@ dns_rdataslab_size(unsigned char *slab, unsigned int reservelen) { - return ((unsigned int)(current - slab)); - } - -+unsigned int -+dns_rdataslab_count(unsigned char *slab, unsigned int reservelen) { -+ unsigned int count; -+ unsigned char *current; -+ -+ REQUIRE(slab != NULL); -+ -+ current = slab + reservelen; -+ count = *current++ * 256; -+ count += *current++; -+ return (count); -+} -+ - /* - * Make the dns_rdata_t 'rdata' refer to the slab item - * beginning at '*current', which is part of a slab of type -diff --git a/lib/dns/result.c b/lib/dns/result.c -index 7be4f57..a621909 100644 ---- a/lib/dns/result.c -+++ b/lib/dns/result.c -@@ -167,11 +167,16 @@ static const char *text[DNS_R_NRESULTS] = { - "covered by negative trust anchor", /*%< 110 DNS_R_NTACOVERED */ - "bad CDS", /*%< 111 DNS_R_BADCSD */ - "bad CDNSKEY", /*%< 112 DNS_R_BADCDNSKEY */ -- "malformed OPT option" /*%< 113 DNS_R_OPTERR */ -+ "malformed OPT option", /*%< 113 DNS_R_OPTERR */ -+ "malformed DNSTAP data", /*%< 114 DNS_R_BADDNSTAP */ -+ -+ "TSIG in wrong location", /*%< 115 DNS_R_BADTSIG */ -+ "SIG(0) in wrong location", /*%< 116 DNS_R_BADSIG0 */ -+ "too many records", /*%< 117 DNS_R_TOOMANYRECORDS */ - }; - - static const char *rcode_text[DNS_R_NRCODERESULTS] = { -- "NOERROR", /*%< 0 DNS_R_NOEROR */ -+ "NOERROR", /*%< 0 DNS_R_NOERROR */ - "FORMERR", /*%< 1 DNS_R_FORMERR */ - "SERVFAIL", /*%< 2 DNS_R_SERVFAIL */ - "NXDOMAIN", /*%< 3 DNS_R_NXDOMAIN */ -diff --git a/lib/dns/sdb.c b/lib/dns/sdb.c -index abfeeb0..19397e0 100644 ---- a/lib/dns/sdb.c -+++ b/lib/dns/sdb.c -@@ -1298,7 +1298,8 @@ static dns_dbmethods_t sdb_methods = { - findnodeext, - findext, - NULL, /* setcachestats */ -- NULL /* hashsize */ -+ NULL, /* hashsize */ -+ NULL /* getsize */ - }; - - static isc_result_t -diff --git a/lib/dns/sdlz.c b/lib/dns/sdlz.c -index b1198a4..0e3163d 100644 ---- a/lib/dns/sdlz.c -+++ b/lib/dns/sdlz.c -@@ -1269,7 +1269,8 @@ static dns_dbmethods_t sdlzdb_methods = { - findnodeext, - findext, - NULL, /* setcachestats */ -- NULL /* hashsize */ -+ NULL, /* hashsize */ -+ NULL /* getsize */ - }; - - /* -diff --git a/lib/dns/xfrin.c b/lib/dns/xfrin.c -index 2a6c1b4..ac566e1 100644 ---- a/lib/dns/xfrin.c -+++ b/lib/dns/xfrin.c -@@ -149,6 +149,9 @@ struct dns_xfrin_ctx { - unsigned int nrecs; /*%< Number of records recvd */ - isc_uint64_t nbytes; /*%< Number of bytes received */ - -+ unsigned int maxrecords; /*%< The maximum number of -+ records set for the zone */ -+ - isc_time_t start; /*%< Start time of the transfer */ - isc_time_t end; /*%< End time of the transfer */ - -@@ -309,10 +312,18 @@ axfr_putdata(dns_xfrin_ctx_t *xfr, dns_diffop_t op, - static isc_result_t - axfr_apply(dns_xfrin_ctx_t *xfr) { - isc_result_t result; -+ isc_uint64_t records; - - CHECK(dns_diff_load(&xfr->diff, xfr->axfr.add, xfr->axfr.add_private)); - xfr->difflen = 0; - dns_diff_clear(&xfr->diff); -+ if (xfr->maxrecords != 0U) { -+ result = dns_db_getsize(xfr->db, xfr->ver, &records, NULL); -+ if (result == ISC_R_SUCCESS && records > xfr->maxrecords) { -+ result = DNS_R_TOOMANYRECORDS; -+ goto failure; -+ } -+ } - result = ISC_R_SUCCESS; - failure: - return (result); -@@ -396,6 +407,7 @@ ixfr_putdata(dns_xfrin_ctx_t *xfr, dns_diffop_t op, - static isc_result_t - ixfr_apply(dns_xfrin_ctx_t *xfr) { - isc_result_t result; -+ isc_uint64_t records; - - if (xfr->ver == NULL) { - CHECK(dns_db_newversion(xfr->db, &xfr->ver)); -@@ -403,6 +415,13 @@ ixfr_apply(dns_xfrin_ctx_t *xfr) { - CHECK(dns_journal_begin_transaction(xfr->ixfr.journal)); - } - CHECK(dns_diff_apply(&xfr->diff, xfr->db, xfr->ver)); -+ if (xfr->maxrecords != 0U) { -+ result = dns_db_getsize(xfr->db, xfr->ver, &records, NULL); -+ if (result == ISC_R_SUCCESS && records > xfr->maxrecords) { -+ result = DNS_R_TOOMANYRECORDS; -+ goto failure; -+ } -+ } - if (xfr->ixfr.journal != NULL) { - result = dns_journal_writediff(xfr->ixfr.journal, &xfr->diff); - if (result != ISC_R_SUCCESS) -@@ -759,7 +778,7 @@ xfrin_reset(dns_xfrin_ctx_t *xfr) { - - static void - xfrin_fail(dns_xfrin_ctx_t *xfr, isc_result_t result, const char *msg) { -- if (result != DNS_R_UPTODATE) { -+ if (result != DNS_R_UPTODATE && result != DNS_R_TOOMANYRECORDS) { - xfrin_log(xfr, ISC_LOG_ERROR, "%s: %s", - msg, isc_result_totext(result)); - if (xfr->is_ixfr) -@@ -852,6 +871,7 @@ xfrin_create(isc_mem_t *mctx, - xfr->nmsg = 0; - xfr->nrecs = 0; - xfr->nbytes = 0; -+ xfr->maxrecords = dns_zone_getmaxrecords(zone); - isc_time_now(&xfr->start); - - xfr->tsigkey = NULL; -diff --git a/lib/dns/zone.c b/lib/dns/zone.c -index 90e558d..2b0d8e4 100644 ---- a/lib/dns/zone.c -+++ b/lib/dns/zone.c -@@ -253,6 +253,8 @@ struct dns_zone { - isc_uint32_t maxretry; - isc_uint32_t minretry; - -+ isc_uint32_t maxrecords; -+ - isc_sockaddr_t *masters; - isc_dscp_t *masterdscps; - dns_name_t **masterkeynames; -@@ -10088,6 +10090,20 @@ dns_zone_setmaxretrytime(dns_zone_t *zone, isc_uint32_t val) { - zone->maxretry = val; - } - -+isc_uint32_t -+dns_zone_getmaxrecords(dns_zone_t *zone) { -+ REQUIRE(DNS_ZONE_VALID(zone)); -+ -+ return (zone->maxrecords); -+} -+ -+void -+dns_zone_setmaxrecords(dns_zone_t *zone, isc_uint32_t val) { -+ REQUIRE(DNS_ZONE_VALID(zone)); -+ -+ zone->maxrecords = val; -+} -+ - static isc_boolean_t - notify_isqueued(dns_zone_t *zone, unsigned int flags, dns_name_t *name, - isc_sockaddr_t *addr, dns_tsigkey_t *key) -@@ -14431,7 +14447,7 @@ zone_xfrdone(dns_zone_t *zone, isc_result_t result) { - DNS_ZONE_CLRFLAG(zone, DNS_ZONEFLG_SOABEFOREAXFR); - - TIME_NOW(&now); -- switch (result) { -+ switch (xfrresult) { - case ISC_R_SUCCESS: - DNS_ZONE_SETFLAG(zone, DNS_ZONEFLG_NEEDNOTIFY); - /*FALLTHROUGH*/ -@@ -14558,6 +14574,11 @@ zone_xfrdone(dns_zone_t *zone, isc_result_t result) { - DNS_ZONE_SETFLAG(zone, DNS_ZONEFLAG_NOIXFR); - goto same_master; - -+ case DNS_R_TOOMANYRECORDS: -+ DNS_ZONE_JITTER_ADD(&now, zone->refresh, &zone->refreshtime); -+ inc_stats(zone, dns_zonestatscounter_xfrfail); -+ break; -+ - default: - next_master: - /* -diff --git a/lib/isccfg/namedconf.c b/lib/isccfg/namedconf.c -index 780ab46..e7ff1cc 100644 ---- a/lib/isccfg/namedconf.c -+++ b/lib/isccfg/namedconf.c -@@ -1679,6 +1679,7 @@ zone_clauses[] = { - { "masterfile-format", &cfg_type_masterformat, 0 }, - { "max-ixfr-log-size", &cfg_type_size, CFG_CLAUSEFLAG_OBSOLETE }, - { "max-journal-size", &cfg_type_sizenodefault, 0 }, -+ { "max-records", &cfg_type_uint32, 0 }, - { "max-refresh-time", &cfg_type_uint32, 0 }, - { "max-retry-time", &cfg_type_uint32, 0 }, - { "max-transfer-idle-in", &cfg_type_uint32, 0 }, --- -2.7.4 - diff --git a/meta/recipes-connectivity/bind/bind/CVE-2016-8864.patch b/meta/recipes-connectivity/bind/bind/CVE-2016-8864.patch deleted file mode 100644 index b52d680..0000000 --- a/meta/recipes-connectivity/bind/bind/CVE-2016-8864.patch +++ /dev/null @@ -1,219 +0,0 @@ -From c1d0599a246f646d1c22018f8fa09459270a44b8 Mon Sep 17 00:00:00 2001 -From: Mark Andrews -Date: Fri, 21 Oct 2016 14:55:10 +1100 -Subject: [PATCH] 4489. [security] It was possible to trigger assertions when - processing a response. (CVE-2016-8864) [RT #43465] - -(cherry picked from commit bd6f27f5c353133b563fe69100b2f168c129f3ca) - -Upstream-Status: Backport -[https://source.isc.org/cgi-bin/gitweb.cgi?p=bind9.git;a=commit;h=c1d0599a246f646d1c22018f8fa09459270a44b8] - -CVE: CVE-2016-8864 - -Signed-off-by: Yi Zhao ---- - CHANGES | 3 +++ - lib/dns/resolver.c | 69 +++++++++++++++++++++++++++++++++++++----------------- - 2 files changed, 50 insertions(+), 22 deletions(-) - -diff --git a/CHANGES b/CHANGES -index 5c8c61a..41cfce5 100644 ---- a/CHANGES -+++ b/CHANGES -@@ -1,3 +1,6 @@ -+4489. [security] It was possible to trigger assertions when processing -+ a response. (CVE-2016-8864) [RT #43465] -+ - 4467. [security] It was possible to trigger an assertion when - rendering a message. (CVE-2016-2776) [RT #43139] - -diff --git a/lib/dns/resolver.c b/lib/dns/resolver.c -index ba1ae23..13c8b44 100644 ---- a/lib/dns/resolver.c -+++ b/lib/dns/resolver.c -@@ -612,7 +612,9 @@ valcreate(fetchctx_t *fctx, dns_adbaddrinfo_t *addrinfo, dns_name_t *name, - valarg->addrinfo = addrinfo; - - if (!ISC_LIST_EMPTY(fctx->validators)) -- INSIST((valoptions & DNS_VALIDATOR_DEFER) != 0); -+ valoptions |= DNS_VALIDATOR_DEFER; -+ else -+ valoptions &= ~DNS_VALIDATOR_DEFER; - - result = dns_validator_create(fctx->res->view, name, type, rdataset, - sigrdataset, fctx->rmessage, -@@ -5526,13 +5528,6 @@ cache_name(fetchctx_t *fctx, dns_name_t *name, dns_adbaddrinfo_t *addrinfo, - rdataset, - sigrdataset, - valoptions, task); -- /* -- * Defer any further validations. -- * This prevents multiple validators -- * from manipulating fctx->rmessage -- * simultaneously. -- */ -- valoptions |= DNS_VALIDATOR_DEFER; - } - } else if (CHAINING(rdataset)) { - if (rdataset->type == dns_rdatatype_cname) -@@ -5647,6 +5642,11 @@ cache_name(fetchctx_t *fctx, dns_name_t *name, dns_adbaddrinfo_t *addrinfo, - eresult == DNS_R_NCACHENXRRSET); - } - event->result = eresult; -+ if (adbp != NULL && *adbp != NULL) { -+ if (anodep != NULL && *anodep != NULL) -+ dns_db_detachnode(*adbp, anodep); -+ dns_db_detach(adbp); -+ } - dns_db_attach(fctx->cache, adbp); - dns_db_transfernode(fctx->cache, &node, anodep); - clone_results(fctx); -@@ -5897,6 +5897,11 @@ ncache_message(fetchctx_t *fctx, dns_adbaddrinfo_t *addrinfo, - fctx->attributes |= FCTX_ATTR_HAVEANSWER; - if (event != NULL) { - event->result = eresult; -+ if (adbp != NULL && *adbp != NULL) { -+ if (anodep != NULL && *anodep != NULL) -+ dns_db_detachnode(*adbp, anodep); -+ dns_db_detach(adbp); -+ } - dns_db_attach(fctx->cache, adbp); - dns_db_transfernode(fctx->cache, &node, anodep); - clone_results(fctx); -@@ -6718,13 +6723,15 @@ static isc_result_t - answer_response(fetchctx_t *fctx) { - isc_result_t result; - dns_message_t *message; -- dns_name_t *name, *dname, *qname, tname, *ns_name; -+ dns_name_t *name, *dname = NULL, *qname, *dqname, tname, *ns_name; -+ dns_name_t *cname = NULL; - dns_rdataset_t *rdataset, *ns_rdataset; - isc_boolean_t done, external, chaining, aa, found, want_chaining; -- isc_boolean_t have_answer, found_cname, found_type, wanted_chaining; -+ isc_boolean_t have_answer, found_cname, found_dname, found_type; -+ isc_boolean_t wanted_chaining; - unsigned int aflag; - dns_rdatatype_t type; -- dns_fixedname_t fdname, fqname; -+ dns_fixedname_t fdname, fqname, fqdname; - dns_view_t *view; - - FCTXTRACE("answer_response"); -@@ -6738,6 +6745,7 @@ answer_response(fetchctx_t *fctx) { - - done = ISC_FALSE; - found_cname = ISC_FALSE; -+ found_dname = ISC_FALSE; - found_type = ISC_FALSE; - chaining = ISC_FALSE; - have_answer = ISC_FALSE; -@@ -6747,12 +6755,13 @@ answer_response(fetchctx_t *fctx) { - aa = ISC_TRUE; - else - aa = ISC_FALSE; -- qname = &fctx->name; -+ dqname = qname = &fctx->name; - type = fctx->type; - view = fctx->res->view; -+ dns_fixedname_init(&fqdname); - result = dns_message_firstname(message, DNS_SECTION_ANSWER); - while (!done && result == ISC_R_SUCCESS) { -- dns_namereln_t namereln; -+ dns_namereln_t namereln, dnamereln; - int order; - unsigned int nlabels; - -@@ -6760,6 +6769,8 @@ answer_response(fetchctx_t *fctx) { - dns_message_currentname(message, DNS_SECTION_ANSWER, &name); - external = ISC_TF(!dns_name_issubdomain(name, &fctx->domain)); - namereln = dns_name_fullcompare(qname, name, &order, &nlabels); -+ dnamereln = dns_name_fullcompare(dqname, name, &order, -+ &nlabels); - if (namereln == dns_namereln_equal) { - wanted_chaining = ISC_FALSE; - for (rdataset = ISC_LIST_HEAD(name->list); -@@ -6854,7 +6865,7 @@ answer_response(fetchctx_t *fctx) { - } - } else if (rdataset->type == dns_rdatatype_rrsig - && rdataset->covers == -- dns_rdatatype_cname -+ dns_rdatatype_cname - && !found_type) { - /* - * We're looking for something else, -@@ -6884,11 +6895,18 @@ answer_response(fetchctx_t *fctx) { - * a CNAME or DNAME). - */ - INSIST(!external); -- if (aflag == -- DNS_RDATASETATTR_ANSWER) { -+ if ((rdataset->type != -+ dns_rdatatype_cname) || -+ !found_dname || -+ (aflag == -+ DNS_RDATASETATTR_ANSWER)) -+ { - have_answer = ISC_TRUE; -+ if (rdataset->type == -+ dns_rdatatype_cname) -+ cname = name; - name->attributes |= -- DNS_NAMEATTR_ANSWER; -+ DNS_NAMEATTR_ANSWER; - } - rdataset->attributes |= aflag; - if (aa) -@@ -6982,11 +7000,11 @@ answer_response(fetchctx_t *fctx) { - return (DNS_R_FORMERR); - } - -- if (namereln != dns_namereln_subdomain) { -+ if (dnamereln != dns_namereln_subdomain) { - char qbuf[DNS_NAME_FORMATSIZE]; - char obuf[DNS_NAME_FORMATSIZE]; - -- dns_name_format(qname, qbuf, -+ dns_name_format(dqname, qbuf, - sizeof(qbuf)); - dns_name_format(name, obuf, - sizeof(obuf)); -@@ -7001,7 +7019,7 @@ answer_response(fetchctx_t *fctx) { - want_chaining = ISC_TRUE; - POST(want_chaining); - aflag = DNS_RDATASETATTR_ANSWER; -- result = dname_target(rdataset, qname, -+ result = dname_target(rdataset, dqname, - nlabels, &fdname); - if (result == ISC_R_NOSPACE) { - /* -@@ -7018,10 +7036,13 @@ answer_response(fetchctx_t *fctx) { - - dname = dns_fixedname_name(&fdname); - if (!is_answertarget_allowed(view, -- qname, rdataset->type, -- dname, &fctx->domain)) { -+ dqname, rdataset->type, -+ dname, &fctx->domain)) -+ { - return (DNS_R_SERVFAIL); - } -+ dqname = dns_fixedname_name(&fqdname); -+ dns_name_copy(dname, dqname, NULL); - } else { - /* - * We've found a signature that -@@ -7046,6 +7067,10 @@ answer_response(fetchctx_t *fctx) { - INSIST(!external); - if (aflag == DNS_RDATASETATTR_ANSWER) { - have_answer = ISC_TRUE; -+ found_dname = ISC_TRUE; -+ if (cname != NULL) -+ cname->attributes &= -+ ~DNS_NAMEATTR_ANSWER; - name->attributes |= - DNS_NAMEATTR_ANSWER; - } --- -2.7.4 - diff --git a/meta/recipes-connectivity/bind/bind/bind-confgen-build-unix.o-once.patch b/meta/recipes-connectivity/bind/bind/bind-confgen-build-unix.o-once.patch index 096d5d8..8bc4ea3 100644 --- a/meta/recipes-connectivity/bind/bind/bind-confgen-build-unix.o-once.patch +++ b/meta/recipes-connectivity/bind/bind/bind-confgen-build-unix.o-once.patch @@ -17,24 +17,28 @@ problem. Upstream-Status: Pending Signed-off-by: Robert Yang + +Update context(trailing whitespace) for version 9.10.5-P3. + +Signed-off-by: Kai Kang --- bin/confgen/Makefile.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bin/confgen/Makefile.in b/bin/confgen/Makefile.in -index 8b3e5aa..4868a24 100644 +index dca272f..02becce 100644 --- a/bin/confgen/Makefile.in +++ b/bin/confgen/Makefile.in @@ -74,11 +74,11 @@ rndc-confgen. at O@: rndc-confgen.c ddns-confgen. at O@: ddns-confgen.c ${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} -c ${srcdir}/ddns-confgen.c --rndc-confgen at EXEEXT@: rndc-confgen. at O@ util. at O@ keygen. at O@ ${UOBJS} ${CONFDEPLIBS} +-rndc-confgen at EXEEXT@: rndc-confgen. at O@ util. at O@ keygen. at O@ ${UOBJS} ${CONFDEPLIBS} +rndc-confgen at EXEEXT@: rndc-confgen. at O@ util. at O@ keygen. at O@ ${CONFDEPLIBS} $(SUBDIRS) export BASEOBJS="rndc-confgen. at O@ util. at O@ keygen. at O@ ${UOBJS}"; \ ${FINALBUILDCMD} --ddns-confgen at EXEEXT@: ddns-confgen. at O@ util. at O@ keygen. at O@ ${UOBJS} ${CONFDEPLIBS} +-ddns-confgen at EXEEXT@: ddns-confgen. at O@ util. at O@ keygen. at O@ ${UOBJS} ${CONFDEPLIBS} +ddns-confgen at EXEEXT@: ddns-confgen. at O@ util. at O@ keygen. at O@ ${CONFDEPLIBS} $(SUBDIRS) export BASEOBJS="ddns-confgen. at O@ util. at O@ keygen. at O@ ${UOBJS}"; \ ${FINALBUILDCMD} diff --git a/meta/recipes-connectivity/bind/bind/mips1-not-support-opcode.diff b/meta/recipes-connectivity/bind/bind/mips1-not-support-opcode.diff deleted file mode 100644 index 2930796..0000000 --- a/meta/recipes-connectivity/bind/bind/mips1-not-support-opcode.diff +++ /dev/null @@ -1,104 +0,0 @@ -bind: port a patch to fix a build failure - -mips1 does not support ll and sc instructions, and lead to below error, now -we port a patch from debian to fix it -[http://security.debian.org/debian-security/pool/updates/main/b/bind9/bind9_9.8.4.dfsg.P1-6+nmu2+deb7u1.diff.gz] - -| {standard input}: Assembler messages: -| {standard input}:47: Error: Opcode not supported on this processor: mips1 (mips1) `ll $3,0($6)' -| {standard input}:50: Error: Opcode not supported on this processor: mips1 (mips1) `sc $3,0($6)' - -Upstream-Status: Pending - -Signed-off-by: Roy Li - ---- bind9-9.8.4.dfsg.P1.orig/lib/isc/mips/include/isc/atomic.h -+++ bind9-9.8.4.dfsg.P1/lib/isc/mips/include/isc/atomic.h -@@ -31,18 +31,20 @@ - isc_atomic_xadd(isc_int32_t *p, int val) { - isc_int32_t orig; - -- /* add is a cheat, since MIPS has no mov instruction */ -- __asm__ volatile ( -- "1:" -- "ll $3, %1\n" -- "add %0, $0, $3\n" -- "add $3, $3, %2\n" -- "sc $3, %1\n" -- "beq $3, 0, 1b" -- : "=&r"(orig) -- : "m"(*p), "r"(val) -- : "memory", "$3" -- ); -+ __asm__ __volatile__ ( -+ " .set push \n" -+ " .set mips2 \n" -+ " .set noreorder \n" -+ " .set noat \n" -+ "1: ll $1, %1 \n" -+ " addu %0, $1, %2 \n" -+ " sc %0, %1 \n" -+ " beqz %0, 1b \n" -+ " move %0, $1 \n" -+ " .set pop \n" -+ : "=&r" (orig), "+R" (*p) -+ : "r" (val) -+ : "memory"); - - return (orig); - } -@@ -52,16 +54,7 @@ - */ - static inline void - isc_atomic_store(isc_int32_t *p, isc_int32_t val) { -- __asm__ volatile ( -- "1:" -- "ll $3, %0\n" -- "add $3, $0, %1\n" -- "sc $3, %0\n" -- "beq $3, 0, 1b" -- : -- : "m"(*p), "r"(val) -- : "memory", "$3" -- ); -+ *p = val; - } - - /* -@@ -72,20 +65,23 @@ - static inline isc_int32_t - isc_atomic_cmpxchg(isc_int32_t *p, int cmpval, int val) { - isc_int32_t orig; -+ isc_int32_t tmp; - -- __asm__ volatile( -- "1:" -- "ll $3, %1\n" -- "add %0, $0, $3\n" -- "bne $3, %2, 2f\n" -- "add $3, $0, %3\n" -- "sc $3, %1\n" -- "beq $3, 0, 1b\n" -- "2:" -- : "=&r"(orig) -- : "m"(*p), "r"(cmpval), "r"(val) -- : "memory", "$3" -- ); -+ __asm__ __volatile__ ( -+ " .set push \n" -+ " .set mips2 \n" -+ " .set noreorder \n" -+ " .set noat \n" -+ "1: ll $1, %1 \n" -+ " bne $1, %3, 2f \n" -+ " move %2, %4 \n" -+ " sc %2, %1 \n" -+ " beqz %2, 1b \n" -+ "2: move %0, $1 \n" -+ " .set pop \n" -+ : "=&r"(orig), "+R" (*p), "=r" (tmp) -+ : "r"(cmpval), "r"(val) -+ : "memory"); - - return (orig); - } diff --git a/meta/recipes-connectivity/bind/bind/use-python3-and-fix-install-lib-path.patch b/meta/recipes-connectivity/bind/bind/use-python3-and-fix-install-lib-path.patch new file mode 100644 index 0000000..9829f15 --- /dev/null +++ b/meta/recipes-connectivity/bind/bind/use-python3-and-fix-install-lib-path.patch @@ -0,0 +1,36 @@ +Use python3 rather default python which maybe links to python2 for oe. And add +option for setup.py to install files to right directory. + +Upstream-Status: Inappropriate [OE specific] + +Signed-off-by: Kai Kang +--- +diff --git a/bin/python/Makefile.in b/bin/python/Makefile.in +index a43a3c1..2e727f2 100644 +--- a/bin/python/Makefile.in ++++ b/bin/python/Makefile.in +@@ -55,9 +55,9 @@ install:: ${TARGETS} installdirs + ${INSTALL_DATA} ${srcdir}/dnssec-coverage.8 ${DESTDIR}${mandir}/man8 + if test -n "${PYTHON}" ; then \ + if test -n "${DESTDIR}" ; then \ +- ${PYTHON} ${srcdir}/setup.py install --root=${DESTDIR} --prefix=${prefix} ; \ ++ ${PYTHON} ${srcdir}/setup.py install --root=${DESTDIR} --prefix=${prefix} --install-lib=${PYTHON_SITEPACKAGES_DIR} ; \ + else \ +- ${PYTHON} ${srcdir}/setup.py install --prefix=${prefix} ; \ ++ ${PYTHON} ${srcdir}/setup.py install --prefix=${prefix} --install-lib=${PYTHON_SITEPACKAGES_DIR} ; \ + fi \ + fi + +diff --git a/configure.in b/configure.in +index 314bb90..867923e 100644 +--- a/configure.in ++++ b/configure.in +@@ -227,7 +227,7 @@ AC_ARG_WITH(python, + [ --with-python=PATH specify path to python interpreter], + use_python="$withval", use_python="unspec") + +-python="python python3 python3.5 python3.4 python3.3 python3.2 python2 python2.7" ++python="python3 python3.5 python3.4 python3.3 python3.2 python2 python2.7" + + testargparse='try: import argparse + except: exit(1)' diff --git a/meta/recipes-connectivity/bind/bind_9.10.3-P3.bb b/meta/recipes-connectivity/bind/bind_9.10.5-P3.bb similarity index 85% rename from meta/recipes-connectivity/bind/bind_9.10.3-P3.bb rename to meta/recipes-connectivity/bind/bind_9.10.5-P3.bb index 7eb79b0..e6e1e8d 100644 --- a/meta/recipes-connectivity/bind/bind_9.10.3-P3.bb +++ b/meta/recipes-connectivity/bind/bind_9.10.5-P3.bb @@ -3,14 +3,13 @@ HOMEPAGE = "http://www.isc.org/sw/bind/" SECTION = "console/network" LICENSE = "ISC & BSD" -LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=0a95f52a0ab6c5f52dedc9a45e7abb3f" +LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=dba46507446198119bcde32a4feaab43" DEPENDS = "openssl libcap" SRC_URI = "ftp://ftp.isc.org/isc/bind9/${PV}/${BPN}-${PV}.tar.gz \ file://conf.patch \ file://make-etc-initd-bind-stop-work.patch \ - file://mips1-not-support-opcode.diff \ file://dont-test-on-host.patch \ file://generate-rndc-key.sh \ file://named.service \ @@ -21,21 +20,14 @@ SRC_URI = "ftp://ftp.isc.org/isc/bind9/${PV}/${BPN}-${PV}.tar.gz \ file://bind-ensure-searching-for-json-headers-searches-sysr.patch \ file://0001-gen.c-extend-DIRNAMESIZE-from-256-to-512.patch \ file://0001-lib-dns-gen.c-fix-too-long-error.patch \ - file://CVE-2016-1285.patch \ - file://CVE-2016-1286_1.patch \ - file://CVE-2016-1286_2.patch \ - file://CVE-2016-2088.patch \ - file://CVE-2016-2775.patch \ - file://CVE-2016-2776.patch \ - file://CVE-2016-8864.patch \ - file://CVE-2016-6170.patch \ + file://use-python3-and-fix-install-lib-path.patch \ " UPSTREAM_CHECK_URI = "ftp://ftp.isc.org/isc/bind9/" UPSTREAM_CHECK_REGEX = "(?P9(\.\d+)+(-P\d+)*)/" -SRC_URI[md5sum] = "bcf7e772b616f7259420a3edc5df350a" -SRC_URI[sha256sum] = "690810d1fbb72afa629e74638d19cd44e28d2b2e5eb63f55c705ad85d1a4cb83" +SRC_URI[md5sum] = "d79cafbd9ac76239ee532dd89d05cc83" +SRC_URI[sha256sum] = "8d7e96b5b0bbac7b900d4c4bbb82e0956b4e509433c5fa392bb72a929b96606a" ENABLE_IPV6 = "--enable-ipv6=${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'yes', 'no', d)}" EXTRA_OECONF = " ${ENABLE_IPV6} --with-libtool --enable-threads \ @@ -44,7 +36,10 @@ EXTRA_OECONF = " ${ENABLE_IPV6} --with-libtool --enable-threads \ --sysconfdir=${sysconfdir}/bind \ --with-openssl=${STAGING_LIBDIR}/.. \ " -inherit autotools update-rc.d systemd useradd pkgconfig + +inherit autotools update-rc.d systemd useradd pkgconfig python3-dir + +export PYTHON_SITEPACKAGES_DIR # PACKAGECONFIGs readline and libedit should NOT be set at same time PACKAGECONFIG ?= "readline" @@ -70,7 +65,7 @@ RDEPENDS_${PN}-dev = "" PACKAGE_BEFORE_PN += "${PN}-utils" FILES_${PN}-utils = "${bindir}/host ${bindir}/dig" FILES_${PN}-dev += "${bindir}/isc-config.h" -FILES_${PN} += "${sbindir}/generate-rndc-key.sh" +FILES_${PN} += "${sbindir}/generate-rndc-key.sh ${PYTHON_SITEPACKAGES_DIR}" do_install_prepend() { # clean host path in isc-config.sh before the hardlink created @@ -107,6 +102,8 @@ do_install_append() { install -d ${D}${sysconfdir}/tmpfiles.d echo "d /run/named 0755 bind bind - -" > ${D}${sysconfdir}/tmpfiles.d/bind.conf fi + + rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/isc/*.pyc } CONFFILES_${PN} = " \ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:03:07 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:03:07 +0000 Subject: [oe-commits] [openembedded-core] 58/64: apr: 1.5.2 -> 1.6.2 In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130212.0A9FA233578@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 88e7f5c25f1e303b9d68fe25d7e785b9412c6138 Author: Fan Xin AuthorDate: Thu Jul 13 17:34:51 2017 +0900 apr: 1.5.2 -> 1.6.2 Update apr from 1.5.2 to 1.6.2 Signed-off-by: Fan Xin Signed-off-by: Ross Burton --- meta/recipes-support/apr/{apr_1.5.2.bb => apr_1.6.2.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-support/apr/apr_1.5.2.bb b/meta/recipes-support/apr/apr_1.6.2.bb similarity index 96% rename from meta/recipes-support/apr/apr_1.5.2.bb rename to meta/recipes-support/apr/apr_1.6.2.bb index 992b561..e2eed53 100644 --- a/meta/recipes-support/apr/apr_1.5.2.bb +++ b/meta/recipes-support/apr/apr_1.6.2.bb @@ -21,8 +21,8 @@ SRC_URI = "${APACHE_MIRROR}/apr/${BPN}-${PV}.tar.bz2 \ file://0002-explicitly-link-libapr-against-phtread-to-make-gold-.patch \ " -SRC_URI[md5sum] = "4e9769f3349fe11fc0a5e1b224c236aa" -SRC_URI[sha256sum] = "7d03ed29c22a7152be45b8e50431063736df9e1daa1ddf93f6a547ba7a28f67a" +SRC_URI[md5sum] = "e81a851967c79b5ce9bfbc909e4bf735" +SRC_URI[sha256sum] = "09109cea377bab0028bba19a92b5b0e89603df9eab05c0f7dbd4dd83d48dcebd" inherit autotools-brokensep lib_package binconfig multilib_header ptest -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:03:12 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:03:12 +0000 Subject: [oe-commits] [openembedded-core] 63/64: gnome-desktop: Don't use gnome-common In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130212.2C3F023359F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 9c3e4be45268d4ba91558751d0a35858aed53f27 Author: Jussi Kukkonen AuthorDate: Fri Jul 14 15:39:55 2017 +0300 gnome-desktop: Don't use gnome-common Add a patch to no use gnome-common macros Signed-off-by: Jussi Kukkonen Signed-off-by: Ross Burton --- ...figure.ac-Remove-gnome-common-macro-calls.patch | 33 ++++++++++++++++++++++ .../gnome-desktop/gnome-desktop3_3.24.2.bb | 6 ++-- 2 files changed, 37 insertions(+), 2 deletions(-) diff --git a/meta/recipes-gnome/gnome-desktop/gnome-desktop/0001-configure.ac-Remove-gnome-common-macro-calls.patch b/meta/recipes-gnome/gnome-desktop/gnome-desktop/0001-configure.ac-Remove-gnome-common-macro-calls.patch new file mode 100644 index 0000000..e95393c --- /dev/null +++ b/meta/recipes-gnome/gnome-desktop/gnome-desktop/0001-configure.ac-Remove-gnome-common-macro-calls.patch @@ -0,0 +1,33 @@ +From 834bc861921fe0361f2d6a5b5716fc97a9519478 Mon Sep 17 00:00:00 2001 +From: Jussi Kukkonen +Date: Thu, 6 Jul 2017 13:13:45 +0300 +Subject: [PATCH] configure.ac: Remove gnome-common macro calls + +gnome-common is deprecated and these aren't doing much for us. + +Upstreamable fix would probably involve using autoconf-archive: +Trying to avoid that dependency for now. + +Upstream-Status: Inappropriate +Signed-off-by: Jussi Kukkonen +--- + configure.ac | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 7adcf0e..bb7659d 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -71,9 +71,6 @@ AC_SUBST(GNOME_DATE) + AC_SUBST(GNOME_DATE_COMMENT_START) + AC_SUBST(GNOME_DATE_COMMENT_END) + +-GNOME_COMPILE_WARNINGS([maximum]) +-GNOME_MAINTAINER_MODE_DEFINES +- + AC_ARG_ENABLE(deprecation_flags, + [AC_HELP_STRING([--enable-deprecation-flags], + [use *_DISABLE_DEPRECATED flags @<:@default=no@:>@])],, +-- +2.1.4 + diff --git a/meta/recipes-gnome/gnome-desktop/gnome-desktop3_3.24.2.bb b/meta/recipes-gnome/gnome-desktop/gnome-desktop3_3.24.2.bb index 24d23ba..5c1c213 100644 --- a/meta/recipes-gnome/gnome-desktop/gnome-desktop3_3.24.2.bb +++ b/meta/recipes-gnome/gnome-desktop/gnome-desktop3_3.24.2.bb @@ -10,9 +10,11 @@ inherit gnome pkgconfig upstream-version-is-even gobject-introspection SRC_URI[archive.md5sum] = "af7c6a243df7a335a010bdc05b34ca93" SRC_URI[archive.sha256sum] = "8fa1de66a6a75963bffc79b01a60434c71237d44c51beca09c0f714a032d785e" -SRC_URI += "file://gnome-desktop-thumbnail-don-t-convert-time_t-to-long.patch" +SRC_URI += "file://gnome-desktop-thumbnail-don-t-convert-time_t-to-long.patch \ + file://0001-configure.ac-Remove-gnome-common-macro-calls.patch \ +" -DEPENDS += "intltool-native gnome-common-native gsettings-desktop-schemas gconf virtual/libx11 gtk+3 glib-2.0 startup-notification xkeyboard-config iso-codes udev" +DEPENDS += "intltool-native gsettings-desktop-schemas gconf virtual/libx11 gtk+3 glib-2.0 startup-notification xkeyboard-config iso-codes udev" inherit distro_features_check gtk-doc REQUIRED_DISTRO_FEATURES = "x11" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:03:13 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:03:13 +0000 Subject: [oe-commits] [openembedded-core] 64/64: webkitgtk: Upgrade to 2.16.5 In-Reply-To: <150029652997.508.9935287269759859769@git.openembedded.org> References: <150029652997.508.9935287269759859769@git.openembedded.org> Message-ID: <20170717130212.33467233539@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit ef68005a8c527e9b1d05b7769f0ec8ebe9ec3f91 Author: Carlos Alberto Lopez Perez AuthorDate: Thu Jul 13 14:49:54 2017 +0200 webkitgtk: Upgrade to 2.16.5 Adjust some dependencies: libgcrypt is now required (instead of gnutls) and the following build deps where missing: gettext-native, glib-2.0 and glib-2.0-native. Also the CMake argument ENABLE_CREDENTIAL_STORAGE has been renamed to USE_LIBSECRET. This new upstream release (2.16.4 actually) includes security fixes for CVE: CVE-2017-2538 Signed-off-by: Carlos Alberto Lopez Perez Signed-off-by: Ross Burton --- .../webkit/{webkitgtk_2.16.3.bb => webkitgtk_2.16.5.bb} | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/meta/recipes-sato/webkit/webkitgtk_2.16.3.bb b/meta/recipes-sato/webkit/webkitgtk_2.16.5.bb similarity index 94% rename from meta/recipes-sato/webkit/webkitgtk_2.16.3.bb rename to meta/recipes-sato/webkit/webkitgtk_2.16.5.bb index 5feca17..dcaf8a6 100644 --- a/meta/recipes-sato/webkit/webkitgtk_2.16.3.bb +++ b/meta/recipes-sato/webkit/webkitgtk_2.16.5.bb @@ -22,19 +22,21 @@ SRC_URI = "http://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \ file://gcc7.patch \ file://detect-atomics-during-configure.patch \ " -SRC_URI[md5sum] = "34dbbcad8a87a929519d93c67edd6d87" -SRC_URI[sha256sum] = "204e9131da0101b9bc8765716e70a897121af04b964d9827cd9f20816a77b512" + +SRC_URI[md5sum] = "fce72dc89cd310a663d9eb97133861fe" +SRC_URI[sha256sum] = "8e0396f3428e757898c5856e642eed4fcd5a20ae03d96d3eaa03b76634be7dd4" inherit cmake pkgconfig gobject-introspection perlnative distro_features_check upstream-version-is-even gtk-doc # depends on libxt REQUIRED_DISTRO_FEATURES = "x11" -DEPENDS = "zlib libsoup-2.4 curl libxml2 cairo libxslt libxt libidn gnutls \ +DEPENDS = "zlib libsoup-2.4 curl libxml2 cairo libxslt libxt libidn libgcrypt \ gtk+3 gstreamer1.0 gstreamer1.0-plugins-base flex-native gperf-native sqlite3 \ pango icu bison-native gawk intltool-native libwebp \ atk udev harfbuzz jpeg libpng pulseaudio librsvg libtheora libvorbis libxcomposite libxtst \ ruby-native libnotify gstreamer1.0-plugins-bad \ + gettext-native glib-2.0 glib-2.0-native \ " PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'wayland' ,d)} \ @@ -51,7 +53,7 @@ PACKAGECONFIG[gtk2] = "-DENABLE_PLUGIN_PROCESS_GTK2=ON,-DENABLE_PLUGIN_PROCESS_G PACKAGECONFIG[gles2] = "-DENABLE_GLES2=ON,-DENABLE_GLES2=OFF,virtual/libgles2" PACKAGECONFIG[webgl] = "-DENABLE_WEBGL=ON,-DENABLE_WEBGL=OFF,virtual/libgl" PACKAGECONFIG[opengl] = "-DENABLE_OPENGL=ON,-DENABLE_OPENGL=OFF,virtual/libgl" -PACKAGECONFIG[libsecret] = "-DENABLE_CREDENTIAL_STORAGE=ON,-DENABLE_CREDENTIAL_STORAGE=OFF,libsecret" +PACKAGECONFIG[libsecret] = "-DUSE_LIBSECRET=ON,-DUSE_LIBSECRET=OFF,libsecret" PACKAGECONFIG[libhyphen] = "-DUSE_LIBHYPHEN=ON,-DUSE_LIBHYPHEN=OFF,libhyphen" EXTRA_OECMAKE = " \ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 13:03:56 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 13:03:56 +0000 Subject: [oe-commits] [openembedded-core] branch master-next updated (b1c4661 -> ef68005) Message-ID: <150029663604.3268.17108458536287477664@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master-next in repository openembedded-core. from b1c4661 libiconv: remove 0001-Fix-link-error-when-compiling-with-gcc-O0.patch add a779a38 runqemu: reworked exception handling add dac68d2 runqemu: check exit code of 'ls -t' add 1e05d48 x86-base: build only hddimg, rather than iso and hddimg, for x86 machines add 1742771 distrooverrides.bbclass: fix default configuration add ef33a31 ccache: don't export CCACHE_DISABLE globally add 59e1264 bitbake.conf: add CCACHE_NOHASHDIR to hash whitelist add 408c5c0 ccache: let ccache create CCACHE_DIR, reducing hash changes add ffeca7d lib/oe/sstatesig: exclude ccache-native from signature hashes add 20ce04f classes/sanity: check for case-sensitive file systems add 2b30dcd image_types: remove Hob convenience variable add aed3ceb distro_alias.inc: update unmap packages to other distro add 18b5257 live-vm-common: add MKDOSFS_EXTRAOPTS variable add 33ca15b wic: get rid of using wic-tools add fc12ce9 wic: isoimage: do not remove temp directory add 522ac21 wic: build wic-tools only if wic is run manually add ad02f25 wic: isoimage-isohybrid: check result of glob() add 47b5695 wic-tools: don't create wic-tools.env add 01fc318 image_types_wic: set default WKS_FILE_DEPENDS add 9a17092 wic: isoimage-isohybrid: use grub-efi from deploy dir add b7bcc4b selftest: fixed 5 wic test cases add 9db3dbd imagefeatures: add test_image_fstypes test case add 1f8fc80 image_types: fix squashfs-lzo and squashfs-xz builds add 2fda41c gpg_sign.py: fix overwriting the RPM macro __gpg in a wrong way add 95b9ee3 sign_rpm: support signing files in RPM payload add 42a0fce acpitests: Remove as unmaintained add 88a6fa3 vulkan-demos: Add recipe add 910c16e selftest: Add vulkan-demos to checkpkg exceptions add c2bc26a libx11: fix build error add 844d477 libxt: fix build failure add f84614c gcc-cross: Fix linker and fortran symlinks add 979888c gcc-7.1: Update the libsanitize stack_t patch to upstreamed version add 4c38908 valgrind: fix link failure with gold add 99e00dc valgrind: Update 3.12.0 -> 3.13.0 add cd1a123 valgrind: fix ptest compilation for PowerPC add 00cd51e libarchive: Upgrade to 3.3.2 release add db5cac9 wayland-protocols: upgrade to 1.9 add 0cd2fc8 recipetool: git reformat URI mangling & parameter stripped add 20c1209 gnu-efi: Upgrade package to 3.0.6 and refresh patches add 6455aa2 automake: 1.15 -> 1.15.1 add 2a8a10a debianutils: 4.8.1 -> 4.8.1.1 add f759420 git: 2.11.1 -> 2.13.2 add 6a079bf mesa: Avoid installing khrplatfrom.h when not needed add fa3e2b4 mesa-gl: Clean recipe add 19e793f mesa: fix build race on src/intel/vulkan add 9606524 kernel-yocto: propagate configuration errors to bbclass add 6bd4f85 kernel-yocto/meta: smp configuration changes add 976c260 linux-yocto/4.1: update to v4.1.42 add ab2721f linux-yocto/4.4: update to v4.4.76 add d9d950b linux-yocto/4.9: update to v4.9.36 add 26aaa6c linux-yocto-dev: bump to 4.12+ add 9ee6a0a bind: 9.10.3-P3 -> 9.10.5-P3 add 7d3e734 dhcp: fix shutdown not work by SIGTERM while bind9 enable threads add 1ad3253 util-linux: fix "su -" and package su separately add 4511a52 base-files: ignore "mesg n" error messages add 9b2e3b8 dropbear: reduce local pending patches add 29e55fe chrpath: reduce local pending patches add 79212fe ethtool: Upgrade to 4.11 add 88e7f5c apr: 1.5.2 -> 1.6.2 add 1be785e libbsd: 0.8.3 -> 0.8.5 add 99392e3 libgcrypt: upgrade to 1.7.7 add 77ac45c matchbox-desktop: Upgrade to 2.2 add 22525a7 python3-pygobject: Don't use gnome-common add 9c3e4be gnome-desktop: Don't use gnome-common add ef68005 webkitgtk: Upgrade to 2.16.5 No new revisions were added by this update. Summary of changes: meta-selftest/files/distrodata/checkpkg_exceptions | 1 + meta/classes/ccache.bbclass | 4 - meta/classes/distrooverrides.bbclass | 4 +- meta/classes/image-live.bbclass | 4 +- meta/classes/image-vm.bbclass | 2 +- meta/classes/image_types.bbclass | 7 +- meta/classes/image_types_wic.bbclass | 11 +- meta/classes/kernel-yocto.bbclass | 3 +- meta/classes/live-vm-common.bbclass | 2 + meta/classes/sanity.bbclass | 12 + meta/classes/sign_rpm.bbclass | 20 +- meta/conf/bitbake.conf | 5 +- meta/conf/distro/include/distro_alias.inc | 7 + meta/conf/machine/include/x86-base.inc | 2 +- meta/lib/oe/gpg_sign.py | 9 +- meta/lib/oe/sstatesig.py | 2 +- meta/lib/oeqa/selftest/cases/imagefeatures.py | 28 + meta/lib/oeqa/selftest/cases/wic.py | 23 +- ...plicit-fall-through-so-Wextra-will-work-i.patch | 34 - .../gnu-efi/gnu-efi/gcc46-compatibility.patch | 24 +- .../gnu-efi/gnu-efi/parallel-make-archives.patch | 54 +- .../gnu-efi/{gnu-efi_3.0.5.bb => gnu-efi_3.0.6.bb} | 5 +- ...0001-build-use-pkg-config-to-find-libxml2.patch | 10 +- .../bind/bind/CVE-2016-1285.patch | 154 --- .../bind/bind/CVE-2016-1286_1.patch | 79 -- .../bind/bind/CVE-2016-1286_2.patch | 317 ------ .../bind/bind/CVE-2016-2088.patch | 247 ----- .../bind/bind/CVE-2016-2775.patch | 90 -- .../bind/bind/CVE-2016-2776.patch | 123 --- .../bind/bind/CVE-2016-6170.patch | 1090 -------------------- .../bind/bind/CVE-2016-8864.patch | 219 ---- .../bind/bind/bind-confgen-build-unix.o-once.patch | 10 +- .../bind/bind/mips1-not-support-opcode.diff | 104 -- .../use-python3-and-fix-install-lib-path.patch | 36 + .../bind/{bind_9.10.3-P3.bb => bind_9.10.5-P3.bb} | 25 +- ...all-to-isc_app_ctxstart-to-not-get-signal.patch | 81 ++ meta/recipes-connectivity/dhcp/dhcp_4.3.5.bb | 1 + .../base-files/base-files/share/dot.profile | 3 +- .../dropbear/dropbear/0003-configure.patch | 13 +- .../fix-libtomcrypt-libtommath-ordering.patch | 11 +- meta/recipes-core/meta/wic-tools.bb | 10 +- meta/recipes-core/util-linux/util-linux.inc | 13 +- ...0001-automake-port-to-Perl-5.22-and-later.patch | 32 - .../{automake_1.15.bb => automake_1.15.1.bb} | 5 +- .../chrpath/chrpath/standarddoc.patch | 25 +- ...r-Use-stack_t-instead-of-struct-sigaltsta.patch | 135 +-- meta/recipes-devtools/gcc/gcc-cross.inc | 10 +- meta/recipes-devtools/git/git.inc | 1 - meta/recipes-devtools/git/git_2.11.1.bb | 11 - meta/recipes-devtools/git/git_2.13.2.bb | 11 + ...onfigure.ac-Don-t-use-gnome-common-macros.patch | 33 + .../python/python3-pygobject_3.24.1.bb | 3 +- .../valgrind/0001-fix-build-for-musl-targets.patch | 69 -- .../valgrind/0004-Fix-out-of-tree-builds.patch | 34 +- .../valgrind/valgrind/link-gz-tests.patch | 27 + .../valgrind/valgrind/ppc-headers.patch | 87 ++ .../{valgrind_3.12.0.bb => valgrind_3.13.0.bb} | 15 +- .../acpica/acpitests/aapits-linux.patch | 336 ------ .../acpica/acpitests/aapits-makefile.patch | 34 - meta/recipes-extended/acpica/acpitests_20140828.bb | 36 - .../ethtool/{ethtool_4.8.bb => ethtool_4.11.bb} | 6 +- .../{libarchive_3.3.1.bb => libarchive_3.3.2.bb} | 4 +- ...figure.ac-Remove-gnome-common-macro-calls.patch | 33 + .../gnome-desktop/gnome-desktop3_3.24.2.bb | 6 +- ...ly-install-khrplatform.h-with-EGL-or-GLES.patch | 52 + .../recipes-graphics/mesa/files/vulkan-mkdir.patch | 37 + meta/recipes-graphics/mesa/mesa-gl_17.1.4.bb | 4 - meta/recipes-graphics/mesa/mesa_17.1.4.bb | 2 + ...ild-demos-with-questionably-licensed-data.patch | 91 ++ .../vulkan-demos/0001-Fix-build-on-x86.patch | 41 + ...stalling-demos-support-out-of-tree-builds.patch | 85 ++ meta/recipes-graphics/vulkan/vulkan-demos_git.bb | 36 + ...d-protocols_1.8.bb => wayland-protocols_1.9.bb} | 4 +- meta/recipes-graphics/xorg-lib/libx11_1.6.5.bb | 3 + ...il-don-t-link-makestrs-with-target-cflags.patch | 33 + meta/recipes-graphics/xorg-lib/libxt_1.1.5.bb | 4 +- meta/recipes-kernel/linux/linux-yocto-dev.bb | 2 +- meta/recipes-kernel/linux/linux-yocto-rt_4.1.bb | 6 +- meta/recipes-kernel/linux/linux-yocto-rt_4.10.bb | 2 +- meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb | 6 +- meta/recipes-kernel/linux/linux-yocto-rt_4.9.bb | 6 +- meta/recipes-kernel/linux/linux-yocto-tiny_4.1.bb | 6 +- meta/recipes-kernel/linux/linux-yocto-tiny_4.10.bb | 2 +- meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb | 6 +- meta/recipes-kernel/linux/linux-yocto-tiny_4.9.bb | 6 +- meta/recipes-kernel/linux/linux-yocto_4.1.bb | 20 +- meta/recipes-kernel/linux/linux-yocto_4.10.bb | 2 +- meta/recipes-kernel/linux/linux-yocto_4.4.bb | 20 +- meta/recipes-kernel/linux/linux-yocto_4.9.bb | 20 +- ...hbox-desktop_2.1.bb => matchbox-desktop_2.2.bb} | 6 +- .../{webkitgtk_2.16.3.bb => webkitgtk_2.16.5.bb} | 10 +- .../apr/{apr_1.5.2.bb => apr_1.6.2.bb} | 4 +- ...debianutils_4.8.1.bb => debianutils_4.8.1.1.bb} | 7 +- .../libbsd/libbsd/0002-Remove-funopen.patch | 21 +- ...3-Fix-build-breaks-due-to-missing-a.out.h.patch | 130 --- .../libbsd/{libbsd_0.8.3.bb => libbsd_0.8.5.bb} | 7 +- meta/recipes-support/libgcrypt/libgcrypt_1.7.6.bb | 4 - meta/recipes-support/libgcrypt/libgcrypt_1.7.7.bb | 4 + scripts/lib/recipetool/create.py | 35 +- scripts/lib/wic/misc.py | 9 +- scripts/lib/wic/plugins/source/bootimg-pcbios.py | 5 +- .../lib/wic/plugins/source/isoimage-isohybrid.py | 88 +- scripts/runqemu | 118 +-- scripts/wic | 14 +- 104 files changed, 1219 insertions(+), 3591 deletions(-) delete mode 100644 meta/recipes-bsp/gnu-efi/gnu-efi/0001-Mark-our-explicit-fall-through-so-Wextra-will-work-i.patch rename meta/recipes-bsp/gnu-efi/{gnu-efi_3.0.5.bb => gnu-efi_3.0.6.bb} (92%) delete mode 100644 meta/recipes-connectivity/bind/bind/CVE-2016-1285.patch delete mode 100644 meta/recipes-connectivity/bind/bind/CVE-2016-1286_1.patch delete mode 100644 meta/recipes-connectivity/bind/bind/CVE-2016-1286_2.patch delete mode 100644 meta/recipes-connectivity/bind/bind/CVE-2016-2088.patch delete mode 100644 meta/recipes-connectivity/bind/bind/CVE-2016-2775.patch delete mode 100644 meta/recipes-connectivity/bind/bind/CVE-2016-2776.patch delete mode 100644 meta/recipes-connectivity/bind/bind/CVE-2016-6170.patch delete mode 100644 meta/recipes-connectivity/bind/bind/CVE-2016-8864.patch delete mode 100644 meta/recipes-connectivity/bind/bind/mips1-not-support-opcode.diff create mode 100644 meta/recipes-connectivity/bind/bind/use-python3-and-fix-install-lib-path.patch rename meta/recipes-connectivity/bind/{bind_9.10.3-P3.bb => bind_9.10.5-P3.bb} (85%) create mode 100644 meta/recipes-connectivity/dhcp/dhcp/Moved-the-call-to-isc_app_ctxstart-to-not-get-signal.patch delete mode 100644 meta/recipes-devtools/automake/automake/0001-automake-port-to-Perl-5.22-and-later.patch rename meta/recipes-devtools/automake/{automake_1.15.bb => automake_1.15.1.bb} (84%) delete mode 100644 meta/recipes-devtools/git/git_2.11.1.bb create mode 100644 meta/recipes-devtools/git/git_2.13.2.bb create mode 100644 meta/recipes-devtools/python/python3-pygobject/0001-configure.ac-Don-t-use-gnome-common-macros.patch delete mode 100644 meta/recipes-devtools/valgrind/valgrind/0001-fix-build-for-musl-targets.patch create mode 100644 meta/recipes-devtools/valgrind/valgrind/link-gz-tests.patch create mode 100644 meta/recipes-devtools/valgrind/valgrind/ppc-headers.patch rename meta/recipes-devtools/valgrind/{valgrind_3.12.0.bb => valgrind_3.13.0.bb} (92%) delete mode 100644 meta/recipes-extended/acpica/acpitests/aapits-linux.patch delete mode 100644 meta/recipes-extended/acpica/acpitests/aapits-makefile.patch delete mode 100644 meta/recipes-extended/acpica/acpitests_20140828.bb rename meta/recipes-extended/ethtool/{ethtool_4.8.bb => ethtool_4.11.bb} (81%) rename meta/recipes-extended/libarchive/{libarchive_3.3.1.bb => libarchive_3.3.2.bb} (93%) create mode 100644 meta/recipes-gnome/gnome-desktop/gnome-desktop/0001-configure.ac-Remove-gnome-common-macro-calls.patch create mode 100644 meta/recipes-graphics/mesa/files/0001-mapi-Only-install-khrplatform.h-with-EGL-or-GLES.patch create mode 100644 meta/recipes-graphics/mesa/files/vulkan-mkdir.patch create mode 100644 meta/recipes-graphics/vulkan/vulkan-demos/0001-Don-t-build-demos-with-questionably-licensed-data.patch create mode 100644 meta/recipes-graphics/vulkan/vulkan-demos/0001-Fix-build-on-x86.patch create mode 100644 meta/recipes-graphics/vulkan/vulkan-demos/0001-Support-installing-demos-support-out-of-tree-builds.patch create mode 100644 meta/recipes-graphics/vulkan/vulkan-demos_git.bb rename meta/recipes-graphics/wayland/{wayland-protocols_1.8.bb => wayland-protocols_1.9.bb} (85%) create mode 100644 meta/recipes-graphics/xorg-lib/libxt/0001-libXt-util-don-t-link-makestrs-with-target-cflags.patch rename meta/recipes-sato/matchbox-desktop/{matchbox-desktop_2.1.bb => matchbox-desktop_2.2.bb} (87%) rename meta/recipes-sato/webkit/{webkitgtk_2.16.3.bb => webkitgtk_2.16.5.bb} (94%) rename meta/recipes-support/apr/{apr_1.5.2.bb => apr_1.6.2.bb} (96%) rename meta/recipes-support/debianutils/{debianutils_4.8.1.bb => debianutils_4.8.1.1.bb} (86%) delete mode 100644 meta/recipes-support/libbsd/libbsd/0003-Fix-build-breaks-due-to-missing-a.out.h.patch rename meta/recipes-support/libbsd/{libbsd_0.8.3.bb => libbsd_0.8.5.bb} (85%) delete mode 100644 meta/recipes-support/libgcrypt/libgcrypt_1.7.6.bb create mode 100644 meta/recipes-support/libgcrypt/libgcrypt_1.7.7.bb -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 14:13:54 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 14:13:54 +0000 Subject: [oe-commits] [bitbake] branch master-next updated (4d774b6 -> 8504c21) Message-ID: <150030083473.17753.6426780480851902483@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master-next in repository bitbake. discard 4d774b6 workaround path too long issues discard fa7ffbf server: Rework the server API so process and xmlrpc servers coexist new 8504c21 server: Rework the server API so process and xmlrpc servers coexist This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (4d774b6) \ N -- N -- N refs/heads/master-next (8504c21) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: lib/bb/tinfoil.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 14:13:55 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 14:13:55 +0000 Subject: [oe-commits] [bitbake] 01/01: server: Rework the server API so process and xmlrpc servers coexist In-Reply-To: <150030083473.17753.6426780480851902483@git.openembedded.org> References: <150030083473.17753.6426780480851902483@git.openembedded.org> Message-ID: <20170717141354.D28D6233537@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 8504c21995f467cf1e767a3a64fdc144acd31971 Author: Richard Purdie AuthorDate: Thu Jul 13 17:24:35 2017 +0100 server: Rework the server API so process and xmlrpc servers coexist This changes the way bitbake server works quite radically. Now, the server is always a process based server with the option of starting an XMLRPC listener on a specific inferface/port. Behind the scenes this is done with a "bitbake.sock" file alongside the bitbake.lock file. If we can obtain the lock, we know we need to start a server. The server always listens on the socket and UIs can then connect to this. UIs connect by sending a set of three file descriptors over the domain socket, one for sending commands, one for receiving command results and the other for receiving events. These changes meant we can throw away all the horrid server abstraction code, the plugable transport option to bitbake and the code becomes much more readable and debuggable. It also likely removes a ton of ways you could hang the UI/cooker in weird ways due to all the race conditions that existed with previous processes. Changes: * The foreground option for bitbake-server was dropped. Just tail the log if you really want this, the codepaths were complicated enough without adding one for this. * BBSERVER="autodetect" was dropped. The server will autostart and autoconnect in process mode. You have to specify an xmlrpc server address since that can't be autodetected. I can't see a use case for autodetect now. * The transport/servetype option to bitbake was dropped. * A BB_SERVER_TIMEOUT variable is added which allows the server to stay resident for a period of time after the last client disconnects before unloading. This is used if the -T/--idle-timeout option is not passed to bitbake. This change is invasive and may well introduce new issues however I believe the codebase is in a much better position for further development and debugging. Signed-off-by: Richard Purdie --- lib/bb/command.py | 5 + lib/bb/cooker.py | 61 +---- lib/bb/cookerdata.py | 25 +- lib/bb/event.py | 11 +- lib/bb/main.py | 223 ++++++---------- lib/bb/server/__init__.py | 78 ------ lib/bb/server/process.py | 572 ++++++++++++++++++++++++++++-------------- lib/bb/server/xmlrpc.py | 448 --------------------------------- lib/bb/server/xmlrpcclient.py | 154 ++++++++++++ lib/bb/server/xmlrpcserver.py | 158 ++++++++++++ lib/bb/tinfoil.py | 2 +- lib/prserv/serv.py | 4 +- 12 files changed, 815 insertions(+), 926 deletions(-) diff --git a/lib/bb/command.py b/lib/bb/command.py index 36891b9..eb7c86f 100644 --- a/lib/bb/command.py +++ b/lib/bb/command.py @@ -238,6 +238,11 @@ class CommandsSync: return command.cooker.matchFile(fMatch) matchFile.needconfig = False + def getUIHandlerNum(self, command, params): + return bb.event.get_uihandler() + getUIHandlerNum.needconfig = False + getUIHandlerNum.readonly = True + def setEventMask(self, command, params): handlerNum = params[0] llevel = params[1] diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py index dc8f54c..2e8ccb3 100644 --- a/lib/bb/cooker.py +++ b/lib/bb/cooker.py @@ -215,19 +215,6 @@ class BBCooker: self.configuration.server_register_idlecallback(_process_inotify_updates, [self.confignotifier, self.notifier]) - # Take a lock so only one copy of bitbake can run against a given build - # directory at a time - if not self.lockBitbake(): - bb.fatal("Only one copy of bitbake should be run against a build directory") - try: - self.lock.seek(0) - self.lock.truncate() - if len(configuration.interface) >= 2: - self.lock.write("%s:%s\n" % (configuration.interface[0], configuration.interface[1])); - self.lock.flush() - except: - pass - # TOSTOP must not be set or our children will hang when they output try: fd = sys.stdout.fileno() @@ -1557,33 +1544,6 @@ class BBCooker: def post_serve(self): prserv.serv.auto_shutdown(self.data) bb.event.fire(CookerExit(), self.data) - lockfile = self.lock.name - self.lock.close() - self.lock = None - - while not self.lock: - with bb.utils.timeout(3): - self.lock = bb.utils.lockfile(lockfile, shared=False, retry=False, block=True) - if not self.lock: - # Some systems may not have lsof available - procs = None - try: - procs = subprocess.check_output(["lsof", '-w', lockfile], stderr=subprocess.STDOUT) - except OSError as e: - if e.errno != errno.ENOENT: - raise - if procs is None: - # Fall back to fuser if lsof is unavailable - try: - procs = subprocess.check_output(["fuser", '-v', lockfile], stderr=subprocess.STDOUT) - except OSError as e: - if e.errno != errno.ENOENT: - raise - - msg = "Delaying shutdown due to active processes which appear to be holding bitbake.lock" - if procs: - msg += ":\n%s" % str(procs) - print(msg) def shutdown(self, force = False): @@ -1605,23 +1565,10 @@ class BBCooker: def clientComplete(self): """Called when the client is done using the server""" - if self.configuration.server_only: - self.finishcommand() - else: - self.shutdown(True) - - def lockBitbake(self): - if not hasattr(self, 'lock'): - self.lock = None - if self.data: - lockfile = self.data.expand("${TOPDIR}/bitbake.lock") - if lockfile: - self.lock = bb.utils.lockfile(lockfile, False, False) - return self.lock - - def unlockBitbake(self): - if hasattr(self, 'lock') and self.lock: - bb.utils.unlockfile(self.lock) + #if self.configuration.server_only: + self.finishcommand() + #else: + # self.shutdown(True) def server_main(cooker, func, *args): cooker.pre_serve() diff --git a/lib/bb/cookerdata.py b/lib/bb/cookerdata.py index 644bb38..1050cb4 100644 --- a/lib/bb/cookerdata.py +++ b/lib/bb/cookerdata.py @@ -76,7 +76,7 @@ class ConfigParameters(object): for o in ["abort", "tryaltconfigs", "force", "invalidate_stamp", "verbose", "debug", "dry_run", "dump_signatures", "debug_domains", "extra_assume_provided", "profile", - "prefile", "postfile", "tracking"]: + "prefile", "postfile", "tracking", "server_timeout"]: options[o] = getattr(self.options, o) ret, error = server.runCommand(["updateConfig", options, environment, sys.argv]) @@ -144,7 +144,8 @@ class CookerConfiguration(object): self.dump_signatures = [] self.dry_run = False self.tracking = False - self.interface = [] + self.xmlrpcinterface = [] + self.server_timeout = None self.writeeventlog = False self.server_only = False self.limited_deps = False @@ -230,6 +231,26 @@ def findConfigFile(configfile, data): return None +# +# We search for a conf/bblayers.conf under an entry in BBPATH or in cwd working +# up to /. If that fails, we search for a conf/bitbake.conf in BBPATH. +# + +def findTopdir(): + d = bb.data.init() + if 'BBPATH' in os.environ: + bbpath = os.environ['BBPATH'] + d.setVar('BBPATH', bbpath) + + layerconf = findConfigFile("bblayers.conf", d) + if layerconf: + return os.path.dirname(os.path.dirname(layerconf)) + if bbpath: + bitbakeconf = bb.utils.which(bbpath, "conf/bitbake.conf") + if bitbakeconf: + return os.path.dirname(os.path.dirname(bitbakeconf)) + return None + class CookerDataBuilder(object): def __init__(self, cookercfg, worker = False): diff --git a/lib/bb/event.py b/lib/bb/event.py index d5c5ef3..92ee3e9 100644 --- a/lib/bb/event.py +++ b/lib/bb/event.py @@ -288,13 +288,13 @@ def set_eventfilter(func): _eventfilter = func def register_UIHhandler(handler, mainui=False): - if mainui: - global _uiready - _uiready = True bb.event._ui_handler_seq = bb.event._ui_handler_seq + 1 _ui_handlers[_ui_handler_seq] = handler level, debug_domains = bb.msg.constructLogOptions() _ui_logfilters[_ui_handler_seq] = UIEventFilter(level, debug_domains) + if mainui: + global _uiready + _uiready = _ui_handler_seq return _ui_handler_seq def unregister_UIHhandler(handlerNum, mainui=False): @@ -305,6 +305,11 @@ def unregister_UIHhandler(handlerNum, mainui=False): del _ui_handlers[handlerNum] return +def get_uihandler(): + if _uiready is False: + return None + return _uiready + # Class to allow filtering of events and specific filtering of LogRecords *before* we put them over the IPC class UIEventFilter(object): def __init__(self, level, debug_domains): diff --git a/lib/bb/main.py b/lib/bb/main.py index 29e3911..995357c 100755 --- a/lib/bb/main.py +++ b/lib/bb/main.py @@ -28,6 +28,7 @@ import logging import optparse import warnings import fcntl +import time import bb from bb import event @@ -37,6 +38,9 @@ from bb import ui from bb import server from bb import cookerdata +import bb.server.process +import bb.server.xmlrpcclient + logger = logging.getLogger("BitBake") class BBMainException(Exception): @@ -58,9 +62,6 @@ class BitbakeHelpFormatter(optparse.IndentedHelpFormatter): if option.dest == 'ui': valid_uis = list_extension_modules(bb.ui, 'main') option.help = option.help.replace('@CHOICES@', present_options(valid_uis)) - elif option.dest == 'servertype': - valid_server_types = list_extension_modules(bb.server, 'BitBakeServer') - option.help = option.help.replace('@CHOICES@', present_options(valid_server_types)) return optparse.IndentedHelpFormatter.format_option(self, option) @@ -238,11 +239,6 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters): default=os.environ.get('BITBAKE_UI', 'knotty'), help="The user interface to use (@CHOICES@ - default %default).") - # @CHOICES@ is substituted out by BitbakeHelpFormatter above - parser.add_option("-t", "--servertype", action="store", dest="servertype", - default=["process", "xmlrpc"]["BBSERVER" in os.environ], - help="Choose which server type to use (@CHOICES@ - default %default).") - parser.add_option("", "--token", action="store", dest="xmlrpctoken", default=os.environ.get("BBTOKEN"), help="Specify the connection token to be used when connecting " @@ -258,14 +254,11 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters): help="Run bitbake without a UI, only starting a server " "(cooker) process.") - parser.add_option("", "--foreground", action="store_true", - help="Run bitbake server in foreground.") - parser.add_option("-B", "--bind", action="store", dest="bind", default=False, - help="The name/address for the bitbake server to bind to.") + help="The name/address for the bitbake xmlrpc server to bind to.") - parser.add_option("-T", "--idle-timeout", type=int, - default=int(os.environ.get("BBTIMEOUT", "0")), + parser.add_option("-T", "--idle-timeout", type=float, dest="server_timeout", + default=float(os.environ.get("BB_SERVER_TIMEOUT", 0)) or None, help="Set timeout to unload bitbake server due to inactivity") parser.add_option("", "--no-setscene", action="store_true", @@ -283,7 +276,7 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters): parser.add_option("-m", "--kill-server", action="store_true", dest="kill_server", default=False, - help="Terminate the remote server.") + help="Terminate the bitbake server.") parser.add_option("", "--observe-only", action="store_true", dest="observe_only", default=False, @@ -322,70 +315,20 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters): eventlog = "bitbake_eventlog_%s.json" % datetime.now().strftime("%Y%m%d%H%M%S") options.writeeventlog = eventlog - # if BBSERVER says to autodetect, let's do that - if options.remote_server: - port = -1 - if options.remote_server != 'autostart': - host, port = options.remote_server.split(":", 2) + if options.bind: + try: + #Checking that the port is a number and is a ':' delimited value + (host, port) = options.bind.split(':') port = int(port) - # use automatic port if port set to -1, means read it from - # the bitbake.lock file; this is a bit tricky, but we always expect - # to be in the base of the build directory if we need to have a - # chance to start the server later, anyway - if port == -1: - lock_location = "./bitbake.lock" - # we try to read the address at all times; if the server is not started, - # we'll try to start it after the first connect fails, below - try: - lf = open(lock_location, 'r') - remotedef = lf.readline() - [host, port] = remotedef.split(":") - port = int(port) - lf.close() - options.remote_server = remotedef - except Exception as e: - if options.remote_server != 'autostart': - raise BBMainException("Failed to read bitbake.lock (%s), invalid port" % str(e)) + except (ValueError,IndexError): + raise BBMainException("FATAL: Malformed host:port bind parameter") + options.xmlrpcinterface = (host, port) + else: + options.xmlrpcinterface = (None, 0) return options, targets[1:] -def start_server(servermodule, configParams, configuration, features): - server = servermodule.BitBakeServer() - single_use = not configParams.server_only and os.getenv('BBSERVER') != 'autostart' - if configParams.bind: - (host, port) = configParams.bind.split(':') - server.initServer((host, int(port)), single_use=single_use, - idle_timeout=configParams.idle_timeout) - configuration.interface = [server.serverImpl.host, server.serverImpl.port] - else: - server.initServer(single_use=single_use) - configuration.interface = [] - - try: - configuration.setServerRegIdleCallback(server.getServerIdleCB()) - - cooker = bb.cooker.BBCooker(configuration, features) - - server.addcooker(cooker) - server.saveConnectionDetails() - except Exception as e: - while hasattr(server, "event_queue"): - import queue - try: - event = server.event_queue.get(block=False) - except (queue.Empty, IOError): - break - if isinstance(event, logging.LogRecord): - logger.handle(event) - raise - if not configParams.foreground: - server.detach() - cooker.shutdown() - cooker.lock.close() - return server - - def bitbake_main(configParams, configuration): # Python multiprocessing requires /dev/shm on Linux @@ -406,45 +349,15 @@ def bitbake_main(configParams, configuration): configuration.setConfigParameters(configParams) - if configParams.server_only: - if configParams.servertype != "xmlrpc": - raise BBMainException("FATAL: If '--server-only' is defined, we must set the " - "servertype as 'xmlrpc'.\n") - if not configParams.bind: - raise BBMainException("FATAL: The '--server-only' option requires a name/address " - "to bind to with the -B option.\n") - else: - try: - #Checking that the port is a number - int(configParams.bind.split(":")[1]) - except (ValueError,IndexError): - raise BBMainException( - "FATAL: Malformed host:port bind parameter") - if configParams.remote_server: + if configParams.server_only and configParams.remote_server: raise BBMainException("FATAL: The '--server-only' option conflicts with %s.\n" % ("the BBSERVER environment variable" if "BBSERVER" in os.environ \ else "the '--remote-server' option")) - elif configParams.foreground: - raise BBMainException("FATAL: The '--foreground' option can only be used " - "with --server-only.\n") - - if configParams.bind and configParams.servertype != "xmlrpc": - raise BBMainException("FATAL: If '-B' or '--bind' is defined, we must " - "set the servertype as 'xmlrpc'.\n") - - if configParams.remote_server and configParams.servertype != "xmlrpc": - raise BBMainException("FATAL: If '--remote-server' is defined, we must " - "set the servertype as 'xmlrpc'.\n") - if configParams.observe_only and (not configParams.remote_server or configParams.bind): raise BBMainException("FATAL: '--observe-only' can only be used by UI clients " "connecting to a server.\n") - if configParams.kill_server and not configParams.remote_server: - raise BBMainException("FATAL: '--kill-server' can only be used to " - "terminate a remote server") - if "BBDEBUG" in os.environ: level = int(os.environ["BBDEBUG"]) if level > configuration.debug: @@ -453,7 +366,7 @@ def bitbake_main(configParams, configuration): bb.msg.init_msgconfig(configParams.verbose, configuration.debug, configuration.debug_domains) - server, server_connection, ui_module = setup_bitbake(configParams, configuration) + server_connection, ui_module = setup_bitbake(configParams, configuration) if server_connection is None and configParams.kill_server: return 0 @@ -463,16 +376,15 @@ def bitbake_main(configParams, configuration): return 0 try: + for event in bb.event.ui_queue: + server_connection.events.queue_event(event) + bb.event.ui_queue = [] + return ui_module.main(server_connection.connection, server_connection.events, configParams) finally: - bb.event.ui_queue = [] server_connection.terminate() else: - print("Bitbake server address: %s, server port: %s" % (server.serverImpl.host, - server.serverImpl.port)) - if configParams.foreground: - server.serverImpl.serve_forever() return 0 return 1 @@ -495,58 +407,63 @@ def setup_bitbake(configParams, configuration, extrafeatures=None, setup_logging # Collect the feature set for the UI featureset = getattr(ui_module, "featureSet", []) - if configParams.server_only: - for param in ('prefile', 'postfile'): - value = getattr(configParams, param) - if value: - setattr(configuration, "%s_server" % param, value) - param = "%s_server" % param - if extrafeatures: for feature in extrafeatures: if not feature in featureset: featureset.append(feature) - servermodule = import_extension_module(bb.server, - configParams.servertype, - 'BitBakeServer') + server_connection = None + if configParams.remote_server: - if os.getenv('BBSERVER') == 'autostart': - if configParams.remote_server == 'autostart' or \ - not servermodule.check_connection(configParams.remote_server, timeout=2): - configParams.bind = 'localhost:0' - srv = start_server(servermodule, configParams, configuration, featureset) - configParams.remote_server = '%s:%d' % tuple(configuration.interface) - bb.event.ui_queue = [] - # we start a stub server that is actually a XMLRPClient that connects to a real server - from bb.server.xmlrpc import BitBakeXMLRPCClient - server = servermodule.BitBakeXMLRPCClient(configParams.observe_only, - configParams.xmlrpctoken) - server.saveConnectionDetails(configParams.remote_server) + # Connect to a remote XMLRPC server + server_connection = bb.server.xmlrpcclient.connectXMLRPC(configParams.remote_server, featureset, + configParams.observe_only, configParams.xmlrpctoken) else: - # we start a server with a given configuration - server = start_server(servermodule, configParams, configuration, featureset) + retries = 8 + while retries: + try: + topdir, lock = lockBitbake() + sockname = topdir + "/bitbake.sock" + if lock: + # we start a server with a given configuration + print("Starting bitbake server...") + server = bb.server.process.BitBakeServer(lock, sockname, configuration, featureset) + else: + print("Reconnecting to bitbake server...") + if not os.path.exists(sockname): + print("Previous bitbake instance shutting down?, waiting to retry...") + time.sleep(5) + raise bb.server.process.ProcessTimeout + if not configParams.server_only: + server_connection = bb.server.process.connectProcessServer(sockname, featureset) + if server_connection: + break + except bb.server.process.ProcessTimeout: + if not retries: + raise + retries -= 1 + print("Retrying server connection...") + if not retries: + raise bb.server.process.ProcessTimeout("Unable to connect to bitbake server, or start one") + + + if configParams.kill_server: + server_connection.connection.terminateServer() + server_connection.terminate() bb.event.ui_queue = [] + print("Terminated bitbake server.") + return None, None - if configParams.server_only: - server_connection = None - else: - try: - server_connection = server.establishConnection(featureset) - except Exception as e: - bb.fatal("Could not connect to server %s: %s" % (configParams.remote_server, str(e))) - - if configParams.kill_server: - server_connection.connection.terminateServer() - bb.event.ui_queue = [] - return None, None, None + # Restore the environment in case the UI needs it + for k in cleanedvars: + os.environ[k] = cleanedvars[k] - server_connection.setupEventQueue() + logger.removeHandler(handler) - # Restore the environment in case the UI needs it - for k in cleanedvars: - os.environ[k] = cleanedvars[k] + return server_connection, ui_module - logger.removeHandler(handler) +def lockBitbake(): + topdir = bb.cookerdata.findTopdir() + lockfile = topdir + "/bitbake.lock" + return topdir, bb.utils.lockfile(lockfile, False, False) - return server, server_connection, ui_module diff --git a/lib/bb/server/__init__.py b/lib/bb/server/__init__.py index 538a633..5a3fba9 100644 --- a/lib/bb/server/__init__.py +++ b/lib/bb/server/__init__.py @@ -18,82 +18,4 @@ # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -""" Base code for Bitbake server process -Have a common base for that all Bitbake server classes ensures a consistent -approach to the interface, and minimize risks associated with code duplication. - -""" - -""" BaseImplServer() the base class for all XXServer() implementations. - - These classes contain the actual code that runs the server side, i.e. - listens for the commands and executes them. Although these implementations - contain all the data of the original bitbake command, i.e the cooker instance, - they may well run on a different process or even machine. - -""" - -class BaseImplServer(): - def __init__(self): - self._idlefuns = {} - - def addcooker(self, cooker): - self.cooker = cooker - - def register_idle_function(self, function, data): - """Register a function to be called while the server is idle""" - assert hasattr(function, '__call__') - self._idlefuns[function] = data - - - -""" BitBakeBaseServerConnection class is the common ancestor to all - BitBakeServerConnection classes. - - These classes control the remote server. The only command currently - implemented is the terminate() command. - -""" - -class BitBakeBaseServerConnection(): - def __init__(self, serverImpl): - pass - - def terminate(self): - pass - - def setupEventQueue(self): - pass - - -""" BitBakeBaseServer class is the common ancestor to all Bitbake servers - - Derive this class in order to implement a BitBakeServer which is the - controlling stub for the actual server implementation - -""" -class BitBakeBaseServer(object): - def initServer(self): - self.serverImpl = None # we ensure a runtime crash if not overloaded - self.connection = None - return - - def addcooker(self, cooker): - self.cooker = cooker - self.serverImpl.addcooker(cooker) - - def getServerIdleCB(self): - return self.serverImpl.register_idle_function - - def saveConnectionDetails(self): - return - - def detach(self): - return - - def establishConnection(self, featureset): - raise "Must redefine the %s.establishConnection()" % self.__class__.__name__ - - def endSession(self): - self.connection.terminate() diff --git a/lib/bb/server/process.py b/lib/bb/server/process.py index f8d6767..9e181aa 100644 --- a/lib/bb/server/process.py +++ b/lib/bb/server/process.py @@ -22,125 +22,198 @@ import bb import bb.event -import itertools import logging import multiprocessing +import threading +import array import os -import signal import sys import time import select -from queue import Empty -from multiprocessing import Event, Process, util, Queue, Pipe, queues, Manager - -from . import BitBakeBaseServer, BitBakeBaseServerConnection, BaseImplServer +import socket +import subprocess +import errno +import bb.server.xmlrpcserver +from bb import daemonize +from multiprocessing import queues logger = logging.getLogger('BitBake') -class ServerCommunicator(): - def __init__(self, connection, event_handle, server): - self.connection = connection - self.event_handle = event_handle - self.server = server - - def runCommand(self, command): - # @todo try/except - self.connection.send(command) - - if not self.server.is_alive(): - raise SystemExit - - while True: - # don't let the user ctrl-c while we're waiting for a response - try: - for idx in range(0,4): # 0, 1, 2, 3 - if self.connection.poll(5): - return self.connection.recv() - else: - bb.warn("Timeout while attempting to communicate with bitbake server") - bb.fatal("Gave up; Too many tries: timeout while attempting to communicate with bitbake server") - except KeyboardInterrupt: - pass - - def getEventHandle(self): - return self.event_handle.value - -class EventAdapter(): - """ - Adapter to wrap our event queue since the caller (bb.event) expects to - call a send() method, but our actual queue only has put() - """ - def __init__(self, queue): - self.queue = queue - - def send(self, event): - try: - self.queue.put(event) - except Exception as err: - print("EventAdapter puked: %s" % str(err)) - +class ProcessTimeout(SystemExit): + pass -class ProcessServer(Process, BaseImplServer): +class ProcessServer(multiprocessing.Process): profile_filename = "profile.log" profile_processed_filename = "profile.log.processed" - def __init__(self, command_channel, event_queue, featurelist): - BaseImplServer.__init__(self) - Process.__init__(self) - self.command_channel = command_channel - self.event_queue = event_queue - self.event = EventAdapter(event_queue) - self.featurelist = featurelist + def __init__(self, lock, sock, sockname): + multiprocessing.Process.__init__(self) + self.command_channel = False + self.command_channel_reply = False self.quit = False self.heartbeat_seconds = 1 # default, BB_HEARTBEAT_EVENT will be checked once we have a datastore. self.next_heartbeat = time.time() - self.quitin, self.quitout = Pipe() - self.event_handle = multiprocessing.Value("i") + self.event_handle = None + self.haveui = False + self.lastui = False + self.xmlrpc = False + + self._idlefuns = {} + + self.bitbake_lock = lock + self.sock = sock + self.sockname = sockname + + def register_idle_function(self, function, data): + """Register a function to be called while the server is idle""" + assert hasattr(function, '__call__') + self._idlefuns[function] = data def run(self): - for event in bb.event.ui_queue: - self.event_queue.put(event) - self.event_handle.value = bb.event.register_UIHhandler(self, True) + + if self.xmlrpcinterface[0]: + self.xmlrpc = bb.server.xmlrpcserver.BitBakeXMLRPCServer(self.xmlrpcinterface, self.cooker, self) + + print("Bitbake XMLRPC server address: %s, server port: %s" % (self.xmlrpc.host, self.xmlrpc.port)) heartbeat_event = self.cooker.data.getVar('BB_HEARTBEAT_EVENT') if heartbeat_event: try: self.heartbeat_seconds = float(heartbeat_event) except: - # Throwing an exception here causes bitbake to hang. - # Just warn about the invalid setting and continue bb.warn('Ignoring invalid BB_HEARTBEAT_EVENT=%s, must be a float specifying seconds.' % heartbeat_event) + + self.timeout = self.server_timeout or self.cooker.data.getVar('BB_SERVER_TIMEOUT') + try: + if self.timeout: + self.timeout = float(self.timeout) + except: + bb.warn('Ignoring invalid BB_SERVER_TIMEOUT=%s, must be a float specifying seconds.' % self.timeout) + + + try: + self.bitbake_lock.seek(0) + self.bitbake_lock.truncate() + if self.xmlrpcinterface[0]: + self.bitbake_lock.write("%s %s:%s\n" % (os.getpid(), configuration.interface[0], configuration.interface[1])) + else: + self.bitbake_lock.write("%s\n" % (os.getpid())) + self.bitbake_lock.flush() + except: + pass + bb.cooker.server_main(self.cooker, self.main) def main(self): - # Ignore SIGINT within the server, as all SIGINT handling is done by - # the UI and communicated to us - self.quitin.close() - signal.signal(signal.SIGINT, signal.SIG_IGN) bb.utils.set_process_name("Cooker") + + ready = [] + + self.controllersock = False + fds = [self.sock] + if self.xmlrpc: + fds.append(self.xmlrpc) while not self.quit: - try: - if self.command_channel.poll(): - command = self.command_channel.recv() - self.runCommand(command) - if self.quitout.poll(): - self.quitout.recv() + if self.command_channel in ready: + command = self.command_channel.get() + if command[0] == "terminateServer": self.quit = True - try: - self.runCommand(["stateForceShutdown"]) - except: - pass - - self.idle_commands(.1, [self.command_channel, self.quitout]) - except Exception: - logger.exception('Running command %s', command) + continue + try: + print("Running command %s" % command) + self.command_channel_reply.send(self.cooker.command.runCommand(command)) + except Exception as e: + logger.exception('Exception in server main event loop running command %s (%s)' % (command, str(e))) + + if self.xmlrpc in ready: + self.xmlrpc.handle_requests() + if self.sock in ready: + print("Accepting %s" % (str(ready))) + self.controllersock, address = self.sock.accept() + fds.append(self.controllersock) + if self.controllersock in ready: + try: + print("Connecting Client") + ui_fds = recvfds(self.controllersock, 3) + + # Where to write events to + writer = ConnectionWriter(ui_fds[0]) + self.event_handle = bb.event.register_UIHhandler(writer, True) + self.event_writer = writer + + # Where to read commands from + reader = ConnectionReader(ui_fds[1]) + fds.append(reader) + self.command_channel = reader + + # Where to send command return values to + writer = ConnectionWriter(ui_fds[2]) + self.command_channel_reply = writer + + self.haveui = True + + except EOFError: + print("Disconnecting Client") + fds.remove(self.controllersock) + fds.remove(self.command_channel) + bb.event.unregister_UIHhandler(self.event_handle, True) + self.command_channel_reply.writer.close() + self.event_writer.writer.close() + del self.event_writer + self.controllersock.close() + self.haveui = False + self.lastui = time.time() + self.cooker.clientComplete() + if self.timeout is None: + self.quit = True + if not self.haveui and self.lastui and self.timeout and (self.lastui + self.timeout) < time.time(): + self.quit = True - self.event_queue.close() - bb.event.unregister_UIHhandler(self.event_handle.value, True) - self.command_channel.close() - self.cooker.shutdown(True) - self.quitout.close() + ready = self.idle_commands(.1, fds) + + print("Exiting") + try: + self.cooker.shutdown(True) + except: + pass + + # Remove the socket file so we don't get any more connections to avoid races + os.unlink(self.sockname) + self.sock.close() + + # Finally release the lockfile but warn about other processes holding it open + lock = self.bitbake_lock + lockfile = lock.name + lock.close() + lock = None + + while not lock: + with bb.utils.timeout(3): + lock = bb.utils.lockfile(lockfile, shared=False, retry=False, block=True) + if not lock: + # Some systems may not have lsof available + procs = None + try: + procs = subprocess.check_output(["lsof", '-w', lockfile], stderr=subprocess.STDOUT) + except OSError as e: + if e.errno != errno.ENOENT: + raise + if procs is None: + # Fall back to fuser if lsof is unavailable + try: + procs = subprocess.check_output(["fuser", '-v', lockfile], stderr=subprocess.STDOUT) + except OSError as e: + if e.errno != errno.ENOENT: + raise + + msg = "Delaying shutdown due to active processes which appear to be holding bitbake.lock" + if procs: + msg += ":\n%s" % str(procs) + print(msg) + return + # We hold the lock so we can remove the file (hide stale pid data) + bb.utils.remove(lockfile) def idle_commands(self, delay, fds=None): nextsleep = delay @@ -186,111 +259,246 @@ class ProcessServer(Process, BaseImplServer): nextsleep = self.next_heartbeat - now if nextsleep is not None: - select.select(fds,[],[],nextsleep) + if self.xmlrpc: + nextsleep = self.xmlrpc.get_timeout(nextsleep) + return select.select(fds,[],[],nextsleep)[0] + else: + return [] + + +class ServerCommunicator(): + def __init__(self, connection, recv): + self.connection = connection + self.recv = recv def runCommand(self, command): - """ - Run a cooker command on the server - """ - self.command_channel.send(self.cooker.command.runCommand(command)) - - def stop(self): - self.quitin.send("quit") - self.quitin.close() - -class BitBakeProcessServerConnection(BitBakeBaseServerConnection): - def __init__(self, serverImpl, ui_channel, event_queue): - self.procserver = serverImpl - self.ui_channel = ui_channel - self.event_queue = event_queue - self.connection = ServerCommunicator(self.ui_channel, self.procserver.event_handle, self.procserver) - self.events = self.event_queue - self.terminated = False - - def sigterm_terminate(self): - bb.error("UI received SIGTERM") - self.terminate() + + self.connection.send(command) + while True: + # don't let the user ctrl-c while we're waiting for a response + try: + for idx in range(0,4): # 0, 1, 2, 3 + if self.recv.poll(1): + return self.recv.get() + else: + bb.warn("Timeout while attempting to communicate with bitbake server") + raise ProcessTimeout("Gave up; Too many tries: timeout while attempting to communicate with bitbake server") + except KeyboardInterrupt: + pass + + def updateFeatureSet(self, featureset): + _, error = self.runCommand(["setFeatures", featureset]) + if error: + logger.error("Unable to set the cooker to the correct featureset: %s" % error) + raise BaseException(error) + + def getEventHandle(self): + handle, error = self.runCommand(["getUIHandlerNum"]) + if error: + logger.error("Unable to get UI Handler Number: %s" % error) + raise BaseException(error) + + return handle + + def terminateServer(self): + self.connection.send(['terminateServer']) + return + +class BitBakeProcessServerConnection(object): + def __init__(self, ui_channel, recv, eq): + self.connection = ServerCommunicator(ui_channel, recv) + self.events = eq def terminate(self): - if self.terminated: - return - self.terminated = True - def flushevents(): - while True: - try: - event = self.event_queue.get(block=False) - except (Empty, IOError): - break - if isinstance(event, logging.LogRecord): - logger.handle(event) - - self.procserver.stop() - - while self.procserver.is_alive(): - flushevents() - self.procserver.join(0.1) - - self.ui_channel.close() - self.event_queue.close() - self.event_queue.setexit() - # XXX: Call explicity close in _writer to avoid - # fd leakage because isn't called on Queue.close() - self.event_queue._writer.close() - -# Wrap Queue to provide API which isn't server implementation specific -class ProcessEventQueue(multiprocessing.queues.Queue): - def __init__(self, maxsize): - multiprocessing.queues.Queue.__init__(self, maxsize, ctx=multiprocessing.get_context()) - self.exit = False - bb.utils.set_process_name("ProcessEQueue") - - def setexit(self): - self.exit = True - - def waitEvent(self, timeout): - if self.exit: - return self.getEvent() + self.socket_connection.close() + return + +class BitBakeServer(object): + def __init__(self, lock, sockname, configuration, featureset): + + self.configuration = configuration + self.featureset = featureset + self.sockname = sockname + self.bitbake_lock = lock + + # Create server control socket + if os.path.exists(sockname): + os.unlink(sockname) + + self.sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) + # AF_UNIX has path length issues so chdir here to workaround + cwd = os.getcwd() try: - if not self.server.is_alive(): - return self.getEvent() - if timeout == 0: - return self.get(False) - return self.get(True, timeout) - except Empty: - return None + os.chdir(os.path.dirname(sockname)) + self.sock.bind(os.path.basename(sockname)) + finally: + os.chdir(cwd) + self.sock.listen(1) + + os.set_inheritable(self.sock.fileno(), True) + bb.daemonize.createDaemon(self._startServer, "bitbake-cookerdaemon.log") + self.sock.close() + + def _startServer(self): + server = ProcessServer(self.bitbake_lock, self.sock, self.sockname) + self.configuration.setServerRegIdleCallback(server.register_idle_function) + + # Copy prefile and postfile to _server variants + for param in ('prefile', 'postfile'): + value = getattr(self.configuration, param) + if value: + setattr(self.configuration, "%s_server" % param, value) + + self.cooker = bb.cooker.BBCooker(self.configuration, self.featureset) + server.cooker = self.cooker + server.server_timeout = self.configuration.server_timeout + server.xmlrpcinterface = self.configuration.xmlrpcinterface + server.start() + +def connectProcessServer(sockname, featureset): + # Connect to socket + sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) + # AF_UNIX has path length issues so chdir here to workaround + cwd = os.getcwd() + try: + os.chdir(os.path.dirname(sockname)) + sock.connect(os.path.basename(sockname)) + finally: + os.chdir(cwd) + + # Send an fd for the remote to write events to + readfd, writefd = os.pipe() + eq = BBUIEventQueue(readfd) + # Send an fd for the remote to recieve commands from + readfd1, writefd1 = os.pipe() + command_chan = ConnectionWriter(writefd1) + # Send an fd for the remote to write commands results to + readfd2, writefd2 = os.pipe() + command_chan_recv = ConnectionReader(readfd2) + + sendfds(sock, [writefd, readfd1, writefd2]) + + try: + server_connection = BitBakeProcessServerConnection(command_chan, command_chan_recv, eq) + + server_connection.connection.updateFeatureSet(featureset) + + # Save sock so it doesn't get gc'd for the life of our connection + server_connection.socket_connection = sock + except: + sock.close() + raise + + return server_connection + +def sendfds(sock, fds): + '''Send an array of fds over an AF_UNIX socket.''' + fds = array.array('i', fds) + msg = bytes([len(fds) % 256]) + sock.sendmsg([msg], [(socket.SOL_SOCKET, socket.SCM_RIGHTS, fds)]) + +def recvfds(sock, size): + '''Receive an array of fds over an AF_UNIX socket.''' + a = array.array('i') + bytes_size = a.itemsize * size + msg, ancdata, flags, addr = sock.recvmsg(1, socket.CMSG_LEN(bytes_size)) + if not msg and not ancdata: + raise EOFError + try: + if len(ancdata) != 1: + raise RuntimeError('received %d items of ancdata' % + len(ancdata)) + cmsg_level, cmsg_type, cmsg_data = ancdata[0] + if (cmsg_level == socket.SOL_SOCKET and + cmsg_type == socket.SCM_RIGHTS): + if len(cmsg_data) % a.itemsize != 0: + raise ValueError + a.frombytes(cmsg_data) + assert len(a) % 256 == msg[0] + return list(a) + except (ValueError, IndexError): + pass + raise RuntimeError('Invalid data received') + +class BBUIEventQueue: + def __init__(self, readfd): + + self.eventQueue = [] + self.eventQueueLock = threading.Lock() + self.eventQueueNotify = threading.Event() + + self.reader = ConnectionReader(readfd) + + self.t = threading.Thread() + self.t.setDaemon(True) + self.t.run = self.startCallbackHandler + self.t.start() def getEvent(self): - try: - if not self.server.is_alive(): - self.setexit() - return self.get(False) - except Empty: - if self.exit: - sys.exit(1) + self.eventQueueLock.acquire() + + if len(self.eventQueue) == 0: + self.eventQueueLock.release() return None -class BitBakeServer(BitBakeBaseServer): - def initServer(self, single_use=True): - # establish communication channels. We use bidirectional pipes for - # ui <--> server command/response pairs - # and a queue for server -> ui event notifications - # - self.ui_channel, self.server_channel = Pipe() - self.event_queue = ProcessEventQueue(0) - self.serverImpl = ProcessServer(self.server_channel, self.event_queue, None) - self.event_queue.server = self.serverImpl - - def detach(self): - self.serverImpl.start() - return + item = self.eventQueue.pop(0) - def establishConnection(self, featureset): + if len(self.eventQueue) == 0: + self.eventQueueNotify.clear() - self.connection = BitBakeProcessServerConnection(self.serverImpl, self.ui_channel, self.event_queue) + self.eventQueueLock.release() + return item + + def waitEvent(self, delay): + self.eventQueueNotify.wait(delay) + return self.getEvent() + + def queue_event(self, event): + self.eventQueueLock.acquire() + self.eventQueue.append(event) + self.eventQueueNotify.set() + self.eventQueueLock.release() + + def send_event(self, event): + self.queue_event(pickle.loads(event)) + + def startCallbackHandler(self): + bb.utils.set_process_name("UIEventQueue") + while True: + self.reader.wait() + event = self.reader.get() + self.queue_event(event) + +class ConnectionReader(object): + + def __init__(self, fd): + self.reader = multiprocessing.connection.Connection(fd, writable=False) + self.rlock = multiprocessing.Lock() + + def wait(self, timeout=None): + return multiprocessing.connection.wait([self.reader], timeout) + + def poll(self, timeout=None): + return self.reader.poll(timeout) + + def get(self): + with self.rlock: + res = self.reader.recv_bytes() + return multiprocessing.reduction.ForkingPickler.loads(res) + + def fileno(self): + return self.reader.fileno() + +class ConnectionWriter(object): + + def __init__(self, fd): + self.writer = multiprocessing.connection.Connection(fd, readable=False) + self.wlock = multiprocessing.Lock() + # Why bb.event needs this I have no idea + self.event = self + + def send(self, obj): + obj = multiprocessing.reduction.ForkingPickler.dumps(obj) + with self.wlock: + self.writer.send_bytes(obj) - _, error = self.connection.connection.runCommand(["setFeatures", featureset]) - if error: - logger.error("Unable to set the cooker to the correct featureset: %s" % error) - raise BaseException(error) - signal.signal(signal.SIGTERM, lambda i, s: self.connection.sigterm_terminate()) - return self.connection diff --git a/lib/bb/server/xmlrpc.py b/lib/bb/server/xmlrpc.py deleted file mode 100644 index 1a475e0..0000000 --- a/lib/bb/server/xmlrpc.py +++ /dev/null @@ -1,448 +0,0 @@ -# -# BitBake XMLRPC Server -# -# Copyright (C) 2006 - 2007 Michael 'Mickey' Lauer -# Copyright (C) 2006 - 2008 Richard Purdie -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -""" - This module implements an xmlrpc server for BitBake. - - Use this by deriving a class from BitBakeXMLRPCServer and then adding - methods which you want to "export" via XMLRPC. If the methods have the - prefix xmlrpc_, then registering those function will happen automatically, - if not, you need to call register_function. - - Use register_idle_function() to add a function which the xmlrpc server - calls from within server_forever when no requests are pending. Make sure - that those functions are non-blocking or else you will introduce latency - in the server's main loop. -""" - -import os -import sys - -import hashlib -import time -import socket -import signal -import threading -import pickle -import inspect -import select -import http.client -import xmlrpc.client -from xmlrpc.server import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler - -import bb -from bb import daemonize -from bb.ui import uievent -from . import BitBakeBaseServer, BitBakeBaseServerConnection, BaseImplServer - -DEBUG = False - -class BBTransport(xmlrpc.client.Transport): - def __init__(self, timeout): - self.timeout = timeout - self.connection_token = None - xmlrpc.client.Transport.__init__(self) - - # Modified from default to pass timeout to HTTPConnection - def make_connection(self, host): - #return an existing connection if possible. This allows - #HTTP/1.1 keep-alive. - if self._connection and host == self._connection[0]: - return self._connection[1] - - # create a HTTP connection object from a host descriptor - chost, self._extra_headers, x509 = self.get_host_info(host) - #store the host argument along with the connection object - self._connection = host, http.client.HTTPConnection(chost, timeout=self.timeout) - return self._connection[1] - - def set_connection_token(self, token): - self.connection_token = token - - def send_content(self, h, body): - if self.connection_token: - h.putheader("Bitbake-token", self.connection_token) - xmlrpc.client.Transport.send_content(self, h, body) - -def _create_server(host, port, timeout = 60): - t = BBTransport(timeout) - s = xmlrpc.client.ServerProxy("http://%s:%d/" % (host, port), transport=t, allow_none=True, use_builtin_types=True) - return s, t - -def check_connection(remote, timeout): - try: - host, port = remote.split(":") - port = int(port) - except Exception as e: - bb.warn("Failed to read remote definition (%s)" % str(e)) - raise e - - server, _transport = _create_server(host, port, timeout) - try: - ret, err = server.runCommand(['getVariable', 'TOPDIR']) - if err or not ret: - return False - except ConnectionError: - return False - return True - -class BitBakeServerCommands(): - - def __init__(self, server): - self.server = server - self.has_client = False - - def registerEventHandler(self, host, port): - """ - Register a remote UI Event Handler - """ - s, t = _create_server(host, port) - - # we don't allow connections if the cooker is running - if (self.cooker.state in [bb.cooker.state.parsing, bb.cooker.state.running]): - return None, "Cooker is busy: %s" % bb.cooker.state.get_name(self.cooker.state) - - self.event_handle = bb.event.register_UIHhandler(s, True) - return self.event_handle, 'OK' - - def unregisterEventHandler(self, handlerNum): - """ - Unregister a remote UI Event Handler - """ - return bb.event.unregister_UIHhandler(handlerNum, True) - - def runCommand(self, command): - """ - Run a cooker command on the server - """ - return self.cooker.command.runCommand(command, self.server.readonly) - - def getEventHandle(self): - return self.event_handle - - def terminateServer(self): - """ - Trigger the server to quit - """ - self.server.quit = True - print("Server (cooker) exiting") - return - - def addClient(self): - if self.has_client: - return None - token = hashlib.md5(str(time.time()).encode("utf-8")).hexdigest() - self.server.set_connection_token(token) - self.has_client = True - return token - - def removeClient(self): - if self.has_client: - self.server.set_connection_token(None) - self.has_client = False - if self.server.single_use: - self.server.quit = True - -# This request handler checks if the request has a "Bitbake-token" header -# field (this comes from the client side) and compares it with its internal -# "Bitbake-token" field (this comes from the server). If the two are not -# equal, it is assumed that a client is trying to connect to the server -# while another client is connected to the server. In this case, a 503 error -# ("service unavailable") is returned to the client. -class BitBakeXMLRPCRequestHandler(SimpleXMLRPCRequestHandler): - def __init__(self, request, client_address, server): - self.server = server - SimpleXMLRPCRequestHandler.__init__(self, request, client_address, server) - - def do_POST(self): - try: - remote_token = self.headers["Bitbake-token"] - except: - remote_token = None - if remote_token != self.server.connection_token and remote_token != "observer": - self.report_503() - else: - if remote_token == "observer": - self.server.readonly = True - else: - self.server.readonly = False - SimpleXMLRPCRequestHandler.do_POST(self) - - def report_503(self): - self.send_response(503) - response = 'No more client allowed' - self.send_header("Content-type", "text/plain") - self.send_header("Content-length", str(len(response))) - self.end_headers() - self.wfile.write(bytes(response, 'utf-8')) - - -class XMLRPCProxyServer(BaseImplServer): - """ not a real working server, but a stub for a proxy server connection - - """ - def __init__(self, host, port, use_builtin_types=True): - self.host = host - self.port = port - -class XMLRPCServer(SimpleXMLRPCServer, BaseImplServer): - # remove this when you're done with debugging - # allow_reuse_address = True - - def __init__(self, interface, single_use=False, idle_timeout=0): - """ - Constructor - """ - BaseImplServer.__init__(self) - self.single_use = single_use - # Use auto port configuration - if (interface[1] == -1): - interface = (interface[0], 0) - SimpleXMLRPCServer.__init__(self, interface, - requestHandler=BitBakeXMLRPCRequestHandler, - logRequests=False, allow_none=True) - self.host, self.port = self.socket.getsockname() - self.connection_token = None - #self.register_introspection_functions() - self.commands = BitBakeServerCommands(self) - self.autoregister_all_functions(self.commands, "") - self.interface = interface - self.time = time.time() - self.idle_timeout = idle_timeout - if idle_timeout: - self.register_idle_function(self.handle_idle_timeout, self) - self.heartbeat_seconds = 1 # default, BB_HEARTBEAT_EVENT will be checked once we have a datastore. - self.next_heartbeat = time.time() - - def addcooker(self, cooker): - BaseImplServer.addcooker(self, cooker) - self.commands.cooker = cooker - - def autoregister_all_functions(self, context, prefix): - """ - Convenience method for registering all functions in the scope - of this class that start with a common prefix - """ - methodlist = inspect.getmembers(context, inspect.ismethod) - for name, method in methodlist: - if name.startswith(prefix): - self.register_function(method, name[len(prefix):]) - - def handle_idle_timeout(self, server, data, abort): - if not abort: - if time.time() - server.time > server.idle_timeout: - server.quit = True - print("Server idle timeout expired") - return [] - - def serve_forever(self): - heartbeat_event = self.cooker.data.getVar('BB_HEARTBEAT_EVENT') - if heartbeat_event: - try: - self.heartbeat_seconds = float(heartbeat_event) - except: - # Throwing an exception here causes bitbake to hang. - # Just warn about the invalid setting and continue - bb.warn('Ignoring invalid BB_HEARTBEAT_EVENT=%s, must be a float specifying seconds.' % heartbeat_event) - - # Start the actual XMLRPC server - bb.cooker.server_main(self.cooker, self._serve_forever) - - def _serve_forever(self): - """ - Serve Requests. Overloaded to honor a quit command - """ - self.quit = False - while not self.quit: - fds = [self] - nextsleep = 0.1 - for function, data in list(self._idlefuns.items()): - retval = None - try: - retval = function(self, data, False) - if retval is False: - del self._idlefuns[function] - elif retval is True: - nextsleep = 0 - elif isinstance(retval, float): - if (retval < nextsleep): - nextsleep = retval - else: - fds = fds + retval - except SystemExit: - raise - except: - import traceback - traceback.print_exc() - if retval == None: - # the function execute failed; delete it - del self._idlefuns[function] - pass - - socktimeout = self.socket.gettimeout() or nextsleep - socktimeout = min(socktimeout, nextsleep) - # Mirror what BaseServer handle_request would do - try: - fd_sets = select.select(fds, [], [], socktimeout) - if fd_sets[0] and self in fd_sets[0]: - if self.idle_timeout: - self.time = time.time() - self._handle_request_noblock() - except IOError: - # we ignore interrupted calls - pass - - # Create new heartbeat event? - now = time.time() - if now >= self.next_heartbeat: - # We might have missed heartbeats. Just trigger once in - # that case and continue after the usual delay. - self.next_heartbeat += self.heartbeat_seconds - if self.next_heartbeat <= now: - self.next_heartbeat = now + self.heartbeat_seconds - heartbeat = bb.event.HeartbeatEvent(now) - bb.event.fire(heartbeat, self.cooker.data) - if nextsleep and now + nextsleep > self.next_heartbeat: - # Shorten timeout so that we we wake up in time for - # the heartbeat. - nextsleep = self.next_heartbeat - now - - # Tell idle functions we're exiting - for function, data in list(self._idlefuns.items()): - try: - retval = function(self, data, True) - except: - pass - self.server_close() - return - - def set_connection_token(self, token): - self.connection_token = token - -class BitBakeXMLRPCServerConnection(BitBakeBaseServerConnection): - def __init__(self, serverImpl, clientinfo=("localhost", 0), observer_only = False, featureset = None): - self.connection, self.transport = _create_server(serverImpl.host, serverImpl.port) - self.clientinfo = clientinfo - self.serverImpl = serverImpl - self.observer_only = observer_only - if featureset: - self.featureset = featureset - else: - self.featureset = [] - - def connect(self, token = None): - if token is None: - if self.observer_only: - token = "observer" - else: - token = self.connection.addClient() - - if token is None: - return None - - self.transport.set_connection_token(token) - return self - - def setupEventQueue(self): - self.events = uievent.BBUIEventQueue(self.connection, self.clientinfo) - for event in bb.event.ui_queue: - self.events.queue_event(event) - - _, error = self.connection.runCommand(["setFeatures", self.featureset]) - if error: - # disconnect the client, we can't make the setFeature work - self.connection.removeClient() - # no need to log it here, the error shall be sent to the client - raise BaseException(error) - - def removeClient(self): - if not self.observer_only: - self.connection.removeClient() - - def terminate(self): - # Don't wait for server indefinitely - import socket - socket.setdefaulttimeout(2) - try: - self.events.system_quit() - except: - pass - try: - self.connection.removeClient() - except: - pass - -class BitBakeServer(BitBakeBaseServer): - def initServer(self, interface = ("localhost", 0), - single_use = False, idle_timeout=0): - self.interface = interface - self.serverImpl = XMLRPCServer(interface, single_use, idle_timeout) - - def detach(self): - daemonize.createDaemon(self.serverImpl.serve_forever, "bitbake-cookerdaemon.log") - del self.cooker - - def establishConnection(self, featureset): - self.connection = BitBakeXMLRPCServerConnection(self.serverImpl, self.interface, False, featureset) - return self.connection.connect() - - def set_connection_token(self, token): - self.connection.transport.set_connection_token(token) - -class BitBakeXMLRPCClient(BitBakeBaseServer): - - def __init__(self, observer_only = False, token = None): - self.token = token - - self.observer_only = observer_only - # if we need extra caches, just tell the server to load them all - pass - - def saveConnectionDetails(self, remote): - self.remote = remote - - def establishConnection(self, featureset): - # The format of "remote" must be "server:port" - try: - [host, port] = self.remote.split(":") - port = int(port) - except Exception as e: - bb.warn("Failed to read remote definition (%s)" % str(e)) - raise e - - # We need our IP for the server connection. We get the IP - # by trying to connect with the server - try: - s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) - s.connect((host, port)) - ip = s.getsockname()[0] - s.close() - except Exception as e: - bb.warn("Could not create socket for %s:%s (%s)" % (host, port, str(e))) - raise e - try: - self.serverImpl = XMLRPCProxyServer(host, port, use_builtin_types=True) - self.connection = BitBakeXMLRPCServerConnection(self.serverImpl, (ip, 0), self.observer_only, featureset) - return self.connection.connect(self.token) - except Exception as e: - bb.warn("Could not connect to server at %s:%s (%s)" % (host, port, str(e))) - raise e - - def endSession(self): - self.connection.removeClient() diff --git a/lib/bb/server/xmlrpcclient.py b/lib/bb/server/xmlrpcclient.py new file mode 100644 index 0000000..4661a9e --- /dev/null +++ b/lib/bb/server/xmlrpcclient.py @@ -0,0 +1,154 @@ +# +# BitBake XMLRPC Client Interface +# +# Copyright (C) 2006 - 2007 Michael 'Mickey' Lauer +# Copyright (C) 2006 - 2008 Richard Purdie +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +import os +import sys + +import socket +import http.client +import xmlrpc.client + +import bb +from bb.ui import uievent + +class BBTransport(xmlrpc.client.Transport): + def __init__(self, timeout): + self.timeout = timeout + self.connection_token = None + xmlrpc.client.Transport.__init__(self) + + # Modified from default to pass timeout to HTTPConnection + def make_connection(self, host): + #return an existing connection if possible. This allows + #HTTP/1.1 keep-alive. + if self._connection and host == self._connection[0]: + return self._connection[1] + + # create a HTTP connection object from a host descriptor + chost, self._extra_headers, x509 = self.get_host_info(host) + #store the host argument along with the connection object + self._connection = host, http.client.HTTPConnection(chost, timeout=self.timeout) + return self._connection[1] + + def set_connection_token(self, token): + self.connection_token = token + + def send_content(self, h, body): + if self.connection_token: + h.putheader("Bitbake-token", self.connection_token) + xmlrpc.client.Transport.send_content(self, h, body) + +def _create_server(host, port, timeout = 60): + t = BBTransport(timeout) + s = xmlrpc.client.ServerProxy("http://%s:%d/" % (host, port), transport=t, allow_none=True, use_builtin_types=True) + return s, t + +def check_connection(remote, timeout): + try: + host, port = remote.split(":") + port = int(port) + except Exception as e: + bb.warn("Failed to read remote definition (%s)" % str(e)) + raise e + + server, _transport = _create_server(host, port, timeout) + try: + ret, err = server.runCommand(['getVariable', 'TOPDIR']) + if err or not ret: + return False + except ConnectionError: + return False + return True + +class BitBakeXMLRPCServerConnection(object): + def __init__(self, host, port, clientinfo=("localhost", 0), observer_only = False, featureset = None): + self.connection, self.transport = _create_server(host, port) + self.clientinfo = clientinfo + self.observer_only = observer_only + if featureset: + self.featureset = featureset + else: + self.featureset = [] + + self.events = uievent.BBUIEventQueue(self.connection, self.clientinfo) + + _, error = self.connection.runCommand(["setFeatures", self.featureset]) + if error: + # disconnect the client, we can't make the setFeature work + self.connection.removeClient() + # no need to log it here, the error shall be sent to the client + raise BaseException(error) + + def connect(self, token = None): + if token is None: + if self.observer_only: + token = "observer" + else: + token = self.connection.addClient() + + if token is None: + return None + + self.transport.set_connection_token(token) + return self + + def removeClient(self): + if not self.observer_only: + self.connection.removeClient() + + def terminate(self): + # Don't wait for server indefinitely + socket.setdefaulttimeout(2) + try: + self.events.system_quit() + except: + pass + try: + self.connection.removeClient() + except: + pass + +def connectXMLRPC(remote, featureset, observer_only = False, token = None): + # The format of "remote" must be "server:port" + try: + [host, port] = remote.split(":") + port = int(port) + except Exception as e: + bb.warn("Failed to parse remote definition %s (%s)" % (remote, str(e))) + raise e + + # We need our IP for the server connection. We get the IP + # by trying to connect with the server + try: + s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + s.connect((host, port)) + ip = s.getsockname()[0] + s.close() + except Exception as e: + bb.warn("Could not create socket for %s:%s (%s)" % (host, port, str(e))) + raise e + try: + connection = BitBakeXMLRPCServerConnection(host, port, (ip, 0), observer_only, featureset) + return connection.connect(token) + except Exception as e: + bb.warn("Could not connect to server at %s:%s (%s)" % (host, port, str(e))) + raise e + + + diff --git a/lib/bb/server/xmlrpcserver.py b/lib/bb/server/xmlrpcserver.py new file mode 100644 index 0000000..875b128 --- /dev/null +++ b/lib/bb/server/xmlrpcserver.py @@ -0,0 +1,158 @@ +# +# BitBake XMLRPC Server Interface +# +# Copyright (C) 2006 - 2007 Michael 'Mickey' Lauer +# Copyright (C) 2006 - 2008 Richard Purdie +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +import os +import sys + +import hashlib +import time +import inspect +from xmlrpc.server import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler + +import bb + +# This request handler checks if the request has a "Bitbake-token" header +# field (this comes from the client side) and compares it with its internal +# "Bitbake-token" field (this comes from the server). If the two are not +# equal, it is assumed that a client is trying to connect to the server +# while another client is connected to the server. In this case, a 503 error +# ("service unavailable") is returned to the client. +class BitBakeXMLRPCRequestHandler(SimpleXMLRPCRequestHandler): + def __init__(self, request, client_address, server): + self.server = server + SimpleXMLRPCRequestHandler.__init__(self, request, client_address, server) + + def do_POST(self): + try: + remote_token = self.headers["Bitbake-token"] + except: + remote_token = None + if 0 and remote_token != self.server.connection_token and remote_token != "observer": + self.report_503() + else: + if remote_token == "observer": + self.server.readonly = True + else: + self.server.readonly = False + SimpleXMLRPCRequestHandler.do_POST(self) + + def report_503(self): + self.send_response(503) + response = 'No more client allowed' + self.send_header("Content-type", "text/plain") + self.send_header("Content-length", str(len(response))) + self.end_headers() + self.wfile.write(bytes(response, 'utf-8')) + +class BitBakeXMLRPCServer(SimpleXMLRPCServer): + # remove this when you're done with debugging + # allow_reuse_address = True + + def __init__(self, interface, cooker, parent): + # Use auto port configuration + if (interface[1] == -1): + interface = (interface[0], 0) + SimpleXMLRPCServer.__init__(self, interface, + requestHandler=BitBakeXMLRPCRequestHandler, + logRequests=False, allow_none=True) + self.host, self.port = self.socket.getsockname() + self.interface = interface + + self.connection_token = None + self.commands = BitBakeXMLRPCServerCommands(self) + self.register_functions(self.commands, "") + + self.cooker = cooker + self.parent = parent + + + def register_functions(self, context, prefix): + """ + Convenience method for registering all functions in the scope + of this class that start with a common prefix + """ + methodlist = inspect.getmembers(context, inspect.ismethod) + for name, method in methodlist: + if name.startswith(prefix): + self.register_function(method, name[len(prefix):]) + + def get_timeout(self, delay): + socktimeout = self.socket.gettimeout() or delay + return min(socktimeout, delay) + + def handle_requests(self): + self._handle_request_noblock() + +class BitBakeXMLRPCServerCommands(): + + def __init__(self, server): + self.server = server + self.has_client = False + + def registerEventHandler(self, host, port): + """ + Register a remote UI Event Handler + """ + s, t = bb.server.xmlrpcclient._create_server(host, port) + + # we don't allow connections if the cooker is running + if (self.server.cooker.state in [bb.cooker.state.parsing, bb.cooker.state.running]): + return None, "Cooker is busy: %s" % bb.cooker.state.get_name(self.server.cooker.state) + + self.event_handle = bb.event.register_UIHhandler(s, True) + return self.event_handle, 'OK' + + def unregisterEventHandler(self, handlerNum): + """ + Unregister a remote UI Event Handler + """ + ret = bb.event.unregister_UIHhandler(handlerNum, True) + self.event_handle = None + return ret + + def runCommand(self, command): + """ + Run a cooker command on the server + """ + return self.server.cooker.command.runCommand(command, self.server.readonly) + + def getEventHandle(self): + return self.event_handle + + def terminateServer(self): + """ + Trigger the server to quit + """ + self.server.parent.quit = True + print("XMLRPC Server triggering exit") + return + + def addClient(self): + if self.server.parent.haveui: + return None + token = hashlib.md5(str(time.time()).encode("utf-8")).hexdigest() + self.server.connection_token = token + self.server.parent.haveui = True + return token + + def removeClient(self): + if self.server.parent.haveui: + self.server.connection_token = None + self.server.parent.haveui = False + diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index fb0da62..303ce02 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -243,7 +243,7 @@ class Tinfoil: cookerconfig = CookerConfiguration() cookerconfig.setConfigParameters(config_params) - server, self.server_connection, ui_module = setup_bitbake(config_params, + self.server_connection, ui_module = setup_bitbake(config_params, cookerconfig, extrafeatures, setup_logging=False) diff --git a/lib/prserv/serv.py b/lib/prserv/serv.py index a7efa58..5f061c2 100644 --- a/lib/prserv/serv.py +++ b/lib/prserv/serv.py @@ -6,7 +6,7 @@ import queue import socket import io import sqlite3 -import bb.server.xmlrpc +import bb.server.xmlrpcclient import prserv import prserv.db import errno @@ -300,7 +300,7 @@ class PRServerConnection(object): host, port = singleton.getinfo() self.host = host self.port = port - self.connection, self.transport = bb.server.xmlrpc._create_server(self.host, self.port) + self.connection, self.transport = bb.server.xmlrpcclient._create_server(self.host, self.port) def terminate(self): try: -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 14:27:44 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 14:27:44 +0000 Subject: [oe-commits] [bitbake] branch master-next updated: fixes Message-ID: <150030166457.20667.3344113422100944193@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. The following commit(s) were added to refs/heads/master-next by this push: new 25ea8f3 fixes 25ea8f3 is described below commit 25ea8f36863b612a61b3bcb6a8ed107c79572722 Author: Richard Purdie AuthorDate: Mon Jul 17 15:26:11 2017 +0100 fixes Signed-off-by: Richard Purdie --- lib/bb/daemonize.py | 3 ++- lib/bb/server/process.py | 27 +++++++++++++++------------ 2 files changed, 17 insertions(+), 13 deletions(-) diff --git a/lib/bb/daemonize.py b/lib/bb/daemonize.py index ab4a954..6b5414b 100644 --- a/lib/bb/daemonize.py +++ b/lib/bb/daemonize.py @@ -124,6 +124,7 @@ def createDaemon(function, logfile): # streams to be flushed twice and any temporary files may be unexpectedly # removed. It's therefore recommended that child branches of a fork() # and the parent branch(es) of a daemon use _exit(). + os.waitpid(pid, 0) return # Close all open file descriptors. This prevents the child from keeping @@ -179,7 +180,7 @@ def createDaemon(function, logfile): si = open('/dev/null', 'r') - so = open(logfile, 'w') + so = open(logfile, 'a+') se = so diff --git a/lib/bb/server/process.py b/lib/bb/server/process.py index 9e181aa..3b18ffd 100644 --- a/lib/bb/server/process.py +++ b/lib/bb/server/process.py @@ -338,6 +338,7 @@ class BitBakeServer(object): os.set_inheritable(self.sock.fileno(), True) bb.daemonize.createDaemon(self._startServer, "bitbake-cookerdaemon.log") self.sock.close() + bb.utils.unlockfile(lock) def _startServer(self): server = ProcessServer(self.bitbake_lock, self.sock, self.sockname) @@ -353,6 +354,7 @@ class BitBakeServer(object): server.cooker = self.cooker server.server_timeout = self.configuration.server_timeout server.xmlrpcinterface = self.configuration.xmlrpcinterface + print("Started bitbake server pid %d" % os.getpid()) server.start() def connectProcessServer(sockname, featureset): @@ -360,25 +362,26 @@ def connectProcessServer(sockname, featureset): sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) # AF_UNIX has path length issues so chdir here to workaround cwd = os.getcwd() + try: os.chdir(os.path.dirname(sockname)) sock.connect(os.path.basename(sockname)) finally: os.chdir(cwd) - # Send an fd for the remote to write events to - readfd, writefd = os.pipe() - eq = BBUIEventQueue(readfd) - # Send an fd for the remote to recieve commands from - readfd1, writefd1 = os.pipe() - command_chan = ConnectionWriter(writefd1) - # Send an fd for the remote to write commands results to - readfd2, writefd2 = os.pipe() - command_chan_recv = ConnectionReader(readfd2) - - sendfds(sock, [writefd, readfd1, writefd2]) - try: + # Send an fd for the remote to write events to + readfd, writefd = os.pipe() + eq = BBUIEventQueue(readfd) + # Send an fd for the remote to recieve commands from + readfd1, writefd1 = os.pipe() + command_chan = ConnectionWriter(writefd1) + # Send an fd for the remote to write commands results to + readfd2, writefd2 = os.pipe() + command_chan_recv = ConnectionReader(readfd2) + + sendfds(sock, [writefd, readfd1, writefd2]) + server_connection = BitBakeProcessServerConnection(command_chan, command_chan_recv, eq) server_connection.connection.updateFeatureSet(featureset) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 22:40:51 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 22:40:51 +0000 Subject: [oe-commits] [bitbake] branch master-next updated (25ea8f3 -> 953db57) Message-ID: <150033125188.21181.15905956832269760035@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master-next in repository bitbake. discard 25ea8f3 fixes discard 8504c21 server: Rework the server API so process and xmlrpc servers coexist new 953db57 server: Rework the server API so process and xmlrpc servers coexist This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (25ea8f3) \ N -- N -- N refs/heads/master-next (953db57) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: lib/bb/daemonize.py | 6 ++---- lib/bb/main.py | 5 +++-- lib/bb/server/process.py | 3 ++- 3 files changed, 7 insertions(+), 7 deletions(-) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 17 22:40:52 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 17 Jul 2017 22:40:52 +0000 Subject: [oe-commits] [bitbake] 01/01: server: Rework the server API so process and xmlrpc servers coexist In-Reply-To: <150033125188.21181.15905956832269760035@git.openembedded.org> References: <150033125188.21181.15905956832269760035@git.openembedded.org> Message-ID: <20170717224052.09976233546@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 953db578582c5f3c14ba5c50f36c34141025f761 Author: Richard Purdie AuthorDate: Thu Jul 13 17:24:35 2017 +0100 server: Rework the server API so process and xmlrpc servers coexist This changes the way bitbake server works quite radically. Now, the server is always a process based server with the option of starting an XMLRPC listener on a specific inferface/port. Behind the scenes this is done with a "bitbake.sock" file alongside the bitbake.lock file. If we can obtain the lock, we know we need to start a server. The server always listens on the socket and UIs can then connect to this. UIs connect by sending a set of three file descriptors over the domain socket, one for sending commands, one for receiving command results and the other for receiving events. These changes meant we can throw away all the horrid server abstraction code, the plugable transport option to bitbake and the code becomes much more readable and debuggable. It also likely removes a ton of ways you could hang the UI/cooker in weird ways due to all the race conditions that existed with previous processes. Changes: * The foreground option for bitbake-server was dropped. Just tail the log if you really want this, the codepaths were complicated enough without adding one for this. * BBSERVER="autodetect" was dropped. The server will autostart and autoconnect in process mode. You have to specify an xmlrpc server address since that can't be autodetected. I can't see a use case for autodetect now. * The transport/servetype option to bitbake was dropped. * A BB_SERVER_TIMEOUT variable is added which allows the server to stay resident for a period of time after the last client disconnects before unloading. This is used if the -T/--idle-timeout option is not passed to bitbake. This change is invasive and may well introduce new issues however I believe the codebase is in a much better position for further development and debugging. Signed-off-by: Richard Purdie --- lib/bb/command.py | 5 + lib/bb/cooker.py | 61 +---- lib/bb/cookerdata.py | 25 +- lib/bb/daemonize.py | 7 +- lib/bb/event.py | 11 +- lib/bb/main.py | 224 ++++++---------- lib/bb/server/__init__.py | 78 ------ lib/bb/server/process.py | 576 +++++++++++++++++++++++++++++------------- lib/bb/server/xmlrpc.py | 448 -------------------------------- lib/bb/server/xmlrpcclient.py | 154 +++++++++++ lib/bb/server/xmlrpcserver.py | 158 ++++++++++++ lib/bb/tinfoil.py | 2 +- lib/prserv/serv.py | 4 +- 13 files changed, 823 insertions(+), 930 deletions(-) diff --git a/lib/bb/command.py b/lib/bb/command.py index 36891b9..eb7c86f 100644 --- a/lib/bb/command.py +++ b/lib/bb/command.py @@ -238,6 +238,11 @@ class CommandsSync: return command.cooker.matchFile(fMatch) matchFile.needconfig = False + def getUIHandlerNum(self, command, params): + return bb.event.get_uihandler() + getUIHandlerNum.needconfig = False + getUIHandlerNum.readonly = True + def setEventMask(self, command, params): handlerNum = params[0] llevel = params[1] diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py index dc8f54c..2e8ccb3 100644 --- a/lib/bb/cooker.py +++ b/lib/bb/cooker.py @@ -215,19 +215,6 @@ class BBCooker: self.configuration.server_register_idlecallback(_process_inotify_updates, [self.confignotifier, self.notifier]) - # Take a lock so only one copy of bitbake can run against a given build - # directory at a time - if not self.lockBitbake(): - bb.fatal("Only one copy of bitbake should be run against a build directory") - try: - self.lock.seek(0) - self.lock.truncate() - if len(configuration.interface) >= 2: - self.lock.write("%s:%s\n" % (configuration.interface[0], configuration.interface[1])); - self.lock.flush() - except: - pass - # TOSTOP must not be set or our children will hang when they output try: fd = sys.stdout.fileno() @@ -1557,33 +1544,6 @@ class BBCooker: def post_serve(self): prserv.serv.auto_shutdown(self.data) bb.event.fire(CookerExit(), self.data) - lockfile = self.lock.name - self.lock.close() - self.lock = None - - while not self.lock: - with bb.utils.timeout(3): - self.lock = bb.utils.lockfile(lockfile, shared=False, retry=False, block=True) - if not self.lock: - # Some systems may not have lsof available - procs = None - try: - procs = subprocess.check_output(["lsof", '-w', lockfile], stderr=subprocess.STDOUT) - except OSError as e: - if e.errno != errno.ENOENT: - raise - if procs is None: - # Fall back to fuser if lsof is unavailable - try: - procs = subprocess.check_output(["fuser", '-v', lockfile], stderr=subprocess.STDOUT) - except OSError as e: - if e.errno != errno.ENOENT: - raise - - msg = "Delaying shutdown due to active processes which appear to be holding bitbake.lock" - if procs: - msg += ":\n%s" % str(procs) - print(msg) def shutdown(self, force = False): @@ -1605,23 +1565,10 @@ class BBCooker: def clientComplete(self): """Called when the client is done using the server""" - if self.configuration.server_only: - self.finishcommand() - else: - self.shutdown(True) - - def lockBitbake(self): - if not hasattr(self, 'lock'): - self.lock = None - if self.data: - lockfile = self.data.expand("${TOPDIR}/bitbake.lock") - if lockfile: - self.lock = bb.utils.lockfile(lockfile, False, False) - return self.lock - - def unlockBitbake(self): - if hasattr(self, 'lock') and self.lock: - bb.utils.unlockfile(self.lock) + #if self.configuration.server_only: + self.finishcommand() + #else: + # self.shutdown(True) def server_main(cooker, func, *args): cooker.pre_serve() diff --git a/lib/bb/cookerdata.py b/lib/bb/cookerdata.py index 644bb38..1050cb4 100644 --- a/lib/bb/cookerdata.py +++ b/lib/bb/cookerdata.py @@ -76,7 +76,7 @@ class ConfigParameters(object): for o in ["abort", "tryaltconfigs", "force", "invalidate_stamp", "verbose", "debug", "dry_run", "dump_signatures", "debug_domains", "extra_assume_provided", "profile", - "prefile", "postfile", "tracking"]: + "prefile", "postfile", "tracking", "server_timeout"]: options[o] = getattr(self.options, o) ret, error = server.runCommand(["updateConfig", options, environment, sys.argv]) @@ -144,7 +144,8 @@ class CookerConfiguration(object): self.dump_signatures = [] self.dry_run = False self.tracking = False - self.interface = [] + self.xmlrpcinterface = [] + self.server_timeout = None self.writeeventlog = False self.server_only = False self.limited_deps = False @@ -230,6 +231,26 @@ def findConfigFile(configfile, data): return None +# +# We search for a conf/bblayers.conf under an entry in BBPATH or in cwd working +# up to /. If that fails, we search for a conf/bitbake.conf in BBPATH. +# + +def findTopdir(): + d = bb.data.init() + if 'BBPATH' in os.environ: + bbpath = os.environ['BBPATH'] + d.setVar('BBPATH', bbpath) + + layerconf = findConfigFile("bblayers.conf", d) + if layerconf: + return os.path.dirname(os.path.dirname(layerconf)) + if bbpath: + bitbakeconf = bb.utils.which(bbpath, "conf/bitbake.conf") + if bitbakeconf: + return os.path.dirname(os.path.dirname(bitbakeconf)) + return None + class CookerDataBuilder(object): def __init__(self, cookercfg, worker = False): diff --git a/lib/bb/daemonize.py b/lib/bb/daemonize.py index ab4a954..cbcb7e8 100644 --- a/lib/bb/daemonize.py +++ b/lib/bb/daemonize.py @@ -124,6 +124,7 @@ def createDaemon(function, logfile): # streams to be flushed twice and any temporary files may be unexpectedly # removed. It's therefore recommended that child branches of a fork() # and the parent branch(es) of a daemon use _exit(). + os.waitpid(pid, 0) return # Close all open file descriptors. This prevents the child from keeping @@ -179,14 +180,12 @@ def createDaemon(function, logfile): si = open('/dev/null', 'r') - so = open(logfile, 'w') - se = so + sys.stdout = open(logfile, 'a+') + sys.stderr = sys.stdout # Replace those fds with our own os.dup2(si.fileno(), sys.stdin.fileno()) - os.dup2(so.fileno(), sys.stdout.fileno()) - os.dup2(se.fileno(), sys.stderr.fileno()) function() diff --git a/lib/bb/event.py b/lib/bb/event.py index d5c5ef3..92ee3e9 100644 --- a/lib/bb/event.py +++ b/lib/bb/event.py @@ -288,13 +288,13 @@ def set_eventfilter(func): _eventfilter = func def register_UIHhandler(handler, mainui=False): - if mainui: - global _uiready - _uiready = True bb.event._ui_handler_seq = bb.event._ui_handler_seq + 1 _ui_handlers[_ui_handler_seq] = handler level, debug_domains = bb.msg.constructLogOptions() _ui_logfilters[_ui_handler_seq] = UIEventFilter(level, debug_domains) + if mainui: + global _uiready + _uiready = _ui_handler_seq return _ui_handler_seq def unregister_UIHhandler(handlerNum, mainui=False): @@ -305,6 +305,11 @@ def unregister_UIHhandler(handlerNum, mainui=False): del _ui_handlers[handlerNum] return +def get_uihandler(): + if _uiready is False: + return None + return _uiready + # Class to allow filtering of events and specific filtering of LogRecords *before* we put them over the IPC class UIEventFilter(object): def __init__(self, level, debug_domains): diff --git a/lib/bb/main.py b/lib/bb/main.py index 29e3911..5b6a66e 100755 --- a/lib/bb/main.py +++ b/lib/bb/main.py @@ -28,6 +28,8 @@ import logging import optparse import warnings import fcntl +import time +import traceback import bb from bb import event @@ -37,6 +39,9 @@ from bb import ui from bb import server from bb import cookerdata +import bb.server.process +import bb.server.xmlrpcclient + logger = logging.getLogger("BitBake") class BBMainException(Exception): @@ -58,9 +63,6 @@ class BitbakeHelpFormatter(optparse.IndentedHelpFormatter): if option.dest == 'ui': valid_uis = list_extension_modules(bb.ui, 'main') option.help = option.help.replace('@CHOICES@', present_options(valid_uis)) - elif option.dest == 'servertype': - valid_server_types = list_extension_modules(bb.server, 'BitBakeServer') - option.help = option.help.replace('@CHOICES@', present_options(valid_server_types)) return optparse.IndentedHelpFormatter.format_option(self, option) @@ -238,11 +240,6 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters): default=os.environ.get('BITBAKE_UI', 'knotty'), help="The user interface to use (@CHOICES@ - default %default).") - # @CHOICES@ is substituted out by BitbakeHelpFormatter above - parser.add_option("-t", "--servertype", action="store", dest="servertype", - default=["process", "xmlrpc"]["BBSERVER" in os.environ], - help="Choose which server type to use (@CHOICES@ - default %default).") - parser.add_option("", "--token", action="store", dest="xmlrpctoken", default=os.environ.get("BBTOKEN"), help="Specify the connection token to be used when connecting " @@ -258,14 +255,11 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters): help="Run bitbake without a UI, only starting a server " "(cooker) process.") - parser.add_option("", "--foreground", action="store_true", - help="Run bitbake server in foreground.") - parser.add_option("-B", "--bind", action="store", dest="bind", default=False, - help="The name/address for the bitbake server to bind to.") + help="The name/address for the bitbake xmlrpc server to bind to.") - parser.add_option("-T", "--idle-timeout", type=int, - default=int(os.environ.get("BBTIMEOUT", "0")), + parser.add_option("-T", "--idle-timeout", type=float, dest="server_timeout", + default=float(os.environ.get("BB_SERVER_TIMEOUT", 0)) or None, help="Set timeout to unload bitbake server due to inactivity") parser.add_option("", "--no-setscene", action="store_true", @@ -283,7 +277,7 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters): parser.add_option("-m", "--kill-server", action="store_true", dest="kill_server", default=False, - help="Terminate the remote server.") + help="Terminate the bitbake server.") parser.add_option("", "--observe-only", action="store_true", dest="observe_only", default=False, @@ -322,70 +316,20 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters): eventlog = "bitbake_eventlog_%s.json" % datetime.now().strftime("%Y%m%d%H%M%S") options.writeeventlog = eventlog - # if BBSERVER says to autodetect, let's do that - if options.remote_server: - port = -1 - if options.remote_server != 'autostart': - host, port = options.remote_server.split(":", 2) + if options.bind: + try: + #Checking that the port is a number and is a ':' delimited value + (host, port) = options.bind.split(':') port = int(port) - # use automatic port if port set to -1, means read it from - # the bitbake.lock file; this is a bit tricky, but we always expect - # to be in the base of the build directory if we need to have a - # chance to start the server later, anyway - if port == -1: - lock_location = "./bitbake.lock" - # we try to read the address at all times; if the server is not started, - # we'll try to start it after the first connect fails, below - try: - lf = open(lock_location, 'r') - remotedef = lf.readline() - [host, port] = remotedef.split(":") - port = int(port) - lf.close() - options.remote_server = remotedef - except Exception as e: - if options.remote_server != 'autostart': - raise BBMainException("Failed to read bitbake.lock (%s), invalid port" % str(e)) + except (ValueError,IndexError): + raise BBMainException("FATAL: Malformed host:port bind parameter") + options.xmlrpcinterface = (host, port) + else: + options.xmlrpcinterface = (None, 0) return options, targets[1:] -def start_server(servermodule, configParams, configuration, features): - server = servermodule.BitBakeServer() - single_use = not configParams.server_only and os.getenv('BBSERVER') != 'autostart' - if configParams.bind: - (host, port) = configParams.bind.split(':') - server.initServer((host, int(port)), single_use=single_use, - idle_timeout=configParams.idle_timeout) - configuration.interface = [server.serverImpl.host, server.serverImpl.port] - else: - server.initServer(single_use=single_use) - configuration.interface = [] - - try: - configuration.setServerRegIdleCallback(server.getServerIdleCB()) - - cooker = bb.cooker.BBCooker(configuration, features) - - server.addcooker(cooker) - server.saveConnectionDetails() - except Exception as e: - while hasattr(server, "event_queue"): - import queue - try: - event = server.event_queue.get(block=False) - except (queue.Empty, IOError): - break - if isinstance(event, logging.LogRecord): - logger.handle(event) - raise - if not configParams.foreground: - server.detach() - cooker.shutdown() - cooker.lock.close() - return server - - def bitbake_main(configParams, configuration): # Python multiprocessing requires /dev/shm on Linux @@ -406,45 +350,15 @@ def bitbake_main(configParams, configuration): configuration.setConfigParameters(configParams) - if configParams.server_only: - if configParams.servertype != "xmlrpc": - raise BBMainException("FATAL: If '--server-only' is defined, we must set the " - "servertype as 'xmlrpc'.\n") - if not configParams.bind: - raise BBMainException("FATAL: The '--server-only' option requires a name/address " - "to bind to with the -B option.\n") - else: - try: - #Checking that the port is a number - int(configParams.bind.split(":")[1]) - except (ValueError,IndexError): - raise BBMainException( - "FATAL: Malformed host:port bind parameter") - if configParams.remote_server: + if configParams.server_only and configParams.remote_server: raise BBMainException("FATAL: The '--server-only' option conflicts with %s.\n" % ("the BBSERVER environment variable" if "BBSERVER" in os.environ \ else "the '--remote-server' option")) - elif configParams.foreground: - raise BBMainException("FATAL: The '--foreground' option can only be used " - "with --server-only.\n") - - if configParams.bind and configParams.servertype != "xmlrpc": - raise BBMainException("FATAL: If '-B' or '--bind' is defined, we must " - "set the servertype as 'xmlrpc'.\n") - - if configParams.remote_server and configParams.servertype != "xmlrpc": - raise BBMainException("FATAL: If '--remote-server' is defined, we must " - "set the servertype as 'xmlrpc'.\n") - if configParams.observe_only and (not configParams.remote_server or configParams.bind): raise BBMainException("FATAL: '--observe-only' can only be used by UI clients " "connecting to a server.\n") - if configParams.kill_server and not configParams.remote_server: - raise BBMainException("FATAL: '--kill-server' can only be used to " - "terminate a remote server") - if "BBDEBUG" in os.environ: level = int(os.environ["BBDEBUG"]) if level > configuration.debug: @@ -453,7 +367,7 @@ def bitbake_main(configParams, configuration): bb.msg.init_msgconfig(configParams.verbose, configuration.debug, configuration.debug_domains) - server, server_connection, ui_module = setup_bitbake(configParams, configuration) + server_connection, ui_module = setup_bitbake(configParams, configuration) if server_connection is None and configParams.kill_server: return 0 @@ -463,16 +377,15 @@ def bitbake_main(configParams, configuration): return 0 try: + for event in bb.event.ui_queue: + server_connection.events.queue_event(event) + bb.event.ui_queue = [] + return ui_module.main(server_connection.connection, server_connection.events, configParams) finally: - bb.event.ui_queue = [] server_connection.terminate() else: - print("Bitbake server address: %s, server port: %s" % (server.serverImpl.host, - server.serverImpl.port)) - if configParams.foreground: - server.serverImpl.serve_forever() return 0 return 1 @@ -495,58 +408,63 @@ def setup_bitbake(configParams, configuration, extrafeatures=None, setup_logging # Collect the feature set for the UI featureset = getattr(ui_module, "featureSet", []) - if configParams.server_only: - for param in ('prefile', 'postfile'): - value = getattr(configParams, param) - if value: - setattr(configuration, "%s_server" % param, value) - param = "%s_server" % param - if extrafeatures: for feature in extrafeatures: if not feature in featureset: featureset.append(feature) - servermodule = import_extension_module(bb.server, - configParams.servertype, - 'BitBakeServer') + server_connection = None + if configParams.remote_server: - if os.getenv('BBSERVER') == 'autostart': - if configParams.remote_server == 'autostart' or \ - not servermodule.check_connection(configParams.remote_server, timeout=2): - configParams.bind = 'localhost:0' - srv = start_server(servermodule, configParams, configuration, featureset) - configParams.remote_server = '%s:%d' % tuple(configuration.interface) - bb.event.ui_queue = [] - # we start a stub server that is actually a XMLRPClient that connects to a real server - from bb.server.xmlrpc import BitBakeXMLRPCClient - server = servermodule.BitBakeXMLRPCClient(configParams.observe_only, - configParams.xmlrpctoken) - server.saveConnectionDetails(configParams.remote_server) + # Connect to a remote XMLRPC server + server_connection = bb.server.xmlrpcclient.connectXMLRPC(configParams.remote_server, featureset, + configParams.observe_only, configParams.xmlrpctoken) else: - # we start a server with a given configuration - server = start_server(servermodule, configParams, configuration, featureset) + retries = 8 + while retries: + try: + topdir, lock = lockBitbake() + sockname = topdir + "/bitbake.sock" + if lock: + # we start a server with a given configuration + print("Starting bitbake server...") + server = bb.server.process.BitBakeServer(lock, sockname, configuration, featureset) + else: + print("Reconnecting to bitbake server...") + if not os.path.exists(sockname): + print("Previous bitbake instance shutting down?, waiting to retry...") + time.sleep(5) + raise bb.server.process.ProcessTimeout + if not configParams.server_only: + server_connection = bb.server.process.connectProcessServer(sockname, featureset) + if server_connection: + break + except Exception as e: + if not retries: + raise + retries -= 1 + print("Retrying server connection... (%s)" % traceback.format_exc()) + if not retries: + raise bb.server.process.ProcessTimeout("Unable to connect to bitbake server, or start one") + + + if configParams.kill_server: + server_connection.connection.terminateServer() + server_connection.terminate() bb.event.ui_queue = [] + print("Terminated bitbake server.") + return None, None - if configParams.server_only: - server_connection = None - else: - try: - server_connection = server.establishConnection(featureset) - except Exception as e: - bb.fatal("Could not connect to server %s: %s" % (configParams.remote_server, str(e))) - - if configParams.kill_server: - server_connection.connection.terminateServer() - bb.event.ui_queue = [] - return None, None, None + # Restore the environment in case the UI needs it + for k in cleanedvars: + os.environ[k] = cleanedvars[k] - server_connection.setupEventQueue() + logger.removeHandler(handler) - # Restore the environment in case the UI needs it - for k in cleanedvars: - os.environ[k] = cleanedvars[k] + return server_connection, ui_module - logger.removeHandler(handler) +def lockBitbake(): + topdir = bb.cookerdata.findTopdir() + lockfile = topdir + "/bitbake.lock" + return topdir, bb.utils.lockfile(lockfile, False, False) - return server, server_connection, ui_module diff --git a/lib/bb/server/__init__.py b/lib/bb/server/__init__.py index 538a633..5a3fba9 100644 --- a/lib/bb/server/__init__.py +++ b/lib/bb/server/__init__.py @@ -18,82 +18,4 @@ # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -""" Base code for Bitbake server process -Have a common base for that all Bitbake server classes ensures a consistent -approach to the interface, and minimize risks associated with code duplication. - -""" - -""" BaseImplServer() the base class for all XXServer() implementations. - - These classes contain the actual code that runs the server side, i.e. - listens for the commands and executes them. Although these implementations - contain all the data of the original bitbake command, i.e the cooker instance, - they may well run on a different process or even machine. - -""" - -class BaseImplServer(): - def __init__(self): - self._idlefuns = {} - - def addcooker(self, cooker): - self.cooker = cooker - - def register_idle_function(self, function, data): - """Register a function to be called while the server is idle""" - assert hasattr(function, '__call__') - self._idlefuns[function] = data - - - -""" BitBakeBaseServerConnection class is the common ancestor to all - BitBakeServerConnection classes. - - These classes control the remote server. The only command currently - implemented is the terminate() command. - -""" - -class BitBakeBaseServerConnection(): - def __init__(self, serverImpl): - pass - - def terminate(self): - pass - - def setupEventQueue(self): - pass - - -""" BitBakeBaseServer class is the common ancestor to all Bitbake servers - - Derive this class in order to implement a BitBakeServer which is the - controlling stub for the actual server implementation - -""" -class BitBakeBaseServer(object): - def initServer(self): - self.serverImpl = None # we ensure a runtime crash if not overloaded - self.connection = None - return - - def addcooker(self, cooker): - self.cooker = cooker - self.serverImpl.addcooker(cooker) - - def getServerIdleCB(self): - return self.serverImpl.register_idle_function - - def saveConnectionDetails(self): - return - - def detach(self): - return - - def establishConnection(self, featureset): - raise "Must redefine the %s.establishConnection()" % self.__class__.__name__ - - def endSession(self): - self.connection.terminate() diff --git a/lib/bb/server/process.py b/lib/bb/server/process.py index f8d6767..c3a65f2 100644 --- a/lib/bb/server/process.py +++ b/lib/bb/server/process.py @@ -22,125 +22,199 @@ import bb import bb.event -import itertools import logging import multiprocessing +import threading +import array import os -import signal import sys import time import select -from queue import Empty -from multiprocessing import Event, Process, util, Queue, Pipe, queues, Manager - -from . import BitBakeBaseServer, BitBakeBaseServerConnection, BaseImplServer +import socket +import subprocess +import errno +import bb.server.xmlrpcserver +from bb import daemonize +from multiprocessing import queues logger = logging.getLogger('BitBake') -class ServerCommunicator(): - def __init__(self, connection, event_handle, server): - self.connection = connection - self.event_handle = event_handle - self.server = server - - def runCommand(self, command): - # @todo try/except - self.connection.send(command) - - if not self.server.is_alive(): - raise SystemExit - - while True: - # don't let the user ctrl-c while we're waiting for a response - try: - for idx in range(0,4): # 0, 1, 2, 3 - if self.connection.poll(5): - return self.connection.recv() - else: - bb.warn("Timeout while attempting to communicate with bitbake server") - bb.fatal("Gave up; Too many tries: timeout while attempting to communicate with bitbake server") - except KeyboardInterrupt: - pass - - def getEventHandle(self): - return self.event_handle.value - -class EventAdapter(): - """ - Adapter to wrap our event queue since the caller (bb.event) expects to - call a send() method, but our actual queue only has put() - """ - def __init__(self, queue): - self.queue = queue - - def send(self, event): - try: - self.queue.put(event) - except Exception as err: - print("EventAdapter puked: %s" % str(err)) - +class ProcessTimeout(SystemExit): + pass -class ProcessServer(Process, BaseImplServer): +class ProcessServer(multiprocessing.Process): profile_filename = "profile.log" profile_processed_filename = "profile.log.processed" - def __init__(self, command_channel, event_queue, featurelist): - BaseImplServer.__init__(self) - Process.__init__(self) - self.command_channel = command_channel - self.event_queue = event_queue - self.event = EventAdapter(event_queue) - self.featurelist = featurelist + def __init__(self, lock, sock, sockname): + multiprocessing.Process.__init__(self) + self.command_channel = False + self.command_channel_reply = False self.quit = False self.heartbeat_seconds = 1 # default, BB_HEARTBEAT_EVENT will be checked once we have a datastore. self.next_heartbeat = time.time() - self.quitin, self.quitout = Pipe() - self.event_handle = multiprocessing.Value("i") + self.event_handle = None + self.haveui = False + self.lastui = False + self.xmlrpc = False + + self._idlefuns = {} + + self.bitbake_lock = lock + self.sock = sock + self.sockname = sockname + + def register_idle_function(self, function, data): + """Register a function to be called while the server is idle""" + assert hasattr(function, '__call__') + self._idlefuns[function] = data def run(self): - for event in bb.event.ui_queue: - self.event_queue.put(event) - self.event_handle.value = bb.event.register_UIHhandler(self, True) + + if self.xmlrpcinterface[0]: + self.xmlrpc = bb.server.xmlrpcserver.BitBakeXMLRPCServer(self.xmlrpcinterface, self.cooker, self) + + print("Bitbake XMLRPC server address: %s, server port: %s" % (self.xmlrpc.host, self.xmlrpc.port)) heartbeat_event = self.cooker.data.getVar('BB_HEARTBEAT_EVENT') if heartbeat_event: try: self.heartbeat_seconds = float(heartbeat_event) except: - # Throwing an exception here causes bitbake to hang. - # Just warn about the invalid setting and continue bb.warn('Ignoring invalid BB_HEARTBEAT_EVENT=%s, must be a float specifying seconds.' % heartbeat_event) + + self.timeout = self.server_timeout or self.cooker.data.getVar('BB_SERVER_TIMEOUT') + try: + if self.timeout: + self.timeout = float(self.timeout) + except: + bb.warn('Ignoring invalid BB_SERVER_TIMEOUT=%s, must be a float specifying seconds.' % self.timeout) + + + try: + self.bitbake_lock.seek(0) + self.bitbake_lock.truncate() + if self.xmlrpcinterface[0]: + self.bitbake_lock.write("%s %s:%s\n" % (os.getpid(), configuration.interface[0], configuration.interface[1])) + else: + self.bitbake_lock.write("%s\n" % (os.getpid())) + self.bitbake_lock.flush() + except: + pass + bb.cooker.server_main(self.cooker, self.main) def main(self): - # Ignore SIGINT within the server, as all SIGINT handling is done by - # the UI and communicated to us - self.quitin.close() - signal.signal(signal.SIGINT, signal.SIG_IGN) bb.utils.set_process_name("Cooker") + + ready = [] + + self.controllersock = False + fds = [self.sock] + if self.xmlrpc: + fds.append(self.xmlrpc) while not self.quit: - try: - if self.command_channel.poll(): - command = self.command_channel.recv() - self.runCommand(command) - if self.quitout.poll(): - self.quitout.recv() + if self.command_channel in ready: + command = self.command_channel.get() + if command[0] == "terminateServer": self.quit = True - try: - self.runCommand(["stateForceShutdown"]) - except: - pass - - self.idle_commands(.1, [self.command_channel, self.quitout]) - except Exception: - logger.exception('Running command %s', command) + continue + try: + print("Running command %s" % command) + self.command_channel_reply.send(self.cooker.command.runCommand(command)) + except Exception as e: + logger.exception('Exception in server main event loop running command %s (%s)' % (command, str(e))) + + if self.xmlrpc in ready: + self.xmlrpc.handle_requests() + if self.sock in ready: + print("Accepting %s" % (str(ready))) + self.controllersock, address = self.sock.accept() + fds.append(self.controllersock) + if self.controllersock in ready: + try: + print("Connecting Client") + ui_fds = recvfds(self.controllersock, 3) + + # Where to write events to + writer = ConnectionWriter(ui_fds[0]) + self.event_handle = bb.event.register_UIHhandler(writer, True) + self.event_writer = writer + + # Where to read commands from + reader = ConnectionReader(ui_fds[1]) + fds.append(reader) + self.command_channel = reader + + # Where to send command return values to + writer = ConnectionWriter(ui_fds[2]) + self.command_channel_reply = writer + + self.haveui = True + + except EOFError: + print("Disconnecting Client") + fds.remove(self.controllersock) + fds.remove(self.command_channel) + bb.event.unregister_UIHhandler(self.event_handle, True) + self.command_channel_reply.writer.close() + self.event_writer.writer.close() + del self.event_writer + self.controllersock.close() + self.haveui = False + self.lastui = time.time() + self.cooker.clientComplete() + if self.timeout is None: + self.quit = True + if not self.haveui and self.lastui and self.timeout and (self.lastui + self.timeout) < time.time(): + self.quit = True - self.event_queue.close() - bb.event.unregister_UIHhandler(self.event_handle.value, True) - self.command_channel.close() - self.cooker.shutdown(True) - self.quitout.close() + ready = self.idle_commands(.1, fds) + + print("Exiting") + try: + self.cooker.shutdown(True) + except: + pass + + # Remove the socket file so we don't get any more connections to avoid races + os.unlink(self.sockname) + self.sock.close() + + # Finally release the lockfile but warn about other processes holding it open + lock = self.bitbake_lock + lockfile = lock.name + lock.close() + lock = None + + while not lock: + with bb.utils.timeout(3): + lock = bb.utils.lockfile(lockfile, shared=False, retry=False, block=True) + if not lock: + # Some systems may not have lsof available + procs = None + try: + procs = subprocess.check_output(["lsof", '-w', lockfile], stderr=subprocess.STDOUT) + except OSError as e: + if e.errno != errno.ENOENT: + raise + if procs is None: + # Fall back to fuser if lsof is unavailable + try: + procs = subprocess.check_output(["fuser", '-v', lockfile], stderr=subprocess.STDOUT) + except OSError as e: + if e.errno != errno.ENOENT: + raise + + msg = "Delaying shutdown due to active processes which appear to be holding bitbake.lock" + if procs: + msg += ":\n%s" % str(procs) + print(msg) + return + # We hold the lock so we can remove the file (hide stale pid data) + bb.utils.remove(lockfile) + bb.utils.unlockfile(lock) def idle_commands(self, delay, fds=None): nextsleep = delay @@ -186,111 +260,249 @@ class ProcessServer(Process, BaseImplServer): nextsleep = self.next_heartbeat - now if nextsleep is not None: - select.select(fds,[],[],nextsleep) + if self.xmlrpc: + nextsleep = self.xmlrpc.get_timeout(nextsleep) + return select.select(fds,[],[],nextsleep)[0] + else: + return [] + + +class ServerCommunicator(): + def __init__(self, connection, recv): + self.connection = connection + self.recv = recv def runCommand(self, command): - """ - Run a cooker command on the server - """ - self.command_channel.send(self.cooker.command.runCommand(command)) - - def stop(self): - self.quitin.send("quit") - self.quitin.close() - -class BitBakeProcessServerConnection(BitBakeBaseServerConnection): - def __init__(self, serverImpl, ui_channel, event_queue): - self.procserver = serverImpl - self.ui_channel = ui_channel - self.event_queue = event_queue - self.connection = ServerCommunicator(self.ui_channel, self.procserver.event_handle, self.procserver) - self.events = self.event_queue - self.terminated = False - - def sigterm_terminate(self): - bb.error("UI received SIGTERM") - self.terminate() + + self.connection.send(command) + while True: + # don't let the user ctrl-c while we're waiting for a response + try: + for idx in range(0,4): # 0, 1, 2, 3 + if self.recv.poll(1): + return self.recv.get() + else: + bb.warn("Timeout while attempting to communicate with bitbake server") + raise ProcessTimeout("Gave up; Too many tries: timeout while attempting to communicate with bitbake server") + except KeyboardInterrupt: + pass + + def updateFeatureSet(self, featureset): + _, error = self.runCommand(["setFeatures", featureset]) + if error: + logger.error("Unable to set the cooker to the correct featureset: %s" % error) + raise BaseException(error) + + def getEventHandle(self): + handle, error = self.runCommand(["getUIHandlerNum"]) + if error: + logger.error("Unable to get UI Handler Number: %s" % error) + raise BaseException(error) + + return handle + + def terminateServer(self): + self.connection.send(['terminateServer']) + return + +class BitBakeProcessServerConnection(object): + def __init__(self, ui_channel, recv, eq): + self.connection = ServerCommunicator(ui_channel, recv) + self.events = eq def terminate(self): - if self.terminated: - return - self.terminated = True - def flushevents(): - while True: - try: - event = self.event_queue.get(block=False) - except (Empty, IOError): - break - if isinstance(event, logging.LogRecord): - logger.handle(event) - - self.procserver.stop() - - while self.procserver.is_alive(): - flushevents() - self.procserver.join(0.1) - - self.ui_channel.close() - self.event_queue.close() - self.event_queue.setexit() - # XXX: Call explicity close in _writer to avoid - # fd leakage because isn't called on Queue.close() - self.event_queue._writer.close() - -# Wrap Queue to provide API which isn't server implementation specific -class ProcessEventQueue(multiprocessing.queues.Queue): - def __init__(self, maxsize): - multiprocessing.queues.Queue.__init__(self, maxsize, ctx=multiprocessing.get_context()) - self.exit = False - bb.utils.set_process_name("ProcessEQueue") - - def setexit(self): - self.exit = True - - def waitEvent(self, timeout): - if self.exit: - return self.getEvent() + self.socket_connection.close() + return + +class BitBakeServer(object): + def __init__(self, lock, sockname, configuration, featureset): + + self.configuration = configuration + self.featureset = featureset + self.sockname = sockname + self.bitbake_lock = lock + + # Create server control socket + if os.path.exists(sockname): + os.unlink(sockname) + + self.sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) + # AF_UNIX has path length issues so chdir here to workaround + cwd = os.getcwd() try: - if not self.server.is_alive(): - return self.getEvent() - if timeout == 0: - return self.get(False) - return self.get(True, timeout) - except Empty: - return None + os.chdir(os.path.dirname(sockname)) + self.sock.bind(os.path.basename(sockname)) + finally: + os.chdir(cwd) + self.sock.listen(1) + + os.set_inheritable(self.sock.fileno(), True) + bb.daemonize.createDaemon(self._startServer, "bitbake-cookerdaemon.log") + self.sock.close() + bb.utils.unlockfile(self.bitbake_lock) + + def _startServer(self): + server = ProcessServer(self.bitbake_lock, self.sock, self.sockname) + self.configuration.setServerRegIdleCallback(server.register_idle_function) + + # Copy prefile and postfile to _server variants + for param in ('prefile', 'postfile'): + value = getattr(self.configuration, param) + if value: + setattr(self.configuration, "%s_server" % param, value) + + self.cooker = bb.cooker.BBCooker(self.configuration, self.featureset) + server.cooker = self.cooker + server.server_timeout = self.configuration.server_timeout + server.xmlrpcinterface = self.configuration.xmlrpcinterface + print("Started bitbake server pid %d" % os.getpid()) + server.start() + +def connectProcessServer(sockname, featureset): + # Connect to socket + sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) + # AF_UNIX has path length issues so chdir here to workaround + cwd = os.getcwd() + + try: + os.chdir(os.path.dirname(sockname)) + sock.connect(os.path.basename(sockname)) + finally: + os.chdir(cwd) + + try: + # Send an fd for the remote to write events to + readfd, writefd = os.pipe() + eq = BBUIEventQueue(readfd) + # Send an fd for the remote to recieve commands from + readfd1, writefd1 = os.pipe() + command_chan = ConnectionWriter(writefd1) + # Send an fd for the remote to write commands results to + readfd2, writefd2 = os.pipe() + command_chan_recv = ConnectionReader(readfd2) + + sendfds(sock, [writefd, readfd1, writefd2]) + + server_connection = BitBakeProcessServerConnection(command_chan, command_chan_recv, eq) + + server_connection.connection.updateFeatureSet(featureset) + + # Save sock so it doesn't get gc'd for the life of our connection + server_connection.socket_connection = sock + except: + sock.close() + raise + + return server_connection + +def sendfds(sock, fds): + '''Send an array of fds over an AF_UNIX socket.''' + fds = array.array('i', fds) + msg = bytes([len(fds) % 256]) + sock.sendmsg([msg], [(socket.SOL_SOCKET, socket.SCM_RIGHTS, fds)]) + +def recvfds(sock, size): + '''Receive an array of fds over an AF_UNIX socket.''' + a = array.array('i') + bytes_size = a.itemsize * size + msg, ancdata, flags, addr = sock.recvmsg(1, socket.CMSG_LEN(bytes_size)) + if not msg and not ancdata: + raise EOFError + try: + if len(ancdata) != 1: + raise RuntimeError('received %d items of ancdata' % + len(ancdata)) + cmsg_level, cmsg_type, cmsg_data = ancdata[0] + if (cmsg_level == socket.SOL_SOCKET and + cmsg_type == socket.SCM_RIGHTS): + if len(cmsg_data) % a.itemsize != 0: + raise ValueError + a.frombytes(cmsg_data) + assert len(a) % 256 == msg[0] + return list(a) + except (ValueError, IndexError): + pass + raise RuntimeError('Invalid data received') + +class BBUIEventQueue: + def __init__(self, readfd): + + self.eventQueue = [] + self.eventQueueLock = threading.Lock() + self.eventQueueNotify = threading.Event() + + self.reader = ConnectionReader(readfd) + + self.t = threading.Thread() + self.t.setDaemon(True) + self.t.run = self.startCallbackHandler + self.t.start() def getEvent(self): - try: - if not self.server.is_alive(): - self.setexit() - return self.get(False) - except Empty: - if self.exit: - sys.exit(1) + self.eventQueueLock.acquire() + + if len(self.eventQueue) == 0: + self.eventQueueLock.release() return None -class BitBakeServer(BitBakeBaseServer): - def initServer(self, single_use=True): - # establish communication channels. We use bidirectional pipes for - # ui <--> server command/response pairs - # and a queue for server -> ui event notifications - # - self.ui_channel, self.server_channel = Pipe() - self.event_queue = ProcessEventQueue(0) - self.serverImpl = ProcessServer(self.server_channel, self.event_queue, None) - self.event_queue.server = self.serverImpl - - def detach(self): - self.serverImpl.start() - return + item = self.eventQueue.pop(0) - def establishConnection(self, featureset): + if len(self.eventQueue) == 0: + self.eventQueueNotify.clear() - self.connection = BitBakeProcessServerConnection(self.serverImpl, self.ui_channel, self.event_queue) + self.eventQueueLock.release() + return item + + def waitEvent(self, delay): + self.eventQueueNotify.wait(delay) + return self.getEvent() + + def queue_event(self, event): + self.eventQueueLock.acquire() + self.eventQueue.append(event) + self.eventQueueNotify.set() + self.eventQueueLock.release() + + def send_event(self, event): + self.queue_event(pickle.loads(event)) + + def startCallbackHandler(self): + bb.utils.set_process_name("UIEventQueue") + while True: + self.reader.wait() + event = self.reader.get() + self.queue_event(event) + +class ConnectionReader(object): + + def __init__(self, fd): + self.reader = multiprocessing.connection.Connection(fd, writable=False) + self.rlock = multiprocessing.Lock() + + def wait(self, timeout=None): + return multiprocessing.connection.wait([self.reader], timeout) + + def poll(self, timeout=None): + return self.reader.poll(timeout) + + def get(self): + with self.rlock: + res = self.reader.recv_bytes() + return multiprocessing.reduction.ForkingPickler.loads(res) + + def fileno(self): + return self.reader.fileno() + +class ConnectionWriter(object): + + def __init__(self, fd): + self.writer = multiprocessing.connection.Connection(fd, readable=False) + self.wlock = multiprocessing.Lock() + # Why bb.event needs this I have no idea + self.event = self + + def send(self, obj): + obj = multiprocessing.reduction.ForkingPickler.dumps(obj) + with self.wlock: + self.writer.send_bytes(obj) - _, error = self.connection.connection.runCommand(["setFeatures", featureset]) - if error: - logger.error("Unable to set the cooker to the correct featureset: %s" % error) - raise BaseException(error) - signal.signal(signal.SIGTERM, lambda i, s: self.connection.sigterm_terminate()) - return self.connection diff --git a/lib/bb/server/xmlrpc.py b/lib/bb/server/xmlrpc.py deleted file mode 100644 index 1a475e0..0000000 --- a/lib/bb/server/xmlrpc.py +++ /dev/null @@ -1,448 +0,0 @@ -# -# BitBake XMLRPC Server -# -# Copyright (C) 2006 - 2007 Michael 'Mickey' Lauer -# Copyright (C) 2006 - 2008 Richard Purdie -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -""" - This module implements an xmlrpc server for BitBake. - - Use this by deriving a class from BitBakeXMLRPCServer and then adding - methods which you want to "export" via XMLRPC. If the methods have the - prefix xmlrpc_, then registering those function will happen automatically, - if not, you need to call register_function. - - Use register_idle_function() to add a function which the xmlrpc server - calls from within server_forever when no requests are pending. Make sure - that those functions are non-blocking or else you will introduce latency - in the server's main loop. -""" - -import os -import sys - -import hashlib -import time -import socket -import signal -import threading -import pickle -import inspect -import select -import http.client -import xmlrpc.client -from xmlrpc.server import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler - -import bb -from bb import daemonize -from bb.ui import uievent -from . import BitBakeBaseServer, BitBakeBaseServerConnection, BaseImplServer - -DEBUG = False - -class BBTransport(xmlrpc.client.Transport): - def __init__(self, timeout): - self.timeout = timeout - self.connection_token = None - xmlrpc.client.Transport.__init__(self) - - # Modified from default to pass timeout to HTTPConnection - def make_connection(self, host): - #return an existing connection if possible. This allows - #HTTP/1.1 keep-alive. - if self._connection and host == self._connection[0]: - return self._connection[1] - - # create a HTTP connection object from a host descriptor - chost, self._extra_headers, x509 = self.get_host_info(host) - #store the host argument along with the connection object - self._connection = host, http.client.HTTPConnection(chost, timeout=self.timeout) - return self._connection[1] - - def set_connection_token(self, token): - self.connection_token = token - - def send_content(self, h, body): - if self.connection_token: - h.putheader("Bitbake-token", self.connection_token) - xmlrpc.client.Transport.send_content(self, h, body) - -def _create_server(host, port, timeout = 60): - t = BBTransport(timeout) - s = xmlrpc.client.ServerProxy("http://%s:%d/" % (host, port), transport=t, allow_none=True, use_builtin_types=True) - return s, t - -def check_connection(remote, timeout): - try: - host, port = remote.split(":") - port = int(port) - except Exception as e: - bb.warn("Failed to read remote definition (%s)" % str(e)) - raise e - - server, _transport = _create_server(host, port, timeout) - try: - ret, err = server.runCommand(['getVariable', 'TOPDIR']) - if err or not ret: - return False - except ConnectionError: - return False - return True - -class BitBakeServerCommands(): - - def __init__(self, server): - self.server = server - self.has_client = False - - def registerEventHandler(self, host, port): - """ - Register a remote UI Event Handler - """ - s, t = _create_server(host, port) - - # we don't allow connections if the cooker is running - if (self.cooker.state in [bb.cooker.state.parsing, bb.cooker.state.running]): - return None, "Cooker is busy: %s" % bb.cooker.state.get_name(self.cooker.state) - - self.event_handle = bb.event.register_UIHhandler(s, True) - return self.event_handle, 'OK' - - def unregisterEventHandler(self, handlerNum): - """ - Unregister a remote UI Event Handler - """ - return bb.event.unregister_UIHhandler(handlerNum, True) - - def runCommand(self, command): - """ - Run a cooker command on the server - """ - return self.cooker.command.runCommand(command, self.server.readonly) - - def getEventHandle(self): - return self.event_handle - - def terminateServer(self): - """ - Trigger the server to quit - """ - self.server.quit = True - print("Server (cooker) exiting") - return - - def addClient(self): - if self.has_client: - return None - token = hashlib.md5(str(time.time()).encode("utf-8")).hexdigest() - self.server.set_connection_token(token) - self.has_client = True - return token - - def removeClient(self): - if self.has_client: - self.server.set_connection_token(None) - self.has_client = False - if self.server.single_use: - self.server.quit = True - -# This request handler checks if the request has a "Bitbake-token" header -# field (this comes from the client side) and compares it with its internal -# "Bitbake-token" field (this comes from the server). If the two are not -# equal, it is assumed that a client is trying to connect to the server -# while another client is connected to the server. In this case, a 503 error -# ("service unavailable") is returned to the client. -class BitBakeXMLRPCRequestHandler(SimpleXMLRPCRequestHandler): - def __init__(self, request, client_address, server): - self.server = server - SimpleXMLRPCRequestHandler.__init__(self, request, client_address, server) - - def do_POST(self): - try: - remote_token = self.headers["Bitbake-token"] - except: - remote_token = None - if remote_token != self.server.connection_token and remote_token != "observer": - self.report_503() - else: - if remote_token == "observer": - self.server.readonly = True - else: - self.server.readonly = False - SimpleXMLRPCRequestHandler.do_POST(self) - - def report_503(self): - self.send_response(503) - response = 'No more client allowed' - self.send_header("Content-type", "text/plain") - self.send_header("Content-length", str(len(response))) - self.end_headers() - self.wfile.write(bytes(response, 'utf-8')) - - -class XMLRPCProxyServer(BaseImplServer): - """ not a real working server, but a stub for a proxy server connection - - """ - def __init__(self, host, port, use_builtin_types=True): - self.host = host - self.port = port - -class XMLRPCServer(SimpleXMLRPCServer, BaseImplServer): - # remove this when you're done with debugging - # allow_reuse_address = True - - def __init__(self, interface, single_use=False, idle_timeout=0): - """ - Constructor - """ - BaseImplServer.__init__(self) - self.single_use = single_use - # Use auto port configuration - if (interface[1] == -1): - interface = (interface[0], 0) - SimpleXMLRPCServer.__init__(self, interface, - requestHandler=BitBakeXMLRPCRequestHandler, - logRequests=False, allow_none=True) - self.host, self.port = self.socket.getsockname() - self.connection_token = None - #self.register_introspection_functions() - self.commands = BitBakeServerCommands(self) - self.autoregister_all_functions(self.commands, "") - self.interface = interface - self.time = time.time() - self.idle_timeout = idle_timeout - if idle_timeout: - self.register_idle_function(self.handle_idle_timeout, self) - self.heartbeat_seconds = 1 # default, BB_HEARTBEAT_EVENT will be checked once we have a datastore. - self.next_heartbeat = time.time() - - def addcooker(self, cooker): - BaseImplServer.addcooker(self, cooker) - self.commands.cooker = cooker - - def autoregister_all_functions(self, context, prefix): - """ - Convenience method for registering all functions in the scope - of this class that start with a common prefix - """ - methodlist = inspect.getmembers(context, inspect.ismethod) - for name, method in methodlist: - if name.startswith(prefix): - self.register_function(method, name[len(prefix):]) - - def handle_idle_timeout(self, server, data, abort): - if not abort: - if time.time() - server.time > server.idle_timeout: - server.quit = True - print("Server idle timeout expired") - return [] - - def serve_forever(self): - heartbeat_event = self.cooker.data.getVar('BB_HEARTBEAT_EVENT') - if heartbeat_event: - try: - self.heartbeat_seconds = float(heartbeat_event) - except: - # Throwing an exception here causes bitbake to hang. - # Just warn about the invalid setting and continue - bb.warn('Ignoring invalid BB_HEARTBEAT_EVENT=%s, must be a float specifying seconds.' % heartbeat_event) - - # Start the actual XMLRPC server - bb.cooker.server_main(self.cooker, self._serve_forever) - - def _serve_forever(self): - """ - Serve Requests. Overloaded to honor a quit command - """ - self.quit = False - while not self.quit: - fds = [self] - nextsleep = 0.1 - for function, data in list(self._idlefuns.items()): - retval = None - try: - retval = function(self, data, False) - if retval is False: - del self._idlefuns[function] - elif retval is True: - nextsleep = 0 - elif isinstance(retval, float): - if (retval < nextsleep): - nextsleep = retval - else: - fds = fds + retval - except SystemExit: - raise - except: - import traceback - traceback.print_exc() - if retval == None: - # the function execute failed; delete it - del self._idlefuns[function] - pass - - socktimeout = self.socket.gettimeout() or nextsleep - socktimeout = min(socktimeout, nextsleep) - # Mirror what BaseServer handle_request would do - try: - fd_sets = select.select(fds, [], [], socktimeout) - if fd_sets[0] and self in fd_sets[0]: - if self.idle_timeout: - self.time = time.time() - self._handle_request_noblock() - except IOError: - # we ignore interrupted calls - pass - - # Create new heartbeat event? - now = time.time() - if now >= self.next_heartbeat: - # We might have missed heartbeats. Just trigger once in - # that case and continue after the usual delay. - self.next_heartbeat += self.heartbeat_seconds - if self.next_heartbeat <= now: - self.next_heartbeat = now + self.heartbeat_seconds - heartbeat = bb.event.HeartbeatEvent(now) - bb.event.fire(heartbeat, self.cooker.data) - if nextsleep and now + nextsleep > self.next_heartbeat: - # Shorten timeout so that we we wake up in time for - # the heartbeat. - nextsleep = self.next_heartbeat - now - - # Tell idle functions we're exiting - for function, data in list(self._idlefuns.items()): - try: - retval = function(self, data, True) - except: - pass - self.server_close() - return - - def set_connection_token(self, token): - self.connection_token = token - -class BitBakeXMLRPCServerConnection(BitBakeBaseServerConnection): - def __init__(self, serverImpl, clientinfo=("localhost", 0), observer_only = False, featureset = None): - self.connection, self.transport = _create_server(serverImpl.host, serverImpl.port) - self.clientinfo = clientinfo - self.serverImpl = serverImpl - self.observer_only = observer_only - if featureset: - self.featureset = featureset - else: - self.featureset = [] - - def connect(self, token = None): - if token is None: - if self.observer_only: - token = "observer" - else: - token = self.connection.addClient() - - if token is None: - return None - - self.transport.set_connection_token(token) - return self - - def setupEventQueue(self): - self.events = uievent.BBUIEventQueue(self.connection, self.clientinfo) - for event in bb.event.ui_queue: - self.events.queue_event(event) - - _, error = self.connection.runCommand(["setFeatures", self.featureset]) - if error: - # disconnect the client, we can't make the setFeature work - self.connection.removeClient() - # no need to log it here, the error shall be sent to the client - raise BaseException(error) - - def removeClient(self): - if not self.observer_only: - self.connection.removeClient() - - def terminate(self): - # Don't wait for server indefinitely - import socket - socket.setdefaulttimeout(2) - try: - self.events.system_quit() - except: - pass - try: - self.connection.removeClient() - except: - pass - -class BitBakeServer(BitBakeBaseServer): - def initServer(self, interface = ("localhost", 0), - single_use = False, idle_timeout=0): - self.interface = interface - self.serverImpl = XMLRPCServer(interface, single_use, idle_timeout) - - def detach(self): - daemonize.createDaemon(self.serverImpl.serve_forever, "bitbake-cookerdaemon.log") - del self.cooker - - def establishConnection(self, featureset): - self.connection = BitBakeXMLRPCServerConnection(self.serverImpl, self.interface, False, featureset) - return self.connection.connect() - - def set_connection_token(self, token): - self.connection.transport.set_connection_token(token) - -class BitBakeXMLRPCClient(BitBakeBaseServer): - - def __init__(self, observer_only = False, token = None): - self.token = token - - self.observer_only = observer_only - # if we need extra caches, just tell the server to load them all - pass - - def saveConnectionDetails(self, remote): - self.remote = remote - - def establishConnection(self, featureset): - # The format of "remote" must be "server:port" - try: - [host, port] = self.remote.split(":") - port = int(port) - except Exception as e: - bb.warn("Failed to read remote definition (%s)" % str(e)) - raise e - - # We need our IP for the server connection. We get the IP - # by trying to connect with the server - try: - s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) - s.connect((host, port)) - ip = s.getsockname()[0] - s.close() - except Exception as e: - bb.warn("Could not create socket for %s:%s (%s)" % (host, port, str(e))) - raise e - try: - self.serverImpl = XMLRPCProxyServer(host, port, use_builtin_types=True) - self.connection = BitBakeXMLRPCServerConnection(self.serverImpl, (ip, 0), self.observer_only, featureset) - return self.connection.connect(self.token) - except Exception as e: - bb.warn("Could not connect to server at %s:%s (%s)" % (host, port, str(e))) - raise e - - def endSession(self): - self.connection.removeClient() diff --git a/lib/bb/server/xmlrpcclient.py b/lib/bb/server/xmlrpcclient.py new file mode 100644 index 0000000..4661a9e --- /dev/null +++ b/lib/bb/server/xmlrpcclient.py @@ -0,0 +1,154 @@ +# +# BitBake XMLRPC Client Interface +# +# Copyright (C) 2006 - 2007 Michael 'Mickey' Lauer +# Copyright (C) 2006 - 2008 Richard Purdie +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +import os +import sys + +import socket +import http.client +import xmlrpc.client + +import bb +from bb.ui import uievent + +class BBTransport(xmlrpc.client.Transport): + def __init__(self, timeout): + self.timeout = timeout + self.connection_token = None + xmlrpc.client.Transport.__init__(self) + + # Modified from default to pass timeout to HTTPConnection + def make_connection(self, host): + #return an existing connection if possible. This allows + #HTTP/1.1 keep-alive. + if self._connection and host == self._connection[0]: + return self._connection[1] + + # create a HTTP connection object from a host descriptor + chost, self._extra_headers, x509 = self.get_host_info(host) + #store the host argument along with the connection object + self._connection = host, http.client.HTTPConnection(chost, timeout=self.timeout) + return self._connection[1] + + def set_connection_token(self, token): + self.connection_token = token + + def send_content(self, h, body): + if self.connection_token: + h.putheader("Bitbake-token", self.connection_token) + xmlrpc.client.Transport.send_content(self, h, body) + +def _create_server(host, port, timeout = 60): + t = BBTransport(timeout) + s = xmlrpc.client.ServerProxy("http://%s:%d/" % (host, port), transport=t, allow_none=True, use_builtin_types=True) + return s, t + +def check_connection(remote, timeout): + try: + host, port = remote.split(":") + port = int(port) + except Exception as e: + bb.warn("Failed to read remote definition (%s)" % str(e)) + raise e + + server, _transport = _create_server(host, port, timeout) + try: + ret, err = server.runCommand(['getVariable', 'TOPDIR']) + if err or not ret: + return False + except ConnectionError: + return False + return True + +class BitBakeXMLRPCServerConnection(object): + def __init__(self, host, port, clientinfo=("localhost", 0), observer_only = False, featureset = None): + self.connection, self.transport = _create_server(host, port) + self.clientinfo = clientinfo + self.observer_only = observer_only + if featureset: + self.featureset = featureset + else: + self.featureset = [] + + self.events = uievent.BBUIEventQueue(self.connection, self.clientinfo) + + _, error = self.connection.runCommand(["setFeatures", self.featureset]) + if error: + # disconnect the client, we can't make the setFeature work + self.connection.removeClient() + # no need to log it here, the error shall be sent to the client + raise BaseException(error) + + def connect(self, token = None): + if token is None: + if self.observer_only: + token = "observer" + else: + token = self.connection.addClient() + + if token is None: + return None + + self.transport.set_connection_token(token) + return self + + def removeClient(self): + if not self.observer_only: + self.connection.removeClient() + + def terminate(self): + # Don't wait for server indefinitely + socket.setdefaulttimeout(2) + try: + self.events.system_quit() + except: + pass + try: + self.connection.removeClient() + except: + pass + +def connectXMLRPC(remote, featureset, observer_only = False, token = None): + # The format of "remote" must be "server:port" + try: + [host, port] = remote.split(":") + port = int(port) + except Exception as e: + bb.warn("Failed to parse remote definition %s (%s)" % (remote, str(e))) + raise e + + # We need our IP for the server connection. We get the IP + # by trying to connect with the server + try: + s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + s.connect((host, port)) + ip = s.getsockname()[0] + s.close() + except Exception as e: + bb.warn("Could not create socket for %s:%s (%s)" % (host, port, str(e))) + raise e + try: + connection = BitBakeXMLRPCServerConnection(host, port, (ip, 0), observer_only, featureset) + return connection.connect(token) + except Exception as e: + bb.warn("Could not connect to server at %s:%s (%s)" % (host, port, str(e))) + raise e + + + diff --git a/lib/bb/server/xmlrpcserver.py b/lib/bb/server/xmlrpcserver.py new file mode 100644 index 0000000..875b128 --- /dev/null +++ b/lib/bb/server/xmlrpcserver.py @@ -0,0 +1,158 @@ +# +# BitBake XMLRPC Server Interface +# +# Copyright (C) 2006 - 2007 Michael 'Mickey' Lauer +# Copyright (C) 2006 - 2008 Richard Purdie +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +import os +import sys + +import hashlib +import time +import inspect +from xmlrpc.server import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler + +import bb + +# This request handler checks if the request has a "Bitbake-token" header +# field (this comes from the client side) and compares it with its internal +# "Bitbake-token" field (this comes from the server). If the two are not +# equal, it is assumed that a client is trying to connect to the server +# while another client is connected to the server. In this case, a 503 error +# ("service unavailable") is returned to the client. +class BitBakeXMLRPCRequestHandler(SimpleXMLRPCRequestHandler): + def __init__(self, request, client_address, server): + self.server = server + SimpleXMLRPCRequestHandler.__init__(self, request, client_address, server) + + def do_POST(self): + try: + remote_token = self.headers["Bitbake-token"] + except: + remote_token = None + if 0 and remote_token != self.server.connection_token and remote_token != "observer": + self.report_503() + else: + if remote_token == "observer": + self.server.readonly = True + else: + self.server.readonly = False + SimpleXMLRPCRequestHandler.do_POST(self) + + def report_503(self): + self.send_response(503) + response = 'No more client allowed' + self.send_header("Content-type", "text/plain") + self.send_header("Content-length", str(len(response))) + self.end_headers() + self.wfile.write(bytes(response, 'utf-8')) + +class BitBakeXMLRPCServer(SimpleXMLRPCServer): + # remove this when you're done with debugging + # allow_reuse_address = True + + def __init__(self, interface, cooker, parent): + # Use auto port configuration + if (interface[1] == -1): + interface = (interface[0], 0) + SimpleXMLRPCServer.__init__(self, interface, + requestHandler=BitBakeXMLRPCRequestHandler, + logRequests=False, allow_none=True) + self.host, self.port = self.socket.getsockname() + self.interface = interface + + self.connection_token = None + self.commands = BitBakeXMLRPCServerCommands(self) + self.register_functions(self.commands, "") + + self.cooker = cooker + self.parent = parent + + + def register_functions(self, context, prefix): + """ + Convenience method for registering all functions in the scope + of this class that start with a common prefix + """ + methodlist = inspect.getmembers(context, inspect.ismethod) + for name, method in methodlist: + if name.startswith(prefix): + self.register_function(method, name[len(prefix):]) + + def get_timeout(self, delay): + socktimeout = self.socket.gettimeout() or delay + return min(socktimeout, delay) + + def handle_requests(self): + self._handle_request_noblock() + +class BitBakeXMLRPCServerCommands(): + + def __init__(self, server): + self.server = server + self.has_client = False + + def registerEventHandler(self, host, port): + """ + Register a remote UI Event Handler + """ + s, t = bb.server.xmlrpcclient._create_server(host, port) + + # we don't allow connections if the cooker is running + if (self.server.cooker.state in [bb.cooker.state.parsing, bb.cooker.state.running]): + return None, "Cooker is busy: %s" % bb.cooker.state.get_name(self.server.cooker.state) + + self.event_handle = bb.event.register_UIHhandler(s, True) + return self.event_handle, 'OK' + + def unregisterEventHandler(self, handlerNum): + """ + Unregister a remote UI Event Handler + """ + ret = bb.event.unregister_UIHhandler(handlerNum, True) + self.event_handle = None + return ret + + def runCommand(self, command): + """ + Run a cooker command on the server + """ + return self.server.cooker.command.runCommand(command, self.server.readonly) + + def getEventHandle(self): + return self.event_handle + + def terminateServer(self): + """ + Trigger the server to quit + """ + self.server.parent.quit = True + print("XMLRPC Server triggering exit") + return + + def addClient(self): + if self.server.parent.haveui: + return None + token = hashlib.md5(str(time.time()).encode("utf-8")).hexdigest() + self.server.connection_token = token + self.server.parent.haveui = True + return token + + def removeClient(self): + if self.server.parent.haveui: + self.server.connection_token = None + self.server.parent.haveui = False + diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index fb0da62..303ce02 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -243,7 +243,7 @@ class Tinfoil: cookerconfig = CookerConfiguration() cookerconfig.setConfigParameters(config_params) - server, self.server_connection, ui_module = setup_bitbake(config_params, + self.server_connection, ui_module = setup_bitbake(config_params, cookerconfig, extrafeatures, setup_logging=False) diff --git a/lib/prserv/serv.py b/lib/prserv/serv.py index a7efa58..5f061c2 100644 --- a/lib/prserv/serv.py +++ b/lib/prserv/serv.py @@ -6,7 +6,7 @@ import queue import socket import io import sqlite3 -import bb.server.xmlrpc +import bb.server.xmlrpcclient import prserv import prserv.db import errno @@ -300,7 +300,7 @@ class PRServerConnection(object): host, port = singleton.getinfo() self.host = host self.port = port - self.connection, self.transport = bb.server.xmlrpc._create_server(self.host, self.port) + self.connection, self.transport = bb.server.xmlrpcclient._create_server(self.host, self.port) def terminate(self): try: -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 13:32:58 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 13:32:58 +0000 Subject: [oe-commits] [bitbake] branch master-next updated (953db57 -> c45e2e3) Message-ID: <150038477889.16553.7407199435870273004@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master-next in repository bitbake. discard 953db57 server: Rework the server API so process and xmlrpc servers coexist new c45e2e3 server: Rework the server API so process and xmlrpc servers coexist This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (953db57) \ N -- N -- N refs/heads/master-next (c45e2e3) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: lib/bb/cookerdata.py | 1 + lib/bb/daemonize.py | 17 +++++++++++------ lib/bb/server/process.py | 3 ++- 3 files changed, 14 insertions(+), 7 deletions(-) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 13:32:59 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 13:32:59 +0000 Subject: [oe-commits] [bitbake] 01/01: server: Rework the server API so process and xmlrpc servers coexist In-Reply-To: <150038477889.16553.7407199435870273004@git.openembedded.org> References: <150038477889.16553.7407199435870273004@git.openembedded.org> Message-ID: <20170718133259.1044823354A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit c45e2e3ce914fc81fff89e5cd2929b2d688204c1 Author: Richard Purdie AuthorDate: Thu Jul 13 17:24:35 2017 +0100 server: Rework the server API so process and xmlrpc servers coexist This changes the way bitbake server works quite radically. Now, the server is always a process based server with the option of starting an XMLRPC listener on a specific inferface/port. Behind the scenes this is done with a "bitbake.sock" file alongside the bitbake.lock file. If we can obtain the lock, we know we need to start a server. The server always listens on the socket and UIs can then connect to this. UIs connect by sending a set of three file descriptors over the domain socket, one for sending commands, one for receiving command results and the other for receiving events. These changes meant we can throw away all the horrid server abstraction code, the plugable transport option to bitbake and the code becomes much more readable and debuggable. It also likely removes a ton of ways you could hang the UI/cooker in weird ways due to all the race conditions that existed with previous processes. Changes: * The foreground option for bitbake-server was dropped. Just tail the log if you really want this, the codepaths were complicated enough without adding one for this. * BBSERVER="autodetect" was dropped. The server will autostart and autoconnect in process mode. You have to specify an xmlrpc server address since that can't be autodetected. I can't see a use case for autodetect now. * The transport/servetype option to bitbake was dropped. * A BB_SERVER_TIMEOUT variable is added which allows the server to stay resident for a period of time after the last client disconnects before unloading. This is used if the -T/--idle-timeout option is not passed to bitbake. This change is invasive and may well introduce new issues however I believe the codebase is in a much better position for further development and debugging. Signed-off-by: Richard Purdie --- lib/bb/command.py | 5 + lib/bb/cooker.py | 61 +---- lib/bb/cookerdata.py | 26 +- lib/bb/daemonize.py | 20 +- lib/bb/event.py | 11 +- lib/bb/main.py | 224 ++++++---------- lib/bb/server/__init__.py | 78 ------ lib/bb/server/process.py | 577 +++++++++++++++++++++++++++++------------- lib/bb/server/xmlrpc.py | 448 -------------------------------- lib/bb/server/xmlrpcclient.py | 154 +++++++++++ lib/bb/server/xmlrpcserver.py | 158 ++++++++++++ lib/bb/tinfoil.py | 2 +- lib/prserv/serv.py | 4 +- 13 files changed, 834 insertions(+), 934 deletions(-) diff --git a/lib/bb/command.py b/lib/bb/command.py index 36891b9..eb7c86f 100644 --- a/lib/bb/command.py +++ b/lib/bb/command.py @@ -238,6 +238,11 @@ class CommandsSync: return command.cooker.matchFile(fMatch) matchFile.needconfig = False + def getUIHandlerNum(self, command, params): + return bb.event.get_uihandler() + getUIHandlerNum.needconfig = False + getUIHandlerNum.readonly = True + def setEventMask(self, command, params): handlerNum = params[0] llevel = params[1] diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py index dc8f54c..2e8ccb3 100644 --- a/lib/bb/cooker.py +++ b/lib/bb/cooker.py @@ -215,19 +215,6 @@ class BBCooker: self.configuration.server_register_idlecallback(_process_inotify_updates, [self.confignotifier, self.notifier]) - # Take a lock so only one copy of bitbake can run against a given build - # directory at a time - if not self.lockBitbake(): - bb.fatal("Only one copy of bitbake should be run against a build directory") - try: - self.lock.seek(0) - self.lock.truncate() - if len(configuration.interface) >= 2: - self.lock.write("%s:%s\n" % (configuration.interface[0], configuration.interface[1])); - self.lock.flush() - except: - pass - # TOSTOP must not be set or our children will hang when they output try: fd = sys.stdout.fileno() @@ -1557,33 +1544,6 @@ class BBCooker: def post_serve(self): prserv.serv.auto_shutdown(self.data) bb.event.fire(CookerExit(), self.data) - lockfile = self.lock.name - self.lock.close() - self.lock = None - - while not self.lock: - with bb.utils.timeout(3): - self.lock = bb.utils.lockfile(lockfile, shared=False, retry=False, block=True) - if not self.lock: - # Some systems may not have lsof available - procs = None - try: - procs = subprocess.check_output(["lsof", '-w', lockfile], stderr=subprocess.STDOUT) - except OSError as e: - if e.errno != errno.ENOENT: - raise - if procs is None: - # Fall back to fuser if lsof is unavailable - try: - procs = subprocess.check_output(["fuser", '-v', lockfile], stderr=subprocess.STDOUT) - except OSError as e: - if e.errno != errno.ENOENT: - raise - - msg = "Delaying shutdown due to active processes which appear to be holding bitbake.lock" - if procs: - msg += ":\n%s" % str(procs) - print(msg) def shutdown(self, force = False): @@ -1605,23 +1565,10 @@ class BBCooker: def clientComplete(self): """Called when the client is done using the server""" - if self.configuration.server_only: - self.finishcommand() - else: - self.shutdown(True) - - def lockBitbake(self): - if not hasattr(self, 'lock'): - self.lock = None - if self.data: - lockfile = self.data.expand("${TOPDIR}/bitbake.lock") - if lockfile: - self.lock = bb.utils.lockfile(lockfile, False, False) - return self.lock - - def unlockBitbake(self): - if hasattr(self, 'lock') and self.lock: - bb.utils.unlockfile(self.lock) + #if self.configuration.server_only: + self.finishcommand() + #else: + # self.shutdown(True) def server_main(cooker, func, *args): cooker.pre_serve() diff --git a/lib/bb/cookerdata.py b/lib/bb/cookerdata.py index 644bb38..9d1d3d2 100644 --- a/lib/bb/cookerdata.py +++ b/lib/bb/cookerdata.py @@ -76,7 +76,7 @@ class ConfigParameters(object): for o in ["abort", "tryaltconfigs", "force", "invalidate_stamp", "verbose", "debug", "dry_run", "dump_signatures", "debug_domains", "extra_assume_provided", "profile", - "prefile", "postfile", "tracking"]: + "prefile", "postfile", "tracking", "server_timeout"]: options[o] = getattr(self.options, o) ret, error = server.runCommand(["updateConfig", options, environment, sys.argv]) @@ -144,7 +144,8 @@ class CookerConfiguration(object): self.dump_signatures = [] self.dry_run = False self.tracking = False - self.interface = [] + self.xmlrpcinterface = [] + self.server_timeout = None self.writeeventlog = False self.server_only = False self.limited_deps = False @@ -230,6 +231,27 @@ def findConfigFile(configfile, data): return None +# +# We search for a conf/bblayers.conf under an entry in BBPATH or in cwd working +# up to /. If that fails, we search for a conf/bitbake.conf in BBPATH. +# + +def findTopdir(): + d = bb.data.init() + bbpath = None + if 'BBPATH' in os.environ: + bbpath = os.environ['BBPATH'] + d.setVar('BBPATH', bbpath) + + layerconf = findConfigFile("bblayers.conf", d) + if layerconf: + return os.path.dirname(os.path.dirname(layerconf)) + if bbpath: + bitbakeconf = bb.utils.which(bbpath, "conf/bitbake.conf") + if bitbakeconf: + return os.path.dirname(os.path.dirname(bitbakeconf)) + return None + class CookerDataBuilder(object): def __init__(self, cookercfg, worker = False): diff --git a/lib/bb/daemonize.py b/lib/bb/daemonize.py index ab4a954..8380828 100644 --- a/lib/bb/daemonize.py +++ b/lib/bb/daemonize.py @@ -29,6 +29,7 @@ __version__ = "0.2" # Standard Python modules. import os # Miscellaneous OS interfaces. import sys # System-specific parameters and functions. +import io # Default daemon parameters. # File mode creation mask of the daemon. @@ -124,6 +125,7 @@ def createDaemon(function, logfile): # streams to be flushed twice and any temporary files may be unexpectedly # removed. It's therefore recommended that child branches of a fork() # and the parent branch(es) of a daemon use _exit(). + os.waitpid(pid, 0) return # Close all open file descriptors. This prevents the child from keeping @@ -177,16 +179,18 @@ def createDaemon(function, logfile): # os.dup2(0, 1) # standard output (1) # os.dup2(0, 2) # standard error (2) - - si = open('/dev/null', 'r') - so = open(logfile, 'w') - se = so - - # Replace those fds with our own + si = open('/dev/null', 'r') os.dup2(si.fileno(), sys.stdin.fileno()) - os.dup2(so.fileno(), sys.stdout.fileno()) - os.dup2(se.fileno(), sys.stderr.fileno()) + + try: + so = open(logfile, 'a+') + se = so + os.dup2(so.fileno(), sys.stdout.fileno()) + os.dup2(se.fileno(), sys.stderr.fileno()) + except io.UnsupportedOperation: + sys.stdout = open(logfile, 'a+') + sys.stderr = sys.stdout function() diff --git a/lib/bb/event.py b/lib/bb/event.py index d5c5ef3..92ee3e9 100644 --- a/lib/bb/event.py +++ b/lib/bb/event.py @@ -288,13 +288,13 @@ def set_eventfilter(func): _eventfilter = func def register_UIHhandler(handler, mainui=False): - if mainui: - global _uiready - _uiready = True bb.event._ui_handler_seq = bb.event._ui_handler_seq + 1 _ui_handlers[_ui_handler_seq] = handler level, debug_domains = bb.msg.constructLogOptions() _ui_logfilters[_ui_handler_seq] = UIEventFilter(level, debug_domains) + if mainui: + global _uiready + _uiready = _ui_handler_seq return _ui_handler_seq def unregister_UIHhandler(handlerNum, mainui=False): @@ -305,6 +305,11 @@ def unregister_UIHhandler(handlerNum, mainui=False): del _ui_handlers[handlerNum] return +def get_uihandler(): + if _uiready is False: + return None + return _uiready + # Class to allow filtering of events and specific filtering of LogRecords *before* we put them over the IPC class UIEventFilter(object): def __init__(self, level, debug_domains): diff --git a/lib/bb/main.py b/lib/bb/main.py index 29e3911..5b6a66e 100755 --- a/lib/bb/main.py +++ b/lib/bb/main.py @@ -28,6 +28,8 @@ import logging import optparse import warnings import fcntl +import time +import traceback import bb from bb import event @@ -37,6 +39,9 @@ from bb import ui from bb import server from bb import cookerdata +import bb.server.process +import bb.server.xmlrpcclient + logger = logging.getLogger("BitBake") class BBMainException(Exception): @@ -58,9 +63,6 @@ class BitbakeHelpFormatter(optparse.IndentedHelpFormatter): if option.dest == 'ui': valid_uis = list_extension_modules(bb.ui, 'main') option.help = option.help.replace('@CHOICES@', present_options(valid_uis)) - elif option.dest == 'servertype': - valid_server_types = list_extension_modules(bb.server, 'BitBakeServer') - option.help = option.help.replace('@CHOICES@', present_options(valid_server_types)) return optparse.IndentedHelpFormatter.format_option(self, option) @@ -238,11 +240,6 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters): default=os.environ.get('BITBAKE_UI', 'knotty'), help="The user interface to use (@CHOICES@ - default %default).") - # @CHOICES@ is substituted out by BitbakeHelpFormatter above - parser.add_option("-t", "--servertype", action="store", dest="servertype", - default=["process", "xmlrpc"]["BBSERVER" in os.environ], - help="Choose which server type to use (@CHOICES@ - default %default).") - parser.add_option("", "--token", action="store", dest="xmlrpctoken", default=os.environ.get("BBTOKEN"), help="Specify the connection token to be used when connecting " @@ -258,14 +255,11 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters): help="Run bitbake without a UI, only starting a server " "(cooker) process.") - parser.add_option("", "--foreground", action="store_true", - help="Run bitbake server in foreground.") - parser.add_option("-B", "--bind", action="store", dest="bind", default=False, - help="The name/address for the bitbake server to bind to.") + help="The name/address for the bitbake xmlrpc server to bind to.") - parser.add_option("-T", "--idle-timeout", type=int, - default=int(os.environ.get("BBTIMEOUT", "0")), + parser.add_option("-T", "--idle-timeout", type=float, dest="server_timeout", + default=float(os.environ.get("BB_SERVER_TIMEOUT", 0)) or None, help="Set timeout to unload bitbake server due to inactivity") parser.add_option("", "--no-setscene", action="store_true", @@ -283,7 +277,7 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters): parser.add_option("-m", "--kill-server", action="store_true", dest="kill_server", default=False, - help="Terminate the remote server.") + help="Terminate the bitbake server.") parser.add_option("", "--observe-only", action="store_true", dest="observe_only", default=False, @@ -322,70 +316,20 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters): eventlog = "bitbake_eventlog_%s.json" % datetime.now().strftime("%Y%m%d%H%M%S") options.writeeventlog = eventlog - # if BBSERVER says to autodetect, let's do that - if options.remote_server: - port = -1 - if options.remote_server != 'autostart': - host, port = options.remote_server.split(":", 2) + if options.bind: + try: + #Checking that the port is a number and is a ':' delimited value + (host, port) = options.bind.split(':') port = int(port) - # use automatic port if port set to -1, means read it from - # the bitbake.lock file; this is a bit tricky, but we always expect - # to be in the base of the build directory if we need to have a - # chance to start the server later, anyway - if port == -1: - lock_location = "./bitbake.lock" - # we try to read the address at all times; if the server is not started, - # we'll try to start it after the first connect fails, below - try: - lf = open(lock_location, 'r') - remotedef = lf.readline() - [host, port] = remotedef.split(":") - port = int(port) - lf.close() - options.remote_server = remotedef - except Exception as e: - if options.remote_server != 'autostart': - raise BBMainException("Failed to read bitbake.lock (%s), invalid port" % str(e)) + except (ValueError,IndexError): + raise BBMainException("FATAL: Malformed host:port bind parameter") + options.xmlrpcinterface = (host, port) + else: + options.xmlrpcinterface = (None, 0) return options, targets[1:] -def start_server(servermodule, configParams, configuration, features): - server = servermodule.BitBakeServer() - single_use = not configParams.server_only and os.getenv('BBSERVER') != 'autostart' - if configParams.bind: - (host, port) = configParams.bind.split(':') - server.initServer((host, int(port)), single_use=single_use, - idle_timeout=configParams.idle_timeout) - configuration.interface = [server.serverImpl.host, server.serverImpl.port] - else: - server.initServer(single_use=single_use) - configuration.interface = [] - - try: - configuration.setServerRegIdleCallback(server.getServerIdleCB()) - - cooker = bb.cooker.BBCooker(configuration, features) - - server.addcooker(cooker) - server.saveConnectionDetails() - except Exception as e: - while hasattr(server, "event_queue"): - import queue - try: - event = server.event_queue.get(block=False) - except (queue.Empty, IOError): - break - if isinstance(event, logging.LogRecord): - logger.handle(event) - raise - if not configParams.foreground: - server.detach() - cooker.shutdown() - cooker.lock.close() - return server - - def bitbake_main(configParams, configuration): # Python multiprocessing requires /dev/shm on Linux @@ -406,45 +350,15 @@ def bitbake_main(configParams, configuration): configuration.setConfigParameters(configParams) - if configParams.server_only: - if configParams.servertype != "xmlrpc": - raise BBMainException("FATAL: If '--server-only' is defined, we must set the " - "servertype as 'xmlrpc'.\n") - if not configParams.bind: - raise BBMainException("FATAL: The '--server-only' option requires a name/address " - "to bind to with the -B option.\n") - else: - try: - #Checking that the port is a number - int(configParams.bind.split(":")[1]) - except (ValueError,IndexError): - raise BBMainException( - "FATAL: Malformed host:port bind parameter") - if configParams.remote_server: + if configParams.server_only and configParams.remote_server: raise BBMainException("FATAL: The '--server-only' option conflicts with %s.\n" % ("the BBSERVER environment variable" if "BBSERVER" in os.environ \ else "the '--remote-server' option")) - elif configParams.foreground: - raise BBMainException("FATAL: The '--foreground' option can only be used " - "with --server-only.\n") - - if configParams.bind and configParams.servertype != "xmlrpc": - raise BBMainException("FATAL: If '-B' or '--bind' is defined, we must " - "set the servertype as 'xmlrpc'.\n") - - if configParams.remote_server and configParams.servertype != "xmlrpc": - raise BBMainException("FATAL: If '--remote-server' is defined, we must " - "set the servertype as 'xmlrpc'.\n") - if configParams.observe_only and (not configParams.remote_server or configParams.bind): raise BBMainException("FATAL: '--observe-only' can only be used by UI clients " "connecting to a server.\n") - if configParams.kill_server and not configParams.remote_server: - raise BBMainException("FATAL: '--kill-server' can only be used to " - "terminate a remote server") - if "BBDEBUG" in os.environ: level = int(os.environ["BBDEBUG"]) if level > configuration.debug: @@ -453,7 +367,7 @@ def bitbake_main(configParams, configuration): bb.msg.init_msgconfig(configParams.verbose, configuration.debug, configuration.debug_domains) - server, server_connection, ui_module = setup_bitbake(configParams, configuration) + server_connection, ui_module = setup_bitbake(configParams, configuration) if server_connection is None and configParams.kill_server: return 0 @@ -463,16 +377,15 @@ def bitbake_main(configParams, configuration): return 0 try: + for event in bb.event.ui_queue: + server_connection.events.queue_event(event) + bb.event.ui_queue = [] + return ui_module.main(server_connection.connection, server_connection.events, configParams) finally: - bb.event.ui_queue = [] server_connection.terminate() else: - print("Bitbake server address: %s, server port: %s" % (server.serverImpl.host, - server.serverImpl.port)) - if configParams.foreground: - server.serverImpl.serve_forever() return 0 return 1 @@ -495,58 +408,63 @@ def setup_bitbake(configParams, configuration, extrafeatures=None, setup_logging # Collect the feature set for the UI featureset = getattr(ui_module, "featureSet", []) - if configParams.server_only: - for param in ('prefile', 'postfile'): - value = getattr(configParams, param) - if value: - setattr(configuration, "%s_server" % param, value) - param = "%s_server" % param - if extrafeatures: for feature in extrafeatures: if not feature in featureset: featureset.append(feature) - servermodule = import_extension_module(bb.server, - configParams.servertype, - 'BitBakeServer') + server_connection = None + if configParams.remote_server: - if os.getenv('BBSERVER') == 'autostart': - if configParams.remote_server == 'autostart' or \ - not servermodule.check_connection(configParams.remote_server, timeout=2): - configParams.bind = 'localhost:0' - srv = start_server(servermodule, configParams, configuration, featureset) - configParams.remote_server = '%s:%d' % tuple(configuration.interface) - bb.event.ui_queue = [] - # we start a stub server that is actually a XMLRPClient that connects to a real server - from bb.server.xmlrpc import BitBakeXMLRPCClient - server = servermodule.BitBakeXMLRPCClient(configParams.observe_only, - configParams.xmlrpctoken) - server.saveConnectionDetails(configParams.remote_server) + # Connect to a remote XMLRPC server + server_connection = bb.server.xmlrpcclient.connectXMLRPC(configParams.remote_server, featureset, + configParams.observe_only, configParams.xmlrpctoken) else: - # we start a server with a given configuration - server = start_server(servermodule, configParams, configuration, featureset) + retries = 8 + while retries: + try: + topdir, lock = lockBitbake() + sockname = topdir + "/bitbake.sock" + if lock: + # we start a server with a given configuration + print("Starting bitbake server...") + server = bb.server.process.BitBakeServer(lock, sockname, configuration, featureset) + else: + print("Reconnecting to bitbake server...") + if not os.path.exists(sockname): + print("Previous bitbake instance shutting down?, waiting to retry...") + time.sleep(5) + raise bb.server.process.ProcessTimeout + if not configParams.server_only: + server_connection = bb.server.process.connectProcessServer(sockname, featureset) + if server_connection: + break + except Exception as e: + if not retries: + raise + retries -= 1 + print("Retrying server connection... (%s)" % traceback.format_exc()) + if not retries: + raise bb.server.process.ProcessTimeout("Unable to connect to bitbake server, or start one") + + + if configParams.kill_server: + server_connection.connection.terminateServer() + server_connection.terminate() bb.event.ui_queue = [] + print("Terminated bitbake server.") + return None, None - if configParams.server_only: - server_connection = None - else: - try: - server_connection = server.establishConnection(featureset) - except Exception as e: - bb.fatal("Could not connect to server %s: %s" % (configParams.remote_server, str(e))) - - if configParams.kill_server: - server_connection.connection.terminateServer() - bb.event.ui_queue = [] - return None, None, None + # Restore the environment in case the UI needs it + for k in cleanedvars: + os.environ[k] = cleanedvars[k] - server_connection.setupEventQueue() + logger.removeHandler(handler) - # Restore the environment in case the UI needs it - for k in cleanedvars: - os.environ[k] = cleanedvars[k] + return server_connection, ui_module - logger.removeHandler(handler) +def lockBitbake(): + topdir = bb.cookerdata.findTopdir() + lockfile = topdir + "/bitbake.lock" + return topdir, bb.utils.lockfile(lockfile, False, False) - return server, server_connection, ui_module diff --git a/lib/bb/server/__init__.py b/lib/bb/server/__init__.py index 538a633..5a3fba9 100644 --- a/lib/bb/server/__init__.py +++ b/lib/bb/server/__init__.py @@ -18,82 +18,4 @@ # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -""" Base code for Bitbake server process -Have a common base for that all Bitbake server classes ensures a consistent -approach to the interface, and minimize risks associated with code duplication. - -""" - -""" BaseImplServer() the base class for all XXServer() implementations. - - These classes contain the actual code that runs the server side, i.e. - listens for the commands and executes them. Although these implementations - contain all the data of the original bitbake command, i.e the cooker instance, - they may well run on a different process or even machine. - -""" - -class BaseImplServer(): - def __init__(self): - self._idlefuns = {} - - def addcooker(self, cooker): - self.cooker = cooker - - def register_idle_function(self, function, data): - """Register a function to be called while the server is idle""" - assert hasattr(function, '__call__') - self._idlefuns[function] = data - - - -""" BitBakeBaseServerConnection class is the common ancestor to all - BitBakeServerConnection classes. - - These classes control the remote server. The only command currently - implemented is the terminate() command. - -""" - -class BitBakeBaseServerConnection(): - def __init__(self, serverImpl): - pass - - def terminate(self): - pass - - def setupEventQueue(self): - pass - - -""" BitBakeBaseServer class is the common ancestor to all Bitbake servers - - Derive this class in order to implement a BitBakeServer which is the - controlling stub for the actual server implementation - -""" -class BitBakeBaseServer(object): - def initServer(self): - self.serverImpl = None # we ensure a runtime crash if not overloaded - self.connection = None - return - - def addcooker(self, cooker): - self.cooker = cooker - self.serverImpl.addcooker(cooker) - - def getServerIdleCB(self): - return self.serverImpl.register_idle_function - - def saveConnectionDetails(self): - return - - def detach(self): - return - - def establishConnection(self, featureset): - raise "Must redefine the %s.establishConnection()" % self.__class__.__name__ - - def endSession(self): - self.connection.terminate() diff --git a/lib/bb/server/process.py b/lib/bb/server/process.py index f8d6767..240b78a 100644 --- a/lib/bb/server/process.py +++ b/lib/bb/server/process.py @@ -22,125 +22,201 @@ import bb import bb.event -import itertools import logging import multiprocessing +import threading +import array import os -import signal import sys import time import select -from queue import Empty -from multiprocessing import Event, Process, util, Queue, Pipe, queues, Manager - -from . import BitBakeBaseServer, BitBakeBaseServerConnection, BaseImplServer +import socket +import subprocess +import errno +import bb.server.xmlrpcserver +from bb import daemonize +from multiprocessing import queues logger = logging.getLogger('BitBake') -class ServerCommunicator(): - def __init__(self, connection, event_handle, server): - self.connection = connection - self.event_handle = event_handle - self.server = server - - def runCommand(self, command): - # @todo try/except - self.connection.send(command) - - if not self.server.is_alive(): - raise SystemExit - - while True: - # don't let the user ctrl-c while we're waiting for a response - try: - for idx in range(0,4): # 0, 1, 2, 3 - if self.connection.poll(5): - return self.connection.recv() - else: - bb.warn("Timeout while attempting to communicate with bitbake server") - bb.fatal("Gave up; Too many tries: timeout while attempting to communicate with bitbake server") - except KeyboardInterrupt: - pass - - def getEventHandle(self): - return self.event_handle.value - -class EventAdapter(): - """ - Adapter to wrap our event queue since the caller (bb.event) expects to - call a send() method, but our actual queue only has put() - """ - def __init__(self, queue): - self.queue = queue - - def send(self, event): - try: - self.queue.put(event) - except Exception as err: - print("EventAdapter puked: %s" % str(err)) - +class ProcessTimeout(SystemExit): + pass -class ProcessServer(Process, BaseImplServer): +class ProcessServer(multiprocessing.Process): profile_filename = "profile.log" profile_processed_filename = "profile.log.processed" - def __init__(self, command_channel, event_queue, featurelist): - BaseImplServer.__init__(self) - Process.__init__(self) - self.command_channel = command_channel - self.event_queue = event_queue - self.event = EventAdapter(event_queue) - self.featurelist = featurelist + def __init__(self, lock, sock, sockname): + multiprocessing.Process.__init__(self) + self.command_channel = False + self.command_channel_reply = False self.quit = False self.heartbeat_seconds = 1 # default, BB_HEARTBEAT_EVENT will be checked once we have a datastore. self.next_heartbeat = time.time() - self.quitin, self.quitout = Pipe() - self.event_handle = multiprocessing.Value("i") + self.event_handle = None + self.haveui = False + self.lastui = False + self.xmlrpc = False + + self._idlefuns = {} + + self.bitbake_lock = lock + self.sock = sock + self.sockname = sockname + + def register_idle_function(self, function, data): + """Register a function to be called while the server is idle""" + assert hasattr(function, '__call__') + self._idlefuns[function] = data def run(self): - for event in bb.event.ui_queue: - self.event_queue.put(event) - self.event_handle.value = bb.event.register_UIHhandler(self, True) + + if self.xmlrpcinterface[0]: + self.xmlrpc = bb.server.xmlrpcserver.BitBakeXMLRPCServer(self.xmlrpcinterface, self.cooker, self) + + print("Bitbake XMLRPC server address: %s, server port: %s" % (self.xmlrpc.host, self.xmlrpc.port)) heartbeat_event = self.cooker.data.getVar('BB_HEARTBEAT_EVENT') if heartbeat_event: try: self.heartbeat_seconds = float(heartbeat_event) except: - # Throwing an exception here causes bitbake to hang. - # Just warn about the invalid setting and continue bb.warn('Ignoring invalid BB_HEARTBEAT_EVENT=%s, must be a float specifying seconds.' % heartbeat_event) + + self.timeout = self.server_timeout or self.cooker.data.getVar('BB_SERVER_TIMEOUT') + try: + if self.timeout: + self.timeout = float(self.timeout) + except: + bb.warn('Ignoring invalid BB_SERVER_TIMEOUT=%s, must be a float specifying seconds.' % self.timeout) + + + try: + self.bitbake_lock.seek(0) + self.bitbake_lock.truncate() + if self.xmlrpcinterface[0]: + self.bitbake_lock.write("%s %s:%s\n" % (os.getpid(), configuration.interface[0], configuration.interface[1])) + else: + self.bitbake_lock.write("%s\n" % (os.getpid())) + self.bitbake_lock.flush() + except: + pass + bb.cooker.server_main(self.cooker, self.main) def main(self): - # Ignore SIGINT within the server, as all SIGINT handling is done by - # the UI and communicated to us - self.quitin.close() - signal.signal(signal.SIGINT, signal.SIG_IGN) bb.utils.set_process_name("Cooker") + + ready = [] + + self.controllersock = False + fds = [self.sock] + if self.xmlrpc: + fds.append(self.xmlrpc) while not self.quit: - try: - if self.command_channel.poll(): - command = self.command_channel.recv() - self.runCommand(command) - if self.quitout.poll(): - self.quitout.recv() + if self.command_channel in ready: + command = self.command_channel.get() + if command[0] == "terminateServer": self.quit = True - try: - self.runCommand(["stateForceShutdown"]) - except: - pass - - self.idle_commands(.1, [self.command_channel, self.quitout]) - except Exception: - logger.exception('Running command %s', command) + continue + try: + print("Running command %s" % command) + self.command_channel_reply.send(self.cooker.command.runCommand(command)) + except Exception as e: + logger.exception('Exception in server main event loop running command %s (%s)' % (command, str(e))) + + if self.xmlrpc in ready: + self.xmlrpc.handle_requests() + if self.sock in ready: + print("Accepting %s" % (str(ready))) + self.controllersock, address = self.sock.accept() + fds.append(self.controllersock) + if self.controllersock in ready: + try: + print("Connecting Client") + ui_fds = recvfds(self.controllersock, 3) + + # Where to write events to + writer = ConnectionWriter(ui_fds[0]) + self.event_handle = bb.event.register_UIHhandler(writer, True) + self.event_writer = writer + + # Where to read commands from + reader = ConnectionReader(ui_fds[1]) + fds.append(reader) + self.command_channel = reader + + # Where to send command return values to + writer = ConnectionWriter(ui_fds[2]) + self.command_channel_reply = writer + + self.haveui = True + + except EOFError: + print("Disconnecting Client") + fds.remove(self.controllersock) + fds.remove(self.command_channel) + bb.event.unregister_UIHhandler(self.event_handle, True) + self.command_channel_reply.writer.close() + self.event_writer.writer.close() + del self.event_writer + self.controllersock.close() + self.haveui = False + self.lastui = time.time() + self.cooker.clientComplete() + if self.timeout is None: + print("No timeout, exiting.") + self.quit = True + if not self.haveui and self.lastui and self.timeout and (self.lastui + self.timeout) < time.time(): + print("Server timeout, exiting.") + self.quit = True - self.event_queue.close() - bb.event.unregister_UIHhandler(self.event_handle.value, True) - self.command_channel.close() - self.cooker.shutdown(True) - self.quitout.close() + ready = self.idle_commands(.1, fds) + + print("Exiting") + try: + self.cooker.shutdown(True) + except: + pass + + # Remove the socket file so we don't get any more connections to avoid races + os.unlink(self.sockname) + self.sock.close() + + # Finally release the lockfile but warn about other processes holding it open + lock = self.bitbake_lock + lockfile = lock.name + lock.close() + lock = None + + while not lock: + with bb.utils.timeout(3): + lock = bb.utils.lockfile(lockfile, shared=False, retry=False, block=True) + if not lock: + # Some systems may not have lsof available + procs = None + try: + procs = subprocess.check_output(["lsof", '-w', lockfile], stderr=subprocess.STDOUT) + except OSError as e: + if e.errno != errno.ENOENT: + raise + if procs is None: + # Fall back to fuser if lsof is unavailable + try: + procs = subprocess.check_output(["fuser", '-v', lockfile], stderr=subprocess.STDOUT) + except OSError as e: + if e.errno != errno.ENOENT: + raise + + msg = "Delaying shutdown due to active processes which appear to be holding bitbake.lock" + if procs: + msg += ":\n%s" % str(procs) + print(msg) + return + # We hold the lock so we can remove the file (hide stale pid data) + bb.utils.remove(lockfile) + bb.utils.unlockfile(lock) def idle_commands(self, delay, fds=None): nextsleep = delay @@ -186,111 +262,248 @@ class ProcessServer(Process, BaseImplServer): nextsleep = self.next_heartbeat - now if nextsleep is not None: - select.select(fds,[],[],nextsleep) + if self.xmlrpc: + nextsleep = self.xmlrpc.get_timeout(nextsleep) + return select.select(fds,[],[],nextsleep)[0] + else: + return [] + + +class ServerCommunicator(): + def __init__(self, connection, recv): + self.connection = connection + self.recv = recv def runCommand(self, command): - """ - Run a cooker command on the server - """ - self.command_channel.send(self.cooker.command.runCommand(command)) - - def stop(self): - self.quitin.send("quit") - self.quitin.close() - -class BitBakeProcessServerConnection(BitBakeBaseServerConnection): - def __init__(self, serverImpl, ui_channel, event_queue): - self.procserver = serverImpl - self.ui_channel = ui_channel - self.event_queue = event_queue - self.connection = ServerCommunicator(self.ui_channel, self.procserver.event_handle, self.procserver) - self.events = self.event_queue - self.terminated = False - - def sigterm_terminate(self): - bb.error("UI received SIGTERM") - self.terminate() + + self.connection.send(command) + while True: + # don't let the user ctrl-c while we're waiting for a response + try: + for idx in range(0,4): # 0, 1, 2, 3 + if self.recv.poll(1): + return self.recv.get() + else: + bb.warn("Timeout while attempting to communicate with bitbake server") + raise ProcessTimeout("Gave up; Too many tries: timeout while attempting to communicate with bitbake server") + except KeyboardInterrupt: + pass + + def updateFeatureSet(self, featureset): + _, error = self.runCommand(["setFeatures", featureset]) + if error: + logger.error("Unable to set the cooker to the correct featureset: %s" % error) + raise BaseException(error) + + def getEventHandle(self): + handle, error = self.runCommand(["getUIHandlerNum"]) + if error: + logger.error("Unable to get UI Handler Number: %s" % error) + raise BaseException(error) + + return handle + + def terminateServer(self): + self.connection.send(['terminateServer']) + return + +class BitBakeProcessServerConnection(object): + def __init__(self, ui_channel, recv, eq): + self.connection = ServerCommunicator(ui_channel, recv) + self.events = eq def terminate(self): - if self.terminated: - return - self.terminated = True - def flushevents(): - while True: - try: - event = self.event_queue.get(block=False) - except (Empty, IOError): - break - if isinstance(event, logging.LogRecord): - logger.handle(event) - - self.procserver.stop() - - while self.procserver.is_alive(): - flushevents() - self.procserver.join(0.1) - - self.ui_channel.close() - self.event_queue.close() - self.event_queue.setexit() - # XXX: Call explicity close in _writer to avoid - # fd leakage because isn't called on Queue.close() - self.event_queue._writer.close() - -# Wrap Queue to provide API which isn't server implementation specific -class ProcessEventQueue(multiprocessing.queues.Queue): - def __init__(self, maxsize): - multiprocessing.queues.Queue.__init__(self, maxsize, ctx=multiprocessing.get_context()) - self.exit = False - bb.utils.set_process_name("ProcessEQueue") - - def setexit(self): - self.exit = True - - def waitEvent(self, timeout): - if self.exit: - return self.getEvent() + self.socket_connection.close() + return + +class BitBakeServer(object): + def __init__(self, lock, sockname, configuration, featureset): + + self.configuration = configuration + self.featureset = featureset + self.sockname = sockname + self.bitbake_lock = lock + + # Create server control socket + if os.path.exists(sockname): + os.unlink(sockname) + + self.sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) + # AF_UNIX has path length issues so chdir here to workaround + cwd = os.getcwd() try: - if not self.server.is_alive(): - return self.getEvent() - if timeout == 0: - return self.get(False) - return self.get(True, timeout) - except Empty: - return None + os.chdir(os.path.dirname(sockname)) + self.sock.bind(os.path.basename(sockname)) + finally: + os.chdir(cwd) + self.sock.listen(1) + + os.set_inheritable(self.sock.fileno(), True) + bb.daemonize.createDaemon(self._startServer, "bitbake-cookerdaemon.log") + self.sock.close() + + def _startServer(self): + server = ProcessServer(self.bitbake_lock, self.sock, self.sockname) + self.configuration.setServerRegIdleCallback(server.register_idle_function) + + # Copy prefile and postfile to _server variants + for param in ('prefile', 'postfile'): + value = getattr(self.configuration, param) + if value: + setattr(self.configuration, "%s_server" % param, value) + + self.cooker = bb.cooker.BBCooker(self.configuration, self.featureset) + server.cooker = self.cooker + server.server_timeout = self.configuration.server_timeout + server.xmlrpcinterface = self.configuration.xmlrpcinterface + print("Started bitbake server pid %d" % os.getpid()) + server.start() + +def connectProcessServer(sockname, featureset): + # Connect to socket + sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) + # AF_UNIX has path length issues so chdir here to workaround + cwd = os.getcwd() + + try: + os.chdir(os.path.dirname(sockname)) + sock.connect(os.path.basename(sockname)) + finally: + os.chdir(cwd) + + try: + # Send an fd for the remote to write events to + readfd, writefd = os.pipe() + eq = BBUIEventQueue(readfd) + # Send an fd for the remote to recieve commands from + readfd1, writefd1 = os.pipe() + command_chan = ConnectionWriter(writefd1) + # Send an fd for the remote to write commands results to + readfd2, writefd2 = os.pipe() + command_chan_recv = ConnectionReader(readfd2) + + sendfds(sock, [writefd, readfd1, writefd2]) + + server_connection = BitBakeProcessServerConnection(command_chan, command_chan_recv, eq) + + server_connection.connection.updateFeatureSet(featureset) + + # Save sock so it doesn't get gc'd for the life of our connection + server_connection.socket_connection = sock + except: + sock.close() + raise + + return server_connection + +def sendfds(sock, fds): + '''Send an array of fds over an AF_UNIX socket.''' + fds = array.array('i', fds) + msg = bytes([len(fds) % 256]) + sock.sendmsg([msg], [(socket.SOL_SOCKET, socket.SCM_RIGHTS, fds)]) + +def recvfds(sock, size): + '''Receive an array of fds over an AF_UNIX socket.''' + a = array.array('i') + bytes_size = a.itemsize * size + msg, ancdata, flags, addr = sock.recvmsg(1, socket.CMSG_LEN(bytes_size)) + if not msg and not ancdata: + raise EOFError + try: + if len(ancdata) != 1: + raise RuntimeError('received %d items of ancdata' % + len(ancdata)) + cmsg_level, cmsg_type, cmsg_data = ancdata[0] + if (cmsg_level == socket.SOL_SOCKET and + cmsg_type == socket.SCM_RIGHTS): + if len(cmsg_data) % a.itemsize != 0: + raise ValueError + a.frombytes(cmsg_data) + assert len(a) % 256 == msg[0] + return list(a) + except (ValueError, IndexError): + pass + raise RuntimeError('Invalid data received') + +class BBUIEventQueue: + def __init__(self, readfd): + + self.eventQueue = [] + self.eventQueueLock = threading.Lock() + self.eventQueueNotify = threading.Event() + + self.reader = ConnectionReader(readfd) + + self.t = threading.Thread() + self.t.setDaemon(True) + self.t.run = self.startCallbackHandler + self.t.start() def getEvent(self): - try: - if not self.server.is_alive(): - self.setexit() - return self.get(False) - except Empty: - if self.exit: - sys.exit(1) + self.eventQueueLock.acquire() + + if len(self.eventQueue) == 0: + self.eventQueueLock.release() return None -class BitBakeServer(BitBakeBaseServer): - def initServer(self, single_use=True): - # establish communication channels. We use bidirectional pipes for - # ui <--> server command/response pairs - # and a queue for server -> ui event notifications - # - self.ui_channel, self.server_channel = Pipe() - self.event_queue = ProcessEventQueue(0) - self.serverImpl = ProcessServer(self.server_channel, self.event_queue, None) - self.event_queue.server = self.serverImpl - - def detach(self): - self.serverImpl.start() - return + item = self.eventQueue.pop(0) - def establishConnection(self, featureset): + if len(self.eventQueue) == 0: + self.eventQueueNotify.clear() - self.connection = BitBakeProcessServerConnection(self.serverImpl, self.ui_channel, self.event_queue) + self.eventQueueLock.release() + return item + + def waitEvent(self, delay): + self.eventQueueNotify.wait(delay) + return self.getEvent() + + def queue_event(self, event): + self.eventQueueLock.acquire() + self.eventQueue.append(event) + self.eventQueueNotify.set() + self.eventQueueLock.release() + + def send_event(self, event): + self.queue_event(pickle.loads(event)) + + def startCallbackHandler(self): + bb.utils.set_process_name("UIEventQueue") + while True: + self.reader.wait() + event = self.reader.get() + self.queue_event(event) + +class ConnectionReader(object): + + def __init__(self, fd): + self.reader = multiprocessing.connection.Connection(fd, writable=False) + self.rlock = multiprocessing.Lock() + + def wait(self, timeout=None): + return multiprocessing.connection.wait([self.reader], timeout) + + def poll(self, timeout=None): + return self.reader.poll(timeout) + + def get(self): + with self.rlock: + res = self.reader.recv_bytes() + return multiprocessing.reduction.ForkingPickler.loads(res) + + def fileno(self): + return self.reader.fileno() + +class ConnectionWriter(object): + + def __init__(self, fd): + self.writer = multiprocessing.connection.Connection(fd, readable=False) + self.wlock = multiprocessing.Lock() + # Why bb.event needs this I have no idea + self.event = self + + def send(self, obj): + obj = multiprocessing.reduction.ForkingPickler.dumps(obj) + with self.wlock: + self.writer.send_bytes(obj) - _, error = self.connection.connection.runCommand(["setFeatures", featureset]) - if error: - logger.error("Unable to set the cooker to the correct featureset: %s" % error) - raise BaseException(error) - signal.signal(signal.SIGTERM, lambda i, s: self.connection.sigterm_terminate()) - return self.connection diff --git a/lib/bb/server/xmlrpc.py b/lib/bb/server/xmlrpc.py deleted file mode 100644 index 1a475e0..0000000 --- a/lib/bb/server/xmlrpc.py +++ /dev/null @@ -1,448 +0,0 @@ -# -# BitBake XMLRPC Server -# -# Copyright (C) 2006 - 2007 Michael 'Mickey' Lauer -# Copyright (C) 2006 - 2008 Richard Purdie -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -""" - This module implements an xmlrpc server for BitBake. - - Use this by deriving a class from BitBakeXMLRPCServer and then adding - methods which you want to "export" via XMLRPC. If the methods have the - prefix xmlrpc_, then registering those function will happen automatically, - if not, you need to call register_function. - - Use register_idle_function() to add a function which the xmlrpc server - calls from within server_forever when no requests are pending. Make sure - that those functions are non-blocking or else you will introduce latency - in the server's main loop. -""" - -import os -import sys - -import hashlib -import time -import socket -import signal -import threading -import pickle -import inspect -import select -import http.client -import xmlrpc.client -from xmlrpc.server import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler - -import bb -from bb import daemonize -from bb.ui import uievent -from . import BitBakeBaseServer, BitBakeBaseServerConnection, BaseImplServer - -DEBUG = False - -class BBTransport(xmlrpc.client.Transport): - def __init__(self, timeout): - self.timeout = timeout - self.connection_token = None - xmlrpc.client.Transport.__init__(self) - - # Modified from default to pass timeout to HTTPConnection - def make_connection(self, host): - #return an existing connection if possible. This allows - #HTTP/1.1 keep-alive. - if self._connection and host == self._connection[0]: - return self._connection[1] - - # create a HTTP connection object from a host descriptor - chost, self._extra_headers, x509 = self.get_host_info(host) - #store the host argument along with the connection object - self._connection = host, http.client.HTTPConnection(chost, timeout=self.timeout) - return self._connection[1] - - def set_connection_token(self, token): - self.connection_token = token - - def send_content(self, h, body): - if self.connection_token: - h.putheader("Bitbake-token", self.connection_token) - xmlrpc.client.Transport.send_content(self, h, body) - -def _create_server(host, port, timeout = 60): - t = BBTransport(timeout) - s = xmlrpc.client.ServerProxy("http://%s:%d/" % (host, port), transport=t, allow_none=True, use_builtin_types=True) - return s, t - -def check_connection(remote, timeout): - try: - host, port = remote.split(":") - port = int(port) - except Exception as e: - bb.warn("Failed to read remote definition (%s)" % str(e)) - raise e - - server, _transport = _create_server(host, port, timeout) - try: - ret, err = server.runCommand(['getVariable', 'TOPDIR']) - if err or not ret: - return False - except ConnectionError: - return False - return True - -class BitBakeServerCommands(): - - def __init__(self, server): - self.server = server - self.has_client = False - - def registerEventHandler(self, host, port): - """ - Register a remote UI Event Handler - """ - s, t = _create_server(host, port) - - # we don't allow connections if the cooker is running - if (self.cooker.state in [bb.cooker.state.parsing, bb.cooker.state.running]): - return None, "Cooker is busy: %s" % bb.cooker.state.get_name(self.cooker.state) - - self.event_handle = bb.event.register_UIHhandler(s, True) - return self.event_handle, 'OK' - - def unregisterEventHandler(self, handlerNum): - """ - Unregister a remote UI Event Handler - """ - return bb.event.unregister_UIHhandler(handlerNum, True) - - def runCommand(self, command): - """ - Run a cooker command on the server - """ - return self.cooker.command.runCommand(command, self.server.readonly) - - def getEventHandle(self): - return self.event_handle - - def terminateServer(self): - """ - Trigger the server to quit - """ - self.server.quit = True - print("Server (cooker) exiting") - return - - def addClient(self): - if self.has_client: - return None - token = hashlib.md5(str(time.time()).encode("utf-8")).hexdigest() - self.server.set_connection_token(token) - self.has_client = True - return token - - def removeClient(self): - if self.has_client: - self.server.set_connection_token(None) - self.has_client = False - if self.server.single_use: - self.server.quit = True - -# This request handler checks if the request has a "Bitbake-token" header -# field (this comes from the client side) and compares it with its internal -# "Bitbake-token" field (this comes from the server). If the two are not -# equal, it is assumed that a client is trying to connect to the server -# while another client is connected to the server. In this case, a 503 error -# ("service unavailable") is returned to the client. -class BitBakeXMLRPCRequestHandler(SimpleXMLRPCRequestHandler): - def __init__(self, request, client_address, server): - self.server = server - SimpleXMLRPCRequestHandler.__init__(self, request, client_address, server) - - def do_POST(self): - try: - remote_token = self.headers["Bitbake-token"] - except: - remote_token = None - if remote_token != self.server.connection_token and remote_token != "observer": - self.report_503() - else: - if remote_token == "observer": - self.server.readonly = True - else: - self.server.readonly = False - SimpleXMLRPCRequestHandler.do_POST(self) - - def report_503(self): - self.send_response(503) - response = 'No more client allowed' - self.send_header("Content-type", "text/plain") - self.send_header("Content-length", str(len(response))) - self.end_headers() - self.wfile.write(bytes(response, 'utf-8')) - - -class XMLRPCProxyServer(BaseImplServer): - """ not a real working server, but a stub for a proxy server connection - - """ - def __init__(self, host, port, use_builtin_types=True): - self.host = host - self.port = port - -class XMLRPCServer(SimpleXMLRPCServer, BaseImplServer): - # remove this when you're done with debugging - # allow_reuse_address = True - - def __init__(self, interface, single_use=False, idle_timeout=0): - """ - Constructor - """ - BaseImplServer.__init__(self) - self.single_use = single_use - # Use auto port configuration - if (interface[1] == -1): - interface = (interface[0], 0) - SimpleXMLRPCServer.__init__(self, interface, - requestHandler=BitBakeXMLRPCRequestHandler, - logRequests=False, allow_none=True) - self.host, self.port = self.socket.getsockname() - self.connection_token = None - #self.register_introspection_functions() - self.commands = BitBakeServerCommands(self) - self.autoregister_all_functions(self.commands, "") - self.interface = interface - self.time = time.time() - self.idle_timeout = idle_timeout - if idle_timeout: - self.register_idle_function(self.handle_idle_timeout, self) - self.heartbeat_seconds = 1 # default, BB_HEARTBEAT_EVENT will be checked once we have a datastore. - self.next_heartbeat = time.time() - - def addcooker(self, cooker): - BaseImplServer.addcooker(self, cooker) - self.commands.cooker = cooker - - def autoregister_all_functions(self, context, prefix): - """ - Convenience method for registering all functions in the scope - of this class that start with a common prefix - """ - methodlist = inspect.getmembers(context, inspect.ismethod) - for name, method in methodlist: - if name.startswith(prefix): - self.register_function(method, name[len(prefix):]) - - def handle_idle_timeout(self, server, data, abort): - if not abort: - if time.time() - server.time > server.idle_timeout: - server.quit = True - print("Server idle timeout expired") - return [] - - def serve_forever(self): - heartbeat_event = self.cooker.data.getVar('BB_HEARTBEAT_EVENT') - if heartbeat_event: - try: - self.heartbeat_seconds = float(heartbeat_event) - except: - # Throwing an exception here causes bitbake to hang. - # Just warn about the invalid setting and continue - bb.warn('Ignoring invalid BB_HEARTBEAT_EVENT=%s, must be a float specifying seconds.' % heartbeat_event) - - # Start the actual XMLRPC server - bb.cooker.server_main(self.cooker, self._serve_forever) - - def _serve_forever(self): - """ - Serve Requests. Overloaded to honor a quit command - """ - self.quit = False - while not self.quit: - fds = [self] - nextsleep = 0.1 - for function, data in list(self._idlefuns.items()): - retval = None - try: - retval = function(self, data, False) - if retval is False: - del self._idlefuns[function] - elif retval is True: - nextsleep = 0 - elif isinstance(retval, float): - if (retval < nextsleep): - nextsleep = retval - else: - fds = fds + retval - except SystemExit: - raise - except: - import traceback - traceback.print_exc() - if retval == None: - # the function execute failed; delete it - del self._idlefuns[function] - pass - - socktimeout = self.socket.gettimeout() or nextsleep - socktimeout = min(socktimeout, nextsleep) - # Mirror what BaseServer handle_request would do - try: - fd_sets = select.select(fds, [], [], socktimeout) - if fd_sets[0] and self in fd_sets[0]: - if self.idle_timeout: - self.time = time.time() - self._handle_request_noblock() - except IOError: - # we ignore interrupted calls - pass - - # Create new heartbeat event? - now = time.time() - if now >= self.next_heartbeat: - # We might have missed heartbeats. Just trigger once in - # that case and continue after the usual delay. - self.next_heartbeat += self.heartbeat_seconds - if self.next_heartbeat <= now: - self.next_heartbeat = now + self.heartbeat_seconds - heartbeat = bb.event.HeartbeatEvent(now) - bb.event.fire(heartbeat, self.cooker.data) - if nextsleep and now + nextsleep > self.next_heartbeat: - # Shorten timeout so that we we wake up in time for - # the heartbeat. - nextsleep = self.next_heartbeat - now - - # Tell idle functions we're exiting - for function, data in list(self._idlefuns.items()): - try: - retval = function(self, data, True) - except: - pass - self.server_close() - return - - def set_connection_token(self, token): - self.connection_token = token - -class BitBakeXMLRPCServerConnection(BitBakeBaseServerConnection): - def __init__(self, serverImpl, clientinfo=("localhost", 0), observer_only = False, featureset = None): - self.connection, self.transport = _create_server(serverImpl.host, serverImpl.port) - self.clientinfo = clientinfo - self.serverImpl = serverImpl - self.observer_only = observer_only - if featureset: - self.featureset = featureset - else: - self.featureset = [] - - def connect(self, token = None): - if token is None: - if self.observer_only: - token = "observer" - else: - token = self.connection.addClient() - - if token is None: - return None - - self.transport.set_connection_token(token) - return self - - def setupEventQueue(self): - self.events = uievent.BBUIEventQueue(self.connection, self.clientinfo) - for event in bb.event.ui_queue: - self.events.queue_event(event) - - _, error = self.connection.runCommand(["setFeatures", self.featureset]) - if error: - # disconnect the client, we can't make the setFeature work - self.connection.removeClient() - # no need to log it here, the error shall be sent to the client - raise BaseException(error) - - def removeClient(self): - if not self.observer_only: - self.connection.removeClient() - - def terminate(self): - # Don't wait for server indefinitely - import socket - socket.setdefaulttimeout(2) - try: - self.events.system_quit() - except: - pass - try: - self.connection.removeClient() - except: - pass - -class BitBakeServer(BitBakeBaseServer): - def initServer(self, interface = ("localhost", 0), - single_use = False, idle_timeout=0): - self.interface = interface - self.serverImpl = XMLRPCServer(interface, single_use, idle_timeout) - - def detach(self): - daemonize.createDaemon(self.serverImpl.serve_forever, "bitbake-cookerdaemon.log") - del self.cooker - - def establishConnection(self, featureset): - self.connection = BitBakeXMLRPCServerConnection(self.serverImpl, self.interface, False, featureset) - return self.connection.connect() - - def set_connection_token(self, token): - self.connection.transport.set_connection_token(token) - -class BitBakeXMLRPCClient(BitBakeBaseServer): - - def __init__(self, observer_only = False, token = None): - self.token = token - - self.observer_only = observer_only - # if we need extra caches, just tell the server to load them all - pass - - def saveConnectionDetails(self, remote): - self.remote = remote - - def establishConnection(self, featureset): - # The format of "remote" must be "server:port" - try: - [host, port] = self.remote.split(":") - port = int(port) - except Exception as e: - bb.warn("Failed to read remote definition (%s)" % str(e)) - raise e - - # We need our IP for the server connection. We get the IP - # by trying to connect with the server - try: - s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) - s.connect((host, port)) - ip = s.getsockname()[0] - s.close() - except Exception as e: - bb.warn("Could not create socket for %s:%s (%s)" % (host, port, str(e))) - raise e - try: - self.serverImpl = XMLRPCProxyServer(host, port, use_builtin_types=True) - self.connection = BitBakeXMLRPCServerConnection(self.serverImpl, (ip, 0), self.observer_only, featureset) - return self.connection.connect(self.token) - except Exception as e: - bb.warn("Could not connect to server at %s:%s (%s)" % (host, port, str(e))) - raise e - - def endSession(self): - self.connection.removeClient() diff --git a/lib/bb/server/xmlrpcclient.py b/lib/bb/server/xmlrpcclient.py new file mode 100644 index 0000000..4661a9e --- /dev/null +++ b/lib/bb/server/xmlrpcclient.py @@ -0,0 +1,154 @@ +# +# BitBake XMLRPC Client Interface +# +# Copyright (C) 2006 - 2007 Michael 'Mickey' Lauer +# Copyright (C) 2006 - 2008 Richard Purdie +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +import os +import sys + +import socket +import http.client +import xmlrpc.client + +import bb +from bb.ui import uievent + +class BBTransport(xmlrpc.client.Transport): + def __init__(self, timeout): + self.timeout = timeout + self.connection_token = None + xmlrpc.client.Transport.__init__(self) + + # Modified from default to pass timeout to HTTPConnection + def make_connection(self, host): + #return an existing connection if possible. This allows + #HTTP/1.1 keep-alive. + if self._connection and host == self._connection[0]: + return self._connection[1] + + # create a HTTP connection object from a host descriptor + chost, self._extra_headers, x509 = self.get_host_info(host) + #store the host argument along with the connection object + self._connection = host, http.client.HTTPConnection(chost, timeout=self.timeout) + return self._connection[1] + + def set_connection_token(self, token): + self.connection_token = token + + def send_content(self, h, body): + if self.connection_token: + h.putheader("Bitbake-token", self.connection_token) + xmlrpc.client.Transport.send_content(self, h, body) + +def _create_server(host, port, timeout = 60): + t = BBTransport(timeout) + s = xmlrpc.client.ServerProxy("http://%s:%d/" % (host, port), transport=t, allow_none=True, use_builtin_types=True) + return s, t + +def check_connection(remote, timeout): + try: + host, port = remote.split(":") + port = int(port) + except Exception as e: + bb.warn("Failed to read remote definition (%s)" % str(e)) + raise e + + server, _transport = _create_server(host, port, timeout) + try: + ret, err = server.runCommand(['getVariable', 'TOPDIR']) + if err or not ret: + return False + except ConnectionError: + return False + return True + +class BitBakeXMLRPCServerConnection(object): + def __init__(self, host, port, clientinfo=("localhost", 0), observer_only = False, featureset = None): + self.connection, self.transport = _create_server(host, port) + self.clientinfo = clientinfo + self.observer_only = observer_only + if featureset: + self.featureset = featureset + else: + self.featureset = [] + + self.events = uievent.BBUIEventQueue(self.connection, self.clientinfo) + + _, error = self.connection.runCommand(["setFeatures", self.featureset]) + if error: + # disconnect the client, we can't make the setFeature work + self.connection.removeClient() + # no need to log it here, the error shall be sent to the client + raise BaseException(error) + + def connect(self, token = None): + if token is None: + if self.observer_only: + token = "observer" + else: + token = self.connection.addClient() + + if token is None: + return None + + self.transport.set_connection_token(token) + return self + + def removeClient(self): + if not self.observer_only: + self.connection.removeClient() + + def terminate(self): + # Don't wait for server indefinitely + socket.setdefaulttimeout(2) + try: + self.events.system_quit() + except: + pass + try: + self.connection.removeClient() + except: + pass + +def connectXMLRPC(remote, featureset, observer_only = False, token = None): + # The format of "remote" must be "server:port" + try: + [host, port] = remote.split(":") + port = int(port) + except Exception as e: + bb.warn("Failed to parse remote definition %s (%s)" % (remote, str(e))) + raise e + + # We need our IP for the server connection. We get the IP + # by trying to connect with the server + try: + s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + s.connect((host, port)) + ip = s.getsockname()[0] + s.close() + except Exception as e: + bb.warn("Could not create socket for %s:%s (%s)" % (host, port, str(e))) + raise e + try: + connection = BitBakeXMLRPCServerConnection(host, port, (ip, 0), observer_only, featureset) + return connection.connect(token) + except Exception as e: + bb.warn("Could not connect to server at %s:%s (%s)" % (host, port, str(e))) + raise e + + + diff --git a/lib/bb/server/xmlrpcserver.py b/lib/bb/server/xmlrpcserver.py new file mode 100644 index 0000000..875b128 --- /dev/null +++ b/lib/bb/server/xmlrpcserver.py @@ -0,0 +1,158 @@ +# +# BitBake XMLRPC Server Interface +# +# Copyright (C) 2006 - 2007 Michael 'Mickey' Lauer +# Copyright (C) 2006 - 2008 Richard Purdie +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +import os +import sys + +import hashlib +import time +import inspect +from xmlrpc.server import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler + +import bb + +# This request handler checks if the request has a "Bitbake-token" header +# field (this comes from the client side) and compares it with its internal +# "Bitbake-token" field (this comes from the server). If the two are not +# equal, it is assumed that a client is trying to connect to the server +# while another client is connected to the server. In this case, a 503 error +# ("service unavailable") is returned to the client. +class BitBakeXMLRPCRequestHandler(SimpleXMLRPCRequestHandler): + def __init__(self, request, client_address, server): + self.server = server + SimpleXMLRPCRequestHandler.__init__(self, request, client_address, server) + + def do_POST(self): + try: + remote_token = self.headers["Bitbake-token"] + except: + remote_token = None + if 0 and remote_token != self.server.connection_token and remote_token != "observer": + self.report_503() + else: + if remote_token == "observer": + self.server.readonly = True + else: + self.server.readonly = False + SimpleXMLRPCRequestHandler.do_POST(self) + + def report_503(self): + self.send_response(503) + response = 'No more client allowed' + self.send_header("Content-type", "text/plain") + self.send_header("Content-length", str(len(response))) + self.end_headers() + self.wfile.write(bytes(response, 'utf-8')) + +class BitBakeXMLRPCServer(SimpleXMLRPCServer): + # remove this when you're done with debugging + # allow_reuse_address = True + + def __init__(self, interface, cooker, parent): + # Use auto port configuration + if (interface[1] == -1): + interface = (interface[0], 0) + SimpleXMLRPCServer.__init__(self, interface, + requestHandler=BitBakeXMLRPCRequestHandler, + logRequests=False, allow_none=True) + self.host, self.port = self.socket.getsockname() + self.interface = interface + + self.connection_token = None + self.commands = BitBakeXMLRPCServerCommands(self) + self.register_functions(self.commands, "") + + self.cooker = cooker + self.parent = parent + + + def register_functions(self, context, prefix): + """ + Convenience method for registering all functions in the scope + of this class that start with a common prefix + """ + methodlist = inspect.getmembers(context, inspect.ismethod) + for name, method in methodlist: + if name.startswith(prefix): + self.register_function(method, name[len(prefix):]) + + def get_timeout(self, delay): + socktimeout = self.socket.gettimeout() or delay + return min(socktimeout, delay) + + def handle_requests(self): + self._handle_request_noblock() + +class BitBakeXMLRPCServerCommands(): + + def __init__(self, server): + self.server = server + self.has_client = False + + def registerEventHandler(self, host, port): + """ + Register a remote UI Event Handler + """ + s, t = bb.server.xmlrpcclient._create_server(host, port) + + # we don't allow connections if the cooker is running + if (self.server.cooker.state in [bb.cooker.state.parsing, bb.cooker.state.running]): + return None, "Cooker is busy: %s" % bb.cooker.state.get_name(self.server.cooker.state) + + self.event_handle = bb.event.register_UIHhandler(s, True) + return self.event_handle, 'OK' + + def unregisterEventHandler(self, handlerNum): + """ + Unregister a remote UI Event Handler + """ + ret = bb.event.unregister_UIHhandler(handlerNum, True) + self.event_handle = None + return ret + + def runCommand(self, command): + """ + Run a cooker command on the server + """ + return self.server.cooker.command.runCommand(command, self.server.readonly) + + def getEventHandle(self): + return self.event_handle + + def terminateServer(self): + """ + Trigger the server to quit + """ + self.server.parent.quit = True + print("XMLRPC Server triggering exit") + return + + def addClient(self): + if self.server.parent.haveui: + return None + token = hashlib.md5(str(time.time()).encode("utf-8")).hexdigest() + self.server.connection_token = token + self.server.parent.haveui = True + return token + + def removeClient(self): + if self.server.parent.haveui: + self.server.connection_token = None + self.server.parent.haveui = False + diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index fb0da62..303ce02 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -243,7 +243,7 @@ class Tinfoil: cookerconfig = CookerConfiguration() cookerconfig.setConfigParameters(config_params) - server, self.server_connection, ui_module = setup_bitbake(config_params, + self.server_connection, ui_module = setup_bitbake(config_params, cookerconfig, extrafeatures, setup_logging=False) diff --git a/lib/prserv/serv.py b/lib/prserv/serv.py index a7efa58..5f061c2 100644 --- a/lib/prserv/serv.py +++ b/lib/prserv/serv.py @@ -6,7 +6,7 @@ import queue import socket import io import sqlite3 -import bb.server.xmlrpc +import bb.server.xmlrpcclient import prserv import prserv.db import errno @@ -300,7 +300,7 @@ class PRServerConnection(object): host, port = singleton.getinfo() self.host = host self.port = port - self.connection, self.transport = bb.server.xmlrpc._create_server(self.host, self.port) + self.connection, self.transport = bb.server.xmlrpcclient._create_server(self.host, self.port) def terminate(self): try: -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 17:21:15 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 17:21:15 +0000 Subject: [oe-commits] [openembedded-core] 03/05: classes/staging: change fixme debug message from note to debug In-Reply-To: <150039847223.27754.13291000152509193119@git.openembedded.org> References: <150039847223.27754.13291000152509193119@git.openembedded.org> Message-ID: <20170718172112.94D5923354C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 17d54b892049d718638d5e75a34903780d4cd5bc Author: Paul Eggleton AuthorDate: Fri Jun 23 14:31:23 2017 +0200 classes/staging: change fixme debug message from note to debug These messages were added for debugging during the recipe specific sysroot work. They may still be useful but they don't need to be notes - if they are they show up in recipetool / devtool output when fetching source. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- meta/classes/staging.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/classes/staging.bbclass b/meta/classes/staging.bbclass index 8f470d5..162c8e9 100644 --- a/meta/classes/staging.bbclass +++ b/meta/classes/staging.bbclass @@ -170,7 +170,7 @@ def staging_processfixme(fixme, target, recipesysroot, recipesysrootnative, d): for fixmevar in ['COMPONENTS_DIR', 'HOSTTOOLS_DIR', 'PKGDATA_DIR']: fixme_path = d.getVar(fixmevar) cmd += " -e 's:FIXME_%s:%s:g'" % (fixmevar, fixme_path) - bb.note(cmd) + bb.debug(2, cmd) subprocess.check_output(cmd, shell=True) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 17:21:12 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 17:21:12 +0000 Subject: [oe-commits] [openembedded-core] branch master-next updated (ef68005 -> 9c79577) Message-ID: <150039847223.27754.13291000152509193119@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master-next in repository openembedded-core. from ef68005 webkitgtk: Upgrade to 2.16.5 new c484dcd recipetool: refactor code for ensuring npm is available new f82da1c devtool: extract: refactor kern-tools-native handling new 17d54b8 classes/staging: change fixme debug message from note to debug new 0b4d1b9 recipetool: ensure meaningful error for malformed tarballs new 9c79577 recipetool: reimplement fetching with normal fetch/unpack tasks The 5 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: meta/classes/staging.bbclass | 2 +- scripts/lib/devtool/__init__.py | 31 ----- scripts/lib/devtool/standard.py | 73 +++--------- scripts/lib/recipetool/create.py | 221 +++++++++++++++++++++++++++-------- scripts/lib/recipetool/create_npm.py | 7 +- scripts/lib/recipetool/utils.py | 37 ++++++ 6 files changed, 235 insertions(+), 136 deletions(-) create mode 100644 scripts/lib/recipetool/utils.py -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 17:21:13 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 17:21:13 +0000 Subject: [oe-commits] [openembedded-core] 01/05: recipetool: refactor code for ensuring npm is available In-Reply-To: <150039847223.27754.13291000152509193119@git.openembedded.org> References: <150039847223.27754.13291000152509193119@git.openembedded.org> Message-ID: <20170718172112.7FAEC23354A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit c484dcd3a8979a711f80a5fb5d72276806e3aa7a Author: Paul Eggleton AuthorDate: Fri May 19 14:55:44 2017 +1200 recipetool: refactor code for ensuring npm is available Across devtool and recipetool we had an ugly set of code for ensuring that we can call an npm binary, and much of that ugliness was a result of not being able to run build tasks when tinfoil was active - if recipetool found that npm was required and we didn't know beforehand (e.g. we're fetching from a plain git repository as opposed to an npm:// URL where it's obvious) then it had to exit and return a special result code, so that devtool knew it needed to build nodejs-native and then call recipetool again. Tinfoil now allows us to run build tasks directly, so we can take advantage of that instead and throw away the ugly code at the same time. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- scripts/lib/devtool/__init__.py | 31 ------------------------------ scripts/lib/devtool/standard.py | 36 ++++++++++++----------------------- scripts/lib/recipetool/create.py | 26 +++++-------------------- scripts/lib/recipetool/create_npm.py | 7 +++++-- scripts/lib/recipetool/utils.py | 37 ++++++++++++++++++++++++++++++++++++ 5 files changed, 59 insertions(+), 78 deletions(-) diff --git a/scripts/lib/devtool/__init__.py b/scripts/lib/devtool/__init__.py index 29c4c05..bba0721 100644 --- a/scripts/lib/devtool/__init__.py +++ b/scripts/lib/devtool/__init__.py @@ -261,34 +261,3 @@ def get_bbclassextend_targets(recipefile, pn): targets.append('%s-%s' % (pn, variant)) return targets -def ensure_npm(config, basepath, fixed_setup=False, check_exists=True): - """ - Ensure that npm is available and either build it or show a - reasonable error message - """ - if check_exists: - tinfoil = setup_tinfoil(config_only=False, basepath=basepath) - try: - rd = tinfoil.parse_recipe('nodejs-native') - nativepath = rd.getVar('STAGING_BINDIR_NATIVE') - finally: - tinfoil.shutdown() - npmpath = os.path.join(nativepath, 'npm') - build_npm = not os.path.exists(npmpath) - else: - build_npm = True - - if build_npm: - logger.info('Building nodejs-native') - try: - exec_build_env_command(config.init_path, basepath, - 'bitbake -q nodejs-native -c addto_recipe_sysroot', watch=True) - except bb.process.ExecutionError as e: - if "Nothing PROVIDES 'nodejs-native'" in e.stdout: - if fixed_setup: - msg = 'nodejs-native is required for npm but is not available within this SDK' - else: - msg = 'nodejs-native is required for npm but is not available - you will likely need to add a layer that provides nodejs' - raise DevtoolError(msg) - else: - raise diff --git a/scripts/lib/devtool/standard.py b/scripts/lib/devtool/standard.py index 7e342e7..008cfa3 100644 --- a/scripts/lib/devtool/standard.py +++ b/scripts/lib/devtool/standard.py @@ -30,8 +30,9 @@ import errno import glob import filecmp from collections import OrderedDict -from devtool import exec_build_env_command, setup_tinfoil, check_workspace_recipe, use_external_build, setup_git_repo, recipe_to_append, get_bbclassextend_targets, ensure_npm, DevtoolError +from devtool import exec_build_env_command, setup_tinfoil, check_workspace_recipe, use_external_build, setup_git_repo, recipe_to_append, get_bbclassextend_targets, DevtoolError from devtool import parse_recipe +from recipetool.utils import ensure_npm logger = logging.getLogger('devtool') @@ -129,7 +130,9 @@ def add(args, config, basepath, workspace): extracmdopts = '' if args.fetchuri: if args.fetchuri.startswith('npm://'): - ensure_npm(config, basepath, args.fixed_setup) + with setup_tinfoil(config_only=True, basepath=basepath) as tinfoil: + if not ensure_npm(tinfoil, args.fixed_setup): + raise DevtoolError('npm required but not available') source = args.fetchuri if srctree: @@ -155,28 +158,13 @@ def add(args, config, basepath, workspace): tempdir = tempfile.mkdtemp(prefix='devtool') try: - builtnpm = False - while True: - try: - stdout, _ = exec_build_env_command(config.init_path, basepath, 'recipetool --color=%s create --devtool -o %s \'%s\' %s' % (color, tempdir, source, extracmdopts), watch=True) - except bb.process.ExecutionError as e: - if e.exitcode == 14: - if builtnpm: - raise DevtoolError('Re-running recipetool still failed to find npm') - # FIXME this is a horrible hack that is unfortunately - # necessary due to the fact that we can't run bitbake from - # inside recipetool since recipetool keeps tinfoil active - # with references to it throughout the code, so we have - # to exit out and come back here to do it. - ensure_npm(config, basepath, args.fixed_setup, check_exists=False) - logger.info('Re-running recipe creation process after building nodejs') - builtnpm = True - continue - elif e.exitcode == 15: - raise DevtoolError('Could not auto-determine recipe name, please specify it on the command line') - else: - raise DevtoolError('Command \'%s\' failed' % e.command) - break + try: + stdout, _ = exec_build_env_command(config.init_path, basepath, 'recipetool --color=%s create --devtool -o %s \'%s\' %s' % (color, tempdir, source, extracmdopts), watch=True) + except bb.process.ExecutionError as e: + if e.exitcode == 15: + raise DevtoolError('Could not auto-determine recipe name, please specify it on the command line') + else: + raise DevtoolError('Command \'%s\' failed' % e.command) recipes = glob.glob(os.path.join(tempdir, '*.bb')) if recipes: diff --git a/scripts/lib/recipetool/create.py b/scripts/lib/recipetool/create.py index 8e63580..868d18b 100644 --- a/scripts/lib/recipetool/create.py +++ b/scripts/lib/recipetool/create.py @@ -25,6 +25,7 @@ import json import logging import scriptutils from urllib.parse import urlparse, urldefrag, urlsplit +from recipetool.utils import ensure_npm import hashlib import bb.fetch2 logger = logging.getLogger('recipetool') @@ -444,7 +445,9 @@ def create_recipe(args): d = bb.data.createCopy(tinfoil.config_data) if fetchuri.startswith('npm://'): # Check if npm is available - npm_bindir = check_npm(tinfoil, args.devtool) + npm_bindir = ensure_npm(tinfoil) + if not npm_bindir: + sys.exit(14) d.prependVar('PATH', '%s:' % npm_bindir) logger.info('Fetching %s...' % srcuri) try: @@ -1147,22 +1150,6 @@ def convert_rpm_xml(xmlfile): return values -def check_npm(tinfoil, debugonly=False): - try: - rd = tinfoil.parse_recipe('nodejs-native') - except bb.providers.NoProvider: - # We still conditionally show the message and exit with the special - # return code, otherwise we can't show the proper message for eSDK - # users - log_error_cond('nodejs-native is required for npm but is not available - you will likely need to add a layer that provides nodejs', debugonly) - sys.exit(14) - bindir = rd.getVar('STAGING_BINDIR_NATIVE') - npmpath = os.path.join(bindir, 'npm') - if not os.path.exists(npmpath): - log_error_cond('npm required to process specified source, but npm is not available - you need to run bitbake -c addto_recipe_sysroot nodejs-native first', debugonly) - sys.exit(14) - return bindir - def register_commands(subparsers): parser_create = subparsers.add_parser('create', help='Create a new recipe', @@ -1180,8 +1167,5 @@ def register_commands(subparsers): parser_create.add_argument('--keep-temp', action="store_true", help='Keep temporary directory (for debugging)') parser_create.add_argument('--fetch-dev', action="store_true", help='For npm, also fetch devDependencies') parser_create.add_argument('--devtool', action="store_true", help=argparse.SUPPRESS) - # FIXME I really hate having to set parserecipes for this, but given we may need - # to call into npm (and we don't know in advance if we will or not) and in order - # to do so we need to know npm's recipe sysroot path, there's not much alternative - parser_create.set_defaults(func=create_recipe, parserecipes=True) + parser_create.set_defaults(func=create_recipe) diff --git a/scripts/lib/recipetool/create_npm.py b/scripts/lib/recipetool/create_npm.py index cb8f338..6c515e3 100644 --- a/scripts/lib/recipetool/create_npm.py +++ b/scripts/lib/recipetool/create_npm.py @@ -21,7 +21,8 @@ import subprocess import tempfile import shutil import json -from recipetool.create import RecipeHandler, split_pkg_licenses, handle_license_vars, check_npm +from recipetool.create import RecipeHandler, split_pkg_licenses, handle_license_vars +from recipetool.utils import ensure_npm logger = logging.getLogger('recipetool') @@ -189,7 +190,9 @@ class NpmRecipeHandler(RecipeHandler): files = RecipeHandler.checkfiles(srctree, ['package.json']) if files: d = bb.data.createCopy(tinfoil.config_data) - npm_bindir = check_npm(tinfoil, self._devtool) + npm_bindir = ensure_npm(tinfoil) + if not npm_bindir: + sys.exit(14) d.prependVar('PATH', '%s:' % npm_bindir) data = read_package_json(files[0]) diff --git a/scripts/lib/recipetool/utils.py b/scripts/lib/recipetool/utils.py new file mode 100644 index 0000000..63f6583 --- /dev/null +++ b/scripts/lib/recipetool/utils.py @@ -0,0 +1,37 @@ +# Recipe creation tool - utility functions +# +# Copyright (C) 2016-2017 Intel Corporation +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +def ensure_npm(tinfoil, fixed_setup=False): + if not tinfoil.recipes_parsed: + tinfoil.parse_recipes() + try: + rd = tinfoil.parse_recipe('nodejs-native') + except bb.providers.NoProvider: + if fixed_setup: + msg = 'nodejs-native is required for npm but is not available within this SDK' + else: + msg = 'nodejs-native is required for npm but is not available - you will likely need to add a layer that provides nodejs' + logger.error(msg) + return None + bindir = rd.getVar('STAGING_BINDIR_NATIVE') + npmpath = os.path.join(bindir, 'npm') + if not os.path.exists(npmpath): + tinfoil.build_targets('nodejs-native', 'addto_recipe_sysroot') + if not os.path.exists(npmpath): + logger.error('npm required to process specified source, but nodejs-native did not seem to populate it') + return None + return bindir -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 17:21:14 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 17:21:14 +0000 Subject: [oe-commits] [openembedded-core] 02/05: devtool: extract: refactor kern-tools-native handling In-Reply-To: <150039847223.27754.13291000152509193119@git.openembedded.org> References: <150039847223.27754.13291000152509193119@git.openembedded.org> Message-ID: <20170718172112.8A8B623354B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit f82da1c16001f9f501d212ffaaccbfcf843d90df Author: Paul Eggleton AuthorDate: Fri May 19 16:29:46 2017 +1200 devtool: extract: refactor kern-tools-native handling Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- scripts/lib/devtool/standard.py | 37 +++++-------------------------------- 1 file changed, 5 insertions(+), 32 deletions(-) diff --git a/scripts/lib/devtool/standard.py b/scripts/lib/devtool/standard.py index 008cfa3..b1cc23d 100644 --- a/scripts/lib/devtool/standard.py +++ b/scripts/lib/devtool/standard.py @@ -371,7 +371,7 @@ def extract(args, config, basepath, workspace): """Entry point for the devtool 'extract' subcommand""" import bb - tinfoil = _prep_extract_operation(config, basepath, args.recipename) + tinfoil = setup_tinfoil(basepath=basepath) if not tinfoil: # Error already shown return 1 @@ -395,7 +395,7 @@ def sync(args, config, basepath, workspace): """Entry point for the devtool 'sync' subcommand""" import bb - tinfoil = _prep_extract_operation(config, basepath, args.recipename) + tinfoil = setup_tinfoil(basepath=basepath) if not tinfoil: # Error already shown return 1 @@ -416,29 +416,6 @@ def sync(args, config, basepath, workspace): tinfoil.shutdown() -def _prep_extract_operation(config, basepath, recipename, tinfoil=None): - """HACK: Ugly workaround for making sure that requirements are met when - trying to extract a package. Returns the tinfoil instance to be used.""" - if not tinfoil: - tinfoil = setup_tinfoil(basepath=basepath) - - rd = parse_recipe(config, tinfoil, recipename, True) - if not rd: - tinfoil.shutdown() - return None - - if bb.data.inherits_class('kernel-yocto', rd): - tinfoil.shutdown() - try: - stdout, _ = exec_build_env_command(config.init_path, basepath, - 'bitbake kern-tools-native') - tinfoil = setup_tinfoil(basepath=basepath) - except bb.process.ExecutionError as err: - raise DevtoolError("Failed to build kern-tools-native:\n%s" % - err.stdout) - return tinfoil - - def _extract_source(srctree, keep_temp, devbranch, sync, d, tinfoil): """Extract sources of a recipe""" import oe.recipeutils @@ -463,6 +440,9 @@ def _extract_source(srctree, keep_temp, devbranch, sync, d, tinfoil): raise DevtoolError("The %s recipe has do_unpack disabled, unable to " "extract source" % pn, 4) + if bb.data.inherits_class('kernel-yocto', d): + tinfoil.build_targets('kern-tools-native') + if not sync: # Prepare for shutil.move later on bb.utils.mkdirhier(srctree) @@ -761,13 +741,6 @@ def modify(args, config, basepath, workspace): raise DevtoolError("--no-extract specified and source path %s does " "not exist or is not a directory" % srctree) - if not args.no_extract: - tinfoil = _prep_extract_operation(config, basepath, pn, tinfoil) - if not tinfoil: - # Error already shown - return 1 - # We need to re-parse because tinfoil may have been re-initialised - rd = parse_recipe(config, tinfoil, args.recipename, True) recipefile = rd.getVar('FILE') appendfile = recipe_to_append(recipefile, config, args.wildcard) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 17:21:17 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 17:21:17 +0000 Subject: [oe-commits] [openembedded-core] 05/05: recipetool: reimplement fetching with normal fetch/unpack tasks In-Reply-To: <150039847223.27754.13291000152509193119@git.openembedded.org> References: <150039847223.27754.13291000152509193119@git.openembedded.org> Message-ID: <20170718172112.AC6AC233550@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 9c795777d957bed89f5b8ed33f8e87af6d78470e Author: Paul Eggleton AuthorDate: Tue Jun 27 16:06:02 2017 +0100 recipetool: reimplement fetching with normal fetch/unpack tasks Now that we have the ability to run the tasks in a more standard context through tinfoil, change recipetool's fetching code to use that to fetch files using it. This has the major advantage that any dependencies of do_fetch and do_unpack (e.g. for subversion or npm) will be handled automatically. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- scripts/lib/recipetool/create.py | 181 +++++++++++++++++++++++++++++++++------ 1 file changed, 156 insertions(+), 25 deletions(-) diff --git a/scripts/lib/recipetool/create.py b/scripts/lib/recipetool/create.py index 4e965e4..1b1f4fa 100644 --- a/scripts/lib/recipetool/create.py +++ b/scripts/lib/recipetool/create.py @@ -26,8 +26,13 @@ import logging import scriptutils from urllib.parse import urlparse, urldefrag, urlsplit from recipetool.utils import ensure_npm -import hashlib import bb.fetch2 +import hashlib +import random +import string +import tempfile +import shutil + logger = logging.getLogger('recipetool') tinfoil = None @@ -407,10 +412,138 @@ def is_package(url): return True return False +class FetchUrlFailure(Exception): + def __init__(self, url): + self.url = url + def __str__(self): + return "Failed to fetch URL %s" % self.url + +def get_temp_recipe_dir(): + # This is a little bit hacky but we need to find a place where we can put + # the recipe so that bitbake can find it. We're going to delete it at the + # end so it doesn't really matter where we put it. + bbfiles = tinfoil.config_data.getVar('BBFILES').split() + fetchrecipedir = None + for pth in bbfiles: + if pth.endswith('.bb'): + pthdir = os.path.dirname(pth) + if os.access(os.path.dirname(os.path.dirname(pthdir)), os.W_OK): + fetchrecipedir = pthdir.replace('*', 'recipetool') + if pthdir.endswith('workspace/recipes/*'): + # Prefer the workspace + break + return fetchrecipedir + +def fetch_url(srcuri, srcrev, destdir, preserve_tmp=False): + """ + Fetch the specified URL using normal do_fetch and do_unpack tasks, i.e. + any dependencies that need to be satisfied in order to support the fetch + operation will be taken care of + """ + # FIXME find a better home for this + + checksums = {} + fetchrecipepn = None + + # We need to put our temp directory under ${BASE_WORKDIR} otherwise + # we may have problems with the recipe-specific sysroot population + tmpparent = tinfoil.config_data.getVar('BASE_WORKDIR') + bb.utils.mkdirhier(tmpparent) + tmpdir = tempfile.mkdtemp(prefix='recipetool-', dir=tmpparent) + try: + tmpworkdir = os.path.join(tmpdir, 'work') + logger.debug('fetch_url: temp dir is %s' % tmpdir) + + fetchrecipedir = get_temp_recipe_dir() + if not fetchrecipedir: + logger.error('Searched BBFILES but unable to find a writeable place to put temporary recipe') + sys.exit(1) + fetchrecipe = None + bb.utils.mkdirhier(fetchrecipedir) + try: + # Generate a dummy recipe so we can follow more or less normal paths + # for do_fetch and do_unpack + # I'd use tempfile functions here but underscores can be produced by that and those + # aren't allowed in recipe file names except to separate the version + rndstring = ''.join(random.choice(string.ascii_uppercase + string.digits) for _ in range(8)) + fetchrecipe = os.path.join(fetchrecipedir, 'tmp-recipetool-%s.bb' % rndstring) + fetchrecipepn = os.path.splitext(os.path.basename(fetchrecipe))[0] + logger.debug('Generating initial recipe %s for fetching' % fetchrecipe) + with open(fetchrecipe, 'w') as f: + # We don't want to have to specify LIC_FILES_CHKSUM + f.write('LICENSE = "CLOSED"\n') + # We don't need the cross-compiler + f.write('INHIBIT_DEFAULT_DEPS = "1"\n') + # We don't have the checksums yet so we can't require them + f.write('BB_STRICT_CHECKSUM = "ignore"\n') + f.write('SRC_URI = "%s"\n' % srcuri) + f.write('SRCREV = "%s"\n' % srcrev) + f.write('WORKDIR = "%s"\n' % tmpworkdir) + # Set S out of the way so it doesn't get created under the workdir + f.write('S = "%s"\n' % os.path.join(tmpdir, 'emptysrc')) + + logger.info('Fetching %s...' % srcuri) + + # FIXME this is too noisy at the moment + + # Parse recipes so our new recipe gets picked up + tinfoil.parse_recipes() + + # FIXME the following doesn't work due to taskhash mismatches - so + # we're using in-recipe values for S and WORKDIR (see above) for now + ## We need this in order to set S + #tinfoil.config_data.setVar('BB_HASH_IGNORE_MISMATCH', '1') + ## Set S out of the way so it doesn't get created in the workdir + #tinfoil.config_data.setVar('WORKDIR_pn-%s' % fetchrecipepn, tmpworkdir) + #tinfoil.config_data.setVar('S_pn-%s' % fetchrecipepn, '${WORKDIR}') + + def eventhandler(event): + if isinstance(event, bb.fetch2.MissingChecksumEvent): + checksums.update(event.checksums) + return True + return False + + # Run the fetch + unpack tasks + res = tinfoil.build_targets(fetchrecipepn, + 'do_unpack', + handle_events=True, + extra_events=['bb.fetch2.MissingChecksumEvent'], + event_callback=eventhandler) + if not res: + raise FetchUrlFailure(srcuri) + + # Remove unneeded directories + rd = tinfoil.parse_recipe(fetchrecipepn) + if rd: + pathvars = ['T', 'RECIPE_SYSROOT', 'RECIPE_SYSROOT_NATIVE'] + for pathvar in pathvars: + path = rd.getVar(pathvar) + shutil.rmtree(path) + finally: + if fetchrecipe: + try: + os.remove(fetchrecipe) + except FileNotFoundError: + pass + try: + os.rmdir(fetchrecipedir) + except OSError as e: + import errno + if e.errno != errno.ENOTEMPTY: + raise + + shutil.move(tmpworkdir, destdir) + + finally: + if not preserve_tmp: + shutil.rmtree(tmpdir) + tmpdir = None + + return checksums, tmpdir + + def create_recipe(args): import bb.process - import tempfile - import shutil import oe.recipeutils pkgarch = "" @@ -418,7 +551,7 @@ def create_recipe(args): pkgarch = "${MACHINE_ARCH}" extravalues = {} - checksums = (None, None) + checksums = {} tempsrc = '' source = args.source srcsubdir = '' @@ -440,24 +573,25 @@ def create_recipe(args): if res: srcrev = res.group(1) srcuri = rev_re.sub('', srcuri) - tempsrc = tempfile.mkdtemp(prefix='recipetool-') - srctree = tempsrc - d = bb.data.createCopy(tinfoil.config_data) - if fetchuri.startswith('npm://'): - # Check if npm is available - npm_bindir = ensure_npm(tinfoil) - if not npm_bindir: - sys.exit(14) - d.prependVar('PATH', '%s:' % npm_bindir) - logger.info('Fetching %s...' % srcuri) + + tmpparent = tinfoil.config_data.getVar('BASE_WORKDIR') + bb.utils.mkdirhier(tmpparent) + tempsrc = tempfile.mkdtemp(prefix='recipetool-', dir=tmpparent) + srctree = os.path.join(tempsrc, 'source') + try: - checksums = scriptutils.fetch_uri(d, fetchuri, srctree, srcrev) - except bb.fetch2.BBFetchException as e: - logger.error(str(e).rstrip()) + checksums, ftmpdir = fetch_url(srcuri, srcrev, srctree, preserve_tmp=args.keep_temp) + except FetchUrlFailure as e: + logger.error(str(e)) sys.exit(1) + + if ftmpdir and args.keep_temp: + logger.info('Fetch temp directory is %s' % ftmpdir) + dirlist = os.listdir(srctree) - if 'git.indirectionsymlink' in dirlist: - dirlist.remove('git.indirectionsymlink') + filterout = ['git.indirectionsymlink'] + dirlist = [x for x in dirlist if x not in filterout] + logger.debug('Directory listing (excluding filtered out):\n %s' % '\n '.join(dirlist)) if len(dirlist) == 1: singleitem = os.path.join(srctree, dirlist[0]) if os.path.isdir(singleitem): @@ -468,7 +602,7 @@ def create_recipe(args): check_single_file(dirlist[0], fetchuri) elif len(dirlist) == 0: if '/' in fetchuri: - fn = os.path.join(d.getVar('DL_DIR'), fetchuri.split('/')[-1]) + fn = os.path.join(tinfoil.config_data.getVar('DL_DIR'), fetchuri.split('/')[-1]) if os.path.isfile(fn): check_single_file(fn, fetchuri) # If we've got to here then there's no source so we might as well give up @@ -605,11 +739,8 @@ def create_recipe(args): if not srcuri: lines_before.append('# No information for SRC_URI yet (only an external source tree was specified)') lines_before.append('SRC_URI = "%s"' % srcuri) - (md5value, sha256value) = checksums - if md5value: - lines_before.append('SRC_URI[md5sum] = "%s"' % md5value) - if sha256value: - lines_before.append('SRC_URI[sha256sum] = "%s"' % sha256value) + for key, value in sorted(checksums.items()): + lines_before.append('SRC_URI[%s] = "%s"' % (key, value)) if srcuri and supports_srcrev(srcuri): lines_before.append('') lines_before.append('# Modify these as desired') -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 17:21:16 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 17:21:16 +0000 Subject: [oe-commits] [openembedded-core] 04/05: recipetool: ensure meaningful error for malformed tarballs In-Reply-To: <150039847223.27754.13291000152509193119@git.openembedded.org> References: <150039847223.27754.13291000152509193119@git.openembedded.org> Message-ID: <20170718172112.A0DB023354E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 0b4d1b997f1ecf3f5c573b2da5ade495b2cd6209 Author: Paul Eggleton AuthorDate: Fri Jun 23 14:35:07 2017 +0200 recipetool: ensure meaningful error for malformed tarballs If you pointed recipetool at a URL that should be a tarball e.g. https://tls.mbed.org/download/start/mbedtls-2.4.2-apache.tgz but instead it returns an HTML page, we try to unpack it, gzip complains but the operation doesn't seem to fail - instead we just get back an empty source tree. Change the checks to account for this - if the source tree is empty, check if the downloaded file in DL_DIR looks like an HTML file and error accordingly if it is. If it's not, error out anyway because no source was unpacked and it should have been (otherwise we just blindly set up EXTERNALSRC for this which is pointless). Fixes an aspect of [YOCTO #11407]. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- scripts/lib/recipetool/create.py | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/scripts/lib/recipetool/create.py b/scripts/lib/recipetool/create.py index 868d18b..4e965e4 100644 --- a/scripts/lib/recipetool/create.py +++ b/scripts/lib/recipetool/create.py @@ -465,10 +465,16 @@ def create_recipe(args): srcsubdir = dirlist[0] srctree = os.path.join(srctree, srcsubdir) else: - with open(singleitem, 'r', errors='surrogateescape') as f: - if ' 0ee532e) Message-ID: <150039848791.28081.10439687065883576610@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master-next in repository bitbake. discard c45e2e3 server: Rework the server API so process and xmlrpc servers coexist new c2b8d9d server: Rework the server API so process and xmlrpc servers coexist new 258b2c5 cookerdata/cooker: Restore original datastore upon client disconnect new 8af38b3 knotty: fix indentation new 16924cd tinfoil: add internal mode to build_file() function new 28ab1b1 tinfoil: add a parse_recipes() function new 2370eb8 tinfoil: set a flag when recipes have been parsed new 90d88e4 lib/bb/event: refactor printing events new 20fecef lib/bb/ui/uihelper: indicate to caller of eventHandler() if events handled new 1597ccd tinfoil: add functionality for running full builds new 0182ca9 cookerdata: fix indentation and trailing spaces new b3b3ad1 tinfoil: enable access to additional cached items new ac389f9 tinfoil: add simple API for getting cached recipe information new b9fa57b cache.py: fix whitespace new f42d4e9 cooker: fix whitespace new 1c33761 tinfoil: add more doc comments new 6d313ff fetch2: fix indentation new 3ff3d2a fetch2: allow hiding checksum warning new 8485935 fetch2: fire an event when there are missing checksums new 0ee532e knotty: make it possible to use termfilter without consoles This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (c45e2e3) \ N -- N -- N refs/heads/master-next (0ee532e) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 19 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: bin/bitbake-layers | 2 +- lib/bb/cache.py | 27 ++-- lib/bb/command.py | 43 ++++- lib/bb/cooker.py | 44 ++++-- lib/bb/cookerdata.py | 17 +- lib/bb/event.py | 32 ++++ lib/bb/fetch2/__init__.py | 110 +++++++------ lib/bb/runqueue.py | 6 + lib/bb/server/process.py | 6 +- lib/bb/tinfoil.py | 390 +++++++++++++++++++++++++++++++++++++++++++++- lib/bb/ui/knotty.py | 45 ++---- lib/bb/ui/ncurses.py | 2 +- lib/bb/ui/taskexp.py | 20 +-- lib/bb/ui/toasterui.py | 25 +-- lib/bb/ui/uihelper.py | 3 + 15 files changed, 610 insertions(+), 162 deletions(-) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 17:21:30 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 17:21:30 +0000 Subject: [oe-commits] [bitbake] 03/19: knotty: fix indentation In-Reply-To: <150039848791.28081.10439687065883576610@git.openembedded.org> References: <150039848791.28081.10439687065883576610@git.openembedded.org> Message-ID: <20170718172128.1E65923354C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 8af38b336845f2ab2668f7fa951194ee417240e1 Author: Paul Eggleton AuthorDate: Fri May 19 13:32:40 2017 +1200 knotty: fix indentation Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/ui/knotty.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/bb/ui/knotty.py b/lib/bb/ui/knotty.py index 11afb3e..1aa5ebb 100644 --- a/lib/bb/ui/knotty.py +++ b/lib/bb/ui/knotty.py @@ -476,7 +476,7 @@ def main(server, eventHandler, params, tf = TerminalFilter): taskinfo = helper.running_tasks[event.taskpid] event.msg = taskinfo['title'] + ': ' + event.msg if hasattr(event, 'fn'): - event.msg = event.fn + ': ' + event.msg + event.msg = event.fn + ': ' + event.msg logger.handle(event) continue -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 17:21:29 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 17:21:29 +0000 Subject: [oe-commits] [bitbake] 02/19: cookerdata/cooker: Restore original datastore upon client disconnect In-Reply-To: <150039848791.28081.10439687065883576610@git.openembedded.org> References: <150039848791.28081.10439687065883576610@git.openembedded.org> Message-ID: <20170718172128.174CB23354B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 258b2c54acc7b748cfc75706660d4ba69fced033 Author: Richard Purdie AuthorDate: Tue Jul 18 17:50:24 2017 +0100 cookerdata/cooker: Restore original datastore upon client disconnect Signed-off-by: Richard Purdie --- lib/bb/cooker.py | 2 ++ lib/bb/cookerdata.py | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py index 2e8ccb3..10c2103 100644 --- a/lib/bb/cooker.py +++ b/lib/bb/cooker.py @@ -1567,6 +1567,8 @@ class BBCooker: """Called when the client is done using the server""" #if self.configuration.server_only: self.finishcommand() + self.databuilder.reset() + self.data = self.databuilder.data #else: # self.shutdown(True) diff --git a/lib/bb/cookerdata.py b/lib/bb/cookerdata.py index 9d1d3d2..e6662d0 100644 --- a/lib/bb/cookerdata.py +++ b/lib/bb/cookerdata.py @@ -328,6 +328,13 @@ class CookerDataBuilder(object): logger.exception("Error parsing configuration files") raise bb.BBHandledException + # Create a copy so we can reset at a later date when UIs disconnect + self.origdata = self.data + self.data = bb.data.createCopy(self.origdata) + + def reset(self): + self.data = bb.data.createCopy(self.origdata) + def _findLayerConf(self, data): return findConfigFile("bblayers.conf", data) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 17:21:31 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 17:21:31 +0000 Subject: [oe-commits] [bitbake] 04/19: tinfoil: add internal mode to build_file() function In-Reply-To: <150039848791.28081.10439687065883576610@git.openembedded.org> References: <150039848791.28081.10439687065883576610@git.openembedded.org> Message-ID: <20170718172128.25C9623354E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 16924cd2840469013372d461a94b7c56026cf3be Author: Paul Eggleton AuthorDate: Tue May 16 15:50:45 2017 +1200 tinfoil: add internal mode to build_file() function In OE's devtool we want to repeatedly run build_file() without showing unnecessary messages and triggering buildhistory for each call. build_file() is just a wrapper around the buildFile command. Change the final "hidewarning" parameter of the buildFile command to "internal" and have this call a new buildFileInternal() function without triggering any of the normal build events, silencing the normal info messages from the runqueue ("Executing RunQueue Tasks", "Tasks Summary" etc.) and avoiding calling parseConfiguration() which we've already done at this point. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/command.py | 9 ++++++--- lib/bb/cooker.py | 34 +++++++++++++++++++++++++--------- lib/bb/tinfoil.py | 9 ++++++--- 3 files changed, 37 insertions(+), 15 deletions(-) diff --git a/lib/bb/command.py b/lib/bb/command.py index eb7c86f..c06ab07 100644 --- a/lib/bb/command.py +++ b/lib/bb/command.py @@ -548,11 +548,14 @@ class CommandsAsync: bfile = params[0] task = params[1] if len(params) > 2: - hidewarning = params[2] + internal = params[2] else: - hidewarning = False + internal = False - command.cooker.buildFile(bfile, task, hidewarning) + if internal: + command.cooker.buildFileInternal(bfile, task, fireevents=False, quietlog=True) + else: + command.cooker.buildFile(bfile, task) buildFile.needcache = False def buildTargets(self, command, params): diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py index 10c2103..384757f 100644 --- a/lib/bb/cooker.py +++ b/lib/bb/cooker.py @@ -1219,21 +1219,27 @@ class BBCooker: raise NoSpecificMatch return matches[0] - def buildFile(self, buildfile, task, hidewarning=False): + def buildFile(self, buildfile, task): """ Build the file matching regexp buildfile """ bb.event.fire(bb.event.BuildInit(), self.data) - if not hidewarning: - # Too many people use -b because they think it's how you normally - # specify a target to be built, so show a warning - bb.warn("Buildfile specified, dependencies will not be handled. If this is not what you want, do not use -b / --buildfile.") + # Too many people use -b because they think it's how you normally + # specify a target to be built, so show a warning + bb.warn("Buildfile specified, dependencies will not be handled. If this is not what you want, do not use -b / --buildfile.") # Parse the configuration here. We need to do it explicitly here since # buildFile() doesn't use the cache self.parseConfiguration() + self.buildFileInternal(buildfile, task) + + def buildFileInternal(self, buildfile, task, fireevents=True, quietlog=False): + """ + Build the file matching regexp buildfile + """ + # If we are told to do the None task then query the default task if (task == None): task = self.configuration.cmd @@ -1270,8 +1276,8 @@ class BBCooker: # Remove external dependencies self.recipecaches[mc].task_deps[fn]['depends'] = {} self.recipecaches[mc].deps[fn] = [] - self.recipecaches[mc].rundeps[fn] = [] - self.recipecaches[mc].runrecs[fn] = [] + self.recipecaches[mc].rundeps[fn] = defaultdict(list) + self.recipecaches[mc].runrecs[fn] = defaultdict(list) # Invalidate task for target if force mode active if self.configuration.force: @@ -1283,8 +1289,13 @@ class BBCooker: taskdata[mc] = bb.taskdata.TaskData(self.configuration.abort) taskdata[mc].add_provider(self.databuilder.mcdata[mc], self.recipecaches[mc], item) + if quietlog: + rqloglevel = bb.runqueue.logger.getEffectiveLevel() + bb.runqueue.logger.setLevel(logging.WARNING) + buildname = self.databuilder.mcdata[mc].getVar("BUILDNAME") - bb.event.fire(bb.event.BuildStarted(buildname, [item]), self.databuilder.mcdata[mc]) + if fireevents: + bb.event.fire(bb.event.BuildStarted(buildname, [item]), self.databuilder.mcdata[mc]) # Execute the runqueue runlist = [[mc, item, task, fn]] @@ -1311,11 +1322,16 @@ class BBCooker: retval = False except SystemExit as exc: self.command.finishAsyncCommand(str(exc)) + if quietlog: + bb.runqueue.logger.setLevel(rqloglevel) return False if not retval: - bb.event.fire(bb.event.BuildCompleted(len(rq.rqdata.runtaskentries), buildname, item, failures, interrupted), self.databuilder.mcdata[mc]) + if fireevents: + bb.event.fire(bb.event.BuildCompleted(len(rq.rqdata.runtaskentries), buildname, item, failures, interrupted), self.databuilder.mcdata[mc]) self.command.finishAsyncCommand(msg) + if quietlog: + bb.runqueue.logger.setLevel(rqloglevel) return False if retval is True: return True diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index 303ce02..65ebdc2 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -415,12 +415,15 @@ class Tinfoil: else: return None - def build_file(self, buildfile, task): + def build_file(self, buildfile, task, internal=True): """ Runs the specified task for just a single recipe (i.e. no dependencies). - This is equivalent to bitbake -b, except no warning will be printed. + This is equivalent to bitbake -b, except with the default internal=True + no warning about dependencies will be produced, normal info messages + from the runqueue will be silenced and BuildInit, BuildStarted and + BuildCompleted events will not be fired. """ - return self.run_command('buildFile', buildfile, task, True) + return self.run_command('buildFile', buildfile, task, internal) def shutdown(self): if self.server_connection: -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 17:21:28 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 17:21:28 +0000 Subject: [oe-commits] [bitbake] 01/19: server: Rework the server API so process and xmlrpc servers coexist In-Reply-To: <150039848791.28081.10439687065883576610@git.openembedded.org> References: <150039848791.28081.10439687065883576610@git.openembedded.org> Message-ID: <20170718172128.09DF223354A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit c2b8d9de0a2c9700292ed38ba637663012fb2946 Author: Richard Purdie AuthorDate: Thu Jul 13 17:24:35 2017 +0100 server: Rework the server API so process and xmlrpc servers coexist This changes the way bitbake server works quite radically. Now, the server is always a process based server with the option of starting an XMLRPC listener on a specific inferface/port. Behind the scenes this is done with a "bitbake.sock" file alongside the bitbake.lock file. If we can obtain the lock, we know we need to start a server. The server always listens on the socket and UIs can then connect to this. UIs connect by sending a set of three file descriptors over the domain socket, one for sending commands, one for receiving command results and the other for receiving events. These changes meant we can throw away all the horrid server abstraction code, the plugable transport option to bitbake and the code becomes much more readable and debuggable. It also likely removes a ton of ways you could hang the UI/cooker in weird ways due to all the race conditions that existed with previous processes. Changes: * The foreground option for bitbake-server was dropped. Just tail the log if you really want this, the codepaths were complicated enough without adding one for this. * BBSERVER="autodetect" was dropped. The server will autostart and autoconnect in process mode. You have to specify an xmlrpc server address since that can't be autodetected. I can't see a use case for autodetect now. * The transport/servetype option to bitbake was dropped. * A BB_SERVER_TIMEOUT variable is added which allows the server to stay resident for a period of time after the last client disconnects before unloading. This is used if the -T/--idle-timeout option is not passed to bitbake. This change is invasive and may well introduce new issues however I believe the codebase is in a much better position for further development and debugging. Signed-off-by: Richard Purdie --- lib/bb/command.py | 5 + lib/bb/cooker.py | 61 +---- lib/bb/cookerdata.py | 26 +- lib/bb/daemonize.py | 20 +- lib/bb/event.py | 11 +- lib/bb/main.py | 224 ++++++---------- lib/bb/server/__init__.py | 78 ------ lib/bb/server/process.py | 581 +++++++++++++++++++++++++++++------------- lib/bb/server/xmlrpc.py | 448 -------------------------------- lib/bb/server/xmlrpcclient.py | 154 +++++++++++ lib/bb/server/xmlrpcserver.py | 158 ++++++++++++ lib/bb/tinfoil.py | 2 +- lib/prserv/serv.py | 4 +- 13 files changed, 838 insertions(+), 934 deletions(-) diff --git a/lib/bb/command.py b/lib/bb/command.py index 36891b9..eb7c86f 100644 --- a/lib/bb/command.py +++ b/lib/bb/command.py @@ -238,6 +238,11 @@ class CommandsSync: return command.cooker.matchFile(fMatch) matchFile.needconfig = False + def getUIHandlerNum(self, command, params): + return bb.event.get_uihandler() + getUIHandlerNum.needconfig = False + getUIHandlerNum.readonly = True + def setEventMask(self, command, params): handlerNum = params[0] llevel = params[1] diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py index dc8f54c..2e8ccb3 100644 --- a/lib/bb/cooker.py +++ b/lib/bb/cooker.py @@ -215,19 +215,6 @@ class BBCooker: self.configuration.server_register_idlecallback(_process_inotify_updates, [self.confignotifier, self.notifier]) - # Take a lock so only one copy of bitbake can run against a given build - # directory at a time - if not self.lockBitbake(): - bb.fatal("Only one copy of bitbake should be run against a build directory") - try: - self.lock.seek(0) - self.lock.truncate() - if len(configuration.interface) >= 2: - self.lock.write("%s:%s\n" % (configuration.interface[0], configuration.interface[1])); - self.lock.flush() - except: - pass - # TOSTOP must not be set or our children will hang when they output try: fd = sys.stdout.fileno() @@ -1557,33 +1544,6 @@ class BBCooker: def post_serve(self): prserv.serv.auto_shutdown(self.data) bb.event.fire(CookerExit(), self.data) - lockfile = self.lock.name - self.lock.close() - self.lock = None - - while not self.lock: - with bb.utils.timeout(3): - self.lock = bb.utils.lockfile(lockfile, shared=False, retry=False, block=True) - if not self.lock: - # Some systems may not have lsof available - procs = None - try: - procs = subprocess.check_output(["lsof", '-w', lockfile], stderr=subprocess.STDOUT) - except OSError as e: - if e.errno != errno.ENOENT: - raise - if procs is None: - # Fall back to fuser if lsof is unavailable - try: - procs = subprocess.check_output(["fuser", '-v', lockfile], stderr=subprocess.STDOUT) - except OSError as e: - if e.errno != errno.ENOENT: - raise - - msg = "Delaying shutdown due to active processes which appear to be holding bitbake.lock" - if procs: - msg += ":\n%s" % str(procs) - print(msg) def shutdown(self, force = False): @@ -1605,23 +1565,10 @@ class BBCooker: def clientComplete(self): """Called when the client is done using the server""" - if self.configuration.server_only: - self.finishcommand() - else: - self.shutdown(True) - - def lockBitbake(self): - if not hasattr(self, 'lock'): - self.lock = None - if self.data: - lockfile = self.data.expand("${TOPDIR}/bitbake.lock") - if lockfile: - self.lock = bb.utils.lockfile(lockfile, False, False) - return self.lock - - def unlockBitbake(self): - if hasattr(self, 'lock') and self.lock: - bb.utils.unlockfile(self.lock) + #if self.configuration.server_only: + self.finishcommand() + #else: + # self.shutdown(True) def server_main(cooker, func, *args): cooker.pre_serve() diff --git a/lib/bb/cookerdata.py b/lib/bb/cookerdata.py index 644bb38..9d1d3d2 100644 --- a/lib/bb/cookerdata.py +++ b/lib/bb/cookerdata.py @@ -76,7 +76,7 @@ class ConfigParameters(object): for o in ["abort", "tryaltconfigs", "force", "invalidate_stamp", "verbose", "debug", "dry_run", "dump_signatures", "debug_domains", "extra_assume_provided", "profile", - "prefile", "postfile", "tracking"]: + "prefile", "postfile", "tracking", "server_timeout"]: options[o] = getattr(self.options, o) ret, error = server.runCommand(["updateConfig", options, environment, sys.argv]) @@ -144,7 +144,8 @@ class CookerConfiguration(object): self.dump_signatures = [] self.dry_run = False self.tracking = False - self.interface = [] + self.xmlrpcinterface = [] + self.server_timeout = None self.writeeventlog = False self.server_only = False self.limited_deps = False @@ -230,6 +231,27 @@ def findConfigFile(configfile, data): return None +# +# We search for a conf/bblayers.conf under an entry in BBPATH or in cwd working +# up to /. If that fails, we search for a conf/bitbake.conf in BBPATH. +# + +def findTopdir(): + d = bb.data.init() + bbpath = None + if 'BBPATH' in os.environ: + bbpath = os.environ['BBPATH'] + d.setVar('BBPATH', bbpath) + + layerconf = findConfigFile("bblayers.conf", d) + if layerconf: + return os.path.dirname(os.path.dirname(layerconf)) + if bbpath: + bitbakeconf = bb.utils.which(bbpath, "conf/bitbake.conf") + if bitbakeconf: + return os.path.dirname(os.path.dirname(bitbakeconf)) + return None + class CookerDataBuilder(object): def __init__(self, cookercfg, worker = False): diff --git a/lib/bb/daemonize.py b/lib/bb/daemonize.py index ab4a954..8380828 100644 --- a/lib/bb/daemonize.py +++ b/lib/bb/daemonize.py @@ -29,6 +29,7 @@ __version__ = "0.2" # Standard Python modules. import os # Miscellaneous OS interfaces. import sys # System-specific parameters and functions. +import io # Default daemon parameters. # File mode creation mask of the daemon. @@ -124,6 +125,7 @@ def createDaemon(function, logfile): # streams to be flushed twice and any temporary files may be unexpectedly # removed. It's therefore recommended that child branches of a fork() # and the parent branch(es) of a daemon use _exit(). + os.waitpid(pid, 0) return # Close all open file descriptors. This prevents the child from keeping @@ -177,16 +179,18 @@ def createDaemon(function, logfile): # os.dup2(0, 1) # standard output (1) # os.dup2(0, 2) # standard error (2) - - si = open('/dev/null', 'r') - so = open(logfile, 'w') - se = so - - # Replace those fds with our own + si = open('/dev/null', 'r') os.dup2(si.fileno(), sys.stdin.fileno()) - os.dup2(so.fileno(), sys.stdout.fileno()) - os.dup2(se.fileno(), sys.stderr.fileno()) + + try: + so = open(logfile, 'a+') + se = so + os.dup2(so.fileno(), sys.stdout.fileno()) + os.dup2(se.fileno(), sys.stderr.fileno()) + except io.UnsupportedOperation: + sys.stdout = open(logfile, 'a+') + sys.stderr = sys.stdout function() diff --git a/lib/bb/event.py b/lib/bb/event.py index d5c5ef3..92ee3e9 100644 --- a/lib/bb/event.py +++ b/lib/bb/event.py @@ -288,13 +288,13 @@ def set_eventfilter(func): _eventfilter = func def register_UIHhandler(handler, mainui=False): - if mainui: - global _uiready - _uiready = True bb.event._ui_handler_seq = bb.event._ui_handler_seq + 1 _ui_handlers[_ui_handler_seq] = handler level, debug_domains = bb.msg.constructLogOptions() _ui_logfilters[_ui_handler_seq] = UIEventFilter(level, debug_domains) + if mainui: + global _uiready + _uiready = _ui_handler_seq return _ui_handler_seq def unregister_UIHhandler(handlerNum, mainui=False): @@ -305,6 +305,11 @@ def unregister_UIHhandler(handlerNum, mainui=False): del _ui_handlers[handlerNum] return +def get_uihandler(): + if _uiready is False: + return None + return _uiready + # Class to allow filtering of events and specific filtering of LogRecords *before* we put them over the IPC class UIEventFilter(object): def __init__(self, level, debug_domains): diff --git a/lib/bb/main.py b/lib/bb/main.py index 29e3911..5b6a66e 100755 --- a/lib/bb/main.py +++ b/lib/bb/main.py @@ -28,6 +28,8 @@ import logging import optparse import warnings import fcntl +import time +import traceback import bb from bb import event @@ -37,6 +39,9 @@ from bb import ui from bb import server from bb import cookerdata +import bb.server.process +import bb.server.xmlrpcclient + logger = logging.getLogger("BitBake") class BBMainException(Exception): @@ -58,9 +63,6 @@ class BitbakeHelpFormatter(optparse.IndentedHelpFormatter): if option.dest == 'ui': valid_uis = list_extension_modules(bb.ui, 'main') option.help = option.help.replace('@CHOICES@', present_options(valid_uis)) - elif option.dest == 'servertype': - valid_server_types = list_extension_modules(bb.server, 'BitBakeServer') - option.help = option.help.replace('@CHOICES@', present_options(valid_server_types)) return optparse.IndentedHelpFormatter.format_option(self, option) @@ -238,11 +240,6 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters): default=os.environ.get('BITBAKE_UI', 'knotty'), help="The user interface to use (@CHOICES@ - default %default).") - # @CHOICES@ is substituted out by BitbakeHelpFormatter above - parser.add_option("-t", "--servertype", action="store", dest="servertype", - default=["process", "xmlrpc"]["BBSERVER" in os.environ], - help="Choose which server type to use (@CHOICES@ - default %default).") - parser.add_option("", "--token", action="store", dest="xmlrpctoken", default=os.environ.get("BBTOKEN"), help="Specify the connection token to be used when connecting " @@ -258,14 +255,11 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters): help="Run bitbake without a UI, only starting a server " "(cooker) process.") - parser.add_option("", "--foreground", action="store_true", - help="Run bitbake server in foreground.") - parser.add_option("-B", "--bind", action="store", dest="bind", default=False, - help="The name/address for the bitbake server to bind to.") + help="The name/address for the bitbake xmlrpc server to bind to.") - parser.add_option("-T", "--idle-timeout", type=int, - default=int(os.environ.get("BBTIMEOUT", "0")), + parser.add_option("-T", "--idle-timeout", type=float, dest="server_timeout", + default=float(os.environ.get("BB_SERVER_TIMEOUT", 0)) or None, help="Set timeout to unload bitbake server due to inactivity") parser.add_option("", "--no-setscene", action="store_true", @@ -283,7 +277,7 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters): parser.add_option("-m", "--kill-server", action="store_true", dest="kill_server", default=False, - help="Terminate the remote server.") + help="Terminate the bitbake server.") parser.add_option("", "--observe-only", action="store_true", dest="observe_only", default=False, @@ -322,70 +316,20 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters): eventlog = "bitbake_eventlog_%s.json" % datetime.now().strftime("%Y%m%d%H%M%S") options.writeeventlog = eventlog - # if BBSERVER says to autodetect, let's do that - if options.remote_server: - port = -1 - if options.remote_server != 'autostart': - host, port = options.remote_server.split(":", 2) + if options.bind: + try: + #Checking that the port is a number and is a ':' delimited value + (host, port) = options.bind.split(':') port = int(port) - # use automatic port if port set to -1, means read it from - # the bitbake.lock file; this is a bit tricky, but we always expect - # to be in the base of the build directory if we need to have a - # chance to start the server later, anyway - if port == -1: - lock_location = "./bitbake.lock" - # we try to read the address at all times; if the server is not started, - # we'll try to start it after the first connect fails, below - try: - lf = open(lock_location, 'r') - remotedef = lf.readline() - [host, port] = remotedef.split(":") - port = int(port) - lf.close() - options.remote_server = remotedef - except Exception as e: - if options.remote_server != 'autostart': - raise BBMainException("Failed to read bitbake.lock (%s), invalid port" % str(e)) + except (ValueError,IndexError): + raise BBMainException("FATAL: Malformed host:port bind parameter") + options.xmlrpcinterface = (host, port) + else: + options.xmlrpcinterface = (None, 0) return options, targets[1:] -def start_server(servermodule, configParams, configuration, features): - server = servermodule.BitBakeServer() - single_use = not configParams.server_only and os.getenv('BBSERVER') != 'autostart' - if configParams.bind: - (host, port) = configParams.bind.split(':') - server.initServer((host, int(port)), single_use=single_use, - idle_timeout=configParams.idle_timeout) - configuration.interface = [server.serverImpl.host, server.serverImpl.port] - else: - server.initServer(single_use=single_use) - configuration.interface = [] - - try: - configuration.setServerRegIdleCallback(server.getServerIdleCB()) - - cooker = bb.cooker.BBCooker(configuration, features) - - server.addcooker(cooker) - server.saveConnectionDetails() - except Exception as e: - while hasattr(server, "event_queue"): - import queue - try: - event = server.event_queue.get(block=False) - except (queue.Empty, IOError): - break - if isinstance(event, logging.LogRecord): - logger.handle(event) - raise - if not configParams.foreground: - server.detach() - cooker.shutdown() - cooker.lock.close() - return server - - def bitbake_main(configParams, configuration): # Python multiprocessing requires /dev/shm on Linux @@ -406,45 +350,15 @@ def bitbake_main(configParams, configuration): configuration.setConfigParameters(configParams) - if configParams.server_only: - if configParams.servertype != "xmlrpc": - raise BBMainException("FATAL: If '--server-only' is defined, we must set the " - "servertype as 'xmlrpc'.\n") - if not configParams.bind: - raise BBMainException("FATAL: The '--server-only' option requires a name/address " - "to bind to with the -B option.\n") - else: - try: - #Checking that the port is a number - int(configParams.bind.split(":")[1]) - except (ValueError,IndexError): - raise BBMainException( - "FATAL: Malformed host:port bind parameter") - if configParams.remote_server: + if configParams.server_only and configParams.remote_server: raise BBMainException("FATAL: The '--server-only' option conflicts with %s.\n" % ("the BBSERVER environment variable" if "BBSERVER" in os.environ \ else "the '--remote-server' option")) - elif configParams.foreground: - raise BBMainException("FATAL: The '--foreground' option can only be used " - "with --server-only.\n") - - if configParams.bind and configParams.servertype != "xmlrpc": - raise BBMainException("FATAL: If '-B' or '--bind' is defined, we must " - "set the servertype as 'xmlrpc'.\n") - - if configParams.remote_server and configParams.servertype != "xmlrpc": - raise BBMainException("FATAL: If '--remote-server' is defined, we must " - "set the servertype as 'xmlrpc'.\n") - if configParams.observe_only and (not configParams.remote_server or configParams.bind): raise BBMainException("FATAL: '--observe-only' can only be used by UI clients " "connecting to a server.\n") - if configParams.kill_server and not configParams.remote_server: - raise BBMainException("FATAL: '--kill-server' can only be used to " - "terminate a remote server") - if "BBDEBUG" in os.environ: level = int(os.environ["BBDEBUG"]) if level > configuration.debug: @@ -453,7 +367,7 @@ def bitbake_main(configParams, configuration): bb.msg.init_msgconfig(configParams.verbose, configuration.debug, configuration.debug_domains) - server, server_connection, ui_module = setup_bitbake(configParams, configuration) + server_connection, ui_module = setup_bitbake(configParams, configuration) if server_connection is None and configParams.kill_server: return 0 @@ -463,16 +377,15 @@ def bitbake_main(configParams, configuration): return 0 try: + for event in bb.event.ui_queue: + server_connection.events.queue_event(event) + bb.event.ui_queue = [] + return ui_module.main(server_connection.connection, server_connection.events, configParams) finally: - bb.event.ui_queue = [] server_connection.terminate() else: - print("Bitbake server address: %s, server port: %s" % (server.serverImpl.host, - server.serverImpl.port)) - if configParams.foreground: - server.serverImpl.serve_forever() return 0 return 1 @@ -495,58 +408,63 @@ def setup_bitbake(configParams, configuration, extrafeatures=None, setup_logging # Collect the feature set for the UI featureset = getattr(ui_module, "featureSet", []) - if configParams.server_only: - for param in ('prefile', 'postfile'): - value = getattr(configParams, param) - if value: - setattr(configuration, "%s_server" % param, value) - param = "%s_server" % param - if extrafeatures: for feature in extrafeatures: if not feature in featureset: featureset.append(feature) - servermodule = import_extension_module(bb.server, - configParams.servertype, - 'BitBakeServer') + server_connection = None + if configParams.remote_server: - if os.getenv('BBSERVER') == 'autostart': - if configParams.remote_server == 'autostart' or \ - not servermodule.check_connection(configParams.remote_server, timeout=2): - configParams.bind = 'localhost:0' - srv = start_server(servermodule, configParams, configuration, featureset) - configParams.remote_server = '%s:%d' % tuple(configuration.interface) - bb.event.ui_queue = [] - # we start a stub server that is actually a XMLRPClient that connects to a real server - from bb.server.xmlrpc import BitBakeXMLRPCClient - server = servermodule.BitBakeXMLRPCClient(configParams.observe_only, - configParams.xmlrpctoken) - server.saveConnectionDetails(configParams.remote_server) + # Connect to a remote XMLRPC server + server_connection = bb.server.xmlrpcclient.connectXMLRPC(configParams.remote_server, featureset, + configParams.observe_only, configParams.xmlrpctoken) else: - # we start a server with a given configuration - server = start_server(servermodule, configParams, configuration, featureset) + retries = 8 + while retries: + try: + topdir, lock = lockBitbake() + sockname = topdir + "/bitbake.sock" + if lock: + # we start a server with a given configuration + print("Starting bitbake server...") + server = bb.server.process.BitBakeServer(lock, sockname, configuration, featureset) + else: + print("Reconnecting to bitbake server...") + if not os.path.exists(sockname): + print("Previous bitbake instance shutting down?, waiting to retry...") + time.sleep(5) + raise bb.server.process.ProcessTimeout + if not configParams.server_only: + server_connection = bb.server.process.connectProcessServer(sockname, featureset) + if server_connection: + break + except Exception as e: + if not retries: + raise + retries -= 1 + print("Retrying server connection... (%s)" % traceback.format_exc()) + if not retries: + raise bb.server.process.ProcessTimeout("Unable to connect to bitbake server, or start one") + + + if configParams.kill_server: + server_connection.connection.terminateServer() + server_connection.terminate() bb.event.ui_queue = [] + print("Terminated bitbake server.") + return None, None - if configParams.server_only: - server_connection = None - else: - try: - server_connection = server.establishConnection(featureset) - except Exception as e: - bb.fatal("Could not connect to server %s: %s" % (configParams.remote_server, str(e))) - - if configParams.kill_server: - server_connection.connection.terminateServer() - bb.event.ui_queue = [] - return None, None, None + # Restore the environment in case the UI needs it + for k in cleanedvars: + os.environ[k] = cleanedvars[k] - server_connection.setupEventQueue() + logger.removeHandler(handler) - # Restore the environment in case the UI needs it - for k in cleanedvars: - os.environ[k] = cleanedvars[k] + return server_connection, ui_module - logger.removeHandler(handler) +def lockBitbake(): + topdir = bb.cookerdata.findTopdir() + lockfile = topdir + "/bitbake.lock" + return topdir, bb.utils.lockfile(lockfile, False, False) - return server, server_connection, ui_module diff --git a/lib/bb/server/__init__.py b/lib/bb/server/__init__.py index 538a633..5a3fba9 100644 --- a/lib/bb/server/__init__.py +++ b/lib/bb/server/__init__.py @@ -18,82 +18,4 @@ # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -""" Base code for Bitbake server process -Have a common base for that all Bitbake server classes ensures a consistent -approach to the interface, and minimize risks associated with code duplication. - -""" - -""" BaseImplServer() the base class for all XXServer() implementations. - - These classes contain the actual code that runs the server side, i.e. - listens for the commands and executes them. Although these implementations - contain all the data of the original bitbake command, i.e the cooker instance, - they may well run on a different process or even machine. - -""" - -class BaseImplServer(): - def __init__(self): - self._idlefuns = {} - - def addcooker(self, cooker): - self.cooker = cooker - - def register_idle_function(self, function, data): - """Register a function to be called while the server is idle""" - assert hasattr(function, '__call__') - self._idlefuns[function] = data - - - -""" BitBakeBaseServerConnection class is the common ancestor to all - BitBakeServerConnection classes. - - These classes control the remote server. The only command currently - implemented is the terminate() command. - -""" - -class BitBakeBaseServerConnection(): - def __init__(self, serverImpl): - pass - - def terminate(self): - pass - - def setupEventQueue(self): - pass - - -""" BitBakeBaseServer class is the common ancestor to all Bitbake servers - - Derive this class in order to implement a BitBakeServer which is the - controlling stub for the actual server implementation - -""" -class BitBakeBaseServer(object): - def initServer(self): - self.serverImpl = None # we ensure a runtime crash if not overloaded - self.connection = None - return - - def addcooker(self, cooker): - self.cooker = cooker - self.serverImpl.addcooker(cooker) - - def getServerIdleCB(self): - return self.serverImpl.register_idle_function - - def saveConnectionDetails(self): - return - - def detach(self): - return - - def establishConnection(self, featureset): - raise "Must redefine the %s.establishConnection()" % self.__class__.__name__ - - def endSession(self): - self.connection.terminate() diff --git a/lib/bb/server/process.py b/lib/bb/server/process.py index f8d6767..c130691 100644 --- a/lib/bb/server/process.py +++ b/lib/bb/server/process.py @@ -22,125 +22,201 @@ import bb import bb.event -import itertools import logging import multiprocessing +import threading +import array import os -import signal import sys import time import select -from queue import Empty -from multiprocessing import Event, Process, util, Queue, Pipe, queues, Manager - -from . import BitBakeBaseServer, BitBakeBaseServerConnection, BaseImplServer +import socket +import subprocess +import errno +import bb.server.xmlrpcserver +from bb import daemonize +from multiprocessing import queues logger = logging.getLogger('BitBake') -class ServerCommunicator(): - def __init__(self, connection, event_handle, server): - self.connection = connection - self.event_handle = event_handle - self.server = server - - def runCommand(self, command): - # @todo try/except - self.connection.send(command) - - if not self.server.is_alive(): - raise SystemExit - - while True: - # don't let the user ctrl-c while we're waiting for a response - try: - for idx in range(0,4): # 0, 1, 2, 3 - if self.connection.poll(5): - return self.connection.recv() - else: - bb.warn("Timeout while attempting to communicate with bitbake server") - bb.fatal("Gave up; Too many tries: timeout while attempting to communicate with bitbake server") - except KeyboardInterrupt: - pass - - def getEventHandle(self): - return self.event_handle.value - -class EventAdapter(): - """ - Adapter to wrap our event queue since the caller (bb.event) expects to - call a send() method, but our actual queue only has put() - """ - def __init__(self, queue): - self.queue = queue - - def send(self, event): - try: - self.queue.put(event) - except Exception as err: - print("EventAdapter puked: %s" % str(err)) - +class ProcessTimeout(SystemExit): + pass -class ProcessServer(Process, BaseImplServer): +class ProcessServer(multiprocessing.Process): profile_filename = "profile.log" profile_processed_filename = "profile.log.processed" - def __init__(self, command_channel, event_queue, featurelist): - BaseImplServer.__init__(self) - Process.__init__(self) - self.command_channel = command_channel - self.event_queue = event_queue - self.event = EventAdapter(event_queue) - self.featurelist = featurelist + def __init__(self, lock, sock, sockname): + multiprocessing.Process.__init__(self) + self.command_channel = False + self.command_channel_reply = False self.quit = False self.heartbeat_seconds = 1 # default, BB_HEARTBEAT_EVENT will be checked once we have a datastore. self.next_heartbeat = time.time() - self.quitin, self.quitout = Pipe() - self.event_handle = multiprocessing.Value("i") + self.event_handle = None + self.haveui = False + self.lastui = False + self.xmlrpc = False + + self._idlefuns = {} + + self.bitbake_lock = lock + self.sock = sock + self.sockname = sockname + + def register_idle_function(self, function, data): + """Register a function to be called while the server is idle""" + assert hasattr(function, '__call__') + self._idlefuns[function] = data def run(self): - for event in bb.event.ui_queue: - self.event_queue.put(event) - self.event_handle.value = bb.event.register_UIHhandler(self, True) + + if self.xmlrpcinterface[0]: + self.xmlrpc = bb.server.xmlrpcserver.BitBakeXMLRPCServer(self.xmlrpcinterface, self.cooker, self) + + print("Bitbake XMLRPC server address: %s, server port: %s" % (self.xmlrpc.host, self.xmlrpc.port)) heartbeat_event = self.cooker.data.getVar('BB_HEARTBEAT_EVENT') if heartbeat_event: try: self.heartbeat_seconds = float(heartbeat_event) except: - # Throwing an exception here causes bitbake to hang. - # Just warn about the invalid setting and continue bb.warn('Ignoring invalid BB_HEARTBEAT_EVENT=%s, must be a float specifying seconds.' % heartbeat_event) + + self.timeout = self.server_timeout or self.cooker.data.getVar('BB_SERVER_TIMEOUT') + try: + if self.timeout: + self.timeout = float(self.timeout) + except: + bb.warn('Ignoring invalid BB_SERVER_TIMEOUT=%s, must be a float specifying seconds.' % self.timeout) + + + try: + self.bitbake_lock.seek(0) + self.bitbake_lock.truncate() + if self.xmlrpcinterface[0]: + self.bitbake_lock.write("%s %s:%s\n" % (os.getpid(), configuration.interface[0], configuration.interface[1])) + else: + self.bitbake_lock.write("%s\n" % (os.getpid())) + self.bitbake_lock.flush() + except: + pass + bb.cooker.server_main(self.cooker, self.main) def main(self): - # Ignore SIGINT within the server, as all SIGINT handling is done by - # the UI and communicated to us - self.quitin.close() - signal.signal(signal.SIGINT, signal.SIG_IGN) bb.utils.set_process_name("Cooker") + + ready = [] + + self.controllersock = False + fds = [self.sock] + if self.xmlrpc: + fds.append(self.xmlrpc) while not self.quit: - try: - if self.command_channel.poll(): - command = self.command_channel.recv() - self.runCommand(command) - if self.quitout.poll(): - self.quitout.recv() + if self.command_channel in ready: + command = self.command_channel.get() + if command[0] == "terminateServer": self.quit = True - try: - self.runCommand(["stateForceShutdown"]) - except: - pass - - self.idle_commands(.1, [self.command_channel, self.quitout]) - except Exception: - logger.exception('Running command %s', command) + continue + try: + print("Running command %s" % command) + self.command_channel_reply.send(self.cooker.command.runCommand(command)) + except Exception as e: + logger.exception('Exception in server main event loop running command %s (%s)' % (command, str(e))) + + if self.xmlrpc in ready: + self.xmlrpc.handle_requests() + if self.sock in ready: + print("Accepting %s" % (str(ready))) + self.controllersock, address = self.sock.accept() + fds.append(self.controllersock) + if self.controllersock in ready: + try: + print("Connecting Client") + ui_fds = recvfds(self.controllersock, 3) + + # Where to write events to + writer = ConnectionWriter(ui_fds[0]) + self.event_handle = bb.event.register_UIHhandler(writer, True) + self.event_writer = writer + + # Where to read commands from + reader = ConnectionReader(ui_fds[1]) + fds.append(reader) + self.command_channel = reader + + # Where to send command return values to + writer = ConnectionWriter(ui_fds[2]) + self.command_channel_reply = writer + + self.haveui = True + + except EOFError: + print("Disconnecting Client") + fds.remove(self.controllersock) + fds.remove(self.command_channel) + bb.event.unregister_UIHhandler(self.event_handle, True) + self.command_channel_reply.writer.close() + self.event_writer.writer.close() + del self.event_writer + self.controllersock.close() + self.haveui = False + self.lastui = time.time() + self.cooker.clientComplete() + if self.timeout is None: + print("No timeout, exiting.") + self.quit = True + if not self.haveui and self.lastui and self.timeout and (self.lastui + self.timeout) < time.time(): + print("Server timeout, exiting.") + self.quit = True - self.event_queue.close() - bb.event.unregister_UIHhandler(self.event_handle.value, True) - self.command_channel.close() - self.cooker.shutdown(True) - self.quitout.close() + ready = self.idle_commands(.1, fds) + + print("Exiting") + try: + self.cooker.shutdown(True) + except: + pass + + # Remove the socket file so we don't get any more connections to avoid races + os.unlink(self.sockname) + self.sock.close() + + # Finally release the lockfile but warn about other processes holding it open + lock = self.bitbake_lock + lockfile = lock.name + lock.close() + lock = None + + while not lock: + with bb.utils.timeout(3): + lock = bb.utils.lockfile(lockfile, shared=False, retry=False, block=True) + if not lock: + # Some systems may not have lsof available + procs = None + try: + procs = subprocess.check_output(["lsof", '-w', lockfile], stderr=subprocess.STDOUT) + except OSError as e: + if e.errno != errno.ENOENT: + raise + if procs is None: + # Fall back to fuser if lsof is unavailable + try: + procs = subprocess.check_output(["fuser", '-v', lockfile], stderr=subprocess.STDOUT) + except OSError as e: + if e.errno != errno.ENOENT: + raise + + msg = "Delaying shutdown due to active processes which appear to be holding bitbake.lock" + if procs: + msg += ":\n%s" % str(procs) + print(msg) + return + # We hold the lock so we can remove the file (hide stale pid data) + bb.utils.remove(lockfile) + bb.utils.unlockfile(lock) def idle_commands(self, delay, fds=None): nextsleep = delay @@ -186,111 +262,252 @@ class ProcessServer(Process, BaseImplServer): nextsleep = self.next_heartbeat - now if nextsleep is not None: - select.select(fds,[],[],nextsleep) + if self.xmlrpc: + nextsleep = self.xmlrpc.get_timeout(nextsleep) + try: + return select.select(fds,[],[],nextsleep)[0] + except InterruptedError: + # Ignore EINTR + return [] + else: + return [] + + +class ServerCommunicator(): + def __init__(self, connection, recv): + self.connection = connection + self.recv = recv def runCommand(self, command): - """ - Run a cooker command on the server - """ - self.command_channel.send(self.cooker.command.runCommand(command)) - - def stop(self): - self.quitin.send("quit") - self.quitin.close() - -class BitBakeProcessServerConnection(BitBakeBaseServerConnection): - def __init__(self, serverImpl, ui_channel, event_queue): - self.procserver = serverImpl - self.ui_channel = ui_channel - self.event_queue = event_queue - self.connection = ServerCommunicator(self.ui_channel, self.procserver.event_handle, self.procserver) - self.events = self.event_queue - self.terminated = False - - def sigterm_terminate(self): - bb.error("UI received SIGTERM") - self.terminate() + + self.connection.send(command) + while True: + # don't let the user ctrl-c while we're waiting for a response + try: + for idx in range(0,4): # 0, 1, 2, 3 + if self.recv.poll(1): + return self.recv.get() + else: + bb.warn("Timeout while attempting to communicate with bitbake server") + raise ProcessTimeout("Gave up; Too many tries: timeout while attempting to communicate with bitbake server") + except KeyboardInterrupt: + pass + + def updateFeatureSet(self, featureset): + _, error = self.runCommand(["setFeatures", featureset]) + if error: + logger.error("Unable to set the cooker to the correct featureset: %s" % error) + raise BaseException(error) + + def getEventHandle(self): + handle, error = self.runCommand(["getUIHandlerNum"]) + if error: + logger.error("Unable to get UI Handler Number: %s" % error) + raise BaseException(error) + + return handle + + def terminateServer(self): + self.connection.send(['terminateServer']) + return + +class BitBakeProcessServerConnection(object): + def __init__(self, ui_channel, recv, eq): + self.connection = ServerCommunicator(ui_channel, recv) + self.events = eq def terminate(self): - if self.terminated: - return - self.terminated = True - def flushevents(): - while True: - try: - event = self.event_queue.get(block=False) - except (Empty, IOError): - break - if isinstance(event, logging.LogRecord): - logger.handle(event) - - self.procserver.stop() - - while self.procserver.is_alive(): - flushevents() - self.procserver.join(0.1) - - self.ui_channel.close() - self.event_queue.close() - self.event_queue.setexit() - # XXX: Call explicity close in _writer to avoid - # fd leakage because isn't called on Queue.close() - self.event_queue._writer.close() - -# Wrap Queue to provide API which isn't server implementation specific -class ProcessEventQueue(multiprocessing.queues.Queue): - def __init__(self, maxsize): - multiprocessing.queues.Queue.__init__(self, maxsize, ctx=multiprocessing.get_context()) - self.exit = False - bb.utils.set_process_name("ProcessEQueue") - - def setexit(self): - self.exit = True - - def waitEvent(self, timeout): - if self.exit: - return self.getEvent() + self.socket_connection.close() + return + +class BitBakeServer(object): + def __init__(self, lock, sockname, configuration, featureset): + + self.configuration = configuration + self.featureset = featureset + self.sockname = sockname + self.bitbake_lock = lock + + # Create server control socket + if os.path.exists(sockname): + os.unlink(sockname) + + self.sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) + # AF_UNIX has path length issues so chdir here to workaround + cwd = os.getcwd() try: - if not self.server.is_alive(): - return self.getEvent() - if timeout == 0: - return self.get(False) - return self.get(True, timeout) - except Empty: - return None + os.chdir(os.path.dirname(sockname)) + self.sock.bind(os.path.basename(sockname)) + finally: + os.chdir(cwd) + self.sock.listen(1) + + os.set_inheritable(self.sock.fileno(), True) + bb.daemonize.createDaemon(self._startServer, "bitbake-cookerdaemon.log") + self.sock.close() + + def _startServer(self): + server = ProcessServer(self.bitbake_lock, self.sock, self.sockname) + self.configuration.setServerRegIdleCallback(server.register_idle_function) + + # Copy prefile and postfile to _server variants + for param in ('prefile', 'postfile'): + value = getattr(self.configuration, param) + if value: + setattr(self.configuration, "%s_server" % param, value) + + self.cooker = bb.cooker.BBCooker(self.configuration, self.featureset) + server.cooker = self.cooker + server.server_timeout = self.configuration.server_timeout + server.xmlrpcinterface = self.configuration.xmlrpcinterface + print("Started bitbake server pid %d" % os.getpid()) + server.start() + +def connectProcessServer(sockname, featureset): + # Connect to socket + sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) + # AF_UNIX has path length issues so chdir here to workaround + cwd = os.getcwd() + + try: + os.chdir(os.path.dirname(sockname)) + sock.connect(os.path.basename(sockname)) + finally: + os.chdir(cwd) + + try: + # Send an fd for the remote to write events to + readfd, writefd = os.pipe() + eq = BBUIEventQueue(readfd) + # Send an fd for the remote to recieve commands from + readfd1, writefd1 = os.pipe() + command_chan = ConnectionWriter(writefd1) + # Send an fd for the remote to write commands results to + readfd2, writefd2 = os.pipe() + command_chan_recv = ConnectionReader(readfd2) + + sendfds(sock, [writefd, readfd1, writefd2]) + + server_connection = BitBakeProcessServerConnection(command_chan, command_chan_recv, eq) + + server_connection.connection.updateFeatureSet(featureset) + + # Save sock so it doesn't get gc'd for the life of our connection + server_connection.socket_connection = sock + except: + sock.close() + raise + + return server_connection + +def sendfds(sock, fds): + '''Send an array of fds over an AF_UNIX socket.''' + fds = array.array('i', fds) + msg = bytes([len(fds) % 256]) + sock.sendmsg([msg], [(socket.SOL_SOCKET, socket.SCM_RIGHTS, fds)]) + +def recvfds(sock, size): + '''Receive an array of fds over an AF_UNIX socket.''' + a = array.array('i') + bytes_size = a.itemsize * size + msg, ancdata, flags, addr = sock.recvmsg(1, socket.CMSG_LEN(bytes_size)) + if not msg and not ancdata: + raise EOFError + try: + if len(ancdata) != 1: + raise RuntimeError('received %d items of ancdata' % + len(ancdata)) + cmsg_level, cmsg_type, cmsg_data = ancdata[0] + if (cmsg_level == socket.SOL_SOCKET and + cmsg_type == socket.SCM_RIGHTS): + if len(cmsg_data) % a.itemsize != 0: + raise ValueError + a.frombytes(cmsg_data) + assert len(a) % 256 == msg[0] + return list(a) + except (ValueError, IndexError): + pass + raise RuntimeError('Invalid data received') + +class BBUIEventQueue: + def __init__(self, readfd): + + self.eventQueue = [] + self.eventQueueLock = threading.Lock() + self.eventQueueNotify = threading.Event() + + self.reader = ConnectionReader(readfd) + + self.t = threading.Thread() + self.t.setDaemon(True) + self.t.run = self.startCallbackHandler + self.t.start() def getEvent(self): - try: - if not self.server.is_alive(): - self.setexit() - return self.get(False) - except Empty: - if self.exit: - sys.exit(1) + self.eventQueueLock.acquire() + + if len(self.eventQueue) == 0: + self.eventQueueLock.release() return None -class BitBakeServer(BitBakeBaseServer): - def initServer(self, single_use=True): - # establish communication channels. We use bidirectional pipes for - # ui <--> server command/response pairs - # and a queue for server -> ui event notifications - # - self.ui_channel, self.server_channel = Pipe() - self.event_queue = ProcessEventQueue(0) - self.serverImpl = ProcessServer(self.server_channel, self.event_queue, None) - self.event_queue.server = self.serverImpl - - def detach(self): - self.serverImpl.start() - return + item = self.eventQueue.pop(0) - def establishConnection(self, featureset): + if len(self.eventQueue) == 0: + self.eventQueueNotify.clear() - self.connection = BitBakeProcessServerConnection(self.serverImpl, self.ui_channel, self.event_queue) + self.eventQueueLock.release() + return item + + def waitEvent(self, delay): + self.eventQueueNotify.wait(delay) + return self.getEvent() + + def queue_event(self, event): + self.eventQueueLock.acquire() + self.eventQueue.append(event) + self.eventQueueNotify.set() + self.eventQueueLock.release() + + def send_event(self, event): + self.queue_event(pickle.loads(event)) + + def startCallbackHandler(self): + bb.utils.set_process_name("UIEventQueue") + while True: + self.reader.wait() + event = self.reader.get() + self.queue_event(event) + +class ConnectionReader(object): + + def __init__(self, fd): + self.reader = multiprocessing.connection.Connection(fd, writable=False) + self.rlock = multiprocessing.Lock() + + def wait(self, timeout=None): + return multiprocessing.connection.wait([self.reader], timeout) + + def poll(self, timeout=None): + return self.reader.poll(timeout) + + def get(self): + with self.rlock: + res = self.reader.recv_bytes() + return multiprocessing.reduction.ForkingPickler.loads(res) + + def fileno(self): + return self.reader.fileno() + +class ConnectionWriter(object): + + def __init__(self, fd): + self.writer = multiprocessing.connection.Connection(fd, readable=False) + self.wlock = multiprocessing.Lock() + # Why bb.event needs this I have no idea + self.event = self + + def send(self, obj): + obj = multiprocessing.reduction.ForkingPickler.dumps(obj) + with self.wlock: + self.writer.send_bytes(obj) - _, error = self.connection.connection.runCommand(["setFeatures", featureset]) - if error: - logger.error("Unable to set the cooker to the correct featureset: %s" % error) - raise BaseException(error) - signal.signal(signal.SIGTERM, lambda i, s: self.connection.sigterm_terminate()) - return self.connection diff --git a/lib/bb/server/xmlrpc.py b/lib/bb/server/xmlrpc.py deleted file mode 100644 index 1a475e0..0000000 --- a/lib/bb/server/xmlrpc.py +++ /dev/null @@ -1,448 +0,0 @@ -# -# BitBake XMLRPC Server -# -# Copyright (C) 2006 - 2007 Michael 'Mickey' Lauer -# Copyright (C) 2006 - 2008 Richard Purdie -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -""" - This module implements an xmlrpc server for BitBake. - - Use this by deriving a class from BitBakeXMLRPCServer and then adding - methods which you want to "export" via XMLRPC. If the methods have the - prefix xmlrpc_, then registering those function will happen automatically, - if not, you need to call register_function. - - Use register_idle_function() to add a function which the xmlrpc server - calls from within server_forever when no requests are pending. Make sure - that those functions are non-blocking or else you will introduce latency - in the server's main loop. -""" - -import os -import sys - -import hashlib -import time -import socket -import signal -import threading -import pickle -import inspect -import select -import http.client -import xmlrpc.client -from xmlrpc.server import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler - -import bb -from bb import daemonize -from bb.ui import uievent -from . import BitBakeBaseServer, BitBakeBaseServerConnection, BaseImplServer - -DEBUG = False - -class BBTransport(xmlrpc.client.Transport): - def __init__(self, timeout): - self.timeout = timeout - self.connection_token = None - xmlrpc.client.Transport.__init__(self) - - # Modified from default to pass timeout to HTTPConnection - def make_connection(self, host): - #return an existing connection if possible. This allows - #HTTP/1.1 keep-alive. - if self._connection and host == self._connection[0]: - return self._connection[1] - - # create a HTTP connection object from a host descriptor - chost, self._extra_headers, x509 = self.get_host_info(host) - #store the host argument along with the connection object - self._connection = host, http.client.HTTPConnection(chost, timeout=self.timeout) - return self._connection[1] - - def set_connection_token(self, token): - self.connection_token = token - - def send_content(self, h, body): - if self.connection_token: - h.putheader("Bitbake-token", self.connection_token) - xmlrpc.client.Transport.send_content(self, h, body) - -def _create_server(host, port, timeout = 60): - t = BBTransport(timeout) - s = xmlrpc.client.ServerProxy("http://%s:%d/" % (host, port), transport=t, allow_none=True, use_builtin_types=True) - return s, t - -def check_connection(remote, timeout): - try: - host, port = remote.split(":") - port = int(port) - except Exception as e: - bb.warn("Failed to read remote definition (%s)" % str(e)) - raise e - - server, _transport = _create_server(host, port, timeout) - try: - ret, err = server.runCommand(['getVariable', 'TOPDIR']) - if err or not ret: - return False - except ConnectionError: - return False - return True - -class BitBakeServerCommands(): - - def __init__(self, server): - self.server = server - self.has_client = False - - def registerEventHandler(self, host, port): - """ - Register a remote UI Event Handler - """ - s, t = _create_server(host, port) - - # we don't allow connections if the cooker is running - if (self.cooker.state in [bb.cooker.state.parsing, bb.cooker.state.running]): - return None, "Cooker is busy: %s" % bb.cooker.state.get_name(self.cooker.state) - - self.event_handle = bb.event.register_UIHhandler(s, True) - return self.event_handle, 'OK' - - def unregisterEventHandler(self, handlerNum): - """ - Unregister a remote UI Event Handler - """ - return bb.event.unregister_UIHhandler(handlerNum, True) - - def runCommand(self, command): - """ - Run a cooker command on the server - """ - return self.cooker.command.runCommand(command, self.server.readonly) - - def getEventHandle(self): - return self.event_handle - - def terminateServer(self): - """ - Trigger the server to quit - """ - self.server.quit = True - print("Server (cooker) exiting") - return - - def addClient(self): - if self.has_client: - return None - token = hashlib.md5(str(time.time()).encode("utf-8")).hexdigest() - self.server.set_connection_token(token) - self.has_client = True - return token - - def removeClient(self): - if self.has_client: - self.server.set_connection_token(None) - self.has_client = False - if self.server.single_use: - self.server.quit = True - -# This request handler checks if the request has a "Bitbake-token" header -# field (this comes from the client side) and compares it with its internal -# "Bitbake-token" field (this comes from the server). If the two are not -# equal, it is assumed that a client is trying to connect to the server -# while another client is connected to the server. In this case, a 503 error -# ("service unavailable") is returned to the client. -class BitBakeXMLRPCRequestHandler(SimpleXMLRPCRequestHandler): - def __init__(self, request, client_address, server): - self.server = server - SimpleXMLRPCRequestHandler.__init__(self, request, client_address, server) - - def do_POST(self): - try: - remote_token = self.headers["Bitbake-token"] - except: - remote_token = None - if remote_token != self.server.connection_token and remote_token != "observer": - self.report_503() - else: - if remote_token == "observer": - self.server.readonly = True - else: - self.server.readonly = False - SimpleXMLRPCRequestHandler.do_POST(self) - - def report_503(self): - self.send_response(503) - response = 'No more client allowed' - self.send_header("Content-type", "text/plain") - self.send_header("Content-length", str(len(response))) - self.end_headers() - self.wfile.write(bytes(response, 'utf-8')) - - -class XMLRPCProxyServer(BaseImplServer): - """ not a real working server, but a stub for a proxy server connection - - """ - def __init__(self, host, port, use_builtin_types=True): - self.host = host - self.port = port - -class XMLRPCServer(SimpleXMLRPCServer, BaseImplServer): - # remove this when you're done with debugging - # allow_reuse_address = True - - def __init__(self, interface, single_use=False, idle_timeout=0): - """ - Constructor - """ - BaseImplServer.__init__(self) - self.single_use = single_use - # Use auto port configuration - if (interface[1] == -1): - interface = (interface[0], 0) - SimpleXMLRPCServer.__init__(self, interface, - requestHandler=BitBakeXMLRPCRequestHandler, - logRequests=False, allow_none=True) - self.host, self.port = self.socket.getsockname() - self.connection_token = None - #self.register_introspection_functions() - self.commands = BitBakeServerCommands(self) - self.autoregister_all_functions(self.commands, "") - self.interface = interface - self.time = time.time() - self.idle_timeout = idle_timeout - if idle_timeout: - self.register_idle_function(self.handle_idle_timeout, self) - self.heartbeat_seconds = 1 # default, BB_HEARTBEAT_EVENT will be checked once we have a datastore. - self.next_heartbeat = time.time() - - def addcooker(self, cooker): - BaseImplServer.addcooker(self, cooker) - self.commands.cooker = cooker - - def autoregister_all_functions(self, context, prefix): - """ - Convenience method for registering all functions in the scope - of this class that start with a common prefix - """ - methodlist = inspect.getmembers(context, inspect.ismethod) - for name, method in methodlist: - if name.startswith(prefix): - self.register_function(method, name[len(prefix):]) - - def handle_idle_timeout(self, server, data, abort): - if not abort: - if time.time() - server.time > server.idle_timeout: - server.quit = True - print("Server idle timeout expired") - return [] - - def serve_forever(self): - heartbeat_event = self.cooker.data.getVar('BB_HEARTBEAT_EVENT') - if heartbeat_event: - try: - self.heartbeat_seconds = float(heartbeat_event) - except: - # Throwing an exception here causes bitbake to hang. - # Just warn about the invalid setting and continue - bb.warn('Ignoring invalid BB_HEARTBEAT_EVENT=%s, must be a float specifying seconds.' % heartbeat_event) - - # Start the actual XMLRPC server - bb.cooker.server_main(self.cooker, self._serve_forever) - - def _serve_forever(self): - """ - Serve Requests. Overloaded to honor a quit command - """ - self.quit = False - while not self.quit: - fds = [self] - nextsleep = 0.1 - for function, data in list(self._idlefuns.items()): - retval = None - try: - retval = function(self, data, False) - if retval is False: - del self._idlefuns[function] - elif retval is True: - nextsleep = 0 - elif isinstance(retval, float): - if (retval < nextsleep): - nextsleep = retval - else: - fds = fds + retval - except SystemExit: - raise - except: - import traceback - traceback.print_exc() - if retval == None: - # the function execute failed; delete it - del self._idlefuns[function] - pass - - socktimeout = self.socket.gettimeout() or nextsleep - socktimeout = min(socktimeout, nextsleep) - # Mirror what BaseServer handle_request would do - try: - fd_sets = select.select(fds, [], [], socktimeout) - if fd_sets[0] and self in fd_sets[0]: - if self.idle_timeout: - self.time = time.time() - self._handle_request_noblock() - except IOError: - # we ignore interrupted calls - pass - - # Create new heartbeat event? - now = time.time() - if now >= self.next_heartbeat: - # We might have missed heartbeats. Just trigger once in - # that case and continue after the usual delay. - self.next_heartbeat += self.heartbeat_seconds - if self.next_heartbeat <= now: - self.next_heartbeat = now + self.heartbeat_seconds - heartbeat = bb.event.HeartbeatEvent(now) - bb.event.fire(heartbeat, self.cooker.data) - if nextsleep and now + nextsleep > self.next_heartbeat: - # Shorten timeout so that we we wake up in time for - # the heartbeat. - nextsleep = self.next_heartbeat - now - - # Tell idle functions we're exiting - for function, data in list(self._idlefuns.items()): - try: - retval = function(self, data, True) - except: - pass - self.server_close() - return - - def set_connection_token(self, token): - self.connection_token = token - -class BitBakeXMLRPCServerConnection(BitBakeBaseServerConnection): - def __init__(self, serverImpl, clientinfo=("localhost", 0), observer_only = False, featureset = None): - self.connection, self.transport = _create_server(serverImpl.host, serverImpl.port) - self.clientinfo = clientinfo - self.serverImpl = serverImpl - self.observer_only = observer_only - if featureset: - self.featureset = featureset - else: - self.featureset = [] - - def connect(self, token = None): - if token is None: - if self.observer_only: - token = "observer" - else: - token = self.connection.addClient() - - if token is None: - return None - - self.transport.set_connection_token(token) - return self - - def setupEventQueue(self): - self.events = uievent.BBUIEventQueue(self.connection, self.clientinfo) - for event in bb.event.ui_queue: - self.events.queue_event(event) - - _, error = self.connection.runCommand(["setFeatures", self.featureset]) - if error: - # disconnect the client, we can't make the setFeature work - self.connection.removeClient() - # no need to log it here, the error shall be sent to the client - raise BaseException(error) - - def removeClient(self): - if not self.observer_only: - self.connection.removeClient() - - def terminate(self): - # Don't wait for server indefinitely - import socket - socket.setdefaulttimeout(2) - try: - self.events.system_quit() - except: - pass - try: - self.connection.removeClient() - except: - pass - -class BitBakeServer(BitBakeBaseServer): - def initServer(self, interface = ("localhost", 0), - single_use = False, idle_timeout=0): - self.interface = interface - self.serverImpl = XMLRPCServer(interface, single_use, idle_timeout) - - def detach(self): - daemonize.createDaemon(self.serverImpl.serve_forever, "bitbake-cookerdaemon.log") - del self.cooker - - def establishConnection(self, featureset): - self.connection = BitBakeXMLRPCServerConnection(self.serverImpl, self.interface, False, featureset) - return self.connection.connect() - - def set_connection_token(self, token): - self.connection.transport.set_connection_token(token) - -class BitBakeXMLRPCClient(BitBakeBaseServer): - - def __init__(self, observer_only = False, token = None): - self.token = token - - self.observer_only = observer_only - # if we need extra caches, just tell the server to load them all - pass - - def saveConnectionDetails(self, remote): - self.remote = remote - - def establishConnection(self, featureset): - # The format of "remote" must be "server:port" - try: - [host, port] = self.remote.split(":") - port = int(port) - except Exception as e: - bb.warn("Failed to read remote definition (%s)" % str(e)) - raise e - - # We need our IP for the server connection. We get the IP - # by trying to connect with the server - try: - s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) - s.connect((host, port)) - ip = s.getsockname()[0] - s.close() - except Exception as e: - bb.warn("Could not create socket for %s:%s (%s)" % (host, port, str(e))) - raise e - try: - self.serverImpl = XMLRPCProxyServer(host, port, use_builtin_types=True) - self.connection = BitBakeXMLRPCServerConnection(self.serverImpl, (ip, 0), self.observer_only, featureset) - return self.connection.connect(self.token) - except Exception as e: - bb.warn("Could not connect to server at %s:%s (%s)" % (host, port, str(e))) - raise e - - def endSession(self): - self.connection.removeClient() diff --git a/lib/bb/server/xmlrpcclient.py b/lib/bb/server/xmlrpcclient.py new file mode 100644 index 0000000..4661a9e --- /dev/null +++ b/lib/bb/server/xmlrpcclient.py @@ -0,0 +1,154 @@ +# +# BitBake XMLRPC Client Interface +# +# Copyright (C) 2006 - 2007 Michael 'Mickey' Lauer +# Copyright (C) 2006 - 2008 Richard Purdie +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +import os +import sys + +import socket +import http.client +import xmlrpc.client + +import bb +from bb.ui import uievent + +class BBTransport(xmlrpc.client.Transport): + def __init__(self, timeout): + self.timeout = timeout + self.connection_token = None + xmlrpc.client.Transport.__init__(self) + + # Modified from default to pass timeout to HTTPConnection + def make_connection(self, host): + #return an existing connection if possible. This allows + #HTTP/1.1 keep-alive. + if self._connection and host == self._connection[0]: + return self._connection[1] + + # create a HTTP connection object from a host descriptor + chost, self._extra_headers, x509 = self.get_host_info(host) + #store the host argument along with the connection object + self._connection = host, http.client.HTTPConnection(chost, timeout=self.timeout) + return self._connection[1] + + def set_connection_token(self, token): + self.connection_token = token + + def send_content(self, h, body): + if self.connection_token: + h.putheader("Bitbake-token", self.connection_token) + xmlrpc.client.Transport.send_content(self, h, body) + +def _create_server(host, port, timeout = 60): + t = BBTransport(timeout) + s = xmlrpc.client.ServerProxy("http://%s:%d/" % (host, port), transport=t, allow_none=True, use_builtin_types=True) + return s, t + +def check_connection(remote, timeout): + try: + host, port = remote.split(":") + port = int(port) + except Exception as e: + bb.warn("Failed to read remote definition (%s)" % str(e)) + raise e + + server, _transport = _create_server(host, port, timeout) + try: + ret, err = server.runCommand(['getVariable', 'TOPDIR']) + if err or not ret: + return False + except ConnectionError: + return False + return True + +class BitBakeXMLRPCServerConnection(object): + def __init__(self, host, port, clientinfo=("localhost", 0), observer_only = False, featureset = None): + self.connection, self.transport = _create_server(host, port) + self.clientinfo = clientinfo + self.observer_only = observer_only + if featureset: + self.featureset = featureset + else: + self.featureset = [] + + self.events = uievent.BBUIEventQueue(self.connection, self.clientinfo) + + _, error = self.connection.runCommand(["setFeatures", self.featureset]) + if error: + # disconnect the client, we can't make the setFeature work + self.connection.removeClient() + # no need to log it here, the error shall be sent to the client + raise BaseException(error) + + def connect(self, token = None): + if token is None: + if self.observer_only: + token = "observer" + else: + token = self.connection.addClient() + + if token is None: + return None + + self.transport.set_connection_token(token) + return self + + def removeClient(self): + if not self.observer_only: + self.connection.removeClient() + + def terminate(self): + # Don't wait for server indefinitely + socket.setdefaulttimeout(2) + try: + self.events.system_quit() + except: + pass + try: + self.connection.removeClient() + except: + pass + +def connectXMLRPC(remote, featureset, observer_only = False, token = None): + # The format of "remote" must be "server:port" + try: + [host, port] = remote.split(":") + port = int(port) + except Exception as e: + bb.warn("Failed to parse remote definition %s (%s)" % (remote, str(e))) + raise e + + # We need our IP for the server connection. We get the IP + # by trying to connect with the server + try: + s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + s.connect((host, port)) + ip = s.getsockname()[0] + s.close() + except Exception as e: + bb.warn("Could not create socket for %s:%s (%s)" % (host, port, str(e))) + raise e + try: + connection = BitBakeXMLRPCServerConnection(host, port, (ip, 0), observer_only, featureset) + return connection.connect(token) + except Exception as e: + bb.warn("Could not connect to server at %s:%s (%s)" % (host, port, str(e))) + raise e + + + diff --git a/lib/bb/server/xmlrpcserver.py b/lib/bb/server/xmlrpcserver.py new file mode 100644 index 0000000..875b128 --- /dev/null +++ b/lib/bb/server/xmlrpcserver.py @@ -0,0 +1,158 @@ +# +# BitBake XMLRPC Server Interface +# +# Copyright (C) 2006 - 2007 Michael 'Mickey' Lauer +# Copyright (C) 2006 - 2008 Richard Purdie +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +import os +import sys + +import hashlib +import time +import inspect +from xmlrpc.server import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler + +import bb + +# This request handler checks if the request has a "Bitbake-token" header +# field (this comes from the client side) and compares it with its internal +# "Bitbake-token" field (this comes from the server). If the two are not +# equal, it is assumed that a client is trying to connect to the server +# while another client is connected to the server. In this case, a 503 error +# ("service unavailable") is returned to the client. +class BitBakeXMLRPCRequestHandler(SimpleXMLRPCRequestHandler): + def __init__(self, request, client_address, server): + self.server = server + SimpleXMLRPCRequestHandler.__init__(self, request, client_address, server) + + def do_POST(self): + try: + remote_token = self.headers["Bitbake-token"] + except: + remote_token = None + if 0 and remote_token != self.server.connection_token and remote_token != "observer": + self.report_503() + else: + if remote_token == "observer": + self.server.readonly = True + else: + self.server.readonly = False + SimpleXMLRPCRequestHandler.do_POST(self) + + def report_503(self): + self.send_response(503) + response = 'No more client allowed' + self.send_header("Content-type", "text/plain") + self.send_header("Content-length", str(len(response))) + self.end_headers() + self.wfile.write(bytes(response, 'utf-8')) + +class BitBakeXMLRPCServer(SimpleXMLRPCServer): + # remove this when you're done with debugging + # allow_reuse_address = True + + def __init__(self, interface, cooker, parent): + # Use auto port configuration + if (interface[1] == -1): + interface = (interface[0], 0) + SimpleXMLRPCServer.__init__(self, interface, + requestHandler=BitBakeXMLRPCRequestHandler, + logRequests=False, allow_none=True) + self.host, self.port = self.socket.getsockname() + self.interface = interface + + self.connection_token = None + self.commands = BitBakeXMLRPCServerCommands(self) + self.register_functions(self.commands, "") + + self.cooker = cooker + self.parent = parent + + + def register_functions(self, context, prefix): + """ + Convenience method for registering all functions in the scope + of this class that start with a common prefix + """ + methodlist = inspect.getmembers(context, inspect.ismethod) + for name, method in methodlist: + if name.startswith(prefix): + self.register_function(method, name[len(prefix):]) + + def get_timeout(self, delay): + socktimeout = self.socket.gettimeout() or delay + return min(socktimeout, delay) + + def handle_requests(self): + self._handle_request_noblock() + +class BitBakeXMLRPCServerCommands(): + + def __init__(self, server): + self.server = server + self.has_client = False + + def registerEventHandler(self, host, port): + """ + Register a remote UI Event Handler + """ + s, t = bb.server.xmlrpcclient._create_server(host, port) + + # we don't allow connections if the cooker is running + if (self.server.cooker.state in [bb.cooker.state.parsing, bb.cooker.state.running]): + return None, "Cooker is busy: %s" % bb.cooker.state.get_name(self.server.cooker.state) + + self.event_handle = bb.event.register_UIHhandler(s, True) + return self.event_handle, 'OK' + + def unregisterEventHandler(self, handlerNum): + """ + Unregister a remote UI Event Handler + """ + ret = bb.event.unregister_UIHhandler(handlerNum, True) + self.event_handle = None + return ret + + def runCommand(self, command): + """ + Run a cooker command on the server + """ + return self.server.cooker.command.runCommand(command, self.server.readonly) + + def getEventHandle(self): + return self.event_handle + + def terminateServer(self): + """ + Trigger the server to quit + """ + self.server.parent.quit = True + print("XMLRPC Server triggering exit") + return + + def addClient(self): + if self.server.parent.haveui: + return None + token = hashlib.md5(str(time.time()).encode("utf-8")).hexdigest() + self.server.connection_token = token + self.server.parent.haveui = True + return token + + def removeClient(self): + if self.server.parent.haveui: + self.server.connection_token = None + self.server.parent.haveui = False + diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index fb0da62..303ce02 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -243,7 +243,7 @@ class Tinfoil: cookerconfig = CookerConfiguration() cookerconfig.setConfigParameters(config_params) - server, self.server_connection, ui_module = setup_bitbake(config_params, + self.server_connection, ui_module = setup_bitbake(config_params, cookerconfig, extrafeatures, setup_logging=False) diff --git a/lib/prserv/serv.py b/lib/prserv/serv.py index a7efa58..5f061c2 100644 --- a/lib/prserv/serv.py +++ b/lib/prserv/serv.py @@ -6,7 +6,7 @@ import queue import socket import io import sqlite3 -import bb.server.xmlrpc +import bb.server.xmlrpcclient import prserv import prserv.db import errno @@ -300,7 +300,7 @@ class PRServerConnection(object): host, port = singleton.getinfo() self.host = host self.port = port - self.connection, self.transport = bb.server.xmlrpc._create_server(self.host, self.port) + self.connection, self.transport = bb.server.xmlrpcclient._create_server(self.host, self.port) def terminate(self): try: -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 17:21:32 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 17:21:32 +0000 Subject: [oe-commits] [bitbake] 05/19: tinfoil: add a parse_recipes() function In-Reply-To: <150039848791.28081.10439687065883576610@git.openembedded.org> References: <150039848791.28081.10439687065883576610@git.openembedded.org> Message-ID: <20170718172128.2D169233550@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 28ab1b1e98f042bc26daf5c8c9866ff8f9a49bb1 Author: Paul Eggleton AuthorDate: Wed May 17 17:10:35 2017 +1200 tinfoil: add a parse_recipes() function Python style recommends underscore based naming rather than camelCase, and thus the former has been used for most of tinfoil's functions. Add an underscored version of parseRecipes() for consistency and change the one place we call it to use the new version. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- bin/bitbake-layers | 2 +- lib/bb/tinfoil.py | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/bin/bitbake-layers b/bin/bitbake-layers index 04e6bec..d184011 100755 --- a/bin/bitbake-layers +++ b/bin/bitbake-layers @@ -90,7 +90,7 @@ def main(): if getattr(args, 'parserecipes', False): tinfoil.config_data.disableTracking() - tinfoil.parseRecipes() + tinfoil.parse_recipes() tinfoil.config_data.enableTracking() return args.func(args) diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index 65ebdc2..ddc7b06 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -289,7 +289,13 @@ class Tinfoil: def parseRecipes(self): """ - Force a parse of all recipes. Normally you should specify + Legacy function - use parse_recipes() instead. + """ + self.parse_recipes() + + def parse_recipes(self): + """ + Load information on all recipes. Normally you should specify config_only=False when calling prepare() instead of using this function; this function is designed for situations where you need to initialise Tinfoil and use it with config_only=True first and -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 17:21:33 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 17:21:33 +0000 Subject: [oe-commits] [bitbake] 06/19: tinfoil: set a flag when recipes have been parsed In-Reply-To: <150039848791.28081.10439687065883576610@git.openembedded.org> References: <150039848791.28081.10439687065883576610@git.openembedded.org> Message-ID: <20170718172128.340AF233552@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 2370eb8453ca463170ca392ce78b15cce9ed93b9 Author: Paul Eggleton AuthorDate: Wed May 17 17:13:07 2017 +1200 tinfoil: set a flag when recipes have been parsed Make it easy to determine if recipes are parsed (and thus information about available recipes is in memory). Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/tinfoil.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index ddc7b06..f31d7b2 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -217,6 +217,7 @@ class Tinfoil: self.tracking = tracking self.ui_module = None self.server_connection = None + self.recipes_parsed = False if setup_logging: # This is the *client-side* logger, nothing to do with # logging messages from the server @@ -270,6 +271,7 @@ class Tinfoil: self.run_command('parseConfiguration') else: self.run_actions(config_params) + self.recipes_parsed = True self.config_data = bb.data.init() connector = TinfoilDataStoreConnector(self, None) @@ -303,6 +305,7 @@ class Tinfoil: """ config_params = TinfoilConfigParameters(config_only=False) self.run_actions(config_params) + self.recipes_parsed = True def run_command(self, command, *params): """ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 17:21:35 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 17:21:35 +0000 Subject: [oe-commits] [bitbake] 08/19: lib/bb/ui/uihelper: indicate to caller of eventHandler() if events handled In-Reply-To: <150039848791.28081.10439687065883576610@git.openembedded.org> References: <150039848791.28081.10439687065883576610@git.openembedded.org> Message-ID: <20170718172128.44BF7233556@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 20fecef5633fe24069fae9d73cfac3b55d977cf8 Author: Paul Eggleton AuthorDate: Mon May 22 12:00:22 2017 +1200 lib/bb/ui/uihelper: indicate to caller of eventHandler() if events handled It is useful for the caller to know whether the uihelper has handled the event passed so that it can skip other event handling code if so. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/ui/uihelper.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/bb/ui/uihelper.py b/lib/bb/ui/uihelper.py index 113fced..963c1ea 100644 --- a/lib/bb/ui/uihelper.py +++ b/lib/bb/ui/uihelper.py @@ -61,6 +61,9 @@ class BBUIHelper: self.running_tasks[event.pid]['progress'] = event.progress self.running_tasks[event.pid]['rate'] = event.rate self.needUpdate = True + else: + return False + return True def getTasks(self): self.needUpdate = False -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 17:21:37 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 17:21:37 +0000 Subject: [oe-commits] [bitbake] 10/19: cookerdata: fix indentation and trailing spaces In-Reply-To: <150039848791.28081.10439687065883576610@git.openembedded.org> References: <150039848791.28081.10439687065883576610@git.openembedded.org> Message-ID: <20170718172128.5315E233558@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 0182ca961a625e171a5ba13775932a85ef5d9b0a Author: Paul Eggleton AuthorDate: Fri Jun 9 16:59:53 2017 +0200 cookerdata: fix indentation and trailing spaces Fix one incorrect indentation and several lines with trailing spaces. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/cookerdata.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/bb/cookerdata.py b/lib/bb/cookerdata.py index e6662d0..b3a3f04 100644 --- a/lib/bb/cookerdata.py +++ b/lib/bb/cookerdata.py @@ -73,15 +73,15 @@ class ConfigParameters(object): def updateToServer(self, server, environment): options = {} - for o in ["abort", "tryaltconfigs", "force", "invalidate_stamp", - "verbose", "debug", "dry_run", "dump_signatures", + for o in ["abort", "tryaltconfigs", "force", "invalidate_stamp", + "verbose", "debug", "dry_run", "dump_signatures", "debug_domains", "extra_assume_provided", "profile", "prefile", "postfile", "tracking", "server_timeout"]: options[o] = getattr(self.options, o) ret, error = server.runCommand(["updateConfig", options, environment, sys.argv]) if error: - raise Exception("Unable to update the server configuration with local parameters: %s" % error) + raise Exception("Unable to update the server configuration with local parameters: %s" % error) def parseActions(self): # Parse any commandline into actions @@ -174,7 +174,7 @@ class CookerConfiguration(object): def __setstate__(self,state): for k in state: - setattr(self, k, state[k]) + setattr(self, k, state[k]) def catch_parse_error(func): @@ -277,7 +277,7 @@ class CookerDataBuilder(object): filtered_keys = bb.utils.approved_variables() bb.data.inheritFromOS(self.basedata, self.savedenv, filtered_keys) self.basedata.setVar("BB_ORIGENV", self.savedenv) - + if worker: self.basedata.setVar("BB_WORKERCONTEXT", "1") -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 17:21:34 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 17:21:34 +0000 Subject: [oe-commits] [bitbake] 07/19: lib/bb/event: refactor printing events In-Reply-To: <150039848791.28081.10439687065883576610@git.openembedded.org> References: <150039848791.28081.10439687065883576610@git.openembedded.org> Message-ID: <20170718172128.3E8D9233554@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 90d88e4b73fbdf344484cb81575390dad16b3abf Author: Paul Eggleton AuthorDate: Thu May 18 15:10:44 2017 +1200 lib/bb/event: refactor printing events We really ought to have just one place where the string representation of these events is produced. This doesn't take any real control away from the UI - if an alternative representation is desired, that can still be made. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/command.py | 2 ++ lib/bb/event.py | 32 ++++++++++++++++++++++++++++++++ lib/bb/runqueue.py | 6 ++++++ lib/bb/ui/knotty.py | 37 ++++++------------------------------- lib/bb/ui/ncurses.py | 2 +- lib/bb/ui/taskexp.py | 20 ++------------------ lib/bb/ui/toasterui.py | 25 ++++--------------------- 7 files changed, 53 insertions(+), 71 deletions(-) diff --git a/lib/bb/command.py b/lib/bb/command.py index c06ab07..05803d6 100644 --- a/lib/bb/command.py +++ b/lib/bb/command.py @@ -50,6 +50,8 @@ class CommandFailed(CommandExit): def __init__(self, message): self.error = message CommandExit.__init__(self, 1) + def __str__(self): + return "Command execution failed: %s" % self.error class CommandError(Exception): pass diff --git a/lib/bb/event.py b/lib/bb/event.py index 92ee3e9..59cca61 100644 --- a/lib/bb/event.py +++ b/lib/bb/event.py @@ -521,6 +521,28 @@ class NoProvider(Event): def isRuntime(self): return self._runtime + def __str__(self): + msg = '' + if self._runtime: + r = "R" + else: + r = "" + + extra = '' + if not self._reasons: + if self._close_matches: + extra = ". Close matches:\n %s" % '\n '.join(self._close_matches) + + if self._dependees: + msg = "Nothing %sPROVIDES '%s' (but %s %sDEPENDS on or otherwise requires it)%s" % (r, self._item, ", ".join(self._dependees), r, extra) + else: + msg = "Nothing %sPROVIDES '%s'%s" % (r, self._item, extra) + if self._reasons: + for reason in self._reasons: + msg += '\n' + reason + return msg + + class MultipleProviders(Event): """Multiple Providers""" @@ -548,6 +570,16 @@ class MultipleProviders(Event): """ return self._candidates + def __str__(self): + msg = "Multiple providers are available for %s%s (%s)" % (self._is_runtime and "runtime " or "", + self._item, + ", ".join(self._candidates)) + rtime = "" + if self._is_runtime: + rtime = "R" + msg += "\nConsider defining a PREFERRED_%sPROVIDER entry to match %s" % (rtime, self._item) + return msg + class ParseStarted(OperationStarted): """Recipe parsing for the runqueue has begun""" def __init__(self, total): diff --git a/lib/bb/runqueue.py b/lib/bb/runqueue.py index 21520d3..7dd964d 100644 --- a/lib/bb/runqueue.py +++ b/lib/bb/runqueue.py @@ -2488,6 +2488,9 @@ class runQueueTaskFailed(runQueueEvent): runQueueEvent.__init__(self, task, stats, rq) self.exitcode = exitcode + def __str__(self): + return "Task (%s) failed with exit code '%s'" % (self.taskstring, self.exitcode) + class sceneQueueTaskFailed(sceneQueueEvent): """ Event notifying a setscene task failed @@ -2496,6 +2499,9 @@ class sceneQueueTaskFailed(sceneQueueEvent): sceneQueueEvent.__init__(self, task, stats, rq) self.exitcode = exitcode + def __str__(self): + return "Setscene task (%s) failed with exit code '%s' - real task will be run instead" % (self.taskstring, self.exitcode) + class sceneQueueComplete(sceneQueueEvent): """ Event when all the sceneQueue tasks are complete diff --git a/lib/bb/ui/knotty.py b/lib/bb/ui/knotty.py index 1aa5ebb..c301982 100644 --- a/lib/bb/ui/knotty.py +++ b/lib/bb/ui/knotty.py @@ -560,7 +560,7 @@ def main(server, eventHandler, params, tf = TerminalFilter): return_value = event.exitcode if event.error: errors = errors + 1 - logger.error("Command execution failed: %s", event.error) + logger.error(str(event)) main.shutdown = 2 continue if isinstance(event, bb.command.CommandExit): @@ -571,39 +571,16 @@ def main(server, eventHandler, params, tf = TerminalFilter): main.shutdown = 2 continue if isinstance(event, bb.event.MultipleProviders): - logger.info("multiple providers are available for %s%s (%s)", event._is_runtime and "runtime " or "", - event._item, - ", ".join(event._candidates)) - rtime = "" - if event._is_runtime: - rtime = "R" - logger.info("consider defining a PREFERRED_%sPROVIDER entry to match %s" % (rtime, event._item)) + logger.info(str(event)) continue if isinstance(event, bb.event.NoProvider): - if event._runtime: - r = "R" - else: - r = "" - - extra = '' - if not event._reasons: - if event._close_matches: - extra = ". Close matches:\n %s" % '\n '.join(event._close_matches) - # For universe builds, only show these as warnings, not errors - h = logger.warning if not universe: return_value = 1 errors = errors + 1 - h = logger.error - - if event._dependees: - h("Nothing %sPROVIDES '%s' (but %s %sDEPENDS on or otherwise requires it)%s", r, event._item, ", ".join(event._dependees), r, extra) + logger.error(str(event)) else: - h("Nothing %sPROVIDES '%s'%s", r, event._item, extra) - if event._reasons: - for reason in event._reasons: - h("%s", reason) + logger.warning(str(event)) continue if isinstance(event, bb.runqueue.sceneQueueTaskStarted): @@ -625,13 +602,11 @@ def main(server, eventHandler, params, tf = TerminalFilter): if isinstance(event, bb.runqueue.runQueueTaskFailed): return_value = 1 taskfailures.append(event.taskstring) - logger.error("Task (%s) failed with exit code '%s'", - event.taskstring, event.exitcode) + logger.error(str(event)) continue if isinstance(event, bb.runqueue.sceneQueueTaskFailed): - logger.warning("Setscene task (%s) failed with exit code '%s' - real task will be run instead", - event.taskstring, event.exitcode) + logger.warning(str(event)) continue if isinstance(event, bb.event.DepTreeGenerated): diff --git a/lib/bb/ui/ncurses.py b/lib/bb/ui/ncurses.py index ca845a3..8690c52 100644 --- a/lib/bb/ui/ncurses.py +++ b/lib/bb/ui/ncurses.py @@ -315,7 +315,7 @@ class NCursesUI: # also allow them to now exit with a single ^C shutdown = 2 if isinstance(event, bb.command.CommandFailed): - mw.appendText("Command execution failed: %s" % event.error) + mw.appendText(str(event)) time.sleep(2) exitflag = True if isinstance(event, bb.command.CommandExit): diff --git a/lib/bb/ui/taskexp.py b/lib/bb/ui/taskexp.py index 9d14ece..0d0f9f5 100644 --- a/lib/bb/ui/taskexp.py +++ b/lib/bb/ui/taskexp.py @@ -286,23 +286,7 @@ def main(server, eventHandler, params): continue if isinstance(event, bb.event.NoProvider): - if event._runtime: - r = "R" - else: - r = "" - - extra = '' - if not event._reasons: - if event._close_matches: - extra = ". Close matches:\n %s" % '\n '.join(event._close_matches) - - if event._dependees: - print("Nothing %sPROVIDES '%s' (but %s %sDEPENDS on or otherwise requires it)%s" % (r, event._item, ", ".join(event._dependees), r, extra)) - else: - print("Nothing %sPROVIDES '%s'%s" % (r, event._item, extra)) - if event._reasons: - for reason in event._reasons: - print(reason) + print(str(event)) _, error = server.runCommand(["stateShutdown"]) if error: @@ -310,7 +294,7 @@ def main(server, eventHandler, params): break if isinstance(event, bb.command.CommandFailed): - print("Command execution failed: %s" % event.error) + print(str(event)) return event.exitcode if isinstance(event, bb.command.CommandExit): diff --git a/lib/bb/ui/toasterui.py b/lib/bb/ui/toasterui.py index 71f04fa..88cec37 100644 --- a/lib/bb/ui/toasterui.py +++ b/lib/bb/ui/toasterui.py @@ -320,29 +320,13 @@ def main(server, eventHandler, params): if isinstance(event, bb.event.CacheLoadCompleted): continue if isinstance(event, bb.event.MultipleProviders): - logger.info("multiple providers are available for %s%s (%s)", event._is_runtime and "runtime " or "", - event._item, - ", ".join(event._candidates)) - logger.info("consider defining a PREFERRED_PROVIDER entry to match %s", event._item) + logger.info(str(event)) continue if isinstance(event, bb.event.NoProvider): errors = errors + 1 - if event._runtime: - r = "R" - else: - r = "" - - if event._dependees: - text = "Nothing %sPROVIDES '%s' (but %s %sDEPENDS on or otherwise requires it)" % (r, event._item, ", ".join(event._dependees), r) - else: - text = "Nothing %sPROVIDES '%s'" % (r, event._item) - + text = str(event) logger.error(text) - if event._reasons: - for reason in event._reasons: - logger.error("%s", reason) - text += reason buildinfohelper.store_log_error(text) continue @@ -364,8 +348,7 @@ def main(server, eventHandler, params): if isinstance(event, bb.runqueue.runQueueTaskFailed): buildinfohelper.update_and_store_task(event) taskfailures.append(event.taskstring) - logger.error("Task (%s) failed with exit code '%s'", - event.taskstring, event.exitcode) + logger.error(str(event)) continue if isinstance(event, (bb.runqueue.sceneQueueTaskCompleted, bb.runqueue.sceneQueueTaskFailed)): @@ -382,7 +365,7 @@ def main(server, eventHandler, params): if isinstance(event, bb.command.CommandFailed): errors += 1 errorcode = 1 - logger.error("Command execution failed: %s", event.error) + logger.error(str(event)) elif isinstance(event, bb.event.BuildCompleted): buildinfohelper.scan_image_artifacts() buildinfohelper.clone_required_sdk_artifacts() -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 17:21:36 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 17:21:36 +0000 Subject: [oe-commits] [bitbake] 09/19: tinfoil: add functionality for running full builds In-Reply-To: <150039848791.28081.10439687065883576610@git.openembedded.org> References: <150039848791.28081.10439687065883576610@git.openembedded.org> Message-ID: <20170718172128.4BBE0233557@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 1597ccd44dc391eda0a45e5130d42c065dd8219d Author: Paul Eggleton AuthorDate: Fri May 19 14:52:48 2017 +1200 tinfoil: add functionality for running full builds Up to this point, if you wanted to run build tasks in the normal way they get run, there was no other way than to shell out to bitbake. As long as we're prepared to handle the events produced, we can create a wrapper around calling the buildTargets command. Borrow code from knotty to do this so that we get the expected running task display (courtesy of TermFilter) and Ctrl+C handling. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/tinfoil.py | 155 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 155 insertions(+) diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index f31d7b2..945bd4b 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -2,6 +2,7 @@ # # Copyright (C) 2012-2017 Intel Corporation # Copyright (C) 2011 Mentor Graphics Corporation +# Copyright (C) 2006-2012 Richard Purdie # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License version 2 as @@ -218,6 +219,7 @@ class Tinfoil: self.ui_module = None self.server_connection = None self.recipes_parsed = False + self.quiet = 0 if setup_logging: # This is the *client-side* logger, nothing to do with # logging messages from the server @@ -230,6 +232,8 @@ class Tinfoil: self.shutdown() def prepare(self, config_only=False, config_params=None, quiet=0, extra_features=None): + self.quiet = quiet + if self.tracking: extrafeatures = [bb.cooker.CookerFeatures.BASEDATASTORE_TRACKING] else: @@ -434,6 +438,157 @@ class Tinfoil: """ return self.run_command('buildFile', buildfile, task, internal) + # FIXME internal mode + def build_targets(self, targets, task=None, handle_events=True, extra_events=None, event_callback=None): + """ + Builds the specified targets. This is equivalent to a normal invocation + of bitbake. Has built-in event handling which is enabled by default and + can be extended if needed. + Parameters: + targets: + One or more targets to build. Can be a list or a + space-separated string. + task: + The task to run; if None then the value of BB_DEFAULT_TASK + will be used. Default None. + handle_events: + True to handle events in a similar way to normal bitbake + invocation with knotty; False to return immediately (on the + assumption that the caller will handle the events instead). + Default True. + extra_events: + An optional list of events to add to the event mask (if + handle_events=True). If you add events here you also need + to specify a callback function in event_callback that will + handle the additional events. Default None. + event_callback: + An optional function taking a single parameter which + will be called first upon receiving any event (if + handle_events=True) so that the caller can override or + extend the event handling. Default None. + """ + if isinstance(targets, str): + targets = targets.split() + if not task: + task = self.config_data.getVar('BB_DEFAULT_TASK') + + if handle_events: + # A reasonable set of default events matching up with those we handle below + eventmask = [ + 'bb.event.BuildStarted', + 'bb.event.BuildCompleted', + 'logging.LogRecord', + 'bb.event.NoProvider', + 'bb.command.CommandCompleted', + 'bb.command.CommandFailed', + 'bb.build.TaskStarted', + 'bb.build.TaskFailed', + 'bb.build.TaskSucceeded', + 'bb.build.TaskFailedSilent', + 'bb.build.TaskProgress', + 'bb.runqueue.runQueueTaskStarted', + 'bb.runqueue.sceneQueueTaskStarted', + 'bb.event.ProcessStarted', + 'bb.event.ProcessProgress', + 'bb.event.ProcessFinished', + ] + if extra_events: + eventmask.extend(extra_events) + ret = self.set_event_mask(eventmask) + + ret = self.run_command('buildTargets', targets, task) + if handle_events: + result = False + # Borrowed from knotty, instead somewhat hackily we use the helper + # as the object to store "shutdown" on + helper = bb.ui.uihelper.BBUIHelper() + # We set up logging optionally in the constructor so now we need to + # grab the handlers to pass to TerminalFilter + console = None + errconsole = None + for handler in self.logger.handlers: + if isinstance(handler, logging.StreamHandler): + if handler.stream == sys.stdout: + console = handler + elif handler.stream == sys.stderr: + errconsole = handler + format_str = "%(levelname)s: %(message)s" + format = bb.msg.BBLogFormatter(format_str) + helper.shutdown = 0 + parseprogress = None + termfilter = bb.ui.knotty.TerminalFilter(helper, helper, console, errconsole, format, quiet=self.quiet) + try: + while True: + try: + event = self.wait_event(0.25) + if event: + if event_callback and event_callback(event): + continue + if helper.eventHandler(event): + continue + if isinstance(event, bb.event.ProcessStarted): + if self.quiet > 1: + continue + parseprogress = bb.ui.knotty.new_progress(event.processname, event.total) + parseprogress.start(False) + continue + if isinstance(event, bb.event.ProcessProgress): + if self.quiet > 1: + continue + if parseprogress: + parseprogress.update(event.progress) + else: + bb.warn("Got ProcessProgress event for someting that never started?") + continue + if isinstance(event, bb.event.ProcessFinished): + if self.quiet > 1: + continue + if parseprogress: + parseprogress.finish() + parseprogress = None + continue + if isinstance(event, bb.command.CommandCompleted): + result = True + break + if isinstance(event, bb.command.CommandFailed): + self.logger.error(str(event)) + result = False + break + if isinstance(event, logging.LogRecord): + if event.taskpid == 0 or event.levelno > logging.INFO: + self.logger.handle(event) + continue + if isinstance(event, bb.event.NoProvider): + self.logger.error(str(event)) + result = False + break + + elif helper.shutdown > 1: + break + termfilter.updateFooter() + except KeyboardInterrupt: + termfilter.clearFooter() + if helper.shutdown == 1: + print("\nSecond Keyboard Interrupt, stopping...\n") + ret = self.run_command("stateForceShutdown") + if ret and ret[2]: + self.logger.error("Unable to cleanly stop: %s" % ret[2]) + elif helper.shutdown == 0: + print("\nKeyboard Interrupt, closing down...\n") + interrupted = True + ret = self.run_command("stateShutdown") + if ret and ret[2]: + self.logger.error("Unable to cleanly shutdown: %s" % ret[2]) + helper.shutdown = helper.shutdown + 1 + termfilter.clearFooter() + finally: + termfilter.finish() + if helper.failed_tasks: + result = False + return result + else: + return ret + def shutdown(self): if self.server_connection: self.run_command('clientComplete') -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 17:21:39 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 17:21:39 +0000 Subject: [oe-commits] [bitbake] 12/19: tinfoil: add simple API for getting cached recipe information In-Reply-To: <150039848791.28081.10439687065883576610@git.openembedded.org> References: <150039848791.28081.10439687065883576610@git.openembedded.org> Message-ID: <20170718172128.62705233578@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit ac389f9f03942647ab5153cbe2b13a7d5b662b71 Author: Paul Eggleton AuthorDate: Mon Jun 12 11:44:24 2017 +0200 tinfoil: add simple API for getting cached recipe information A common task for tinfoil-using scripts is to iterate over all recipes. This isn't too difficult with the current API, but the pkg_* variables are a little awkward and are really designed for bitbake's internal usage - and it gets a bit more difficult when you want to access some of the other information such as packages and rprovides. To resolve this, create a new recipe info class and add an all_recipes() function to generate this for all recipes. Also add a get_recipe_info() function to get the information for a specific recipe (by PN). (It might perhaps be suggested that we already have a structure similar to this in the cache, however the one we add here is designed for external use and allows the internal structures to change if needed without affecting the API). Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/tinfoil.py | 142 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 142 insertions(+) diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index 0176b76..960468e 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -217,6 +217,82 @@ class TinfoilCookerAdapter: return self.tinfoil.find_best_provider(pn) +class TinfoilRecipeInfo: + """ + Provides a convenient representation of the cached information for a single recipe. + Some attributes are set on construction, others are read on-demand (which internally + may result in a remote procedure call to the bitbake server the first time). + Note that only information which is cached is available through this object - if + you need other variable values you will need to parse the recipe using + Tinfoil.parse_recipe(). + """ + def __init__(self, recipecache, d, pn, fn, fns): + self._recipecache = recipecache + self._d = d + self.pn = pn + self.fn = fn + self.fns = fns + self.inherit_files = recipecache.inherits[fn] + self.depends = recipecache.deps[fn] + (self.pe, self.pv, self.pr) = recipecache.pkg_pepvpr[fn] + self._cached_packages = None + self._cached_rprovides = None + self._cached_packages_dynamic = None + + def __getattr__(self, name): + if name == 'alternates': + return [x for x in self.fns if x != self.fn] + elif name == 'rdepends': + return self._recipecache.rundeps[self.fn] + elif name == 'rrecommends': + return self._recipecache.runrecs[self.fn] + elif name == 'provides': + return self._recipecache.fn_provides[self.fn] + elif name == 'packages': + if self._cached_packages is None: + self._cached_packages = [] + for pkg, fns in self._recipecache.packages.items(): + if self.fn in fns: + self._cached_packages.append(pkg) + return self._cached_packages + elif name == 'packages_dynamic': + if self._cached_packages_dynamic is None: + self._cached_packages_dynamic = [] + for pkg, fns in self._recipecache.packages_dynamic.items(): + if self.fn in fns: + self._cached_packages_dynamic.append(pkg) + return self._cached_packages_dynamic + elif name == 'rprovides': + if self._cached_rprovides is None: + self._cached_rprovides = [] + for pkg, fns in self._recipecache.rproviders.items(): + if self.fn in fns: + self._cached_rprovides.append(pkg) + return self._cached_rprovides + else: + raise AttributeError("%s instance has no attribute '%s'" % (self.__class__.__name__, name)) + def inherits(self, only_recipe=False): + """ + Get the inherited classes for a recipe. Returns the class names only. + Parameters: + only_recipe: True to return only the classes inherited by the recipe + itself, False to return all classes inherited within + the context for the recipe (which includes globally + inherited classes). + """ + if only_recipe: + global_inherit = [x for x in (self._d.getVar('BBINCLUDED') or '').split() if x.endswith('.bbclass')] + else: + global_inherit = [] + for clsfile in self.inherit_files: + if only_recipe and clsfile in global_inherit: + continue + clsname = os.path.splitext(os.path.basename(clsfile))[0] + yield clsname + def __str__(self): + return '%s' % self.pn + + class Tinfoil: def __init__(self, output=sys.stdout, tracking=False, setup_logging=True): @@ -401,6 +477,72 @@ class Tinfoil: def get_file_appends(self, fn): return self.run_command('getFileAppends', fn) + def all_recipes(self, mc='', sort=True): + """ + Enable iterating over all recipes in the current configuration. + Returns an iterator over TinfoilRecipeInfo objects created on demand. + Parameters: + mc: The multiconfig, default of '' uses the main configuration. + sort: True to sort recipes alphabetically (default), False otherwise + """ + recipecache = self.cooker.recipecaches[mc] + if sort: + recipes = sorted(recipecache.pkg_pn.items()) + else: + recipes = recipecache.pkg_pn.items() + for pn, fns in recipes: + prov = self.find_best_provider(pn) + recipe = TinfoilRecipeInfo(recipecache, + self.config_data, + pn=pn, + fn=prov[3], + fns=fns) + yield recipe + + def all_recipe_files(self, mc='', variants=True, preferred_only=False): + """ + Enable iterating over all recipe files in the current configuration. + Returns an iterator over file paths. + Parameters: + mc: The multiconfig, default of '' uses the main configuration. + variants: True to include variants of recipes created through + BBCLASSEXTEND (default) or False to exclude them + preferred_only: True to include only the preferred recipe where + multiple exist providing the same PN, False to list + all recipes + """ + recipecache = self.cooker.recipecaches[mc] + if preferred_only: + files = [] + for pn in recipecache.pkg_pn.keys(): + prov = self.find_best_provider(pn) + files.append(prov[3]) + else: + files = recipecache.pkg_fn.keys() + for fn in sorted(files): + if not variants and fn.startswith('virtual:'): + continue + yield fn + + + def get_recipe_info(self, pn, mc=''): + """ + Get information on a specific recipe in the current configuration by name (PN). + Returns a TinfoilRecipeInfo object created on demand. + Parameters: + mc: The multiconfig, default of '' uses the main configuration. + """ + recipecache = self.cooker.recipecaches[mc] + prov = self.find_best_provider(pn) + fn = prov[3] + actual_pn = recipecache.pkg_fn[fn] + recipe = TinfoilRecipeInfo(recipecache, + self.config_data, + pn=actual_pn, + fn=fn, + fns=recipecache.pkg_pn[actual_pn]) + return recipe + def parse_recipe(self, pn): """ Parse the specified recipe and return a datastore object -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 17:21:42 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 17:21:42 +0000 Subject: [oe-commits] [bitbake] 15/19: tinfoil: add more doc comments In-Reply-To: <150039848791.28081.10439687065883576610@git.openembedded.org> References: <150039848791.28081.10439687065883576610@git.openembedded.org> Message-ID: <20170718172128.780BA23357E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 1c3376162ed9c27404a94573303c9cfc07db675c Author: Paul Eggleton AuthorDate: Thu Jun 15 15:23:56 2017 +0200 tinfoil: add more doc comments Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/tinfoil.py | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index 960468e..f84a08f 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -55,6 +55,7 @@ class TinfoilCommandFailed(Exception): """Exception raised when run_command fails""" class TinfoilDataStoreConnector: + """Connector object used to enable access to datastore objects via tinfoil""" def __init__(self, tinfoil, dsindex): self.tinfoil = tinfoil @@ -294,8 +295,25 @@ class TinfoilRecipeInfo: class Tinfoil: + """ + Tinfoil - an API for scripts and utilities to query + BitBake internals and perform build operations. + """ def __init__(self, output=sys.stdout, tracking=False, setup_logging=True): + """ + Create a new tinfoil object. + Parameters: + output: specifies where console output should be sent. Defaults + to sys.stdout. + tracking: True to enable variable history tracking, False to + disable it (default). Enabling this has a minor + performance impact so typically it isn't enabled + unless you need to query variable history. + setup_logging: True to setup a logger so that things like + bb.warn() will work immediately and timeout warnings + are visible; False to let BitBake do this itself. + """ self.logger = logging.getLogger('BitBake') self.config_data = None self.cooker = None @@ -316,6 +334,37 @@ class Tinfoil: self.shutdown() def prepare(self, config_only=False, config_params=None, quiet=0, extra_features=None): + """ + Prepares the underlying BitBake system to be used via tinfoil. + This function must be called prior to calling any of the other + functions in the API. + NOTE: if you call prepare() you must absolutely call shutdown() + before your code terminates. You can use a "with" block to ensure + this happens e.g. + + with bb.tinfoil.Tinfoil() as tinfoil: + tinfoil.prepare() + ... + + Parameters: + config_only: True to read only the configuration and not load + the cache / parse recipes. This is useful if you just + want to query the value of a variable at the global + level or you want to do anything else that doesn't + involve knowing anything about the recipes in the + current configuration. False loads the cache / parses + recipes. + config_params: optionally specify your own configuration + parameters. If not specified an instance of + TinfoilConfigParameters will be created internally. + quiet: quiet level controlling console output - equivalent + to bitbake's -q/--quiet option. Default of 0 gives + the same output level as normal bitbake execution. + extra_features: extra features to be added to the feature + set requested from the server. See + CookerFeatures._feature_list for possible + features. + """ self.quiet = quiet if self.tracking: @@ -440,9 +489,16 @@ class Tinfoil: return self.server_connection.events.waitEvent(timeout) def get_overlayed_recipes(self): + """ + Find recipes which are overlayed (i.e. where recipes exist in multiple layers) + """ return defaultdict(list, self.run_command('getOverlayedRecipes')) def get_skipped_recipes(self): + """ + Find recipes which were skipped (i.e. SkipRecipe was raised + during parsing). + """ return OrderedDict(self.run_command('getSkippedRecipes')) def get_all_providers(self): @@ -475,6 +531,9 @@ class Tinfoil: return best[3] def get_file_appends(self, fn): + """ + Find the bbappends for a recipe file + """ return self.run_command('getFileAppends', fn) def all_recipes(self, mc='', sort=True): @@ -740,6 +799,12 @@ class Tinfoil: return ret def shutdown(self): + """ + Shut down tinfoil. Disconnects from the server and gracefully + releases any associated resources. You must call this function if + prepare() has been called, or use a with... block when you create + the tinfoil object which will ensure that it gets called. + """ if self.server_connection: self.run_command('clientComplete') _server_connections.remove(self.server_connection) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 17:21:43 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 17:21:43 +0000 Subject: [oe-commits] [bitbake] 16/19: fetch2: fix indentation In-Reply-To: <150039848791.28081.10439687065883576610@git.openembedded.org> References: <150039848791.28081.10439687065883576610@git.openembedded.org> Message-ID: <20170718172128.7E74A233548@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 6d313ffc96cb44d9c3aeea7d299923344de1ec0c Author: Paul Eggleton AuthorDate: Fri Jun 23 16:25:57 2017 +0200 fetch2: fix indentation Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/fetch2/__init__.py | 94 +++++++++++++++++++++++------------------------ 1 file changed, 47 insertions(+), 47 deletions(-) diff --git a/lib/bb/fetch2/__init__.py b/lib/bb/fetch2/__init__.py index ec65216..5c02317 100644 --- a/lib/bb/fetch2/__init__.py +++ b/lib/bb/fetch2/__init__.py @@ -48,11 +48,11 @@ logger = logging.getLogger("BitBake.Fetcher") class BBFetchException(Exception): """Class all fetch exceptions inherit from""" def __init__(self, message): - self.msg = message - Exception.__init__(self, message) + self.msg = message + Exception.__init__(self, message) def __str__(self): - return self.msg + return self.msg class UntrustedUrl(BBFetchException): """Exception raised when encountering a host not listed in BB_ALLOWED_NETWORKS""" @@ -68,24 +68,24 @@ class UntrustedUrl(BBFetchException): class MalformedUrl(BBFetchException): """Exception raised when encountering an invalid url""" def __init__(self, url, message=''): - if message: - msg = message - else: - msg = "The URL: '%s' is invalid and cannot be interpreted" % url - self.url = url - BBFetchException.__init__(self, msg) - self.args = (url,) + if message: + msg = message + else: + msg = "The URL: '%s' is invalid and cannot be interpreted" % url + self.url = url + BBFetchException.__init__(self, msg) + self.args = (url,) class FetchError(BBFetchException): """General fetcher exception when something happens incorrectly""" def __init__(self, message, url = None): - if url: + if url: msg = "Fetcher failure for URL: '%s'. %s" % (url, message) - else: + else: msg = "Fetcher failure: %s" % message - self.url = url - BBFetchException.__init__(self, msg) - self.args = (message, url) + self.url = url + BBFetchException.__init__(self, msg) + self.args = (message, url) class ChecksumError(FetchError): """Exception when mismatched checksum encountered""" @@ -99,44 +99,44 @@ class NoChecksumError(FetchError): class UnpackError(BBFetchException): """General fetcher exception when something happens incorrectly when unpacking""" def __init__(self, message, url): - msg = "Unpack failure for URL: '%s'. %s" % (url, message) - self.url = url - BBFetchException.__init__(self, msg) - self.args = (message, url) + msg = "Unpack failure for URL: '%s'. %s" % (url, message) + self.url = url + BBFetchException.__init__(self, msg) + self.args = (message, url) class NoMethodError(BBFetchException): """Exception raised when there is no method to obtain a supplied url or set of urls""" def __init__(self, url): - msg = "Could not find a fetcher which supports the URL: '%s'" % url - self.url = url - BBFetchException.__init__(self, msg) - self.args = (url,) + msg = "Could not find a fetcher which supports the URL: '%s'" % url + self.url = url + BBFetchException.__init__(self, msg) + self.args = (url,) class MissingParameterError(BBFetchException): """Exception raised when a fetch method is missing a critical parameter in the url""" def __init__(self, missing, url): - msg = "URL: '%s' is missing the required parameter '%s'" % (url, missing) - self.url = url - self.missing = missing - BBFetchException.__init__(self, msg) - self.args = (missing, url) + msg = "URL: '%s' is missing the required parameter '%s'" % (url, missing) + self.url = url + self.missing = missing + BBFetchException.__init__(self, msg) + self.args = (missing, url) class ParameterError(BBFetchException): """Exception raised when a url cannot be proccessed due to invalid parameters.""" def __init__(self, message, url): - msg = "URL: '%s' has invalid parameters. %s" % (url, message) - self.url = url - BBFetchException.__init__(self, msg) - self.args = (message, url) + msg = "URL: '%s' has invalid parameters. %s" % (url, message) + self.url = url + BBFetchException.__init__(self, msg) + self.args = (message, url) class NetworkAccess(BBFetchException): """Exception raised when network access is disabled but it is required.""" def __init__(self, url, cmd): - msg = "Network access disabled through BB_NO_NETWORK (or set indirectly due to use of BB_FETCH_PREMIRRORONLY) but access requested with command %s (for url %s)" % (cmd, url) - self.url = url - self.cmd = cmd - BBFetchException.__init__(self, msg) - self.args = (url, cmd) + msg = "Network access disabled through BB_NO_NETWORK (or set indirectly due to use of BB_FETCH_PREMIRRORONLY) but access requested with command %s (for url %s)" % (cmd, url) + self.url = url + self.cmd = cmd + BBFetchException.__init__(self, msg) + self.args = (url, cmd) class NonLocalMethod(Exception): def __init__(self): @@ -455,7 +455,7 @@ def uri_replace(ud, uri_find, uri_replace, replacements, d, mirrortarball=None): result_decoded[loc][k] = uri_replace_decoded[loc][k] elif (re.match(regexp, uri_decoded[loc])): if not uri_replace_decoded[loc]: - result_decoded[loc] = "" + result_decoded[loc] = "" else: for k in replacements: uri_replace_decoded[loc] = uri_replace_decoded[loc].replace(k, replacements[k]) @@ -733,7 +733,7 @@ def get_srcrev(d, method_name='sortable_revision'): In the multi SCM case, we build a value based on SRCREV_FORMAT which must have been set. - The idea here is that we put the string "AUTOINC+" into return value if the revisions are not + The idea here is that we put the string "AUTOINC+" into return value if the revisions are not incremental, other code is then responsible for turning that into an increasing value (if needed) A method_name can be supplied to retrieve an alternatively formatted revision from a fetcher, if @@ -785,7 +785,7 @@ def get_srcrev(d, method_name='sortable_revision'): format = re.sub(name_to_rev_re, lambda match: name_to_rev[match.group(0)], format) if seenautoinc: - format = "AUTOINC+" + format + format = "AUTOINC+" + format return format @@ -921,7 +921,7 @@ def build_mirroruris(origud, mirrors, ld): logger.debug(1, "Mirror fetch failure for url %s (original url: %s)" % (newuri, origud.url)) logger.debug(1, str(e)) try: - # setup_localpath of file:// urls may fail, we should still see + # setup_localpath of file:// urls may fail, we should still see # if mirrors of the url exist adduri(newud, uris, uds, localmirrors, tarballs) except UnboundLocalError: @@ -1117,7 +1117,7 @@ def srcrev_internal_helper(ud, d, name): attempts.append("SRCREV") for a in attempts: - srcrev = d.getVar(a) + srcrev = d.getVar(a) if srcrev and srcrev != "INVALID": break @@ -1230,7 +1230,7 @@ class FetchData(object): for m in methods: if m.supports(self, d): self.method = m - break + break if not self.method: raise NoMethodError(url) @@ -1265,7 +1265,7 @@ class FetchData(object): elif self.basepath or self.basename: basepath = dldir + os.sep + (self.basepath or self.basename) else: - bb.fatal("Can't determine lock path for url %s" % url) + bb.fatal("Can't determine lock path for url %s" % url) self.donestamp = basepath + '.done' self.lockfile = basepath + '.lock' @@ -1328,13 +1328,13 @@ class FetchMethod(object): if os.path.isdir(urldata.localpath) == True: return False if urldata.localpath.find("*") != -1: - return False + return False return True def recommends_checksum(self, urldata): """ - Is the backend on where checksumming is recommended (should warnings + Is the backend on where checksumming is recommended (should warnings be displayed if there is no checksum)? """ return False @@ -1614,7 +1614,7 @@ class Fetch(object): try: self.d.setVar("BB_NO_NETWORK", network) - + if verify_donestamp(ud, self.d) and not m.need_update(ud, self.d): localpath = ud.localpath elif m.try_premirror(ud, self.d): -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 17:21:38 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 17:21:38 +0000 Subject: [oe-commits] [bitbake] 11/19: tinfoil: enable access to additional cached items In-Reply-To: <150039848791.28081.10439687065883576610@git.openembedded.org> References: <150039848791.28081.10439687065883576610@git.openembedded.org> Message-ID: <20170718172128.5ACD223355A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit b3b3ad18be31bf51e7a639e3e37450f6adde779e Author: Paul Eggleton AuthorDate: Mon Jun 12 10:39:55 2017 +0200 tinfoil: enable access to additional cached items Add access to fn_provides, packages, packages_dynamic and rproviders on the recipecache object. This requires an additional corresponding command plumbing to be added. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/command.py | 32 ++++++++++++++++++++++++++++++++ lib/bb/tinfoil.py | 8 ++++++++ 2 files changed, 40 insertions(+) diff --git a/lib/bb/command.py b/lib/bb/command.py index 05803d6..0e0a35a 100644 --- a/lib/bb/command.py +++ b/lib/bb/command.py @@ -312,6 +312,38 @@ class CommandsSync: return command.cooker.recipecaches[mc].pkg_pepvpr getRecipeVersions.readonly = True + def getRecipeProvides(self, command, params): + try: + mc = params[0] + except IndexError: + mc = '' + return command.cooker.recipecaches[mc].fn_provides + getRecipeProvides.readonly = True + + def getRecipePackages(self, command, params): + try: + mc = params[0] + except IndexError: + mc = '' + return command.cooker.recipecaches[mc].packages + getRecipePackages.readonly = True + + def getRecipePackagesDynamic(self, command, params): + try: + mc = params[0] + except IndexError: + mc = '' + return command.cooker.recipecaches[mc].packages_dynamic + getRecipePackagesDynamic.readonly = True + + def getRProviders(self, command, params): + try: + mc = params[0] + except IndexError: + mc = '' + return command.cooker.recipecaches[mc].rproviders + getRProviders.readonly = True + def getRuntimeDepends(self, command, params): ret = [] try: diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index 945bd4b..0176b76 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -173,6 +173,14 @@ class TinfoilCookerAdapter: attrvalue = self.tinfoil.run_command('getBbFilePriority') or {} elif name == 'pkg_dp': attrvalue = self.tinfoil.run_command('getDefaultPreference') or {} + elif name == 'fn_provides': + attrvalue = self.tinfoil.run_command('getRecipeProvides') or {} + elif name == 'packages': + attrvalue = self.tinfoil.run_command('getRecipePackages') or {} + elif name == 'packages_dynamic': + attrvalue = self.tinfoil.run_command('getRecipePackagesDynamic') or {} + elif name == 'rproviders': + attrvalue = self.tinfoil.run_command('getRProviders') or {} else: raise AttributeError("%s instance has no attribute '%s'" % (self.__class__.__name__, name)) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 17:21:41 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 17:21:41 +0000 Subject: [oe-commits] [bitbake] 14/19: cooker: fix whitespace In-Reply-To: <150039848791.28081.10439687065883576610@git.openembedded.org> References: <150039848791.28081.10439687065883576610@git.openembedded.org> Message-ID: <20170718172128.70FE323357A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit f42d4e9d957ec4af66286bc82e40da3eb959ee21 Author: Paul Eggleton AuthorDate: Wed Jun 14 16:12:51 2017 +0200 cooker: fix whitespace Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/cooker.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py index 384757f..75792ae 100644 --- a/lib/bb/cooker.py +++ b/lib/bb/cooker.py @@ -181,13 +181,13 @@ class BBCooker: self.confignotifier = pyinotify.Notifier(self.configwatcher, self.config_notifications) self.watchmask = pyinotify.IN_CLOSE_WRITE | pyinotify.IN_CREATE | pyinotify.IN_DELETE | \ pyinotify.IN_DELETE_SELF | pyinotify.IN_MODIFY | pyinotify.IN_MOVE_SELF | \ - pyinotify.IN_MOVED_FROM | pyinotify.IN_MOVED_TO + pyinotify.IN_MOVED_FROM | pyinotify.IN_MOVED_TO self.watcher = pyinotify.WatchManager() self.watcher.bbseen = [] self.watcher.bbwatchedfiles = [] self.notifier = pyinotify.Notifier(self.watcher, self.notifications) - # If being called by something like tinfoil, we need to clean cached data + # If being called by something like tinfoil, we need to clean cached data # which may now be invalid bb.parse.__mtime_cache = {} bb.parse.BBHandler.cached_statements = {} @@ -269,7 +269,7 @@ class BBCooker: watchtarget = None while True: # We try and add watches for files that don't exist but if they did, would influence - # the parser. The parent directory of these files may not exist, in which case we need + # the parser. The parent directory of these files may not exist, in which case we need # to watch any parent that does exist for changes. try: watcher.add_watch(f, self.watchmask, quiet=False) @@ -427,7 +427,7 @@ class BBCooker: del self.configuration.env[k] clean = False if k not in self.configuration.env and k not in environment: - continue + continue if environment[k] != self.configuration.env[k]: logger.debug(1, "Updating environment variable %s from %s to %s" % (k, self.configuration.env[k], environment[k])) self.configuration.env[k] = environment[k] -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 17:21:46 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 17:21:46 +0000 Subject: [oe-commits] [bitbake] 19/19: knotty: make it possible to use termfilter without consoles In-Reply-To: <150039848791.28081.10439687065883576610@git.openembedded.org> References: <150039848791.28081.10439687065883576610@git.openembedded.org> Message-ID: <20170718172128.907202335A2@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 0ee532e2918a4b561280723c27d6861d414e5410 Author: Paul Eggleton AuthorDate: Thu Jun 29 13:50:36 2017 +0100 knotty: make it possible to use termfilter without consoles This isn't useful for knotty itself, but for use from tinfoil in case we can't get access to either the console or errconsole, allow either to be unspecified (None). Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/ui/knotty.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/bb/ui/knotty.py b/lib/bb/ui/knotty.py index c301982..f3900bd 100644 --- a/lib/bb/ui/knotty.py +++ b/lib/bb/ui/knotty.py @@ -207,8 +207,10 @@ class TerminalFilter(object): self.interactive = False bb.note("Unable to use interactive mode for this terminal, using fallback") return - console.addFilter(InteractConsoleLogFilter(self, format)) - errconsole.addFilter(InteractConsoleLogFilter(self, format)) + if console: + console.addFilter(InteractConsoleLogFilter(self, format)) + if errconsole: + errconsole.addFilter(InteractConsoleLogFilter(self, format)) self.main_progress = None -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 17:21:40 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 17:21:40 +0000 Subject: [oe-commits] [bitbake] 13/19: cache.py: fix whitespace In-Reply-To: <150039848791.28081.10439687065883576610@git.openembedded.org> References: <150039848791.28081.10439687065883576610@git.openembedded.org> Message-ID: <20170718172128.697D0233579@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit b9fa57bcdda5e1dd22eda31325fbef524ed527ef Author: Paul Eggleton AuthorDate: Wed Jun 14 16:11:39 2017 +0200 cache.py: fix whitespace Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/cache.py | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/lib/bb/cache.py b/lib/bb/cache.py index 5143992..86ce0e7 100644 --- a/lib/bb/cache.py +++ b/lib/bb/cache.py @@ -86,9 +86,9 @@ class RecipeInfoCommon(object): class CoreRecipeInfo(RecipeInfoCommon): __slots__ = () - cachefile = "bb_cache.dat" + cachefile = "bb_cache.dat" - def __init__(self, filename, metadata): + def __init__(self, filename, metadata): self.file_depends = metadata.getVar('__depends', False) self.timestamp = bb.parse.cached_mtime(filename) self.variants = self.listvar('__VARIANTS', metadata) + [''] @@ -122,7 +122,7 @@ class CoreRecipeInfo(RecipeInfoCommon): self.defaultpref = self.intvar('DEFAULT_PREFERENCE', metadata) self.not_world = self.getvar('EXCLUDE_FROM_WORLD', metadata) self.stamp = self.getvar('STAMP', metadata) - self.stampclean = self.getvar('STAMPCLEAN', metadata) + self.stampclean = self.getvar('STAMPCLEAN', metadata) self.stamp_extrainfo = self.flaglist('stamp-extra-info', self.tasks, metadata) self.file_checksums = self.flaglist('file-checksums', self.tasks, metadata, True) self.packages_dynamic = self.listvar('PACKAGES_DYNAMIC', metadata) @@ -375,8 +375,8 @@ class Cache(NoCache): data = databuilder.data # Pass caches_array information into Cache Constructor - # It will be used later for deciding whether we - # need extra cache file dump/load support + # It will be used later for deciding whether we + # need extra cache file dump/load support self.caches_array = caches_array self.cachedir = data.getVar("CACHE") self.clean = set() @@ -421,7 +421,7 @@ class Cache(NoCache): cachesize += os.fstat(cachefile.fileno()).st_size bb.event.fire(bb.event.CacheLoadStarted(cachesize), self.data) - + for cache_class in self.caches_array: cachefile = getCacheFile(self.cachedir, cache_class.cachefile, self.data_hash) with open(cachefile, "rb") as cachefile: @@ -438,8 +438,8 @@ class Cache(NoCache): logger.info('Cache version mismatch, rebuilding...') return elif bitbake_ver != bb.__version__: - logger.info('Bitbake version mismatch, rebuilding...') - return + logger.info('Bitbake version mismatch, rebuilding...') + return # Load the rest of the cache file current_progress = 0 @@ -616,13 +616,13 @@ class Cache(NoCache): a = fl.find(":True") b = fl.find(":False") if ((a < 0) and b) or ((b > 0) and (b < a)): - f = fl[:b+6] - fl = fl[b+7:] + f = fl[:b+6] + fl = fl[b+7:] elif ((b < 0) and a) or ((a > 0) and (a < b)): - f = fl[:a+5] - fl = fl[a+6:] + f = fl[:a+5] + fl = fl[a+6:] else: - break + break fl = fl.strip() if "*" in f: continue @@ -886,4 +886,3 @@ class MultiProcessCache(object): p.dump([data, self.__class__.CACHE_VERSION]) bb.utils.unlockfile(glf) - -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 17:21:44 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 17:21:44 +0000 Subject: [oe-commits] [bitbake] 17/19: fetch2: allow hiding checksum warning In-Reply-To: <150039848791.28081.10439687065883576610@git.openembedded.org> References: <150039848791.28081.10439687065883576610@git.openembedded.org> Message-ID: <20170718172128.847A423359F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 3ff3d2a7dadf0047a0d41711db94a9cb62deebda Author: Paul Eggleton AuthorDate: Tue Jun 27 15:51:32 2017 +0100 fetch2: allow hiding checksum warning If BB_STRICT_CHECKSUMS is set to "ignore" then don't display a warning if no checksums are specified in the recipe. This is not intended to be used from recipes - it is needed when we move to using more standard code paths to fetch new files from scripts i.e. where we don't know what the checksums are in advance. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/fetch2/__init__.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/bb/fetch2/__init__.py b/lib/bb/fetch2/__init__.py index 5c02317..2e615b2 100644 --- a/lib/bb/fetch2/__init__.py +++ b/lib/bb/fetch2/__init__.py @@ -584,6 +584,12 @@ def verify_checksum(ud, d, precomputed={}): ud.sha256_name, sha256data)) raise NoChecksumError('Missing SRC_URI checksum', ud.url) + if strict == "ignore": + return { + _MD5_KEY: md5data, + _SHA256_KEY: sha256data + } + # Log missing sums so user can more easily add them logger.warning('Missing md5 SRC_URI checksum for %s, consider adding to the recipe:\n' 'SRC_URI[%s] = "%s"', -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 17:21:45 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 17:21:45 +0000 Subject: [oe-commits] [bitbake] 18/19: fetch2: fire an event when there are missing checksums In-Reply-To: <150039848791.28081.10439687065883576610@git.openembedded.org> References: <150039848791.28081.10439687065883576610@git.openembedded.org> Message-ID: <20170718172128.8A9702335A0@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 8485935c3d0ac88b3d76f6fd9d27c8c38acef885 Author: Paul Eggleton AuthorDate: Tue Jun 27 15:54:37 2017 +0100 fetch2: fire an event when there are missing checksums If BB_STRICT_CHECKSUMS is set to anything other than "1" i.e. we're not going to raise an error, then fire an event so that scripts can listen for it and get the checksums. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/fetch2/__init__.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/bb/fetch2/__init__.py b/lib/bb/fetch2/__init__.py index 2e615b2..74ba37f 100644 --- a/lib/bb/fetch2/__init__.py +++ b/lib/bb/fetch2/__init__.py @@ -39,6 +39,7 @@ import errno import bb.persist_data, bb.utils import bb.checksum import bb.process +import bb.event __version__ = "2" _checksum_cache = bb.checksum.FileChecksumCache() @@ -142,6 +143,13 @@ class NonLocalMethod(Exception): def __init__(self): Exception.__init__(self) +class MissingChecksumEvent(bb.event.Event): + def __init__(self, url, md5sum, sha256sum): + self.url = url + self.checksums = {'md5sum': md5sum, + 'sha256sum': sha256sum} + bb.event.Event.__init__(self) + class URI(object): """ @@ -584,6 +592,8 @@ def verify_checksum(ud, d, precomputed={}): ud.sha256_name, sha256data)) raise NoChecksumError('Missing SRC_URI checksum', ud.url) + bb.event.fire(MissingChecksumEvent(ud.url, md5data, sha256data), d) + if strict == "ignore": return { _MD5_KEY: md5data, -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:32:50 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:32:50 +0000 Subject: [oe-commits] [bitbake] branch master updated: bb/server/process: Handle EINTR on idle_commands select Message-ID: <150041357059.23047.7693559720266976977@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository bitbake. The following commit(s) were added to refs/heads/master by this push: new 96bb174 bb/server/process: Handle EINTR on idle_commands select 96bb174 is described below commit 96bb174325493764718c61c12c943c37b882cd61 Author: An?bal Lim?n AuthorDate: Mon Jul 17 16:45:12 2017 -0500 bb/server/process: Handle EINTR on idle_commands select If a signal is sent like SIGWINCH the select could be interrupted so ignore the InterruptError like in XMLRPC server [1]. [1] http://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/bitbake/lib/bb/server/xmlrpc.py#n307 Signed-off-by: An?bal Lim?n Signed-off-by: Richard Purdie --- lib/bb/server/process.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/bb/server/process.py b/lib/bb/server/process.py index f8d6767..a8ba468 100644 --- a/lib/bb/server/process.py +++ b/lib/bb/server/process.py @@ -186,7 +186,12 @@ class ProcessServer(Process, BaseImplServer): nextsleep = self.next_heartbeat - now if nextsleep is not None: - select.select(fds,[],[],nextsleep) + try: + select.select(fds,[],[],nextsleep) + except InterruptedError: + # ignore EINTR error, nextsleep only used for wait + # certain time + pass def runCommand(self, command): """ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:32:58 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:32:58 +0000 Subject: [oe-commits] [bitbake] 03/23: cookerdata: Add a function to find TOPDIR In-Reply-To: <150041357528.23220.15334549277574213739@git.openembedded.org> References: <150041357528.23220.15334549277574213739@git.openembedded.org> Message-ID: <20170718213255.7AF33233550@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit f6b8c33cb6a7ec18cf13d0ecc323019d11efbc63 Author: Richard Purdie AuthorDate: Tue Jul 18 22:18:53 2017 +0100 cookerdata: Add a function to find TOPDIR Finding the top level build directory is currently hard and relies on having a complete cooker being setup. Add a helper function which does the same thing without all the extra overhead. This is needed to be able to locate the bitbake lockfile and hence the socket for connecting clients in the new server model. Signed-off-by: Richard Purdie --- lib/bb/cookerdata.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/lib/bb/cookerdata.py b/lib/bb/cookerdata.py index 644bb38..aa0a641 100644 --- a/lib/bb/cookerdata.py +++ b/lib/bb/cookerdata.py @@ -230,6 +230,27 @@ def findConfigFile(configfile, data): return None +# +# We search for a conf/bblayers.conf under an entry in BBPATH or in cwd working +# up to /. If that fails, we search for a conf/bitbake.conf in BBPATH. +# + +def findTopdir(): + d = bb.data.init() + bbpath = None + if 'BBPATH' in os.environ: + bbpath = os.environ['BBPATH'] + d.setVar('BBPATH', bbpath) + + layerconf = findConfigFile("bblayers.conf", d) + if layerconf: + return os.path.dirname(os.path.dirname(layerconf)) + if bbpath: + bitbakeconf = bb.utils.which(bbpath, "conf/bitbake.conf") + if bitbakeconf: + return os.path.dirname(os.path.dirname(bitbakeconf)) + return None + class CookerDataBuilder(object): def __init__(self, cookercfg, worker = False): -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:32:59 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:32:59 +0000 Subject: [oe-commits] [bitbake] 04/23: daemonize: Various fixes In-Reply-To: <150041357528.23220.15334549277574213739@git.openembedded.org> References: <150041357528.23220.15334549277574213739@git.openembedded.org> Message-ID: <20170718213255.80FC4233552@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 2b1f4cd94268d1846059c6572a18bd7c86fb6838 Author: Richard Purdie AuthorDate: Tue Jul 18 22:22:12 2017 +0100 daemonize: Various fixes Currently if this code is used with something like oeqa's xml logging it fails as sys.stdout is an io stream. Add in try/except to handle this case. Add a waitpid() call to remove a zombie whilst forking. Also, append to the logfile, don't overwrite it (otherwise debugging can be a real pain when the server is restarting for unknown reasons). Signed-off-by: Richard Purdie --- lib/bb/daemonize.py | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/lib/bb/daemonize.py b/lib/bb/daemonize.py index ab4a954..8380828 100644 --- a/lib/bb/daemonize.py +++ b/lib/bb/daemonize.py @@ -29,6 +29,7 @@ __version__ = "0.2" # Standard Python modules. import os # Miscellaneous OS interfaces. import sys # System-specific parameters and functions. +import io # Default daemon parameters. # File mode creation mask of the daemon. @@ -124,6 +125,7 @@ def createDaemon(function, logfile): # streams to be flushed twice and any temporary files may be unexpectedly # removed. It's therefore recommended that child branches of a fork() # and the parent branch(es) of a daemon use _exit(). + os.waitpid(pid, 0) return # Close all open file descriptors. This prevents the child from keeping @@ -177,16 +179,18 @@ def createDaemon(function, logfile): # os.dup2(0, 1) # standard output (1) # os.dup2(0, 2) # standard error (2) - - si = open('/dev/null', 'r') - so = open(logfile, 'w') - se = so - - # Replace those fds with our own + si = open('/dev/null', 'r') os.dup2(si.fileno(), sys.stdin.fileno()) - os.dup2(so.fileno(), sys.stdout.fileno()) - os.dup2(se.fileno(), sys.stderr.fileno()) + + try: + so = open(logfile, 'a+') + se = so + os.dup2(so.fileno(), sys.stdout.fileno()) + os.dup2(se.fileno(), sys.stderr.fileno()) + except io.UnsupportedOperation: + sys.stdout = open(logfile, 'a+') + sys.stderr = sys.stdout function() -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:32:55 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:32:55 +0000 Subject: [oe-commits] [bitbake] branch master-next updated (0ee532e -> b150d01) Message-ID: <150041357528.23220.15334549277574213739@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master-next in repository bitbake. discard 0ee532e knotty: make it possible to use termfilter without consoles discard 8485935 fetch2: fire an event when there are missing checksums discard 3ff3d2a fetch2: allow hiding checksum warning discard 6d313ff fetch2: fix indentation discard 1c33761 tinfoil: add more doc comments discard f42d4e9 cooker: fix whitespace discard b9fa57b cache.py: fix whitespace discard ac389f9 tinfoil: add simple API for getting cached recipe information discard b3b3ad1 tinfoil: enable access to additional cached items discard 0182ca9 cookerdata: fix indentation and trailing spaces discard 1597ccd tinfoil: add functionality for running full builds discard 20fecef lib/bb/ui/uihelper: indicate to caller of eventHandler() if events handled discard 90d88e4 lib/bb/event: refactor printing events discard 2370eb8 tinfoil: set a flag when recipes have been parsed discard 28ab1b1 tinfoil: add a parse_recipes() function discard 16924cd tinfoil: add internal mode to build_file() function discard 8af38b3 knotty: fix indentation discard 258b2c5 cookerdata/cooker: Restore original datastore upon client disconnect discard c2b8d9d server: Rework the server API so process and xmlrpc servers coexist add 96bb174 bb/server/process: Handle EINTR on idle_commands select new 4c1d783 event/command: Allow UI to request the UI eventhander ID new db127f9 server: Remove base classes and inline code new f6b8c33 cookerdata: Add a function to find TOPDIR new 2b1f4cd daemonize: Various fixes new d24791e server: Rework the server API so process and xmlrpc servers coexist new 5d42de9 cookerdata/cooker: Restore original datastore upon client disconnect new a9df726 knotty: fix indentation new edf695c tinfoil: add internal mode to build_file() function new 436b892 tinfoil: add a parse_recipes() function new cbd6612 tinfoil: set a flag when recipes have been parsed new dc6fd78 lib/bb/event: refactor printing events new ac33b55 lib/bb/ui/uihelper: indicate to caller of eventHandler() if events handled new cd3ebf3 tinfoil: add functionality for running full builds new b430d5c cookerdata: fix indentation and trailing spaces new 12f4806 tinfoil: enable access to additional cached items new db01cc7 tinfoil: add simple API for getting cached recipe information new 1a17e0e cache.py: fix whitespace new 82f154e cooker: fix whitespace new f067b94 tinfoil: add more doc comments new 86b7188 fetch2: fix indentation new a7ea92c fetch2: allow hiding checksum warning new 6d6d117 fetch2: fire an event when there are missing checksums new b150d01 knotty: make it possible to use termfilter without consoles This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (0ee532e) \ N -- N -- N refs/heads/master-next (b150d01) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 23 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: lib/bb/cooker.py | 3 - lib/bb/main.py | 4 +- lib/bb/server/process.py | 4 +- lib/bb/server/process.py.orig | 323 ++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 327 insertions(+), 7 deletions(-) create mode 100644 lib/bb/server/process.py.orig -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:32:57 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:32:57 +0000 Subject: [oe-commits] [bitbake] 02/23: server: Remove base classes and inline code In-Reply-To: <150041357528.23220.15334549277574213739@git.openembedded.org> References: <150041357528.23220.15334549277574213739@git.openembedded.org> Message-ID: <20170718213255.71C5623354E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit db127f9e628c2b794b62b8a37bbc225aaf355223 Author: Richard Purdie AuthorDate: Tue Jul 18 22:15:17 2017 +0100 server: Remove base classes and inline code In preparation for rewriting this code, expand the relatively useless base classes into the code itself. Signed-off-by: Richard Purdie --- lib/bb/server/__init__.py | 72 ----------------------------------------------- lib/bb/server/process.py | 34 ++++++++++++++++++---- lib/bb/server/xmlrpc.py | 60 +++++++++++++++++++++++++++++++++------ 3 files changed, 80 insertions(+), 86 deletions(-) diff --git a/lib/bb/server/__init__.py b/lib/bb/server/__init__.py index 538a633..345691e 100644 --- a/lib/bb/server/__init__.py +++ b/lib/bb/server/__init__.py @@ -25,75 +25,3 @@ approach to the interface, and minimize risks associated with code duplication. """ -""" BaseImplServer() the base class for all XXServer() implementations. - - These classes contain the actual code that runs the server side, i.e. - listens for the commands and executes them. Although these implementations - contain all the data of the original bitbake command, i.e the cooker instance, - they may well run on a different process or even machine. - -""" - -class BaseImplServer(): - def __init__(self): - self._idlefuns = {} - - def addcooker(self, cooker): - self.cooker = cooker - - def register_idle_function(self, function, data): - """Register a function to be called while the server is idle""" - assert hasattr(function, '__call__') - self._idlefuns[function] = data - - - -""" BitBakeBaseServerConnection class is the common ancestor to all - BitBakeServerConnection classes. - - These classes control the remote server. The only command currently - implemented is the terminate() command. - -""" - -class BitBakeBaseServerConnection(): - def __init__(self, serverImpl): - pass - - def terminate(self): - pass - - def setupEventQueue(self): - pass - - -""" BitBakeBaseServer class is the common ancestor to all Bitbake servers - - Derive this class in order to implement a BitBakeServer which is the - controlling stub for the actual server implementation - -""" -class BitBakeBaseServer(object): - def initServer(self): - self.serverImpl = None # we ensure a runtime crash if not overloaded - self.connection = None - return - - def addcooker(self, cooker): - self.cooker = cooker - self.serverImpl.addcooker(cooker) - - def getServerIdleCB(self): - return self.serverImpl.register_idle_function - - def saveConnectionDetails(self): - return - - def detach(self): - return - - def establishConnection(self, featureset): - raise "Must redefine the %s.establishConnection()" % self.__class__.__name__ - - def endSession(self): - self.connection.terminate() diff --git a/lib/bb/server/process.py b/lib/bb/server/process.py index cfcd764..48da7fe 100644 --- a/lib/bb/server/process.py +++ b/lib/bb/server/process.py @@ -33,8 +33,6 @@ import select from queue import Empty from multiprocessing import Event, Process, util, Queue, Pipe, queues, Manager -from . import BitBakeBaseServer, BitBakeBaseServerConnection, BaseImplServer - logger = logging.getLogger('BitBake') class ServerCommunicator(): @@ -85,12 +83,12 @@ class EventAdapter(): print("EventAdapter puked: %s" % str(err)) -class ProcessServer(Process, BaseImplServer): +class ProcessServer(Process): profile_filename = "profile.log" profile_processed_filename = "profile.log.processed" def __init__(self, command_channel, event_queue, featurelist): - BaseImplServer.__init__(self) + self._idlefuns = {} Process.__init__(self) self.command_channel = command_channel self.event_queue = event_queue @@ -208,7 +206,15 @@ class ProcessServer(Process, BaseImplServer): self.quitin.send("quit") self.quitin.close() -class BitBakeProcessServerConnection(BitBakeBaseServerConnection): + def addcooker(self, cooker): + self.cooker = cooker + + def register_idle_function(self, function, data): + """Register a function to be called while the server is idle""" + assert hasattr(function, '__call__') + self._idlefuns[function] = data + +class BitBakeProcessServerConnection(object): def __init__(self, serverImpl, ui_channel, event_queue): self.procserver = serverImpl self.ui_channel = ui_channel @@ -247,6 +253,9 @@ class BitBakeProcessServerConnection(BitBakeBaseServerConnection): # fd leakage because isn't called on Queue.close() self.event_queue._writer.close() + def setupEventQueue(self): + pass + # Wrap Queue to provide API which isn't server implementation specific class ProcessEventQueue(multiprocessing.queues.Queue): def __init__(self, maxsize): @@ -279,7 +288,7 @@ class ProcessEventQueue(multiprocessing.queues.Queue): sys.exit(1) return None -class BitBakeServer(BitBakeBaseServer): +class BitBakeServer(object): def initServer(self, single_use=True): # establish communication channels. We use bidirectional pipes for # ui <--> server command/response pairs @@ -304,3 +313,16 @@ class BitBakeServer(BitBakeBaseServer): raise BaseException(error) signal.signal(signal.SIGTERM, lambda i, s: self.connection.sigterm_terminate()) return self.connection + + def addcooker(self, cooker): + self.cooker = cooker + self.serverImpl.addcooker(cooker) + + def getServerIdleCB(self): + return self.serverImpl.register_idle_function + + def saveConnectionDetails(self): + return + + def endSession(self): + self.connection.terminate() diff --git a/lib/bb/server/xmlrpc.py b/lib/bb/server/xmlrpc.py index 1a475e0..6874765 100644 --- a/lib/bb/server/xmlrpc.py +++ b/lib/bb/server/xmlrpc.py @@ -49,7 +49,6 @@ from xmlrpc.server import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler import bb from bb import daemonize from bb.ui import uievent -from . import BitBakeBaseServer, BitBakeBaseServerConnection, BaseImplServer DEBUG = False @@ -193,15 +192,25 @@ class BitBakeXMLRPCRequestHandler(SimpleXMLRPCRequestHandler): self.wfile.write(bytes(response, 'utf-8')) -class XMLRPCProxyServer(BaseImplServer): +class XMLRPCProxyServer(object): """ not a real working server, but a stub for a proxy server connection """ def __init__(self, host, port, use_builtin_types=True): self.host = host self.port = port + self._idlefuns = {} -class XMLRPCServer(SimpleXMLRPCServer, BaseImplServer): + def addcooker(self, cooker): + self.cooker = cooker + + def register_idle_function(self, function, data): + """Register a function to be called while the server is idle""" + assert hasattr(function, '__call__') + self._idlefuns[function] = data + + +class XMLRPCServer(SimpleXMLRPCServer): # remove this when you're done with debugging # allow_reuse_address = True @@ -209,7 +218,7 @@ class XMLRPCServer(SimpleXMLRPCServer, BaseImplServer): """ Constructor """ - BaseImplServer.__init__(self) + self._idlefuns = {} self.single_use = single_use # Use auto port configuration if (interface[1] == -1): @@ -231,7 +240,7 @@ class XMLRPCServer(SimpleXMLRPCServer, BaseImplServer): self.next_heartbeat = time.time() def addcooker(self, cooker): - BaseImplServer.addcooker(self, cooker) + self.cooker = cooker self.commands.cooker = cooker def autoregister_all_functions(self, context, prefix): @@ -335,7 +344,13 @@ class XMLRPCServer(SimpleXMLRPCServer, BaseImplServer): def set_connection_token(self, token): self.connection_token = token -class BitBakeXMLRPCServerConnection(BitBakeBaseServerConnection): + def register_idle_function(self, function, data): + """Register a function to be called while the server is idle""" + assert hasattr(function, '__call__') + self._idlefuns[function] = data + + +class BitBakeXMLRPCServerConnection(object): def __init__(self, serverImpl, clientinfo=("localhost", 0), observer_only = False, featureset = None): self.connection, self.transport = _create_server(serverImpl.host, serverImpl.port) self.clientinfo = clientinfo @@ -388,7 +403,7 @@ class BitBakeXMLRPCServerConnection(BitBakeBaseServerConnection): except: pass -class BitBakeServer(BitBakeBaseServer): +class BitBakeServer(object): def initServer(self, interface = ("localhost", 0), single_use = False, idle_timeout=0): self.interface = interface @@ -405,7 +420,20 @@ class BitBakeServer(BitBakeBaseServer): def set_connection_token(self, token): self.connection.transport.set_connection_token(token) -class BitBakeXMLRPCClient(BitBakeBaseServer): + def addcooker(self, cooker): + self.cooker = cooker + self.serverImpl.addcooker(cooker) + + def getServerIdleCB(self): + return self.serverImpl.register_idle_function + + def saveConnectionDetails(self): + return + + def endSession(self): + self.connection.terminate() + +class BitBakeXMLRPCClient(object): def __init__(self, observer_only = False, token = None): self.token = token @@ -446,3 +474,19 @@ class BitBakeXMLRPCClient(BitBakeBaseServer): def endSession(self): self.connection.removeClient() + + def initServer(self): + self.serverImpl = None + self.connection = None + return + + def addcooker(self, cooker): + self.cooker = cooker + self.serverImpl.addcooker(cooker) + + def getServerIdleCB(self): + return self.serverImpl.register_idle_function + + def detach(self): + return + -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:32:56 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:32:56 +0000 Subject: [oe-commits] [bitbake] 01/23: event/command: Allow UI to request the UI eventhander ID In-Reply-To: <150041357528.23220.15334549277574213739@git.openembedded.org> References: <150041357528.23220.15334549277574213739@git.openembedded.org> Message-ID: <20170718213255.6866D23354C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 4c1d783a136a934b250d1093042b71d33d99b37b Author: Richard Purdie AuthorDate: Tue Jul 18 22:01:15 2017 +0100 event/command: Allow UI to request the UI eventhander ID The UI may want to change its event mask however to do this, it needs the event handler's ID. Tweak the code to allow this to be stored and add a command to query it. Use the new command in the process server backend. Signed-off-by: Richard Purdie --- lib/bb/command.py | 5 +++++ lib/bb/event.py | 11 ++++++++--- lib/bb/server/process.py | 7 ++++++- 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/lib/bb/command.py b/lib/bb/command.py index 36891b9..eb7c86f 100644 --- a/lib/bb/command.py +++ b/lib/bb/command.py @@ -238,6 +238,11 @@ class CommandsSync: return command.cooker.matchFile(fMatch) matchFile.needconfig = False + def getUIHandlerNum(self, command, params): + return bb.event.get_uihandler() + getUIHandlerNum.needconfig = False + getUIHandlerNum.readonly = True + def setEventMask(self, command, params): handlerNum = params[0] llevel = params[1] diff --git a/lib/bb/event.py b/lib/bb/event.py index d5c5ef3..92ee3e9 100644 --- a/lib/bb/event.py +++ b/lib/bb/event.py @@ -288,13 +288,13 @@ def set_eventfilter(func): _eventfilter = func def register_UIHhandler(handler, mainui=False): - if mainui: - global _uiready - _uiready = True bb.event._ui_handler_seq = bb.event._ui_handler_seq + 1 _ui_handlers[_ui_handler_seq] = handler level, debug_domains = bb.msg.constructLogOptions() _ui_logfilters[_ui_handler_seq] = UIEventFilter(level, debug_domains) + if mainui: + global _uiready + _uiready = _ui_handler_seq return _ui_handler_seq def unregister_UIHhandler(handlerNum, mainui=False): @@ -305,6 +305,11 @@ def unregister_UIHhandler(handlerNum, mainui=False): del _ui_handlers[handlerNum] return +def get_uihandler(): + if _uiready is False: + return None + return _uiready + # Class to allow filtering of events and specific filtering of LogRecords *before* we put them over the IPC class UIEventFilter(object): def __init__(self, level, debug_domains): diff --git a/lib/bb/server/process.py b/lib/bb/server/process.py index a8ba468..cfcd764 100644 --- a/lib/bb/server/process.py +++ b/lib/bb/server/process.py @@ -63,7 +63,12 @@ class ServerCommunicator(): pass def getEventHandle(self): - return self.event_handle.value + handle, error = self.runCommand(["getUIHandlerNum"]) + if error: + logger.error("Unable to get UI Handler Number: %s" % error) + raise BaseException(error) + + return handle class EventAdapter(): """ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:33:01 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:33:01 +0000 Subject: [oe-commits] [bitbake] 06/23: cookerdata/cooker: Restore original datastore upon client disconnect In-Reply-To: <150041357528.23220.15334549277574213739@git.openembedded.org> References: <150041357528.23220.15334549277574213739@git.openembedded.org> Message-ID: <20170718213255.99C53233556@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 5d42de9cfd073972783f179932abfb6e7b1fc36b Author: Richard Purdie AuthorDate: Tue Jul 18 17:50:24 2017 +0100 cookerdata/cooker: Restore original datastore upon client disconnect Signed-off-by: Richard Purdie --- lib/bb/cooker.py | 2 ++ lib/bb/cookerdata.py | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py index 313090b..a3058dd 100644 --- a/lib/bb/cooker.py +++ b/lib/bb/cooker.py @@ -1566,6 +1566,8 @@ class BBCooker: def clientComplete(self): """Called when the client is done using the server""" self.finishcommand() + self.databuilder.reset() + self.data = self.databuilder.data def server_main(cooker, func, *args): cooker.pre_serve() diff --git a/lib/bb/cookerdata.py b/lib/bb/cookerdata.py index 9d1d3d2..e6662d0 100644 --- a/lib/bb/cookerdata.py +++ b/lib/bb/cookerdata.py @@ -328,6 +328,13 @@ class CookerDataBuilder(object): logger.exception("Error parsing configuration files") raise bb.BBHandledException + # Create a copy so we can reset at a later date when UIs disconnect + self.origdata = self.data + self.data = bb.data.createCopy(self.origdata) + + def reset(self): + self.data = bb.data.createCopy(self.origdata) + def _findLayerConf(self, data): return findConfigFile("bblayers.conf", data) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:33:04 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:33:04 +0000 Subject: [oe-commits] [bitbake] 09/23: tinfoil: add a parse_recipes() function In-Reply-To: <150041357528.23220.15334549277574213739@git.openembedded.org> References: <150041357528.23220.15334549277574213739@git.openembedded.org> Message-ID: <20170718213255.ABC7A23355A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 436b892e46739fc948fe53bf59f87eb7fccfc42f Author: Paul Eggleton AuthorDate: Wed May 17 17:10:35 2017 +1200 tinfoil: add a parse_recipes() function Python style recommends underscore based naming rather than camelCase, and thus the former has been used for most of tinfoil's functions. Add an underscored version of parseRecipes() for consistency and change the one place we call it to use the new version. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- bin/bitbake-layers | 2 +- lib/bb/tinfoil.py | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/bin/bitbake-layers b/bin/bitbake-layers index 04e6bec..d184011 100755 --- a/bin/bitbake-layers +++ b/bin/bitbake-layers @@ -90,7 +90,7 @@ def main(): if getattr(args, 'parserecipes', False): tinfoil.config_data.disableTracking() - tinfoil.parseRecipes() + tinfoil.parse_recipes() tinfoil.config_data.enableTracking() return args.func(args) diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index 65ebdc2..ddc7b06 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -289,7 +289,13 @@ class Tinfoil: def parseRecipes(self): """ - Force a parse of all recipes. Normally you should specify + Legacy function - use parse_recipes() instead. + """ + self.parse_recipes() + + def parse_recipes(self): + """ + Load information on all recipes. Normally you should specify config_only=False when calling prepare() instead of using this function; this function is designed for situations where you need to initialise Tinfoil and use it with config_only=True first and -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:33:02 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:33:02 +0000 Subject: [oe-commits] [bitbake] 07/23: knotty: fix indentation In-Reply-To: <150041357528.23220.15334549277574213739@git.openembedded.org> References: <150041357528.23220.15334549277574213739@git.openembedded.org> Message-ID: <20170718213255.9FB9A233557@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit a9df726bd87125421cc1de96df90fef013479c32 Author: Paul Eggleton AuthorDate: Fri May 19 13:32:40 2017 +1200 knotty: fix indentation Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/ui/knotty.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/bb/ui/knotty.py b/lib/bb/ui/knotty.py index 11afb3e..1aa5ebb 100644 --- a/lib/bb/ui/knotty.py +++ b/lib/bb/ui/knotty.py @@ -476,7 +476,7 @@ def main(server, eventHandler, params, tf = TerminalFilter): taskinfo = helper.running_tasks[event.taskpid] event.msg = taskinfo['title'] + ': ' + event.msg if hasattr(event, 'fn'): - event.msg = event.fn + ': ' + event.msg + event.msg = event.fn + ': ' + event.msg logger.handle(event) continue -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:33:05 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:33:05 +0000 Subject: [oe-commits] [bitbake] 10/23: tinfoil: set a flag when recipes have been parsed In-Reply-To: <150041357528.23220.15334549277574213739@git.openembedded.org> References: <150041357528.23220.15334549277574213739@git.openembedded.org> Message-ID: <20170718213255.B2543233578@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit cbd6612e3fe26350f133be6ae1d5c35363f90db5 Author: Paul Eggleton AuthorDate: Wed May 17 17:13:07 2017 +1200 tinfoil: set a flag when recipes have been parsed Make it easy to determine if recipes are parsed (and thus information about available recipes is in memory). Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/tinfoil.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index ddc7b06..f31d7b2 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -217,6 +217,7 @@ class Tinfoil: self.tracking = tracking self.ui_module = None self.server_connection = None + self.recipes_parsed = False if setup_logging: # This is the *client-side* logger, nothing to do with # logging messages from the server @@ -270,6 +271,7 @@ class Tinfoil: self.run_command('parseConfiguration') else: self.run_actions(config_params) + self.recipes_parsed = True self.config_data = bb.data.init() connector = TinfoilDataStoreConnector(self, None) @@ -303,6 +305,7 @@ class Tinfoil: """ config_params = TinfoilConfigParameters(config_only=False) self.run_actions(config_params) + self.recipes_parsed = True def run_command(self, command, *params): """ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:33:07 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:33:07 +0000 Subject: [oe-commits] [bitbake] 12/23: lib/bb/ui/uihelper: indicate to caller of eventHandler() if events handled In-Reply-To: <150041357528.23220.15334549277574213739@git.openembedded.org> References: <150041357528.23220.15334549277574213739@git.openembedded.org> Message-ID: <20170718213255.C03BA23357A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit ac33b55987454dfa776347ea9edd698802a24567 Author: Paul Eggleton AuthorDate: Mon May 22 12:00:22 2017 +1200 lib/bb/ui/uihelper: indicate to caller of eventHandler() if events handled It is useful for the caller to know whether the uihelper has handled the event passed so that it can skip other event handling code if so. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/ui/uihelper.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/bb/ui/uihelper.py b/lib/bb/ui/uihelper.py index 113fced..963c1ea 100644 --- a/lib/bb/ui/uihelper.py +++ b/lib/bb/ui/uihelper.py @@ -61,6 +61,9 @@ class BBUIHelper: self.running_tasks[event.pid]['progress'] = event.progress self.running_tasks[event.pid]['rate'] = event.rate self.needUpdate = True + else: + return False + return True def getTasks(self): self.needUpdate = False -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:33:06 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:33:06 +0000 Subject: [oe-commits] [bitbake] 11/23: lib/bb/event: refactor printing events In-Reply-To: <150041357528.23220.15334549277574213739@git.openembedded.org> References: <150041357528.23220.15334549277574213739@git.openembedded.org> Message-ID: <20170718213255.BA79D233579@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit dc6fd78a15daf85cd0674470aefb786c3a90f081 Author: Paul Eggleton AuthorDate: Thu May 18 15:10:44 2017 +1200 lib/bb/event: refactor printing events We really ought to have just one place where the string representation of these events is produced. This doesn't take any real control away from the UI - if an alternative representation is desired, that can still be made. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/command.py | 2 ++ lib/bb/event.py | 32 ++++++++++++++++++++++++++++++++ lib/bb/runqueue.py | 6 ++++++ lib/bb/ui/knotty.py | 37 ++++++------------------------------- lib/bb/ui/ncurses.py | 2 +- lib/bb/ui/taskexp.py | 20 ++------------------ lib/bb/ui/toasterui.py | 25 ++++--------------------- 7 files changed, 53 insertions(+), 71 deletions(-) diff --git a/lib/bb/command.py b/lib/bb/command.py index c06ab07..05803d6 100644 --- a/lib/bb/command.py +++ b/lib/bb/command.py @@ -50,6 +50,8 @@ class CommandFailed(CommandExit): def __init__(self, message): self.error = message CommandExit.__init__(self, 1) + def __str__(self): + return "Command execution failed: %s" % self.error class CommandError(Exception): pass diff --git a/lib/bb/event.py b/lib/bb/event.py index 92ee3e9..59cca61 100644 --- a/lib/bb/event.py +++ b/lib/bb/event.py @@ -521,6 +521,28 @@ class NoProvider(Event): def isRuntime(self): return self._runtime + def __str__(self): + msg = '' + if self._runtime: + r = "R" + else: + r = "" + + extra = '' + if not self._reasons: + if self._close_matches: + extra = ". Close matches:\n %s" % '\n '.join(self._close_matches) + + if self._dependees: + msg = "Nothing %sPROVIDES '%s' (but %s %sDEPENDS on or otherwise requires it)%s" % (r, self._item, ", ".join(self._dependees), r, extra) + else: + msg = "Nothing %sPROVIDES '%s'%s" % (r, self._item, extra) + if self._reasons: + for reason in self._reasons: + msg += '\n' + reason + return msg + + class MultipleProviders(Event): """Multiple Providers""" @@ -548,6 +570,16 @@ class MultipleProviders(Event): """ return self._candidates + def __str__(self): + msg = "Multiple providers are available for %s%s (%s)" % (self._is_runtime and "runtime " or "", + self._item, + ", ".join(self._candidates)) + rtime = "" + if self._is_runtime: + rtime = "R" + msg += "\nConsider defining a PREFERRED_%sPROVIDER entry to match %s" % (rtime, self._item) + return msg + class ParseStarted(OperationStarted): """Recipe parsing for the runqueue has begun""" def __init__(self, total): diff --git a/lib/bb/runqueue.py b/lib/bb/runqueue.py index 21520d3..7dd964d 100644 --- a/lib/bb/runqueue.py +++ b/lib/bb/runqueue.py @@ -2488,6 +2488,9 @@ class runQueueTaskFailed(runQueueEvent): runQueueEvent.__init__(self, task, stats, rq) self.exitcode = exitcode + def __str__(self): + return "Task (%s) failed with exit code '%s'" % (self.taskstring, self.exitcode) + class sceneQueueTaskFailed(sceneQueueEvent): """ Event notifying a setscene task failed @@ -2496,6 +2499,9 @@ class sceneQueueTaskFailed(sceneQueueEvent): sceneQueueEvent.__init__(self, task, stats, rq) self.exitcode = exitcode + def __str__(self): + return "Setscene task (%s) failed with exit code '%s' - real task will be run instead" % (self.taskstring, self.exitcode) + class sceneQueueComplete(sceneQueueEvent): """ Event when all the sceneQueue tasks are complete diff --git a/lib/bb/ui/knotty.py b/lib/bb/ui/knotty.py index 1aa5ebb..c301982 100644 --- a/lib/bb/ui/knotty.py +++ b/lib/bb/ui/knotty.py @@ -560,7 +560,7 @@ def main(server, eventHandler, params, tf = TerminalFilter): return_value = event.exitcode if event.error: errors = errors + 1 - logger.error("Command execution failed: %s", event.error) + logger.error(str(event)) main.shutdown = 2 continue if isinstance(event, bb.command.CommandExit): @@ -571,39 +571,16 @@ def main(server, eventHandler, params, tf = TerminalFilter): main.shutdown = 2 continue if isinstance(event, bb.event.MultipleProviders): - logger.info("multiple providers are available for %s%s (%s)", event._is_runtime and "runtime " or "", - event._item, - ", ".join(event._candidates)) - rtime = "" - if event._is_runtime: - rtime = "R" - logger.info("consider defining a PREFERRED_%sPROVIDER entry to match %s" % (rtime, event._item)) + logger.info(str(event)) continue if isinstance(event, bb.event.NoProvider): - if event._runtime: - r = "R" - else: - r = "" - - extra = '' - if not event._reasons: - if event._close_matches: - extra = ". Close matches:\n %s" % '\n '.join(event._close_matches) - # For universe builds, only show these as warnings, not errors - h = logger.warning if not universe: return_value = 1 errors = errors + 1 - h = logger.error - - if event._dependees: - h("Nothing %sPROVIDES '%s' (but %s %sDEPENDS on or otherwise requires it)%s", r, event._item, ", ".join(event._dependees), r, extra) + logger.error(str(event)) else: - h("Nothing %sPROVIDES '%s'%s", r, event._item, extra) - if event._reasons: - for reason in event._reasons: - h("%s", reason) + logger.warning(str(event)) continue if isinstance(event, bb.runqueue.sceneQueueTaskStarted): @@ -625,13 +602,11 @@ def main(server, eventHandler, params, tf = TerminalFilter): if isinstance(event, bb.runqueue.runQueueTaskFailed): return_value = 1 taskfailures.append(event.taskstring) - logger.error("Task (%s) failed with exit code '%s'", - event.taskstring, event.exitcode) + logger.error(str(event)) continue if isinstance(event, bb.runqueue.sceneQueueTaskFailed): - logger.warning("Setscene task (%s) failed with exit code '%s' - real task will be run instead", - event.taskstring, event.exitcode) + logger.warning(str(event)) continue if isinstance(event, bb.event.DepTreeGenerated): diff --git a/lib/bb/ui/ncurses.py b/lib/bb/ui/ncurses.py index ca845a3..8690c52 100644 --- a/lib/bb/ui/ncurses.py +++ b/lib/bb/ui/ncurses.py @@ -315,7 +315,7 @@ class NCursesUI: # also allow them to now exit with a single ^C shutdown = 2 if isinstance(event, bb.command.CommandFailed): - mw.appendText("Command execution failed: %s" % event.error) + mw.appendText(str(event)) time.sleep(2) exitflag = True if isinstance(event, bb.command.CommandExit): diff --git a/lib/bb/ui/taskexp.py b/lib/bb/ui/taskexp.py index 9d14ece..0d0f9f5 100644 --- a/lib/bb/ui/taskexp.py +++ b/lib/bb/ui/taskexp.py @@ -286,23 +286,7 @@ def main(server, eventHandler, params): continue if isinstance(event, bb.event.NoProvider): - if event._runtime: - r = "R" - else: - r = "" - - extra = '' - if not event._reasons: - if event._close_matches: - extra = ". Close matches:\n %s" % '\n '.join(event._close_matches) - - if event._dependees: - print("Nothing %sPROVIDES '%s' (but %s %sDEPENDS on or otherwise requires it)%s" % (r, event._item, ", ".join(event._dependees), r, extra)) - else: - print("Nothing %sPROVIDES '%s'%s" % (r, event._item, extra)) - if event._reasons: - for reason in event._reasons: - print(reason) + print(str(event)) _, error = server.runCommand(["stateShutdown"]) if error: @@ -310,7 +294,7 @@ def main(server, eventHandler, params): break if isinstance(event, bb.command.CommandFailed): - print("Command execution failed: %s" % event.error) + print(str(event)) return event.exitcode if isinstance(event, bb.command.CommandExit): diff --git a/lib/bb/ui/toasterui.py b/lib/bb/ui/toasterui.py index 71f04fa..88cec37 100644 --- a/lib/bb/ui/toasterui.py +++ b/lib/bb/ui/toasterui.py @@ -320,29 +320,13 @@ def main(server, eventHandler, params): if isinstance(event, bb.event.CacheLoadCompleted): continue if isinstance(event, bb.event.MultipleProviders): - logger.info("multiple providers are available for %s%s (%s)", event._is_runtime and "runtime " or "", - event._item, - ", ".join(event._candidates)) - logger.info("consider defining a PREFERRED_PROVIDER entry to match %s", event._item) + logger.info(str(event)) continue if isinstance(event, bb.event.NoProvider): errors = errors + 1 - if event._runtime: - r = "R" - else: - r = "" - - if event._dependees: - text = "Nothing %sPROVIDES '%s' (but %s %sDEPENDS on or otherwise requires it)" % (r, event._item, ", ".join(event._dependees), r) - else: - text = "Nothing %sPROVIDES '%s'" % (r, event._item) - + text = str(event) logger.error(text) - if event._reasons: - for reason in event._reasons: - logger.error("%s", reason) - text += reason buildinfohelper.store_log_error(text) continue @@ -364,8 +348,7 @@ def main(server, eventHandler, params): if isinstance(event, bb.runqueue.runQueueTaskFailed): buildinfohelper.update_and_store_task(event) taskfailures.append(event.taskstring) - logger.error("Task (%s) failed with exit code '%s'", - event.taskstring, event.exitcode) + logger.error(str(event)) continue if isinstance(event, (bb.runqueue.sceneQueueTaskCompleted, bb.runqueue.sceneQueueTaskFailed)): @@ -382,7 +365,7 @@ def main(server, eventHandler, params): if isinstance(event, bb.command.CommandFailed): errors += 1 errorcode = 1 - logger.error("Command execution failed: %s", event.error) + logger.error(str(event)) elif isinstance(event, bb.event.BuildCompleted): buildinfohelper.scan_image_artifacts() buildinfohelper.clone_required_sdk_artifacts() -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:33:09 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:33:09 +0000 Subject: [oe-commits] [bitbake] 14/23: cookerdata: fix indentation and trailing spaces In-Reply-To: <150041357528.23220.15334549277574213739@git.openembedded.org> References: <150041357528.23220.15334549277574213739@git.openembedded.org> Message-ID: <20170718213255.CC78623359F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit b430d5c21d0cb83597863051af78249b7f719513 Author: Paul Eggleton AuthorDate: Fri Jun 9 16:59:53 2017 +0200 cookerdata: fix indentation and trailing spaces Fix one incorrect indentation and several lines with trailing spaces. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/cookerdata.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/bb/cookerdata.py b/lib/bb/cookerdata.py index e6662d0..b3a3f04 100644 --- a/lib/bb/cookerdata.py +++ b/lib/bb/cookerdata.py @@ -73,15 +73,15 @@ class ConfigParameters(object): def updateToServer(self, server, environment): options = {} - for o in ["abort", "tryaltconfigs", "force", "invalidate_stamp", - "verbose", "debug", "dry_run", "dump_signatures", + for o in ["abort", "tryaltconfigs", "force", "invalidate_stamp", + "verbose", "debug", "dry_run", "dump_signatures", "debug_domains", "extra_assume_provided", "profile", "prefile", "postfile", "tracking", "server_timeout"]: options[o] = getattr(self.options, o) ret, error = server.runCommand(["updateConfig", options, environment, sys.argv]) if error: - raise Exception("Unable to update the server configuration with local parameters: %s" % error) + raise Exception("Unable to update the server configuration with local parameters: %s" % error) def parseActions(self): # Parse any commandline into actions @@ -174,7 +174,7 @@ class CookerConfiguration(object): def __setstate__(self,state): for k in state: - setattr(self, k, state[k]) + setattr(self, k, state[k]) def catch_parse_error(func): @@ -277,7 +277,7 @@ class CookerDataBuilder(object): filtered_keys = bb.utils.approved_variables() bb.data.inheritFromOS(self.basedata, self.savedenv, filtered_keys) self.basedata.setVar("BB_ORIGENV", self.savedenv) - + if worker: self.basedata.setVar("BB_WORKERCONTEXT", "1") -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:33:03 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:33:03 +0000 Subject: [oe-commits] [bitbake] 08/23: tinfoil: add internal mode to build_file() function In-Reply-To: <150041357528.23220.15334549277574213739@git.openembedded.org> References: <150041357528.23220.15334549277574213739@git.openembedded.org> Message-ID: <20170718213255.A5F8F233558@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit edf695c74c3e66063fd0245723a2ec1bc04a6246 Author: Paul Eggleton AuthorDate: Tue May 16 15:50:45 2017 +1200 tinfoil: add internal mode to build_file() function In OE's devtool we want to repeatedly run build_file() without showing unnecessary messages and triggering buildhistory for each call. build_file() is just a wrapper around the buildFile command. Change the final "hidewarning" parameter of the buildFile command to "internal" and have this call a new buildFileInternal() function without triggering any of the normal build events, silencing the normal info messages from the runqueue ("Executing RunQueue Tasks", "Tasks Summary" etc.) and avoiding calling parseConfiguration() which we've already done at this point. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/command.py | 9 ++++++--- lib/bb/cooker.py | 34 +++++++++++++++++++++++++--------- lib/bb/tinfoil.py | 9 ++++++--- 3 files changed, 37 insertions(+), 15 deletions(-) diff --git a/lib/bb/command.py b/lib/bb/command.py index eb7c86f..c06ab07 100644 --- a/lib/bb/command.py +++ b/lib/bb/command.py @@ -548,11 +548,14 @@ class CommandsAsync: bfile = params[0] task = params[1] if len(params) > 2: - hidewarning = params[2] + internal = params[2] else: - hidewarning = False + internal = False - command.cooker.buildFile(bfile, task, hidewarning) + if internal: + command.cooker.buildFileInternal(bfile, task, fireevents=False, quietlog=True) + else: + command.cooker.buildFile(bfile, task) buildFile.needcache = False def buildTargets(self, command, params): diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py index a3058dd..ab29c46 100644 --- a/lib/bb/cooker.py +++ b/lib/bb/cooker.py @@ -1219,21 +1219,27 @@ class BBCooker: raise NoSpecificMatch return matches[0] - def buildFile(self, buildfile, task, hidewarning=False): + def buildFile(self, buildfile, task): """ Build the file matching regexp buildfile """ bb.event.fire(bb.event.BuildInit(), self.data) - if not hidewarning: - # Too many people use -b because they think it's how you normally - # specify a target to be built, so show a warning - bb.warn("Buildfile specified, dependencies will not be handled. If this is not what you want, do not use -b / --buildfile.") + # Too many people use -b because they think it's how you normally + # specify a target to be built, so show a warning + bb.warn("Buildfile specified, dependencies will not be handled. If this is not what you want, do not use -b / --buildfile.") # Parse the configuration here. We need to do it explicitly here since # buildFile() doesn't use the cache self.parseConfiguration() + self.buildFileInternal(buildfile, task) + + def buildFileInternal(self, buildfile, task, fireevents=True, quietlog=False): + """ + Build the file matching regexp buildfile + """ + # If we are told to do the None task then query the default task if (task == None): task = self.configuration.cmd @@ -1270,8 +1276,8 @@ class BBCooker: # Remove external dependencies self.recipecaches[mc].task_deps[fn]['depends'] = {} self.recipecaches[mc].deps[fn] = [] - self.recipecaches[mc].rundeps[fn] = [] - self.recipecaches[mc].runrecs[fn] = [] + self.recipecaches[mc].rundeps[fn] = defaultdict(list) + self.recipecaches[mc].runrecs[fn] = defaultdict(list) # Invalidate task for target if force mode active if self.configuration.force: @@ -1283,8 +1289,13 @@ class BBCooker: taskdata[mc] = bb.taskdata.TaskData(self.configuration.abort) taskdata[mc].add_provider(self.databuilder.mcdata[mc], self.recipecaches[mc], item) + if quietlog: + rqloglevel = bb.runqueue.logger.getEffectiveLevel() + bb.runqueue.logger.setLevel(logging.WARNING) + buildname = self.databuilder.mcdata[mc].getVar("BUILDNAME") - bb.event.fire(bb.event.BuildStarted(buildname, [item]), self.databuilder.mcdata[mc]) + if fireevents: + bb.event.fire(bb.event.BuildStarted(buildname, [item]), self.databuilder.mcdata[mc]) # Execute the runqueue runlist = [[mc, item, task, fn]] @@ -1311,11 +1322,16 @@ class BBCooker: retval = False except SystemExit as exc: self.command.finishAsyncCommand(str(exc)) + if quietlog: + bb.runqueue.logger.setLevel(rqloglevel) return False if not retval: - bb.event.fire(bb.event.BuildCompleted(len(rq.rqdata.runtaskentries), buildname, item, failures, interrupted), self.databuilder.mcdata[mc]) + if fireevents: + bb.event.fire(bb.event.BuildCompleted(len(rq.rqdata.runtaskentries), buildname, item, failures, interrupted), self.databuilder.mcdata[mc]) self.command.finishAsyncCommand(msg) + if quietlog: + bb.runqueue.logger.setLevel(rqloglevel) return False if retval is True: return True diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index 303ce02..65ebdc2 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -415,12 +415,15 @@ class Tinfoil: else: return None - def build_file(self, buildfile, task): + def build_file(self, buildfile, task, internal=True): """ Runs the specified task for just a single recipe (i.e. no dependencies). - This is equivalent to bitbake -b, except no warning will be printed. + This is equivalent to bitbake -b, except with the default internal=True + no warning about dependencies will be produced, normal info messages + from the runqueue will be silenced and BuildInit, BuildStarted and + BuildCompleted events will not be fired. """ - return self.run_command('buildFile', buildfile, task, True) + return self.run_command('buildFile', buildfile, task, internal) def shutdown(self): if self.server_connection: -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:33:08 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:33:08 +0000 Subject: [oe-commits] [bitbake] 13/23: tinfoil: add functionality for running full builds In-Reply-To: <150041357528.23220.15334549277574213739@git.openembedded.org> References: <150041357528.23220.15334549277574213739@git.openembedded.org> Message-ID: <20170718213255.C627023357E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit cd3ebf308bc4ae0c32937ffbc79800ac9094af2f Author: Paul Eggleton AuthorDate: Fri May 19 14:52:48 2017 +1200 tinfoil: add functionality for running full builds Up to this point, if you wanted to run build tasks in the normal way they get run, there was no other way than to shell out to bitbake. As long as we're prepared to handle the events produced, we can create a wrapper around calling the buildTargets command. Borrow code from knotty to do this so that we get the expected running task display (courtesy of TermFilter) and Ctrl+C handling. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/tinfoil.py | 155 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 155 insertions(+) diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index f31d7b2..945bd4b 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -2,6 +2,7 @@ # # Copyright (C) 2012-2017 Intel Corporation # Copyright (C) 2011 Mentor Graphics Corporation +# Copyright (C) 2006-2012 Richard Purdie # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License version 2 as @@ -218,6 +219,7 @@ class Tinfoil: self.ui_module = None self.server_connection = None self.recipes_parsed = False + self.quiet = 0 if setup_logging: # This is the *client-side* logger, nothing to do with # logging messages from the server @@ -230,6 +232,8 @@ class Tinfoil: self.shutdown() def prepare(self, config_only=False, config_params=None, quiet=0, extra_features=None): + self.quiet = quiet + if self.tracking: extrafeatures = [bb.cooker.CookerFeatures.BASEDATASTORE_TRACKING] else: @@ -434,6 +438,157 @@ class Tinfoil: """ return self.run_command('buildFile', buildfile, task, internal) + # FIXME internal mode + def build_targets(self, targets, task=None, handle_events=True, extra_events=None, event_callback=None): + """ + Builds the specified targets. This is equivalent to a normal invocation + of bitbake. Has built-in event handling which is enabled by default and + can be extended if needed. + Parameters: + targets: + One or more targets to build. Can be a list or a + space-separated string. + task: + The task to run; if None then the value of BB_DEFAULT_TASK + will be used. Default None. + handle_events: + True to handle events in a similar way to normal bitbake + invocation with knotty; False to return immediately (on the + assumption that the caller will handle the events instead). + Default True. + extra_events: + An optional list of events to add to the event mask (if + handle_events=True). If you add events here you also need + to specify a callback function in event_callback that will + handle the additional events. Default None. + event_callback: + An optional function taking a single parameter which + will be called first upon receiving any event (if + handle_events=True) so that the caller can override or + extend the event handling. Default None. + """ + if isinstance(targets, str): + targets = targets.split() + if not task: + task = self.config_data.getVar('BB_DEFAULT_TASK') + + if handle_events: + # A reasonable set of default events matching up with those we handle below + eventmask = [ + 'bb.event.BuildStarted', + 'bb.event.BuildCompleted', + 'logging.LogRecord', + 'bb.event.NoProvider', + 'bb.command.CommandCompleted', + 'bb.command.CommandFailed', + 'bb.build.TaskStarted', + 'bb.build.TaskFailed', + 'bb.build.TaskSucceeded', + 'bb.build.TaskFailedSilent', + 'bb.build.TaskProgress', + 'bb.runqueue.runQueueTaskStarted', + 'bb.runqueue.sceneQueueTaskStarted', + 'bb.event.ProcessStarted', + 'bb.event.ProcessProgress', + 'bb.event.ProcessFinished', + ] + if extra_events: + eventmask.extend(extra_events) + ret = self.set_event_mask(eventmask) + + ret = self.run_command('buildTargets', targets, task) + if handle_events: + result = False + # Borrowed from knotty, instead somewhat hackily we use the helper + # as the object to store "shutdown" on + helper = bb.ui.uihelper.BBUIHelper() + # We set up logging optionally in the constructor so now we need to + # grab the handlers to pass to TerminalFilter + console = None + errconsole = None + for handler in self.logger.handlers: + if isinstance(handler, logging.StreamHandler): + if handler.stream == sys.stdout: + console = handler + elif handler.stream == sys.stderr: + errconsole = handler + format_str = "%(levelname)s: %(message)s" + format = bb.msg.BBLogFormatter(format_str) + helper.shutdown = 0 + parseprogress = None + termfilter = bb.ui.knotty.TerminalFilter(helper, helper, console, errconsole, format, quiet=self.quiet) + try: + while True: + try: + event = self.wait_event(0.25) + if event: + if event_callback and event_callback(event): + continue + if helper.eventHandler(event): + continue + if isinstance(event, bb.event.ProcessStarted): + if self.quiet > 1: + continue + parseprogress = bb.ui.knotty.new_progress(event.processname, event.total) + parseprogress.start(False) + continue + if isinstance(event, bb.event.ProcessProgress): + if self.quiet > 1: + continue + if parseprogress: + parseprogress.update(event.progress) + else: + bb.warn("Got ProcessProgress event for someting that never started?") + continue + if isinstance(event, bb.event.ProcessFinished): + if self.quiet > 1: + continue + if parseprogress: + parseprogress.finish() + parseprogress = None + continue + if isinstance(event, bb.command.CommandCompleted): + result = True + break + if isinstance(event, bb.command.CommandFailed): + self.logger.error(str(event)) + result = False + break + if isinstance(event, logging.LogRecord): + if event.taskpid == 0 or event.levelno > logging.INFO: + self.logger.handle(event) + continue + if isinstance(event, bb.event.NoProvider): + self.logger.error(str(event)) + result = False + break + + elif helper.shutdown > 1: + break + termfilter.updateFooter() + except KeyboardInterrupt: + termfilter.clearFooter() + if helper.shutdown == 1: + print("\nSecond Keyboard Interrupt, stopping...\n") + ret = self.run_command("stateForceShutdown") + if ret and ret[2]: + self.logger.error("Unable to cleanly stop: %s" % ret[2]) + elif helper.shutdown == 0: + print("\nKeyboard Interrupt, closing down...\n") + interrupted = True + ret = self.run_command("stateShutdown") + if ret and ret[2]: + self.logger.error("Unable to cleanly shutdown: %s" % ret[2]) + helper.shutdown = helper.shutdown + 1 + termfilter.clearFooter() + finally: + termfilter.finish() + if helper.failed_tasks: + result = False + return result + else: + return ret + def shutdown(self): if self.server_connection: self.run_command('clientComplete') -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:33:00 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:33:00 +0000 Subject: [oe-commits] [bitbake] 05/23: server: Rework the server API so process and xmlrpc servers coexist In-Reply-To: <150041357528.23220.15334549277574213739@git.openembedded.org> References: <150041357528.23220.15334549277574213739@git.openembedded.org> Message-ID: <20170718213255.916D5233554@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit d24791ef7a35dafb893cad7ed873deb1b94aaf38 Author: Richard Purdie AuthorDate: Tue Jul 18 22:28:40 2017 +0100 server: Rework the server API so process and xmlrpc servers coexist This changes the way bitbake server works quite radically. Now, the server is always a process based server with the option of starting an XMLRPC listener on a specific inferface/port. Behind the scenes this is done with a "bitbake.sock" file alongside the bitbake.lock file. If we can obtain the lock, we know we need to start a server. The server always listens on the socket and UIs can then connect to this. UIs connect by sending a set of three file descriptors over the domain socket, one for sending commands, one for receiving command results and the other for receiving events. These changes meant we can throw away all the horrid server abstraction code, the plugable transport option to bitbake and the code becomes much more readable and debuggable. It also likely removes a ton of ways you could hang the UI/cooker in weird ways due to all the race conditions that existed with previous processes. Changes: * The foreground option for bitbake-server was dropped. Just tail the log if you really want this, the codepaths were complicated enough without adding one for this. * BBSERVER="autodetect" was dropped. The server will autostart and autoconnect in process mode. You have to specify an xmlrpc server address since that can't be autodetected. I can't see a use case for autodetect now. * The transport/servetype option to bitbake was dropped. * A BB_SERVER_TIMEOUT variable is added which allows the server to stay resident for a period of time after the last client disconnects before unloading. This is used if the -T/--idle-timeout option is not passed to bitbake. This change is invasive and may well introduce new issues however I believe the codebase is in a much better position for further development and debugging. Signed-off-by: Richard Purdie --- lib/bb/cooker.py | 58 +-- lib/bb/cookerdata.py | 5 +- lib/bb/main.py | 224 ++++------ lib/bb/server/__init__.py | 6 - lib/bb/server/process.py | 591 +++++++++++++++++--------- lib/bb/server/{process.py => process.py.orig} | 7 +- lib/bb/server/xmlrpc.py | 492 --------------------- lib/bb/server/xmlrpcclient.py | 154 +++++++ lib/bb/server/xmlrpcserver.py | 158 +++++++ lib/bb/tinfoil.py | 2 +- lib/prserv/serv.py | 4 +- 11 files changed, 779 insertions(+), 922 deletions(-) diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py index dc8f54c..313090b 100644 --- a/lib/bb/cooker.py +++ b/lib/bb/cooker.py @@ -215,19 +215,6 @@ class BBCooker: self.configuration.server_register_idlecallback(_process_inotify_updates, [self.confignotifier, self.notifier]) - # Take a lock so only one copy of bitbake can run against a given build - # directory at a time - if not self.lockBitbake(): - bb.fatal("Only one copy of bitbake should be run against a build directory") - try: - self.lock.seek(0) - self.lock.truncate() - if len(configuration.interface) >= 2: - self.lock.write("%s:%s\n" % (configuration.interface[0], configuration.interface[1])); - self.lock.flush() - except: - pass - # TOSTOP must not be set or our children will hang when they output try: fd = sys.stdout.fileno() @@ -1557,33 +1544,6 @@ class BBCooker: def post_serve(self): prserv.serv.auto_shutdown(self.data) bb.event.fire(CookerExit(), self.data) - lockfile = self.lock.name - self.lock.close() - self.lock = None - - while not self.lock: - with bb.utils.timeout(3): - self.lock = bb.utils.lockfile(lockfile, shared=False, retry=False, block=True) - if not self.lock: - # Some systems may not have lsof available - procs = None - try: - procs = subprocess.check_output(["lsof", '-w', lockfile], stderr=subprocess.STDOUT) - except OSError as e: - if e.errno != errno.ENOENT: - raise - if procs is None: - # Fall back to fuser if lsof is unavailable - try: - procs = subprocess.check_output(["fuser", '-v', lockfile], stderr=subprocess.STDOUT) - except OSError as e: - if e.errno != errno.ENOENT: - raise - - msg = "Delaying shutdown due to active processes which appear to be holding bitbake.lock" - if procs: - msg += ":\n%s" % str(procs) - print(msg) def shutdown(self, force = False): @@ -1605,23 +1565,7 @@ class BBCooker: def clientComplete(self): """Called when the client is done using the server""" - if self.configuration.server_only: - self.finishcommand() - else: - self.shutdown(True) - - def lockBitbake(self): - if not hasattr(self, 'lock'): - self.lock = None - if self.data: - lockfile = self.data.expand("${TOPDIR}/bitbake.lock") - if lockfile: - self.lock = bb.utils.lockfile(lockfile, False, False) - return self.lock - - def unlockBitbake(self): - if hasattr(self, 'lock') and self.lock: - bb.utils.unlockfile(self.lock) + self.finishcommand() def server_main(cooker, func, *args): cooker.pre_serve() diff --git a/lib/bb/cookerdata.py b/lib/bb/cookerdata.py index aa0a641..9d1d3d2 100644 --- a/lib/bb/cookerdata.py +++ b/lib/bb/cookerdata.py @@ -76,7 +76,7 @@ class ConfigParameters(object): for o in ["abort", "tryaltconfigs", "force", "invalidate_stamp", "verbose", "debug", "dry_run", "dump_signatures", "debug_domains", "extra_assume_provided", "profile", - "prefile", "postfile", "tracking"]: + "prefile", "postfile", "tracking", "server_timeout"]: options[o] = getattr(self.options, o) ret, error = server.runCommand(["updateConfig", options, environment, sys.argv]) @@ -144,7 +144,8 @@ class CookerConfiguration(object): self.dump_signatures = [] self.dry_run = False self.tracking = False - self.interface = [] + self.xmlrpcinterface = [] + self.server_timeout = None self.writeeventlog = False self.server_only = False self.limited_deps = False diff --git a/lib/bb/main.py b/lib/bb/main.py index 29e3911..8033519 100755 --- a/lib/bb/main.py +++ b/lib/bb/main.py @@ -28,6 +28,8 @@ import logging import optparse import warnings import fcntl +import time +import traceback import bb from bb import event @@ -37,6 +39,9 @@ from bb import ui from bb import server from bb import cookerdata +import bb.server.process +import bb.server.xmlrpcclient + logger = logging.getLogger("BitBake") class BBMainException(Exception): @@ -58,9 +63,6 @@ class BitbakeHelpFormatter(optparse.IndentedHelpFormatter): if option.dest == 'ui': valid_uis = list_extension_modules(bb.ui, 'main') option.help = option.help.replace('@CHOICES@', present_options(valid_uis)) - elif option.dest == 'servertype': - valid_server_types = list_extension_modules(bb.server, 'BitBakeServer') - option.help = option.help.replace('@CHOICES@', present_options(valid_server_types)) return optparse.IndentedHelpFormatter.format_option(self, option) @@ -238,11 +240,6 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters): default=os.environ.get('BITBAKE_UI', 'knotty'), help="The user interface to use (@CHOICES@ - default %default).") - # @CHOICES@ is substituted out by BitbakeHelpFormatter above - parser.add_option("-t", "--servertype", action="store", dest="servertype", - default=["process", "xmlrpc"]["BBSERVER" in os.environ], - help="Choose which server type to use (@CHOICES@ - default %default).") - parser.add_option("", "--token", action="store", dest="xmlrpctoken", default=os.environ.get("BBTOKEN"), help="Specify the connection token to be used when connecting " @@ -258,14 +255,11 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters): help="Run bitbake without a UI, only starting a server " "(cooker) process.") - parser.add_option("", "--foreground", action="store_true", - help="Run bitbake server in foreground.") - parser.add_option("-B", "--bind", action="store", dest="bind", default=False, - help="The name/address for the bitbake server to bind to.") + help="The name/address for the bitbake xmlrpc server to bind to.") - parser.add_option("-T", "--idle-timeout", type=int, - default=int(os.environ.get("BBTIMEOUT", "0")), + parser.add_option("-T", "--idle-timeout", type=float, dest="server_timeout", + default=float(os.environ.get("BB_SERVER_TIMEOUT", 0)) or None, help="Set timeout to unload bitbake server due to inactivity") parser.add_option("", "--no-setscene", action="store_true", @@ -283,7 +277,7 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters): parser.add_option("-m", "--kill-server", action="store_true", dest="kill_server", default=False, - help="Terminate the remote server.") + help="Terminate the bitbake server.") parser.add_option("", "--observe-only", action="store_true", dest="observe_only", default=False, @@ -322,70 +316,20 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters): eventlog = "bitbake_eventlog_%s.json" % datetime.now().strftime("%Y%m%d%H%M%S") options.writeeventlog = eventlog - # if BBSERVER says to autodetect, let's do that - if options.remote_server: - port = -1 - if options.remote_server != 'autostart': - host, port = options.remote_server.split(":", 2) + if options.bind: + try: + #Checking that the port is a number and is a ':' delimited value + (host, port) = options.bind.split(':') port = int(port) - # use automatic port if port set to -1, means read it from - # the bitbake.lock file; this is a bit tricky, but we always expect - # to be in the base of the build directory if we need to have a - # chance to start the server later, anyway - if port == -1: - lock_location = "./bitbake.lock" - # we try to read the address at all times; if the server is not started, - # we'll try to start it after the first connect fails, below - try: - lf = open(lock_location, 'r') - remotedef = lf.readline() - [host, port] = remotedef.split(":") - port = int(port) - lf.close() - options.remote_server = remotedef - except Exception as e: - if options.remote_server != 'autostart': - raise BBMainException("Failed to read bitbake.lock (%s), invalid port" % str(e)) + except (ValueError,IndexError): + raise BBMainException("FATAL: Malformed host:port bind parameter") + options.xmlrpcinterface = (host, port) + else: + options.xmlrpcinterface = (None, 0) return options, targets[1:] -def start_server(servermodule, configParams, configuration, features): - server = servermodule.BitBakeServer() - single_use = not configParams.server_only and os.getenv('BBSERVER') != 'autostart' - if configParams.bind: - (host, port) = configParams.bind.split(':') - server.initServer((host, int(port)), single_use=single_use, - idle_timeout=configParams.idle_timeout) - configuration.interface = [server.serverImpl.host, server.serverImpl.port] - else: - server.initServer(single_use=single_use) - configuration.interface = [] - - try: - configuration.setServerRegIdleCallback(server.getServerIdleCB()) - - cooker = bb.cooker.BBCooker(configuration, features) - - server.addcooker(cooker) - server.saveConnectionDetails() - except Exception as e: - while hasattr(server, "event_queue"): - import queue - try: - event = server.event_queue.get(block=False) - except (queue.Empty, IOError): - break - if isinstance(event, logging.LogRecord): - logger.handle(event) - raise - if not configParams.foreground: - server.detach() - cooker.shutdown() - cooker.lock.close() - return server - - def bitbake_main(configParams, configuration): # Python multiprocessing requires /dev/shm on Linux @@ -406,45 +350,15 @@ def bitbake_main(configParams, configuration): configuration.setConfigParameters(configParams) - if configParams.server_only: - if configParams.servertype != "xmlrpc": - raise BBMainException("FATAL: If '--server-only' is defined, we must set the " - "servertype as 'xmlrpc'.\n") - if not configParams.bind: - raise BBMainException("FATAL: The '--server-only' option requires a name/address " - "to bind to with the -B option.\n") - else: - try: - #Checking that the port is a number - int(configParams.bind.split(":")[1]) - except (ValueError,IndexError): - raise BBMainException( - "FATAL: Malformed host:port bind parameter") - if configParams.remote_server: + if configParams.server_only and configParams.remote_server: raise BBMainException("FATAL: The '--server-only' option conflicts with %s.\n" % ("the BBSERVER environment variable" if "BBSERVER" in os.environ \ else "the '--remote-server' option")) - elif configParams.foreground: - raise BBMainException("FATAL: The '--foreground' option can only be used " - "with --server-only.\n") - - if configParams.bind and configParams.servertype != "xmlrpc": - raise BBMainException("FATAL: If '-B' or '--bind' is defined, we must " - "set the servertype as 'xmlrpc'.\n") - - if configParams.remote_server and configParams.servertype != "xmlrpc": - raise BBMainException("FATAL: If '--remote-server' is defined, we must " - "set the servertype as 'xmlrpc'.\n") - if configParams.observe_only and (not configParams.remote_server or configParams.bind): raise BBMainException("FATAL: '--observe-only' can only be used by UI clients " "connecting to a server.\n") - if configParams.kill_server and not configParams.remote_server: - raise BBMainException("FATAL: '--kill-server' can only be used to " - "terminate a remote server") - if "BBDEBUG" in os.environ: level = int(os.environ["BBDEBUG"]) if level > configuration.debug: @@ -453,7 +367,7 @@ def bitbake_main(configParams, configuration): bb.msg.init_msgconfig(configParams.verbose, configuration.debug, configuration.debug_domains) - server, server_connection, ui_module = setup_bitbake(configParams, configuration) + server_connection, ui_module = setup_bitbake(configParams, configuration) if server_connection is None and configParams.kill_server: return 0 @@ -463,16 +377,15 @@ def bitbake_main(configParams, configuration): return 0 try: + for event in bb.event.ui_queue: + server_connection.events.queue_event(event) + bb.event.ui_queue = [] + return ui_module.main(server_connection.connection, server_connection.events, configParams) finally: - bb.event.ui_queue = [] server_connection.terminate() else: - print("Bitbake server address: %s, server port: %s" % (server.serverImpl.host, - server.serverImpl.port)) - if configParams.foreground: - server.serverImpl.serve_forever() return 0 return 1 @@ -495,58 +408,63 @@ def setup_bitbake(configParams, configuration, extrafeatures=None, setup_logging # Collect the feature set for the UI featureset = getattr(ui_module, "featureSet", []) - if configParams.server_only: - for param in ('prefile', 'postfile'): - value = getattr(configParams, param) - if value: - setattr(configuration, "%s_server" % param, value) - param = "%s_server" % param - if extrafeatures: for feature in extrafeatures: if not feature in featureset: featureset.append(feature) - servermodule = import_extension_module(bb.server, - configParams.servertype, - 'BitBakeServer') + server_connection = None + if configParams.remote_server: - if os.getenv('BBSERVER') == 'autostart': - if configParams.remote_server == 'autostart' or \ - not servermodule.check_connection(configParams.remote_server, timeout=2): - configParams.bind = 'localhost:0' - srv = start_server(servermodule, configParams, configuration, featureset) - configParams.remote_server = '%s:%d' % tuple(configuration.interface) - bb.event.ui_queue = [] - # we start a stub server that is actually a XMLRPClient that connects to a real server - from bb.server.xmlrpc import BitBakeXMLRPCClient - server = servermodule.BitBakeXMLRPCClient(configParams.observe_only, - configParams.xmlrpctoken) - server.saveConnectionDetails(configParams.remote_server) + # Connect to a remote XMLRPC server + server_connection = bb.server.xmlrpcclient.connectXMLRPC(configParams.remote_server, featureset, + configParams.observe_only, configParams.xmlrpctoken) else: - # we start a server with a given configuration - server = start_server(servermodule, configParams, configuration, featureset) + retries = 8 + while retries: + try: + topdir, lock = lockBitbake() + sockname = topdir + "/bitbake.sock" + if lock: + # we start a server with a given configuration + print("Starting bitbake server...") + server = bb.server.process.BitBakeServer(lock, sockname, configuration, featureset) + else: + print("Reconnecting to bitbake server...") + if not os.path.exists(sockname): + print("Previous bitbake instance shutting down?, waiting to retry...") + time.sleep(5) + raise bb.server.process.ProcessTimeout + if not configParams.server_only: + server_connection = bb.server.process.connectProcessServer(sockname, featureset) + if server_connection: + break + except Exception as e: + if not retries: + raise + retries -= 1 + print("Retrying server connection... (%s)" % traceback.format_exc()) + if not retries: + raise bb.server.process.ProcessTimeout("Unable to connect to bitbake server, or start one") + + + if configParams.kill_server: + server_connection.connection.terminateServer() + server_connection.terminate() bb.event.ui_queue = [] + print("Terminated bitbake server.") + return None, None - if configParams.server_only: - server_connection = None - else: - try: - server_connection = server.establishConnection(featureset) - except Exception as e: - bb.fatal("Could not connect to server %s: %s" % (configParams.remote_server, str(e))) - - if configParams.kill_server: - server_connection.connection.terminateServer() - bb.event.ui_queue = [] - return None, None, None + # Restore the environment in case the UI needs it + for k in cleanedvars: + os.environ[k] = cleanedvars[k] - server_connection.setupEventQueue() + logger.removeHandler(handler) - # Restore the environment in case the UI needs it - for k in cleanedvars: - os.environ[k] = cleanedvars[k] + return server_connection, ui_module - logger.removeHandler(handler) +def lockBitbake(): + topdir = bb.cookerdata.findTopdir() + lockfile = topdir + "/bitbake.lock" + return topdir, bb.utils.lockfile(lockfile, False, False) - return server, server_connection, ui_module diff --git a/lib/bb/server/__init__.py b/lib/bb/server/__init__.py index 345691e..5a3fba9 100644 --- a/lib/bb/server/__init__.py +++ b/lib/bb/server/__init__.py @@ -18,10 +18,4 @@ # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -""" Base code for Bitbake server process - -Have a common base for that all Bitbake server classes ensures a consistent -approach to the interface, and minimize risks associated with code duplication. - -""" diff --git a/lib/bb/server/process.py b/lib/bb/server/process.py index 48da7fe..8cd4f25 100644 --- a/lib/bb/server/process.py +++ b/lib/bb/server/process.py @@ -22,128 +22,201 @@ import bb import bb.event -import itertools import logging import multiprocessing +import threading +import array import os -import signal import sys import time import select -from queue import Empty -from multiprocessing import Event, Process, util, Queue, Pipe, queues, Manager +import socket +import subprocess +import errno +import bb.server.xmlrpcserver +from bb import daemonize +from multiprocessing import queues logger = logging.getLogger('BitBake') -class ServerCommunicator(): - def __init__(self, connection, event_handle, server): - self.connection = connection - self.event_handle = event_handle - self.server = server - - def runCommand(self, command): - # @todo try/except - self.connection.send(command) - - if not self.server.is_alive(): - raise SystemExit - - while True: - # don't let the user ctrl-c while we're waiting for a response - try: - for idx in range(0,4): # 0, 1, 2, 3 - if self.connection.poll(5): - return self.connection.recv() - else: - bb.warn("Timeout while attempting to communicate with bitbake server") - bb.fatal("Gave up; Too many tries: timeout while attempting to communicate with bitbake server") - except KeyboardInterrupt: - pass - - def getEventHandle(self): - handle, error = self.runCommand(["getUIHandlerNum"]) - if error: - logger.error("Unable to get UI Handler Number: %s" % error) - raise BaseException(error) +class ProcessTimeout(SystemExit): + pass - return handle - -class EventAdapter(): - """ - Adapter to wrap our event queue since the caller (bb.event) expects to - call a send() method, but our actual queue only has put() - """ - def __init__(self, queue): - self.queue = queue - - def send(self, event): - try: - self.queue.put(event) - except Exception as err: - print("EventAdapter puked: %s" % str(err)) - - -class ProcessServer(Process): +class ProcessServer(multiprocessing.Process): profile_filename = "profile.log" profile_processed_filename = "profile.log.processed" - def __init__(self, command_channel, event_queue, featurelist): - self._idlefuns = {} - Process.__init__(self) - self.command_channel = command_channel - self.event_queue = event_queue - self.event = EventAdapter(event_queue) - self.featurelist = featurelist + def __init__(self, lock, sock, sockname): + multiprocessing.Process.__init__(self) + self.command_channel = False + self.command_channel_reply = False self.quit = False self.heartbeat_seconds = 1 # default, BB_HEARTBEAT_EVENT will be checked once we have a datastore. self.next_heartbeat = time.time() - self.quitin, self.quitout = Pipe() - self.event_handle = multiprocessing.Value("i") + self.event_handle = None + self.haveui = False + self.lastui = False + self.xmlrpc = False + + self._idlefuns = {} + + self.bitbake_lock = lock + self.sock = sock + self.sockname = sockname + + def register_idle_function(self, function, data): + """Register a function to be called while the server is idle""" + assert hasattr(function, '__call__') + self._idlefuns[function] = data def run(self): - for event in bb.event.ui_queue: - self.event_queue.put(event) - self.event_handle.value = bb.event.register_UIHhandler(self, True) + + if self.xmlrpcinterface[0]: + self.xmlrpc = bb.server.xmlrpcserver.BitBakeXMLRPCServer(self.xmlrpcinterface, self.cooker, self) + + print("Bitbake XMLRPC server address: %s, server port: %s" % (self.xmlrpc.host, self.xmlrpc.port)) heartbeat_event = self.cooker.data.getVar('BB_HEARTBEAT_EVENT') if heartbeat_event: try: self.heartbeat_seconds = float(heartbeat_event) except: - # Throwing an exception here causes bitbake to hang. - # Just warn about the invalid setting and continue bb.warn('Ignoring invalid BB_HEARTBEAT_EVENT=%s, must be a float specifying seconds.' % heartbeat_event) + + self.timeout = self.server_timeout or self.cooker.data.getVar('BB_SERVER_TIMEOUT') + try: + if self.timeout: + self.timeout = float(self.timeout) + except: + bb.warn('Ignoring invalid BB_SERVER_TIMEOUT=%s, must be a float specifying seconds.' % self.timeout) + + + try: + self.bitbake_lock.seek(0) + self.bitbake_lock.truncate() + if self.xmlrpcinterface[0]: + self.bitbake_lock.write("%s %s:%s\n" % (os.getpid(), configuration.interface[0], configuration.interface[1])) + else: + self.bitbake_lock.write("%s\n" % (os.getpid())) + self.bitbake_lock.flush() + except: + pass + bb.cooker.server_main(self.cooker, self.main) def main(self): - # Ignore SIGINT within the server, as all SIGINT handling is done by - # the UI and communicated to us - self.quitin.close() - signal.signal(signal.SIGINT, signal.SIG_IGN) bb.utils.set_process_name("Cooker") + + ready = [] + + self.controllersock = False + fds = [self.sock] + if self.xmlrpc: + fds.append(self.xmlrpc) while not self.quit: - try: - if self.command_channel.poll(): - command = self.command_channel.recv() - self.runCommand(command) - if self.quitout.poll(): - self.quitout.recv() + if self.command_channel in ready: + command = self.command_channel.get() + if command[0] == "terminateServer": self.quit = True - try: - self.runCommand(["stateForceShutdown"]) - except: - pass - - self.idle_commands(.1, [self.command_channel, self.quitout]) - except Exception: - logger.exception('Running command %s', command) + continue + try: + print("Running command %s" % command) + self.command_channel_reply.send(self.cooker.command.runCommand(command)) + except Exception as e: + logger.exception('Exception in server main event loop running command %s (%s)' % (command, str(e))) + + if self.xmlrpc in ready: + self.xmlrpc.handle_requests() + if self.sock in ready: + print("Accepting %s" % (str(ready))) + self.controllersock, address = self.sock.accept() + fds.append(self.controllersock) + if self.controllersock in ready: + try: + print("Connecting Client") + ui_fds = recvfds(self.controllersock, 3) + + # Where to write events to + writer = ConnectionWriter(ui_fds[0]) + self.event_handle = bb.event.register_UIHhandler(writer, True) + self.event_writer = writer + + # Where to read commands from + reader = ConnectionReader(ui_fds[1]) + fds.append(reader) + self.command_channel = reader + + # Where to send command return values to + writer = ConnectionWriter(ui_fds[2]) + self.command_channel_reply = writer + + self.haveui = True + + except EOFError: + print("Disconnecting Client") + fds.remove(self.controllersock) + fds.remove(self.command_channel) + bb.event.unregister_UIHhandler(self.event_handle, True) + self.command_channel_reply.writer.close() + self.event_writer.writer.close() + del self.event_writer + self.controllersock.close() + self.haveui = False + self.lastui = time.time() + self.cooker.clientComplete() + if self.timeout is None: + print("No timeout, exiting.") + self.quit = True + if not self.haveui and self.lastui and self.timeout and (self.lastui + self.timeout) < time.time(): + print("Server timeout, exiting.") + self.quit = True - self.event_queue.close() - bb.event.unregister_UIHhandler(self.event_handle.value, True) - self.command_channel.close() - self.cooker.shutdown(True) - self.quitout.close() + ready = self.idle_commands(.1, fds) + + print("Exiting") + try: + self.cooker.shutdown(True) + except: + pass + + # Remove the socket file so we don't get any more connections to avoid races + os.unlink(self.sockname) + self.sock.close() + + # Finally release the lockfile but warn about other processes holding it open + lock = self.bitbake_lock + lockfile = lock.name + lock.close() + lock = None + + while not lock: + with bb.utils.timeout(3): + lock = bb.utils.lockfile(lockfile, shared=False, retry=False, block=True) + if not lock: + # Some systems may not have lsof available + procs = None + try: + procs = subprocess.check_output(["lsof", '-w', lockfile], stderr=subprocess.STDOUT) + except OSError as e: + if e.errno != errno.ENOENT: + raise + if procs is None: + # Fall back to fuser if lsof is unavailable + try: + procs = subprocess.check_output(["fuser", '-v', lockfile], stderr=subprocess.STDOUT) + except OSError as e: + if e.errno != errno.ENOENT: + raise + + msg = "Delaying shutdown due to active processes which appear to be holding bitbake.lock" + if procs: + msg += ":\n%s" % str(procs) + print(msg) + return + # We hold the lock so we can remove the file (hide stale pid data) + bb.utils.remove(lockfile) + bb.utils.unlockfile(lock) def idle_commands(self, delay, fds=None): nextsleep = delay @@ -189,140 +262,252 @@ class ProcessServer(Process): nextsleep = self.next_heartbeat - now if nextsleep is not None: + if self.xmlrpc: + nextsleep = self.xmlrpc.get_timeout(nextsleep) try: - select.select(fds,[],[],nextsleep) + return select.select(fds,[],[],nextsleep)[0] except InterruptedError: - # ignore EINTR error, nextsleep only used for wait - # certain time - pass + # Ignore EINTR + return [] + else: + return [] + + +class ServerCommunicator(): + def __init__(self, connection, recv): + self.connection = connection + self.recv = recv def runCommand(self, command): - """ - Run a cooker command on the server - """ - self.command_channel.send(self.cooker.command.runCommand(command)) - def stop(self): - self.quitin.send("quit") - self.quitin.close() + self.connection.send(command) + while True: + # don't let the user ctrl-c while we're waiting for a response + try: + for idx in range(0,4): # 0, 1, 2, 3 + if self.recv.poll(1): + return self.recv.get() + else: + bb.warn("Timeout while attempting to communicate with bitbake server") + raise ProcessTimeout("Gave up; Too many tries: timeout while attempting to communicate with bitbake server") + except KeyboardInterrupt: + pass + + def updateFeatureSet(self, featureset): + _, error = self.runCommand(["setFeatures", featureset]) + if error: + logger.error("Unable to set the cooker to the correct featureset: %s" % error) + raise BaseException(error) + + def getEventHandle(self): + handle, error = self.runCommand(["getUIHandlerNum"]) + if error: + logger.error("Unable to get UI Handler Number: %s" % error) + raise BaseException(error) - def addcooker(self, cooker): - self.cooker = cooker + return handle - def register_idle_function(self, function, data): - """Register a function to be called while the server is idle""" - assert hasattr(function, '__call__') - self._idlefuns[function] = data + def terminateServer(self): + self.connection.send(['terminateServer']) + return class BitBakeProcessServerConnection(object): - def __init__(self, serverImpl, ui_channel, event_queue): - self.procserver = serverImpl - self.ui_channel = ui_channel - self.event_queue = event_queue - self.connection = ServerCommunicator(self.ui_channel, self.procserver.event_handle, self.procserver) - self.events = self.event_queue - self.terminated = False - - def sigterm_terminate(self): - bb.error("UI received SIGTERM") - self.terminate() + def __init__(self, ui_channel, recv, eq): + self.connection = ServerCommunicator(ui_channel, recv) + self.events = eq def terminate(self): - if self.terminated: - return - self.terminated = True - def flushevents(): - while True: - try: - event = self.event_queue.get(block=False) - except (Empty, IOError): - break - if isinstance(event, logging.LogRecord): - logger.handle(event) - - self.procserver.stop() - - while self.procserver.is_alive(): - flushevents() - self.procserver.join(0.1) - - self.ui_channel.close() - self.event_queue.close() - self.event_queue.setexit() - # XXX: Call explicity close in _writer to avoid - # fd leakage because isn't called on Queue.close() - self.event_queue._writer.close() - - def setupEventQueue(self): - pass - -# Wrap Queue to provide API which isn't server implementation specific -class ProcessEventQueue(multiprocessing.queues.Queue): - def __init__(self, maxsize): - multiprocessing.queues.Queue.__init__(self, maxsize, ctx=multiprocessing.get_context()) - self.exit = False - bb.utils.set_process_name("ProcessEQueue") - - def setexit(self): - self.exit = True - - def waitEvent(self, timeout): - if self.exit: - return self.getEvent() + self.socket_connection.close() + return + +class BitBakeServer(object): + def __init__(self, lock, sockname, configuration, featureset): + + self.configuration = configuration + self.featureset = featureset + self.sockname = sockname + self.bitbake_lock = lock + + # Create server control socket + if os.path.exists(sockname): + os.unlink(sockname) + + self.sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) + # AF_UNIX has path length issues so chdir here to workaround + cwd = os.getcwd() try: - if not self.server.is_alive(): - return self.getEvent() - if timeout == 0: - return self.get(False) - return self.get(True, timeout) - except Empty: - return None + os.chdir(os.path.dirname(sockname)) + self.sock.bind(os.path.basename(sockname)) + finally: + os.chdir(cwd) + self.sock.listen(1) + + os.set_inheritable(self.sock.fileno(), True) + bb.daemonize.createDaemon(self._startServer, "bitbake-cookerdaemon.log") + self.sock.close() + + def _startServer(self): + server = ProcessServer(self.bitbake_lock, self.sock, self.sockname) + self.configuration.setServerRegIdleCallback(server.register_idle_function) + + # Copy prefile and postfile to _server variants + for param in ('prefile', 'postfile'): + value = getattr(self.configuration, param) + if value: + setattr(self.configuration, "%s_server" % param, value) + + self.cooker = bb.cooker.BBCooker(self.configuration, self.featureset) + server.cooker = self.cooker + server.server_timeout = self.configuration.server_timeout + server.xmlrpcinterface = self.configuration.xmlrpcinterface + print("Started bitbake server pid %d" % os.getpid()) + server.start() + +def connectProcessServer(sockname, featureset): + # Connect to socket + sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) + # AF_UNIX has path length issues so chdir here to workaround + cwd = os.getcwd() + + try: + os.chdir(os.path.dirname(sockname)) + sock.connect(os.path.basename(sockname)) + finally: + os.chdir(cwd) + + try: + # Send an fd for the remote to write events to + readfd, writefd = os.pipe() + eq = BBUIEventQueue(readfd) + # Send an fd for the remote to recieve commands from + readfd1, writefd1 = os.pipe() + command_chan = ConnectionWriter(writefd1) + # Send an fd for the remote to write commands results to + readfd2, writefd2 = os.pipe() + command_chan_recv = ConnectionReader(readfd2) + + sendfds(sock, [writefd, readfd1, writefd2]) + + server_connection = BitBakeProcessServerConnection(command_chan, command_chan_recv, eq) + + server_connection.connection.updateFeatureSet(featureset) + + # Save sock so it doesn't get gc'd for the life of our connection + server_connection.socket_connection = sock + except: + sock.close() + raise + + return server_connection + +def sendfds(sock, fds): + '''Send an array of fds over an AF_UNIX socket.''' + fds = array.array('i', fds) + msg = bytes([len(fds) % 256]) + sock.sendmsg([msg], [(socket.SOL_SOCKET, socket.SCM_RIGHTS, fds)]) + +def recvfds(sock, size): + '''Receive an array of fds over an AF_UNIX socket.''' + a = array.array('i') + bytes_size = a.itemsize * size + msg, ancdata, flags, addr = sock.recvmsg(1, socket.CMSG_LEN(bytes_size)) + if not msg and not ancdata: + raise EOFError + try: + if len(ancdata) != 1: + raise RuntimeError('received %d items of ancdata' % + len(ancdata)) + cmsg_level, cmsg_type, cmsg_data = ancdata[0] + if (cmsg_level == socket.SOL_SOCKET and + cmsg_type == socket.SCM_RIGHTS): + if len(cmsg_data) % a.itemsize != 0: + raise ValueError + a.frombytes(cmsg_data) + assert len(a) % 256 == msg[0] + return list(a) + except (ValueError, IndexError): + pass + raise RuntimeError('Invalid data received') + +class BBUIEventQueue: + def __init__(self, readfd): + + self.eventQueue = [] + self.eventQueueLock = threading.Lock() + self.eventQueueNotify = threading.Event() + + self.reader = ConnectionReader(readfd) + + self.t = threading.Thread() + self.t.setDaemon(True) + self.t.run = self.startCallbackHandler + self.t.start() def getEvent(self): - try: - if not self.server.is_alive(): - self.setexit() - return self.get(False) - except Empty: - if self.exit: - sys.exit(1) + self.eventQueueLock.acquire() + + if len(self.eventQueue) == 0: + self.eventQueueLock.release() return None -class BitBakeServer(object): - def initServer(self, single_use=True): - # establish communication channels. We use bidirectional pipes for - # ui <--> server command/response pairs - # and a queue for server -> ui event notifications - # - self.ui_channel, self.server_channel = Pipe() - self.event_queue = ProcessEventQueue(0) - self.serverImpl = ProcessServer(self.server_channel, self.event_queue, None) - self.event_queue.server = self.serverImpl - - def detach(self): - self.serverImpl.start() - return + item = self.eventQueue.pop(0) - def establishConnection(self, featureset): + if len(self.eventQueue) == 0: + self.eventQueueNotify.clear() - self.connection = BitBakeProcessServerConnection(self.serverImpl, self.ui_channel, self.event_queue) + self.eventQueueLock.release() + return item - _, error = self.connection.connection.runCommand(["setFeatures", featureset]) - if error: - logger.error("Unable to set the cooker to the correct featureset: %s" % error) - raise BaseException(error) - signal.signal(signal.SIGTERM, lambda i, s: self.connection.sigterm_terminate()) - return self.connection + def waitEvent(self, delay): + self.eventQueueNotify.wait(delay) + return self.getEvent() - def addcooker(self, cooker): - self.cooker = cooker - self.serverImpl.addcooker(cooker) + def queue_event(self, event): + self.eventQueueLock.acquire() + self.eventQueue.append(event) + self.eventQueueNotify.set() + self.eventQueueLock.release() - def getServerIdleCB(self): - return self.serverImpl.register_idle_function + def send_event(self, event): + self.queue_event(pickle.loads(event)) - def saveConnectionDetails(self): - return + def startCallbackHandler(self): + bb.utils.set_process_name("UIEventQueue") + while True: + self.reader.wait() + event = self.reader.get() + self.queue_event(event) + +class ConnectionReader(object): + + def __init__(self, fd): + self.reader = multiprocessing.connection.Connection(fd, writable=False) + self.rlock = multiprocessing.Lock() + + def wait(self, timeout=None): + return multiprocessing.connection.wait([self.reader], timeout) + + def poll(self, timeout=None): + return self.reader.poll(timeout) + + def get(self): + with self.rlock: + res = self.reader.recv_bytes() + return multiprocessing.reduction.ForkingPickler.loads(res) + + def fileno(self): + return self.reader.fileno() + +class ConnectionWriter(object): + + def __init__(self, fd): + self.writer = multiprocessing.connection.Connection(fd, readable=False) + self.wlock = multiprocessing.Lock() + # Why bb.event needs this I have no idea + self.event = self + + def send(self, obj): + obj = multiprocessing.reduction.ForkingPickler.dumps(obj) + with self.wlock: + self.writer.send_bytes(obj) - def endSession(self): - self.connection.terminate() diff --git a/lib/bb/server/process.py b/lib/bb/server/process.py.orig similarity index 98% copy from lib/bb/server/process.py copy to lib/bb/server/process.py.orig index 48da7fe..ef84757d 100644 --- a/lib/bb/server/process.py +++ b/lib/bb/server/process.py.orig @@ -189,12 +189,7 @@ class ProcessServer(Process): nextsleep = self.next_heartbeat - now if nextsleep is not None: - try: - select.select(fds,[],[],nextsleep) - except InterruptedError: - # ignore EINTR error, nextsleep only used for wait - # certain time - pass + select.select(fds,[],[],nextsleep) def runCommand(self, command): """ diff --git a/lib/bb/server/xmlrpc.py b/lib/bb/server/xmlrpc.py deleted file mode 100644 index 6874765..0000000 --- a/lib/bb/server/xmlrpc.py +++ /dev/null @@ -1,492 +0,0 @@ -# -# BitBake XMLRPC Server -# -# Copyright (C) 2006 - 2007 Michael 'Mickey' Lauer -# Copyright (C) 2006 - 2008 Richard Purdie -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -""" - This module implements an xmlrpc server for BitBake. - - Use this by deriving a class from BitBakeXMLRPCServer and then adding - methods which you want to "export" via XMLRPC. If the methods have the - prefix xmlrpc_, then registering those function will happen automatically, - if not, you need to call register_function. - - Use register_idle_function() to add a function which the xmlrpc server - calls from within server_forever when no requests are pending. Make sure - that those functions are non-blocking or else you will introduce latency - in the server's main loop. -""" - -import os -import sys - -import hashlib -import time -import socket -import signal -import threading -import pickle -import inspect -import select -import http.client -import xmlrpc.client -from xmlrpc.server import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler - -import bb -from bb import daemonize -from bb.ui import uievent - -DEBUG = False - -class BBTransport(xmlrpc.client.Transport): - def __init__(self, timeout): - self.timeout = timeout - self.connection_token = None - xmlrpc.client.Transport.__init__(self) - - # Modified from default to pass timeout to HTTPConnection - def make_connection(self, host): - #return an existing connection if possible. This allows - #HTTP/1.1 keep-alive. - if self._connection and host == self._connection[0]: - return self._connection[1] - - # create a HTTP connection object from a host descriptor - chost, self._extra_headers, x509 = self.get_host_info(host) - #store the host argument along with the connection object - self._connection = host, http.client.HTTPConnection(chost, timeout=self.timeout) - return self._connection[1] - - def set_connection_token(self, token): - self.connection_token = token - - def send_content(self, h, body): - if self.connection_token: - h.putheader("Bitbake-token", self.connection_token) - xmlrpc.client.Transport.send_content(self, h, body) - -def _create_server(host, port, timeout = 60): - t = BBTransport(timeout) - s = xmlrpc.client.ServerProxy("http://%s:%d/" % (host, port), transport=t, allow_none=True, use_builtin_types=True) - return s, t - -def check_connection(remote, timeout): - try: - host, port = remote.split(":") - port = int(port) - except Exception as e: - bb.warn("Failed to read remote definition (%s)" % str(e)) - raise e - - server, _transport = _create_server(host, port, timeout) - try: - ret, err = server.runCommand(['getVariable', 'TOPDIR']) - if err or not ret: - return False - except ConnectionError: - return False - return True - -class BitBakeServerCommands(): - - def __init__(self, server): - self.server = server - self.has_client = False - - def registerEventHandler(self, host, port): - """ - Register a remote UI Event Handler - """ - s, t = _create_server(host, port) - - # we don't allow connections if the cooker is running - if (self.cooker.state in [bb.cooker.state.parsing, bb.cooker.state.running]): - return None, "Cooker is busy: %s" % bb.cooker.state.get_name(self.cooker.state) - - self.event_handle = bb.event.register_UIHhandler(s, True) - return self.event_handle, 'OK' - - def unregisterEventHandler(self, handlerNum): - """ - Unregister a remote UI Event Handler - """ - return bb.event.unregister_UIHhandler(handlerNum, True) - - def runCommand(self, command): - """ - Run a cooker command on the server - """ - return self.cooker.command.runCommand(command, self.server.readonly) - - def getEventHandle(self): - return self.event_handle - - def terminateServer(self): - """ - Trigger the server to quit - """ - self.server.quit = True - print("Server (cooker) exiting") - return - - def addClient(self): - if self.has_client: - return None - token = hashlib.md5(str(time.time()).encode("utf-8")).hexdigest() - self.server.set_connection_token(token) - self.has_client = True - return token - - def removeClient(self): - if self.has_client: - self.server.set_connection_token(None) - self.has_client = False - if self.server.single_use: - self.server.quit = True - -# This request handler checks if the request has a "Bitbake-token" header -# field (this comes from the client side) and compares it with its internal -# "Bitbake-token" field (this comes from the server). If the two are not -# equal, it is assumed that a client is trying to connect to the server -# while another client is connected to the server. In this case, a 503 error -# ("service unavailable") is returned to the client. -class BitBakeXMLRPCRequestHandler(SimpleXMLRPCRequestHandler): - def __init__(self, request, client_address, server): - self.server = server - SimpleXMLRPCRequestHandler.__init__(self, request, client_address, server) - - def do_POST(self): - try: - remote_token = self.headers["Bitbake-token"] - except: - remote_token = None - if remote_token != self.server.connection_token and remote_token != "observer": - self.report_503() - else: - if remote_token == "observer": - self.server.readonly = True - else: - self.server.readonly = False - SimpleXMLRPCRequestHandler.do_POST(self) - - def report_503(self): - self.send_response(503) - response = 'No more client allowed' - self.send_header("Content-type", "text/plain") - self.send_header("Content-length", str(len(response))) - self.end_headers() - self.wfile.write(bytes(response, 'utf-8')) - - -class XMLRPCProxyServer(object): - """ not a real working server, but a stub for a proxy server connection - - """ - def __init__(self, host, port, use_builtin_types=True): - self.host = host - self.port = port - self._idlefuns = {} - - def addcooker(self, cooker): - self.cooker = cooker - - def register_idle_function(self, function, data): - """Register a function to be called while the server is idle""" - assert hasattr(function, '__call__') - self._idlefuns[function] = data - - -class XMLRPCServer(SimpleXMLRPCServer): - # remove this when you're done with debugging - # allow_reuse_address = True - - def __init__(self, interface, single_use=False, idle_timeout=0): - """ - Constructor - """ - self._idlefuns = {} - self.single_use = single_use - # Use auto port configuration - if (interface[1] == -1): - interface = (interface[0], 0) - SimpleXMLRPCServer.__init__(self, interface, - requestHandler=BitBakeXMLRPCRequestHandler, - logRequests=False, allow_none=True) - self.host, self.port = self.socket.getsockname() - self.connection_token = None - #self.register_introspection_functions() - self.commands = BitBakeServerCommands(self) - self.autoregister_all_functions(self.commands, "") - self.interface = interface - self.time = time.time() - self.idle_timeout = idle_timeout - if idle_timeout: - self.register_idle_function(self.handle_idle_timeout, self) - self.heartbeat_seconds = 1 # default, BB_HEARTBEAT_EVENT will be checked once we have a datastore. - self.next_heartbeat = time.time() - - def addcooker(self, cooker): - self.cooker = cooker - self.commands.cooker = cooker - - def autoregister_all_functions(self, context, prefix): - """ - Convenience method for registering all functions in the scope - of this class that start with a common prefix - """ - methodlist = inspect.getmembers(context, inspect.ismethod) - for name, method in methodlist: - if name.startswith(prefix): - self.register_function(method, name[len(prefix):]) - - def handle_idle_timeout(self, server, data, abort): - if not abort: - if time.time() - server.time > server.idle_timeout: - server.quit = True - print("Server idle timeout expired") - return [] - - def serve_forever(self): - heartbeat_event = self.cooker.data.getVar('BB_HEARTBEAT_EVENT') - if heartbeat_event: - try: - self.heartbeat_seconds = float(heartbeat_event) - except: - # Throwing an exception here causes bitbake to hang. - # Just warn about the invalid setting and continue - bb.warn('Ignoring invalid BB_HEARTBEAT_EVENT=%s, must be a float specifying seconds.' % heartbeat_event) - - # Start the actual XMLRPC server - bb.cooker.server_main(self.cooker, self._serve_forever) - - def _serve_forever(self): - """ - Serve Requests. Overloaded to honor a quit command - """ - self.quit = False - while not self.quit: - fds = [self] - nextsleep = 0.1 - for function, data in list(self._idlefuns.items()): - retval = None - try: - retval = function(self, data, False) - if retval is False: - del self._idlefuns[function] - elif retval is True: - nextsleep = 0 - elif isinstance(retval, float): - if (retval < nextsleep): - nextsleep = retval - else: - fds = fds + retval - except SystemExit: - raise - except: - import traceback - traceback.print_exc() - if retval == None: - # the function execute failed; delete it - del self._idlefuns[function] - pass - - socktimeout = self.socket.gettimeout() or nextsleep - socktimeout = min(socktimeout, nextsleep) - # Mirror what BaseServer handle_request would do - try: - fd_sets = select.select(fds, [], [], socktimeout) - if fd_sets[0] and self in fd_sets[0]: - if self.idle_timeout: - self.time = time.time() - self._handle_request_noblock() - except IOError: - # we ignore interrupted calls - pass - - # Create new heartbeat event? - now = time.time() - if now >= self.next_heartbeat: - # We might have missed heartbeats. Just trigger once in - # that case and continue after the usual delay. - self.next_heartbeat += self.heartbeat_seconds - if self.next_heartbeat <= now: - self.next_heartbeat = now + self.heartbeat_seconds - heartbeat = bb.event.HeartbeatEvent(now) - bb.event.fire(heartbeat, self.cooker.data) - if nextsleep and now + nextsleep > self.next_heartbeat: - # Shorten timeout so that we we wake up in time for - # the heartbeat. - nextsleep = self.next_heartbeat - now - - # Tell idle functions we're exiting - for function, data in list(self._idlefuns.items()): - try: - retval = function(self, data, True) - except: - pass - self.server_close() - return - - def set_connection_token(self, token): - self.connection_token = token - - def register_idle_function(self, function, data): - """Register a function to be called while the server is idle""" - assert hasattr(function, '__call__') - self._idlefuns[function] = data - - -class BitBakeXMLRPCServerConnection(object): - def __init__(self, serverImpl, clientinfo=("localhost", 0), observer_only = False, featureset = None): - self.connection, self.transport = _create_server(serverImpl.host, serverImpl.port) - self.clientinfo = clientinfo - self.serverImpl = serverImpl - self.observer_only = observer_only - if featureset: - self.featureset = featureset - else: - self.featureset = [] - - def connect(self, token = None): - if token is None: - if self.observer_only: - token = "observer" - else: - token = self.connection.addClient() - - if token is None: - return None - - self.transport.set_connection_token(token) - return self - - def setupEventQueue(self): - self.events = uievent.BBUIEventQueue(self.connection, self.clientinfo) - for event in bb.event.ui_queue: - self.events.queue_event(event) - - _, error = self.connection.runCommand(["setFeatures", self.featureset]) - if error: - # disconnect the client, we can't make the setFeature work - self.connection.removeClient() - # no need to log it here, the error shall be sent to the client - raise BaseException(error) - - def removeClient(self): - if not self.observer_only: - self.connection.removeClient() - - def terminate(self): - # Don't wait for server indefinitely - import socket - socket.setdefaulttimeout(2) - try: - self.events.system_quit() - except: - pass - try: - self.connection.removeClient() - except: - pass - -class BitBakeServer(object): - def initServer(self, interface = ("localhost", 0), - single_use = False, idle_timeout=0): - self.interface = interface - self.serverImpl = XMLRPCServer(interface, single_use, idle_timeout) - - def detach(self): - daemonize.createDaemon(self.serverImpl.serve_forever, "bitbake-cookerdaemon.log") - del self.cooker - - def establishConnection(self, featureset): - self.connection = BitBakeXMLRPCServerConnection(self.serverImpl, self.interface, False, featureset) - return self.connection.connect() - - def set_connection_token(self, token): - self.connection.transport.set_connection_token(token) - - def addcooker(self, cooker): - self.cooker = cooker - self.serverImpl.addcooker(cooker) - - def getServerIdleCB(self): - return self.serverImpl.register_idle_function - - def saveConnectionDetails(self): - return - - def endSession(self): - self.connection.terminate() - -class BitBakeXMLRPCClient(object): - - def __init__(self, observer_only = False, token = None): - self.token = token - - self.observer_only = observer_only - # if we need extra caches, just tell the server to load them all - pass - - def saveConnectionDetails(self, remote): - self.remote = remote - - def establishConnection(self, featureset): - # The format of "remote" must be "server:port" - try: - [host, port] = self.remote.split(":") - port = int(port) - except Exception as e: - bb.warn("Failed to read remote definition (%s)" % str(e)) - raise e - - # We need our IP for the server connection. We get the IP - # by trying to connect with the server - try: - s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) - s.connect((host, port)) - ip = s.getsockname()[0] - s.close() - except Exception as e: - bb.warn("Could not create socket for %s:%s (%s)" % (host, port, str(e))) - raise e - try: - self.serverImpl = XMLRPCProxyServer(host, port, use_builtin_types=True) - self.connection = BitBakeXMLRPCServerConnection(self.serverImpl, (ip, 0), self.observer_only, featureset) - return self.connection.connect(self.token) - except Exception as e: - bb.warn("Could not connect to server at %s:%s (%s)" % (host, port, str(e))) - raise e - - def endSession(self): - self.connection.removeClient() - - def initServer(self): - self.serverImpl = None - self.connection = None - return - - def addcooker(self, cooker): - self.cooker = cooker - self.serverImpl.addcooker(cooker) - - def getServerIdleCB(self): - return self.serverImpl.register_idle_function - - def detach(self): - return - diff --git a/lib/bb/server/xmlrpcclient.py b/lib/bb/server/xmlrpcclient.py new file mode 100644 index 0000000..4661a9e --- /dev/null +++ b/lib/bb/server/xmlrpcclient.py @@ -0,0 +1,154 @@ +# +# BitBake XMLRPC Client Interface +# +# Copyright (C) 2006 - 2007 Michael 'Mickey' Lauer +# Copyright (C) 2006 - 2008 Richard Purdie +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +import os +import sys + +import socket +import http.client +import xmlrpc.client + +import bb +from bb.ui import uievent + +class BBTransport(xmlrpc.client.Transport): + def __init__(self, timeout): + self.timeout = timeout + self.connection_token = None + xmlrpc.client.Transport.__init__(self) + + # Modified from default to pass timeout to HTTPConnection + def make_connection(self, host): + #return an existing connection if possible. This allows + #HTTP/1.1 keep-alive. + if self._connection and host == self._connection[0]: + return self._connection[1] + + # create a HTTP connection object from a host descriptor + chost, self._extra_headers, x509 = self.get_host_info(host) + #store the host argument along with the connection object + self._connection = host, http.client.HTTPConnection(chost, timeout=self.timeout) + return self._connection[1] + + def set_connection_token(self, token): + self.connection_token = token + + def send_content(self, h, body): + if self.connection_token: + h.putheader("Bitbake-token", self.connection_token) + xmlrpc.client.Transport.send_content(self, h, body) + +def _create_server(host, port, timeout = 60): + t = BBTransport(timeout) + s = xmlrpc.client.ServerProxy("http://%s:%d/" % (host, port), transport=t, allow_none=True, use_builtin_types=True) + return s, t + +def check_connection(remote, timeout): + try: + host, port = remote.split(":") + port = int(port) + except Exception as e: + bb.warn("Failed to read remote definition (%s)" % str(e)) + raise e + + server, _transport = _create_server(host, port, timeout) + try: + ret, err = server.runCommand(['getVariable', 'TOPDIR']) + if err or not ret: + return False + except ConnectionError: + return False + return True + +class BitBakeXMLRPCServerConnection(object): + def __init__(self, host, port, clientinfo=("localhost", 0), observer_only = False, featureset = None): + self.connection, self.transport = _create_server(host, port) + self.clientinfo = clientinfo + self.observer_only = observer_only + if featureset: + self.featureset = featureset + else: + self.featureset = [] + + self.events = uievent.BBUIEventQueue(self.connection, self.clientinfo) + + _, error = self.connection.runCommand(["setFeatures", self.featureset]) + if error: + # disconnect the client, we can't make the setFeature work + self.connection.removeClient() + # no need to log it here, the error shall be sent to the client + raise BaseException(error) + + def connect(self, token = None): + if token is None: + if self.observer_only: + token = "observer" + else: + token = self.connection.addClient() + + if token is None: + return None + + self.transport.set_connection_token(token) + return self + + def removeClient(self): + if not self.observer_only: + self.connection.removeClient() + + def terminate(self): + # Don't wait for server indefinitely + socket.setdefaulttimeout(2) + try: + self.events.system_quit() + except: + pass + try: + self.connection.removeClient() + except: + pass + +def connectXMLRPC(remote, featureset, observer_only = False, token = None): + # The format of "remote" must be "server:port" + try: + [host, port] = remote.split(":") + port = int(port) + except Exception as e: + bb.warn("Failed to parse remote definition %s (%s)" % (remote, str(e))) + raise e + + # We need our IP for the server connection. We get the IP + # by trying to connect with the server + try: + s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + s.connect((host, port)) + ip = s.getsockname()[0] + s.close() + except Exception as e: + bb.warn("Could not create socket for %s:%s (%s)" % (host, port, str(e))) + raise e + try: + connection = BitBakeXMLRPCServerConnection(host, port, (ip, 0), observer_only, featureset) + return connection.connect(token) + except Exception as e: + bb.warn("Could not connect to server at %s:%s (%s)" % (host, port, str(e))) + raise e + + + diff --git a/lib/bb/server/xmlrpcserver.py b/lib/bb/server/xmlrpcserver.py new file mode 100644 index 0000000..875b128 --- /dev/null +++ b/lib/bb/server/xmlrpcserver.py @@ -0,0 +1,158 @@ +# +# BitBake XMLRPC Server Interface +# +# Copyright (C) 2006 - 2007 Michael 'Mickey' Lauer +# Copyright (C) 2006 - 2008 Richard Purdie +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +import os +import sys + +import hashlib +import time +import inspect +from xmlrpc.server import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler + +import bb + +# This request handler checks if the request has a "Bitbake-token" header +# field (this comes from the client side) and compares it with its internal +# "Bitbake-token" field (this comes from the server). If the two are not +# equal, it is assumed that a client is trying to connect to the server +# while another client is connected to the server. In this case, a 503 error +# ("service unavailable") is returned to the client. +class BitBakeXMLRPCRequestHandler(SimpleXMLRPCRequestHandler): + def __init__(self, request, client_address, server): + self.server = server + SimpleXMLRPCRequestHandler.__init__(self, request, client_address, server) + + def do_POST(self): + try: + remote_token = self.headers["Bitbake-token"] + except: + remote_token = None + if 0 and remote_token != self.server.connection_token and remote_token != "observer": + self.report_503() + else: + if remote_token == "observer": + self.server.readonly = True + else: + self.server.readonly = False + SimpleXMLRPCRequestHandler.do_POST(self) + + def report_503(self): + self.send_response(503) + response = 'No more client allowed' + self.send_header("Content-type", "text/plain") + self.send_header("Content-length", str(len(response))) + self.end_headers() + self.wfile.write(bytes(response, 'utf-8')) + +class BitBakeXMLRPCServer(SimpleXMLRPCServer): + # remove this when you're done with debugging + # allow_reuse_address = True + + def __init__(self, interface, cooker, parent): + # Use auto port configuration + if (interface[1] == -1): + interface = (interface[0], 0) + SimpleXMLRPCServer.__init__(self, interface, + requestHandler=BitBakeXMLRPCRequestHandler, + logRequests=False, allow_none=True) + self.host, self.port = self.socket.getsockname() + self.interface = interface + + self.connection_token = None + self.commands = BitBakeXMLRPCServerCommands(self) + self.register_functions(self.commands, "") + + self.cooker = cooker + self.parent = parent + + + def register_functions(self, context, prefix): + """ + Convenience method for registering all functions in the scope + of this class that start with a common prefix + """ + methodlist = inspect.getmembers(context, inspect.ismethod) + for name, method in methodlist: + if name.startswith(prefix): + self.register_function(method, name[len(prefix):]) + + def get_timeout(self, delay): + socktimeout = self.socket.gettimeout() or delay + return min(socktimeout, delay) + + def handle_requests(self): + self._handle_request_noblock() + +class BitBakeXMLRPCServerCommands(): + + def __init__(self, server): + self.server = server + self.has_client = False + + def registerEventHandler(self, host, port): + """ + Register a remote UI Event Handler + """ + s, t = bb.server.xmlrpcclient._create_server(host, port) + + # we don't allow connections if the cooker is running + if (self.server.cooker.state in [bb.cooker.state.parsing, bb.cooker.state.running]): + return None, "Cooker is busy: %s" % bb.cooker.state.get_name(self.server.cooker.state) + + self.event_handle = bb.event.register_UIHhandler(s, True) + return self.event_handle, 'OK' + + def unregisterEventHandler(self, handlerNum): + """ + Unregister a remote UI Event Handler + """ + ret = bb.event.unregister_UIHhandler(handlerNum, True) + self.event_handle = None + return ret + + def runCommand(self, command): + """ + Run a cooker command on the server + """ + return self.server.cooker.command.runCommand(command, self.server.readonly) + + def getEventHandle(self): + return self.event_handle + + def terminateServer(self): + """ + Trigger the server to quit + """ + self.server.parent.quit = True + print("XMLRPC Server triggering exit") + return + + def addClient(self): + if self.server.parent.haveui: + return None + token = hashlib.md5(str(time.time()).encode("utf-8")).hexdigest() + self.server.connection_token = token + self.server.parent.haveui = True + return token + + def removeClient(self): + if self.server.parent.haveui: + self.server.connection_token = None + self.server.parent.haveui = False + diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index fb0da62..303ce02 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -243,7 +243,7 @@ class Tinfoil: cookerconfig = CookerConfiguration() cookerconfig.setConfigParameters(config_params) - server, self.server_connection, ui_module = setup_bitbake(config_params, + self.server_connection, ui_module = setup_bitbake(config_params, cookerconfig, extrafeatures, setup_logging=False) diff --git a/lib/prserv/serv.py b/lib/prserv/serv.py index a7efa58..5f061c2 100644 --- a/lib/prserv/serv.py +++ b/lib/prserv/serv.py @@ -6,7 +6,7 @@ import queue import socket import io import sqlite3 -import bb.server.xmlrpc +import bb.server.xmlrpcclient import prserv import prserv.db import errno @@ -300,7 +300,7 @@ class PRServerConnection(object): host, port = singleton.getinfo() self.host = host self.port = port - self.connection, self.transport = bb.server.xmlrpc._create_server(self.host, self.port) + self.connection, self.transport = bb.server.xmlrpcclient._create_server(self.host, self.port) def terminate(self): try: -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:33:16 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:33:16 +0000 Subject: [oe-commits] [bitbake] 21/23: fetch2: allow hiding checksum warning In-Reply-To: <150041357528.23220.15334549277574213739@git.openembedded.org> References: <150041357528.23220.15334549277574213739@git.openembedded.org> Message-ID: <20170718213256.06C03233550@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit a7ea92c80d600c5ea6ce45b2bb9b2979b2ec2896 Author: Paul Eggleton AuthorDate: Tue Jun 27 15:51:32 2017 +0100 fetch2: allow hiding checksum warning If BB_STRICT_CHECKSUMS is set to "ignore" then don't display a warning if no checksums are specified in the recipe. This is not intended to be used from recipes - it is needed when we move to using more standard code paths to fetch new files from scripts i.e. where we don't know what the checksums are in advance. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/fetch2/__init__.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/bb/fetch2/__init__.py b/lib/bb/fetch2/__init__.py index 5c02317..2e615b2 100644 --- a/lib/bb/fetch2/__init__.py +++ b/lib/bb/fetch2/__init__.py @@ -584,6 +584,12 @@ def verify_checksum(ud, d, precomputed={}): ud.sha256_name, sha256data)) raise NoChecksumError('Missing SRC_URI checksum', ud.url) + if strict == "ignore": + return { + _MD5_KEY: md5data, + _SHA256_KEY: sha256data + } + # Log missing sums so user can more easily add them logger.warning('Missing md5 SRC_URI checksum for %s, consider adding to the recipe:\n' 'SRC_URI[%s] = "%s"', -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:33:17 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:33:17 +0000 Subject: [oe-commits] [bitbake] 22/23: fetch2: fire an event when there are missing checksums In-Reply-To: <150041357528.23220.15334549277574213739@git.openembedded.org> References: <150041357528.23220.15334549277574213739@git.openembedded.org> Message-ID: <20170718213256.0F9AB23354B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 6d6d1172cc754d92e7209b01e299e70843f81850 Author: Paul Eggleton AuthorDate: Tue Jun 27 15:54:37 2017 +0100 fetch2: fire an event when there are missing checksums If BB_STRICT_CHECKSUMS is set to anything other than "1" i.e. we're not going to raise an error, then fire an event so that scripts can listen for it and get the checksums. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/fetch2/__init__.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/bb/fetch2/__init__.py b/lib/bb/fetch2/__init__.py index 2e615b2..74ba37f 100644 --- a/lib/bb/fetch2/__init__.py +++ b/lib/bb/fetch2/__init__.py @@ -39,6 +39,7 @@ import errno import bb.persist_data, bb.utils import bb.checksum import bb.process +import bb.event __version__ = "2" _checksum_cache = bb.checksum.FileChecksumCache() @@ -142,6 +143,13 @@ class NonLocalMethod(Exception): def __init__(self): Exception.__init__(self) +class MissingChecksumEvent(bb.event.Event): + def __init__(self, url, md5sum, sha256sum): + self.url = url + self.checksums = {'md5sum': md5sum, + 'sha256sum': sha256sum} + bb.event.Event.__init__(self) + class URI(object): """ @@ -584,6 +592,8 @@ def verify_checksum(ud, d, precomputed={}): ud.sha256_name, sha256data)) raise NoChecksumError('Missing SRC_URI checksum', ud.url) + bb.event.fire(MissingChecksumEvent(ud.url, md5data, sha256data), d) + if strict == "ignore": return { _MD5_KEY: md5data, -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:33:11 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:33:11 +0000 Subject: [oe-commits] [bitbake] 16/23: tinfoil: add simple API for getting cached recipe information In-Reply-To: <150041357528.23220.15334549277574213739@git.openembedded.org> References: <150041357528.23220.15334549277574213739@git.openembedded.org> Message-ID: <20170718213255.DA6122335A2@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit db01cc7853203b4e303ef80d1f72fedcedc8823c Author: Paul Eggleton AuthorDate: Mon Jun 12 11:44:24 2017 +0200 tinfoil: add simple API for getting cached recipe information A common task for tinfoil-using scripts is to iterate over all recipes. This isn't too difficult with the current API, but the pkg_* variables are a little awkward and are really designed for bitbake's internal usage - and it gets a bit more difficult when you want to access some of the other information such as packages and rprovides. To resolve this, create a new recipe info class and add an all_recipes() function to generate this for all recipes. Also add a get_recipe_info() function to get the information for a specific recipe (by PN). (It might perhaps be suggested that we already have a structure similar to this in the cache, however the one we add here is designed for external use and allows the internal structures to change if needed without affecting the API). Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/tinfoil.py | 142 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 142 insertions(+) diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index 0176b76..960468e 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -217,6 +217,82 @@ class TinfoilCookerAdapter: return self.tinfoil.find_best_provider(pn) +class TinfoilRecipeInfo: + """ + Provides a convenient representation of the cached information for a single recipe. + Some attributes are set on construction, others are read on-demand (which internally + may result in a remote procedure call to the bitbake server the first time). + Note that only information which is cached is available through this object - if + you need other variable values you will need to parse the recipe using + Tinfoil.parse_recipe(). + """ + def __init__(self, recipecache, d, pn, fn, fns): + self._recipecache = recipecache + self._d = d + self.pn = pn + self.fn = fn + self.fns = fns + self.inherit_files = recipecache.inherits[fn] + self.depends = recipecache.deps[fn] + (self.pe, self.pv, self.pr) = recipecache.pkg_pepvpr[fn] + self._cached_packages = None + self._cached_rprovides = None + self._cached_packages_dynamic = None + + def __getattr__(self, name): + if name == 'alternates': + return [x for x in self.fns if x != self.fn] + elif name == 'rdepends': + return self._recipecache.rundeps[self.fn] + elif name == 'rrecommends': + return self._recipecache.runrecs[self.fn] + elif name == 'provides': + return self._recipecache.fn_provides[self.fn] + elif name == 'packages': + if self._cached_packages is None: + self._cached_packages = [] + for pkg, fns in self._recipecache.packages.items(): + if self.fn in fns: + self._cached_packages.append(pkg) + return self._cached_packages + elif name == 'packages_dynamic': + if self._cached_packages_dynamic is None: + self._cached_packages_dynamic = [] + for pkg, fns in self._recipecache.packages_dynamic.items(): + if self.fn in fns: + self._cached_packages_dynamic.append(pkg) + return self._cached_packages_dynamic + elif name == 'rprovides': + if self._cached_rprovides is None: + self._cached_rprovides = [] + for pkg, fns in self._recipecache.rproviders.items(): + if self.fn in fns: + self._cached_rprovides.append(pkg) + return self._cached_rprovides + else: + raise AttributeError("%s instance has no attribute '%s'" % (self.__class__.__name__, name)) + def inherits(self, only_recipe=False): + """ + Get the inherited classes for a recipe. Returns the class names only. + Parameters: + only_recipe: True to return only the classes inherited by the recipe + itself, False to return all classes inherited within + the context for the recipe (which includes globally + inherited classes). + """ + if only_recipe: + global_inherit = [x for x in (self._d.getVar('BBINCLUDED') or '').split() if x.endswith('.bbclass')] + else: + global_inherit = [] + for clsfile in self.inherit_files: + if only_recipe and clsfile in global_inherit: + continue + clsname = os.path.splitext(os.path.basename(clsfile))[0] + yield clsname + def __str__(self): + return '%s' % self.pn + + class Tinfoil: def __init__(self, output=sys.stdout, tracking=False, setup_logging=True): @@ -401,6 +477,72 @@ class Tinfoil: def get_file_appends(self, fn): return self.run_command('getFileAppends', fn) + def all_recipes(self, mc='', sort=True): + """ + Enable iterating over all recipes in the current configuration. + Returns an iterator over TinfoilRecipeInfo objects created on demand. + Parameters: + mc: The multiconfig, default of '' uses the main configuration. + sort: True to sort recipes alphabetically (default), False otherwise + """ + recipecache = self.cooker.recipecaches[mc] + if sort: + recipes = sorted(recipecache.pkg_pn.items()) + else: + recipes = recipecache.pkg_pn.items() + for pn, fns in recipes: + prov = self.find_best_provider(pn) + recipe = TinfoilRecipeInfo(recipecache, + self.config_data, + pn=pn, + fn=prov[3], + fns=fns) + yield recipe + + def all_recipe_files(self, mc='', variants=True, preferred_only=False): + """ + Enable iterating over all recipe files in the current configuration. + Returns an iterator over file paths. + Parameters: + mc: The multiconfig, default of '' uses the main configuration. + variants: True to include variants of recipes created through + BBCLASSEXTEND (default) or False to exclude them + preferred_only: True to include only the preferred recipe where + multiple exist providing the same PN, False to list + all recipes + """ + recipecache = self.cooker.recipecaches[mc] + if preferred_only: + files = [] + for pn in recipecache.pkg_pn.keys(): + prov = self.find_best_provider(pn) + files.append(prov[3]) + else: + files = recipecache.pkg_fn.keys() + for fn in sorted(files): + if not variants and fn.startswith('virtual:'): + continue + yield fn + + + def get_recipe_info(self, pn, mc=''): + """ + Get information on a specific recipe in the current configuration by name (PN). + Returns a TinfoilRecipeInfo object created on demand. + Parameters: + mc: The multiconfig, default of '' uses the main configuration. + """ + recipecache = self.cooker.recipecaches[mc] + prov = self.find_best_provider(pn) + fn = prov[3] + actual_pn = recipecache.pkg_fn[fn] + recipe = TinfoilRecipeInfo(recipecache, + self.config_data, + pn=actual_pn, + fn=fn, + fns=recipecache.pkg_pn[actual_pn]) + return recipe + def parse_recipe(self, pn): """ Parse the specified recipe and return a datastore object -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:33:15 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:33:15 +0000 Subject: [oe-commits] [bitbake] 20/23: fetch2: fix indentation In-Reply-To: <150041357528.23220.15334549277574213739@git.openembedded.org> References: <150041357528.23220.15334549277574213739@git.openembedded.org> Message-ID: <20170718213255.F336F2335A8@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 86b718873b5eecb765cb842a35c415279c2e78db Author: Paul Eggleton AuthorDate: Fri Jun 23 16:25:57 2017 +0200 fetch2: fix indentation Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/fetch2/__init__.py | 94 +++++++++++++++++++++++------------------------ 1 file changed, 47 insertions(+), 47 deletions(-) diff --git a/lib/bb/fetch2/__init__.py b/lib/bb/fetch2/__init__.py index ec65216..5c02317 100644 --- a/lib/bb/fetch2/__init__.py +++ b/lib/bb/fetch2/__init__.py @@ -48,11 +48,11 @@ logger = logging.getLogger("BitBake.Fetcher") class BBFetchException(Exception): """Class all fetch exceptions inherit from""" def __init__(self, message): - self.msg = message - Exception.__init__(self, message) + self.msg = message + Exception.__init__(self, message) def __str__(self): - return self.msg + return self.msg class UntrustedUrl(BBFetchException): """Exception raised when encountering a host not listed in BB_ALLOWED_NETWORKS""" @@ -68,24 +68,24 @@ class UntrustedUrl(BBFetchException): class MalformedUrl(BBFetchException): """Exception raised when encountering an invalid url""" def __init__(self, url, message=''): - if message: - msg = message - else: - msg = "The URL: '%s' is invalid and cannot be interpreted" % url - self.url = url - BBFetchException.__init__(self, msg) - self.args = (url,) + if message: + msg = message + else: + msg = "The URL: '%s' is invalid and cannot be interpreted" % url + self.url = url + BBFetchException.__init__(self, msg) + self.args = (url,) class FetchError(BBFetchException): """General fetcher exception when something happens incorrectly""" def __init__(self, message, url = None): - if url: + if url: msg = "Fetcher failure for URL: '%s'. %s" % (url, message) - else: + else: msg = "Fetcher failure: %s" % message - self.url = url - BBFetchException.__init__(self, msg) - self.args = (message, url) + self.url = url + BBFetchException.__init__(self, msg) + self.args = (message, url) class ChecksumError(FetchError): """Exception when mismatched checksum encountered""" @@ -99,44 +99,44 @@ class NoChecksumError(FetchError): class UnpackError(BBFetchException): """General fetcher exception when something happens incorrectly when unpacking""" def __init__(self, message, url): - msg = "Unpack failure for URL: '%s'. %s" % (url, message) - self.url = url - BBFetchException.__init__(self, msg) - self.args = (message, url) + msg = "Unpack failure for URL: '%s'. %s" % (url, message) + self.url = url + BBFetchException.__init__(self, msg) + self.args = (message, url) class NoMethodError(BBFetchException): """Exception raised when there is no method to obtain a supplied url or set of urls""" def __init__(self, url): - msg = "Could not find a fetcher which supports the URL: '%s'" % url - self.url = url - BBFetchException.__init__(self, msg) - self.args = (url,) + msg = "Could not find a fetcher which supports the URL: '%s'" % url + self.url = url + BBFetchException.__init__(self, msg) + self.args = (url,) class MissingParameterError(BBFetchException): """Exception raised when a fetch method is missing a critical parameter in the url""" def __init__(self, missing, url): - msg = "URL: '%s' is missing the required parameter '%s'" % (url, missing) - self.url = url - self.missing = missing - BBFetchException.__init__(self, msg) - self.args = (missing, url) + msg = "URL: '%s' is missing the required parameter '%s'" % (url, missing) + self.url = url + self.missing = missing + BBFetchException.__init__(self, msg) + self.args = (missing, url) class ParameterError(BBFetchException): """Exception raised when a url cannot be proccessed due to invalid parameters.""" def __init__(self, message, url): - msg = "URL: '%s' has invalid parameters. %s" % (url, message) - self.url = url - BBFetchException.__init__(self, msg) - self.args = (message, url) + msg = "URL: '%s' has invalid parameters. %s" % (url, message) + self.url = url + BBFetchException.__init__(self, msg) + self.args = (message, url) class NetworkAccess(BBFetchException): """Exception raised when network access is disabled but it is required.""" def __init__(self, url, cmd): - msg = "Network access disabled through BB_NO_NETWORK (or set indirectly due to use of BB_FETCH_PREMIRRORONLY) but access requested with command %s (for url %s)" % (cmd, url) - self.url = url - self.cmd = cmd - BBFetchException.__init__(self, msg) - self.args = (url, cmd) + msg = "Network access disabled through BB_NO_NETWORK (or set indirectly due to use of BB_FETCH_PREMIRRORONLY) but access requested with command %s (for url %s)" % (cmd, url) + self.url = url + self.cmd = cmd + BBFetchException.__init__(self, msg) + self.args = (url, cmd) class NonLocalMethod(Exception): def __init__(self): @@ -455,7 +455,7 @@ def uri_replace(ud, uri_find, uri_replace, replacements, d, mirrortarball=None): result_decoded[loc][k] = uri_replace_decoded[loc][k] elif (re.match(regexp, uri_decoded[loc])): if not uri_replace_decoded[loc]: - result_decoded[loc] = "" + result_decoded[loc] = "" else: for k in replacements: uri_replace_decoded[loc] = uri_replace_decoded[loc].replace(k, replacements[k]) @@ -733,7 +733,7 @@ def get_srcrev(d, method_name='sortable_revision'): In the multi SCM case, we build a value based on SRCREV_FORMAT which must have been set. - The idea here is that we put the string "AUTOINC+" into return value if the revisions are not + The idea here is that we put the string "AUTOINC+" into return value if the revisions are not incremental, other code is then responsible for turning that into an increasing value (if needed) A method_name can be supplied to retrieve an alternatively formatted revision from a fetcher, if @@ -785,7 +785,7 @@ def get_srcrev(d, method_name='sortable_revision'): format = re.sub(name_to_rev_re, lambda match: name_to_rev[match.group(0)], format) if seenautoinc: - format = "AUTOINC+" + format + format = "AUTOINC+" + format return format @@ -921,7 +921,7 @@ def build_mirroruris(origud, mirrors, ld): logger.debug(1, "Mirror fetch failure for url %s (original url: %s)" % (newuri, origud.url)) logger.debug(1, str(e)) try: - # setup_localpath of file:// urls may fail, we should still see + # setup_localpath of file:// urls may fail, we should still see # if mirrors of the url exist adduri(newud, uris, uds, localmirrors, tarballs) except UnboundLocalError: @@ -1117,7 +1117,7 @@ def srcrev_internal_helper(ud, d, name): attempts.append("SRCREV") for a in attempts: - srcrev = d.getVar(a) + srcrev = d.getVar(a) if srcrev and srcrev != "INVALID": break @@ -1230,7 +1230,7 @@ class FetchData(object): for m in methods: if m.supports(self, d): self.method = m - break + break if not self.method: raise NoMethodError(url) @@ -1265,7 +1265,7 @@ class FetchData(object): elif self.basepath or self.basename: basepath = dldir + os.sep + (self.basepath or self.basename) else: - bb.fatal("Can't determine lock path for url %s" % url) + bb.fatal("Can't determine lock path for url %s" % url) self.donestamp = basepath + '.done' self.lockfile = basepath + '.lock' @@ -1328,13 +1328,13 @@ class FetchMethod(object): if os.path.isdir(urldata.localpath) == True: return False if urldata.localpath.find("*") != -1: - return False + return False return True def recommends_checksum(self, urldata): """ - Is the backend on where checksumming is recommended (should warnings + Is the backend on where checksumming is recommended (should warnings be displayed if there is no checksum)? """ return False @@ -1614,7 +1614,7 @@ class Fetch(object): try: self.d.setVar("BB_NO_NETWORK", network) - + if verify_donestamp(ud, self.d) and not m.need_update(ud, self.d): localpath = ud.localpath elif m.try_premirror(ud, self.d): -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:33:12 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:33:12 +0000 Subject: [oe-commits] [bitbake] 17/23: cache.py: fix whitespace In-Reply-To: <150041357528.23220.15334549277574213739@git.openembedded.org> References: <150041357528.23220.15334549277574213739@git.openembedded.org> Message-ID: <20170718213255.E07BE2335A3@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 1a17e0e96d59e6acded84e22420d7d22d03e33b4 Author: Paul Eggleton AuthorDate: Wed Jun 14 16:11:39 2017 +0200 cache.py: fix whitespace Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/cache.py | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/lib/bb/cache.py b/lib/bb/cache.py index 5143992..86ce0e7 100644 --- a/lib/bb/cache.py +++ b/lib/bb/cache.py @@ -86,9 +86,9 @@ class RecipeInfoCommon(object): class CoreRecipeInfo(RecipeInfoCommon): __slots__ = () - cachefile = "bb_cache.dat" + cachefile = "bb_cache.dat" - def __init__(self, filename, metadata): + def __init__(self, filename, metadata): self.file_depends = metadata.getVar('__depends', False) self.timestamp = bb.parse.cached_mtime(filename) self.variants = self.listvar('__VARIANTS', metadata) + [''] @@ -122,7 +122,7 @@ class CoreRecipeInfo(RecipeInfoCommon): self.defaultpref = self.intvar('DEFAULT_PREFERENCE', metadata) self.not_world = self.getvar('EXCLUDE_FROM_WORLD', metadata) self.stamp = self.getvar('STAMP', metadata) - self.stampclean = self.getvar('STAMPCLEAN', metadata) + self.stampclean = self.getvar('STAMPCLEAN', metadata) self.stamp_extrainfo = self.flaglist('stamp-extra-info', self.tasks, metadata) self.file_checksums = self.flaglist('file-checksums', self.tasks, metadata, True) self.packages_dynamic = self.listvar('PACKAGES_DYNAMIC', metadata) @@ -375,8 +375,8 @@ class Cache(NoCache): data = databuilder.data # Pass caches_array information into Cache Constructor - # It will be used later for deciding whether we - # need extra cache file dump/load support + # It will be used later for deciding whether we + # need extra cache file dump/load support self.caches_array = caches_array self.cachedir = data.getVar("CACHE") self.clean = set() @@ -421,7 +421,7 @@ class Cache(NoCache): cachesize += os.fstat(cachefile.fileno()).st_size bb.event.fire(bb.event.CacheLoadStarted(cachesize), self.data) - + for cache_class in self.caches_array: cachefile = getCacheFile(self.cachedir, cache_class.cachefile, self.data_hash) with open(cachefile, "rb") as cachefile: @@ -438,8 +438,8 @@ class Cache(NoCache): logger.info('Cache version mismatch, rebuilding...') return elif bitbake_ver != bb.__version__: - logger.info('Bitbake version mismatch, rebuilding...') - return + logger.info('Bitbake version mismatch, rebuilding...') + return # Load the rest of the cache file current_progress = 0 @@ -616,13 +616,13 @@ class Cache(NoCache): a = fl.find(":True") b = fl.find(":False") if ((a < 0) and b) or ((b > 0) and (b < a)): - f = fl[:b+6] - fl = fl[b+7:] + f = fl[:b+6] + fl = fl[b+7:] elif ((b < 0) and a) or ((a > 0) and (a < b)): - f = fl[:a+5] - fl = fl[a+6:] + f = fl[:a+5] + fl = fl[a+6:] else: - break + break fl = fl.strip() if "*" in f: continue @@ -886,4 +886,3 @@ class MultiProcessCache(object): p.dump([data, self.__class__.CACHE_VERSION]) bb.utils.unlockfile(glf) - -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:33:14 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:33:14 +0000 Subject: [oe-commits] [bitbake] 19/23: tinfoil: add more doc comments In-Reply-To: <150041357528.23220.15334549277574213739@git.openembedded.org> References: <150041357528.23220.15334549277574213739@git.openembedded.org> Message-ID: <20170718213255.EC7312335A6@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit f067b94b7b3dfdc7b356e0420da36574b3d5b75d Author: Paul Eggleton AuthorDate: Thu Jun 15 15:23:56 2017 +0200 tinfoil: add more doc comments Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/tinfoil.py | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index 960468e..f84a08f 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -55,6 +55,7 @@ class TinfoilCommandFailed(Exception): """Exception raised when run_command fails""" class TinfoilDataStoreConnector: + """Connector object used to enable access to datastore objects via tinfoil""" def __init__(self, tinfoil, dsindex): self.tinfoil = tinfoil @@ -294,8 +295,25 @@ class TinfoilRecipeInfo: class Tinfoil: + """ + Tinfoil - an API for scripts and utilities to query + BitBake internals and perform build operations. + """ def __init__(self, output=sys.stdout, tracking=False, setup_logging=True): + """ + Create a new tinfoil object. + Parameters: + output: specifies where console output should be sent. Defaults + to sys.stdout. + tracking: True to enable variable history tracking, False to + disable it (default). Enabling this has a minor + performance impact so typically it isn't enabled + unless you need to query variable history. + setup_logging: True to setup a logger so that things like + bb.warn() will work immediately and timeout warnings + are visible; False to let BitBake do this itself. + """ self.logger = logging.getLogger('BitBake') self.config_data = None self.cooker = None @@ -316,6 +334,37 @@ class Tinfoil: self.shutdown() def prepare(self, config_only=False, config_params=None, quiet=0, extra_features=None): + """ + Prepares the underlying BitBake system to be used via tinfoil. + This function must be called prior to calling any of the other + functions in the API. + NOTE: if you call prepare() you must absolutely call shutdown() + before your code terminates. You can use a "with" block to ensure + this happens e.g. + + with bb.tinfoil.Tinfoil() as tinfoil: + tinfoil.prepare() + ... + + Parameters: + config_only: True to read only the configuration and not load + the cache / parse recipes. This is useful if you just + want to query the value of a variable at the global + level or you want to do anything else that doesn't + involve knowing anything about the recipes in the + current configuration. False loads the cache / parses + recipes. + config_params: optionally specify your own configuration + parameters. If not specified an instance of + TinfoilConfigParameters will be created internally. + quiet: quiet level controlling console output - equivalent + to bitbake's -q/--quiet option. Default of 0 gives + the same output level as normal bitbake execution. + extra_features: extra features to be added to the feature + set requested from the server. See + CookerFeatures._feature_list for possible + features. + """ self.quiet = quiet if self.tracking: @@ -440,9 +489,16 @@ class Tinfoil: return self.server_connection.events.waitEvent(timeout) def get_overlayed_recipes(self): + """ + Find recipes which are overlayed (i.e. where recipes exist in multiple layers) + """ return defaultdict(list, self.run_command('getOverlayedRecipes')) def get_skipped_recipes(self): + """ + Find recipes which were skipped (i.e. SkipRecipe was raised + during parsing). + """ return OrderedDict(self.run_command('getSkippedRecipes')) def get_all_providers(self): @@ -475,6 +531,9 @@ class Tinfoil: return best[3] def get_file_appends(self, fn): + """ + Find the bbappends for a recipe file + """ return self.run_command('getFileAppends', fn) def all_recipes(self, mc='', sort=True): @@ -740,6 +799,12 @@ class Tinfoil: return ret def shutdown(self): + """ + Shut down tinfoil. Disconnects from the server and gracefully + releases any associated resources. You must call this function if + prepare() has been called, or use a with... block when you create + the tinfoil object which will ensure that it gets called. + """ if self.server_connection: self.run_command('clientComplete') _server_connections.remove(self.server_connection) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:33:10 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:33:10 +0000 Subject: [oe-commits] [bitbake] 15/23: tinfoil: enable access to additional cached items In-Reply-To: <150041357528.23220.15334549277574213739@git.openembedded.org> References: <150041357528.23220.15334549277574213739@git.openembedded.org> Message-ID: <20170718213255.D2D912335A0@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 12f48061f4e8a694af9372bf255a2b172505d165 Author: Paul Eggleton AuthorDate: Mon Jun 12 10:39:55 2017 +0200 tinfoil: enable access to additional cached items Add access to fn_provides, packages, packages_dynamic and rproviders on the recipecache object. This requires an additional corresponding command plumbing to be added. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/command.py | 32 ++++++++++++++++++++++++++++++++ lib/bb/tinfoil.py | 8 ++++++++ 2 files changed, 40 insertions(+) diff --git a/lib/bb/command.py b/lib/bb/command.py index 05803d6..0e0a35a 100644 --- a/lib/bb/command.py +++ b/lib/bb/command.py @@ -312,6 +312,38 @@ class CommandsSync: return command.cooker.recipecaches[mc].pkg_pepvpr getRecipeVersions.readonly = True + def getRecipeProvides(self, command, params): + try: + mc = params[0] + except IndexError: + mc = '' + return command.cooker.recipecaches[mc].fn_provides + getRecipeProvides.readonly = True + + def getRecipePackages(self, command, params): + try: + mc = params[0] + except IndexError: + mc = '' + return command.cooker.recipecaches[mc].packages + getRecipePackages.readonly = True + + def getRecipePackagesDynamic(self, command, params): + try: + mc = params[0] + except IndexError: + mc = '' + return command.cooker.recipecaches[mc].packages_dynamic + getRecipePackagesDynamic.readonly = True + + def getRProviders(self, command, params): + try: + mc = params[0] + except IndexError: + mc = '' + return command.cooker.recipecaches[mc].rproviders + getRProviders.readonly = True + def getRuntimeDepends(self, command, params): ret = [] try: diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index 945bd4b..0176b76 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -173,6 +173,14 @@ class TinfoilCookerAdapter: attrvalue = self.tinfoil.run_command('getBbFilePriority') or {} elif name == 'pkg_dp': attrvalue = self.tinfoil.run_command('getDefaultPreference') or {} + elif name == 'fn_provides': + attrvalue = self.tinfoil.run_command('getRecipeProvides') or {} + elif name == 'packages': + attrvalue = self.tinfoil.run_command('getRecipePackages') or {} + elif name == 'packages_dynamic': + attrvalue = self.tinfoil.run_command('getRecipePackagesDynamic') or {} + elif name == 'rproviders': + attrvalue = self.tinfoil.run_command('getRProviders') or {} else: raise AttributeError("%s instance has no attribute '%s'" % (self.__class__.__name__, name)) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:33:13 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:33:13 +0000 Subject: [oe-commits] [bitbake] 18/23: cooker: fix whitespace In-Reply-To: <150041357528.23220.15334549277574213739@git.openembedded.org> References: <150041357528.23220.15334549277574213739@git.openembedded.org> Message-ID: <20170718213255.E69712335A5@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 82f154e58d1e50711b32bf8f7b85458a8d8054d8 Author: Paul Eggleton AuthorDate: Wed Jun 14 16:12:51 2017 +0200 cooker: fix whitespace Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/cooker.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py index ab29c46..1625d3c 100644 --- a/lib/bb/cooker.py +++ b/lib/bb/cooker.py @@ -181,13 +181,13 @@ class BBCooker: self.confignotifier = pyinotify.Notifier(self.configwatcher, self.config_notifications) self.watchmask = pyinotify.IN_CLOSE_WRITE | pyinotify.IN_CREATE | pyinotify.IN_DELETE | \ pyinotify.IN_DELETE_SELF | pyinotify.IN_MODIFY | pyinotify.IN_MOVE_SELF | \ - pyinotify.IN_MOVED_FROM | pyinotify.IN_MOVED_TO + pyinotify.IN_MOVED_FROM | pyinotify.IN_MOVED_TO self.watcher = pyinotify.WatchManager() self.watcher.bbseen = [] self.watcher.bbwatchedfiles = [] self.notifier = pyinotify.Notifier(self.watcher, self.notifications) - # If being called by something like tinfoil, we need to clean cached data + # If being called by something like tinfoil, we need to clean cached data # which may now be invalid bb.parse.__mtime_cache = {} bb.parse.BBHandler.cached_statements = {} @@ -269,7 +269,7 @@ class BBCooker: watchtarget = None while True: # We try and add watches for files that don't exist but if they did, would influence - # the parser. The parent directory of these files may not exist, in which case we need + # the parser. The parent directory of these files may not exist, in which case we need # to watch any parent that does exist for changes. try: watcher.add_watch(f, self.watchmask, quiet=False) @@ -427,7 +427,7 @@ class BBCooker: del self.configuration.env[k] clean = False if k not in self.configuration.env and k not in environment: - continue + continue if environment[k] != self.configuration.env[k]: logger.debug(1, "Updating environment variable %s from %s to %s" % (k, self.configuration.env[k], environment[k])) self.configuration.env[k] = environment[k] -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:33:18 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:33:18 +0000 Subject: [oe-commits] [bitbake] 23/23: knotty: make it possible to use termfilter without consoles In-Reply-To: <150041357528.23220.15334549277574213739@git.openembedded.org> References: <150041357528.23220.15334549277574213739@git.openembedded.org> Message-ID: <20170718213256.1762523354E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit b150d011bc2d0d259be11fbeeb0917f93f8be127 Author: Paul Eggleton AuthorDate: Thu Jun 29 13:50:36 2017 +0100 knotty: make it possible to use termfilter without consoles This isn't useful for knotty itself, but for use from tinfoil in case we can't get access to either the console or errconsole, allow either to be unspecified (None). Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/ui/knotty.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/bb/ui/knotty.py b/lib/bb/ui/knotty.py index c301982..f3900bd 100644 --- a/lib/bb/ui/knotty.py +++ b/lib/bb/ui/knotty.py @@ -207,8 +207,10 @@ class TerminalFilter(object): self.interactive = False bb.note("Unable to use interactive mode for this terminal, using fallback") return - console.addFilter(InteractConsoleLogFilter(self, format)) - errconsole.addFilter(InteractConsoleLogFilter(self, format)) + if console: + console.addFilter(InteractConsoleLogFilter(self, format)) + if errconsole: + errconsole.addFilter(InteractConsoleLogFilter(self, format)) self.main_progress = None -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:40:08 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:40:08 +0000 Subject: [oe-commits] [bitbake] branch master updated (96bb174 -> 6683338) Message-ID: <150041400856.24608.14212432829911861669@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master in repository bitbake. from 96bb174 bb/server/process: Handle EINTR on idle_commands select new 06a96d2 knotty: fix indentation new 4dbf4f1 cookerdata: fix indentation and trailing spaces new e22b1f1 cache.py: fix whitespace new a5f9603 cooker: fix whitespace new 6683338 fetch2: fix indentation The 5 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: lib/bb/cache.py | 27 +++++++------- lib/bb/cooker.py | 8 ++-- lib/bb/cookerdata.py | 10 ++--- lib/bb/fetch2/__init__.py | 94 +++++++++++++++++++++++------------------------ lib/bb/ui/knotty.py | 2 +- 5 files changed, 70 insertions(+), 71 deletions(-) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:40:09 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:40:09 +0000 Subject: [oe-commits] [bitbake] 01/05: knotty: fix indentation In-Reply-To: <150041400856.24608.14212432829911861669@git.openembedded.org> References: <150041400856.24608.14212432829911861669@git.openembedded.org> Message-ID: <20170718214008.A4AED233550@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository bitbake. commit 06a96d267dec5b542725defb8f01403f505c4f44 Author: Paul Eggleton AuthorDate: Fri May 19 13:32:40 2017 +1200 knotty: fix indentation Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/ui/knotty.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/bb/ui/knotty.py b/lib/bb/ui/knotty.py index 11afb3e..1aa5ebb 100644 --- a/lib/bb/ui/knotty.py +++ b/lib/bb/ui/knotty.py @@ -476,7 +476,7 @@ def main(server, eventHandler, params, tf = TerminalFilter): taskinfo = helper.running_tasks[event.taskpid] event.msg = taskinfo['title'] + ': ' + event.msg if hasattr(event, 'fn'): - event.msg = event.fn + ': ' + event.msg + event.msg = event.fn + ': ' + event.msg logger.handle(event) continue -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:40:10 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:40:10 +0000 Subject: [oe-commits] [bitbake] 02/05: cookerdata: fix indentation and trailing spaces In-Reply-To: <150041400856.24608.14212432829911861669@git.openembedded.org> References: <150041400856.24608.14212432829911861669@git.openembedded.org> Message-ID: <20170718214008.B0E98233552@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository bitbake. commit 4dbf4f1907a32f303c2e9acf2f27817cf3c9ec38 Author: Paul Eggleton AuthorDate: Fri Jun 9 16:59:53 2017 +0200 cookerdata: fix indentation and trailing spaces Fix one incorrect indentation and several lines with trailing spaces. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/cookerdata.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/bb/cookerdata.py b/lib/bb/cookerdata.py index 644bb38..c2aeee6 100644 --- a/lib/bb/cookerdata.py +++ b/lib/bb/cookerdata.py @@ -73,15 +73,15 @@ class ConfigParameters(object): def updateToServer(self, server, environment): options = {} - for o in ["abort", "tryaltconfigs", "force", "invalidate_stamp", - "verbose", "debug", "dry_run", "dump_signatures", + for o in ["abort", "tryaltconfigs", "force", "invalidate_stamp", + "verbose", "debug", "dry_run", "dump_signatures", "debug_domains", "extra_assume_provided", "profile", "prefile", "postfile", "tracking"]: options[o] = getattr(self.options, o) ret, error = server.runCommand(["updateConfig", options, environment, sys.argv]) if error: - raise Exception("Unable to update the server configuration with local parameters: %s" % error) + raise Exception("Unable to update the server configuration with local parameters: %s" % error) def parseActions(self): # Parse any commandline into actions @@ -173,7 +173,7 @@ class CookerConfiguration(object): def __setstate__(self,state): for k in state: - setattr(self, k, state[k]) + setattr(self, k, state[k]) def catch_parse_error(func): @@ -255,7 +255,7 @@ class CookerDataBuilder(object): filtered_keys = bb.utils.approved_variables() bb.data.inheritFromOS(self.basedata, self.savedenv, filtered_keys) self.basedata.setVar("BB_ORIGENV", self.savedenv) - + if worker: self.basedata.setVar("BB_WORKERCONTEXT", "1") -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:40:12 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:40:12 +0000 Subject: [oe-commits] [bitbake] 04/05: cooker: fix whitespace In-Reply-To: <150041400856.24608.14212432829911861669@git.openembedded.org> References: <150041400856.24608.14212432829911861669@git.openembedded.org> Message-ID: <20170718214008.C0F6B233556@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository bitbake. commit a5f9603988b0a897696e529391b4d95c5e339833 Author: Paul Eggleton AuthorDate: Wed Jun 14 16:12:51 2017 +0200 cooker: fix whitespace Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/cooker.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py index dc8f54c..b1311bb 100644 --- a/lib/bb/cooker.py +++ b/lib/bb/cooker.py @@ -181,13 +181,13 @@ class BBCooker: self.confignotifier = pyinotify.Notifier(self.configwatcher, self.config_notifications) self.watchmask = pyinotify.IN_CLOSE_WRITE | pyinotify.IN_CREATE | pyinotify.IN_DELETE | \ pyinotify.IN_DELETE_SELF | pyinotify.IN_MODIFY | pyinotify.IN_MOVE_SELF | \ - pyinotify.IN_MOVED_FROM | pyinotify.IN_MOVED_TO + pyinotify.IN_MOVED_FROM | pyinotify.IN_MOVED_TO self.watcher = pyinotify.WatchManager() self.watcher.bbseen = [] self.watcher.bbwatchedfiles = [] self.notifier = pyinotify.Notifier(self.watcher, self.notifications) - # If being called by something like tinfoil, we need to clean cached data + # If being called by something like tinfoil, we need to clean cached data # which may now be invalid bb.parse.__mtime_cache = {} bb.parse.BBHandler.cached_statements = {} @@ -282,7 +282,7 @@ class BBCooker: watchtarget = None while True: # We try and add watches for files that don't exist but if they did, would influence - # the parser. The parent directory of these files may not exist, in which case we need + # the parser. The parent directory of these files may not exist, in which case we need # to watch any parent that does exist for changes. try: watcher.add_watch(f, self.watchmask, quiet=False) @@ -440,7 +440,7 @@ class BBCooker: del self.configuration.env[k] clean = False if k not in self.configuration.env and k not in environment: - continue + continue if environment[k] != self.configuration.env[k]: logger.debug(1, "Updating environment variable %s from %s to %s" % (k, self.configuration.env[k], environment[k])) self.configuration.env[k] = environment[k] -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:40:11 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:40:11 +0000 Subject: [oe-commits] [bitbake] 03/05: cache.py: fix whitespace In-Reply-To: <150041400856.24608.14212432829911861669@git.openembedded.org> References: <150041400856.24608.14212432829911861669@git.openembedded.org> Message-ID: <20170718214008.B7B0A233554@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository bitbake. commit e22b1f1c0e57c6ada4fb044791159546e2260dad Author: Paul Eggleton AuthorDate: Wed Jun 14 16:11:39 2017 +0200 cache.py: fix whitespace Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/cache.py | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/lib/bb/cache.py b/lib/bb/cache.py index 5143992..86ce0e7 100644 --- a/lib/bb/cache.py +++ b/lib/bb/cache.py @@ -86,9 +86,9 @@ class RecipeInfoCommon(object): class CoreRecipeInfo(RecipeInfoCommon): __slots__ = () - cachefile = "bb_cache.dat" + cachefile = "bb_cache.dat" - def __init__(self, filename, metadata): + def __init__(self, filename, metadata): self.file_depends = metadata.getVar('__depends', False) self.timestamp = bb.parse.cached_mtime(filename) self.variants = self.listvar('__VARIANTS', metadata) + [''] @@ -122,7 +122,7 @@ class CoreRecipeInfo(RecipeInfoCommon): self.defaultpref = self.intvar('DEFAULT_PREFERENCE', metadata) self.not_world = self.getvar('EXCLUDE_FROM_WORLD', metadata) self.stamp = self.getvar('STAMP', metadata) - self.stampclean = self.getvar('STAMPCLEAN', metadata) + self.stampclean = self.getvar('STAMPCLEAN', metadata) self.stamp_extrainfo = self.flaglist('stamp-extra-info', self.tasks, metadata) self.file_checksums = self.flaglist('file-checksums', self.tasks, metadata, True) self.packages_dynamic = self.listvar('PACKAGES_DYNAMIC', metadata) @@ -375,8 +375,8 @@ class Cache(NoCache): data = databuilder.data # Pass caches_array information into Cache Constructor - # It will be used later for deciding whether we - # need extra cache file dump/load support + # It will be used later for deciding whether we + # need extra cache file dump/load support self.caches_array = caches_array self.cachedir = data.getVar("CACHE") self.clean = set() @@ -421,7 +421,7 @@ class Cache(NoCache): cachesize += os.fstat(cachefile.fileno()).st_size bb.event.fire(bb.event.CacheLoadStarted(cachesize), self.data) - + for cache_class in self.caches_array: cachefile = getCacheFile(self.cachedir, cache_class.cachefile, self.data_hash) with open(cachefile, "rb") as cachefile: @@ -438,8 +438,8 @@ class Cache(NoCache): logger.info('Cache version mismatch, rebuilding...') return elif bitbake_ver != bb.__version__: - logger.info('Bitbake version mismatch, rebuilding...') - return + logger.info('Bitbake version mismatch, rebuilding...') + return # Load the rest of the cache file current_progress = 0 @@ -616,13 +616,13 @@ class Cache(NoCache): a = fl.find(":True") b = fl.find(":False") if ((a < 0) and b) or ((b > 0) and (b < a)): - f = fl[:b+6] - fl = fl[b+7:] + f = fl[:b+6] + fl = fl[b+7:] elif ((b < 0) and a) or ((a > 0) and (a < b)): - f = fl[:a+5] - fl = fl[a+6:] + f = fl[:a+5] + fl = fl[a+6:] else: - break + break fl = fl.strip() if "*" in f: continue @@ -886,4 +886,3 @@ class MultiProcessCache(object): p.dump([data, self.__class__.CACHE_VERSION]) bb.utils.unlockfile(glf) - -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:40:13 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:40:13 +0000 Subject: [oe-commits] [bitbake] 05/05: fetch2: fix indentation In-Reply-To: <150041400856.24608.14212432829911861669@git.openembedded.org> References: <150041400856.24608.14212432829911861669@git.openembedded.org> Message-ID: <20170718214008.C7AC1233557@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository bitbake. commit 6683338598ce97278f188fbcd780c3e3754e5b9a Author: Paul Eggleton AuthorDate: Fri Jun 23 16:25:57 2017 +0200 fetch2: fix indentation Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/fetch2/__init__.py | 94 +++++++++++++++++++++++------------------------ 1 file changed, 47 insertions(+), 47 deletions(-) diff --git a/lib/bb/fetch2/__init__.py b/lib/bb/fetch2/__init__.py index ec65216..5c02317 100644 --- a/lib/bb/fetch2/__init__.py +++ b/lib/bb/fetch2/__init__.py @@ -48,11 +48,11 @@ logger = logging.getLogger("BitBake.Fetcher") class BBFetchException(Exception): """Class all fetch exceptions inherit from""" def __init__(self, message): - self.msg = message - Exception.__init__(self, message) + self.msg = message + Exception.__init__(self, message) def __str__(self): - return self.msg + return self.msg class UntrustedUrl(BBFetchException): """Exception raised when encountering a host not listed in BB_ALLOWED_NETWORKS""" @@ -68,24 +68,24 @@ class UntrustedUrl(BBFetchException): class MalformedUrl(BBFetchException): """Exception raised when encountering an invalid url""" def __init__(self, url, message=''): - if message: - msg = message - else: - msg = "The URL: '%s' is invalid and cannot be interpreted" % url - self.url = url - BBFetchException.__init__(self, msg) - self.args = (url,) + if message: + msg = message + else: + msg = "The URL: '%s' is invalid and cannot be interpreted" % url + self.url = url + BBFetchException.__init__(self, msg) + self.args = (url,) class FetchError(BBFetchException): """General fetcher exception when something happens incorrectly""" def __init__(self, message, url = None): - if url: + if url: msg = "Fetcher failure for URL: '%s'. %s" % (url, message) - else: + else: msg = "Fetcher failure: %s" % message - self.url = url - BBFetchException.__init__(self, msg) - self.args = (message, url) + self.url = url + BBFetchException.__init__(self, msg) + self.args = (message, url) class ChecksumError(FetchError): """Exception when mismatched checksum encountered""" @@ -99,44 +99,44 @@ class NoChecksumError(FetchError): class UnpackError(BBFetchException): """General fetcher exception when something happens incorrectly when unpacking""" def __init__(self, message, url): - msg = "Unpack failure for URL: '%s'. %s" % (url, message) - self.url = url - BBFetchException.__init__(self, msg) - self.args = (message, url) + msg = "Unpack failure for URL: '%s'. %s" % (url, message) + self.url = url + BBFetchException.__init__(self, msg) + self.args = (message, url) class NoMethodError(BBFetchException): """Exception raised when there is no method to obtain a supplied url or set of urls""" def __init__(self, url): - msg = "Could not find a fetcher which supports the URL: '%s'" % url - self.url = url - BBFetchException.__init__(self, msg) - self.args = (url,) + msg = "Could not find a fetcher which supports the URL: '%s'" % url + self.url = url + BBFetchException.__init__(self, msg) + self.args = (url,) class MissingParameterError(BBFetchException): """Exception raised when a fetch method is missing a critical parameter in the url""" def __init__(self, missing, url): - msg = "URL: '%s' is missing the required parameter '%s'" % (url, missing) - self.url = url - self.missing = missing - BBFetchException.__init__(self, msg) - self.args = (missing, url) + msg = "URL: '%s' is missing the required parameter '%s'" % (url, missing) + self.url = url + self.missing = missing + BBFetchException.__init__(self, msg) + self.args = (missing, url) class ParameterError(BBFetchException): """Exception raised when a url cannot be proccessed due to invalid parameters.""" def __init__(self, message, url): - msg = "URL: '%s' has invalid parameters. %s" % (url, message) - self.url = url - BBFetchException.__init__(self, msg) - self.args = (message, url) + msg = "URL: '%s' has invalid parameters. %s" % (url, message) + self.url = url + BBFetchException.__init__(self, msg) + self.args = (message, url) class NetworkAccess(BBFetchException): """Exception raised when network access is disabled but it is required.""" def __init__(self, url, cmd): - msg = "Network access disabled through BB_NO_NETWORK (or set indirectly due to use of BB_FETCH_PREMIRRORONLY) but access requested with command %s (for url %s)" % (cmd, url) - self.url = url - self.cmd = cmd - BBFetchException.__init__(self, msg) - self.args = (url, cmd) + msg = "Network access disabled through BB_NO_NETWORK (or set indirectly due to use of BB_FETCH_PREMIRRORONLY) but access requested with command %s (for url %s)" % (cmd, url) + self.url = url + self.cmd = cmd + BBFetchException.__init__(self, msg) + self.args = (url, cmd) class NonLocalMethod(Exception): def __init__(self): @@ -455,7 +455,7 @@ def uri_replace(ud, uri_find, uri_replace, replacements, d, mirrortarball=None): result_decoded[loc][k] = uri_replace_decoded[loc][k] elif (re.match(regexp, uri_decoded[loc])): if not uri_replace_decoded[loc]: - result_decoded[loc] = "" + result_decoded[loc] = "" else: for k in replacements: uri_replace_decoded[loc] = uri_replace_decoded[loc].replace(k, replacements[k]) @@ -733,7 +733,7 @@ def get_srcrev(d, method_name='sortable_revision'): In the multi SCM case, we build a value based on SRCREV_FORMAT which must have been set. - The idea here is that we put the string "AUTOINC+" into return value if the revisions are not + The idea here is that we put the string "AUTOINC+" into return value if the revisions are not incremental, other code is then responsible for turning that into an increasing value (if needed) A method_name can be supplied to retrieve an alternatively formatted revision from a fetcher, if @@ -785,7 +785,7 @@ def get_srcrev(d, method_name='sortable_revision'): format = re.sub(name_to_rev_re, lambda match: name_to_rev[match.group(0)], format) if seenautoinc: - format = "AUTOINC+" + format + format = "AUTOINC+" + format return format @@ -921,7 +921,7 @@ def build_mirroruris(origud, mirrors, ld): logger.debug(1, "Mirror fetch failure for url %s (original url: %s)" % (newuri, origud.url)) logger.debug(1, str(e)) try: - # setup_localpath of file:// urls may fail, we should still see + # setup_localpath of file:// urls may fail, we should still see # if mirrors of the url exist adduri(newud, uris, uds, localmirrors, tarballs) except UnboundLocalError: @@ -1117,7 +1117,7 @@ def srcrev_internal_helper(ud, d, name): attempts.append("SRCREV") for a in attempts: - srcrev = d.getVar(a) + srcrev = d.getVar(a) if srcrev and srcrev != "INVALID": break @@ -1230,7 +1230,7 @@ class FetchData(object): for m in methods: if m.supports(self, d): self.method = m - break + break if not self.method: raise NoMethodError(url) @@ -1265,7 +1265,7 @@ class FetchData(object): elif self.basepath or self.basename: basepath = dldir + os.sep + (self.basepath or self.basename) else: - bb.fatal("Can't determine lock path for url %s" % url) + bb.fatal("Can't determine lock path for url %s" % url) self.donestamp = basepath + '.done' self.lockfile = basepath + '.lock' @@ -1328,13 +1328,13 @@ class FetchMethod(object): if os.path.isdir(urldata.localpath) == True: return False if urldata.localpath.find("*") != -1: - return False + return False return True def recommends_checksum(self, urldata): """ - Is the backend on where checksumming is recommended (should warnings + Is the backend on where checksumming is recommended (should warnings be displayed if there is no checksum)? """ return False @@ -1614,7 +1614,7 @@ class Fetch(object): try: self.d.setVar("BB_NO_NETWORK", network) - + if verify_donestamp(ud, self.d) and not m.need_update(ud, self.d): localpath = ud.localpath elif m.try_premirror(ud, self.d): -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:40:17 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:40:17 +0000 Subject: [oe-commits] [bitbake] 03/18: cookerdata: Add a function to find TOPDIR In-Reply-To: <150041401414.24889.15602779501327870580@git.openembedded.org> References: <150041401414.24889.15602779501327870580@git.openembedded.org> Message-ID: <20170718214014.4C922233554@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit d196afe68032898c31a8599ca7d3ceba58d96b0a Author: Richard Purdie AuthorDate: Tue Jul 18 22:18:53 2017 +0100 cookerdata: Add a function to find TOPDIR Finding the top level build directory is currently hard and relies on having a complete cooker being setup. Add a helper function which does the same thing without all the extra overhead. This is needed to be able to locate the bitbake lockfile and hence the socket for connecting clients in the new server model. Signed-off-by: Richard Purdie --- lib/bb/cookerdata.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/lib/bb/cookerdata.py b/lib/bb/cookerdata.py index c2aeee6..6511dcb 100644 --- a/lib/bb/cookerdata.py +++ b/lib/bb/cookerdata.py @@ -230,6 +230,27 @@ def findConfigFile(configfile, data): return None +# +# We search for a conf/bblayers.conf under an entry in BBPATH or in cwd working +# up to /. If that fails, we search for a conf/bitbake.conf in BBPATH. +# + +def findTopdir(): + d = bb.data.init() + bbpath = None + if 'BBPATH' in os.environ: + bbpath = os.environ['BBPATH'] + d.setVar('BBPATH', bbpath) + + layerconf = findConfigFile("bblayers.conf", d) + if layerconf: + return os.path.dirname(os.path.dirname(layerconf)) + if bbpath: + bitbakeconf = bb.utils.which(bbpath, "conf/bitbake.conf") + if bitbakeconf: + return os.path.dirname(os.path.dirname(bitbakeconf)) + return None + class CookerDataBuilder(object): def __init__(self, cookercfg, worker = False): -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:40:18 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:40:18 +0000 Subject: [oe-commits] [bitbake] 04/18: daemonize: Various fixes In-Reply-To: <150041401414.24889.15602779501327870580@git.openembedded.org> References: <150041401414.24889.15602779501327870580@git.openembedded.org> Message-ID: <20170718214014.524F4233556@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 4e780fa19fc720948cf73133f56f7d837ad9283a Author: Richard Purdie AuthorDate: Tue Jul 18 22:22:12 2017 +0100 daemonize: Various fixes Currently if this code is used with something like oeqa's xml logging it fails as sys.stdout is an io stream. Add in try/except to handle this case. Add a waitpid() call to remove a zombie whilst forking. Also, append to the logfile, don't overwrite it (otherwise debugging can be a real pain when the server is restarting for unknown reasons). Signed-off-by: Richard Purdie --- lib/bb/daemonize.py | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/lib/bb/daemonize.py b/lib/bb/daemonize.py index ab4a954..8380828 100644 --- a/lib/bb/daemonize.py +++ b/lib/bb/daemonize.py @@ -29,6 +29,7 @@ __version__ = "0.2" # Standard Python modules. import os # Miscellaneous OS interfaces. import sys # System-specific parameters and functions. +import io # Default daemon parameters. # File mode creation mask of the daemon. @@ -124,6 +125,7 @@ def createDaemon(function, logfile): # streams to be flushed twice and any temporary files may be unexpectedly # removed. It's therefore recommended that child branches of a fork() # and the parent branch(es) of a daemon use _exit(). + os.waitpid(pid, 0) return # Close all open file descriptors. This prevents the child from keeping @@ -177,16 +179,18 @@ def createDaemon(function, logfile): # os.dup2(0, 1) # standard output (1) # os.dup2(0, 2) # standard error (2) - - si = open('/dev/null', 'r') - so = open(logfile, 'w') - se = so - - # Replace those fds with our own + si = open('/dev/null', 'r') os.dup2(si.fileno(), sys.stdin.fileno()) - os.dup2(so.fileno(), sys.stdout.fileno()) - os.dup2(se.fileno(), sys.stderr.fileno()) + + try: + so = open(logfile, 'a+') + se = so + os.dup2(so.fileno(), sys.stdout.fileno()) + os.dup2(se.fileno(), sys.stderr.fileno()) + except io.UnsupportedOperation: + sys.stdout = open(logfile, 'a+') + sys.stderr = sys.stdout function() -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:40:16 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:40:16 +0000 Subject: [oe-commits] [bitbake] 02/18: server: Remove base classes and inline code In-Reply-To: <150041401414.24889.15602779501327870580@git.openembedded.org> References: <150041401414.24889.15602779501327870580@git.openembedded.org> Message-ID: <20170718214014.43CA3233552@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit a1c6151420d86bac658c08ae714647062edd6ef2 Author: Richard Purdie AuthorDate: Tue Jul 18 22:15:17 2017 +0100 server: Remove base classes and inline code In preparation for rewriting this code, expand the relatively useless base classes into the code itself. Signed-off-by: Richard Purdie --- lib/bb/server/__init__.py | 72 ----------------------------------------------- lib/bb/server/process.py | 34 ++++++++++++++++++---- lib/bb/server/xmlrpc.py | 60 +++++++++++++++++++++++++++++++++------ 3 files changed, 80 insertions(+), 86 deletions(-) diff --git a/lib/bb/server/__init__.py b/lib/bb/server/__init__.py index 538a633..345691e 100644 --- a/lib/bb/server/__init__.py +++ b/lib/bb/server/__init__.py @@ -25,75 +25,3 @@ approach to the interface, and minimize risks associated with code duplication. """ -""" BaseImplServer() the base class for all XXServer() implementations. - - These classes contain the actual code that runs the server side, i.e. - listens for the commands and executes them. Although these implementations - contain all the data of the original bitbake command, i.e the cooker instance, - they may well run on a different process or even machine. - -""" - -class BaseImplServer(): - def __init__(self): - self._idlefuns = {} - - def addcooker(self, cooker): - self.cooker = cooker - - def register_idle_function(self, function, data): - """Register a function to be called while the server is idle""" - assert hasattr(function, '__call__') - self._idlefuns[function] = data - - - -""" BitBakeBaseServerConnection class is the common ancestor to all - BitBakeServerConnection classes. - - These classes control the remote server. The only command currently - implemented is the terminate() command. - -""" - -class BitBakeBaseServerConnection(): - def __init__(self, serverImpl): - pass - - def terminate(self): - pass - - def setupEventQueue(self): - pass - - -""" BitBakeBaseServer class is the common ancestor to all Bitbake servers - - Derive this class in order to implement a BitBakeServer which is the - controlling stub for the actual server implementation - -""" -class BitBakeBaseServer(object): - def initServer(self): - self.serverImpl = None # we ensure a runtime crash if not overloaded - self.connection = None - return - - def addcooker(self, cooker): - self.cooker = cooker - self.serverImpl.addcooker(cooker) - - def getServerIdleCB(self): - return self.serverImpl.register_idle_function - - def saveConnectionDetails(self): - return - - def detach(self): - return - - def establishConnection(self, featureset): - raise "Must redefine the %s.establishConnection()" % self.__class__.__name__ - - def endSession(self): - self.connection.terminate() diff --git a/lib/bb/server/process.py b/lib/bb/server/process.py index cfcd764..48da7fe 100644 --- a/lib/bb/server/process.py +++ b/lib/bb/server/process.py @@ -33,8 +33,6 @@ import select from queue import Empty from multiprocessing import Event, Process, util, Queue, Pipe, queues, Manager -from . import BitBakeBaseServer, BitBakeBaseServerConnection, BaseImplServer - logger = logging.getLogger('BitBake') class ServerCommunicator(): @@ -85,12 +83,12 @@ class EventAdapter(): print("EventAdapter puked: %s" % str(err)) -class ProcessServer(Process, BaseImplServer): +class ProcessServer(Process): profile_filename = "profile.log" profile_processed_filename = "profile.log.processed" def __init__(self, command_channel, event_queue, featurelist): - BaseImplServer.__init__(self) + self._idlefuns = {} Process.__init__(self) self.command_channel = command_channel self.event_queue = event_queue @@ -208,7 +206,15 @@ class ProcessServer(Process, BaseImplServer): self.quitin.send("quit") self.quitin.close() -class BitBakeProcessServerConnection(BitBakeBaseServerConnection): + def addcooker(self, cooker): + self.cooker = cooker + + def register_idle_function(self, function, data): + """Register a function to be called while the server is idle""" + assert hasattr(function, '__call__') + self._idlefuns[function] = data + +class BitBakeProcessServerConnection(object): def __init__(self, serverImpl, ui_channel, event_queue): self.procserver = serverImpl self.ui_channel = ui_channel @@ -247,6 +253,9 @@ class BitBakeProcessServerConnection(BitBakeBaseServerConnection): # fd leakage because isn't called on Queue.close() self.event_queue._writer.close() + def setupEventQueue(self): + pass + # Wrap Queue to provide API which isn't server implementation specific class ProcessEventQueue(multiprocessing.queues.Queue): def __init__(self, maxsize): @@ -279,7 +288,7 @@ class ProcessEventQueue(multiprocessing.queues.Queue): sys.exit(1) return None -class BitBakeServer(BitBakeBaseServer): +class BitBakeServer(object): def initServer(self, single_use=True): # establish communication channels. We use bidirectional pipes for # ui <--> server command/response pairs @@ -304,3 +313,16 @@ class BitBakeServer(BitBakeBaseServer): raise BaseException(error) signal.signal(signal.SIGTERM, lambda i, s: self.connection.sigterm_terminate()) return self.connection + + def addcooker(self, cooker): + self.cooker = cooker + self.serverImpl.addcooker(cooker) + + def getServerIdleCB(self): + return self.serverImpl.register_idle_function + + def saveConnectionDetails(self): + return + + def endSession(self): + self.connection.terminate() diff --git a/lib/bb/server/xmlrpc.py b/lib/bb/server/xmlrpc.py index 1a475e0..6874765 100644 --- a/lib/bb/server/xmlrpc.py +++ b/lib/bb/server/xmlrpc.py @@ -49,7 +49,6 @@ from xmlrpc.server import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler import bb from bb import daemonize from bb.ui import uievent -from . import BitBakeBaseServer, BitBakeBaseServerConnection, BaseImplServer DEBUG = False @@ -193,15 +192,25 @@ class BitBakeXMLRPCRequestHandler(SimpleXMLRPCRequestHandler): self.wfile.write(bytes(response, 'utf-8')) -class XMLRPCProxyServer(BaseImplServer): +class XMLRPCProxyServer(object): """ not a real working server, but a stub for a proxy server connection """ def __init__(self, host, port, use_builtin_types=True): self.host = host self.port = port + self._idlefuns = {} -class XMLRPCServer(SimpleXMLRPCServer, BaseImplServer): + def addcooker(self, cooker): + self.cooker = cooker + + def register_idle_function(self, function, data): + """Register a function to be called while the server is idle""" + assert hasattr(function, '__call__') + self._idlefuns[function] = data + + +class XMLRPCServer(SimpleXMLRPCServer): # remove this when you're done with debugging # allow_reuse_address = True @@ -209,7 +218,7 @@ class XMLRPCServer(SimpleXMLRPCServer, BaseImplServer): """ Constructor """ - BaseImplServer.__init__(self) + self._idlefuns = {} self.single_use = single_use # Use auto port configuration if (interface[1] == -1): @@ -231,7 +240,7 @@ class XMLRPCServer(SimpleXMLRPCServer, BaseImplServer): self.next_heartbeat = time.time() def addcooker(self, cooker): - BaseImplServer.addcooker(self, cooker) + self.cooker = cooker self.commands.cooker = cooker def autoregister_all_functions(self, context, prefix): @@ -335,7 +344,13 @@ class XMLRPCServer(SimpleXMLRPCServer, BaseImplServer): def set_connection_token(self, token): self.connection_token = token -class BitBakeXMLRPCServerConnection(BitBakeBaseServerConnection): + def register_idle_function(self, function, data): + """Register a function to be called while the server is idle""" + assert hasattr(function, '__call__') + self._idlefuns[function] = data + + +class BitBakeXMLRPCServerConnection(object): def __init__(self, serverImpl, clientinfo=("localhost", 0), observer_only = False, featureset = None): self.connection, self.transport = _create_server(serverImpl.host, serverImpl.port) self.clientinfo = clientinfo @@ -388,7 +403,7 @@ class BitBakeXMLRPCServerConnection(BitBakeBaseServerConnection): except: pass -class BitBakeServer(BitBakeBaseServer): +class BitBakeServer(object): def initServer(self, interface = ("localhost", 0), single_use = False, idle_timeout=0): self.interface = interface @@ -405,7 +420,20 @@ class BitBakeServer(BitBakeBaseServer): def set_connection_token(self, token): self.connection.transport.set_connection_token(token) -class BitBakeXMLRPCClient(BitBakeBaseServer): + def addcooker(self, cooker): + self.cooker = cooker + self.serverImpl.addcooker(cooker) + + def getServerIdleCB(self): + return self.serverImpl.register_idle_function + + def saveConnectionDetails(self): + return + + def endSession(self): + self.connection.terminate() + +class BitBakeXMLRPCClient(object): def __init__(self, observer_only = False, token = None): self.token = token @@ -446,3 +474,19 @@ class BitBakeXMLRPCClient(BitBakeBaseServer): def endSession(self): self.connection.removeClient() + + def initServer(self): + self.serverImpl = None + self.connection = None + return + + def addcooker(self, cooker): + self.cooker = cooker + self.serverImpl.addcooker(cooker) + + def getServerIdleCB(self): + return self.serverImpl.register_idle_function + + def detach(self): + return + -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:40:15 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:40:15 +0000 Subject: [oe-commits] [bitbake] 01/18: event/command: Allow UI to request the UI eventhander ID In-Reply-To: <150041401414.24889.15602779501327870580@git.openembedded.org> References: <150041401414.24889.15602779501327870580@git.openembedded.org> Message-ID: <20170718214014.3B458233550@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit f8cf2cb58b80ce74f756a11a9773b6b0e78d51ee Author: Richard Purdie AuthorDate: Tue Jul 18 22:01:15 2017 +0100 event/command: Allow UI to request the UI eventhander ID The UI may want to change its event mask however to do this, it needs the event handler's ID. Tweak the code to allow this to be stored and add a command to query it. Use the new command in the process server backend. Signed-off-by: Richard Purdie --- lib/bb/command.py | 5 +++++ lib/bb/event.py | 11 ++++++++--- lib/bb/server/process.py | 7 ++++++- 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/lib/bb/command.py b/lib/bb/command.py index 36891b9..eb7c86f 100644 --- a/lib/bb/command.py +++ b/lib/bb/command.py @@ -238,6 +238,11 @@ class CommandsSync: return command.cooker.matchFile(fMatch) matchFile.needconfig = False + def getUIHandlerNum(self, command, params): + return bb.event.get_uihandler() + getUIHandlerNum.needconfig = False + getUIHandlerNum.readonly = True + def setEventMask(self, command, params): handlerNum = params[0] llevel = params[1] diff --git a/lib/bb/event.py b/lib/bb/event.py index d5c5ef3..92ee3e9 100644 --- a/lib/bb/event.py +++ b/lib/bb/event.py @@ -288,13 +288,13 @@ def set_eventfilter(func): _eventfilter = func def register_UIHhandler(handler, mainui=False): - if mainui: - global _uiready - _uiready = True bb.event._ui_handler_seq = bb.event._ui_handler_seq + 1 _ui_handlers[_ui_handler_seq] = handler level, debug_domains = bb.msg.constructLogOptions() _ui_logfilters[_ui_handler_seq] = UIEventFilter(level, debug_domains) + if mainui: + global _uiready + _uiready = _ui_handler_seq return _ui_handler_seq def unregister_UIHhandler(handlerNum, mainui=False): @@ -305,6 +305,11 @@ def unregister_UIHhandler(handlerNum, mainui=False): del _ui_handlers[handlerNum] return +def get_uihandler(): + if _uiready is False: + return None + return _uiready + # Class to allow filtering of events and specific filtering of LogRecords *before* we put them over the IPC class UIEventFilter(object): def __init__(self, level, debug_domains): diff --git a/lib/bb/server/process.py b/lib/bb/server/process.py index a8ba468..cfcd764 100644 --- a/lib/bb/server/process.py +++ b/lib/bb/server/process.py @@ -63,7 +63,12 @@ class ServerCommunicator(): pass def getEventHandle(self): - return self.event_handle.value + handle, error = self.runCommand(["getUIHandlerNum"]) + if error: + logger.error("Unable to get UI Handler Number: %s" % error) + raise BaseException(error) + + return handle class EventAdapter(): """ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:40:14 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:40:14 +0000 Subject: [oe-commits] [bitbake] branch master-next updated (b150d01 -> 0bfee12) Message-ID: <150041401414.24889.15602779501327870580@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master-next in repository bitbake. discard b150d01 knotty: make it possible to use termfilter without consoles discard 6d6d117 fetch2: fire an event when there are missing checksums discard a7ea92c fetch2: allow hiding checksum warning discard 86b7188 fetch2: fix indentation discard f067b94 tinfoil: add more doc comments discard 82f154e cooker: fix whitespace discard 1a17e0e cache.py: fix whitespace discard db01cc7 tinfoil: add simple API for getting cached recipe information discard 12f4806 tinfoil: enable access to additional cached items discard b430d5c cookerdata: fix indentation and trailing spaces discard cd3ebf3 tinfoil: add functionality for running full builds discard ac33b55 lib/bb/ui/uihelper: indicate to caller of eventHandler() if events handled discard dc6fd78 lib/bb/event: refactor printing events discard cbd6612 tinfoil: set a flag when recipes have been parsed discard 436b892 tinfoil: add a parse_recipes() function discard edf695c tinfoil: add internal mode to build_file() function discard a9df726 knotty: fix indentation discard 5d42de9 cookerdata/cooker: Restore original datastore upon client disconnect discard d24791e server: Rework the server API so process and xmlrpc servers coexist discard 2b1f4cd daemonize: Various fixes discard f6b8c33 cookerdata: Add a function to find TOPDIR discard db127f9 server: Remove base classes and inline code discard 4c1d783 event/command: Allow UI to request the UI eventhander ID add 06a96d2 knotty: fix indentation add 4dbf4f1 cookerdata: fix indentation and trailing spaces add e22b1f1 cache.py: fix whitespace add a5f9603 cooker: fix whitespace add 6683338 fetch2: fix indentation new f8cf2cb event/command: Allow UI to request the UI eventhander ID new a1c6151 server: Remove base classes and inline code new d196afe cookerdata: Add a function to find TOPDIR new 4e780fa daemonize: Various fixes new 758831d server: Rework the server API so process and xmlrpc servers coexist new 10ebb56 cookerdata/cooker: Restore original datastore upon client disconnect new 4b0d418 tinfoil: add internal mode to build_file() function new b3b999a tinfoil: add a parse_recipes() function new 21e7199 tinfoil: set a flag when recipes have been parsed new ac51839 lib/bb/event: refactor printing events new a6c80f6 lib/bb/ui/uihelper: indicate to caller of eventHandler() if events handled new ecb0fd8 tinfoil: add functionality for running full builds new 9112540 tinfoil: enable access to additional cached items new b2573aa tinfoil: add simple API for getting cached recipe information new dfd15d7 tinfoil: add more doc comments new 2c24d76 fetch2: allow hiding checksum warning new f57dfd3 fetch2: fire an event when there are missing checksums new 0bfee12 knotty: make it possible to use termfilter without consoles This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (b150d01) \ N -- N -- N refs/heads/master-next (0bfee12) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 18 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: lib/bb/server/process.py | 1 + 1 file changed, 1 insertion(+) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:40:22 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:40:22 +0000 Subject: [oe-commits] [bitbake] 08/18: tinfoil: add a parse_recipes() function In-Reply-To: <150041401414.24889.15602779501327870580@git.openembedded.org> References: <150041401414.24889.15602779501327870580@git.openembedded.org> Message-ID: <20170718214014.72056233578@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit b3b999a32804a4a37db8abe8d64d38594957f944 Author: Paul Eggleton AuthorDate: Wed May 17 17:10:35 2017 +1200 tinfoil: add a parse_recipes() function Python style recommends underscore based naming rather than camelCase, and thus the former has been used for most of tinfoil's functions. Add an underscored version of parseRecipes() for consistency and change the one place we call it to use the new version. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- bin/bitbake-layers | 2 +- lib/bb/tinfoil.py | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/bin/bitbake-layers b/bin/bitbake-layers index 04e6bec..d184011 100755 --- a/bin/bitbake-layers +++ b/bin/bitbake-layers @@ -90,7 +90,7 @@ def main(): if getattr(args, 'parserecipes', False): tinfoil.config_data.disableTracking() - tinfoil.parseRecipes() + tinfoil.parse_recipes() tinfoil.config_data.enableTracking() return args.func(args) diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index 65ebdc2..ddc7b06 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -289,7 +289,13 @@ class Tinfoil: def parseRecipes(self): """ - Force a parse of all recipes. Normally you should specify + Legacy function - use parse_recipes() instead. + """ + self.parse_recipes() + + def parse_recipes(self): + """ + Load information on all recipes. Normally you should specify config_only=False when calling prepare() instead of using this function; this function is designed for situations where you need to initialise Tinfoil and use it with config_only=True first and -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:40:20 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:40:20 +0000 Subject: [oe-commits] [bitbake] 06/18: cookerdata/cooker: Restore original datastore upon client disconnect In-Reply-To: <150041401414.24889.15602779501327870580@git.openembedded.org> References: <150041401414.24889.15602779501327870580@git.openembedded.org> Message-ID: <20170718214014.658C5233558@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 10ebb565a06272ea38520b88159bb2d43d88f640 Author: Richard Purdie AuthorDate: Tue Jul 18 17:50:24 2017 +0100 cookerdata/cooker: Restore original datastore upon client disconnect Signed-off-by: Richard Purdie --- lib/bb/cooker.py | 2 ++ lib/bb/cookerdata.py | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py index e27763e..daffe67 100644 --- a/lib/bb/cooker.py +++ b/lib/bb/cooker.py @@ -1566,6 +1566,8 @@ class BBCooker: def clientComplete(self): """Called when the client is done using the server""" self.finishcommand() + self.databuilder.reset() + self.data = self.databuilder.data def server_main(cooker, func, *args): cooker.pre_serve() diff --git a/lib/bb/cookerdata.py b/lib/bb/cookerdata.py index d05abfe..b3a3f04 100644 --- a/lib/bb/cookerdata.py +++ b/lib/bb/cookerdata.py @@ -328,6 +328,13 @@ class CookerDataBuilder(object): logger.exception("Error parsing configuration files") raise bb.BBHandledException + # Create a copy so we can reset at a later date when UIs disconnect + self.origdata = self.data + self.data = bb.data.createCopy(self.origdata) + + def reset(self): + self.data = bb.data.createCopy(self.origdata) + def _findLayerConf(self, data): return findConfigFile("bblayers.conf", data) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:40:23 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:40:23 +0000 Subject: [oe-commits] [bitbake] 09/18: tinfoil: set a flag when recipes have been parsed In-Reply-To: <150041401414.24889.15602779501327870580@git.openembedded.org> References: <150041401414.24889.15602779501327870580@git.openembedded.org> Message-ID: <20170718214014.78174233579@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 21e71995d559c16fa9c6789e9a30f607079ee98a Author: Paul Eggleton AuthorDate: Wed May 17 17:13:07 2017 +1200 tinfoil: set a flag when recipes have been parsed Make it easy to determine if recipes are parsed (and thus information about available recipes is in memory). Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/tinfoil.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index ddc7b06..f31d7b2 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -217,6 +217,7 @@ class Tinfoil: self.tracking = tracking self.ui_module = None self.server_connection = None + self.recipes_parsed = False if setup_logging: # This is the *client-side* logger, nothing to do with # logging messages from the server @@ -270,6 +271,7 @@ class Tinfoil: self.run_command('parseConfiguration') else: self.run_actions(config_params) + self.recipes_parsed = True self.config_data = bb.data.init() connector = TinfoilDataStoreConnector(self, None) @@ -303,6 +305,7 @@ class Tinfoil: """ config_params = TinfoilConfigParameters(config_only=False) self.run_actions(config_params) + self.recipes_parsed = True def run_command(self, command, *params): """ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:40:24 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:40:24 +0000 Subject: [oe-commits] [bitbake] 10/18: lib/bb/event: refactor printing events In-Reply-To: <150041401414.24889.15602779501327870580@git.openembedded.org> References: <150041401414.24889.15602779501327870580@git.openembedded.org> Message-ID: <20170718214014.7FB6823357A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit ac5183974826f009315ab5bdd9eb43427b860c02 Author: Paul Eggleton AuthorDate: Thu May 18 15:10:44 2017 +1200 lib/bb/event: refactor printing events We really ought to have just one place where the string representation of these events is produced. This doesn't take any real control away from the UI - if an alternative representation is desired, that can still be made. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/command.py | 2 ++ lib/bb/event.py | 32 ++++++++++++++++++++++++++++++++ lib/bb/runqueue.py | 6 ++++++ lib/bb/ui/knotty.py | 37 ++++++------------------------------- lib/bb/ui/ncurses.py | 2 +- lib/bb/ui/taskexp.py | 20 ++------------------ lib/bb/ui/toasterui.py | 25 ++++--------------------- 7 files changed, 53 insertions(+), 71 deletions(-) diff --git a/lib/bb/command.py b/lib/bb/command.py index c06ab07..05803d6 100644 --- a/lib/bb/command.py +++ b/lib/bb/command.py @@ -50,6 +50,8 @@ class CommandFailed(CommandExit): def __init__(self, message): self.error = message CommandExit.__init__(self, 1) + def __str__(self): + return "Command execution failed: %s" % self.error class CommandError(Exception): pass diff --git a/lib/bb/event.py b/lib/bb/event.py index 92ee3e9..59cca61 100644 --- a/lib/bb/event.py +++ b/lib/bb/event.py @@ -521,6 +521,28 @@ class NoProvider(Event): def isRuntime(self): return self._runtime + def __str__(self): + msg = '' + if self._runtime: + r = "R" + else: + r = "" + + extra = '' + if not self._reasons: + if self._close_matches: + extra = ". Close matches:\n %s" % '\n '.join(self._close_matches) + + if self._dependees: + msg = "Nothing %sPROVIDES '%s' (but %s %sDEPENDS on or otherwise requires it)%s" % (r, self._item, ", ".join(self._dependees), r, extra) + else: + msg = "Nothing %sPROVIDES '%s'%s" % (r, self._item, extra) + if self._reasons: + for reason in self._reasons: + msg += '\n' + reason + return msg + + class MultipleProviders(Event): """Multiple Providers""" @@ -548,6 +570,16 @@ class MultipleProviders(Event): """ return self._candidates + def __str__(self): + msg = "Multiple providers are available for %s%s (%s)" % (self._is_runtime and "runtime " or "", + self._item, + ", ".join(self._candidates)) + rtime = "" + if self._is_runtime: + rtime = "R" + msg += "\nConsider defining a PREFERRED_%sPROVIDER entry to match %s" % (rtime, self._item) + return msg + class ParseStarted(OperationStarted): """Recipe parsing for the runqueue has begun""" def __init__(self, total): diff --git a/lib/bb/runqueue.py b/lib/bb/runqueue.py index 21520d3..7dd964d 100644 --- a/lib/bb/runqueue.py +++ b/lib/bb/runqueue.py @@ -2488,6 +2488,9 @@ class runQueueTaskFailed(runQueueEvent): runQueueEvent.__init__(self, task, stats, rq) self.exitcode = exitcode + def __str__(self): + return "Task (%s) failed with exit code '%s'" % (self.taskstring, self.exitcode) + class sceneQueueTaskFailed(sceneQueueEvent): """ Event notifying a setscene task failed @@ -2496,6 +2499,9 @@ class sceneQueueTaskFailed(sceneQueueEvent): sceneQueueEvent.__init__(self, task, stats, rq) self.exitcode = exitcode + def __str__(self): + return "Setscene task (%s) failed with exit code '%s' - real task will be run instead" % (self.taskstring, self.exitcode) + class sceneQueueComplete(sceneQueueEvent): """ Event when all the sceneQueue tasks are complete diff --git a/lib/bb/ui/knotty.py b/lib/bb/ui/knotty.py index 1aa5ebb..c301982 100644 --- a/lib/bb/ui/knotty.py +++ b/lib/bb/ui/knotty.py @@ -560,7 +560,7 @@ def main(server, eventHandler, params, tf = TerminalFilter): return_value = event.exitcode if event.error: errors = errors + 1 - logger.error("Command execution failed: %s", event.error) + logger.error(str(event)) main.shutdown = 2 continue if isinstance(event, bb.command.CommandExit): @@ -571,39 +571,16 @@ def main(server, eventHandler, params, tf = TerminalFilter): main.shutdown = 2 continue if isinstance(event, bb.event.MultipleProviders): - logger.info("multiple providers are available for %s%s (%s)", event._is_runtime and "runtime " or "", - event._item, - ", ".join(event._candidates)) - rtime = "" - if event._is_runtime: - rtime = "R" - logger.info("consider defining a PREFERRED_%sPROVIDER entry to match %s" % (rtime, event._item)) + logger.info(str(event)) continue if isinstance(event, bb.event.NoProvider): - if event._runtime: - r = "R" - else: - r = "" - - extra = '' - if not event._reasons: - if event._close_matches: - extra = ". Close matches:\n %s" % '\n '.join(event._close_matches) - # For universe builds, only show these as warnings, not errors - h = logger.warning if not universe: return_value = 1 errors = errors + 1 - h = logger.error - - if event._dependees: - h("Nothing %sPROVIDES '%s' (but %s %sDEPENDS on or otherwise requires it)%s", r, event._item, ", ".join(event._dependees), r, extra) + logger.error(str(event)) else: - h("Nothing %sPROVIDES '%s'%s", r, event._item, extra) - if event._reasons: - for reason in event._reasons: - h("%s", reason) + logger.warning(str(event)) continue if isinstance(event, bb.runqueue.sceneQueueTaskStarted): @@ -625,13 +602,11 @@ def main(server, eventHandler, params, tf = TerminalFilter): if isinstance(event, bb.runqueue.runQueueTaskFailed): return_value = 1 taskfailures.append(event.taskstring) - logger.error("Task (%s) failed with exit code '%s'", - event.taskstring, event.exitcode) + logger.error(str(event)) continue if isinstance(event, bb.runqueue.sceneQueueTaskFailed): - logger.warning("Setscene task (%s) failed with exit code '%s' - real task will be run instead", - event.taskstring, event.exitcode) + logger.warning(str(event)) continue if isinstance(event, bb.event.DepTreeGenerated): diff --git a/lib/bb/ui/ncurses.py b/lib/bb/ui/ncurses.py index ca845a3..8690c52 100644 --- a/lib/bb/ui/ncurses.py +++ b/lib/bb/ui/ncurses.py @@ -315,7 +315,7 @@ class NCursesUI: # also allow them to now exit with a single ^C shutdown = 2 if isinstance(event, bb.command.CommandFailed): - mw.appendText("Command execution failed: %s" % event.error) + mw.appendText(str(event)) time.sleep(2) exitflag = True if isinstance(event, bb.command.CommandExit): diff --git a/lib/bb/ui/taskexp.py b/lib/bb/ui/taskexp.py index 9d14ece..0d0f9f5 100644 --- a/lib/bb/ui/taskexp.py +++ b/lib/bb/ui/taskexp.py @@ -286,23 +286,7 @@ def main(server, eventHandler, params): continue if isinstance(event, bb.event.NoProvider): - if event._runtime: - r = "R" - else: - r = "" - - extra = '' - if not event._reasons: - if event._close_matches: - extra = ". Close matches:\n %s" % '\n '.join(event._close_matches) - - if event._dependees: - print("Nothing %sPROVIDES '%s' (but %s %sDEPENDS on or otherwise requires it)%s" % (r, event._item, ", ".join(event._dependees), r, extra)) - else: - print("Nothing %sPROVIDES '%s'%s" % (r, event._item, extra)) - if event._reasons: - for reason in event._reasons: - print(reason) + print(str(event)) _, error = server.runCommand(["stateShutdown"]) if error: @@ -310,7 +294,7 @@ def main(server, eventHandler, params): break if isinstance(event, bb.command.CommandFailed): - print("Command execution failed: %s" % event.error) + print(str(event)) return event.exitcode if isinstance(event, bb.command.CommandExit): diff --git a/lib/bb/ui/toasterui.py b/lib/bb/ui/toasterui.py index 71f04fa..88cec37 100644 --- a/lib/bb/ui/toasterui.py +++ b/lib/bb/ui/toasterui.py @@ -320,29 +320,13 @@ def main(server, eventHandler, params): if isinstance(event, bb.event.CacheLoadCompleted): continue if isinstance(event, bb.event.MultipleProviders): - logger.info("multiple providers are available for %s%s (%s)", event._is_runtime and "runtime " or "", - event._item, - ", ".join(event._candidates)) - logger.info("consider defining a PREFERRED_PROVIDER entry to match %s", event._item) + logger.info(str(event)) continue if isinstance(event, bb.event.NoProvider): errors = errors + 1 - if event._runtime: - r = "R" - else: - r = "" - - if event._dependees: - text = "Nothing %sPROVIDES '%s' (but %s %sDEPENDS on or otherwise requires it)" % (r, event._item, ", ".join(event._dependees), r) - else: - text = "Nothing %sPROVIDES '%s'" % (r, event._item) - + text = str(event) logger.error(text) - if event._reasons: - for reason in event._reasons: - logger.error("%s", reason) - text += reason buildinfohelper.store_log_error(text) continue @@ -364,8 +348,7 @@ def main(server, eventHandler, params): if isinstance(event, bb.runqueue.runQueueTaskFailed): buildinfohelper.update_and_store_task(event) taskfailures.append(event.taskstring) - logger.error("Task (%s) failed with exit code '%s'", - event.taskstring, event.exitcode) + logger.error(str(event)) continue if isinstance(event, (bb.runqueue.sceneQueueTaskCompleted, bb.runqueue.sceneQueueTaskFailed)): @@ -382,7 +365,7 @@ def main(server, eventHandler, params): if isinstance(event, bb.command.CommandFailed): errors += 1 errorcode = 1 - logger.error("Command execution failed: %s", event.error) + logger.error(str(event)) elif isinstance(event, bb.event.BuildCompleted): buildinfohelper.scan_image_artifacts() buildinfohelper.clone_required_sdk_artifacts() -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:40:25 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:40:25 +0000 Subject: [oe-commits] [bitbake] 11/18: lib/bb/ui/uihelper: indicate to caller of eventHandler() if events handled In-Reply-To: <150041401414.24889.15602779501327870580@git.openembedded.org> References: <150041401414.24889.15602779501327870580@git.openembedded.org> Message-ID: <20170718214014.857F823357E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit a6c80f63fb003192aebf6dea04f14de55ef57bad Author: Paul Eggleton AuthorDate: Mon May 22 12:00:22 2017 +1200 lib/bb/ui/uihelper: indicate to caller of eventHandler() if events handled It is useful for the caller to know whether the uihelper has handled the event passed so that it can skip other event handling code if so. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/ui/uihelper.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/bb/ui/uihelper.py b/lib/bb/ui/uihelper.py index 113fced..963c1ea 100644 --- a/lib/bb/ui/uihelper.py +++ b/lib/bb/ui/uihelper.py @@ -61,6 +61,9 @@ class BBUIHelper: self.running_tasks[event.pid]['progress'] = event.progress self.running_tasks[event.pid]['rate'] = event.rate self.needUpdate = True + else: + return False + return True def getTasks(self): self.needUpdate = False -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:40:19 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:40:19 +0000 Subject: [oe-commits] [bitbake] 05/18: server: Rework the server API so process and xmlrpc servers coexist In-Reply-To: <150041401414.24889.15602779501327870580@git.openembedded.org> References: <150041401414.24889.15602779501327870580@git.openembedded.org> Message-ID: <20170718214014.5E38B233557@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 758831d72d2766a0cb6552373f57d917c20901f3 Author: Richard Purdie AuthorDate: Tue Jul 18 22:28:40 2017 +0100 server: Rework the server API so process and xmlrpc servers coexist This changes the way bitbake server works quite radically. Now, the server is always a process based server with the option of starting an XMLRPC listener on a specific inferface/port. Behind the scenes this is done with a "bitbake.sock" file alongside the bitbake.lock file. If we can obtain the lock, we know we need to start a server. The server always listens on the socket and UIs can then connect to this. UIs connect by sending a set of three file descriptors over the domain socket, one for sending commands, one for receiving command results and the other for receiving events. These changes meant we can throw away all the horrid server abstraction code, the plugable transport option to bitbake and the code becomes much more readable and debuggable. It also likely removes a ton of ways you could hang the UI/cooker in weird ways due to all the race conditions that existed with previous processes. Changes: * The foreground option for bitbake-server was dropped. Just tail the log if you really want this, the codepaths were complicated enough without adding one for this. * BBSERVER="autodetect" was dropped. The server will autostart and autoconnect in process mode. You have to specify an xmlrpc server address since that can't be autodetected. I can't see a use case for autodetect now. * The transport/servetype option to bitbake was dropped. * A BB_SERVER_TIMEOUT variable is added which allows the server to stay resident for a period of time after the last client disconnects before unloading. This is used if the -T/--idle-timeout option is not passed to bitbake. This change is invasive and may well introduce new issues however I believe the codebase is in a much better position for further development and debugging. Signed-off-by: Richard Purdie --- lib/bb/cooker.py | 58 +-- lib/bb/cookerdata.py | 5 +- lib/bb/main.py | 224 +++------- lib/bb/server/__init__.py | 6 - lib/bb/server/process.py | 592 +++++++++++++++++--------- lib/bb/server/{process.py => process.py.orig} | 7 +- lib/bb/server/xmlrpc.py | 492 --------------------- lib/bb/server/xmlrpcclient.py | 154 +++++++ lib/bb/server/xmlrpcserver.py | 158 +++++++ lib/bb/tinfoil.py | 2 +- lib/prserv/serv.py | 4 +- 11 files changed, 780 insertions(+), 922 deletions(-) diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py index b1311bb..e27763e 100644 --- a/lib/bb/cooker.py +++ b/lib/bb/cooker.py @@ -215,19 +215,6 @@ class BBCooker: self.configuration.server_register_idlecallback(_process_inotify_updates, [self.confignotifier, self.notifier]) - # Take a lock so only one copy of bitbake can run against a given build - # directory at a time - if not self.lockBitbake(): - bb.fatal("Only one copy of bitbake should be run against a build directory") - try: - self.lock.seek(0) - self.lock.truncate() - if len(configuration.interface) >= 2: - self.lock.write("%s:%s\n" % (configuration.interface[0], configuration.interface[1])); - self.lock.flush() - except: - pass - # TOSTOP must not be set or our children will hang when they output try: fd = sys.stdout.fileno() @@ -1557,33 +1544,6 @@ class BBCooker: def post_serve(self): prserv.serv.auto_shutdown(self.data) bb.event.fire(CookerExit(), self.data) - lockfile = self.lock.name - self.lock.close() - self.lock = None - - while not self.lock: - with bb.utils.timeout(3): - self.lock = bb.utils.lockfile(lockfile, shared=False, retry=False, block=True) - if not self.lock: - # Some systems may not have lsof available - procs = None - try: - procs = subprocess.check_output(["lsof", '-w', lockfile], stderr=subprocess.STDOUT) - except OSError as e: - if e.errno != errno.ENOENT: - raise - if procs is None: - # Fall back to fuser if lsof is unavailable - try: - procs = subprocess.check_output(["fuser", '-v', lockfile], stderr=subprocess.STDOUT) - except OSError as e: - if e.errno != errno.ENOENT: - raise - - msg = "Delaying shutdown due to active processes which appear to be holding bitbake.lock" - if procs: - msg += ":\n%s" % str(procs) - print(msg) def shutdown(self, force = False): @@ -1605,23 +1565,7 @@ class BBCooker: def clientComplete(self): """Called when the client is done using the server""" - if self.configuration.server_only: - self.finishcommand() - else: - self.shutdown(True) - - def lockBitbake(self): - if not hasattr(self, 'lock'): - self.lock = None - if self.data: - lockfile = self.data.expand("${TOPDIR}/bitbake.lock") - if lockfile: - self.lock = bb.utils.lockfile(lockfile, False, False) - return self.lock - - def unlockBitbake(self): - if hasattr(self, 'lock') and self.lock: - bb.utils.unlockfile(self.lock) + self.finishcommand() def server_main(cooker, func, *args): cooker.pre_serve() diff --git a/lib/bb/cookerdata.py b/lib/bb/cookerdata.py index 6511dcb..d05abfe 100644 --- a/lib/bb/cookerdata.py +++ b/lib/bb/cookerdata.py @@ -76,7 +76,7 @@ class ConfigParameters(object): for o in ["abort", "tryaltconfigs", "force", "invalidate_stamp", "verbose", "debug", "dry_run", "dump_signatures", "debug_domains", "extra_assume_provided", "profile", - "prefile", "postfile", "tracking"]: + "prefile", "postfile", "tracking", "server_timeout"]: options[o] = getattr(self.options, o) ret, error = server.runCommand(["updateConfig", options, environment, sys.argv]) @@ -144,7 +144,8 @@ class CookerConfiguration(object): self.dump_signatures = [] self.dry_run = False self.tracking = False - self.interface = [] + self.xmlrpcinterface = [] + self.server_timeout = None self.writeeventlog = False self.server_only = False self.limited_deps = False diff --git a/lib/bb/main.py b/lib/bb/main.py index 29e3911..8033519 100755 --- a/lib/bb/main.py +++ b/lib/bb/main.py @@ -28,6 +28,8 @@ import logging import optparse import warnings import fcntl +import time +import traceback import bb from bb import event @@ -37,6 +39,9 @@ from bb import ui from bb import server from bb import cookerdata +import bb.server.process +import bb.server.xmlrpcclient + logger = logging.getLogger("BitBake") class BBMainException(Exception): @@ -58,9 +63,6 @@ class BitbakeHelpFormatter(optparse.IndentedHelpFormatter): if option.dest == 'ui': valid_uis = list_extension_modules(bb.ui, 'main') option.help = option.help.replace('@CHOICES@', present_options(valid_uis)) - elif option.dest == 'servertype': - valid_server_types = list_extension_modules(bb.server, 'BitBakeServer') - option.help = option.help.replace('@CHOICES@', present_options(valid_server_types)) return optparse.IndentedHelpFormatter.format_option(self, option) @@ -238,11 +240,6 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters): default=os.environ.get('BITBAKE_UI', 'knotty'), help="The user interface to use (@CHOICES@ - default %default).") - # @CHOICES@ is substituted out by BitbakeHelpFormatter above - parser.add_option("-t", "--servertype", action="store", dest="servertype", - default=["process", "xmlrpc"]["BBSERVER" in os.environ], - help="Choose which server type to use (@CHOICES@ - default %default).") - parser.add_option("", "--token", action="store", dest="xmlrpctoken", default=os.environ.get("BBTOKEN"), help="Specify the connection token to be used when connecting " @@ -258,14 +255,11 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters): help="Run bitbake without a UI, only starting a server " "(cooker) process.") - parser.add_option("", "--foreground", action="store_true", - help="Run bitbake server in foreground.") - parser.add_option("-B", "--bind", action="store", dest="bind", default=False, - help="The name/address for the bitbake server to bind to.") + help="The name/address for the bitbake xmlrpc server to bind to.") - parser.add_option("-T", "--idle-timeout", type=int, - default=int(os.environ.get("BBTIMEOUT", "0")), + parser.add_option("-T", "--idle-timeout", type=float, dest="server_timeout", + default=float(os.environ.get("BB_SERVER_TIMEOUT", 0)) or None, help="Set timeout to unload bitbake server due to inactivity") parser.add_option("", "--no-setscene", action="store_true", @@ -283,7 +277,7 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters): parser.add_option("-m", "--kill-server", action="store_true", dest="kill_server", default=False, - help="Terminate the remote server.") + help="Terminate the bitbake server.") parser.add_option("", "--observe-only", action="store_true", dest="observe_only", default=False, @@ -322,70 +316,20 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters): eventlog = "bitbake_eventlog_%s.json" % datetime.now().strftime("%Y%m%d%H%M%S") options.writeeventlog = eventlog - # if BBSERVER says to autodetect, let's do that - if options.remote_server: - port = -1 - if options.remote_server != 'autostart': - host, port = options.remote_server.split(":", 2) + if options.bind: + try: + #Checking that the port is a number and is a ':' delimited value + (host, port) = options.bind.split(':') port = int(port) - # use automatic port if port set to -1, means read it from - # the bitbake.lock file; this is a bit tricky, but we always expect - # to be in the base of the build directory if we need to have a - # chance to start the server later, anyway - if port == -1: - lock_location = "./bitbake.lock" - # we try to read the address at all times; if the server is not started, - # we'll try to start it after the first connect fails, below - try: - lf = open(lock_location, 'r') - remotedef = lf.readline() - [host, port] = remotedef.split(":") - port = int(port) - lf.close() - options.remote_server = remotedef - except Exception as e: - if options.remote_server != 'autostart': - raise BBMainException("Failed to read bitbake.lock (%s), invalid port" % str(e)) + except (ValueError,IndexError): + raise BBMainException("FATAL: Malformed host:port bind parameter") + options.xmlrpcinterface = (host, port) + else: + options.xmlrpcinterface = (None, 0) return options, targets[1:] -def start_server(servermodule, configParams, configuration, features): - server = servermodule.BitBakeServer() - single_use = not configParams.server_only and os.getenv('BBSERVER') != 'autostart' - if configParams.bind: - (host, port) = configParams.bind.split(':') - server.initServer((host, int(port)), single_use=single_use, - idle_timeout=configParams.idle_timeout) - configuration.interface = [server.serverImpl.host, server.serverImpl.port] - else: - server.initServer(single_use=single_use) - configuration.interface = [] - - try: - configuration.setServerRegIdleCallback(server.getServerIdleCB()) - - cooker = bb.cooker.BBCooker(configuration, features) - - server.addcooker(cooker) - server.saveConnectionDetails() - except Exception as e: - while hasattr(server, "event_queue"): - import queue - try: - event = server.event_queue.get(block=False) - except (queue.Empty, IOError): - break - if isinstance(event, logging.LogRecord): - logger.handle(event) - raise - if not configParams.foreground: - server.detach() - cooker.shutdown() - cooker.lock.close() - return server - - def bitbake_main(configParams, configuration): # Python multiprocessing requires /dev/shm on Linux @@ -406,45 +350,15 @@ def bitbake_main(configParams, configuration): configuration.setConfigParameters(configParams) - if configParams.server_only: - if configParams.servertype != "xmlrpc": - raise BBMainException("FATAL: If '--server-only' is defined, we must set the " - "servertype as 'xmlrpc'.\n") - if not configParams.bind: - raise BBMainException("FATAL: The '--server-only' option requires a name/address " - "to bind to with the -B option.\n") - else: - try: - #Checking that the port is a number - int(configParams.bind.split(":")[1]) - except (ValueError,IndexError): - raise BBMainException( - "FATAL: Malformed host:port bind parameter") - if configParams.remote_server: + if configParams.server_only and configParams.remote_server: raise BBMainException("FATAL: The '--server-only' option conflicts with %s.\n" % ("the BBSERVER environment variable" if "BBSERVER" in os.environ \ else "the '--remote-server' option")) - elif configParams.foreground: - raise BBMainException("FATAL: The '--foreground' option can only be used " - "with --server-only.\n") - - if configParams.bind and configParams.servertype != "xmlrpc": - raise BBMainException("FATAL: If '-B' or '--bind' is defined, we must " - "set the servertype as 'xmlrpc'.\n") - - if configParams.remote_server and configParams.servertype != "xmlrpc": - raise BBMainException("FATAL: If '--remote-server' is defined, we must " - "set the servertype as 'xmlrpc'.\n") - if configParams.observe_only and (not configParams.remote_server or configParams.bind): raise BBMainException("FATAL: '--observe-only' can only be used by UI clients " "connecting to a server.\n") - if configParams.kill_server and not configParams.remote_server: - raise BBMainException("FATAL: '--kill-server' can only be used to " - "terminate a remote server") - if "BBDEBUG" in os.environ: level = int(os.environ["BBDEBUG"]) if level > configuration.debug: @@ -453,7 +367,7 @@ def bitbake_main(configParams, configuration): bb.msg.init_msgconfig(configParams.verbose, configuration.debug, configuration.debug_domains) - server, server_connection, ui_module = setup_bitbake(configParams, configuration) + server_connection, ui_module = setup_bitbake(configParams, configuration) if server_connection is None and configParams.kill_server: return 0 @@ -463,16 +377,15 @@ def bitbake_main(configParams, configuration): return 0 try: + for event in bb.event.ui_queue: + server_connection.events.queue_event(event) + bb.event.ui_queue = [] + return ui_module.main(server_connection.connection, server_connection.events, configParams) finally: - bb.event.ui_queue = [] server_connection.terminate() else: - print("Bitbake server address: %s, server port: %s" % (server.serverImpl.host, - server.serverImpl.port)) - if configParams.foreground: - server.serverImpl.serve_forever() return 0 return 1 @@ -495,58 +408,63 @@ def setup_bitbake(configParams, configuration, extrafeatures=None, setup_logging # Collect the feature set for the UI featureset = getattr(ui_module, "featureSet", []) - if configParams.server_only: - for param in ('prefile', 'postfile'): - value = getattr(configParams, param) - if value: - setattr(configuration, "%s_server" % param, value) - param = "%s_server" % param - if extrafeatures: for feature in extrafeatures: if not feature in featureset: featureset.append(feature) - servermodule = import_extension_module(bb.server, - configParams.servertype, - 'BitBakeServer') + server_connection = None + if configParams.remote_server: - if os.getenv('BBSERVER') == 'autostart': - if configParams.remote_server == 'autostart' or \ - not servermodule.check_connection(configParams.remote_server, timeout=2): - configParams.bind = 'localhost:0' - srv = start_server(servermodule, configParams, configuration, featureset) - configParams.remote_server = '%s:%d' % tuple(configuration.interface) - bb.event.ui_queue = [] - # we start a stub server that is actually a XMLRPClient that connects to a real server - from bb.server.xmlrpc import BitBakeXMLRPCClient - server = servermodule.BitBakeXMLRPCClient(configParams.observe_only, - configParams.xmlrpctoken) - server.saveConnectionDetails(configParams.remote_server) + # Connect to a remote XMLRPC server + server_connection = bb.server.xmlrpcclient.connectXMLRPC(configParams.remote_server, featureset, + configParams.observe_only, configParams.xmlrpctoken) else: - # we start a server with a given configuration - server = start_server(servermodule, configParams, configuration, featureset) + retries = 8 + while retries: + try: + topdir, lock = lockBitbake() + sockname = topdir + "/bitbake.sock" + if lock: + # we start a server with a given configuration + print("Starting bitbake server...") + server = bb.server.process.BitBakeServer(lock, sockname, configuration, featureset) + else: + print("Reconnecting to bitbake server...") + if not os.path.exists(sockname): + print("Previous bitbake instance shutting down?, waiting to retry...") + time.sleep(5) + raise bb.server.process.ProcessTimeout + if not configParams.server_only: + server_connection = bb.server.process.connectProcessServer(sockname, featureset) + if server_connection: + break + except Exception as e: + if not retries: + raise + retries -= 1 + print("Retrying server connection... (%s)" % traceback.format_exc()) + if not retries: + raise bb.server.process.ProcessTimeout("Unable to connect to bitbake server, or start one") + + + if configParams.kill_server: + server_connection.connection.terminateServer() + server_connection.terminate() bb.event.ui_queue = [] + print("Terminated bitbake server.") + return None, None - if configParams.server_only: - server_connection = None - else: - try: - server_connection = server.establishConnection(featureset) - except Exception as e: - bb.fatal("Could not connect to server %s: %s" % (configParams.remote_server, str(e))) - - if configParams.kill_server: - server_connection.connection.terminateServer() - bb.event.ui_queue = [] - return None, None, None + # Restore the environment in case the UI needs it + for k in cleanedvars: + os.environ[k] = cleanedvars[k] - server_connection.setupEventQueue() + logger.removeHandler(handler) - # Restore the environment in case the UI needs it - for k in cleanedvars: - os.environ[k] = cleanedvars[k] + return server_connection, ui_module - logger.removeHandler(handler) +def lockBitbake(): + topdir = bb.cookerdata.findTopdir() + lockfile = topdir + "/bitbake.lock" + return topdir, bb.utils.lockfile(lockfile, False, False) - return server, server_connection, ui_module diff --git a/lib/bb/server/__init__.py b/lib/bb/server/__init__.py index 345691e..5a3fba9 100644 --- a/lib/bb/server/__init__.py +++ b/lib/bb/server/__init__.py @@ -18,10 +18,4 @@ # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -""" Base code for Bitbake server process - -Have a common base for that all Bitbake server classes ensures a consistent -approach to the interface, and minimize risks associated with code duplication. - -""" diff --git a/lib/bb/server/process.py b/lib/bb/server/process.py index 48da7fe..a1d9adc 100644 --- a/lib/bb/server/process.py +++ b/lib/bb/server/process.py @@ -22,128 +22,201 @@ import bb import bb.event -import itertools import logging import multiprocessing +import threading +import array import os -import signal import sys import time import select -from queue import Empty -from multiprocessing import Event, Process, util, Queue, Pipe, queues, Manager +import socket +import subprocess +import errno +import bb.server.xmlrpcserver +from bb import daemonize +from multiprocessing import queues logger = logging.getLogger('BitBake') -class ServerCommunicator(): - def __init__(self, connection, event_handle, server): - self.connection = connection - self.event_handle = event_handle - self.server = server - - def runCommand(self, command): - # @todo try/except - self.connection.send(command) - - if not self.server.is_alive(): - raise SystemExit - - while True: - # don't let the user ctrl-c while we're waiting for a response - try: - for idx in range(0,4): # 0, 1, 2, 3 - if self.connection.poll(5): - return self.connection.recv() - else: - bb.warn("Timeout while attempting to communicate with bitbake server") - bb.fatal("Gave up; Too many tries: timeout while attempting to communicate with bitbake server") - except KeyboardInterrupt: - pass - - def getEventHandle(self): - handle, error = self.runCommand(["getUIHandlerNum"]) - if error: - logger.error("Unable to get UI Handler Number: %s" % error) - raise BaseException(error) +class ProcessTimeout(SystemExit): + pass - return handle - -class EventAdapter(): - """ - Adapter to wrap our event queue since the caller (bb.event) expects to - call a send() method, but our actual queue only has put() - """ - def __init__(self, queue): - self.queue = queue - - def send(self, event): - try: - self.queue.put(event) - except Exception as err: - print("EventAdapter puked: %s" % str(err)) - - -class ProcessServer(Process): +class ProcessServer(multiprocessing.Process): profile_filename = "profile.log" profile_processed_filename = "profile.log.processed" - def __init__(self, command_channel, event_queue, featurelist): - self._idlefuns = {} - Process.__init__(self) - self.command_channel = command_channel - self.event_queue = event_queue - self.event = EventAdapter(event_queue) - self.featurelist = featurelist + def __init__(self, lock, sock, sockname): + multiprocessing.Process.__init__(self) + self.command_channel = False + self.command_channel_reply = False self.quit = False self.heartbeat_seconds = 1 # default, BB_HEARTBEAT_EVENT will be checked once we have a datastore. self.next_heartbeat = time.time() - self.quitin, self.quitout = Pipe() - self.event_handle = multiprocessing.Value("i") + self.event_handle = None + self.haveui = False + self.lastui = False + self.xmlrpc = False + + self._idlefuns = {} + + self.bitbake_lock = lock + self.sock = sock + self.sockname = sockname + + def register_idle_function(self, function, data): + """Register a function to be called while the server is idle""" + assert hasattr(function, '__call__') + self._idlefuns[function] = data def run(self): - for event in bb.event.ui_queue: - self.event_queue.put(event) - self.event_handle.value = bb.event.register_UIHhandler(self, True) + + if self.xmlrpcinterface[0]: + self.xmlrpc = bb.server.xmlrpcserver.BitBakeXMLRPCServer(self.xmlrpcinterface, self.cooker, self) + + print("Bitbake XMLRPC server address: %s, server port: %s" % (self.xmlrpc.host, self.xmlrpc.port)) heartbeat_event = self.cooker.data.getVar('BB_HEARTBEAT_EVENT') if heartbeat_event: try: self.heartbeat_seconds = float(heartbeat_event) except: - # Throwing an exception here causes bitbake to hang. - # Just warn about the invalid setting and continue bb.warn('Ignoring invalid BB_HEARTBEAT_EVENT=%s, must be a float specifying seconds.' % heartbeat_event) + + self.timeout = self.server_timeout or self.cooker.data.getVar('BB_SERVER_TIMEOUT') + try: + if self.timeout: + self.timeout = float(self.timeout) + except: + bb.warn('Ignoring invalid BB_SERVER_TIMEOUT=%s, must be a float specifying seconds.' % self.timeout) + + + try: + self.bitbake_lock.seek(0) + self.bitbake_lock.truncate() + if self.xmlrpcinterface[0]: + self.bitbake_lock.write("%s %s:%s\n" % (os.getpid(), configuration.interface[0], configuration.interface[1])) + else: + self.bitbake_lock.write("%s\n" % (os.getpid())) + self.bitbake_lock.flush() + except: + pass + bb.cooker.server_main(self.cooker, self.main) def main(self): - # Ignore SIGINT within the server, as all SIGINT handling is done by - # the UI and communicated to us - self.quitin.close() - signal.signal(signal.SIGINT, signal.SIG_IGN) bb.utils.set_process_name("Cooker") + + ready = [] + + self.controllersock = False + fds = [self.sock] + if self.xmlrpc: + fds.append(self.xmlrpc) while not self.quit: - try: - if self.command_channel.poll(): - command = self.command_channel.recv() - self.runCommand(command) - if self.quitout.poll(): - self.quitout.recv() + if self.command_channel in ready: + command = self.command_channel.get() + if command[0] == "terminateServer": self.quit = True - try: - self.runCommand(["stateForceShutdown"]) - except: - pass - - self.idle_commands(.1, [self.command_channel, self.quitout]) - except Exception: - logger.exception('Running command %s', command) + continue + try: + print("Running command %s" % command) + self.command_channel_reply.send(self.cooker.command.runCommand(command)) + except Exception as e: + logger.exception('Exception in server main event loop running command %s (%s)' % (command, str(e))) + + if self.xmlrpc in ready: + self.xmlrpc.handle_requests() + if self.sock in ready: + print("Accepting %s" % (str(ready))) + self.controllersock, address = self.sock.accept() + fds.append(self.controllersock) + if self.controllersock in ready: + try: + print("Connecting Client") + ui_fds = recvfds(self.controllersock, 3) + + # Where to write events to + writer = ConnectionWriter(ui_fds[0]) + self.event_handle = bb.event.register_UIHhandler(writer, True) + self.event_writer = writer + + # Where to read commands from + reader = ConnectionReader(ui_fds[1]) + fds.append(reader) + self.command_channel = reader + + # Where to send command return values to + writer = ConnectionWriter(ui_fds[2]) + self.command_channel_reply = writer + + self.haveui = True + + except EOFError: + print("Disconnecting Client") + fds.remove(self.controllersock) + fds.remove(self.command_channel) + bb.event.unregister_UIHhandler(self.event_handle, True) + self.command_channel_reply.writer.close() + self.event_writer.writer.close() + del self.event_writer + self.controllersock.close() + self.haveui = False + self.lastui = time.time() + self.cooker.clientComplete() + if self.timeout is None: + print("No timeout, exiting.") + self.quit = True + if not self.haveui and self.lastui and self.timeout and (self.lastui + self.timeout) < time.time(): + print("Server timeout, exiting.") + self.quit = True - self.event_queue.close() - bb.event.unregister_UIHhandler(self.event_handle.value, True) - self.command_channel.close() - self.cooker.shutdown(True) - self.quitout.close() + ready = self.idle_commands(.1, fds) + + print("Exiting") + try: + self.cooker.shutdown(True) + except: + pass + + # Remove the socket file so we don't get any more connections to avoid races + os.unlink(self.sockname) + self.sock.close() + + # Finally release the lockfile but warn about other processes holding it open + lock = self.bitbake_lock + lockfile = lock.name + lock.close() + lock = None + + while not lock: + with bb.utils.timeout(3): + lock = bb.utils.lockfile(lockfile, shared=False, retry=False, block=True) + if not lock: + # Some systems may not have lsof available + procs = None + try: + procs = subprocess.check_output(["lsof", '-w', lockfile], stderr=subprocess.STDOUT) + except OSError as e: + if e.errno != errno.ENOENT: + raise + if procs is None: + # Fall back to fuser if lsof is unavailable + try: + procs = subprocess.check_output(["fuser", '-v', lockfile], stderr=subprocess.STDOUT) + except OSError as e: + if e.errno != errno.ENOENT: + raise + + msg = "Delaying shutdown due to active processes which appear to be holding bitbake.lock" + if procs: + msg += ":\n%s" % str(procs) + print(msg) + return + # We hold the lock so we can remove the file (hide stale pid data) + bb.utils.remove(lockfile) + bb.utils.unlockfile(lock) def idle_commands(self, delay, fds=None): nextsleep = delay @@ -189,140 +262,253 @@ class ProcessServer(Process): nextsleep = self.next_heartbeat - now if nextsleep is not None: + if self.xmlrpc: + nextsleep = self.xmlrpc.get_timeout(nextsleep) try: - select.select(fds,[],[],nextsleep) + return select.select(fds,[],[],nextsleep)[0] except InterruptedError: - # ignore EINTR error, nextsleep only used for wait - # certain time - pass + # Ignore EINTR + return [] + else: + return [] + + +class ServerCommunicator(): + def __init__(self, connection, recv): + self.connection = connection + self.recv = recv def runCommand(self, command): - """ - Run a cooker command on the server - """ - self.command_channel.send(self.cooker.command.runCommand(command)) - def stop(self): - self.quitin.send("quit") - self.quitin.close() + self.connection.send(command) + while True: + # don't let the user ctrl-c while we're waiting for a response + try: + for idx in range(0,4): # 0, 1, 2, 3 + if self.recv.poll(1): + return self.recv.get() + else: + bb.warn("Timeout while attempting to communicate with bitbake server") + raise ProcessTimeout("Gave up; Too many tries: timeout while attempting to communicate with bitbake server") + except KeyboardInterrupt: + pass + + def updateFeatureSet(self, featureset): + _, error = self.runCommand(["setFeatures", featureset]) + if error: + logger.error("Unable to set the cooker to the correct featureset: %s" % error) + raise BaseException(error) + + def getEventHandle(self): + handle, error = self.runCommand(["getUIHandlerNum"]) + if error: + logger.error("Unable to get UI Handler Number: %s" % error) + raise BaseException(error) - def addcooker(self, cooker): - self.cooker = cooker + return handle - def register_idle_function(self, function, data): - """Register a function to be called while the server is idle""" - assert hasattr(function, '__call__') - self._idlefuns[function] = data + def terminateServer(self): + self.connection.send(['terminateServer']) + return class BitBakeProcessServerConnection(object): - def __init__(self, serverImpl, ui_channel, event_queue): - self.procserver = serverImpl - self.ui_channel = ui_channel - self.event_queue = event_queue - self.connection = ServerCommunicator(self.ui_channel, self.procserver.event_handle, self.procserver) - self.events = self.event_queue - self.terminated = False - - def sigterm_terminate(self): - bb.error("UI received SIGTERM") - self.terminate() + def __init__(self, ui_channel, recv, eq): + self.connection = ServerCommunicator(ui_channel, recv) + self.events = eq def terminate(self): - if self.terminated: - return - self.terminated = True - def flushevents(): - while True: - try: - event = self.event_queue.get(block=False) - except (Empty, IOError): - break - if isinstance(event, logging.LogRecord): - logger.handle(event) - - self.procserver.stop() - - while self.procserver.is_alive(): - flushevents() - self.procserver.join(0.1) - - self.ui_channel.close() - self.event_queue.close() - self.event_queue.setexit() - # XXX: Call explicity close in _writer to avoid - # fd leakage because isn't called on Queue.close() - self.event_queue._writer.close() - - def setupEventQueue(self): - pass - -# Wrap Queue to provide API which isn't server implementation specific -class ProcessEventQueue(multiprocessing.queues.Queue): - def __init__(self, maxsize): - multiprocessing.queues.Queue.__init__(self, maxsize, ctx=multiprocessing.get_context()) - self.exit = False - bb.utils.set_process_name("ProcessEQueue") - - def setexit(self): - self.exit = True - - def waitEvent(self, timeout): - if self.exit: - return self.getEvent() + self.socket_connection.close() + return + +class BitBakeServer(object): + def __init__(self, lock, sockname, configuration, featureset): + + self.configuration = configuration + self.featureset = featureset + self.sockname = sockname + self.bitbake_lock = lock + + # Create server control socket + if os.path.exists(sockname): + os.unlink(sockname) + + self.sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) + # AF_UNIX has path length issues so chdir here to workaround + cwd = os.getcwd() try: - if not self.server.is_alive(): - return self.getEvent() - if timeout == 0: - return self.get(False) - return self.get(True, timeout) - except Empty: - return None + os.chdir(os.path.dirname(sockname)) + self.sock.bind(os.path.basename(sockname)) + finally: + os.chdir(cwd) + self.sock.listen(1) + + os.set_inheritable(self.sock.fileno(), True) + bb.daemonize.createDaemon(self._startServer, "bitbake-cookerdaemon.log") + self.sock.close() + self.bitbake_lock.close() + + def _startServer(self): + server = ProcessServer(self.bitbake_lock, self.sock, self.sockname) + self.configuration.setServerRegIdleCallback(server.register_idle_function) + + # Copy prefile and postfile to _server variants + for param in ('prefile', 'postfile'): + value = getattr(self.configuration, param) + if value: + setattr(self.configuration, "%s_server" % param, value) + + self.cooker = bb.cooker.BBCooker(self.configuration, self.featureset) + server.cooker = self.cooker + server.server_timeout = self.configuration.server_timeout + server.xmlrpcinterface = self.configuration.xmlrpcinterface + print("Started bitbake server pid %d" % os.getpid()) + server.start() + +def connectProcessServer(sockname, featureset): + # Connect to socket + sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) + # AF_UNIX has path length issues so chdir here to workaround + cwd = os.getcwd() + + try: + os.chdir(os.path.dirname(sockname)) + sock.connect(os.path.basename(sockname)) + finally: + os.chdir(cwd) + + try: + # Send an fd for the remote to write events to + readfd, writefd = os.pipe() + eq = BBUIEventQueue(readfd) + # Send an fd for the remote to recieve commands from + readfd1, writefd1 = os.pipe() + command_chan = ConnectionWriter(writefd1) + # Send an fd for the remote to write commands results to + readfd2, writefd2 = os.pipe() + command_chan_recv = ConnectionReader(readfd2) + + sendfds(sock, [writefd, readfd1, writefd2]) + + server_connection = BitBakeProcessServerConnection(command_chan, command_chan_recv, eq) + + server_connection.connection.updateFeatureSet(featureset) + + # Save sock so it doesn't get gc'd for the life of our connection + server_connection.socket_connection = sock + except: + sock.close() + raise + + return server_connection + +def sendfds(sock, fds): + '''Send an array of fds over an AF_UNIX socket.''' + fds = array.array('i', fds) + msg = bytes([len(fds) % 256]) + sock.sendmsg([msg], [(socket.SOL_SOCKET, socket.SCM_RIGHTS, fds)]) + +def recvfds(sock, size): + '''Receive an array of fds over an AF_UNIX socket.''' + a = array.array('i') + bytes_size = a.itemsize * size + msg, ancdata, flags, addr = sock.recvmsg(1, socket.CMSG_LEN(bytes_size)) + if not msg and not ancdata: + raise EOFError + try: + if len(ancdata) != 1: + raise RuntimeError('received %d items of ancdata' % + len(ancdata)) + cmsg_level, cmsg_type, cmsg_data = ancdata[0] + if (cmsg_level == socket.SOL_SOCKET and + cmsg_type == socket.SCM_RIGHTS): + if len(cmsg_data) % a.itemsize != 0: + raise ValueError + a.frombytes(cmsg_data) + assert len(a) % 256 == msg[0] + return list(a) + except (ValueError, IndexError): + pass + raise RuntimeError('Invalid data received') + +class BBUIEventQueue: + def __init__(self, readfd): + + self.eventQueue = [] + self.eventQueueLock = threading.Lock() + self.eventQueueNotify = threading.Event() + + self.reader = ConnectionReader(readfd) + + self.t = threading.Thread() + self.t.setDaemon(True) + self.t.run = self.startCallbackHandler + self.t.start() def getEvent(self): - try: - if not self.server.is_alive(): - self.setexit() - return self.get(False) - except Empty: - if self.exit: - sys.exit(1) + self.eventQueueLock.acquire() + + if len(self.eventQueue) == 0: + self.eventQueueLock.release() return None -class BitBakeServer(object): - def initServer(self, single_use=True): - # establish communication channels. We use bidirectional pipes for - # ui <--> server command/response pairs - # and a queue for server -> ui event notifications - # - self.ui_channel, self.server_channel = Pipe() - self.event_queue = ProcessEventQueue(0) - self.serverImpl = ProcessServer(self.server_channel, self.event_queue, None) - self.event_queue.server = self.serverImpl - - def detach(self): - self.serverImpl.start() - return + item = self.eventQueue.pop(0) - def establishConnection(self, featureset): + if len(self.eventQueue) == 0: + self.eventQueueNotify.clear() - self.connection = BitBakeProcessServerConnection(self.serverImpl, self.ui_channel, self.event_queue) + self.eventQueueLock.release() + return item - _, error = self.connection.connection.runCommand(["setFeatures", featureset]) - if error: - logger.error("Unable to set the cooker to the correct featureset: %s" % error) - raise BaseException(error) - signal.signal(signal.SIGTERM, lambda i, s: self.connection.sigterm_terminate()) - return self.connection + def waitEvent(self, delay): + self.eventQueueNotify.wait(delay) + return self.getEvent() - def addcooker(self, cooker): - self.cooker = cooker - self.serverImpl.addcooker(cooker) + def queue_event(self, event): + self.eventQueueLock.acquire() + self.eventQueue.append(event) + self.eventQueueNotify.set() + self.eventQueueLock.release() - def getServerIdleCB(self): - return self.serverImpl.register_idle_function + def send_event(self, event): + self.queue_event(pickle.loads(event)) - def saveConnectionDetails(self): - return + def startCallbackHandler(self): + bb.utils.set_process_name("UIEventQueue") + while True: + self.reader.wait() + event = self.reader.get() + self.queue_event(event) + +class ConnectionReader(object): + + def __init__(self, fd): + self.reader = multiprocessing.connection.Connection(fd, writable=False) + self.rlock = multiprocessing.Lock() + + def wait(self, timeout=None): + return multiprocessing.connection.wait([self.reader], timeout) + + def poll(self, timeout=None): + return self.reader.poll(timeout) + + def get(self): + with self.rlock: + res = self.reader.recv_bytes() + return multiprocessing.reduction.ForkingPickler.loads(res) + + def fileno(self): + return self.reader.fileno() + +class ConnectionWriter(object): + + def __init__(self, fd): + self.writer = multiprocessing.connection.Connection(fd, readable=False) + self.wlock = multiprocessing.Lock() + # Why bb.event needs this I have no idea + self.event = self + + def send(self, obj): + obj = multiprocessing.reduction.ForkingPickler.dumps(obj) + with self.wlock: + self.writer.send_bytes(obj) - def endSession(self): - self.connection.terminate() diff --git a/lib/bb/server/process.py b/lib/bb/server/process.py.orig similarity index 98% copy from lib/bb/server/process.py copy to lib/bb/server/process.py.orig index 48da7fe..ef84757d 100644 --- a/lib/bb/server/process.py +++ b/lib/bb/server/process.py.orig @@ -189,12 +189,7 @@ class ProcessServer(Process): nextsleep = self.next_heartbeat - now if nextsleep is not None: - try: - select.select(fds,[],[],nextsleep) - except InterruptedError: - # ignore EINTR error, nextsleep only used for wait - # certain time - pass + select.select(fds,[],[],nextsleep) def runCommand(self, command): """ diff --git a/lib/bb/server/xmlrpc.py b/lib/bb/server/xmlrpc.py deleted file mode 100644 index 6874765..0000000 --- a/lib/bb/server/xmlrpc.py +++ /dev/null @@ -1,492 +0,0 @@ -# -# BitBake XMLRPC Server -# -# Copyright (C) 2006 - 2007 Michael 'Mickey' Lauer -# Copyright (C) 2006 - 2008 Richard Purdie -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -""" - This module implements an xmlrpc server for BitBake. - - Use this by deriving a class from BitBakeXMLRPCServer and then adding - methods which you want to "export" via XMLRPC. If the methods have the - prefix xmlrpc_, then registering those function will happen automatically, - if not, you need to call register_function. - - Use register_idle_function() to add a function which the xmlrpc server - calls from within server_forever when no requests are pending. Make sure - that those functions are non-blocking or else you will introduce latency - in the server's main loop. -""" - -import os -import sys - -import hashlib -import time -import socket -import signal -import threading -import pickle -import inspect -import select -import http.client -import xmlrpc.client -from xmlrpc.server import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler - -import bb -from bb import daemonize -from bb.ui import uievent - -DEBUG = False - -class BBTransport(xmlrpc.client.Transport): - def __init__(self, timeout): - self.timeout = timeout - self.connection_token = None - xmlrpc.client.Transport.__init__(self) - - # Modified from default to pass timeout to HTTPConnection - def make_connection(self, host): - #return an existing connection if possible. This allows - #HTTP/1.1 keep-alive. - if self._connection and host == self._connection[0]: - return self._connection[1] - - # create a HTTP connection object from a host descriptor - chost, self._extra_headers, x509 = self.get_host_info(host) - #store the host argument along with the connection object - self._connection = host, http.client.HTTPConnection(chost, timeout=self.timeout) - return self._connection[1] - - def set_connection_token(self, token): - self.connection_token = token - - def send_content(self, h, body): - if self.connection_token: - h.putheader("Bitbake-token", self.connection_token) - xmlrpc.client.Transport.send_content(self, h, body) - -def _create_server(host, port, timeout = 60): - t = BBTransport(timeout) - s = xmlrpc.client.ServerProxy("http://%s:%d/" % (host, port), transport=t, allow_none=True, use_builtin_types=True) - return s, t - -def check_connection(remote, timeout): - try: - host, port = remote.split(":") - port = int(port) - except Exception as e: - bb.warn("Failed to read remote definition (%s)" % str(e)) - raise e - - server, _transport = _create_server(host, port, timeout) - try: - ret, err = server.runCommand(['getVariable', 'TOPDIR']) - if err or not ret: - return False - except ConnectionError: - return False - return True - -class BitBakeServerCommands(): - - def __init__(self, server): - self.server = server - self.has_client = False - - def registerEventHandler(self, host, port): - """ - Register a remote UI Event Handler - """ - s, t = _create_server(host, port) - - # we don't allow connections if the cooker is running - if (self.cooker.state in [bb.cooker.state.parsing, bb.cooker.state.running]): - return None, "Cooker is busy: %s" % bb.cooker.state.get_name(self.cooker.state) - - self.event_handle = bb.event.register_UIHhandler(s, True) - return self.event_handle, 'OK' - - def unregisterEventHandler(self, handlerNum): - """ - Unregister a remote UI Event Handler - """ - return bb.event.unregister_UIHhandler(handlerNum, True) - - def runCommand(self, command): - """ - Run a cooker command on the server - """ - return self.cooker.command.runCommand(command, self.server.readonly) - - def getEventHandle(self): - return self.event_handle - - def terminateServer(self): - """ - Trigger the server to quit - """ - self.server.quit = True - print("Server (cooker) exiting") - return - - def addClient(self): - if self.has_client: - return None - token = hashlib.md5(str(time.time()).encode("utf-8")).hexdigest() - self.server.set_connection_token(token) - self.has_client = True - return token - - def removeClient(self): - if self.has_client: - self.server.set_connection_token(None) - self.has_client = False - if self.server.single_use: - self.server.quit = True - -# This request handler checks if the request has a "Bitbake-token" header -# field (this comes from the client side) and compares it with its internal -# "Bitbake-token" field (this comes from the server). If the two are not -# equal, it is assumed that a client is trying to connect to the server -# while another client is connected to the server. In this case, a 503 error -# ("service unavailable") is returned to the client. -class BitBakeXMLRPCRequestHandler(SimpleXMLRPCRequestHandler): - def __init__(self, request, client_address, server): - self.server = server - SimpleXMLRPCRequestHandler.__init__(self, request, client_address, server) - - def do_POST(self): - try: - remote_token = self.headers["Bitbake-token"] - except: - remote_token = None - if remote_token != self.server.connection_token and remote_token != "observer": - self.report_503() - else: - if remote_token == "observer": - self.server.readonly = True - else: - self.server.readonly = False - SimpleXMLRPCRequestHandler.do_POST(self) - - def report_503(self): - self.send_response(503) - response = 'No more client allowed' - self.send_header("Content-type", "text/plain") - self.send_header("Content-length", str(len(response))) - self.end_headers() - self.wfile.write(bytes(response, 'utf-8')) - - -class XMLRPCProxyServer(object): - """ not a real working server, but a stub for a proxy server connection - - """ - def __init__(self, host, port, use_builtin_types=True): - self.host = host - self.port = port - self._idlefuns = {} - - def addcooker(self, cooker): - self.cooker = cooker - - def register_idle_function(self, function, data): - """Register a function to be called while the server is idle""" - assert hasattr(function, '__call__') - self._idlefuns[function] = data - - -class XMLRPCServer(SimpleXMLRPCServer): - # remove this when you're done with debugging - # allow_reuse_address = True - - def __init__(self, interface, single_use=False, idle_timeout=0): - """ - Constructor - """ - self._idlefuns = {} - self.single_use = single_use - # Use auto port configuration - if (interface[1] == -1): - interface = (interface[0], 0) - SimpleXMLRPCServer.__init__(self, interface, - requestHandler=BitBakeXMLRPCRequestHandler, - logRequests=False, allow_none=True) - self.host, self.port = self.socket.getsockname() - self.connection_token = None - #self.register_introspection_functions() - self.commands = BitBakeServerCommands(self) - self.autoregister_all_functions(self.commands, "") - self.interface = interface - self.time = time.time() - self.idle_timeout = idle_timeout - if idle_timeout: - self.register_idle_function(self.handle_idle_timeout, self) - self.heartbeat_seconds = 1 # default, BB_HEARTBEAT_EVENT will be checked once we have a datastore. - self.next_heartbeat = time.time() - - def addcooker(self, cooker): - self.cooker = cooker - self.commands.cooker = cooker - - def autoregister_all_functions(self, context, prefix): - """ - Convenience method for registering all functions in the scope - of this class that start with a common prefix - """ - methodlist = inspect.getmembers(context, inspect.ismethod) - for name, method in methodlist: - if name.startswith(prefix): - self.register_function(method, name[len(prefix):]) - - def handle_idle_timeout(self, server, data, abort): - if not abort: - if time.time() - server.time > server.idle_timeout: - server.quit = True - print("Server idle timeout expired") - return [] - - def serve_forever(self): - heartbeat_event = self.cooker.data.getVar('BB_HEARTBEAT_EVENT') - if heartbeat_event: - try: - self.heartbeat_seconds = float(heartbeat_event) - except: - # Throwing an exception here causes bitbake to hang. - # Just warn about the invalid setting and continue - bb.warn('Ignoring invalid BB_HEARTBEAT_EVENT=%s, must be a float specifying seconds.' % heartbeat_event) - - # Start the actual XMLRPC server - bb.cooker.server_main(self.cooker, self._serve_forever) - - def _serve_forever(self): - """ - Serve Requests. Overloaded to honor a quit command - """ - self.quit = False - while not self.quit: - fds = [self] - nextsleep = 0.1 - for function, data in list(self._idlefuns.items()): - retval = None - try: - retval = function(self, data, False) - if retval is False: - del self._idlefuns[function] - elif retval is True: - nextsleep = 0 - elif isinstance(retval, float): - if (retval < nextsleep): - nextsleep = retval - else: - fds = fds + retval - except SystemExit: - raise - except: - import traceback - traceback.print_exc() - if retval == None: - # the function execute failed; delete it - del self._idlefuns[function] - pass - - socktimeout = self.socket.gettimeout() or nextsleep - socktimeout = min(socktimeout, nextsleep) - # Mirror what BaseServer handle_request would do - try: - fd_sets = select.select(fds, [], [], socktimeout) - if fd_sets[0] and self in fd_sets[0]: - if self.idle_timeout: - self.time = time.time() - self._handle_request_noblock() - except IOError: - # we ignore interrupted calls - pass - - # Create new heartbeat event? - now = time.time() - if now >= self.next_heartbeat: - # We might have missed heartbeats. Just trigger once in - # that case and continue after the usual delay. - self.next_heartbeat += self.heartbeat_seconds - if self.next_heartbeat <= now: - self.next_heartbeat = now + self.heartbeat_seconds - heartbeat = bb.event.HeartbeatEvent(now) - bb.event.fire(heartbeat, self.cooker.data) - if nextsleep and now + nextsleep > self.next_heartbeat: - # Shorten timeout so that we we wake up in time for - # the heartbeat. - nextsleep = self.next_heartbeat - now - - # Tell idle functions we're exiting - for function, data in list(self._idlefuns.items()): - try: - retval = function(self, data, True) - except: - pass - self.server_close() - return - - def set_connection_token(self, token): - self.connection_token = token - - def register_idle_function(self, function, data): - """Register a function to be called while the server is idle""" - assert hasattr(function, '__call__') - self._idlefuns[function] = data - - -class BitBakeXMLRPCServerConnection(object): - def __init__(self, serverImpl, clientinfo=("localhost", 0), observer_only = False, featureset = None): - self.connection, self.transport = _create_server(serverImpl.host, serverImpl.port) - self.clientinfo = clientinfo - self.serverImpl = serverImpl - self.observer_only = observer_only - if featureset: - self.featureset = featureset - else: - self.featureset = [] - - def connect(self, token = None): - if token is None: - if self.observer_only: - token = "observer" - else: - token = self.connection.addClient() - - if token is None: - return None - - self.transport.set_connection_token(token) - return self - - def setupEventQueue(self): - self.events = uievent.BBUIEventQueue(self.connection, self.clientinfo) - for event in bb.event.ui_queue: - self.events.queue_event(event) - - _, error = self.connection.runCommand(["setFeatures", self.featureset]) - if error: - # disconnect the client, we can't make the setFeature work - self.connection.removeClient() - # no need to log it here, the error shall be sent to the client - raise BaseException(error) - - def removeClient(self): - if not self.observer_only: - self.connection.removeClient() - - def terminate(self): - # Don't wait for server indefinitely - import socket - socket.setdefaulttimeout(2) - try: - self.events.system_quit() - except: - pass - try: - self.connection.removeClient() - except: - pass - -class BitBakeServer(object): - def initServer(self, interface = ("localhost", 0), - single_use = False, idle_timeout=0): - self.interface = interface - self.serverImpl = XMLRPCServer(interface, single_use, idle_timeout) - - def detach(self): - daemonize.createDaemon(self.serverImpl.serve_forever, "bitbake-cookerdaemon.log") - del self.cooker - - def establishConnection(self, featureset): - self.connection = BitBakeXMLRPCServerConnection(self.serverImpl, self.interface, False, featureset) - return self.connection.connect() - - def set_connection_token(self, token): - self.connection.transport.set_connection_token(token) - - def addcooker(self, cooker): - self.cooker = cooker - self.serverImpl.addcooker(cooker) - - def getServerIdleCB(self): - return self.serverImpl.register_idle_function - - def saveConnectionDetails(self): - return - - def endSession(self): - self.connection.terminate() - -class BitBakeXMLRPCClient(object): - - def __init__(self, observer_only = False, token = None): - self.token = token - - self.observer_only = observer_only - # if we need extra caches, just tell the server to load them all - pass - - def saveConnectionDetails(self, remote): - self.remote = remote - - def establishConnection(self, featureset): - # The format of "remote" must be "server:port" - try: - [host, port] = self.remote.split(":") - port = int(port) - except Exception as e: - bb.warn("Failed to read remote definition (%s)" % str(e)) - raise e - - # We need our IP for the server connection. We get the IP - # by trying to connect with the server - try: - s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) - s.connect((host, port)) - ip = s.getsockname()[0] - s.close() - except Exception as e: - bb.warn("Could not create socket for %s:%s (%s)" % (host, port, str(e))) - raise e - try: - self.serverImpl = XMLRPCProxyServer(host, port, use_builtin_types=True) - self.connection = BitBakeXMLRPCServerConnection(self.serverImpl, (ip, 0), self.observer_only, featureset) - return self.connection.connect(self.token) - except Exception as e: - bb.warn("Could not connect to server at %s:%s (%s)" % (host, port, str(e))) - raise e - - def endSession(self): - self.connection.removeClient() - - def initServer(self): - self.serverImpl = None - self.connection = None - return - - def addcooker(self, cooker): - self.cooker = cooker - self.serverImpl.addcooker(cooker) - - def getServerIdleCB(self): - return self.serverImpl.register_idle_function - - def detach(self): - return - diff --git a/lib/bb/server/xmlrpcclient.py b/lib/bb/server/xmlrpcclient.py new file mode 100644 index 0000000..4661a9e --- /dev/null +++ b/lib/bb/server/xmlrpcclient.py @@ -0,0 +1,154 @@ +# +# BitBake XMLRPC Client Interface +# +# Copyright (C) 2006 - 2007 Michael 'Mickey' Lauer +# Copyright (C) 2006 - 2008 Richard Purdie +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +import os +import sys + +import socket +import http.client +import xmlrpc.client + +import bb +from bb.ui import uievent + +class BBTransport(xmlrpc.client.Transport): + def __init__(self, timeout): + self.timeout = timeout + self.connection_token = None + xmlrpc.client.Transport.__init__(self) + + # Modified from default to pass timeout to HTTPConnection + def make_connection(self, host): + #return an existing connection if possible. This allows + #HTTP/1.1 keep-alive. + if self._connection and host == self._connection[0]: + return self._connection[1] + + # create a HTTP connection object from a host descriptor + chost, self._extra_headers, x509 = self.get_host_info(host) + #store the host argument along with the connection object + self._connection = host, http.client.HTTPConnection(chost, timeout=self.timeout) + return self._connection[1] + + def set_connection_token(self, token): + self.connection_token = token + + def send_content(self, h, body): + if self.connection_token: + h.putheader("Bitbake-token", self.connection_token) + xmlrpc.client.Transport.send_content(self, h, body) + +def _create_server(host, port, timeout = 60): + t = BBTransport(timeout) + s = xmlrpc.client.ServerProxy("http://%s:%d/" % (host, port), transport=t, allow_none=True, use_builtin_types=True) + return s, t + +def check_connection(remote, timeout): + try: + host, port = remote.split(":") + port = int(port) + except Exception as e: + bb.warn("Failed to read remote definition (%s)" % str(e)) + raise e + + server, _transport = _create_server(host, port, timeout) + try: + ret, err = server.runCommand(['getVariable', 'TOPDIR']) + if err or not ret: + return False + except ConnectionError: + return False + return True + +class BitBakeXMLRPCServerConnection(object): + def __init__(self, host, port, clientinfo=("localhost", 0), observer_only = False, featureset = None): + self.connection, self.transport = _create_server(host, port) + self.clientinfo = clientinfo + self.observer_only = observer_only + if featureset: + self.featureset = featureset + else: + self.featureset = [] + + self.events = uievent.BBUIEventQueue(self.connection, self.clientinfo) + + _, error = self.connection.runCommand(["setFeatures", self.featureset]) + if error: + # disconnect the client, we can't make the setFeature work + self.connection.removeClient() + # no need to log it here, the error shall be sent to the client + raise BaseException(error) + + def connect(self, token = None): + if token is None: + if self.observer_only: + token = "observer" + else: + token = self.connection.addClient() + + if token is None: + return None + + self.transport.set_connection_token(token) + return self + + def removeClient(self): + if not self.observer_only: + self.connection.removeClient() + + def terminate(self): + # Don't wait for server indefinitely + socket.setdefaulttimeout(2) + try: + self.events.system_quit() + except: + pass + try: + self.connection.removeClient() + except: + pass + +def connectXMLRPC(remote, featureset, observer_only = False, token = None): + # The format of "remote" must be "server:port" + try: + [host, port] = remote.split(":") + port = int(port) + except Exception as e: + bb.warn("Failed to parse remote definition %s (%s)" % (remote, str(e))) + raise e + + # We need our IP for the server connection. We get the IP + # by trying to connect with the server + try: + s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + s.connect((host, port)) + ip = s.getsockname()[0] + s.close() + except Exception as e: + bb.warn("Could not create socket for %s:%s (%s)" % (host, port, str(e))) + raise e + try: + connection = BitBakeXMLRPCServerConnection(host, port, (ip, 0), observer_only, featureset) + return connection.connect(token) + except Exception as e: + bb.warn("Could not connect to server at %s:%s (%s)" % (host, port, str(e))) + raise e + + + diff --git a/lib/bb/server/xmlrpcserver.py b/lib/bb/server/xmlrpcserver.py new file mode 100644 index 0000000..875b128 --- /dev/null +++ b/lib/bb/server/xmlrpcserver.py @@ -0,0 +1,158 @@ +# +# BitBake XMLRPC Server Interface +# +# Copyright (C) 2006 - 2007 Michael 'Mickey' Lauer +# Copyright (C) 2006 - 2008 Richard Purdie +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +import os +import sys + +import hashlib +import time +import inspect +from xmlrpc.server import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler + +import bb + +# This request handler checks if the request has a "Bitbake-token" header +# field (this comes from the client side) and compares it with its internal +# "Bitbake-token" field (this comes from the server). If the two are not +# equal, it is assumed that a client is trying to connect to the server +# while another client is connected to the server. In this case, a 503 error +# ("service unavailable") is returned to the client. +class BitBakeXMLRPCRequestHandler(SimpleXMLRPCRequestHandler): + def __init__(self, request, client_address, server): + self.server = server + SimpleXMLRPCRequestHandler.__init__(self, request, client_address, server) + + def do_POST(self): + try: + remote_token = self.headers["Bitbake-token"] + except: + remote_token = None + if 0 and remote_token != self.server.connection_token and remote_token != "observer": + self.report_503() + else: + if remote_token == "observer": + self.server.readonly = True + else: + self.server.readonly = False + SimpleXMLRPCRequestHandler.do_POST(self) + + def report_503(self): + self.send_response(503) + response = 'No more client allowed' + self.send_header("Content-type", "text/plain") + self.send_header("Content-length", str(len(response))) + self.end_headers() + self.wfile.write(bytes(response, 'utf-8')) + +class BitBakeXMLRPCServer(SimpleXMLRPCServer): + # remove this when you're done with debugging + # allow_reuse_address = True + + def __init__(self, interface, cooker, parent): + # Use auto port configuration + if (interface[1] == -1): + interface = (interface[0], 0) + SimpleXMLRPCServer.__init__(self, interface, + requestHandler=BitBakeXMLRPCRequestHandler, + logRequests=False, allow_none=True) + self.host, self.port = self.socket.getsockname() + self.interface = interface + + self.connection_token = None + self.commands = BitBakeXMLRPCServerCommands(self) + self.register_functions(self.commands, "") + + self.cooker = cooker + self.parent = parent + + + def register_functions(self, context, prefix): + """ + Convenience method for registering all functions in the scope + of this class that start with a common prefix + """ + methodlist = inspect.getmembers(context, inspect.ismethod) + for name, method in methodlist: + if name.startswith(prefix): + self.register_function(method, name[len(prefix):]) + + def get_timeout(self, delay): + socktimeout = self.socket.gettimeout() or delay + return min(socktimeout, delay) + + def handle_requests(self): + self._handle_request_noblock() + +class BitBakeXMLRPCServerCommands(): + + def __init__(self, server): + self.server = server + self.has_client = False + + def registerEventHandler(self, host, port): + """ + Register a remote UI Event Handler + """ + s, t = bb.server.xmlrpcclient._create_server(host, port) + + # we don't allow connections if the cooker is running + if (self.server.cooker.state in [bb.cooker.state.parsing, bb.cooker.state.running]): + return None, "Cooker is busy: %s" % bb.cooker.state.get_name(self.server.cooker.state) + + self.event_handle = bb.event.register_UIHhandler(s, True) + return self.event_handle, 'OK' + + def unregisterEventHandler(self, handlerNum): + """ + Unregister a remote UI Event Handler + """ + ret = bb.event.unregister_UIHhandler(handlerNum, True) + self.event_handle = None + return ret + + def runCommand(self, command): + """ + Run a cooker command on the server + """ + return self.server.cooker.command.runCommand(command, self.server.readonly) + + def getEventHandle(self): + return self.event_handle + + def terminateServer(self): + """ + Trigger the server to quit + """ + self.server.parent.quit = True + print("XMLRPC Server triggering exit") + return + + def addClient(self): + if self.server.parent.haveui: + return None + token = hashlib.md5(str(time.time()).encode("utf-8")).hexdigest() + self.server.connection_token = token + self.server.parent.haveui = True + return token + + def removeClient(self): + if self.server.parent.haveui: + self.server.connection_token = None + self.server.parent.haveui = False + diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index fb0da62..303ce02 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -243,7 +243,7 @@ class Tinfoil: cookerconfig = CookerConfiguration() cookerconfig.setConfigParameters(config_params) - server, self.server_connection, ui_module = setup_bitbake(config_params, + self.server_connection, ui_module = setup_bitbake(config_params, cookerconfig, extrafeatures, setup_logging=False) diff --git a/lib/prserv/serv.py b/lib/prserv/serv.py index a7efa58..5f061c2 100644 --- a/lib/prserv/serv.py +++ b/lib/prserv/serv.py @@ -6,7 +6,7 @@ import queue import socket import io import sqlite3 -import bb.server.xmlrpc +import bb.server.xmlrpcclient import prserv import prserv.db import errno @@ -300,7 +300,7 @@ class PRServerConnection(object): host, port = singleton.getinfo() self.host = host self.port = port - self.connection, self.transport = bb.server.xmlrpc._create_server(self.host, self.port) + self.connection, self.transport = bb.server.xmlrpcclient._create_server(self.host, self.port) def terminate(self): try: -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:40:21 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:40:21 +0000 Subject: [oe-commits] [bitbake] 07/18: tinfoil: add internal mode to build_file() function In-Reply-To: <150041401414.24889.15602779501327870580@git.openembedded.org> References: <150041401414.24889.15602779501327870580@git.openembedded.org> Message-ID: <20170718214014.6C2D023355A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 4b0d4189e4c31a471ba0dd6d61448178c3da9e54 Author: Paul Eggleton AuthorDate: Tue May 16 15:50:45 2017 +1200 tinfoil: add internal mode to build_file() function In OE's devtool we want to repeatedly run build_file() without showing unnecessary messages and triggering buildhistory for each call. build_file() is just a wrapper around the buildFile command. Change the final "hidewarning" parameter of the buildFile command to "internal" and have this call a new buildFileInternal() function without triggering any of the normal build events, silencing the normal info messages from the runqueue ("Executing RunQueue Tasks", "Tasks Summary" etc.) and avoiding calling parseConfiguration() which we've already done at this point. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/command.py | 9 ++++++--- lib/bb/cooker.py | 34 +++++++++++++++++++++++++--------- lib/bb/tinfoil.py | 9 ++++++--- 3 files changed, 37 insertions(+), 15 deletions(-) diff --git a/lib/bb/command.py b/lib/bb/command.py index eb7c86f..c06ab07 100644 --- a/lib/bb/command.py +++ b/lib/bb/command.py @@ -548,11 +548,14 @@ class CommandsAsync: bfile = params[0] task = params[1] if len(params) > 2: - hidewarning = params[2] + internal = params[2] else: - hidewarning = False + internal = False - command.cooker.buildFile(bfile, task, hidewarning) + if internal: + command.cooker.buildFileInternal(bfile, task, fireevents=False, quietlog=True) + else: + command.cooker.buildFile(bfile, task) buildFile.needcache = False def buildTargets(self, command, params): diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py index daffe67..1625d3c 100644 --- a/lib/bb/cooker.py +++ b/lib/bb/cooker.py @@ -1219,21 +1219,27 @@ class BBCooker: raise NoSpecificMatch return matches[0] - def buildFile(self, buildfile, task, hidewarning=False): + def buildFile(self, buildfile, task): """ Build the file matching regexp buildfile """ bb.event.fire(bb.event.BuildInit(), self.data) - if not hidewarning: - # Too many people use -b because they think it's how you normally - # specify a target to be built, so show a warning - bb.warn("Buildfile specified, dependencies will not be handled. If this is not what you want, do not use -b / --buildfile.") + # Too many people use -b because they think it's how you normally + # specify a target to be built, so show a warning + bb.warn("Buildfile specified, dependencies will not be handled. If this is not what you want, do not use -b / --buildfile.") # Parse the configuration here. We need to do it explicitly here since # buildFile() doesn't use the cache self.parseConfiguration() + self.buildFileInternal(buildfile, task) + + def buildFileInternal(self, buildfile, task, fireevents=True, quietlog=False): + """ + Build the file matching regexp buildfile + """ + # If we are told to do the None task then query the default task if (task == None): task = self.configuration.cmd @@ -1270,8 +1276,8 @@ class BBCooker: # Remove external dependencies self.recipecaches[mc].task_deps[fn]['depends'] = {} self.recipecaches[mc].deps[fn] = [] - self.recipecaches[mc].rundeps[fn] = [] - self.recipecaches[mc].runrecs[fn] = [] + self.recipecaches[mc].rundeps[fn] = defaultdict(list) + self.recipecaches[mc].runrecs[fn] = defaultdict(list) # Invalidate task for target if force mode active if self.configuration.force: @@ -1283,8 +1289,13 @@ class BBCooker: taskdata[mc] = bb.taskdata.TaskData(self.configuration.abort) taskdata[mc].add_provider(self.databuilder.mcdata[mc], self.recipecaches[mc], item) + if quietlog: + rqloglevel = bb.runqueue.logger.getEffectiveLevel() + bb.runqueue.logger.setLevel(logging.WARNING) + buildname = self.databuilder.mcdata[mc].getVar("BUILDNAME") - bb.event.fire(bb.event.BuildStarted(buildname, [item]), self.databuilder.mcdata[mc]) + if fireevents: + bb.event.fire(bb.event.BuildStarted(buildname, [item]), self.databuilder.mcdata[mc]) # Execute the runqueue runlist = [[mc, item, task, fn]] @@ -1311,11 +1322,16 @@ class BBCooker: retval = False except SystemExit as exc: self.command.finishAsyncCommand(str(exc)) + if quietlog: + bb.runqueue.logger.setLevel(rqloglevel) return False if not retval: - bb.event.fire(bb.event.BuildCompleted(len(rq.rqdata.runtaskentries), buildname, item, failures, interrupted), self.databuilder.mcdata[mc]) + if fireevents: + bb.event.fire(bb.event.BuildCompleted(len(rq.rqdata.runtaskentries), buildname, item, failures, interrupted), self.databuilder.mcdata[mc]) self.command.finishAsyncCommand(msg) + if quietlog: + bb.runqueue.logger.setLevel(rqloglevel) return False if retval is True: return True diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index 303ce02..65ebdc2 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -415,12 +415,15 @@ class Tinfoil: else: return None - def build_file(self, buildfile, task): + def build_file(self, buildfile, task, internal=True): """ Runs the specified task for just a single recipe (i.e. no dependencies). - This is equivalent to bitbake -b, except no warning will be printed. + This is equivalent to bitbake -b, except with the default internal=True + no warning about dependencies will be produced, normal info messages + from the runqueue will be silenced and BuildInit, BuildStarted and + BuildCompleted events will not be fired. """ - return self.run_command('buildFile', buildfile, task, True) + return self.run_command('buildFile', buildfile, task, internal) def shutdown(self): if self.server_connection: -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:40:26 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:40:26 +0000 Subject: [oe-commits] [bitbake] 12/18: tinfoil: add functionality for running full builds In-Reply-To: <150041401414.24889.15602779501327870580@git.openembedded.org> References: <150041401414.24889.15602779501327870580@git.openembedded.org> Message-ID: <20170718214014.8AF8423359F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit ecb0fd818b0c524246f83149c70eb55b50fbcf71 Author: Paul Eggleton AuthorDate: Fri May 19 14:52:48 2017 +1200 tinfoil: add functionality for running full builds Up to this point, if you wanted to run build tasks in the normal way they get run, there was no other way than to shell out to bitbake. As long as we're prepared to handle the events produced, we can create a wrapper around calling the buildTargets command. Borrow code from knotty to do this so that we get the expected running task display (courtesy of TermFilter) and Ctrl+C handling. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/tinfoil.py | 155 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 155 insertions(+) diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index f31d7b2..945bd4b 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -2,6 +2,7 @@ # # Copyright (C) 2012-2017 Intel Corporation # Copyright (C) 2011 Mentor Graphics Corporation +# Copyright (C) 2006-2012 Richard Purdie # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License version 2 as @@ -218,6 +219,7 @@ class Tinfoil: self.ui_module = None self.server_connection = None self.recipes_parsed = False + self.quiet = 0 if setup_logging: # This is the *client-side* logger, nothing to do with # logging messages from the server @@ -230,6 +232,8 @@ class Tinfoil: self.shutdown() def prepare(self, config_only=False, config_params=None, quiet=0, extra_features=None): + self.quiet = quiet + if self.tracking: extrafeatures = [bb.cooker.CookerFeatures.BASEDATASTORE_TRACKING] else: @@ -434,6 +438,157 @@ class Tinfoil: """ return self.run_command('buildFile', buildfile, task, internal) + # FIXME internal mode + def build_targets(self, targets, task=None, handle_events=True, extra_events=None, event_callback=None): + """ + Builds the specified targets. This is equivalent to a normal invocation + of bitbake. Has built-in event handling which is enabled by default and + can be extended if needed. + Parameters: + targets: + One or more targets to build. Can be a list or a + space-separated string. + task: + The task to run; if None then the value of BB_DEFAULT_TASK + will be used. Default None. + handle_events: + True to handle events in a similar way to normal bitbake + invocation with knotty; False to return immediately (on the + assumption that the caller will handle the events instead). + Default True. + extra_events: + An optional list of events to add to the event mask (if + handle_events=True). If you add events here you also need + to specify a callback function in event_callback that will + handle the additional events. Default None. + event_callback: + An optional function taking a single parameter which + will be called first upon receiving any event (if + handle_events=True) so that the caller can override or + extend the event handling. Default None. + """ + if isinstance(targets, str): + targets = targets.split() + if not task: + task = self.config_data.getVar('BB_DEFAULT_TASK') + + if handle_events: + # A reasonable set of default events matching up with those we handle below + eventmask = [ + 'bb.event.BuildStarted', + 'bb.event.BuildCompleted', + 'logging.LogRecord', + 'bb.event.NoProvider', + 'bb.command.CommandCompleted', + 'bb.command.CommandFailed', + 'bb.build.TaskStarted', + 'bb.build.TaskFailed', + 'bb.build.TaskSucceeded', + 'bb.build.TaskFailedSilent', + 'bb.build.TaskProgress', + 'bb.runqueue.runQueueTaskStarted', + 'bb.runqueue.sceneQueueTaskStarted', + 'bb.event.ProcessStarted', + 'bb.event.ProcessProgress', + 'bb.event.ProcessFinished', + ] + if extra_events: + eventmask.extend(extra_events) + ret = self.set_event_mask(eventmask) + + ret = self.run_command('buildTargets', targets, task) + if handle_events: + result = False + # Borrowed from knotty, instead somewhat hackily we use the helper + # as the object to store "shutdown" on + helper = bb.ui.uihelper.BBUIHelper() + # We set up logging optionally in the constructor so now we need to + # grab the handlers to pass to TerminalFilter + console = None + errconsole = None + for handler in self.logger.handlers: + if isinstance(handler, logging.StreamHandler): + if handler.stream == sys.stdout: + console = handler + elif handler.stream == sys.stderr: + errconsole = handler + format_str = "%(levelname)s: %(message)s" + format = bb.msg.BBLogFormatter(format_str) + helper.shutdown = 0 + parseprogress = None + termfilter = bb.ui.knotty.TerminalFilter(helper, helper, console, errconsole, format, quiet=self.quiet) + try: + while True: + try: + event = self.wait_event(0.25) + if event: + if event_callback and event_callback(event): + continue + if helper.eventHandler(event): + continue + if isinstance(event, bb.event.ProcessStarted): + if self.quiet > 1: + continue + parseprogress = bb.ui.knotty.new_progress(event.processname, event.total) + parseprogress.start(False) + continue + if isinstance(event, bb.event.ProcessProgress): + if self.quiet > 1: + continue + if parseprogress: + parseprogress.update(event.progress) + else: + bb.warn("Got ProcessProgress event for someting that never started?") + continue + if isinstance(event, bb.event.ProcessFinished): + if self.quiet > 1: + continue + if parseprogress: + parseprogress.finish() + parseprogress = None + continue + if isinstance(event, bb.command.CommandCompleted): + result = True + break + if isinstance(event, bb.command.CommandFailed): + self.logger.error(str(event)) + result = False + break + if isinstance(event, logging.LogRecord): + if event.taskpid == 0 or event.levelno > logging.INFO: + self.logger.handle(event) + continue + if isinstance(event, bb.event.NoProvider): + self.logger.error(str(event)) + result = False + break + + elif helper.shutdown > 1: + break + termfilter.updateFooter() + except KeyboardInterrupt: + termfilter.clearFooter() + if helper.shutdown == 1: + print("\nSecond Keyboard Interrupt, stopping...\n") + ret = self.run_command("stateForceShutdown") + if ret and ret[2]: + self.logger.error("Unable to cleanly stop: %s" % ret[2]) + elif helper.shutdown == 0: + print("\nKeyboard Interrupt, closing down...\n") + interrupted = True + ret = self.run_command("stateShutdown") + if ret and ret[2]: + self.logger.error("Unable to cleanly shutdown: %s" % ret[2]) + helper.shutdown = helper.shutdown + 1 + termfilter.clearFooter() + finally: + termfilter.finish() + if helper.failed_tasks: + result = False + return result + else: + return ret + def shutdown(self): if self.server_connection: self.run_command('clientComplete') -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:40:28 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:40:28 +0000 Subject: [oe-commits] [bitbake] 14/18: tinfoil: add simple API for getting cached recipe information In-Reply-To: <150041401414.24889.15602779501327870580@git.openembedded.org> References: <150041401414.24889.15602779501327870580@git.openembedded.org> Message-ID: <20170718214014.965822335A2@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit b2573aa3b29ff6b4d12597106f9bdbc39e2581d6 Author: Paul Eggleton AuthorDate: Mon Jun 12 11:44:24 2017 +0200 tinfoil: add simple API for getting cached recipe information A common task for tinfoil-using scripts is to iterate over all recipes. This isn't too difficult with the current API, but the pkg_* variables are a little awkward and are really designed for bitbake's internal usage - and it gets a bit more difficult when you want to access some of the other information such as packages and rprovides. To resolve this, create a new recipe info class and add an all_recipes() function to generate this for all recipes. Also add a get_recipe_info() function to get the information for a specific recipe (by PN). (It might perhaps be suggested that we already have a structure similar to this in the cache, however the one we add here is designed for external use and allows the internal structures to change if needed without affecting the API). Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/tinfoil.py | 142 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 142 insertions(+) diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index 0176b76..960468e 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -217,6 +217,82 @@ class TinfoilCookerAdapter: return self.tinfoil.find_best_provider(pn) +class TinfoilRecipeInfo: + """ + Provides a convenient representation of the cached information for a single recipe. + Some attributes are set on construction, others are read on-demand (which internally + may result in a remote procedure call to the bitbake server the first time). + Note that only information which is cached is available through this object - if + you need other variable values you will need to parse the recipe using + Tinfoil.parse_recipe(). + """ + def __init__(self, recipecache, d, pn, fn, fns): + self._recipecache = recipecache + self._d = d + self.pn = pn + self.fn = fn + self.fns = fns + self.inherit_files = recipecache.inherits[fn] + self.depends = recipecache.deps[fn] + (self.pe, self.pv, self.pr) = recipecache.pkg_pepvpr[fn] + self._cached_packages = None + self._cached_rprovides = None + self._cached_packages_dynamic = None + + def __getattr__(self, name): + if name == 'alternates': + return [x for x in self.fns if x != self.fn] + elif name == 'rdepends': + return self._recipecache.rundeps[self.fn] + elif name == 'rrecommends': + return self._recipecache.runrecs[self.fn] + elif name == 'provides': + return self._recipecache.fn_provides[self.fn] + elif name == 'packages': + if self._cached_packages is None: + self._cached_packages = [] + for pkg, fns in self._recipecache.packages.items(): + if self.fn in fns: + self._cached_packages.append(pkg) + return self._cached_packages + elif name == 'packages_dynamic': + if self._cached_packages_dynamic is None: + self._cached_packages_dynamic = [] + for pkg, fns in self._recipecache.packages_dynamic.items(): + if self.fn in fns: + self._cached_packages_dynamic.append(pkg) + return self._cached_packages_dynamic + elif name == 'rprovides': + if self._cached_rprovides is None: + self._cached_rprovides = [] + for pkg, fns in self._recipecache.rproviders.items(): + if self.fn in fns: + self._cached_rprovides.append(pkg) + return self._cached_rprovides + else: + raise AttributeError("%s instance has no attribute '%s'" % (self.__class__.__name__, name)) + def inherits(self, only_recipe=False): + """ + Get the inherited classes for a recipe. Returns the class names only. + Parameters: + only_recipe: True to return only the classes inherited by the recipe + itself, False to return all classes inherited within + the context for the recipe (which includes globally + inherited classes). + """ + if only_recipe: + global_inherit = [x for x in (self._d.getVar('BBINCLUDED') or '').split() if x.endswith('.bbclass')] + else: + global_inherit = [] + for clsfile in self.inherit_files: + if only_recipe and clsfile in global_inherit: + continue + clsname = os.path.splitext(os.path.basename(clsfile))[0] + yield clsname + def __str__(self): + return '%s' % self.pn + + class Tinfoil: def __init__(self, output=sys.stdout, tracking=False, setup_logging=True): @@ -401,6 +477,72 @@ class Tinfoil: def get_file_appends(self, fn): return self.run_command('getFileAppends', fn) + def all_recipes(self, mc='', sort=True): + """ + Enable iterating over all recipes in the current configuration. + Returns an iterator over TinfoilRecipeInfo objects created on demand. + Parameters: + mc: The multiconfig, default of '' uses the main configuration. + sort: True to sort recipes alphabetically (default), False otherwise + """ + recipecache = self.cooker.recipecaches[mc] + if sort: + recipes = sorted(recipecache.pkg_pn.items()) + else: + recipes = recipecache.pkg_pn.items() + for pn, fns in recipes: + prov = self.find_best_provider(pn) + recipe = TinfoilRecipeInfo(recipecache, + self.config_data, + pn=pn, + fn=prov[3], + fns=fns) + yield recipe + + def all_recipe_files(self, mc='', variants=True, preferred_only=False): + """ + Enable iterating over all recipe files in the current configuration. + Returns an iterator over file paths. + Parameters: + mc: The multiconfig, default of '' uses the main configuration. + variants: True to include variants of recipes created through + BBCLASSEXTEND (default) or False to exclude them + preferred_only: True to include only the preferred recipe where + multiple exist providing the same PN, False to list + all recipes + """ + recipecache = self.cooker.recipecaches[mc] + if preferred_only: + files = [] + for pn in recipecache.pkg_pn.keys(): + prov = self.find_best_provider(pn) + files.append(prov[3]) + else: + files = recipecache.pkg_fn.keys() + for fn in sorted(files): + if not variants and fn.startswith('virtual:'): + continue + yield fn + + + def get_recipe_info(self, pn, mc=''): + """ + Get information on a specific recipe in the current configuration by name (PN). + Returns a TinfoilRecipeInfo object created on demand. + Parameters: + mc: The multiconfig, default of '' uses the main configuration. + """ + recipecache = self.cooker.recipecaches[mc] + prov = self.find_best_provider(pn) + fn = prov[3] + actual_pn = recipecache.pkg_fn[fn] + recipe = TinfoilRecipeInfo(recipecache, + self.config_data, + pn=actual_pn, + fn=fn, + fns=recipecache.pkg_pn[actual_pn]) + return recipe + def parse_recipe(self, pn): """ Parse the specified recipe and return a datastore object -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:40:27 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:40:27 +0000 Subject: [oe-commits] [bitbake] 13/18: tinfoil: enable access to additional cached items In-Reply-To: <150041401414.24889.15602779501327870580@git.openembedded.org> References: <150041401414.24889.15602779501327870580@git.openembedded.org> Message-ID: <20170718214014.903A22335A0@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 911254053221594d0bde3f7c64249a295c381372 Author: Paul Eggleton AuthorDate: Mon Jun 12 10:39:55 2017 +0200 tinfoil: enable access to additional cached items Add access to fn_provides, packages, packages_dynamic and rproviders on the recipecache object. This requires an additional corresponding command plumbing to be added. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/command.py | 32 ++++++++++++++++++++++++++++++++ lib/bb/tinfoil.py | 8 ++++++++ 2 files changed, 40 insertions(+) diff --git a/lib/bb/command.py b/lib/bb/command.py index 05803d6..0e0a35a 100644 --- a/lib/bb/command.py +++ b/lib/bb/command.py @@ -312,6 +312,38 @@ class CommandsSync: return command.cooker.recipecaches[mc].pkg_pepvpr getRecipeVersions.readonly = True + def getRecipeProvides(self, command, params): + try: + mc = params[0] + except IndexError: + mc = '' + return command.cooker.recipecaches[mc].fn_provides + getRecipeProvides.readonly = True + + def getRecipePackages(self, command, params): + try: + mc = params[0] + except IndexError: + mc = '' + return command.cooker.recipecaches[mc].packages + getRecipePackages.readonly = True + + def getRecipePackagesDynamic(self, command, params): + try: + mc = params[0] + except IndexError: + mc = '' + return command.cooker.recipecaches[mc].packages_dynamic + getRecipePackagesDynamic.readonly = True + + def getRProviders(self, command, params): + try: + mc = params[0] + except IndexError: + mc = '' + return command.cooker.recipecaches[mc].rproviders + getRProviders.readonly = True + def getRuntimeDepends(self, command, params): ret = [] try: diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index 945bd4b..0176b76 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -173,6 +173,14 @@ class TinfoilCookerAdapter: attrvalue = self.tinfoil.run_command('getBbFilePriority') or {} elif name == 'pkg_dp': attrvalue = self.tinfoil.run_command('getDefaultPreference') or {} + elif name == 'fn_provides': + attrvalue = self.tinfoil.run_command('getRecipeProvides') or {} + elif name == 'packages': + attrvalue = self.tinfoil.run_command('getRecipePackages') or {} + elif name == 'packages_dynamic': + attrvalue = self.tinfoil.run_command('getRecipePackagesDynamic') or {} + elif name == 'rproviders': + attrvalue = self.tinfoil.run_command('getRProviders') or {} else: raise AttributeError("%s instance has no attribute '%s'" % (self.__class__.__name__, name)) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:40:30 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:40:30 +0000 Subject: [oe-commits] [bitbake] 16/18: fetch2: allow hiding checksum warning In-Reply-To: <150041401414.24889.15602779501327870580@git.openembedded.org> References: <150041401414.24889.15602779501327870580@git.openembedded.org> Message-ID: <20170718214014.A1DE02335A5@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 2c24d76cef8a8a4bda51b20ffb51f70d7fa309a9 Author: Paul Eggleton AuthorDate: Tue Jun 27 15:51:32 2017 +0100 fetch2: allow hiding checksum warning If BB_STRICT_CHECKSUMS is set to "ignore" then don't display a warning if no checksums are specified in the recipe. This is not intended to be used from recipes - it is needed when we move to using more standard code paths to fetch new files from scripts i.e. where we don't know what the checksums are in advance. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/fetch2/__init__.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/bb/fetch2/__init__.py b/lib/bb/fetch2/__init__.py index 5c02317..2e615b2 100644 --- a/lib/bb/fetch2/__init__.py +++ b/lib/bb/fetch2/__init__.py @@ -584,6 +584,12 @@ def verify_checksum(ud, d, precomputed={}): ud.sha256_name, sha256data)) raise NoChecksumError('Missing SRC_URI checksum', ud.url) + if strict == "ignore": + return { + _MD5_KEY: md5data, + _SHA256_KEY: sha256data + } + # Log missing sums so user can more easily add them logger.warning('Missing md5 SRC_URI checksum for %s, consider adding to the recipe:\n' 'SRC_URI[%s] = "%s"', -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:40:32 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:40:32 +0000 Subject: [oe-commits] [bitbake] 18/18: knotty: make it possible to use termfilter without consoles In-Reply-To: <150041401414.24889.15602779501327870580@git.openembedded.org> References: <150041401414.24889.15602779501327870580@git.openembedded.org> Message-ID: <20170718214014.B0AB52335A8@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 0bfee122336b86f71fe17bef50603bc8c1ac69ec Author: Paul Eggleton AuthorDate: Thu Jun 29 13:50:36 2017 +0100 knotty: make it possible to use termfilter without consoles This isn't useful for knotty itself, but for use from tinfoil in case we can't get access to either the console or errconsole, allow either to be unspecified (None). Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/ui/knotty.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/bb/ui/knotty.py b/lib/bb/ui/knotty.py index c301982..f3900bd 100644 --- a/lib/bb/ui/knotty.py +++ b/lib/bb/ui/knotty.py @@ -207,8 +207,10 @@ class TerminalFilter(object): self.interactive = False bb.note("Unable to use interactive mode for this terminal, using fallback") return - console.addFilter(InteractConsoleLogFilter(self, format)) - errconsole.addFilter(InteractConsoleLogFilter(self, format)) + if console: + console.addFilter(InteractConsoleLogFilter(self, format)) + if errconsole: + errconsole.addFilter(InteractConsoleLogFilter(self, format)) self.main_progress = None -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:40:29 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:40:29 +0000 Subject: [oe-commits] [bitbake] 15/18: tinfoil: add more doc comments In-Reply-To: <150041401414.24889.15602779501327870580@git.openembedded.org> References: <150041401414.24889.15602779501327870580@git.openembedded.org> Message-ID: <20170718214014.9C5D32335A3@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit dfd15d7c14ab95a1728b4fc4482414619ede0a9e Author: Paul Eggleton AuthorDate: Thu Jun 15 15:23:56 2017 +0200 tinfoil: add more doc comments Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/tinfoil.py | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index 960468e..f84a08f 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -55,6 +55,7 @@ class TinfoilCommandFailed(Exception): """Exception raised when run_command fails""" class TinfoilDataStoreConnector: + """Connector object used to enable access to datastore objects via tinfoil""" def __init__(self, tinfoil, dsindex): self.tinfoil = tinfoil @@ -294,8 +295,25 @@ class TinfoilRecipeInfo: class Tinfoil: + """ + Tinfoil - an API for scripts and utilities to query + BitBake internals and perform build operations. + """ def __init__(self, output=sys.stdout, tracking=False, setup_logging=True): + """ + Create a new tinfoil object. + Parameters: + output: specifies where console output should be sent. Defaults + to sys.stdout. + tracking: True to enable variable history tracking, False to + disable it (default). Enabling this has a minor + performance impact so typically it isn't enabled + unless you need to query variable history. + setup_logging: True to setup a logger so that things like + bb.warn() will work immediately and timeout warnings + are visible; False to let BitBake do this itself. + """ self.logger = logging.getLogger('BitBake') self.config_data = None self.cooker = None @@ -316,6 +334,37 @@ class Tinfoil: self.shutdown() def prepare(self, config_only=False, config_params=None, quiet=0, extra_features=None): + """ + Prepares the underlying BitBake system to be used via tinfoil. + This function must be called prior to calling any of the other + functions in the API. + NOTE: if you call prepare() you must absolutely call shutdown() + before your code terminates. You can use a "with" block to ensure + this happens e.g. + + with bb.tinfoil.Tinfoil() as tinfoil: + tinfoil.prepare() + ... + + Parameters: + config_only: True to read only the configuration and not load + the cache / parse recipes. This is useful if you just + want to query the value of a variable at the global + level or you want to do anything else that doesn't + involve knowing anything about the recipes in the + current configuration. False loads the cache / parses + recipes. + config_params: optionally specify your own configuration + parameters. If not specified an instance of + TinfoilConfigParameters will be created internally. + quiet: quiet level controlling console output - equivalent + to bitbake's -q/--quiet option. Default of 0 gives + the same output level as normal bitbake execution. + extra_features: extra features to be added to the feature + set requested from the server. See + CookerFeatures._feature_list for possible + features. + """ self.quiet = quiet if self.tracking: @@ -440,9 +489,16 @@ class Tinfoil: return self.server_connection.events.waitEvent(timeout) def get_overlayed_recipes(self): + """ + Find recipes which are overlayed (i.e. where recipes exist in multiple layers) + """ return defaultdict(list, self.run_command('getOverlayedRecipes')) def get_skipped_recipes(self): + """ + Find recipes which were skipped (i.e. SkipRecipe was raised + during parsing). + """ return OrderedDict(self.run_command('getSkippedRecipes')) def get_all_providers(self): @@ -475,6 +531,9 @@ class Tinfoil: return best[3] def get_file_appends(self, fn): + """ + Find the bbappends for a recipe file + """ return self.run_command('getFileAppends', fn) def all_recipes(self, mc='', sort=True): @@ -740,6 +799,12 @@ class Tinfoil: return ret def shutdown(self): + """ + Shut down tinfoil. Disconnects from the server and gracefully + releases any associated resources. You must call this function if + prepare() has been called, or use a with... block when you create + the tinfoil object which will ensure that it gets called. + """ if self.server_connection: self.run_command('clientComplete') _server_connections.remove(self.server_connection) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:40:31 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:40:31 +0000 Subject: [oe-commits] [bitbake] 17/18: fetch2: fire an event when there are missing checksums In-Reply-To: <150041401414.24889.15602779501327870580@git.openembedded.org> References: <150041401414.24889.15602779501327870580@git.openembedded.org> Message-ID: <20170718214014.A7A802335A6@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit f57dfd3e3b59a4554ef6eed5bba3e43d55d43c7b Author: Paul Eggleton AuthorDate: Tue Jun 27 15:54:37 2017 +0100 fetch2: fire an event when there are missing checksums If BB_STRICT_CHECKSUMS is set to anything other than "1" i.e. we're not going to raise an error, then fire an event so that scripts can listen for it and get the checksums. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/fetch2/__init__.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/bb/fetch2/__init__.py b/lib/bb/fetch2/__init__.py index 2e615b2..74ba37f 100644 --- a/lib/bb/fetch2/__init__.py +++ b/lib/bb/fetch2/__init__.py @@ -39,6 +39,7 @@ import errno import bb.persist_data, bb.utils import bb.checksum import bb.process +import bb.event __version__ = "2" _checksum_cache = bb.checksum.FileChecksumCache() @@ -142,6 +143,13 @@ class NonLocalMethod(Exception): def __init__(self): Exception.__init__(self) +class MissingChecksumEvent(bb.event.Event): + def __init__(self, url, md5sum, sha256sum): + self.url = url + self.checksums = {'md5sum': md5sum, + 'sha256sum': sha256sum} + bb.event.Event.__init__(self) + class URI(object): """ @@ -584,6 +592,8 @@ def verify_checksum(ud, d, precomputed={}): ud.sha256_name, sha256data)) raise NoChecksumError('Missing SRC_URI checksum', ud.url) + bb.event.fire(MissingChecksumEvent(ud.url, md5data, sha256data), d) + if strict == "ignore": return { _MD5_KEY: md5data, -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:44:09 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:44:09 +0000 Subject: [oe-commits] [bitbake] 02/14: cookerdata/cooker: Restore original datastore upon client disconnect In-Reply-To: <150041424764.25920.24736474911688395@git.openembedded.org> References: <150041424764.25920.24736474911688395@git.openembedded.org> Message-ID: <20170718214407.C2C5323357E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 573b47314563eb36db2995162e955cc21c299161 Author: Richard Purdie AuthorDate: Tue Jul 18 17:50:24 2017 +0100 cookerdata/cooker: Restore original datastore upon client disconnect Signed-off-by: Richard Purdie --- lib/bb/cooker.py | 2 ++ lib/bb/cookerdata.py | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py index e27763e..daffe67 100644 --- a/lib/bb/cooker.py +++ b/lib/bb/cooker.py @@ -1566,6 +1566,8 @@ class BBCooker: def clientComplete(self): """Called when the client is done using the server""" self.finishcommand() + self.databuilder.reset() + self.data = self.databuilder.data def server_main(cooker, func, *args): cooker.pre_serve() diff --git a/lib/bb/cookerdata.py b/lib/bb/cookerdata.py index d05abfe..b3a3f04 100644 --- a/lib/bb/cookerdata.py +++ b/lib/bb/cookerdata.py @@ -328,6 +328,13 @@ class CookerDataBuilder(object): logger.exception("Error parsing configuration files") raise bb.BBHandledException + # Create a copy so we can reset at a later date when UIs disconnect + self.origdata = self.data + self.data = bb.data.createCopy(self.origdata) + + def reset(self): + self.data = bb.data.createCopy(self.origdata) + def _findLayerConf(self, data): return findConfigFile("bblayers.conf", data) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:44:07 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:44:07 +0000 Subject: [oe-commits] [bitbake] branch master-next updated (0bfee12 -> 25239c4) Message-ID: <150041424764.25920.24736474911688395@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master-next in repository bitbake. discard 0bfee12 knotty: make it possible to use termfilter without consoles discard f57dfd3 fetch2: fire an event when there are missing checksums discard 2c24d76 fetch2: allow hiding checksum warning discard dfd15d7 tinfoil: add more doc comments discard b2573aa tinfoil: add simple API for getting cached recipe information discard 9112540 tinfoil: enable access to additional cached items discard ecb0fd8 tinfoil: add functionality for running full builds discard a6c80f6 lib/bb/ui/uihelper: indicate to caller of eventHandler() if events handled discard ac51839 lib/bb/event: refactor printing events discard 21e7199 tinfoil: set a flag when recipes have been parsed discard b3b999a tinfoil: add a parse_recipes() function discard 4b0d418 tinfoil: add internal mode to build_file() function discard 10ebb56 cookerdata/cooker: Restore original datastore upon client disconnect discard 758831d server: Rework the server API so process and xmlrpc servers coexist new c0a1cf2 server: Rework the server API so process and xmlrpc servers coexist new 573b473 cookerdata/cooker: Restore original datastore upon client disconnect new 1268c7d tinfoil: add internal mode to build_file() function new 85bb41d tinfoil: add a parse_recipes() function new 6231140 tinfoil: set a flag when recipes have been parsed new de45f4b lib/bb/event: refactor printing events new e54904f lib/bb/ui/uihelper: indicate to caller of eventHandler() if events handled new d4fa7ac tinfoil: add functionality for running full builds new 14b06cc tinfoil: enable access to additional cached items new f5f06c4 tinfoil: add simple API for getting cached recipe information new 9901b58 tinfoil: add more doc comments new b0c23d1 fetch2: allow hiding checksum warning new ad98456 fetch2: fire an event when there are missing checksums new 25239c4 knotty: make it possible to use termfilter without consoles This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (0bfee12) \ N -- N -- N refs/heads/master-next (25239c4) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 14 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: lib/bb/server/process.py.orig | 323 ------------------------------------------ 1 file changed, 323 deletions(-) delete mode 100644 lib/bb/server/process.py.orig -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:44:11 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:44:11 +0000 Subject: [oe-commits] [bitbake] 04/14: tinfoil: add a parse_recipes() function In-Reply-To: <150041424764.25920.24736474911688395@git.openembedded.org> References: <150041424764.25920.24736474911688395@git.openembedded.org> Message-ID: <20170718214407.D5D3C2335A0@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 85bb41dc9f4ae8c3135ecd908bf776cd98db709f Author: Paul Eggleton AuthorDate: Wed May 17 17:10:35 2017 +1200 tinfoil: add a parse_recipes() function Python style recommends underscore based naming rather than camelCase, and thus the former has been used for most of tinfoil's functions. Add an underscored version of parseRecipes() for consistency and change the one place we call it to use the new version. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- bin/bitbake-layers | 2 +- lib/bb/tinfoil.py | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/bin/bitbake-layers b/bin/bitbake-layers index 04e6bec..d184011 100755 --- a/bin/bitbake-layers +++ b/bin/bitbake-layers @@ -90,7 +90,7 @@ def main(): if getattr(args, 'parserecipes', False): tinfoil.config_data.disableTracking() - tinfoil.parseRecipes() + tinfoil.parse_recipes() tinfoil.config_data.enableTracking() return args.func(args) diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index 65ebdc2..ddc7b06 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -289,7 +289,13 @@ class Tinfoil: def parseRecipes(self): """ - Force a parse of all recipes. Normally you should specify + Legacy function - use parse_recipes() instead. + """ + self.parse_recipes() + + def parse_recipes(self): + """ + Load information on all recipes. Normally you should specify config_only=False when calling prepare() instead of using this function; this function is designed for situations where you need to initialise Tinfoil and use it with config_only=True first and -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:44:10 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:44:10 +0000 Subject: [oe-commits] [bitbake] 03/14: tinfoil: add internal mode to build_file() function In-Reply-To: <150041424764.25920.24736474911688395@git.openembedded.org> References: <150041424764.25920.24736474911688395@git.openembedded.org> Message-ID: <20170718214407.CF06F23359F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 1268c7de4c421ebcaeab33d847aaac213aeafe97 Author: Paul Eggleton AuthorDate: Tue May 16 15:50:45 2017 +1200 tinfoil: add internal mode to build_file() function In OE's devtool we want to repeatedly run build_file() without showing unnecessary messages and triggering buildhistory for each call. build_file() is just a wrapper around the buildFile command. Change the final "hidewarning" parameter of the buildFile command to "internal" and have this call a new buildFileInternal() function without triggering any of the normal build events, silencing the normal info messages from the runqueue ("Executing RunQueue Tasks", "Tasks Summary" etc.) and avoiding calling parseConfiguration() which we've already done at this point. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/command.py | 9 ++++++--- lib/bb/cooker.py | 34 +++++++++++++++++++++++++--------- lib/bb/tinfoil.py | 9 ++++++--- 3 files changed, 37 insertions(+), 15 deletions(-) diff --git a/lib/bb/command.py b/lib/bb/command.py index eb7c86f..c06ab07 100644 --- a/lib/bb/command.py +++ b/lib/bb/command.py @@ -548,11 +548,14 @@ class CommandsAsync: bfile = params[0] task = params[1] if len(params) > 2: - hidewarning = params[2] + internal = params[2] else: - hidewarning = False + internal = False - command.cooker.buildFile(bfile, task, hidewarning) + if internal: + command.cooker.buildFileInternal(bfile, task, fireevents=False, quietlog=True) + else: + command.cooker.buildFile(bfile, task) buildFile.needcache = False def buildTargets(self, command, params): diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py index daffe67..1625d3c 100644 --- a/lib/bb/cooker.py +++ b/lib/bb/cooker.py @@ -1219,21 +1219,27 @@ class BBCooker: raise NoSpecificMatch return matches[0] - def buildFile(self, buildfile, task, hidewarning=False): + def buildFile(self, buildfile, task): """ Build the file matching regexp buildfile """ bb.event.fire(bb.event.BuildInit(), self.data) - if not hidewarning: - # Too many people use -b because they think it's how you normally - # specify a target to be built, so show a warning - bb.warn("Buildfile specified, dependencies will not be handled. If this is not what you want, do not use -b / --buildfile.") + # Too many people use -b because they think it's how you normally + # specify a target to be built, so show a warning + bb.warn("Buildfile specified, dependencies will not be handled. If this is not what you want, do not use -b / --buildfile.") # Parse the configuration here. We need to do it explicitly here since # buildFile() doesn't use the cache self.parseConfiguration() + self.buildFileInternal(buildfile, task) + + def buildFileInternal(self, buildfile, task, fireevents=True, quietlog=False): + """ + Build the file matching regexp buildfile + """ + # If we are told to do the None task then query the default task if (task == None): task = self.configuration.cmd @@ -1270,8 +1276,8 @@ class BBCooker: # Remove external dependencies self.recipecaches[mc].task_deps[fn]['depends'] = {} self.recipecaches[mc].deps[fn] = [] - self.recipecaches[mc].rundeps[fn] = [] - self.recipecaches[mc].runrecs[fn] = [] + self.recipecaches[mc].rundeps[fn] = defaultdict(list) + self.recipecaches[mc].runrecs[fn] = defaultdict(list) # Invalidate task for target if force mode active if self.configuration.force: @@ -1283,8 +1289,13 @@ class BBCooker: taskdata[mc] = bb.taskdata.TaskData(self.configuration.abort) taskdata[mc].add_provider(self.databuilder.mcdata[mc], self.recipecaches[mc], item) + if quietlog: + rqloglevel = bb.runqueue.logger.getEffectiveLevel() + bb.runqueue.logger.setLevel(logging.WARNING) + buildname = self.databuilder.mcdata[mc].getVar("BUILDNAME") - bb.event.fire(bb.event.BuildStarted(buildname, [item]), self.databuilder.mcdata[mc]) + if fireevents: + bb.event.fire(bb.event.BuildStarted(buildname, [item]), self.databuilder.mcdata[mc]) # Execute the runqueue runlist = [[mc, item, task, fn]] @@ -1311,11 +1322,16 @@ class BBCooker: retval = False except SystemExit as exc: self.command.finishAsyncCommand(str(exc)) + if quietlog: + bb.runqueue.logger.setLevel(rqloglevel) return False if not retval: - bb.event.fire(bb.event.BuildCompleted(len(rq.rqdata.runtaskentries), buildname, item, failures, interrupted), self.databuilder.mcdata[mc]) + if fireevents: + bb.event.fire(bb.event.BuildCompleted(len(rq.rqdata.runtaskentries), buildname, item, failures, interrupted), self.databuilder.mcdata[mc]) self.command.finishAsyncCommand(msg) + if quietlog: + bb.runqueue.logger.setLevel(rqloglevel) return False if retval is True: return True diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index 303ce02..65ebdc2 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -415,12 +415,15 @@ class Tinfoil: else: return None - def build_file(self, buildfile, task): + def build_file(self, buildfile, task, internal=True): """ Runs the specified task for just a single recipe (i.e. no dependencies). - This is equivalent to bitbake -b, except no warning will be printed. + This is equivalent to bitbake -b, except with the default internal=True + no warning about dependencies will be produced, normal info messages + from the runqueue will be silenced and BuildInit, BuildStarted and + BuildCompleted events will not be fired. """ - return self.run_command('buildFile', buildfile, task, True) + return self.run_command('buildFile', buildfile, task, internal) def shutdown(self): if self.server_connection: -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:44:08 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:44:08 +0000 Subject: [oe-commits] [bitbake] 01/14: server: Rework the server API so process and xmlrpc servers coexist In-Reply-To: <150041424764.25920.24736474911688395@git.openembedded.org> References: <150041424764.25920.24736474911688395@git.openembedded.org> Message-ID: <20170718214407.B956623357A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit c0a1cf2fe9b85dd9681f8fa36bd942d34976d6ca Author: Richard Purdie AuthorDate: Tue Jul 18 22:28:40 2017 +0100 server: Rework the server API so process and xmlrpc servers coexist This changes the way bitbake server works quite radically. Now, the server is always a process based server with the option of starting an XMLRPC listener on a specific inferface/port. Behind the scenes this is done with a "bitbake.sock" file alongside the bitbake.lock file. If we can obtain the lock, we know we need to start a server. The server always listens on the socket and UIs can then connect to this. UIs connect by sending a set of three file descriptors over the domain socket, one for sending commands, one for receiving command results and the other for receiving events. These changes meant we can throw away all the horrid server abstraction code, the plugable transport option to bitbake and the code becomes much more readable and debuggable. It also likely removes a ton of ways you could hang the UI/cooker in weird ways due to all the race conditions that existed with previous processes. Changes: * The foreground option for bitbake-server was dropped. Just tail the log if you really want this, the codepaths were complicated enough without adding one for this. * BBSERVER="autodetect" was dropped. The server will autostart and autoconnect in process mode. You have to specify an xmlrpc server address since that can't be autodetected. I can't see a use case for autodetect now. * The transport/servetype option to bitbake was dropped. * A BB_SERVER_TIMEOUT variable is added which allows the server to stay resident for a period of time after the last client disconnects before unloading. This is used if the -T/--idle-timeout option is not passed to bitbake. This change is invasive and may well introduce new issues however I believe the codebase is in a much better position for further development and debugging. Signed-off-by: Richard Purdie --- lib/bb/cooker.py | 58 +---- lib/bb/cookerdata.py | 5 +- lib/bb/main.py | 224 +++++----------- lib/bb/server/__init__.py | 6 - lib/bb/server/process.py | 592 +++++++++++++++++++++++++++--------------- lib/bb/server/xmlrpc.py | 492 ----------------------------------- lib/bb/server/xmlrpcclient.py | 154 +++++++++++ lib/bb/server/xmlrpcserver.py | 158 +++++++++++ lib/bb/tinfoil.py | 2 +- lib/prserv/serv.py | 4 +- 10 files changed, 779 insertions(+), 916 deletions(-) diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py index b1311bb..e27763e 100644 --- a/lib/bb/cooker.py +++ b/lib/bb/cooker.py @@ -215,19 +215,6 @@ class BBCooker: self.configuration.server_register_idlecallback(_process_inotify_updates, [self.confignotifier, self.notifier]) - # Take a lock so only one copy of bitbake can run against a given build - # directory at a time - if not self.lockBitbake(): - bb.fatal("Only one copy of bitbake should be run against a build directory") - try: - self.lock.seek(0) - self.lock.truncate() - if len(configuration.interface) >= 2: - self.lock.write("%s:%s\n" % (configuration.interface[0], configuration.interface[1])); - self.lock.flush() - except: - pass - # TOSTOP must not be set or our children will hang when they output try: fd = sys.stdout.fileno() @@ -1557,33 +1544,6 @@ class BBCooker: def post_serve(self): prserv.serv.auto_shutdown(self.data) bb.event.fire(CookerExit(), self.data) - lockfile = self.lock.name - self.lock.close() - self.lock = None - - while not self.lock: - with bb.utils.timeout(3): - self.lock = bb.utils.lockfile(lockfile, shared=False, retry=False, block=True) - if not self.lock: - # Some systems may not have lsof available - procs = None - try: - procs = subprocess.check_output(["lsof", '-w', lockfile], stderr=subprocess.STDOUT) - except OSError as e: - if e.errno != errno.ENOENT: - raise - if procs is None: - # Fall back to fuser if lsof is unavailable - try: - procs = subprocess.check_output(["fuser", '-v', lockfile], stderr=subprocess.STDOUT) - except OSError as e: - if e.errno != errno.ENOENT: - raise - - msg = "Delaying shutdown due to active processes which appear to be holding bitbake.lock" - if procs: - msg += ":\n%s" % str(procs) - print(msg) def shutdown(self, force = False): @@ -1605,23 +1565,7 @@ class BBCooker: def clientComplete(self): """Called when the client is done using the server""" - if self.configuration.server_only: - self.finishcommand() - else: - self.shutdown(True) - - def lockBitbake(self): - if not hasattr(self, 'lock'): - self.lock = None - if self.data: - lockfile = self.data.expand("${TOPDIR}/bitbake.lock") - if lockfile: - self.lock = bb.utils.lockfile(lockfile, False, False) - return self.lock - - def unlockBitbake(self): - if hasattr(self, 'lock') and self.lock: - bb.utils.unlockfile(self.lock) + self.finishcommand() def server_main(cooker, func, *args): cooker.pre_serve() diff --git a/lib/bb/cookerdata.py b/lib/bb/cookerdata.py index 6511dcb..d05abfe 100644 --- a/lib/bb/cookerdata.py +++ b/lib/bb/cookerdata.py @@ -76,7 +76,7 @@ class ConfigParameters(object): for o in ["abort", "tryaltconfigs", "force", "invalidate_stamp", "verbose", "debug", "dry_run", "dump_signatures", "debug_domains", "extra_assume_provided", "profile", - "prefile", "postfile", "tracking"]: + "prefile", "postfile", "tracking", "server_timeout"]: options[o] = getattr(self.options, o) ret, error = server.runCommand(["updateConfig", options, environment, sys.argv]) @@ -144,7 +144,8 @@ class CookerConfiguration(object): self.dump_signatures = [] self.dry_run = False self.tracking = False - self.interface = [] + self.xmlrpcinterface = [] + self.server_timeout = None self.writeeventlog = False self.server_only = False self.limited_deps = False diff --git a/lib/bb/main.py b/lib/bb/main.py index 29e3911..8033519 100755 --- a/lib/bb/main.py +++ b/lib/bb/main.py @@ -28,6 +28,8 @@ import logging import optparse import warnings import fcntl +import time +import traceback import bb from bb import event @@ -37,6 +39,9 @@ from bb import ui from bb import server from bb import cookerdata +import bb.server.process +import bb.server.xmlrpcclient + logger = logging.getLogger("BitBake") class BBMainException(Exception): @@ -58,9 +63,6 @@ class BitbakeHelpFormatter(optparse.IndentedHelpFormatter): if option.dest == 'ui': valid_uis = list_extension_modules(bb.ui, 'main') option.help = option.help.replace('@CHOICES@', present_options(valid_uis)) - elif option.dest == 'servertype': - valid_server_types = list_extension_modules(bb.server, 'BitBakeServer') - option.help = option.help.replace('@CHOICES@', present_options(valid_server_types)) return optparse.IndentedHelpFormatter.format_option(self, option) @@ -238,11 +240,6 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters): default=os.environ.get('BITBAKE_UI', 'knotty'), help="The user interface to use (@CHOICES@ - default %default).") - # @CHOICES@ is substituted out by BitbakeHelpFormatter above - parser.add_option("-t", "--servertype", action="store", dest="servertype", - default=["process", "xmlrpc"]["BBSERVER" in os.environ], - help="Choose which server type to use (@CHOICES@ - default %default).") - parser.add_option("", "--token", action="store", dest="xmlrpctoken", default=os.environ.get("BBTOKEN"), help="Specify the connection token to be used when connecting " @@ -258,14 +255,11 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters): help="Run bitbake without a UI, only starting a server " "(cooker) process.") - parser.add_option("", "--foreground", action="store_true", - help="Run bitbake server in foreground.") - parser.add_option("-B", "--bind", action="store", dest="bind", default=False, - help="The name/address for the bitbake server to bind to.") + help="The name/address for the bitbake xmlrpc server to bind to.") - parser.add_option("-T", "--idle-timeout", type=int, - default=int(os.environ.get("BBTIMEOUT", "0")), + parser.add_option("-T", "--idle-timeout", type=float, dest="server_timeout", + default=float(os.environ.get("BB_SERVER_TIMEOUT", 0)) or None, help="Set timeout to unload bitbake server due to inactivity") parser.add_option("", "--no-setscene", action="store_true", @@ -283,7 +277,7 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters): parser.add_option("-m", "--kill-server", action="store_true", dest="kill_server", default=False, - help="Terminate the remote server.") + help="Terminate the bitbake server.") parser.add_option("", "--observe-only", action="store_true", dest="observe_only", default=False, @@ -322,70 +316,20 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters): eventlog = "bitbake_eventlog_%s.json" % datetime.now().strftime("%Y%m%d%H%M%S") options.writeeventlog = eventlog - # if BBSERVER says to autodetect, let's do that - if options.remote_server: - port = -1 - if options.remote_server != 'autostart': - host, port = options.remote_server.split(":", 2) + if options.bind: + try: + #Checking that the port is a number and is a ':' delimited value + (host, port) = options.bind.split(':') port = int(port) - # use automatic port if port set to -1, means read it from - # the bitbake.lock file; this is a bit tricky, but we always expect - # to be in the base of the build directory if we need to have a - # chance to start the server later, anyway - if port == -1: - lock_location = "./bitbake.lock" - # we try to read the address at all times; if the server is not started, - # we'll try to start it after the first connect fails, below - try: - lf = open(lock_location, 'r') - remotedef = lf.readline() - [host, port] = remotedef.split(":") - port = int(port) - lf.close() - options.remote_server = remotedef - except Exception as e: - if options.remote_server != 'autostart': - raise BBMainException("Failed to read bitbake.lock (%s), invalid port" % str(e)) + except (ValueError,IndexError): + raise BBMainException("FATAL: Malformed host:port bind parameter") + options.xmlrpcinterface = (host, port) + else: + options.xmlrpcinterface = (None, 0) return options, targets[1:] -def start_server(servermodule, configParams, configuration, features): - server = servermodule.BitBakeServer() - single_use = not configParams.server_only and os.getenv('BBSERVER') != 'autostart' - if configParams.bind: - (host, port) = configParams.bind.split(':') - server.initServer((host, int(port)), single_use=single_use, - idle_timeout=configParams.idle_timeout) - configuration.interface = [server.serverImpl.host, server.serverImpl.port] - else: - server.initServer(single_use=single_use) - configuration.interface = [] - - try: - configuration.setServerRegIdleCallback(server.getServerIdleCB()) - - cooker = bb.cooker.BBCooker(configuration, features) - - server.addcooker(cooker) - server.saveConnectionDetails() - except Exception as e: - while hasattr(server, "event_queue"): - import queue - try: - event = server.event_queue.get(block=False) - except (queue.Empty, IOError): - break - if isinstance(event, logging.LogRecord): - logger.handle(event) - raise - if not configParams.foreground: - server.detach() - cooker.shutdown() - cooker.lock.close() - return server - - def bitbake_main(configParams, configuration): # Python multiprocessing requires /dev/shm on Linux @@ -406,45 +350,15 @@ def bitbake_main(configParams, configuration): configuration.setConfigParameters(configParams) - if configParams.server_only: - if configParams.servertype != "xmlrpc": - raise BBMainException("FATAL: If '--server-only' is defined, we must set the " - "servertype as 'xmlrpc'.\n") - if not configParams.bind: - raise BBMainException("FATAL: The '--server-only' option requires a name/address " - "to bind to with the -B option.\n") - else: - try: - #Checking that the port is a number - int(configParams.bind.split(":")[1]) - except (ValueError,IndexError): - raise BBMainException( - "FATAL: Malformed host:port bind parameter") - if configParams.remote_server: + if configParams.server_only and configParams.remote_server: raise BBMainException("FATAL: The '--server-only' option conflicts with %s.\n" % ("the BBSERVER environment variable" if "BBSERVER" in os.environ \ else "the '--remote-server' option")) - elif configParams.foreground: - raise BBMainException("FATAL: The '--foreground' option can only be used " - "with --server-only.\n") - - if configParams.bind and configParams.servertype != "xmlrpc": - raise BBMainException("FATAL: If '-B' or '--bind' is defined, we must " - "set the servertype as 'xmlrpc'.\n") - - if configParams.remote_server and configParams.servertype != "xmlrpc": - raise BBMainException("FATAL: If '--remote-server' is defined, we must " - "set the servertype as 'xmlrpc'.\n") - if configParams.observe_only and (not configParams.remote_server or configParams.bind): raise BBMainException("FATAL: '--observe-only' can only be used by UI clients " "connecting to a server.\n") - if configParams.kill_server and not configParams.remote_server: - raise BBMainException("FATAL: '--kill-server' can only be used to " - "terminate a remote server") - if "BBDEBUG" in os.environ: level = int(os.environ["BBDEBUG"]) if level > configuration.debug: @@ -453,7 +367,7 @@ def bitbake_main(configParams, configuration): bb.msg.init_msgconfig(configParams.verbose, configuration.debug, configuration.debug_domains) - server, server_connection, ui_module = setup_bitbake(configParams, configuration) + server_connection, ui_module = setup_bitbake(configParams, configuration) if server_connection is None and configParams.kill_server: return 0 @@ -463,16 +377,15 @@ def bitbake_main(configParams, configuration): return 0 try: + for event in bb.event.ui_queue: + server_connection.events.queue_event(event) + bb.event.ui_queue = [] + return ui_module.main(server_connection.connection, server_connection.events, configParams) finally: - bb.event.ui_queue = [] server_connection.terminate() else: - print("Bitbake server address: %s, server port: %s" % (server.serverImpl.host, - server.serverImpl.port)) - if configParams.foreground: - server.serverImpl.serve_forever() return 0 return 1 @@ -495,58 +408,63 @@ def setup_bitbake(configParams, configuration, extrafeatures=None, setup_logging # Collect the feature set for the UI featureset = getattr(ui_module, "featureSet", []) - if configParams.server_only: - for param in ('prefile', 'postfile'): - value = getattr(configParams, param) - if value: - setattr(configuration, "%s_server" % param, value) - param = "%s_server" % param - if extrafeatures: for feature in extrafeatures: if not feature in featureset: featureset.append(feature) - servermodule = import_extension_module(bb.server, - configParams.servertype, - 'BitBakeServer') + server_connection = None + if configParams.remote_server: - if os.getenv('BBSERVER') == 'autostart': - if configParams.remote_server == 'autostart' or \ - not servermodule.check_connection(configParams.remote_server, timeout=2): - configParams.bind = 'localhost:0' - srv = start_server(servermodule, configParams, configuration, featureset) - configParams.remote_server = '%s:%d' % tuple(configuration.interface) - bb.event.ui_queue = [] - # we start a stub server that is actually a XMLRPClient that connects to a real server - from bb.server.xmlrpc import BitBakeXMLRPCClient - server = servermodule.BitBakeXMLRPCClient(configParams.observe_only, - configParams.xmlrpctoken) - server.saveConnectionDetails(configParams.remote_server) + # Connect to a remote XMLRPC server + server_connection = bb.server.xmlrpcclient.connectXMLRPC(configParams.remote_server, featureset, + configParams.observe_only, configParams.xmlrpctoken) else: - # we start a server with a given configuration - server = start_server(servermodule, configParams, configuration, featureset) + retries = 8 + while retries: + try: + topdir, lock = lockBitbake() + sockname = topdir + "/bitbake.sock" + if lock: + # we start a server with a given configuration + print("Starting bitbake server...") + server = bb.server.process.BitBakeServer(lock, sockname, configuration, featureset) + else: + print("Reconnecting to bitbake server...") + if not os.path.exists(sockname): + print("Previous bitbake instance shutting down?, waiting to retry...") + time.sleep(5) + raise bb.server.process.ProcessTimeout + if not configParams.server_only: + server_connection = bb.server.process.connectProcessServer(sockname, featureset) + if server_connection: + break + except Exception as e: + if not retries: + raise + retries -= 1 + print("Retrying server connection... (%s)" % traceback.format_exc()) + if not retries: + raise bb.server.process.ProcessTimeout("Unable to connect to bitbake server, or start one") + + + if configParams.kill_server: + server_connection.connection.terminateServer() + server_connection.terminate() bb.event.ui_queue = [] + print("Terminated bitbake server.") + return None, None - if configParams.server_only: - server_connection = None - else: - try: - server_connection = server.establishConnection(featureset) - except Exception as e: - bb.fatal("Could not connect to server %s: %s" % (configParams.remote_server, str(e))) - - if configParams.kill_server: - server_connection.connection.terminateServer() - bb.event.ui_queue = [] - return None, None, None + # Restore the environment in case the UI needs it + for k in cleanedvars: + os.environ[k] = cleanedvars[k] - server_connection.setupEventQueue() + logger.removeHandler(handler) - # Restore the environment in case the UI needs it - for k in cleanedvars: - os.environ[k] = cleanedvars[k] + return server_connection, ui_module - logger.removeHandler(handler) +def lockBitbake(): + topdir = bb.cookerdata.findTopdir() + lockfile = topdir + "/bitbake.lock" + return topdir, bb.utils.lockfile(lockfile, False, False) - return server, server_connection, ui_module diff --git a/lib/bb/server/__init__.py b/lib/bb/server/__init__.py index 345691e..5a3fba9 100644 --- a/lib/bb/server/__init__.py +++ b/lib/bb/server/__init__.py @@ -18,10 +18,4 @@ # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -""" Base code for Bitbake server process - -Have a common base for that all Bitbake server classes ensures a consistent -approach to the interface, and minimize risks associated with code duplication. - -""" diff --git a/lib/bb/server/process.py b/lib/bb/server/process.py index 48da7fe..a1d9adc 100644 --- a/lib/bb/server/process.py +++ b/lib/bb/server/process.py @@ -22,128 +22,201 @@ import bb import bb.event -import itertools import logging import multiprocessing +import threading +import array import os -import signal import sys import time import select -from queue import Empty -from multiprocessing import Event, Process, util, Queue, Pipe, queues, Manager +import socket +import subprocess +import errno +import bb.server.xmlrpcserver +from bb import daemonize +from multiprocessing import queues logger = logging.getLogger('BitBake') -class ServerCommunicator(): - def __init__(self, connection, event_handle, server): - self.connection = connection - self.event_handle = event_handle - self.server = server - - def runCommand(self, command): - # @todo try/except - self.connection.send(command) - - if not self.server.is_alive(): - raise SystemExit - - while True: - # don't let the user ctrl-c while we're waiting for a response - try: - for idx in range(0,4): # 0, 1, 2, 3 - if self.connection.poll(5): - return self.connection.recv() - else: - bb.warn("Timeout while attempting to communicate with bitbake server") - bb.fatal("Gave up; Too many tries: timeout while attempting to communicate with bitbake server") - except KeyboardInterrupt: - pass - - def getEventHandle(self): - handle, error = self.runCommand(["getUIHandlerNum"]) - if error: - logger.error("Unable to get UI Handler Number: %s" % error) - raise BaseException(error) +class ProcessTimeout(SystemExit): + pass - return handle - -class EventAdapter(): - """ - Adapter to wrap our event queue since the caller (bb.event) expects to - call a send() method, but our actual queue only has put() - """ - def __init__(self, queue): - self.queue = queue - - def send(self, event): - try: - self.queue.put(event) - except Exception as err: - print("EventAdapter puked: %s" % str(err)) - - -class ProcessServer(Process): +class ProcessServer(multiprocessing.Process): profile_filename = "profile.log" profile_processed_filename = "profile.log.processed" - def __init__(self, command_channel, event_queue, featurelist): - self._idlefuns = {} - Process.__init__(self) - self.command_channel = command_channel - self.event_queue = event_queue - self.event = EventAdapter(event_queue) - self.featurelist = featurelist + def __init__(self, lock, sock, sockname): + multiprocessing.Process.__init__(self) + self.command_channel = False + self.command_channel_reply = False self.quit = False self.heartbeat_seconds = 1 # default, BB_HEARTBEAT_EVENT will be checked once we have a datastore. self.next_heartbeat = time.time() - self.quitin, self.quitout = Pipe() - self.event_handle = multiprocessing.Value("i") + self.event_handle = None + self.haveui = False + self.lastui = False + self.xmlrpc = False + + self._idlefuns = {} + + self.bitbake_lock = lock + self.sock = sock + self.sockname = sockname + + def register_idle_function(self, function, data): + """Register a function to be called while the server is idle""" + assert hasattr(function, '__call__') + self._idlefuns[function] = data def run(self): - for event in bb.event.ui_queue: - self.event_queue.put(event) - self.event_handle.value = bb.event.register_UIHhandler(self, True) + + if self.xmlrpcinterface[0]: + self.xmlrpc = bb.server.xmlrpcserver.BitBakeXMLRPCServer(self.xmlrpcinterface, self.cooker, self) + + print("Bitbake XMLRPC server address: %s, server port: %s" % (self.xmlrpc.host, self.xmlrpc.port)) heartbeat_event = self.cooker.data.getVar('BB_HEARTBEAT_EVENT') if heartbeat_event: try: self.heartbeat_seconds = float(heartbeat_event) except: - # Throwing an exception here causes bitbake to hang. - # Just warn about the invalid setting and continue bb.warn('Ignoring invalid BB_HEARTBEAT_EVENT=%s, must be a float specifying seconds.' % heartbeat_event) + + self.timeout = self.server_timeout or self.cooker.data.getVar('BB_SERVER_TIMEOUT') + try: + if self.timeout: + self.timeout = float(self.timeout) + except: + bb.warn('Ignoring invalid BB_SERVER_TIMEOUT=%s, must be a float specifying seconds.' % self.timeout) + + + try: + self.bitbake_lock.seek(0) + self.bitbake_lock.truncate() + if self.xmlrpcinterface[0]: + self.bitbake_lock.write("%s %s:%s\n" % (os.getpid(), configuration.interface[0], configuration.interface[1])) + else: + self.bitbake_lock.write("%s\n" % (os.getpid())) + self.bitbake_lock.flush() + except: + pass + bb.cooker.server_main(self.cooker, self.main) def main(self): - # Ignore SIGINT within the server, as all SIGINT handling is done by - # the UI and communicated to us - self.quitin.close() - signal.signal(signal.SIGINT, signal.SIG_IGN) bb.utils.set_process_name("Cooker") + + ready = [] + + self.controllersock = False + fds = [self.sock] + if self.xmlrpc: + fds.append(self.xmlrpc) while not self.quit: - try: - if self.command_channel.poll(): - command = self.command_channel.recv() - self.runCommand(command) - if self.quitout.poll(): - self.quitout.recv() + if self.command_channel in ready: + command = self.command_channel.get() + if command[0] == "terminateServer": self.quit = True - try: - self.runCommand(["stateForceShutdown"]) - except: - pass - - self.idle_commands(.1, [self.command_channel, self.quitout]) - except Exception: - logger.exception('Running command %s', command) + continue + try: + print("Running command %s" % command) + self.command_channel_reply.send(self.cooker.command.runCommand(command)) + except Exception as e: + logger.exception('Exception in server main event loop running command %s (%s)' % (command, str(e))) + + if self.xmlrpc in ready: + self.xmlrpc.handle_requests() + if self.sock in ready: + print("Accepting %s" % (str(ready))) + self.controllersock, address = self.sock.accept() + fds.append(self.controllersock) + if self.controllersock in ready: + try: + print("Connecting Client") + ui_fds = recvfds(self.controllersock, 3) + + # Where to write events to + writer = ConnectionWriter(ui_fds[0]) + self.event_handle = bb.event.register_UIHhandler(writer, True) + self.event_writer = writer + + # Where to read commands from + reader = ConnectionReader(ui_fds[1]) + fds.append(reader) + self.command_channel = reader + + # Where to send command return values to + writer = ConnectionWriter(ui_fds[2]) + self.command_channel_reply = writer + + self.haveui = True + + except EOFError: + print("Disconnecting Client") + fds.remove(self.controllersock) + fds.remove(self.command_channel) + bb.event.unregister_UIHhandler(self.event_handle, True) + self.command_channel_reply.writer.close() + self.event_writer.writer.close() + del self.event_writer + self.controllersock.close() + self.haveui = False + self.lastui = time.time() + self.cooker.clientComplete() + if self.timeout is None: + print("No timeout, exiting.") + self.quit = True + if not self.haveui and self.lastui and self.timeout and (self.lastui + self.timeout) < time.time(): + print("Server timeout, exiting.") + self.quit = True - self.event_queue.close() - bb.event.unregister_UIHhandler(self.event_handle.value, True) - self.command_channel.close() - self.cooker.shutdown(True) - self.quitout.close() + ready = self.idle_commands(.1, fds) + + print("Exiting") + try: + self.cooker.shutdown(True) + except: + pass + + # Remove the socket file so we don't get any more connections to avoid races + os.unlink(self.sockname) + self.sock.close() + + # Finally release the lockfile but warn about other processes holding it open + lock = self.bitbake_lock + lockfile = lock.name + lock.close() + lock = None + + while not lock: + with bb.utils.timeout(3): + lock = bb.utils.lockfile(lockfile, shared=False, retry=False, block=True) + if not lock: + # Some systems may not have lsof available + procs = None + try: + procs = subprocess.check_output(["lsof", '-w', lockfile], stderr=subprocess.STDOUT) + except OSError as e: + if e.errno != errno.ENOENT: + raise + if procs is None: + # Fall back to fuser if lsof is unavailable + try: + procs = subprocess.check_output(["fuser", '-v', lockfile], stderr=subprocess.STDOUT) + except OSError as e: + if e.errno != errno.ENOENT: + raise + + msg = "Delaying shutdown due to active processes which appear to be holding bitbake.lock" + if procs: + msg += ":\n%s" % str(procs) + print(msg) + return + # We hold the lock so we can remove the file (hide stale pid data) + bb.utils.remove(lockfile) + bb.utils.unlockfile(lock) def idle_commands(self, delay, fds=None): nextsleep = delay @@ -189,140 +262,253 @@ class ProcessServer(Process): nextsleep = self.next_heartbeat - now if nextsleep is not None: + if self.xmlrpc: + nextsleep = self.xmlrpc.get_timeout(nextsleep) try: - select.select(fds,[],[],nextsleep) + return select.select(fds,[],[],nextsleep)[0] except InterruptedError: - # ignore EINTR error, nextsleep only used for wait - # certain time - pass + # Ignore EINTR + return [] + else: + return [] + + +class ServerCommunicator(): + def __init__(self, connection, recv): + self.connection = connection + self.recv = recv def runCommand(self, command): - """ - Run a cooker command on the server - """ - self.command_channel.send(self.cooker.command.runCommand(command)) - def stop(self): - self.quitin.send("quit") - self.quitin.close() + self.connection.send(command) + while True: + # don't let the user ctrl-c while we're waiting for a response + try: + for idx in range(0,4): # 0, 1, 2, 3 + if self.recv.poll(1): + return self.recv.get() + else: + bb.warn("Timeout while attempting to communicate with bitbake server") + raise ProcessTimeout("Gave up; Too many tries: timeout while attempting to communicate with bitbake server") + except KeyboardInterrupt: + pass + + def updateFeatureSet(self, featureset): + _, error = self.runCommand(["setFeatures", featureset]) + if error: + logger.error("Unable to set the cooker to the correct featureset: %s" % error) + raise BaseException(error) + + def getEventHandle(self): + handle, error = self.runCommand(["getUIHandlerNum"]) + if error: + logger.error("Unable to get UI Handler Number: %s" % error) + raise BaseException(error) - def addcooker(self, cooker): - self.cooker = cooker + return handle - def register_idle_function(self, function, data): - """Register a function to be called while the server is idle""" - assert hasattr(function, '__call__') - self._idlefuns[function] = data + def terminateServer(self): + self.connection.send(['terminateServer']) + return class BitBakeProcessServerConnection(object): - def __init__(self, serverImpl, ui_channel, event_queue): - self.procserver = serverImpl - self.ui_channel = ui_channel - self.event_queue = event_queue - self.connection = ServerCommunicator(self.ui_channel, self.procserver.event_handle, self.procserver) - self.events = self.event_queue - self.terminated = False - - def sigterm_terminate(self): - bb.error("UI received SIGTERM") - self.terminate() + def __init__(self, ui_channel, recv, eq): + self.connection = ServerCommunicator(ui_channel, recv) + self.events = eq def terminate(self): - if self.terminated: - return - self.terminated = True - def flushevents(): - while True: - try: - event = self.event_queue.get(block=False) - except (Empty, IOError): - break - if isinstance(event, logging.LogRecord): - logger.handle(event) - - self.procserver.stop() - - while self.procserver.is_alive(): - flushevents() - self.procserver.join(0.1) - - self.ui_channel.close() - self.event_queue.close() - self.event_queue.setexit() - # XXX: Call explicity close in _writer to avoid - # fd leakage because isn't called on Queue.close() - self.event_queue._writer.close() - - def setupEventQueue(self): - pass - -# Wrap Queue to provide API which isn't server implementation specific -class ProcessEventQueue(multiprocessing.queues.Queue): - def __init__(self, maxsize): - multiprocessing.queues.Queue.__init__(self, maxsize, ctx=multiprocessing.get_context()) - self.exit = False - bb.utils.set_process_name("ProcessEQueue") - - def setexit(self): - self.exit = True - - def waitEvent(self, timeout): - if self.exit: - return self.getEvent() + self.socket_connection.close() + return + +class BitBakeServer(object): + def __init__(self, lock, sockname, configuration, featureset): + + self.configuration = configuration + self.featureset = featureset + self.sockname = sockname + self.bitbake_lock = lock + + # Create server control socket + if os.path.exists(sockname): + os.unlink(sockname) + + self.sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) + # AF_UNIX has path length issues so chdir here to workaround + cwd = os.getcwd() try: - if not self.server.is_alive(): - return self.getEvent() - if timeout == 0: - return self.get(False) - return self.get(True, timeout) - except Empty: - return None + os.chdir(os.path.dirname(sockname)) + self.sock.bind(os.path.basename(sockname)) + finally: + os.chdir(cwd) + self.sock.listen(1) + + os.set_inheritable(self.sock.fileno(), True) + bb.daemonize.createDaemon(self._startServer, "bitbake-cookerdaemon.log") + self.sock.close() + self.bitbake_lock.close() + + def _startServer(self): + server = ProcessServer(self.bitbake_lock, self.sock, self.sockname) + self.configuration.setServerRegIdleCallback(server.register_idle_function) + + # Copy prefile and postfile to _server variants + for param in ('prefile', 'postfile'): + value = getattr(self.configuration, param) + if value: + setattr(self.configuration, "%s_server" % param, value) + + self.cooker = bb.cooker.BBCooker(self.configuration, self.featureset) + server.cooker = self.cooker + server.server_timeout = self.configuration.server_timeout + server.xmlrpcinterface = self.configuration.xmlrpcinterface + print("Started bitbake server pid %d" % os.getpid()) + server.start() + +def connectProcessServer(sockname, featureset): + # Connect to socket + sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) + # AF_UNIX has path length issues so chdir here to workaround + cwd = os.getcwd() + + try: + os.chdir(os.path.dirname(sockname)) + sock.connect(os.path.basename(sockname)) + finally: + os.chdir(cwd) + + try: + # Send an fd for the remote to write events to + readfd, writefd = os.pipe() + eq = BBUIEventQueue(readfd) + # Send an fd for the remote to recieve commands from + readfd1, writefd1 = os.pipe() + command_chan = ConnectionWriter(writefd1) + # Send an fd for the remote to write commands results to + readfd2, writefd2 = os.pipe() + command_chan_recv = ConnectionReader(readfd2) + + sendfds(sock, [writefd, readfd1, writefd2]) + + server_connection = BitBakeProcessServerConnection(command_chan, command_chan_recv, eq) + + server_connection.connection.updateFeatureSet(featureset) + + # Save sock so it doesn't get gc'd for the life of our connection + server_connection.socket_connection = sock + except: + sock.close() + raise + + return server_connection + +def sendfds(sock, fds): + '''Send an array of fds over an AF_UNIX socket.''' + fds = array.array('i', fds) + msg = bytes([len(fds) % 256]) + sock.sendmsg([msg], [(socket.SOL_SOCKET, socket.SCM_RIGHTS, fds)]) + +def recvfds(sock, size): + '''Receive an array of fds over an AF_UNIX socket.''' + a = array.array('i') + bytes_size = a.itemsize * size + msg, ancdata, flags, addr = sock.recvmsg(1, socket.CMSG_LEN(bytes_size)) + if not msg and not ancdata: + raise EOFError + try: + if len(ancdata) != 1: + raise RuntimeError('received %d items of ancdata' % + len(ancdata)) + cmsg_level, cmsg_type, cmsg_data = ancdata[0] + if (cmsg_level == socket.SOL_SOCKET and + cmsg_type == socket.SCM_RIGHTS): + if len(cmsg_data) % a.itemsize != 0: + raise ValueError + a.frombytes(cmsg_data) + assert len(a) % 256 == msg[0] + return list(a) + except (ValueError, IndexError): + pass + raise RuntimeError('Invalid data received') + +class BBUIEventQueue: + def __init__(self, readfd): + + self.eventQueue = [] + self.eventQueueLock = threading.Lock() + self.eventQueueNotify = threading.Event() + + self.reader = ConnectionReader(readfd) + + self.t = threading.Thread() + self.t.setDaemon(True) + self.t.run = self.startCallbackHandler + self.t.start() def getEvent(self): - try: - if not self.server.is_alive(): - self.setexit() - return self.get(False) - except Empty: - if self.exit: - sys.exit(1) + self.eventQueueLock.acquire() + + if len(self.eventQueue) == 0: + self.eventQueueLock.release() return None -class BitBakeServer(object): - def initServer(self, single_use=True): - # establish communication channels. We use bidirectional pipes for - # ui <--> server command/response pairs - # and a queue for server -> ui event notifications - # - self.ui_channel, self.server_channel = Pipe() - self.event_queue = ProcessEventQueue(0) - self.serverImpl = ProcessServer(self.server_channel, self.event_queue, None) - self.event_queue.server = self.serverImpl - - def detach(self): - self.serverImpl.start() - return + item = self.eventQueue.pop(0) - def establishConnection(self, featureset): + if len(self.eventQueue) == 0: + self.eventQueueNotify.clear() - self.connection = BitBakeProcessServerConnection(self.serverImpl, self.ui_channel, self.event_queue) + self.eventQueueLock.release() + return item - _, error = self.connection.connection.runCommand(["setFeatures", featureset]) - if error: - logger.error("Unable to set the cooker to the correct featureset: %s" % error) - raise BaseException(error) - signal.signal(signal.SIGTERM, lambda i, s: self.connection.sigterm_terminate()) - return self.connection + def waitEvent(self, delay): + self.eventQueueNotify.wait(delay) + return self.getEvent() - def addcooker(self, cooker): - self.cooker = cooker - self.serverImpl.addcooker(cooker) + def queue_event(self, event): + self.eventQueueLock.acquire() + self.eventQueue.append(event) + self.eventQueueNotify.set() + self.eventQueueLock.release() - def getServerIdleCB(self): - return self.serverImpl.register_idle_function + def send_event(self, event): + self.queue_event(pickle.loads(event)) - def saveConnectionDetails(self): - return + def startCallbackHandler(self): + bb.utils.set_process_name("UIEventQueue") + while True: + self.reader.wait() + event = self.reader.get() + self.queue_event(event) + +class ConnectionReader(object): + + def __init__(self, fd): + self.reader = multiprocessing.connection.Connection(fd, writable=False) + self.rlock = multiprocessing.Lock() + + def wait(self, timeout=None): + return multiprocessing.connection.wait([self.reader], timeout) + + def poll(self, timeout=None): + return self.reader.poll(timeout) + + def get(self): + with self.rlock: + res = self.reader.recv_bytes() + return multiprocessing.reduction.ForkingPickler.loads(res) + + def fileno(self): + return self.reader.fileno() + +class ConnectionWriter(object): + + def __init__(self, fd): + self.writer = multiprocessing.connection.Connection(fd, readable=False) + self.wlock = multiprocessing.Lock() + # Why bb.event needs this I have no idea + self.event = self + + def send(self, obj): + obj = multiprocessing.reduction.ForkingPickler.dumps(obj) + with self.wlock: + self.writer.send_bytes(obj) - def endSession(self): - self.connection.terminate() diff --git a/lib/bb/server/xmlrpc.py b/lib/bb/server/xmlrpc.py deleted file mode 100644 index 6874765..0000000 --- a/lib/bb/server/xmlrpc.py +++ /dev/null @@ -1,492 +0,0 @@ -# -# BitBake XMLRPC Server -# -# Copyright (C) 2006 - 2007 Michael 'Mickey' Lauer -# Copyright (C) 2006 - 2008 Richard Purdie -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -""" - This module implements an xmlrpc server for BitBake. - - Use this by deriving a class from BitBakeXMLRPCServer and then adding - methods which you want to "export" via XMLRPC. If the methods have the - prefix xmlrpc_, then registering those function will happen automatically, - if not, you need to call register_function. - - Use register_idle_function() to add a function which the xmlrpc server - calls from within server_forever when no requests are pending. Make sure - that those functions are non-blocking or else you will introduce latency - in the server's main loop. -""" - -import os -import sys - -import hashlib -import time -import socket -import signal -import threading -import pickle -import inspect -import select -import http.client -import xmlrpc.client -from xmlrpc.server import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler - -import bb -from bb import daemonize -from bb.ui import uievent - -DEBUG = False - -class BBTransport(xmlrpc.client.Transport): - def __init__(self, timeout): - self.timeout = timeout - self.connection_token = None - xmlrpc.client.Transport.__init__(self) - - # Modified from default to pass timeout to HTTPConnection - def make_connection(self, host): - #return an existing connection if possible. This allows - #HTTP/1.1 keep-alive. - if self._connection and host == self._connection[0]: - return self._connection[1] - - # create a HTTP connection object from a host descriptor - chost, self._extra_headers, x509 = self.get_host_info(host) - #store the host argument along with the connection object - self._connection = host, http.client.HTTPConnection(chost, timeout=self.timeout) - return self._connection[1] - - def set_connection_token(self, token): - self.connection_token = token - - def send_content(self, h, body): - if self.connection_token: - h.putheader("Bitbake-token", self.connection_token) - xmlrpc.client.Transport.send_content(self, h, body) - -def _create_server(host, port, timeout = 60): - t = BBTransport(timeout) - s = xmlrpc.client.ServerProxy("http://%s:%d/" % (host, port), transport=t, allow_none=True, use_builtin_types=True) - return s, t - -def check_connection(remote, timeout): - try: - host, port = remote.split(":") - port = int(port) - except Exception as e: - bb.warn("Failed to read remote definition (%s)" % str(e)) - raise e - - server, _transport = _create_server(host, port, timeout) - try: - ret, err = server.runCommand(['getVariable', 'TOPDIR']) - if err or not ret: - return False - except ConnectionError: - return False - return True - -class BitBakeServerCommands(): - - def __init__(self, server): - self.server = server - self.has_client = False - - def registerEventHandler(self, host, port): - """ - Register a remote UI Event Handler - """ - s, t = _create_server(host, port) - - # we don't allow connections if the cooker is running - if (self.cooker.state in [bb.cooker.state.parsing, bb.cooker.state.running]): - return None, "Cooker is busy: %s" % bb.cooker.state.get_name(self.cooker.state) - - self.event_handle = bb.event.register_UIHhandler(s, True) - return self.event_handle, 'OK' - - def unregisterEventHandler(self, handlerNum): - """ - Unregister a remote UI Event Handler - """ - return bb.event.unregister_UIHhandler(handlerNum, True) - - def runCommand(self, command): - """ - Run a cooker command on the server - """ - return self.cooker.command.runCommand(command, self.server.readonly) - - def getEventHandle(self): - return self.event_handle - - def terminateServer(self): - """ - Trigger the server to quit - """ - self.server.quit = True - print("Server (cooker) exiting") - return - - def addClient(self): - if self.has_client: - return None - token = hashlib.md5(str(time.time()).encode("utf-8")).hexdigest() - self.server.set_connection_token(token) - self.has_client = True - return token - - def removeClient(self): - if self.has_client: - self.server.set_connection_token(None) - self.has_client = False - if self.server.single_use: - self.server.quit = True - -# This request handler checks if the request has a "Bitbake-token" header -# field (this comes from the client side) and compares it with its internal -# "Bitbake-token" field (this comes from the server). If the two are not -# equal, it is assumed that a client is trying to connect to the server -# while another client is connected to the server. In this case, a 503 error -# ("service unavailable") is returned to the client. -class BitBakeXMLRPCRequestHandler(SimpleXMLRPCRequestHandler): - def __init__(self, request, client_address, server): - self.server = server - SimpleXMLRPCRequestHandler.__init__(self, request, client_address, server) - - def do_POST(self): - try: - remote_token = self.headers["Bitbake-token"] - except: - remote_token = None - if remote_token != self.server.connection_token and remote_token != "observer": - self.report_503() - else: - if remote_token == "observer": - self.server.readonly = True - else: - self.server.readonly = False - SimpleXMLRPCRequestHandler.do_POST(self) - - def report_503(self): - self.send_response(503) - response = 'No more client allowed' - self.send_header("Content-type", "text/plain") - self.send_header("Content-length", str(len(response))) - self.end_headers() - self.wfile.write(bytes(response, 'utf-8')) - - -class XMLRPCProxyServer(object): - """ not a real working server, but a stub for a proxy server connection - - """ - def __init__(self, host, port, use_builtin_types=True): - self.host = host - self.port = port - self._idlefuns = {} - - def addcooker(self, cooker): - self.cooker = cooker - - def register_idle_function(self, function, data): - """Register a function to be called while the server is idle""" - assert hasattr(function, '__call__') - self._idlefuns[function] = data - - -class XMLRPCServer(SimpleXMLRPCServer): - # remove this when you're done with debugging - # allow_reuse_address = True - - def __init__(self, interface, single_use=False, idle_timeout=0): - """ - Constructor - """ - self._idlefuns = {} - self.single_use = single_use - # Use auto port configuration - if (interface[1] == -1): - interface = (interface[0], 0) - SimpleXMLRPCServer.__init__(self, interface, - requestHandler=BitBakeXMLRPCRequestHandler, - logRequests=False, allow_none=True) - self.host, self.port = self.socket.getsockname() - self.connection_token = None - #self.register_introspection_functions() - self.commands = BitBakeServerCommands(self) - self.autoregister_all_functions(self.commands, "") - self.interface = interface - self.time = time.time() - self.idle_timeout = idle_timeout - if idle_timeout: - self.register_idle_function(self.handle_idle_timeout, self) - self.heartbeat_seconds = 1 # default, BB_HEARTBEAT_EVENT will be checked once we have a datastore. - self.next_heartbeat = time.time() - - def addcooker(self, cooker): - self.cooker = cooker - self.commands.cooker = cooker - - def autoregister_all_functions(self, context, prefix): - """ - Convenience method for registering all functions in the scope - of this class that start with a common prefix - """ - methodlist = inspect.getmembers(context, inspect.ismethod) - for name, method in methodlist: - if name.startswith(prefix): - self.register_function(method, name[len(prefix):]) - - def handle_idle_timeout(self, server, data, abort): - if not abort: - if time.time() - server.time > server.idle_timeout: - server.quit = True - print("Server idle timeout expired") - return [] - - def serve_forever(self): - heartbeat_event = self.cooker.data.getVar('BB_HEARTBEAT_EVENT') - if heartbeat_event: - try: - self.heartbeat_seconds = float(heartbeat_event) - except: - # Throwing an exception here causes bitbake to hang. - # Just warn about the invalid setting and continue - bb.warn('Ignoring invalid BB_HEARTBEAT_EVENT=%s, must be a float specifying seconds.' % heartbeat_event) - - # Start the actual XMLRPC server - bb.cooker.server_main(self.cooker, self._serve_forever) - - def _serve_forever(self): - """ - Serve Requests. Overloaded to honor a quit command - """ - self.quit = False - while not self.quit: - fds = [self] - nextsleep = 0.1 - for function, data in list(self._idlefuns.items()): - retval = None - try: - retval = function(self, data, False) - if retval is False: - del self._idlefuns[function] - elif retval is True: - nextsleep = 0 - elif isinstance(retval, float): - if (retval < nextsleep): - nextsleep = retval - else: - fds = fds + retval - except SystemExit: - raise - except: - import traceback - traceback.print_exc() - if retval == None: - # the function execute failed; delete it - del self._idlefuns[function] - pass - - socktimeout = self.socket.gettimeout() or nextsleep - socktimeout = min(socktimeout, nextsleep) - # Mirror what BaseServer handle_request would do - try: - fd_sets = select.select(fds, [], [], socktimeout) - if fd_sets[0] and self in fd_sets[0]: - if self.idle_timeout: - self.time = time.time() - self._handle_request_noblock() - except IOError: - # we ignore interrupted calls - pass - - # Create new heartbeat event? - now = time.time() - if now >= self.next_heartbeat: - # We might have missed heartbeats. Just trigger once in - # that case and continue after the usual delay. - self.next_heartbeat += self.heartbeat_seconds - if self.next_heartbeat <= now: - self.next_heartbeat = now + self.heartbeat_seconds - heartbeat = bb.event.HeartbeatEvent(now) - bb.event.fire(heartbeat, self.cooker.data) - if nextsleep and now + nextsleep > self.next_heartbeat: - # Shorten timeout so that we we wake up in time for - # the heartbeat. - nextsleep = self.next_heartbeat - now - - # Tell idle functions we're exiting - for function, data in list(self._idlefuns.items()): - try: - retval = function(self, data, True) - except: - pass - self.server_close() - return - - def set_connection_token(self, token): - self.connection_token = token - - def register_idle_function(self, function, data): - """Register a function to be called while the server is idle""" - assert hasattr(function, '__call__') - self._idlefuns[function] = data - - -class BitBakeXMLRPCServerConnection(object): - def __init__(self, serverImpl, clientinfo=("localhost", 0), observer_only = False, featureset = None): - self.connection, self.transport = _create_server(serverImpl.host, serverImpl.port) - self.clientinfo = clientinfo - self.serverImpl = serverImpl - self.observer_only = observer_only - if featureset: - self.featureset = featureset - else: - self.featureset = [] - - def connect(self, token = None): - if token is None: - if self.observer_only: - token = "observer" - else: - token = self.connection.addClient() - - if token is None: - return None - - self.transport.set_connection_token(token) - return self - - def setupEventQueue(self): - self.events = uievent.BBUIEventQueue(self.connection, self.clientinfo) - for event in bb.event.ui_queue: - self.events.queue_event(event) - - _, error = self.connection.runCommand(["setFeatures", self.featureset]) - if error: - # disconnect the client, we can't make the setFeature work - self.connection.removeClient() - # no need to log it here, the error shall be sent to the client - raise BaseException(error) - - def removeClient(self): - if not self.observer_only: - self.connection.removeClient() - - def terminate(self): - # Don't wait for server indefinitely - import socket - socket.setdefaulttimeout(2) - try: - self.events.system_quit() - except: - pass - try: - self.connection.removeClient() - except: - pass - -class BitBakeServer(object): - def initServer(self, interface = ("localhost", 0), - single_use = False, idle_timeout=0): - self.interface = interface - self.serverImpl = XMLRPCServer(interface, single_use, idle_timeout) - - def detach(self): - daemonize.createDaemon(self.serverImpl.serve_forever, "bitbake-cookerdaemon.log") - del self.cooker - - def establishConnection(self, featureset): - self.connection = BitBakeXMLRPCServerConnection(self.serverImpl, self.interface, False, featureset) - return self.connection.connect() - - def set_connection_token(self, token): - self.connection.transport.set_connection_token(token) - - def addcooker(self, cooker): - self.cooker = cooker - self.serverImpl.addcooker(cooker) - - def getServerIdleCB(self): - return self.serverImpl.register_idle_function - - def saveConnectionDetails(self): - return - - def endSession(self): - self.connection.terminate() - -class BitBakeXMLRPCClient(object): - - def __init__(self, observer_only = False, token = None): - self.token = token - - self.observer_only = observer_only - # if we need extra caches, just tell the server to load them all - pass - - def saveConnectionDetails(self, remote): - self.remote = remote - - def establishConnection(self, featureset): - # The format of "remote" must be "server:port" - try: - [host, port] = self.remote.split(":") - port = int(port) - except Exception as e: - bb.warn("Failed to read remote definition (%s)" % str(e)) - raise e - - # We need our IP for the server connection. We get the IP - # by trying to connect with the server - try: - s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) - s.connect((host, port)) - ip = s.getsockname()[0] - s.close() - except Exception as e: - bb.warn("Could not create socket for %s:%s (%s)" % (host, port, str(e))) - raise e - try: - self.serverImpl = XMLRPCProxyServer(host, port, use_builtin_types=True) - self.connection = BitBakeXMLRPCServerConnection(self.serverImpl, (ip, 0), self.observer_only, featureset) - return self.connection.connect(self.token) - except Exception as e: - bb.warn("Could not connect to server at %s:%s (%s)" % (host, port, str(e))) - raise e - - def endSession(self): - self.connection.removeClient() - - def initServer(self): - self.serverImpl = None - self.connection = None - return - - def addcooker(self, cooker): - self.cooker = cooker - self.serverImpl.addcooker(cooker) - - def getServerIdleCB(self): - return self.serverImpl.register_idle_function - - def detach(self): - return - diff --git a/lib/bb/server/xmlrpcclient.py b/lib/bb/server/xmlrpcclient.py new file mode 100644 index 0000000..4661a9e --- /dev/null +++ b/lib/bb/server/xmlrpcclient.py @@ -0,0 +1,154 @@ +# +# BitBake XMLRPC Client Interface +# +# Copyright (C) 2006 - 2007 Michael 'Mickey' Lauer +# Copyright (C) 2006 - 2008 Richard Purdie +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +import os +import sys + +import socket +import http.client +import xmlrpc.client + +import bb +from bb.ui import uievent + +class BBTransport(xmlrpc.client.Transport): + def __init__(self, timeout): + self.timeout = timeout + self.connection_token = None + xmlrpc.client.Transport.__init__(self) + + # Modified from default to pass timeout to HTTPConnection + def make_connection(self, host): + #return an existing connection if possible. This allows + #HTTP/1.1 keep-alive. + if self._connection and host == self._connection[0]: + return self._connection[1] + + # create a HTTP connection object from a host descriptor + chost, self._extra_headers, x509 = self.get_host_info(host) + #store the host argument along with the connection object + self._connection = host, http.client.HTTPConnection(chost, timeout=self.timeout) + return self._connection[1] + + def set_connection_token(self, token): + self.connection_token = token + + def send_content(self, h, body): + if self.connection_token: + h.putheader("Bitbake-token", self.connection_token) + xmlrpc.client.Transport.send_content(self, h, body) + +def _create_server(host, port, timeout = 60): + t = BBTransport(timeout) + s = xmlrpc.client.ServerProxy("http://%s:%d/" % (host, port), transport=t, allow_none=True, use_builtin_types=True) + return s, t + +def check_connection(remote, timeout): + try: + host, port = remote.split(":") + port = int(port) + except Exception as e: + bb.warn("Failed to read remote definition (%s)" % str(e)) + raise e + + server, _transport = _create_server(host, port, timeout) + try: + ret, err = server.runCommand(['getVariable', 'TOPDIR']) + if err or not ret: + return False + except ConnectionError: + return False + return True + +class BitBakeXMLRPCServerConnection(object): + def __init__(self, host, port, clientinfo=("localhost", 0), observer_only = False, featureset = None): + self.connection, self.transport = _create_server(host, port) + self.clientinfo = clientinfo + self.observer_only = observer_only + if featureset: + self.featureset = featureset + else: + self.featureset = [] + + self.events = uievent.BBUIEventQueue(self.connection, self.clientinfo) + + _, error = self.connection.runCommand(["setFeatures", self.featureset]) + if error: + # disconnect the client, we can't make the setFeature work + self.connection.removeClient() + # no need to log it here, the error shall be sent to the client + raise BaseException(error) + + def connect(self, token = None): + if token is None: + if self.observer_only: + token = "observer" + else: + token = self.connection.addClient() + + if token is None: + return None + + self.transport.set_connection_token(token) + return self + + def removeClient(self): + if not self.observer_only: + self.connection.removeClient() + + def terminate(self): + # Don't wait for server indefinitely + socket.setdefaulttimeout(2) + try: + self.events.system_quit() + except: + pass + try: + self.connection.removeClient() + except: + pass + +def connectXMLRPC(remote, featureset, observer_only = False, token = None): + # The format of "remote" must be "server:port" + try: + [host, port] = remote.split(":") + port = int(port) + except Exception as e: + bb.warn("Failed to parse remote definition %s (%s)" % (remote, str(e))) + raise e + + # We need our IP for the server connection. We get the IP + # by trying to connect with the server + try: + s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + s.connect((host, port)) + ip = s.getsockname()[0] + s.close() + except Exception as e: + bb.warn("Could not create socket for %s:%s (%s)" % (host, port, str(e))) + raise e + try: + connection = BitBakeXMLRPCServerConnection(host, port, (ip, 0), observer_only, featureset) + return connection.connect(token) + except Exception as e: + bb.warn("Could not connect to server at %s:%s (%s)" % (host, port, str(e))) + raise e + + + diff --git a/lib/bb/server/xmlrpcserver.py b/lib/bb/server/xmlrpcserver.py new file mode 100644 index 0000000..875b128 --- /dev/null +++ b/lib/bb/server/xmlrpcserver.py @@ -0,0 +1,158 @@ +# +# BitBake XMLRPC Server Interface +# +# Copyright (C) 2006 - 2007 Michael 'Mickey' Lauer +# Copyright (C) 2006 - 2008 Richard Purdie +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +import os +import sys + +import hashlib +import time +import inspect +from xmlrpc.server import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler + +import bb + +# This request handler checks if the request has a "Bitbake-token" header +# field (this comes from the client side) and compares it with its internal +# "Bitbake-token" field (this comes from the server). If the two are not +# equal, it is assumed that a client is trying to connect to the server +# while another client is connected to the server. In this case, a 503 error +# ("service unavailable") is returned to the client. +class BitBakeXMLRPCRequestHandler(SimpleXMLRPCRequestHandler): + def __init__(self, request, client_address, server): + self.server = server + SimpleXMLRPCRequestHandler.__init__(self, request, client_address, server) + + def do_POST(self): + try: + remote_token = self.headers["Bitbake-token"] + except: + remote_token = None + if 0 and remote_token != self.server.connection_token and remote_token != "observer": + self.report_503() + else: + if remote_token == "observer": + self.server.readonly = True + else: + self.server.readonly = False + SimpleXMLRPCRequestHandler.do_POST(self) + + def report_503(self): + self.send_response(503) + response = 'No more client allowed' + self.send_header("Content-type", "text/plain") + self.send_header("Content-length", str(len(response))) + self.end_headers() + self.wfile.write(bytes(response, 'utf-8')) + +class BitBakeXMLRPCServer(SimpleXMLRPCServer): + # remove this when you're done with debugging + # allow_reuse_address = True + + def __init__(self, interface, cooker, parent): + # Use auto port configuration + if (interface[1] == -1): + interface = (interface[0], 0) + SimpleXMLRPCServer.__init__(self, interface, + requestHandler=BitBakeXMLRPCRequestHandler, + logRequests=False, allow_none=True) + self.host, self.port = self.socket.getsockname() + self.interface = interface + + self.connection_token = None + self.commands = BitBakeXMLRPCServerCommands(self) + self.register_functions(self.commands, "") + + self.cooker = cooker + self.parent = parent + + + def register_functions(self, context, prefix): + """ + Convenience method for registering all functions in the scope + of this class that start with a common prefix + """ + methodlist = inspect.getmembers(context, inspect.ismethod) + for name, method in methodlist: + if name.startswith(prefix): + self.register_function(method, name[len(prefix):]) + + def get_timeout(self, delay): + socktimeout = self.socket.gettimeout() or delay + return min(socktimeout, delay) + + def handle_requests(self): + self._handle_request_noblock() + +class BitBakeXMLRPCServerCommands(): + + def __init__(self, server): + self.server = server + self.has_client = False + + def registerEventHandler(self, host, port): + """ + Register a remote UI Event Handler + """ + s, t = bb.server.xmlrpcclient._create_server(host, port) + + # we don't allow connections if the cooker is running + if (self.server.cooker.state in [bb.cooker.state.parsing, bb.cooker.state.running]): + return None, "Cooker is busy: %s" % bb.cooker.state.get_name(self.server.cooker.state) + + self.event_handle = bb.event.register_UIHhandler(s, True) + return self.event_handle, 'OK' + + def unregisterEventHandler(self, handlerNum): + """ + Unregister a remote UI Event Handler + """ + ret = bb.event.unregister_UIHhandler(handlerNum, True) + self.event_handle = None + return ret + + def runCommand(self, command): + """ + Run a cooker command on the server + """ + return self.server.cooker.command.runCommand(command, self.server.readonly) + + def getEventHandle(self): + return self.event_handle + + def terminateServer(self): + """ + Trigger the server to quit + """ + self.server.parent.quit = True + print("XMLRPC Server triggering exit") + return + + def addClient(self): + if self.server.parent.haveui: + return None + token = hashlib.md5(str(time.time()).encode("utf-8")).hexdigest() + self.server.connection_token = token + self.server.parent.haveui = True + return token + + def removeClient(self): + if self.server.parent.haveui: + self.server.connection_token = None + self.server.parent.haveui = False + diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index fb0da62..303ce02 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -243,7 +243,7 @@ class Tinfoil: cookerconfig = CookerConfiguration() cookerconfig.setConfigParameters(config_params) - server, self.server_connection, ui_module = setup_bitbake(config_params, + self.server_connection, ui_module = setup_bitbake(config_params, cookerconfig, extrafeatures, setup_logging=False) diff --git a/lib/prserv/serv.py b/lib/prserv/serv.py index a7efa58..5f061c2 100644 --- a/lib/prserv/serv.py +++ b/lib/prserv/serv.py @@ -6,7 +6,7 @@ import queue import socket import io import sqlite3 -import bb.server.xmlrpc +import bb.server.xmlrpcclient import prserv import prserv.db import errno @@ -300,7 +300,7 @@ class PRServerConnection(object): host, port = singleton.getinfo() self.host = host self.port = port - self.connection, self.transport = bb.server.xmlrpc._create_server(self.host, self.port) + self.connection, self.transport = bb.server.xmlrpcclient._create_server(self.host, self.port) def terminate(self): try: -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:44:12 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:44:12 +0000 Subject: [oe-commits] [bitbake] 05/14: tinfoil: set a flag when recipes have been parsed In-Reply-To: <150041424764.25920.24736474911688395@git.openembedded.org> References: <150041424764.25920.24736474911688395@git.openembedded.org> Message-ID: <20170718214407.DB2792335A2@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 62311402f03e18fbdd38e8857f1746a3c4958005 Author: Paul Eggleton AuthorDate: Wed May 17 17:13:07 2017 +1200 tinfoil: set a flag when recipes have been parsed Make it easy to determine if recipes are parsed (and thus information about available recipes is in memory). Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/tinfoil.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index ddc7b06..f31d7b2 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -217,6 +217,7 @@ class Tinfoil: self.tracking = tracking self.ui_module = None self.server_connection = None + self.recipes_parsed = False if setup_logging: # This is the *client-side* logger, nothing to do with # logging messages from the server @@ -270,6 +271,7 @@ class Tinfoil: self.run_command('parseConfiguration') else: self.run_actions(config_params) + self.recipes_parsed = True self.config_data = bb.data.init() connector = TinfoilDataStoreConnector(self, None) @@ -303,6 +305,7 @@ class Tinfoil: """ config_params = TinfoilConfigParameters(config_only=False) self.run_actions(config_params) + self.recipes_parsed = True def run_command(self, command, *params): """ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:44:14 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:44:14 +0000 Subject: [oe-commits] [bitbake] 07/14: lib/bb/ui/uihelper: indicate to caller of eventHandler() if events handled In-Reply-To: <150041424764.25920.24736474911688395@git.openembedded.org> References: <150041424764.25920.24736474911688395@git.openembedded.org> Message-ID: <20170718214407.E8E9A2335A5@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit e54904fbb1792bbca1cbb4ca3fc745ccc15cbcae Author: Paul Eggleton AuthorDate: Mon May 22 12:00:22 2017 +1200 lib/bb/ui/uihelper: indicate to caller of eventHandler() if events handled It is useful for the caller to know whether the uihelper has handled the event passed so that it can skip other event handling code if so. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/ui/uihelper.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/bb/ui/uihelper.py b/lib/bb/ui/uihelper.py index 113fced..963c1ea 100644 --- a/lib/bb/ui/uihelper.py +++ b/lib/bb/ui/uihelper.py @@ -61,6 +61,9 @@ class BBUIHelper: self.running_tasks[event.pid]['progress'] = event.progress self.running_tasks[event.pid]['rate'] = event.rate self.needUpdate = True + else: + return False + return True def getTasks(self): self.needUpdate = False -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:44:13 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:44:13 +0000 Subject: [oe-commits] [bitbake] 06/14: lib/bb/event: refactor printing events In-Reply-To: <150041424764.25920.24736474911688395@git.openembedded.org> References: <150041424764.25920.24736474911688395@git.openembedded.org> Message-ID: <20170718214407.E2B382335A3@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit de45f4b457ef27d5b1c08538e5cd9f9a17d2233c Author: Paul Eggleton AuthorDate: Thu May 18 15:10:44 2017 +1200 lib/bb/event: refactor printing events We really ought to have just one place where the string representation of these events is produced. This doesn't take any real control away from the UI - if an alternative representation is desired, that can still be made. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/command.py | 2 ++ lib/bb/event.py | 32 ++++++++++++++++++++++++++++++++ lib/bb/runqueue.py | 6 ++++++ lib/bb/ui/knotty.py | 37 ++++++------------------------------- lib/bb/ui/ncurses.py | 2 +- lib/bb/ui/taskexp.py | 20 ++------------------ lib/bb/ui/toasterui.py | 25 ++++--------------------- 7 files changed, 53 insertions(+), 71 deletions(-) diff --git a/lib/bb/command.py b/lib/bb/command.py index c06ab07..05803d6 100644 --- a/lib/bb/command.py +++ b/lib/bb/command.py @@ -50,6 +50,8 @@ class CommandFailed(CommandExit): def __init__(self, message): self.error = message CommandExit.__init__(self, 1) + def __str__(self): + return "Command execution failed: %s" % self.error class CommandError(Exception): pass diff --git a/lib/bb/event.py b/lib/bb/event.py index 92ee3e9..59cca61 100644 --- a/lib/bb/event.py +++ b/lib/bb/event.py @@ -521,6 +521,28 @@ class NoProvider(Event): def isRuntime(self): return self._runtime + def __str__(self): + msg = '' + if self._runtime: + r = "R" + else: + r = "" + + extra = '' + if not self._reasons: + if self._close_matches: + extra = ". Close matches:\n %s" % '\n '.join(self._close_matches) + + if self._dependees: + msg = "Nothing %sPROVIDES '%s' (but %s %sDEPENDS on or otherwise requires it)%s" % (r, self._item, ", ".join(self._dependees), r, extra) + else: + msg = "Nothing %sPROVIDES '%s'%s" % (r, self._item, extra) + if self._reasons: + for reason in self._reasons: + msg += '\n' + reason + return msg + + class MultipleProviders(Event): """Multiple Providers""" @@ -548,6 +570,16 @@ class MultipleProviders(Event): """ return self._candidates + def __str__(self): + msg = "Multiple providers are available for %s%s (%s)" % (self._is_runtime and "runtime " or "", + self._item, + ", ".join(self._candidates)) + rtime = "" + if self._is_runtime: + rtime = "R" + msg += "\nConsider defining a PREFERRED_%sPROVIDER entry to match %s" % (rtime, self._item) + return msg + class ParseStarted(OperationStarted): """Recipe parsing for the runqueue has begun""" def __init__(self, total): diff --git a/lib/bb/runqueue.py b/lib/bb/runqueue.py index 21520d3..7dd964d 100644 --- a/lib/bb/runqueue.py +++ b/lib/bb/runqueue.py @@ -2488,6 +2488,9 @@ class runQueueTaskFailed(runQueueEvent): runQueueEvent.__init__(self, task, stats, rq) self.exitcode = exitcode + def __str__(self): + return "Task (%s) failed with exit code '%s'" % (self.taskstring, self.exitcode) + class sceneQueueTaskFailed(sceneQueueEvent): """ Event notifying a setscene task failed @@ -2496,6 +2499,9 @@ class sceneQueueTaskFailed(sceneQueueEvent): sceneQueueEvent.__init__(self, task, stats, rq) self.exitcode = exitcode + def __str__(self): + return "Setscene task (%s) failed with exit code '%s' - real task will be run instead" % (self.taskstring, self.exitcode) + class sceneQueueComplete(sceneQueueEvent): """ Event when all the sceneQueue tasks are complete diff --git a/lib/bb/ui/knotty.py b/lib/bb/ui/knotty.py index 1aa5ebb..c301982 100644 --- a/lib/bb/ui/knotty.py +++ b/lib/bb/ui/knotty.py @@ -560,7 +560,7 @@ def main(server, eventHandler, params, tf = TerminalFilter): return_value = event.exitcode if event.error: errors = errors + 1 - logger.error("Command execution failed: %s", event.error) + logger.error(str(event)) main.shutdown = 2 continue if isinstance(event, bb.command.CommandExit): @@ -571,39 +571,16 @@ def main(server, eventHandler, params, tf = TerminalFilter): main.shutdown = 2 continue if isinstance(event, bb.event.MultipleProviders): - logger.info("multiple providers are available for %s%s (%s)", event._is_runtime and "runtime " or "", - event._item, - ", ".join(event._candidates)) - rtime = "" - if event._is_runtime: - rtime = "R" - logger.info("consider defining a PREFERRED_%sPROVIDER entry to match %s" % (rtime, event._item)) + logger.info(str(event)) continue if isinstance(event, bb.event.NoProvider): - if event._runtime: - r = "R" - else: - r = "" - - extra = '' - if not event._reasons: - if event._close_matches: - extra = ". Close matches:\n %s" % '\n '.join(event._close_matches) - # For universe builds, only show these as warnings, not errors - h = logger.warning if not universe: return_value = 1 errors = errors + 1 - h = logger.error - - if event._dependees: - h("Nothing %sPROVIDES '%s' (but %s %sDEPENDS on or otherwise requires it)%s", r, event._item, ", ".join(event._dependees), r, extra) + logger.error(str(event)) else: - h("Nothing %sPROVIDES '%s'%s", r, event._item, extra) - if event._reasons: - for reason in event._reasons: - h("%s", reason) + logger.warning(str(event)) continue if isinstance(event, bb.runqueue.sceneQueueTaskStarted): @@ -625,13 +602,11 @@ def main(server, eventHandler, params, tf = TerminalFilter): if isinstance(event, bb.runqueue.runQueueTaskFailed): return_value = 1 taskfailures.append(event.taskstring) - logger.error("Task (%s) failed with exit code '%s'", - event.taskstring, event.exitcode) + logger.error(str(event)) continue if isinstance(event, bb.runqueue.sceneQueueTaskFailed): - logger.warning("Setscene task (%s) failed with exit code '%s' - real task will be run instead", - event.taskstring, event.exitcode) + logger.warning(str(event)) continue if isinstance(event, bb.event.DepTreeGenerated): diff --git a/lib/bb/ui/ncurses.py b/lib/bb/ui/ncurses.py index ca845a3..8690c52 100644 --- a/lib/bb/ui/ncurses.py +++ b/lib/bb/ui/ncurses.py @@ -315,7 +315,7 @@ class NCursesUI: # also allow them to now exit with a single ^C shutdown = 2 if isinstance(event, bb.command.CommandFailed): - mw.appendText("Command execution failed: %s" % event.error) + mw.appendText(str(event)) time.sleep(2) exitflag = True if isinstance(event, bb.command.CommandExit): diff --git a/lib/bb/ui/taskexp.py b/lib/bb/ui/taskexp.py index 9d14ece..0d0f9f5 100644 --- a/lib/bb/ui/taskexp.py +++ b/lib/bb/ui/taskexp.py @@ -286,23 +286,7 @@ def main(server, eventHandler, params): continue if isinstance(event, bb.event.NoProvider): - if event._runtime: - r = "R" - else: - r = "" - - extra = '' - if not event._reasons: - if event._close_matches: - extra = ". Close matches:\n %s" % '\n '.join(event._close_matches) - - if event._dependees: - print("Nothing %sPROVIDES '%s' (but %s %sDEPENDS on or otherwise requires it)%s" % (r, event._item, ", ".join(event._dependees), r, extra)) - else: - print("Nothing %sPROVIDES '%s'%s" % (r, event._item, extra)) - if event._reasons: - for reason in event._reasons: - print(reason) + print(str(event)) _, error = server.runCommand(["stateShutdown"]) if error: @@ -310,7 +294,7 @@ def main(server, eventHandler, params): break if isinstance(event, bb.command.CommandFailed): - print("Command execution failed: %s" % event.error) + print(str(event)) return event.exitcode if isinstance(event, bb.command.CommandExit): diff --git a/lib/bb/ui/toasterui.py b/lib/bb/ui/toasterui.py index 71f04fa..88cec37 100644 --- a/lib/bb/ui/toasterui.py +++ b/lib/bb/ui/toasterui.py @@ -320,29 +320,13 @@ def main(server, eventHandler, params): if isinstance(event, bb.event.CacheLoadCompleted): continue if isinstance(event, bb.event.MultipleProviders): - logger.info("multiple providers are available for %s%s (%s)", event._is_runtime and "runtime " or "", - event._item, - ", ".join(event._candidates)) - logger.info("consider defining a PREFERRED_PROVIDER entry to match %s", event._item) + logger.info(str(event)) continue if isinstance(event, bb.event.NoProvider): errors = errors + 1 - if event._runtime: - r = "R" - else: - r = "" - - if event._dependees: - text = "Nothing %sPROVIDES '%s' (but %s %sDEPENDS on or otherwise requires it)" % (r, event._item, ", ".join(event._dependees), r) - else: - text = "Nothing %sPROVIDES '%s'" % (r, event._item) - + text = str(event) logger.error(text) - if event._reasons: - for reason in event._reasons: - logger.error("%s", reason) - text += reason buildinfohelper.store_log_error(text) continue @@ -364,8 +348,7 @@ def main(server, eventHandler, params): if isinstance(event, bb.runqueue.runQueueTaskFailed): buildinfohelper.update_and_store_task(event) taskfailures.append(event.taskstring) - logger.error("Task (%s) failed with exit code '%s'", - event.taskstring, event.exitcode) + logger.error(str(event)) continue if isinstance(event, (bb.runqueue.sceneQueueTaskCompleted, bb.runqueue.sceneQueueTaskFailed)): @@ -382,7 +365,7 @@ def main(server, eventHandler, params): if isinstance(event, bb.command.CommandFailed): errors += 1 errorcode = 1 - logger.error("Command execution failed: %s", event.error) + logger.error(str(event)) elif isinstance(event, bb.event.BuildCompleted): buildinfohelper.scan_image_artifacts() buildinfohelper.clone_required_sdk_artifacts() -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:44:15 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:44:15 +0000 Subject: [oe-commits] [bitbake] 08/14: tinfoil: add functionality for running full builds In-Reply-To: <150041424764.25920.24736474911688395@git.openembedded.org> References: <150041424764.25920.24736474911688395@git.openembedded.org> Message-ID: <20170718214407.EF0AE2335A6@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit d4fa7ac71207e35bed40702174fc81c8daea14b7 Author: Paul Eggleton AuthorDate: Fri May 19 14:52:48 2017 +1200 tinfoil: add functionality for running full builds Up to this point, if you wanted to run build tasks in the normal way they get run, there was no other way than to shell out to bitbake. As long as we're prepared to handle the events produced, we can create a wrapper around calling the buildTargets command. Borrow code from knotty to do this so that we get the expected running task display (courtesy of TermFilter) and Ctrl+C handling. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/tinfoil.py | 155 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 155 insertions(+) diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index f31d7b2..945bd4b 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -2,6 +2,7 @@ # # Copyright (C) 2012-2017 Intel Corporation # Copyright (C) 2011 Mentor Graphics Corporation +# Copyright (C) 2006-2012 Richard Purdie # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License version 2 as @@ -218,6 +219,7 @@ class Tinfoil: self.ui_module = None self.server_connection = None self.recipes_parsed = False + self.quiet = 0 if setup_logging: # This is the *client-side* logger, nothing to do with # logging messages from the server @@ -230,6 +232,8 @@ class Tinfoil: self.shutdown() def prepare(self, config_only=False, config_params=None, quiet=0, extra_features=None): + self.quiet = quiet + if self.tracking: extrafeatures = [bb.cooker.CookerFeatures.BASEDATASTORE_TRACKING] else: @@ -434,6 +438,157 @@ class Tinfoil: """ return self.run_command('buildFile', buildfile, task, internal) + # FIXME internal mode + def build_targets(self, targets, task=None, handle_events=True, extra_events=None, event_callback=None): + """ + Builds the specified targets. This is equivalent to a normal invocation + of bitbake. Has built-in event handling which is enabled by default and + can be extended if needed. + Parameters: + targets: + One or more targets to build. Can be a list or a + space-separated string. + task: + The task to run; if None then the value of BB_DEFAULT_TASK + will be used. Default None. + handle_events: + True to handle events in a similar way to normal bitbake + invocation with knotty; False to return immediately (on the + assumption that the caller will handle the events instead). + Default True. + extra_events: + An optional list of events to add to the event mask (if + handle_events=True). If you add events here you also need + to specify a callback function in event_callback that will + handle the additional events. Default None. + event_callback: + An optional function taking a single parameter which + will be called first upon receiving any event (if + handle_events=True) so that the caller can override or + extend the event handling. Default None. + """ + if isinstance(targets, str): + targets = targets.split() + if not task: + task = self.config_data.getVar('BB_DEFAULT_TASK') + + if handle_events: + # A reasonable set of default events matching up with those we handle below + eventmask = [ + 'bb.event.BuildStarted', + 'bb.event.BuildCompleted', + 'logging.LogRecord', + 'bb.event.NoProvider', + 'bb.command.CommandCompleted', + 'bb.command.CommandFailed', + 'bb.build.TaskStarted', + 'bb.build.TaskFailed', + 'bb.build.TaskSucceeded', + 'bb.build.TaskFailedSilent', + 'bb.build.TaskProgress', + 'bb.runqueue.runQueueTaskStarted', + 'bb.runqueue.sceneQueueTaskStarted', + 'bb.event.ProcessStarted', + 'bb.event.ProcessProgress', + 'bb.event.ProcessFinished', + ] + if extra_events: + eventmask.extend(extra_events) + ret = self.set_event_mask(eventmask) + + ret = self.run_command('buildTargets', targets, task) + if handle_events: + result = False + # Borrowed from knotty, instead somewhat hackily we use the helper + # as the object to store "shutdown" on + helper = bb.ui.uihelper.BBUIHelper() + # We set up logging optionally in the constructor so now we need to + # grab the handlers to pass to TerminalFilter + console = None + errconsole = None + for handler in self.logger.handlers: + if isinstance(handler, logging.StreamHandler): + if handler.stream == sys.stdout: + console = handler + elif handler.stream == sys.stderr: + errconsole = handler + format_str = "%(levelname)s: %(message)s" + format = bb.msg.BBLogFormatter(format_str) + helper.shutdown = 0 + parseprogress = None + termfilter = bb.ui.knotty.TerminalFilter(helper, helper, console, errconsole, format, quiet=self.quiet) + try: + while True: + try: + event = self.wait_event(0.25) + if event: + if event_callback and event_callback(event): + continue + if helper.eventHandler(event): + continue + if isinstance(event, bb.event.ProcessStarted): + if self.quiet > 1: + continue + parseprogress = bb.ui.knotty.new_progress(event.processname, event.total) + parseprogress.start(False) + continue + if isinstance(event, bb.event.ProcessProgress): + if self.quiet > 1: + continue + if parseprogress: + parseprogress.update(event.progress) + else: + bb.warn("Got ProcessProgress event for someting that never started?") + continue + if isinstance(event, bb.event.ProcessFinished): + if self.quiet > 1: + continue + if parseprogress: + parseprogress.finish() + parseprogress = None + continue + if isinstance(event, bb.command.CommandCompleted): + result = True + break + if isinstance(event, bb.command.CommandFailed): + self.logger.error(str(event)) + result = False + break + if isinstance(event, logging.LogRecord): + if event.taskpid == 0 or event.levelno > logging.INFO: + self.logger.handle(event) + continue + if isinstance(event, bb.event.NoProvider): + self.logger.error(str(event)) + result = False + break + + elif helper.shutdown > 1: + break + termfilter.updateFooter() + except KeyboardInterrupt: + termfilter.clearFooter() + if helper.shutdown == 1: + print("\nSecond Keyboard Interrupt, stopping...\n") + ret = self.run_command("stateForceShutdown") + if ret and ret[2]: + self.logger.error("Unable to cleanly stop: %s" % ret[2]) + elif helper.shutdown == 0: + print("\nKeyboard Interrupt, closing down...\n") + interrupted = True + ret = self.run_command("stateShutdown") + if ret and ret[2]: + self.logger.error("Unable to cleanly shutdown: %s" % ret[2]) + helper.shutdown = helper.shutdown + 1 + termfilter.clearFooter() + finally: + termfilter.finish() + if helper.failed_tasks: + result = False + return result + else: + return ret + def shutdown(self): if self.server_connection: self.run_command('clientComplete') -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:44:21 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:44:21 +0000 Subject: [oe-commits] [bitbake] 14/14: knotty: make it possible to use termfilter without consoles In-Reply-To: <150041424764.25920.24736474911688395@git.openembedded.org> References: <150041424764.25920.24736474911688395@git.openembedded.org> Message-ID: <20170718214408.20BC32335B1@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 25239c4d511570d4ebb388528600158a98071e00 Author: Paul Eggleton AuthorDate: Thu Jun 29 13:50:36 2017 +0100 knotty: make it possible to use termfilter without consoles This isn't useful for knotty itself, but for use from tinfoil in case we can't get access to either the console or errconsole, allow either to be unspecified (None). Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/ui/knotty.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/bb/ui/knotty.py b/lib/bb/ui/knotty.py index c301982..f3900bd 100644 --- a/lib/bb/ui/knotty.py +++ b/lib/bb/ui/knotty.py @@ -207,8 +207,10 @@ class TerminalFilter(object): self.interactive = False bb.note("Unable to use interactive mode for this terminal, using fallback") return - console.addFilter(InteractConsoleLogFilter(self, format)) - errconsole.addFilter(InteractConsoleLogFilter(self, format)) + if console: + console.addFilter(InteractConsoleLogFilter(self, format)) + if errconsole: + errconsole.addFilter(InteractConsoleLogFilter(self, format)) self.main_progress = None -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:44:20 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:44:20 +0000 Subject: [oe-commits] [bitbake] 13/14: fetch2: fire an event when there are missing checksums In-Reply-To: <150041424764.25920.24736474911688395@git.openembedded.org> References: <150041424764.25920.24736474911688395@git.openembedded.org> Message-ID: <20170718214408.1B13D2335AF@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit ad98456b903867a159d75123d2d5450f54c3999e Author: Paul Eggleton AuthorDate: Tue Jun 27 15:54:37 2017 +0100 fetch2: fire an event when there are missing checksums If BB_STRICT_CHECKSUMS is set to anything other than "1" i.e. we're not going to raise an error, then fire an event so that scripts can listen for it and get the checksums. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/fetch2/__init__.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/bb/fetch2/__init__.py b/lib/bb/fetch2/__init__.py index 2e615b2..74ba37f 100644 --- a/lib/bb/fetch2/__init__.py +++ b/lib/bb/fetch2/__init__.py @@ -39,6 +39,7 @@ import errno import bb.persist_data, bb.utils import bb.checksum import bb.process +import bb.event __version__ = "2" _checksum_cache = bb.checksum.FileChecksumCache() @@ -142,6 +143,13 @@ class NonLocalMethod(Exception): def __init__(self): Exception.__init__(self) +class MissingChecksumEvent(bb.event.Event): + def __init__(self, url, md5sum, sha256sum): + self.url = url + self.checksums = {'md5sum': md5sum, + 'sha256sum': sha256sum} + bb.event.Event.__init__(self) + class URI(object): """ @@ -584,6 +592,8 @@ def verify_checksum(ud, d, precomputed={}): ud.sha256_name, sha256data)) raise NoChecksumError('Missing SRC_URI checksum', ud.url) + bb.event.fire(MissingChecksumEvent(ud.url, md5data, sha256data), d) + if strict == "ignore": return { _MD5_KEY: md5data, -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:44:17 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:44:17 +0000 Subject: [oe-commits] [bitbake] 10/14: tinfoil: add simple API for getting cached recipe information In-Reply-To: <150041424764.25920.24736474911688395@git.openembedded.org> References: <150041424764.25920.24736474911688395@git.openembedded.org> Message-ID: <20170718214408.08D1F2335AA@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit f5f06c4c65083784ac2de6b7769082965702cbc0 Author: Paul Eggleton AuthorDate: Mon Jun 12 11:44:24 2017 +0200 tinfoil: add simple API for getting cached recipe information A common task for tinfoil-using scripts is to iterate over all recipes. This isn't too difficult with the current API, but the pkg_* variables are a little awkward and are really designed for bitbake's internal usage - and it gets a bit more difficult when you want to access some of the other information such as packages and rprovides. To resolve this, create a new recipe info class and add an all_recipes() function to generate this for all recipes. Also add a get_recipe_info() function to get the information for a specific recipe (by PN). (It might perhaps be suggested that we already have a structure similar to this in the cache, however the one we add here is designed for external use and allows the internal structures to change if needed without affecting the API). Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/tinfoil.py | 142 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 142 insertions(+) diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index 0176b76..960468e 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -217,6 +217,82 @@ class TinfoilCookerAdapter: return self.tinfoil.find_best_provider(pn) +class TinfoilRecipeInfo: + """ + Provides a convenient representation of the cached information for a single recipe. + Some attributes are set on construction, others are read on-demand (which internally + may result in a remote procedure call to the bitbake server the first time). + Note that only information which is cached is available through this object - if + you need other variable values you will need to parse the recipe using + Tinfoil.parse_recipe(). + """ + def __init__(self, recipecache, d, pn, fn, fns): + self._recipecache = recipecache + self._d = d + self.pn = pn + self.fn = fn + self.fns = fns + self.inherit_files = recipecache.inherits[fn] + self.depends = recipecache.deps[fn] + (self.pe, self.pv, self.pr) = recipecache.pkg_pepvpr[fn] + self._cached_packages = None + self._cached_rprovides = None + self._cached_packages_dynamic = None + + def __getattr__(self, name): + if name == 'alternates': + return [x for x in self.fns if x != self.fn] + elif name == 'rdepends': + return self._recipecache.rundeps[self.fn] + elif name == 'rrecommends': + return self._recipecache.runrecs[self.fn] + elif name == 'provides': + return self._recipecache.fn_provides[self.fn] + elif name == 'packages': + if self._cached_packages is None: + self._cached_packages = [] + for pkg, fns in self._recipecache.packages.items(): + if self.fn in fns: + self._cached_packages.append(pkg) + return self._cached_packages + elif name == 'packages_dynamic': + if self._cached_packages_dynamic is None: + self._cached_packages_dynamic = [] + for pkg, fns in self._recipecache.packages_dynamic.items(): + if self.fn in fns: + self._cached_packages_dynamic.append(pkg) + return self._cached_packages_dynamic + elif name == 'rprovides': + if self._cached_rprovides is None: + self._cached_rprovides = [] + for pkg, fns in self._recipecache.rproviders.items(): + if self.fn in fns: + self._cached_rprovides.append(pkg) + return self._cached_rprovides + else: + raise AttributeError("%s instance has no attribute '%s'" % (self.__class__.__name__, name)) + def inherits(self, only_recipe=False): + """ + Get the inherited classes for a recipe. Returns the class names only. + Parameters: + only_recipe: True to return only the classes inherited by the recipe + itself, False to return all classes inherited within + the context for the recipe (which includes globally + inherited classes). + """ + if only_recipe: + global_inherit = [x for x in (self._d.getVar('BBINCLUDED') or '').split() if x.endswith('.bbclass')] + else: + global_inherit = [] + for clsfile in self.inherit_files: + if only_recipe and clsfile in global_inherit: + continue + clsname = os.path.splitext(os.path.basename(clsfile))[0] + yield clsname + def __str__(self): + return '%s' % self.pn + + class Tinfoil: def __init__(self, output=sys.stdout, tracking=False, setup_logging=True): @@ -401,6 +477,72 @@ class Tinfoil: def get_file_appends(self, fn): return self.run_command('getFileAppends', fn) + def all_recipes(self, mc='', sort=True): + """ + Enable iterating over all recipes in the current configuration. + Returns an iterator over TinfoilRecipeInfo objects created on demand. + Parameters: + mc: The multiconfig, default of '' uses the main configuration. + sort: True to sort recipes alphabetically (default), False otherwise + """ + recipecache = self.cooker.recipecaches[mc] + if sort: + recipes = sorted(recipecache.pkg_pn.items()) + else: + recipes = recipecache.pkg_pn.items() + for pn, fns in recipes: + prov = self.find_best_provider(pn) + recipe = TinfoilRecipeInfo(recipecache, + self.config_data, + pn=pn, + fn=prov[3], + fns=fns) + yield recipe + + def all_recipe_files(self, mc='', variants=True, preferred_only=False): + """ + Enable iterating over all recipe files in the current configuration. + Returns an iterator over file paths. + Parameters: + mc: The multiconfig, default of '' uses the main configuration. + variants: True to include variants of recipes created through + BBCLASSEXTEND (default) or False to exclude them + preferred_only: True to include only the preferred recipe where + multiple exist providing the same PN, False to list + all recipes + """ + recipecache = self.cooker.recipecaches[mc] + if preferred_only: + files = [] + for pn in recipecache.pkg_pn.keys(): + prov = self.find_best_provider(pn) + files.append(prov[3]) + else: + files = recipecache.pkg_fn.keys() + for fn in sorted(files): + if not variants and fn.startswith('virtual:'): + continue + yield fn + + + def get_recipe_info(self, pn, mc=''): + """ + Get information on a specific recipe in the current configuration by name (PN). + Returns a TinfoilRecipeInfo object created on demand. + Parameters: + mc: The multiconfig, default of '' uses the main configuration. + """ + recipecache = self.cooker.recipecaches[mc] + prov = self.find_best_provider(pn) + fn = prov[3] + actual_pn = recipecache.pkg_fn[fn] + recipe = TinfoilRecipeInfo(recipecache, + self.config_data, + pn=actual_pn, + fn=fn, + fns=recipecache.pkg_pn[actual_pn]) + return recipe + def parse_recipe(self, pn): """ Parse the specified recipe and return a datastore object -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:44:16 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:44:16 +0000 Subject: [oe-commits] [bitbake] 09/14: tinfoil: enable access to additional cached items In-Reply-To: <150041424764.25920.24736474911688395@git.openembedded.org> References: <150041424764.25920.24736474911688395@git.openembedded.org> Message-ID: <20170718214408.0268F2335A8@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 14b06cc69389f71a7a14ced203fb4001323aa627 Author: Paul Eggleton AuthorDate: Mon Jun 12 10:39:55 2017 +0200 tinfoil: enable access to additional cached items Add access to fn_provides, packages, packages_dynamic and rproviders on the recipecache object. This requires an additional corresponding command plumbing to be added. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/command.py | 32 ++++++++++++++++++++++++++++++++ lib/bb/tinfoil.py | 8 ++++++++ 2 files changed, 40 insertions(+) diff --git a/lib/bb/command.py b/lib/bb/command.py index 05803d6..0e0a35a 100644 --- a/lib/bb/command.py +++ b/lib/bb/command.py @@ -312,6 +312,38 @@ class CommandsSync: return command.cooker.recipecaches[mc].pkg_pepvpr getRecipeVersions.readonly = True + def getRecipeProvides(self, command, params): + try: + mc = params[0] + except IndexError: + mc = '' + return command.cooker.recipecaches[mc].fn_provides + getRecipeProvides.readonly = True + + def getRecipePackages(self, command, params): + try: + mc = params[0] + except IndexError: + mc = '' + return command.cooker.recipecaches[mc].packages + getRecipePackages.readonly = True + + def getRecipePackagesDynamic(self, command, params): + try: + mc = params[0] + except IndexError: + mc = '' + return command.cooker.recipecaches[mc].packages_dynamic + getRecipePackagesDynamic.readonly = True + + def getRProviders(self, command, params): + try: + mc = params[0] + except IndexError: + mc = '' + return command.cooker.recipecaches[mc].rproviders + getRProviders.readonly = True + def getRuntimeDepends(self, command, params): ret = [] try: diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index 945bd4b..0176b76 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -173,6 +173,14 @@ class TinfoilCookerAdapter: attrvalue = self.tinfoil.run_command('getBbFilePriority') or {} elif name == 'pkg_dp': attrvalue = self.tinfoil.run_command('getDefaultPreference') or {} + elif name == 'fn_provides': + attrvalue = self.tinfoil.run_command('getRecipeProvides') or {} + elif name == 'packages': + attrvalue = self.tinfoil.run_command('getRecipePackages') or {} + elif name == 'packages_dynamic': + attrvalue = self.tinfoil.run_command('getRecipePackagesDynamic') or {} + elif name == 'rproviders': + attrvalue = self.tinfoil.run_command('getRProviders') or {} else: raise AttributeError("%s instance has no attribute '%s'" % (self.__class__.__name__, name)) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:44:19 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:44:19 +0000 Subject: [oe-commits] [bitbake] 12/14: fetch2: allow hiding checksum warning In-Reply-To: <150041424764.25920.24736474911688395@git.openembedded.org> References: <150041424764.25920.24736474911688395@git.openembedded.org> Message-ID: <20170718214408.155F22335AD@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit b0c23d1ba9d62367cfcf07bfbbe3dc2c078f5944 Author: Paul Eggleton AuthorDate: Tue Jun 27 15:51:32 2017 +0100 fetch2: allow hiding checksum warning If BB_STRICT_CHECKSUMS is set to "ignore" then don't display a warning if no checksums are specified in the recipe. This is not intended to be used from recipes - it is needed when we move to using more standard code paths to fetch new files from scripts i.e. where we don't know what the checksums are in advance. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/fetch2/__init__.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/bb/fetch2/__init__.py b/lib/bb/fetch2/__init__.py index 5c02317..2e615b2 100644 --- a/lib/bb/fetch2/__init__.py +++ b/lib/bb/fetch2/__init__.py @@ -584,6 +584,12 @@ def verify_checksum(ud, d, precomputed={}): ud.sha256_name, sha256data)) raise NoChecksumError('Missing SRC_URI checksum', ud.url) + if strict == "ignore": + return { + _MD5_KEY: md5data, + _SHA256_KEY: sha256data + } + # Log missing sums so user can more easily add them logger.warning('Missing md5 SRC_URI checksum for %s, consider adding to the recipe:\n' 'SRC_URI[%s] = "%s"', -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 21:44:18 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 21:44:18 +0000 Subject: [oe-commits] [bitbake] 11/14: tinfoil: add more doc comments In-Reply-To: <150041424764.25920.24736474911688395@git.openembedded.org> References: <150041424764.25920.24736474911688395@git.openembedded.org> Message-ID: <20170718214408.0EF3A2335AB@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 9901b582a6d2e21ec4596476ab736b5aee99912c Author: Paul Eggleton AuthorDate: Thu Jun 15 15:23:56 2017 +0200 tinfoil: add more doc comments Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/tinfoil.py | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index 960468e..f84a08f 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -55,6 +55,7 @@ class TinfoilCommandFailed(Exception): """Exception raised when run_command fails""" class TinfoilDataStoreConnector: + """Connector object used to enable access to datastore objects via tinfoil""" def __init__(self, tinfoil, dsindex): self.tinfoil = tinfoil @@ -294,8 +295,25 @@ class TinfoilRecipeInfo: class Tinfoil: + """ + Tinfoil - an API for scripts and utilities to query + BitBake internals and perform build operations. + """ def __init__(self, output=sys.stdout, tracking=False, setup_logging=True): + """ + Create a new tinfoil object. + Parameters: + output: specifies where console output should be sent. Defaults + to sys.stdout. + tracking: True to enable variable history tracking, False to + disable it (default). Enabling this has a minor + performance impact so typically it isn't enabled + unless you need to query variable history. + setup_logging: True to setup a logger so that things like + bb.warn() will work immediately and timeout warnings + are visible; False to let BitBake do this itself. + """ self.logger = logging.getLogger('BitBake') self.config_data = None self.cooker = None @@ -316,6 +334,37 @@ class Tinfoil: self.shutdown() def prepare(self, config_only=False, config_params=None, quiet=0, extra_features=None): + """ + Prepares the underlying BitBake system to be used via tinfoil. + This function must be called prior to calling any of the other + functions in the API. + NOTE: if you call prepare() you must absolutely call shutdown() + before your code terminates. You can use a "with" block to ensure + this happens e.g. + + with bb.tinfoil.Tinfoil() as tinfoil: + tinfoil.prepare() + ... + + Parameters: + config_only: True to read only the configuration and not load + the cache / parse recipes. This is useful if you just + want to query the value of a variable at the global + level or you want to do anything else that doesn't + involve knowing anything about the recipes in the + current configuration. False loads the cache / parses + recipes. + config_params: optionally specify your own configuration + parameters. If not specified an instance of + TinfoilConfigParameters will be created internally. + quiet: quiet level controlling console output - equivalent + to bitbake's -q/--quiet option. Default of 0 gives + the same output level as normal bitbake execution. + extra_features: extra features to be added to the feature + set requested from the server. See + CookerFeatures._feature_list for possible + features. + """ self.quiet = quiet if self.tracking: @@ -440,9 +489,16 @@ class Tinfoil: return self.server_connection.events.waitEvent(timeout) def get_overlayed_recipes(self): + """ + Find recipes which are overlayed (i.e. where recipes exist in multiple layers) + """ return defaultdict(list, self.run_command('getOverlayedRecipes')) def get_skipped_recipes(self): + """ + Find recipes which were skipped (i.e. SkipRecipe was raised + during parsing). + """ return OrderedDict(self.run_command('getSkippedRecipes')) def get_all_providers(self): @@ -475,6 +531,9 @@ class Tinfoil: return best[3] def get_file_appends(self, fn): + """ + Find the bbappends for a recipe file + """ return self.run_command('getFileAppends', fn) def all_recipes(self, mc='', sort=True): @@ -740,6 +799,12 @@ class Tinfoil: return ret def shutdown(self): + """ + Shut down tinfoil. Disconnects from the server and gracefully + releases any associated resources. You must call this function if + prepare() has been called, or use a with... block when you create + the tinfoil object which will ensure that it gets called. + """ if self.server_connection: self.run_command('clientComplete') _server_connections.remove(self.server_connection) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 22:01:31 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 22:01:31 +0000 Subject: [oe-commits] [openembedded-core] branch master-next updated: oe-init-build-env-memres: Drop it Message-ID: <150041529121.32147.4705690711088692005@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. The following commit(s) were added to refs/heads/master-next by this push: new 74a615f oe-init-build-env-memres: Drop it 74a615f is described below commit 74a615f6037ed697d05c7ecd37e8f0c450073376 Author: Richard Purdie AuthorDate: Tue Jul 18 22:52:07 2017 +0100 oe-init-build-env-memres: Drop it With the new server structure we no longer need this separate environment init script. Just set BB_SERVER_TIMEOUT to be greater than zero and bitbake will remain in memory and the UI will auto-reconnect to it. Also clean out the old shutdown code from oe-init-build-env which also doesn't make sense now. Signed-off-by: Richard Purdie --- oe-init-build-env | 8 ----- oe-init-build-env-memres | 90 ------------------------------------------------ 2 files changed, 98 deletions(-) diff --git a/oe-init-build-env b/oe-init-build-env index 5fe68d1..e813230 100755 --- a/oe-init-build-env +++ b/oe-init-build-env @@ -57,11 +57,3 @@ unset OEROOT [ -z "$BUILDDIR" ] || cd "$BUILDDIR" -# Shutdown any bitbake server if the BBSERVER variable is not set -if [ -z "$BBSERVER" ] && [ -f bitbake.lock ]; then - grep ":" bitbake.lock > /dev/null && BBSERVER=$(cat bitbake.lock) bitbake --status-only - if [ $? = 0 ]; then - echo "Shutting down bitbake memory resident server with bitbake -m" - BBSERVER=$(cat bitbake.lock) bitbake -m - fi -fi diff --git a/oe-init-build-env-memres b/oe-init-build-env-memres deleted file mode 100755 index 3f0d239..0000000 --- a/oe-init-build-env-memres +++ /dev/null @@ -1,90 +0,0 @@ -#!/bin/sh - -# OE Build Environment Setup Script -# -# Copyright (C) 2006-2011 Linux Foundation -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -# -# Normally this is called as '. ./oe-init-build-env-memres [portnumber]' -# -# This works in most shells (not dash), but not all of them pass the arguments -# when being sourced. To workaround the shell limitation use "set -# [portnumber]" prior to sourcing this script. -# -if [ -z "$2" ]; then - echo "No port specified, using dynamically selected port" - port=-1 -else - port=$2 - set -- "$1" "$3" "$4" "$5" "$6" -fi - -if [ -n "$BASH_SOURCE" ]; then - THIS_SCRIPT=$BASH_SOURCE -elif [ -n "$ZSH_NAME" ]; then - THIS_SCRIPT=$0 -else - THIS_SCRIPT="$(pwd)/oe-init-build-env" -fi -if [ -n "$BBSERVER" ]; then - unset BBSERVER -fi - -if [ -z "$ZSH_NAME" ] && [ "$0" = "$THIS_SCRIPT" ]; then - echo "Error: This script needs to be sourced. Please run as '. $THIS_SCRIPT'" - exit 1 -fi - -if [ -z "$OEROOT" ]; then - OEROOT=$(dirname "$THIS_SCRIPT") - OEROOT=$(readlink -f "$OEROOT") -fi -unset THIS_SCRIPT - -export OEROOT -. $OEROOT/scripts/oe-buildenv-internal && - TEMPLATECONF="$TEMPLATECONF" $OEROOT/scripts/oe-setup-builddir || { - unset OEROOT - return 1 -} -unset OEROOT - -[ -z "$BUILDDIR" ] || cd "$BUILDDIR" - -res=1 -if [ -e bitbake.lock ] && grep : bitbake.lock > /dev/null; then - BBSERVER=$(cat bitbake.lock) bitbake --status-only - res=$? -fi - -if [ $res != 0 ]; then - bitbake --server-only -t xmlrpc -B localhost:$port -fi - -if [ $port = -1 ]; then - export BBSERVER=localhost:-1 - echo "Bitbake server started on demand as needed, use bitbake -m to shut it down" -else - export BBSERVER=$(cat bitbake.lock) - - if [ $res = 0 ]; then - echo "Using existing bitbake server at: $BBSERVER, use bitbake -m to shut it down" - else - echo "Bitbake server started at: $BBSERVER, use bitbake -m to shut it down" - fi -fi -unset port res -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 22:01:43 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 22:01:43 +0000 Subject: [oe-commits] [bitbake] branch master-next updated (25239c4 -> bfcfa54) Message-ID: <150041530321.554.6317195582345544979@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master-next in repository bitbake. from 25239c4 knotty: make it possible to use termfilter without consoles new cfa9456 server/process.py: fix self.bitbake_lock.write() new 1fb394c bb/main.py: fix infinite loop for --server-only new 19a7e6b bb/main.py: avoid starting server when not needed new bfcfa54 bb/main.py: fix logic for --observe-only The 4 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: lib/bb/main.py | 14 ++++++++++---- lib/bb/server/process.py | 4 ++-- 2 files changed, 12 insertions(+), 6 deletions(-) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 22:01:46 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 22:01:46 +0000 Subject: [oe-commits] [bitbake] 03/04: bb/main.py: avoid starting server when not needed In-Reply-To: <150041530321.554.6317195582345544979@git.openembedded.org> References: <150041530321.554.6317195582345544979@git.openembedded.org> Message-ID: <20170718220143.5C7B12335A6@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 19a7e6b7e5b668b1f51f99234db007df8b82fc1d Author: Robert Yang AuthorDate: Mon Jul 17 01:27:14 2017 -0700 bb/main.py: avoid starting server when not needed Fixed 1: $ . ../poky/oe-init-build-env-memres . $ bitbake -m $ bitbake -m # shutdown it again $ bitbake -m Starting bitbake server... Terminated bitbake server. It starts the server and kill it which is redundant. $ bitbake -m $ bitbake --status-only Starting bitbake server... It starts the server which is not what we need. Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- lib/bb/main.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/bb/main.py b/lib/bb/main.py index fb3271f..9bb0710 100755 --- a/lib/bb/main.py +++ b/lib/bb/main.py @@ -368,8 +368,10 @@ def bitbake_main(configParams, configuration): configuration.debug_domains) server_connection, ui_module = setup_bitbake(configParams, configuration) - if server_connection is None and configParams.kill_server: - return 0 + # No server connection + if server_connection is None: + if configParams.status_only or configParams.kill_server: + return 1 if not configParams.server_only: if configParams.status_only: @@ -426,6 +428,10 @@ def setup_bitbake(configParams, configuration, extrafeatures=None, setup_logging topdir, lock = lockBitbake() sockname = topdir + "/bitbake.sock" if lock: + if configParams.status_only or configParams.kill_server: + print("bitbake server is not running.") + lock.close() + return None, None # we start a server with a given configuration print("Starting bitbake server...") server = bb.server.process.BitBakeServer(lock, sockname, configuration, featureset) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 22:01:44 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 22:01:44 +0000 Subject: [oe-commits] [bitbake] 01/04: server/process.py: fix self.bitbake_lock.write() In-Reply-To: <150041530321.554.6317195582345544979@git.openembedded.org> References: <150041530321.554.6317195582345544979@git.openembedded.org> Message-ID: <20170718220143.4C4D42335A3@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit cfa9456ef65ec8008f0e7c5ab69ebfd20163d136 Author: Robert Yang AuthorDate: Fri Jul 14 02:52:03 2017 -0700 server/process.py: fix self.bitbake_lock.write() There is no global var "configuration", so the old code hang at self.bitbake_lock.write(), and nothing wrote to bitbake.lock. I didn't figure out why it hang (but not print errors). Reproducer: $ bitbake -B localhost:-1 world -k Check bitbake.log, there was nothing, now fixed. Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- lib/bb/server/process.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/bb/server/process.py b/lib/bb/server/process.py index a1d9adc..23e033a 100644 --- a/lib/bb/server/process.py +++ b/lib/bb/server/process.py @@ -95,8 +95,8 @@ class ProcessServer(multiprocessing.Process): try: self.bitbake_lock.seek(0) self.bitbake_lock.truncate() - if self.xmlrpcinterface[0]: - self.bitbake_lock.write("%s %s:%s\n" % (os.getpid(), configuration.interface[0], configuration.interface[1])) + if self.xmlrpc: + self.bitbake_lock.write("%s %s:%s\n" % (os.getpid(), self.xmlrpc.host, self.xmlrpc.port)) else: self.bitbake_lock.write("%s\n" % (os.getpid())) self.bitbake_lock.flush() -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 22:01:45 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 22:01:45 +0000 Subject: [oe-commits] [bitbake] 02/04: bb/main.py: fix infinite loop for --server-only In-Reply-To: <150041530321.554.6317195582345544979@git.openembedded.org> References: <150041530321.554.6317195582345544979@git.openembedded.org> Message-ID: <20170718220143.55D532335A5@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 1fb394c962c06ff7912fcab12b0c0b968181832b Author: Robert Yang AuthorDate: Fri Jul 14 02:58:12 2017 -0700 bb/main.py: fix infinite loop for --server-only Fixed: $ bitbake --server-only -B localhost:-1 Infinite loop Reconnecting to bitbake server... [snip] Break the loop when server-only can fix the problem. Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- lib/bb/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/bb/main.py b/lib/bb/main.py index 8033519..fb3271f 100755 --- a/lib/bb/main.py +++ b/lib/bb/main.py @@ -437,7 +437,7 @@ def setup_bitbake(configParams, configuration, extrafeatures=None, setup_logging raise bb.server.process.ProcessTimeout if not configParams.server_only: server_connection = bb.server.process.connectProcessServer(sockname, featureset) - if server_connection: + if server_connection or configParams.server_only: break except Exception as e: if not retries: -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 18 22:01:47 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 18 Jul 2017 22:01:47 +0000 Subject: [oe-commits] [bitbake] 04/04: bb/main.py: fix logic for --observe-only In-Reply-To: <150041530321.554.6317195582345544979@git.openembedded.org> References: <150041530321.554.6317195582345544979@git.openembedded.org> Message-ID: <20170718220143.63B342335A8@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit bfcfa54faad6ab5fb1eb73f15567a01ac65fd87c Author: Robert Yang AuthorDate: Mon Jul 17 03:17:03 2017 -0700 bb/main.py: fix logic for --observe-only Fixed: $ bitbake --observe-only FATAL: '--observe-only' can only be used by UI clients connecting to a server. And even: $bitbake --observe-only -B localhost:-1 FATAL: '--observe-only' can only be used by UI clients connecting to a server. This was beucase the brackets were in a wrong position. Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- lib/bb/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/bb/main.py b/lib/bb/main.py index 9bb0710..8e07350 100755 --- a/lib/bb/main.py +++ b/lib/bb/main.py @@ -355,7 +355,7 @@ def bitbake_main(configParams, configuration): ("the BBSERVER environment variable" if "BBSERVER" in os.environ \ else "the '--remote-server' option")) - if configParams.observe_only and (not configParams.remote_server or configParams.bind): + if configParams.observe_only and not (configParams.remote_server or configParams.bind): raise BBMainException("FATAL: '--observe-only' can only be used by UI clients " "connecting to a server.\n") -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 09:43:16 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 09:43:16 +0000 Subject: [oe-commits] [bitbake] 02/18: cookerdata/cooker: Restore original datastore upon client disconnect In-Reply-To: <150045739415.1580.1132759982017676329@git.openembedded.org> References: <150045739415.1580.1132759982017676329@git.openembedded.org> Message-ID: <20170719094314.646D42335AB@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit f43b11914477394c484752e6f5a7f44e1b433b3c Author: Richard Purdie AuthorDate: Tue Jul 18 17:50:24 2017 +0100 cookerdata/cooker: Restore original datastore upon client disconnect Signed-off-by: Richard Purdie --- lib/bb/cooker.py | 2 ++ lib/bb/cookerdata.py | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py index e27763e..daffe67 100644 --- a/lib/bb/cooker.py +++ b/lib/bb/cooker.py @@ -1566,6 +1566,8 @@ class BBCooker: def clientComplete(self): """Called when the client is done using the server""" self.finishcommand() + self.databuilder.reset() + self.data = self.databuilder.data def server_main(cooker, func, *args): cooker.pre_serve() diff --git a/lib/bb/cookerdata.py b/lib/bb/cookerdata.py index d05abfe..b3a3f04 100644 --- a/lib/bb/cookerdata.py +++ b/lib/bb/cookerdata.py @@ -328,6 +328,13 @@ class CookerDataBuilder(object): logger.exception("Error parsing configuration files") raise bb.BBHandledException + # Create a copy so we can reset at a later date when UIs disconnect + self.origdata = self.data + self.data = bb.data.createCopy(self.origdata) + + def reset(self): + self.data = bb.data.createCopy(self.origdata) + def _findLayerConf(self, data): return findConfigFile("bblayers.conf", data) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 09:43:18 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 09:43:18 +0000 Subject: [oe-commits] [bitbake] 04/18: tinfoil: add a parse_recipes() function In-Reply-To: <150045739415.1580.1132759982017676329@git.openembedded.org> References: <150045739415.1580.1132759982017676329@git.openembedded.org> Message-ID: <20170719094314.734752335AF@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit fe6b1bc4a9f11ea5ea2c1696102a3d137da5e6a8 Author: Paul Eggleton AuthorDate: Wed May 17 17:10:35 2017 +1200 tinfoil: add a parse_recipes() function Python style recommends underscore based naming rather than camelCase, and thus the former has been used for most of tinfoil's functions. Add an underscored version of parseRecipes() for consistency and change the one place we call it to use the new version. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- bin/bitbake-layers | 2 +- lib/bb/tinfoil.py | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/bin/bitbake-layers b/bin/bitbake-layers index 04e6bec..d184011 100755 --- a/bin/bitbake-layers +++ b/bin/bitbake-layers @@ -90,7 +90,7 @@ def main(): if getattr(args, 'parserecipes', False): tinfoil.config_data.disableTracking() - tinfoil.parseRecipes() + tinfoil.parse_recipes() tinfoil.config_data.enableTracking() return args.func(args) diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index 65ebdc2..ddc7b06 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -289,7 +289,13 @@ class Tinfoil: def parseRecipes(self): """ - Force a parse of all recipes. Normally you should specify + Legacy function - use parse_recipes() instead. + """ + self.parse_recipes() + + def parse_recipes(self): + """ + Load information on all recipes. Normally you should specify config_only=False when calling prepare() instead of using this function; this function is designed for situations where you need to initialise Tinfoil and use it with config_only=True first and -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 09:43:17 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 09:43:17 +0000 Subject: [oe-commits] [bitbake] 03/18: tinfoil: add internal mode to build_file() function In-Reply-To: <150045739415.1580.1132759982017676329@git.openembedded.org> References: <150045739415.1580.1132759982017676329@git.openembedded.org> Message-ID: <20170719094314.6C7002335AD@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 6c68a45bdfc22f7749b98cfd8a017bf2963105a6 Author: Paul Eggleton AuthorDate: Tue May 16 15:50:45 2017 +1200 tinfoil: add internal mode to build_file() function In OE's devtool we want to repeatedly run build_file() without showing unnecessary messages and triggering buildhistory for each call. build_file() is just a wrapper around the buildFile command. Change the final "hidewarning" parameter of the buildFile command to "internal" and have this call a new buildFileInternal() function without triggering any of the normal build events, silencing the normal info messages from the runqueue ("Executing RunQueue Tasks", "Tasks Summary" etc.) and avoiding calling parseConfiguration() which we've already done at this point. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/command.py | 9 ++++++--- lib/bb/cooker.py | 34 +++++++++++++++++++++++++--------- lib/bb/tinfoil.py | 9 ++++++--- 3 files changed, 37 insertions(+), 15 deletions(-) diff --git a/lib/bb/command.py b/lib/bb/command.py index eb7c86f..c06ab07 100644 --- a/lib/bb/command.py +++ b/lib/bb/command.py @@ -548,11 +548,14 @@ class CommandsAsync: bfile = params[0] task = params[1] if len(params) > 2: - hidewarning = params[2] + internal = params[2] else: - hidewarning = False + internal = False - command.cooker.buildFile(bfile, task, hidewarning) + if internal: + command.cooker.buildFileInternal(bfile, task, fireevents=False, quietlog=True) + else: + command.cooker.buildFile(bfile, task) buildFile.needcache = False def buildTargets(self, command, params): diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py index daffe67..1625d3c 100644 --- a/lib/bb/cooker.py +++ b/lib/bb/cooker.py @@ -1219,21 +1219,27 @@ class BBCooker: raise NoSpecificMatch return matches[0] - def buildFile(self, buildfile, task, hidewarning=False): + def buildFile(self, buildfile, task): """ Build the file matching regexp buildfile """ bb.event.fire(bb.event.BuildInit(), self.data) - if not hidewarning: - # Too many people use -b because they think it's how you normally - # specify a target to be built, so show a warning - bb.warn("Buildfile specified, dependencies will not be handled. If this is not what you want, do not use -b / --buildfile.") + # Too many people use -b because they think it's how you normally + # specify a target to be built, so show a warning + bb.warn("Buildfile specified, dependencies will not be handled. If this is not what you want, do not use -b / --buildfile.") # Parse the configuration here. We need to do it explicitly here since # buildFile() doesn't use the cache self.parseConfiguration() + self.buildFileInternal(buildfile, task) + + def buildFileInternal(self, buildfile, task, fireevents=True, quietlog=False): + """ + Build the file matching regexp buildfile + """ + # If we are told to do the None task then query the default task if (task == None): task = self.configuration.cmd @@ -1270,8 +1276,8 @@ class BBCooker: # Remove external dependencies self.recipecaches[mc].task_deps[fn]['depends'] = {} self.recipecaches[mc].deps[fn] = [] - self.recipecaches[mc].rundeps[fn] = [] - self.recipecaches[mc].runrecs[fn] = [] + self.recipecaches[mc].rundeps[fn] = defaultdict(list) + self.recipecaches[mc].runrecs[fn] = defaultdict(list) # Invalidate task for target if force mode active if self.configuration.force: @@ -1283,8 +1289,13 @@ class BBCooker: taskdata[mc] = bb.taskdata.TaskData(self.configuration.abort) taskdata[mc].add_provider(self.databuilder.mcdata[mc], self.recipecaches[mc], item) + if quietlog: + rqloglevel = bb.runqueue.logger.getEffectiveLevel() + bb.runqueue.logger.setLevel(logging.WARNING) + buildname = self.databuilder.mcdata[mc].getVar("BUILDNAME") - bb.event.fire(bb.event.BuildStarted(buildname, [item]), self.databuilder.mcdata[mc]) + if fireevents: + bb.event.fire(bb.event.BuildStarted(buildname, [item]), self.databuilder.mcdata[mc]) # Execute the runqueue runlist = [[mc, item, task, fn]] @@ -1311,11 +1322,16 @@ class BBCooker: retval = False except SystemExit as exc: self.command.finishAsyncCommand(str(exc)) + if quietlog: + bb.runqueue.logger.setLevel(rqloglevel) return False if not retval: - bb.event.fire(bb.event.BuildCompleted(len(rq.rqdata.runtaskentries), buildname, item, failures, interrupted), self.databuilder.mcdata[mc]) + if fireevents: + bb.event.fire(bb.event.BuildCompleted(len(rq.rqdata.runtaskentries), buildname, item, failures, interrupted), self.databuilder.mcdata[mc]) self.command.finishAsyncCommand(msg) + if quietlog: + bb.runqueue.logger.setLevel(rqloglevel) return False if retval is True: return True diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index 303ce02..65ebdc2 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -415,12 +415,15 @@ class Tinfoil: else: return None - def build_file(self, buildfile, task): + def build_file(self, buildfile, task, internal=True): """ Runs the specified task for just a single recipe (i.e. no dependencies). - This is equivalent to bitbake -b, except no warning will be printed. + This is equivalent to bitbake -b, except with the default internal=True + no warning about dependencies will be produced, normal info messages + from the runqueue will be silenced and BuildInit, BuildStarted and + BuildCompleted events will not be fired. """ - return self.run_command('buildFile', buildfile, task, True) + return self.run_command('buildFile', buildfile, task, internal) def shutdown(self): if self.server_connection: -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 09:43:14 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 09:43:14 +0000 Subject: [oe-commits] [bitbake] branch master-next updated (bfcfa54 -> 6cb2032) Message-ID: <150045739415.1580.1132759982017676329@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master-next in repository bitbake. discard bfcfa54 bb/main.py: fix logic for --observe-only discard 19a7e6b bb/main.py: avoid starting server when not needed discard 1fb394c bb/main.py: fix infinite loop for --server-only discard cfa9456 server/process.py: fix self.bitbake_lock.write() discard 25239c4 knotty: make it possible to use termfilter without consoles discard ad98456 fetch2: fire an event when there are missing checksums discard b0c23d1 fetch2: allow hiding checksum warning discard 9901b58 tinfoil: add more doc comments discard f5f06c4 tinfoil: add simple API for getting cached recipe information discard 14b06cc tinfoil: enable access to additional cached items discard d4fa7ac tinfoil: add functionality for running full builds discard e54904f lib/bb/ui/uihelper: indicate to caller of eventHandler() if events handled discard de45f4b lib/bb/event: refactor printing events discard 6231140 tinfoil: set a flag when recipes have been parsed discard 85bb41d tinfoil: add a parse_recipes() function discard 1268c7d tinfoil: add internal mode to build_file() function discard 573b473 cookerdata/cooker: Restore original datastore upon client disconnect discard c0a1cf2 server: Rework the server API so process and xmlrpc servers coexist new d619179 server: Rework the server API so process and xmlrpc servers coexist new f43b119 cookerdata/cooker: Restore original datastore upon client disconnect new 6c68a45 tinfoil: add internal mode to build_file() function new fe6b1bc tinfoil: add a parse_recipes() function new b5ea057 tinfoil: set a flag when recipes have been parsed new 4bdb849 lib/bb/event: refactor printing events new 33a77f7 lib/bb/ui/uihelper: indicate to caller of eventHandler() if events handled new 30d456d tinfoil: add functionality for running full builds new b5242a8 tinfoil: enable access to additional cached items new 2c41cd8 tinfoil: add simple API for getting cached recipe information new 06c8544 tinfoil: add more doc comments new ecedff5 fetch2: allow hiding checksum warning new 20685e1 fetch2: fire an event when there are missing checksums new de549f7 knotty: make it possible to use termfilter without consoles new d26905b server/process.py: fix self.bitbake_lock.write() new 03e97e3 bb/main.py: fix infinite loop for --server-only new f4b00e0 bb/main.py: avoid starting server when not needed new 6cb2032 bb/main.py: fix logic for --observe-only This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (bfcfa54) \ N -- N -- N refs/heads/master-next (6cb2032) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 18 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: lib/bb/main.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 09:43:15 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 09:43:15 +0000 Subject: [oe-commits] [bitbake] 01/18: server: Rework the server API so process and xmlrpc servers coexist In-Reply-To: <150045739415.1580.1132759982017676329@git.openembedded.org> References: <150045739415.1580.1132759982017676329@git.openembedded.org> Message-ID: <20170719094314.598272335AA@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit d6191791c3665ffad5b804b04e4ef474051680bb Author: Richard Purdie AuthorDate: Tue Jul 18 22:28:40 2017 +0100 server: Rework the server API so process and xmlrpc servers coexist This changes the way bitbake server works quite radically. Now, the server is always a process based server with the option of starting an XMLRPC listener on a specific inferface/port. Behind the scenes this is done with a "bitbake.sock" file alongside the bitbake.lock file. If we can obtain the lock, we know we need to start a server. The server always listens on the socket and UIs can then connect to this. UIs connect by sending a set of three file descriptors over the domain socket, one for sending commands, one for receiving command results and the other for receiving events. These changes meant we can throw away all the horrid server abstraction code, the plugable transport option to bitbake and the code becomes much more readable and debuggable. It also likely removes a ton of ways you could hang the UI/cooker in weird ways due to all the race conditions that existed with previous processes. Changes: * The foreground option for bitbake-server was dropped. Just tail the log if you really want this, the codepaths were complicated enough without adding one for this. * BBSERVER="autodetect" was dropped. The server will autostart and autoconnect in process mode. You have to specify an xmlrpc server address since that can't be autodetected. I can't see a use case for autodetect now. * The transport/servetype option to bitbake was dropped. * A BB_SERVER_TIMEOUT variable is added which allows the server to stay resident for a period of time after the last client disconnects before unloading. This is used if the -T/--idle-timeout option is not passed to bitbake. This change is invasive and may well introduce new issues however I believe the codebase is in a much better position for further development and debugging. Signed-off-by: Richard Purdie --- lib/bb/cooker.py | 58 +---- lib/bb/cookerdata.py | 5 +- lib/bb/main.py | 228 ++++++---------- lib/bb/server/__init__.py | 6 - lib/bb/server/process.py | 592 +++++++++++++++++++++++++++--------------- lib/bb/server/xmlrpc.py | 492 ----------------------------------- lib/bb/server/xmlrpcclient.py | 154 +++++++++++ lib/bb/server/xmlrpcserver.py | 158 +++++++++++ lib/bb/tinfoil.py | 2 +- lib/prserv/serv.py | 4 +- 10 files changed, 783 insertions(+), 916 deletions(-) diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py index b1311bb..e27763e 100644 --- a/lib/bb/cooker.py +++ b/lib/bb/cooker.py @@ -215,19 +215,6 @@ class BBCooker: self.configuration.server_register_idlecallback(_process_inotify_updates, [self.confignotifier, self.notifier]) - # Take a lock so only one copy of bitbake can run against a given build - # directory at a time - if not self.lockBitbake(): - bb.fatal("Only one copy of bitbake should be run against a build directory") - try: - self.lock.seek(0) - self.lock.truncate() - if len(configuration.interface) >= 2: - self.lock.write("%s:%s\n" % (configuration.interface[0], configuration.interface[1])); - self.lock.flush() - except: - pass - # TOSTOP must not be set or our children will hang when they output try: fd = sys.stdout.fileno() @@ -1557,33 +1544,6 @@ class BBCooker: def post_serve(self): prserv.serv.auto_shutdown(self.data) bb.event.fire(CookerExit(), self.data) - lockfile = self.lock.name - self.lock.close() - self.lock = None - - while not self.lock: - with bb.utils.timeout(3): - self.lock = bb.utils.lockfile(lockfile, shared=False, retry=False, block=True) - if not self.lock: - # Some systems may not have lsof available - procs = None - try: - procs = subprocess.check_output(["lsof", '-w', lockfile], stderr=subprocess.STDOUT) - except OSError as e: - if e.errno != errno.ENOENT: - raise - if procs is None: - # Fall back to fuser if lsof is unavailable - try: - procs = subprocess.check_output(["fuser", '-v', lockfile], stderr=subprocess.STDOUT) - except OSError as e: - if e.errno != errno.ENOENT: - raise - - msg = "Delaying shutdown due to active processes which appear to be holding bitbake.lock" - if procs: - msg += ":\n%s" % str(procs) - print(msg) def shutdown(self, force = False): @@ -1605,23 +1565,7 @@ class BBCooker: def clientComplete(self): """Called when the client is done using the server""" - if self.configuration.server_only: - self.finishcommand() - else: - self.shutdown(True) - - def lockBitbake(self): - if not hasattr(self, 'lock'): - self.lock = None - if self.data: - lockfile = self.data.expand("${TOPDIR}/bitbake.lock") - if lockfile: - self.lock = bb.utils.lockfile(lockfile, False, False) - return self.lock - - def unlockBitbake(self): - if hasattr(self, 'lock') and self.lock: - bb.utils.unlockfile(self.lock) + self.finishcommand() def server_main(cooker, func, *args): cooker.pre_serve() diff --git a/lib/bb/cookerdata.py b/lib/bb/cookerdata.py index 6511dcb..d05abfe 100644 --- a/lib/bb/cookerdata.py +++ b/lib/bb/cookerdata.py @@ -76,7 +76,7 @@ class ConfigParameters(object): for o in ["abort", "tryaltconfigs", "force", "invalidate_stamp", "verbose", "debug", "dry_run", "dump_signatures", "debug_domains", "extra_assume_provided", "profile", - "prefile", "postfile", "tracking"]: + "prefile", "postfile", "tracking", "server_timeout"]: options[o] = getattr(self.options, o) ret, error = server.runCommand(["updateConfig", options, environment, sys.argv]) @@ -144,7 +144,8 @@ class CookerConfiguration(object): self.dump_signatures = [] self.dry_run = False self.tracking = False - self.interface = [] + self.xmlrpcinterface = [] + self.server_timeout = None self.writeeventlog = False self.server_only = False self.limited_deps = False diff --git a/lib/bb/main.py b/lib/bb/main.py index 29e3911..c55052f 100755 --- a/lib/bb/main.py +++ b/lib/bb/main.py @@ -28,6 +28,8 @@ import logging import optparse import warnings import fcntl +import time +import traceback import bb from bb import event @@ -37,6 +39,9 @@ from bb import ui from bb import server from bb import cookerdata +import bb.server.process +import bb.server.xmlrpcclient + logger = logging.getLogger("BitBake") class BBMainException(Exception): @@ -58,9 +63,6 @@ class BitbakeHelpFormatter(optparse.IndentedHelpFormatter): if option.dest == 'ui': valid_uis = list_extension_modules(bb.ui, 'main') option.help = option.help.replace('@CHOICES@', present_options(valid_uis)) - elif option.dest == 'servertype': - valid_server_types = list_extension_modules(bb.server, 'BitBakeServer') - option.help = option.help.replace('@CHOICES@', present_options(valid_server_types)) return optparse.IndentedHelpFormatter.format_option(self, option) @@ -238,11 +240,6 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters): default=os.environ.get('BITBAKE_UI', 'knotty'), help="The user interface to use (@CHOICES@ - default %default).") - # @CHOICES@ is substituted out by BitbakeHelpFormatter above - parser.add_option("-t", "--servertype", action="store", dest="servertype", - default=["process", "xmlrpc"]["BBSERVER" in os.environ], - help="Choose which server type to use (@CHOICES@ - default %default).") - parser.add_option("", "--token", action="store", dest="xmlrpctoken", default=os.environ.get("BBTOKEN"), help="Specify the connection token to be used when connecting " @@ -258,14 +255,11 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters): help="Run bitbake without a UI, only starting a server " "(cooker) process.") - parser.add_option("", "--foreground", action="store_true", - help="Run bitbake server in foreground.") - parser.add_option("-B", "--bind", action="store", dest="bind", default=False, - help="The name/address for the bitbake server to bind to.") + help="The name/address for the bitbake xmlrpc server to bind to.") - parser.add_option("-T", "--idle-timeout", type=int, - default=int(os.environ.get("BBTIMEOUT", "0")), + parser.add_option("-T", "--idle-timeout", type=float, dest="server_timeout", + default=float(os.environ.get("BB_SERVER_TIMEOUT", 0)) or None, help="Set timeout to unload bitbake server due to inactivity") parser.add_option("", "--no-setscene", action="store_true", @@ -283,7 +277,7 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters): parser.add_option("-m", "--kill-server", action="store_true", dest="kill_server", default=False, - help="Terminate the remote server.") + help="Terminate the bitbake server.") parser.add_option("", "--observe-only", action="store_true", dest="observe_only", default=False, @@ -322,70 +316,20 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters): eventlog = "bitbake_eventlog_%s.json" % datetime.now().strftime("%Y%m%d%H%M%S") options.writeeventlog = eventlog - # if BBSERVER says to autodetect, let's do that - if options.remote_server: - port = -1 - if options.remote_server != 'autostart': - host, port = options.remote_server.split(":", 2) + if options.bind: + try: + #Checking that the port is a number and is a ':' delimited value + (host, port) = options.bind.split(':') port = int(port) - # use automatic port if port set to -1, means read it from - # the bitbake.lock file; this is a bit tricky, but we always expect - # to be in the base of the build directory if we need to have a - # chance to start the server later, anyway - if port == -1: - lock_location = "./bitbake.lock" - # we try to read the address at all times; if the server is not started, - # we'll try to start it after the first connect fails, below - try: - lf = open(lock_location, 'r') - remotedef = lf.readline() - [host, port] = remotedef.split(":") - port = int(port) - lf.close() - options.remote_server = remotedef - except Exception as e: - if options.remote_server != 'autostart': - raise BBMainException("Failed to read bitbake.lock (%s), invalid port" % str(e)) + except (ValueError,IndexError): + raise BBMainException("FATAL: Malformed host:port bind parameter") + options.xmlrpcinterface = (host, port) + else: + options.xmlrpcinterface = (None, 0) return options, targets[1:] -def start_server(servermodule, configParams, configuration, features): - server = servermodule.BitBakeServer() - single_use = not configParams.server_only and os.getenv('BBSERVER') != 'autostart' - if configParams.bind: - (host, port) = configParams.bind.split(':') - server.initServer((host, int(port)), single_use=single_use, - idle_timeout=configParams.idle_timeout) - configuration.interface = [server.serverImpl.host, server.serverImpl.port] - else: - server.initServer(single_use=single_use) - configuration.interface = [] - - try: - configuration.setServerRegIdleCallback(server.getServerIdleCB()) - - cooker = bb.cooker.BBCooker(configuration, features) - - server.addcooker(cooker) - server.saveConnectionDetails() - except Exception as e: - while hasattr(server, "event_queue"): - import queue - try: - event = server.event_queue.get(block=False) - except (queue.Empty, IOError): - break - if isinstance(event, logging.LogRecord): - logger.handle(event) - raise - if not configParams.foreground: - server.detach() - cooker.shutdown() - cooker.lock.close() - return server - - def bitbake_main(configParams, configuration): # Python multiprocessing requires /dev/shm on Linux @@ -406,45 +350,15 @@ def bitbake_main(configParams, configuration): configuration.setConfigParameters(configParams) - if configParams.server_only: - if configParams.servertype != "xmlrpc": - raise BBMainException("FATAL: If '--server-only' is defined, we must set the " - "servertype as 'xmlrpc'.\n") - if not configParams.bind: - raise BBMainException("FATAL: The '--server-only' option requires a name/address " - "to bind to with the -B option.\n") - else: - try: - #Checking that the port is a number - int(configParams.bind.split(":")[1]) - except (ValueError,IndexError): - raise BBMainException( - "FATAL: Malformed host:port bind parameter") - if configParams.remote_server: + if configParams.server_only and configParams.remote_server: raise BBMainException("FATAL: The '--server-only' option conflicts with %s.\n" % ("the BBSERVER environment variable" if "BBSERVER" in os.environ \ else "the '--remote-server' option")) - elif configParams.foreground: - raise BBMainException("FATAL: The '--foreground' option can only be used " - "with --server-only.\n") - - if configParams.bind and configParams.servertype != "xmlrpc": - raise BBMainException("FATAL: If '-B' or '--bind' is defined, we must " - "set the servertype as 'xmlrpc'.\n") - - if configParams.remote_server and configParams.servertype != "xmlrpc": - raise BBMainException("FATAL: If '--remote-server' is defined, we must " - "set the servertype as 'xmlrpc'.\n") - if configParams.observe_only and (not configParams.remote_server or configParams.bind): raise BBMainException("FATAL: '--observe-only' can only be used by UI clients " "connecting to a server.\n") - if configParams.kill_server and not configParams.remote_server: - raise BBMainException("FATAL: '--kill-server' can only be used to " - "terminate a remote server") - if "BBDEBUG" in os.environ: level = int(os.environ["BBDEBUG"]) if level > configuration.debug: @@ -453,7 +367,7 @@ def bitbake_main(configParams, configuration): bb.msg.init_msgconfig(configParams.verbose, configuration.debug, configuration.debug_domains) - server, server_connection, ui_module = setup_bitbake(configParams, configuration) + server_connection, ui_module = setup_bitbake(configParams, configuration) if server_connection is None and configParams.kill_server: return 0 @@ -463,16 +377,15 @@ def bitbake_main(configParams, configuration): return 0 try: + for event in bb.event.ui_queue: + server_connection.events.queue_event(event) + bb.event.ui_queue = [] + return ui_module.main(server_connection.connection, server_connection.events, configParams) finally: - bb.event.ui_queue = [] server_connection.terminate() else: - print("Bitbake server address: %s, server port: %s" % (server.serverImpl.host, - server.serverImpl.port)) - if configParams.foreground: - server.serverImpl.serve_forever() return 0 return 1 @@ -495,58 +408,67 @@ def setup_bitbake(configParams, configuration, extrafeatures=None, setup_logging # Collect the feature set for the UI featureset = getattr(ui_module, "featureSet", []) - if configParams.server_only: - for param in ('prefile', 'postfile'): - value = getattr(configParams, param) - if value: - setattr(configuration, "%s_server" % param, value) - param = "%s_server" % param - if extrafeatures: for feature in extrafeatures: if not feature in featureset: featureset.append(feature) - servermodule = import_extension_module(bb.server, - configParams.servertype, - 'BitBakeServer') + server_connection = None + if configParams.remote_server: - if os.getenv('BBSERVER') == 'autostart': - if configParams.remote_server == 'autostart' or \ - not servermodule.check_connection(configParams.remote_server, timeout=2): - configParams.bind = 'localhost:0' - srv = start_server(servermodule, configParams, configuration, featureset) - configParams.remote_server = '%s:%d' % tuple(configuration.interface) - bb.event.ui_queue = [] - # we start a stub server that is actually a XMLRPClient that connects to a real server - from bb.server.xmlrpc import BitBakeXMLRPCClient - server = servermodule.BitBakeXMLRPCClient(configParams.observe_only, - configParams.xmlrpctoken) - server.saveConnectionDetails(configParams.remote_server) + # Connect to a remote XMLRPC server + server_connection = bb.server.xmlrpcclient.connectXMLRPC(configParams.remote_server, featureset, + configParams.observe_only, configParams.xmlrpctoken) else: - # we start a server with a given configuration - server = start_server(servermodule, configParams, configuration, featureset) + retries = 8 + while retries: + try: + topdir, lock = lockBitbake() + sockname = topdir + "/bitbake.sock" + if lock: + # we start a server with a given configuration + print("Starting bitbake server...") + server = bb.server.process.BitBakeServer(lock, sockname, configuration, featureset) + else: + print("Reconnecting to bitbake server...") + if not os.path.exists(sockname): + print("Previous bitbake instance shutting down?, waiting to retry...") + time.sleep(5) + raise bb.server.process.ProcessTimeout("Bitbake still shutting down as socket exists but no lock?") + if not configParams.server_only: + server_connection = bb.server.process.connectProcessServer(sockname, featureset) + if server_connection: + break + except (Exception, bb.server.process.ProcessTimeout) as e: + if not retries: + raise + retries -= 1 + if isinstance(e, bb.server.process.ProcessTimeout): + print("Retrying server connection...") + else: + print("Retrying server connection... (%s)" % traceback.format_exc()) + if not retries: + raise bb.server.process.ProcessTimeout("Unable to connect to bitbake server, or start one") + if retries < 5: + time.sleep(5) + + if configParams.kill_server: + server_connection.connection.terminateServer() + server_connection.terminate() bb.event.ui_queue = [] + print("Terminated bitbake server.") + return None, None - if configParams.server_only: - server_connection = None - else: - try: - server_connection = server.establishConnection(featureset) - except Exception as e: - bb.fatal("Could not connect to server %s: %s" % (configParams.remote_server, str(e))) - - if configParams.kill_server: - server_connection.connection.terminateServer() - bb.event.ui_queue = [] - return None, None, None + # Restore the environment in case the UI needs it + for k in cleanedvars: + os.environ[k] = cleanedvars[k] - server_connection.setupEventQueue() + logger.removeHandler(handler) - # Restore the environment in case the UI needs it - for k in cleanedvars: - os.environ[k] = cleanedvars[k] + return server_connection, ui_module - logger.removeHandler(handler) +def lockBitbake(): + topdir = bb.cookerdata.findTopdir() + lockfile = topdir + "/bitbake.lock" + return topdir, bb.utils.lockfile(lockfile, False, False) - return server, server_connection, ui_module diff --git a/lib/bb/server/__init__.py b/lib/bb/server/__init__.py index 345691e..5a3fba9 100644 --- a/lib/bb/server/__init__.py +++ b/lib/bb/server/__init__.py @@ -18,10 +18,4 @@ # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -""" Base code for Bitbake server process - -Have a common base for that all Bitbake server classes ensures a consistent -approach to the interface, and minimize risks associated with code duplication. - -""" diff --git a/lib/bb/server/process.py b/lib/bb/server/process.py index 48da7fe..a1d9adc 100644 --- a/lib/bb/server/process.py +++ b/lib/bb/server/process.py @@ -22,128 +22,201 @@ import bb import bb.event -import itertools import logging import multiprocessing +import threading +import array import os -import signal import sys import time import select -from queue import Empty -from multiprocessing import Event, Process, util, Queue, Pipe, queues, Manager +import socket +import subprocess +import errno +import bb.server.xmlrpcserver +from bb import daemonize +from multiprocessing import queues logger = logging.getLogger('BitBake') -class ServerCommunicator(): - def __init__(self, connection, event_handle, server): - self.connection = connection - self.event_handle = event_handle - self.server = server - - def runCommand(self, command): - # @todo try/except - self.connection.send(command) - - if not self.server.is_alive(): - raise SystemExit - - while True: - # don't let the user ctrl-c while we're waiting for a response - try: - for idx in range(0,4): # 0, 1, 2, 3 - if self.connection.poll(5): - return self.connection.recv() - else: - bb.warn("Timeout while attempting to communicate with bitbake server") - bb.fatal("Gave up; Too many tries: timeout while attempting to communicate with bitbake server") - except KeyboardInterrupt: - pass - - def getEventHandle(self): - handle, error = self.runCommand(["getUIHandlerNum"]) - if error: - logger.error("Unable to get UI Handler Number: %s" % error) - raise BaseException(error) +class ProcessTimeout(SystemExit): + pass - return handle - -class EventAdapter(): - """ - Adapter to wrap our event queue since the caller (bb.event) expects to - call a send() method, but our actual queue only has put() - """ - def __init__(self, queue): - self.queue = queue - - def send(self, event): - try: - self.queue.put(event) - except Exception as err: - print("EventAdapter puked: %s" % str(err)) - - -class ProcessServer(Process): +class ProcessServer(multiprocessing.Process): profile_filename = "profile.log" profile_processed_filename = "profile.log.processed" - def __init__(self, command_channel, event_queue, featurelist): - self._idlefuns = {} - Process.__init__(self) - self.command_channel = command_channel - self.event_queue = event_queue - self.event = EventAdapter(event_queue) - self.featurelist = featurelist + def __init__(self, lock, sock, sockname): + multiprocessing.Process.__init__(self) + self.command_channel = False + self.command_channel_reply = False self.quit = False self.heartbeat_seconds = 1 # default, BB_HEARTBEAT_EVENT will be checked once we have a datastore. self.next_heartbeat = time.time() - self.quitin, self.quitout = Pipe() - self.event_handle = multiprocessing.Value("i") + self.event_handle = None + self.haveui = False + self.lastui = False + self.xmlrpc = False + + self._idlefuns = {} + + self.bitbake_lock = lock + self.sock = sock + self.sockname = sockname + + def register_idle_function(self, function, data): + """Register a function to be called while the server is idle""" + assert hasattr(function, '__call__') + self._idlefuns[function] = data def run(self): - for event in bb.event.ui_queue: - self.event_queue.put(event) - self.event_handle.value = bb.event.register_UIHhandler(self, True) + + if self.xmlrpcinterface[0]: + self.xmlrpc = bb.server.xmlrpcserver.BitBakeXMLRPCServer(self.xmlrpcinterface, self.cooker, self) + + print("Bitbake XMLRPC server address: %s, server port: %s" % (self.xmlrpc.host, self.xmlrpc.port)) heartbeat_event = self.cooker.data.getVar('BB_HEARTBEAT_EVENT') if heartbeat_event: try: self.heartbeat_seconds = float(heartbeat_event) except: - # Throwing an exception here causes bitbake to hang. - # Just warn about the invalid setting and continue bb.warn('Ignoring invalid BB_HEARTBEAT_EVENT=%s, must be a float specifying seconds.' % heartbeat_event) + + self.timeout = self.server_timeout or self.cooker.data.getVar('BB_SERVER_TIMEOUT') + try: + if self.timeout: + self.timeout = float(self.timeout) + except: + bb.warn('Ignoring invalid BB_SERVER_TIMEOUT=%s, must be a float specifying seconds.' % self.timeout) + + + try: + self.bitbake_lock.seek(0) + self.bitbake_lock.truncate() + if self.xmlrpcinterface[0]: + self.bitbake_lock.write("%s %s:%s\n" % (os.getpid(), configuration.interface[0], configuration.interface[1])) + else: + self.bitbake_lock.write("%s\n" % (os.getpid())) + self.bitbake_lock.flush() + except: + pass + bb.cooker.server_main(self.cooker, self.main) def main(self): - # Ignore SIGINT within the server, as all SIGINT handling is done by - # the UI and communicated to us - self.quitin.close() - signal.signal(signal.SIGINT, signal.SIG_IGN) bb.utils.set_process_name("Cooker") + + ready = [] + + self.controllersock = False + fds = [self.sock] + if self.xmlrpc: + fds.append(self.xmlrpc) while not self.quit: - try: - if self.command_channel.poll(): - command = self.command_channel.recv() - self.runCommand(command) - if self.quitout.poll(): - self.quitout.recv() + if self.command_channel in ready: + command = self.command_channel.get() + if command[0] == "terminateServer": self.quit = True - try: - self.runCommand(["stateForceShutdown"]) - except: - pass - - self.idle_commands(.1, [self.command_channel, self.quitout]) - except Exception: - logger.exception('Running command %s', command) + continue + try: + print("Running command %s" % command) + self.command_channel_reply.send(self.cooker.command.runCommand(command)) + except Exception as e: + logger.exception('Exception in server main event loop running command %s (%s)' % (command, str(e))) + + if self.xmlrpc in ready: + self.xmlrpc.handle_requests() + if self.sock in ready: + print("Accepting %s" % (str(ready))) + self.controllersock, address = self.sock.accept() + fds.append(self.controllersock) + if self.controllersock in ready: + try: + print("Connecting Client") + ui_fds = recvfds(self.controllersock, 3) + + # Where to write events to + writer = ConnectionWriter(ui_fds[0]) + self.event_handle = bb.event.register_UIHhandler(writer, True) + self.event_writer = writer + + # Where to read commands from + reader = ConnectionReader(ui_fds[1]) + fds.append(reader) + self.command_channel = reader + + # Where to send command return values to + writer = ConnectionWriter(ui_fds[2]) + self.command_channel_reply = writer + + self.haveui = True + + except EOFError: + print("Disconnecting Client") + fds.remove(self.controllersock) + fds.remove(self.command_channel) + bb.event.unregister_UIHhandler(self.event_handle, True) + self.command_channel_reply.writer.close() + self.event_writer.writer.close() + del self.event_writer + self.controllersock.close() + self.haveui = False + self.lastui = time.time() + self.cooker.clientComplete() + if self.timeout is None: + print("No timeout, exiting.") + self.quit = True + if not self.haveui and self.lastui and self.timeout and (self.lastui + self.timeout) < time.time(): + print("Server timeout, exiting.") + self.quit = True - self.event_queue.close() - bb.event.unregister_UIHhandler(self.event_handle.value, True) - self.command_channel.close() - self.cooker.shutdown(True) - self.quitout.close() + ready = self.idle_commands(.1, fds) + + print("Exiting") + try: + self.cooker.shutdown(True) + except: + pass + + # Remove the socket file so we don't get any more connections to avoid races + os.unlink(self.sockname) + self.sock.close() + + # Finally release the lockfile but warn about other processes holding it open + lock = self.bitbake_lock + lockfile = lock.name + lock.close() + lock = None + + while not lock: + with bb.utils.timeout(3): + lock = bb.utils.lockfile(lockfile, shared=False, retry=False, block=True) + if not lock: + # Some systems may not have lsof available + procs = None + try: + procs = subprocess.check_output(["lsof", '-w', lockfile], stderr=subprocess.STDOUT) + except OSError as e: + if e.errno != errno.ENOENT: + raise + if procs is None: + # Fall back to fuser if lsof is unavailable + try: + procs = subprocess.check_output(["fuser", '-v', lockfile], stderr=subprocess.STDOUT) + except OSError as e: + if e.errno != errno.ENOENT: + raise + + msg = "Delaying shutdown due to active processes which appear to be holding bitbake.lock" + if procs: + msg += ":\n%s" % str(procs) + print(msg) + return + # We hold the lock so we can remove the file (hide stale pid data) + bb.utils.remove(lockfile) + bb.utils.unlockfile(lock) def idle_commands(self, delay, fds=None): nextsleep = delay @@ -189,140 +262,253 @@ class ProcessServer(Process): nextsleep = self.next_heartbeat - now if nextsleep is not None: + if self.xmlrpc: + nextsleep = self.xmlrpc.get_timeout(nextsleep) try: - select.select(fds,[],[],nextsleep) + return select.select(fds,[],[],nextsleep)[0] except InterruptedError: - # ignore EINTR error, nextsleep only used for wait - # certain time - pass + # Ignore EINTR + return [] + else: + return [] + + +class ServerCommunicator(): + def __init__(self, connection, recv): + self.connection = connection + self.recv = recv def runCommand(self, command): - """ - Run a cooker command on the server - """ - self.command_channel.send(self.cooker.command.runCommand(command)) - def stop(self): - self.quitin.send("quit") - self.quitin.close() + self.connection.send(command) + while True: + # don't let the user ctrl-c while we're waiting for a response + try: + for idx in range(0,4): # 0, 1, 2, 3 + if self.recv.poll(1): + return self.recv.get() + else: + bb.warn("Timeout while attempting to communicate with bitbake server") + raise ProcessTimeout("Gave up; Too many tries: timeout while attempting to communicate with bitbake server") + except KeyboardInterrupt: + pass + + def updateFeatureSet(self, featureset): + _, error = self.runCommand(["setFeatures", featureset]) + if error: + logger.error("Unable to set the cooker to the correct featureset: %s" % error) + raise BaseException(error) + + def getEventHandle(self): + handle, error = self.runCommand(["getUIHandlerNum"]) + if error: + logger.error("Unable to get UI Handler Number: %s" % error) + raise BaseException(error) - def addcooker(self, cooker): - self.cooker = cooker + return handle - def register_idle_function(self, function, data): - """Register a function to be called while the server is idle""" - assert hasattr(function, '__call__') - self._idlefuns[function] = data + def terminateServer(self): + self.connection.send(['terminateServer']) + return class BitBakeProcessServerConnection(object): - def __init__(self, serverImpl, ui_channel, event_queue): - self.procserver = serverImpl - self.ui_channel = ui_channel - self.event_queue = event_queue - self.connection = ServerCommunicator(self.ui_channel, self.procserver.event_handle, self.procserver) - self.events = self.event_queue - self.terminated = False - - def sigterm_terminate(self): - bb.error("UI received SIGTERM") - self.terminate() + def __init__(self, ui_channel, recv, eq): + self.connection = ServerCommunicator(ui_channel, recv) + self.events = eq def terminate(self): - if self.terminated: - return - self.terminated = True - def flushevents(): - while True: - try: - event = self.event_queue.get(block=False) - except (Empty, IOError): - break - if isinstance(event, logging.LogRecord): - logger.handle(event) - - self.procserver.stop() - - while self.procserver.is_alive(): - flushevents() - self.procserver.join(0.1) - - self.ui_channel.close() - self.event_queue.close() - self.event_queue.setexit() - # XXX: Call explicity close in _writer to avoid - # fd leakage because isn't called on Queue.close() - self.event_queue._writer.close() - - def setupEventQueue(self): - pass - -# Wrap Queue to provide API which isn't server implementation specific -class ProcessEventQueue(multiprocessing.queues.Queue): - def __init__(self, maxsize): - multiprocessing.queues.Queue.__init__(self, maxsize, ctx=multiprocessing.get_context()) - self.exit = False - bb.utils.set_process_name("ProcessEQueue") - - def setexit(self): - self.exit = True - - def waitEvent(self, timeout): - if self.exit: - return self.getEvent() + self.socket_connection.close() + return + +class BitBakeServer(object): + def __init__(self, lock, sockname, configuration, featureset): + + self.configuration = configuration + self.featureset = featureset + self.sockname = sockname + self.bitbake_lock = lock + + # Create server control socket + if os.path.exists(sockname): + os.unlink(sockname) + + self.sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) + # AF_UNIX has path length issues so chdir here to workaround + cwd = os.getcwd() try: - if not self.server.is_alive(): - return self.getEvent() - if timeout == 0: - return self.get(False) - return self.get(True, timeout) - except Empty: - return None + os.chdir(os.path.dirname(sockname)) + self.sock.bind(os.path.basename(sockname)) + finally: + os.chdir(cwd) + self.sock.listen(1) + + os.set_inheritable(self.sock.fileno(), True) + bb.daemonize.createDaemon(self._startServer, "bitbake-cookerdaemon.log") + self.sock.close() + self.bitbake_lock.close() + + def _startServer(self): + server = ProcessServer(self.bitbake_lock, self.sock, self.sockname) + self.configuration.setServerRegIdleCallback(server.register_idle_function) + + # Copy prefile and postfile to _server variants + for param in ('prefile', 'postfile'): + value = getattr(self.configuration, param) + if value: + setattr(self.configuration, "%s_server" % param, value) + + self.cooker = bb.cooker.BBCooker(self.configuration, self.featureset) + server.cooker = self.cooker + server.server_timeout = self.configuration.server_timeout + server.xmlrpcinterface = self.configuration.xmlrpcinterface + print("Started bitbake server pid %d" % os.getpid()) + server.start() + +def connectProcessServer(sockname, featureset): + # Connect to socket + sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) + # AF_UNIX has path length issues so chdir here to workaround + cwd = os.getcwd() + + try: + os.chdir(os.path.dirname(sockname)) + sock.connect(os.path.basename(sockname)) + finally: + os.chdir(cwd) + + try: + # Send an fd for the remote to write events to + readfd, writefd = os.pipe() + eq = BBUIEventQueue(readfd) + # Send an fd for the remote to recieve commands from + readfd1, writefd1 = os.pipe() + command_chan = ConnectionWriter(writefd1) + # Send an fd for the remote to write commands results to + readfd2, writefd2 = os.pipe() + command_chan_recv = ConnectionReader(readfd2) + + sendfds(sock, [writefd, readfd1, writefd2]) + + server_connection = BitBakeProcessServerConnection(command_chan, command_chan_recv, eq) + + server_connection.connection.updateFeatureSet(featureset) + + # Save sock so it doesn't get gc'd for the life of our connection + server_connection.socket_connection = sock + except: + sock.close() + raise + + return server_connection + +def sendfds(sock, fds): + '''Send an array of fds over an AF_UNIX socket.''' + fds = array.array('i', fds) + msg = bytes([len(fds) % 256]) + sock.sendmsg([msg], [(socket.SOL_SOCKET, socket.SCM_RIGHTS, fds)]) + +def recvfds(sock, size): + '''Receive an array of fds over an AF_UNIX socket.''' + a = array.array('i') + bytes_size = a.itemsize * size + msg, ancdata, flags, addr = sock.recvmsg(1, socket.CMSG_LEN(bytes_size)) + if not msg and not ancdata: + raise EOFError + try: + if len(ancdata) != 1: + raise RuntimeError('received %d items of ancdata' % + len(ancdata)) + cmsg_level, cmsg_type, cmsg_data = ancdata[0] + if (cmsg_level == socket.SOL_SOCKET and + cmsg_type == socket.SCM_RIGHTS): + if len(cmsg_data) % a.itemsize != 0: + raise ValueError + a.frombytes(cmsg_data) + assert len(a) % 256 == msg[0] + return list(a) + except (ValueError, IndexError): + pass + raise RuntimeError('Invalid data received') + +class BBUIEventQueue: + def __init__(self, readfd): + + self.eventQueue = [] + self.eventQueueLock = threading.Lock() + self.eventQueueNotify = threading.Event() + + self.reader = ConnectionReader(readfd) + + self.t = threading.Thread() + self.t.setDaemon(True) + self.t.run = self.startCallbackHandler + self.t.start() def getEvent(self): - try: - if not self.server.is_alive(): - self.setexit() - return self.get(False) - except Empty: - if self.exit: - sys.exit(1) + self.eventQueueLock.acquire() + + if len(self.eventQueue) == 0: + self.eventQueueLock.release() return None -class BitBakeServer(object): - def initServer(self, single_use=True): - # establish communication channels. We use bidirectional pipes for - # ui <--> server command/response pairs - # and a queue for server -> ui event notifications - # - self.ui_channel, self.server_channel = Pipe() - self.event_queue = ProcessEventQueue(0) - self.serverImpl = ProcessServer(self.server_channel, self.event_queue, None) - self.event_queue.server = self.serverImpl - - def detach(self): - self.serverImpl.start() - return + item = self.eventQueue.pop(0) - def establishConnection(self, featureset): + if len(self.eventQueue) == 0: + self.eventQueueNotify.clear() - self.connection = BitBakeProcessServerConnection(self.serverImpl, self.ui_channel, self.event_queue) + self.eventQueueLock.release() + return item - _, error = self.connection.connection.runCommand(["setFeatures", featureset]) - if error: - logger.error("Unable to set the cooker to the correct featureset: %s" % error) - raise BaseException(error) - signal.signal(signal.SIGTERM, lambda i, s: self.connection.sigterm_terminate()) - return self.connection + def waitEvent(self, delay): + self.eventQueueNotify.wait(delay) + return self.getEvent() - def addcooker(self, cooker): - self.cooker = cooker - self.serverImpl.addcooker(cooker) + def queue_event(self, event): + self.eventQueueLock.acquire() + self.eventQueue.append(event) + self.eventQueueNotify.set() + self.eventQueueLock.release() - def getServerIdleCB(self): - return self.serverImpl.register_idle_function + def send_event(self, event): + self.queue_event(pickle.loads(event)) - def saveConnectionDetails(self): - return + def startCallbackHandler(self): + bb.utils.set_process_name("UIEventQueue") + while True: + self.reader.wait() + event = self.reader.get() + self.queue_event(event) + +class ConnectionReader(object): + + def __init__(self, fd): + self.reader = multiprocessing.connection.Connection(fd, writable=False) + self.rlock = multiprocessing.Lock() + + def wait(self, timeout=None): + return multiprocessing.connection.wait([self.reader], timeout) + + def poll(self, timeout=None): + return self.reader.poll(timeout) + + def get(self): + with self.rlock: + res = self.reader.recv_bytes() + return multiprocessing.reduction.ForkingPickler.loads(res) + + def fileno(self): + return self.reader.fileno() + +class ConnectionWriter(object): + + def __init__(self, fd): + self.writer = multiprocessing.connection.Connection(fd, readable=False) + self.wlock = multiprocessing.Lock() + # Why bb.event needs this I have no idea + self.event = self + + def send(self, obj): + obj = multiprocessing.reduction.ForkingPickler.dumps(obj) + with self.wlock: + self.writer.send_bytes(obj) - def endSession(self): - self.connection.terminate() diff --git a/lib/bb/server/xmlrpc.py b/lib/bb/server/xmlrpc.py deleted file mode 100644 index 6874765..0000000 --- a/lib/bb/server/xmlrpc.py +++ /dev/null @@ -1,492 +0,0 @@ -# -# BitBake XMLRPC Server -# -# Copyright (C) 2006 - 2007 Michael 'Mickey' Lauer -# Copyright (C) 2006 - 2008 Richard Purdie -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -""" - This module implements an xmlrpc server for BitBake. - - Use this by deriving a class from BitBakeXMLRPCServer and then adding - methods which you want to "export" via XMLRPC. If the methods have the - prefix xmlrpc_, then registering those function will happen automatically, - if not, you need to call register_function. - - Use register_idle_function() to add a function which the xmlrpc server - calls from within server_forever when no requests are pending. Make sure - that those functions are non-blocking or else you will introduce latency - in the server's main loop. -""" - -import os -import sys - -import hashlib -import time -import socket -import signal -import threading -import pickle -import inspect -import select -import http.client -import xmlrpc.client -from xmlrpc.server import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler - -import bb -from bb import daemonize -from bb.ui import uievent - -DEBUG = False - -class BBTransport(xmlrpc.client.Transport): - def __init__(self, timeout): - self.timeout = timeout - self.connection_token = None - xmlrpc.client.Transport.__init__(self) - - # Modified from default to pass timeout to HTTPConnection - def make_connection(self, host): - #return an existing connection if possible. This allows - #HTTP/1.1 keep-alive. - if self._connection and host == self._connection[0]: - return self._connection[1] - - # create a HTTP connection object from a host descriptor - chost, self._extra_headers, x509 = self.get_host_info(host) - #store the host argument along with the connection object - self._connection = host, http.client.HTTPConnection(chost, timeout=self.timeout) - return self._connection[1] - - def set_connection_token(self, token): - self.connection_token = token - - def send_content(self, h, body): - if self.connection_token: - h.putheader("Bitbake-token", self.connection_token) - xmlrpc.client.Transport.send_content(self, h, body) - -def _create_server(host, port, timeout = 60): - t = BBTransport(timeout) - s = xmlrpc.client.ServerProxy("http://%s:%d/" % (host, port), transport=t, allow_none=True, use_builtin_types=True) - return s, t - -def check_connection(remote, timeout): - try: - host, port = remote.split(":") - port = int(port) - except Exception as e: - bb.warn("Failed to read remote definition (%s)" % str(e)) - raise e - - server, _transport = _create_server(host, port, timeout) - try: - ret, err = server.runCommand(['getVariable', 'TOPDIR']) - if err or not ret: - return False - except ConnectionError: - return False - return True - -class BitBakeServerCommands(): - - def __init__(self, server): - self.server = server - self.has_client = False - - def registerEventHandler(self, host, port): - """ - Register a remote UI Event Handler - """ - s, t = _create_server(host, port) - - # we don't allow connections if the cooker is running - if (self.cooker.state in [bb.cooker.state.parsing, bb.cooker.state.running]): - return None, "Cooker is busy: %s" % bb.cooker.state.get_name(self.cooker.state) - - self.event_handle = bb.event.register_UIHhandler(s, True) - return self.event_handle, 'OK' - - def unregisterEventHandler(self, handlerNum): - """ - Unregister a remote UI Event Handler - """ - return bb.event.unregister_UIHhandler(handlerNum, True) - - def runCommand(self, command): - """ - Run a cooker command on the server - """ - return self.cooker.command.runCommand(command, self.server.readonly) - - def getEventHandle(self): - return self.event_handle - - def terminateServer(self): - """ - Trigger the server to quit - """ - self.server.quit = True - print("Server (cooker) exiting") - return - - def addClient(self): - if self.has_client: - return None - token = hashlib.md5(str(time.time()).encode("utf-8")).hexdigest() - self.server.set_connection_token(token) - self.has_client = True - return token - - def removeClient(self): - if self.has_client: - self.server.set_connection_token(None) - self.has_client = False - if self.server.single_use: - self.server.quit = True - -# This request handler checks if the request has a "Bitbake-token" header -# field (this comes from the client side) and compares it with its internal -# "Bitbake-token" field (this comes from the server). If the two are not -# equal, it is assumed that a client is trying to connect to the server -# while another client is connected to the server. In this case, a 503 error -# ("service unavailable") is returned to the client. -class BitBakeXMLRPCRequestHandler(SimpleXMLRPCRequestHandler): - def __init__(self, request, client_address, server): - self.server = server - SimpleXMLRPCRequestHandler.__init__(self, request, client_address, server) - - def do_POST(self): - try: - remote_token = self.headers["Bitbake-token"] - except: - remote_token = None - if remote_token != self.server.connection_token and remote_token != "observer": - self.report_503() - else: - if remote_token == "observer": - self.server.readonly = True - else: - self.server.readonly = False - SimpleXMLRPCRequestHandler.do_POST(self) - - def report_503(self): - self.send_response(503) - response = 'No more client allowed' - self.send_header("Content-type", "text/plain") - self.send_header("Content-length", str(len(response))) - self.end_headers() - self.wfile.write(bytes(response, 'utf-8')) - - -class XMLRPCProxyServer(object): - """ not a real working server, but a stub for a proxy server connection - - """ - def __init__(self, host, port, use_builtin_types=True): - self.host = host - self.port = port - self._idlefuns = {} - - def addcooker(self, cooker): - self.cooker = cooker - - def register_idle_function(self, function, data): - """Register a function to be called while the server is idle""" - assert hasattr(function, '__call__') - self._idlefuns[function] = data - - -class XMLRPCServer(SimpleXMLRPCServer): - # remove this when you're done with debugging - # allow_reuse_address = True - - def __init__(self, interface, single_use=False, idle_timeout=0): - """ - Constructor - """ - self._idlefuns = {} - self.single_use = single_use - # Use auto port configuration - if (interface[1] == -1): - interface = (interface[0], 0) - SimpleXMLRPCServer.__init__(self, interface, - requestHandler=BitBakeXMLRPCRequestHandler, - logRequests=False, allow_none=True) - self.host, self.port = self.socket.getsockname() - self.connection_token = None - #self.register_introspection_functions() - self.commands = BitBakeServerCommands(self) - self.autoregister_all_functions(self.commands, "") - self.interface = interface - self.time = time.time() - self.idle_timeout = idle_timeout - if idle_timeout: - self.register_idle_function(self.handle_idle_timeout, self) - self.heartbeat_seconds = 1 # default, BB_HEARTBEAT_EVENT will be checked once we have a datastore. - self.next_heartbeat = time.time() - - def addcooker(self, cooker): - self.cooker = cooker - self.commands.cooker = cooker - - def autoregister_all_functions(self, context, prefix): - """ - Convenience method for registering all functions in the scope - of this class that start with a common prefix - """ - methodlist = inspect.getmembers(context, inspect.ismethod) - for name, method in methodlist: - if name.startswith(prefix): - self.register_function(method, name[len(prefix):]) - - def handle_idle_timeout(self, server, data, abort): - if not abort: - if time.time() - server.time > server.idle_timeout: - server.quit = True - print("Server idle timeout expired") - return [] - - def serve_forever(self): - heartbeat_event = self.cooker.data.getVar('BB_HEARTBEAT_EVENT') - if heartbeat_event: - try: - self.heartbeat_seconds = float(heartbeat_event) - except: - # Throwing an exception here causes bitbake to hang. - # Just warn about the invalid setting and continue - bb.warn('Ignoring invalid BB_HEARTBEAT_EVENT=%s, must be a float specifying seconds.' % heartbeat_event) - - # Start the actual XMLRPC server - bb.cooker.server_main(self.cooker, self._serve_forever) - - def _serve_forever(self): - """ - Serve Requests. Overloaded to honor a quit command - """ - self.quit = False - while not self.quit: - fds = [self] - nextsleep = 0.1 - for function, data in list(self._idlefuns.items()): - retval = None - try: - retval = function(self, data, False) - if retval is False: - del self._idlefuns[function] - elif retval is True: - nextsleep = 0 - elif isinstance(retval, float): - if (retval < nextsleep): - nextsleep = retval - else: - fds = fds + retval - except SystemExit: - raise - except: - import traceback - traceback.print_exc() - if retval == None: - # the function execute failed; delete it - del self._idlefuns[function] - pass - - socktimeout = self.socket.gettimeout() or nextsleep - socktimeout = min(socktimeout, nextsleep) - # Mirror what BaseServer handle_request would do - try: - fd_sets = select.select(fds, [], [], socktimeout) - if fd_sets[0] and self in fd_sets[0]: - if self.idle_timeout: - self.time = time.time() - self._handle_request_noblock() - except IOError: - # we ignore interrupted calls - pass - - # Create new heartbeat event? - now = time.time() - if now >= self.next_heartbeat: - # We might have missed heartbeats. Just trigger once in - # that case and continue after the usual delay. - self.next_heartbeat += self.heartbeat_seconds - if self.next_heartbeat <= now: - self.next_heartbeat = now + self.heartbeat_seconds - heartbeat = bb.event.HeartbeatEvent(now) - bb.event.fire(heartbeat, self.cooker.data) - if nextsleep and now + nextsleep > self.next_heartbeat: - # Shorten timeout so that we we wake up in time for - # the heartbeat. - nextsleep = self.next_heartbeat - now - - # Tell idle functions we're exiting - for function, data in list(self._idlefuns.items()): - try: - retval = function(self, data, True) - except: - pass - self.server_close() - return - - def set_connection_token(self, token): - self.connection_token = token - - def register_idle_function(self, function, data): - """Register a function to be called while the server is idle""" - assert hasattr(function, '__call__') - self._idlefuns[function] = data - - -class BitBakeXMLRPCServerConnection(object): - def __init__(self, serverImpl, clientinfo=("localhost", 0), observer_only = False, featureset = None): - self.connection, self.transport = _create_server(serverImpl.host, serverImpl.port) - self.clientinfo = clientinfo - self.serverImpl = serverImpl - self.observer_only = observer_only - if featureset: - self.featureset = featureset - else: - self.featureset = [] - - def connect(self, token = None): - if token is None: - if self.observer_only: - token = "observer" - else: - token = self.connection.addClient() - - if token is None: - return None - - self.transport.set_connection_token(token) - return self - - def setupEventQueue(self): - self.events = uievent.BBUIEventQueue(self.connection, self.clientinfo) - for event in bb.event.ui_queue: - self.events.queue_event(event) - - _, error = self.connection.runCommand(["setFeatures", self.featureset]) - if error: - # disconnect the client, we can't make the setFeature work - self.connection.removeClient() - # no need to log it here, the error shall be sent to the client - raise BaseException(error) - - def removeClient(self): - if not self.observer_only: - self.connection.removeClient() - - def terminate(self): - # Don't wait for server indefinitely - import socket - socket.setdefaulttimeout(2) - try: - self.events.system_quit() - except: - pass - try: - self.connection.removeClient() - except: - pass - -class BitBakeServer(object): - def initServer(self, interface = ("localhost", 0), - single_use = False, idle_timeout=0): - self.interface = interface - self.serverImpl = XMLRPCServer(interface, single_use, idle_timeout) - - def detach(self): - daemonize.createDaemon(self.serverImpl.serve_forever, "bitbake-cookerdaemon.log") - del self.cooker - - def establishConnection(self, featureset): - self.connection = BitBakeXMLRPCServerConnection(self.serverImpl, self.interface, False, featureset) - return self.connection.connect() - - def set_connection_token(self, token): - self.connection.transport.set_connection_token(token) - - def addcooker(self, cooker): - self.cooker = cooker - self.serverImpl.addcooker(cooker) - - def getServerIdleCB(self): - return self.serverImpl.register_idle_function - - def saveConnectionDetails(self): - return - - def endSession(self): - self.connection.terminate() - -class BitBakeXMLRPCClient(object): - - def __init__(self, observer_only = False, token = None): - self.token = token - - self.observer_only = observer_only - # if we need extra caches, just tell the server to load them all - pass - - def saveConnectionDetails(self, remote): - self.remote = remote - - def establishConnection(self, featureset): - # The format of "remote" must be "server:port" - try: - [host, port] = self.remote.split(":") - port = int(port) - except Exception as e: - bb.warn("Failed to read remote definition (%s)" % str(e)) - raise e - - # We need our IP for the server connection. We get the IP - # by trying to connect with the server - try: - s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) - s.connect((host, port)) - ip = s.getsockname()[0] - s.close() - except Exception as e: - bb.warn("Could not create socket for %s:%s (%s)" % (host, port, str(e))) - raise e - try: - self.serverImpl = XMLRPCProxyServer(host, port, use_builtin_types=True) - self.connection = BitBakeXMLRPCServerConnection(self.serverImpl, (ip, 0), self.observer_only, featureset) - return self.connection.connect(self.token) - except Exception as e: - bb.warn("Could not connect to server at %s:%s (%s)" % (host, port, str(e))) - raise e - - def endSession(self): - self.connection.removeClient() - - def initServer(self): - self.serverImpl = None - self.connection = None - return - - def addcooker(self, cooker): - self.cooker = cooker - self.serverImpl.addcooker(cooker) - - def getServerIdleCB(self): - return self.serverImpl.register_idle_function - - def detach(self): - return - diff --git a/lib/bb/server/xmlrpcclient.py b/lib/bb/server/xmlrpcclient.py new file mode 100644 index 0000000..4661a9e --- /dev/null +++ b/lib/bb/server/xmlrpcclient.py @@ -0,0 +1,154 @@ +# +# BitBake XMLRPC Client Interface +# +# Copyright (C) 2006 - 2007 Michael 'Mickey' Lauer +# Copyright (C) 2006 - 2008 Richard Purdie +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +import os +import sys + +import socket +import http.client +import xmlrpc.client + +import bb +from bb.ui import uievent + +class BBTransport(xmlrpc.client.Transport): + def __init__(self, timeout): + self.timeout = timeout + self.connection_token = None + xmlrpc.client.Transport.__init__(self) + + # Modified from default to pass timeout to HTTPConnection + def make_connection(self, host): + #return an existing connection if possible. This allows + #HTTP/1.1 keep-alive. + if self._connection and host == self._connection[0]: + return self._connection[1] + + # create a HTTP connection object from a host descriptor + chost, self._extra_headers, x509 = self.get_host_info(host) + #store the host argument along with the connection object + self._connection = host, http.client.HTTPConnection(chost, timeout=self.timeout) + return self._connection[1] + + def set_connection_token(self, token): + self.connection_token = token + + def send_content(self, h, body): + if self.connection_token: + h.putheader("Bitbake-token", self.connection_token) + xmlrpc.client.Transport.send_content(self, h, body) + +def _create_server(host, port, timeout = 60): + t = BBTransport(timeout) + s = xmlrpc.client.ServerProxy("http://%s:%d/" % (host, port), transport=t, allow_none=True, use_builtin_types=True) + return s, t + +def check_connection(remote, timeout): + try: + host, port = remote.split(":") + port = int(port) + except Exception as e: + bb.warn("Failed to read remote definition (%s)" % str(e)) + raise e + + server, _transport = _create_server(host, port, timeout) + try: + ret, err = server.runCommand(['getVariable', 'TOPDIR']) + if err or not ret: + return False + except ConnectionError: + return False + return True + +class BitBakeXMLRPCServerConnection(object): + def __init__(self, host, port, clientinfo=("localhost", 0), observer_only = False, featureset = None): + self.connection, self.transport = _create_server(host, port) + self.clientinfo = clientinfo + self.observer_only = observer_only + if featureset: + self.featureset = featureset + else: + self.featureset = [] + + self.events = uievent.BBUIEventQueue(self.connection, self.clientinfo) + + _, error = self.connection.runCommand(["setFeatures", self.featureset]) + if error: + # disconnect the client, we can't make the setFeature work + self.connection.removeClient() + # no need to log it here, the error shall be sent to the client + raise BaseException(error) + + def connect(self, token = None): + if token is None: + if self.observer_only: + token = "observer" + else: + token = self.connection.addClient() + + if token is None: + return None + + self.transport.set_connection_token(token) + return self + + def removeClient(self): + if not self.observer_only: + self.connection.removeClient() + + def terminate(self): + # Don't wait for server indefinitely + socket.setdefaulttimeout(2) + try: + self.events.system_quit() + except: + pass + try: + self.connection.removeClient() + except: + pass + +def connectXMLRPC(remote, featureset, observer_only = False, token = None): + # The format of "remote" must be "server:port" + try: + [host, port] = remote.split(":") + port = int(port) + except Exception as e: + bb.warn("Failed to parse remote definition %s (%s)" % (remote, str(e))) + raise e + + # We need our IP for the server connection. We get the IP + # by trying to connect with the server + try: + s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + s.connect((host, port)) + ip = s.getsockname()[0] + s.close() + except Exception as e: + bb.warn("Could not create socket for %s:%s (%s)" % (host, port, str(e))) + raise e + try: + connection = BitBakeXMLRPCServerConnection(host, port, (ip, 0), observer_only, featureset) + return connection.connect(token) + except Exception as e: + bb.warn("Could not connect to server at %s:%s (%s)" % (host, port, str(e))) + raise e + + + diff --git a/lib/bb/server/xmlrpcserver.py b/lib/bb/server/xmlrpcserver.py new file mode 100644 index 0000000..875b128 --- /dev/null +++ b/lib/bb/server/xmlrpcserver.py @@ -0,0 +1,158 @@ +# +# BitBake XMLRPC Server Interface +# +# Copyright (C) 2006 - 2007 Michael 'Mickey' Lauer +# Copyright (C) 2006 - 2008 Richard Purdie +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +import os +import sys + +import hashlib +import time +import inspect +from xmlrpc.server import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler + +import bb + +# This request handler checks if the request has a "Bitbake-token" header +# field (this comes from the client side) and compares it with its internal +# "Bitbake-token" field (this comes from the server). If the two are not +# equal, it is assumed that a client is trying to connect to the server +# while another client is connected to the server. In this case, a 503 error +# ("service unavailable") is returned to the client. +class BitBakeXMLRPCRequestHandler(SimpleXMLRPCRequestHandler): + def __init__(self, request, client_address, server): + self.server = server + SimpleXMLRPCRequestHandler.__init__(self, request, client_address, server) + + def do_POST(self): + try: + remote_token = self.headers["Bitbake-token"] + except: + remote_token = None + if 0 and remote_token != self.server.connection_token and remote_token != "observer": + self.report_503() + else: + if remote_token == "observer": + self.server.readonly = True + else: + self.server.readonly = False + SimpleXMLRPCRequestHandler.do_POST(self) + + def report_503(self): + self.send_response(503) + response = 'No more client allowed' + self.send_header("Content-type", "text/plain") + self.send_header("Content-length", str(len(response))) + self.end_headers() + self.wfile.write(bytes(response, 'utf-8')) + +class BitBakeXMLRPCServer(SimpleXMLRPCServer): + # remove this when you're done with debugging + # allow_reuse_address = True + + def __init__(self, interface, cooker, parent): + # Use auto port configuration + if (interface[1] == -1): + interface = (interface[0], 0) + SimpleXMLRPCServer.__init__(self, interface, + requestHandler=BitBakeXMLRPCRequestHandler, + logRequests=False, allow_none=True) + self.host, self.port = self.socket.getsockname() + self.interface = interface + + self.connection_token = None + self.commands = BitBakeXMLRPCServerCommands(self) + self.register_functions(self.commands, "") + + self.cooker = cooker + self.parent = parent + + + def register_functions(self, context, prefix): + """ + Convenience method for registering all functions in the scope + of this class that start with a common prefix + """ + methodlist = inspect.getmembers(context, inspect.ismethod) + for name, method in methodlist: + if name.startswith(prefix): + self.register_function(method, name[len(prefix):]) + + def get_timeout(self, delay): + socktimeout = self.socket.gettimeout() or delay + return min(socktimeout, delay) + + def handle_requests(self): + self._handle_request_noblock() + +class BitBakeXMLRPCServerCommands(): + + def __init__(self, server): + self.server = server + self.has_client = False + + def registerEventHandler(self, host, port): + """ + Register a remote UI Event Handler + """ + s, t = bb.server.xmlrpcclient._create_server(host, port) + + # we don't allow connections if the cooker is running + if (self.server.cooker.state in [bb.cooker.state.parsing, bb.cooker.state.running]): + return None, "Cooker is busy: %s" % bb.cooker.state.get_name(self.server.cooker.state) + + self.event_handle = bb.event.register_UIHhandler(s, True) + return self.event_handle, 'OK' + + def unregisterEventHandler(self, handlerNum): + """ + Unregister a remote UI Event Handler + """ + ret = bb.event.unregister_UIHhandler(handlerNum, True) + self.event_handle = None + return ret + + def runCommand(self, command): + """ + Run a cooker command on the server + """ + return self.server.cooker.command.runCommand(command, self.server.readonly) + + def getEventHandle(self): + return self.event_handle + + def terminateServer(self): + """ + Trigger the server to quit + """ + self.server.parent.quit = True + print("XMLRPC Server triggering exit") + return + + def addClient(self): + if self.server.parent.haveui: + return None + token = hashlib.md5(str(time.time()).encode("utf-8")).hexdigest() + self.server.connection_token = token + self.server.parent.haveui = True + return token + + def removeClient(self): + if self.server.parent.haveui: + self.server.connection_token = None + self.server.parent.haveui = False + diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index fb0da62..303ce02 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -243,7 +243,7 @@ class Tinfoil: cookerconfig = CookerConfiguration() cookerconfig.setConfigParameters(config_params) - server, self.server_connection, ui_module = setup_bitbake(config_params, + self.server_connection, ui_module = setup_bitbake(config_params, cookerconfig, extrafeatures, setup_logging=False) diff --git a/lib/prserv/serv.py b/lib/prserv/serv.py index a7efa58..5f061c2 100644 --- a/lib/prserv/serv.py +++ b/lib/prserv/serv.py @@ -6,7 +6,7 @@ import queue import socket import io import sqlite3 -import bb.server.xmlrpc +import bb.server.xmlrpcclient import prserv import prserv.db import errno @@ -300,7 +300,7 @@ class PRServerConnection(object): host, port = singleton.getinfo() self.host = host self.port = port - self.connection, self.transport = bb.server.xmlrpc._create_server(self.host, self.port) + self.connection, self.transport = bb.server.xmlrpcclient._create_server(self.host, self.port) def terminate(self): try: -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 09:43:20 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 09:43:20 +0000 Subject: [oe-commits] [bitbake] 06/18: lib/bb/event: refactor printing events In-Reply-To: <150045739415.1580.1132759982017676329@git.openembedded.org> References: <150045739415.1580.1132759982017676329@git.openembedded.org> Message-ID: <20170719094314.832F52335B3@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 4bdb849bad609e2a18266c88cab26dd016429d2c Author: Paul Eggleton AuthorDate: Thu May 18 15:10:44 2017 +1200 lib/bb/event: refactor printing events We really ought to have just one place where the string representation of these events is produced. This doesn't take any real control away from the UI - if an alternative representation is desired, that can still be made. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/command.py | 2 ++ lib/bb/event.py | 32 ++++++++++++++++++++++++++++++++ lib/bb/runqueue.py | 6 ++++++ lib/bb/ui/knotty.py | 37 ++++++------------------------------- lib/bb/ui/ncurses.py | 2 +- lib/bb/ui/taskexp.py | 20 ++------------------ lib/bb/ui/toasterui.py | 25 ++++--------------------- 7 files changed, 53 insertions(+), 71 deletions(-) diff --git a/lib/bb/command.py b/lib/bb/command.py index c06ab07..05803d6 100644 --- a/lib/bb/command.py +++ b/lib/bb/command.py @@ -50,6 +50,8 @@ class CommandFailed(CommandExit): def __init__(self, message): self.error = message CommandExit.__init__(self, 1) + def __str__(self): + return "Command execution failed: %s" % self.error class CommandError(Exception): pass diff --git a/lib/bb/event.py b/lib/bb/event.py index 92ee3e9..59cca61 100644 --- a/lib/bb/event.py +++ b/lib/bb/event.py @@ -521,6 +521,28 @@ class NoProvider(Event): def isRuntime(self): return self._runtime + def __str__(self): + msg = '' + if self._runtime: + r = "R" + else: + r = "" + + extra = '' + if not self._reasons: + if self._close_matches: + extra = ". Close matches:\n %s" % '\n '.join(self._close_matches) + + if self._dependees: + msg = "Nothing %sPROVIDES '%s' (but %s %sDEPENDS on or otherwise requires it)%s" % (r, self._item, ", ".join(self._dependees), r, extra) + else: + msg = "Nothing %sPROVIDES '%s'%s" % (r, self._item, extra) + if self._reasons: + for reason in self._reasons: + msg += '\n' + reason + return msg + + class MultipleProviders(Event): """Multiple Providers""" @@ -548,6 +570,16 @@ class MultipleProviders(Event): """ return self._candidates + def __str__(self): + msg = "Multiple providers are available for %s%s (%s)" % (self._is_runtime and "runtime " or "", + self._item, + ", ".join(self._candidates)) + rtime = "" + if self._is_runtime: + rtime = "R" + msg += "\nConsider defining a PREFERRED_%sPROVIDER entry to match %s" % (rtime, self._item) + return msg + class ParseStarted(OperationStarted): """Recipe parsing for the runqueue has begun""" def __init__(self, total): diff --git a/lib/bb/runqueue.py b/lib/bb/runqueue.py index 21520d3..7dd964d 100644 --- a/lib/bb/runqueue.py +++ b/lib/bb/runqueue.py @@ -2488,6 +2488,9 @@ class runQueueTaskFailed(runQueueEvent): runQueueEvent.__init__(self, task, stats, rq) self.exitcode = exitcode + def __str__(self): + return "Task (%s) failed with exit code '%s'" % (self.taskstring, self.exitcode) + class sceneQueueTaskFailed(sceneQueueEvent): """ Event notifying a setscene task failed @@ -2496,6 +2499,9 @@ class sceneQueueTaskFailed(sceneQueueEvent): sceneQueueEvent.__init__(self, task, stats, rq) self.exitcode = exitcode + def __str__(self): + return "Setscene task (%s) failed with exit code '%s' - real task will be run instead" % (self.taskstring, self.exitcode) + class sceneQueueComplete(sceneQueueEvent): """ Event when all the sceneQueue tasks are complete diff --git a/lib/bb/ui/knotty.py b/lib/bb/ui/knotty.py index 1aa5ebb..c301982 100644 --- a/lib/bb/ui/knotty.py +++ b/lib/bb/ui/knotty.py @@ -560,7 +560,7 @@ def main(server, eventHandler, params, tf = TerminalFilter): return_value = event.exitcode if event.error: errors = errors + 1 - logger.error("Command execution failed: %s", event.error) + logger.error(str(event)) main.shutdown = 2 continue if isinstance(event, bb.command.CommandExit): @@ -571,39 +571,16 @@ def main(server, eventHandler, params, tf = TerminalFilter): main.shutdown = 2 continue if isinstance(event, bb.event.MultipleProviders): - logger.info("multiple providers are available for %s%s (%s)", event._is_runtime and "runtime " or "", - event._item, - ", ".join(event._candidates)) - rtime = "" - if event._is_runtime: - rtime = "R" - logger.info("consider defining a PREFERRED_%sPROVIDER entry to match %s" % (rtime, event._item)) + logger.info(str(event)) continue if isinstance(event, bb.event.NoProvider): - if event._runtime: - r = "R" - else: - r = "" - - extra = '' - if not event._reasons: - if event._close_matches: - extra = ". Close matches:\n %s" % '\n '.join(event._close_matches) - # For universe builds, only show these as warnings, not errors - h = logger.warning if not universe: return_value = 1 errors = errors + 1 - h = logger.error - - if event._dependees: - h("Nothing %sPROVIDES '%s' (but %s %sDEPENDS on or otherwise requires it)%s", r, event._item, ", ".join(event._dependees), r, extra) + logger.error(str(event)) else: - h("Nothing %sPROVIDES '%s'%s", r, event._item, extra) - if event._reasons: - for reason in event._reasons: - h("%s", reason) + logger.warning(str(event)) continue if isinstance(event, bb.runqueue.sceneQueueTaskStarted): @@ -625,13 +602,11 @@ def main(server, eventHandler, params, tf = TerminalFilter): if isinstance(event, bb.runqueue.runQueueTaskFailed): return_value = 1 taskfailures.append(event.taskstring) - logger.error("Task (%s) failed with exit code '%s'", - event.taskstring, event.exitcode) + logger.error(str(event)) continue if isinstance(event, bb.runqueue.sceneQueueTaskFailed): - logger.warning("Setscene task (%s) failed with exit code '%s' - real task will be run instead", - event.taskstring, event.exitcode) + logger.warning(str(event)) continue if isinstance(event, bb.event.DepTreeGenerated): diff --git a/lib/bb/ui/ncurses.py b/lib/bb/ui/ncurses.py index ca845a3..8690c52 100644 --- a/lib/bb/ui/ncurses.py +++ b/lib/bb/ui/ncurses.py @@ -315,7 +315,7 @@ class NCursesUI: # also allow them to now exit with a single ^C shutdown = 2 if isinstance(event, bb.command.CommandFailed): - mw.appendText("Command execution failed: %s" % event.error) + mw.appendText(str(event)) time.sleep(2) exitflag = True if isinstance(event, bb.command.CommandExit): diff --git a/lib/bb/ui/taskexp.py b/lib/bb/ui/taskexp.py index 9d14ece..0d0f9f5 100644 --- a/lib/bb/ui/taskexp.py +++ b/lib/bb/ui/taskexp.py @@ -286,23 +286,7 @@ def main(server, eventHandler, params): continue if isinstance(event, bb.event.NoProvider): - if event._runtime: - r = "R" - else: - r = "" - - extra = '' - if not event._reasons: - if event._close_matches: - extra = ". Close matches:\n %s" % '\n '.join(event._close_matches) - - if event._dependees: - print("Nothing %sPROVIDES '%s' (but %s %sDEPENDS on or otherwise requires it)%s" % (r, event._item, ", ".join(event._dependees), r, extra)) - else: - print("Nothing %sPROVIDES '%s'%s" % (r, event._item, extra)) - if event._reasons: - for reason in event._reasons: - print(reason) + print(str(event)) _, error = server.runCommand(["stateShutdown"]) if error: @@ -310,7 +294,7 @@ def main(server, eventHandler, params): break if isinstance(event, bb.command.CommandFailed): - print("Command execution failed: %s" % event.error) + print(str(event)) return event.exitcode if isinstance(event, bb.command.CommandExit): diff --git a/lib/bb/ui/toasterui.py b/lib/bb/ui/toasterui.py index 71f04fa..88cec37 100644 --- a/lib/bb/ui/toasterui.py +++ b/lib/bb/ui/toasterui.py @@ -320,29 +320,13 @@ def main(server, eventHandler, params): if isinstance(event, bb.event.CacheLoadCompleted): continue if isinstance(event, bb.event.MultipleProviders): - logger.info("multiple providers are available for %s%s (%s)", event._is_runtime and "runtime " or "", - event._item, - ", ".join(event._candidates)) - logger.info("consider defining a PREFERRED_PROVIDER entry to match %s", event._item) + logger.info(str(event)) continue if isinstance(event, bb.event.NoProvider): errors = errors + 1 - if event._runtime: - r = "R" - else: - r = "" - - if event._dependees: - text = "Nothing %sPROVIDES '%s' (but %s %sDEPENDS on or otherwise requires it)" % (r, event._item, ", ".join(event._dependees), r) - else: - text = "Nothing %sPROVIDES '%s'" % (r, event._item) - + text = str(event) logger.error(text) - if event._reasons: - for reason in event._reasons: - logger.error("%s", reason) - text += reason buildinfohelper.store_log_error(text) continue @@ -364,8 +348,7 @@ def main(server, eventHandler, params): if isinstance(event, bb.runqueue.runQueueTaskFailed): buildinfohelper.update_and_store_task(event) taskfailures.append(event.taskstring) - logger.error("Task (%s) failed with exit code '%s'", - event.taskstring, event.exitcode) + logger.error(str(event)) continue if isinstance(event, (bb.runqueue.sceneQueueTaskCompleted, bb.runqueue.sceneQueueTaskFailed)): @@ -382,7 +365,7 @@ def main(server, eventHandler, params): if isinstance(event, bb.command.CommandFailed): errors += 1 errorcode = 1 - logger.error("Command execution failed: %s", event.error) + logger.error(str(event)) elif isinstance(event, bb.event.BuildCompleted): buildinfohelper.scan_image_artifacts() buildinfohelper.clone_required_sdk_artifacts() -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 09:43:19 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 09:43:19 +0000 Subject: [oe-commits] [bitbake] 05/18: tinfoil: set a flag when recipes have been parsed In-Reply-To: <150045739415.1580.1132759982017676329@git.openembedded.org> References: <150045739415.1580.1132759982017676329@git.openembedded.org> Message-ID: <20170719094314.7B1682335B1@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit b5ea0571677457ff9aaece4bc37bf5f99d88de41 Author: Paul Eggleton AuthorDate: Wed May 17 17:13:07 2017 +1200 tinfoil: set a flag when recipes have been parsed Make it easy to determine if recipes are parsed (and thus information about available recipes is in memory). Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/tinfoil.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index ddc7b06..f31d7b2 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -217,6 +217,7 @@ class Tinfoil: self.tracking = tracking self.ui_module = None self.server_connection = None + self.recipes_parsed = False if setup_logging: # This is the *client-side* logger, nothing to do with # logging messages from the server @@ -270,6 +271,7 @@ class Tinfoil: self.run_command('parseConfiguration') else: self.run_actions(config_params) + self.recipes_parsed = True self.config_data = bb.data.init() connector = TinfoilDataStoreConnector(self, None) @@ -303,6 +305,7 @@ class Tinfoil: """ config_params = TinfoilConfigParameters(config_only=False) self.run_actions(config_params) + self.recipes_parsed = True def run_command(self, command, *params): """ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 09:43:21 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 09:43:21 +0000 Subject: [oe-commits] [bitbake] 07/18: lib/bb/ui/uihelper: indicate to caller of eventHandler() if events handled In-Reply-To: <150045739415.1580.1132759982017676329@git.openembedded.org> References: <150045739415.1580.1132759982017676329@git.openembedded.org> Message-ID: <20170719094314.89FA62335B5@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 33a77f7b282a09933c0822da5ca78c1a362ebb2f Author: Paul Eggleton AuthorDate: Mon May 22 12:00:22 2017 +1200 lib/bb/ui/uihelper: indicate to caller of eventHandler() if events handled It is useful for the caller to know whether the uihelper has handled the event passed so that it can skip other event handling code if so. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/ui/uihelper.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/bb/ui/uihelper.py b/lib/bb/ui/uihelper.py index 113fced..963c1ea 100644 --- a/lib/bb/ui/uihelper.py +++ b/lib/bb/ui/uihelper.py @@ -61,6 +61,9 @@ class BBUIHelper: self.running_tasks[event.pid]['progress'] = event.progress self.running_tasks[event.pid]['rate'] = event.rate self.needUpdate = True + else: + return False + return True def getTasks(self): self.needUpdate = False -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 09:43:22 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 09:43:22 +0000 Subject: [oe-commits] [bitbake] 08/18: tinfoil: add functionality for running full builds In-Reply-To: <150045739415.1580.1132759982017676329@git.openembedded.org> References: <150045739415.1580.1132759982017676329@git.openembedded.org> Message-ID: <20170719094314.9137D2335B7@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 30d456db0a934887e32d5cbc29fa5114f89bac8d Author: Paul Eggleton AuthorDate: Fri May 19 14:52:48 2017 +1200 tinfoil: add functionality for running full builds Up to this point, if you wanted to run build tasks in the normal way they get run, there was no other way than to shell out to bitbake. As long as we're prepared to handle the events produced, we can create a wrapper around calling the buildTargets command. Borrow code from knotty to do this so that we get the expected running task display (courtesy of TermFilter) and Ctrl+C handling. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/tinfoil.py | 155 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 155 insertions(+) diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index f31d7b2..945bd4b 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -2,6 +2,7 @@ # # Copyright (C) 2012-2017 Intel Corporation # Copyright (C) 2011 Mentor Graphics Corporation +# Copyright (C) 2006-2012 Richard Purdie # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License version 2 as @@ -218,6 +219,7 @@ class Tinfoil: self.ui_module = None self.server_connection = None self.recipes_parsed = False + self.quiet = 0 if setup_logging: # This is the *client-side* logger, nothing to do with # logging messages from the server @@ -230,6 +232,8 @@ class Tinfoil: self.shutdown() def prepare(self, config_only=False, config_params=None, quiet=0, extra_features=None): + self.quiet = quiet + if self.tracking: extrafeatures = [bb.cooker.CookerFeatures.BASEDATASTORE_TRACKING] else: @@ -434,6 +438,157 @@ class Tinfoil: """ return self.run_command('buildFile', buildfile, task, internal) + # FIXME internal mode + def build_targets(self, targets, task=None, handle_events=True, extra_events=None, event_callback=None): + """ + Builds the specified targets. This is equivalent to a normal invocation + of bitbake. Has built-in event handling which is enabled by default and + can be extended if needed. + Parameters: + targets: + One or more targets to build. Can be a list or a + space-separated string. + task: + The task to run; if None then the value of BB_DEFAULT_TASK + will be used. Default None. + handle_events: + True to handle events in a similar way to normal bitbake + invocation with knotty; False to return immediately (on the + assumption that the caller will handle the events instead). + Default True. + extra_events: + An optional list of events to add to the event mask (if + handle_events=True). If you add events here you also need + to specify a callback function in event_callback that will + handle the additional events. Default None. + event_callback: + An optional function taking a single parameter which + will be called first upon receiving any event (if + handle_events=True) so that the caller can override or + extend the event handling. Default None. + """ + if isinstance(targets, str): + targets = targets.split() + if not task: + task = self.config_data.getVar('BB_DEFAULT_TASK') + + if handle_events: + # A reasonable set of default events matching up with those we handle below + eventmask = [ + 'bb.event.BuildStarted', + 'bb.event.BuildCompleted', + 'logging.LogRecord', + 'bb.event.NoProvider', + 'bb.command.CommandCompleted', + 'bb.command.CommandFailed', + 'bb.build.TaskStarted', + 'bb.build.TaskFailed', + 'bb.build.TaskSucceeded', + 'bb.build.TaskFailedSilent', + 'bb.build.TaskProgress', + 'bb.runqueue.runQueueTaskStarted', + 'bb.runqueue.sceneQueueTaskStarted', + 'bb.event.ProcessStarted', + 'bb.event.ProcessProgress', + 'bb.event.ProcessFinished', + ] + if extra_events: + eventmask.extend(extra_events) + ret = self.set_event_mask(eventmask) + + ret = self.run_command('buildTargets', targets, task) + if handle_events: + result = False + # Borrowed from knotty, instead somewhat hackily we use the helper + # as the object to store "shutdown" on + helper = bb.ui.uihelper.BBUIHelper() + # We set up logging optionally in the constructor so now we need to + # grab the handlers to pass to TerminalFilter + console = None + errconsole = None + for handler in self.logger.handlers: + if isinstance(handler, logging.StreamHandler): + if handler.stream == sys.stdout: + console = handler + elif handler.stream == sys.stderr: + errconsole = handler + format_str = "%(levelname)s: %(message)s" + format = bb.msg.BBLogFormatter(format_str) + helper.shutdown = 0 + parseprogress = None + termfilter = bb.ui.knotty.TerminalFilter(helper, helper, console, errconsole, format, quiet=self.quiet) + try: + while True: + try: + event = self.wait_event(0.25) + if event: + if event_callback and event_callback(event): + continue + if helper.eventHandler(event): + continue + if isinstance(event, bb.event.ProcessStarted): + if self.quiet > 1: + continue + parseprogress = bb.ui.knotty.new_progress(event.processname, event.total) + parseprogress.start(False) + continue + if isinstance(event, bb.event.ProcessProgress): + if self.quiet > 1: + continue + if parseprogress: + parseprogress.update(event.progress) + else: + bb.warn("Got ProcessProgress event for someting that never started?") + continue + if isinstance(event, bb.event.ProcessFinished): + if self.quiet > 1: + continue + if parseprogress: + parseprogress.finish() + parseprogress = None + continue + if isinstance(event, bb.command.CommandCompleted): + result = True + break + if isinstance(event, bb.command.CommandFailed): + self.logger.error(str(event)) + result = False + break + if isinstance(event, logging.LogRecord): + if event.taskpid == 0 or event.levelno > logging.INFO: + self.logger.handle(event) + continue + if isinstance(event, bb.event.NoProvider): + self.logger.error(str(event)) + result = False + break + + elif helper.shutdown > 1: + break + termfilter.updateFooter() + except KeyboardInterrupt: + termfilter.clearFooter() + if helper.shutdown == 1: + print("\nSecond Keyboard Interrupt, stopping...\n") + ret = self.run_command("stateForceShutdown") + if ret and ret[2]: + self.logger.error("Unable to cleanly stop: %s" % ret[2]) + elif helper.shutdown == 0: + print("\nKeyboard Interrupt, closing down...\n") + interrupted = True + ret = self.run_command("stateShutdown") + if ret and ret[2]: + self.logger.error("Unable to cleanly shutdown: %s" % ret[2]) + helper.shutdown = helper.shutdown + 1 + termfilter.clearFooter() + finally: + termfilter.finish() + if helper.failed_tasks: + result = False + return result + else: + return ret + def shutdown(self): if self.server_connection: self.run_command('clientComplete') -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 09:43:26 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 09:43:26 +0000 Subject: [oe-commits] [bitbake] 12/18: fetch2: allow hiding checksum warning In-Reply-To: <150045739415.1580.1132759982017676329@git.openembedded.org> References: <150045739415.1580.1132759982017676329@git.openembedded.org> Message-ID: <20170719094314.AD3B12335CF@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit ecedff59873271583844891021526263a7cd30a6 Author: Paul Eggleton AuthorDate: Tue Jun 27 15:51:32 2017 +0100 fetch2: allow hiding checksum warning If BB_STRICT_CHECKSUMS is set to "ignore" then don't display a warning if no checksums are specified in the recipe. This is not intended to be used from recipes - it is needed when we move to using more standard code paths to fetch new files from scripts i.e. where we don't know what the checksums are in advance. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/fetch2/__init__.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/bb/fetch2/__init__.py b/lib/bb/fetch2/__init__.py index 5c02317..2e615b2 100644 --- a/lib/bb/fetch2/__init__.py +++ b/lib/bb/fetch2/__init__.py @@ -584,6 +584,12 @@ def verify_checksum(ud, d, precomputed={}): ud.sha256_name, sha256data)) raise NoChecksumError('Missing SRC_URI checksum', ud.url) + if strict == "ignore": + return { + _MD5_KEY: md5data, + _SHA256_KEY: sha256data + } + # Log missing sums so user can more easily add them logger.warning('Missing md5 SRC_URI checksum for %s, consider adding to the recipe:\n' 'SRC_URI[%s] = "%s"', -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 09:43:28 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 09:43:28 +0000 Subject: [oe-commits] [bitbake] 14/18: knotty: make it possible to use termfilter without consoles In-Reply-To: <150045739415.1580.1132759982017676329@git.openembedded.org> References: <150045739415.1580.1132759982017676329@git.openembedded.org> Message-ID: <20170719094314.BA2272335D2@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit de549f74f47cbd128a5017317a85e6a7503eb237 Author: Paul Eggleton AuthorDate: Thu Jun 29 13:50:36 2017 +0100 knotty: make it possible to use termfilter without consoles This isn't useful for knotty itself, but for use from tinfoil in case we can't get access to either the console or errconsole, allow either to be unspecified (None). Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/ui/knotty.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/bb/ui/knotty.py b/lib/bb/ui/knotty.py index c301982..f3900bd 100644 --- a/lib/bb/ui/knotty.py +++ b/lib/bb/ui/knotty.py @@ -207,8 +207,10 @@ class TerminalFilter(object): self.interactive = False bb.note("Unable to use interactive mode for this terminal, using fallback") return - console.addFilter(InteractConsoleLogFilter(self, format)) - errconsole.addFilter(InteractConsoleLogFilter(self, format)) + if console: + console.addFilter(InteractConsoleLogFilter(self, format)) + if errconsole: + errconsole.addFilter(InteractConsoleLogFilter(self, format)) self.main_progress = None -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 09:43:23 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 09:43:23 +0000 Subject: [oe-commits] [bitbake] 09/18: tinfoil: enable access to additional cached items In-Reply-To: <150045739415.1580.1132759982017676329@git.openembedded.org> References: <150045739415.1580.1132759982017676329@git.openembedded.org> Message-ID: <20170719094314.9838A2335B8@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit b5242a87b366b1807b610dc82407a3e9a156aada Author: Paul Eggleton AuthorDate: Mon Jun 12 10:39:55 2017 +0200 tinfoil: enable access to additional cached items Add access to fn_provides, packages, packages_dynamic and rproviders on the recipecache object. This requires an additional corresponding command plumbing to be added. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/command.py | 32 ++++++++++++++++++++++++++++++++ lib/bb/tinfoil.py | 8 ++++++++ 2 files changed, 40 insertions(+) diff --git a/lib/bb/command.py b/lib/bb/command.py index 05803d6..0e0a35a 100644 --- a/lib/bb/command.py +++ b/lib/bb/command.py @@ -312,6 +312,38 @@ class CommandsSync: return command.cooker.recipecaches[mc].pkg_pepvpr getRecipeVersions.readonly = True + def getRecipeProvides(self, command, params): + try: + mc = params[0] + except IndexError: + mc = '' + return command.cooker.recipecaches[mc].fn_provides + getRecipeProvides.readonly = True + + def getRecipePackages(self, command, params): + try: + mc = params[0] + except IndexError: + mc = '' + return command.cooker.recipecaches[mc].packages + getRecipePackages.readonly = True + + def getRecipePackagesDynamic(self, command, params): + try: + mc = params[0] + except IndexError: + mc = '' + return command.cooker.recipecaches[mc].packages_dynamic + getRecipePackagesDynamic.readonly = True + + def getRProviders(self, command, params): + try: + mc = params[0] + except IndexError: + mc = '' + return command.cooker.recipecaches[mc].rproviders + getRProviders.readonly = True + def getRuntimeDepends(self, command, params): ret = [] try: diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index 945bd4b..0176b76 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -173,6 +173,14 @@ class TinfoilCookerAdapter: attrvalue = self.tinfoil.run_command('getBbFilePriority') or {} elif name == 'pkg_dp': attrvalue = self.tinfoil.run_command('getDefaultPreference') or {} + elif name == 'fn_provides': + attrvalue = self.tinfoil.run_command('getRecipeProvides') or {} + elif name == 'packages': + attrvalue = self.tinfoil.run_command('getRecipePackages') or {} + elif name == 'packages_dynamic': + attrvalue = self.tinfoil.run_command('getRecipePackagesDynamic') or {} + elif name == 'rproviders': + attrvalue = self.tinfoil.run_command('getRProviders') or {} else: raise AttributeError("%s instance has no attribute '%s'" % (self.__class__.__name__, name)) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 09:43:27 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 09:43:27 +0000 Subject: [oe-commits] [bitbake] 13/18: fetch2: fire an event when there are missing checksums In-Reply-To: <150045739415.1580.1132759982017676329@git.openembedded.org> References: <150045739415.1580.1132759982017676329@git.openembedded.org> Message-ID: <20170719094314.B3A102335D1@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 20685e10969b94905221ee022946c126b12818cf Author: Paul Eggleton AuthorDate: Tue Jun 27 15:54:37 2017 +0100 fetch2: fire an event when there are missing checksums If BB_STRICT_CHECKSUMS is set to anything other than "1" i.e. we're not going to raise an error, then fire an event so that scripts can listen for it and get the checksums. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/fetch2/__init__.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/bb/fetch2/__init__.py b/lib/bb/fetch2/__init__.py index 2e615b2..74ba37f 100644 --- a/lib/bb/fetch2/__init__.py +++ b/lib/bb/fetch2/__init__.py @@ -39,6 +39,7 @@ import errno import bb.persist_data, bb.utils import bb.checksum import bb.process +import bb.event __version__ = "2" _checksum_cache = bb.checksum.FileChecksumCache() @@ -142,6 +143,13 @@ class NonLocalMethod(Exception): def __init__(self): Exception.__init__(self) +class MissingChecksumEvent(bb.event.Event): + def __init__(self, url, md5sum, sha256sum): + self.url = url + self.checksums = {'md5sum': md5sum, + 'sha256sum': sha256sum} + bb.event.Event.__init__(self) + class URI(object): """ @@ -584,6 +592,8 @@ def verify_checksum(ud, d, precomputed={}): ud.sha256_name, sha256data)) raise NoChecksumError('Missing SRC_URI checksum', ud.url) + bb.event.fire(MissingChecksumEvent(ud.url, md5data, sha256data), d) + if strict == "ignore": return { _MD5_KEY: md5data, -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 09:43:24 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 09:43:24 +0000 Subject: [oe-commits] [bitbake] 10/18: tinfoil: add simple API for getting cached recipe information In-Reply-To: <150045739415.1580.1132759982017676329@git.openembedded.org> References: <150045739415.1580.1132759982017676329@git.openembedded.org> Message-ID: <20170719094314.9FE762335B9@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 2c41cd8987e494047fed1b0eb5b33a54e3d119ad Author: Paul Eggleton AuthorDate: Mon Jun 12 11:44:24 2017 +0200 tinfoil: add simple API for getting cached recipe information A common task for tinfoil-using scripts is to iterate over all recipes. This isn't too difficult with the current API, but the pkg_* variables are a little awkward and are really designed for bitbake's internal usage - and it gets a bit more difficult when you want to access some of the other information such as packages and rprovides. To resolve this, create a new recipe info class and add an all_recipes() function to generate this for all recipes. Also add a get_recipe_info() function to get the information for a specific recipe (by PN). (It might perhaps be suggested that we already have a structure similar to this in the cache, however the one we add here is designed for external use and allows the internal structures to change if needed without affecting the API). Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/tinfoil.py | 142 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 142 insertions(+) diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index 0176b76..960468e 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -217,6 +217,82 @@ class TinfoilCookerAdapter: return self.tinfoil.find_best_provider(pn) +class TinfoilRecipeInfo: + """ + Provides a convenient representation of the cached information for a single recipe. + Some attributes are set on construction, others are read on-demand (which internally + may result in a remote procedure call to the bitbake server the first time). + Note that only information which is cached is available through this object - if + you need other variable values you will need to parse the recipe using + Tinfoil.parse_recipe(). + """ + def __init__(self, recipecache, d, pn, fn, fns): + self._recipecache = recipecache + self._d = d + self.pn = pn + self.fn = fn + self.fns = fns + self.inherit_files = recipecache.inherits[fn] + self.depends = recipecache.deps[fn] + (self.pe, self.pv, self.pr) = recipecache.pkg_pepvpr[fn] + self._cached_packages = None + self._cached_rprovides = None + self._cached_packages_dynamic = None + + def __getattr__(self, name): + if name == 'alternates': + return [x for x in self.fns if x != self.fn] + elif name == 'rdepends': + return self._recipecache.rundeps[self.fn] + elif name == 'rrecommends': + return self._recipecache.runrecs[self.fn] + elif name == 'provides': + return self._recipecache.fn_provides[self.fn] + elif name == 'packages': + if self._cached_packages is None: + self._cached_packages = [] + for pkg, fns in self._recipecache.packages.items(): + if self.fn in fns: + self._cached_packages.append(pkg) + return self._cached_packages + elif name == 'packages_dynamic': + if self._cached_packages_dynamic is None: + self._cached_packages_dynamic = [] + for pkg, fns in self._recipecache.packages_dynamic.items(): + if self.fn in fns: + self._cached_packages_dynamic.append(pkg) + return self._cached_packages_dynamic + elif name == 'rprovides': + if self._cached_rprovides is None: + self._cached_rprovides = [] + for pkg, fns in self._recipecache.rproviders.items(): + if self.fn in fns: + self._cached_rprovides.append(pkg) + return self._cached_rprovides + else: + raise AttributeError("%s instance has no attribute '%s'" % (self.__class__.__name__, name)) + def inherits(self, only_recipe=False): + """ + Get the inherited classes for a recipe. Returns the class names only. + Parameters: + only_recipe: True to return only the classes inherited by the recipe + itself, False to return all classes inherited within + the context for the recipe (which includes globally + inherited classes). + """ + if only_recipe: + global_inherit = [x for x in (self._d.getVar('BBINCLUDED') or '').split() if x.endswith('.bbclass')] + else: + global_inherit = [] + for clsfile in self.inherit_files: + if only_recipe and clsfile in global_inherit: + continue + clsname = os.path.splitext(os.path.basename(clsfile))[0] + yield clsname + def __str__(self): + return '%s' % self.pn + + class Tinfoil: def __init__(self, output=sys.stdout, tracking=False, setup_logging=True): @@ -401,6 +477,72 @@ class Tinfoil: def get_file_appends(self, fn): return self.run_command('getFileAppends', fn) + def all_recipes(self, mc='', sort=True): + """ + Enable iterating over all recipes in the current configuration. + Returns an iterator over TinfoilRecipeInfo objects created on demand. + Parameters: + mc: The multiconfig, default of '' uses the main configuration. + sort: True to sort recipes alphabetically (default), False otherwise + """ + recipecache = self.cooker.recipecaches[mc] + if sort: + recipes = sorted(recipecache.pkg_pn.items()) + else: + recipes = recipecache.pkg_pn.items() + for pn, fns in recipes: + prov = self.find_best_provider(pn) + recipe = TinfoilRecipeInfo(recipecache, + self.config_data, + pn=pn, + fn=prov[3], + fns=fns) + yield recipe + + def all_recipe_files(self, mc='', variants=True, preferred_only=False): + """ + Enable iterating over all recipe files in the current configuration. + Returns an iterator over file paths. + Parameters: + mc: The multiconfig, default of '' uses the main configuration. + variants: True to include variants of recipes created through + BBCLASSEXTEND (default) or False to exclude them + preferred_only: True to include only the preferred recipe where + multiple exist providing the same PN, False to list + all recipes + """ + recipecache = self.cooker.recipecaches[mc] + if preferred_only: + files = [] + for pn in recipecache.pkg_pn.keys(): + prov = self.find_best_provider(pn) + files.append(prov[3]) + else: + files = recipecache.pkg_fn.keys() + for fn in sorted(files): + if not variants and fn.startswith('virtual:'): + continue + yield fn + + + def get_recipe_info(self, pn, mc=''): + """ + Get information on a specific recipe in the current configuration by name (PN). + Returns a TinfoilRecipeInfo object created on demand. + Parameters: + mc: The multiconfig, default of '' uses the main configuration. + """ + recipecache = self.cooker.recipecaches[mc] + prov = self.find_best_provider(pn) + fn = prov[3] + actual_pn = recipecache.pkg_fn[fn] + recipe = TinfoilRecipeInfo(recipecache, + self.config_data, + pn=actual_pn, + fn=fn, + fns=recipecache.pkg_pn[actual_pn]) + return recipe + def parse_recipe(self, pn): """ Parse the specified recipe and return a datastore object -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 09:43:25 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 09:43:25 +0000 Subject: [oe-commits] [bitbake] 11/18: tinfoil: add more doc comments In-Reply-To: <150045739415.1580.1132759982017676329@git.openembedded.org> References: <150045739415.1580.1132759982017676329@git.openembedded.org> Message-ID: <20170719094314.A70F72335BB@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 06c8544ff5d4b5df4465252818ab9afb053f9f89 Author: Paul Eggleton AuthorDate: Thu Jun 15 15:23:56 2017 +0200 tinfoil: add more doc comments Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/tinfoil.py | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index 960468e..f84a08f 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -55,6 +55,7 @@ class TinfoilCommandFailed(Exception): """Exception raised when run_command fails""" class TinfoilDataStoreConnector: + """Connector object used to enable access to datastore objects via tinfoil""" def __init__(self, tinfoil, dsindex): self.tinfoil = tinfoil @@ -294,8 +295,25 @@ class TinfoilRecipeInfo: class Tinfoil: + """ + Tinfoil - an API for scripts and utilities to query + BitBake internals and perform build operations. + """ def __init__(self, output=sys.stdout, tracking=False, setup_logging=True): + """ + Create a new tinfoil object. + Parameters: + output: specifies where console output should be sent. Defaults + to sys.stdout. + tracking: True to enable variable history tracking, False to + disable it (default). Enabling this has a minor + performance impact so typically it isn't enabled + unless you need to query variable history. + setup_logging: True to setup a logger so that things like + bb.warn() will work immediately and timeout warnings + are visible; False to let BitBake do this itself. + """ self.logger = logging.getLogger('BitBake') self.config_data = None self.cooker = None @@ -316,6 +334,37 @@ class Tinfoil: self.shutdown() def prepare(self, config_only=False, config_params=None, quiet=0, extra_features=None): + """ + Prepares the underlying BitBake system to be used via tinfoil. + This function must be called prior to calling any of the other + functions in the API. + NOTE: if you call prepare() you must absolutely call shutdown() + before your code terminates. You can use a "with" block to ensure + this happens e.g. + + with bb.tinfoil.Tinfoil() as tinfoil: + tinfoil.prepare() + ... + + Parameters: + config_only: True to read only the configuration and not load + the cache / parse recipes. This is useful if you just + want to query the value of a variable at the global + level or you want to do anything else that doesn't + involve knowing anything about the recipes in the + current configuration. False loads the cache / parses + recipes. + config_params: optionally specify your own configuration + parameters. If not specified an instance of + TinfoilConfigParameters will be created internally. + quiet: quiet level controlling console output - equivalent + to bitbake's -q/--quiet option. Default of 0 gives + the same output level as normal bitbake execution. + extra_features: extra features to be added to the feature + set requested from the server. See + CookerFeatures._feature_list for possible + features. + """ self.quiet = quiet if self.tracking: @@ -440,9 +489,16 @@ class Tinfoil: return self.server_connection.events.waitEvent(timeout) def get_overlayed_recipes(self): + """ + Find recipes which are overlayed (i.e. where recipes exist in multiple layers) + """ return defaultdict(list, self.run_command('getOverlayedRecipes')) def get_skipped_recipes(self): + """ + Find recipes which were skipped (i.e. SkipRecipe was raised + during parsing). + """ return OrderedDict(self.run_command('getSkippedRecipes')) def get_all_providers(self): @@ -475,6 +531,9 @@ class Tinfoil: return best[3] def get_file_appends(self, fn): + """ + Find the bbappends for a recipe file + """ return self.run_command('getFileAppends', fn) def all_recipes(self, mc='', sort=True): @@ -740,6 +799,12 @@ class Tinfoil: return ret def shutdown(self): + """ + Shut down tinfoil. Disconnects from the server and gracefully + releases any associated resources. You must call this function if + prepare() has been called, or use a with... block when you create + the tinfoil object which will ensure that it gets called. + """ if self.server_connection: self.run_command('clientComplete') _server_connections.remove(self.server_connection) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 09:43:29 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 09:43:29 +0000 Subject: [oe-commits] [bitbake] 15/18: server/process.py: fix self.bitbake_lock.write() In-Reply-To: <150045739415.1580.1132759982017676329@git.openembedded.org> References: <150045739415.1580.1132759982017676329@git.openembedded.org> Message-ID: <20170719094314.C01752335D3@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit d26905b844556bf4b7e465522702c94dd945f49b Author: Robert Yang AuthorDate: Fri Jul 14 02:52:03 2017 -0700 server/process.py: fix self.bitbake_lock.write() There is no global var "configuration", so the old code hang at self.bitbake_lock.write(), and nothing wrote to bitbake.lock. I didn't figure out why it hang (but not print errors). Reproducer: $ bitbake -B localhost:-1 world -k Check bitbake.log, there was nothing, now fixed. Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- lib/bb/server/process.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/bb/server/process.py b/lib/bb/server/process.py index a1d9adc..23e033a 100644 --- a/lib/bb/server/process.py +++ b/lib/bb/server/process.py @@ -95,8 +95,8 @@ class ProcessServer(multiprocessing.Process): try: self.bitbake_lock.seek(0) self.bitbake_lock.truncate() - if self.xmlrpcinterface[0]: - self.bitbake_lock.write("%s %s:%s\n" % (os.getpid(), configuration.interface[0], configuration.interface[1])) + if self.xmlrpc: + self.bitbake_lock.write("%s %s:%s\n" % (os.getpid(), self.xmlrpc.host, self.xmlrpc.port)) else: self.bitbake_lock.write("%s\n" % (os.getpid())) self.bitbake_lock.flush() -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 09:43:31 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 09:43:31 +0000 Subject: [oe-commits] [bitbake] 17/18: bb/main.py: avoid starting server when not needed In-Reply-To: <150045739415.1580.1132759982017676329@git.openembedded.org> References: <150045739415.1580.1132759982017676329@git.openembedded.org> Message-ID: <20170719094314.CCE732335D7@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit f4b00e016a7a321d21285cb829dd88903d1b8282 Author: Robert Yang AuthorDate: Mon Jul 17 01:27:14 2017 -0700 bb/main.py: avoid starting server when not needed Fixed 1: $ . ../poky/oe-init-build-env-memres . $ bitbake -m $ bitbake -m # shutdown it again $ bitbake -m Starting bitbake server... Terminated bitbake server. It starts the server and kill it which is redundant. $ bitbake -m $ bitbake --status-only Starting bitbake server... It starts the server which is not what we need. Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- lib/bb/main.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/bb/main.py b/lib/bb/main.py index a61dfe5..8b2f2e3 100755 --- a/lib/bb/main.py +++ b/lib/bb/main.py @@ -368,8 +368,10 @@ def bitbake_main(configParams, configuration): configuration.debug_domains) server_connection, ui_module = setup_bitbake(configParams, configuration) - if server_connection is None and configParams.kill_server: - return 0 + # No server connection + if server_connection is None: + if configParams.status_only or configParams.kill_server: + return 1 if not configParams.server_only: if configParams.status_only: @@ -426,6 +428,10 @@ def setup_bitbake(configParams, configuration, extrafeatures=None, setup_logging topdir, lock = lockBitbake() sockname = topdir + "/bitbake.sock" if lock: + if configParams.status_only or configParams.kill_server: + print("bitbake server is not running.") + lock.close() + return None, None # we start a server with a given configuration print("Starting bitbake server...") server = bb.server.process.BitBakeServer(lock, sockname, configuration, featureset) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 09:43:30 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 09:43:30 +0000 Subject: [oe-commits] [bitbake] 16/18: bb/main.py: fix infinite loop for --server-only In-Reply-To: <150045739415.1580.1132759982017676329@git.openembedded.org> References: <150045739415.1580.1132759982017676329@git.openembedded.org> Message-ID: <20170719094314.C69F42335D5@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 03e97e33ea235cefbb536dcc3c175533edf47bdd Author: Robert Yang AuthorDate: Fri Jul 14 02:58:12 2017 -0700 bb/main.py: fix infinite loop for --server-only Fixed: $ bitbake --server-only -B localhost:-1 Infinite loop Reconnecting to bitbake server... [snip] Break the loop when server-only can fix the problem. Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- lib/bb/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/bb/main.py b/lib/bb/main.py index c55052f..a61dfe5 100755 --- a/lib/bb/main.py +++ b/lib/bb/main.py @@ -437,7 +437,7 @@ def setup_bitbake(configParams, configuration, extrafeatures=None, setup_logging raise bb.server.process.ProcessTimeout("Bitbake still shutting down as socket exists but no lock?") if not configParams.server_only: server_connection = bb.server.process.connectProcessServer(sockname, featureset) - if server_connection: + if server_connection or configParams.server_only: break except (Exception, bb.server.process.ProcessTimeout) as e: if not retries: -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 09:43:32 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 09:43:32 +0000 Subject: [oe-commits] [bitbake] 18/18: bb/main.py: fix logic for --observe-only In-Reply-To: <150045739415.1580.1132759982017676329@git.openembedded.org> References: <150045739415.1580.1132759982017676329@git.openembedded.org> Message-ID: <20170719094314.D30462335D8@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 6cb2032d33a620fa6c7bdbc125b3ff69d0f9eaed Author: Robert Yang AuthorDate: Mon Jul 17 03:17:03 2017 -0700 bb/main.py: fix logic for --observe-only Fixed: $ bitbake --observe-only FATAL: '--observe-only' can only be used by UI clients connecting to a server. And even: $bitbake --observe-only -B localhost:-1 FATAL: '--observe-only' can only be used by UI clients connecting to a server. This was beucase the brackets were in a wrong position. Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- lib/bb/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/bb/main.py b/lib/bb/main.py index 8b2f2e3..df345e8 100755 --- a/lib/bb/main.py +++ b/lib/bb/main.py @@ -355,7 +355,7 @@ def bitbake_main(configParams, configuration): ("the BBSERVER environment variable" if "BBSERVER" in os.environ \ else "the '--remote-server' option")) - if configParams.observe_only and (not configParams.remote_server or configParams.bind): + if configParams.observe_only and not (configParams.remote_server or configParams.bind): raise BBMainException("FATAL: '--observe-only' can only be used by UI clients " "connecting to a server.\n") -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 09:53:06 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 09:53:06 +0000 Subject: [oe-commits] [bitbake] 02/18: cookerdata/cooker: Restore original datastore upon client disconnect In-Reply-To: <150045798403.3833.10506397388689494993@git.openembedded.org> References: <150045798403.3833.10506397388689494993@git.openembedded.org> Message-ID: <20170719095304.2DF332335AB@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit c4365b2c5bf5ccf45865d6434fa490ce8585b889 Author: Richard Purdie AuthorDate: Tue Jul 18 17:50:24 2017 +0100 cookerdata/cooker: Restore original datastore upon client disconnect Signed-off-by: Richard Purdie --- lib/bb/cooker.py | 2 ++ lib/bb/cookerdata.py | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py index e27763e..daffe67 100644 --- a/lib/bb/cooker.py +++ b/lib/bb/cooker.py @@ -1566,6 +1566,8 @@ class BBCooker: def clientComplete(self): """Called when the client is done using the server""" self.finishcommand() + self.databuilder.reset() + self.data = self.databuilder.data def server_main(cooker, func, *args): cooker.pre_serve() diff --git a/lib/bb/cookerdata.py b/lib/bb/cookerdata.py index d05abfe..b3a3f04 100644 --- a/lib/bb/cookerdata.py +++ b/lib/bb/cookerdata.py @@ -328,6 +328,13 @@ class CookerDataBuilder(object): logger.exception("Error parsing configuration files") raise bb.BBHandledException + # Create a copy so we can reset at a later date when UIs disconnect + self.origdata = self.data + self.data = bb.data.createCopy(self.origdata) + + def reset(self): + self.data = bb.data.createCopy(self.origdata) + def _findLayerConf(self, data): return findConfigFile("bblayers.conf", data) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 09:53:08 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 09:53:08 +0000 Subject: [oe-commits] [bitbake] 04/18: tinfoil: add a parse_recipes() function In-Reply-To: <150045798403.3833.10506397388689494993@git.openembedded.org> References: <150045798403.3833.10506397388689494993@git.openembedded.org> Message-ID: <20170719095304.3D5B22335AF@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 1ca47fc0692350abf2efdf34a697fbd431c91fa0 Author: Paul Eggleton AuthorDate: Wed May 17 17:10:35 2017 +1200 tinfoil: add a parse_recipes() function Python style recommends underscore based naming rather than camelCase, and thus the former has been used for most of tinfoil's functions. Add an underscored version of parseRecipes() for consistency and change the one place we call it to use the new version. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- bin/bitbake-layers | 2 +- lib/bb/tinfoil.py | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/bin/bitbake-layers b/bin/bitbake-layers index 04e6bec..d184011 100755 --- a/bin/bitbake-layers +++ b/bin/bitbake-layers @@ -90,7 +90,7 @@ def main(): if getattr(args, 'parserecipes', False): tinfoil.config_data.disableTracking() - tinfoil.parseRecipes() + tinfoil.parse_recipes() tinfoil.config_data.enableTracking() return args.func(args) diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index 65ebdc2..ddc7b06 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -289,7 +289,13 @@ class Tinfoil: def parseRecipes(self): """ - Force a parse of all recipes. Normally you should specify + Legacy function - use parse_recipes() instead. + """ + self.parse_recipes() + + def parse_recipes(self): + """ + Load information on all recipes. Normally you should specify config_only=False when calling prepare() instead of using this function; this function is designed for situations where you need to initialise Tinfoil and use it with config_only=True first and -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 09:53:04 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 09:53:04 +0000 Subject: [oe-commits] [bitbake] branch master-next updated (6cb2032 -> b9ce437) Message-ID: <150045798403.3833.10506397388689494993@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master-next in repository bitbake. discard 6cb2032 bb/main.py: fix logic for --observe-only discard f4b00e0 bb/main.py: avoid starting server when not needed discard 03e97e3 bb/main.py: fix infinite loop for --server-only discard d26905b server/process.py: fix self.bitbake_lock.write() discard de549f7 knotty: make it possible to use termfilter without consoles discard 20685e1 fetch2: fire an event when there are missing checksums discard ecedff5 fetch2: allow hiding checksum warning discard 06c8544 tinfoil: add more doc comments discard 2c41cd8 tinfoil: add simple API for getting cached recipe information discard b5242a8 tinfoil: enable access to additional cached items discard 30d456d tinfoil: add functionality for running full builds discard 33a77f7 lib/bb/ui/uihelper: indicate to caller of eventHandler() if events handled discard 4bdb849 lib/bb/event: refactor printing events discard b5ea057 tinfoil: set a flag when recipes have been parsed discard fe6b1bc tinfoil: add a parse_recipes() function discard 6c68a45 tinfoil: add internal mode to build_file() function discard f43b119 cookerdata/cooker: Restore original datastore upon client disconnect discard d619179 server: Rework the server API so process and xmlrpc servers coexist new 377214d server: Rework the server API so process and xmlrpc servers coexist new c4365b2 cookerdata/cooker: Restore original datastore upon client disconnect new d6e4db5 tinfoil: add internal mode to build_file() function new 1ca47fc tinfoil: add a parse_recipes() function new 2e44979 tinfoil: set a flag when recipes have been parsed new efe0eb3 lib/bb/event: refactor printing events new d770508 lib/bb/ui/uihelper: indicate to caller of eventHandler() if events handled new 4056c16 tinfoil: add functionality for running full builds new a952615 tinfoil: enable access to additional cached items new 7ce3b14 tinfoil: add simple API for getting cached recipe information new 4925e8e tinfoil: add more doc comments new b8ea14c fetch2: allow hiding checksum warning new 0fda629 fetch2: fire an event when there are missing checksums new 40c12ec knotty: make it possible to use termfilter without consoles new 5f65f86 server/process.py: fix self.bitbake_lock.write() new c6bd015 bb/main.py: fix infinite loop for --server-only new be4d082 bb/main.py: avoid starting server when not needed new b9ce437 bb/main.py: fix logic for --observe-only This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (6cb2032) \ N -- N -- N refs/heads/master-next (b9ce437) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 18 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: lib/bb/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 09:53:07 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 09:53:07 +0000 Subject: [oe-commits] [bitbake] 03/18: tinfoil: add internal mode to build_file() function In-Reply-To: <150045798403.3833.10506397388689494993@git.openembedded.org> References: <150045798403.3833.10506397388689494993@git.openembedded.org> Message-ID: <20170719095304.363BF2335AD@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit d6e4db542800cbffe8e494a65ec356a517e2dfb6 Author: Paul Eggleton AuthorDate: Tue May 16 15:50:45 2017 +1200 tinfoil: add internal mode to build_file() function In OE's devtool we want to repeatedly run build_file() without showing unnecessary messages and triggering buildhistory for each call. build_file() is just a wrapper around the buildFile command. Change the final "hidewarning" parameter of the buildFile command to "internal" and have this call a new buildFileInternal() function without triggering any of the normal build events, silencing the normal info messages from the runqueue ("Executing RunQueue Tasks", "Tasks Summary" etc.) and avoiding calling parseConfiguration() which we've already done at this point. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/command.py | 9 ++++++--- lib/bb/cooker.py | 34 +++++++++++++++++++++++++--------- lib/bb/tinfoil.py | 9 ++++++--- 3 files changed, 37 insertions(+), 15 deletions(-) diff --git a/lib/bb/command.py b/lib/bb/command.py index eb7c86f..c06ab07 100644 --- a/lib/bb/command.py +++ b/lib/bb/command.py @@ -548,11 +548,14 @@ class CommandsAsync: bfile = params[0] task = params[1] if len(params) > 2: - hidewarning = params[2] + internal = params[2] else: - hidewarning = False + internal = False - command.cooker.buildFile(bfile, task, hidewarning) + if internal: + command.cooker.buildFileInternal(bfile, task, fireevents=False, quietlog=True) + else: + command.cooker.buildFile(bfile, task) buildFile.needcache = False def buildTargets(self, command, params): diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py index daffe67..1625d3c 100644 --- a/lib/bb/cooker.py +++ b/lib/bb/cooker.py @@ -1219,21 +1219,27 @@ class BBCooker: raise NoSpecificMatch return matches[0] - def buildFile(self, buildfile, task, hidewarning=False): + def buildFile(self, buildfile, task): """ Build the file matching regexp buildfile """ bb.event.fire(bb.event.BuildInit(), self.data) - if not hidewarning: - # Too many people use -b because they think it's how you normally - # specify a target to be built, so show a warning - bb.warn("Buildfile specified, dependencies will not be handled. If this is not what you want, do not use -b / --buildfile.") + # Too many people use -b because they think it's how you normally + # specify a target to be built, so show a warning + bb.warn("Buildfile specified, dependencies will not be handled. If this is not what you want, do not use -b / --buildfile.") # Parse the configuration here. We need to do it explicitly here since # buildFile() doesn't use the cache self.parseConfiguration() + self.buildFileInternal(buildfile, task) + + def buildFileInternal(self, buildfile, task, fireevents=True, quietlog=False): + """ + Build the file matching regexp buildfile + """ + # If we are told to do the None task then query the default task if (task == None): task = self.configuration.cmd @@ -1270,8 +1276,8 @@ class BBCooker: # Remove external dependencies self.recipecaches[mc].task_deps[fn]['depends'] = {} self.recipecaches[mc].deps[fn] = [] - self.recipecaches[mc].rundeps[fn] = [] - self.recipecaches[mc].runrecs[fn] = [] + self.recipecaches[mc].rundeps[fn] = defaultdict(list) + self.recipecaches[mc].runrecs[fn] = defaultdict(list) # Invalidate task for target if force mode active if self.configuration.force: @@ -1283,8 +1289,13 @@ class BBCooker: taskdata[mc] = bb.taskdata.TaskData(self.configuration.abort) taskdata[mc].add_provider(self.databuilder.mcdata[mc], self.recipecaches[mc], item) + if quietlog: + rqloglevel = bb.runqueue.logger.getEffectiveLevel() + bb.runqueue.logger.setLevel(logging.WARNING) + buildname = self.databuilder.mcdata[mc].getVar("BUILDNAME") - bb.event.fire(bb.event.BuildStarted(buildname, [item]), self.databuilder.mcdata[mc]) + if fireevents: + bb.event.fire(bb.event.BuildStarted(buildname, [item]), self.databuilder.mcdata[mc]) # Execute the runqueue runlist = [[mc, item, task, fn]] @@ -1311,11 +1322,16 @@ class BBCooker: retval = False except SystemExit as exc: self.command.finishAsyncCommand(str(exc)) + if quietlog: + bb.runqueue.logger.setLevel(rqloglevel) return False if not retval: - bb.event.fire(bb.event.BuildCompleted(len(rq.rqdata.runtaskentries), buildname, item, failures, interrupted), self.databuilder.mcdata[mc]) + if fireevents: + bb.event.fire(bb.event.BuildCompleted(len(rq.rqdata.runtaskentries), buildname, item, failures, interrupted), self.databuilder.mcdata[mc]) self.command.finishAsyncCommand(msg) + if quietlog: + bb.runqueue.logger.setLevel(rqloglevel) return False if retval is True: return True diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index 303ce02..65ebdc2 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -415,12 +415,15 @@ class Tinfoil: else: return None - def build_file(self, buildfile, task): + def build_file(self, buildfile, task, internal=True): """ Runs the specified task for just a single recipe (i.e. no dependencies). - This is equivalent to bitbake -b, except no warning will be printed. + This is equivalent to bitbake -b, except with the default internal=True + no warning about dependencies will be produced, normal info messages + from the runqueue will be silenced and BuildInit, BuildStarted and + BuildCompleted events will not be fired. """ - return self.run_command('buildFile', buildfile, task, True) + return self.run_command('buildFile', buildfile, task, internal) def shutdown(self): if self.server_connection: -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 09:53:05 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 09:53:05 +0000 Subject: [oe-commits] [bitbake] 01/18: server: Rework the server API so process and xmlrpc servers coexist In-Reply-To: <150045798403.3833.10506397388689494993@git.openembedded.org> References: <150045798403.3833.10506397388689494993@git.openembedded.org> Message-ID: <20170719095304.2592D2335AA@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 377214d9484384ddbff8038ae3fa97a054a68879 Author: Richard Purdie AuthorDate: Tue Jul 18 22:28:40 2017 +0100 server: Rework the server API so process and xmlrpc servers coexist This changes the way bitbake server works quite radically. Now, the server is always a process based server with the option of starting an XMLRPC listener on a specific inferface/port. Behind the scenes this is done with a "bitbake.sock" file alongside the bitbake.lock file. If we can obtain the lock, we know we need to start a server. The server always listens on the socket and UIs can then connect to this. UIs connect by sending a set of three file descriptors over the domain socket, one for sending commands, one for receiving command results and the other for receiving events. These changes meant we can throw away all the horrid server abstraction code, the plugable transport option to bitbake and the code becomes much more readable and debuggable. It also likely removes a ton of ways you could hang the UI/cooker in weird ways due to all the race conditions that existed with previous processes. Changes: * The foreground option for bitbake-server was dropped. Just tail the log if you really want this, the codepaths were complicated enough without adding one for this. * BBSERVER="autodetect" was dropped. The server will autostart and autoconnect in process mode. You have to specify an xmlrpc server address since that can't be autodetected. I can't see a use case for autodetect now. * The transport/servetype option to bitbake was dropped. * A BB_SERVER_TIMEOUT variable is added which allows the server to stay resident for a period of time after the last client disconnects before unloading. This is used if the -T/--idle-timeout option is not passed to bitbake. This change is invasive and may well introduce new issues however I believe the codebase is in a much better position for further development and debugging. Signed-off-by: Richard Purdie --- lib/bb/cooker.py | 58 +---- lib/bb/cookerdata.py | 5 +- lib/bb/main.py | 228 ++++++---------- lib/bb/server/__init__.py | 6 - lib/bb/server/process.py | 592 +++++++++++++++++++++++++++--------------- lib/bb/server/xmlrpc.py | 492 ----------------------------------- lib/bb/server/xmlrpcclient.py | 154 +++++++++++ lib/bb/server/xmlrpcserver.py | 158 +++++++++++ lib/bb/tinfoil.py | 2 +- lib/prserv/serv.py | 4 +- 10 files changed, 783 insertions(+), 916 deletions(-) diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py index b1311bb..e27763e 100644 --- a/lib/bb/cooker.py +++ b/lib/bb/cooker.py @@ -215,19 +215,6 @@ class BBCooker: self.configuration.server_register_idlecallback(_process_inotify_updates, [self.confignotifier, self.notifier]) - # Take a lock so only one copy of bitbake can run against a given build - # directory at a time - if not self.lockBitbake(): - bb.fatal("Only one copy of bitbake should be run against a build directory") - try: - self.lock.seek(0) - self.lock.truncate() - if len(configuration.interface) >= 2: - self.lock.write("%s:%s\n" % (configuration.interface[0], configuration.interface[1])); - self.lock.flush() - except: - pass - # TOSTOP must not be set or our children will hang when they output try: fd = sys.stdout.fileno() @@ -1557,33 +1544,6 @@ class BBCooker: def post_serve(self): prserv.serv.auto_shutdown(self.data) bb.event.fire(CookerExit(), self.data) - lockfile = self.lock.name - self.lock.close() - self.lock = None - - while not self.lock: - with bb.utils.timeout(3): - self.lock = bb.utils.lockfile(lockfile, shared=False, retry=False, block=True) - if not self.lock: - # Some systems may not have lsof available - procs = None - try: - procs = subprocess.check_output(["lsof", '-w', lockfile], stderr=subprocess.STDOUT) - except OSError as e: - if e.errno != errno.ENOENT: - raise - if procs is None: - # Fall back to fuser if lsof is unavailable - try: - procs = subprocess.check_output(["fuser", '-v', lockfile], stderr=subprocess.STDOUT) - except OSError as e: - if e.errno != errno.ENOENT: - raise - - msg = "Delaying shutdown due to active processes which appear to be holding bitbake.lock" - if procs: - msg += ":\n%s" % str(procs) - print(msg) def shutdown(self, force = False): @@ -1605,23 +1565,7 @@ class BBCooker: def clientComplete(self): """Called when the client is done using the server""" - if self.configuration.server_only: - self.finishcommand() - else: - self.shutdown(True) - - def lockBitbake(self): - if not hasattr(self, 'lock'): - self.lock = None - if self.data: - lockfile = self.data.expand("${TOPDIR}/bitbake.lock") - if lockfile: - self.lock = bb.utils.lockfile(lockfile, False, False) - return self.lock - - def unlockBitbake(self): - if hasattr(self, 'lock') and self.lock: - bb.utils.unlockfile(self.lock) + self.finishcommand() def server_main(cooker, func, *args): cooker.pre_serve() diff --git a/lib/bb/cookerdata.py b/lib/bb/cookerdata.py index 6511dcb..d05abfe 100644 --- a/lib/bb/cookerdata.py +++ b/lib/bb/cookerdata.py @@ -76,7 +76,7 @@ class ConfigParameters(object): for o in ["abort", "tryaltconfigs", "force", "invalidate_stamp", "verbose", "debug", "dry_run", "dump_signatures", "debug_domains", "extra_assume_provided", "profile", - "prefile", "postfile", "tracking"]: + "prefile", "postfile", "tracking", "server_timeout"]: options[o] = getattr(self.options, o) ret, error = server.runCommand(["updateConfig", options, environment, sys.argv]) @@ -144,7 +144,8 @@ class CookerConfiguration(object): self.dump_signatures = [] self.dry_run = False self.tracking = False - self.interface = [] + self.xmlrpcinterface = [] + self.server_timeout = None self.writeeventlog = False self.server_only = False self.limited_deps = False diff --git a/lib/bb/main.py b/lib/bb/main.py index 29e3911..c8b633e 100755 --- a/lib/bb/main.py +++ b/lib/bb/main.py @@ -28,6 +28,8 @@ import logging import optparse import warnings import fcntl +import time +import traceback import bb from bb import event @@ -37,6 +39,9 @@ from bb import ui from bb import server from bb import cookerdata +import bb.server.process +import bb.server.xmlrpcclient + logger = logging.getLogger("BitBake") class BBMainException(Exception): @@ -58,9 +63,6 @@ class BitbakeHelpFormatter(optparse.IndentedHelpFormatter): if option.dest == 'ui': valid_uis = list_extension_modules(bb.ui, 'main') option.help = option.help.replace('@CHOICES@', present_options(valid_uis)) - elif option.dest == 'servertype': - valid_server_types = list_extension_modules(bb.server, 'BitBakeServer') - option.help = option.help.replace('@CHOICES@', present_options(valid_server_types)) return optparse.IndentedHelpFormatter.format_option(self, option) @@ -238,11 +240,6 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters): default=os.environ.get('BITBAKE_UI', 'knotty'), help="The user interface to use (@CHOICES@ - default %default).") - # @CHOICES@ is substituted out by BitbakeHelpFormatter above - parser.add_option("-t", "--servertype", action="store", dest="servertype", - default=["process", "xmlrpc"]["BBSERVER" in os.environ], - help="Choose which server type to use (@CHOICES@ - default %default).") - parser.add_option("", "--token", action="store", dest="xmlrpctoken", default=os.environ.get("BBTOKEN"), help="Specify the connection token to be used when connecting " @@ -258,14 +255,11 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters): help="Run bitbake without a UI, only starting a server " "(cooker) process.") - parser.add_option("", "--foreground", action="store_true", - help="Run bitbake server in foreground.") - parser.add_option("-B", "--bind", action="store", dest="bind", default=False, - help="The name/address for the bitbake server to bind to.") + help="The name/address for the bitbake xmlrpc server to bind to.") - parser.add_option("-T", "--idle-timeout", type=int, - default=int(os.environ.get("BBTIMEOUT", "0")), + parser.add_option("-T", "--idle-timeout", type=float, dest="server_timeout", + default=float(os.environ.get("BB_SERVER_TIMEOUT", 0)) or None, help="Set timeout to unload bitbake server due to inactivity") parser.add_option("", "--no-setscene", action="store_true", @@ -283,7 +277,7 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters): parser.add_option("-m", "--kill-server", action="store_true", dest="kill_server", default=False, - help="Terminate the remote server.") + help="Terminate the bitbake server.") parser.add_option("", "--observe-only", action="store_true", dest="observe_only", default=False, @@ -322,70 +316,20 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters): eventlog = "bitbake_eventlog_%s.json" % datetime.now().strftime("%Y%m%d%H%M%S") options.writeeventlog = eventlog - # if BBSERVER says to autodetect, let's do that - if options.remote_server: - port = -1 - if options.remote_server != 'autostart': - host, port = options.remote_server.split(":", 2) + if options.bind: + try: + #Checking that the port is a number and is a ':' delimited value + (host, port) = options.bind.split(':') port = int(port) - # use automatic port if port set to -1, means read it from - # the bitbake.lock file; this is a bit tricky, but we always expect - # to be in the base of the build directory if we need to have a - # chance to start the server later, anyway - if port == -1: - lock_location = "./bitbake.lock" - # we try to read the address at all times; if the server is not started, - # we'll try to start it after the first connect fails, below - try: - lf = open(lock_location, 'r') - remotedef = lf.readline() - [host, port] = remotedef.split(":") - port = int(port) - lf.close() - options.remote_server = remotedef - except Exception as e: - if options.remote_server != 'autostart': - raise BBMainException("Failed to read bitbake.lock (%s), invalid port" % str(e)) + except (ValueError,IndexError): + raise BBMainException("FATAL: Malformed host:port bind parameter") + options.xmlrpcinterface = (host, port) + else: + options.xmlrpcinterface = (None, 0) return options, targets[1:] -def start_server(servermodule, configParams, configuration, features): - server = servermodule.BitBakeServer() - single_use = not configParams.server_only and os.getenv('BBSERVER') != 'autostart' - if configParams.bind: - (host, port) = configParams.bind.split(':') - server.initServer((host, int(port)), single_use=single_use, - idle_timeout=configParams.idle_timeout) - configuration.interface = [server.serverImpl.host, server.serverImpl.port] - else: - server.initServer(single_use=single_use) - configuration.interface = [] - - try: - configuration.setServerRegIdleCallback(server.getServerIdleCB()) - - cooker = bb.cooker.BBCooker(configuration, features) - - server.addcooker(cooker) - server.saveConnectionDetails() - except Exception as e: - while hasattr(server, "event_queue"): - import queue - try: - event = server.event_queue.get(block=False) - except (queue.Empty, IOError): - break - if isinstance(event, logging.LogRecord): - logger.handle(event) - raise - if not configParams.foreground: - server.detach() - cooker.shutdown() - cooker.lock.close() - return server - - def bitbake_main(configParams, configuration): # Python multiprocessing requires /dev/shm on Linux @@ -406,45 +350,15 @@ def bitbake_main(configParams, configuration): configuration.setConfigParameters(configParams) - if configParams.server_only: - if configParams.servertype != "xmlrpc": - raise BBMainException("FATAL: If '--server-only' is defined, we must set the " - "servertype as 'xmlrpc'.\n") - if not configParams.bind: - raise BBMainException("FATAL: The '--server-only' option requires a name/address " - "to bind to with the -B option.\n") - else: - try: - #Checking that the port is a number - int(configParams.bind.split(":")[1]) - except (ValueError,IndexError): - raise BBMainException( - "FATAL: Malformed host:port bind parameter") - if configParams.remote_server: + if configParams.server_only and configParams.remote_server: raise BBMainException("FATAL: The '--server-only' option conflicts with %s.\n" % ("the BBSERVER environment variable" if "BBSERVER" in os.environ \ else "the '--remote-server' option")) - elif configParams.foreground: - raise BBMainException("FATAL: The '--foreground' option can only be used " - "with --server-only.\n") - - if configParams.bind and configParams.servertype != "xmlrpc": - raise BBMainException("FATAL: If '-B' or '--bind' is defined, we must " - "set the servertype as 'xmlrpc'.\n") - - if configParams.remote_server and configParams.servertype != "xmlrpc": - raise BBMainException("FATAL: If '--remote-server' is defined, we must " - "set the servertype as 'xmlrpc'.\n") - if configParams.observe_only and (not configParams.remote_server or configParams.bind): raise BBMainException("FATAL: '--observe-only' can only be used by UI clients " "connecting to a server.\n") - if configParams.kill_server and not configParams.remote_server: - raise BBMainException("FATAL: '--kill-server' can only be used to " - "terminate a remote server") - if "BBDEBUG" in os.environ: level = int(os.environ["BBDEBUG"]) if level > configuration.debug: @@ -453,7 +367,7 @@ def bitbake_main(configParams, configuration): bb.msg.init_msgconfig(configParams.verbose, configuration.debug, configuration.debug_domains) - server, server_connection, ui_module = setup_bitbake(configParams, configuration) + server_connection, ui_module = setup_bitbake(configParams, configuration) if server_connection is None and configParams.kill_server: return 0 @@ -463,16 +377,15 @@ def bitbake_main(configParams, configuration): return 0 try: + for event in bb.event.ui_queue: + server_connection.events.queue_event(event) + bb.event.ui_queue = [] + return ui_module.main(server_connection.connection, server_connection.events, configParams) finally: - bb.event.ui_queue = [] server_connection.terminate() else: - print("Bitbake server address: %s, server port: %s" % (server.serverImpl.host, - server.serverImpl.port)) - if configParams.foreground: - server.serverImpl.serve_forever() return 0 return 1 @@ -495,58 +408,67 @@ def setup_bitbake(configParams, configuration, extrafeatures=None, setup_logging # Collect the feature set for the UI featureset = getattr(ui_module, "featureSet", []) - if configParams.server_only: - for param in ('prefile', 'postfile'): - value = getattr(configParams, param) - if value: - setattr(configuration, "%s_server" % param, value) - param = "%s_server" % param - if extrafeatures: for feature in extrafeatures: if not feature in featureset: featureset.append(feature) - servermodule = import_extension_module(bb.server, - configParams.servertype, - 'BitBakeServer') + server_connection = None + if configParams.remote_server: - if os.getenv('BBSERVER') == 'autostart': - if configParams.remote_server == 'autostart' or \ - not servermodule.check_connection(configParams.remote_server, timeout=2): - configParams.bind = 'localhost:0' - srv = start_server(servermodule, configParams, configuration, featureset) - configParams.remote_server = '%s:%d' % tuple(configuration.interface) - bb.event.ui_queue = [] - # we start a stub server that is actually a XMLRPClient that connects to a real server - from bb.server.xmlrpc import BitBakeXMLRPCClient - server = servermodule.BitBakeXMLRPCClient(configParams.observe_only, - configParams.xmlrpctoken) - server.saveConnectionDetails(configParams.remote_server) + # Connect to a remote XMLRPC server + server_connection = bb.server.xmlrpcclient.connectXMLRPC(configParams.remote_server, featureset, + configParams.observe_only, configParams.xmlrpctoken) else: - # we start a server with a given configuration - server = start_server(servermodule, configParams, configuration, featureset) + retries = 8 + while retries: + try: + topdir, lock = lockBitbake() + sockname = topdir + "/bitbake.sock" + if lock: + # we start a server with a given configuration + print("Starting bitbake server...") + server = bb.server.process.BitBakeServer(lock, sockname, configuration, featureset) + else: + print("Reconnecting to bitbake server...") + if not os.path.exists(sockname): + print("Previous bitbake instance shutting down?, waiting to retry...") + time.sleep(5) + raise bb.server.process.ProcessTimeout("Bitbake still shutting down as socket exists but no lock?") + if not configParams.server_only: + server_connection = bb.server.process.connectProcessServer(sockname, featureset) + if server_connection: + break + except (Exception, bb.server.process.ProcessTimeout) as e: + if not retries: + raise + retries -= 1 + if isinstance(e, bb.server.process.ProcessTimeout): + print("Retrying server connection...") + else: + print("Retrying server connection... (%s)" % traceback.format_exc()) + if not retries: + bb.fatal("Unable to connect to bitbake server, or start one") + if retries < 5: + time.sleep(5) + + if configParams.kill_server: + server_connection.connection.terminateServer() + server_connection.terminate() bb.event.ui_queue = [] + print("Terminated bitbake server.") + return None, None - if configParams.server_only: - server_connection = None - else: - try: - server_connection = server.establishConnection(featureset) - except Exception as e: - bb.fatal("Could not connect to server %s: %s" % (configParams.remote_server, str(e))) - - if configParams.kill_server: - server_connection.connection.terminateServer() - bb.event.ui_queue = [] - return None, None, None + # Restore the environment in case the UI needs it + for k in cleanedvars: + os.environ[k] = cleanedvars[k] - server_connection.setupEventQueue() + logger.removeHandler(handler) - # Restore the environment in case the UI needs it - for k in cleanedvars: - os.environ[k] = cleanedvars[k] + return server_connection, ui_module - logger.removeHandler(handler) +def lockBitbake(): + topdir = bb.cookerdata.findTopdir() + lockfile = topdir + "/bitbake.lock" + return topdir, bb.utils.lockfile(lockfile, False, False) - return server, server_connection, ui_module diff --git a/lib/bb/server/__init__.py b/lib/bb/server/__init__.py index 345691e..5a3fba9 100644 --- a/lib/bb/server/__init__.py +++ b/lib/bb/server/__init__.py @@ -18,10 +18,4 @@ # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -""" Base code for Bitbake server process - -Have a common base for that all Bitbake server classes ensures a consistent -approach to the interface, and minimize risks associated with code duplication. - -""" diff --git a/lib/bb/server/process.py b/lib/bb/server/process.py index 48da7fe..a1d9adc 100644 --- a/lib/bb/server/process.py +++ b/lib/bb/server/process.py @@ -22,128 +22,201 @@ import bb import bb.event -import itertools import logging import multiprocessing +import threading +import array import os -import signal import sys import time import select -from queue import Empty -from multiprocessing import Event, Process, util, Queue, Pipe, queues, Manager +import socket +import subprocess +import errno +import bb.server.xmlrpcserver +from bb import daemonize +from multiprocessing import queues logger = logging.getLogger('BitBake') -class ServerCommunicator(): - def __init__(self, connection, event_handle, server): - self.connection = connection - self.event_handle = event_handle - self.server = server - - def runCommand(self, command): - # @todo try/except - self.connection.send(command) - - if not self.server.is_alive(): - raise SystemExit - - while True: - # don't let the user ctrl-c while we're waiting for a response - try: - for idx in range(0,4): # 0, 1, 2, 3 - if self.connection.poll(5): - return self.connection.recv() - else: - bb.warn("Timeout while attempting to communicate with bitbake server") - bb.fatal("Gave up; Too many tries: timeout while attempting to communicate with bitbake server") - except KeyboardInterrupt: - pass - - def getEventHandle(self): - handle, error = self.runCommand(["getUIHandlerNum"]) - if error: - logger.error("Unable to get UI Handler Number: %s" % error) - raise BaseException(error) +class ProcessTimeout(SystemExit): + pass - return handle - -class EventAdapter(): - """ - Adapter to wrap our event queue since the caller (bb.event) expects to - call a send() method, but our actual queue only has put() - """ - def __init__(self, queue): - self.queue = queue - - def send(self, event): - try: - self.queue.put(event) - except Exception as err: - print("EventAdapter puked: %s" % str(err)) - - -class ProcessServer(Process): +class ProcessServer(multiprocessing.Process): profile_filename = "profile.log" profile_processed_filename = "profile.log.processed" - def __init__(self, command_channel, event_queue, featurelist): - self._idlefuns = {} - Process.__init__(self) - self.command_channel = command_channel - self.event_queue = event_queue - self.event = EventAdapter(event_queue) - self.featurelist = featurelist + def __init__(self, lock, sock, sockname): + multiprocessing.Process.__init__(self) + self.command_channel = False + self.command_channel_reply = False self.quit = False self.heartbeat_seconds = 1 # default, BB_HEARTBEAT_EVENT will be checked once we have a datastore. self.next_heartbeat = time.time() - self.quitin, self.quitout = Pipe() - self.event_handle = multiprocessing.Value("i") + self.event_handle = None + self.haveui = False + self.lastui = False + self.xmlrpc = False + + self._idlefuns = {} + + self.bitbake_lock = lock + self.sock = sock + self.sockname = sockname + + def register_idle_function(self, function, data): + """Register a function to be called while the server is idle""" + assert hasattr(function, '__call__') + self._idlefuns[function] = data def run(self): - for event in bb.event.ui_queue: - self.event_queue.put(event) - self.event_handle.value = bb.event.register_UIHhandler(self, True) + + if self.xmlrpcinterface[0]: + self.xmlrpc = bb.server.xmlrpcserver.BitBakeXMLRPCServer(self.xmlrpcinterface, self.cooker, self) + + print("Bitbake XMLRPC server address: %s, server port: %s" % (self.xmlrpc.host, self.xmlrpc.port)) heartbeat_event = self.cooker.data.getVar('BB_HEARTBEAT_EVENT') if heartbeat_event: try: self.heartbeat_seconds = float(heartbeat_event) except: - # Throwing an exception here causes bitbake to hang. - # Just warn about the invalid setting and continue bb.warn('Ignoring invalid BB_HEARTBEAT_EVENT=%s, must be a float specifying seconds.' % heartbeat_event) + + self.timeout = self.server_timeout or self.cooker.data.getVar('BB_SERVER_TIMEOUT') + try: + if self.timeout: + self.timeout = float(self.timeout) + except: + bb.warn('Ignoring invalid BB_SERVER_TIMEOUT=%s, must be a float specifying seconds.' % self.timeout) + + + try: + self.bitbake_lock.seek(0) + self.bitbake_lock.truncate() + if self.xmlrpcinterface[0]: + self.bitbake_lock.write("%s %s:%s\n" % (os.getpid(), configuration.interface[0], configuration.interface[1])) + else: + self.bitbake_lock.write("%s\n" % (os.getpid())) + self.bitbake_lock.flush() + except: + pass + bb.cooker.server_main(self.cooker, self.main) def main(self): - # Ignore SIGINT within the server, as all SIGINT handling is done by - # the UI and communicated to us - self.quitin.close() - signal.signal(signal.SIGINT, signal.SIG_IGN) bb.utils.set_process_name("Cooker") + + ready = [] + + self.controllersock = False + fds = [self.sock] + if self.xmlrpc: + fds.append(self.xmlrpc) while not self.quit: - try: - if self.command_channel.poll(): - command = self.command_channel.recv() - self.runCommand(command) - if self.quitout.poll(): - self.quitout.recv() + if self.command_channel in ready: + command = self.command_channel.get() + if command[0] == "terminateServer": self.quit = True - try: - self.runCommand(["stateForceShutdown"]) - except: - pass - - self.idle_commands(.1, [self.command_channel, self.quitout]) - except Exception: - logger.exception('Running command %s', command) + continue + try: + print("Running command %s" % command) + self.command_channel_reply.send(self.cooker.command.runCommand(command)) + except Exception as e: + logger.exception('Exception in server main event loop running command %s (%s)' % (command, str(e))) + + if self.xmlrpc in ready: + self.xmlrpc.handle_requests() + if self.sock in ready: + print("Accepting %s" % (str(ready))) + self.controllersock, address = self.sock.accept() + fds.append(self.controllersock) + if self.controllersock in ready: + try: + print("Connecting Client") + ui_fds = recvfds(self.controllersock, 3) + + # Where to write events to + writer = ConnectionWriter(ui_fds[0]) + self.event_handle = bb.event.register_UIHhandler(writer, True) + self.event_writer = writer + + # Where to read commands from + reader = ConnectionReader(ui_fds[1]) + fds.append(reader) + self.command_channel = reader + + # Where to send command return values to + writer = ConnectionWriter(ui_fds[2]) + self.command_channel_reply = writer + + self.haveui = True + + except EOFError: + print("Disconnecting Client") + fds.remove(self.controllersock) + fds.remove(self.command_channel) + bb.event.unregister_UIHhandler(self.event_handle, True) + self.command_channel_reply.writer.close() + self.event_writer.writer.close() + del self.event_writer + self.controllersock.close() + self.haveui = False + self.lastui = time.time() + self.cooker.clientComplete() + if self.timeout is None: + print("No timeout, exiting.") + self.quit = True + if not self.haveui and self.lastui and self.timeout and (self.lastui + self.timeout) < time.time(): + print("Server timeout, exiting.") + self.quit = True - self.event_queue.close() - bb.event.unregister_UIHhandler(self.event_handle.value, True) - self.command_channel.close() - self.cooker.shutdown(True) - self.quitout.close() + ready = self.idle_commands(.1, fds) + + print("Exiting") + try: + self.cooker.shutdown(True) + except: + pass + + # Remove the socket file so we don't get any more connections to avoid races + os.unlink(self.sockname) + self.sock.close() + + # Finally release the lockfile but warn about other processes holding it open + lock = self.bitbake_lock + lockfile = lock.name + lock.close() + lock = None + + while not lock: + with bb.utils.timeout(3): + lock = bb.utils.lockfile(lockfile, shared=False, retry=False, block=True) + if not lock: + # Some systems may not have lsof available + procs = None + try: + procs = subprocess.check_output(["lsof", '-w', lockfile], stderr=subprocess.STDOUT) + except OSError as e: + if e.errno != errno.ENOENT: + raise + if procs is None: + # Fall back to fuser if lsof is unavailable + try: + procs = subprocess.check_output(["fuser", '-v', lockfile], stderr=subprocess.STDOUT) + except OSError as e: + if e.errno != errno.ENOENT: + raise + + msg = "Delaying shutdown due to active processes which appear to be holding bitbake.lock" + if procs: + msg += ":\n%s" % str(procs) + print(msg) + return + # We hold the lock so we can remove the file (hide stale pid data) + bb.utils.remove(lockfile) + bb.utils.unlockfile(lock) def idle_commands(self, delay, fds=None): nextsleep = delay @@ -189,140 +262,253 @@ class ProcessServer(Process): nextsleep = self.next_heartbeat - now if nextsleep is not None: + if self.xmlrpc: + nextsleep = self.xmlrpc.get_timeout(nextsleep) try: - select.select(fds,[],[],nextsleep) + return select.select(fds,[],[],nextsleep)[0] except InterruptedError: - # ignore EINTR error, nextsleep only used for wait - # certain time - pass + # Ignore EINTR + return [] + else: + return [] + + +class ServerCommunicator(): + def __init__(self, connection, recv): + self.connection = connection + self.recv = recv def runCommand(self, command): - """ - Run a cooker command on the server - """ - self.command_channel.send(self.cooker.command.runCommand(command)) - def stop(self): - self.quitin.send("quit") - self.quitin.close() + self.connection.send(command) + while True: + # don't let the user ctrl-c while we're waiting for a response + try: + for idx in range(0,4): # 0, 1, 2, 3 + if self.recv.poll(1): + return self.recv.get() + else: + bb.warn("Timeout while attempting to communicate with bitbake server") + raise ProcessTimeout("Gave up; Too many tries: timeout while attempting to communicate with bitbake server") + except KeyboardInterrupt: + pass + + def updateFeatureSet(self, featureset): + _, error = self.runCommand(["setFeatures", featureset]) + if error: + logger.error("Unable to set the cooker to the correct featureset: %s" % error) + raise BaseException(error) + + def getEventHandle(self): + handle, error = self.runCommand(["getUIHandlerNum"]) + if error: + logger.error("Unable to get UI Handler Number: %s" % error) + raise BaseException(error) - def addcooker(self, cooker): - self.cooker = cooker + return handle - def register_idle_function(self, function, data): - """Register a function to be called while the server is idle""" - assert hasattr(function, '__call__') - self._idlefuns[function] = data + def terminateServer(self): + self.connection.send(['terminateServer']) + return class BitBakeProcessServerConnection(object): - def __init__(self, serverImpl, ui_channel, event_queue): - self.procserver = serverImpl - self.ui_channel = ui_channel - self.event_queue = event_queue - self.connection = ServerCommunicator(self.ui_channel, self.procserver.event_handle, self.procserver) - self.events = self.event_queue - self.terminated = False - - def sigterm_terminate(self): - bb.error("UI received SIGTERM") - self.terminate() + def __init__(self, ui_channel, recv, eq): + self.connection = ServerCommunicator(ui_channel, recv) + self.events = eq def terminate(self): - if self.terminated: - return - self.terminated = True - def flushevents(): - while True: - try: - event = self.event_queue.get(block=False) - except (Empty, IOError): - break - if isinstance(event, logging.LogRecord): - logger.handle(event) - - self.procserver.stop() - - while self.procserver.is_alive(): - flushevents() - self.procserver.join(0.1) - - self.ui_channel.close() - self.event_queue.close() - self.event_queue.setexit() - # XXX: Call explicity close in _writer to avoid - # fd leakage because isn't called on Queue.close() - self.event_queue._writer.close() - - def setupEventQueue(self): - pass - -# Wrap Queue to provide API which isn't server implementation specific -class ProcessEventQueue(multiprocessing.queues.Queue): - def __init__(self, maxsize): - multiprocessing.queues.Queue.__init__(self, maxsize, ctx=multiprocessing.get_context()) - self.exit = False - bb.utils.set_process_name("ProcessEQueue") - - def setexit(self): - self.exit = True - - def waitEvent(self, timeout): - if self.exit: - return self.getEvent() + self.socket_connection.close() + return + +class BitBakeServer(object): + def __init__(self, lock, sockname, configuration, featureset): + + self.configuration = configuration + self.featureset = featureset + self.sockname = sockname + self.bitbake_lock = lock + + # Create server control socket + if os.path.exists(sockname): + os.unlink(sockname) + + self.sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) + # AF_UNIX has path length issues so chdir here to workaround + cwd = os.getcwd() try: - if not self.server.is_alive(): - return self.getEvent() - if timeout == 0: - return self.get(False) - return self.get(True, timeout) - except Empty: - return None + os.chdir(os.path.dirname(sockname)) + self.sock.bind(os.path.basename(sockname)) + finally: + os.chdir(cwd) + self.sock.listen(1) + + os.set_inheritable(self.sock.fileno(), True) + bb.daemonize.createDaemon(self._startServer, "bitbake-cookerdaemon.log") + self.sock.close() + self.bitbake_lock.close() + + def _startServer(self): + server = ProcessServer(self.bitbake_lock, self.sock, self.sockname) + self.configuration.setServerRegIdleCallback(server.register_idle_function) + + # Copy prefile and postfile to _server variants + for param in ('prefile', 'postfile'): + value = getattr(self.configuration, param) + if value: + setattr(self.configuration, "%s_server" % param, value) + + self.cooker = bb.cooker.BBCooker(self.configuration, self.featureset) + server.cooker = self.cooker + server.server_timeout = self.configuration.server_timeout + server.xmlrpcinterface = self.configuration.xmlrpcinterface + print("Started bitbake server pid %d" % os.getpid()) + server.start() + +def connectProcessServer(sockname, featureset): + # Connect to socket + sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) + # AF_UNIX has path length issues so chdir here to workaround + cwd = os.getcwd() + + try: + os.chdir(os.path.dirname(sockname)) + sock.connect(os.path.basename(sockname)) + finally: + os.chdir(cwd) + + try: + # Send an fd for the remote to write events to + readfd, writefd = os.pipe() + eq = BBUIEventQueue(readfd) + # Send an fd for the remote to recieve commands from + readfd1, writefd1 = os.pipe() + command_chan = ConnectionWriter(writefd1) + # Send an fd for the remote to write commands results to + readfd2, writefd2 = os.pipe() + command_chan_recv = ConnectionReader(readfd2) + + sendfds(sock, [writefd, readfd1, writefd2]) + + server_connection = BitBakeProcessServerConnection(command_chan, command_chan_recv, eq) + + server_connection.connection.updateFeatureSet(featureset) + + # Save sock so it doesn't get gc'd for the life of our connection + server_connection.socket_connection = sock + except: + sock.close() + raise + + return server_connection + +def sendfds(sock, fds): + '''Send an array of fds over an AF_UNIX socket.''' + fds = array.array('i', fds) + msg = bytes([len(fds) % 256]) + sock.sendmsg([msg], [(socket.SOL_SOCKET, socket.SCM_RIGHTS, fds)]) + +def recvfds(sock, size): + '''Receive an array of fds over an AF_UNIX socket.''' + a = array.array('i') + bytes_size = a.itemsize * size + msg, ancdata, flags, addr = sock.recvmsg(1, socket.CMSG_LEN(bytes_size)) + if not msg and not ancdata: + raise EOFError + try: + if len(ancdata) != 1: + raise RuntimeError('received %d items of ancdata' % + len(ancdata)) + cmsg_level, cmsg_type, cmsg_data = ancdata[0] + if (cmsg_level == socket.SOL_SOCKET and + cmsg_type == socket.SCM_RIGHTS): + if len(cmsg_data) % a.itemsize != 0: + raise ValueError + a.frombytes(cmsg_data) + assert len(a) % 256 == msg[0] + return list(a) + except (ValueError, IndexError): + pass + raise RuntimeError('Invalid data received') + +class BBUIEventQueue: + def __init__(self, readfd): + + self.eventQueue = [] + self.eventQueueLock = threading.Lock() + self.eventQueueNotify = threading.Event() + + self.reader = ConnectionReader(readfd) + + self.t = threading.Thread() + self.t.setDaemon(True) + self.t.run = self.startCallbackHandler + self.t.start() def getEvent(self): - try: - if not self.server.is_alive(): - self.setexit() - return self.get(False) - except Empty: - if self.exit: - sys.exit(1) + self.eventQueueLock.acquire() + + if len(self.eventQueue) == 0: + self.eventQueueLock.release() return None -class BitBakeServer(object): - def initServer(self, single_use=True): - # establish communication channels. We use bidirectional pipes for - # ui <--> server command/response pairs - # and a queue for server -> ui event notifications - # - self.ui_channel, self.server_channel = Pipe() - self.event_queue = ProcessEventQueue(0) - self.serverImpl = ProcessServer(self.server_channel, self.event_queue, None) - self.event_queue.server = self.serverImpl - - def detach(self): - self.serverImpl.start() - return + item = self.eventQueue.pop(0) - def establishConnection(self, featureset): + if len(self.eventQueue) == 0: + self.eventQueueNotify.clear() - self.connection = BitBakeProcessServerConnection(self.serverImpl, self.ui_channel, self.event_queue) + self.eventQueueLock.release() + return item - _, error = self.connection.connection.runCommand(["setFeatures", featureset]) - if error: - logger.error("Unable to set the cooker to the correct featureset: %s" % error) - raise BaseException(error) - signal.signal(signal.SIGTERM, lambda i, s: self.connection.sigterm_terminate()) - return self.connection + def waitEvent(self, delay): + self.eventQueueNotify.wait(delay) + return self.getEvent() - def addcooker(self, cooker): - self.cooker = cooker - self.serverImpl.addcooker(cooker) + def queue_event(self, event): + self.eventQueueLock.acquire() + self.eventQueue.append(event) + self.eventQueueNotify.set() + self.eventQueueLock.release() - def getServerIdleCB(self): - return self.serverImpl.register_idle_function + def send_event(self, event): + self.queue_event(pickle.loads(event)) - def saveConnectionDetails(self): - return + def startCallbackHandler(self): + bb.utils.set_process_name("UIEventQueue") + while True: + self.reader.wait() + event = self.reader.get() + self.queue_event(event) + +class ConnectionReader(object): + + def __init__(self, fd): + self.reader = multiprocessing.connection.Connection(fd, writable=False) + self.rlock = multiprocessing.Lock() + + def wait(self, timeout=None): + return multiprocessing.connection.wait([self.reader], timeout) + + def poll(self, timeout=None): + return self.reader.poll(timeout) + + def get(self): + with self.rlock: + res = self.reader.recv_bytes() + return multiprocessing.reduction.ForkingPickler.loads(res) + + def fileno(self): + return self.reader.fileno() + +class ConnectionWriter(object): + + def __init__(self, fd): + self.writer = multiprocessing.connection.Connection(fd, readable=False) + self.wlock = multiprocessing.Lock() + # Why bb.event needs this I have no idea + self.event = self + + def send(self, obj): + obj = multiprocessing.reduction.ForkingPickler.dumps(obj) + with self.wlock: + self.writer.send_bytes(obj) - def endSession(self): - self.connection.terminate() diff --git a/lib/bb/server/xmlrpc.py b/lib/bb/server/xmlrpc.py deleted file mode 100644 index 6874765..0000000 --- a/lib/bb/server/xmlrpc.py +++ /dev/null @@ -1,492 +0,0 @@ -# -# BitBake XMLRPC Server -# -# Copyright (C) 2006 - 2007 Michael 'Mickey' Lauer -# Copyright (C) 2006 - 2008 Richard Purdie -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -""" - This module implements an xmlrpc server for BitBake. - - Use this by deriving a class from BitBakeXMLRPCServer and then adding - methods which you want to "export" via XMLRPC. If the methods have the - prefix xmlrpc_, then registering those function will happen automatically, - if not, you need to call register_function. - - Use register_idle_function() to add a function which the xmlrpc server - calls from within server_forever when no requests are pending. Make sure - that those functions are non-blocking or else you will introduce latency - in the server's main loop. -""" - -import os -import sys - -import hashlib -import time -import socket -import signal -import threading -import pickle -import inspect -import select -import http.client -import xmlrpc.client -from xmlrpc.server import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler - -import bb -from bb import daemonize -from bb.ui import uievent - -DEBUG = False - -class BBTransport(xmlrpc.client.Transport): - def __init__(self, timeout): - self.timeout = timeout - self.connection_token = None - xmlrpc.client.Transport.__init__(self) - - # Modified from default to pass timeout to HTTPConnection - def make_connection(self, host): - #return an existing connection if possible. This allows - #HTTP/1.1 keep-alive. - if self._connection and host == self._connection[0]: - return self._connection[1] - - # create a HTTP connection object from a host descriptor - chost, self._extra_headers, x509 = self.get_host_info(host) - #store the host argument along with the connection object - self._connection = host, http.client.HTTPConnection(chost, timeout=self.timeout) - return self._connection[1] - - def set_connection_token(self, token): - self.connection_token = token - - def send_content(self, h, body): - if self.connection_token: - h.putheader("Bitbake-token", self.connection_token) - xmlrpc.client.Transport.send_content(self, h, body) - -def _create_server(host, port, timeout = 60): - t = BBTransport(timeout) - s = xmlrpc.client.ServerProxy("http://%s:%d/" % (host, port), transport=t, allow_none=True, use_builtin_types=True) - return s, t - -def check_connection(remote, timeout): - try: - host, port = remote.split(":") - port = int(port) - except Exception as e: - bb.warn("Failed to read remote definition (%s)" % str(e)) - raise e - - server, _transport = _create_server(host, port, timeout) - try: - ret, err = server.runCommand(['getVariable', 'TOPDIR']) - if err or not ret: - return False - except ConnectionError: - return False - return True - -class BitBakeServerCommands(): - - def __init__(self, server): - self.server = server - self.has_client = False - - def registerEventHandler(self, host, port): - """ - Register a remote UI Event Handler - """ - s, t = _create_server(host, port) - - # we don't allow connections if the cooker is running - if (self.cooker.state in [bb.cooker.state.parsing, bb.cooker.state.running]): - return None, "Cooker is busy: %s" % bb.cooker.state.get_name(self.cooker.state) - - self.event_handle = bb.event.register_UIHhandler(s, True) - return self.event_handle, 'OK' - - def unregisterEventHandler(self, handlerNum): - """ - Unregister a remote UI Event Handler - """ - return bb.event.unregister_UIHhandler(handlerNum, True) - - def runCommand(self, command): - """ - Run a cooker command on the server - """ - return self.cooker.command.runCommand(command, self.server.readonly) - - def getEventHandle(self): - return self.event_handle - - def terminateServer(self): - """ - Trigger the server to quit - """ - self.server.quit = True - print("Server (cooker) exiting") - return - - def addClient(self): - if self.has_client: - return None - token = hashlib.md5(str(time.time()).encode("utf-8")).hexdigest() - self.server.set_connection_token(token) - self.has_client = True - return token - - def removeClient(self): - if self.has_client: - self.server.set_connection_token(None) - self.has_client = False - if self.server.single_use: - self.server.quit = True - -# This request handler checks if the request has a "Bitbake-token" header -# field (this comes from the client side) and compares it with its internal -# "Bitbake-token" field (this comes from the server). If the two are not -# equal, it is assumed that a client is trying to connect to the server -# while another client is connected to the server. In this case, a 503 error -# ("service unavailable") is returned to the client. -class BitBakeXMLRPCRequestHandler(SimpleXMLRPCRequestHandler): - def __init__(self, request, client_address, server): - self.server = server - SimpleXMLRPCRequestHandler.__init__(self, request, client_address, server) - - def do_POST(self): - try: - remote_token = self.headers["Bitbake-token"] - except: - remote_token = None - if remote_token != self.server.connection_token and remote_token != "observer": - self.report_503() - else: - if remote_token == "observer": - self.server.readonly = True - else: - self.server.readonly = False - SimpleXMLRPCRequestHandler.do_POST(self) - - def report_503(self): - self.send_response(503) - response = 'No more client allowed' - self.send_header("Content-type", "text/plain") - self.send_header("Content-length", str(len(response))) - self.end_headers() - self.wfile.write(bytes(response, 'utf-8')) - - -class XMLRPCProxyServer(object): - """ not a real working server, but a stub for a proxy server connection - - """ - def __init__(self, host, port, use_builtin_types=True): - self.host = host - self.port = port - self._idlefuns = {} - - def addcooker(self, cooker): - self.cooker = cooker - - def register_idle_function(self, function, data): - """Register a function to be called while the server is idle""" - assert hasattr(function, '__call__') - self._idlefuns[function] = data - - -class XMLRPCServer(SimpleXMLRPCServer): - # remove this when you're done with debugging - # allow_reuse_address = True - - def __init__(self, interface, single_use=False, idle_timeout=0): - """ - Constructor - """ - self._idlefuns = {} - self.single_use = single_use - # Use auto port configuration - if (interface[1] == -1): - interface = (interface[0], 0) - SimpleXMLRPCServer.__init__(self, interface, - requestHandler=BitBakeXMLRPCRequestHandler, - logRequests=False, allow_none=True) - self.host, self.port = self.socket.getsockname() - self.connection_token = None - #self.register_introspection_functions() - self.commands = BitBakeServerCommands(self) - self.autoregister_all_functions(self.commands, "") - self.interface = interface - self.time = time.time() - self.idle_timeout = idle_timeout - if idle_timeout: - self.register_idle_function(self.handle_idle_timeout, self) - self.heartbeat_seconds = 1 # default, BB_HEARTBEAT_EVENT will be checked once we have a datastore. - self.next_heartbeat = time.time() - - def addcooker(self, cooker): - self.cooker = cooker - self.commands.cooker = cooker - - def autoregister_all_functions(self, context, prefix): - """ - Convenience method for registering all functions in the scope - of this class that start with a common prefix - """ - methodlist = inspect.getmembers(context, inspect.ismethod) - for name, method in methodlist: - if name.startswith(prefix): - self.register_function(method, name[len(prefix):]) - - def handle_idle_timeout(self, server, data, abort): - if not abort: - if time.time() - server.time > server.idle_timeout: - server.quit = True - print("Server idle timeout expired") - return [] - - def serve_forever(self): - heartbeat_event = self.cooker.data.getVar('BB_HEARTBEAT_EVENT') - if heartbeat_event: - try: - self.heartbeat_seconds = float(heartbeat_event) - except: - # Throwing an exception here causes bitbake to hang. - # Just warn about the invalid setting and continue - bb.warn('Ignoring invalid BB_HEARTBEAT_EVENT=%s, must be a float specifying seconds.' % heartbeat_event) - - # Start the actual XMLRPC server - bb.cooker.server_main(self.cooker, self._serve_forever) - - def _serve_forever(self): - """ - Serve Requests. Overloaded to honor a quit command - """ - self.quit = False - while not self.quit: - fds = [self] - nextsleep = 0.1 - for function, data in list(self._idlefuns.items()): - retval = None - try: - retval = function(self, data, False) - if retval is False: - del self._idlefuns[function] - elif retval is True: - nextsleep = 0 - elif isinstance(retval, float): - if (retval < nextsleep): - nextsleep = retval - else: - fds = fds + retval - except SystemExit: - raise - except: - import traceback - traceback.print_exc() - if retval == None: - # the function execute failed; delete it - del self._idlefuns[function] - pass - - socktimeout = self.socket.gettimeout() or nextsleep - socktimeout = min(socktimeout, nextsleep) - # Mirror what BaseServer handle_request would do - try: - fd_sets = select.select(fds, [], [], socktimeout) - if fd_sets[0] and self in fd_sets[0]: - if self.idle_timeout: - self.time = time.time() - self._handle_request_noblock() - except IOError: - # we ignore interrupted calls - pass - - # Create new heartbeat event? - now = time.time() - if now >= self.next_heartbeat: - # We might have missed heartbeats. Just trigger once in - # that case and continue after the usual delay. - self.next_heartbeat += self.heartbeat_seconds - if self.next_heartbeat <= now: - self.next_heartbeat = now + self.heartbeat_seconds - heartbeat = bb.event.HeartbeatEvent(now) - bb.event.fire(heartbeat, self.cooker.data) - if nextsleep and now + nextsleep > self.next_heartbeat: - # Shorten timeout so that we we wake up in time for - # the heartbeat. - nextsleep = self.next_heartbeat - now - - # Tell idle functions we're exiting - for function, data in list(self._idlefuns.items()): - try: - retval = function(self, data, True) - except: - pass - self.server_close() - return - - def set_connection_token(self, token): - self.connection_token = token - - def register_idle_function(self, function, data): - """Register a function to be called while the server is idle""" - assert hasattr(function, '__call__') - self._idlefuns[function] = data - - -class BitBakeXMLRPCServerConnection(object): - def __init__(self, serverImpl, clientinfo=("localhost", 0), observer_only = False, featureset = None): - self.connection, self.transport = _create_server(serverImpl.host, serverImpl.port) - self.clientinfo = clientinfo - self.serverImpl = serverImpl - self.observer_only = observer_only - if featureset: - self.featureset = featureset - else: - self.featureset = [] - - def connect(self, token = None): - if token is None: - if self.observer_only: - token = "observer" - else: - token = self.connection.addClient() - - if token is None: - return None - - self.transport.set_connection_token(token) - return self - - def setupEventQueue(self): - self.events = uievent.BBUIEventQueue(self.connection, self.clientinfo) - for event in bb.event.ui_queue: - self.events.queue_event(event) - - _, error = self.connection.runCommand(["setFeatures", self.featureset]) - if error: - # disconnect the client, we can't make the setFeature work - self.connection.removeClient() - # no need to log it here, the error shall be sent to the client - raise BaseException(error) - - def removeClient(self): - if not self.observer_only: - self.connection.removeClient() - - def terminate(self): - # Don't wait for server indefinitely - import socket - socket.setdefaulttimeout(2) - try: - self.events.system_quit() - except: - pass - try: - self.connection.removeClient() - except: - pass - -class BitBakeServer(object): - def initServer(self, interface = ("localhost", 0), - single_use = False, idle_timeout=0): - self.interface = interface - self.serverImpl = XMLRPCServer(interface, single_use, idle_timeout) - - def detach(self): - daemonize.createDaemon(self.serverImpl.serve_forever, "bitbake-cookerdaemon.log") - del self.cooker - - def establishConnection(self, featureset): - self.connection = BitBakeXMLRPCServerConnection(self.serverImpl, self.interface, False, featureset) - return self.connection.connect() - - def set_connection_token(self, token): - self.connection.transport.set_connection_token(token) - - def addcooker(self, cooker): - self.cooker = cooker - self.serverImpl.addcooker(cooker) - - def getServerIdleCB(self): - return self.serverImpl.register_idle_function - - def saveConnectionDetails(self): - return - - def endSession(self): - self.connection.terminate() - -class BitBakeXMLRPCClient(object): - - def __init__(self, observer_only = False, token = None): - self.token = token - - self.observer_only = observer_only - # if we need extra caches, just tell the server to load them all - pass - - def saveConnectionDetails(self, remote): - self.remote = remote - - def establishConnection(self, featureset): - # The format of "remote" must be "server:port" - try: - [host, port] = self.remote.split(":") - port = int(port) - except Exception as e: - bb.warn("Failed to read remote definition (%s)" % str(e)) - raise e - - # We need our IP for the server connection. We get the IP - # by trying to connect with the server - try: - s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) - s.connect((host, port)) - ip = s.getsockname()[0] - s.close() - except Exception as e: - bb.warn("Could not create socket for %s:%s (%s)" % (host, port, str(e))) - raise e - try: - self.serverImpl = XMLRPCProxyServer(host, port, use_builtin_types=True) - self.connection = BitBakeXMLRPCServerConnection(self.serverImpl, (ip, 0), self.observer_only, featureset) - return self.connection.connect(self.token) - except Exception as e: - bb.warn("Could not connect to server at %s:%s (%s)" % (host, port, str(e))) - raise e - - def endSession(self): - self.connection.removeClient() - - def initServer(self): - self.serverImpl = None - self.connection = None - return - - def addcooker(self, cooker): - self.cooker = cooker - self.serverImpl.addcooker(cooker) - - def getServerIdleCB(self): - return self.serverImpl.register_idle_function - - def detach(self): - return - diff --git a/lib/bb/server/xmlrpcclient.py b/lib/bb/server/xmlrpcclient.py new file mode 100644 index 0000000..4661a9e --- /dev/null +++ b/lib/bb/server/xmlrpcclient.py @@ -0,0 +1,154 @@ +# +# BitBake XMLRPC Client Interface +# +# Copyright (C) 2006 - 2007 Michael 'Mickey' Lauer +# Copyright (C) 2006 - 2008 Richard Purdie +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +import os +import sys + +import socket +import http.client +import xmlrpc.client + +import bb +from bb.ui import uievent + +class BBTransport(xmlrpc.client.Transport): + def __init__(self, timeout): + self.timeout = timeout + self.connection_token = None + xmlrpc.client.Transport.__init__(self) + + # Modified from default to pass timeout to HTTPConnection + def make_connection(self, host): + #return an existing connection if possible. This allows + #HTTP/1.1 keep-alive. + if self._connection and host == self._connection[0]: + return self._connection[1] + + # create a HTTP connection object from a host descriptor + chost, self._extra_headers, x509 = self.get_host_info(host) + #store the host argument along with the connection object + self._connection = host, http.client.HTTPConnection(chost, timeout=self.timeout) + return self._connection[1] + + def set_connection_token(self, token): + self.connection_token = token + + def send_content(self, h, body): + if self.connection_token: + h.putheader("Bitbake-token", self.connection_token) + xmlrpc.client.Transport.send_content(self, h, body) + +def _create_server(host, port, timeout = 60): + t = BBTransport(timeout) + s = xmlrpc.client.ServerProxy("http://%s:%d/" % (host, port), transport=t, allow_none=True, use_builtin_types=True) + return s, t + +def check_connection(remote, timeout): + try: + host, port = remote.split(":") + port = int(port) + except Exception as e: + bb.warn("Failed to read remote definition (%s)" % str(e)) + raise e + + server, _transport = _create_server(host, port, timeout) + try: + ret, err = server.runCommand(['getVariable', 'TOPDIR']) + if err or not ret: + return False + except ConnectionError: + return False + return True + +class BitBakeXMLRPCServerConnection(object): + def __init__(self, host, port, clientinfo=("localhost", 0), observer_only = False, featureset = None): + self.connection, self.transport = _create_server(host, port) + self.clientinfo = clientinfo + self.observer_only = observer_only + if featureset: + self.featureset = featureset + else: + self.featureset = [] + + self.events = uievent.BBUIEventQueue(self.connection, self.clientinfo) + + _, error = self.connection.runCommand(["setFeatures", self.featureset]) + if error: + # disconnect the client, we can't make the setFeature work + self.connection.removeClient() + # no need to log it here, the error shall be sent to the client + raise BaseException(error) + + def connect(self, token = None): + if token is None: + if self.observer_only: + token = "observer" + else: + token = self.connection.addClient() + + if token is None: + return None + + self.transport.set_connection_token(token) + return self + + def removeClient(self): + if not self.observer_only: + self.connection.removeClient() + + def terminate(self): + # Don't wait for server indefinitely + socket.setdefaulttimeout(2) + try: + self.events.system_quit() + except: + pass + try: + self.connection.removeClient() + except: + pass + +def connectXMLRPC(remote, featureset, observer_only = False, token = None): + # The format of "remote" must be "server:port" + try: + [host, port] = remote.split(":") + port = int(port) + except Exception as e: + bb.warn("Failed to parse remote definition %s (%s)" % (remote, str(e))) + raise e + + # We need our IP for the server connection. We get the IP + # by trying to connect with the server + try: + s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + s.connect((host, port)) + ip = s.getsockname()[0] + s.close() + except Exception as e: + bb.warn("Could not create socket for %s:%s (%s)" % (host, port, str(e))) + raise e + try: + connection = BitBakeXMLRPCServerConnection(host, port, (ip, 0), observer_only, featureset) + return connection.connect(token) + except Exception as e: + bb.warn("Could not connect to server at %s:%s (%s)" % (host, port, str(e))) + raise e + + + diff --git a/lib/bb/server/xmlrpcserver.py b/lib/bb/server/xmlrpcserver.py new file mode 100644 index 0000000..875b128 --- /dev/null +++ b/lib/bb/server/xmlrpcserver.py @@ -0,0 +1,158 @@ +# +# BitBake XMLRPC Server Interface +# +# Copyright (C) 2006 - 2007 Michael 'Mickey' Lauer +# Copyright (C) 2006 - 2008 Richard Purdie +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +import os +import sys + +import hashlib +import time +import inspect +from xmlrpc.server import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler + +import bb + +# This request handler checks if the request has a "Bitbake-token" header +# field (this comes from the client side) and compares it with its internal +# "Bitbake-token" field (this comes from the server). If the two are not +# equal, it is assumed that a client is trying to connect to the server +# while another client is connected to the server. In this case, a 503 error +# ("service unavailable") is returned to the client. +class BitBakeXMLRPCRequestHandler(SimpleXMLRPCRequestHandler): + def __init__(self, request, client_address, server): + self.server = server + SimpleXMLRPCRequestHandler.__init__(self, request, client_address, server) + + def do_POST(self): + try: + remote_token = self.headers["Bitbake-token"] + except: + remote_token = None + if 0 and remote_token != self.server.connection_token and remote_token != "observer": + self.report_503() + else: + if remote_token == "observer": + self.server.readonly = True + else: + self.server.readonly = False + SimpleXMLRPCRequestHandler.do_POST(self) + + def report_503(self): + self.send_response(503) + response = 'No more client allowed' + self.send_header("Content-type", "text/plain") + self.send_header("Content-length", str(len(response))) + self.end_headers() + self.wfile.write(bytes(response, 'utf-8')) + +class BitBakeXMLRPCServer(SimpleXMLRPCServer): + # remove this when you're done with debugging + # allow_reuse_address = True + + def __init__(self, interface, cooker, parent): + # Use auto port configuration + if (interface[1] == -1): + interface = (interface[0], 0) + SimpleXMLRPCServer.__init__(self, interface, + requestHandler=BitBakeXMLRPCRequestHandler, + logRequests=False, allow_none=True) + self.host, self.port = self.socket.getsockname() + self.interface = interface + + self.connection_token = None + self.commands = BitBakeXMLRPCServerCommands(self) + self.register_functions(self.commands, "") + + self.cooker = cooker + self.parent = parent + + + def register_functions(self, context, prefix): + """ + Convenience method for registering all functions in the scope + of this class that start with a common prefix + """ + methodlist = inspect.getmembers(context, inspect.ismethod) + for name, method in methodlist: + if name.startswith(prefix): + self.register_function(method, name[len(prefix):]) + + def get_timeout(self, delay): + socktimeout = self.socket.gettimeout() or delay + return min(socktimeout, delay) + + def handle_requests(self): + self._handle_request_noblock() + +class BitBakeXMLRPCServerCommands(): + + def __init__(self, server): + self.server = server + self.has_client = False + + def registerEventHandler(self, host, port): + """ + Register a remote UI Event Handler + """ + s, t = bb.server.xmlrpcclient._create_server(host, port) + + # we don't allow connections if the cooker is running + if (self.server.cooker.state in [bb.cooker.state.parsing, bb.cooker.state.running]): + return None, "Cooker is busy: %s" % bb.cooker.state.get_name(self.server.cooker.state) + + self.event_handle = bb.event.register_UIHhandler(s, True) + return self.event_handle, 'OK' + + def unregisterEventHandler(self, handlerNum): + """ + Unregister a remote UI Event Handler + """ + ret = bb.event.unregister_UIHhandler(handlerNum, True) + self.event_handle = None + return ret + + def runCommand(self, command): + """ + Run a cooker command on the server + """ + return self.server.cooker.command.runCommand(command, self.server.readonly) + + def getEventHandle(self): + return self.event_handle + + def terminateServer(self): + """ + Trigger the server to quit + """ + self.server.parent.quit = True + print("XMLRPC Server triggering exit") + return + + def addClient(self): + if self.server.parent.haveui: + return None + token = hashlib.md5(str(time.time()).encode("utf-8")).hexdigest() + self.server.connection_token = token + self.server.parent.haveui = True + return token + + def removeClient(self): + if self.server.parent.haveui: + self.server.connection_token = None + self.server.parent.haveui = False + diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index fb0da62..303ce02 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -243,7 +243,7 @@ class Tinfoil: cookerconfig = CookerConfiguration() cookerconfig.setConfigParameters(config_params) - server, self.server_connection, ui_module = setup_bitbake(config_params, + self.server_connection, ui_module = setup_bitbake(config_params, cookerconfig, extrafeatures, setup_logging=False) diff --git a/lib/prserv/serv.py b/lib/prserv/serv.py index a7efa58..5f061c2 100644 --- a/lib/prserv/serv.py +++ b/lib/prserv/serv.py @@ -6,7 +6,7 @@ import queue import socket import io import sqlite3 -import bb.server.xmlrpc +import bb.server.xmlrpcclient import prserv import prserv.db import errno @@ -300,7 +300,7 @@ class PRServerConnection(object): host, port = singleton.getinfo() self.host = host self.port = port - self.connection, self.transport = bb.server.xmlrpc._create_server(self.host, self.port) + self.connection, self.transport = bb.server.xmlrpcclient._create_server(self.host, self.port) def terminate(self): try: -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 09:53:09 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 09:53:09 +0000 Subject: [oe-commits] [bitbake] 05/18: tinfoil: set a flag when recipes have been parsed In-Reply-To: <150045798403.3833.10506397388689494993@git.openembedded.org> References: <150045798403.3833.10506397388689494993@git.openembedded.org> Message-ID: <20170719095304.441DC2335B1@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 2e44979b90310bad46629e0fbd1231c67cde8b87 Author: Paul Eggleton AuthorDate: Wed May 17 17:13:07 2017 +1200 tinfoil: set a flag when recipes have been parsed Make it easy to determine if recipes are parsed (and thus information about available recipes is in memory). Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/tinfoil.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index ddc7b06..f31d7b2 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -217,6 +217,7 @@ class Tinfoil: self.tracking = tracking self.ui_module = None self.server_connection = None + self.recipes_parsed = False if setup_logging: # This is the *client-side* logger, nothing to do with # logging messages from the server @@ -270,6 +271,7 @@ class Tinfoil: self.run_command('parseConfiguration') else: self.run_actions(config_params) + self.recipes_parsed = True self.config_data = bb.data.init() connector = TinfoilDataStoreConnector(self, None) @@ -303,6 +305,7 @@ class Tinfoil: """ config_params = TinfoilConfigParameters(config_only=False) self.run_actions(config_params) + self.recipes_parsed = True def run_command(self, command, *params): """ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 09:53:11 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 09:53:11 +0000 Subject: [oe-commits] [bitbake] 07/18: lib/bb/ui/uihelper: indicate to caller of eventHandler() if events handled In-Reply-To: <150045798403.3833.10506397388689494993@git.openembedded.org> References: <150045798403.3833.10506397388689494993@git.openembedded.org> Message-ID: <20170719095304.50F302335B5@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit d77050883f527295b7fa91bd5e2d1b657e653847 Author: Paul Eggleton AuthorDate: Mon May 22 12:00:22 2017 +1200 lib/bb/ui/uihelper: indicate to caller of eventHandler() if events handled It is useful for the caller to know whether the uihelper has handled the event passed so that it can skip other event handling code if so. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/ui/uihelper.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/bb/ui/uihelper.py b/lib/bb/ui/uihelper.py index 113fced..963c1ea 100644 --- a/lib/bb/ui/uihelper.py +++ b/lib/bb/ui/uihelper.py @@ -61,6 +61,9 @@ class BBUIHelper: self.running_tasks[event.pid]['progress'] = event.progress self.running_tasks[event.pid]['rate'] = event.rate self.needUpdate = True + else: + return False + return True def getTasks(self): self.needUpdate = False -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 09:53:10 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 09:53:10 +0000 Subject: [oe-commits] [bitbake] 06/18: lib/bb/event: refactor printing events In-Reply-To: <150045798403.3833.10506397388689494993@git.openembedded.org> References: <150045798403.3833.10506397388689494993@git.openembedded.org> Message-ID: <20170719095304.4BE1F2335B3@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit efe0eb3bdda81d4cd9f16f716e1c43f543fc8978 Author: Paul Eggleton AuthorDate: Thu May 18 15:10:44 2017 +1200 lib/bb/event: refactor printing events We really ought to have just one place where the string representation of these events is produced. This doesn't take any real control away from the UI - if an alternative representation is desired, that can still be made. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/command.py | 2 ++ lib/bb/event.py | 32 ++++++++++++++++++++++++++++++++ lib/bb/runqueue.py | 6 ++++++ lib/bb/ui/knotty.py | 37 ++++++------------------------------- lib/bb/ui/ncurses.py | 2 +- lib/bb/ui/taskexp.py | 20 ++------------------ lib/bb/ui/toasterui.py | 25 ++++--------------------- 7 files changed, 53 insertions(+), 71 deletions(-) diff --git a/lib/bb/command.py b/lib/bb/command.py index c06ab07..05803d6 100644 --- a/lib/bb/command.py +++ b/lib/bb/command.py @@ -50,6 +50,8 @@ class CommandFailed(CommandExit): def __init__(self, message): self.error = message CommandExit.__init__(self, 1) + def __str__(self): + return "Command execution failed: %s" % self.error class CommandError(Exception): pass diff --git a/lib/bb/event.py b/lib/bb/event.py index 92ee3e9..59cca61 100644 --- a/lib/bb/event.py +++ b/lib/bb/event.py @@ -521,6 +521,28 @@ class NoProvider(Event): def isRuntime(self): return self._runtime + def __str__(self): + msg = '' + if self._runtime: + r = "R" + else: + r = "" + + extra = '' + if not self._reasons: + if self._close_matches: + extra = ". Close matches:\n %s" % '\n '.join(self._close_matches) + + if self._dependees: + msg = "Nothing %sPROVIDES '%s' (but %s %sDEPENDS on or otherwise requires it)%s" % (r, self._item, ", ".join(self._dependees), r, extra) + else: + msg = "Nothing %sPROVIDES '%s'%s" % (r, self._item, extra) + if self._reasons: + for reason in self._reasons: + msg += '\n' + reason + return msg + + class MultipleProviders(Event): """Multiple Providers""" @@ -548,6 +570,16 @@ class MultipleProviders(Event): """ return self._candidates + def __str__(self): + msg = "Multiple providers are available for %s%s (%s)" % (self._is_runtime and "runtime " or "", + self._item, + ", ".join(self._candidates)) + rtime = "" + if self._is_runtime: + rtime = "R" + msg += "\nConsider defining a PREFERRED_%sPROVIDER entry to match %s" % (rtime, self._item) + return msg + class ParseStarted(OperationStarted): """Recipe parsing for the runqueue has begun""" def __init__(self, total): diff --git a/lib/bb/runqueue.py b/lib/bb/runqueue.py index 21520d3..7dd964d 100644 --- a/lib/bb/runqueue.py +++ b/lib/bb/runqueue.py @@ -2488,6 +2488,9 @@ class runQueueTaskFailed(runQueueEvent): runQueueEvent.__init__(self, task, stats, rq) self.exitcode = exitcode + def __str__(self): + return "Task (%s) failed with exit code '%s'" % (self.taskstring, self.exitcode) + class sceneQueueTaskFailed(sceneQueueEvent): """ Event notifying a setscene task failed @@ -2496,6 +2499,9 @@ class sceneQueueTaskFailed(sceneQueueEvent): sceneQueueEvent.__init__(self, task, stats, rq) self.exitcode = exitcode + def __str__(self): + return "Setscene task (%s) failed with exit code '%s' - real task will be run instead" % (self.taskstring, self.exitcode) + class sceneQueueComplete(sceneQueueEvent): """ Event when all the sceneQueue tasks are complete diff --git a/lib/bb/ui/knotty.py b/lib/bb/ui/knotty.py index 1aa5ebb..c301982 100644 --- a/lib/bb/ui/knotty.py +++ b/lib/bb/ui/knotty.py @@ -560,7 +560,7 @@ def main(server, eventHandler, params, tf = TerminalFilter): return_value = event.exitcode if event.error: errors = errors + 1 - logger.error("Command execution failed: %s", event.error) + logger.error(str(event)) main.shutdown = 2 continue if isinstance(event, bb.command.CommandExit): @@ -571,39 +571,16 @@ def main(server, eventHandler, params, tf = TerminalFilter): main.shutdown = 2 continue if isinstance(event, bb.event.MultipleProviders): - logger.info("multiple providers are available for %s%s (%s)", event._is_runtime and "runtime " or "", - event._item, - ", ".join(event._candidates)) - rtime = "" - if event._is_runtime: - rtime = "R" - logger.info("consider defining a PREFERRED_%sPROVIDER entry to match %s" % (rtime, event._item)) + logger.info(str(event)) continue if isinstance(event, bb.event.NoProvider): - if event._runtime: - r = "R" - else: - r = "" - - extra = '' - if not event._reasons: - if event._close_matches: - extra = ". Close matches:\n %s" % '\n '.join(event._close_matches) - # For universe builds, only show these as warnings, not errors - h = logger.warning if not universe: return_value = 1 errors = errors + 1 - h = logger.error - - if event._dependees: - h("Nothing %sPROVIDES '%s' (but %s %sDEPENDS on or otherwise requires it)%s", r, event._item, ", ".join(event._dependees), r, extra) + logger.error(str(event)) else: - h("Nothing %sPROVIDES '%s'%s", r, event._item, extra) - if event._reasons: - for reason in event._reasons: - h("%s", reason) + logger.warning(str(event)) continue if isinstance(event, bb.runqueue.sceneQueueTaskStarted): @@ -625,13 +602,11 @@ def main(server, eventHandler, params, tf = TerminalFilter): if isinstance(event, bb.runqueue.runQueueTaskFailed): return_value = 1 taskfailures.append(event.taskstring) - logger.error("Task (%s) failed with exit code '%s'", - event.taskstring, event.exitcode) + logger.error(str(event)) continue if isinstance(event, bb.runqueue.sceneQueueTaskFailed): - logger.warning("Setscene task (%s) failed with exit code '%s' - real task will be run instead", - event.taskstring, event.exitcode) + logger.warning(str(event)) continue if isinstance(event, bb.event.DepTreeGenerated): diff --git a/lib/bb/ui/ncurses.py b/lib/bb/ui/ncurses.py index ca845a3..8690c52 100644 --- a/lib/bb/ui/ncurses.py +++ b/lib/bb/ui/ncurses.py @@ -315,7 +315,7 @@ class NCursesUI: # also allow them to now exit with a single ^C shutdown = 2 if isinstance(event, bb.command.CommandFailed): - mw.appendText("Command execution failed: %s" % event.error) + mw.appendText(str(event)) time.sleep(2) exitflag = True if isinstance(event, bb.command.CommandExit): diff --git a/lib/bb/ui/taskexp.py b/lib/bb/ui/taskexp.py index 9d14ece..0d0f9f5 100644 --- a/lib/bb/ui/taskexp.py +++ b/lib/bb/ui/taskexp.py @@ -286,23 +286,7 @@ def main(server, eventHandler, params): continue if isinstance(event, bb.event.NoProvider): - if event._runtime: - r = "R" - else: - r = "" - - extra = '' - if not event._reasons: - if event._close_matches: - extra = ". Close matches:\n %s" % '\n '.join(event._close_matches) - - if event._dependees: - print("Nothing %sPROVIDES '%s' (but %s %sDEPENDS on or otherwise requires it)%s" % (r, event._item, ", ".join(event._dependees), r, extra)) - else: - print("Nothing %sPROVIDES '%s'%s" % (r, event._item, extra)) - if event._reasons: - for reason in event._reasons: - print(reason) + print(str(event)) _, error = server.runCommand(["stateShutdown"]) if error: @@ -310,7 +294,7 @@ def main(server, eventHandler, params): break if isinstance(event, bb.command.CommandFailed): - print("Command execution failed: %s" % event.error) + print(str(event)) return event.exitcode if isinstance(event, bb.command.CommandExit): diff --git a/lib/bb/ui/toasterui.py b/lib/bb/ui/toasterui.py index 71f04fa..88cec37 100644 --- a/lib/bb/ui/toasterui.py +++ b/lib/bb/ui/toasterui.py @@ -320,29 +320,13 @@ def main(server, eventHandler, params): if isinstance(event, bb.event.CacheLoadCompleted): continue if isinstance(event, bb.event.MultipleProviders): - logger.info("multiple providers are available for %s%s (%s)", event._is_runtime and "runtime " or "", - event._item, - ", ".join(event._candidates)) - logger.info("consider defining a PREFERRED_PROVIDER entry to match %s", event._item) + logger.info(str(event)) continue if isinstance(event, bb.event.NoProvider): errors = errors + 1 - if event._runtime: - r = "R" - else: - r = "" - - if event._dependees: - text = "Nothing %sPROVIDES '%s' (but %s %sDEPENDS on or otherwise requires it)" % (r, event._item, ", ".join(event._dependees), r) - else: - text = "Nothing %sPROVIDES '%s'" % (r, event._item) - + text = str(event) logger.error(text) - if event._reasons: - for reason in event._reasons: - logger.error("%s", reason) - text += reason buildinfohelper.store_log_error(text) continue @@ -364,8 +348,7 @@ def main(server, eventHandler, params): if isinstance(event, bb.runqueue.runQueueTaskFailed): buildinfohelper.update_and_store_task(event) taskfailures.append(event.taskstring) - logger.error("Task (%s) failed with exit code '%s'", - event.taskstring, event.exitcode) + logger.error(str(event)) continue if isinstance(event, (bb.runqueue.sceneQueueTaskCompleted, bb.runqueue.sceneQueueTaskFailed)): @@ -382,7 +365,7 @@ def main(server, eventHandler, params): if isinstance(event, bb.command.CommandFailed): errors += 1 errorcode = 1 - logger.error("Command execution failed: %s", event.error) + logger.error(str(event)) elif isinstance(event, bb.event.BuildCompleted): buildinfohelper.scan_image_artifacts() buildinfohelper.clone_required_sdk_artifacts() -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 09:53:12 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 09:53:12 +0000 Subject: [oe-commits] [bitbake] 08/18: tinfoil: add functionality for running full builds In-Reply-To: <150045798403.3833.10506397388689494993@git.openembedded.org> References: <150045798403.3833.10506397388689494993@git.openembedded.org> Message-ID: <20170719095304.570622335B7@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 4056c16b0341a821d7e41f185cae2056b8e3ef94 Author: Paul Eggleton AuthorDate: Fri May 19 14:52:48 2017 +1200 tinfoil: add functionality for running full builds Up to this point, if you wanted to run build tasks in the normal way they get run, there was no other way than to shell out to bitbake. As long as we're prepared to handle the events produced, we can create a wrapper around calling the buildTargets command. Borrow code from knotty to do this so that we get the expected running task display (courtesy of TermFilter) and Ctrl+C handling. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/tinfoil.py | 155 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 155 insertions(+) diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index f31d7b2..945bd4b 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -2,6 +2,7 @@ # # Copyright (C) 2012-2017 Intel Corporation # Copyright (C) 2011 Mentor Graphics Corporation +# Copyright (C) 2006-2012 Richard Purdie # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License version 2 as @@ -218,6 +219,7 @@ class Tinfoil: self.ui_module = None self.server_connection = None self.recipes_parsed = False + self.quiet = 0 if setup_logging: # This is the *client-side* logger, nothing to do with # logging messages from the server @@ -230,6 +232,8 @@ class Tinfoil: self.shutdown() def prepare(self, config_only=False, config_params=None, quiet=0, extra_features=None): + self.quiet = quiet + if self.tracking: extrafeatures = [bb.cooker.CookerFeatures.BASEDATASTORE_TRACKING] else: @@ -434,6 +438,157 @@ class Tinfoil: """ return self.run_command('buildFile', buildfile, task, internal) + # FIXME internal mode + def build_targets(self, targets, task=None, handle_events=True, extra_events=None, event_callback=None): + """ + Builds the specified targets. This is equivalent to a normal invocation + of bitbake. Has built-in event handling which is enabled by default and + can be extended if needed. + Parameters: + targets: + One or more targets to build. Can be a list or a + space-separated string. + task: + The task to run; if None then the value of BB_DEFAULT_TASK + will be used. Default None. + handle_events: + True to handle events in a similar way to normal bitbake + invocation with knotty; False to return immediately (on the + assumption that the caller will handle the events instead). + Default True. + extra_events: + An optional list of events to add to the event mask (if + handle_events=True). If you add events here you also need + to specify a callback function in event_callback that will + handle the additional events. Default None. + event_callback: + An optional function taking a single parameter which + will be called first upon receiving any event (if + handle_events=True) so that the caller can override or + extend the event handling. Default None. + """ + if isinstance(targets, str): + targets = targets.split() + if not task: + task = self.config_data.getVar('BB_DEFAULT_TASK') + + if handle_events: + # A reasonable set of default events matching up with those we handle below + eventmask = [ + 'bb.event.BuildStarted', + 'bb.event.BuildCompleted', + 'logging.LogRecord', + 'bb.event.NoProvider', + 'bb.command.CommandCompleted', + 'bb.command.CommandFailed', + 'bb.build.TaskStarted', + 'bb.build.TaskFailed', + 'bb.build.TaskSucceeded', + 'bb.build.TaskFailedSilent', + 'bb.build.TaskProgress', + 'bb.runqueue.runQueueTaskStarted', + 'bb.runqueue.sceneQueueTaskStarted', + 'bb.event.ProcessStarted', + 'bb.event.ProcessProgress', + 'bb.event.ProcessFinished', + ] + if extra_events: + eventmask.extend(extra_events) + ret = self.set_event_mask(eventmask) + + ret = self.run_command('buildTargets', targets, task) + if handle_events: + result = False + # Borrowed from knotty, instead somewhat hackily we use the helper + # as the object to store "shutdown" on + helper = bb.ui.uihelper.BBUIHelper() + # We set up logging optionally in the constructor so now we need to + # grab the handlers to pass to TerminalFilter + console = None + errconsole = None + for handler in self.logger.handlers: + if isinstance(handler, logging.StreamHandler): + if handler.stream == sys.stdout: + console = handler + elif handler.stream == sys.stderr: + errconsole = handler + format_str = "%(levelname)s: %(message)s" + format = bb.msg.BBLogFormatter(format_str) + helper.shutdown = 0 + parseprogress = None + termfilter = bb.ui.knotty.TerminalFilter(helper, helper, console, errconsole, format, quiet=self.quiet) + try: + while True: + try: + event = self.wait_event(0.25) + if event: + if event_callback and event_callback(event): + continue + if helper.eventHandler(event): + continue + if isinstance(event, bb.event.ProcessStarted): + if self.quiet > 1: + continue + parseprogress = bb.ui.knotty.new_progress(event.processname, event.total) + parseprogress.start(False) + continue + if isinstance(event, bb.event.ProcessProgress): + if self.quiet > 1: + continue + if parseprogress: + parseprogress.update(event.progress) + else: + bb.warn("Got ProcessProgress event for someting that never started?") + continue + if isinstance(event, bb.event.ProcessFinished): + if self.quiet > 1: + continue + if parseprogress: + parseprogress.finish() + parseprogress = None + continue + if isinstance(event, bb.command.CommandCompleted): + result = True + break + if isinstance(event, bb.command.CommandFailed): + self.logger.error(str(event)) + result = False + break + if isinstance(event, logging.LogRecord): + if event.taskpid == 0 or event.levelno > logging.INFO: + self.logger.handle(event) + continue + if isinstance(event, bb.event.NoProvider): + self.logger.error(str(event)) + result = False + break + + elif helper.shutdown > 1: + break + termfilter.updateFooter() + except KeyboardInterrupt: + termfilter.clearFooter() + if helper.shutdown == 1: + print("\nSecond Keyboard Interrupt, stopping...\n") + ret = self.run_command("stateForceShutdown") + if ret and ret[2]: + self.logger.error("Unable to cleanly stop: %s" % ret[2]) + elif helper.shutdown == 0: + print("\nKeyboard Interrupt, closing down...\n") + interrupted = True + ret = self.run_command("stateShutdown") + if ret and ret[2]: + self.logger.error("Unable to cleanly shutdown: %s" % ret[2]) + helper.shutdown = helper.shutdown + 1 + termfilter.clearFooter() + finally: + termfilter.finish() + if helper.failed_tasks: + result = False + return result + else: + return ret + def shutdown(self): if self.server_connection: self.run_command('clientComplete') -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 09:53:16 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 09:53:16 +0000 Subject: [oe-commits] [bitbake] 12/18: fetch2: allow hiding checksum warning In-Reply-To: <150045798403.3833.10506397388689494993@git.openembedded.org> References: <150045798403.3833.10506397388689494993@git.openembedded.org> Message-ID: <20170719095304.70B542335CF@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit b8ea14c306b21736691c442b9889ee7fccae70ab Author: Paul Eggleton AuthorDate: Tue Jun 27 15:51:32 2017 +0100 fetch2: allow hiding checksum warning If BB_STRICT_CHECKSUMS is set to "ignore" then don't display a warning if no checksums are specified in the recipe. This is not intended to be used from recipes - it is needed when we move to using more standard code paths to fetch new files from scripts i.e. where we don't know what the checksums are in advance. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/fetch2/__init__.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/bb/fetch2/__init__.py b/lib/bb/fetch2/__init__.py index 5c02317..2e615b2 100644 --- a/lib/bb/fetch2/__init__.py +++ b/lib/bb/fetch2/__init__.py @@ -584,6 +584,12 @@ def verify_checksum(ud, d, precomputed={}): ud.sha256_name, sha256data)) raise NoChecksumError('Missing SRC_URI checksum', ud.url) + if strict == "ignore": + return { + _MD5_KEY: md5data, + _SHA256_KEY: sha256data + } + # Log missing sums so user can more easily add them logger.warning('Missing md5 SRC_URI checksum for %s, consider adding to the recipe:\n' 'SRC_URI[%s] = "%s"', -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 09:53:17 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 09:53:17 +0000 Subject: [oe-commits] [bitbake] 13/18: fetch2: fire an event when there are missing checksums In-Reply-To: <150045798403.3833.10506397388689494993@git.openembedded.org> References: <150045798403.3833.10506397388689494993@git.openembedded.org> Message-ID: <20170719095304.772322335D1@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 0fda62990bc7de52645b16981dcb30ac3be1dc0f Author: Paul Eggleton AuthorDate: Tue Jun 27 15:54:37 2017 +0100 fetch2: fire an event when there are missing checksums If BB_STRICT_CHECKSUMS is set to anything other than "1" i.e. we're not going to raise an error, then fire an event so that scripts can listen for it and get the checksums. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/fetch2/__init__.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/bb/fetch2/__init__.py b/lib/bb/fetch2/__init__.py index 2e615b2..74ba37f 100644 --- a/lib/bb/fetch2/__init__.py +++ b/lib/bb/fetch2/__init__.py @@ -39,6 +39,7 @@ import errno import bb.persist_data, bb.utils import bb.checksum import bb.process +import bb.event __version__ = "2" _checksum_cache = bb.checksum.FileChecksumCache() @@ -142,6 +143,13 @@ class NonLocalMethod(Exception): def __init__(self): Exception.__init__(self) +class MissingChecksumEvent(bb.event.Event): + def __init__(self, url, md5sum, sha256sum): + self.url = url + self.checksums = {'md5sum': md5sum, + 'sha256sum': sha256sum} + bb.event.Event.__init__(self) + class URI(object): """ @@ -584,6 +592,8 @@ def verify_checksum(ud, d, precomputed={}): ud.sha256_name, sha256data)) raise NoChecksumError('Missing SRC_URI checksum', ud.url) + bb.event.fire(MissingChecksumEvent(ud.url, md5data, sha256data), d) + if strict == "ignore": return { _MD5_KEY: md5data, -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 09:53:14 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 09:53:14 +0000 Subject: [oe-commits] [bitbake] 10/18: tinfoil: add simple API for getting cached recipe information In-Reply-To: <150045798403.3833.10506397388689494993@git.openembedded.org> References: <150045798403.3833.10506397388689494993@git.openembedded.org> Message-ID: <20170719095304.636B62335B9@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 7ce3b149d2688bcf76236126c471092852c50b21 Author: Paul Eggleton AuthorDate: Mon Jun 12 11:44:24 2017 +0200 tinfoil: add simple API for getting cached recipe information A common task for tinfoil-using scripts is to iterate over all recipes. This isn't too difficult with the current API, but the pkg_* variables are a little awkward and are really designed for bitbake's internal usage - and it gets a bit more difficult when you want to access some of the other information such as packages and rprovides. To resolve this, create a new recipe info class and add an all_recipes() function to generate this for all recipes. Also add a get_recipe_info() function to get the information for a specific recipe (by PN). (It might perhaps be suggested that we already have a structure similar to this in the cache, however the one we add here is designed for external use and allows the internal structures to change if needed without affecting the API). Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/tinfoil.py | 142 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 142 insertions(+) diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index 0176b76..960468e 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -217,6 +217,82 @@ class TinfoilCookerAdapter: return self.tinfoil.find_best_provider(pn) +class TinfoilRecipeInfo: + """ + Provides a convenient representation of the cached information for a single recipe. + Some attributes are set on construction, others are read on-demand (which internally + may result in a remote procedure call to the bitbake server the first time). + Note that only information which is cached is available through this object - if + you need other variable values you will need to parse the recipe using + Tinfoil.parse_recipe(). + """ + def __init__(self, recipecache, d, pn, fn, fns): + self._recipecache = recipecache + self._d = d + self.pn = pn + self.fn = fn + self.fns = fns + self.inherit_files = recipecache.inherits[fn] + self.depends = recipecache.deps[fn] + (self.pe, self.pv, self.pr) = recipecache.pkg_pepvpr[fn] + self._cached_packages = None + self._cached_rprovides = None + self._cached_packages_dynamic = None + + def __getattr__(self, name): + if name == 'alternates': + return [x for x in self.fns if x != self.fn] + elif name == 'rdepends': + return self._recipecache.rundeps[self.fn] + elif name == 'rrecommends': + return self._recipecache.runrecs[self.fn] + elif name == 'provides': + return self._recipecache.fn_provides[self.fn] + elif name == 'packages': + if self._cached_packages is None: + self._cached_packages = [] + for pkg, fns in self._recipecache.packages.items(): + if self.fn in fns: + self._cached_packages.append(pkg) + return self._cached_packages + elif name == 'packages_dynamic': + if self._cached_packages_dynamic is None: + self._cached_packages_dynamic = [] + for pkg, fns in self._recipecache.packages_dynamic.items(): + if self.fn in fns: + self._cached_packages_dynamic.append(pkg) + return self._cached_packages_dynamic + elif name == 'rprovides': + if self._cached_rprovides is None: + self._cached_rprovides = [] + for pkg, fns in self._recipecache.rproviders.items(): + if self.fn in fns: + self._cached_rprovides.append(pkg) + return self._cached_rprovides + else: + raise AttributeError("%s instance has no attribute '%s'" % (self.__class__.__name__, name)) + def inherits(self, only_recipe=False): + """ + Get the inherited classes for a recipe. Returns the class names only. + Parameters: + only_recipe: True to return only the classes inherited by the recipe + itself, False to return all classes inherited within + the context for the recipe (which includes globally + inherited classes). + """ + if only_recipe: + global_inherit = [x for x in (self._d.getVar('BBINCLUDED') or '').split() if x.endswith('.bbclass')] + else: + global_inherit = [] + for clsfile in self.inherit_files: + if only_recipe and clsfile in global_inherit: + continue + clsname = os.path.splitext(os.path.basename(clsfile))[0] + yield clsname + def __str__(self): + return '%s' % self.pn + + class Tinfoil: def __init__(self, output=sys.stdout, tracking=False, setup_logging=True): @@ -401,6 +477,72 @@ class Tinfoil: def get_file_appends(self, fn): return self.run_command('getFileAppends', fn) + def all_recipes(self, mc='', sort=True): + """ + Enable iterating over all recipes in the current configuration. + Returns an iterator over TinfoilRecipeInfo objects created on demand. + Parameters: + mc: The multiconfig, default of '' uses the main configuration. + sort: True to sort recipes alphabetically (default), False otherwise + """ + recipecache = self.cooker.recipecaches[mc] + if sort: + recipes = sorted(recipecache.pkg_pn.items()) + else: + recipes = recipecache.pkg_pn.items() + for pn, fns in recipes: + prov = self.find_best_provider(pn) + recipe = TinfoilRecipeInfo(recipecache, + self.config_data, + pn=pn, + fn=prov[3], + fns=fns) + yield recipe + + def all_recipe_files(self, mc='', variants=True, preferred_only=False): + """ + Enable iterating over all recipe files in the current configuration. + Returns an iterator over file paths. + Parameters: + mc: The multiconfig, default of '' uses the main configuration. + variants: True to include variants of recipes created through + BBCLASSEXTEND (default) or False to exclude them + preferred_only: True to include only the preferred recipe where + multiple exist providing the same PN, False to list + all recipes + """ + recipecache = self.cooker.recipecaches[mc] + if preferred_only: + files = [] + for pn in recipecache.pkg_pn.keys(): + prov = self.find_best_provider(pn) + files.append(prov[3]) + else: + files = recipecache.pkg_fn.keys() + for fn in sorted(files): + if not variants and fn.startswith('virtual:'): + continue + yield fn + + + def get_recipe_info(self, pn, mc=''): + """ + Get information on a specific recipe in the current configuration by name (PN). + Returns a TinfoilRecipeInfo object created on demand. + Parameters: + mc: The multiconfig, default of '' uses the main configuration. + """ + recipecache = self.cooker.recipecaches[mc] + prov = self.find_best_provider(pn) + fn = prov[3] + actual_pn = recipecache.pkg_fn[fn] + recipe = TinfoilRecipeInfo(recipecache, + self.config_data, + pn=actual_pn, + fn=fn, + fns=recipecache.pkg_pn[actual_pn]) + return recipe + def parse_recipe(self, pn): """ Parse the specified recipe and return a datastore object -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 09:53:18 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 09:53:18 +0000 Subject: [oe-commits] [bitbake] 14/18: knotty: make it possible to use termfilter without consoles In-Reply-To: <150045798403.3833.10506397388689494993@git.openembedded.org> References: <150045798403.3833.10506397388689494993@git.openembedded.org> Message-ID: <20170719095304.7DDDA2335D2@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 40c12eceb49c605ba332776bce196851862b0517 Author: Paul Eggleton AuthorDate: Thu Jun 29 13:50:36 2017 +0100 knotty: make it possible to use termfilter without consoles This isn't useful for knotty itself, but for use from tinfoil in case we can't get access to either the console or errconsole, allow either to be unspecified (None). Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/ui/knotty.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/bb/ui/knotty.py b/lib/bb/ui/knotty.py index c301982..f3900bd 100644 --- a/lib/bb/ui/knotty.py +++ b/lib/bb/ui/knotty.py @@ -207,8 +207,10 @@ class TerminalFilter(object): self.interactive = False bb.note("Unable to use interactive mode for this terminal, using fallback") return - console.addFilter(InteractConsoleLogFilter(self, format)) - errconsole.addFilter(InteractConsoleLogFilter(self, format)) + if console: + console.addFilter(InteractConsoleLogFilter(self, format)) + if errconsole: + errconsole.addFilter(InteractConsoleLogFilter(self, format)) self.main_progress = None -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 09:53:13 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 09:53:13 +0000 Subject: [oe-commits] [bitbake] 09/18: tinfoil: enable access to additional cached items In-Reply-To: <150045798403.3833.10506397388689494993@git.openembedded.org> References: <150045798403.3833.10506397388689494993@git.openembedded.org> Message-ID: <20170719095304.5D45C2335B8@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit a952615727852fd6eff0c4185ba94e27e05ee44c Author: Paul Eggleton AuthorDate: Mon Jun 12 10:39:55 2017 +0200 tinfoil: enable access to additional cached items Add access to fn_provides, packages, packages_dynamic and rproviders on the recipecache object. This requires an additional corresponding command plumbing to be added. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/command.py | 32 ++++++++++++++++++++++++++++++++ lib/bb/tinfoil.py | 8 ++++++++ 2 files changed, 40 insertions(+) diff --git a/lib/bb/command.py b/lib/bb/command.py index 05803d6..0e0a35a 100644 --- a/lib/bb/command.py +++ b/lib/bb/command.py @@ -312,6 +312,38 @@ class CommandsSync: return command.cooker.recipecaches[mc].pkg_pepvpr getRecipeVersions.readonly = True + def getRecipeProvides(self, command, params): + try: + mc = params[0] + except IndexError: + mc = '' + return command.cooker.recipecaches[mc].fn_provides + getRecipeProvides.readonly = True + + def getRecipePackages(self, command, params): + try: + mc = params[0] + except IndexError: + mc = '' + return command.cooker.recipecaches[mc].packages + getRecipePackages.readonly = True + + def getRecipePackagesDynamic(self, command, params): + try: + mc = params[0] + except IndexError: + mc = '' + return command.cooker.recipecaches[mc].packages_dynamic + getRecipePackagesDynamic.readonly = True + + def getRProviders(self, command, params): + try: + mc = params[0] + except IndexError: + mc = '' + return command.cooker.recipecaches[mc].rproviders + getRProviders.readonly = True + def getRuntimeDepends(self, command, params): ret = [] try: diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index 945bd4b..0176b76 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -173,6 +173,14 @@ class TinfoilCookerAdapter: attrvalue = self.tinfoil.run_command('getBbFilePriority') or {} elif name == 'pkg_dp': attrvalue = self.tinfoil.run_command('getDefaultPreference') or {} + elif name == 'fn_provides': + attrvalue = self.tinfoil.run_command('getRecipeProvides') or {} + elif name == 'packages': + attrvalue = self.tinfoil.run_command('getRecipePackages') or {} + elif name == 'packages_dynamic': + attrvalue = self.tinfoil.run_command('getRecipePackagesDynamic') or {} + elif name == 'rproviders': + attrvalue = self.tinfoil.run_command('getRProviders') or {} else: raise AttributeError("%s instance has no attribute '%s'" % (self.__class__.__name__, name)) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 09:53:20 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 09:53:20 +0000 Subject: [oe-commits] [bitbake] 16/18: bb/main.py: fix infinite loop for --server-only In-Reply-To: <150045798403.3833.10506397388689494993@git.openembedded.org> References: <150045798403.3833.10506397388689494993@git.openembedded.org> Message-ID: <20170719095304.89C602335D5@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit c6bd01503f07c88dff91d9c7a4d4bc48d57ecdaa Author: Robert Yang AuthorDate: Fri Jul 14 02:58:12 2017 -0700 bb/main.py: fix infinite loop for --server-only Fixed: $ bitbake --server-only -B localhost:-1 Infinite loop Reconnecting to bitbake server... [snip] Break the loop when server-only can fix the problem. Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- lib/bb/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/bb/main.py b/lib/bb/main.py index c8b633e..c797e62 100755 --- a/lib/bb/main.py +++ b/lib/bb/main.py @@ -437,7 +437,7 @@ def setup_bitbake(configParams, configuration, extrafeatures=None, setup_logging raise bb.server.process.ProcessTimeout("Bitbake still shutting down as socket exists but no lock?") if not configParams.server_only: server_connection = bb.server.process.connectProcessServer(sockname, featureset) - if server_connection: + if server_connection or configParams.server_only: break except (Exception, bb.server.process.ProcessTimeout) as e: if not retries: -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 09:53:15 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 09:53:15 +0000 Subject: [oe-commits] [bitbake] 11/18: tinfoil: add more doc comments In-Reply-To: <150045798403.3833.10506397388689494993@git.openembedded.org> References: <150045798403.3833.10506397388689494993@git.openembedded.org> Message-ID: <20170719095304.69ADA2335BB@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 4925e8e9d79b84d45d6425011c8f766516586924 Author: Paul Eggleton AuthorDate: Thu Jun 15 15:23:56 2017 +0200 tinfoil: add more doc comments Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/tinfoil.py | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index 960468e..f84a08f 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -55,6 +55,7 @@ class TinfoilCommandFailed(Exception): """Exception raised when run_command fails""" class TinfoilDataStoreConnector: + """Connector object used to enable access to datastore objects via tinfoil""" def __init__(self, tinfoil, dsindex): self.tinfoil = tinfoil @@ -294,8 +295,25 @@ class TinfoilRecipeInfo: class Tinfoil: + """ + Tinfoil - an API for scripts and utilities to query + BitBake internals and perform build operations. + """ def __init__(self, output=sys.stdout, tracking=False, setup_logging=True): + """ + Create a new tinfoil object. + Parameters: + output: specifies where console output should be sent. Defaults + to sys.stdout. + tracking: True to enable variable history tracking, False to + disable it (default). Enabling this has a minor + performance impact so typically it isn't enabled + unless you need to query variable history. + setup_logging: True to setup a logger so that things like + bb.warn() will work immediately and timeout warnings + are visible; False to let BitBake do this itself. + """ self.logger = logging.getLogger('BitBake') self.config_data = None self.cooker = None @@ -316,6 +334,37 @@ class Tinfoil: self.shutdown() def prepare(self, config_only=False, config_params=None, quiet=0, extra_features=None): + """ + Prepares the underlying BitBake system to be used via tinfoil. + This function must be called prior to calling any of the other + functions in the API. + NOTE: if you call prepare() you must absolutely call shutdown() + before your code terminates. You can use a "with" block to ensure + this happens e.g. + + with bb.tinfoil.Tinfoil() as tinfoil: + tinfoil.prepare() + ... + + Parameters: + config_only: True to read only the configuration and not load + the cache / parse recipes. This is useful if you just + want to query the value of a variable at the global + level or you want to do anything else that doesn't + involve knowing anything about the recipes in the + current configuration. False loads the cache / parses + recipes. + config_params: optionally specify your own configuration + parameters. If not specified an instance of + TinfoilConfigParameters will be created internally. + quiet: quiet level controlling console output - equivalent + to bitbake's -q/--quiet option. Default of 0 gives + the same output level as normal bitbake execution. + extra_features: extra features to be added to the feature + set requested from the server. See + CookerFeatures._feature_list for possible + features. + """ self.quiet = quiet if self.tracking: @@ -440,9 +489,16 @@ class Tinfoil: return self.server_connection.events.waitEvent(timeout) def get_overlayed_recipes(self): + """ + Find recipes which are overlayed (i.e. where recipes exist in multiple layers) + """ return defaultdict(list, self.run_command('getOverlayedRecipes')) def get_skipped_recipes(self): + """ + Find recipes which were skipped (i.e. SkipRecipe was raised + during parsing). + """ return OrderedDict(self.run_command('getSkippedRecipes')) def get_all_providers(self): @@ -475,6 +531,9 @@ class Tinfoil: return best[3] def get_file_appends(self, fn): + """ + Find the bbappends for a recipe file + """ return self.run_command('getFileAppends', fn) def all_recipes(self, mc='', sort=True): @@ -740,6 +799,12 @@ class Tinfoil: return ret def shutdown(self): + """ + Shut down tinfoil. Disconnects from the server and gracefully + releases any associated resources. You must call this function if + prepare() has been called, or use a with... block when you create + the tinfoil object which will ensure that it gets called. + """ if self.server_connection: self.run_command('clientComplete') _server_connections.remove(self.server_connection) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 09:53:19 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 09:53:19 +0000 Subject: [oe-commits] [bitbake] 15/18: server/process.py: fix self.bitbake_lock.write() In-Reply-To: <150045798403.3833.10506397388689494993@git.openembedded.org> References: <150045798403.3833.10506397388689494993@git.openembedded.org> Message-ID: <20170719095304.8408E2335D3@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 5f65f8615b52b233de3760ef87a455da591026dd Author: Robert Yang AuthorDate: Fri Jul 14 02:52:03 2017 -0700 server/process.py: fix self.bitbake_lock.write() There is no global var "configuration", so the old code hang at self.bitbake_lock.write(), and nothing wrote to bitbake.lock. I didn't figure out why it hang (but not print errors). Reproducer: $ bitbake -B localhost:-1 world -k Check bitbake.log, there was nothing, now fixed. Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- lib/bb/server/process.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/bb/server/process.py b/lib/bb/server/process.py index a1d9adc..23e033a 100644 --- a/lib/bb/server/process.py +++ b/lib/bb/server/process.py @@ -95,8 +95,8 @@ class ProcessServer(multiprocessing.Process): try: self.bitbake_lock.seek(0) self.bitbake_lock.truncate() - if self.xmlrpcinterface[0]: - self.bitbake_lock.write("%s %s:%s\n" % (os.getpid(), configuration.interface[0], configuration.interface[1])) + if self.xmlrpc: + self.bitbake_lock.write("%s %s:%s\n" % (os.getpid(), self.xmlrpc.host, self.xmlrpc.port)) else: self.bitbake_lock.write("%s\n" % (os.getpid())) self.bitbake_lock.flush() -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 09:53:22 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 09:53:22 +0000 Subject: [oe-commits] [bitbake] 18/18: bb/main.py: fix logic for --observe-only In-Reply-To: <150045798403.3833.10506397388689494993@git.openembedded.org> References: <150045798403.3833.10506397388689494993@git.openembedded.org> Message-ID: <20170719095304.96E822335D8@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit b9ce437f1cc2fbf6f7196d7597f1b94cbeb9d5d8 Author: Robert Yang AuthorDate: Mon Jul 17 03:17:03 2017 -0700 bb/main.py: fix logic for --observe-only Fixed: $ bitbake --observe-only FATAL: '--observe-only' can only be used by UI clients connecting to a server. And even: $bitbake --observe-only -B localhost:-1 FATAL: '--observe-only' can only be used by UI clients connecting to a server. This was beucase the brackets were in a wrong position. Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- lib/bb/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/bb/main.py b/lib/bb/main.py index f102f1b..d3e1773 100755 --- a/lib/bb/main.py +++ b/lib/bb/main.py @@ -355,7 +355,7 @@ def bitbake_main(configParams, configuration): ("the BBSERVER environment variable" if "BBSERVER" in os.environ \ else "the '--remote-server' option")) - if configParams.observe_only and (not configParams.remote_server or configParams.bind): + if configParams.observe_only and not (configParams.remote_server or configParams.bind): raise BBMainException("FATAL: '--observe-only' can only be used by UI clients " "connecting to a server.\n") -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 09:53:21 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 09:53:21 +0000 Subject: [oe-commits] [bitbake] 17/18: bb/main.py: avoid starting server when not needed In-Reply-To: <150045798403.3833.10506397388689494993@git.openembedded.org> References: <150045798403.3833.10506397388689494993@git.openembedded.org> Message-ID: <20170719095304.90C9A2335D7@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit be4d0822f366b854bfe81c83d0fe1f5dc3350120 Author: Robert Yang AuthorDate: Mon Jul 17 01:27:14 2017 -0700 bb/main.py: avoid starting server when not needed Fixed 1: $ . ../poky/oe-init-build-env-memres . $ bitbake -m $ bitbake -m # shutdown it again $ bitbake -m Starting bitbake server... Terminated bitbake server. It starts the server and kill it which is redundant. $ bitbake -m $ bitbake --status-only Starting bitbake server... It starts the server which is not what we need. Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- lib/bb/main.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/bb/main.py b/lib/bb/main.py index c797e62..f102f1b 100755 --- a/lib/bb/main.py +++ b/lib/bb/main.py @@ -368,8 +368,10 @@ def bitbake_main(configParams, configuration): configuration.debug_domains) server_connection, ui_module = setup_bitbake(configParams, configuration) - if server_connection is None and configParams.kill_server: - return 0 + # No server connection + if server_connection is None: + if configParams.status_only or configParams.kill_server: + return 1 if not configParams.server_only: if configParams.status_only: @@ -426,6 +428,10 @@ def setup_bitbake(configParams, configuration, extrafeatures=None, setup_logging topdir, lock = lockBitbake() sockname = topdir + "/bitbake.sock" if lock: + if configParams.status_only or configParams.kill_server: + print("bitbake server is not running.") + lock.close() + return None, None # we start a server with a given configuration print("Starting bitbake server...") server = bb.server.process.BitBakeServer(lock, sockname, configuration, featureset) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 10:30:50 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 10:30:50 +0000 Subject: [oe-commits] [openembedded-core] branch master updated: systemd: refuse to load units with errors (CVE-2017-1000082) Message-ID: <150046025071.10671.11297409225881584388@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. The following commit(s) were added to refs/heads/master by this push: new 549cb94 systemd: refuse to load units with errors (CVE-2017-1000082) 549cb94 is described below commit 549cb941c5b19909fb00f2bef9c04172ca1c162d Author: Ross Burton AuthorDate: Tue Jul 18 17:04:08 2017 +0100 systemd: refuse to load units with errors (CVE-2017-1000082) If a unit has a statement such as User=0day where the username exists but is strictly speaking invalid, the unit will be started as the root user instead. Backport a patch from upstream to mitigate this by refusing to start units such as this. Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- ...ragment-refuse-units-with-errors-in-certa.patch | 329 +++++++++++++++++++++ meta/recipes-core/systemd/systemd_232.bb | 1 + 2 files changed, 330 insertions(+) diff --git a/meta/recipes-core/systemd/systemd/0001-core-load-fragment-refuse-units-with-errors-in-certa.patch b/meta/recipes-core/systemd/systemd/0001-core-load-fragment-refuse-units-with-errors-in-certa.patch new file mode 100644 index 0000000..80948b2 --- /dev/null +++ b/meta/recipes-core/systemd/systemd/0001-core-load-fragment-refuse-units-with-errors-in-certa.patch @@ -0,0 +1,329 @@ +If a user is created with a strictly-speaking invalid name such as '0day' and a +unit created to run as that user, systemd rejects the username and runs the unit +as root. + +CVE: CVE-2017-1000082 +Upstream-Status: Backport +Signed-off-by: Ross Burton + +From d8e1310e1ed7b6f122bc7eb8ba061fbd088783c0 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Thu, 6 Jul 2017 13:28:19 -0400 +Subject: [PATCH] core/load-fragment: refuse units with errors in certain + directives + +If an error is encountered in any of the Exec* lines, WorkingDirectory, +SELinuxContext, ApparmorProfile, SmackProcessLabel, Service (in .socket +units), User, or Group, refuse to load the unit. If the config stanza +has support, ignore the failure if '-' is present. + +For those configuration directives, even if we started the unit, it's +pretty likely that it'll do something unexpected (like write files +in a wrong place, or with a wrong context, or run with wrong permissions, +etc). It seems better to refuse to start the unit and have the admin +clean up the configuration without giving the service a chance to mess +up stuff. + +Note that all "security" options that restrict what the unit can do +(Capabilities, AmbientCapabilities, Restrict*, SystemCallFilter, Limit*, +PrivateDevices, Protect*, etc) are _not_ treated like this. Such options are +only supplementary, and are not always available depending on the architecture +and compilation options, so unit authors have to make sure that the service +runs correctly without them anyway. + +Fixes #6237, #6277. + +Signed-off-by: Ross Burton +--- + src/core/load-fragment.c | 104 ++++++++++++++++++++++++++++------------------ + src/test/test-unit-file.c | 14 +++---- + 2 files changed, 70 insertions(+), 48 deletions(-) + +diff --git a/src/core/load-fragment.c b/src/core/load-fragment.c +index cbc826809..2047974f4 100644 +--- a/src/core/load-fragment.c ++++ b/src/core/load-fragment.c +@@ -630,20 +630,28 @@ int config_parse_exec( + + if (isempty(f)) { + /* First word is either "-" or "@" with no command. */ +- log_syntax(unit, LOG_ERR, filename, line, 0, "Empty path in command line, ignoring: \"%s\"", rvalue); +- return 0; ++ log_syntax(unit, LOG_ERR, filename, line, 0, ++ "Empty path in command line%s: \"%s\"", ++ ignore ? ", ignoring" : "", rvalue); ++ return ignore ? 0 : -ENOEXEC; + } + if (!string_is_safe(f)) { +- log_syntax(unit, LOG_ERR, filename, line, 0, "Executable path contains special characters, ignoring: %s", rvalue); +- return 0; ++ log_syntax(unit, LOG_ERR, filename, line, 0, ++ "Executable path contains special characters%s: %s", ++ ignore ? ", ignoring" : "", rvalue); ++ return ignore ? 0 : -ENOEXEC; + } + if (!path_is_absolute(f)) { +- log_syntax(unit, LOG_ERR, filename, line, 0, "Executable path is not absolute, ignoring: %s", rvalue); +- return 0; ++ log_syntax(unit, LOG_ERR, filename, line, 0, ++ "Executable path is not absolute%s: %s", ++ ignore ? ", ignoring" : "", rvalue); ++ return ignore ? 0 : -ENOEXEC; + } + if (endswith(f, "/")) { +- log_syntax(unit, LOG_ERR, filename, line, 0, "Executable path specifies a directory, ignoring: %s", rvalue); +- return 0; ++ log_syntax(unit, LOG_ERR, filename, line, 0, ++ "Executable path specifies a directory%s: %s", ++ ignore ? ", ignoring" : "", rvalue); ++ return ignore ? 0 : -ENOEXEC; + } + + if (f == firstword) { +@@ -699,7 +707,7 @@ int config_parse_exec( + if (r == 0) + break; + else if (r < 0) +- return 0; ++ return ignore ? 0 : -ENOEXEC; + + if (!GREEDY_REALLOC(n, nbufsize, nlen + 2)) + return log_oom(); +@@ -709,8 +717,10 @@ int config_parse_exec( + } + + if (!n || !n[0]) { +- log_syntax(unit, LOG_ERR, filename, line, 0, "Empty executable name or zeroeth argument, ignoring: %s", rvalue); +- return 0; ++ log_syntax(unit, LOG_ERR, filename, line, 0, ++ "Empty executable name or zeroeth argument%s: %s", ++ ignore ? ", ignoring" : "", rvalue); ++ return ignore ? 0 : -ENOEXEC; + } + + nce = new0(ExecCommand, 1); +@@ -1315,8 +1325,10 @@ int config_parse_exec_selinux_context( + + r = unit_name_printf(u, rvalue, &k); + if (r < 0) { +- log_syntax(unit, LOG_ERR, filename, line, r, "Failed to resolve specifiers, ignoring: %m"); +- return 0; ++ log_syntax(unit, LOG_ERR, filename, line, r, ++ "Failed to resolve specifiers%s: %m", ++ ignore ? ", ignoring" : ""); ++ return ignore ? 0 : -ENOEXEC; + } + + free(c->selinux_context); +@@ -1363,8 +1375,10 @@ int config_parse_exec_apparmor_profile( + + r = unit_name_printf(u, rvalue, &k); + if (r < 0) { +- log_syntax(unit, LOG_ERR, filename, line, r, "Failed to resolve specifiers, ignoring: %m"); +- return 0; ++ log_syntax(unit, LOG_ERR, filename, line, r, ++ "Failed to resolve specifiers%s: %m", ++ ignore ? ", ignoring" : ""); ++ return ignore ? 0 : -ENOEXEC; + } + + free(c->apparmor_profile); +@@ -1411,8 +1425,10 @@ int config_parse_exec_smack_process_label( + + r = unit_name_printf(u, rvalue, &k); + if (r < 0) { +- log_syntax(unit, LOG_ERR, filename, line, r, "Failed to resolve specifiers, ignoring: %m"); +- return 0; ++ log_syntax(unit, LOG_ERR, filename, line, r, ++ "Failed to resolve specifiers%s: %m", ++ ignore ? ", ignoring" : ""); ++ return ignore ? 0 : -ENOEXEC; + } + + free(c->smack_process_label); +@@ -1630,19 +1646,19 @@ int config_parse_socket_service( + + r = unit_name_printf(UNIT(s), rvalue, &p); + if (r < 0) { +- log_syntax(unit, LOG_ERR, filename, line, r, "Failed to resolve specifiers, ignoring: %s", rvalue); +- return 0; ++ log_syntax(unit, LOG_ERR, filename, line, r, "Failed to resolve specifiers: %s", rvalue); ++ return -ENOEXEC; + } + + if (!endswith(p, ".service")) { +- log_syntax(unit, LOG_ERR, filename, line, 0, "Unit must be of type service, ignoring: %s", rvalue); +- return 0; ++ log_syntax(unit, LOG_ERR, filename, line, 0, "Unit must be of type service: %s", rvalue); ++ return -ENOEXEC; + } + + r = manager_load_unit(UNIT(s)->manager, p, NULL, &error, &x); + if (r < 0) { +- log_syntax(unit, LOG_ERR, filename, line, r, "Failed to load unit %s, ignoring: %s", rvalue, bus_error_message(&error, r)); +- return 0; ++ log_syntax(unit, LOG_ERR, filename, line, r, "Failed to load unit %s: %s", rvalue, bus_error_message(&error, r)); ++ return -ENOEXEC; + } + + unit_ref_set(&s->service, x); +@@ -1893,13 +1909,13 @@ int config_parse_user_group( + + r = unit_full_printf(u, rvalue, &k); + if (r < 0) { +- log_syntax(unit, LOG_ERR, filename, line, r, "Failed to resolve unit specifiers in %s, ignoring: %m", rvalue); +- return 0; ++ log_syntax(unit, LOG_ERR, filename, line, r, "Failed to resolve unit specifiers in %s: %m", rvalue); ++ return -ENOEXEC; + } + + if (!valid_user_group_name_or_id(k)) { +- log_syntax(unit, LOG_ERR, filename, line, 0, "Invalid user/group name or numeric ID, ignoring: %s", k); +- return 0; ++ log_syntax(unit, LOG_ERR, filename, line, 0, "Invalid user/group name or numeric ID: %s", k); ++ return -ENOEXEC; + } + + n = k; +@@ -1957,19 +1973,19 @@ int config_parse_user_group_strv( + if (r == -ENOMEM) + return log_oom(); + if (r < 0) { +- log_syntax(unit, LOG_ERR, filename, line, r, "Invalid syntax, ignoring: %s", rvalue); +- break; ++ log_syntax(unit, LOG_ERR, filename, line, r, "Invalid syntax: %s", rvalue); ++ return -ENOEXEC; + } + + r = unit_full_printf(u, word, &k); + if (r < 0) { +- log_syntax(unit, LOG_ERR, filename, line, r, "Failed to resolve unit specifiers in %s, ignoring: %m", word); +- continue; ++ log_syntax(unit, LOG_ERR, filename, line, r, "Failed to resolve unit specifiers in %s: %m", word); ++ return -ENOEXEC; + } + + if (!valid_user_group_name_or_id(k)) { +- log_syntax(unit, LOG_ERR, filename, line, 0, "Invalid user/group name or numeric ID, ignoring: %s", k); +- continue; ++ log_syntax(unit, LOG_ERR, filename, line, 0, "Invalid user/group name or numeric ID: %s", k); ++ return -ENOEXEC; + } + + r = strv_push(users, k); +@@ -2128,25 +2144,28 @@ int config_parse_working_directory( + + r = unit_full_printf(u, rvalue, &k); + if (r < 0) { +- log_syntax(unit, LOG_ERR, filename, line, r, "Failed to resolve unit specifiers in working directory path '%s', ignoring: %m", rvalue); +- return 0; ++ log_syntax(unit, LOG_ERR, filename, line, r, ++ "Failed to resolve unit specifiers in working directory path '%s'%s: %m", ++ rvalue, missing_ok ? ", ignoring" : ""); ++ return missing_ok ? 0 : -ENOEXEC; + } + + path_kill_slashes(k); + + if (!utf8_is_valid(k)) { + log_syntax_invalid_utf8(unit, LOG_ERR, filename, line, rvalue); +- return 0; ++ return missing_ok ? 0 : -ENOEXEC; + } + + if (!path_is_absolute(k)) { +- log_syntax(unit, LOG_ERR, filename, line, 0, "Working directory path '%s' is not absolute, ignoring.", rvalue); +- return 0; ++ log_syntax(unit, LOG_ERR, filename, line, 0, ++ "Working directory path '%s' is not absolute%s.", ++ rvalue, missing_ok ? ", ignoring" : ""); ++ return missing_ok ? 0 : -ENOEXEC; + } + +- free_and_replace(c->working_directory, k); +- + c->working_directory_home = false; ++ free_and_replace(c->working_directory, k); + } + + c->working_directory_missing_ok = missing_ok; +@@ -4228,8 +4247,11 @@ int unit_load_fragment(Unit *u) { + return r; + + r = load_from_path(u, k); +- if (r < 0) ++ if (r < 0) { ++ if (r == -ENOEXEC) ++ log_unit_notice(u, "Unit configuration has fatal error, unit will not be started."); + return r; ++ } + + if (u->load_state == UNIT_STUB) { + SET_FOREACH(t, u->names, i) { +diff --git a/src/test/test-unit-file.c b/src/test/test-unit-file.c +index 12f48bf43..fd797b587 100644 +--- a/src/test/test-unit-file.c ++++ b/src/test/test-unit-file.c +@@ -146,7 +146,7 @@ static void test_config_parse_exec(void) { + r = config_parse_exec(NULL, "fake", 4, "section", 1, + "LValue", 0, "/RValue/ argv0 r1", + &c, u); +- assert_se(r == 0); ++ assert_se(r == -ENOEXEC); + assert_se(c1->command_next == NULL); + + log_info("/* honour_argv0 */"); +@@ -161,7 +161,7 @@ static void test_config_parse_exec(void) { + r = config_parse_exec(NULL, "fake", 3, "section", 1, + "LValue", 0, "@/RValue", + &c, u); +- assert_se(r == 0); ++ assert_se(r == -ENOEXEC); + assert_se(c1->command_next == NULL); + + log_info("/* no command, whitespace only, reset */"); +@@ -220,7 +220,7 @@ static void test_config_parse_exec(void) { + "-@/RValue argv0 r1 ; ; " + "/goo/goo boo", + &c, u); +- assert_se(r >= 0); ++ assert_se(r == -ENOEXEC); + c1 = c1->command_next; + check_execcommand(c1, "/RValue", "argv0", "r1", NULL, true); + +@@ -374,7 +374,7 @@ static void test_config_parse_exec(void) { + r = config_parse_exec(NULL, "fake", 4, "section", 1, + "LValue", 0, path, + &c, u); +- assert_se(r == 0); ++ assert_se(r == -ENOEXEC); + assert_se(c1->command_next == NULL); + } + +@@ -401,21 +401,21 @@ static void test_config_parse_exec(void) { + r = config_parse_exec(NULL, "fake", 4, "section", 1, + "LValue", 0, "/path\\", + &c, u); +- assert_se(r == 0); ++ assert_se(r == -ENOEXEC); + assert_se(c1->command_next == NULL); + + log_info("/* missing ending ' */"); + r = config_parse_exec(NULL, "fake", 4, "section", 1, + "LValue", 0, "/path 'foo", + &c, u); +- assert_se(r == 0); ++ assert_se(r == -ENOEXEC); + assert_se(c1->command_next == NULL); + + log_info("/* missing ending ' with trailing backslash */"); + r = config_parse_exec(NULL, "fake", 4, "section", 1, + "LValue", 0, "/path 'foo\\", + &c, u); +- assert_se(r == 0); ++ assert_se(r == -ENOEXEC); + assert_se(c1->command_next == NULL); + + log_info("/* invalid space between modifiers */"); +-- +2.11.0 diff --git a/meta/recipes-core/systemd/systemd_232.bb b/meta/recipes-core/systemd/systemd_232.bb index e8292ab..9c533ea 100644 --- a/meta/recipes-core/systemd/systemd_232.bb +++ b/meta/recipes-core/systemd/systemd_232.bb @@ -32,6 +32,7 @@ SRC_URI += " \ file://0020-back-port-233-don-t-use-the-unified-hierarchy-for-the-systemd.patch \ file://0021-build-sys-check-for-lz4-in-the-old-and-new-numbering.patch \ file://0022-parse-util-Do-not-include-unneeded-xlocale.h.patch \ + file://0001-core-load-fragment-refuse-units-with-errors-in-certa.patch \ " SRC_URI_append_qemuall = " file://0001-core-device.c-Change-the-default-device-timeout-to-2.patch" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 10:30:51 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 10:30:51 +0000 Subject: [oe-commits] [openembedded-core] branch morty updated (befda6c -> e391113) Message-ID: <150046025072.10671.1312450822746761090@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch morty in repository openembedded-core. from befda6c oe/path.py: fix for "Argument list too long" new 04d7a4a libgcrypt: fix CVE-2017-9526 new e391113 libgcrypt: fix CVE-2017-7526 The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: ...-Store-EdDSA-session-key-in-secure-memory.patch | 39 ++ .../libgcrypt/files/CVE-2017-7526.patch | 455 +++++++++++++++++++++ meta/recipes-support/libgcrypt/libgcrypt.inc | 2 + 3 files changed, 496 insertions(+) create mode 100644 meta/recipes-support/libgcrypt/files/0001-ecc-Store-EdDSA-session-key-in-secure-memory.patch create mode 100644 meta/recipes-support/libgcrypt/files/CVE-2017-7526.patch -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 10:30:53 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 10:30:53 +0000 Subject: [oe-commits] [openembedded-core] 02/02: libgcrypt: fix CVE-2017-7526 In-Reply-To: <150046025072.10671.1312450822746761090@git.openembedded.org> References: <150046025072.10671.1312450822746761090@git.openembedded.org> Message-ID: <20170719103051.2C2172335AF@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch morty in repository openembedded-core. commit e3911133ee9aad7cc3ae89faea80a097f6614fab Author: Ross Burton AuthorDate: Tue Jul 18 23:07:35 2017 +0100 libgcrypt: fix CVE-2017-7526 Fixes CVE-2017-7526, 'flush+reload side-channel attack on RSA secret keys dubbed "Sliding right into disaster"'. Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- .../libgcrypt/files/CVE-2017-7526.patch | 455 +++++++++++++++++++++ meta/recipes-support/libgcrypt/libgcrypt.inc | 1 + 2 files changed, 456 insertions(+) diff --git a/meta/recipes-support/libgcrypt/files/CVE-2017-7526.patch b/meta/recipes-support/libgcrypt/files/CVE-2017-7526.patch new file mode 100644 index 0000000..7180e7a --- /dev/null +++ b/meta/recipes-support/libgcrypt/files/CVE-2017-7526.patch @@ -0,0 +1,455 @@ +Flush+reload side-channel attack on RSA secret keys dubbed "Sliding right +into disaster". + +CVE: CVE-2017-7526 +Upstream-Status: Backport +Signed-off-by: Ross Burton + +From 56bd068335500207dea2cece9cc662bcd9658951 Mon Sep 17 00:00:00 2001 +From: NIIBE Yutaka +Date: Tue, 4 Apr 2017 17:38:05 +0900 +Subject: [PATCH 1/5] mpi: Simplify mpi_powm. + +* mpi/mpi-pow.c (_gcry_mpi_powm): Simplify the loop. + +-- + +This fix is not a solution for the problem reported (yet). The +problem is that the current algorithm of _gcry_mpi_powm depends on +exponent and some information leaks is possible. + +Reported-by: Andreas Zankl +Signed-off-by: NIIBE Yutaka + +(backport from master commit: +719468e53133d3bdf12156c5bfdea2bf15f9f6f1) + +Signed-off-by: Ross Burton +--- + mpi/mpi-pow.c | 105 +++++++++++++++++----------------------------------------- + 1 file changed, 30 insertions(+), 75 deletions(-) + +diff --git a/mpi/mpi-pow.c b/mpi/mpi-pow.c +index a780ebd1..7b3dc318 100644 +--- a/mpi/mpi-pow.c ++++ b/mpi/mpi-pow.c +@@ -609,12 +609,8 @@ _gcry_mpi_powm (gcry_mpi_t res, + if (e == 0) + { + j += c; +- i--; +- if ( i < 0 ) +- { +- c = 0; +- break; +- } ++ if ( --i < 0 ) ++ break; + + e = ep[i]; + c = BITS_PER_MPI_LIMB; +@@ -629,38 +625,33 @@ _gcry_mpi_powm (gcry_mpi_t res, + c -= c0; + j += c0; + ++ e0 = (e >> (BITS_PER_MPI_LIMB - W)); + if (c >= W) +- { +- e0 = (e >> (BITS_PER_MPI_LIMB - W)); +- e = (e << W); +- c -= W; +- } ++ c0 = 0; + else + { +- i--; +- if ( i < 0 ) ++ if ( --i < 0 ) + { +- e = (e >> (BITS_PER_MPI_LIMB - c)); +- break; ++ e0 = (e >> (BITS_PER_MPI_LIMB - c)); ++ j += c - W; ++ goto last_step; ++ } ++ else ++ { ++ c0 = c; ++ e = ep[i]; ++ c = BITS_PER_MPI_LIMB; ++ e0 |= (e >> (BITS_PER_MPI_LIMB - (W - c0))); + } +- +- c0 = c; +- e0 = (e >> (BITS_PER_MPI_LIMB - W)) +- | (ep[i] >> (BITS_PER_MPI_LIMB - W + c0)); +- e = (ep[i] << (W - c0)); +- c = BITS_PER_MPI_LIMB - W + c0; + } + ++ e = e << (W - c0); ++ c -= (W - c0); ++ ++ last_step: + count_trailing_zeros (c0, e0); + e0 = (e0 >> c0) >> 1; + +- for (j += W - c0; j; j--) +- { +- mul_mod (xp, &xsize, rp, rsize, rp, rsize, mp, msize, &karactx); +- tp = rp; rp = xp; xp = tp; +- rsize = xsize; +- } +- + /* + * base_u <= precomp[e0] + * base_u_size <= precomp_size[e0] +@@ -677,25 +668,23 @@ _gcry_mpi_powm (gcry_mpi_t res, + u.d = precomp[k]; + + mpi_set_cond (&w, &u, k == e0); +- base_u_size |= (precomp_size[k] & ((mpi_size_t)0 - (k == e0)) ); ++ base_u_size |= ( precomp_size[k] & ((mpi_size_t)0 - (k == e0)) ); + } + +- mul_mod (xp, &xsize, rp, rsize, base_u, base_u_size, +- mp, msize, &karactx); +- tp = rp; rp = xp; xp = tp; +- rsize = xsize; ++ for (j += W - c0; j >= 0; j--) ++ { ++ mul_mod (xp, &xsize, rp, rsize, ++ j == 0 ? base_u : rp, j == 0 ? base_u_size : rsize, ++ mp, msize, &karactx); ++ tp = rp; rp = xp; xp = tp; ++ rsize = xsize; ++ } + + j = c0; ++ if ( i < 0 ) ++ break; + } + +- if (c != 0) +- { +- j += c; +- count_trailing_zeros (c, e); +- e = (e >> c); +- j -= c; +- } +- + while (j--) + { + mul_mod (xp, &xsize, rp, rsize, rp, rsize, mp, msize, &karactx); +@@ -703,40 +692,6 @@ _gcry_mpi_powm (gcry_mpi_t res, + rsize = xsize; + } + +- if (e != 0) +- { +- /* +- * base_u <= precomp[(e>>1)] +- * base_u_size <= precomp_size[(e>>1)] +- */ +- base_u_size = 0; +- for (k = 0; k < (1<< (W - 1)); k++) +- { +- struct gcry_mpi w, u; +- w.alloced = w.nlimbs = precomp_size[k]; +- u.alloced = u.nlimbs = precomp_size[k]; +- w.sign = u.sign = 0; +- w.flags = u.flags = 0; +- w.d = base_u; +- u.d = precomp[k]; +- +- mpi_set_cond (&w, &u, k == (e>>1)); +- base_u_size |= (precomp_size[k] & ((mpi_size_t)0 - (k == (e>>1))) ); +- } +- +- mul_mod (xp, &xsize, rp, rsize, base_u, base_u_size, +- mp, msize, &karactx); +- tp = rp; rp = xp; xp = tp; +- rsize = xsize; +- +- for (; c; c--) +- { +- mul_mod (xp, &xsize, rp, rsize, rp, rsize, mp, msize, &karactx); +- tp = rp; rp = xp; xp = tp; +- rsize = xsize; +- } +- } +- + /* We shifted MOD, the modulo reduction argument, left + MOD_SHIFT_CNT steps. Adjust the result by reducing it with the + original MOD. +-- +2.11.0 + + +From 6e237c8c48d257dc315e364791d284c6bf3fa703 Mon Sep 17 00:00:00 2001 +From: NIIBE Yutaka +Date: Sat, 24 Jun 2017 20:46:20 +0900 +Subject: [PATCH 2/5] Same computation for square and multiply. + +* mpi/mpi-pow.c (_gcry_mpi_powm): Compare msize for max_u_size. Move +the assignment to base_u into the loop. Copy content refered by RP to +BASE_U except the last of the loop. + +-- + +Signed-off-by: NIIBE Yutaka +(backport from master commit: +78130828e9a140a9de4dafadbc844dbb64cb709a) + +Signed-off-by: Ross Burton +--- + mpi/mpi-pow.c | 50 +++++++++++++++++++++++++++++--------------------- + 1 file changed, 29 insertions(+), 21 deletions(-) + +diff --git a/mpi/mpi-pow.c b/mpi/mpi-pow.c +index 7b3dc318..3cba6903 100644 +--- a/mpi/mpi-pow.c ++++ b/mpi/mpi-pow.c +@@ -573,6 +573,8 @@ _gcry_mpi_powm (gcry_mpi_t res, + MPN_COPY (precomp[i], rp, rsize); + } + ++ if (msize > max_u_size) ++ max_u_size = msize; + base_u = mpi_alloc_limb_space (max_u_size, esec); + MPN_ZERO (base_u, max_u_size); + +@@ -619,6 +621,10 @@ _gcry_mpi_powm (gcry_mpi_t res, + { + int c0; + mpi_limb_t e0; ++ struct gcry_mpi w, u; ++ w.sign = u.sign = 0; ++ w.flags = u.flags = 0; ++ w.d = base_u; + + count_leading_zeros (c0, e); + e = (e << c0); +@@ -652,29 +658,31 @@ _gcry_mpi_powm (gcry_mpi_t res, + count_trailing_zeros (c0, e0); + e0 = (e0 >> c0) >> 1; + +- /* +- * base_u <= precomp[e0] +- * base_u_size <= precomp_size[e0] +- */ +- base_u_size = 0; +- for (k = 0; k < (1<< (W - 1)); k++) +- { +- struct gcry_mpi w, u; +- w.alloced = w.nlimbs = precomp_size[k]; +- u.alloced = u.nlimbs = precomp_size[k]; +- w.sign = u.sign = 0; +- w.flags = u.flags = 0; +- w.d = base_u; +- u.d = precomp[k]; +- +- mpi_set_cond (&w, &u, k == e0); +- base_u_size |= ( precomp_size[k] & ((mpi_size_t)0 - (k == e0)) ); +- } +- + for (j += W - c0; j >= 0; j--) + { +- mul_mod (xp, &xsize, rp, rsize, +- j == 0 ? base_u : rp, j == 0 ? base_u_size : rsize, ++ ++ /* ++ * base_u <= precomp[e0] ++ * base_u_size <= precomp_size[e0] ++ */ ++ base_u_size = 0; ++ for (k = 0; k < (1<< (W - 1)); k++) ++ { ++ w.alloced = w.nlimbs = precomp_size[k]; ++ u.alloced = u.nlimbs = precomp_size[k]; ++ u.d = precomp[k]; ++ ++ mpi_set_cond (&w, &u, k == e0); ++ base_u_size |= ( precomp_size[k] & (0UL - (k == e0)) ); ++ } ++ ++ w.alloced = w.nlimbs = rsize; ++ u.alloced = u.nlimbs = rsize; ++ u.d = rp; ++ mpi_set_cond (&w, &u, j != 0); ++ base_u_size ^= ((base_u_size ^ rsize) & (0UL - (j != 0))); ++ ++ mul_mod (xp, &xsize, rp, rsize, base_u, base_u_size, + mp, msize, &karactx); + tp = rp; rp = xp; xp = tp; + rsize = xsize; +-- +2.11.0 + + +From bf059348dafc1b8d29e07b9426d870ead853db84 Mon Sep 17 00:00:00 2001 +From: NIIBE Yutaka +Date: Thu, 29 Jun 2017 11:48:44 +0900 +Subject: [PATCH 3/5] rsa: Add exponent blinding. + +* cipher/rsa.c (secret): Blind secret D with randomized nonce R for +mpi_powm computation. + +-- + +Co-authored-by: Werner Koch +Signed-off-by: NIIBE Yutaka + +The paper describing attack: https://eprint.iacr.org/2017/627 + +Sliding right into disaster: Left-to-right sliding windows leak +by Daniel J. Bernstein and Joachim Breitner and Daniel Genkin and +Leon Groot Bruinderink and Nadia Heninger and Tanja Lange and +Christine van Vredendaal and Yuval Yarom + + It is well known that constant-time implementations of modular + exponentiation cannot use sliding windows. However, software + libraries such as Libgcrypt, used by GnuPG, continue to use sliding + windows. It is widely believed that, even if the complete pattern of + squarings and multiplications is observed through a side-channel + attack, the number of exponent bits leaked is not sufficient to + carry out a full key-recovery attack against RSA. Specifically, + 4-bit sliding windows leak only 40% of the bits, and 5-bit sliding + windows leak only 33% of the bits. + + In this paper we demonstrate a complete break of RSA-1024 as + implemented in Libgcrypt. Our attack makes essential use of the fact + that Libgcrypt uses the left-to-right method for computing the + sliding-window expansion. We show for the first time that the + direction of the encoding matters: the pattern of squarings and + multiplications in left-to-right sliding windows leaks significantly + more information about exponent bits than for right-to-left. We show + how to incorporate this additional information into the + Heninger-Shacham algorithm for partial key reconstruction, and use + it to obtain very efficient full key recovery for RSA-1024. We also + provide strong evidence that the same attack works for RSA-2048 with + only moderately more computation. + +Exponent blinding is a kind of workaround to add noise. Signal (leak) +is still there for non-constant-time implementation. + +(backported from master commit: +8725c99ffa41778f382ca97233183bcd687bb0ce) + +Signed-off-by: Ross Burton +--- + cipher/rsa.c | 32 +++++++++++++++++++++++++------- + 1 file changed, 25 insertions(+), 7 deletions(-) + +diff --git a/cipher/rsa.c b/cipher/rsa.c +index b6c73741..25e29b5c 100644 +--- a/cipher/rsa.c ++++ b/cipher/rsa.c +@@ -1021,15 +1021,33 @@ secret (gcry_mpi_t output, gcry_mpi_t input, RSA_secret_key *skey ) + gcry_mpi_t m1 = mpi_alloc_secure( mpi_get_nlimbs(skey->n)+1 ); + gcry_mpi_t m2 = mpi_alloc_secure( mpi_get_nlimbs(skey->n)+1 ); + gcry_mpi_t h = mpi_alloc_secure( mpi_get_nlimbs(skey->n)+1 ); +- +- /* m1 = c ^ (d mod (p-1)) mod p */ ++ gcry_mpi_t D_blind = mpi_alloc_secure ( mpi_get_nlimbs(skey->n) + 1 ); ++ gcry_mpi_t r; ++ unsigned int r_nbits; ++ ++ r_nbits = mpi_get_nbits (skey->p) / 4; ++ if (r_nbits < 96) ++ r_nbits = 96; ++ r = mpi_alloc_secure ((r_nbits + BITS_PER_MPI_LIMB-1)/BITS_PER_MPI_LIMB); ++ ++ /* d_blind = (d mod (p-1)) + (p-1) * r */ ++ /* m1 = c ^ d_blind mod p */ ++ _gcry_mpi_randomize (r, r_nbits, GCRY_WEAK_RANDOM); ++ mpi_set_highbit (r, r_nbits - 1); + mpi_sub_ui( h, skey->p, 1 ); +- mpi_fdiv_r( h, skey->d, h ); +- mpi_powm( m1, input, h, skey->p ); +- /* m2 = c ^ (d mod (q-1)) mod q */ ++ mpi_mul ( D_blind, h, r ); ++ mpi_fdiv_r ( h, skey->d, h ); ++ mpi_add ( D_blind, D_blind, h ); ++ mpi_powm( m1, input, D_blind, skey->p ); ++ /* d_blind = (d mod (q-1)) + (q-1) * r */ ++ /* m2 = c ^ d_blind mod q */ ++ _gcry_mpi_randomize (r, r_nbits, GCRY_WEAK_RANDOM); ++ mpi_set_highbit (r, r_nbits - 1); + mpi_sub_ui( h, skey->q, 1 ); +- mpi_fdiv_r( h, skey->d, h ); +- mpi_powm( m2, input, h, skey->q ); ++ mpi_mul ( D_blind, h, r ); ++ mpi_fdiv_r ( h, skey->d, h ); ++ mpi_add ( D_blind, D_blind, h ); ++ mpi_powm( m2, input, D_blind, skey->q ); + /* h = u * ( m2 - m1 ) mod q */ + mpi_sub( h, m2, m1 ); + if ( mpi_has_sign ( h ) ) +-- +2.11.0 + + +From 09b9df2675a24e679b7944352ad6385e9e68474f Mon Sep 17 00:00:00 2001 +From: NIIBE Yutaka +Date: Thu, 29 Jun 2017 12:36:27 +0900 +Subject: [PATCH 4/5] rsa: Fix exponent blinding. + +* cipher/rsa.c (secret): Free D_BLIND. + +-- + +Fixes-commit: a9f612def801c8145d551d995475e5d51a4c988c +Signed-off-by: NIIBE Yutaka +Signed-off-by: Ross Burton +--- + cipher/rsa.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/cipher/rsa.c b/cipher/rsa.c +index 25e29b5c..33f92ebd 100644 +--- a/cipher/rsa.c ++++ b/cipher/rsa.c +@@ -1057,6 +1057,7 @@ secret (gcry_mpi_t output, gcry_mpi_t input, RSA_secret_key *skey ) + mpi_mul ( h, h, skey->p ); + mpi_add ( output, m1, h ); + ++ mpi_free ( D_blind ); + mpi_free ( h ); + mpi_free ( m1 ); + mpi_free ( m2 ); +-- +2.11.0 + + +From 1323fdcf6f2f9fd1da8c5adf396650f15a2a1260 Mon Sep 17 00:00:00 2001 +From: NIIBE Yutaka +Date: Thu, 29 Jun 2017 12:40:19 +0900 +Subject: [PATCH 5/5] rsa: More fix. + +* cipher/rsa.c (secret): Free R. + +-- + +Fixes-commit: a9f612def801c8145d551d995475e5d51a4c988c +Signed-off-by: NIIBE Yutaka +Signed-off-by: Ross Burton +--- + cipher/rsa.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/cipher/rsa.c b/cipher/rsa.c +index 33f92ebd..8d8d157b 100644 +--- a/cipher/rsa.c ++++ b/cipher/rsa.c +@@ -1057,6 +1057,7 @@ secret (gcry_mpi_t output, gcry_mpi_t input, RSA_secret_key *skey ) + mpi_mul ( h, h, skey->p ); + mpi_add ( output, m1, h ); + ++ mpi_free ( r ); + mpi_free ( D_blind ); + mpi_free ( h ); + mpi_free ( m1 ); +-- +2.11.0 + diff --git a/meta/recipes-support/libgcrypt/libgcrypt.inc b/meta/recipes-support/libgcrypt/libgcrypt.inc index 7c4c0e8..00870e3 100644 --- a/meta/recipes-support/libgcrypt/libgcrypt.inc +++ b/meta/recipes-support/libgcrypt/libgcrypt.inc @@ -21,6 +21,7 @@ SRC_URI = "${GNUPG_MIRROR}/libgcrypt/libgcrypt-${PV}.tar.gz \ file://fix-ICE-failure-on-mips-with-option-O-and-g.patch \ file://fix-undefined-reference-to-pthread.patch \ file://0001-ecc-Store-EdDSA-session-key-in-secure-memory.patch \ + file://CVE-2017-7526.patch \ " BINCONFIG = "${bindir}/libgcrypt-config" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 10:30:52 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 10:30:52 +0000 Subject: [oe-commits] [openembedded-core] 01/02: libgcrypt: fix CVE-2017-9526 In-Reply-To: <150046025072.10671.1312450822746761090@git.openembedded.org> References: <150046025072.10671.1312450822746761090@git.openembedded.org> Message-ID: <20170719103051.222532335AD@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch morty in repository openembedded-core. commit 04d7a4adafa09f9f3012c355f4f2f9728cb0b166 Author: Ross Burton AuthorDate: Tue Jul 18 23:07:34 2017 +0100 libgcrypt: fix CVE-2017-9526 In libgcrypt before 1.7.7, an attacker who learns the EdDSA session key (from side-channel observation during the signing process) can easily recover the long-term secret key. 1.7.7 makes a cipher/ecc-eddsa.c change to store this session key in secure memory, to ensure that constant-time point operations are used in the MPI library. Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- ...-Store-EdDSA-session-key-in-secure-memory.patch | 39 ++++++++++++++++++++++ meta/recipes-support/libgcrypt/libgcrypt.inc | 1 + 2 files changed, 40 insertions(+) diff --git a/meta/recipes-support/libgcrypt/files/0001-ecc-Store-EdDSA-session-key-in-secure-memory.patch b/meta/recipes-support/libgcrypt/files/0001-ecc-Store-EdDSA-session-key-in-secure-memory.patch new file mode 100644 index 0000000..f6c4ca7 --- /dev/null +++ b/meta/recipes-support/libgcrypt/files/0001-ecc-Store-EdDSA-session-key-in-secure-memory.patch @@ -0,0 +1,39 @@ +CVE: CVE-2017-9526 +Upstream-Status: Backport +Signed-off-by: Ross Burton + +From b3cab278eb9c2ceda79f980bc26460d97f260041 Mon Sep 17 00:00:00 2001 +From: Jo Van Bulck +Date: Thu, 19 Jan 2017 17:00:15 +0100 +Subject: [PATCH] ecc: Store EdDSA session key in secure memory. + +* cipher/ecc-eddsa.c (_gcry_ecc_eddsa_sign): use mpi_snew to allocate +session key. +-- + +An attacker who learns the EdDSA session key from side-channel +observation during the signing process, can easily revover the long- +term secret key. Storing the session key in secure memory ensures that +constant time point operations are used in the MPI library. + +Signed-off-by: Jo Van Bulck +--- + cipher/ecc-eddsa.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/cipher/ecc-eddsa.c b/cipher/ecc-eddsa.c +index f91f8489..813e030d 100644 +--- a/cipher/ecc-eddsa.c ++++ b/cipher/ecc-eddsa.c +@@ -603,7 +603,7 @@ _gcry_ecc_eddsa_sign (gcry_mpi_t input, ECC_secret_key *skey, + a = mpi_snew (0); + x = mpi_new (0); + y = mpi_new (0); +- r = mpi_new (0); ++ r = mpi_snew (0); + ctx = _gcry_mpi_ec_p_internal_new (skey->E.model, skey->E.dialect, 0, + skey->E.p, skey->E.a, skey->E.b); + b = (ctx->nbits+7)/8; +-- +2.11.0 + diff --git a/meta/recipes-support/libgcrypt/libgcrypt.inc b/meta/recipes-support/libgcrypt/libgcrypt.inc index 15805cd..7c4c0e8 100644 --- a/meta/recipes-support/libgcrypt/libgcrypt.inc +++ b/meta/recipes-support/libgcrypt/libgcrypt.inc @@ -20,6 +20,7 @@ SRC_URI = "${GNUPG_MIRROR}/libgcrypt/libgcrypt-${PV}.tar.gz \ file://libgcrypt-fix-building-error-with-O2-in-sysroot-path.patch \ file://fix-ICE-failure-on-mips-with-option-O-and-g.patch \ file://fix-undefined-reference-to-pthread.patch \ + file://0001-ecc-Store-EdDSA-session-key-in-secure-memory.patch \ " BINCONFIG = "${bindir}/libgcrypt-config" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 10:30:54 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 10:30:54 +0000 Subject: [oe-commits] [openembedded-core] branch pyro updated (beab5b3 -> 4442811) Message-ID: <150046025073.10671.9522920709852058373@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch pyro in repository openembedded-core. from beab5b3 build-appliance-image: Update to pyro head revision new 6039dbf libgcrypt: fix CVE-2017-9526 new 4442811 libgcrypt: fix CVE-2017-7526 The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: ...-Store-EdDSA-session-key-in-secure-memory.patch | 39 ++ .../libgcrypt/files/CVE-2017-7526.patch | 455 +++++++++++++++++++++ meta/recipes-support/libgcrypt/libgcrypt.inc | 2 + 3 files changed, 496 insertions(+) create mode 100644 meta/recipes-support/libgcrypt/files/0001-ecc-Store-EdDSA-session-key-in-secure-memory.patch create mode 100644 meta/recipes-support/libgcrypt/files/CVE-2017-7526.patch -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 10:30:56 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 10:30:56 +0000 Subject: [oe-commits] [openembedded-core] 02/02: libgcrypt: fix CVE-2017-7526 In-Reply-To: <150046025073.10671.9522920709852058373@git.openembedded.org> References: <150046025073.10671.9522920709852058373@git.openembedded.org> Message-ID: <20170719103051.7BAEC2335B5@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch pyro in repository openembedded-core. commit 4442811291ff8b15d5562be0a68a11516183b502 Author: Ross Burton AuthorDate: Tue Jul 18 23:07:09 2017 +0100 libgcrypt: fix CVE-2017-7526 Fixes CVE-2017-7526, 'flush+reload side-channel attack on RSA secret keys dubbed "Sliding right into disaster"'. Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- .../libgcrypt/files/CVE-2017-7526.patch | 455 +++++++++++++++++++++ meta/recipes-support/libgcrypt/libgcrypt.inc | 1 + 2 files changed, 456 insertions(+) diff --git a/meta/recipes-support/libgcrypt/files/CVE-2017-7526.patch b/meta/recipes-support/libgcrypt/files/CVE-2017-7526.patch new file mode 100644 index 0000000..384fa96 --- /dev/null +++ b/meta/recipes-support/libgcrypt/files/CVE-2017-7526.patch @@ -0,0 +1,455 @@ +Flush+reload side-channel attack on RSA secret keys dubbed "Sliding right +into disaster". + +CVE: CVE-2017-7526 +Upstream-Status: Backport +Signed-off-by: Ross Burton + +From 12ee400c39e0ebb5fb819c3926d459c278fc99fd Mon Sep 17 00:00:00 2001 +From: NIIBE Yutaka +Date: Tue, 4 Apr 2017 17:38:05 +0900 +Subject: [PATCH 1/5] mpi: Simplify mpi_powm. + +* mpi/mpi-pow.c (_gcry_mpi_powm): Simplify the loop. + +-- + +This fix is not a solution for the problem reported (yet). The +problem is that the current algorithm of _gcry_mpi_powm depends on +exponent and some information leaks is possible. + +Reported-by: Andreas Zankl +Signed-off-by: NIIBE Yutaka + +(backport from master commit: +719468e53133d3bdf12156c5bfdea2bf15f9f6f1) + +Signed-off-by: Ross Burton +--- + mpi/mpi-pow.c | 105 +++++++++++++++++----------------------------------------- + 1 file changed, 30 insertions(+), 75 deletions(-) + +diff --git a/mpi/mpi-pow.c b/mpi/mpi-pow.c +index a780ebd1..7b3dc318 100644 +--- a/mpi/mpi-pow.c ++++ b/mpi/mpi-pow.c +@@ -609,12 +609,8 @@ _gcry_mpi_powm (gcry_mpi_t res, + if (e == 0) + { + j += c; +- i--; +- if ( i < 0 ) +- { +- c = 0; +- break; +- } ++ if ( --i < 0 ) ++ break; + + e = ep[i]; + c = BITS_PER_MPI_LIMB; +@@ -629,38 +625,33 @@ _gcry_mpi_powm (gcry_mpi_t res, + c -= c0; + j += c0; + ++ e0 = (e >> (BITS_PER_MPI_LIMB - W)); + if (c >= W) +- { +- e0 = (e >> (BITS_PER_MPI_LIMB - W)); +- e = (e << W); +- c -= W; +- } ++ c0 = 0; + else + { +- i--; +- if ( i < 0 ) ++ if ( --i < 0 ) + { +- e = (e >> (BITS_PER_MPI_LIMB - c)); +- break; ++ e0 = (e >> (BITS_PER_MPI_LIMB - c)); ++ j += c - W; ++ goto last_step; ++ } ++ else ++ { ++ c0 = c; ++ e = ep[i]; ++ c = BITS_PER_MPI_LIMB; ++ e0 |= (e >> (BITS_PER_MPI_LIMB - (W - c0))); + } +- +- c0 = c; +- e0 = (e >> (BITS_PER_MPI_LIMB - W)) +- | (ep[i] >> (BITS_PER_MPI_LIMB - W + c0)); +- e = (ep[i] << (W - c0)); +- c = BITS_PER_MPI_LIMB - W + c0; + } + ++ e = e << (W - c0); ++ c -= (W - c0); ++ ++ last_step: + count_trailing_zeros (c0, e0); + e0 = (e0 >> c0) >> 1; + +- for (j += W - c0; j; j--) +- { +- mul_mod (xp, &xsize, rp, rsize, rp, rsize, mp, msize, &karactx); +- tp = rp; rp = xp; xp = tp; +- rsize = xsize; +- } +- + /* + * base_u <= precomp[e0] + * base_u_size <= precomp_size[e0] +@@ -677,25 +668,23 @@ _gcry_mpi_powm (gcry_mpi_t res, + u.d = precomp[k]; + + mpi_set_cond (&w, &u, k == e0); +- base_u_size |= (precomp_size[k] & ((mpi_size_t)0 - (k == e0)) ); ++ base_u_size |= ( precomp_size[k] & ((mpi_size_t)0 - (k == e0)) ); + } + +- mul_mod (xp, &xsize, rp, rsize, base_u, base_u_size, +- mp, msize, &karactx); +- tp = rp; rp = xp; xp = tp; +- rsize = xsize; ++ for (j += W - c0; j >= 0; j--) ++ { ++ mul_mod (xp, &xsize, rp, rsize, ++ j == 0 ? base_u : rp, j == 0 ? base_u_size : rsize, ++ mp, msize, &karactx); ++ tp = rp; rp = xp; xp = tp; ++ rsize = xsize; ++ } + + j = c0; ++ if ( i < 0 ) ++ break; + } + +- if (c != 0) +- { +- j += c; +- count_trailing_zeros (c, e); +- e = (e >> c); +- j -= c; +- } +- + while (j--) + { + mul_mod (xp, &xsize, rp, rsize, rp, rsize, mp, msize, &karactx); +@@ -703,40 +692,6 @@ _gcry_mpi_powm (gcry_mpi_t res, + rsize = xsize; + } + +- if (e != 0) +- { +- /* +- * base_u <= precomp[(e>>1)] +- * base_u_size <= precomp_size[(e>>1)] +- */ +- base_u_size = 0; +- for (k = 0; k < (1<< (W - 1)); k++) +- { +- struct gcry_mpi w, u; +- w.alloced = w.nlimbs = precomp_size[k]; +- u.alloced = u.nlimbs = precomp_size[k]; +- w.sign = u.sign = 0; +- w.flags = u.flags = 0; +- w.d = base_u; +- u.d = precomp[k]; +- +- mpi_set_cond (&w, &u, k == (e>>1)); +- base_u_size |= (precomp_size[k] & ((mpi_size_t)0 - (k == (e>>1))) ); +- } +- +- mul_mod (xp, &xsize, rp, rsize, base_u, base_u_size, +- mp, msize, &karactx); +- tp = rp; rp = xp; xp = tp; +- rsize = xsize; +- +- for (; c; c--) +- { +- mul_mod (xp, &xsize, rp, rsize, rp, rsize, mp, msize, &karactx); +- tp = rp; rp = xp; xp = tp; +- rsize = xsize; +- } +- } +- + /* We shifted MOD, the modulo reduction argument, left + MOD_SHIFT_CNT steps. Adjust the result by reducing it with the + original MOD. +-- +2.11.0 + + +From a4b275c4d5378837e820fdc84f4ada876f9c8ccd Mon Sep 17 00:00:00 2001 +From: NIIBE Yutaka +Date: Sat, 24 Jun 2017 20:46:20 +0900 +Subject: [PATCH 2/5] Same computation for square and multiply. + +* mpi/mpi-pow.c (_gcry_mpi_powm): Compare msize for max_u_size. Move +the assignment to base_u into the loop. Copy content refered by RP to +BASE_U except the last of the loop. + +-- + +Signed-off-by: NIIBE Yutaka +(backport from master commit: +78130828e9a140a9de4dafadbc844dbb64cb709a) + +Signed-off-by: Ross Burton +--- + mpi/mpi-pow.c | 50 +++++++++++++++++++++++++++++--------------------- + 1 file changed, 29 insertions(+), 21 deletions(-) + +diff --git a/mpi/mpi-pow.c b/mpi/mpi-pow.c +index 7b3dc318..3cba6903 100644 +--- a/mpi/mpi-pow.c ++++ b/mpi/mpi-pow.c +@@ -573,6 +573,8 @@ _gcry_mpi_powm (gcry_mpi_t res, + MPN_COPY (precomp[i], rp, rsize); + } + ++ if (msize > max_u_size) ++ max_u_size = msize; + base_u = mpi_alloc_limb_space (max_u_size, esec); + MPN_ZERO (base_u, max_u_size); + +@@ -619,6 +621,10 @@ _gcry_mpi_powm (gcry_mpi_t res, + { + int c0; + mpi_limb_t e0; ++ struct gcry_mpi w, u; ++ w.sign = u.sign = 0; ++ w.flags = u.flags = 0; ++ w.d = base_u; + + count_leading_zeros (c0, e); + e = (e << c0); +@@ -652,29 +658,31 @@ _gcry_mpi_powm (gcry_mpi_t res, + count_trailing_zeros (c0, e0); + e0 = (e0 >> c0) >> 1; + +- /* +- * base_u <= precomp[e0] +- * base_u_size <= precomp_size[e0] +- */ +- base_u_size = 0; +- for (k = 0; k < (1<< (W - 1)); k++) +- { +- struct gcry_mpi w, u; +- w.alloced = w.nlimbs = precomp_size[k]; +- u.alloced = u.nlimbs = precomp_size[k]; +- w.sign = u.sign = 0; +- w.flags = u.flags = 0; +- w.d = base_u; +- u.d = precomp[k]; +- +- mpi_set_cond (&w, &u, k == e0); +- base_u_size |= ( precomp_size[k] & ((mpi_size_t)0 - (k == e0)) ); +- } +- + for (j += W - c0; j >= 0; j--) + { +- mul_mod (xp, &xsize, rp, rsize, +- j == 0 ? base_u : rp, j == 0 ? base_u_size : rsize, ++ ++ /* ++ * base_u <= precomp[e0] ++ * base_u_size <= precomp_size[e0] ++ */ ++ base_u_size = 0; ++ for (k = 0; k < (1<< (W - 1)); k++) ++ { ++ w.alloced = w.nlimbs = precomp_size[k]; ++ u.alloced = u.nlimbs = precomp_size[k]; ++ u.d = precomp[k]; ++ ++ mpi_set_cond (&w, &u, k == e0); ++ base_u_size |= ( precomp_size[k] & (0UL - (k == e0)) ); ++ } ++ ++ w.alloced = w.nlimbs = rsize; ++ u.alloced = u.nlimbs = rsize; ++ u.d = rp; ++ mpi_set_cond (&w, &u, j != 0); ++ base_u_size ^= ((base_u_size ^ rsize) & (0UL - (j != 0))); ++ ++ mul_mod (xp, &xsize, rp, rsize, base_u, base_u_size, + mp, msize, &karactx); + tp = rp; rp = xp; xp = tp; + rsize = xsize; +-- +2.11.0 + + +From 129c1960e55603ec3f6fd1cd9cd51b22e9a9a7ef Mon Sep 17 00:00:00 2001 +From: NIIBE Yutaka +Date: Thu, 29 Jun 2017 11:48:44 +0900 +Subject: [PATCH 3/5] rsa: Add exponent blinding. + +* cipher/rsa.c (secret): Blind secret D with randomized nonce R for +mpi_powm computation. + +-- + +Co-authored-by: Werner Koch +Signed-off-by: NIIBE Yutaka + +The paper describing attack: https://eprint.iacr.org/2017/627 + +Sliding right into disaster: Left-to-right sliding windows leak +by Daniel J. Bernstein and Joachim Breitner and Daniel Genkin and +Leon Groot Bruinderink and Nadia Heninger and Tanja Lange and +Christine van Vredendaal and Yuval Yarom + + It is well known that constant-time implementations of modular + exponentiation cannot use sliding windows. However, software + libraries such as Libgcrypt, used by GnuPG, continue to use sliding + windows. It is widely believed that, even if the complete pattern of + squarings and multiplications is observed through a side-channel + attack, the number of exponent bits leaked is not sufficient to + carry out a full key-recovery attack against RSA. Specifically, + 4-bit sliding windows leak only 40% of the bits, and 5-bit sliding + windows leak only 33% of the bits. + + In this paper we demonstrate a complete break of RSA-1024 as + implemented in Libgcrypt. Our attack makes essential use of the fact + that Libgcrypt uses the left-to-right method for computing the + sliding-window expansion. We show for the first time that the + direction of the encoding matters: the pattern of squarings and + multiplications in left-to-right sliding windows leaks significantly + more information about exponent bits than for right-to-left. We show + how to incorporate this additional information into the + Heninger-Shacham algorithm for partial key reconstruction, and use + it to obtain very efficient full key recovery for RSA-1024. We also + provide strong evidence that the same attack works for RSA-2048 with + only moderately more computation. + +Exponent blinding is a kind of workaround to add noise. Signal (leak) +is still there for non-constant-time implementation. + +(backported from master commit: +8725c99ffa41778f382ca97233183bcd687bb0ce) + +Signed-off-by: Ross Burton +--- + cipher/rsa.c | 32 +++++++++++++++++++++++++------- + 1 file changed, 25 insertions(+), 7 deletions(-) + +diff --git a/cipher/rsa.c b/cipher/rsa.c +index b6c73741..25e29b5c 100644 +--- a/cipher/rsa.c ++++ b/cipher/rsa.c +@@ -1021,15 +1021,33 @@ secret (gcry_mpi_t output, gcry_mpi_t input, RSA_secret_key *skey ) + gcry_mpi_t m1 = mpi_alloc_secure( mpi_get_nlimbs(skey->n)+1 ); + gcry_mpi_t m2 = mpi_alloc_secure( mpi_get_nlimbs(skey->n)+1 ); + gcry_mpi_t h = mpi_alloc_secure( mpi_get_nlimbs(skey->n)+1 ); +- +- /* m1 = c ^ (d mod (p-1)) mod p */ ++ gcry_mpi_t D_blind = mpi_alloc_secure ( mpi_get_nlimbs(skey->n) + 1 ); ++ gcry_mpi_t r; ++ unsigned int r_nbits; ++ ++ r_nbits = mpi_get_nbits (skey->p) / 4; ++ if (r_nbits < 96) ++ r_nbits = 96; ++ r = mpi_alloc_secure ((r_nbits + BITS_PER_MPI_LIMB-1)/BITS_PER_MPI_LIMB); ++ ++ /* d_blind = (d mod (p-1)) + (p-1) * r */ ++ /* m1 = c ^ d_blind mod p */ ++ _gcry_mpi_randomize (r, r_nbits, GCRY_WEAK_RANDOM); ++ mpi_set_highbit (r, r_nbits - 1); + mpi_sub_ui( h, skey->p, 1 ); +- mpi_fdiv_r( h, skey->d, h ); +- mpi_powm( m1, input, h, skey->p ); +- /* m2 = c ^ (d mod (q-1)) mod q */ ++ mpi_mul ( D_blind, h, r ); ++ mpi_fdiv_r ( h, skey->d, h ); ++ mpi_add ( D_blind, D_blind, h ); ++ mpi_powm( m1, input, D_blind, skey->p ); ++ /* d_blind = (d mod (q-1)) + (q-1) * r */ ++ /* m2 = c ^ d_blind mod q */ ++ _gcry_mpi_randomize (r, r_nbits, GCRY_WEAK_RANDOM); ++ mpi_set_highbit (r, r_nbits - 1); + mpi_sub_ui( h, skey->q, 1 ); +- mpi_fdiv_r( h, skey->d, h ); +- mpi_powm( m2, input, h, skey->q ); ++ mpi_mul ( D_blind, h, r ); ++ mpi_fdiv_r ( h, skey->d, h ); ++ mpi_add ( D_blind, D_blind, h ); ++ mpi_powm( m2, input, D_blind, skey->q ); + /* h = u * ( m2 - m1 ) mod q */ + mpi_sub( h, m2, m1 ); + if ( mpi_has_sign ( h ) ) +-- +2.11.0 + + +From 8e1a6289b7d11a8bf6c94affa06c9794e7216e26 Mon Sep 17 00:00:00 2001 +From: NIIBE Yutaka +Date: Thu, 29 Jun 2017 12:36:27 +0900 +Subject: [PATCH 4/5] rsa: Fix exponent blinding. + +* cipher/rsa.c (secret): Free D_BLIND. + +-- + +Fixes-commit: a9f612def801c8145d551d995475e5d51a4c988c +Signed-off-by: NIIBE Yutaka +Signed-off-by: Ross Burton +--- + cipher/rsa.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/cipher/rsa.c b/cipher/rsa.c +index 25e29b5c..33f92ebd 100644 +--- a/cipher/rsa.c ++++ b/cipher/rsa.c +@@ -1057,6 +1057,7 @@ secret (gcry_mpi_t output, gcry_mpi_t input, RSA_secret_key *skey ) + mpi_mul ( h, h, skey->p ); + mpi_add ( output, m1, h ); + ++ mpi_free ( D_blind ); + mpi_free ( h ); + mpi_free ( m1 ); + mpi_free ( m2 ); +-- +2.11.0 + + +From 4e5497752172edc444029af645f28cb88ce93906 Mon Sep 17 00:00:00 2001 +From: NIIBE Yutaka +Date: Thu, 29 Jun 2017 12:40:19 +0900 +Subject: [PATCH 5/5] rsa: More fix. + +* cipher/rsa.c (secret): Free R. + +-- + +Fixes-commit: a9f612def801c8145d551d995475e5d51a4c988c +Signed-off-by: NIIBE Yutaka +Signed-off-by: Ross Burton +--- + cipher/rsa.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/cipher/rsa.c b/cipher/rsa.c +index 33f92ebd..8d8d157b 100644 +--- a/cipher/rsa.c ++++ b/cipher/rsa.c +@@ -1057,6 +1057,7 @@ secret (gcry_mpi_t output, gcry_mpi_t input, RSA_secret_key *skey ) + mpi_mul ( h, h, skey->p ); + mpi_add ( output, m1, h ); + ++ mpi_free ( r ); + mpi_free ( D_blind ); + mpi_free ( h ); + mpi_free ( m1 ); +-- +2.11.0 + diff --git a/meta/recipes-support/libgcrypt/libgcrypt.inc b/meta/recipes-support/libgcrypt/libgcrypt.inc index e95c059..3403579 100644 --- a/meta/recipes-support/libgcrypt/libgcrypt.inc +++ b/meta/recipes-support/libgcrypt/libgcrypt.inc @@ -21,6 +21,7 @@ SRC_URI = "${GNUPG_MIRROR}/libgcrypt/libgcrypt-${PV}.tar.gz \ file://fix-ICE-failure-on-mips-with-option-O-and-g.patch \ file://fix-undefined-reference-to-pthread.patch \ file://0001-ecc-Store-EdDSA-session-key-in-secure-memory.patch \ + file://CVE-2017-7526.patch \ " BINCONFIG = "${bindir}/libgcrypt-config" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 10:30:55 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 10:30:55 +0000 Subject: [oe-commits] [openembedded-core] 01/02: libgcrypt: fix CVE-2017-9526 In-Reply-To: <150046025073.10671.9522920709852058373@git.openembedded.org> References: <150046025073.10671.9522920709852058373@git.openembedded.org> Message-ID: <20170719103051.7448C2335B3@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch pyro in repository openembedded-core. commit 6039dbfd981830b5406c25a27ccfae0e5ed016e8 Author: Ross Burton AuthorDate: Tue Jul 18 23:07:08 2017 +0100 libgcrypt: fix CVE-2017-9526 In libgcrypt before 1.7.7, an attacker who learns the EdDSA session key (from side-channel observation during the signing process) can easily recover the long-term secret key. 1.7.7 makes a cipher/ecc-eddsa.c change to store this session key in secure memory, to ensure that constant-time point operations are used in the MPI library. Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- ...-Store-EdDSA-session-key-in-secure-memory.patch | 39 ++++++++++++++++++++++ meta/recipes-support/libgcrypt/libgcrypt.inc | 1 + 2 files changed, 40 insertions(+) diff --git a/meta/recipes-support/libgcrypt/files/0001-ecc-Store-EdDSA-session-key-in-secure-memory.patch b/meta/recipes-support/libgcrypt/files/0001-ecc-Store-EdDSA-session-key-in-secure-memory.patch new file mode 100644 index 0000000..0a4dfe6 --- /dev/null +++ b/meta/recipes-support/libgcrypt/files/0001-ecc-Store-EdDSA-session-key-in-secure-memory.patch @@ -0,0 +1,39 @@ +CVE: CVE-2017-9526 +Upstream-Status: Backport +Signed-off-by: Ross Burton + +From 4a1768d683f6572ad86d833508c70e6b3dc1efdc Mon Sep 17 00:00:00 2001 +From: Jo Van Bulck +Date: Thu, 19 Jan 2017 17:00:15 +0100 +Subject: [PATCH] ecc: Store EdDSA session key in secure memory. + +* cipher/ecc-eddsa.c (_gcry_ecc_eddsa_sign): use mpi_snew to allocate +session key. +-- + +An attacker who learns the EdDSA session key from side-channel +observation during the signing process, can easily revover the long- +term secret key. Storing the session key in secure memory ensures that +constant time point operations are used in the MPI library. + +Signed-off-by: Jo Van Bulck +--- + cipher/ecc-eddsa.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/cipher/ecc-eddsa.c b/cipher/ecc-eddsa.c +index f91f8489..813e030d 100644 +--- a/cipher/ecc-eddsa.c ++++ b/cipher/ecc-eddsa.c +@@ -603,7 +603,7 @@ _gcry_ecc_eddsa_sign (gcry_mpi_t input, ECC_secret_key *skey, + a = mpi_snew (0); + x = mpi_new (0); + y = mpi_new (0); +- r = mpi_new (0); ++ r = mpi_snew (0); + ctx = _gcry_mpi_ec_p_internal_new (skey->E.model, skey->E.dialect, 0, + skey->E.p, skey->E.a, skey->E.b); + b = (ctx->nbits+7)/8; +-- +2.11.0 + diff --git a/meta/recipes-support/libgcrypt/libgcrypt.inc b/meta/recipes-support/libgcrypt/libgcrypt.inc index 84c1cc0..e95c059 100644 --- a/meta/recipes-support/libgcrypt/libgcrypt.inc +++ b/meta/recipes-support/libgcrypt/libgcrypt.inc @@ -20,6 +20,7 @@ SRC_URI = "${GNUPG_MIRROR}/libgcrypt/libgcrypt-${PV}.tar.gz \ file://libgcrypt-fix-building-error-with-O2-in-sysroot-path.patch \ file://fix-ICE-failure-on-mips-with-option-O-and-g.patch \ file://fix-undefined-reference-to-pthread.patch \ + file://0001-ecc-Store-EdDSA-session-key-in-secure-memory.patch \ " BINCONFIG = "${bindir}/libgcrypt-config" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 10:43:23 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 10:43:23 +0000 Subject: [oe-commits] [openembedded-core] 02/06: classes/staging: change fixme debug message from note to debug In-Reply-To: <150046100160.13200.18436483247303627959@git.openembedded.org> References: <150046100160.13200.18436483247303627959@git.openembedded.org> Message-ID: <20170719104321.DAC6B2335AD@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit c7c5ee5cf82dd883e8ec53f734e7ada4fc5e9d70 Author: Paul Eggleton AuthorDate: Wed Jul 19 12:07:14 2017 +0200 classes/staging: change fixme debug message from note to debug These messages were added for debugging during the recipe specific sysroot work. They may still be useful but they don't need to be notes - if they are they show up in recipetool / devtool output when fetching source. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- meta/classes/staging.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/classes/staging.bbclass b/meta/classes/staging.bbclass index 8f470d5..162c8e9 100644 --- a/meta/classes/staging.bbclass +++ b/meta/classes/staging.bbclass @@ -170,7 +170,7 @@ def staging_processfixme(fixme, target, recipesysroot, recipesysrootnative, d): for fixmevar in ['COMPONENTS_DIR', 'HOSTTOOLS_DIR', 'PKGDATA_DIR']: fixme_path = d.getVar(fixmevar) cmd += " -e 's:FIXME_%s:%s:g'" % (fixmevar, fixme_path) - bb.note(cmd) + bb.debug(2, cmd) subprocess.check_output(cmd, shell=True) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 10:43:21 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 10:43:21 +0000 Subject: [oe-commits] [openembedded-core] branch master-next updated (74a615f -> f4ac4f1) Message-ID: <150046100160.13200.18436483247303627959@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master-next in repository openembedded-core. discard 74a615f oe-init-build-env-memres: Drop it discard 9c79577 recipetool: reimplement fetching with normal fetch/unpack tasks discard 0b4d1b9 recipetool: ensure meaningful error for malformed tarballs discard 17d54b8 classes/staging: change fixme debug message from note to debug discard f82da1c devtool: extract: refactor kern-tools-native handling discard c484dcd recipetool: refactor code for ensuring npm is available add 549cb94 systemd: refuse to load units with errors (CVE-2017-1000082) new 531867f oe-init-build-env-memres: Drop it new c7c5ee5 classes/staging: change fixme debug message from note to debug new 73bb81c recipetool: create: refactor code for ensuring npm is available new 0b4e8e3 devtool: extract: refactor kern-tools-native handling new 255bc31 recipetool: create: ensure meaningful error for malformed tarballs new f4ac4f1 recipetool: create: reimplement fetching with normal fetch/unpack tasks This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (74a615f) \ N -- N -- N refs/heads/master-next (f4ac4f1) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 6 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: ...ragment-refuse-units-with-errors-in-certa.patch | 329 +++++++++++++++++++++ meta/recipes-core/systemd/systemd_232.bb | 1 + scripts/lib/recipetool/create.py | 10 +- 3 files changed, 331 insertions(+), 9 deletions(-) create mode 100644 meta/recipes-core/systemd/systemd/0001-core-load-fragment-refuse-units-with-errors-in-certa.patch -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 10:43:22 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 10:43:22 +0000 Subject: [oe-commits] [openembedded-core] 01/06: oe-init-build-env-memres: Drop it In-Reply-To: <150046100160.13200.18436483247303627959@git.openembedded.org> References: <150046100160.13200.18436483247303627959@git.openembedded.org> Message-ID: <20170719104321.D0D512335AB@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 531867f0cb3d51178c99a888130324c05b57c7a4 Author: Richard Purdie AuthorDate: Tue Jul 18 22:52:07 2017 +0100 oe-init-build-env-memres: Drop it With the new server structure we no longer need this separate environment init script. Just set BB_SERVER_TIMEOUT to be greater than zero and bitbake will remain in memory and the UI will auto-reconnect to it. Also clean out the old shutdown code from oe-init-build-env which also doesn't make sense now. Signed-off-by: Richard Purdie --- oe-init-build-env | 8 ----- oe-init-build-env-memres | 90 ------------------------------------------------ 2 files changed, 98 deletions(-) diff --git a/oe-init-build-env b/oe-init-build-env index 5fe68d1..e813230 100755 --- a/oe-init-build-env +++ b/oe-init-build-env @@ -57,11 +57,3 @@ unset OEROOT [ -z "$BUILDDIR" ] || cd "$BUILDDIR" -# Shutdown any bitbake server if the BBSERVER variable is not set -if [ -z "$BBSERVER" ] && [ -f bitbake.lock ]; then - grep ":" bitbake.lock > /dev/null && BBSERVER=$(cat bitbake.lock) bitbake --status-only - if [ $? = 0 ]; then - echo "Shutting down bitbake memory resident server with bitbake -m" - BBSERVER=$(cat bitbake.lock) bitbake -m - fi -fi diff --git a/oe-init-build-env-memres b/oe-init-build-env-memres deleted file mode 100755 index 3f0d239..0000000 --- a/oe-init-build-env-memres +++ /dev/null @@ -1,90 +0,0 @@ -#!/bin/sh - -# OE Build Environment Setup Script -# -# Copyright (C) 2006-2011 Linux Foundation -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -# -# Normally this is called as '. ./oe-init-build-env-memres [portnumber]' -# -# This works in most shells (not dash), but not all of them pass the arguments -# when being sourced. To workaround the shell limitation use "set -# [portnumber]" prior to sourcing this script. -# -if [ -z "$2" ]; then - echo "No port specified, using dynamically selected port" - port=-1 -else - port=$2 - set -- "$1" "$3" "$4" "$5" "$6" -fi - -if [ -n "$BASH_SOURCE" ]; then - THIS_SCRIPT=$BASH_SOURCE -elif [ -n "$ZSH_NAME" ]; then - THIS_SCRIPT=$0 -else - THIS_SCRIPT="$(pwd)/oe-init-build-env" -fi -if [ -n "$BBSERVER" ]; then - unset BBSERVER -fi - -if [ -z "$ZSH_NAME" ] && [ "$0" = "$THIS_SCRIPT" ]; then - echo "Error: This script needs to be sourced. Please run as '. $THIS_SCRIPT'" - exit 1 -fi - -if [ -z "$OEROOT" ]; then - OEROOT=$(dirname "$THIS_SCRIPT") - OEROOT=$(readlink -f "$OEROOT") -fi -unset THIS_SCRIPT - -export OEROOT -. $OEROOT/scripts/oe-buildenv-internal && - TEMPLATECONF="$TEMPLATECONF" $OEROOT/scripts/oe-setup-builddir || { - unset OEROOT - return 1 -} -unset OEROOT - -[ -z "$BUILDDIR" ] || cd "$BUILDDIR" - -res=1 -if [ -e bitbake.lock ] && grep : bitbake.lock > /dev/null; then - BBSERVER=$(cat bitbake.lock) bitbake --status-only - res=$? -fi - -if [ $res != 0 ]; then - bitbake --server-only -t xmlrpc -B localhost:$port -fi - -if [ $port = -1 ]; then - export BBSERVER=localhost:-1 - echo "Bitbake server started on demand as needed, use bitbake -m to shut it down" -else - export BBSERVER=$(cat bitbake.lock) - - if [ $res = 0 ]; then - echo "Using existing bitbake server at: $BBSERVER, use bitbake -m to shut it down" - else - echo "Bitbake server started at: $BBSERVER, use bitbake -m to shut it down" - fi -fi -unset port res -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 10:43:24 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 10:43:24 +0000 Subject: [oe-commits] [openembedded-core] 03/06: recipetool: create: refactor code for ensuring npm is available In-Reply-To: <150046100160.13200.18436483247303627959@git.openembedded.org> References: <150046100160.13200.18436483247303627959@git.openembedded.org> Message-ID: <20170719104321.E8C3D2335AF@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 73bb81c89267af94bee5fa8bba3e9936146475ec Author: Paul Eggleton AuthorDate: Wed Jul 19 12:07:15 2017 +0200 recipetool: create: refactor code for ensuring npm is available Across devtool and recipetool we had an ugly set of code for ensuring that we can call an npm binary, and much of that ugliness was a result of not being able to run build tasks when tinfoil was active - if recipetool found that npm was required and we didn't know beforehand (e.g. we're fetching from a plain git repository as opposed to an npm:// URL where it's obvious) then it had to exit and return a special result code, so that devtool knew it needed to build nodejs-native and then call recipetool again. Tinfoil now allows us to run build tasks directly, so we can take advantage of that instead and throw away the ugly code at the same time. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- scripts/lib/devtool/__init__.py | 31 ------------------------------ scripts/lib/devtool/standard.py | 36 ++++++++++++----------------------- scripts/lib/recipetool/create.py | 26 +++++-------------------- scripts/lib/recipetool/create_npm.py | 7 +++++-- scripts/lib/recipetool/utils.py | 37 ++++++++++++++++++++++++++++++++++++ 5 files changed, 59 insertions(+), 78 deletions(-) diff --git a/scripts/lib/devtool/__init__.py b/scripts/lib/devtool/__init__.py index 29c4c05..bba0721 100644 --- a/scripts/lib/devtool/__init__.py +++ b/scripts/lib/devtool/__init__.py @@ -261,34 +261,3 @@ def get_bbclassextend_targets(recipefile, pn): targets.append('%s-%s' % (pn, variant)) return targets -def ensure_npm(config, basepath, fixed_setup=False, check_exists=True): - """ - Ensure that npm is available and either build it or show a - reasonable error message - """ - if check_exists: - tinfoil = setup_tinfoil(config_only=False, basepath=basepath) - try: - rd = tinfoil.parse_recipe('nodejs-native') - nativepath = rd.getVar('STAGING_BINDIR_NATIVE') - finally: - tinfoil.shutdown() - npmpath = os.path.join(nativepath, 'npm') - build_npm = not os.path.exists(npmpath) - else: - build_npm = True - - if build_npm: - logger.info('Building nodejs-native') - try: - exec_build_env_command(config.init_path, basepath, - 'bitbake -q nodejs-native -c addto_recipe_sysroot', watch=True) - except bb.process.ExecutionError as e: - if "Nothing PROVIDES 'nodejs-native'" in e.stdout: - if fixed_setup: - msg = 'nodejs-native is required for npm but is not available within this SDK' - else: - msg = 'nodejs-native is required for npm but is not available - you will likely need to add a layer that provides nodejs' - raise DevtoolError(msg) - else: - raise diff --git a/scripts/lib/devtool/standard.py b/scripts/lib/devtool/standard.py index 7e342e7..008cfa3 100644 --- a/scripts/lib/devtool/standard.py +++ b/scripts/lib/devtool/standard.py @@ -30,8 +30,9 @@ import errno import glob import filecmp from collections import OrderedDict -from devtool import exec_build_env_command, setup_tinfoil, check_workspace_recipe, use_external_build, setup_git_repo, recipe_to_append, get_bbclassextend_targets, ensure_npm, DevtoolError +from devtool import exec_build_env_command, setup_tinfoil, check_workspace_recipe, use_external_build, setup_git_repo, recipe_to_append, get_bbclassextend_targets, DevtoolError from devtool import parse_recipe +from recipetool.utils import ensure_npm logger = logging.getLogger('devtool') @@ -129,7 +130,9 @@ def add(args, config, basepath, workspace): extracmdopts = '' if args.fetchuri: if args.fetchuri.startswith('npm://'): - ensure_npm(config, basepath, args.fixed_setup) + with setup_tinfoil(config_only=True, basepath=basepath) as tinfoil: + if not ensure_npm(tinfoil, args.fixed_setup): + raise DevtoolError('npm required but not available') source = args.fetchuri if srctree: @@ -155,28 +158,13 @@ def add(args, config, basepath, workspace): tempdir = tempfile.mkdtemp(prefix='devtool') try: - builtnpm = False - while True: - try: - stdout, _ = exec_build_env_command(config.init_path, basepath, 'recipetool --color=%s create --devtool -o %s \'%s\' %s' % (color, tempdir, source, extracmdopts), watch=True) - except bb.process.ExecutionError as e: - if e.exitcode == 14: - if builtnpm: - raise DevtoolError('Re-running recipetool still failed to find npm') - # FIXME this is a horrible hack that is unfortunately - # necessary due to the fact that we can't run bitbake from - # inside recipetool since recipetool keeps tinfoil active - # with references to it throughout the code, so we have - # to exit out and come back here to do it. - ensure_npm(config, basepath, args.fixed_setup, check_exists=False) - logger.info('Re-running recipe creation process after building nodejs') - builtnpm = True - continue - elif e.exitcode == 15: - raise DevtoolError('Could not auto-determine recipe name, please specify it on the command line') - else: - raise DevtoolError('Command \'%s\' failed' % e.command) - break + try: + stdout, _ = exec_build_env_command(config.init_path, basepath, 'recipetool --color=%s create --devtool -o %s \'%s\' %s' % (color, tempdir, source, extracmdopts), watch=True) + except bb.process.ExecutionError as e: + if e.exitcode == 15: + raise DevtoolError('Could not auto-determine recipe name, please specify it on the command line') + else: + raise DevtoolError('Command \'%s\' failed' % e.command) recipes = glob.glob(os.path.join(tempdir, '*.bb')) if recipes: diff --git a/scripts/lib/recipetool/create.py b/scripts/lib/recipetool/create.py index 8e63580..868d18b 100644 --- a/scripts/lib/recipetool/create.py +++ b/scripts/lib/recipetool/create.py @@ -25,6 +25,7 @@ import json import logging import scriptutils from urllib.parse import urlparse, urldefrag, urlsplit +from recipetool.utils import ensure_npm import hashlib import bb.fetch2 logger = logging.getLogger('recipetool') @@ -444,7 +445,9 @@ def create_recipe(args): d = bb.data.createCopy(tinfoil.config_data) if fetchuri.startswith('npm://'): # Check if npm is available - npm_bindir = check_npm(tinfoil, args.devtool) + npm_bindir = ensure_npm(tinfoil) + if not npm_bindir: + sys.exit(14) d.prependVar('PATH', '%s:' % npm_bindir) logger.info('Fetching %s...' % srcuri) try: @@ -1147,22 +1150,6 @@ def convert_rpm_xml(xmlfile): return values -def check_npm(tinfoil, debugonly=False): - try: - rd = tinfoil.parse_recipe('nodejs-native') - except bb.providers.NoProvider: - # We still conditionally show the message and exit with the special - # return code, otherwise we can't show the proper message for eSDK - # users - log_error_cond('nodejs-native is required for npm but is not available - you will likely need to add a layer that provides nodejs', debugonly) - sys.exit(14) - bindir = rd.getVar('STAGING_BINDIR_NATIVE') - npmpath = os.path.join(bindir, 'npm') - if not os.path.exists(npmpath): - log_error_cond('npm required to process specified source, but npm is not available - you need to run bitbake -c addto_recipe_sysroot nodejs-native first', debugonly) - sys.exit(14) - return bindir - def register_commands(subparsers): parser_create = subparsers.add_parser('create', help='Create a new recipe', @@ -1180,8 +1167,5 @@ def register_commands(subparsers): parser_create.add_argument('--keep-temp', action="store_true", help='Keep temporary directory (for debugging)') parser_create.add_argument('--fetch-dev', action="store_true", help='For npm, also fetch devDependencies') parser_create.add_argument('--devtool', action="store_true", help=argparse.SUPPRESS) - # FIXME I really hate having to set parserecipes for this, but given we may need - # to call into npm (and we don't know in advance if we will or not) and in order - # to do so we need to know npm's recipe sysroot path, there's not much alternative - parser_create.set_defaults(func=create_recipe, parserecipes=True) + parser_create.set_defaults(func=create_recipe) diff --git a/scripts/lib/recipetool/create_npm.py b/scripts/lib/recipetool/create_npm.py index cb8f338..6c515e3 100644 --- a/scripts/lib/recipetool/create_npm.py +++ b/scripts/lib/recipetool/create_npm.py @@ -21,7 +21,8 @@ import subprocess import tempfile import shutil import json -from recipetool.create import RecipeHandler, split_pkg_licenses, handle_license_vars, check_npm +from recipetool.create import RecipeHandler, split_pkg_licenses, handle_license_vars +from recipetool.utils import ensure_npm logger = logging.getLogger('recipetool') @@ -189,7 +190,9 @@ class NpmRecipeHandler(RecipeHandler): files = RecipeHandler.checkfiles(srctree, ['package.json']) if files: d = bb.data.createCopy(tinfoil.config_data) - npm_bindir = check_npm(tinfoil, self._devtool) + npm_bindir = ensure_npm(tinfoil) + if not npm_bindir: + sys.exit(14) d.prependVar('PATH', '%s:' % npm_bindir) data = read_package_json(files[0]) diff --git a/scripts/lib/recipetool/utils.py b/scripts/lib/recipetool/utils.py new file mode 100644 index 0000000..63f6583 --- /dev/null +++ b/scripts/lib/recipetool/utils.py @@ -0,0 +1,37 @@ +# Recipe creation tool - utility functions +# +# Copyright (C) 2016-2017 Intel Corporation +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +def ensure_npm(tinfoil, fixed_setup=False): + if not tinfoil.recipes_parsed: + tinfoil.parse_recipes() + try: + rd = tinfoil.parse_recipe('nodejs-native') + except bb.providers.NoProvider: + if fixed_setup: + msg = 'nodejs-native is required for npm but is not available within this SDK' + else: + msg = 'nodejs-native is required for npm but is not available - you will likely need to add a layer that provides nodejs' + logger.error(msg) + return None + bindir = rd.getVar('STAGING_BINDIR_NATIVE') + npmpath = os.path.join(bindir, 'npm') + if not os.path.exists(npmpath): + tinfoil.build_targets('nodejs-native', 'addto_recipe_sysroot') + if not os.path.exists(npmpath): + logger.error('npm required to process specified source, but nodejs-native did not seem to populate it') + return None + return bindir -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 10:43:25 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 10:43:25 +0000 Subject: [oe-commits] [openembedded-core] 04/06: devtool: extract: refactor kern-tools-native handling In-Reply-To: <150046100160.13200.18436483247303627959@git.openembedded.org> References: <150046100160.13200.18436483247303627959@git.openembedded.org> Message-ID: <20170719104321.F20DC2335B1@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 0b4e8e304666dd38288f24398f8b1d9b526ef143 Author: Paul Eggleton AuthorDate: Wed Jul 19 12:07:16 2017 +0200 devtool: extract: refactor kern-tools-native handling When extracting linux-yocto kernel source, we don't need to dance around shutting down and starting up tinfoil anymore, we can just execute the tasks as needed. This allows us to tidy up the code structure a bit. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- scripts/lib/devtool/standard.py | 37 +++++-------------------------------- 1 file changed, 5 insertions(+), 32 deletions(-) diff --git a/scripts/lib/devtool/standard.py b/scripts/lib/devtool/standard.py index 008cfa3..b1cc23d 100644 --- a/scripts/lib/devtool/standard.py +++ b/scripts/lib/devtool/standard.py @@ -371,7 +371,7 @@ def extract(args, config, basepath, workspace): """Entry point for the devtool 'extract' subcommand""" import bb - tinfoil = _prep_extract_operation(config, basepath, args.recipename) + tinfoil = setup_tinfoil(basepath=basepath) if not tinfoil: # Error already shown return 1 @@ -395,7 +395,7 @@ def sync(args, config, basepath, workspace): """Entry point for the devtool 'sync' subcommand""" import bb - tinfoil = _prep_extract_operation(config, basepath, args.recipename) + tinfoil = setup_tinfoil(basepath=basepath) if not tinfoil: # Error already shown return 1 @@ -416,29 +416,6 @@ def sync(args, config, basepath, workspace): tinfoil.shutdown() -def _prep_extract_operation(config, basepath, recipename, tinfoil=None): - """HACK: Ugly workaround for making sure that requirements are met when - trying to extract a package. Returns the tinfoil instance to be used.""" - if not tinfoil: - tinfoil = setup_tinfoil(basepath=basepath) - - rd = parse_recipe(config, tinfoil, recipename, True) - if not rd: - tinfoil.shutdown() - return None - - if bb.data.inherits_class('kernel-yocto', rd): - tinfoil.shutdown() - try: - stdout, _ = exec_build_env_command(config.init_path, basepath, - 'bitbake kern-tools-native') - tinfoil = setup_tinfoil(basepath=basepath) - except bb.process.ExecutionError as err: - raise DevtoolError("Failed to build kern-tools-native:\n%s" % - err.stdout) - return tinfoil - - def _extract_source(srctree, keep_temp, devbranch, sync, d, tinfoil): """Extract sources of a recipe""" import oe.recipeutils @@ -463,6 +440,9 @@ def _extract_source(srctree, keep_temp, devbranch, sync, d, tinfoil): raise DevtoolError("The %s recipe has do_unpack disabled, unable to " "extract source" % pn, 4) + if bb.data.inherits_class('kernel-yocto', d): + tinfoil.build_targets('kern-tools-native') + if not sync: # Prepare for shutil.move later on bb.utils.mkdirhier(srctree) @@ -761,13 +741,6 @@ def modify(args, config, basepath, workspace): raise DevtoolError("--no-extract specified and source path %s does " "not exist or is not a directory" % srctree) - if not args.no_extract: - tinfoil = _prep_extract_operation(config, basepath, pn, tinfoil) - if not tinfoil: - # Error already shown - return 1 - # We need to re-parse because tinfoil may have been re-initialised - rd = parse_recipe(config, tinfoil, args.recipename, True) recipefile = rd.getVar('FILE') appendfile = recipe_to_append(recipefile, config, args.wildcard) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 10:43:27 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 10:43:27 +0000 Subject: [oe-commits] [openembedded-core] 06/06: recipetool: create: reimplement fetching with normal fetch/unpack tasks In-Reply-To: <150046100160.13200.18436483247303627959@git.openembedded.org> References: <150046100160.13200.18436483247303627959@git.openembedded.org> Message-ID: <20170719104322.0D9F62335B5@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit f4ac4f1d7248367c19ff5f8ddd2b27482a1a5d66 Author: Paul Eggleton AuthorDate: Wed Jul 19 12:07:18 2017 +0200 recipetool: create: reimplement fetching with normal fetch/unpack tasks Now that we have the ability to run the tasks in a more standard context through tinfoil, change recipetool's fetching code to use that to fetch files using it. This has the major advantage that any dependencies of do_fetch and do_unpack (e.g. for subversion or npm) will be handled automatically. This also has the beneficial side-effect of fixing a recent regression that prevented this fetch operation from working with memory resident bitbake. Fixes [YOCTO #11710]. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- scripts/lib/recipetool/create.py | 171 +++++++++++++++++++++++++++++++++------ 1 file changed, 147 insertions(+), 24 deletions(-) diff --git a/scripts/lib/recipetool/create.py b/scripts/lib/recipetool/create.py index 4e965e4..b94b2cf 100644 --- a/scripts/lib/recipetool/create.py +++ b/scripts/lib/recipetool/create.py @@ -28,6 +28,11 @@ from urllib.parse import urlparse, urldefrag, urlsplit from recipetool.utils import ensure_npm import hashlib import bb.fetch2 +import random +import string +import tempfile +import shutil + logger = logging.getLogger('recipetool') tinfoil = None @@ -407,10 +412,130 @@ def is_package(url): return True return False +class FetchUrlFailure(Exception): + def __init__(self, url): + self.url = url + def __str__(self): + return "Failed to fetch URL %s" % self.url + +def get_temp_recipe_dir(): + # This is a little bit hacky but we need to find a place where we can put + # the recipe so that bitbake can find it. We're going to delete it at the + # end so it doesn't really matter where we put it. + bbfiles = tinfoil.config_data.getVar('BBFILES').split() + fetchrecipedir = None + for pth in bbfiles: + if pth.endswith('.bb'): + pthdir = os.path.dirname(pth) + if os.access(os.path.dirname(os.path.dirname(pthdir)), os.W_OK): + fetchrecipedir = pthdir.replace('*', 'recipetool') + if pthdir.endswith('workspace/recipes/*'): + # Prefer the workspace + break + return fetchrecipedir + +def fetch_url(srcuri, srcrev, destdir, preserve_tmp=False): + """ + Fetch the specified URL using normal do_fetch and do_unpack tasks, i.e. + any dependencies that need to be satisfied in order to support the fetch + operation will be taken care of + """ + # FIXME find a better home for this + + checksums = {} + fetchrecipepn = None + + # We need to put our temp directory under ${BASE_WORKDIR} otherwise + # we may have problems with the recipe-specific sysroot population + tmpparent = tinfoil.config_data.getVar('BASE_WORKDIR') + bb.utils.mkdirhier(tmpparent) + tmpdir = tempfile.mkdtemp(prefix='recipetool-', dir=tmpparent) + try: + tmpworkdir = os.path.join(tmpdir, 'work') + logger.debug('fetch_url: temp dir is %s' % tmpdir) + + fetchrecipedir = get_temp_recipe_dir() + if not fetchrecipedir: + logger.error('Searched BBFILES but unable to find a writeable place to put temporary recipe') + sys.exit(1) + fetchrecipe = None + bb.utils.mkdirhier(fetchrecipedir) + try: + # Generate a dummy recipe so we can follow more or less normal paths + # for do_fetch and do_unpack + # I'd use tempfile functions here but underscores can be produced by that and those + # aren't allowed in recipe file names except to separate the version + rndstring = ''.join(random.choice(string.ascii_uppercase + string.digits) for _ in range(8)) + fetchrecipe = os.path.join(fetchrecipedir, 'tmp-recipetool-%s.bb' % rndstring) + fetchrecipepn = os.path.splitext(os.path.basename(fetchrecipe))[0] + logger.debug('Generating initial recipe %s for fetching' % fetchrecipe) + with open(fetchrecipe, 'w') as f: + # We don't want to have to specify LIC_FILES_CHKSUM + f.write('LICENSE = "CLOSED"\n') + # We don't need the cross-compiler + f.write('INHIBIT_DEFAULT_DEPS = "1"\n') + # We don't have the checksums yet so we can't require them + f.write('BB_STRICT_CHECKSUM = "ignore"\n') + f.write('SRC_URI = "%s"\n' % srcuri) + f.write('SRCREV = "%s"\n' % srcrev) + f.write('WORKDIR = "%s"\n' % tmpworkdir) + # Set S out of the way so it doesn't get created under the workdir + f.write('S = "%s"\n' % os.path.join(tmpdir, 'emptysrc')) + + logger.info('Fetching %s...' % srcuri) + + # FIXME this is too noisy at the moment + + # Parse recipes so our new recipe gets picked up + tinfoil.parse_recipes() + + def eventhandler(event): + if isinstance(event, bb.fetch2.MissingChecksumEvent): + checksums.update(event.checksums) + return True + return False + + # Run the fetch + unpack tasks + res = tinfoil.build_targets(fetchrecipepn, + 'do_unpack', + handle_events=True, + extra_events=['bb.fetch2.MissingChecksumEvent'], + event_callback=eventhandler) + if not res: + raise FetchUrlFailure(srcuri) + + # Remove unneeded directories + rd = tinfoil.parse_recipe(fetchrecipepn) + if rd: + pathvars = ['T', 'RECIPE_SYSROOT', 'RECIPE_SYSROOT_NATIVE'] + for pathvar in pathvars: + path = rd.getVar(pathvar) + shutil.rmtree(path) + finally: + if fetchrecipe: + try: + os.remove(fetchrecipe) + except FileNotFoundError: + pass + try: + os.rmdir(fetchrecipedir) + except OSError as e: + import errno + if e.errno != errno.ENOTEMPTY: + raise + + shutil.move(tmpworkdir, destdir) + + finally: + if not preserve_tmp: + shutil.rmtree(tmpdir) + tmpdir = None + + return checksums, tmpdir + + def create_recipe(args): import bb.process - import tempfile - import shutil import oe.recipeutils pkgarch = "" @@ -418,7 +543,7 @@ def create_recipe(args): pkgarch = "${MACHINE_ARCH}" extravalues = {} - checksums = (None, None) + checksums = {} tempsrc = '' source = args.source srcsubdir = '' @@ -440,24 +565,25 @@ def create_recipe(args): if res: srcrev = res.group(1) srcuri = rev_re.sub('', srcuri) - tempsrc = tempfile.mkdtemp(prefix='recipetool-') - srctree = tempsrc - d = bb.data.createCopy(tinfoil.config_data) - if fetchuri.startswith('npm://'): - # Check if npm is available - npm_bindir = ensure_npm(tinfoil) - if not npm_bindir: - sys.exit(14) - d.prependVar('PATH', '%s:' % npm_bindir) - logger.info('Fetching %s...' % srcuri) + + tmpparent = tinfoil.config_data.getVar('BASE_WORKDIR') + bb.utils.mkdirhier(tmpparent) + tempsrc = tempfile.mkdtemp(prefix='recipetool-', dir=tmpparent) + srctree = os.path.join(tempsrc, 'source') + try: - checksums = scriptutils.fetch_uri(d, fetchuri, srctree, srcrev) - except bb.fetch2.BBFetchException as e: - logger.error(str(e).rstrip()) + checksums, ftmpdir = fetch_url(srcuri, srcrev, srctree, preserve_tmp=args.keep_temp) + except FetchUrlFailure as e: + logger.error(str(e)) sys.exit(1) + + if ftmpdir and args.keep_temp: + logger.info('Fetch temp directory is %s' % ftmpdir) + dirlist = os.listdir(srctree) - if 'git.indirectionsymlink' in dirlist: - dirlist.remove('git.indirectionsymlink') + filterout = ['git.indirectionsymlink'] + dirlist = [x for x in dirlist if x not in filterout] + logger.debug('Directory listing (excluding filtered out):\n %s' % '\n '.join(dirlist)) if len(dirlist) == 1: singleitem = os.path.join(srctree, dirlist[0]) if os.path.isdir(singleitem): @@ -468,7 +594,7 @@ def create_recipe(args): check_single_file(dirlist[0], fetchuri) elif len(dirlist) == 0: if '/' in fetchuri: - fn = os.path.join(d.getVar('DL_DIR'), fetchuri.split('/')[-1]) + fn = os.path.join(tinfoil.config_data.getVar('DL_DIR'), fetchuri.split('/')[-1]) if os.path.isfile(fn): check_single_file(fn, fetchuri) # If we've got to here then there's no source so we might as well give up @@ -605,11 +731,8 @@ def create_recipe(args): if not srcuri: lines_before.append('# No information for SRC_URI yet (only an external source tree was specified)') lines_before.append('SRC_URI = "%s"' % srcuri) - (md5value, sha256value) = checksums - if md5value: - lines_before.append('SRC_URI[md5sum] = "%s"' % md5value) - if sha256value: - lines_before.append('SRC_URI[sha256sum] = "%s"' % sha256value) + for key, value in sorted(checksums.items()): + lines_before.append('SRC_URI[%s] = "%s"' % (key, value)) if srcuri and supports_srcrev(srcuri): lines_before.append('') lines_before.append('# Modify these as desired') -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 10:43:26 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 10:43:26 +0000 Subject: [oe-commits] [openembedded-core] 05/06: recipetool: create: ensure meaningful error for malformed tarballs In-Reply-To: <150046100160.13200.18436483247303627959@git.openembedded.org> References: <150046100160.13200.18436483247303627959@git.openembedded.org> Message-ID: <20170719104322.058042335B3@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 255bc31a7ba9b0e2d4604bd45d05480dbd9e5e19 Author: Paul Eggleton AuthorDate: Wed Jul 19 12:07:17 2017 +0200 recipetool: create: ensure meaningful error for malformed tarballs If you pointed recipetool at a URL that should be a tarball e.g. https://tls.mbed.org/download/start/mbedtls-2.4.2-apache.tgz but instead it returns an HTML page, we try to unpack it, gzip complains but the operation doesn't seem to fail - instead we just get back an empty source tree. Change the checks to account for this - if the source tree is empty, check if the downloaded file in DL_DIR looks like an HTML file and error accordingly if it is. If it's not, error out anyway because no source was unpacked and it should have been (otherwise we just blindly set up EXTERNALSRC for this which is pointless). Fixes an aspect of [YOCTO #11407]. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- scripts/lib/recipetool/create.py | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/scripts/lib/recipetool/create.py b/scripts/lib/recipetool/create.py index 868d18b..4e965e4 100644 --- a/scripts/lib/recipetool/create.py +++ b/scripts/lib/recipetool/create.py @@ -465,10 +465,16 @@ def create_recipe(args): srcsubdir = dirlist[0] srctree = os.path.join(srctree, srcsubdir) else: - with open(singleitem, 'r', errors='surrogateescape') as f: - if ' References: <150046102457.13589.2170314000104717298@git.openembedded.org> Message-ID: <20170719104344.A5A872335D7@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit b5165443fa1387269063e86d2315071108a7bd68 Author: Robert Yang AuthorDate: Fri Jul 14 02:52:03 2017 -0700 server/process.py: fix self.bitbake_lock.write() There is no global var "configuration", so the old code hang at self.bitbake_lock.write(), and nothing wrote to bitbake.lock. I didn't figure out why it hang (but not print errors). Reproducer: $ bitbake -B localhost:-1 world -k Check bitbake.log, there was nothing, now fixed. Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- lib/bb/server/process.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/bb/server/process.py b/lib/bb/server/process.py index a1d9adc..23e033a 100644 --- a/lib/bb/server/process.py +++ b/lib/bb/server/process.py @@ -95,8 +95,8 @@ class ProcessServer(multiprocessing.Process): try: self.bitbake_lock.seek(0) self.bitbake_lock.truncate() - if self.xmlrpcinterface[0]: - self.bitbake_lock.write("%s %s:%s\n" % (os.getpid(), configuration.interface[0], configuration.interface[1])) + if self.xmlrpc: + self.bitbake_lock.write("%s %s:%s\n" % (os.getpid(), self.xmlrpc.host, self.xmlrpc.port)) else: self.bitbake_lock.write("%s\n" % (os.getpid())) self.bitbake_lock.flush() -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 10:43:46 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 10:43:46 +0000 Subject: [oe-commits] [bitbake] 02/16: bb/main.py: fix infinite loop for --server-only In-Reply-To: <150046102457.13589.2170314000104717298@git.openembedded.org> References: <150046102457.13589.2170314000104717298@git.openembedded.org> Message-ID: <20170719104344.B16DE2335D8@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 12398d724a7474ed5a9690eb8880ca67faa559de Author: Robert Yang AuthorDate: Fri Jul 14 02:58:12 2017 -0700 bb/main.py: fix infinite loop for --server-only Fixed: $ bitbake --server-only -B localhost:-1 Infinite loop Reconnecting to bitbake server... [snip] Break the loop when server-only can fix the problem. Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- lib/bb/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/bb/main.py b/lib/bb/main.py index c8b633e..c797e62 100755 --- a/lib/bb/main.py +++ b/lib/bb/main.py @@ -437,7 +437,7 @@ def setup_bitbake(configParams, configuration, extrafeatures=None, setup_logging raise bb.server.process.ProcessTimeout("Bitbake still shutting down as socket exists but no lock?") if not configParams.server_only: server_connection = bb.server.process.connectProcessServer(sockname, featureset) - if server_connection: + if server_connection or configParams.server_only: break except (Exception, bb.server.process.ProcessTimeout) as e: if not retries: -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 10:43:48 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 10:43:48 +0000 Subject: [oe-commits] [bitbake] 04/16: bb/main.py: fix logic for --observe-only In-Reply-To: <150046102457.13589.2170314000104717298@git.openembedded.org> References: <150046102457.13589.2170314000104717298@git.openembedded.org> Message-ID: <20170719104344.C03CE2335DB@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit b802fa3dca0c1e2e8d5b47ed5a1e0eb608f36d28 Author: Robert Yang AuthorDate: Mon Jul 17 03:17:03 2017 -0700 bb/main.py: fix logic for --observe-only Fixed: $ bitbake --observe-only FATAL: '--observe-only' can only be used by UI clients connecting to a server. And even: $bitbake --observe-only -B localhost:-1 FATAL: '--observe-only' can only be used by UI clients connecting to a server. This was beucase the brackets were in a wrong position. Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- lib/bb/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/bb/main.py b/lib/bb/main.py index f102f1b..d3e1773 100755 --- a/lib/bb/main.py +++ b/lib/bb/main.py @@ -355,7 +355,7 @@ def bitbake_main(configParams, configuration): ("the BBSERVER environment variable" if "BBSERVER" in os.environ \ else "the '--remote-server' option")) - if configParams.observe_only and (not configParams.remote_server or configParams.bind): + if configParams.observe_only and not (configParams.remote_server or configParams.bind): raise BBMainException("FATAL: '--observe-only' can only be used by UI clients " "connecting to a server.\n") -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 10:43:44 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 10:43:44 +0000 Subject: [oe-commits] [bitbake] branch master-next updated (b9ce437 -> 65732d7) Message-ID: <150046102457.13589.2170314000104717298@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master-next in repository bitbake. discard b9ce437 bb/main.py: fix logic for --observe-only discard be4d082 bb/main.py: avoid starting server when not needed discard c6bd015 bb/main.py: fix infinite loop for --server-only discard 5f65f86 server/process.py: fix self.bitbake_lock.write() discard 40c12ec knotty: make it possible to use termfilter without consoles discard 0fda629 fetch2: fire an event when there are missing checksums discard b8ea14c fetch2: allow hiding checksum warning discard 4925e8e tinfoil: add more doc comments discard 7ce3b14 tinfoil: add simple API for getting cached recipe information discard a952615 tinfoil: enable access to additional cached items discard 4056c16 tinfoil: add functionality for running full builds discard d770508 lib/bb/ui/uihelper: indicate to caller of eventHandler() if events handled discard efe0eb3 lib/bb/event: refactor printing events discard 2e44979 tinfoil: set a flag when recipes have been parsed discard 1ca47fc tinfoil: add a parse_recipes() function discard d6e4db5 tinfoil: add internal mode to build_file() function new b516544 server/process.py: fix self.bitbake_lock.write() new 12398d7 bb/main.py: fix infinite loop for --server-only new 5db7646 bb/main.py: avoid starting server when not needed new b802fa3 bb/main.py: fix logic for --observe-only new 818b87d tinfoil: add internal mode to build_file() function new 995fdfd tinfoil: add a parse_recipes() function new 05f1cef tinfoil: set a flag when recipes have been parsed new 1bffb98 lib/bb/event: refactor printing events new cdcf745 lib/bb/ui/uihelper: indicate to caller of eventHandler() if events handled new b72bb87 knotty: make it possible to use termfilter without either console new 226495a tinfoil: add functionality for running full builds new 60b1ea8 tinfoil: enable access to additional cached items new 5c0a492 tinfoil: add simple API for getting cached recipe information new 6708cdf tinfoil: add more doc comments new f0fb6ae fetch2: allow hiding checksum warning new 65732d7 fetch2: fire an event when there are missing checksums This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (b9ce437) \ N -- N -- N refs/heads/master-next (65732d7) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 16 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: lib/bb/tinfoil.py | 1 - 1 file changed, 1 deletion(-) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 10:43:47 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 10:43:47 +0000 Subject: [oe-commits] [bitbake] 03/16: bb/main.py: avoid starting server when not needed In-Reply-To: <150046102457.13589.2170314000104717298@git.openembedded.org> References: <150046102457.13589.2170314000104717298@git.openembedded.org> Message-ID: <20170719104344.B9E042335DA@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 5db7646a0aa7dbb2a1616b4744c489262f64e623 Author: Robert Yang AuthorDate: Mon Jul 17 01:27:14 2017 -0700 bb/main.py: avoid starting server when not needed Fixed 1: $ . ../poky/oe-init-build-env-memres . $ bitbake -m $ bitbake -m # shutdown it again $ bitbake -m Starting bitbake server... Terminated bitbake server. It starts the server and kill it which is redundant. $ bitbake -m $ bitbake --status-only Starting bitbake server... It starts the server which is not what we need. Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- lib/bb/main.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/bb/main.py b/lib/bb/main.py index c797e62..f102f1b 100755 --- a/lib/bb/main.py +++ b/lib/bb/main.py @@ -368,8 +368,10 @@ def bitbake_main(configParams, configuration): configuration.debug_domains) server_connection, ui_module = setup_bitbake(configParams, configuration) - if server_connection is None and configParams.kill_server: - return 0 + # No server connection + if server_connection is None: + if configParams.status_only or configParams.kill_server: + return 1 if not configParams.server_only: if configParams.status_only: @@ -426,6 +428,10 @@ def setup_bitbake(configParams, configuration, extrafeatures=None, setup_logging topdir, lock = lockBitbake() sockname = topdir + "/bitbake.sock" if lock: + if configParams.status_only or configParams.kill_server: + print("bitbake server is not running.") + lock.close() + return None, None # we start a server with a given configuration print("Starting bitbake server...") server = bb.server.process.BitBakeServer(lock, sockname, configuration, featureset) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 10:43:50 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 10:43:50 +0000 Subject: [oe-commits] [bitbake] 06/16: tinfoil: add a parse_recipes() function In-Reply-To: <150046102457.13589.2170314000104717298@git.openembedded.org> References: <150046102457.13589.2170314000104717298@git.openembedded.org> Message-ID: <20170719104344.CDB682335DD@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 995fdfd5252110d07491ac5bcf9029678a64ea97 Author: Paul Eggleton AuthorDate: Wed Jul 19 11:56:01 2017 +0200 tinfoil: add a parse_recipes() function Python style recommends underscore based naming rather than camelCase, and thus the former has been used for most of tinfoil's functions. Add an underscored version of parseRecipes() for consistency and change the one place we call it to use the new version. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- bin/bitbake-layers | 2 +- lib/bb/tinfoil.py | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/bin/bitbake-layers b/bin/bitbake-layers index 04e6bec..d184011 100755 --- a/bin/bitbake-layers +++ b/bin/bitbake-layers @@ -90,7 +90,7 @@ def main(): if getattr(args, 'parserecipes', False): tinfoil.config_data.disableTracking() - tinfoil.parseRecipes() + tinfoil.parse_recipes() tinfoil.config_data.enableTracking() return args.func(args) diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index 65ebdc2..ddc7b06 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -289,7 +289,13 @@ class Tinfoil: def parseRecipes(self): """ - Force a parse of all recipes. Normally you should specify + Legacy function - use parse_recipes() instead. + """ + self.parse_recipes() + + def parse_recipes(self): + """ + Load information on all recipes. Normally you should specify config_only=False when calling prepare() instead of using this function; this function is designed for situations where you need to initialise Tinfoil and use it with config_only=True first and -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 10:43:51 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 10:43:51 +0000 Subject: [oe-commits] [bitbake] 07/16: tinfoil: set a flag when recipes have been parsed In-Reply-To: <150046102457.13589.2170314000104717298@git.openembedded.org> References: <150046102457.13589.2170314000104717298@git.openembedded.org> Message-ID: <20170719104344.D3DC02335DE@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 05f1cefba4f3a0ef5f697f743348f81531d093ad Author: Paul Eggleton AuthorDate: Wed Jul 19 11:56:02 2017 +0200 tinfoil: set a flag when recipes have been parsed Make it easy to determine if recipes are parsed (and thus information about available recipes is in memory). Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/tinfoil.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index ddc7b06..f31d7b2 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -217,6 +217,7 @@ class Tinfoil: self.tracking = tracking self.ui_module = None self.server_connection = None + self.recipes_parsed = False if setup_logging: # This is the *client-side* logger, nothing to do with # logging messages from the server @@ -270,6 +271,7 @@ class Tinfoil: self.run_command('parseConfiguration') else: self.run_actions(config_params) + self.recipes_parsed = True self.config_data = bb.data.init() connector = TinfoilDataStoreConnector(self, None) @@ -303,6 +305,7 @@ class Tinfoil: """ config_params = TinfoilConfigParameters(config_only=False) self.run_actions(config_params) + self.recipes_parsed = True def run_command(self, command, *params): """ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 10:43:49 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 10:43:49 +0000 Subject: [oe-commits] [bitbake] 05/16: tinfoil: add internal mode to build_file() function In-Reply-To: <150046102457.13589.2170314000104717298@git.openembedded.org> References: <150046102457.13589.2170314000104717298@git.openembedded.org> Message-ID: <20170719104344.C78B82335DC@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 818b87da94a0a06f470deedb9ccd70b5c5c6ee89 Author: Paul Eggleton AuthorDate: Wed Jul 19 11:56:00 2017 +0200 tinfoil: add internal mode to build_file() function In OE's devtool we want to repeatedly run build_file() without showing unnecessary messages and triggering buildhistory for each call. build_file() is just a wrapper around the buildFile command. Change the final "hidewarning" parameter of the buildFile command to "internal" and have this call a new buildFileInternal() function without triggering any of the normal build events, silencing the normal info messages from the runqueue ("Executing RunQueue Tasks", "Tasks Summary" etc.) and avoiding calling parseConfiguration() which we've already done at this point. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/command.py | 9 ++++++--- lib/bb/cooker.py | 34 +++++++++++++++++++++++++--------- lib/bb/tinfoil.py | 9 ++++++--- 3 files changed, 37 insertions(+), 15 deletions(-) diff --git a/lib/bb/command.py b/lib/bb/command.py index eb7c86f..c06ab07 100644 --- a/lib/bb/command.py +++ b/lib/bb/command.py @@ -548,11 +548,14 @@ class CommandsAsync: bfile = params[0] task = params[1] if len(params) > 2: - hidewarning = params[2] + internal = params[2] else: - hidewarning = False + internal = False - command.cooker.buildFile(bfile, task, hidewarning) + if internal: + command.cooker.buildFileInternal(bfile, task, fireevents=False, quietlog=True) + else: + command.cooker.buildFile(bfile, task) buildFile.needcache = False def buildTargets(self, command, params): diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py index daffe67..1625d3c 100644 --- a/lib/bb/cooker.py +++ b/lib/bb/cooker.py @@ -1219,21 +1219,27 @@ class BBCooker: raise NoSpecificMatch return matches[0] - def buildFile(self, buildfile, task, hidewarning=False): + def buildFile(self, buildfile, task): """ Build the file matching regexp buildfile """ bb.event.fire(bb.event.BuildInit(), self.data) - if not hidewarning: - # Too many people use -b because they think it's how you normally - # specify a target to be built, so show a warning - bb.warn("Buildfile specified, dependencies will not be handled. If this is not what you want, do not use -b / --buildfile.") + # Too many people use -b because they think it's how you normally + # specify a target to be built, so show a warning + bb.warn("Buildfile specified, dependencies will not be handled. If this is not what you want, do not use -b / --buildfile.") # Parse the configuration here. We need to do it explicitly here since # buildFile() doesn't use the cache self.parseConfiguration() + self.buildFileInternal(buildfile, task) + + def buildFileInternal(self, buildfile, task, fireevents=True, quietlog=False): + """ + Build the file matching regexp buildfile + """ + # If we are told to do the None task then query the default task if (task == None): task = self.configuration.cmd @@ -1270,8 +1276,8 @@ class BBCooker: # Remove external dependencies self.recipecaches[mc].task_deps[fn]['depends'] = {} self.recipecaches[mc].deps[fn] = [] - self.recipecaches[mc].rundeps[fn] = [] - self.recipecaches[mc].runrecs[fn] = [] + self.recipecaches[mc].rundeps[fn] = defaultdict(list) + self.recipecaches[mc].runrecs[fn] = defaultdict(list) # Invalidate task for target if force mode active if self.configuration.force: @@ -1283,8 +1289,13 @@ class BBCooker: taskdata[mc] = bb.taskdata.TaskData(self.configuration.abort) taskdata[mc].add_provider(self.databuilder.mcdata[mc], self.recipecaches[mc], item) + if quietlog: + rqloglevel = bb.runqueue.logger.getEffectiveLevel() + bb.runqueue.logger.setLevel(logging.WARNING) + buildname = self.databuilder.mcdata[mc].getVar("BUILDNAME") - bb.event.fire(bb.event.BuildStarted(buildname, [item]), self.databuilder.mcdata[mc]) + if fireevents: + bb.event.fire(bb.event.BuildStarted(buildname, [item]), self.databuilder.mcdata[mc]) # Execute the runqueue runlist = [[mc, item, task, fn]] @@ -1311,11 +1322,16 @@ class BBCooker: retval = False except SystemExit as exc: self.command.finishAsyncCommand(str(exc)) + if quietlog: + bb.runqueue.logger.setLevel(rqloglevel) return False if not retval: - bb.event.fire(bb.event.BuildCompleted(len(rq.rqdata.runtaskentries), buildname, item, failures, interrupted), self.databuilder.mcdata[mc]) + if fireevents: + bb.event.fire(bb.event.BuildCompleted(len(rq.rqdata.runtaskentries), buildname, item, failures, interrupted), self.databuilder.mcdata[mc]) self.command.finishAsyncCommand(msg) + if quietlog: + bb.runqueue.logger.setLevel(rqloglevel) return False if retval is True: return True diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index 303ce02..65ebdc2 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -415,12 +415,15 @@ class Tinfoil: else: return None - def build_file(self, buildfile, task): + def build_file(self, buildfile, task, internal=True): """ Runs the specified task for just a single recipe (i.e. no dependencies). - This is equivalent to bitbake -b, except no warning will be printed. + This is equivalent to bitbake -b, except with the default internal=True + no warning about dependencies will be produced, normal info messages + from the runqueue will be silenced and BuildInit, BuildStarted and + BuildCompleted events will not be fired. """ - return self.run_command('buildFile', buildfile, task, True) + return self.run_command('buildFile', buildfile, task, internal) def shutdown(self): if self.server_connection: -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 10:43:52 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 10:43:52 +0000 Subject: [oe-commits] [bitbake] 08/16: lib/bb/event: refactor printing events In-Reply-To: <150046102457.13589.2170314000104717298@git.openembedded.org> References: <150046102457.13589.2170314000104717298@git.openembedded.org> Message-ID: <20170719104344.DBB2B2335DF@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 1bffb9835c402fe2cd4d092c44377190a5331b73 Author: Paul Eggleton AuthorDate: Wed Jul 19 11:56:03 2017 +0200 lib/bb/event: refactor printing events We really ought to have just one place where the string representation of these events is produced. This doesn't take any real control away from the UI - if an alternative representation is desired, that can still be made. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/command.py | 2 ++ lib/bb/event.py | 32 ++++++++++++++++++++++++++++++++ lib/bb/runqueue.py | 6 ++++++ lib/bb/ui/knotty.py | 37 ++++++------------------------------- lib/bb/ui/ncurses.py | 2 +- lib/bb/ui/taskexp.py | 20 ++------------------ lib/bb/ui/toasterui.py | 25 ++++--------------------- 7 files changed, 53 insertions(+), 71 deletions(-) diff --git a/lib/bb/command.py b/lib/bb/command.py index c06ab07..05803d6 100644 --- a/lib/bb/command.py +++ b/lib/bb/command.py @@ -50,6 +50,8 @@ class CommandFailed(CommandExit): def __init__(self, message): self.error = message CommandExit.__init__(self, 1) + def __str__(self): + return "Command execution failed: %s" % self.error class CommandError(Exception): pass diff --git a/lib/bb/event.py b/lib/bb/event.py index 92ee3e9..59cca61 100644 --- a/lib/bb/event.py +++ b/lib/bb/event.py @@ -521,6 +521,28 @@ class NoProvider(Event): def isRuntime(self): return self._runtime + def __str__(self): + msg = '' + if self._runtime: + r = "R" + else: + r = "" + + extra = '' + if not self._reasons: + if self._close_matches: + extra = ". Close matches:\n %s" % '\n '.join(self._close_matches) + + if self._dependees: + msg = "Nothing %sPROVIDES '%s' (but %s %sDEPENDS on or otherwise requires it)%s" % (r, self._item, ", ".join(self._dependees), r, extra) + else: + msg = "Nothing %sPROVIDES '%s'%s" % (r, self._item, extra) + if self._reasons: + for reason in self._reasons: + msg += '\n' + reason + return msg + + class MultipleProviders(Event): """Multiple Providers""" @@ -548,6 +570,16 @@ class MultipleProviders(Event): """ return self._candidates + def __str__(self): + msg = "Multiple providers are available for %s%s (%s)" % (self._is_runtime and "runtime " or "", + self._item, + ", ".join(self._candidates)) + rtime = "" + if self._is_runtime: + rtime = "R" + msg += "\nConsider defining a PREFERRED_%sPROVIDER entry to match %s" % (rtime, self._item) + return msg + class ParseStarted(OperationStarted): """Recipe parsing for the runqueue has begun""" def __init__(self, total): diff --git a/lib/bb/runqueue.py b/lib/bb/runqueue.py index 21520d3..7dd964d 100644 --- a/lib/bb/runqueue.py +++ b/lib/bb/runqueue.py @@ -2488,6 +2488,9 @@ class runQueueTaskFailed(runQueueEvent): runQueueEvent.__init__(self, task, stats, rq) self.exitcode = exitcode + def __str__(self): + return "Task (%s) failed with exit code '%s'" % (self.taskstring, self.exitcode) + class sceneQueueTaskFailed(sceneQueueEvent): """ Event notifying a setscene task failed @@ -2496,6 +2499,9 @@ class sceneQueueTaskFailed(sceneQueueEvent): sceneQueueEvent.__init__(self, task, stats, rq) self.exitcode = exitcode + def __str__(self): + return "Setscene task (%s) failed with exit code '%s' - real task will be run instead" % (self.taskstring, self.exitcode) + class sceneQueueComplete(sceneQueueEvent): """ Event when all the sceneQueue tasks are complete diff --git a/lib/bb/ui/knotty.py b/lib/bb/ui/knotty.py index 1aa5ebb..c301982 100644 --- a/lib/bb/ui/knotty.py +++ b/lib/bb/ui/knotty.py @@ -560,7 +560,7 @@ def main(server, eventHandler, params, tf = TerminalFilter): return_value = event.exitcode if event.error: errors = errors + 1 - logger.error("Command execution failed: %s", event.error) + logger.error(str(event)) main.shutdown = 2 continue if isinstance(event, bb.command.CommandExit): @@ -571,39 +571,16 @@ def main(server, eventHandler, params, tf = TerminalFilter): main.shutdown = 2 continue if isinstance(event, bb.event.MultipleProviders): - logger.info("multiple providers are available for %s%s (%s)", event._is_runtime and "runtime " or "", - event._item, - ", ".join(event._candidates)) - rtime = "" - if event._is_runtime: - rtime = "R" - logger.info("consider defining a PREFERRED_%sPROVIDER entry to match %s" % (rtime, event._item)) + logger.info(str(event)) continue if isinstance(event, bb.event.NoProvider): - if event._runtime: - r = "R" - else: - r = "" - - extra = '' - if not event._reasons: - if event._close_matches: - extra = ". Close matches:\n %s" % '\n '.join(event._close_matches) - # For universe builds, only show these as warnings, not errors - h = logger.warning if not universe: return_value = 1 errors = errors + 1 - h = logger.error - - if event._dependees: - h("Nothing %sPROVIDES '%s' (but %s %sDEPENDS on or otherwise requires it)%s", r, event._item, ", ".join(event._dependees), r, extra) + logger.error(str(event)) else: - h("Nothing %sPROVIDES '%s'%s", r, event._item, extra) - if event._reasons: - for reason in event._reasons: - h("%s", reason) + logger.warning(str(event)) continue if isinstance(event, bb.runqueue.sceneQueueTaskStarted): @@ -625,13 +602,11 @@ def main(server, eventHandler, params, tf = TerminalFilter): if isinstance(event, bb.runqueue.runQueueTaskFailed): return_value = 1 taskfailures.append(event.taskstring) - logger.error("Task (%s) failed with exit code '%s'", - event.taskstring, event.exitcode) + logger.error(str(event)) continue if isinstance(event, bb.runqueue.sceneQueueTaskFailed): - logger.warning("Setscene task (%s) failed with exit code '%s' - real task will be run instead", - event.taskstring, event.exitcode) + logger.warning(str(event)) continue if isinstance(event, bb.event.DepTreeGenerated): diff --git a/lib/bb/ui/ncurses.py b/lib/bb/ui/ncurses.py index ca845a3..8690c52 100644 --- a/lib/bb/ui/ncurses.py +++ b/lib/bb/ui/ncurses.py @@ -315,7 +315,7 @@ class NCursesUI: # also allow them to now exit with a single ^C shutdown = 2 if isinstance(event, bb.command.CommandFailed): - mw.appendText("Command execution failed: %s" % event.error) + mw.appendText(str(event)) time.sleep(2) exitflag = True if isinstance(event, bb.command.CommandExit): diff --git a/lib/bb/ui/taskexp.py b/lib/bb/ui/taskexp.py index 9d14ece..0d0f9f5 100644 --- a/lib/bb/ui/taskexp.py +++ b/lib/bb/ui/taskexp.py @@ -286,23 +286,7 @@ def main(server, eventHandler, params): continue if isinstance(event, bb.event.NoProvider): - if event._runtime: - r = "R" - else: - r = "" - - extra = '' - if not event._reasons: - if event._close_matches: - extra = ". Close matches:\n %s" % '\n '.join(event._close_matches) - - if event._dependees: - print("Nothing %sPROVIDES '%s' (but %s %sDEPENDS on or otherwise requires it)%s" % (r, event._item, ", ".join(event._dependees), r, extra)) - else: - print("Nothing %sPROVIDES '%s'%s" % (r, event._item, extra)) - if event._reasons: - for reason in event._reasons: - print(reason) + print(str(event)) _, error = server.runCommand(["stateShutdown"]) if error: @@ -310,7 +294,7 @@ def main(server, eventHandler, params): break if isinstance(event, bb.command.CommandFailed): - print("Command execution failed: %s" % event.error) + print(str(event)) return event.exitcode if isinstance(event, bb.command.CommandExit): diff --git a/lib/bb/ui/toasterui.py b/lib/bb/ui/toasterui.py index 71f04fa..88cec37 100644 --- a/lib/bb/ui/toasterui.py +++ b/lib/bb/ui/toasterui.py @@ -320,29 +320,13 @@ def main(server, eventHandler, params): if isinstance(event, bb.event.CacheLoadCompleted): continue if isinstance(event, bb.event.MultipleProviders): - logger.info("multiple providers are available for %s%s (%s)", event._is_runtime and "runtime " or "", - event._item, - ", ".join(event._candidates)) - logger.info("consider defining a PREFERRED_PROVIDER entry to match %s", event._item) + logger.info(str(event)) continue if isinstance(event, bb.event.NoProvider): errors = errors + 1 - if event._runtime: - r = "R" - else: - r = "" - - if event._dependees: - text = "Nothing %sPROVIDES '%s' (but %s %sDEPENDS on or otherwise requires it)" % (r, event._item, ", ".join(event._dependees), r) - else: - text = "Nothing %sPROVIDES '%s'" % (r, event._item) - + text = str(event) logger.error(text) - if event._reasons: - for reason in event._reasons: - logger.error("%s", reason) - text += reason buildinfohelper.store_log_error(text) continue @@ -364,8 +348,7 @@ def main(server, eventHandler, params): if isinstance(event, bb.runqueue.runQueueTaskFailed): buildinfohelper.update_and_store_task(event) taskfailures.append(event.taskstring) - logger.error("Task (%s) failed with exit code '%s'", - event.taskstring, event.exitcode) + logger.error(str(event)) continue if isinstance(event, (bb.runqueue.sceneQueueTaskCompleted, bb.runqueue.sceneQueueTaskFailed)): @@ -382,7 +365,7 @@ def main(server, eventHandler, params): if isinstance(event, bb.command.CommandFailed): errors += 1 errorcode = 1 - logger.error("Command execution failed: %s", event.error) + logger.error(str(event)) elif isinstance(event, bb.event.BuildCompleted): buildinfohelper.scan_image_artifacts() buildinfohelper.clone_required_sdk_artifacts() -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 10:43:53 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 10:43:53 +0000 Subject: [oe-commits] [bitbake] 09/16: lib/bb/ui/uihelper: indicate to caller of eventHandler() if events handled In-Reply-To: <150046102457.13589.2170314000104717298@git.openembedded.org> References: <150046102457.13589.2170314000104717298@git.openembedded.org> Message-ID: <20170719104344.E1A6A2335E0@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit cdcf7457442f83f4eac3e2c98bdc6f254244d482 Author: Paul Eggleton AuthorDate: Wed Jul 19 11:56:04 2017 +0200 lib/bb/ui/uihelper: indicate to caller of eventHandler() if events handled It is useful for the caller to know whether the uihelper has handled the event passed so that it can skip other event handling code if so. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/ui/uihelper.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/bb/ui/uihelper.py b/lib/bb/ui/uihelper.py index 113fced..963c1ea 100644 --- a/lib/bb/ui/uihelper.py +++ b/lib/bb/ui/uihelper.py @@ -61,6 +61,9 @@ class BBUIHelper: self.running_tasks[event.pid]['progress'] = event.progress self.running_tasks[event.pid]['rate'] = event.rate self.needUpdate = True + else: + return False + return True def getTasks(self): self.needUpdate = False -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 10:43:54 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 10:43:54 +0000 Subject: [oe-commits] [bitbake] 10/16: knotty: make it possible to use termfilter without either console In-Reply-To: <150046102457.13589.2170314000104717298@git.openembedded.org> References: <150046102457.13589.2170314000104717298@git.openembedded.org> Message-ID: <20170719104344.E86402335E2@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit b72bb8742f578df889402a09faef4e1de71a43ac Author: Paul Eggleton AuthorDate: Wed Jul 19 11:56:05 2017 +0200 knotty: make it possible to use termfilter without either console This isn't useful for knotty itself, but for use from tinfoil in case we can't get access to either the console or errconsole, allow either to be unspecified (None). Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/ui/knotty.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/bb/ui/knotty.py b/lib/bb/ui/knotty.py index c301982..f3900bd 100644 --- a/lib/bb/ui/knotty.py +++ b/lib/bb/ui/knotty.py @@ -207,8 +207,10 @@ class TerminalFilter(object): self.interactive = False bb.note("Unable to use interactive mode for this terminal, using fallback") return - console.addFilter(InteractConsoleLogFilter(self, format)) - errconsole.addFilter(InteractConsoleLogFilter(self, format)) + if console: + console.addFilter(InteractConsoleLogFilter(self, format)) + if errconsole: + errconsole.addFilter(InteractConsoleLogFilter(self, format)) self.main_progress = None -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 10:43:55 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 10:43:55 +0000 Subject: [oe-commits] [bitbake] 11/16: tinfoil: add functionality for running full builds In-Reply-To: <150046102457.13589.2170314000104717298@git.openembedded.org> References: <150046102457.13589.2170314000104717298@git.openembedded.org> Message-ID: <20170719104344.EF0952335E4@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 226495a4080c93f95fab9a5a33eb0b5c7a8f7891 Author: Paul Eggleton AuthorDate: Wed Jul 19 11:56:06 2017 +0200 tinfoil: add functionality for running full builds Up to this point, if you wanted to run build tasks in the normal way they get run from a python script, there was no other way than to shell out to bitbake. Worse than that, you couldn't have tinfoil active during that because only one bitbake instance could be running at once. As long as we're prepared to handle the events produced, we can create a wrapper around calling the buildTargets command. Borrow code from knotty to do this in such a way that we get the expected running task display (courtesy of TermFilter) and Ctrl+C handling. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/tinfoil.py | 154 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 154 insertions(+) diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index f31d7b2..2a51526 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -2,6 +2,7 @@ # # Copyright (C) 2012-2017 Intel Corporation # Copyright (C) 2011 Mentor Graphics Corporation +# Copyright (C) 2006-2012 Richard Purdie # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License version 2 as @@ -218,6 +219,7 @@ class Tinfoil: self.ui_module = None self.server_connection = None self.recipes_parsed = False + self.quiet = 0 if setup_logging: # This is the *client-side* logger, nothing to do with # logging messages from the server @@ -230,6 +232,8 @@ class Tinfoil: self.shutdown() def prepare(self, config_only=False, config_params=None, quiet=0, extra_features=None): + self.quiet = quiet + if self.tracking: extrafeatures = [bb.cooker.CookerFeatures.BASEDATASTORE_TRACKING] else: @@ -434,6 +438,156 @@ class Tinfoil: """ return self.run_command('buildFile', buildfile, task, internal) + def build_targets(self, targets, task=None, handle_events=True, extra_events=None, event_callback=None): + """ + Builds the specified targets. This is equivalent to a normal invocation + of bitbake. Has built-in event handling which is enabled by default and + can be extended if needed. + Parameters: + targets: + One or more targets to build. Can be a list or a + space-separated string. + task: + The task to run; if None then the value of BB_DEFAULT_TASK + will be used. Default None. + handle_events: + True to handle events in a similar way to normal bitbake + invocation with knotty; False to return immediately (on the + assumption that the caller will handle the events instead). + Default True. + extra_events: + An optional list of events to add to the event mask (if + handle_events=True). If you add events here you also need + to specify a callback function in event_callback that will + handle the additional events. Default None. + event_callback: + An optional function taking a single parameter which + will be called first upon receiving any event (if + handle_events=True) so that the caller can override or + extend the event handling. Default None. + """ + if isinstance(targets, str): + targets = targets.split() + if not task: + task = self.config_data.getVar('BB_DEFAULT_TASK') + + if handle_events: + # A reasonable set of default events matching up with those we handle below + eventmask = [ + 'bb.event.BuildStarted', + 'bb.event.BuildCompleted', + 'logging.LogRecord', + 'bb.event.NoProvider', + 'bb.command.CommandCompleted', + 'bb.command.CommandFailed', + 'bb.build.TaskStarted', + 'bb.build.TaskFailed', + 'bb.build.TaskSucceeded', + 'bb.build.TaskFailedSilent', + 'bb.build.TaskProgress', + 'bb.runqueue.runQueueTaskStarted', + 'bb.runqueue.sceneQueueTaskStarted', + 'bb.event.ProcessStarted', + 'bb.event.ProcessProgress', + 'bb.event.ProcessFinished', + ] + if extra_events: + eventmask.extend(extra_events) + ret = self.set_event_mask(eventmask) + + ret = self.run_command('buildTargets', targets, task) + if handle_events: + result = False + # Borrowed from knotty, instead somewhat hackily we use the helper + # as the object to store "shutdown" on + helper = bb.ui.uihelper.BBUIHelper() + # We set up logging optionally in the constructor so now we need to + # grab the handlers to pass to TerminalFilter + console = None + errconsole = None + for handler in self.logger.handlers: + if isinstance(handler, logging.StreamHandler): + if handler.stream == sys.stdout: + console = handler + elif handler.stream == sys.stderr: + errconsole = handler + format_str = "%(levelname)s: %(message)s" + format = bb.msg.BBLogFormatter(format_str) + helper.shutdown = 0 + parseprogress = None + termfilter = bb.ui.knotty.TerminalFilter(helper, helper, console, errconsole, format, quiet=self.quiet) + try: + while True: + try: + event = self.wait_event(0.25) + if event: + if event_callback and event_callback(event): + continue + if helper.eventHandler(event): + continue + if isinstance(event, bb.event.ProcessStarted): + if self.quiet > 1: + continue + parseprogress = bb.ui.knotty.new_progress(event.processname, event.total) + parseprogress.start(False) + continue + if isinstance(event, bb.event.ProcessProgress): + if self.quiet > 1: + continue + if parseprogress: + parseprogress.update(event.progress) + else: + bb.warn("Got ProcessProgress event for someting that never started?") + continue + if isinstance(event, bb.event.ProcessFinished): + if self.quiet > 1: + continue + if parseprogress: + parseprogress.finish() + parseprogress = None + continue + if isinstance(event, bb.command.CommandCompleted): + result = True + break + if isinstance(event, bb.command.CommandFailed): + self.logger.error(str(event)) + result = False + break + if isinstance(event, logging.LogRecord): + if event.taskpid == 0 or event.levelno > logging.INFO: + self.logger.handle(event) + continue + if isinstance(event, bb.event.NoProvider): + self.logger.error(str(event)) + result = False + break + + elif helper.shutdown > 1: + break + termfilter.updateFooter() + except KeyboardInterrupt: + termfilter.clearFooter() + if helper.shutdown == 1: + print("\nSecond Keyboard Interrupt, stopping...\n") + ret = self.run_command("stateForceShutdown") + if ret and ret[2]: + self.logger.error("Unable to cleanly stop: %s" % ret[2]) + elif helper.shutdown == 0: + print("\nKeyboard Interrupt, closing down...\n") + interrupted = True + ret = self.run_command("stateShutdown") + if ret and ret[2]: + self.logger.error("Unable to cleanly shutdown: %s" % ret[2]) + helper.shutdown = helper.shutdown + 1 + termfilter.clearFooter() + finally: + termfilter.finish() + if helper.failed_tasks: + result = False + return result + else: + return ret + def shutdown(self): if self.server_connection: self.run_command('clientComplete') -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 10:43:57 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 10:43:57 +0000 Subject: [oe-commits] [bitbake] 13/16: tinfoil: add simple API for getting cached recipe information In-Reply-To: <150046102457.13589.2170314000104717298@git.openembedded.org> References: <150046102457.13589.2170314000104717298@git.openembedded.org> Message-ID: <20170719104345.0EC9F2335E8@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 5c0a492be2125a6e4bb245de0205cd4f36f55009 Author: Paul Eggleton AuthorDate: Wed Jul 19 11:56:08 2017 +0200 tinfoil: add simple API for getting cached recipe information A common task for tinfoil-using scripts is to iterate over all recipes. This isn't too difficult with the current API, but the pkg_* variables are a little awkward and are really designed for bitbake's internal usage - and it gets a bit more difficult when you want to access some of the other information such as packages and rprovides. To resolve this, create a new recipe info class and add an all_recipes() function to generate this for all recipes. Also add a get_recipe_info() function to get the information for a specific recipe (by PN). (It might perhaps be suggested that we already have a structure similar to this in the cache, however the one we add here is designed for external use and allows the internal structures to change if needed without affecting the API). Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/tinfoil.py | 142 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 142 insertions(+) diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index 456cbf8..30d6c9a 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -217,6 +217,82 @@ class TinfoilCookerAdapter: return self.tinfoil.find_best_provider(pn) +class TinfoilRecipeInfo: + """ + Provides a convenient representation of the cached information for a single recipe. + Some attributes are set on construction, others are read on-demand (which internally + may result in a remote procedure call to the bitbake server the first time). + Note that only information which is cached is available through this object - if + you need other variable values you will need to parse the recipe using + Tinfoil.parse_recipe(). + """ + def __init__(self, recipecache, d, pn, fn, fns): + self._recipecache = recipecache + self._d = d + self.pn = pn + self.fn = fn + self.fns = fns + self.inherit_files = recipecache.inherits[fn] + self.depends = recipecache.deps[fn] + (self.pe, self.pv, self.pr) = recipecache.pkg_pepvpr[fn] + self._cached_packages = None + self._cached_rprovides = None + self._cached_packages_dynamic = None + + def __getattr__(self, name): + if name == 'alternates': + return [x for x in self.fns if x != self.fn] + elif name == 'rdepends': + return self._recipecache.rundeps[self.fn] + elif name == 'rrecommends': + return self._recipecache.runrecs[self.fn] + elif name == 'provides': + return self._recipecache.fn_provides[self.fn] + elif name == 'packages': + if self._cached_packages is None: + self._cached_packages = [] + for pkg, fns in self._recipecache.packages.items(): + if self.fn in fns: + self._cached_packages.append(pkg) + return self._cached_packages + elif name == 'packages_dynamic': + if self._cached_packages_dynamic is None: + self._cached_packages_dynamic = [] + for pkg, fns in self._recipecache.packages_dynamic.items(): + if self.fn in fns: + self._cached_packages_dynamic.append(pkg) + return self._cached_packages_dynamic + elif name == 'rprovides': + if self._cached_rprovides is None: + self._cached_rprovides = [] + for pkg, fns in self._recipecache.rproviders.items(): + if self.fn in fns: + self._cached_rprovides.append(pkg) + return self._cached_rprovides + else: + raise AttributeError("%s instance has no attribute '%s'" % (self.__class__.__name__, name)) + def inherits(self, only_recipe=False): + """ + Get the inherited classes for a recipe. Returns the class names only. + Parameters: + only_recipe: True to return only the classes inherited by the recipe + itself, False to return all classes inherited within + the context for the recipe (which includes globally + inherited classes). + """ + if only_recipe: + global_inherit = [x for x in (self._d.getVar('BBINCLUDED') or '').split() if x.endswith('.bbclass')] + else: + global_inherit = [] + for clsfile in self.inherit_files: + if only_recipe and clsfile in global_inherit: + continue + clsname = os.path.splitext(os.path.basename(clsfile))[0] + yield clsname + def __str__(self): + return '%s' % self.pn + + class Tinfoil: def __init__(self, output=sys.stdout, tracking=False, setup_logging=True): @@ -401,6 +477,72 @@ class Tinfoil: def get_file_appends(self, fn): return self.run_command('getFileAppends', fn) + def all_recipes(self, mc='', sort=True): + """ + Enable iterating over all recipes in the current configuration. + Returns an iterator over TinfoilRecipeInfo objects created on demand. + Parameters: + mc: The multiconfig, default of '' uses the main configuration. + sort: True to sort recipes alphabetically (default), False otherwise + """ + recipecache = self.cooker.recipecaches[mc] + if sort: + recipes = sorted(recipecache.pkg_pn.items()) + else: + recipes = recipecache.pkg_pn.items() + for pn, fns in recipes: + prov = self.find_best_provider(pn) + recipe = TinfoilRecipeInfo(recipecache, + self.config_data, + pn=pn, + fn=prov[3], + fns=fns) + yield recipe + + def all_recipe_files(self, mc='', variants=True, preferred_only=False): + """ + Enable iterating over all recipe files in the current configuration. + Returns an iterator over file paths. + Parameters: + mc: The multiconfig, default of '' uses the main configuration. + variants: True to include variants of recipes created through + BBCLASSEXTEND (default) or False to exclude them + preferred_only: True to include only the preferred recipe where + multiple exist providing the same PN, False to list + all recipes + """ + recipecache = self.cooker.recipecaches[mc] + if preferred_only: + files = [] + for pn in recipecache.pkg_pn.keys(): + prov = self.find_best_provider(pn) + files.append(prov[3]) + else: + files = recipecache.pkg_fn.keys() + for fn in sorted(files): + if not variants and fn.startswith('virtual:'): + continue + yield fn + + + def get_recipe_info(self, pn, mc=''): + """ + Get information on a specific recipe in the current configuration by name (PN). + Returns a TinfoilRecipeInfo object created on demand. + Parameters: + mc: The multiconfig, default of '' uses the main configuration. + """ + recipecache = self.cooker.recipecaches[mc] + prov = self.find_best_provider(pn) + fn = prov[3] + actual_pn = recipecache.pkg_fn[fn] + recipe = TinfoilRecipeInfo(recipecache, + self.config_data, + pn=actual_pn, + fn=fn, + fns=recipecache.pkg_pn[actual_pn]) + return recipe + def parse_recipe(self, pn): """ Parse the specified recipe and return a datastore object -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 10:43:58 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 10:43:58 +0000 Subject: [oe-commits] [bitbake] 14/16: tinfoil: add more doc comments In-Reply-To: <150046102457.13589.2170314000104717298@git.openembedded.org> References: <150046102457.13589.2170314000104717298@git.openembedded.org> Message-ID: <20170719104345.1662E23360E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 6708cdf9fdedde6f64940ed12c1b97bc1399b4b1 Author: Paul Eggleton AuthorDate: Wed Jul 19 11:56:09 2017 +0200 tinfoil: add more doc comments We want this API to be easier to use, so add missing function documentation to help with that. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/tinfoil.py | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index 30d6c9a..e246b3d 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -55,6 +55,7 @@ class TinfoilCommandFailed(Exception): """Exception raised when run_command fails""" class TinfoilDataStoreConnector: + """Connector object used to enable access to datastore objects via tinfoil""" def __init__(self, tinfoil, dsindex): self.tinfoil = tinfoil @@ -294,8 +295,25 @@ class TinfoilRecipeInfo: class Tinfoil: + """ + Tinfoil - an API for scripts and utilities to query + BitBake internals and perform build operations. + """ def __init__(self, output=sys.stdout, tracking=False, setup_logging=True): + """ + Create a new tinfoil object. + Parameters: + output: specifies where console output should be sent. Defaults + to sys.stdout. + tracking: True to enable variable history tracking, False to + disable it (default). Enabling this has a minor + performance impact so typically it isn't enabled + unless you need to query variable history. + setup_logging: True to setup a logger so that things like + bb.warn() will work immediately and timeout warnings + are visible; False to let BitBake do this itself. + """ self.logger = logging.getLogger('BitBake') self.config_data = None self.cooker = None @@ -316,6 +334,37 @@ class Tinfoil: self.shutdown() def prepare(self, config_only=False, config_params=None, quiet=0, extra_features=None): + """ + Prepares the underlying BitBake system to be used via tinfoil. + This function must be called prior to calling any of the other + functions in the API. + NOTE: if you call prepare() you must absolutely call shutdown() + before your code terminates. You can use a "with" block to ensure + this happens e.g. + + with bb.tinfoil.Tinfoil() as tinfoil: + tinfoil.prepare() + ... + + Parameters: + config_only: True to read only the configuration and not load + the cache / parse recipes. This is useful if you just + want to query the value of a variable at the global + level or you want to do anything else that doesn't + involve knowing anything about the recipes in the + current configuration. False loads the cache / parses + recipes. + config_params: optionally specify your own configuration + parameters. If not specified an instance of + TinfoilConfigParameters will be created internally. + quiet: quiet level controlling console output - equivalent + to bitbake's -q/--quiet option. Default of 0 gives + the same output level as normal bitbake execution. + extra_features: extra features to be added to the feature + set requested from the server. See + CookerFeatures._feature_list for possible + features. + """ self.quiet = quiet if self.tracking: @@ -440,9 +489,16 @@ class Tinfoil: return self.server_connection.events.waitEvent(timeout) def get_overlayed_recipes(self): + """ + Find recipes which are overlayed (i.e. where recipes exist in multiple layers) + """ return defaultdict(list, self.run_command('getOverlayedRecipes')) def get_skipped_recipes(self): + """ + Find recipes which were skipped (i.e. SkipRecipe was raised + during parsing). + """ return OrderedDict(self.run_command('getSkippedRecipes')) def get_all_providers(self): @@ -475,6 +531,9 @@ class Tinfoil: return best[3] def get_file_appends(self, fn): + """ + Find the bbappends for a recipe file + """ return self.run_command('getFileAppends', fn) def all_recipes(self, mc='', sort=True): @@ -739,6 +798,12 @@ class Tinfoil: return ret def shutdown(self): + """ + Shut down tinfoil. Disconnects from the server and gracefully + releases any associated resources. You must call this function if + prepare() has been called, or use a with... block when you create + the tinfoil object which will ensure that it gets called. + """ if self.server_connection: self.run_command('clientComplete') _server_connections.remove(self.server_connection) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 10:43:56 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 10:43:56 +0000 Subject: [oe-commits] [bitbake] 12/16: tinfoil: enable access to additional cached items In-Reply-To: <150046102457.13589.2170314000104717298@git.openembedded.org> References: <150046102457.13589.2170314000104717298@git.openembedded.org> Message-ID: <20170719104345.058022335E6@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 60b1ea877b7be9af974528632dae240dae3462be Author: Paul Eggleton AuthorDate: Wed Jul 19 11:56:07 2017 +0200 tinfoil: enable access to additional cached items Add access to fn_provides, packages, packages_dynamic and rproviders on the recipecache object. This requires an additional corresponding command plumbing to be added. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/command.py | 32 ++++++++++++++++++++++++++++++++ lib/bb/tinfoil.py | 8 ++++++++ 2 files changed, 40 insertions(+) diff --git a/lib/bb/command.py b/lib/bb/command.py index 05803d6..0e0a35a 100644 --- a/lib/bb/command.py +++ b/lib/bb/command.py @@ -312,6 +312,38 @@ class CommandsSync: return command.cooker.recipecaches[mc].pkg_pepvpr getRecipeVersions.readonly = True + def getRecipeProvides(self, command, params): + try: + mc = params[0] + except IndexError: + mc = '' + return command.cooker.recipecaches[mc].fn_provides + getRecipeProvides.readonly = True + + def getRecipePackages(self, command, params): + try: + mc = params[0] + except IndexError: + mc = '' + return command.cooker.recipecaches[mc].packages + getRecipePackages.readonly = True + + def getRecipePackagesDynamic(self, command, params): + try: + mc = params[0] + except IndexError: + mc = '' + return command.cooker.recipecaches[mc].packages_dynamic + getRecipePackagesDynamic.readonly = True + + def getRProviders(self, command, params): + try: + mc = params[0] + except IndexError: + mc = '' + return command.cooker.recipecaches[mc].rproviders + getRProviders.readonly = True + def getRuntimeDepends(self, command, params): ret = [] try: diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index 2a51526..456cbf8 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -173,6 +173,14 @@ class TinfoilCookerAdapter: attrvalue = self.tinfoil.run_command('getBbFilePriority') or {} elif name == 'pkg_dp': attrvalue = self.tinfoil.run_command('getDefaultPreference') or {} + elif name == 'fn_provides': + attrvalue = self.tinfoil.run_command('getRecipeProvides') or {} + elif name == 'packages': + attrvalue = self.tinfoil.run_command('getRecipePackages') or {} + elif name == 'packages_dynamic': + attrvalue = self.tinfoil.run_command('getRecipePackagesDynamic') or {} + elif name == 'rproviders': + attrvalue = self.tinfoil.run_command('getRProviders') or {} else: raise AttributeError("%s instance has no attribute '%s'" % (self.__class__.__name__, name)) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 10:43:59 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 10:43:59 +0000 Subject: [oe-commits] [bitbake] 15/16: fetch2: allow hiding checksum warning In-Reply-To: <150046102457.13589.2170314000104717298@git.openembedded.org> References: <150046102457.13589.2170314000104717298@git.openembedded.org> Message-ID: <20170719104345.207B423360F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit f0fb6aed200f2317ef26f972ce63b3ce9f7d3bc1 Author: Paul Eggleton AuthorDate: Wed Jul 19 11:56:10 2017 +0200 fetch2: allow hiding checksum warning If BB_STRICT_CHECKSUMS is set to "ignore" then don't display a warning if no checksums are specified in the recipe. This is not intended to be used from recipes - it is needed when we move to using more standard code paths to fetch new files from scripts i.e. where we don't know what the checksums are in advance. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/fetch2/__init__.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/bb/fetch2/__init__.py b/lib/bb/fetch2/__init__.py index 5c02317..2e615b2 100644 --- a/lib/bb/fetch2/__init__.py +++ b/lib/bb/fetch2/__init__.py @@ -584,6 +584,12 @@ def verify_checksum(ud, d, precomputed={}): ud.sha256_name, sha256data)) raise NoChecksumError('Missing SRC_URI checksum', ud.url) + if strict == "ignore": + return { + _MD5_KEY: md5data, + _SHA256_KEY: sha256data + } + # Log missing sums so user can more easily add them logger.warning('Missing md5 SRC_URI checksum for %s, consider adding to the recipe:\n' 'SRC_URI[%s] = "%s"', -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 10:44:00 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 10:44:00 +0000 Subject: [oe-commits] [bitbake] 16/16: fetch2: fire an event when there are missing checksums In-Reply-To: <150046102457.13589.2170314000104717298@git.openembedded.org> References: <150046102457.13589.2170314000104717298@git.openembedded.org> Message-ID: <20170719104345.2A8692335D7@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 65732d7f48c2b54ad89c54bcf4720b28c9a4a86d Author: Paul Eggleton AuthorDate: Wed Jul 19 11:56:11 2017 +0200 fetch2: fire an event when there are missing checksums If BB_STRICT_CHECKSUMS is set to anything other than "1" i.e. we're not going to raise an error, then fire an event so that scripts can listen for it and get the checksums. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/fetch2/__init__.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/bb/fetch2/__init__.py b/lib/bb/fetch2/__init__.py index 2e615b2..74ba37f 100644 --- a/lib/bb/fetch2/__init__.py +++ b/lib/bb/fetch2/__init__.py @@ -39,6 +39,7 @@ import errno import bb.persist_data, bb.utils import bb.checksum import bb.process +import bb.event __version__ = "2" _checksum_cache = bb.checksum.FileChecksumCache() @@ -142,6 +143,13 @@ class NonLocalMethod(Exception): def __init__(self): Exception.__init__(self) +class MissingChecksumEvent(bb.event.Event): + def __init__(self, url, md5sum, sha256sum): + self.url = url + self.checksums = {'md5sum': md5sum, + 'sha256sum': sha256sum} + bb.event.Event.__init__(self) + class URI(object): """ @@ -584,6 +592,8 @@ def verify_checksum(ud, d, precomputed={}): ud.sha256_name, sha256data)) raise NoChecksumError('Missing SRC_URI checksum', ud.url) + bb.event.fire(MissingChecksumEvent(ud.url, md5data, sha256data), d) + if strict == "ignore": return { _MD5_KEY: md5data, -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:51:05 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:51:05 +0000 Subject: [oe-commits] [meta-openembedded] 01/67: autofs: Add build dependency on libnsl2 In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125104.3EF692335D7@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 0388514d81e5c450f27a4c227f084ee88374ea91 Author: Khem Raj AuthorDate: Fri Jun 30 05:59:41 2017 -0700 autofs: Add build dependency on libnsl2 this is needed with glibc 2.26 where libnsl is deprecated and is provided using separate recipe building it from external sources now. Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- meta-networking/recipes-daemons/autofs/autofs_5.1.2.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-networking/recipes-daemons/autofs/autofs_5.1.2.bb b/meta-networking/recipes-daemons/autofs/autofs_5.1.2.bb index eea7c4b..ccd8a7f 100644 --- a/meta-networking/recipes-daemons/autofs/autofs_5.1.2.bb +++ b/meta-networking/recipes-daemons/autofs/autofs_5.1.2.bb @@ -3,7 +3,7 @@ SECTION = "utils" LICENSE = "GPL-2.0" LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3" -DEPENDS += "libtirpc flex-native bison-native e2fsprogs openssl libxml2 util-linux cyrus-sasl" +DEPENDS += "libtirpc flex-native bison-native e2fsprogs openssl libxml2 util-linux cyrus-sasl libnsl2" CFLAGS += "-I${STAGING_INCDIR}/tirpc" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:51:06 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:51:06 +0000 Subject: [oe-commits] [meta-openembedded] 02/67: openhpi: Fix build on 64bit platforms e.g. aarch64 In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125104.44CB52335D8@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 91ac8b7faa3f7620a89b020d3c339f19ac6d16e3 Author: Khem Raj AuthorDate: Fri Jun 30 05:59:57 2017 -0700 openhpi: Fix build on 64bit platforms e.g. aarch64 Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- meta-networking/recipes-daemons/openhpi/openhpi_3.6.1.bb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meta-networking/recipes-daemons/openhpi/openhpi_3.6.1.bb b/meta-networking/recipes-daemons/openhpi/openhpi_3.6.1.bb index db2a24a..16e58dc 100644 --- a/meta-networking/recipes-daemons/openhpi/openhpi_3.6.1.bb +++ b/meta-networking/recipes-daemons/openhpi/openhpi_3.6.1.bb @@ -54,9 +54,10 @@ FILES_${PN}-libs = "${libdir}/${BPN}/*.so /usr/lib/${BPN}/*.so" INSANE_SKIP_${PN}-libs = "dev-so" RDEPENDS_${PN} += "${PN}-libs" -PACKAGECONFIG ??= "libgcrypt" +PACKAGECONFIG ??= "libgcrypt non32bit" PACKAGECONFIG[sysfs] = "--enable-sysfs,--disable-sysfs,sysfsutils," PACKAGECONFIG[libgcrypt] = "--enable-encryption,--disable-encryption,libgcrypt," +PACKAGECONFIG[non32bit] = "--enable-non32bit-int,--disable-non32bit-int,," do_install_append () { install -m 0755 -d ${D}${sysconfdir}/${BPN} -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:51:04 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:51:04 +0000 Subject: [oe-commits] [meta-openembedded] branch master-next updated (065575a -> 3cb6d9f) Message-ID: <150046866411.13231.150028613869677518@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a change to branch master-next in repository meta-openembedded. discard 065575a pimd: Upgrade to 2.3.2 discard 77817c3 v4l-utils: Fix build with musl discard 991233a iperf3: Fix missing stdint.h and do not link with -pg discard 872870c uftrace: add recipe discard fdb7abc aufs-util: Upgrade to 4.4 release discard ba84876 monkey: Link in libexecinfo on musl discard bbac8d6 metacity: Fix build with musl by defining _GNU_SOURCE discard d0ea52a nmon: Upgrade to 16g discard a764ec3 xfsdump: Fix build with musl discard e060cf2 unionfs-fuse: Fix build with musl discard 82650e1 logfsprogs: Rename setkey API to _setkey to not conflict with libc discard ae7ac67 yaffs2-utils: Fix build with musl discard b75b17c dracut: Upgrade to 045 discard 1c46c71 kexec-tools-klibc: Fix build with musl discard 14d749f can-utils: Update to tip of master discard ea840c2 netdata: Upgrade to 1.6.0 discard 43ad720 libgtop: Fix build with musl discard 8fd8bc8 onboard: Fix build with musl discard 0206352 gedit: Define ACCESSPERMS if not defined already discard 5a30d20 imsettings: Fix build with musl discard daab2b9 xfce4-netload-plugin: Do not include sys/sysctl.h discard ab4314a lmbench: Fix build with musl discard a8481ce lightmediascanner: Define comparison_fn_t if undefined discard 4c56033 cdparanoia: Fix build with musl discard 4b4a68f webrtc-audio-processing: Link with libexecinfo on musl discard cebae2c sox: Fix build with musl discard 852412e libteam: Upgrade to 1.27 discard d50395e klibc: Fix build issue when default ISA is not thumb discard 1483a97 recipes-utils: Add recipe for udevil discard bbb9286 fuse: Correct runlevels and startup order discard 80a8634 librcf: RDEPENDS on protobuf, json-spirit discard 39176bd ebtables: replace ebtables-save perl script with bash rewrite discard 98a8830 pptp-linux: Upgrade to 1.9.0 discard d6b2593 security_flags.inc: Delete discard e4a0edd openhpi: Fix build on 64bit platforms e.g. aarch64 discard 7728c8f autofs: Add build dependency on libnsl2 discard 31642e1 ippool: Fix build errors found with hardening flags new 0388514 autofs: Add build dependency on libnsl2 new 91ac8b7 openhpi: Fix build on 64bit platforms e.g. aarch64 new 4e2ff96 security_flags.inc: Delete new bab9f81 pptp-linux: Upgrade to 1.9.0 new 82c41b3 ebtables: replace ebtables-save perl script with bash rewrite new 157ce32 librcf: RDEPENDS on protobuf, json-spirit new 86f9649 fuse: Correct runlevels and startup order new d687f2c recipes-utils: Add recipe for udevil new e502443 klibc: Fix build issue when default ISA is not thumb new d6ea68d libteam: Upgrade to 1.27 new 5dec350 sox: Fix build with musl new 04f66db webrtc-audio-processing: Link with libexecinfo on musl new b421475 cdparanoia: Fix build with musl new cd075a5 lightmediascanner: Define comparison_fn_t if undefined new f35bbef lmbench: Fix build with musl new 49ccdec xfce4-netload-plugin: Do not include sys/sysctl.h new c6e5aa1 imsettings: Fix build with musl new 46eddb4 gedit: Define ACCESSPERMS if not defined already new df54a90 onboard: Fix build with musl new 99877d3 libgtop: Fix build with musl new 4c7c04c netdata: Upgrade to 1.6.0 new f8428d5 can-utils: Update to tip of master new f33bcba kexec-tools-klibc: Fix build with musl new 704a8e6 dracut: Upgrade to 045 new 30aa7d8 yaffs2-utils: Fix build with musl new 8c600a5 logfsprogs: Rename setkey API to _setkey to not conflict with libc new d26539d unionfs-fuse: Fix build with musl new 068cf71 xfsdump: Fix build with musl new 6d04761 nmon: Upgrade to 16g new 5fdec50 metacity: Fix build with musl by defining _GNU_SOURCE new 304791e monkey: Link in libexecinfo on musl new aba1895 aufs-util: Upgrade to 4.4 release new 21f69db uftrace: add recipe new 28d5c2e iperf3: Fix missing stdint.h and do not link with -pg new e3261a5 v4l-utils: Fix build with musl new fec482c pimd: Upgrade to 2.3.2 new a65b93f open-vm-tools: remove custom procps logic new 9dcf556 igmpproxy: Include missing sys/tupes.h and define _GNU_SOURCE new 1135955 rdate: Define logwtmp if libc != glibc new e9f8295 multipath-tools: Include limits.h for PATH_MAX new 5b9cbfe a2jmidid: Link with libexecinfo on musl new dfd5938 netkit-ftp: Include sys/types.h for u_long definition new 95603b0 postfix: Disable nis support on musl new ef74904 zlog: Fix build on 64bit targets and musl new 9d5d5e8 grubby: Link with libexecinfo on musl new 63c27fe numactl: Update to latest from github new 938b9f6 efivar: Upgrade to 0.31 new b15f25e linuxptp: Upgrade to 1.8 new a9f0c62 sessreg: Fix build on musl new 1035819 phonet-utils: Fix build with musl new 7053bb0 nicstat: Fix build on musl/x86_64 new f6fca8a open-vm-tools: Fix build with musl new 7af1232 lm_sensors: Fix build on musl new 06ce00d gperftools: Upgrade to 2.6.1 new d0fa6e6 glade: add recipe 3.20.0 new 37a4e2c python3-coverage: add recipe 4.4.1 new 36bc780 python3-langtable: add recipe 0.0.37 new e102b42 python3-ntplib: add recipe 0.3.3 new 5062c4f python3-ordered-set: add recipe 2.0.2 new 61ee29c python3-requests-file: add recipe 1.4.2 new 6bf7c58 python3-requests-ftp: add recipe 0.3.1 new bb5352a python3-pid: add recipe 2.1.1 new 11e34bb python3-prctl: add recipe 1.6.1 new 57eef0a xf86-video-nouveau: bump version to 1.0.15 new 370b9a3 python-unidiff: adds Python3 support new ed410c0 sdparm: add mirror new 3cb6d9f sg3-utils: add mirror This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (065575a) \ N -- N -- N refs/heads/master-next (3cb6d9f) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 67 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: ...-variable-LIBS-to-provides-libraries-from.patch | 26 + .../0002-include-paths.h-for-_PATH_MOUNTED.patch | 25 + .../recipes-devtools/grubby/grubby_8.40.bb | 9 +- .../0001-rdate-define-logwtmp-on-libc-glibc.patch | 40 ++ .../recipes-connectivity/rdate/rdate_1.5.bb | 1 + ...xy.h-Include-sys-types.h-for-u_short-u_in.patch | 25 + .../recipes-daemons/igmpproxy/igmpproxy_0.1.bb | 5 +- ...timer-Check-for-return-value-of-write-API.patch | 28 - .../recipes-daemons/ippool/ippool_1.3.bb | 22 +- ...libc-before-setting-CANT_USE_SEND_RECV_MS.patch | 26 + .../recipes-daemons/postfix/postfix.inc | 6 +- .../recipes-daemons/postfix/postfix_3.1.1.bb | 11 + .../0001-ftp-include-sys-types.h-for-u_long.patch | 30 + .../recipes-netkit/netkit-ftp/netkit-ftp_0.17.bb | 7 +- .../0003-include-missing-time.h-for-time_t.patch | 26 + ...ude-header-sequence-to-avoid-duplicate-de.patch | 36 + .../linuxptp/{linuxptp_1.6.bb => linuxptp_1.8.bb} | 9 +- .../0001-Include-limits.h-for-PATH_MAX.patch | 25 + .../phonet-utils/phonet-utils_git.bb | 4 +- .../glade/glade/remove-yelp-help-rules-var.patch | 39 ++ ...gnome-doc-utils.make-sysrooted-pkg-config.patch | 0 .../{files => glade3}/0002-fix-gcc-6-build.patch | 0 meta-oe/recipes-devtools/glade/glade_3.20.0.bb | 27 + ...some-extra-const-that-gcc-complains-about.patch | 44 -- ...Do-not-use-__bswap_constant_-16-32-macros.patch | 37 + ...-version-new-way-symbol-versioning-breaks.patch | 66 -- .../efivar/efivar/0002-disable-static-build.patch | 33 - .../fix-compile-failure-with-host-gcc-4.6.patch | 13 +- .../efivar/efivar/musl-strndupa.patch | 17 + .../efivar/{efivar_0.24.bb => efivar_0.31.bb} | 9 +- ...tat.c-Do-not-define-uint64_t-and-uint32_t.patch | 37 + meta-oe/recipes-extended/nicstat/nicstat_1.95.bb | 4 +- ...t-pthread_t-to-unsigned-long-instead-of-u.patch | 32 + meta-oe/recipes-extended/zlog/zlog_git.bb | 4 +- meta-oe/recipes-graphics/xorg-app/sessreg_1.1.0.bb | 3 + ...veau_1.0.12.bb => xf86-video-nouveau_1.0.15.bb} | 7 +- meta-oe/recipes-multimedia/jack/a2jmidid_8.bb | 3 + .../0001-Fix-build-failure-for-ppc.patch | 28 - .../gperftools/0001-fix-build-with-musl-libc.patch | 61 ++ ...001-include-fcntl.h-for-loff_t-definition.patch | 28 + .../{gperftools_2.5.bb => gperftools_2.6.1.bb} | 13 +- ...-limit-sys-io.h-header-include-to-just-gl.patch | 88 +++ .../recipes-support/lm_sensors/lmsensors_3.4.0.bb | 6 + ...0001-kpartx-include-limits.h-for-PATH_MAX.patch | 29 + .../multipath-tools/multipath-tools_0.7.1.bb | 1 + .../numactl/{numactl_2.0.11.bb => numactl_git.bb} | 9 +- ...mptions-about-glibc-being-only-libc-imple.patch | 45 ++ ...ude-poll.h-instead-of-obsolete-sys-poll.h.patch | 24 + .../0003-Rename-poll.h-to-vm_poll.h.patch | 756 +++++++++++++++++++++ ...ompatible-pointer-types-and-Wno-error-add.patch | 31 + ...05-Use-configure-test-for-struct-timespec.patch | 45 ++ ...ix-definition-of-ALLPERMS-and-ACCESSPERMS.patch | 58 ++ ...re-to-test-for-feature-instead-of-platfor.patch | 144 ++++ .../0008-use-posix-strerror_r-unless-gnu.patch | 30 + ...support-for-building-with-system-libtirpc.patch | 342 ++++++++++ .../open-vm-tools/0010-gnu-ucontext.patch | 65 ++ ...Use-configure-test-for-sys-stat.h-include.patch | 25 + .../open-vm-tools/open-vm-tools_10.1.5.bb | 27 +- meta-oe/recipes-support/sdparm/sdparm_1.10.bb | 1 + .../recipes-support/sg3-utils/sg3-utils_1.42.bb | 1 + ...{python-unidiff_0.5.4.bb => python-unidiff.inc} | 2 +- .../python/python-unidiff_0.5.4.bb | 11 +- .../python/python3-coverage_4.4.1.bb | 10 + .../python/python3-langtable_0.0.37.bb | 22 + .../python/python3-ntplib_0.3.3.bb | 12 + .../python/python3-ordered-set_2.0.2.bb | 10 + .../0001-remove-requirement-of-nose.patch | 29 + .../recipes-devtools/python/python3-pid_2.1.1.bb | 14 + .../0001-support-cross-complication.patch | 61 ++ .../recipes-devtools/python/python3-prctl_1.6.1.bb | 22 + .../python/python3-requests-file_1.4.2.bb | 14 + .../python/python3-requests-ftp_0.3.1.bb | 14 + .../python/python3-unidiff_0.5.4.bb | 2 + 73 files changed, 2548 insertions(+), 268 deletions(-) create mode 100644 meta-initramfs/recipes-devtools/grubby/grubby/0001-Add-another-variable-LIBS-to-provides-libraries-from.patch create mode 100644 meta-initramfs/recipes-devtools/grubby/grubby/0002-include-paths.h-for-_PATH_MOUNTED.patch create mode 100644 meta-networking/recipes-connectivity/rdate/rdate/0001-rdate-define-logwtmp-on-libc-glibc.patch create mode 100644 meta-networking/recipes-daemons/igmpproxy/igmpproxy/0001-src-igmpproxy.h-Include-sys-types.h-for-u_short-u_in.patch delete mode 100644 meta-networking/recipes-daemons/ippool/ippool/0001-usl_timer-Check-for-return-value-of-write-API.patch create mode 100644 meta-networking/recipes-daemons/postfix/files/0001-Check-for-glibc-before-setting-CANT_USE_SEND_RECV_MS.patch create mode 100644 meta-networking/recipes-netkit/netkit-ftp/netkit-ftp/0001-ftp-include-sys-types.h-for-u_long.patch create mode 100644 meta-oe/recipes-connectivity/linuxptp/linuxptp/0003-include-missing-time.h-for-time_t.patch create mode 100644 meta-oe/recipes-connectivity/linuxptp/linuxptp/0004-Adjust-include-header-sequence-to-avoid-duplicate-de.patch rename meta-oe/recipes-connectivity/linuxptp/{linuxptp_1.6.bb => linuxptp_1.8.bb} (66%) create mode 100644 meta-oe/recipes-connectivity/phonet-utils/phonet-utils/0001-Include-limits.h-for-PATH_MAX.patch create mode 100644 meta-oe/recipes-devtools/glade/glade/remove-yelp-help-rules-var.patch rename meta-oe/recipes-devtools/glade/{files => glade3}/0001-gnome-doc-utils.make-sysrooted-pkg-config.patch (100%) rename meta-oe/recipes-devtools/glade/{files => glade3}/0002-fix-gcc-6-build.patch (100%) create mode 100644 meta-oe/recipes-devtools/glade/glade_3.20.0.bb delete mode 100644 meta-oe/recipes-extended/efivar/efivar/0001-Remove-some-extra-const-that-gcc-complains-about.patch create mode 100644 meta-oe/recipes-extended/efivar/efivar/0001-makeguids-Do-not-use-__bswap_constant_-16-32-macros.patch delete mode 100644 meta-oe/recipes-extended/efivar/efivar/0002-New-gcc-version-new-way-symbol-versioning-breaks.patch delete mode 100644 meta-oe/recipes-extended/efivar/efivar/0002-disable-static-build.patch create mode 100644 meta-oe/recipes-extended/efivar/efivar/musl-strndupa.patch rename meta-oe/recipes-extended/efivar/{efivar_0.24.bb => efivar_0.31.bb} (83%) create mode 100644 meta-oe/recipes-extended/nicstat/nicstat/0001-nicstat.c-Do-not-define-uint64_t-and-uint32_t.patch create mode 100644 meta-oe/recipes-extended/zlog/zlog/0001-event.c-Cast-pthread_t-to-unsigned-long-instead-of-u.patch rename meta-oe/recipes-graphics/xorg-driver/{xf86-video-nouveau_1.0.12.bb => xf86-video-nouveau_1.0.15.bb} (58%) delete mode 100644 meta-oe/recipes-support/gperftools/gperftools/0001-Fix-build-failure-for-ppc.patch create mode 100644 meta-oe/recipes-support/gperftools/gperftools/0001-fix-build-with-musl-libc.patch create mode 100644 meta-oe/recipes-support/gperftools/gperftools/0001-include-fcntl.h-for-loff_t-definition.patch rename meta-oe/recipes-support/gperftools/{gperftools_2.5.bb => gperftools_2.6.1.bb} (67%) create mode 100644 meta-oe/recipes-support/lm_sensors/lmsensors/0001-prog-Do-not-limit-sys-io.h-header-include-to-just-gl.patch create mode 100644 meta-oe/recipes-support/multipath-tools/files/0001-kpartx-include-limits.h-for-PATH_MAX.patch rename meta-oe/recipes-support/numactl/{numactl_2.0.11.bb => numactl_git.bb} (88%) create mode 100644 meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-Remove-assumptions-about-glibc-being-only-libc-imple.patch create mode 100644 meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-include-poll.h-instead-of-obsolete-sys-poll.h.patch create mode 100644 meta-oe/recipes-support/open-vm-tools/open-vm-tools/0003-Rename-poll.h-to-vm_poll.h.patch create mode 100644 meta-oe/recipes-support/open-vm-tools/open-vm-tools/0004-Add-Wno-incompatible-pointer-types-and-Wno-error-add.patch create mode 100644 meta-oe/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-test-for-struct-timespec.patch create mode 100644 meta-oe/recipes-support/open-vm-tools/open-vm-tools/0006-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch create mode 100644 meta-oe/recipes-support/open-vm-tools/open-vm-tools/0007-Use-configure-to-test-for-feature-instead-of-platfor.patch create mode 100644 meta-oe/recipes-support/open-vm-tools/open-vm-tools/0008-use-posix-strerror_r-unless-gnu.patch create mode 100644 meta-oe/recipes-support/open-vm-tools/open-vm-tools/0009-Add-support-for-building-with-system-libtirpc.patch create mode 100644 meta-oe/recipes-support/open-vm-tools/open-vm-tools/0010-gnu-ucontext.patch create mode 100644 meta-oe/recipes-support/open-vm-tools/open-vm-tools/0011-Use-configure-test-for-sys-stat.h-include.patch copy meta-python/recipes-devtools/python/{python-unidiff_0.5.4.bb => python-unidiff.inc} (93%) create mode 100644 meta-python/recipes-devtools/python/python3-coverage_4.4.1.bb create mode 100644 meta-python/recipes-devtools/python/python3-langtable_0.0.37.bb create mode 100644 meta-python/recipes-devtools/python/python3-ntplib_0.3.3.bb create mode 100644 meta-python/recipes-devtools/python/python3-ordered-set_2.0.2.bb create mode 100644 meta-python/recipes-devtools/python/python3-pid/0001-remove-requirement-of-nose.patch create mode 100644 meta-python/recipes-devtools/python/python3-pid_2.1.1.bb create mode 100644 meta-python/recipes-devtools/python/python3-prctl/0001-support-cross-complication.patch create mode 100644 meta-python/recipes-devtools/python/python3-prctl_1.6.1.bb create mode 100644 meta-python/recipes-devtools/python/python3-requests-file_1.4.2.bb create mode 100644 meta-python/recipes-devtools/python/python3-requests-ftp_0.3.1.bb create mode 100644 meta-python/recipes-devtools/python/python3-unidiff_0.5.4.bb -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:51:07 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:51:07 +0000 Subject: [oe-commits] [meta-openembedded] 03/67: security_flags.inc: Delete In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125104.4C9BB2335DA@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 4e2ff96047d5528527c8a733d15b83b5eac67164 Author: Khem Raj AuthorDate: Sat Jul 8 06:17:41 2017 -0700 security_flags.inc: Delete OE-Core has now reworked the PIE flags, where they are implicitly passed by compiler when security flags are enabled None of these pinnings are needed anymore, since these packages compile fine with security flags enabled Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../include/meta_networking_security_flags.inc | 10 -------- meta-networking/conf/layer.conf | 3 --- .../conf/distro/include/meta_oe_security_flags.inc | 28 ---------------------- meta-oe/conf/layer.conf | 3 --- 4 files changed, 44 deletions(-) diff --git a/meta-networking/conf/distro/include/meta_networking_security_flags.inc b/meta-networking/conf/distro/include/meta_networking_security_flags.inc deleted file mode 100644 index 19e13ea..0000000 --- a/meta-networking/conf/distro/include/meta_networking_security_flags.inc +++ /dev/null @@ -1,10 +0,0 @@ -# configure righteously complains: -# | configure:3479: using CFLAGS: -O2 -pipe -g -feliminate-unused-debug-types -fstack-protector-strong -pie -fpie -D_FORTIFY_SOURCE=2 -# | configure:3485: CFLAGS error: CFLAGS may only be used to specify C compiler flags, not macro definitions. Use CPPFLAGS for: -D_FORTIFY_SOURCE=2 -# | configure:3516: error: Can not continue. Fix errors mentioned immediately above this line. - -# Make sure it's at least empty in builds which don't include -# conf/distro/include/security_flags.inc -lcl_maybe_fortify ?= "" -TARGET_CFLAGS_remove_pn-c-ares = "${lcl_maybe_fortify}" -TARGET_CPPFLAGS_append_pn-c-ares = "${lcl_maybe_fortify}" diff --git a/meta-networking/conf/layer.conf b/meta-networking/conf/layer.conf index b5aa159..2dfde4b 100644 --- a/meta-networking/conf/layer.conf +++ b/meta-networking/conf/layer.conf @@ -19,9 +19,6 @@ LAYERDEPENDS_networking-layer += "meta-python" LICENSE_PATH += "${LAYERDIR}/licenses" -# Override security flags -require conf/distro/include/meta_networking_security_flags.inc - SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \ wireguard-tools->wireguard-module \ " diff --git a/meta-oe/conf/distro/include/meta_oe_security_flags.inc b/meta-oe/conf/distro/include/meta_oe_security_flags.inc deleted file mode 100644 index 03868bf..0000000 --- a/meta-oe/conf/distro/include/meta_oe_security_flags.inc +++ /dev/null @@ -1,28 +0,0 @@ -# Build errors with the pie options enabled -SECURITY_CFLAGS_pn-libdbus-c++ = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-libdevmapper = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-lvm2 = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-rrdtool = "${SECURITY_NO_PIE_CFLAGS}" - -# This has text reloc errors with the pie options enabled -SECURITY_CFLAGS_pn-llvm3.3 = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-mozjs = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-openldap = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-s3c64xx-gpio = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-s3c24xx-gpio = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-cpufrequtils = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-libcec = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-libmodplug = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-libcdio = "${SECURITY_NO_PIE_CFLAGS}" - -#| /mnt/b/build/tmp-glibc/sysroots/intel-corei7-64/usr/lib/libc_nonshared.a(elf-init.oS): In function `__libc_csu_init': -#| /usr/src/debug/glibc/2.24-r0/git/csu/elf-init.c:86: undefined reference to `__init_array_start' - -SECURITY_CFLAGS_pn-libvdpau = "${SECURITY_NO_PIE_CFLAGS}" - -#| /mnt/a/build/tmp-glibc/sysroots/x86_64-linux/usr/libexec/x86_64-oe-linux/gcc/x86_64-oe-linux/6.2.0/ld: lj_err_dyn.o: relocation R_X86_64_TPOFF32 against `static_uex' can not be used when making a shared object; recompile with -fPIC -#| /mnt/a/build/tmp-glibc/sysroots/x86_64-linux/usr/libexec/x86_64-oe-linux/gcc/x86_64-oe-linux/6.2.0/ld: final link failed: Nonrepresentable section on output -#| collect2: error: ld returned 1 exit status -#| make[1]: *** [Makefile:675: libluajit.so] Error 1 -SECURITY_CFLAGS_pn-luajit = "${SECURITY_NO_PIE_CFLAGS}" - diff --git a/meta-oe/conf/layer.conf b/meta-oe/conf/layer.conf index 54425c6..f0d21ed 100644 --- a/meta-oe/conf/layer.conf +++ b/meta-oe/conf/layer.conf @@ -77,7 +77,4 @@ SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \ FREESMARTPHONE_GIT = "git://git.freesmartphone.org" -# Override security flags -require conf/distro/include/meta_oe_security_flags.inc - HOSTTOOLS += "id" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:51:08 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:51:08 +0000 Subject: [oe-commits] [meta-openembedded] 04/67: pptp-linux: Upgrade to 1.9.0 In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125104.541522335DB@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit bab9f814f13de1233beb4d63c982ec17ef66abd0 Author: Khem Raj AuthorDate: Sat Jul 8 06:17:44 2017 -0700 pptp-linux: Upgrade to 1.9.0 Fix build errors found when building for musl while here Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../0001-include-missing-sys-types.h.patch | 28 ++++++++++++++++++++++ .../{pptp-linux-1.8.0 => pptp-linux}/options.pptp | 0 .../{pptp-linux_1.8.0.bb => pptp-linux_1.9.0.bb} | 9 ++++--- 3 files changed, 32 insertions(+), 5 deletions(-) diff --git a/meta-networking/recipes-protocols/pptp-linux/pptp-linux/0001-include-missing-sys-types.h.patch b/meta-networking/recipes-protocols/pptp-linux/pptp-linux/0001-include-missing-sys-types.h.patch new file mode 100644 index 0000000..804bf12 --- /dev/null +++ b/meta-networking/recipes-protocols/pptp-linux/pptp-linux/0001-include-missing-sys-types.h.patch @@ -0,0 +1,28 @@ +From f6c4d2468ae0dadd2f35680d61b98b2a59077328 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 7 Jul 2017 10:31:03 -0700 +Subject: [PATCH] include missing sys/types.h + +Fixes errors seen on musl +pqueue.h:21:3: error: unknown type name 'u_int32_t' + +Signed-off-by: Khem Raj +--- + pqueue.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/pqueue.h b/pqueue.h +index c37ba7b..ae4cc6a 100644 +--- a/pqueue.h ++++ b/pqueue.h +@@ -3,6 +3,7 @@ + + #include + #include ++#include + + /* wait this many seconds for missing packets before forgetting about them */ + #define DEFAULT_PACKET_TIMEOUT 0.3 +-- +2.13.2 + diff --git a/meta-networking/recipes-protocols/pptp-linux/pptp-linux-1.8.0/options.pptp b/meta-networking/recipes-protocols/pptp-linux/pptp-linux/options.pptp similarity index 100% rename from meta-networking/recipes-protocols/pptp-linux/pptp-linux-1.8.0/options.pptp rename to meta-networking/recipes-protocols/pptp-linux/pptp-linux/options.pptp diff --git a/meta-networking/recipes-protocols/pptp-linux/pptp-linux_1.8.0.bb b/meta-networking/recipes-protocols/pptp-linux/pptp-linux_1.9.0.bb similarity index 81% rename from meta-networking/recipes-protocols/pptp-linux/pptp-linux_1.8.0.bb rename to meta-networking/recipes-protocols/pptp-linux/pptp-linux_1.9.0.bb index bc8b2cb..10c9170 100644 --- a/meta-networking/recipes-protocols/pptp-linux/pptp-linux_1.8.0.bb +++ b/meta-networking/recipes-protocols/pptp-linux/pptp-linux_1.9.0.bb @@ -9,14 +9,13 @@ SECTION = "net" LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" -PR = "r1" - SRC_URI = "${SOURCEFORGE_MIRROR}/sourceforge/pptpclient/pptp-${PV}.tar.gz \ file://options.pptp \ -" + file://0001-include-missing-sys-types.h.patch \ + " -SRC_URI[md5sum] = "4efce9f263e2c3f38d79d9df222476de" -SRC_URI[sha256sum] = "e39c42d933242a8a6dd8600a0fa7f0a5ec8f066d10c4149d8e81a5c68fe4bbda" +SRC_URI[md5sum] = "b2117b377f65294a9786f80f0235d308" +SRC_URI[sha256sum] = "0b1e8cbfc578d3f5ab12ee87c5c2c60419abfe9cc445690a8a19c320b11c9201" S = "${WORKDIR}/pptp-${PV}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:51:11 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:51:11 +0000 Subject: [oe-commits] [meta-openembedded] 07/67: fuse: Correct runlevels and startup order In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125104.6C42E2335DE@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 86f964986a8db5bbd30c5551d81ab6adf3f01cdf Author: Alex Stewart AuthorDate: Thu Jul 13 13:43:28 2017 -0500 fuse: Correct runlevels and startup order :**/fuse*.bb * Assert INITSCRIPT_PARAMS to install the fuse initscript according to its LSB header instead of defaults. Script now starts only during runlevel 'S'. * Also set priority to 03 such that fuse is loaded before udev. This enables systems which utilize udev to mount exfat and other fuse-provided filesystems as a part of the boot process. Natinst-CAR-ID: 630632 Signed-off-by: Alex Stewart Signed-off-by: Martin Jansa --- meta-filesystems/recipes-support/fuse/fuse_2.9.7.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-filesystems/recipes-support/fuse/fuse_2.9.7.bb b/meta-filesystems/recipes-support/fuse/fuse_2.9.7.bb index 000a6e2..202d4c3 100644 --- a/meta-filesystems/recipes-support/fuse/fuse_2.9.7.bb +++ b/meta-filesystems/recipes-support/fuse/fuse_2.9.7.bb @@ -22,6 +22,7 @@ SRC_URI[sha256sum] = "832432d1ad4f833c20e13b57cf40ce5277a9d33e483205fc63c78111b3 inherit autotools pkgconfig update-rc.d systemd INITSCRIPT_NAME = "fuse" +INITSCRIPT_PARAMS = "start 3 S . stop 20 0 6 ." SYSTEMD_SERVICE_${PN} = "" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:51:10 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:51:10 +0000 Subject: [oe-commits] [meta-openembedded] 06/67: librcf: RDEPENDS on protobuf, json-spirit In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125104.654752335DD@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 157ce328efb47da6047b0b1b654ae4647c20d0f7 Author: Ming Liu AuthorDate: Wed Jul 12 17:56:04 2017 +0200 librcf: RDEPENDS on protobuf, json-spirit librcf only refers some functions defined in protobuf and json-spirit headers, but does not link to any protobuf or json-spirit libraries, so technically librcf does not have runtime dependencies on protobuf or json-spirit. But we still need set it, or else we are missing do_package* task dependencies between them, hence will lead protobuf-dev and json-spirit-dev would not be installed during SDK populating, when building from sstate(do_package* dependencies skipped by setscene_depvalid optimization). Signed-off-by: Ming Liu Signed-off-by: Martin Jansa --- meta-oe/recipes-devtools/librcf/librcf_2.2.0.0.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-oe/recipes-devtools/librcf/librcf_2.2.0.0.bb b/meta-oe/recipes-devtools/librcf/librcf_2.2.0.0.bb index dee7427..43eff72 100644 --- a/meta-oe/recipes-devtools/librcf/librcf_2.2.0.0.bb +++ b/meta-oe/recipes-devtools/librcf/librcf_2.2.0.0.bb @@ -34,8 +34,8 @@ PACKAGECONFIG[sf-serialization] = "-DLIBRCF_USE_SF_SERIALIZATION=ON,-DLIBRCF_USE PACKAGECONFIG[boost-serialization] = "-DLIBRCF_USE_BOOST_SERIALIZATION=ON,-DLIBRCF_USE_BOOST_SERIALIZATION=OFF,boost," PACKAGECONFIG[boost-filesystem] = "-DLIBRCF_USE_BOOST_FILESYSTEM=ON,-DLIBRCF_USE_BOOST_FILESYSTEM=OFF,boost," PACKAGECONFIG[boost-asio] = "-DLIBRCF_USE_BOOST_ASIO=ON,-DLIBRCF_USE_BOOST_ASIO=OFF,boost," -PACKAGECONFIG[protobuf] = "-DLIBRCF_USE_PROTOBUF=ON,-DLIBRCF_USE_PROTOBUF=OFF,protobuf," -PACKAGECONFIG[json] = "-DLIBRCF_USE_JSON=ON,-DLIBRCF_USE_JSON=OFF,json-spirit," +PACKAGECONFIG[protobuf] = "-DLIBRCF_USE_PROTOBUF=ON,-DLIBRCF_USE_PROTOBUF=OFF,protobuf,protobuf" +PACKAGECONFIG[json] = "-DLIBRCF_USE_JSON=ON,-DLIBRCF_USE_JSON=OFF,json-spirit,json-spirit" PACKAGECONFIG[ipv6] = "-DLIBRCF_USE_IPV6=ON,-DLIBRCF_USE_IPV6=OFF," PACKAGECONFIG[custom-allocator] = "-DLIBRCF_USE_CUSTOM_ALLOCATOR=ON,-DLIBRCF_USE_CUSTOM_ALLOCATOR=OFF," PACKAGECONFIG[dll] = "-DLIBRCF_BUILD_DLL=ON,-DLIBRCF_BUILD_DLL=OFF," -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:51:13 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:51:13 +0000 Subject: [oe-commits] [meta-openembedded] 09/67: klibc: Fix build issue when default ISA is not thumb In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125104.7D5A12335E0@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit e502443b55d727b5540791a0c38149c6e65c319b Author: Khem Raj AuthorDate: Thu Jul 13 22:39:56 2017 -0700 klibc: Fix build issue when default ISA is not thumb We were passing empty string '' to make as option when ISA was not thumb this breaks build for machines/distros which do not use ARM_INSTRUCTION_SET = thumb Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- meta-initramfs/recipes-devtools/klibc/klibc.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-initramfs/recipes-devtools/klibc/klibc.inc b/meta-initramfs/recipes-devtools/klibc/klibc.inc index c4c3e00..cd3f398 100644 --- a/meta-initramfs/recipes-devtools/klibc/klibc.inc +++ b/meta-initramfs/recipes-devtools/klibc/klibc.inc @@ -42,7 +42,7 @@ EXTRA_OEMAKE = "'KLIBCARCH=${KLIBC_ARCH}' \ " export FIX_ARMV4_EABI_BX = "${FIX_V4BX}" -KLIBCTHUMB = "${@['', 'CONFIG_KLIBC_THUMB=y'][(d.getVar('ARM_INSTRUCTION_SET') == 'thumb')]}" +KLIBCTHUMB = "${@['CONFIG_KLIBC_THUMB=n', 'CONFIG_KLIBC_THUMB=y'][(d.getVar('ARM_INSTRUCTION_SET') == 'thumb')]}" do_configure () { ln -sf "${STAGING_DIR_TARGET}${exec_prefix}" linux -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:51:12 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:51:12 +0000 Subject: [oe-commits] [meta-openembedded] 08/67: recipes-utils: Add recipe for udevil In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125104.730C42335DF@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit d687f2cc58a2aed4117de000ed8114b24213aac8 Author: Krzysztof Kozlowski AuthorDate: Thu Jul 13 22:59:55 2017 +0200 recipes-utils: Add recipe for udevil udevil is a command line Linux program which mounts and unmounts removable devices without a password. Signed-off-by: Krzysztof Kozlowski Signed-off-by: Martin Jansa --- .../0001-udevil-0.4.3-fix-compile-with-gcc6.patch | 12 ++++++++ ...e.am-Use-systemd_unitdir-instead-of-libdi.patch | 32 ++++++++++++++++++++++ .../recipes-utils/udevil/udevil_0.4.4.bb | 28 +++++++++++++++++++ 3 files changed, 72 insertions(+) diff --git a/meta-filesystems/recipes-utils/udevil/files/0001-udevil-0.4.3-fix-compile-with-gcc6.patch b/meta-filesystems/recipes-utils/udevil/files/0001-udevil-0.4.3-fix-compile-with-gcc6.patch new file mode 100644 index 0000000..355e93a --- /dev/null +++ b/meta-filesystems/recipes-utils/udevil/files/0001-udevil-0.4.3-fix-compile-with-gcc6.patch @@ -0,0 +1,12 @@ +Fix compilation with GCC6 + +--- a/src/device-info.c 2013-12-09 14:59:27.000000000 +0100 ++++ b/src/device-info.c 2017-03-13 07:06:25.506666680 +0100 +@@ -3,6 +3,7 @@ + * contains code excerpts from udisks v1.0.4 + ************************************************************************** */ + ++#include + #include "device-info.h" + + static char * diff --git a/meta-filesystems/recipes-utils/udevil/files/0002-etc-Makefile.am-Use-systemd_unitdir-instead-of-libdi.patch b/meta-filesystems/recipes-utils/udevil/files/0002-etc-Makefile.am-Use-systemd_unitdir-instead-of-libdi.patch new file mode 100644 index 0000000..f014a0f --- /dev/null +++ b/meta-filesystems/recipes-utils/udevil/files/0002-etc-Makefile.am-Use-systemd_unitdir-instead-of-libdi.patch @@ -0,0 +1,32 @@ +From 80b087193698632e525b90d45b4a49e61e343e1c Mon Sep 17 00:00:00 2001 +From: Krzysztof Kozlowski +Date: Thu, 13 Jul 2017 21:30:35 +0200 +Subject: [PATCH] etc: Makefile.am: Use systemd_unitdir instead of libdir + +Proper directory for installing systemd services is systemd_unitdir, not +libdir. + +Signed-off-by: Krzysztof Kozlowski +--- + etc/Makefile.am | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/etc/Makefile.am b/etc/Makefile.am +index 9b6e7522c20f..6d663241a72f 100644 +--- a/etc/Makefile.am ++++ b/etc/Makefile.am +@@ -16,8 +16,8 @@ if ADD_SYSTEMD + test -f $(DESTDIR)/$(sysconfdir)/conf.d/devmon || $(INSTALL_DATA) \ + $(srcdir)/systemd/devmon \ + $(DESTDIR)/$(sysconfdir)/conf.d/devmon +- test -d $(DESTDIR)/$(libdir)/systemd/system || \ +- mkdir -p -- $(DESTDIR)/$(libdir)/systemd/system ++ test -d $(DESTDIR)/$(systemd_unitdir)/system || \ ++ mkdir -p -- $(DESTDIR)/$(systemd_unitdir)/system + $(INSTALL_DATA) $(srcdir)/systemd/devmon at .service \ +- $(DESTDIR)/$(libdir)/systemd/system/devmon at .service ++ $(DESTDIR)/$(systemd_unitdir)/system/devmon at .service + endif +-- +2.11.0 + diff --git a/meta-filesystems/recipes-utils/udevil/udevil_0.4.4.bb b/meta-filesystems/recipes-utils/udevil/udevil_0.4.4.bb new file mode 100644 index 0000000..c432e85 --- /dev/null +++ b/meta-filesystems/recipes-utils/udevil/udevil_0.4.4.bb @@ -0,0 +1,28 @@ +SUMMARY = "A command line Linux program which mounts and unmounts removable devices" +HOMEPAGE = "http://ignorantguru.github.io/udevil/" + +DEPENDS = "glib-2.0 \ + glib-2.0-native \ + intltool-native \ + udev \ +" +RDEPENDS_${PN} = "udev" + +LICENSE = "GPL-3.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +inherit autotools systemd + +SRC_URI = "https://github.com/IgnorantGuru/udevil/raw/pkg/${PV}/udevil-${PV}.tar.xz \ + file://0001-udevil-0.4.3-fix-compile-with-gcc6.patch \ + file://0002-etc-Makefile.am-Use-systemd_unitdir-instead-of-libdi.patch \ +" + +SRC_URI[md5sum] = "dc1c489b603a0500a04dc7e1805ac1d9" +SRC_URI[sha256sum] = "ce8c51fd4d589cda7be56e75b42188deeb258c66fc911a9b3a70a3945c157739" + +PACKAGECONFIG = "${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','',d)}" +PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd" + +SYSTEMD_SERVICE_${PN} = "devmon at .service" +SYSTEMD_AUTO_ENABLE = "disable" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:51:09 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:51:09 +0000 Subject: [oe-commits] [meta-openembedded] 05/67: ebtables: replace ebtables-save perl script with bash rewrite In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125104.5B45F2335DC@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 82c41b3a97a67c653a1b76ca0657db162bef8a71 Author: Andre McCurdy AuthorDate: Tue Jul 11 10:09:11 2017 -0700 ebtables: replace ebtables-save perl script with bash rewrite Fedora provides a bash replacement for the default ebtables-save perl script. Using it allows the ebtables run-time dependency on perl to be replaced with a runtime dependency on bash - which is lower overhead and more likely to be present on typical embedded systems already. https://bugzilla.redhat.com/show_bug.cgi?id=746040 http://pkgs.fedoraproject.org/cgit/rpms/ebtables.git/tree/ebtables-save Since ebtables-save no longer contains a references to /usr, the previous QA issue workaround of moving it from ${base_sbindir} to ${sbindir} is no longer required. http://git.openembedded.org/meta-openembedded/commit/?id=a7c6fcebee7d9f86c356ea92de445d89e714ff62 Signed-off-by: Andre McCurdy Signed-off-by: Martin Jansa --- .../ebtables/ebtables-2.0.10-4/ebtables-save | 43 ++++++++++++++++++++++ .../recipes-filter/ebtables/ebtables_2.0.10-4.bb | 15 ++++---- 2 files changed, 50 insertions(+), 8 deletions(-) diff --git a/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/ebtables-save b/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/ebtables-save new file mode 100755 index 0000000..2d7fc4e --- /dev/null +++ b/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/ebtables-save @@ -0,0 +1,43 @@ +#!/bin/bash + +EBTABLES="/sbin/ebtables" + +[ -x "$EBTABLES" ] || exit 1 + +echo "# Generated by ebtables-save v1.0 on $(date)" + +cnt="" +[ "x$EBTABLES_SAVE_COUNTER" = "xyes" ] && cnt="--Lc" + +for table_name in $(grep -E '^ebtable_' /proc/modules | cut -f1 -d' ' | sed s/ebtable_//); do + table=$($EBTABLES -t $table_name -L $cnt) + [ $? -eq 0 ] || { echo "$table"; exit -1; } + + chain="" + rules="" + while read line; do + [ -z "$line" ] && continue + + case "$line" in + Bridge\ table:\ *) + echo "*${line:14}" + ;; + Bridge\ chain:\ *) + chain="${line:14}" + chain="${chain%%,*}" + policy="${line##*policy: }" + echo ":$chain $policy" + ;; + *) + if [ "$cnt" = "--Lc" ]; then + line=${line/, pcnt \=/ -c} + line=${line/-- bcnt \=/} + fi + rules="$rules-A $chain $line\n" + ;; + esac + done < References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125104.9C0BA23360E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit cd075a54252e3467fbdaf9b9519f8017c97393e1 Author: Khem Raj AuthorDate: Thu Jul 13 22:40:01 2017 -0700 lightmediascanner: Define comparison_fn_t if undefined Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...ine-comparison_fn_t-for-non-glibc-systems.patch | 33 ++++++++++++++++++++++ .../lightmediascanner/lightmediascanner_0.5.1.bb | 1 + 2 files changed, 34 insertions(+) diff --git a/meta-efl/recipes-multimedia/lightmediascanner/files/0001-Define-comparison_fn_t-for-non-glibc-systems.patch b/meta-efl/recipes-multimedia/lightmediascanner/files/0001-Define-comparison_fn_t-for-non-glibc-systems.patch new file mode 100644 index 0000000..15d4b3f --- /dev/null +++ b/meta-efl/recipes-multimedia/lightmediascanner/files/0001-Define-comparison_fn_t-for-non-glibc-systems.patch @@ -0,0 +1,33 @@ +From 5bc5b8c5dad3edec6736fd7e7ce61250c4ce3725 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 12 Jul 2017 17:13:19 -0700 +Subject: [PATCH] Define comparison_fn_t for non-glibc systems + +lightmediascanner.c:324:12: error: 'comparison_fn_t' undeclared (first use in this function) + (comparison_fn_t)_plugin_sort); + ^~~~~~~~~~~~~~~ + +Signed-off-by: Khem Raj +--- + src/lib/lightmediascanner.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/src/lib/lightmediascanner.c b/src/lib/lightmediascanner.c +index 344b247..b866883 100644 +--- a/src/lib/lightmediascanner.c ++++ b/src/lib/lightmediascanner.c +@@ -37,6 +37,11 @@ + #define DEFAULT_SLAVE_TIMEOUT 1000 + #define DEFAULT_COMMIT_INTERVAL 100 + ++#if !defined(__GLIBC__) ++typedef int (*__compar_fn_t) (const void*, const void*); ++typedef __compar_fn_t comparison_fn_t; ++#endif ++ + #ifdef HAVE_MAGIC_H + static magic_t _magic_handle; + +-- +2.13.2 + diff --git a/meta-efl/recipes-multimedia/lightmediascanner/lightmediascanner_0.5.1.bb b/meta-efl/recipes-multimedia/lightmediascanner/lightmediascanner_0.5.1.bb index d8c6dbb..f215876 100644 --- a/meta-efl/recipes-multimedia/lightmediascanner/lightmediascanner_0.5.1.bb +++ b/meta-efl/recipes-multimedia/lightmediascanner/lightmediascanner_0.5.1.bb @@ -12,6 +12,7 @@ PV = "0.5.1+git${SRCPV}" SRCREV = "adfddb3486276a5ed2f5008c9e43a811e1271cc9" SRC_URI = "git://github.com/profusion/lightmediascanner.git \ file://id3-plugin-support-out-of-tree-build.patch \ + file://0001-Define-comparison_fn_t-for-non-glibc-systems.patch \ " S = "${WORKDIR}/git" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:51:15 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:51:15 +0000 Subject: [oe-commits] [meta-openembedded] 11/67: sox: Fix build with musl In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125104.895082335E4@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 5dec3500971411ccacae799ac7de265461047b68 Author: Khem Raj AuthorDate: Thu Jul 13 22:39:58 2017 -0700 sox: Fix build with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...error-line-and-live-without-file-type-det.patch | 28 ++++++++++++++++++++++ .../recipes-multimedia/sox/sox_14.4.0.bb | 4 +++- 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/meta-multimedia/recipes-multimedia/sox/sox/0001-remove-the-error-line-and-live-without-file-type-det.patch b/meta-multimedia/recipes-multimedia/sox/sox/0001-remove-the-error-line-and-live-without-file-type-det.patch new file mode 100644 index 0000000..605863a --- /dev/null +++ b/meta-multimedia/recipes-multimedia/sox/sox/0001-remove-the-error-line-and-live-without-file-type-det.patch @@ -0,0 +1,28 @@ +From c2aed28e3e14329ad0a8c4371fdcce9934013f21 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 12 Jul 2017 16:36:06 -0700 +Subject: [PATCH] remove the #error line and live without file-type detection + with pipes + +this fallback is executed with musl + +Signed-off-by: Khem Raj +--- + src/formats.c | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/src/formats.c b/src/formats.c +index 7e231ca..b13f0d5 100644 +--- a/src/formats.c ++++ b/src/formats.c +@@ -416,7 +416,6 @@ static void UNUSED rewind_pipe(FILE * fp) + /* To fix this #error, either simply remove the #error line and live without + * file-type detection with pipes, or add support for your compiler in the + * lines above. Test with cat monkey.au | ./sox --info - */ +- #error FIX NEEDED HERE + #define NO_REWIND_PIPE + (void)fp; + #endif +-- +2.13.2 + diff --git a/meta-multimedia/recipes-multimedia/sox/sox_14.4.0.bb b/meta-multimedia/recipes-multimedia/sox/sox_14.4.0.bb index ada958b..e115f1c 100644 --- a/meta-multimedia/recipes-multimedia/sox/sox_14.4.0.bb +++ b/meta-multimedia/recipes-multimedia/sox/sox_14.4.0.bb @@ -27,7 +27,9 @@ LICENSE = "GPLv2 & LGPLv2.1" LIC_FILES_CHKSUM = "file://LICENSE.GPL;md5=751419260aa954499f7abaabaa882bbe \ file://LICENSE.LGPL;md5=fbc093901857fcd118f065f900982c24" -SRC_URI = "${SOURCEFORGE_MIRROR}/sox/sox-${PV}.tar.gz" +SRC_URI = "${SOURCEFORGE_MIRROR}/sox/sox-${PV}.tar.gz \ + file://0001-remove-the-error-line-and-live-without-file-type-det.patch \ + " SRC_URI[md5sum] = "b0c15cff7a4ba0ec17fdc74e6a1f9cf1" SRC_URI[sha256sum] = "3ee34b14dd267de378e8a117aae81ec4cae330772342e6a55bbf6520a0a88aa3" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:51:14 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:51:14 +0000 Subject: [oe-commits] [meta-openembedded] 10/67: libteam: Upgrade to 1.27 In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125104.8367B2335E2@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit d6ea68debdd831896b35ae7dd45cf8efee26115f Author: Khem Raj AuthorDate: Thu Jul 13 22:39:57 2017 -0700 libteam: Upgrade to 1.27 Fix build with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...nclude-sys-select.h-for-fd_set-definition.patch | 28 +++++++++++++++ ...0002-teamd-Re-adjust-include-header-order.patch | 40 ++++++++++++++++++++++ .../libteam/{libteam_1.26.bb => libteam_1.27.bb} | 7 ++-- 3 files changed, 73 insertions(+), 2 deletions(-) diff --git a/meta-oe/recipes-support/libteam/libteam/0001-include-sys-select.h-for-fd_set-definition.patch b/meta-oe/recipes-support/libteam/libteam/0001-include-sys-select.h-for-fd_set-definition.patch new file mode 100644 index 0000000..a4a17ed --- /dev/null +++ b/meta-oe/recipes-support/libteam/libteam/0001-include-sys-select.h-for-fd_set-definition.patch @@ -0,0 +1,28 @@ +From 0ab69dc18a2057ff5bf41abcdf2b983b72d5a903 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 12 Jul 2017 15:34:49 -0700 +Subject: [PATCH 1/2] include sys/select.h for fd_set definition + +Fixes +teamnl.c:160:2: error: unknown type name 'fd_set'; did you mean 'fpos_t'? + +Signed-off-by: Khem Raj +--- + utils/teamnl.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/utils/teamnl.c b/utils/teamnl.c +index e8de7e2..25129e8 100644 +--- a/utils/teamnl.c ++++ b/utils/teamnl.c +@@ -24,6 +24,7 @@ + #include + #include + #include ++#include + #include + #include + #include +-- +2.13.2 + diff --git a/meta-oe/recipes-support/libteam/libteam/0002-teamd-Re-adjust-include-header-order.patch b/meta-oe/recipes-support/libteam/libteam/0002-teamd-Re-adjust-include-header-order.patch new file mode 100644 index 0000000..beabf63 --- /dev/null +++ b/meta-oe/recipes-support/libteam/libteam/0002-teamd-Re-adjust-include-header-order.patch @@ -0,0 +1,40 @@ +From a5b945cb3c62a18dcd7047f62707c09076c4e48b Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 12 Jul 2017 15:35:51 -0700 +Subject: [PATCH 2/2] teamd: Re-adjust include header order + +So it gets the library definition before kernel definition + +usr/include/ne +tinet/if_ether.h:101:8: error: redefinition of 'struct ethhdr' + struct ethhdr { + ^~~~~~ + +Signed-off-by: Khem Raj +--- + teamd/teamd_runner_lacp.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/teamd/teamd_runner_lacp.c b/teamd/teamd_runner_lacp.c +index 9c77fae..8800854 100644 +--- a/teamd/teamd_runner_lacp.c ++++ b/teamd/teamd_runner_lacp.c +@@ -23,6 +23,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -30,7 +31,6 @@ + #include + #include + #include +-#include + + #include "teamd.h" + #include "teamd_config.h" +-- +2.13.2 + diff --git a/meta-oe/recipes-support/libteam/libteam_1.26.bb b/meta-oe/recipes-support/libteam/libteam_1.27.bb similarity index 75% rename from meta-oe/recipes-support/libteam/libteam_1.26.bb rename to meta-oe/recipes-support/libteam/libteam_1.27.bb index 2cb9e8f..3222700 100644 --- a/meta-oe/recipes-support/libteam/libteam_1.26.bb +++ b/meta-oe/recipes-support/libteam/libteam_1.27.bb @@ -7,8 +7,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" DEPENDS = "libnl libdaemon jansson" -SRC_URI = "git://github.com/jpirko/libteam" -SRCREV = "8c1cea00a21950089058e4e33ea1f7bf4deaddeb" +SRC_URI = "git://github.com/jpirko/libteam \ + file://0001-include-sys-select.h-for-fd_set-definition.patch \ + file://0002-teamd-Re-adjust-include-header-order.patch \ + " +SRCREV = "91a928a56a501daac5ce8b3c16bd9943661f1d16" SRC_URI[md5sum] = "565114d70c41bff6093d8e57be284e8a" SRC_URI[sha256sum] = "d65286379141db141bea33424ec0507bb0f827a0bf03d9c65004bb593e3d5545" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:51:17 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:51:17 +0000 Subject: [oe-commits] [meta-openembedded] 13/67: cdparanoia: Fix build with musl In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125104.960872335E8@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit b421475560d088ea1b108c4ca2114fa3efa4b00c Author: Khem Raj AuthorDate: Thu Jul 13 22:40:00 2017 -0700 cdparanoia: Fix build with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../cdparanoia/cdparanoia_10.2.bb | 1 + ...-utils-Use-c99-compiler-independent-types.patch | 49 ++++++++++++++++++++++ 2 files changed, 50 insertions(+) diff --git a/meta-multimedia/recipes-multimedia/cdparanoia/cdparanoia_10.2.bb b/meta-multimedia/recipes-multimedia/cdparanoia/cdparanoia_10.2.bb index 30d71ff..27fa0e5 100644 --- a/meta-multimedia/recipes-multimedia/cdparanoia/cdparanoia_10.2.bb +++ b/meta-multimedia/recipes-multimedia/cdparanoia/cdparanoia_10.2.bb @@ -15,6 +15,7 @@ SRC_URI = "http://downloads.xiph.org/releases/cdparanoia/cdparanoia-III-${PV}.sr file://out-of-tree-build.patch \ file://0001-check-for-null-buffer-before-trying-a-byteswap.patch \ file://0002-Fix-printf-format-errors.patch \ + file://0001-utils-Use-c99-compiler-independent-types.patch \ " SRC_URI[md5sum] = "b304bbe8ab63373924a744eac9ebc652" SRC_URI[sha256sum] = "005db45ef4ee017f5c32ec124f913a0546e77014266c6a1c50df902a55fe64df" diff --git a/meta-multimedia/recipes-multimedia/cdparanoia/files/0001-utils-Use-c99-compiler-independent-types.patch b/meta-multimedia/recipes-multimedia/cdparanoia/files/0001-utils-Use-c99-compiler-independent-types.patch new file mode 100644 index 0000000..7699017 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/cdparanoia/files/0001-utils-Use-c99-compiler-independent-types.patch @@ -0,0 +1,49 @@ +From 89071cbc8d3ab9a15503f397580b7590338e5e91 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 12 Jul 2017 17:23:45 -0700 +Subject: [PATCH] utils: Use c99 compiler independent types + +Make it portable across different platforms + +Signed-off-by: Khem Raj +--- + utils.h | 13 +++++++------ + 1 file changed, 7 insertions(+), 6 deletions(-) + +diff --git a/utils.h b/utils.h +index 10dce58..73bba92 100644 +--- a/utils.h ++++ b/utils.h +@@ -3,6 +3,7 @@ + #include + #include + #include ++#include + + extern long buffering_write(int outf, char *buffer, long num); + extern int buffering_close(int fd); +@@ -18,15 +19,15 @@ static inline int bigendianp(void){ + } + + static inline int32_t swap32(int32_t x){ +- return((((u_int32_t)x & 0x000000ffU) << 24) | +- (((u_int32_t)x & 0x0000ff00U) << 8) | +- (((u_int32_t)x & 0x00ff0000U) >> 8) | +- (((u_int32_t)x & 0xff000000U) >> 24)); ++ return((((uint32_t)x & 0x000000ffU) << 24) | ++ (((uint32_t)x & 0x0000ff00U) << 8) | ++ (((uint32_t)x & 0x00ff0000U) >> 8) | ++ (((uint32_t)x & 0xff000000U) >> 24)); + } + + static inline int16_t swap16(int16_t x){ +- return((((u_int16_t)x & 0x00ffU) << 8) | +- (((u_int16_t)x & 0xff00U) >> 8)); ++ return((((uint16_t)x & 0x00ffU) << 8) | ++ (((uint16_t)x & 0xff00U) >> 8)); + } + + #if BYTE_ORDER == LITTLE_ENDIAN +-- +2.13.2 + -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:51:20 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:51:20 +0000 Subject: [oe-commits] [meta-openembedded] 16/67: xfce4-netload-plugin: Do not include sys/sysctl.h In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125104.A9271233611@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 49ccdec95ff98400bc587ba03957c73d57b35364 Author: Khem Raj AuthorDate: Thu Jul 13 22:40:03 2017 -0700 xfce4-netload-plugin: Do not include sys/sysctl.h Its unused, moreover it helps it compile with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...ude-sys-sysctl.h-its-unused-on-linux-port.patch | 25 ++++++++++++++++++++++ .../netload/xfce4-netload-plugin_1.3.1.bb | 3 +++ 2 files changed, 28 insertions(+) diff --git a/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin/0001-Do-not-include-sys-sysctl.h-its-unused-on-linux-port.patch b/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin/0001-Do-not-include-sys-sysctl.h-its-unused-on-linux-port.patch new file mode 100644 index 0000000..e354181 --- /dev/null +++ b/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin/0001-Do-not-include-sys-sysctl.h-its-unused-on-linux-port.patch @@ -0,0 +1,25 @@ +From 7fcc7352ec11644ac8be4e9ec1584a5be3333684 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 12 Jul 2017 18:18:30 -0700 +Subject: [PATCH] Do not include sys/sysctl.h its unused on linux port + +Signed-off-by: Khem Raj +--- + panel-plugin/os.h | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/panel-plugin/os.h b/panel-plugin/os.h +index 473c2a4..9a5c544 100644 +--- a/panel-plugin/os.h ++++ b/panel-plugin/os.h +@@ -170,7 +170,6 @@ + #elif __linux__ /* L I N U X */ + # include + # include +-# include + # include + # include + # include +-- +2.13.2 + diff --git a/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin_1.3.1.bb b/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin_1.3.1.bb index 7d77782..35c8861 100644 --- a/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin_1.3.1.bb +++ b/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin_1.3.1.bb @@ -5,5 +5,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=35a7203c41b86d15546dddc05995f97f" inherit xfce-panel-plugin +SRC_URI = "http://archive.xfce.org/src/panel-plugins/${BPN}/${@'${PV}'[0:3]}/${BPN}-${PV}.tar.bz2 \ + file://0001-Do-not-include-sys-sysctl.h-its-unused-on-linux-port.patch \ + " SRC_URI[md5sum] = "f25aa3242e3119b49f259a3e4a1af08b" SRC_URI[sha256sum] = "99762781099d1e0ab9aa6a7b30c2bd94d8f658dbe61c760410d5d42d0766391c" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:51:19 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:51:19 +0000 Subject: [oe-commits] [meta-openembedded] 15/67: lmbench: Fix build with musl In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125104.A2C2F23360F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit f35bbeff0364fb4f26a3ec69ed63d4faccd03bd8 Author: Khem Raj AuthorDate: Thu Jul 13 22:40:02 2017 -0700 lmbench: Fix build with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...usl-define-guard-before-redefining-sockle.patch | 29 +++++++++ ...t-CFLAGS-LDFLAGS-to-append-values-passed-.patch | 76 ++++++++++++++++++++++ .../recipes-benchmark/lmbench/lmbench_3.0-a9.bb | 8 ++- 3 files changed, 112 insertions(+), 1 deletion(-) diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-Check-for-musl-define-guard-before-redefining-sockle.patch b/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-Check-for-musl-define-guard-before-redefining-sockle.patch new file mode 100644 index 0000000..20791bf --- /dev/null +++ b/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-Check-for-musl-define-guard-before-redefining-sockle.patch @@ -0,0 +1,29 @@ +From 31d58ed7e6552781f415501e96d7cc74f83b910d Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 12 Jul 2017 18:08:51 -0700 +Subject: [PATCH 1/2] Check for musl define guard before redefining socklen_t + +musl uses __DEFINED_socklen_t so check for that as well +along with HAVE_socklen_t + +Signed-off-by: Khem Raj +--- + src/bench.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/bench.h b/src/bench.h +index 597d068..2ebdf5a 100644 +--- a/src/bench.h ++++ b/src/bench.h +@@ -77,7 +77,7 @@ typedef long long int64; + #endif /* HAVE_int64_t */ + #endif /* HAVE_int64 */ + +-#ifndef HAVE_socklen_t ++#if !defined(HAVE_socklen_t) && !defined(__DEFINED_socklen_t) + typedef int socklen_t; + #endif + +-- +2.13.2 + diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0002-build-Adjust-CFLAGS-LDFLAGS-to-append-values-passed-.patch b/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0002-build-Adjust-CFLAGS-LDFLAGS-to-append-values-passed-.patch new file mode 100644 index 0000000..d5c8f5f --- /dev/null +++ b/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0002-build-Adjust-CFLAGS-LDFLAGS-to-append-values-passed-.patch @@ -0,0 +1,76 @@ +From 76f3a9abc2ff96155425ef97d8c5520cfbc8fe6a Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 12 Jul 2017 18:09:46 -0700 +Subject: [PATCH 2/2] build: Adjust CFLAGS/LDFLAGS to append values passed from + env + +For musl we have to pass additional arguments via cflags and ldflags +to link in librirpc, make room for those changes to take effect + +Signed-off-by: Khem Raj +--- + scripts/build | 2 +- + src/Makefile | 14 +++++++------- + 2 files changed, 8 insertions(+), 8 deletions(-) + +diff --git a/scripts/build b/scripts/build +index 34a1371..3786741 100755 +--- a/scripts/build ++++ b/scripts/build +@@ -18,7 +18,7 @@ done + + trap 'rm -f ${BASE}$$.s ${BASE}$$.c ${BASE}$$.o ${BASE}$$; exit 1' 1 2 15 + +-LDLIBS=-lm ++LDLIBS+=-lm + + # check for HP-UX's ANSI compiler + echo "main(int ac, char *av[]) { int i; }" > ${BASE}$$.c +diff --git a/src/Makefile b/src/Makefile +index d9efd54..96467d7 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -112,8 +112,8 @@ LIBOBJS= $O/lib_tcp.o $O/lib_udp.o $O/lib_unix.o $O/lib_timing.o \ + $O/lib_sched.o + + lmbench: $(UTILS) +- @env CFLAGS=-O MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" CC="$(CC)" OS="$(OS)" ../scripts/build all +- - at env CFLAGS=-O MAKE="$(MAKE)" MAKEFLAGS="k$(MAKEFLAGS)" CC="$(CC)" OS="$(OS)" ../scripts/build opt ++ @env CFLAGS+=-O MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" CC="$(CC)" OS="$(OS)" ../scripts/build all ++ - at env CFLAGS+=-O MAKE="$(MAKE)" MAKEFLAGS="k$(MAKEFLAGS)" CC="$(CC)" OS="$(OS)" ../scripts/build opt + + results: lmbench + @env OS="${OS}" ../scripts/config-run +@@ -137,7 +137,7 @@ os: lmbench + @env OS="${OS}" BENCHMARK_HARDWARE=NO BENCHMARK_OS=YES ../scripts/results + + install: lmbench +- @env CFLAGS=-O MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" CC="${CC}" OS="${OS}" ../scripts/build install-target ++ @env CFLAGS+=-O MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" CC="${CC}" OS="${OS}" ../scripts/build install-target + + install-target: + if [ ! -d $(BASE) ]; then mkdir $(BASE); fi +@@ -155,16 +155,16 @@ all: $(EXES) $O/lmbench + opt: $(OPT_EXES) + asm: $(ASMS) + $(ASMS): +- $(CC) -S $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $@ `basename $@ .s`.c ++ $(CC) -S $(CFLAGS) $(CPPFLAGS) -o $@ `basename $@ .s`.c $(LDFLAGS) + + Wall: +- @env CFLAGS="-g -O -Wall" MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" CC="${CC}" OS="${OS}" ../scripts/build all opt ++ @env CFLAGS+="-g -O -Wall" MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" CC="${CC}" OS="${OS}" ../scripts/build all opt + + debug: +- @env CFLAGS="-g -O -DDEBUG" MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" CC="${CC}" OS="${OS}" ../scripts/build all opt ++ @env CFLAGS+="-g -O -DDEBUG" MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" CC="${CC}" OS="${OS}" ../scripts/build all opt + + assembler: +- @env CFLAGS=-O MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" CC="${CC}" OS="${OS}" ../scripts/build asm ++ @env CFLAGS+=-O MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" CC="${CC}" OS="${OS}" ../scripts/build asm + + + tag: +-- +2.13.2 + diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb b/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb index 43ac1d0..03b3721 100644 --- a/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb +++ b/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb @@ -7,6 +7,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b \ inherit autotools-brokensep +DEPENDS_append_libc-musl = " libtirpc" +CFLAGS_append_libc-musl = " -I${STAGING_INCDIR}/tirpc" +LDLIBS_append_libc-musl = " -ltirpc " + PR = "r2" SRC_URI = "${SOURCEFORGE_MIRROR}/lmbench/lmbench-${PV}.tgz \ @@ -20,12 +24,14 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/lmbench/lmbench-${PV}.tgz \ file://fix-lmbench-memory-check-failure.patch \ file://0001-avoid-gcc-optimize-away-the-loops.patch \ file://0001-lat_http.c-Add-printf-format.patch \ + file://0001-Check-for-musl-define-guard-before-redefining-sockle.patch \ + file://0002-build-Adjust-CFLAGS-LDFLAGS-to-append-values-passed-.patch \ " SRC_URI[md5sum] = "b3351a3294db66a72e2864a199d37cbf" SRC_URI[sha256sum] = "cbd5777d15f44eab7666dcac418054c3c09df99826961a397d9acf43d8a2a551" EXTRA_OEMAKE = 'CC="${CC}" AR="${AR}" RANLIB="${RANLIB}" CFLAGS="${CFLAGS}" \ - LDFLAGS="${LDFLAGS}" LD="${LD}" OS="${TARGET_SYS}" \ + LDFLAGS="${LDFLAGS}" LDLIBS="${LDLIBS}" LD="${LD}" OS="${TARGET_SYS}" \ TARGET="${TARGET_OS}" BASE="${prefix}" MANDIR="${mandir}"' do_configure() { -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:51:21 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:51:21 +0000 Subject: [oe-commits] [meta-openembedded] 17/67: imsettings: Fix build with musl In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125104.AF170233612@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit c6e5aa12398aeeb8b1b0f02be16022c36cce5374 Author: Khem Raj AuthorDate: Thu Jul 13 22:40:04 2017 -0700 imsettings: Fix build with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../0001-Rename-use-of-stdout-and-stderr.patch | 72 ++++++++++++++++++++++ .../imsettings/imsettings_1.7.2.bb | 4 +- 2 files changed, 75 insertions(+), 1 deletion(-) diff --git a/meta-xfce/recipes-extended/imsettings/imsettings/0001-Rename-use-of-stdout-and-stderr.patch b/meta-xfce/recipes-extended/imsettings/imsettings/0001-Rename-use-of-stdout-and-stderr.patch new file mode 100644 index 0000000..d77ce4d --- /dev/null +++ b/meta-xfce/recipes-extended/imsettings/imsettings/0001-Rename-use-of-stdout-and-stderr.patch @@ -0,0 +1,72 @@ +From 7ee62ef0083844ab2fffcd106e3ee2e5f29b2a91 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 12 Jul 2017 18:53:56 -0700 +Subject: [PATCH] Rename use of stdout and stderr + +Since it shadow the standard definitions especially +seen on musl where libc defines these as macros they +cause all short of compilation errors on musl, using +a leading underscore makes it unique + +Signed-off-by: Khem Raj +--- + imsettings-daemon/imsettings-proc.c | 28 ++++++++++++++-------------- + 1 file changed, 14 insertions(+), 14 deletions(-) + +diff --git a/imsettings-daemon/imsettings-proc.c b/imsettings-daemon/imsettings-proc.c +index 915e78b..b78fcff 100644 +--- a/imsettings-daemon/imsettings-proc.c ++++ b/imsettings-daemon/imsettings-proc.c +@@ -39,8 +39,8 @@ + #define MAXRESTART 3 + + typedef struct _IMSettingsProcInfo { +- GIOChannel *stdout; +- GIOChannel *stderr; ++ GIOChannel *_stdout; ++ GIOChannel *_stderr; + GPid pid; + GTimeVal started_time; + guint id; +@@ -368,12 +368,12 @@ _start_process(IMSettingsProc *proc, + &ofd, &efd, + error)) { + pinfo->pid = pid; +- pinfo->stdout = g_io_channel_unix_new(ofd); +- pinfo->stderr = g_io_channel_unix_new(efd); +- g_io_channel_set_close_on_unref(pinfo->stdout, TRUE); +- g_io_channel_set_close_on_unref(pinfo->stderr, TRUE); +- pinfo->oid = g_io_add_watch(pinfo->stdout, G_IO_IN, _log_write_cb, proc); +- pinfo->eid = g_io_add_watch(pinfo->stderr, G_IO_IN, _log_write_cb, proc); ++ pinfo->_stdout = g_io_channel_unix_new(ofd); ++ pinfo->_stderr = g_io_channel_unix_new(efd); ++ g_io_channel_set_close_on_unref(pinfo->_stdout, TRUE); ++ g_io_channel_set_close_on_unref(pinfo->_stderr, TRUE); ++ pinfo->oid = g_io_add_watch(pinfo->_stdout, G_IO_IN, _log_write_cb, proc); ++ pinfo->eid = g_io_add_watch(pinfo->_stderr, G_IO_IN, _log_write_cb, proc); + g_get_current_time(&pinfo->started_time); + pinfo->id = g_child_watch_add(pid, _watch_im_status_cb, proc); + +@@ -521,13 +521,13 @@ imsettings_proc_get_property(GObject *object, + static void + imsettings_proc_info_finalize(IMSettingsProcInfo *pinfo) + { +- if (pinfo->stdout) { +- g_io_channel_unref(pinfo->stdout); +- pinfo->stdout = NULL; ++ if (pinfo->_stdout) { ++ g_io_channel_unref(pinfo->_stdout); ++ pinfo->_stdout = NULL; + } +- if (pinfo->stderr) { +- g_io_channel_unref(pinfo->stderr); +- pinfo->stderr = NULL; ++ if (pinfo->_stderr) { ++ g_io_channel_unref(pinfo->_stderr); ++ pinfo->_stderr = NULL; + } + if (pinfo->oid > 0) { + g_source_remove(pinfo->oid); +-- +2.13.2 + diff --git a/meta-xfce/recipes-extended/imsettings/imsettings_1.7.2.bb b/meta-xfce/recipes-extended/imsettings/imsettings_1.7.2.bb index 4b2ca49..7a4ce05 100644 --- a/meta-xfce/recipes-extended/imsettings/imsettings_1.7.2.bb +++ b/meta-xfce/recipes-extended/imsettings/imsettings_1.7.2.bb @@ -11,7 +11,9 @@ inherit autotools gtk-doc gobject-introspection SRC_URI = "https://bitbucket.org/tagoh/imsettings/downloads/${BPN}-${PV}.tar.bz2 \ file://gtk-is-required-by-notify.patch \ - file://multi-line-ACLOCAL_AMFLAGS-isnot-supported-by-autoreconf.patch" + file://multi-line-ACLOCAL_AMFLAGS-isnot-supported-by-autoreconf.patch \ + file://0001-Rename-use-of-stdout-and-stderr.patch \ + " SRC_URI[md5sum] = "8153b0583a9f47d8a62af1f92fb9d3bf" SRC_URI[sha256sum] = "41addf0458f760212b6b6100835066e16deb3a8a50eb005a0fc17fbac0a2ae66" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:51:22 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:51:22 +0000 Subject: [oe-commits] [meta-openembedded] 18/67: gedit: Define ACCESSPERMS if not defined already In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125104.B55BD233613@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 46eddb4f382d093713f296639cfce3d1b91b2e53 Author: Khem Raj AuthorDate: Thu Jul 13 22:40:05 2017 -0700 gedit: Define ACCESSPERMS if not defined already Fixes build on musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...ent-saver.c-Define-ACCESSPERMS-if-not-def.patch | 31 ++++++++++++++++++++++ meta-gnome/recipes-gnome/gedit/gedit_2.30.4.bb | 11 ++++---- 2 files changed, 37 insertions(+), 5 deletions(-) diff --git a/meta-gnome/recipes-gnome/gedit/files/0001-tests-document-saver.c-Define-ACCESSPERMS-if-not-def.patch b/meta-gnome/recipes-gnome/gedit/files/0001-tests-document-saver.c-Define-ACCESSPERMS-if-not-def.patch new file mode 100644 index 0000000..11afe75 --- /dev/null +++ b/meta-gnome/recipes-gnome/gedit/files/0001-tests-document-saver.c-Define-ACCESSPERMS-if-not-def.patch @@ -0,0 +1,31 @@ +From ee43bcc3c8d69fe56a64c3487e2d3c780ea5d25e Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 13 Jul 2017 06:53:35 -0700 +Subject: [PATCH] tests/document-saver.c: Define ACCESSPERMS if not defined + already + +Helps compile with musl + +Signed-off-by: Khem Raj +--- + tests/document-saver.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/tests/document-saver.c b/tests/document-saver.c +index 9f44d5a..811ade6 100644 +--- a/tests/document-saver.c ++++ b/tests/document-saver.c +@@ -41,6 +41,10 @@ + #define UNOWNED_GROUP_LOCAL_URI "/tmp/gedit-document-saver-unowned-group.txt" + #define UNOWNED_GROUP_REMOTE_URI "sftp://localhost/tmp/gedit-document-saver-unowned-group.txt" + ++#if !defined(ACCESSPERMS) ++#define ACCESSPERMS (S_IRWXU|S_IRWXG|S_IRWXO) /* 0777 */ ++#endif ++ + static gboolean test_completed; + static gboolean mount_completed; + static gboolean mount_success; +-- +2.13.2 + diff --git a/meta-gnome/recipes-gnome/gedit/gedit_2.30.4.bb b/meta-gnome/recipes-gnome/gedit/gedit_2.30.4.bb index 03d7fa4..4352b5e 100644 --- a/meta-gnome/recipes-gnome/gedit/gedit_2.30.4.bb +++ b/meta-gnome/recipes-gnome/gedit/gedit_2.30.4.bb @@ -8,11 +8,12 @@ DEPENDS = "gvfs enchant gconf gnome-doc-utils glib-2.0 gtk+ gtksourceview2 iso-c LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" inherit gnome gettext pythonnative -SRC_URI+= " \ - file://0001-workaround-void-pointer-arithmetic.patch \ - file://0001-Remove-help-directory-from-build.patch \ - file://0002-suppress-string-format-literal-warning-to-fix-build-.patch \ -" +SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@gnome_verdir("${PV}")}/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive \ + file://0001-workaround-void-pointer-arithmetic.patch \ + file://0001-Remove-help-directory-from-build.patch \ + file://0002-suppress-string-format-literal-warning-to-fix-build-.patch \ + file://0001-tests-document-saver.c-Define-ACCESSPERMS-if-not-def.patch \ + " SRC_URI[archive.md5sum] = "e1eecb0a92a1a363b3d375ec5ac0fb3b" SRC_URI[archive.sha256sum] = "a561fe3dd1d199baede1bd07c4ee65f06fc7c494dd4d3327117f04149a608e3c" GNOME_COMPRESS_TYPE="bz2" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:51:25 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:51:25 +0000 Subject: [oe-commits] [meta-openembedded] 21/67: netdata: Upgrade to 1.6.0 In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125104.CB60A233616@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 4c7c04ca780c1164f9f67d5d0ebb5df2cb22464c Author: Khem Raj AuthorDate: Thu Jul 13 22:40:08 2017 -0700 netdata: Upgrade to 1.6.0 Licence files has gotten cosmetic changes additionally checksum COPYING file. Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../netdata/0001-Correct-Timeout-issue.patch | 32 ++++++++++++---------- .../0001-makefile-Do-not-build-contrib-dir.patch | 27 ++++++++++++++++++ .../recipes-webadmin/netdata/netdata_git.bb | 14 ++++++---- 3 files changed, 53 insertions(+), 20 deletions(-) diff --git a/meta-webserver/recipes-webadmin/netdata/netdata/0001-Correct-Timeout-issue.patch b/meta-webserver/recipes-webadmin/netdata/netdata/0001-Correct-Timeout-issue.patch index d5529a2..abea0d6 100644 --- a/meta-webserver/recipes-webadmin/netdata/netdata/0001-Correct-Timeout-issue.patch +++ b/meta-webserver/recipes-webadmin/netdata/netdata/0001-Correct-Timeout-issue.patch @@ -1,19 +1,21 @@ -diff --git a/plugins.d/charts.d.plugin b/plugins.d/charts.d.plugin -index 40c0356..bca57b3 100755 ---- a/plugins.d/charts.d.plugin -+++ b/plugins.d/charts.d.plugin -@@ -184,10 +184,10 @@ fi - # timeout command we use, providing a function that - # can emulate the timeout command we need: - # > timeout SECONDS command ... +Index: git/plugins.d/charts.d.plugin +=================================================================== +--- git.orig/plugins.d/charts.d.plugin ++++ git/plugins.d/charts.d.plugin +@@ -246,16 +246,6 @@ else + info "configuration file '$myconfig' not found. Using defaults." + fi + +-# we check for the timeout command, after we load our +-# configuration, so that the user may overwrite the +-# timeout command we use, providing a function that +-# can emulate the timeout command we need: +-# > timeout SECONDS command ... -if [ $check_for_timeout -eq 1 ] -- then -- require_cmd timeout || exit 1 +- then +- require_cmd timeout || exit 1 -fi -+#if [ $check_for_timeout -eq 1 ] -+# then -+# require_cmd timeout || exit 1 -+#fi - +- # ----------------------------------------------------------------------------- # internal checks + diff --git a/meta-webserver/recipes-webadmin/netdata/netdata/0001-makefile-Do-not-build-contrib-dir.patch b/meta-webserver/recipes-webadmin/netdata/netdata/0001-makefile-Do-not-build-contrib-dir.patch new file mode 100644 index 0000000..9a3a4a5 --- /dev/null +++ b/meta-webserver/recipes-webadmin/netdata/netdata/0001-makefile-Do-not-build-contrib-dir.patch @@ -0,0 +1,27 @@ +From 87f868918a9ae1dcf93e01f3e177d185c19a149a Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 13 Jul 2017 14:32:09 -0700 +Subject: [PATCH] makefile: Do not build contrib dir + +It contains debian build iteams anyway + +Signed-off-by: Khem Raj +--- + Makefile.am | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/Makefile.am b/Makefile.am +index 3ccf82f8..a852e529 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -52,7 +52,6 @@ SUBDIRS = \ + src \ + system \ + web \ +- contrib \ + $(NULL) + + dist_noinst_DATA= \ +-- +2.13.2 + diff --git a/meta-webserver/recipes-webadmin/netdata/netdata_git.bb b/meta-webserver/recipes-webadmin/netdata/netdata_git.bb index de14064..1003662 100644 --- a/meta-webserver/recipes-webadmin/netdata/netdata_git.bb +++ b/meta-webserver/recipes-webadmin/netdata/netdata_git.bb @@ -1,11 +1,15 @@ HOMEPAGE = "https://github.com/firehol/netdata/" SUMMARY = "Real-time performance monitoring" LICENSE = "GPLv3" -LIC_FILES_CHKSUM = "file://LICENSE.md;md5=747afe070ea9d6c2be0a31353609a35b" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=a4a3b650ea3f74269cdfd45a3550e219 \ + file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ + " -SRC_URI = "git://github.com/firehol/netdata.git;protocol=https" -SRCREV = "36c1304e37094174ea51001903058e65053107ca" -PV = "1.0.1+git${SRCPV}" +SRC_URI = "git://github.com/firehol/netdata.git;protocol=https \ + file://0001-makefile-Do-not-build-contrib-dir.patch \ +" +SRCREV = "f5fa346a188e906a8f2cce3c2cf32a88ce81c666" +PV = "1.6.0+git${SRCPV}" # patch to disable timeout because timeout are not available with actual version # of core-utils @@ -19,7 +23,7 @@ SRC_URI += "file://netdata.service" S = "${WORKDIR}/git" -DEPENDS += "zlib" +DEPENDS += "zlib util-linux" inherit pkgconfig autotools useradd systemd -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:51:24 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:51:24 +0000 Subject: [oe-commits] [meta-openembedded] 20/67: libgtop: Fix build with musl In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125104.C336E233615@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 99877d370118a1246ce6d99c9eb3f16156f48c50 Author: Khem Raj AuthorDate: Thu Jul 13 22:40:07 2017 -0700 libgtop: Fix build with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...-Include-libc-net-headers-unconditionally.patch | 46 ++++++++++++++++++++++ meta-gnome/recipes-gnome/libgtop/libgtop_2.30.0.bb | 3 ++ 2 files changed, 49 insertions(+) diff --git a/meta-gnome/recipes-gnome/libgtop/libgtop/0001-netload-Include-libc-net-headers-unconditionally.patch b/meta-gnome/recipes-gnome/libgtop/libgtop/0001-netload-Include-libc-net-headers-unconditionally.patch new file mode 100644 index 0000000..c4f7da4 --- /dev/null +++ b/meta-gnome/recipes-gnome/libgtop/libgtop/0001-netload-Include-libc-net-headers-unconditionally.patch @@ -0,0 +1,46 @@ +From 3c6f70e50cb586ac4add4dea627c316242691040 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 13 Jul 2017 09:17:29 -0700 +Subject: [PATCH] netload: Include libc net headers unconditionally + +This fixes compile with musl, and this conditional +is not needed now a days if we are still using glibc < 1.0 +we have other bigger problems + +Signed-off-by: Khem Raj +--- + sysdeps/linux/netload.c | 11 ----------- + 1 file changed, 11 deletions(-) + +diff --git a/sysdeps/linux/netload.c b/sysdeps/linux/netload.c +index c275db2..446bddd 100644 +--- a/sysdeps/linux/netload.c ++++ b/sysdeps/linux/netload.c +@@ -34,8 +34,6 @@ + #include + #include + +-#if !defined (_LIBC) && defined (__GNU_LIBRARY__) && __GNU_LIBRARY__ > 1 +-/* GNU LibC */ + #include + #include + #include +@@ -43,15 +41,6 @@ + #include + #include + #include +-#else /* Libc 5 */ +-#include +-#include +-#include +-#include +-#include +-#include +-#endif +- + + #ifdef HAVE_IFADDRS_H + /* needed for IPV6 support */ +-- +2.13.2 + diff --git a/meta-gnome/recipes-gnome/libgtop/libgtop_2.30.0.bb b/meta-gnome/recipes-gnome/libgtop/libgtop_2.30.0.bb index d79b9e5..946d118 100644 --- a/meta-gnome/recipes-gnome/libgtop/libgtop_2.30.0.bb +++ b/meta-gnome/recipes-gnome/libgtop/libgtop_2.30.0.bb @@ -6,6 +6,9 @@ inherit gnomebase lib_package gtk-doc distro_features_check gobject-introspectio # depends on libxau REQUIRED_DISTRO_FEATURES = "x11" +SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@gnome_verdir("${PV}")}/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive \ + file://0001-netload-Include-libc-net-headers-unconditionally.patch \ + " SRC_URI[archive.md5sum] = "ee29a9ef60659ebf4b075ac281f71cb2" SRC_URI[archive.sha256sum] = "463bcbe5737b1b93f3345ee34abf601e8eb864f507c49ff1921c2737abafc1e5" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:51:23 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:51:23 +0000 Subject: [oe-commits] [meta-openembedded] 19/67: onboard: Fix build with musl In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125104.BC000233614@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit df54a90b7f16e3ef59bf9b9b208a75e747142f4a Author: Khem Raj AuthorDate: Thu Jul 13 22:40:06 2017 -0700 onboard: Fix build with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...m-Define-error-API-if-platform-does-not-h.patch | 67 ++++++++++++++++++++++ .../recipes-support/onboard/onboard_1.4.1.bb | 4 +- 2 files changed, 70 insertions(+), 1 deletion(-) diff --git a/meta-gnome/recipes-support/onboard/onboard/0001-pypredict-lm-Define-error-API-if-platform-does-not-h.patch b/meta-gnome/recipes-support/onboard/onboard/0001-pypredict-lm-Define-error-API-if-platform-does-not-h.patch new file mode 100644 index 0000000..fda3789 --- /dev/null +++ b/meta-gnome/recipes-support/onboard/onboard/0001-pypredict-lm-Define-error-API-if-platform-does-not-h.patch @@ -0,0 +1,67 @@ +From 1c95f64aa342147387ce4b1b7269a5c8b34bd898 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 13 Jul 2017 09:01:04 -0700 +Subject: [PATCH] pypredict/lm: Define error API if platform does not have it + +error() API is not implemented across all libcs on linux +e.g. musl does not provide it. + +Signed-off-by: Khem Raj +--- + Onboard/pypredict/lm/lm.cpp | 1 - + Onboard/pypredict/lm/lm.h | 13 +++++++++++++ + Onboard/pypredict/lm/lm_dynamic.cpp | 2 -- + 3 files changed, 13 insertions(+), 3 deletions(-) + +diff --git a/Onboard/pypredict/lm/lm.cpp b/Onboard/pypredict/lm/lm.cpp +index 2e64296..37ae241 100644 +--- a/Onboard/pypredict/lm/lm.cpp ++++ b/Onboard/pypredict/lm/lm.cpp +@@ -19,7 +19,6 @@ + + #include + #include +-#include + #include + #include + #include +diff --git a/Onboard/pypredict/lm/lm.h b/Onboard/pypredict/lm/lm.h +index ed4164a..b8b63ee 100644 +--- a/Onboard/pypredict/lm/lm.h ++++ b/Onboard/pypredict/lm/lm.h +@@ -32,6 +32,19 @@ + #include + #include + ++#if defined(HAVE_ERROR_H) ++#include ++#else ++#include ++#define _onboard_error(S, E, F, ...) do { \ ++ if (E) \ ++ err(S, F ": %s", ##__VA_ARGS__, strerror(E)); \ ++ else \ ++ err(S, F, ##__VA_ARGS__); \ ++} while(0) ++ ++#define error _onboard_error ++#endif + + // break into debugger + // step twice to come back out of the raise() call into known code +diff --git a/Onboard/pypredict/lm/lm_dynamic.cpp b/Onboard/pypredict/lm/lm_dynamic.cpp +index 7c62824..e7c7f40 100644 +--- a/Onboard/pypredict/lm/lm_dynamic.cpp ++++ b/Onboard/pypredict/lm/lm_dynamic.cpp +@@ -17,8 +17,6 @@ + * along with this program. If not, see . + */ + +-#include +- + #include "lm_dynamic.h" + + using namespace std; +-- +2.13.2 + diff --git a/meta-gnome/recipes-support/onboard/onboard_1.4.1.bb b/meta-gnome/recipes-support/onboard/onboard_1.4.1.bb index 3a4f189..10765ee 100644 --- a/meta-gnome/recipes-support/onboard/onboard_1.4.1.bb +++ b/meta-gnome/recipes-support/onboard/onboard_1.4.1.bb @@ -4,7 +4,9 @@ LIC_FILES_CHKSUM = "file://COPYING.GPL3;md5=8521fa4dd51909b407c5150498d34f4e" DEPENDS += "gtk+3 hunspell libcanberra libxkbfile dconf python3-distutils-extra-native intltool-native" -SRC_URI = "https://launchpad.net/onboard/1.4/${PV}/+download/${BPN}-${PV}.tar.gz" +SRC_URI = "https://launchpad.net/onboard/1.4/${PV}/+download/${BPN}-${PV}.tar.gz \ + file://0001-pypredict-lm-Define-error-API-if-platform-does-not-h.patch \ + " SRC_URI[md5sum] = "1a2fbe82e934f5b37841d17ff51e80e8" SRC_URI[sha256sum] = "01cae1ac5b1ef1ab985bd2d2d79ded6fc99ee04b1535cc1bb191e43a231a3865" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:51:29 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:51:29 +0000 Subject: [oe-commits] [meta-openembedded] 25/67: yaffs2-utils: Fix build with musl In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125104.E4F1C2335D5@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 30aa7d8bebae3316f88913d526a6406790bc5c98 Author: Khem Raj AuthorDate: Thu Jul 13 22:40:12 2017 -0700 yaffs2-utils: Fix build with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...0001-define-loff_t-if-not-already-defined.patch | 30 ++++++++++++++++++++++ .../recipes-filesystems/yaffs2/yaffs2-utils_git.bb | 3 ++- 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils/0001-define-loff_t-if-not-already-defined.patch b/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils/0001-define-loff_t-if-not-already-defined.patch new file mode 100644 index 0000000..df202c8 --- /dev/null +++ b/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils/0001-define-loff_t-if-not-already-defined.patch @@ -0,0 +1,30 @@ +From 848717da4a28d33f8aa8f889377e61e6b1b8ae67 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 13 Jul 2017 18:29:52 -0700 +Subject: [PATCH] define loff_t if not already defined + +Helps to build with musl + +Signed-off-by: Khem Raj +--- + yaffs_guts.h | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/yaffs_guts.h b/yaffs_guts.h +index 6bcf12d..4af17ce 100644 +--- a/yaffs_guts.h ++++ b/yaffs_guts.h +@@ -18,6 +18,10 @@ + + #include "yportenv.h" + ++#ifndef loff_t ++#define loff_t off_t ++#endif ++ + #define YAFFS_OK 1 + #define YAFFS_FAIL 0 + +-- +2.13.2 + diff --git a/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils_git.bb b/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils_git.bb index e8d1873..67c926b 100644 --- a/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils_git.bb +++ b/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils_git.bb @@ -14,7 +14,8 @@ DEPENDS = "mtd-utils" # Source is the HEAD of master branch at the time of writing this recipe SRC_URI = "git://www.aleph1.co.uk/yaffs2;protocol=git;branch=master \ file://makefile-add-ldflags.patch \ - " + file://0001-define-loff_t-if-not-already-defined.patch \ + " SRCREV = "bc76682d93955cfb33051beb503ad9f8a5450578" S = "${WORKDIR}/git" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:51:33 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:51:33 +0000 Subject: [oe-commits] [meta-openembedded] 29/67: nmon: Upgrade to 16g In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125105.0F26023361A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 6d04761c02b9fb3f63b3f93d7574129015debb79 Author: Khem Raj AuthorDate: Fri Jul 14 18:55:36 2017 -0700 nmon: Upgrade to 16g Fix build with musl while here. link with libm for ceilf API Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../0001-lmon16g.c-Adjust-system-headers.patch | 46 ++++++++++++++++++++++ .../nmon/{nmon_13g.bb => nmon_16g.bb} | 16 ++++---- 2 files changed, 55 insertions(+), 7 deletions(-) diff --git a/meta-oe/recipes-support/nmon/nmon/0001-lmon16g.c-Adjust-system-headers.patch b/meta-oe/recipes-support/nmon/nmon/0001-lmon16g.c-Adjust-system-headers.patch new file mode 100644 index 0000000..e8debe5 --- /dev/null +++ b/meta-oe/recipes-support/nmon/nmon/0001-lmon16g.c-Adjust-system-headers.patch @@ -0,0 +1,46 @@ +From d977b5170027926eb97ab9742ddc51d2a5555a34 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 14 Jul 2017 10:06:49 -0700 +Subject: [PATCH] lmon16g.c: Adjust system headers + +fstab.h is unused +errno.h is in /usr/include +defines from sys/cdefs.h is used + +Signed-off-by: Khem Raj +--- + lmon16g.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/lmon16g.c b/lmon16g.c +index cb27e09..d2a11c5 100644 +--- a/lmon16g.c ++++ b/lmon16g.c +@@ -63,7 +63,7 @@ static char *SccsId = "nmon " VERSION; + #include + #include + #include +-#include ++#include + #include + #include + #include +@@ -71,6 +71,7 @@ static char *SccsId = "nmon " VERSION; + #include + #include + #include ++#include + + /* Windows moved here so they can be cleared when the screen mode changes */ + WINDOW *padwelcome = NULL; +@@ -576,7 +577,6 @@ struct procsinfo { + int isroot = 0; + + #include +-#include + #include + #include + #include +-- +2.13.3 + diff --git a/meta-oe/recipes-support/nmon/nmon_13g.bb b/meta-oe/recipes-support/nmon/nmon_16g.bb similarity index 59% rename from meta-oe/recipes-support/nmon/nmon_13g.bb rename to meta-oe/recipes-support/nmon/nmon_16g.bb index 1f75189..e77faa3 100644 --- a/meta-oe/recipes-support/nmon/nmon_13g.bb +++ b/meta-oe/recipes-support/nmon/nmon_16g.bb @@ -4,23 +4,25 @@ SECTION = "console/utils" LICENSE = "GPLv3" LIC_FILES_CHKSUM = "file://${WORKDIR}/Documentation.txt;md5=dbb13658cf55d687c4f2ff771a696d4a" DEPENDS = "ncurses" -PR = "r2" +DEPENDS_append_libc-musl = " bsd-headers" -SRC_URI = "${SOURCEFORGE_MIRROR}/nmon/lmon13g.c;name=lmon \ +SRC_URI = "${SOURCEFORGE_MIRROR}/nmon/lmon${PV}.c;name=lmon \ ${SOURCEFORGE_MIRROR}/nmon/Documentation.txt;name=doc \ + file://0001-lmon16g.c-Adjust-system-headers.patch \ " - -SRC_URI[lmon.md5sum] = "b1b8e6c0123ad232394991f2d4f40494" -SRC_URI[lmon.sha256sum] = "456ab2a342b31d1a352d0d940af5962fa65a12ae8757ff73e6e73210832ae8b5" +SRC_URI[lmon.md5sum] = "246ccfc74d5af55d992601fc4d3d4a72" +SRC_URI[lmon.sha256sum] = "da82dd693b503b062854dfe7dbb5d36b347872ab44a4aa05b97e9d577747f688" SRC_URI[doc.md5sum] = "dbb13658cf55d687c4f2ff771a696d4a" SRC_URI[doc.sha256sum] = "1f7f83afe62a7210be5e83cd24157adb854c14599efe0b377a7ecca933869278" CFLAGS += "-D JFS -D GETUSER -Wall -D LARGEMEM" -LDFLAGS += "-ltinfo -lncursesw" +LDFLAGS += "-ltinfo -lncursesw -lm" ASNEEDED_pn-nmon = "" +S = "${WORKDIR}" + do_compile() { - ${CC} ${CFLAGS} ${LDFLAGS} ${WORKDIR}/lmon13g.c -o nmon + ${CC} ${CFLAGS} ${LDFLAGS} lmon${PV}.c -o nmon } do_install() { -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:51:26 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:51:26 +0000 Subject: [oe-commits] [meta-openembedded] 22/67: can-utils: Update to tip of master In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125104.D18CD2335D7@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit f8428d54d546b3da9cf643b1a38b36832447e60a Author: Khem Raj AuthorDate: Thu Jul 13 22:40:09 2017 -0700 can-utils: Update to tip of master Fixes build issues with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- meta-oe/recipes-extended/socketcan/can-utils_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-oe/recipes-extended/socketcan/can-utils_git.bb b/meta-oe/recipes-extended/socketcan/can-utils_git.bb index 931e332..a2d62c3 100644 --- a/meta-oe/recipes-extended/socketcan/can-utils_git.bb +++ b/meta-oe/recipes-extended/socketcan/can-utils_git.bb @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://include/linux/can.h;endline=43;md5=390a2c9a3c5e3595a0 DEPENDS = "libsocketcan" SRC_URI = "git://github.com/linux-can/${BPN}.git;protocol=git;branch=master" -SRCREV = "67a2bdcd336e6becfa5784742e18c88dbeddc973" +SRCREV = "4c8fb05cb4d6ddcd67299008db54af423f86fd05" PV = "0.0+gitr${SRCPV}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:51:36 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:51:36 +0000 Subject: [oe-commits] [meta-openembedded] 32/67: aufs-util: Upgrade to 4.4 release In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125105.24D2B23361D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit aba1895d895ffafb77e1d80440c82838d1c81b58 Author: Khem Raj AuthorDate: Fri Jul 14 11:34:56 2017 -0700 aufs-util: Upgrade to 4.4 release - Download aufs_type.h instead of housing a local copy - Build uses paste utility from coreutils-native - Replace hardcoded strip command with STRIP env varible helps in cross compiling Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../recipes-utils/aufs-util/aufs-util/aufs_type.h | 419 --------------------- .../recipes-utils/aufs-util/aufs-util_git.bb | 17 +- 2 files changed, 10 insertions(+), 426 deletions(-) diff --git a/meta-filesystems/recipes-utils/aufs-util/aufs-util/aufs_type.h b/meta-filesystems/recipes-utils/aufs-util/aufs-util/aufs_type.h deleted file mode 100644 index c948033..0000000 --- a/meta-filesystems/recipes-utils/aufs-util/aufs-util/aufs_type.h +++ /dev/null @@ -1,419 +0,0 @@ -/* - * Copyright (C) 2005-2015 Junjiro R. Okajima - * - * This program, aufs is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#ifndef __AUFS_TYPE_H__ -#define __AUFS_TYPE_H__ - -#define AUFS_NAME "aufs" - -#ifdef __KERNEL__ -/* - * define it before including all other headers. - * sched.h may use pr_* macros before defining "current", so define the - * no-current version first, and re-define later. - */ -#define pr_fmt(fmt) AUFS_NAME " %s:%d: " fmt, __func__, __LINE__ -#include -#undef pr_fmt -#define pr_fmt(fmt) \ - AUFS_NAME " %s:%d:%.*s[%d]: " fmt, __func__, __LINE__, \ - (int)sizeof(current->comm), current->comm, current->pid -#else -#include -#include -#endif /* __KERNEL__ */ - -#include - -#define AUFS_VERSION "3.18-20150406" - -/* todo? move this to linux-2.6.19/include/magic.h */ -#define AUFS_SUPER_MAGIC ('a' << 24 | 'u' << 16 | 'f' << 8 | 's') - -/* ---------------------------------------------------------------------- */ - -#ifdef CONFIG_AUFS_BRANCH_MAX_127 -typedef int8_t aufs_bindex_t; -#define AUFS_BRANCH_MAX 127 -#else -typedef int16_t aufs_bindex_t; -#ifdef CONFIG_AUFS_BRANCH_MAX_511 -#define AUFS_BRANCH_MAX 511 -#elif defined(CONFIG_AUFS_BRANCH_MAX_1023) -#define AUFS_BRANCH_MAX 1023 -#elif defined(CONFIG_AUFS_BRANCH_MAX_32767) -#define AUFS_BRANCH_MAX 32767 -#endif -#endif - -#ifdef __KERNEL__ -#ifndef AUFS_BRANCH_MAX -#error unknown CONFIG_AUFS_BRANCH_MAX value -#endif -#endif /* __KERNEL__ */ - -/* ---------------------------------------------------------------------- */ - -#define AUFS_FSTYPE AUFS_NAME - -#define AUFS_ROOT_INO 2 -#define AUFS_FIRST_INO 11 - -#define AUFS_WH_PFX ".wh." -#define AUFS_WH_PFX_LEN ((int)sizeof(AUFS_WH_PFX) - 1) -#define AUFS_WH_TMP_LEN 4 -/* a limit for rmdir/rename a dir and copyup */ -#define AUFS_MAX_NAMELEN (NAME_MAX \ - - AUFS_WH_PFX_LEN * 2 /* doubly whiteouted */\ - - 1 /* dot */\ - - AUFS_WH_TMP_LEN) /* hex */ -#define AUFS_XINO_FNAME "." AUFS_NAME ".xino" -#define AUFS_XINO_DEFPATH "/tmp/" AUFS_XINO_FNAME -#define AUFS_XINO_DEF_SEC 30 /* seconds */ -#define AUFS_XINO_DEF_TRUNC 45 /* percentage */ -#define AUFS_DIRWH_DEF 3 -#define AUFS_RDCACHE_DEF 10 /* seconds */ -#define AUFS_RDCACHE_MAX 3600 /* seconds */ -#define AUFS_RDBLK_DEF 512 /* bytes */ -#define AUFS_RDHASH_DEF 32 -#define AUFS_WKQ_NAME AUFS_NAME "d" -#define AUFS_MFS_DEF_SEC 30 /* seconds */ -#define AUFS_MFS_MAX_SEC 3600 /* seconds */ -#define AUFS_FHSM_CACHE_DEF_SEC 30 /* seconds */ -#define AUFS_PLINK_WARN 50 /* number of plinks in a single bucket */ - -/* pseudo-link maintenace under /proc */ -#define AUFS_PLINK_MAINT_NAME "plink_maint" -#define AUFS_PLINK_MAINT_DIR "fs/" AUFS_NAME -#define AUFS_PLINK_MAINT_PATH AUFS_PLINK_MAINT_DIR "/" AUFS_PLINK_MAINT_NAME - -#define AUFS_DIROPQ_NAME AUFS_WH_PFX ".opq" /* whiteouted doubly */ -#define AUFS_WH_DIROPQ AUFS_WH_PFX AUFS_DIROPQ_NAME - -#define AUFS_BASE_NAME AUFS_WH_PFX AUFS_NAME -#define AUFS_PLINKDIR_NAME AUFS_WH_PFX "plnk" -#define AUFS_ORPHDIR_NAME AUFS_WH_PFX "orph" - -/* doubly whiteouted */ -#define AUFS_WH_BASE AUFS_WH_PFX AUFS_BASE_NAME -#define AUFS_WH_PLINKDIR AUFS_WH_PFX AUFS_PLINKDIR_NAME -#define AUFS_WH_ORPHDIR AUFS_WH_PFX AUFS_ORPHDIR_NAME - -/* branch permissions and attributes */ -#define AUFS_BRPERM_RW "rw" -#define AUFS_BRPERM_RO "ro" -#define AUFS_BRPERM_RR "rr" -#define AUFS_BRATTR_COO_REG "coo_reg" -#define AUFS_BRATTR_COO_ALL "coo_all" -#define AUFS_BRATTR_FHSM "fhsm" -#define AUFS_BRATTR_UNPIN "unpin" -#define AUFS_BRATTR_ICEX "icex" -#define AUFS_BRATTR_ICEX_SEC "icexsec" -#define AUFS_BRATTR_ICEX_SYS "icexsys" -#define AUFS_BRATTR_ICEX_TR "icextr" -#define AUFS_BRATTR_ICEX_USR "icexusr" -#define AUFS_BRATTR_ICEX_OTH "icexoth" -#define AUFS_BRRATTR_WH "wh" -#define AUFS_BRWATTR_NLWH "nolwh" -#define AUFS_BRWATTR_MOO "moo" - -#define AuBrPerm_RW 1 /* writable, hardlinkable wh */ -#define AuBrPerm_RO (1 << 1) /* readonly */ -#define AuBrPerm_RR (1 << 2) /* natively readonly */ -#define AuBrPerm_Mask (AuBrPerm_RW | AuBrPerm_RO | AuBrPerm_RR) - -#define AuBrAttr_COO_REG (1 << 3) /* copy-up on open */ -#define AuBrAttr_COO_ALL (1 << 4) -#define AuBrAttr_COO_Mask (AuBrAttr_COO_REG | AuBrAttr_COO_ALL) - -#define AuBrAttr_FHSM (1 << 5) /* file-based hsm */ -#define AuBrAttr_UNPIN (1 << 6) /* rename-able top dir of - branch. meaningless since - linux-3.18-rc1 */ - -/* ignore error in copying XATTR */ -#define AuBrAttr_ICEX_SEC (1 << 7) -#define AuBrAttr_ICEX_SYS (1 << 8) -#define AuBrAttr_ICEX_TR (1 << 9) -#define AuBrAttr_ICEX_USR (1 << 10) -#define AuBrAttr_ICEX_OTH (1 << 11) -#define AuBrAttr_ICEX (AuBrAttr_ICEX_SEC \ - | AuBrAttr_ICEX_SYS \ - | AuBrAttr_ICEX_TR \ - | AuBrAttr_ICEX_USR \ - | AuBrAttr_ICEX_OTH) - -#define AuBrRAttr_WH (1 << 12) /* whiteout-able */ -#define AuBrRAttr_Mask AuBrRAttr_WH - -#define AuBrWAttr_NoLinkWH (1 << 13) /* un-hardlinkable whiteouts */ -#define AuBrWAttr_MOO (1 << 14) /* move-up on open */ -#define AuBrWAttr_Mask (AuBrWAttr_NoLinkWH | AuBrWAttr_MOO) - -#define AuBrAttr_CMOO_Mask (AuBrAttr_COO_Mask | AuBrWAttr_MOO) - -/* #warning test userspace */ -#ifdef __KERNEL__ -#ifndef CONFIG_AUFS_FHSM -#undef AuBrAttr_FHSM -#define AuBrAttr_FHSM 0 -#endif -#ifndef CONFIG_AUFS_XATTR -#undef AuBrAttr_ICEX -#define AuBrAttr_ICEX 0 -#undef AuBrAttr_ICEX_SEC -#define AuBrAttr_ICEX_SEC 0 -#undef AuBrAttr_ICEX_SYS -#define AuBrAttr_ICEX_SYS 0 -#undef AuBrAttr_ICEX_TR -#define AuBrAttr_ICEX_TR 0 -#undef AuBrAttr_ICEX_USR -#define AuBrAttr_ICEX_USR 0 -#undef AuBrAttr_ICEX_OTH -#define AuBrAttr_ICEX_OTH 0 -#endif -#endif - -/* the longest combination */ -/* AUFS_BRATTR_ICEX and AUFS_BRATTR_ICEX_TR don't affect here */ -#define AuBrPermStrSz sizeof(AUFS_BRPERM_RW \ - "+" AUFS_BRATTR_COO_REG \ - "+" AUFS_BRATTR_FHSM \ - "+" AUFS_BRATTR_UNPIN \ - "+" AUFS_BRATTR_ICEX_SEC \ - "+" AUFS_BRATTR_ICEX_SYS \ - "+" AUFS_BRATTR_ICEX_USR \ - "+" AUFS_BRATTR_ICEX_OTH \ - "+" AUFS_BRWATTR_NLWH) - -typedef struct { - char a[AuBrPermStrSz]; -} au_br_perm_str_t; - -static inline int au_br_writable(int brperm) -{ - return brperm & AuBrPerm_RW; -} - -static inline int au_br_whable(int brperm) -{ - return brperm & (AuBrPerm_RW | AuBrRAttr_WH); -} - -static inline int au_br_wh_linkable(int brperm) -{ - return !(brperm & AuBrWAttr_NoLinkWH); -} - -static inline int au_br_cmoo(int brperm) -{ - return brperm & AuBrAttr_CMOO_Mask; -} - -static inline int au_br_fhsm(int brperm) -{ - return brperm & AuBrAttr_FHSM; -} - -/* ---------------------------------------------------------------------- */ - -/* ioctl */ -enum { - /* readdir in userspace */ - AuCtl_RDU, - AuCtl_RDU_INO, - - AuCtl_WBR_FD, /* pathconf wrapper */ - AuCtl_IBUSY, /* busy inode */ - AuCtl_MVDOWN, /* move-down */ - AuCtl_BR, /* info about branches */ - AuCtl_FHSM_FD /* connection for fhsm */ -}; - -/* borrowed from linux/include/linux/kernel.h */ -#ifndef ALIGN -#define ALIGN(x, a) __ALIGN_MASK(x, (typeof(x))(a)-1) -#define __ALIGN_MASK(x, mask) (((x)+(mask))&~(mask)) -#endif - -/* borrowed from linux/include/linux/compiler-gcc3.h */ -#ifndef __aligned -#define __aligned(x) __attribute__((aligned(x))) -#endif - -#ifdef __KERNEL__ -#ifndef __packed -#define __packed __attribute__((packed)) -#endif -#endif - -struct au_rdu_cookie { - uint64_t h_pos; - int16_t bindex; - uint8_t flags; - uint8_t pad; - uint32_t generation; -} __aligned(8); - -struct au_rdu_ent { - uint64_t ino; - int16_t bindex; - uint8_t type; - uint8_t nlen; - uint8_t wh; - char name[0]; -} __aligned(8); - -static inline int au_rdu_len(int nlen) -{ - /* include the terminating NULL */ - return ALIGN(sizeof(struct au_rdu_ent) + nlen + 1, - sizeof(uint64_t)); -} - -union au_rdu_ent_ul { - struct au_rdu_ent *e; - uint64_t ul; -}; - -enum { - AufsCtlRduV_SZ, - AufsCtlRduV_End -}; - -struct aufs_rdu { - /* input */ - union { - uint64_t sz; /* AuCtl_RDU */ - uint64_t nent; /* AuCtl_RDU_INO */ - }; - union au_rdu_ent_ul ent; - uint16_t verify[AufsCtlRduV_End]; - - /* input/output */ - uint32_t blk; - - /* output */ - union au_rdu_ent_ul tail; - /* number of entries which were added in a single call */ - uint64_t rent; - uint8_t full; - uint8_t shwh; - - struct au_rdu_cookie cookie; -} __aligned(8); - -/* ---------------------------------------------------------------------- */ - -struct aufs_wbr_fd { - uint32_t oflags; - int16_t brid; -} __aligned(8); - -/* ---------------------------------------------------------------------- */ - -struct aufs_ibusy { - uint64_t ino, h_ino; - int16_t bindex; -} __aligned(8); - -/* ---------------------------------------------------------------------- */ - -/* error code for move-down */ -/* the actual message strings are implemented in aufs-util.git */ -enum { - EAU_MVDOWN_OPAQUE = 1, - EAU_MVDOWN_WHITEOUT, - EAU_MVDOWN_UPPER, - EAU_MVDOWN_BOTTOM, - EAU_MVDOWN_NOUPPER, - EAU_MVDOWN_NOLOWERBR, - EAU_Last -}; - -/* flags for move-down */ -#define AUFS_MVDOWN_DMSG 1 -#define AUFS_MVDOWN_OWLOWER (1 << 1) /* overwrite lower */ -#define AUFS_MVDOWN_KUPPER (1 << 2) /* keep upper */ -#define AUFS_MVDOWN_ROLOWER (1 << 3) /* do even if lower is RO */ -#define AUFS_MVDOWN_ROLOWER_R (1 << 4) /* did on lower RO */ -#define AUFS_MVDOWN_ROUPPER (1 << 5) /* do even if upper is RO */ -#define AUFS_MVDOWN_ROUPPER_R (1 << 6) /* did on upper RO */ -#define AUFS_MVDOWN_BRID_UPPER (1 << 7) /* upper brid */ -#define AUFS_MVDOWN_BRID_LOWER (1 << 8) /* lower brid */ -#define AUFS_MVDOWN_FHSM_LOWER (1 << 9) /* find fhsm attr for lower */ -#define AUFS_MVDOWN_STFS (1 << 10) /* req. stfs */ -#define AUFS_MVDOWN_STFS_FAILED (1 << 11) /* output: stfs is unusable */ -#define AUFS_MVDOWN_BOTTOM (1 << 12) /* output: no more lowers */ - -/* index for move-down */ -enum { - AUFS_MVDOWN_UPPER, - AUFS_MVDOWN_LOWER, - AUFS_MVDOWN_NARRAY -}; - -/* - * additional info of move-down - * number of free blocks and inodes. - * subset of struct kstatfs, but smaller and always 64bit. - */ -struct aufs_stfs { - uint64_t f_blocks; - uint64_t f_bavail; - uint64_t f_files; - uint64_t f_ffree; -}; - -struct aufs_stbr { - int16_t brid; /* optional input */ - int16_t bindex; /* output */ - struct aufs_stfs stfs; /* output when AUFS_MVDOWN_STFS set */ -} __aligned(8); - -struct aufs_mvdown { - uint32_t flags; /* input/output */ - struct aufs_stbr stbr[AUFS_MVDOWN_NARRAY]; /* input/output */ - int8_t au_errno; /* output */ -} __aligned(8); - -/* ---------------------------------------------------------------------- */ - -union aufs_brinfo { - /* PATH_MAX may differ between kernel-space and user-space */ - char _spacer[4096]; - struct { - int16_t id; - int perm; - char path[0]; - }; -} __aligned(8); - -/* ---------------------------------------------------------------------- */ - -#define AuCtlType 'A' -#define AUFS_CTL_RDU _IOWR(AuCtlType, AuCtl_RDU, struct aufs_rdu) -#define AUFS_CTL_RDU_INO _IOWR(AuCtlType, AuCtl_RDU_INO, struct aufs_rdu) -#define AUFS_CTL_WBR_FD _IOW(AuCtlType, AuCtl_WBR_FD, \ - struct aufs_wbr_fd) -#define AUFS_CTL_IBUSY _IOWR(AuCtlType, AuCtl_IBUSY, struct aufs_ibusy) -#define AUFS_CTL_MVDOWN _IOWR(AuCtlType, AuCtl_MVDOWN, \ - struct aufs_mvdown) -#define AUFS_CTL_BRINFO _IOW(AuCtlType, AuCtl_BR, union aufs_brinfo) -#define AUFS_CTL_FHSM_FD _IOW(AuCtlType, AuCtl_FHSM_FD, int) - -#endif /* __AUFS_TYPE_H__ */ diff --git a/meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb b/meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb index 1e86775..66f560c 100644 --- a/meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb +++ b/meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb @@ -4,37 +4,40 @@ HOMEPAGE = "http://aufs.sourceforge.net/" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=892f569a555ba9c07a568a7c0c4fa63a" -DEPENDS = "aufs-util-native" +DEPENDS = "coreutils-native aufs-util-native" DEPENDS_class-native = "" -SRCREV = "bdfcc0dcfc6113146e928f85145dbd2cf9b0e080" -SRC_URI = "git://git.code.sf.net/p/aufs/aufs-util;protocol=git;branch=aufs3.18 \ +SRCREV = "89afb1806c3d2eed8db2666ae254b77518ae3ceb" +SRC_URI = "git://git.code.sf.net/p/aufs/aufs-util;protocol=git;branch=aufs4.4 \ + https://raw.githubusercontent.com/sfjro/aufs4-linux/aufs4.4/include/uapi/linux/aufs_type.h;name=aufs_type \ file://aufs-util-don-t-strip-executables.patch \ file://aufs-util-add-tool-concept-to-Makefile-for-cross-com.patch \ - file://aufs_type.h \ " +SRC_URI[aufs_type.md5sum] = "f7b4a255dcb55fe7b0967f5f59b44f19" +SRC_URI[aufs_type.sha256sum] = "85bc8e4c1a94a7d526c382e4b047b4256cab8c4a65fc0396291707ad9a327a18" -PV = "3.14+git${SRCPV}" +PV = "4.4+git${SRCPV}" S = "${WORKDIR}/git" export HOSTCC = "${BUILD_CC}" - do_configure_prepend() { # Replace sbin,bin paths with bitbake environment sed -i -e 's;install_sbin: Tgt = ${DESTDIR}/sbin;install_sbin: Tgt = ${DESTDIR}/${base_sbindir};' \ -e 's;install_ubin: Tgt = ${DESTDIR}/usr/sbin;install_sbin: Tgt = ${DESTDIR}/${bindir};' \ ${S}/Makefile + sed -i -e 's;strip -R;${STRIP} -R;' ${S}/libau/Makefile } do_configure_append () { install -d ${S}/include/linux/ cp ${WORKDIR}/aufs_type.h ${S}/include/linux/ + sed -i -e 's;__user;;' ${S}/include/linux/aufs_type.h } do_configure_append_class-target () { for i in ver c2sh c2tmac; do - cp ${STAGING_BINDIR_NATIVE}/aufs-util-*/$i ${B} + cp ${STAGING_BINDIR_NATIVE}/aufs-util-${PV}/$i ${B} done } -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:51:27 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:51:27 +0000 Subject: [oe-commits] [meta-openembedded] 23/67: kexec-tools-klibc: Fix build with musl In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125104.D79D12335D8@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit f33bcba0bc4e73684e56a813e4272b09d33e7bc7 Author: Khem Raj AuthorDate: Thu Jul 13 22:40:10 2017 -0700 kexec-tools-klibc: Fix build with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...he-order-of-headers-to-fix-build-for-musl.patch | 30 ++++++++++++++++++++++ .../kexec/kexec-tools-klibc_2.0.2.bb | 1 + 2 files changed, 31 insertions(+) diff --git a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/0001-Adjust-the-order-of-headers-to-fix-build-for-musl.patch b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/0001-Adjust-the-order-of-headers-to-fix-build-for-musl.patch new file mode 100644 index 0000000..a7600b3 --- /dev/null +++ b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/0001-Adjust-the-order-of-headers-to-fix-build-for-musl.patch @@ -0,0 +1,30 @@ +From 86b962e7c0de43b20b6210d059e4855ce87078bc Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 13 Jul 2017 16:20:08 -0700 +Subject: [PATCH] Adjust the order of headers to fix build for musl + +Fixes +kexec/ifdown.c:33:16: error: storage size of 'ifc' isn't known + +Signed-off-by: Khem Raj +--- + kexec/ifdown.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/kexec/ifdown.c b/kexec/ifdown.c +index 2215798..e13f777 100644 +--- a/kexec/ifdown.c ++++ b/kexec/ifdown.c +@@ -16,8 +16,8 @@ char *v_ifdown = "@(#)ifdown.c 1.11 02-Jun-1998 miquels at cistron.nl"; + #include + #include + +-#include + #include ++#include + + #define MAX_IFS 64 + +-- +2.13.2 + diff --git a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc_2.0.2.bb b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc_2.0.2.bb index c9fec25..49c53a3 100644 --- a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc_2.0.2.bb +++ b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc_2.0.2.bb @@ -20,6 +20,7 @@ SRC_URI += " \ file://sha256.patch \ file://sysconf_nrprocessors.patch \ file://fix-out-of-tree-build.patch \ + file://0001-Adjust-the-order-of-headers-to-fix-build-for-musl.patch \ " SRC_URI_append_arm = " file://arm_crashdump.patch" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:51:38 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:51:38 +0000 Subject: [oe-commits] [meta-openembedded] 34/67: iperf3: Fix missing stdint.h and do not link with -pg In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125105.33C2B23361F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 28d5c2e348a2d64b0832b6c5add5cedd831426e8 Author: Khem Raj AuthorDate: Fri Jul 14 18:55:34 2017 -0700 iperf3: Fix missing stdint.h and do not link with -pg Helps compile with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...de-stdint.h-for-various-std-c99-int-types.patch | 39 ++++++++++++++++++++++ .../0002-Remove-pg-from-profile_CFLAGS.patch | 31 +++++++++++++++++ meta-oe/recipes-benchmark/iperf3/iperf3_git.bb | 11 +++--- 3 files changed, 77 insertions(+), 4 deletions(-) diff --git a/meta-oe/recipes-benchmark/iperf3/iperf3/0001-include-stdint.h-for-various-std-c99-int-types.patch b/meta-oe/recipes-benchmark/iperf3/iperf3/0001-include-stdint.h-for-various-std-c99-int-types.patch new file mode 100644 index 0000000..ae36208 --- /dev/null +++ b/meta-oe/recipes-benchmark/iperf3/iperf3/0001-include-stdint.h-for-various-std-c99-int-types.patch @@ -0,0 +1,39 @@ +From be653711fb92d2430b3ecc546b4e3ad927d19ec5 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 14 Jul 2017 12:59:42 -0700 +Subject: [PATCH 1/2] include stdint.h for various std c99 int types + +Signed-off-by: Khem Raj +--- + src/cjson.h | 2 ++ + src/timer.h | 1 + + 2 files changed, 3 insertions(+) + +diff --git a/src/cjson.h b/src/cjson.h +index fb8cd3b..69cd272 100644 +--- a/src/cjson.h ++++ b/src/cjson.h +@@ -23,6 +23,8 @@ + #ifndef cJSON__h + #define cJSON__h + ++#include ++ + #ifdef __cplusplus + extern "C" + { +diff --git a/src/timer.h b/src/timer.h +index 0f9c5eb..0b195be 100644 +--- a/src/timer.h ++++ b/src/timer.h +@@ -31,6 +31,7 @@ + #define __TIMER_H + + #include ++#include + + /* TimerClientData is an opaque value that tags along with a timer. The + ** client can use it for whatever, and it gets passed to the callback when +-- +2.13.3 + diff --git a/meta-oe/recipes-benchmark/iperf3/iperf3/0002-Remove-pg-from-profile_CFLAGS.patch b/meta-oe/recipes-benchmark/iperf3/iperf3/0002-Remove-pg-from-profile_CFLAGS.patch new file mode 100644 index 0000000..06eb41a --- /dev/null +++ b/meta-oe/recipes-benchmark/iperf3/iperf3/0002-Remove-pg-from-profile_CFLAGS.patch @@ -0,0 +1,31 @@ +From 6db0e28f906bc3784019dfb5bb011237a8034fda Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 14 Jul 2017 13:00:16 -0700 +Subject: [PATCH 2/2] Remove -pg from profile_CFLAGS + +musl fails to link with missing gcrt1.o + +Signed-off-by: Khem Raj +--- + src/Makefile.am | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/Makefile.am b/src/Makefile.am +index 23b0c72..6268145 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -49,9 +49,9 @@ iperf3_LDFLAGS = -g + iperf3_profile_SOURCES = main.c \ + $(libiperf_la_SOURCES) + +-iperf3_profile_CFLAGS = -pg -g ++iperf3_profile_CFLAGS = -g + iperf3_profile_LDADD = libiperf.la +-iperf3_profile_LDFLAGS = -pg -g ++iperf3_profile_LDFLAGS = -g + + # Specify the sources and various flags for the test cases + t_timer_SOURCES = t_timer.c +-- +2.13.3 + diff --git a/meta-oe/recipes-benchmark/iperf3/iperf3_git.bb b/meta-oe/recipes-benchmark/iperf3/iperf3_git.bb index d19aa1e..4a01896 100644 --- a/meta-oe/recipes-benchmark/iperf3/iperf3_git.bb +++ b/meta-oe/recipes-benchmark/iperf3/iperf3_git.bb @@ -11,10 +11,11 @@ AUTHOR = "ESNET , Lawrence Berkeley National Laboratory References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125105.15F0923361B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 5fdec50f89520fe4e1448941c5376fd1272bbdbb Author: Khem Raj AuthorDate: Fri Jul 14 18:55:37 2017 -0700 metacity: Fix build with musl by defining _GNU_SOURCE Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../metacity/0001-ui-Define-_GNU_SOURCE.patch | 27 ++++++++++++++++++++++ .../recipes-gnome/metacity/metacity_2.34.13.bb | 5 +++- 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/meta-gnome/recipes-gnome/metacity/metacity/0001-ui-Define-_GNU_SOURCE.patch b/meta-gnome/recipes-gnome/metacity/metacity/0001-ui-Define-_GNU_SOURCE.patch new file mode 100644 index 0000000..539d756 --- /dev/null +++ b/meta-gnome/recipes-gnome/metacity/metacity/0001-ui-Define-_GNU_SOURCE.patch @@ -0,0 +1,27 @@ +From e7fd072f0df968f342878b77098e97ff07ed28d7 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 14 Jul 2017 10:26:31 -0700 +Subject: [PATCH] ui: Define _GNU_SOURCE + +it becomes portable across musl and glibc + +Signed-off-by: Khem Raj +--- + src/ui/theme.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/ui/theme.c b/src/ui/theme.c +index 84b57a0..c7eafc8 100644 +--- a/src/ui/theme.c ++++ b/src/ui/theme.c +@@ -60,6 +60,7 @@ + #include + #include + #include ++#define _GNU_SOURCE + #define __USE_XOPEN + #include + +-- +2.13.3 + diff --git a/meta-gnome/recipes-gnome/metacity/metacity_2.34.13.bb b/meta-gnome/recipes-gnome/metacity/metacity_2.34.13.bb index 662c90d..370de70 100644 --- a/meta-gnome/recipes-gnome/metacity/metacity_2.34.13.bb +++ b/meta-gnome/recipes-gnome/metacity/metacity_2.34.13.bb @@ -13,7 +13,10 @@ REQUIRED_DISTRO_FEATURES = "x11" GNOME_COMPRESS_TYPE = "xz" -SRC_URI += "file://remove-yelp-help-rules-var.patch" +SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@gnome_verdir("${PV}")}/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive \ + file://remove-yelp-help-rules-var.patch \ + file://0001-ui-Define-_GNU_SOURCE.patch \ + " SRC_URI[archive.md5sum] = "6d89b71672d4fa49fc87f83d610d0ef6" SRC_URI[archive.sha256sum] = "8cf4dbf0da0a6f36357ce7db7f829ec685908a7792453c662fb8184572b91075" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:51:30 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:51:30 +0000 Subject: [oe-commits] [meta-openembedded] 26/67: logfsprogs: Rename setkey API to _setkey to not conflict with libc In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125104.ECB632335DA@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 8c600a57c9ec060163923571d8cd98a9a4539e38 Author: Khem Raj AuthorDate: Thu Jul 13 22:40:13 2017 -0700 logfsprogs: Rename setkey API to _setkey to not conflict with libc Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...-conflicts-with-libc-namespace-about-setk.patch | 135 +++++++++++++++++++++ .../logfsprogs/logfsprogs_git.bb | 3 +- 2 files changed, 137 insertions(+), 1 deletion(-) diff --git a/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs/0001-btree-Avoid-conflicts-with-libc-namespace-about-setk.patch b/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs/0001-btree-Avoid-conflicts-with-libc-namespace-about-setk.patch new file mode 100644 index 0000000..dbf7ae0 --- /dev/null +++ b/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs/0001-btree-Avoid-conflicts-with-libc-namespace-about-setk.patch @@ -0,0 +1,135 @@ +From 5a8e26157d9642f022587cc1ca7525213c7a5379 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 13 Jul 2017 18:41:53 -0700 +Subject: [PATCH] btree: Avoid conflicts with libc namespace about setkey() + +This issue is highlighted with musl mainly because the +function signature from stdlib.h does not match the local +static function + +Signed-off-by: Khem Raj +--- + btree.c | 32 ++++++++++++++++---------------- + 1 file changed, 16 insertions(+), 16 deletions(-) + +diff --git a/btree.c b/btree.c +index eddc33b..dd3fef9 100644 +--- a/btree.c ++++ b/btree.c +@@ -123,7 +123,7 @@ static unsigned long bval(struct btree_geo *geo, unsigned long *node, int n) + return node[geo->no_pairs * geo->keylen + n]; + } + +-static void setkey(struct btree_geo *geo, unsigned long *node, ++static void _setkey(struct btree_geo *geo, unsigned long *node, + unsigned long *key, int n) + { + longcpy(bkey(geo, node, n), key, geo->keylen); +@@ -292,7 +292,7 @@ static unsigned long *find_level(struct btree_head *head, struct btree_geo *geo, + /* FIXME: If the right-most key on higher levels is + * always zero, this wouldn't be necessary. */ + i--; +- setkey(geo, node, key, i); ++ _setkey(geo, node, key, i); + } + BUG_ON(i < 0); + node = (unsigned long *)bval(geo, node, i); +@@ -311,7 +311,7 @@ static int btree_grow(struct btree_head *head, struct btree_geo *geo) + return -ENOMEM; + if (head->node) { + fill = getfill(geo, head->node, 0); +- setkey(geo, node, bkey(geo, head->node, fill - 1), 0); ++ _setkey(geo, node, bkey(geo, head->node, fill - 1), 0); + setval(geo, node, (unsigned long)head->node, 0); + } + head->node = node; +@@ -342,16 +342,16 @@ static void steal_l(struct btree_head *head, struct btree_geo *geo, int level, + + for (i = rfill - 1; i >= 0; i--) { + /* Shift entries on the right */ +- setkey(geo, right, bkey(geo, right, i), i + no_entries); ++ _setkey(geo, right, bkey(geo, right, i), i + no_entries); + setval(geo, right, bval(geo, right, i), i + no_entries); + } + for (i = 0; i < no_entries; i++) { + /* Move some entries to the right */ +- setkey(geo, right, bkey(geo, left, lfill - no_entries + i), i); ++ _setkey(geo, right, bkey(geo, left, lfill - no_entries + i), i); + setval(geo, right, bval(geo, left, lfill - no_entries + i), i); + } + /* Set parent key */ +- setkey(geo, parent, bkey(geo, left, lfill - no_entries - 1), lpos); ++ _setkey(geo, parent, bkey(geo, left, lfill - no_entries - 1), lpos); + for (i = lfill - no_entries; i < lfill; i++) + clearpair(geo, left, i); + } +@@ -366,14 +366,14 @@ static void steal_r(struct btree_head *head, struct btree_geo *geo, int level, + + for (i = 0; i < no_entries; i++) { + /* Move some entries to the left */ +- setkey(geo, left, bkey(geo, right, i), lfill + i); ++ _setkey(geo, left, bkey(geo, right, i), lfill + i); + setval(geo, left, bval(geo, right, i), lfill + i); + } + /* Set parent key */ +- setkey(geo, parent, bkey(geo, right, no_entries - 1), lpos); ++ _setkey(geo, parent, bkey(geo, right, no_entries - 1), lpos); + /* Shift entries on the right */ + for ( ; i < rfill; i++) { +- setkey(geo, right, bkey(geo, right, i), i - no_entries); ++ _setkey(geo, right, bkey(geo, right, i), i - no_entries); + setval(geo, right, bval(geo, right, i), i - no_entries); + } + for (i = rfill - no_entries; i < rfill; i++) +@@ -399,14 +399,14 @@ static int split(struct btree_head *head, struct btree_geo *geo, + return err; + } + for (i = 0; i < fill / 2; i++) { +- setkey(geo, new, bkey(geo, node, i), i); ++ _setkey(geo, new, bkey(geo, node, i), i); + setval(geo, new, bval(geo, node, i), i); +- setkey(geo, node, bkey(geo, node, i + fill / 2), i); ++ _setkey(geo, node, bkey(geo, node, i + fill / 2), i); + setval(geo, node, bval(geo, node, i + fill / 2), i); + clearpair(geo, node, i + fill / 2); + } + if (fill & 1) { +- setkey(geo, node, bkey(geo, node, fill - 1), i); ++ _setkey(geo, node, bkey(geo, node, fill - 1), i); + setval(geo, node, bval(geo, node, fill - 1), i); + clearpair(geo, node, fill - 1); + } +@@ -487,10 +487,10 @@ retry: + + /* shift and insert */ + for (i = fill; i > pos; i--) { +- setkey(geo, node, bkey(geo, node, i - 1), i); ++ _setkey(geo, node, bkey(geo, node, i - 1), i); + setval(geo, node, bval(geo, node, i - 1), i); + } +- setkey(geo, node, key, pos); ++ _setkey(geo, node, key, pos); + setval(geo, node, val, pos); + + return 0; +@@ -513,7 +513,7 @@ static void merge(struct btree_head *head, struct btree_geo *geo, int level, + + for (i = 0; i < rfill; i++) { + /* Move all entries to the left */ +- setkey(geo, left, bkey(geo, right, i), lfill + i); ++ _setkey(geo, left, bkey(geo, right, i), lfill + i); + setval(geo, left, bval(geo, right, i), lfill + i); + } + /* Exchange left and right child in parent */ +@@ -615,7 +615,7 @@ static void *btree_remove_level(struct btree_head *head, struct btree_geo *geo, + + /* remove and shift */ + for (i = pos; i < fill - 1; i++) { +- setkey(geo, node, bkey(geo, node, i + 1), i); ++ _setkey(geo, node, bkey(geo, node, i + 1), i); + setval(geo, node, bval(geo, node, i + 1), i); + } + clearpair(geo, node, fill - 1); +-- +2.13.2 + diff --git a/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs_git.bb b/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs_git.bb index c41f0ea..1b4d97d 100644 --- a/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs_git.bb +++ b/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs_git.bb @@ -13,7 +13,8 @@ DEPENDS = "zlib" SRC_URI = "git://github.com/prasad-joshi/logfsprogs.git \ file://0001-Add-LDFLAGS-to-linker-cmdline.patch \ -" + file://0001-btree-Avoid-conflicts-with-libc-namespace-about-setk.patch \ + " SRCREV = "45b72c81ce3c6fa17ca19bafc207ea93e76312f4" S = "${WORKDIR}/git" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:51:28 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:51:28 +0000 Subject: [oe-commits] [meta-openembedded] 24/67: dracut: Upgrade to 045 In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125104.DDB19233617@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 704a8e62801571721743a1a5295cf2fb4ef11990 Author: Khem Raj AuthorDate: Thu Jul 13 22:40:11 2017 -0700 dracut: Upgrade to 045 Fix build on musl while here Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...-util.h-include-sys-reg.h-when-libc-glibc.patch | 33 ++++++++++++++++++++++ .../recipes-devtools/dracut/dracut_git.bb | 19 +++++++++---- 2 files changed, 46 insertions(+), 6 deletions(-) diff --git a/meta-initramfs/recipes-devtools/dracut/dracut/0001-util.h-include-sys-reg.h-when-libc-glibc.patch b/meta-initramfs/recipes-devtools/dracut/dracut/0001-util.h-include-sys-reg.h-when-libc-glibc.patch new file mode 100644 index 0000000..3271403 --- /dev/null +++ b/meta-initramfs/recipes-devtools/dracut/dracut/0001-util.h-include-sys-reg.h-when-libc-glibc.patch @@ -0,0 +1,33 @@ +From 06011ce55b1e892e863568a73d64eebc6389544f Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 13 Jul 2017 17:14:05 -0700 +Subject: [PATCH] util.h: include when libc != glibc + +For musl libc it is required to include to +have __WORDSIZE defined to e.g. 32 for arm*-musl. + +Taken from void-linux +https://github.com/voidlinux/void-packages/blob/master/srcpkgs/dracut/patches/musl-__wordsize.patch + +Signed-off-by: Khem Raj +--- + install/util.h | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/install/util.h b/install/util.h +index 2ad3254d..062626ec 100644 +--- a/install/util.h ++++ b/install/util.h +@@ -36,6 +36,9 @@ + #include + #include + #include ++#if !defined(__GLIBC__) ++#include ++#endif + + #include "macro.h" + +-- +2.13.2 + diff --git a/meta-initramfs/recipes-devtools/dracut/dracut_git.bb b/meta-initramfs/recipes-devtools/dracut/dracut_git.bb index b91f3fa..09c86d0 100644 --- a/meta-initramfs/recipes-devtools/dracut/dracut_git.bb +++ b/meta-initramfs/recipes-devtools/dracut/dracut_git.bb @@ -5,13 +5,18 @@ LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" PE = "1" -PV = "044+git${SRCREV}" +PV = "045+git${SRCREV}" -# v044 tag -SRCREV = "1bc3e733f96033a508841e97fe08da7a12851782" -SRC_URI = "git://git.kernel.org/pub/scm/boot/dracut/dracut.git;protocol=http" +# v045 tag +SRCREV = "39c9b67f86145953aa30def9d77c68597a4ccfe8" +SRC_URI = "git://git.kernel.org/pub/scm/boot/dracut/dracut.git;protocol=http \ + file://0001-util.h-include-sys-reg.h-when-libc-glibc.patch \ + " -inherit bash-completion +DEPENDS += "kmod" +DEPENDS_append_libc-musl = " fts" + +inherit bash-completion pkgconfig S = "${WORKDIR}/git" @@ -30,7 +35,9 @@ EXTRA_OECONF = "--prefix=${prefix} \ PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,,,systemd" -EXTRA_OEMAKE += 'libdir=${prefix}/lib' +EXTRA_OEMAKE += 'libdir=${prefix}/lib LDLIBS="${LDLIBS}"' + +LDLIBS_append_libc-musl = " -lfts" do_configure() { ./configure ${EXTRA_OECONF} -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:51:35 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:51:35 +0000 Subject: [oe-commits] [meta-openembedded] 31/67: monkey: Link in libexecinfo on musl In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125105.1CFEA23361C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 304791ecfb233b4b4294b2cb85b422a1fb86c96d Author: Khem Raj AuthorDate: Fri Jul 14 18:55:38 2017 -0700 monkey: Link in libexecinfo on musl Needed for backtrace() APIs Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...-configure-Respect-LIBS-variable-from-env.patch | 29 ++++++++++++++++++++++ .../recipes-httpd/monkey/monkey_1.5.6.bb | 9 +++++++ 2 files changed, 38 insertions(+) diff --git a/meta-webserver/recipes-httpd/monkey/files/0001-configure-Respect-LIBS-variable-from-env.patch b/meta-webserver/recipes-httpd/monkey/files/0001-configure-Respect-LIBS-variable-from-env.patch new file mode 100644 index 0000000..7a22951 --- /dev/null +++ b/meta-webserver/recipes-httpd/monkey/files/0001-configure-Respect-LIBS-variable-from-env.patch @@ -0,0 +1,29 @@ +From b0526a9b5325bd4758dad8d14efd85c98ef2ebff Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 14 Jul 2017 18:25:23 -0700 +Subject: [PATCH] configure: Respect LIBS variable from env + +For musl we need to pass -lexecinfo from env +this change accomodates that + +Signed-off-by: Khem Raj +--- + configure | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure b/configure +index 4286c34..f1c65db 100755 +--- a/configure ++++ b/configure +@@ -620,7 +620,7 @@ LIBDEFS = -DSHAREDLIB -fPIC \$(DEFS) + INCDIR = ./include + LDFLAGS = $LDFLAGS + DESTDIR = ../bin/monkey +-LIBS = -ldl $libs ++LIBS = -ldl $libs ${LIBS} + OBJ = monkey.o mk_method.o mk_mimetype.o mk_vhost.o mk_request.o \\ + mk_header.o mk_config.o mk_signals.o \\ + mk_user.o mk_utils.o mk_epoll.o mk_scheduler.o \\ +-- +2.13.3 + diff --git a/meta-webserver/recipes-httpd/monkey/monkey_1.5.6.bb b/meta-webserver/recipes-httpd/monkey/monkey_1.5.6.bb index be8ed37..97dc276 100644 --- a/meta-webserver/recipes-httpd/monkey/monkey_1.5.6.bb +++ b/meta-webserver/recipes-httpd/monkey/monkey_1.5.6.bb @@ -7,7 +7,10 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93" SECTION = "net" +DEPENDS_append_libc-musl = " libexecinfo" + SRC_URI = "http://monkey-project.com/releases/1.5/monkey-${PV}.tar.gz \ + file://0001-configure-Respect-LIBS-variable-from-env.patch \ file://monkey.service \ file://monkey.init" @@ -24,7 +27,13 @@ EXTRA_OECONF = "--plugdir=${libdir}/monkey/ \ --disable-plugins=mbedtls \ --debug \ --malloc-libc" + +do_configure_prepend_libc-musl() { + export LIBS="-lexecinfo" +} + DISABLE_STATIC = "" +CLEANBROKEN = "1" inherit autotools-brokensep pkgconfig update-rc.d systemd -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:51:41 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:51:41 +0000 Subject: [oe-commits] [meta-openembedded] 37/67: open-vm-tools: remove custom procps logic In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125105.4B162233622@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit a65b93f0c251c7da9203d6189af6e61f751f80a4 Author: Martin Kelly AuthorDate: Mon Jul 17 11:21:25 2017 -0700 open-vm-tools: remove custom procps logic procps is picked up by pkgconfig without issue, so we no longer need this logic. Signed-off-by: Martin Kelly Signed-off-by: Martin Jansa --- meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb | 2 -- 1 file changed, 2 deletions(-) diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb b/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb index 65fbfc9..5f93eb4 100644 --- a/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb +++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb @@ -77,8 +77,6 @@ do_install_append() { } do_configure_prepend() { - export CUSTOM_PROCPS_NAME=procps - export CUSTOM_PROCPS_LIBS=-L${STAGING_LIBDIR}/libprocps.so export CUSTOM_DNET_NAME=dnet export CUSTOM_DNET_LIBS=-L${STAGING_LIBDIR}/libdnet.so } -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:51:39 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:51:39 +0000 Subject: [oe-commits] [meta-openembedded] 35/67: v4l-utils: Fix build with musl In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125105.3CC01233620@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit e3261a5c5a08f06a84002c5b7f07892b42fb692d Author: Khem Raj AuthorDate: Fri Jul 14 18:55:35 2017 -0700 v4l-utils: Fix build with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...tl-Define-TEMP_FAILURE_RETRY-if-undefined.patch | 55 ++++++++++++++++++++++ ...t-Link-mc_nextgen_test-with-libargp-if-ne.patch | 28 +++++++++++ .../0003-v4l2-ctl-Do-not-use-getsubopt.patch | 49 +++++++++++++++++++ .../v4l2apps/v4l-utils_1.12.3.bb | 5 +- 4 files changed, 136 insertions(+), 1 deletion(-) diff --git a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-ir-ctl-Define-TEMP_FAILURE_RETRY-if-undefined.patch b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-ir-ctl-Define-TEMP_FAILURE_RETRY-if-undefined.patch new file mode 100644 index 0000000..f1e11da --- /dev/null +++ b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-ir-ctl-Define-TEMP_FAILURE_RETRY-if-undefined.patch @@ -0,0 +1,55 @@ +From e60aea50e41ae8a17672beb5859beecb66e7a305 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 14 Jul 2017 13:11:25 -0700 +Subject: [PATCH 1/3] ir-ctl: Define TEMP_FAILURE_RETRY if undefined + +use strndup() instead of strndupa() which is not +universally available in C libraries + +Taken from AlpineLinux + +Signed-off-by: Khem Raj +--- + utils/ir-ctl/ir-ctl.c | 14 +++++++++++++- + 1 file changed, 13 insertions(+), 1 deletion(-) + +diff --git a/utils/ir-ctl/ir-ctl.c b/utils/ir-ctl/ir-ctl.c +index bc58cee..1a44011 100644 +--- a/utils/ir-ctl/ir-ctl.c ++++ b/utils/ir-ctl/ir-ctl.c +@@ -42,6 +42,16 @@ + # define _(string) string + #endif + ++/* taken from glibc unistd.h */ ++#ifndef TEMP_FAILURE_RETRY ++#define TEMP_FAILURE_RETRY(expression) \ ++ (__extension__ \ ++ ({ long int __result; \ ++ do __result = (long int) (expression); \ ++ while (__result == -1L && errno == EINTR); \ ++ __result; })) ++#endif ++ + # define N_(string) string + + +@@ -344,12 +354,14 @@ static struct file *read_scancode(const char *name) + return NULL; + } + +- pstr = strndupa(name, p - name); ++ pstr = strndup(name, p - name); + + if (!protocol_match(pstr, &proto)) { + fprintf(stderr, _("error: protocol '%s' not found\n"), pstr); ++ free(pstr); + return NULL; + } ++ free(pstr); + + if (!strtoscancode(p + 1, &scancode)) { + fprintf(stderr, _("error: invalid scancode '%s'\n"), p + 1); +-- +2.13.3 + diff --git a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0002-contrib-test-Link-mc_nextgen_test-with-libargp-if-ne.patch b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0002-contrib-test-Link-mc_nextgen_test-with-libargp-if-ne.patch new file mode 100644 index 0000000..2fb4057 --- /dev/null +++ b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0002-contrib-test-Link-mc_nextgen_test-with-libargp-if-ne.patch @@ -0,0 +1,28 @@ +From b3acc4c6407f9553f32582a9aee6a11b5fcd1d8a Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 14 Jul 2017 13:17:19 -0700 +Subject: [PATCH 2/3] contrib/test: Link mc_nextgen_test with libargp if needed + +musl depends on external argp implementation e.g. + +Signed-off-by: Khem Raj +--- + contrib/test/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/contrib/test/Makefile.am b/contrib/test/Makefile.am +index 4641e21..e47b948 100644 +--- a/contrib/test/Makefile.am ++++ b/contrib/test/Makefile.am +@@ -32,7 +32,7 @@ v4l2gl_LDFLAGS = $(X11_LIBS) $(GL_LIBS) $(GLU_LIBS) $(ARGP_LIBS) + v4l2gl_LDADD = ../../lib/libv4l2/libv4l2.la ../../lib/libv4lconvert/libv4lconvert.la + + mc_nextgen_test_CFLAGS = $(LIBUDEV_CFLAGS) +-mc_nextgen_test_LDFLAGS = $(LIBUDEV_LIBS) ++mc_nextgen_test_LDFLAGS = $(ARGP_LIBS) $(LIBUDEV_LIBS) + + + ioctl_test_SOURCES = ioctl-test.c ioctl-test.h ioctl_32.h ioctl_64.h +-- +2.13.3 + diff --git a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0003-v4l2-ctl-Do-not-use-getsubopt.patch b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0003-v4l2-ctl-Do-not-use-getsubopt.patch new file mode 100644 index 0000000..0a986ae --- /dev/null +++ b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0003-v4l2-ctl-Do-not-use-getsubopt.patch @@ -0,0 +1,49 @@ +From d04aa6866cbea57c4a81b033cd60586a9436ac6b Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 14 Jul 2017 13:20:05 -0700 +Subject: [PATCH 3/3] v4l2-ctl: Do not use getsubopt + +POSIX says that behavior when subopts list is empty is undefined. +musl libs will set value to NULL which leads to crash. + +Taken from AlpineLinux + +Signed-off-by: Khem Raj +--- + utils/v4l2-ctl/v4l2-ctl-common.cpp | 19 ++++++++++--------- + 1 file changed, 10 insertions(+), 9 deletions(-) + +diff --git a/utils/v4l2-ctl/v4l2-ctl-common.cpp b/utils/v4l2-ctl/v4l2-ctl-common.cpp +index 3ea6cd3..291fb3e 100644 +--- a/utils/v4l2-ctl/v4l2-ctl-common.cpp ++++ b/utils/v4l2-ctl/v4l2-ctl-common.cpp +@@ -692,16 +692,17 @@ static bool parse_subset(char *optarg) + + static bool parse_next_subopt(char **subs, char **value) + { +- static char *const subopts[] = { +- NULL +- }; +- int opt = getsubopt(subs, subopts, value); ++ char *p = *subs; ++ *value = *subs; + +- if (opt < 0 || *value) +- return false; +- fprintf(stderr, "No value given to suboption <%s>\n", +- subopts[opt]); +- return true; ++ while (*p && *p != ',') ++ p++; ++ ++ if (*p) ++ *p++ = '\0'; ++ ++ *subs = p; ++ return false; + } + + void common_cmd(int ch, char *optarg) +-- +2.13.3 + diff --git a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.12.3.bb b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.12.3.bb index 42da5cc..b408bb0 100644 --- a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.12.3.bb +++ b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.12.3.bb @@ -18,7 +18,10 @@ SRC_URI = "http://linuxtv.org/downloads/v4l-utils/v4l-utils-${PV}.tar.bz2 \ file://0001-buildsystem-do-not-assume-building-in-source-tree.patch \ file://mediactl-pkgconfig.patch \ file://export-mediactl-headers.patch \ - " + file://0001-ir-ctl-Define-TEMP_FAILURE_RETRY-if-undefined.patch \ + file://0002-contrib-test-Link-mc_nextgen_test-with-libargp-if-ne.patch \ + file://0003-v4l2-ctl-Do-not-use-getsubopt.patch \ + " SRC_URI[md5sum] = "89e1ed6c69c94e0489dc0a638c7841aa" SRC_URI[sha256sum] = "5a47dd6f0e7dfe902d94605c01d385a4a4e87583ff5856d6f181900ea81cf46e" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:51:42 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:51:42 +0000 Subject: [oe-commits] [meta-openembedded] 38/67: igmpproxy: Include missing sys/tupes.h and define _GNU_SOURCE In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125105.5130A233623@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 9dcf556936d2f7b480a3eeb008ef42672a0c5b7f Author: Khem Raj AuthorDate: Mon Jul 17 20:09:57 2017 -0700 igmpproxy: Include missing sys/tupes.h and define _GNU_SOURCE Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...xy.h-Include-sys-types.h-for-u_short-u_in.patch | 25 ++++++++++++++++++++++ .../recipes-daemons/igmpproxy/igmpproxy_0.1.bb | 5 ++++- 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/meta-networking/recipes-daemons/igmpproxy/igmpproxy/0001-src-igmpproxy.h-Include-sys-types.h-for-u_short-u_in.patch b/meta-networking/recipes-daemons/igmpproxy/igmpproxy/0001-src-igmpproxy.h-Include-sys-types.h-for-u_short-u_in.patch new file mode 100644 index 0000000..82cdc36 --- /dev/null +++ b/meta-networking/recipes-daemons/igmpproxy/igmpproxy/0001-src-igmpproxy.h-Include-sys-types.h-for-u_short-u_in.patch @@ -0,0 +1,25 @@ +From a557651a08e21e3c7c7f5eca9f5405f86624903f Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 14 Jul 2017 22:42:51 -0700 +Subject: [PATCH] src/igmpproxy.h: Include sys/types.h for u_short/u_init + +Signed-off-by: Khem Raj +--- + src/igmpproxy.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/igmpproxy.h b/src/igmpproxy.h +index 4dabd1c..4454729 100644 +--- a/src/igmpproxy.h ++++ b/src/igmpproxy.h +@@ -46,6 +46,7 @@ + #include + + #include ++#include + #include + #include + #include +-- +2.13.3 + diff --git a/meta-networking/recipes-daemons/igmpproxy/igmpproxy_0.1.bb b/meta-networking/recipes-daemons/igmpproxy/igmpproxy_0.1.bb index c3d2f1a..5424dc4 100644 --- a/meta-networking/recipes-daemons/igmpproxy/igmpproxy_0.1.bb +++ b/meta-networking/recipes-daemons/igmpproxy/igmpproxy_0.1.bb @@ -5,9 +5,12 @@ LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=1e995e2799bb0d27d63069b97f805420" SRC_URI = "http://sourceforge.net/projects/igmpproxy/files/${BPN}/${PV}/${BPN}-${PV}.tar.gz \ - " + file://0001-src-igmpproxy.h-Include-sys-types.h-for-u_short-u_in.patch \ + " SRC_URI[md5sum] = "c56f41ec195bc1fe016369bf74efc5a1" SRC_URI[sha256sum] = "ee18ff3d8c3ae3a29dccb7e5eedf332337330020168bd95a11cece8d7d7ee6ae" inherit autotools pkgconfig + +CFLAGS += "-D_GNU_SOURCE" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:51:32 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:51:32 +0000 Subject: [oe-commits] [meta-openembedded] 28/67: xfsdump: Fix build with musl In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125105.086AE233619@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 068cf71a8faa01e3d2662af570cc3c21c24d5c25 Author: Khem Raj AuthorDate: Fri Jul 14 11:34:52 2017 -0700 xfsdump: Fix build with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../files/0001-Include-fcntl.h-for-O_EXCL.patch | 28 +++++ .../0002-Replace-__uint32_t-with-uint32_t.patch | 122 +++++++++++++++++++++ .../0003-replace-use-of-SIGCLD-with-SIGCHLD.patch | 40 +++++++ .../files/0004-include-limit.h-for-PATH_MAX.patch | 29 +++++ ...-types.h-for-u_int32_t-in-attr-attributes.patch | 27 +++++ .../recipes-utils/xfsdump/xfsdump_3.1.6.bb | 9 +- 6 files changed, 253 insertions(+), 2 deletions(-) diff --git a/meta-filesystems/recipes-utils/xfsdump/files/0001-Include-fcntl.h-for-O_EXCL.patch b/meta-filesystems/recipes-utils/xfsdump/files/0001-Include-fcntl.h-for-O_EXCL.patch new file mode 100644 index 0000000..660468d --- /dev/null +++ b/meta-filesystems/recipes-utils/xfsdump/files/0001-Include-fcntl.h-for-O_EXCL.patch @@ -0,0 +1,28 @@ +From 8cf48da5f645dd7bbb1ccbeab5bb0964f40f17f7 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 13 Jul 2017 23:18:47 -0700 +Subject: [PATCH 1/5] Include fcntl.h for O_EXCL + +Fix +error: 'O_CREAT' undeclared (first use in this function) + +Signed-off-by: Khem Raj +--- + invutil/invidx.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/invutil/invidx.c b/invutil/invidx.c +index 67efdf7..325a9a1 100644 +--- a/invutil/invidx.c ++++ b/invutil/invidx.c +@@ -27,6 +27,7 @@ + #include + #include + #include ++#include + + #include "types.h" + #include "mlog.h" +-- +2.13.2 + diff --git a/meta-filesystems/recipes-utils/xfsdump/files/0002-Replace-__uint32_t-with-uint32_t.patch b/meta-filesystems/recipes-utils/xfsdump/files/0002-Replace-__uint32_t-with-uint32_t.patch new file mode 100644 index 0000000..ed3e0a9 --- /dev/null +++ b/meta-filesystems/recipes-utils/xfsdump/files/0002-Replace-__uint32_t-with-uint32_t.patch @@ -0,0 +1,122 @@ +From f76d2142905f0e5bd830d5d576c235af1171c6ac Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 13 Jul 2017 23:23:31 -0700 +Subject: [PATCH 2/5] Replace __uint32_t with uint32_t + +Signed-off-by: Khem Raj +--- + common/content_inode.h | 4 ++-- + doc/xfsdump.html | 8 ++++---- + inventory/inv_oref.h | 2 +- + inventory/inv_priv.h | 4 ++-- + inventory/inventory.h | 2 +- + 5 files changed, 10 insertions(+), 10 deletions(-) + +diff --git a/common/content_inode.h b/common/content_inode.h +index a69a9a0..6936e05 100644 +--- a/common/content_inode.h ++++ b/common/content_inode.h +@@ -191,10 +191,10 @@ typedef struct bstat bstat_t; + * and using two 16bit values to hold new 32bit projid was choosen + * to retain compatibility with "old" filesystems). + */ +-static inline __uint32_t ++static inline uint32_t + bstat_projid(struct bstat *bs) + { +- return (__uint32_t)bs->bs_projid_hi << 16 | bs->bs_projid_lo; ++ return (uint32_t)bs->bs_projid_hi << 16 | bs->bs_projid_lo; + } + + +diff --git a/doc/xfsdump.html b/doc/xfsdump.html +index 9c6722e..f85128f 100644 +--- a/doc/xfsdump.html ++++ b/doc/xfsdump.html +@@ -1935,7 +1935,7 @@ The files are constructed like so: +

+ typedef struct invt_counter {
+     INVT_COUNTER_FIELDS
+-        __uint32_t    ic_vernum;/* on disk version number for posterity */\
++        uint32_t    ic_vernum;/* on disk version number for posterity */\
+         u_int         ic_curnum;/* number of sessions/invindices recorded \
+                                    so far */                              \
+         u_int         ic_maxnum;/* maximum number of sessions/inv_indices \
+@@ -1975,7 +1975,7 @@ typedef struct invt_fstab {
+ 
+ typedef struct invt_counter {
+     INVT_COUNTER_FIELDS
+-        __uint32_t    ic_vernum;/* on disk version number for posterity */\
++        uint32_t    ic_vernum;/* on disk version number for posterity */\
+         u_int         ic_curnum;/* number of sessions/invindices recorded \
+                                    so far */                              \
+         u_int         ic_maxnum;/* maximum number of sessions/inv_indices \
+@@ -2012,7 +2012,7 @@ typedef struct invt_entry {
+ 
+ typedef struct invt_sescounter {
+     INVT_COUNTER_FIELDS
+-        __uint32_t    ic_vernum;/* on disk version number for posterity */\
++        uint32_t    ic_vernum;/* on disk version number for posterity */\
+         u_int         ic_curnum;/* number of sessions/invindices recorded \
+                                    so far */                              \
+         u_int         ic_maxnum;/* maximum number of sessions/inv_indices \
+@@ -2034,7 +2034,7 @@ typedef struct invt_seshdr {
+     off64_t    sh_streams_off; /* offset to start of the set of
+                                   stream hdrs */
+     time_t     sh_time;        /* time of the dump */
+-    __uint32_t sh_flag;        /* for misc flags */
++    uint32_t sh_flag;        /* for misc flags */
+     u_char     sh_level;       /* dump level */
+     u_char     sh_pruned;      /* pruned by invutil flag */
+     char       sh_padding[22];
+diff --git a/inventory/inv_oref.h b/inventory/inv_oref.h
+index e16684d..38303a4 100644
+--- a/inventory/inv_oref.h
++++ b/inventory/inv_oref.h
+@@ -46,7 +46,7 @@
+ 
+ 
+ 
+-typedef __uint32_t	invt_objtype_t;
++typedef uint32_t	invt_objtype_t;
+ 
+ #define INVT_LOCKED		0x0001
+ 
+diff --git a/inventory/inv_priv.h b/inventory/inv_priv.h
+index 1690271..364ffbc 100644
+--- a/inventory/inv_priv.h
++++ b/inventory/inv_priv.h
+@@ -120,7 +120,7 @@ typedef struct invt_seshdr {
+ 	off64_t		sh_streams_off; /* offset to start of the set of 
+ 					   stream hdrs */
+ 	time32_t	sh_time;        /* time of the dump */
+-	__uint32_t	sh_flag;        /* for misc flags */
++	uint32_t	sh_flag;        /* for misc flags */
+ 	u_char		sh_level;       /* dump level */
+ 	u_char		sh_pruned;      /* pruned by invutil flag */
+ 	char		sh_padding[22];
+@@ -184,7 +184,7 @@ typedef struct invt_entry {
+ 
+ /* Cheap Inheritance, and an attempt to avoid a nested type */
+ #define INVT_COUNTER_FIELDS  \
+-        __uint32_t    ic_vernum;/* on disk version number for posterity */\
++        uint32_t    ic_vernum;/* on disk version number for posterity */\
+ 	uint	      ic_curnum;/* number of sessions/invindices recorded \
+ 				   so far */				  \
+ 	uint	      ic_maxnum;/* maximum number of sessions/inv_indices \
+diff --git a/inventory/inventory.h b/inventory/inventory.h
+index 134b9ba..c1d7403 100644
+--- a/inventory/inventory.h
++++ b/inventory/inventory.h
+@@ -43,7 +43,7 @@
+ /* length of labels, mntpts, etc */
+ #define INV_STRLEN              GLOBAL_HDR_STRING_SZ
+ 
+-typedef __uint32_t		inv_version_t;
++typedef uint32_t		inv_version_t;
+ 
+ /* This is the general inventory version. 
+  */
+-- 
+2.13.2
+
diff --git a/meta-filesystems/recipes-utils/xfsdump/files/0003-replace-use-of-SIGCLD-with-SIGCHLD.patch b/meta-filesystems/recipes-utils/xfsdump/files/0003-replace-use-of-SIGCLD-with-SIGCHLD.patch
new file mode 100644
index 0000000..31303d8
--- /dev/null
+++ b/meta-filesystems/recipes-utils/xfsdump/files/0003-replace-use-of-SIGCLD-with-SIGCHLD.patch
@@ -0,0 +1,40 @@
+From fcc0cf15a309947103a0695b8a1f4865b820eb5c Mon Sep 17 00:00:00 2001
+From: Khem Raj 
+Date: Thu, 13 Jul 2017 23:26:03 -0700
+Subject: [PATCH 3/5] replace use of SIGCLD with SIGCHLD
+
+Signed-off-by: Khem Raj 
+---
+ common/main.c    | 2 +-
+ doc/xfsdump.html | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/common/main.c b/common/main.c
+index 3848499..faa66ee 100644
+--- a/common/main.c
++++ b/common/main.c
+@@ -2225,7 +2225,7 @@ static sig_printmap_t sig_printmap[ ] = {
+ 	{SIGTERM,	"SIGTERM"},
+ 	{SIGUSR1,	"SIGUSR1"},
+ 	{SIGUSR2,	"SIGUSR2"},
+-	{SIGCLD,	"SIGCLD"},
++	{SIGCHLD,	"SIGCHLD"},
+ 	{SIGPWR,	"SIGPWR"},
+ 	{SIGURG,	"SIGURG"},
+ 	{SIGPOLL,	"SIGPOLL"},
+diff --git a/doc/xfsdump.html b/doc/xfsdump.html
+index f85128f..d96f037 100644
+--- a/doc/xfsdump.html
++++ b/doc/xfsdump.html
+@@ -334,7 +334,7 @@ the ring buffer. It ignores signals and does not terminate until it
+ receives a RING_OP_DIE message. It then exits 0.
+ 

+ The main process sleeps waiting for any of its children to die +-(ie. waiting for a SIGCLD). All children that it cares about (stream ++(ie. waiting for a SIGCHLD). All children that it cares about (stream + managers and ring buffer slaves) are registered through the child + manager abstraction. When a child dies wait status and other info is + stored with its entry in the child manager. main() ignores the deaths +-- +2.13.2 + diff --git a/meta-filesystems/recipes-utils/xfsdump/files/0004-include-limit.h-for-PATH_MAX.patch b/meta-filesystems/recipes-utils/xfsdump/files/0004-include-limit.h-for-PATH_MAX.patch new file mode 100644 index 0000000..62ea15b --- /dev/null +++ b/meta-filesystems/recipes-utils/xfsdump/files/0004-include-limit.h-for-PATH_MAX.patch @@ -0,0 +1,29 @@ +From 98c7d96f0f2c6eddf60aa4a1a08d7d4467645930 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 13 Jul 2017 23:28:10 -0700 +Subject: [PATCH 4/5] include limit.h for PATH_MAX + +fixed +var.c:42:12: error: 'PATH_MAX' undeclared (first use in this function); did you mean 'RAND_MAX'? + char path[PATH_MAX];` + +Signed-off-by: Khem Raj +--- + dump/var.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/dump/var.c b/dump/var.c +index 645caab..8156d37 100644 +--- a/dump/var.c ++++ b/dump/var.c +@@ -16,6 +16,7 @@ + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + ++#include + #include + #include + #include +-- +2.13.2 + diff --git a/meta-filesystems/recipes-utils/xfsdump/files/0005-include-sys-types.h-for-u_int32_t-in-attr-attributes.patch b/meta-filesystems/recipes-utils/xfsdump/files/0005-include-sys-types.h-for-u_int32_t-in-attr-attributes.patch new file mode 100644 index 0000000..fb6e467 --- /dev/null +++ b/meta-filesystems/recipes-utils/xfsdump/files/0005-include-sys-types.h-for-u_int32_t-in-attr-attributes.patch @@ -0,0 +1,27 @@ +From d95f494de1aa8123c74170ffebaed8ea89649da2 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 13 Jul 2017 23:33:44 -0700 +Subject: [PATCH 5/5] include sys/types.h for u_int32_t in attr/attributes.h + +error: unknown type name 'u_int32_t' + +Signed-off-by: Khem Raj +--- + restore/content.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/restore/content.c b/restore/content.c +index 7c4a81f..1d5de1b 100644 +--- a/restore/content.c ++++ b/restore/content.c +@@ -24,6 +24,7 @@ + #include + #include + #include ++#include + #include + #include + #include +-- +2.13.2 + diff --git a/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.6.bb b/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.6.bb index ecc7468..d1033cf 100644 --- a/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.6.bb +++ b/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.6.bb @@ -11,8 +11,13 @@ LIC_FILES_CHKSUM = "file://doc/COPYING;md5=15c832894d10ddd00dfcf57bee490ecc" DEPENDS = "xfsprogs attr" SRC_URI = "ftp://oss.sgi.com/projects/xfs/cmd_tars/${BPN}-${PV}.tar.gz \ - file://remove-install-as-user.patch \ -" + file://remove-install-as-user.patch \ + file://0001-Include-fcntl.h-for-O_EXCL.patch \ + file://0002-Replace-__uint32_t-with-uint32_t.patch \ + file://0003-replace-use-of-SIGCLD-with-SIGCHLD.patch \ + file://0004-include-limit.h-for-PATH_MAX.patch \ + file://0005-include-sys-types.h-for-u_int32_t-in-attr-attributes.patch \ + " SRC_URI[md5sum] = "50353cd4f4b435685955363e6044f4d1" SRC_URI[sha256sum] = "7f78c11ca527477d90e5e62b0778f3ad96f2b71c19173044e9aca9515fff42d0" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:51:43 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:51:43 +0000 Subject: [oe-commits] [meta-openembedded] 39/67: rdate: Define logwtmp if libc != glibc In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125105.5832E233624@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 1135955c56fba4d14e84d648a44fb51822525c21 Author: Khem Raj AuthorDate: Mon Jul 17 20:09:58 2017 -0700 rdate: Define logwtmp if libc != glibc Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../0001-rdate-define-logwtmp-on-libc-glibc.patch | 40 ++++++++++++++++++++++ .../recipes-connectivity/rdate/rdate_1.5.bb | 1 + 2 files changed, 41 insertions(+) diff --git a/meta-networking/recipes-connectivity/rdate/rdate/0001-rdate-define-logwtmp-on-libc-glibc.patch b/meta-networking/recipes-connectivity/rdate/rdate/0001-rdate-define-logwtmp-on-libc-glibc.patch new file mode 100644 index 0000000..08ba2c3 --- /dev/null +++ b/meta-networking/recipes-connectivity/rdate/rdate/0001-rdate-define-logwtmp-on-libc-glibc.patch @@ -0,0 +1,40 @@ +From e0c690acfcddd3c3421f6eb0182c54815fd70f8f Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 14 Jul 2017 23:21:08 -0700 +Subject: [PATCH] rdate: define logwtmp on libc != glibc + +Signed-off-by: Khem Raj +--- + src/rdate.c | 15 +++++++++++++++ + 1 file changed, 15 insertions(+) + +diff --git a/src/rdate.c b/src/rdate.c +index 943d481..685b1b8 100644 +--- a/src/rdate.c ++++ b/src/rdate.c +@@ -41,7 +41,22 @@ static int print_mode = 0; // display the time + static int timeout = 10; // timeout for each connection attempt + static char *service = DEFAULT_SERVICE; + ++#ifndef __GLIBC__ ++static void logwtmp(const char * line, const char * name, const char * host) ++{ ++ struct utmp u; ++ memset(&u, 0, sizeof(u)); ++ ++ u.ut_pid = getpid(); ++ u.ut_type = name[0] ? USER_PROCESS : DEAD_PROCESS; ++ strncpy(u.ut_line, line, sizeof(u.ut_line)); ++ strncpy(u.ut_name, name, sizeof(u.ut_name)); ++ strncpy(u.ut_host, host, sizeof(u.ut_host)); ++ gettimeofday(&(u.ut_tv), NULL); + ++ updwtmp(_PATH_WTMP, &u); ++} ++#endif /* __GLIBC__ */ + + // Returns string from address info pointer + static char* +-- +2.13.3 + diff --git a/meta-networking/recipes-connectivity/rdate/rdate_1.5.bb b/meta-networking/recipes-connectivity/rdate/rdate_1.5.bb index b3af927..cd4db12 100644 --- a/meta-networking/recipes-connectivity/rdate/rdate_1.5.bb +++ b/meta-networking/recipes-connectivity/rdate/rdate_1.5.bb @@ -13,6 +13,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3" SRC_URI = "https://www.aelius.com/njh/${BPN}/${BP}.tar.gz \ file://0001-src-rdate-Fix-printf-format-errors.patch \ + file://0001-rdate-define-logwtmp-on-libc-glibc.patch \ " SRC_URI[md5sum] = "0a4f612480777fdf25264ac03c57eae6" SRC_URI[sha256sum] = "6e800053eaac2b21ff4486ec42f0aca7214941c7e5fceedd593fa0be99b9227d" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:51:45 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:51:45 +0000 Subject: [oe-commits] [meta-openembedded] 41/67: a2jmidid: Link with libexecinfo on musl In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125105.66A9A2335DD@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 5b9cbfe5022f73b8045fce8ee76a147f8d135ae7 Author: Khem Raj AuthorDate: Mon Jul 17 20:10:00 2017 -0700 a2jmidid: Link with libexecinfo on musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- meta-oe/recipes-multimedia/jack/a2jmidid_8.bb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/meta-oe/recipes-multimedia/jack/a2jmidid_8.bb b/meta-oe/recipes-multimedia/jack/a2jmidid_8.bb index a520f98..59b73f8 100644 --- a/meta-oe/recipes-multimedia/jack/a2jmidid_8.bb +++ b/meta-oe/recipes-multimedia/jack/a2jmidid_8.bb @@ -7,6 +7,7 @@ LIC_FILES_CHKSUM = " \ " DEPENDS = "alsa-lib jack dbus" +DEPENDS_append_libc-musl = " libexecinfo" SRC_URI = " \ http://download.gna.org/${BPN}/${BPN}-${PV}.tar.bz2 \ @@ -18,6 +19,8 @@ SRC_URI[sha256sum] = "2a9635f62aabc59edb54ada07048dd47e896b90caff94bcee710d35826 inherit waf pkgconfig +LDFLAGS_append_libc-musl = " -lexecinfo" + export LINKFLAGS="${LDFLAGS}" FILES_${PN} += "${datadir}/dbus-1/services" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:51:31 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:51:31 +0000 Subject: [oe-commits] [meta-openembedded] 27/67: unionfs-fuse: Fix build with musl In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125105.002992335DB@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit d26539d781f930dc023dbfca95a13eda8c33aa1c Author: Khem Raj AuthorDate: Fri Jul 14 11:34:51 2017 -0700 unionfs-fuse: Fix build with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...1-unionfs-Define-IOCPARM_LEN-if-undefined.patch | 62 ++++++++++++++++++++++ .../unionfs-fuse/unionfs-fuse_2.0.bb | 3 +- 2 files changed, 64 insertions(+), 1 deletion(-) diff --git a/meta-filesystems/recipes-filesystems/unionfs-fuse/files/0001-unionfs-Define-IOCPARM_LEN-if-undefined.patch b/meta-filesystems/recipes-filesystems/unionfs-fuse/files/0001-unionfs-Define-IOCPARM_LEN-if-undefined.patch new file mode 100644 index 0000000..8f991cd --- /dev/null +++ b/meta-filesystems/recipes-filesystems/unionfs-fuse/files/0001-unionfs-Define-IOCPARM_LEN-if-undefined.patch @@ -0,0 +1,62 @@ +From 10411fa8658621822ae394160daffaced4a4cd7f Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 13 Jul 2017 23:07:29 -0700 +Subject: [PATCH] unionfs: Define IOCPARM_LEN if undefined + +musl does not have sysctl.h which defines this +for glibc + +Signed-off-by: Khem Raj +--- + src/unionfs.c | 8 -------- + src/unionfs.h | 15 +++++++++++++++ + 2 files changed, 15 insertions(+), 8 deletions(-) + +diff --git a/src/unionfs.c b/src/unionfs.c +index a34d34e..51684a7 100644 +--- a/src/unionfs.c ++++ b/src/unionfs.c +@@ -21,14 +21,6 @@ + #include "opts.h" + #include "usyslog.h" + +-#ifndef _IOC_SIZE +-#ifdef IOCPARM_LEN +-#define _IOC_SIZE(x) IOCPARM_LEN(x) +-#else +-#error "No mechanism for determining ioctl length found." +-#endif +-#endif +- + static struct fuse_opt unionfs_opts[] = { + FUSE_OPT_KEY("chroot=%s,", KEY_CHROOT), + FUSE_OPT_KEY("cow", KEY_COW), +diff --git a/src/unionfs.h b/src/unionfs.h +index 8f5e0bf..b02de5a 100644 +--- a/src/unionfs.h ++++ b/src/unionfs.h +@@ -17,6 +17,21 @@ + #define FUSE_META_FILE ".fuse_hidden" + #define FUSE_META_LENGTH 12 + ++#ifndef IOCPARM_MASK ++#define IOCPARM_MASK 0x1FFF ++#endif ++#ifndef IOCPARM_LEN ++#define IOCPARM_LEN(a) (((a) >> 16) & IOCPARM_MASK) ++#endif ++ ++#ifndef _IOC_SIZE ++#ifdef IOCPARM_LEN ++#define _IOC_SIZE(x) IOCPARM_LEN(x) ++#else ++#error "No mechanism for determining ioctl length found." ++#endif ++#endif ++ + // file access protection mask + #define S_PROT_MASK (S_ISUID| S_ISGID | S_ISVTX | S_IRWXU | S_IRWXG | S_IRWXO) + +-- +2.13.2 + diff --git a/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_2.0.bb b/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_2.0.bb index b89d8db..6bedf16 100644 --- a/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_2.0.bb +++ b/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_2.0.bb @@ -8,7 +8,8 @@ LIC_FILES_CHKSUM = "file://src/unionfs.c;beginline=3;endline=8;md5=30fa8de70fd8a SRC_URI = "git://github.com/rpodgorny/${BPN}.git;branch=master \ file://0001-support-cross-compiling.patch \ -" + file://0001-unionfs-Define-IOCPARM_LEN-if-undefined.patch \ + " SRCREV = "c8d23a9a75f1a62988593671839e8a168a79f3e5" DEPENDS = "fuse" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:51:44 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:51:44 +0000 Subject: [oe-commits] [meta-openembedded] 40/67: multipath-tools: Include limits.h for PATH_MAX In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125105.5DF33233625@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit e9f82957284b6d25b44247910fb2f5f9ec83c770 Author: Khem Raj AuthorDate: Mon Jul 17 20:09:59 2017 -0700 multipath-tools: Include limits.h for PATH_MAX Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...0001-kpartx-include-limits.h-for-PATH_MAX.patch | 29 ++++++++++++++++++++++ .../multipath-tools/multipath-tools_0.7.1.bb | 1 + 2 files changed, 30 insertions(+) diff --git a/meta-oe/recipes-support/multipath-tools/files/0001-kpartx-include-limits.h-for-PATH_MAX.patch b/meta-oe/recipes-support/multipath-tools/files/0001-kpartx-include-limits.h-for-PATH_MAX.patch new file mode 100644 index 0000000..46dd8e2 --- /dev/null +++ b/meta-oe/recipes-support/multipath-tools/files/0001-kpartx-include-limits.h-for-PATH_MAX.patch @@ -0,0 +1,29 @@ +From 330028a5a904a0da3788141030e614569dc5aaa7 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 14 Jul 2017 23:28:12 -0700 +Subject: [PATCH] kpartx: include limits.h for PATH_MAX + +lopart.c:76:12: error: 'PATH_MAX' undeclared (first use in this function); did you mean 'INT8_MAX'? + char path[PATH_MAX]; + ^~~~~~~~ + +Signed-off-by: Khem Raj +--- + kpartx/lopart.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/kpartx/lopart.c b/kpartx/lopart.c +index 7005445..5efe5dc 100644 +--- a/kpartx/lopart.c ++++ b/kpartx/lopart.c +@@ -22,6 +22,7 @@ + #include + #include + #include ++#include + #include + #include + #include +-- +2.13.3 + diff --git a/meta-oe/recipes-support/multipath-tools/multipath-tools_0.7.1.bb b/meta-oe/recipes-support/multipath-tools/multipath-tools_0.7.1.bb index 9331211..610ba7a 100644 --- a/meta-oe/recipes-support/multipath-tools/multipath-tools_0.7.1.bb +++ b/meta-oe/recipes-support/multipath-tools/multipath-tools_0.7.1.bb @@ -45,6 +45,7 @@ SRC_URI = "git://git.opensvc.com/multipath-tools/.git;protocol=http \ file://0012-multipath-tools-modify-Makefile.inc-for-cross-compil.patch \ file://0013-Always-use-devmapper.patch \ file://0014-Always-use-devmapper-for-kpartx.patch \ + file://0001-kpartx-include-limits.h-for-PATH_MAX.patch \ " LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:51:40 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:51:40 +0000 Subject: [oe-commits] [meta-openembedded] 36/67: pimd: Upgrade to 2.3.2 In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125105.453B8233621@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit fec482c3c8b8218eee655d145087e1bb090f9f60 Author: Khem Raj AuthorDate: Fri Jul 14 18:55:39 2017 -0700 pimd: Upgrade to 2.3.2 Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...ure-Dont-use-uname-to-determine-target-OS.patch | 28 ++++++++++++++++++++++ meta-networking/recipes-support/pimd/pimd_2.1.8.bb | 19 --------------- meta-networking/recipes-support/pimd/pimd_2.3.2.bb | 20 ++++++++++++++++ 3 files changed, 48 insertions(+), 19 deletions(-) diff --git a/meta-networking/recipes-support/pimd/pimd/0001-configure-Dont-use-uname-to-determine-target-OS.patch b/meta-networking/recipes-support/pimd/pimd/0001-configure-Dont-use-uname-to-determine-target-OS.patch new file mode 100644 index 0000000..eb549de --- /dev/null +++ b/meta-networking/recipes-support/pimd/pimd/0001-configure-Dont-use-uname-to-determine-target-OS.patch @@ -0,0 +1,28 @@ +From f3e04281bad361249a8dad0cde150a801d720f67 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 14 Jul 2017 18:46:52 -0700 +Subject: [PATCH] configure: Dont use uname to determine target OS + +Helps with cross-compiling + +Signed-off-by: Khem Raj +--- + configure | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure b/configure +index 6c35a72..f9714e2 100755 +--- a/configure ++++ b/configure +@@ -31,7 +31,7 @@ + #DEFS += -DSCOPED_ACL + # + +-OS=`uname` ++OS="Linux" + CFG=config.mk + TMP=`mktemp /tmp/XXXXXX` + BUGREPORT_URL="https://github.com/troglobit/pimd/issues" +-- +2.13.3 + diff --git a/meta-networking/recipes-support/pimd/pimd_2.1.8.bb b/meta-networking/recipes-support/pimd/pimd_2.1.8.bb deleted file mode 100644 index 7edb642..0000000 --- a/meta-networking/recipes-support/pimd/pimd_2.1.8.bb +++ /dev/null @@ -1,19 +0,0 @@ -SUMMARY = "pimd is a lightweight stand-alone PIM-SM v2 multicast routing daemon." -HOMEPAGE = "http://troglobit.com/pimd.html" -SECTION = "net" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=94f108f91fab720d62425770b70dd790" - -SRC_URI = "ftp://ftp.troglobit.com/pimd/${BP}.tar.bz2" -SRC_URI[md5sum] = "a12448bc7c9bfcebf51a13ebf1ffa962" -SRC_URI[sha256sum] = "01016940543a0a6131d4e6c91b595d47e187012c59a298eec14c3dbc38564b3a" - -EXTRA_OEMAKE = "-e MAKEFLAGS=" -CFLAGS += "-I ${S}/include " - -do_install() { - unset datadir - unset mandir - oe_runmake 'DESTDIR=${D}' install -} - diff --git a/meta-networking/recipes-support/pimd/pimd_2.3.2.bb b/meta-networking/recipes-support/pimd/pimd_2.3.2.bb new file mode 100644 index 0000000..2faa7cb --- /dev/null +++ b/meta-networking/recipes-support/pimd/pimd_2.3.2.bb @@ -0,0 +1,20 @@ +SUMMARY = "pimd is a lightweight stand-alone PIM-SM v2 multicast routing daemon." +HOMEPAGE = "http://troglobit.com/pimd.html" +SECTION = "net" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=94f108f91fab720d62425770b70dd790" + +SRC_URI = "ftp://ftp.troglobit.com/pimd/${BP}.tar.gz \ + file://0001-configure-Dont-use-uname-to-determine-target-OS.patch \ + " +SRC_URI[md5sum] = "a3c03e40540980b2c06e265a17988e60" +SRC_URI[sha256sum] = "c77a9812751f114490a28a6839b16aac8b020c8d9fd6aa22bf3880c054e19f1d" + +EXTRA_OECONF_append_libc-musl = " --embedded-libc" + +inherit autotools-brokensep + +do_configure() { + oe_runconf +} + -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:51:46 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:51:46 +0000 Subject: [oe-commits] [meta-openembedded] 42/67: netkit-ftp: Include sys/types.h for u_long definition In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125105.6E9B02335DE@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit dfd59383964d7b9bd4405f249986472ac5c92676 Author: Khem Raj AuthorDate: Mon Jul 17 20:10:01 2017 -0700 netkit-ftp: Include sys/types.h for u_long definition Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../0001-ftp-include-sys-types.h-for-u_long.patch | 30 ++++++++++++++++++++++ .../recipes-netkit/netkit-ftp/netkit-ftp_0.17.bb | 7 ++--- 2 files changed, 34 insertions(+), 3 deletions(-) diff --git a/meta-networking/recipes-netkit/netkit-ftp/netkit-ftp/0001-ftp-include-sys-types.h-for-u_long.patch b/meta-networking/recipes-netkit/netkit-ftp/netkit-ftp/0001-ftp-include-sys-types.h-for-u_long.patch new file mode 100644 index 0000000..8376603 --- /dev/null +++ b/meta-networking/recipes-netkit/netkit-ftp/netkit-ftp/0001-ftp-include-sys-types.h-for-u_long.patch @@ -0,0 +1,30 @@ +From 2ee0c51d81a0a08d64b64ab624074e5f7cd9615a Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 15 Jul 2017 00:07:32 -0700 +Subject: [PATCH] ftp: include sys/types.h for u_long + +fixes +ftp.c:1091:2: error: unknown type name 'u_long'; did you mean 'long'? + u_long a1,a2,a3,a4,p1,p2; + ^~~~~~ + +Signed-off-by: Khem Raj +--- + ftp/ftp.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/ftp/ftp.c b/ftp/ftp.c +index 7a56af6..5dcb513 100644 +--- a/ftp/ftp.c ++++ b/ftp/ftp.c +@@ -43,6 +43,7 @@ char ftp_rcsid[] = + #include + #include + #include ++#include + + #include + #include +-- +2.13.3 + diff --git a/meta-networking/recipes-netkit/netkit-ftp/netkit-ftp_0.17.bb b/meta-networking/recipes-netkit/netkit-ftp/netkit-ftp_0.17.bb index 37f5bc7..394a69e 100644 --- a/meta-networking/recipes-netkit/netkit-ftp/netkit-ftp_0.17.bb +++ b/meta-networking/recipes-netkit/netkit-ftp/netkit-ftp_0.17.bb @@ -6,9 +6,10 @@ LICENSE = "BSD" LIC_FILES_CHKSUM = "file://ftp/ftp.c;beginline=2;endline=3;md5=2d40a75a50d83b8f6317b3f53db72bfa" SRC_URI = "${DEBIAN_MIRROR}/main/n/netkit-ftp/netkit-ftp_${PV}.orig.tar.gz;name=archive \ - ${DEBIAN_MIRROR}/main/n/netkit-ftp/netkit-ftp_${PV}-31.debian.tar.xz;name=patch31 \ - file://Add_ARG_MAX_define.patch \ -" + ${DEBIAN_MIRROR}/main/n/netkit-ftp/netkit-ftp_${PV}-31.debian.tar.xz;name=patch31 \ + file://Add_ARG_MAX_define.patch \ + file://0001-ftp-include-sys-types.h-for-u_long.patch \ + " SRC_URI[archive.md5sum] = "94441610c9b86ef45c4c6ec609444060" SRC_URI[archive.sha256sum] = "61c913299b81a4671ff089aac821329f7db9bc111aa812993dd585798b700349" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:51:48 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:51:48 +0000 Subject: [oe-commits] [meta-openembedded] 44/67: zlog: Fix build on 64bit targets and musl In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125105.7D3AC2335DF@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit ef74904a25748d0ec77498900c8ac968e1768bc4 Author: Khem Raj AuthorDate: Mon Jul 17 20:10:03 2017 -0700 zlog: Fix build on 64bit targets and musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...t-pthread_t-to-unsigned-long-instead-of-u.patch | 32 ++++++++++++++++++++++ meta-oe/recipes-extended/zlog/zlog_git.bb | 4 ++- 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/meta-oe/recipes-extended/zlog/zlog/0001-event.c-Cast-pthread_t-to-unsigned-long-instead-of-u.patch b/meta-oe/recipes-extended/zlog/zlog/0001-event.c-Cast-pthread_t-to-unsigned-long-instead-of-u.patch new file mode 100644 index 0000000..71a9891 --- /dev/null +++ b/meta-oe/recipes-extended/zlog/zlog/0001-event.c-Cast-pthread_t-to-unsigned-long-instead-of-u.patch @@ -0,0 +1,32 @@ +From b97f62fdf3b78eb5cfcb3a1b12c6fd62f735717b Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 15 Jul 2017 09:29:33 -0700 +Subject: [PATCH] event.c: Cast pthread_t to unsigned long instead of unsigned + int + +On 64bit machines it ends up in errors + +event.c:85:67: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast] + a_event->tid_hex_str_len = sprintf(a_event->tid_hex_str, "0x%x", (unsigned int)a_event->tid); + +Signed-off-by: Khem Raj +--- + src/event.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/event.c b/src/event.c +index 8f988b5..c632c33 100644 +--- a/src/event.c ++++ b/src/event.c +@@ -82,7 +82,7 @@ zlog_event_t *zlog_event_new(int time_cache_count) + a_event->tid = pthread_self(); + + a_event->tid_str_len = sprintf(a_event->tid_str, "%lu", (unsigned long)a_event->tid); +- a_event->tid_hex_str_len = sprintf(a_event->tid_hex_str, "0x%x", (unsigned int)a_event->tid); ++ a_event->tid_hex_str_len = sprintf(a_event->tid_hex_str, "0x%lu", (unsigned long)a_event->tid); + + //zlog_event_profile(a_event, ZC_DEBUG); + return a_event; +-- +2.13.3 + diff --git a/meta-oe/recipes-extended/zlog/zlog_git.bb b/meta-oe/recipes-extended/zlog/zlog_git.bb index 51c746f..86e6d30 100644 --- a/meta-oe/recipes-extended/zlog/zlog_git.bb +++ b/meta-oe/recipes-extended/zlog/zlog_git.bb @@ -6,7 +6,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" PV = "1.2.12+git${SRCPV}" SRCREV = "13904dab2878aa2654d0c20fb8600a3dc5f2dd68" -SRC_URI = "git://github.com/HardySimpson/zlog" +SRC_URI = "git://github.com/HardySimpson/zlog \ + file://0001-event.c-Cast-pthread_t-to-unsigned-long-instead-of-u.patch \ + " S = "${WORKDIR}/git" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:51:37 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:51:37 +0000 Subject: [oe-commits] [meta-openembedded] 33/67: uftrace: add recipe In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125105.2AF6D23361E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 21f69db4ed916a16b32849e79426d0ebb2bd047b Author: Changhyeok Bae AuthorDate: Fri Jul 14 23:59:59 2017 +0000 uftrace: add recipe - Add recipe for uftrace v0.7. - Support x86_64, arm (v6 or later), and aarch64. - Disable for armv4 and armv5 in arm architecture which is only supported armv6 or later. - Attached 2 patches is merged to upstream. Signed-off-by: Changhyeok Bae Signed-off-by: Martin Jansa --- .../0001-Makefile-Add-LDFLAGS-in-export.patch | 31 +++++++++++++++++++ ...tils-Add-limits-header-to-fix-build-error.patch | 31 +++++++++++++++++++ meta-oe/recipes-devtools/uftrace/uftrace_0.7.bb | 35 ++++++++++++++++++++++ 3 files changed, 97 insertions(+) diff --git a/meta-oe/recipes-devtools/uftrace/uftrace/0001-Makefile-Add-LDFLAGS-in-export.patch b/meta-oe/recipes-devtools/uftrace/uftrace/0001-Makefile-Add-LDFLAGS-in-export.patch new file mode 100644 index 0000000..f665051 --- /dev/null +++ b/meta-oe/recipes-devtools/uftrace/uftrace/0001-Makefile-Add-LDFLAGS-in-export.patch @@ -0,0 +1,31 @@ +From ec794945475d5792f2ae85afe461e64266613640 Mon Sep 17 00:00:00 2001 +From: Changhyeok Bae +Date: Thu, 13 Jul 2017 16:44:52 +0900 +Subject: [PATCH 1/2] Makefile: Add LDFLAGS in export + +To use build with musl, need to argp library. +So need to add LDFLAGS from outside. + +Upstream-Status: Accepted + +Signed-off-by: +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 67be2da..0ca649a 100644 +--- a/Makefile ++++ b/Makefile +@@ -48,7 +48,7 @@ endif + RM = rm -f + INSTALL = install + +-export ARCH CC AR LD RM srcdir objdir ++export ARCH CC AR LD RM srcdir objdir LDFLAGS + + COMMON_CFLAGS := -O2 -g -D_GNU_SOURCE $(CFLAGS) $(CPPFLAGS) + COMMON_CFLAGS += -iquote $(srcdir) -iquote $(objdir) -iquote $(srcdir)/arch/$(ARCH) +-- +1.9.1 + diff --git a/meta-oe/recipes-devtools/uftrace/uftrace/0002-utils-Add-limits-header-to-fix-build-error.patch b/meta-oe/recipes-devtools/uftrace/uftrace/0002-utils-Add-limits-header-to-fix-build-error.patch new file mode 100644 index 0000000..2690011 --- /dev/null +++ b/meta-oe/recipes-devtools/uftrace/uftrace/0002-utils-Add-limits-header-to-fix-build-error.patch @@ -0,0 +1,31 @@ +From 3bda554766150705160fe2191d8761c7881e2433 Mon Sep 17 00:00:00 2001 +From: Changhyeok Bae +Date: Thu, 13 Jul 2017 16:46:20 +0900 +Subject: [PATCH 2/2] utils: Add limits header to fix build error + +[Error] +error: 'PATH_MAX' undeclared (first use in this function); did you mean +'INT8_MAX'? + +Upstream-Status: Accepted + +Signed-off-by: Changhyeok Bae +--- + utils/utils.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/utils/utils.c b/utils/utils.c +index 03522c9..30f9e81 100644 +--- a/utils/utils.c ++++ b/utils/utils.c +@@ -6,6 +6,7 @@ + #include + #include + #include ++#include + + #include "utils/utils.h" + +-- +1.9.1 + diff --git a/meta-oe/recipes-devtools/uftrace/uftrace_0.7.bb b/meta-oe/recipes-devtools/uftrace/uftrace_0.7.bb new file mode 100644 index 0000000..821d0bb --- /dev/null +++ b/meta-oe/recipes-devtools/uftrace/uftrace_0.7.bb @@ -0,0 +1,35 @@ +SUMMARY = "Trace and analyze execution of a program written in C/C++" +HOMEPAGE = "https://github.com/namhyung/uftrace" +BUGTRACKER = "https://github.com/namhyung/uftrace/issues" +SECTION = "devel" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +DEPENDS = "elfutils" +DEPENDS_append_libc-musl = " argp-standalone" + +inherit autotools + +SRCREV = "712ad01fdde57893936d7e254451eec67ab41ca6" +SRC_URI = "\ + git://github.com/namhyung/${BPN} \ + file://0001-Makefile-Add-LDFLAGS-in-export.patch \ + file://0002-utils-Add-limits-header-to-fix-build-error.patch \ +" +S = "${WORKDIR}/git" + +LDFLAGS_append_libc-musl = " -largp" +EXTRA_OECONF = "ARCH=${TARGET_ARCH}" + +do_configure() { + ${S}/configure ${EXTRA_OECONF} +} + +FILES_SOLIBSDEV = "" +FILES_${PN} += "${libdir}/*.so" + +COMPATIBLE_HOST = "(x86_64|aarch64|arm)" + +# uftrace supports armv6 and above +COMPATIBLE_HOST_armv4 = 'null' +COMPATIBLE_HOST_armv5 = 'null' -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:51:50 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:51:50 +0000 Subject: [oe-commits] [meta-openembedded] 46/67: numactl: Update to latest from github In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125105.8AA682335E4@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 63c27fe1b40750b8baa16a65d2bc03abe65526a1 Author: Khem Raj AuthorDate: Mon Jul 17 20:10:05 2017 -0700 numactl: Update to latest from github There are patches to compile it on musl upstream therefore switch the SRC_URI to fetch from github Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../numactl/{numactl_2.0.11.bb => numactl_git.bb} | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/meta-oe/recipes-support/numactl/numactl_2.0.11.bb b/meta-oe/recipes-support/numactl/numactl_git.bb similarity index 88% rename from meta-oe/recipes-support/numactl/numactl_2.0.11.bb rename to meta-oe/recipes-support/numactl/numactl_git.bb index dd159a3..f2d9a17 100644 --- a/meta-oe/recipes-support/numactl/numactl_2.0.11.bb +++ b/meta-oe/recipes-support/numactl/numactl_git.bb @@ -10,15 +10,18 @@ inherit autotools-brokensep ptest LIC_FILES_CHKSUM = "file://README;beginline=19;endline=32;md5=5644cc3851cb2499f6c48e52fe198bd9" -SRC_URI = "ftp://oss.sgi.com/www/projects/libnuma/download/${BPN}-${PV}.tar.gz \ +SRCREV = "ea3a70681c2f523fe58e1d44527f478ca76db74e" +PV = "2.0.11+git${SRCPV}" + +SRC_URI = "git://github.com/numactl/numactl \ file://fix-null-pointer.patch \ file://Fix-the-test-output-format.patch \ file://Makefile \ file://run-ptest \ file://0001-define-run-test-target.patch \ " -SRC_URI[md5sum] = "d3bc88b7ddb9f06d60898f4816ae9127" -SRC_URI[sha256sum] = "450c091235f891ee874a8651b179c30f57a1391ca5c4673354740ba65e527861" + +S = "${WORKDIR}/git" # ARM does not currently support NUMA COMPATIBLE_HOST = "^((?!arm).*)$" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:51:54 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:51:54 +0000 Subject: [oe-commits] [meta-openembedded] 50/67: phonet-utils: Fix build with musl In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125105.B12BB2335E8@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 103581936c922a9b68788f250f30379a471dac36 Author: Khem Raj AuthorDate: Mon Jul 17 20:10:09 2017 -0700 phonet-utils: Fix build with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../0001-Include-limits.h-for-PATH_MAX.patch | 25 ++++++++++++++++++++++ .../phonet-utils/phonet-utils_git.bb | 4 +++- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/meta-oe/recipes-connectivity/phonet-utils/phonet-utils/0001-Include-limits.h-for-PATH_MAX.patch b/meta-oe/recipes-connectivity/phonet-utils/phonet-utils/0001-Include-limits.h-for-PATH_MAX.patch new file mode 100644 index 0000000..8bb7e5a --- /dev/null +++ b/meta-oe/recipes-connectivity/phonet-utils/phonet-utils/0001-Include-limits.h-for-PATH_MAX.patch @@ -0,0 +1,25 @@ +From f7ad9a4471cee2324f216a0d82ba8097ec746c56 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 15 Jul 2017 11:48:12 -0700 +Subject: [PATCH] Include limits.h for PATH_MAX + +Signed-off-by: Khem Raj +--- + src/pnstat.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/pnstat.c b/src/pnstat.c +index 661a5bc..76068e6 100644 +--- a/src/pnstat.c ++++ b/src/pnstat.c +@@ -35,6 +35,7 @@ + #include + #include + #include ++#include + + struct fd + { +-- +2.13.3 + diff --git a/meta-oe/recipes-connectivity/phonet-utils/phonet-utils_git.bb b/meta-oe/recipes-connectivity/phonet-utils/phonet-utils_git.bb index 5589963..3c59995 100644 --- a/meta-oe/recipes-connectivity/phonet-utils/phonet-utils_git.bb +++ b/meta-oe/recipes-connectivity/phonet-utils/phonet-utils_git.bb @@ -2,7 +2,9 @@ SUMMARY = "This small package provides a few command line tools for Linux Phonet HOMEPAGE = "" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" -SRC_URI = "git://gitorious.org/meego-cellular/phonet-utils.git;branch=master" +SRC_URI = "git://gitorious.org/meego-cellular/phonet-utils.git;branch=master \ + file://0001-Include-limits.h-for-PATH_MAX.patch \ + " PR = "r2" S = "${WORKDIR}/git" SRCREV = "4acfa720fd37d178a048fc2be17180137d4a70ea" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:51:47 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:51:47 +0000 Subject: [oe-commits] [meta-openembedded] 43/67: postfix: Disable nis support on musl In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125105.7717B2335DC@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 95603b0ce5d62d6c1f861991a091fa9494eb1a28 Author: Khem Raj AuthorDate: Mon Jul 17 20:10:02 2017 -0700 postfix: Disable nis support on musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...libc-before-setting-CANT_USE_SEND_RECV_MS.patch | 26 ++++++++++++++++++++++ .../recipes-daemons/postfix/postfix.inc | 6 ++++- .../recipes-daemons/postfix/postfix_3.1.1.bb | 11 +++++++++ 3 files changed, 42 insertions(+), 1 deletion(-) diff --git a/meta-networking/recipes-daemons/postfix/files/0001-Check-for-glibc-before-setting-CANT_USE_SEND_RECV_MS.patch b/meta-networking/recipes-daemons/postfix/files/0001-Check-for-glibc-before-setting-CANT_USE_SEND_RECV_MS.patch new file mode 100644 index 0000000..6b86e39 --- /dev/null +++ b/meta-networking/recipes-daemons/postfix/files/0001-Check-for-glibc-before-setting-CANT_USE_SEND_RECV_MS.patch @@ -0,0 +1,26 @@ +From 63619acf25151d4dade6d65732722ec4a710a5ac Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 15 Jul 2017 09:54:25 -0700 +Subject: [PATCH] Check for glibc before setting CANT_USE_SEND_RECV_MSG + +Signed-off-by: Khem Raj +--- + src/util/sys_defs.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/util/sys_defs.h b/src/util/sys_defs.h +index f720e2a..7314c63 100644 +--- a/src/util/sys_defs.h ++++ b/src/util/sys_defs.h +@@ -813,7 +813,7 @@ extern int initgroups(const char *, int); + #define KERNEL_VERSION(a,b,c) (LINUX_VERSION_CODE + 1) + #endif + #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,2,0)) \ +- || (__GLIBC__ < 2) ++ || (defined(__GLIBC__) && (__GLIBC__ < 2)) + #define CANT_USE_SEND_RECV_MSG + #define DEF_SMTP_CACHE_DEMAND 0 + #else +-- +2.13.3 + diff --git a/meta-networking/recipes-daemons/postfix/postfix.inc b/meta-networking/recipes-daemons/postfix/postfix.inc index 4c794ff..0ec182a 100644 --- a/meta-networking/recipes-daemons/postfix/postfix.inc +++ b/meta-networking/recipes-daemons/postfix/postfix.inc @@ -60,6 +60,9 @@ export AUXLIBS-ldap = "\ export CCARGS-ldap_class-native = "" export AUXLIBS-ldap_class-native = "" +export CCARGS-nonis_libc-musl = "-DNO_NIS" +export CCARGS-nonis = "" + # SASL support -DUSE_LDAP_SASL -DUSE_SASL_AUTH # current openldap didn't enable SASL export CCARGS-sasl = "\ @@ -70,10 +73,11 @@ export CCARGS-sasl_class-native = "" export AUXLIBS-sasl_class-native = "" # PCRE, TLS support default -export CCARGS = "${CFLAGS} -DHAS_PCRE -DUSE_TLS ${CCARGS-ldap} ${CCARGS-sasl}" +export CCARGS = "${CFLAGS} -DHAS_PCRE -DUSE_TLS ${CCARGS-ldap} ${CCARGS-sasl} ${CCARGS-nonis}" export AUXLIBS = "-lpcre -lssl -lcrypto ${AUXLIBS-sasl} ${AUXLIBS-ldap}" export POSTCONF = "${STAGING_DIR_NATIVE}${sbindir_native}/postconf" +export CCARGS-nonis_libc-musl = "-DNO_NIS" # OPT,DEBUG is aready in CFLAGS # ignore the OPTS="CC=$CC" in Makefile it will not use the CC=$CC $CCARGS EXTRA_OEMAKE += "OPT= DEBUG= OPTS= " diff --git a/meta-networking/recipes-daemons/postfix/postfix_3.1.1.bb b/meta-networking/recipes-daemons/postfix/postfix_3.1.1.bb index dbbe24c..839317d 100644 --- a/meta-networking/recipes-daemons/postfix/postfix_3.1.1.bb +++ b/meta-networking/recipes-daemons/postfix/postfix_3.1.1.bb @@ -1,4 +1,15 @@ require postfix.inc +SRC_URI = "ftp://ftp.porcupine.org/mirrors/postfix-release/official/postfix-${PV}.tar.gz \ + file://makedefs.patch \ + file://install.patch \ + file://main.cf_2.0 \ + file://postfix \ + file://internal_recipient \ + file://postfix.service \ + file://aliasesdb \ + file://check_hostname.sh \ + file://0001-Check-for-glibc-before-setting-CANT_USE_SEND_RECV_MS.patch \ + " SRC_URI[md5sum] = "40d72ea143af7ab0038c2cee1f483707" SRC_URI[sha256sum] = "3deda4c34631970490b1b5fbb559905f93531bf1c7eb00e38b0d0deb1dba9982" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:51:49 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:51:49 +0000 Subject: [oe-commits] [meta-openembedded] 45/67: grubby: Link with libexecinfo on musl In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125105.8376A2335E0@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 9d5d5e8063621e70ae25f61a14f3dd47363c88c5 Author: Khem Raj AuthorDate: Mon Jul 17 20:10:04 2017 -0700 grubby: Link with libexecinfo on musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...-variable-LIBS-to-provides-libraries-from.patch | 26 ++++++++++++++++++++++ .../0002-include-paths.h-for-_PATH_MOUNTED.patch | 25 +++++++++++++++++++++ .../recipes-devtools/grubby/grubby_8.40.bb | 9 ++++++-- 3 files changed, 58 insertions(+), 2 deletions(-) diff --git a/meta-initramfs/recipes-devtools/grubby/grubby/0001-Add-another-variable-LIBS-to-provides-libraries-from.patch b/meta-initramfs/recipes-devtools/grubby/grubby/0001-Add-another-variable-LIBS-to-provides-libraries-from.patch new file mode 100644 index 0000000..1b1a993 --- /dev/null +++ b/meta-initramfs/recipes-devtools/grubby/grubby/0001-Add-another-variable-LIBS-to-provides-libraries-from.patch @@ -0,0 +1,26 @@ +From 22afaa21b4b258082be591e54c99e1ba6fbd7748 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 15 Jul 2017 10:19:22 -0700 +Subject: [PATCH 1/2] Add another variable LIBS to provides libraries from env + +Signed-off-by: Khem Raj +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index ac14404..92a8e73 100644 +--- a/Makefile ++++ b/Makefile +@@ -27,7 +27,7 @@ RPM_OPT_FLAGS ?= -O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector + CFLAGS += $(RPM_OPT_FLAGS) -std=gnu99 -Wall -Werror -Wno-error=unused-function -Wno-unused-function -ggdb + LDFLAGS := + +-grubby_LIBS = -lblkid -lpopt ++grubby_LIBS = -lblkid -lpopt ${LIBS} + + all: grubby + +-- +2.13.3 + diff --git a/meta-initramfs/recipes-devtools/grubby/grubby/0002-include-paths.h-for-_PATH_MOUNTED.patch b/meta-initramfs/recipes-devtools/grubby/grubby/0002-include-paths.h-for-_PATH_MOUNTED.patch new file mode 100644 index 0000000..de8133a --- /dev/null +++ b/meta-initramfs/recipes-devtools/grubby/grubby/0002-include-paths.h-for-_PATH_MOUNTED.patch @@ -0,0 +1,25 @@ +From 8f844ac7f44b8dc428d06cd6958c5f32d383d01c Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 15 Jul 2017 10:19:50 -0700 +Subject: [PATCH 2/2] include paths.h for _PATH_MOUNTED + +Signed-off-by: Khem Raj +--- + grubby.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/grubby.c b/grubby.c +index 47a1a15..59f74a9 100644 +--- a/grubby.c ++++ b/grubby.c +@@ -34,6 +34,7 @@ + #include + #include + #include ++#include + #include + + #include "log.h" +-- +2.13.3 + diff --git a/meta-initramfs/recipes-devtools/grubby/grubby_8.40.bb b/meta-initramfs/recipes-devtools/grubby/grubby_8.40.bb index 0e93790..5a99824 100644 --- a/meta-initramfs/recipes-devtools/grubby/grubby_8.40.bb +++ b/meta-initramfs/recipes-devtools/grubby/grubby_8.40.bb @@ -9,11 +9,14 @@ LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=892f569a555ba9c07a568a7c0c4fa63a" DEPENDS = "popt util-linux" +DEPENDS_append_libc-musl = " libexecinfo" SRC_URI = "https://github.com/rhinstaller/${BPN}/archive/${PV}-1.tar.gz;downloadfilename=${BPN}-${PV}-1.tar.gz \ file://grubby-rename-grub2-editenv-to-grub-editenv.patch \ file://run-ptest \ -" + file://0001-Add-another-variable-LIBS-to-provides-libraries-from.patch \ + file://0002-include-paths.h-for-_PATH_MOUNTED.patch \ + " SRC_URI[md5sum] = "1005907b275d6d93368d045274537d86" SRC_URI[sha256sum] = "85f1c678484f74c8978e8643451594967defce463a86c35cb1ee56d12767a9df" @@ -24,8 +27,10 @@ RDEPENDS_${PN} += "dracut" inherit autotools-brokensep ptest -EXTRA_OEMAKE = "-e 'CC=${CC}' 'LDFLAGS=${LDFLAGS}'" +EXTRA_OEMAKE = "-e 'CC=${CC}' 'LDFLAGS=${LDFLAGS}' LIBS='${LIBS}'" +LIBS_libc-musl = "-lexecinfo" +LIBS ?= "" do_install_ptest() { install -d ${D}${PTEST_PATH} cp -r ${S}/test ${S}/test.sh ${D}${PTEST_PATH} -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:51:53 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:51:53 +0000 Subject: [oe-commits] [meta-openembedded] 49/67: sessreg: Fix build on musl In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125105.A362423360E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit a9f0c621ac2d112b8c3f707e2712d4fcfd9cddb1 Author: Khem Raj AuthorDate: Mon Jul 17 20:10:08 2017 -0700 sessreg: Fix build on musl musl does not define _WTMPX_FILE or _UTMPX_FILE use versions without 'X' Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- meta-oe/recipes-graphics/xorg-app/sessreg_1.1.0.bb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.0.bb b/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.0.bb index 2e25b7d..3885d61 100644 --- a/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.0.bb +++ b/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.0.bb @@ -6,3 +6,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d938a70c8280c265a1ccd2954365d185" SRC_URI += "file://0001-Makefile.am-Error-Fix.patch" SRC_URI[md5sum] = "e238c89dabc566e1835e1ecb61b605b9" SRC_URI[sha256sum] = "551177657835e0902b5eee7b19713035beaa1581bbd3c6506baa553e751e017c" + +CFLAGS_append_libc-musl = " -D_WTMPX_FILE=WTMP_FILE -D_PATH_WTMPX=_PATH_WTMP -D_UTMPX_FILE=UTMP_FILE -D_PATH_UTMPX=_PATH_UTMP " + -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:51:55 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:51:55 +0000 Subject: [oe-commits] [meta-openembedded] 51/67: nicstat: Fix build on musl/x86_64 In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125105.BBEF323360F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 7053bb0cef2dc405c42319da9b461f6ec0f12458 Author: Khem Raj AuthorDate: Mon Jul 17 20:10:10 2017 -0700 nicstat: Fix build on musl/x86_64 Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...tat.c-Do-not-define-uint64_t-and-uint32_t.patch | 37 ++++++++++++++++++++++ meta-oe/recipes-extended/nicstat/nicstat_1.95.bb | 4 ++- 2 files changed, 40 insertions(+), 1 deletion(-) diff --git a/meta-oe/recipes-extended/nicstat/nicstat/0001-nicstat.c-Do-not-define-uint64_t-and-uint32_t.patch b/meta-oe/recipes-extended/nicstat/nicstat/0001-nicstat.c-Do-not-define-uint64_t-and-uint32_t.patch new file mode 100644 index 0000000..a208f97 --- /dev/null +++ b/meta-oe/recipes-extended/nicstat/nicstat/0001-nicstat.c-Do-not-define-uint64_t-and-uint32_t.patch @@ -0,0 +1,37 @@ +From 52590fbf735cef3fec85a042458aa89a02c52b57 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 15 Jul 2017 11:33:12 -0700 +Subject: [PATCH] nicstat.c: Do not define uint64_t and uint32_t + +Use the defines from platform + +Signed-off-by: Khem Raj + +--- + nicstat.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/nicstat.c b/nicstat.c +index 83ad557..2a6e0c1 100644 +--- a/nicstat.c ++++ b/nicstat.c +@@ -32,6 +32,7 @@ + + #include + #include ++#include + #include + #include + #include +@@ -88,8 +89,6 @@ + #define PROC_NET_BUFSIZ (128 * 1024) + #define PROC_UPTIME "/proc/uptime" + /* Needs to be fixed if not built under ILP32 */ +-typedef unsigned long long uint64_t; +-typedef unsigned int uint32_t; + extern char *optarg; + extern int optind, opterr, optopt; + #endif /* OS_LINUX */ +-- +2.13.3 + diff --git a/meta-oe/recipes-extended/nicstat/nicstat_1.95.bb b/meta-oe/recipes-extended/nicstat/nicstat_1.95.bb index 5126a31..3875f0f 100644 --- a/meta-oe/recipes-extended/nicstat/nicstat_1.95.bb +++ b/meta-oe/recipes-extended/nicstat/nicstat_1.95.bb @@ -5,7 +5,9 @@ HOMEPAGE = "http://nicstat.sourceforge.net" LICENSE = "Artistic-2.0" LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b4a94da2a1f918b217ef5156634fc9e0" -SRC_URI = "http://softlayer-sng.dl.sourceforge.net/project/${BPN}/${BP}.tar.gz" +SRC_URI = "http://softlayer-sng.dl.sourceforge.net/project/${BPN}/${BP}.tar.gz \ + file://0001-nicstat.c-Do-not-define-uint64_t-and-uint32_t.patch \ + " SRC_URI[md5sum] = "9a0b87bbc670c1e738e5b40c7afd184d" SRC_URI[sha256sum] = "c4cc33f8838f4523f27c3d7584eedbe59f4c587f0821612f5ac2201adc18b367" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:51:51 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:51:51 +0000 Subject: [oe-commits] [meta-openembedded] 47/67: efivar: Upgrade to 0.31 In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125105.925CA2335E6@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 938b9f628792c6a46512993109656c1994d66ae6 Author: Khem Raj AuthorDate: Mon Jul 17 20:10:06 2017 -0700 efivar: Upgrade to 0.31 Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...some-extra-const-that-gcc-complains-about.patch | 44 --------------- ...Do-not-use-__bswap_constant_-16-32-macros.patch | 37 ++++++++++++ ...-version-new-way-symbol-versioning-breaks.patch | 66 ---------------------- .../efivar/efivar/0002-disable-static-build.patch | 33 ----------- .../fix-compile-failure-with-host-gcc-4.6.patch | 13 ++--- .../efivar/efivar/musl-strndupa.patch | 17 ++++++ .../efivar/{efivar_0.24.bb => efivar_0.31.bb} | 9 ++- 7 files changed, 63 insertions(+), 156 deletions(-) diff --git a/meta-oe/recipes-extended/efivar/efivar/0001-Remove-some-extra-const-that-gcc-complains-about.patch b/meta-oe/recipes-extended/efivar/efivar/0001-Remove-some-extra-const-that-gcc-complains-about.patch deleted file mode 100644 index 4ae8cb9..0000000 --- a/meta-oe/recipes-extended/efivar/efivar/0001-Remove-some-extra-const-that-gcc-complains-about.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 29a2dea16113b5a8e51de46437c6a9f7426c5867 Mon Sep 17 00:00:00 2001 -From: Peter Jones -Date: Mon, 6 Feb 2017 14:28:19 -0500 -Subject: [PATCH 1/2] Remove some extra "const" that gcc complains about. - -One of these days I'll get these right. - -Signed-off-by: Peter Jones ---- - src/include/efivar/efiboot-loadopt.h | 4 ++-- - src/loadopt.c | 2 +- - 2 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/src/include/efivar/efiboot-loadopt.h b/src/include/efivar/efiboot-loadopt.h -index 07db5c4..efc29c6 100644 ---- a/src/include/efivar/efiboot-loadopt.h -+++ b/src/include/efivar/efiboot-loadopt.h -@@ -32,8 +32,8 @@ extern ssize_t efi_loadopt_create(uint8_t *buf, ssize_t size, - - extern efidp efi_loadopt_path(efi_load_option *opt, ssize_t limit) - __attribute__((__nonnull__ (1))); --extern const unsigned char const * efi_loadopt_desc(efi_load_option *opt, -- ssize_t limit) -+extern const unsigned char * efi_loadopt_desc(efi_load_option *opt, -+ ssize_t limit) - __attribute__((__visibility__ ("default"))) - __attribute__((__nonnull__ (1))); - extern uint32_t efi_loadopt_attrs(efi_load_option *opt) -diff --git a/src/loadopt.c b/src/loadopt.c -index 64e333f..ec50722 100644 ---- a/src/loadopt.c -+++ b/src/loadopt.c -@@ -336,7 +336,7 @@ teardown(void) - - __attribute__((__nonnull__ (1))) - __attribute__((__visibility__ ("default"))) --const unsigned char const * -+const unsigned char * - efi_loadopt_desc(efi_load_option *opt, ssize_t limit) - { - if (last_desc) { --- -2.12.2 - diff --git a/meta-oe/recipes-extended/efivar/efivar/0001-makeguids-Do-not-use-__bswap_constant_-16-32-macros.patch b/meta-oe/recipes-extended/efivar/efivar/0001-makeguids-Do-not-use-__bswap_constant_-16-32-macros.patch new file mode 100644 index 0000000..73a7721 --- /dev/null +++ b/meta-oe/recipes-extended/efivar/efivar/0001-makeguids-Do-not-use-__bswap_constant_-16-32-macros.patch @@ -0,0 +1,37 @@ +From 98b33d4193998687aa3a78c097f7bd4c393e0c85 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 15 Jul 2017 00:29:42 -0700 +Subject: [PATCH] makeguids: Do not use __bswap_constant_{16|32} macros + +not available on musl + +Signed-off-by: Khem Raj +--- + src/makeguids.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/src/makeguids.c b/src/makeguids.c +index da2f5f7..daf821a 100644 +--- a/src/makeguids.c ++++ b/src/makeguids.c +@@ -155,13 +155,13 @@ main(int argc, char *argv[]) + #if BYTE_ORDER == BIG_ENDIAN\n\ + #define cpu_to_be32(n) (n)\n\ + #define cpu_to_be16(n) (n)\n\ +-#define cpu_to_le32(n) (__bswap_constant_32(n))\n\ +-#define cpu_to_le16(n) (__bswap_constant_16(n))\n\ ++#define cpu_to_le32(n) ((uint32_t) ((n)>>24 | (n)>>8&0xff00 | (n)<<8&0xff0000 | (n)<<24))\n\ ++#define cpu_to_le16(n) ((uint16_t) ((n)<<8 | (n)>>8))\n\ + #else\n\ + #define cpu_to_le32(n) (n)\n\ + #define cpu_to_le16(n) (n)\n\ +-#define cpu_to_be32(n) (__bswap_constant_32(n))\n\ +-#define cpu_to_be16(n) (__bswap_constant_16(n))\n\ ++#define cpu_to_be32(n) ((uint32_t) ((n)>>24 | (n)>>8&0xff00 | (n)<<8&0xff0000 | (n)<<24))\n\ ++#define cpu_to_be16(n) ((uint16_t) ((n)<<8 | (n)>>8))\n\ + #endif\n\ + """); + +-- +2.13.3 + diff --git a/meta-oe/recipes-extended/efivar/efivar/0002-New-gcc-version-new-way-symbol-versioning-breaks.patch b/meta-oe/recipes-extended/efivar/efivar/0002-New-gcc-version-new-way-symbol-versioning-breaks.patch deleted file mode 100644 index 737b78b..0000000 --- a/meta-oe/recipes-extended/efivar/efivar/0002-New-gcc-version-new-way-symbol-versioning-breaks.patch +++ /dev/null @@ -1,66 +0,0 @@ -From 31e655d2b5f66e772d9714422b7332bbaa60d2e6 Mon Sep 17 00:00:00 2001 -From: Peter Jones -Date: Mon, 6 Feb 2017 14:41:58 -0500 -Subject: [PATCH 2/2] New gcc version, new way symbol versioning breaks. - -Apparently I get to redo this every time there's a compiler release. -Yaaaaaay. - -Anyway, the current method is to define the two compat things from the -land before time as @libefivar.so.0 symbols and list them there in the -link map. Then we have the real one defined with another name, and set -as efi_set_variable@@LIBEFIVAR_0.24. Then to make there actually be a -efi_set_variable symbol to link against, we create it as a weak alias. - -This is all completely absurd. - -Signed-off-by: Peter Jones ---- - src/lib.c | 17 ++++++++++++----- - 1 file changed, 12 insertions(+), 5 deletions(-) - -diff --git a/src/lib.c b/src/lib.c -index 6a9b392..afa7d94 100644 ---- a/src/lib.c -+++ b/src/lib.c -@@ -49,7 +49,7 @@ _efi_set_variable(efi_guid_t guid, const char *name, uint8_t *data, - { - return ops->set_variable(guid, name, data, data_size, attributes, 0600); - } --__asm__(".symver _efi_set_variable,_efi_set_variable@"); -+__asm__(".symver _efi_set_variable,_efi_set_variable at libefivar.so.0"); - - int - __attribute__((__nonnull__ (2, 3))) -@@ -59,17 +59,24 @@ _efi_set_variable_variadic(efi_guid_t guid, const char *name, uint8_t *data, - { - return ops->set_variable(guid, name, data, data_size, attributes, 0600); - } --__asm__(".symver _efi_set_variable_variadic,efi_set_variable@"); -+__asm__(".symver _efi_set_variable_variadic,efi_set_variable at libefivar.so.0"); - - int - __attribute__((__nonnull__ (2, 3))) - __attribute__((__visibility__ ("default"))) --efi_set_variable(efi_guid_t guid, const char *name, uint8_t *data, -- size_t data_size, uint32_t attributes, mode_t mode) -+_efi_set_variable_mode(efi_guid_t guid, const char *name, uint8_t *data, -+ size_t data_size, uint32_t attributes, mode_t mode) - { - return ops->set_variable(guid, name, data, data_size, attributes, mode); - } --__asm__(".symver efi_set_variable,efi_set_variable@@LIBEFIVAR_0.24"); -+__asm__(".symver _efi_set_variable_mode,efi_set_variable@@LIBEFIVAR_0.24"); -+ -+int -+__attribute__((__nonnull__ (2, 3))) -+__attribute__((__visibility__ ("default"))) -+efi_set_variable(efi_guid_t guid, const char *name, uint8_t *data, -+ size_t data_size, uint32_t attributes, mode_t mode) -+ __attribute((weak, alias ("_efi_set_variable_mode"))); - - int - __attribute__((__nonnull__ (2, 3))) --- -2.12.2 - diff --git a/meta-oe/recipes-extended/efivar/efivar/0002-disable-static-build.patch b/meta-oe/recipes-extended/efivar/efivar/0002-disable-static-build.patch deleted file mode 100644 index 951b159..0000000 --- a/meta-oe/recipes-extended/efivar/efivar/0002-disable-static-build.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 126e0d3c1ad74cf5b0abe9e98ec444bcc3c83159 Mon Sep 17 00:00:00 2001 -From: Koen Kooi -Date: Fri, 4 Mar 2016 14:53:55 +0100 -Subject: [PATCH 2/2] disable static build - -Signed-off-by: Koen Kooi - -Upstream-Status: Inappropriate [meta-oe specific] -Signed-off-by: Hongxu Jia - ---- - src/Makefile | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/Makefile b/src/Makefile -index 1829d22..c7a0ca3 100644 ---- a/src/Makefile -+++ b/src/Makefile -@@ -8,9 +8,9 @@ include $(TOPDIR)/Make.defaults - - LIBTARGETS=libefivar.so libefiboot.so - STATICLIBTARGETS=libefivar.a libefiboot.a --BINTARGETS=efivar efivar-static -+BINTARGETS=efivar - PCTARGETS=efivar.pc efiboot.pc --TARGETS=$(LIBTARGETS) $(STATICLIBTARGETS) $(BINTARGETS) $(PCTARGETS) -+TARGETS=$(LIBTARGETS) $(BINTARGETS) $(PCTARGETS) - - LIBEFIBOOT_SOURCES = crc32.c creator.c disk.c gpt.c linux.c loadopt.c - LIBEFIBOOT_OBJECTS = $(patsubst %.c,%.o,$(LIBEFIBOOT_SOURCES)) --- -2.4.3 - diff --git a/meta-oe/recipes-extended/efivar/efivar/fix-compile-failure-with-host-gcc-4.6.patch b/meta-oe/recipes-extended/efivar/efivar/fix-compile-failure-with-host-gcc-4.6.patch index 1c68a29..e3fa2e1 100644 --- a/meta-oe/recipes-extended/efivar/efivar/fix-compile-failure-with-host-gcc-4.6.patch +++ b/meta-oe/recipes-extended/efivar/efivar/fix-compile-failure-with-host-gcc-4.6.patch @@ -20,10 +20,10 @@ Signed-off-by: Hongxu Jia gcc.specs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -diff --git a/gcc.specs b/gcc.specs -index 0d4bbda..3802ca6 100644 ---- a/gcc.specs -+++ b/gcc.specs +Index: git/gcc.specs +=================================================================== +--- git.orig/gcc.specs ++++ git/gcc.specs @@ -2,13 +2,13 @@ + -D_GNU_SOURCE @@ -35,11 +35,8 @@ index 0d4bbda..3802ca6 100644 + %(efivar_cpp_options) *cc1_options: --+ %(efivar_cpp_options) -Wmaybe-uninitialized -fno-merge-constants -flto -fvisibility=hidden %{!r:%{!fpie:%{!fPIE:%{!fpic:%{!fPIC:%{!fno-pic:-fPIE}}}}}} +-+ %(efivar_cpp_options) -Wmaybe-uninitialized -fno-merge-constants -fvisibility=hidden %{!r:%{!fpie:%{!fPIE:%{!fpic:%{!fPIC:%{!fno-pic:-fPIE}}}}}} ++ %(efivar_cpp_options) -fno-merge-constants -fvisibility=hidden %{!r:%{!fpie:%{!fPIE:%{!fpic:%{!fPIC:%{!fno-pic:-fPIE}}}}}} *self_spec: + %{!shared:%{!static:%{!r:-pie}}} %{static:-Wl,-no-fatal-warnings -Wl,-static -static -Wl,-z,relro,-z,now} --- -2.8.1 - diff --git a/meta-oe/recipes-extended/efivar/efivar/musl-strndupa.patch b/meta-oe/recipes-extended/efivar/efivar/musl-strndupa.patch new file mode 100644 index 0000000..fc8f8c8 --- /dev/null +++ b/meta-oe/recipes-extended/efivar/efivar/musl-strndupa.patch @@ -0,0 +1,17 @@ +Taken from void linux + +Index: git/src/linux.c +=================================================================== +--- git.orig/src/linux.c ++++ git/src/linux.c +@@ -40,6 +40,10 @@ + #include + #include + ++#if !defined(__GLIBC__) ++#define strndupa(x,s) strncpy(alloca(strlen(x)+1),x,s) ++#endif ++ + #include "dp.h" + #include "linux.h" + #include "util.h" diff --git a/meta-oe/recipes-extended/efivar/efivar_0.24.bb b/meta-oe/recipes-extended/efivar/efivar_0.31.bb similarity index 83% rename from meta-oe/recipes-extended/efivar/efivar_0.24.bb rename to meta-oe/recipes-extended/efivar/efivar_0.31.bb index 877ca90..10dde89 100644 --- a/meta-oe/recipes-extended/efivar/efivar_0.24.bb +++ b/meta-oe/recipes-extended/efivar/efivar_0.31.bb @@ -12,13 +12,12 @@ inherit pkgconfig COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux" -SRCREV = "963cb2e5adc145fe00717f94e382f2973f80e753" +SRCREV = "11324799c68193116e1dd5f94b416591bd324f90" SRC_URI = "git://github.com/rhinstaller/efivar.git \ - file://0002-disable-static-build.patch \ file://allow-multi-definitions-for-native.patch \ - file://0001-Remove-some-extra-const-that-gcc-complains-about.patch \ - file://0002-New-gcc-version-new-way-symbol-versioning-breaks.patch \ -" + file://0001-makeguids-Do-not-use-__bswap_constant_-16-32-macros.patch \ + file://musl-strndupa.patch \ + " SRC_URI_append_class-target = " file://0001-efivar-fix-for-cross-compile.patch \ file://0003-efivar-fix-for-cross-compile.patch \ ${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', 'file://0004-fix-unknow-option-for-gold-linker.patch', '', d)} \ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:51:52 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:51:52 +0000 Subject: [oe-commits] [meta-openembedded] 48/67: linuxptp: Upgrade to 1.8 In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125105.9CECB2335E2@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit b15f25ef0f8c62e23cfc507309c5da1792d456d6 Author: Khem Raj AuthorDate: Mon Jul 17 20:10:07 2017 -0700 linuxptp: Upgrade to 1.8 Fix build on musl along way Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../0003-include-missing-time.h-for-time_t.patch | 26 ++++++++++++++++ ...ude-header-sequence-to-avoid-duplicate-de.patch | 36 ++++++++++++++++++++++ .../linuxptp/{linuxptp_1.6.bb => linuxptp_1.8.bb} | 9 ++++-- 3 files changed, 68 insertions(+), 3 deletions(-) diff --git a/meta-oe/recipes-connectivity/linuxptp/linuxptp/0003-include-missing-time.h-for-time_t.patch b/meta-oe/recipes-connectivity/linuxptp/linuxptp/0003-include-missing-time.h-for-time_t.patch new file mode 100644 index 0000000..96163f6 --- /dev/null +++ b/meta-oe/recipes-connectivity/linuxptp/linuxptp/0003-include-missing-time.h-for-time_t.patch @@ -0,0 +1,26 @@ +From b36cafdbcbe2193f5b669e703c608e19e23f80a3 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 15 Jul 2017 11:16:42 -0700 +Subject: [PATCH 3/4] include missing time.h for time_t + +Signed-off-by: Khem Raj +--- + util.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/util.h b/util.h +index e912f19..3c634c1 100644 +--- a/util.h ++++ b/util.h +@@ -22,7 +22,7 @@ + + #include "ddt.h" + #include "ether.h" +- ++#include + /** + * Table of human readable strings, one for each port state. + */ +-- +2.13.3 + diff --git a/meta-oe/recipes-connectivity/linuxptp/linuxptp/0004-Adjust-include-header-sequence-to-avoid-duplicate-de.patch b/meta-oe/recipes-connectivity/linuxptp/linuxptp/0004-Adjust-include-header-sequence-to-avoid-duplicate-de.patch new file mode 100644 index 0000000..e699275 --- /dev/null +++ b/meta-oe/recipes-connectivity/linuxptp/linuxptp/0004-Adjust-include-header-sequence-to-avoid-duplicate-de.patch @@ -0,0 +1,36 @@ +From 3cd28aa771934d9165ff0d7e19932cde65de3e52 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 15 Jul 2017 11:16:57 -0700 +Subject: [PATCH 4/4] Adjust include header sequence to avoid duplicate + definitions on musl + +Signed-off-by: Khem Raj +--- + raw.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/raw.c b/raw.c +index f51c829..494ea7f 100644 +--- a/raw.c ++++ b/raw.c +@@ -18,8 +18,6 @@ + */ + #include + #include +-#include +-#include + #include + #include + #include +@@ -32,6 +30,8 @@ + #include + #include + ++#include ++#include + #include + #include + #include +-- +2.13.3 + diff --git a/meta-oe/recipes-connectivity/linuxptp/linuxptp_1.6.bb b/meta-oe/recipes-connectivity/linuxptp/linuxptp_1.8.bb similarity index 66% rename from meta-oe/recipes-connectivity/linuxptp/linuxptp_1.6.bb rename to meta-oe/recipes-connectivity/linuxptp/linuxptp_1.8.bb index 2e28644..c7b8b29 100644 --- a/meta-oe/recipes-connectivity/linuxptp/linuxptp_1.6.bb +++ b/meta-oe/recipes-connectivity/linuxptp/linuxptp_1.8.bb @@ -4,10 +4,13 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" SRC_URI = "http://sourceforge.net/projects/linuxptp/files/v${PV}/linuxptp-${PV}.tgz \ file://build-Allow-CC-and-prefix-to-be-overriden.patch \ - file://no-incdefs-using-host-headers.patch" + file://no-incdefs-using-host-headers.patch \ + file://0003-include-missing-time.h-for-time_t.patch \ + file://0004-Adjust-include-header-sequence-to-avoid-duplicate-de.patch \ + " -SRC_URI[md5sum] = "6aa15d83f5a35f1fd076ba9adc4e7285" -SRC_URI[sha256sum] = "e7fd16a9f235b059be527bd512e86f0c1d9f2e7c36736e6d6d9727a4427ac14c" +SRC_URI[md5sum] = "5688cdfe57932273e1dbf35b3b97b9a0" +SRC_URI[sha256sum] = "fa8e00f6ec73cefa7bb313dce7f60dfe5eb9e2bde3353594e9ac18edc93e5165" EXTRA_OEMAKE = "ARCH=${TARGET_ARCH} \ EXTRA_CFLAGS='-D_GNU_SOURCE -DHAVE_CLOCK_ADJTIME -DHAVE_POSIX_SPAWN -DHAVE_ONESTEP_SYNC ${CFLAGS}'" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:52:01 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:52:01 +0000 Subject: [oe-commits] [meta-openembedded] 57/67: python3-langtable: add recipe 0.0.37 In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125106.1D2372335DA@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 36bc780c1775455815b4c3ebd71e88499c1ec2d8 Author: Hongxu Jia AuthorDate: Tue Jul 18 02:09:06 2017 -0400 python3-langtable: add recipe 0.0.37 Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- .../python/python3-langtable_0.0.37.bb | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/meta-python/recipes-devtools/python/python3-langtable_0.0.37.bb b/meta-python/recipes-devtools/python/python3-langtable_0.0.37.bb new file mode 100644 index 0000000..362ca1a --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-langtable_0.0.37.bb @@ -0,0 +1,22 @@ +DESCRIPTION = "langtable is used to guess reasonable defaults for locale,\ +keyboard, territory" +HOMEPAGE = "https://github.com/mike-fabian/langtable/" +LICENSE = "GPLv3+" +SECTION = "devel/python" + +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +S = "${WORKDIR}/git" +B = "${S}" + +SRCREV = "3f001eef027ba69ef2fdb35c670b7da26b79b5e2" +PV = "0.0.37+git${SRCPV}" +SRC_URI = "git://github.com/mike-fabian/langtable.git;branch=master \ +" + +inherit setuptools3 python3native + +DISTUTILS_INSTALL_ARGS = "--prefix=${D}/${prefix} \ + --install-data=${D}/${datadir}/langtable" + +FILES_${PN} += "${datadir}/*" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:52:00 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:52:00 +0000 Subject: [oe-commits] [meta-openembedded] 56/67: python3-coverage: add recipe 4.4.1 In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125106.138982335D8@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 37a4e2c9325b37d53fa966625bb5f0cfcc2ed060 Author: Hongxu Jia AuthorDate: Tue Jul 18 02:09:05 2017 -0400 python3-coverage: add recipe 4.4.1 Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- meta-python/recipes-devtools/python/python3-coverage_4.4.1.bb | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/meta-python/recipes-devtools/python/python3-coverage_4.4.1.bb b/meta-python/recipes-devtools/python/python3-coverage_4.4.1.bb new file mode 100644 index 0000000..6aa5c59 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-coverage_4.4.1.bb @@ -0,0 +1,10 @@ +SUMMARY = "Code coverage measurement for Python" +HOMEPAGE = "https://coverage.readthedocs.io" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2ee41112a44fe7014dce33e26468ba93" + +SRC_URI[md5sum] = "4c4d997cb32be4703f1fde54e6cd1b1c" +SRC_URI[sha256sum] = "7a9c44400ee0f3b4546066e0710e1250fd75831adc02ab99dda176ad8726f424" + +inherit pypi setuptools3 + -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:52:02 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:52:02 +0000 Subject: [oe-commits] [meta-openembedded] 58/67: python3-ntplib: add recipe 0.3.3 In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125106.257EC2335DB@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit e102b42f55e2309c5c9081e1c4a5a038d6bc4bc8 Author: Hongxu Jia AuthorDate: Tue Jul 18 02:09:07 2017 -0400 python3-ntplib: add recipe 0.3.3 Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- meta-python/recipes-devtools/python/python3-ntplib_0.3.3.bb | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/meta-python/recipes-devtools/python/python3-ntplib_0.3.3.bb b/meta-python/recipes-devtools/python/python3-ntplib_0.3.3.bb new file mode 100644 index 0000000..35440bc --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-ntplib_0.3.3.bb @@ -0,0 +1,12 @@ +DESCRIPTION = "This module offers a simple interface to query NTP servers from Python." +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://ntplib.py;beginline=1;endline=23;md5=afa07338a9595257e94c205c3e72224d" + +SRCNAME = "ntplib" +SRC_URI[md5sum] = "c7cc8e9b09f40c84819859d70b7784ca" +SRC_URI[sha256sum] = "c4621b64d50be9461d9bd9a71ba0b4af06fbbf818bbd483752d95c1a4e273ede" + +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit setuptools3 python3native pypi -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:52:03 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:52:03 +0000 Subject: [oe-commits] [meta-openembedded] 59/67: python3-ordered-set: add recipe 2.0.2 In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125106.2DFF02335DD@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 5062c4f66a107a9fbe0648f87bd2ca80f6e9f4b6 Author: Hongxu Jia AuthorDate: Tue Jul 18 02:09:08 2017 -0400 python3-ordered-set: add recipe 2.0.2 Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- .../recipes-devtools/python/python3-ordered-set_2.0.2.bb | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/meta-python/recipes-devtools/python/python3-ordered-set_2.0.2.bb b/meta-python/recipes-devtools/python/python3-ordered-set_2.0.2.bb new file mode 100644 index 0000000..be6d4e1 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-ordered-set_2.0.2.bb @@ -0,0 +1,10 @@ +SUMMARY = "A MutableSet that remembers its order, so that every entry has an index." +HOMEPAGE = "http://github.com/LuminosoInsight/ordered-set" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://MIT-LICENSE;md5=0feb0c85b722f488b87844fb5f81d2dc" + +SRC_URI[md5sum] = "7b8d73dc64fd3c783ecb48e050bfcc0d" +SRC_URI[sha256sum] = "942cad5d7d5b0760d5cbe93dfb385ac2ed402ca1d48c9f4e102d7d5cce3a90eb" + +inherit pypi setuptools3 + -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:51:58 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:51:58 +0000 Subject: [oe-commits] [meta-openembedded] 54/67: gperftools: Upgrade to 2.6.1 In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125106.00D052335D5@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 06ce00dee1dc6a8f89752b07d7b64930d30cebde Author: Khem Raj AuthorDate: Mon Jul 17 20:10:13 2017 -0700 gperftools: Upgrade to 2.6.1 Fix build with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../0001-Fix-build-failure-for-ppc.patch | 28 ---------- .../gperftools/0001-fix-build-with-musl-libc.patch | 61 ++++++++++++++++++++++ ...001-include-fcntl.h-for-loff_t-definition.patch | 28 ++++++++++ .../{gperftools_2.5.bb => gperftools_2.6.1.bb} | 13 ++--- 4 files changed, 96 insertions(+), 34 deletions(-) diff --git a/meta-oe/recipes-support/gperftools/gperftools/0001-Fix-build-failure-for-ppc.patch b/meta-oe/recipes-support/gperftools/gperftools/0001-Fix-build-failure-for-ppc.patch deleted file mode 100644 index 27f855d..0000000 --- a/meta-oe/recipes-support/gperftools/gperftools/0001-Fix-build-failure-for-ppc.patch +++ /dev/null @@ -1,28 +0,0 @@ -Subject: Fix build failure for ppc - -Upstream-Status: Pending - -Fix the following build failure. - - error: 'siginfo_t' does not name a type - -Signed-off-by: Chen Qi ---- - src/stacktrace_powerpc-linux-inl.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/stacktrace_powerpc-linux-inl.h b/src/stacktrace_powerpc-linux-inl.h -index 5d16fa1..a9bf775 100644 ---- a/src/stacktrace_powerpc-linux-inl.h -+++ b/src/stacktrace_powerpc-linux-inl.h -@@ -44,6 +44,7 @@ - - #include // for uintptr_t - #include // for NULL -+#include // for siginfo_t - #include - #include - --- -2.8.3 - diff --git a/meta-oe/recipes-support/gperftools/gperftools/0001-fix-build-with-musl-libc.patch b/meta-oe/recipes-support/gperftools/gperftools/0001-fix-build-with-musl-libc.patch new file mode 100644 index 0000000..78621c7 --- /dev/null +++ b/meta-oe/recipes-support/gperftools/gperftools/0001-fix-build-with-musl-libc.patch @@ -0,0 +1,61 @@ +From 157914941bd38f1a38bb6bd7294ca6c2bc1b8dcb Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 16 Jul 2017 15:51:28 -0700 +Subject: [PATCH] fix build with musl libc + +Patch from https://github.com/gperftools/gperftools/pull/765/ + +Signed-off-by: Khem Raj +--- + configure.ac | 1 + + src/malloc_hook_mmap_linux.h | 8 ++++++-- + 2 files changed, 7 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index b42fea3..70b49a3 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -188,6 +188,7 @@ AC_HEADER_STDC + AC_CHECK_TYPES([__int64]) # defined in some windows platforms + AC_CHECK_TYPES([struct mallinfo],,, [#include ]) + AC_CHECK_TYPES([Elf32_Versym],,, [#include ]) # for vdso_support.h ++AC_CHECK_FUNCS(__sbrk) # for intercepting glibc memory allocator + AC_CHECK_FUNCS(sbrk) # for tcmalloc to get memory + AC_CHECK_FUNCS(geteuid) # for turning off services when run as root + AC_CHECK_FUNCS(fork) # for the pthread_atfork setup +diff --git a/src/malloc_hook_mmap_linux.h b/src/malloc_hook_mmap_linux.h +index 79ac4e3..d444635 100755 +--- a/src/malloc_hook_mmap_linux.h ++++ b/src/malloc_hook_mmap_linux.h +@@ -46,6 +46,10 @@ + #include + #include "base/linux_syscall_support.h" + ++#ifndef __GLIBC__ ++typedef off64_t __off64_t; ++#endif ++ + // The x86-32 case and the x86-64 case differ: + // 32b has a mmap2() syscall, 64b does not. + // 64b and 32b have different calling conventions for mmap(). +@@ -168,7 +172,7 @@ extern "C" void* mmap64(void *start, size_t length, int prot, int flags, + return result; + } + +-# if !defined(__USE_FILE_OFFSET64) || !defined(__REDIRECT_NTH) ++# if defined(__GLIBC__) && (!defined(__USE_FILE_OFFSET64) || !defined(__REDIRECT_NTH)) + + extern "C" void* mmap(void *start, size_t length, int prot, int flags, + int fd, off_t offset) __THROW { +@@ -206,7 +210,7 @@ extern "C" void* mremap(void* old_addr, size_t old_size, size_t new_size, + return result; + } + +-#ifndef __UCLIBC__ ++#if HAVE___SBRK + // libc's version: + extern "C" void* __sbrk(ptrdiff_t increment); + +-- +2.13.3 + diff --git a/meta-oe/recipes-support/gperftools/gperftools/0001-include-fcntl.h-for-loff_t-definition.patch b/meta-oe/recipes-support/gperftools/gperftools/0001-include-fcntl.h-for-loff_t-definition.patch new file mode 100644 index 0000000..667008a --- /dev/null +++ b/meta-oe/recipes-support/gperftools/gperftools/0001-include-fcntl.h-for-loff_t-definition.patch @@ -0,0 +1,28 @@ +From 04ea8e001501931f4dbf20288aca78469617b08a Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 16 Jul 2017 19:28:17 -0700 +Subject: [PATCH] include fcntl.h for loff_t definition + +Fixes +linux_syscall_support.h:2641:26: error: 'loff_t' has not been declared + +Signed-off-by: Khem Raj +--- + src/base/linux_syscall_support.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/base/linux_syscall_support.h b/src/base/linux_syscall_support.h +index 85347a2..70431ca 100644 +--- a/src/base/linux_syscall_support.h ++++ b/src/base/linux_syscall_support.h +@@ -162,6 +162,7 @@ extern "C" { + #include + #include + #include ++#include + + #ifdef __mips__ + /* Include definitions of the ABI currently in use. */ +-- +2.13.3 + diff --git a/meta-oe/recipes-support/gperftools/gperftools_2.5.bb b/meta-oe/recipes-support/gperftools/gperftools_2.6.1.bb similarity index 67% rename from meta-oe/recipes-support/gperftools/gperftools_2.5.bb rename to meta-oe/recipes-support/gperftools/gperftools_2.6.1.bb index 43780a5..9464638 100644 --- a/meta-oe/recipes-support/gperftools/gperftools_2.5.bb +++ b/meta-oe/recipes-support/gperftools/gperftools_2.6.1.bb @@ -2,19 +2,20 @@ SUMMARY = "Fast, multi-threaded malloc() and nifty performance analysis tools" HOMEPAGE = "http://code.google.com/p/gperftools/" LICENSE = "BSD" LIC_FILES_CHKSUM = "file://COPYING;md5=762732742c73dc6c7fbe8632f06c059a" -DEPENDS = "libunwind" +DEPENDS += "libunwind" -SRC_URI = "http://pkgs.fedoraproject.org/repo/pkgs/gperftools/gperftools-2.5.tar.gz/aa1eaf95dbe2c9828d0bd3a00f770f50/gperftools-2.5.tar.gz \ +SRCREV = "bf840dec0495e17f5c8403e68e10b9d6bf05c559" +SRC_URI = "git://github.com/gperftools/gperftools \ file://0001-Support-Atomic-ops-on-clang.patch \ - file://0001-Fix-build-failure-for-ppc.patch \ file://0001-Use-ucontext_t-instead-of-struct-ucontext.patch \ + file://0001-fix-build-with-musl-libc.patch \ + file://0001-include-fcntl.h-for-loff_t-definition.patch \ " -SRC_URI[md5sum] = "aa1eaf95dbe2c9828d0bd3a00f770f50" -SRC_URI[sha256sum] = "6fa2748f1acdf44d750253e160cf6e2e72571329b42e563b455bde09e9e85173" - inherit autotools +S = "${WORKDIR}/git" + # On mips, we have the following error. # do_page_fault(): sending SIGSEGV to ls for invalid read access from 00000008 # Segmentation fault (core dumped) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:51:57 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:51:57 +0000 Subject: [oe-commits] [meta-openembedded] 53/67: lm_sensors: Fix build on musl In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125105.E176E233612@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 7af1232306d0427704e154d43709282e9a3c20da Author: Khem Raj AuthorDate: Mon Jul 17 20:10:12 2017 -0700 lm_sensors: Fix build on musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...-limit-sys-io.h-header-include-to-just-gl.patch | 88 ++++++++++++++++++++++ .../recipes-support/lm_sensors/lmsensors_3.4.0.bb | 6 ++ 2 files changed, 94 insertions(+) diff --git a/meta-oe/recipes-support/lm_sensors/lmsensors/0001-prog-Do-not-limit-sys-io.h-header-include-to-just-gl.patch b/meta-oe/recipes-support/lm_sensors/lmsensors/0001-prog-Do-not-limit-sys-io.h-header-include-to-just-gl.patch new file mode 100644 index 0000000..fb3878d --- /dev/null +++ b/meta-oe/recipes-support/lm_sensors/lmsensors/0001-prog-Do-not-limit-sys-io.h-header-include-to-just-gl.patch @@ -0,0 +1,88 @@ +From 727524453f115ddc05109e9bbb3d0e60a7db9185 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 16 Jul 2017 15:05:50 -0700 +Subject: [PATCH] prog: Do not limit sys/io.h header include to just glibc + +musl provides it too. + +Signed-off-by: Khem Raj +--- + prog/dump/isadump.c | 6 ------ + prog/dump/isaset.c | 6 ------ + prog/dump/superio.c | 5 ----- + prog/dump/util.c | 5 ----- + 4 files changed, 22 deletions(-) + +diff --git a/prog/dump/isadump.c b/prog/dump/isadump.c +index e0e6f00..8794537 100644 +--- a/prog/dump/isadump.c ++++ b/prog/dump/isadump.c +@@ -36,13 +36,7 @@ + #include "util.h" + #include "superio.h" + +- +-/* To keep glibc2 happy */ +-#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 0 + #include +-#else +-#include +-#endif + + #ifdef __powerpc__ + unsigned long isa_io_base = 0; /* XXX for now */ +diff --git a/prog/dump/isaset.c b/prog/dump/isaset.c +index e743755..85a4f64 100644 +--- a/prog/dump/isaset.c ++++ b/prog/dump/isaset.c +@@ -32,13 +32,7 @@ + #include + #include "util.h" + +- +-/* To keep glibc2 happy */ +-#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 0 + #include +-#else +-#include +-#endif + + #ifdef __powerpc__ + unsigned long isa_io_base = 0; /* XXX for now */ +diff --git a/prog/dump/superio.c b/prog/dump/superio.c +index 64ef27b..906fe55 100644 +--- a/prog/dump/superio.c ++++ b/prog/dump/superio.c +@@ -20,12 +20,7 @@ + */ + + #include +- +-#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 0 + #include +-#else +-#include +-#endif + + #include "superio.h" + +diff --git a/prog/dump/util.c b/prog/dump/util.c +index 874c1b9..197fa64 100644 +--- a/prog/dump/util.c ++++ b/prog/dump/util.c +@@ -11,12 +11,7 @@ + #include + #include "util.h" + +-/* To keep glibc2 happy */ +-#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 0 + #include +-#else +-#include +-#endif + + /* Return 1 if we should continue, 0 if we should abort */ + int user_ack(int def) +-- +2.13.3 + diff --git a/meta-oe/recipes-support/lm_sensors/lmsensors_3.4.0.bb b/meta-oe/recipes-support/lm_sensors/lmsensors_3.4.0.bb index dbc05a8..454a69f 100644 --- a/meta-oe/recipes-support/lm_sensors/lmsensors_3.4.0.bb +++ b/meta-oe/recipes-support/lm_sensors/lmsensors_3.4.0.bb @@ -11,6 +11,7 @@ SRC_URI = "https://github.com/groeck/lm-sensors/archive/V3-4-0.tar.gz \ file://fancontrol.init \ file://sensord.init \ file://0001-lmsensors-sensors-detect-print-a-special-message-whe.patch \ + file://0001-prog-Do-not-limit-sys-io.h-header-include-to-just-gl.patch \ " SRC_URI[md5sum] = "1e9f117cbfa11be1955adc96df71eadb" SRC_URI[sha256sum] = "e334c1c2b06f7290e3e66bdae330a5d36054701ffd47a5dde7a06f9a7402cb4e" @@ -37,6 +38,11 @@ EXTRA_OEMAKE = 'EXLDFLAGS="${LDFLAGS}" \ CC="${CC}" AR="${AR}"' do_compile() { + sed -i -e 's:^# \(PROG_EXTRA\):\1:' ${S}/Makefile + # Respect LDFLAGS + sed -i -e 's/\$(LIBDIR)$/\$(LIBDIR) \$(LDFLAGS)/g' ${S}/Makefile + sed -i -e 's/\$(LIBSHSONAME) -o/$(LIBSHSONAME) \$(LDFLAGS) -o/g' \ + ${S}/lib/Module.mk oe_runmake user PROG_EXTRA="sensors sensord" } -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:52:04 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:52:04 +0000 Subject: [oe-commits] [meta-openembedded] 60/67: python3-requests-file: add recipe 1.4.2 In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125106.35A34233613@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 61ee29ca85cfcd0f112fc8c12801f7c523b9b081 Author: Hongxu Jia AuthorDate: Tue Jul 18 02:09:09 2017 -0400 python3-requests-file: add recipe 1.4.2 Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- .../recipes-devtools/python/python3-requests-file_1.4.2.bb | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/meta-python/recipes-devtools/python/python3-requests-file_1.4.2.bb b/meta-python/recipes-devtools/python/python3-requests-file_1.4.2.bb new file mode 100644 index 0000000..8652876 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-requests-file_1.4.2.bb @@ -0,0 +1,14 @@ +SUMMARY = "File transport adapter for Requests" +HOMEPAGE = "http://github.com/dashea/requests-file" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=9cc728d6087e43796227b0a31422de6b" + +SRC_URI[md5sum] = "a907efb75faf0ccbb1857432bf9d8c0f" +SRC_URI[sha256sum] = "f518e7cfe048e053fd1019dfb891b4c55b871c56c5a31693d733240c80b8f191" + +inherit pypi setuptools3 + +RDEPENDS_${PN} += " \ + python3-requests \ +" + -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:52:05 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:52:05 +0000 Subject: [oe-commits] [meta-openembedded] 61/67: python3-requests-ftp: add recipe 0.3.1 In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125106.3D9462335DE@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 6bf7c5816fe64bbc5f46e7d0134e143094fab45d Author: Hongxu Jia AuthorDate: Tue Jul 18 02:09:10 2017 -0400 python3-requests-ftp: add recipe 0.3.1 Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- .../recipes-devtools/python/python3-requests-ftp_0.3.1.bb | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/meta-python/recipes-devtools/python/python3-requests-ftp_0.3.1.bb b/meta-python/recipes-devtools/python/python3-requests-ftp_0.3.1.bb new file mode 100644 index 0000000..3f99ed6 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-requests-ftp_0.3.1.bb @@ -0,0 +1,14 @@ +SUMMARY = "FTP Transport Adapter for Requests" +HOMEPAGE = "http://github.com/Lukasa/requests-ftp" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=6683a23c9968b97709441dc884d46df6" + +SRC_URI[md5sum] = "1a52ad1219e696b5abd5449d1ccc0294" +SRC_URI[sha256sum] = "7504ceb5cba8a5c0135ed738596820a78c5f2be92d79b29f96ba99b183d8057a" + +inherit pypi setuptools3 + +RDEPENDS_${PN} += " \ + python3-requests \ +" + -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:51:59 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:51:59 +0000 Subject: [oe-commits] [meta-openembedded] 55/67: glade: add recipe 3.20.0 In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125106.099922335D7@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit d0fa6e63ddb2f2009819dbd23242704e51bb40c2 Author: Hongxu Jia AuthorDate: Tue Jul 18 02:09:04 2017 -0400 glade: add recipe 3.20.0 The newly added glade is the original Glade codebase, and glade3 is a complete rewrite of it. Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- .../glade/glade/remove-yelp-help-rules-var.patch | 39 ++++++++++++++++++++++ ...gnome-doc-utils.make-sysrooted-pkg-config.patch | 0 .../{files => glade3}/0002-fix-gcc-6-build.patch | 0 meta-oe/recipes-devtools/glade/glade_3.20.0.bb | 27 +++++++++++++++ 4 files changed, 66 insertions(+) diff --git a/meta-oe/recipes-devtools/glade/glade/remove-yelp-help-rules-var.patch b/meta-oe/recipes-devtools/glade/glade/remove-yelp-help-rules-var.patch new file mode 100644 index 0000000..78a8719 --- /dev/null +++ b/meta-oe/recipes-devtools/glade/glade/remove-yelp-help-rules-var.patch @@ -0,0 +1,39 @@ +From 42efc94c11d510b41d8cf3407e1c3900eb52b600 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Thu, 4 Jun 2015 16:28:02 +0800 +Subject: [PATCH] Remove unused variable (YELP_HELP_RULES) + +Upstream-Status: Pending + +Signed-off-by: Hongxu Jia +--- + help/Makefile.am | 2 -- + help/Makefile.in | 2 -- + 2 files changed, 4 deletions(-) + +diff --git a/help/Makefile.am b/help/Makefile.am +index 50c0e84..5c5d2e9 100644 +--- a/help/Makefile.am ++++ b/help/Makefile.am +@@ -1,5 +1,3 @@ +- at YELP_HELP_RULES@ +- + HELP_ID = glade + + HELP_FILES = \ +diff --git a/help/Makefile.in b/help/Makefile.in +index 6978ea5..e1c7d3b 100644 +--- a/help/Makefile.in ++++ b/help/Makefile.in +@@ -521,8 +521,6 @@ uninstall-am: + + .PRECIOUS: Makefile + +- at YELP_HELP_RULES@ +- + # Tell versions [3.59,3.63) of GNU make to not export all variables. + # Otherwise a system limit (for SysV at least) may be exceeded. + .NOEXPORT: +-- +1.9.1 + diff --git a/meta-oe/recipes-devtools/glade/files/0001-gnome-doc-utils.make-sysrooted-pkg-config.patch b/meta-oe/recipes-devtools/glade/glade3/0001-gnome-doc-utils.make-sysrooted-pkg-config.patch similarity index 100% rename from meta-oe/recipes-devtools/glade/files/0001-gnome-doc-utils.make-sysrooted-pkg-config.patch rename to meta-oe/recipes-devtools/glade/glade3/0001-gnome-doc-utils.make-sysrooted-pkg-config.patch diff --git a/meta-oe/recipes-devtools/glade/files/0002-fix-gcc-6-build.patch b/meta-oe/recipes-devtools/glade/glade3/0002-fix-gcc-6-build.patch similarity index 100% rename from meta-oe/recipes-devtools/glade/files/0002-fix-gcc-6-build.patch rename to meta-oe/recipes-devtools/glade/glade3/0002-fix-gcc-6-build.patch diff --git a/meta-oe/recipes-devtools/glade/glade_3.20.0.bb b/meta-oe/recipes-devtools/glade/glade_3.20.0.bb new file mode 100644 index 0000000..8b35a9c --- /dev/null +++ b/meta-oe/recipes-devtools/glade/glade_3.20.0.bb @@ -0,0 +1,27 @@ +SUMMARY = "Glade - A User Interface Designer" +HOMEPAGE = "http://www.gnu.org/software/gnash" +LICENSE = "GPLv2 & LGPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=aabe87591cb8ae0f3c68be6977bb5522 \ + file://COPYING.GPL;md5=9ac2e7cff1ddaf48b6eab6028f23ef88 \ + file://COPYING.LGPL;md5=252890d9eee26aab7b432e8b8a616475" +DEPENDS = "gtk+ gtk+3 glib-2.0 libxml2 intltool-native \ + gnome-common-native \ +" + + +inherit autotools pkgconfig pythonnative gnomebase gobject-introspection + +SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/glade/3.20/glade-${PV}.tar.xz \ + file://remove-yelp-help-rules-var.patch \ + " +SRC_URI[md5sum] = "9964a2da14c5f845eae363889586ca43" +SRC_URI[sha256sum] = "82d96dca5dec40ee34e2f41d49c13b4ea50da8f32a3a49ca2da802ff14dc18fe" + +EXTRA_OECONF += "--disable-man-pages" + +FILES_${PN} += "${datadir}/* ${libdir}/glade/modules/libgladegtk.so" +FILES_${PN}-dev += "${libdir}/glade/modules/libgladegtk.la" +FILES_${PN}-dbg += "${libdir}/glade/modules/.debug/libgladegtk.so" + +PYTHON_PN = "python" + -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:52:06 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:52:06 +0000 Subject: [oe-commits] [meta-openembedded] 62/67: python3-pid: add recipe 2.1.1 In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125106.4844D2335DF@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit bb5352abf179ffe6dd42cc8d12670d9e667a46b0 Author: Hongxu Jia AuthorDate: Tue Jul 18 02:09:11 2017 -0400 python3-pid: add recipe 2.1.1 Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- .../0001-remove-requirement-of-nose.patch | 29 ++++++++++++++++++++++ .../recipes-devtools/python/python3-pid_2.1.1.bb | 14 +++++++++++ 2 files changed, 43 insertions(+) diff --git a/meta-python/recipes-devtools/python/python3-pid/0001-remove-requirement-of-nose.patch b/meta-python/recipes-devtools/python/python3-pid/0001-remove-requirement-of-nose.patch new file mode 100644 index 0000000..3beef07 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-pid/0001-remove-requirement-of-nose.patch @@ -0,0 +1,29 @@ +From 04d04a8fa1ef3d8dbdaebbaac9ae936e1c8234c1 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Wed, 28 Jun 2017 21:17:43 -0400 +Subject: [PATCH] remove requirement of nose + +The nose extends unittest to make testing easier. +Do not need the test suite, so remove requirement of nose. + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Hongxu Jia +--- + setup.py | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/setup.py b/setup.py +index 3f7c7cb..c42a546 100644 +--- a/setup.py ++++ b/setup.py +@@ -53,6 +53,4 @@ setup( + keywords='pid pidfile context manager decorator', + packages=["pid"], + install_requires=[], +- test_suite='nose.collector', +- setup_requires=['nose>=1.0'], + ) +-- +2.8.1 + diff --git a/meta-python/recipes-devtools/python/python3-pid_2.1.1.bb b/meta-python/recipes-devtools/python/python3-pid_2.1.1.bb new file mode 100644 index 0000000..c88d9a0 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-pid_2.1.1.bb @@ -0,0 +1,14 @@ +SUMMARY = "Pidfile featuring stale detection and file-locking, can also \ +be used as context-manager or decorator" +HOMEPAGE = "https://github.com/trbs/pid/" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=83d53cbd3105063f20305bc313464e29" + +SRC_URI[md5sum] = "9634b1e3d545544a9d496e25e4530d14" +SRC_URI[sha256sum] = "b443169d3dc21397695b4a82016fadb4cfdb0ed8b2ddb4aaa428e1701bb34e1f" + +inherit pypi setuptools3 + +SRC_URI += " \ + file://0001-remove-requirement-of-nose.patch \ +" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:51:56 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:51:56 +0000 Subject: [oe-commits] [meta-openembedded] 52/67: open-vm-tools: Fix build with musl In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125105.C9D5E233611@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit f6fca8a7a83eeb5264c2de452be74200d3562c73 Author: Khem Raj AuthorDate: Mon Jul 17 20:10:11 2017 -0700 open-vm-tools: Fix build with musl Use SPDX format for LICENSES Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...mptions-about-glibc-being-only-libc-imple.patch | 45 ++ ...ude-poll.h-instead-of-obsolete-sys-poll.h.patch | 24 + .../0003-Rename-poll.h-to-vm_poll.h.patch | 756 +++++++++++++++++++++ ...ompatible-pointer-types-and-Wno-error-add.patch | 31 + ...05-Use-configure-test-for-struct-timespec.patch | 45 ++ ...ix-definition-of-ALLPERMS-and-ACCESSPERMS.patch | 58 ++ ...re-to-test-for-feature-instead-of-platfor.patch | 144 ++++ .../0008-use-posix-strerror_r-unless-gnu.patch | 30 + ...support-for-building-with-system-libtirpc.patch | 342 ++++++++++ .../open-vm-tools/0010-gnu-ucontext.patch | 65 ++ ...Use-configure-test-for-sys-stat.h-include.patch | 25 + .../open-vm-tools/open-vm-tools_10.1.5.bb | 25 +- 12 files changed, 1584 insertions(+), 6 deletions(-) diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-Remove-assumptions-about-glibc-being-only-libc-imple.patch b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-Remove-assumptions-about-glibc-being-only-libc-imple.patch new file mode 100644 index 0000000..9773b4a --- /dev/null +++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-Remove-assumptions-about-glibc-being-only-libc-imple.patch @@ -0,0 +1,45 @@ +From a0983d84185f04c4e40778fe951fde4439894882 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 16 Jul 2017 07:37:03 -0700 +Subject: [PATCH 01/11] Remove assumptions about glibc being only libc + implementation on linux + +Signed-off-by: Khem Raj +--- + open-vm-tools/lib/file/fileIOPosix.c | 2 +- + open-vm-tools/lib/include/vm_basic_defs.h | 2 ++ + 2 files changed, 3 insertions(+), 1 deletion(-) + +Index: open-vm-tools/lib/file/fileIOPosix.c +=================================================================== +--- open-vm-tools.orig/lib/file/fileIOPosix.c ++++ open-vm-tools/lib/file/fileIOPosix.c +@@ -205,7 +205,7 @@ static AlignedPool alignedPool; + * are not available in any header file. + */ + +-#if defined(__linux__) && !defined(__ANDROID__) ++#if defined(__linux__) && defined(__GLIBC__) + #if defined(_FILE_OFFSET_BITS) && (_FILE_OFFSET_BITS == 64) + /* + * We want preadv/pwritev. But due to FOB=64, the symbols are -64. +Index: open-vm-tools/lib/include/vm_basic_defs.h +=================================================================== +--- open-vm-tools.orig/lib/include/vm_basic_defs.h ++++ open-vm-tools/lib/include/vm_basic_defs.h +@@ -571,6 +571,7 @@ typedef int pid_t; + #if defined __linux__ && !defined __KERNEL__ && !defined MODULE && \ + !defined VMM && !defined FROBOS && !defined __ANDROID__ + #include ++#if __GLIBC__ + #if __GLIBC_PREREQ(2, 1) && !defined GLIBC_VERSION_21 + #define GLIBC_VERSION_21 + #endif +@@ -590,6 +591,7 @@ typedef int pid_t; + #define GLIBC_VERSION_212 + #endif + #endif ++#endif + + /* + * Convenience definitions of unicode characters. diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-include-poll.h-instead-of-obsolete-sys-poll.h.patch b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-include-poll.h-instead-of-obsolete-sys-poll.h.patch new file mode 100644 index 0000000..d26bf2d --- /dev/null +++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-include-poll.h-instead-of-obsolete-sys-poll.h.patch @@ -0,0 +1,24 @@ +From d44c7c9de7380ad7b284231bd5b5c99b5c19758d Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 16 Jul 2017 07:37:59 -0700 +Subject: [PATCH 02/11] include poll.h instead of obsolete sys/poll.h + +Signed-off-by: Khem Raj +--- + open-vm-tools/lib/asyncsocket/asyncSocketInt.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: open-vm-tools/lib/asyncsocket/asyncSocketInt.h +=================================================================== +--- open-vm-tools.orig/lib/asyncsocket/asyncSocketInt.h ++++ open-vm-tools/lib/asyncsocket/asyncSocketInt.h +@@ -71,8 +71,8 @@ + #else + #include + #include ++#include + #include +-#include + #include + #include + #include diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0003-Rename-poll.h-to-vm_poll.h.patch b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0003-Rename-poll.h-to-vm_poll.h.patch new file mode 100644 index 0000000..8641778 --- /dev/null +++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0003-Rename-poll.h-to-vm_poll.h.patch @@ -0,0 +1,756 @@ +From 687fca20b3417ac885b6961e6fe1126d4a3fe7a4 Mon Sep 17 00:00:00 2001 +From: Natanael Copa +Date: Tue, 17 Nov 2015 10:57:31 +0000 +Subject: [PATCH 03/11] Rename poll.h to vm_poll.h + +musl libc's system headers pulls in open-vm-tools' poll.h. To avoid this +we rename poll.h to vm_poll.h. + +Signed-off-by: Natanael Copa +--- + open-vm-tools/lib/asyncsocket/asyncsocket.c | 2 +- + open-vm-tools/lib/hgfsServer/hgfsServer.c | 2 +- + open-vm-tools/lib/include/asyncsocket.h | 2 +- + open-vm-tools/lib/include/pollImpl.h | 2 +- + open-vm-tools/lib/include/{poll.h => vm_poll.h} | 0 + open-vm-tools/lib/rpcIn/rpcin.c | 2 +- + open-vm-tools/services/plugins/grabbitmqProxy/grabbitmqProxyPlugin.c | 2 +- + 7 files changed, 6 insertions(+), 6 deletions(-) + rename open-vm-tools/lib/include/{poll.h => vm_poll.h} (100%) + +Index: open-vm-tools/lib/asyncsocket/asyncsocket.c +=================================================================== +--- open-vm-tools.orig/lib/asyncsocket/asyncsocket.c ++++ open-vm-tools/lib/asyncsocket/asyncsocket.c +@@ -52,7 +52,7 @@ + #include "vmware.h" + #include "asyncsocket.h" + #include "asyncSocketInt.h" +-#include "poll.h" ++#include "vm_poll.h" + #include "log.h" + #include "err.h" + #include "hostinfo.h" +Index: open-vm-tools/lib/hgfsServer/hgfsServer.c +=================================================================== +--- open-vm-tools.orig/lib/hgfsServer/hgfsServer.c ++++ open-vm-tools/lib/hgfsServer/hgfsServer.c +@@ -48,7 +48,7 @@ + #include "hgfsServerOplock.h" + #include "hgfsDirNotify.h" + #include "userlock.h" +-#include "poll.h" ++#include "vm_poll.h" + #include "mutexRankLib.h" + #include "vm_basic_asm.h" + #include "unicodeOperations.h" +Index: open-vm-tools/lib/include/asyncsocket.h +=================================================================== +--- open-vm-tools.orig/lib/include/asyncsocket.h ++++ open-vm-tools/lib/include/asyncsocket.h +@@ -129,7 +129,7 @@ typedef struct AsyncSocket AsyncSocket; + * Or the client can specify its favorite poll class and locking behavior. + * Use of IVmdbPoll is only supported for regular sockets and for Attach. + */ +-#include "poll.h" ++#include "vm_poll.h" + struct IVmdbPoll; + typedef struct AsyncSocketPollParams { + int flags; /* Default 0, only POLL_FLAG_NO_BULL is valid */ +Index: open-vm-tools/lib/include/poll.h +=================================================================== +--- open-vm-tools.orig/lib/include/poll.h ++++ /dev/null +@@ -1,324 +0,0 @@ +-/********************************************************* +- * Copyright (C) 1998-2016 VMware, Inc. All rights reserved. +- * +- * This program is free software; you can redistribute it and/or modify it +- * under the terms of the GNU Lesser General Public License as published +- * by the Free Software Foundation version 2.1 and no later version. +- * +- * This program is distributed in the hope that it will be useful, but +- * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +- * or FITNESS FOR A PARTICULAR PURPOSE. See the Lesser GNU General Public +- * License for more details. +- * +- * You should have received a copy of the GNU Lesser General Public License +- * along with this program; if not, write to the Free Software Foundation, Inc., +- * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +- * +- *********************************************************/ +- +-/********************************************************* +- * The contents of this file are subject to the terms of the Common +- * Development and Distribution License (the "License") version 1.0 +- * and no later version. You may not use this file except in +- * compliance with the License. +- * +- * You can obtain a copy of the License at +- * http://www.opensource.org/licenses/cddl1.php +- * +- * See the License for the specific language governing permissions +- * and limitations under the License. +- * +- *********************************************************/ +- +- +-#ifndef _POLL_H_ +-#define _POLL_H_ +- +-#define INCLUDE_ALLOW_USERLEVEL +-#define INCLUDE_ALLOW_VMCORE +-#include "includeCheck.h" +- +-#include "vm_basic_types.h" +-#include "vm_basic_defs.h" +-#include "vmware.h" +-#include "userlock.h" +- +-#ifdef _WIN32 +-#define HZ 100 +-#elif defined linux +-#include +-#elif __APPLE__ +-#include +-/* +- * Old SDKs don't define TARGET_OS_IPHONE at all. +- * New ones define it to 0 on Mac OS X, 1 on iOS. +- */ +-#if !defined(TARGET_OS_IPHONE) || TARGET_OS_IPHONE == 0 +-#include +-#endif +-#include +-#define HZ 100 +-#endif +-#ifdef __ANDROID__ +-/* +- * of android should be included, but its name is same +- * with this file. So its content is put here to avoid conflict. +- */ +-#include +-#define HZ 100 +-typedef unsigned int nfds_t; +-int poll(struct pollfd *, nfds_t, long); +-#endif +- +- +-/* +- * Poll event types: each type has a different reason for firing, +- * or condition that must be met before firing. +- */ +- +-typedef enum { +- /* +- * Actual Poll queue types against which you can register callbacks. +- */ +- POLL_VIRTUALREALTIME = -1, /* Negative because it doesn't have its own Q */ +- POLL_VTIME = 0, +- POLL_REALTIME, +- POLL_DEVICE, +- POLL_MAIN_LOOP, +- POLL_NUM_QUEUES +-} PollEventType; +- +- +-/* +- * Classes of events +- * +- * These are the predefined classes. More can be declared +- * with Poll_AllocClass(). +- */ +- +-typedef enum PollClass { +- POLL_CLASS_MAIN, +- POLL_CLASS_PAUSE, +- POLL_CLASS_IPC, +- POLL_CLASS_CPT, +- POLL_CLASS_MKS, +- POLL_FIXED_CLASSES, +- POLL_MAX_CLASSES = 320 /* Size enum to maximum */ +-} PollClass; +- +- +-/* +- * Each callback is registered in a set of classes +- */ +- +-typedef struct PollClassSet { +- /* Type is uintptr_t to give best 32/64-bit code. */ +-#define _POLL_ELEMSIZE (sizeof (uintptr_t) * 8) +- uintptr_t bits[CEILING(POLL_MAX_CLASSES, _POLL_ELEMSIZE)]; +-} PollClassSet; +- +-/* An empty PollClassSet. */ +-static INLINE PollClassSet +-PollClassSet_Empty(void) +-{ +- PollClassSet set = { { 0 } }; +- return set; +-} +- +-/* A PollClassSet with the single member. */ +-static INLINE PollClassSet +-PollClassSet_Singleton(PollClass c) +-{ +- PollClassSet s = PollClassSet_Empty(); +- +- ASSERT_ON_COMPILE(sizeof s.bits[0] * 8 == _POLL_ELEMSIZE); /* Size correct */ +- ASSERT_ON_COMPILE((_POLL_ELEMSIZE & (_POLL_ELEMSIZE - 1)) == 0); /* power of 2 */ +- ASSERT_ON_COMPILE(POLL_MAX_CLASSES <= ARRAYSIZE(s.bits) * _POLL_ELEMSIZE); +- ASSERT(c < POLL_MAX_CLASSES); +- +- s.bits[c / _POLL_ELEMSIZE] = CONST3264U(1) << (c % _POLL_ELEMSIZE); +- return s; +-} +- +-/* Combine two PollClassSets. */ +-static INLINE PollClassSet +-PollClassSet_Union(PollClassSet lhs, PollClassSet rhs) +-{ +- PollClassSet u; +- unsigned i; +- +- for (i = 0; i < ARRAYSIZE(u.bits); i++) { +- u.bits[i] = lhs.bits[i] | rhs.bits[i]; +- } +- return u; +-} +- +-/* Add single class to PollClassSet. */ +-static INLINE PollClassSet +-PollClassSet_Include(PollClassSet set, PollClass c) +-{ +- return PollClassSet_Union(set, PollClassSet_Singleton(c)); +-} +- +- +-#define POLL_CS_MAIN PollClassSet_Singleton(POLL_CLASS_MAIN) +-#define POLL_CS_PAUSE PollClassSet_Union(POLL_CS_MAIN, \ +- PollClassSet_Singleton(POLL_CLASS_PAUSE)) +-#define POLL_CS_CPT PollClassSet_Union(POLL_CS_PAUSE, \ +- PollClassSet_Singleton(POLL_CLASS_CPT)) +-#define POLL_CS_IPC PollClassSet_Union(POLL_CS_CPT, \ +- PollClassSet_Singleton(POLL_CLASS_IPC)) +-#define POLL_CS_VMDB POLL_CS_PAUSE /* POLL_CLASS_VMDB is retired */ +-#define POLL_CS_MKS PollClassSet_Singleton(POLL_CLASS_MKS) +-/* +- * DANGER. You don't need POLL_CS_ALWAYS. Really. So don't use it. +- */ +-#define POLL_CS_ALWAYS PollClassSet_Union(POLL_CS_CPT, POLL_CS_IPC) +- +-/* +- * Poll class-set taxonomy: +- * POLL_CS_MAIN +- * - Unless you NEED another class, use POLL_CS_MAIN. +- * POLL_CS_PAUSE +- * - For callbacks that must occur even if the guest is paused. +- * Most VMDB or Foundry commands are in this category. +- * POLL_CS_CPT +- * - Only for callbacks which can trigger intermediate Checkpoint +- * transitions. +- * The ONLY such callback is Migrate. +- * POLL_CS_IPC +- * - Only for callbacks which can contain Msg_(Post|Hint|Question) +- * responses, and for signal handlers (why)? +- * Vigor, VMDB, and Foundry can contain Msg_* responses. +- * POLL_CS_MKS +- * - Callback runs in MKS thread. +- * POLL_CS_ALWAYS +- * - Only for events that must be processed immediately. +- * The ONLY such callback is OvhdMemVmxSizeCheck. +- */ +- +- +-/* +- * Poll_Callback flags +- */ +- +-#define POLL_FLAG_PERIODIC 0x01 // keep after firing +-#define POLL_FLAG_REMOVE_AT_POWEROFF 0x02 // self-explanatory +-#define POLL_FLAG_READ 0x04 // device is ready for reading +-#define POLL_FLAG_WRITE 0x08 // device is ready for writing +-#define POLL_FLAG_SOCKET 0x10 // device is a Windows socket +-#define POLL_FLAG_NO_BULL 0x20 // callback does its own locking +-#define POLL_FLAG_WINSOCK 0x40 // Winsock style write events +-#define POLL_FLAG_FD 0x80 // device is a Windows file descriptor. +-#define POLL_FLAG_ACCEPT_INVALID_FDS 0x100 // For broken 3rd party libs, e.g. curl +-#define POLL_FLAG_THUNK_TO_WND 0x200 // thunk callback to window message loop +- +- +-/* +- * Advisory minimum time period. +- * Users that want the fastest running real-time poll +- * should use TICKS_TO_USECS(1). +- */ +- +-#define TICKS_TO_USECS(_x) ((_x) * (1000000 / HZ)) +-#define USECS_TO_TICKS(_x) ((_x) / (1000000 / HZ)) +- +- +-typedef void (*PollerFunction)(void *clientData); +-typedef void (*PollerFireWrapper)(PollerFunction func, +- void *funcData, +- void *wrapperData); +-typedef Bool (*PollerErrorFn)(const char *errorStr); +- +-/* +- * Initialisers: +- * +- * For the sake of convenience, we declare the initialisers +- * for custom implmentations here, even though the actual +- * implementations are distinct from the core poll code. +- */ +- +-typedef struct PollOptions { +- Bool locked; // Use internal MXUser for locking +- Bool allowFullQueue; // Don't assert when device event queue is full. +- VThreadID windowsMsgThread; // thread that processes Windows messages +- PollerFireWrapper fireWrapperFn; // optional; may be useful for stats +- void *fireWrapperData; // optional +- PollerErrorFn errorFn; // optional; called upon unrecoverable error +-} PollOptions; +- +- +-void Poll_InitDefault(void); +-void Poll_InitDefaultEx(const PollOptions *opts); +-void Poll_InitGtk(void); // On top of glib for Linux +-void Poll_InitCF(void); // On top of CoreFoundation for OSX +- +- +-/* +- * Functions +- */ +-int Poll_SocketPair(Bool vmci, Bool stream, int fds[2]); +-void Poll_Loop(Bool loop, Bool *exit, PollClass c); +-void Poll_LoopTimeout(Bool loop, Bool *exit, PollClass c, int timeout); +-Bool Poll_LockingEnabled(void); +-void Poll_Exit(void); +- +- +-/* +- * Poll_Callback adds a callback regardless of whether an identical one exists. +- * +- * Likewise, Poll_CallbackRemove removes exactly one callback. +- */ +- +-VMwareStatus Poll_Callback(PollClassSet classSet, +- int flags, +- PollerFunction f, +- void *clientData, +- PollEventType type, +- PollDevHandle info, // fd/microsec delay +- MXUserRecLock *lck); +-Bool Poll_CallbackRemove(PollClassSet classSet, +- int flags, +- PollerFunction f, +- void *clientData, +- PollEventType type); +-Bool Poll_CallbackRemoveOneByCB(PollClassSet classSet, +- int flags, +- PollerFunction f, +- PollEventType type, +- void **clientData); +- +-void Poll_NotifyChange(PollClassSet classSet); +- +-/* +- * Wrappers for Poll_Callback and Poll_CallbackRemove that present +- * simpler subsets of those interfaces. +- */ +- +-VMwareStatus Poll_CB_Device(PollerFunction f, +- void *clientData, +- PollDevHandle device, +- Bool periodic); +- +-Bool Poll_CB_DeviceRemove(PollerFunction f, +- void *clientData, +- Bool periodic); +- +- +-VMwareStatus Poll_CB_RTime(PollerFunction f, +- void *clientData, +- int delay, // microseconds +- Bool periodic, +- MXUserRecLock *lock); +- +-Bool Poll_CB_RTimeRemove(PollerFunction f, +- void *clientData, +- Bool periodic); +- +- +-#ifdef _WIN32 +-void Poll_SetWindowMessageRecipient(HWND hWnd, UINT msg, Bool alwaysThunk); +-Bool Poll_FireWndCallback(void *lparam); +-#endif +- +-#endif // _POLL_H_ +Index: open-vm-tools/lib/include/pollImpl.h +=================================================================== +--- open-vm-tools.orig/lib/include/pollImpl.h ++++ open-vm-tools/lib/include/pollImpl.h +@@ -44,7 +44,7 @@ + #define INCLUDE_ALLOW_USERLEVEL + #include "includeCheck.h" + +-#include "poll.h" ++#include "vm_poll.h" + + /* + * PollImpl: +Index: open-vm-tools/lib/include/vm_poll.h +=================================================================== +--- /dev/null ++++ open-vm-tools/lib/include/vm_poll.h +@@ -0,0 +1,324 @@ ++/********************************************************* ++ * Copyright (C) 1998-2016 VMware, Inc. All rights reserved. ++ * ++ * This program is free software; you can redistribute it and/or modify it ++ * under the terms of the GNU Lesser General Public License as published ++ * by the Free Software Foundation version 2.1 and no later version. ++ * ++ * This program is distributed in the hope that it will be useful, but ++ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY ++ * or FITNESS FOR A PARTICULAR PURPOSE. See the Lesser GNU General Public ++ * License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General Public License ++ * along with this program; if not, write to the Free Software Foundation, Inc., ++ * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. ++ * ++ *********************************************************/ ++ ++/********************************************************* ++ * The contents of this file are subject to the terms of the Common ++ * Development and Distribution License (the "License") version 1.0 ++ * and no later version. You may not use this file except in ++ * compliance with the License. ++ * ++ * You can obtain a copy of the License at ++ * http://www.opensource.org/licenses/cddl1.php ++ * ++ * See the License for the specific language governing permissions ++ * and limitations under the License. ++ * ++ *********************************************************/ ++ ++ ++#ifndef _POLL_H_ ++#define _POLL_H_ ++ ++#define INCLUDE_ALLOW_USERLEVEL ++#define INCLUDE_ALLOW_VMCORE ++#include "includeCheck.h" ++ ++#include "vm_basic_types.h" ++#include "vm_basic_defs.h" ++#include "vmware.h" ++#include "userlock.h" ++ ++#ifdef _WIN32 ++#define HZ 100 ++#elif defined linux ++#include ++#elif __APPLE__ ++#include ++/* ++ * Old SDKs don't define TARGET_OS_IPHONE at all. ++ * New ones define it to 0 on Mac OS X, 1 on iOS. ++ */ ++#if !defined(TARGET_OS_IPHONE) || TARGET_OS_IPHONE == 0 ++#include ++#endif ++#include ++#define HZ 100 ++#endif ++#ifdef __ANDROID__ ++/* ++ * of android should be included, but its name is same ++ * with this file. So its content is put here to avoid conflict. ++ */ ++#include ++#define HZ 100 ++typedef unsigned int nfds_t; ++int poll(struct pollfd *, nfds_t, long); ++#endif ++ ++ ++/* ++ * Poll event types: each type has a different reason for firing, ++ * or condition that must be met before firing. ++ */ ++ ++typedef enum { ++ /* ++ * Actual Poll queue types against which you can register callbacks. ++ */ ++ POLL_VIRTUALREALTIME = -1, /* Negative because it doesn't have its own Q */ ++ POLL_VTIME = 0, ++ POLL_REALTIME, ++ POLL_DEVICE, ++ POLL_MAIN_LOOP, ++ POLL_NUM_QUEUES ++} PollEventType; ++ ++ ++/* ++ * Classes of events ++ * ++ * These are the predefined classes. More can be declared ++ * with Poll_AllocClass(). ++ */ ++ ++typedef enum PollClass { ++ POLL_CLASS_MAIN, ++ POLL_CLASS_PAUSE, ++ POLL_CLASS_IPC, ++ POLL_CLASS_CPT, ++ POLL_CLASS_MKS, ++ POLL_FIXED_CLASSES, ++ POLL_MAX_CLASSES = 320 /* Size enum to maximum */ ++} PollClass; ++ ++ ++/* ++ * Each callback is registered in a set of classes ++ */ ++ ++typedef struct PollClassSet { ++ /* Type is uintptr_t to give best 32/64-bit code. */ ++#define _POLL_ELEMSIZE (sizeof (uintptr_t) * 8) ++ uintptr_t bits[CEILING(POLL_MAX_CLASSES, _POLL_ELEMSIZE)]; ++} PollClassSet; ++ ++/* An empty PollClassSet. */ ++static INLINE PollClassSet ++PollClassSet_Empty(void) ++{ ++ PollClassSet set = { { 0 } }; ++ return set; ++} ++ ++/* A PollClassSet with the single member. */ ++static INLINE PollClassSet ++PollClassSet_Singleton(PollClass c) ++{ ++ PollClassSet s = PollClassSet_Empty(); ++ ++ ASSERT_ON_COMPILE(sizeof s.bits[0] * 8 == _POLL_ELEMSIZE); /* Size correct */ ++ ASSERT_ON_COMPILE((_POLL_ELEMSIZE & (_POLL_ELEMSIZE - 1)) == 0); /* power of 2 */ ++ ASSERT_ON_COMPILE(POLL_MAX_CLASSES <= ARRAYSIZE(s.bits) * _POLL_ELEMSIZE); ++ ASSERT(c < POLL_MAX_CLASSES); ++ ++ s.bits[c / _POLL_ELEMSIZE] = CONST3264U(1) << (c % _POLL_ELEMSIZE); ++ return s; ++} ++ ++/* Combine two PollClassSets. */ ++static INLINE PollClassSet ++PollClassSet_Union(PollClassSet lhs, PollClassSet rhs) ++{ ++ PollClassSet u; ++ unsigned i; ++ ++ for (i = 0; i < ARRAYSIZE(u.bits); i++) { ++ u.bits[i] = lhs.bits[i] | rhs.bits[i]; ++ } ++ return u; ++} ++ ++/* Add single class to PollClassSet. */ ++static INLINE PollClassSet ++PollClassSet_Include(PollClassSet set, PollClass c) ++{ ++ return PollClassSet_Union(set, PollClassSet_Singleton(c)); ++} ++ ++ ++#define POLL_CS_MAIN PollClassSet_Singleton(POLL_CLASS_MAIN) ++#define POLL_CS_PAUSE PollClassSet_Union(POLL_CS_MAIN, \ ++ PollClassSet_Singleton(POLL_CLASS_PAUSE)) ++#define POLL_CS_CPT PollClassSet_Union(POLL_CS_PAUSE, \ ++ PollClassSet_Singleton(POLL_CLASS_CPT)) ++#define POLL_CS_IPC PollClassSet_Union(POLL_CS_CPT, \ ++ PollClassSet_Singleton(POLL_CLASS_IPC)) ++#define POLL_CS_VMDB POLL_CS_PAUSE /* POLL_CLASS_VMDB is retired */ ++#define POLL_CS_MKS PollClassSet_Singleton(POLL_CLASS_MKS) ++/* ++ * DANGER. You don't need POLL_CS_ALWAYS. Really. So don't use it. ++ */ ++#define POLL_CS_ALWAYS PollClassSet_Union(POLL_CS_CPT, POLL_CS_IPC) ++ ++/* ++ * Poll class-set taxonomy: ++ * POLL_CS_MAIN ++ * - Unless you NEED another class, use POLL_CS_MAIN. ++ * POLL_CS_PAUSE ++ * - For callbacks that must occur even if the guest is paused. ++ * Most VMDB or Foundry commands are in this category. ++ * POLL_CS_CPT ++ * - Only for callbacks which can trigger intermediate Checkpoint ++ * transitions. ++ * The ONLY such callback is Migrate. ++ * POLL_CS_IPC ++ * - Only for callbacks which can contain Msg_(Post|Hint|Question) ++ * responses, and for signal handlers (why)? ++ * Vigor, VMDB, and Foundry can contain Msg_* responses. ++ * POLL_CS_MKS ++ * - Callback runs in MKS thread. ++ * POLL_CS_ALWAYS ++ * - Only for events that must be processed immediately. ++ * The ONLY such callback is OvhdMemVmxSizeCheck. ++ */ ++ ++ ++/* ++ * Poll_Callback flags ++ */ ++ ++#define POLL_FLAG_PERIODIC 0x01 // keep after firing ++#define POLL_FLAG_REMOVE_AT_POWEROFF 0x02 // self-explanatory ++#define POLL_FLAG_READ 0x04 // device is ready for reading ++#define POLL_FLAG_WRITE 0x08 // device is ready for writing ++#define POLL_FLAG_SOCKET 0x10 // device is a Windows socket ++#define POLL_FLAG_NO_BULL 0x20 // callback does its own locking ++#define POLL_FLAG_WINSOCK 0x40 // Winsock style write events ++#define POLL_FLAG_FD 0x80 // device is a Windows file descriptor. ++#define POLL_FLAG_ACCEPT_INVALID_FDS 0x100 // For broken 3rd party libs, e.g. curl ++#define POLL_FLAG_THUNK_TO_WND 0x200 // thunk callback to window message loop ++ ++ ++/* ++ * Advisory minimum time period. ++ * Users that want the fastest running real-time poll ++ * should use TICKS_TO_USECS(1). ++ */ ++ ++#define TICKS_TO_USECS(_x) ((_x) * (1000000 / HZ)) ++#define USECS_TO_TICKS(_x) ((_x) / (1000000 / HZ)) ++ ++ ++typedef void (*PollerFunction)(void *clientData); ++typedef void (*PollerFireWrapper)(PollerFunction func, ++ void *funcData, ++ void *wrapperData); ++typedef Bool (*PollerErrorFn)(const char *errorStr); ++ ++/* ++ * Initialisers: ++ * ++ * For the sake of convenience, we declare the initialisers ++ * for custom implmentations here, even though the actual ++ * implementations are distinct from the core poll code. ++ */ ++ ++typedef struct PollOptions { ++ Bool locked; // Use internal MXUser for locking ++ Bool allowFullQueue; // Don't assert when device event queue is full. ++ VThreadID windowsMsgThread; // thread that processes Windows messages ++ PollerFireWrapper fireWrapperFn; // optional; may be useful for stats ++ void *fireWrapperData; // optional ++ PollerErrorFn errorFn; // optional; called upon unrecoverable error ++} PollOptions; ++ ++ ++void Poll_InitDefault(void); ++void Poll_InitDefaultEx(const PollOptions *opts); ++void Poll_InitGtk(void); // On top of glib for Linux ++void Poll_InitCF(void); // On top of CoreFoundation for OSX ++ ++ ++/* ++ * Functions ++ */ ++int Poll_SocketPair(Bool vmci, Bool stream, int fds[2]); ++void Poll_Loop(Bool loop, Bool *exit, PollClass c); ++void Poll_LoopTimeout(Bool loop, Bool *exit, PollClass c, int timeout); ++Bool Poll_LockingEnabled(void); ++void Poll_Exit(void); ++ ++ ++/* ++ * Poll_Callback adds a callback regardless of whether an identical one exists. ++ * ++ * Likewise, Poll_CallbackRemove removes exactly one callback. ++ */ ++ ++VMwareStatus Poll_Callback(PollClassSet classSet, ++ int flags, ++ PollerFunction f, ++ void *clientData, ++ PollEventType type, ++ PollDevHandle info, // fd/microsec delay ++ MXUserRecLock *lck); ++Bool Poll_CallbackRemove(PollClassSet classSet, ++ int flags, ++ PollerFunction f, ++ void *clientData, ++ PollEventType type); ++Bool Poll_CallbackRemoveOneByCB(PollClassSet classSet, ++ int flags, ++ PollerFunction f, ++ PollEventType type, ++ void **clientData); ++ ++void Poll_NotifyChange(PollClassSet classSet); ++ ++/* ++ * Wrappers for Poll_Callback and Poll_CallbackRemove that present ++ * simpler subsets of those interfaces. ++ */ ++ ++VMwareStatus Poll_CB_Device(PollerFunction f, ++ void *clientData, ++ PollDevHandle device, ++ Bool periodic); ++ ++Bool Poll_CB_DeviceRemove(PollerFunction f, ++ void *clientData, ++ Bool periodic); ++ ++ ++VMwareStatus Poll_CB_RTime(PollerFunction f, ++ void *clientData, ++ int delay, // microseconds ++ Bool periodic, ++ MXUserRecLock *lock); ++ ++Bool Poll_CB_RTimeRemove(PollerFunction f, ++ void *clientData, ++ Bool periodic); ++ ++ ++#ifdef _WIN32 ++void Poll_SetWindowMessageRecipient(HWND hWnd, UINT msg, Bool alwaysThunk); ++Bool Poll_FireWndCallback(void *lparam); ++#endif ++ ++#endif // _POLL_H_ +Index: open-vm-tools/lib/rpcIn/rpcin.c +=================================================================== +--- open-vm-tools.orig/lib/rpcIn/rpcin.c ++++ open-vm-tools/lib/rpcIn/rpcin.c +@@ -57,7 +57,7 @@ + + #if defined(VMTOOLS_USE_VSOCKET) + # include +-# include "poll.h" ++# include "vm_poll.h" + # include "asyncsocket.h" + # include "vmci_defs.h" + #include "dataMap.h" +Index: open-vm-tools/services/plugins/grabbitmqProxy/grabbitmqProxyPlugin.c +=================================================================== +--- open-vm-tools.orig/services/plugins/grabbitmqProxy/grabbitmqProxyPlugin.c ++++ open-vm-tools/services/plugins/grabbitmqProxy/grabbitmqProxyPlugin.c +@@ -48,7 +48,7 @@ + #include "rpcout.h" + #include "rabbitmqProxyConst.h" + #include "vm_basic_types.h" +-#include "poll.h" ++#include "vm_poll.h" + #ifdef OPEN_VM_TOOLS + #include "vmci_sockets.h" + #include "sslDirect.h" diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0004-Add-Wno-incompatible-pointer-types-and-Wno-error-add.patch b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0004-Add-Wno-incompatible-pointer-types-and-Wno-error-add.patch new file mode 100644 index 0000000..0105167 --- /dev/null +++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0004-Add-Wno-incompatible-pointer-types-and-Wno-error-add.patch @@ -0,0 +1,31 @@ +From cdb0b3c898c6b6b6c8259d9ddb8b00163ac5e419 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 16 Jul 2017 09:43:18 -0700 +Subject: [PATCH 04/11] Add -Wno-incompatible-pointer-types and + -Wno-error=address + +Signed-off-by: Khem Raj +--- + open-vm-tools/lib/dynxdr/Makefile.am | 2 +- + open-vm-tools/lib/file/Makefile.am | 1 + + 2 files changed, 2 insertions(+), 1 deletion(-) + +Index: open-vm-tools/lib/dynxdr/Makefile.am +=================================================================== +--- open-vm-tools.orig/lib/dynxdr/Makefile.am ++++ open-vm-tools/lib/dynxdr/Makefile.am +@@ -20,4 +20,4 @@ noinst_LTLIBRARIES = libDynxdr.la + libDynxdr_la_SOURCES = + libDynxdr_la_SOURCES += dynxdr.c + libDynxdr_la_SOURCES += xdrutil.c +- ++libDynxdr_la_CPPFLAGS = -Wno-incompatible-pointer-types +Index: open-vm-tools/lib/file/Makefile.am +=================================================================== +--- open-vm-tools.orig/lib/file/Makefile.am ++++ open-vm-tools/lib/file/Makefile.am +@@ -27,3 +27,4 @@ libFile_la_SOURCES += fileLockPrimitive. + libFile_la_SOURCES += fileLockPosix.c + libFile_la_SOURCES += fileTempPosix.c + libFile_la_SOURCES += fileTemp.c ++libFile_la_CPPFLAGS = -Wno-error=address diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-test-for-struct-timespec.patch b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-test-for-struct-timespec.patch new file mode 100644 index 0000000..f02d00f --- /dev/null +++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-test-for-struct-timespec.patch @@ -0,0 +1,45 @@ +From bf1eafb07297711baf9320b1edcca8a3376f117d Mon Sep 17 00:00:00 2001 +From: Natanael Copa +Date: Wed, 18 Nov 2015 09:03:00 +0000 +Subject: [PATCH 05/11] Use configure test for struct timespec + +Use the configure script to test for struct time spec instead of trying +to keep track of what platforms has it. + +Signed-off-by: Natanael Copa +--- + open-vm-tools/configure.ac | 1 + + open-vm-tools/lib/include/hgfsUtil.h | 8 +------- + 2 files changed, 2 insertions(+), 7 deletions(-) + +Index: open-vm-tools/configure.ac +=================================================================== +--- open-vm-tools.orig/configure.ac ++++ open-vm-tools/configure.ac +@@ -1127,6 +1127,7 @@ AC_TYPE_OFF_T + AC_TYPE_PID_T + AC_TYPE_SIZE_T + AC_CHECK_MEMBERS([struct stat.st_rdev]) ++AC_CHECK_MEMBERS([struct timespec.tv_sec],[],[],[[#include ]]) + AC_HEADER_TIME + AC_STRUCT_TM + AC_C_VOLATILE +Index: open-vm-tools/lib/include/hgfsUtil.h +=================================================================== +--- open-vm-tools.orig/lib/include/hgfsUtil.h ++++ open-vm-tools/lib/include/hgfsUtil.h +@@ -53,13 +53,7 @@ + # include + # endif + # include "vm_basic_types.h" +-# if !defined _STRUCT_TIMESPEC && \ +- !defined _TIMESPEC_DECLARED && \ +- !defined __timespec_defined && \ +- !defined sun && \ +- !defined __FreeBSD__ && \ +- !__APPLE__ && \ +- !defined _WIN32 ++# if !defined HAVE_STRUCT_TIMESPEC_TV_SEC + struct timespec { + time_t tv_sec; + long tv_nsec; diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0006-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0006-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch new file mode 100644 index 0000000..d1f4eff --- /dev/null +++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0006-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch @@ -0,0 +1,58 @@ +From 31ae6f42458f90d4994a4ad8e2b7673691612c36 Mon Sep 17 00:00:00 2001 +From: Natanael Copa +Date: Wed, 18 Nov 2015 09:10:14 +0000 +Subject: [PATCH 06/11] Fix definition of ALLPERMS and ACCESSPERMS + +The ALLPERMS and ACCESSPERMS defines are not specified in POSIX so +assume it is not there instead of testing for specific implementations. + +This is needed for musl libc. + +Signed-off-by: Natanael Copa +--- + open-vm-tools/lib/hgfsServer/hgfsServerLinux.c | 8 +++++--- + open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c | 3 +-- + 2 files changed, 6 insertions(+), 5 deletions(-) + +Index: open-vm-tools/lib/hgfsServer/hgfsServerLinux.c +=================================================================== +--- open-vm-tools.orig/lib/hgfsServer/hgfsServerLinux.c ++++ open-vm-tools/lib/hgfsServer/hgfsServerLinux.c +@@ -107,11 +107,13 @@ typedef struct DirectoryEntry { + #endif + + /* +- * ALLPERMS (mode 07777) and ACCESSPERMS (mode 0777) are not defined in the +- * Solaris version of . ++ * ALLPERMS (mode 07777) and ACCESSPERMS (mode 0777) are not specified in ++ * POSIX. + */ +-#ifdef sun ++#ifndef ACCESSPERMS + # define ACCESSPERMS (S_IRWXU|S_IRWXG|S_IRWXO) ++#endif ++#ifndef ALLPERMS + # define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO) + #endif + +Index: open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c +=================================================================== +--- open-vm-tools.orig/services/plugins/dndcp/dnd/dndLinux.c ++++ open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c +@@ -51,7 +51,7 @@ + + #define DND_ROOTDIR_PERMS (S_IRWXU | S_IRWXG | S_IRWXO) + #define DND_STAGINGDIR_PERMS (S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH) +-#ifdef sun ++#ifndef ACCESSPERMS + #define ACCESSPERMS (S_IRWXU | S_IRWXG | S_IRWXO) + #endif + #ifdef __ANDROID__ +@@ -60,7 +60,6 @@ + */ + #define NO_SETMNTENT + #define NO_ENDMNTENT +-#define ACCESSPERMS (S_IRWXU | S_IRWXG | S_IRWXO) + #endif + + diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0007-Use-configure-to-test-for-feature-instead-of-platfor.patch b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0007-Use-configure-to-test-for-feature-instead-of-platfor.patch new file mode 100644 index 0000000..5adf9b0 --- /dev/null +++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0007-Use-configure-to-test-for-feature-instead-of-platfor.patch @@ -0,0 +1,144 @@ +From 6cc1c22cc30320f56da552a76bd956db8f255b6a Mon Sep 17 00:00:00 2001 +From: Natanael Copa +Date: Wed, 18 Nov 2015 10:05:07 +0000 +Subject: [PATCH 07/11] Use configure to test for feature instead of platform + +Test for various functions instead of trying to keep track of what +platform and what version of the given platform has support for what. + +This should make it easier to port to currently unknown platforms and +will solve the issue if a platform add support for a missing feature in +the future. + +The features we test for are: +- getifaddrs +- getauxval +- issetugid +- __secure_getenv + +This is needed for musl libc. + +Signed-off-by: Natanael Copa +--- + open-vm-tools/configure.ac | 4 ++++ + open-vm-tools/lib/misc/idLinux.c | 30 ++++++++++++++---------------- + open-vm-tools/lib/nicInfo/nicInfoPosix.c | 8 ++++++-- + 3 files changed, 24 insertions(+), 18 deletions(-) + +Index: open-vm-tools/configure.ac +=================================================================== +--- open-vm-tools.orig/configure.ac ++++ open-vm-tools/configure.ac +@@ -798,6 +798,7 @@ AC_CHECK_FUNCS( + + AC_CHECK_FUNCS([ecvt]) + AC_CHECK_FUNCS([fcvt]) ++AC_CHECK_FUNCS([getifaddrs getauxval issetugid __secure_getenv]) + + AC_CHECK_FUNC([mkdtemp], [have_mkdtemp=yes]) + +@@ -1063,10 +1064,13 @@ AC_PATH_PROG( + ### + + AC_CHECK_HEADERS([crypt.h]) ++AC_CHECK_HEADERS([ifaddrs.h]) + AC_CHECK_HEADERS([inttypes.h]) + AC_CHECK_HEADERS([stdint.h]) + AC_CHECK_HEADERS([stdlib.h]) + AC_CHECK_HEADERS([wchar.h]) ++AC_CHECK_HEADERS([net/if.h]) ++AC_CHECK_HEADERS([sys/auxv.h]) + AC_CHECK_HEADERS([sys/inttypes.h]) + AC_CHECK_HEADERS([sys/io.h]) + AC_CHECK_HEADERS([sys/param.h]) # Required to make the sys/user.h check work correctly on FreeBSD +Index: open-vm-tools/lib/misc/idLinux.c +=================================================================== +--- open-vm-tools.orig/lib/misc/idLinux.c ++++ open-vm-tools/lib/misc/idLinux.c +@@ -27,12 +27,9 @@ + #include + #include + #include +-#ifdef __linux__ +-#if defined(__GLIBC__) && \ +- (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 16)) ++#ifdef HAVE_SYS_AUXV_H + #include + #endif +-#endif + #ifdef __APPLE__ + #include + #include +@@ -997,31 +994,32 @@ Id_EndSuperUser(uid_t uid) // IN: + static Bool + IdIsSetUGid(void) + { +-#if defined(__ANDROID__) +- /* Android does not have a secure_getenv, so be conservative. */ +- return TRUE; +-#else + /* + * We use __secure_getenv, which returns NULL if the binary is +- * setuid or setgid. Alternatives include, ++ * setuid or setgid, when issetugid or getauxval(AT_SECURE) is not ++ * available. Alternatives include, + * +- * a) getauxval(AT_SECURE); not available until glibc 2.16. +- * b) __libc_enable_secure; may not be exported. ++ * a) issetugid(); not (yet?) available in glibc. ++ * b) getauxval(AT_SECURE); not available until glibc 2.16. ++ * c) __libc_enable_secure; may not be exported. + * +- * Use (a) when we are based on glibc 2.16, or newer. ++ * Use (b) when we are based on glibc 2.16, or newer. + */ + +-#if defined(__GLIBC__) && \ +- (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 16)) ++#if HAVE_ISSETUGID ++ return issetugid(); ++#elif HAVE_GETAUXVAL + return getauxval(AT_SECURE) != 0; +-#else ++#elif HAVE___SECURE_GETENV + static const char envName[] = "VMW_SETUGID_TEST"; + + if (setenv(envName, "1", TRUE) == -1) { + return TRUE; /* Conservative */ + } + return __secure_getenv(envName) == NULL; +-#endif ++#else ++ /* Android does not have a secure_getenv, so be conservative. */ ++ return TRUE; + #endif + } + #endif +Index: open-vm-tools/lib/nicInfo/nicInfoPosix.c +=================================================================== +--- open-vm-tools.orig/lib/nicInfo/nicInfoPosix.c ++++ open-vm-tools/lib/nicInfo/nicInfoPosix.c +@@ -34,9 +34,13 @@ + #include + #include + #include +-#if defined(__FreeBSD__) || defined(__APPLE__) ++#if HAVE_SYS_SYSCTL_H + # include ++#endif ++#if HAVE_IFADDRS_H + # include ++#endif ++#if HAVE_NET_IF_H + # include + #endif + #ifndef NO_DNET +@@ -348,7 +352,7 @@ GuestInfoGetNicInfo(NicInfoV3 *nicInfo) + * + ****************************************************************************** + */ +-#if defined(__FreeBSD__) || defined(__APPLE__) || defined(USERWORLD) ++#if defined(NO_DNET) && defined(HAVE_GETIFADDRS) + + char * + GuestInfoGetPrimaryIP(void) diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0008-use-posix-strerror_r-unless-gnu.patch b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0008-use-posix-strerror_r-unless-gnu.patch new file mode 100644 index 0000000..3d1291c --- /dev/null +++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0008-use-posix-strerror_r-unless-gnu.patch @@ -0,0 +1,30 @@ +From d4d1e7146ca2698089f6bd532f2fb8b9c1134ca7 Mon Sep 17 00:00:00 2001 +From: Natanael Copa +Date: Mon, 2 Jan 2017 14:39:27 +0000 +Subject: [PATCH 08/11] use posix strerror_r unless gnu + +--- + open-vm-tools/lib/err/errPosix.c | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +Index: open-vm-tools/lib/err/errPosix.c +=================================================================== +--- open-vm-tools.orig/lib/err/errPosix.c ++++ open-vm-tools/lib/err/errPosix.c +@@ -63,11 +63,13 @@ ErrErrno2String(Err_Number errorNumber, + { + char *p; + +-#if defined(linux) && !defined(N_PLAT_NLM) && !defined(__ANDROID__) ++#if defined(__GLIBC__) + p = strerror_r(errorNumber, buf, bufSize); + #else +- p = strerror(errorNumber); +-#endif ++ if (strerror_r(errorNumber, buf, bufSize) != 0) ++ snprintf(buf, bufSize, "unknown error %i", errorNumber); ++ p = buf; ++#endif /* defined __GLIBC__ */ + ASSERT(p != NULL); + return p; + } diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0009-Add-support-for-building-with-system-libtirpc.patch b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0009-Add-support-for-building-with-system-libtirpc.patch new file mode 100644 index 0000000..2bee5ac --- /dev/null +++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0009-Add-support-for-building-with-system-libtirpc.patch @@ -0,0 +1,342 @@ +From 5ae6c662fefa621f4600559e299a7d97c2254e69 Mon Sep 17 00:00:00 2001 +From: Natanael Copa +Date: Sun, 16 Jul 2017 10:20:10 -0700 +Subject: [PATCH 1/3] Add support for building with system libtirpc + +Signed-off-by: Natanael Copa +Signed-off-by: Khem Raj + +--- + open-vm-tools/configure.ac | 14 ++++++++++++++ + open-vm-tools/lib/dynxdr/Makefile.am | 8 ++++++-- + open-vm-tools/lib/err/errPosix.c | 1 + + open-vm-tools/lib/guestRpc/Makefile.am | 6 ++++++ + open-vm-tools/lib/misc/Makefile.am | 1 + + open-vm-tools/lib/netUtil/Makefile.am | 4 ++++ + open-vm-tools/lib/nicInfo/Makefile.am | 2 ++ + open-vm-tools/lib/rpcChannel/Makefile.am | 4 ++++ + open-vm-tools/lib/slashProc/Makefile.am | 4 ++++ + open-vm-tools/lib/string/bsd_output_shared.c | 2 +- + open-vm-tools/libguestlib/Makefile.am | 2 ++ + open-vm-tools/rpctool/Makefile.am | 3 +++ + open-vm-tools/rpctool/rpctool.c | 2 ++ + open-vm-tools/services/plugins/dndcp/Makefile.am | 2 ++ + open-vm-tools/services/plugins/guestInfo/Makefile.am | 1 + + open-vm-tools/services/plugins/resolutionSet/Makefile.am | 2 ++ + open-vm-tools/services/plugins/vix/Makefile.am | 2 ++ + open-vm-tools/services/plugins/vmbackup/Makefile.am | 2 ++ + open-vm-tools/toolbox/Makefile.am | 2 ++ + 19 files changed, 61 insertions(+), 3 deletions(-) + +Index: open-vm-tools/configure.ac +=================================================================== +--- open-vm-tools.orig/configure.ac ++++ open-vm-tools/configure.ac +@@ -405,6 +405,20 @@ AC_VMW_CHECK_LIB([fuse], + AC_MSG_WARN([Fuse is missing, vmblock-fuse/vmhgfs-fuse will be disabled.])]) + + # ++# Check for libtirpc ++# ++AC_VMW_CHECK_LIB([libtirpc], ++ [LIBTIRPC], ++ [libtirpc], ++ [], ++ [], ++ [rpc/xdr.h], ++ [xdr_void], ++ [have_libtirpc=yes], ++ [have_libtitirpc=no; ++ AC_MSG_WARN([libtirpc is missing.])]) ++ ++# + # Check for PAM. + # + AC_ARG_WITH([pam], +Index: open-vm-tools/lib/dynxdr/Makefile.am +=================================================================== +--- open-vm-tools.orig/lib/dynxdr/Makefile.am ++++ open-vm-tools/lib/dynxdr/Makefile.am +@@ -17,7 +17,11 @@ + + noinst_LTLIBRARIES = libDynxdr.la + +-libDynxdr_la_SOURCES = ++libDynxdr_la_SOURCES = + libDynxdr_la_SOURCES += dynxdr.c + libDynxdr_la_SOURCES += xdrutil.c +-libDynxdr_la_CPPFLAGS = -Wno-incompatible-pointer-types ++libDynxdr_la_CPPFLAGS = @LIBTIRPC_CPPFLAGS@ -Wno-incompatible-pointer-types ++ ++libDynxdr_la_LIBADD = ++libDynxdr_la_LIBADD += @LIBTIRPC_LIBS@ ++ +Index: open-vm-tools/lib/err/errPosix.c +=================================================================== +--- open-vm-tools.orig/lib/err/errPosix.c ++++ open-vm-tools/lib/err/errPosix.c +@@ -31,6 +31,7 @@ + #include + #include + #include ++#include + + #include "vmware.h" + #include "errInt.h" +Index: open-vm-tools/lib/guestRpc/Makefile.am +=================================================================== +--- open-vm-tools.orig/lib/guestRpc/Makefile.am ++++ open-vm-tools/lib/guestRpc/Makefile.am +@@ -20,6 +20,12 @@ noinst_LTLIBRARIES = libGuestRpc.la + libGuestRpc_la_SOURCES = + libGuestRpc_la_SOURCES += nicinfo_xdr.c + ++libGuestRpc_la_CPPFLAGS = ++libGuestRpc_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@ ++ ++libGuestRpc_la_LIBADD = ++libGuestRpc_la_LIBADD += @LIBTIRPC_LIBS@ ++ + # XXX: Autoreconf complains about this and recommends using AM_CFLAGS instead. + # Problem is, $(CFLAGS) is appended to the compiler command line after AM_CFLAGS + # and after libGuestRpc_la_CFLAGS, so "-Wall -Werror" will override this flag. +Index: open-vm-tools/lib/misc/Makefile.am +=================================================================== +--- open-vm-tools.orig/lib/misc/Makefile.am ++++ open-vm-tools/lib/misc/Makefile.am +@@ -52,4 +52,5 @@ libMisc_la_SOURCES += utilMem.c + libMisc_la_SOURCES += vmstdio.c + libMisc_la_SOURCES += strutil.c + libMisc_la_SOURCES += vthreadBase.c ++libMisc_la_CPPFLAGS = -Wno-error=int-conversion + +Index: open-vm-tools/lib/netUtil/Makefile.am +=================================================================== +--- open-vm-tools.orig/lib/netUtil/Makefile.am ++++ open-vm-tools/lib/netUtil/Makefile.am +@@ -20,3 +20,7 @@ noinst_LTLIBRARIES = libNetUtil.la + libNetUtil_la_SOURCES = + libNetUtil_la_SOURCES += netUtilLinux.c + ++libNetUtil_la_CPPFLAGS = ++libNetUtil_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@ ++ ++libNetUtil_la_LIBADD = @LIBTIRPC_LIBS@ +Index: open-vm-tools/lib/nicInfo/Makefile.am +=================================================================== +--- open-vm-tools.orig/lib/nicInfo/Makefile.am ++++ open-vm-tools/lib/nicInfo/Makefile.am +@@ -25,12 +25,14 @@ libNicInfo_la_SOURCES += nicInfoPosix.c + + libNicInfo_la_CPPFLAGS = + libNicInfo_la_CPPFLAGS += @GLIB2_CPPFLAGS@ ++libNicInfo_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@ + + AM_CFLAGS = $(DNET_CPPFLAGS) + if USE_SLASH_PROC + AM_CFLAGS += -DUSE_SLASH_PROC + endif + libNicInfo_la_LIBADD = ++libNicInfo_la_LIBADD += @LIBTIRPC_LIBS@ + if HAVE_DNET + libNicInfo_la_LIBADD += @DNET_LIBS@ + endif +Index: open-vm-tools/lib/rpcChannel/Makefile.am +=================================================================== +--- open-vm-tools.orig/lib/rpcChannel/Makefile.am ++++ open-vm-tools/lib/rpcChannel/Makefile.am +@@ -27,3 +27,7 @@ endif + + libRpcChannel_la_CPPFLAGS = + libRpcChannel_la_CPPFLAGS += @VMTOOLS_CPPFLAGS@ ++libRpcChannel_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@ ++ ++libRpcChannel_la_LIBADD = ++libRpcChannel_la_LIBADD += @LIBTIRPC_LIBS@ +Index: open-vm-tools/lib/slashProc/Makefile.am +=================================================================== +--- open-vm-tools.orig/lib/slashProc/Makefile.am ++++ open-vm-tools/lib/slashProc/Makefile.am +@@ -22,6 +22,10 @@ libSlashProc_la_SOURCES += net.c + + libSlashProc_la_CPPFLAGS = + libSlashProc_la_CPPFLAGS += @GLIB2_CPPFLAGS@ ++libSlashProc_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@ ++ ++libSlashProc_la_LIBADD = ++libSlashProc_la_LIBADD += @LIBTIRPC_LIBS@ + + AM_CFLAGS = $(DNET_CPPFLAGS) + +Index: open-vm-tools/lib/string/bsd_output_shared.c +=================================================================== +--- open-vm-tools.orig/lib/string/bsd_output_shared.c ++++ open-vm-tools/lib/string/bsd_output_shared.c +@@ -38,7 +38,7 @@ + //#include + + #if !defined(STR_NO_WIN32_LIBS) && !defined(__FreeBSD__) && !defined(__OpenBSD__) && !defined(__NetBSD__) && !defined(__ANDROID__) +- ++#define _GNU_SOURCE + #include + #include + #ifndef _WIN32 +Index: open-vm-tools/libguestlib/Makefile.am +=================================================================== +--- open-vm-tools.orig/libguestlib/Makefile.am ++++ open-vm-tools/libguestlib/Makefile.am +@@ -22,6 +22,7 @@ AM_CFLAGS += -I$(top_srcdir)/include + + libguestlib_la_LIBADD = + libguestlib_la_LIBADD += @VMTOOLS_LIBS@ ++libguestlib_la_LIBADD += @LIBTIRPC_LIBS@ + + libguestlib_la_SOURCES = + libguestlib_la_SOURCES += guestlibV3_xdr.c +@@ -56,6 +57,7 @@ CFLAGS += -Wno-unused + libguestlib_la_CPPFLAGS = + libguestlib_la_CPPFLAGS += -DVMTOOLS_USE_GLIB + libguestlib_la_CPPFLAGS += @GLIB2_CPPFLAGS@ ++libguestlib_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@ + + EXTRA_DIST = vmguestlib.pc.in + +Index: open-vm-tools/rpctool/Makefile.am +=================================================================== +--- open-vm-tools.orig/rpctool/Makefile.am ++++ open-vm-tools/rpctool/Makefile.am +@@ -17,10 +17,13 @@ + + bin_PROGRAMS = vmware-rpctool + ++vmware_rpctool_CFLAGS= @LIBTIRPC_LIBS@ ++ + vmware_rpctool_SOURCES = + vmware_rpctool_SOURCES += rpctool.c + + vmware_rpctool_LDADD = ++vmware_rpctool_LDADD += @LIBTIRPC_LIBS@ + vmware_rpctool_LDADD += ../lib/rpcOut/libRpcOut.la + vmware_rpctool_LDADD += ../lib/message/libMessage.la + vmware_rpctool_LDADD += ../lib/backdoor/libBackdoor.la +Index: open-vm-tools/rpctool/rpctool.c +=================================================================== +--- open-vm-tools.orig/rpctool/rpctool.c ++++ open-vm-tools/rpctool/rpctool.c +@@ -23,6 +23,8 @@ + */ + + #ifndef _WIN32 ++#define _GNU_SOURCE ++#include + #include "sigPosixRegs.h" + #include + #include +Index: open-vm-tools/services/plugins/dndcp/Makefile.am +=================================================================== +--- open-vm-tools.orig/services/plugins/dndcp/Makefile.am ++++ open-vm-tools/services/plugins/dndcp/Makefile.am +@@ -23,6 +23,7 @@ plugin_LTLIBRARIES = libdndcp.la + libdndcp_la_CPPFLAGS = + libdndcp_la_CPPFLAGS += @GTK_CPPFLAGS@ + libdndcp_la_CPPFLAGS += @PLUGIN_CPPFLAGS@ ++libdndcp_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@ + libdndcp_la_CPPFLAGS += -I$(top_srcdir)/services/plugins/dndcp/dnd + libdndcp_la_CPPFLAGS += -I$(top_srcdir)/services/plugins/dndcp/dndGuest + libdndcp_la_CPPFLAGS += -I$(top_srcdir)/services/plugins/dndcp/stringxx +@@ -44,6 +45,7 @@ libdndcp_la_LIBADD += @GTK_LIBS@ + libdndcp_la_LIBADD += @GTKMM_LIBS@ + libdndcp_la_LIBADD += @VMTOOLS_LIBS@ + libdndcp_la_LIBADD += @HGFS_LIBS@ ++libdndcp_la_LIBADD += @LIBTIRPC_LIBS@ + libdndcp_la_LIBADD += $(top_builddir)/lib/hgfsUri/hgfsUriPosix.lo + + libdndcp_la_SOURCES = +Index: open-vm-tools/services/plugins/guestInfo/Makefile.am +=================================================================== +--- open-vm-tools.orig/services/plugins/guestInfo/Makefile.am ++++ open-vm-tools/services/plugins/guestInfo/Makefile.am +@@ -22,6 +22,7 @@ plugin_LTLIBRARIES = libguestInfo.la + + libguestInfo_la_CPPFLAGS = + libguestInfo_la_CPPFLAGS += @PLUGIN_CPPFLAGS@ ++libguestInfo_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@ + + libguestInfo_la_LDFLAGS = + libguestInfo_la_LDFLAGS += @PLUGIN_LDFLAGS@ +Index: open-vm-tools/services/plugins/resolutionSet/Makefile.am +=================================================================== +--- open-vm-tools.orig/services/plugins/resolutionSet/Makefile.am ++++ open-vm-tools/services/plugins/resolutionSet/Makefile.am +@@ -21,6 +21,7 @@ plugin_LTLIBRARIES = libresolutionSet.la + libresolutionSet_la_CPPFLAGS = + libresolutionSet_la_CPPFLAGS += @GTK_CPPFLAGS@ + libresolutionSet_la_CPPFLAGS += @PLUGIN_CPPFLAGS@ ++libresolutionSet_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@ + libresolutionSet_la_CPPFLAGS += -DRESOLUTION_X11 + + libresolutionSet_la_LDFLAGS = +@@ -30,6 +31,7 @@ libresolutionSet_la_LIBADD = + libresolutionSet_la_LIBADD += @COMMON_XLIBS@ + libresolutionSet_la_LIBADD += @GTK_LIBS@ + libresolutionSet_la_LIBADD += @VMTOOLS_LIBS@ ++libresolutionSet_la_LIBADD += @LIBTIRPC_LIBS@ + + libresolutionSet_la_SOURCES = + libresolutionSet_la_SOURCES += libvmwarectrl.c +Index: open-vm-tools/services/plugins/vix/Makefile.am +=================================================================== +--- open-vm-tools.orig/services/plugins/vix/Makefile.am ++++ open-vm-tools/services/plugins/vix/Makefile.am +@@ -20,6 +20,7 @@ plugin_LTLIBRARIES = libvix.la + + libvix_la_CPPFLAGS = + libvix_la_CPPFLAGS += @PLUGIN_CPPFLAGS@ ++libvix_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@ + libvix_la_CPPFLAGS += -I$(top_srcdir)/vgauth/public + + libvix_la_LDFLAGS = +@@ -29,6 +30,7 @@ libvix_la_LIBADD = + libvix_la_LIBADD += @VIX_LIBADD@ + libvix_la_LIBADD += @VMTOOLS_LIBS@ + libvix_la_LIBADD += @HGFS_LIBS@ ++libvix_la_LIBADD += @LIBTIRPC_LIBS@ + libvix_la_LIBADD += $(top_builddir)/lib/auth/libAuth.la + libvix_la_LIBADD += $(top_builddir)/lib/foundryMsg/libFoundryMsg.la + libvix_la_LIBADD += $(top_builddir)/lib/impersonate/libImpersonate.la +Index: open-vm-tools/services/plugins/vmbackup/Makefile.am +=================================================================== +--- open-vm-tools.orig/services/plugins/vmbackup/Makefile.am ++++ open-vm-tools/services/plugins/vmbackup/Makefile.am +@@ -20,6 +20,7 @@ plugin_LTLIBRARIES = libvmbackup.la + + libvmbackup_la_CPPFLAGS = + libvmbackup_la_CPPFLAGS += @PLUGIN_CPPFLAGS@ ++libvmbackup_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@ + + libvmbackup_la_LDFLAGS = + libvmbackup_la_LDFLAGS += @PLUGIN_LDFLAGS@ +@@ -27,6 +28,7 @@ libvmbackup_la_LDFLAGS += @PLUGIN_LDFLAG + libvmbackup_la_LIBADD = + libvmbackup_la_LIBADD += @GOBJECT_LIBS@ + libvmbackup_la_LIBADD += @VMTOOLS_LIBS@ ++libvmbackup_la_LIBADD += @LIBTIRPC_LIBS@ + + libvmbackup_la_SOURCES = + libvmbackup_la_SOURCES += nullProvider.c +Index: open-vm-tools/toolbox/Makefile.am +=================================================================== +--- open-vm-tools.orig/toolbox/Makefile.am ++++ open-vm-tools/toolbox/Makefile.am +@@ -20,9 +20,11 @@ bin_PROGRAMS = vmware-toolbox-cmd + vmware_toolbox_cmd_LDADD = + vmware_toolbox_cmd_LDADD += ../libguestlib/libguestlib.la + vmware_toolbox_cmd_LDADD += @VMTOOLS_LIBS@ ++vmware_toolbox_cmd_LDADD += @LIBTIRPC_LIBS@ + + vmware_toolbox_cmd_CPPFLAGS = + vmware_toolbox_cmd_CPPFLAGS += @VMTOOLS_CPPFLAGS@ ++vmware_toolbox_cmd_CPPFLAGS += @LIBTIRPC_CPPFLAGS@ + + vmware_toolbox_cmd_SOURCES = + vmware_toolbox_cmd_SOURCES += toolbox-cmd.c diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0010-gnu-ucontext.patch b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0010-gnu-ucontext.patch new file mode 100644 index 0000000..c9beac1 --- /dev/null +++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0010-gnu-ucontext.patch @@ -0,0 +1,65 @@ +From 27442e2dd287d393d7b3f8bf164a887affef84df Mon Sep 17 00:00:00 2001 +From: Natanael Copa +Date: Wed, 18 Nov 2015 10:27:51 +0000 +Subject: [PATCH 10/11] gnu-ucontext + +--- + open-vm-tools/lib/include/sigPosixRegs.h | 24 ++++++++++++------------ + 1 file changed, 12 insertions(+), 12 deletions(-) + +Index: open-vm-tools/lib/include/sigPosixRegs.h +=================================================================== +--- open-vm-tools.orig/lib/include/sigPosixRegs.h ++++ open-vm-tools/lib/include/sigPosixRegs.h +@@ -33,7 +33,7 @@ + #include "includeCheck.h" + + +-#if __linux__ // We need the REG_foo offsets in the gregset_t; ++#if defined(__GLIBC__) // We need the REG_foo offsets in the gregset_t; + # define _GNU_SOURCE // _GNU_SOURCE maps to __USE_GNU + + /* And, the REG_foo definitions conflict with our own in x86.h */ +@@ -73,7 +73,7 @@ + #include + #endif + +-#if __linux__ ++#if defined(__GLIBC__) + # if defined(__x86_64__) + # undef REG_RAX + # undef REG_RBX +@@ -199,7 +199,7 @@ + #define SC_ESP(uc) ((unsigned long) (uc)->uc_mcontext.mc_esp) + #define SC_EIP(uc) ((unsigned long) (uc)->uc_mcontext.mc_eip) + #endif +-#elif defined (sun) ++#elif !defined (__GLIBC__) + #ifdef __x86_64__ + #define SC_EAX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_RAX]) + #define SC_EBX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_RBX]) +@@ -219,15 +219,15 @@ + #define SC_R14(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_R14]) + #define SC_R15(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_R15]) + #else +-#define SC_EAX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[EAX]) +-#define SC_EBX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[EBX]) +-#define SC_ECX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[ECX]) +-#define SC_EDX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[EDX]) +-#define SC_EDI(uc) ((unsigned long) (uc)->uc_mcontext.gregs[EDI]) +-#define SC_ESI(uc) ((unsigned long) (uc)->uc_mcontext.gregs[ESI]) +-#define SC_EBP(uc) ((unsigned long) (uc)->uc_mcontext.gregs[EBP]) +-#define SC_ESP(uc) ((unsigned long) (uc)->uc_mcontext.gregs[ESP]) +-#define SC_EIP(uc) ((unsigned long) (uc)->uc_mcontext.gregs[EIP]) ++#define SC_EAX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_EAX]) ++#define SC_EBX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_EBX]) ++#define SC_ECX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_ECX]) ++#define SC_EDX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_EDX]) ++#define SC_EDI(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_EDI]) ++#define SC_ESI(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_ESI]) ++#define SC_EBP(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_EBP]) ++#define SC_ESP(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_ESP]) ++#define SC_EIP(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_EIP]) + #endif + #elif defined(ANDROID_X86) + #define SC_EAX(uc) ((unsigned long) (uc)->uc_mcontext.eax) diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0011-Use-configure-test-for-sys-stat.h-include.patch b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0011-Use-configure-test-for-sys-stat.h-include.patch new file mode 100644 index 0000000..7872239 --- /dev/null +++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0011-Use-configure-test-for-sys-stat.h-include.patch @@ -0,0 +1,25 @@ +From 95c6184d9ff70a47c41768850923a96de9e544aa Mon Sep 17 00:00:00 2001 +From: Natanael Copa +Date: Wed, 18 Nov 2015 10:41:01 +0000 +Subject: [PATCH 11/11] Use configure test for sys/stat.h include + +This is needed for musl libc. + +Signed-off-by: Natanael Copa +--- + open-vm-tools/services/plugins/vix/vixTools.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: open-vm-tools/services/plugins/vix/vixTools.c +=================================================================== +--- open-vm-tools.orig/services/plugins/vix/vixTools.c ++++ open-vm-tools/services/plugins/vix/vixTools.c +@@ -66,7 +66,7 @@ + #include + #endif + +-#if defined(sun) || defined(__FreeBSD__) || defined(__APPLE__) ++#ifdef HAVE_SYS_STAT_H + #include + #endif + diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb b/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb index 5f93eb4..f7746c8 100644 --- a/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb +++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb @@ -13,26 +13,39 @@ SUMMARY = "Tools to enhance VMWare guest integration and performance" HOMEPAGE = "https://github.com/vmware/open-vm-tools" SECTION = "vmware-tools" -LICENSE = "LGPLv2.1 & GPLv2 & BSD & CDDLv1" +LICENSE = "LGPL-2.0 & GPL-2.0 & BSD & CDDL-1.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=b66ba4cb4fc017682c95efc300410e79" LICENSE_modules/freebsd/vmblock = "BSD" -LICENSE_modules/freebsd/vmmemctl = "GPLv2" -LICENSE_modules/freebsd/vmxnet = "GPLv2" -LICENSE_modules/linux = "GPLv2" -LICENSE_modules/solaris = "CDDLv1" +LICENSE_modules/freebsd/vmmemctl = "GPL-2.0" +LICENSE_modules/freebsd/vmxnet = "GPL-2.0" +LICENSE_modules/linux = "GPL-2.0" +LICENSE_modules/solaris = "CDDL-1.0" SRC_URI = "git://github.com/vmware/open-vm-tools.git;protocol=https \ file://tools.conf \ file://vmtoolsd.service \ file://0001-configure.ac-don-t-use-dnet-config.patch \ file://0002-add-include-sys-sysmacros.h.patch \ + file://0001-Remove-assumptions-about-glibc-being-only-libc-imple.patch \ + file://0002-include-poll.h-instead-of-obsolete-sys-poll.h.patch \ + file://0003-Rename-poll.h-to-vm_poll.h.patch \ + file://0004-Add-Wno-incompatible-pointer-types-and-Wno-error-add.patch \ + file://0005-Use-configure-test-for-struct-timespec.patch \ + file://0006-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch \ + file://0007-Use-configure-to-test-for-feature-instead-of-platfor.patch \ + file://0008-use-posix-strerror_r-unless-gnu.patch \ + file://0011-Use-configure-test-for-sys-stat.h-include.patch \ + " +SRC_URI_append_libc-musl = "\ + file://0009-Add-support-for-building-with-system-libtirpc.patch \ + file://0010-gnu-ucontext.patch \ " - SRCREV = "854c0bb374612f7e633b448ca273f970f154458b" S = "${WORKDIR}/git/open-vm-tools" DEPENDS = "glib-2.0 glib-2.0-native util-linux libdnet procps" +DEPENDS_append_libc-musl = " libtirpc" # open-vm-tools is supported only on x86. COMPATIBLE_HOST = '(x86_64.*|i.86.*)-linux' -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:52:08 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:52:08 +0000 Subject: [oe-commits] [meta-openembedded] 64/67: xf86-video-nouveau: bump version to 1.0.15 In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125106.5C2FB2335E0@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 57eef0afcbcc5d6bd4cefab31f34cddf0ffedbc4 Author: Szombathelyi Gy?rgy AuthorDate: Tue Jul 18 11:36:33 2017 +0200 xf86-video-nouveau: bump version to 1.0.15 Signed-off-by: Gyorgy Szombathelyi Signed-off-by: Martin Jansa --- .../{xf86-video-nouveau_1.0.12.bb => xf86-video-nouveau_1.0.15.bb} | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.12.bb b/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.15.bb similarity index 58% rename from meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.12.bb rename to meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.15.bb index 444189a..b10ee71 100644 --- a/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.12.bb +++ b/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.15.bb @@ -12,8 +12,5 @@ RDEPENDS_${PN} += "xserver-xorg-module-exa" COMPATIBLE_HOST = '(i.86|x86_64).*-linux' -SRC_URI[md5sum] = "dc79910c7b9e32321cefc7af250c7765" -SRC_URI[sha256sum] = "0ea057ad7fc31caba2d4e46c7e418fe2b3c762b04fb8d382f53383397fd8391e" - - -PNBLACKLIST[xf86-video-nouveau] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130657/ - the recipe will be removed on 2017-09-01 unless the issue is fixed" +SRC_URI[md5sum] = "717203cb87029cddcbccf7398f9ad8c3" +SRC_URI[sha256sum] = "aede10fd395610a328697adca3434fb14e9afbd79911d6c8545cfa2c0e541d4c" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:52:09 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:52:09 +0000 Subject: [oe-commits] [meta-openembedded] 65/67: python-unidiff: adds Python3 support In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125106.647702335DA@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 370b9a3784dad275d381893220672800d62c7901 Author: Daniela Plascencia AuthorDate: Tue Jul 18 03:30:54 2017 -0700 python-unidiff: adds Python3 support Extend the recipe for Python3 support. Signed-off-by: Daniela Plascencia Signed-off-by: Martin Jansa --- .../python/{python-unidiff_0.5.4.bb => python-unidiff.inc} | 2 +- meta-python/recipes-devtools/python/python-unidiff_0.5.4.bb | 11 ++--------- meta-python/recipes-devtools/python/python3-unidiff_0.5.4.bb | 2 ++ 3 files changed, 5 insertions(+), 10 deletions(-) diff --git a/meta-python/recipes-devtools/python/python-unidiff_0.5.4.bb b/meta-python/recipes-devtools/python/python-unidiff.inc similarity index 93% copy from meta-python/recipes-devtools/python/python-unidiff_0.5.4.bb copy to meta-python/recipes-devtools/python/python-unidiff.inc index ceb80bd..0402550 100644 --- a/meta-python/recipes-devtools/python/python-unidiff_0.5.4.bb +++ b/meta-python/recipes-devtools/python/python-unidiff.inc @@ -6,4 +6,4 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=4c434b08ef42fea235bb019b5e5a97b3" SRC_URI[md5sum] = "c8099edf89d2e3bac16123766625a38b" SRC_URI[sha256sum] = "a7baf71846a68c5305a7d6005dfb5eca8798f13861176355a285cbda3206824d" -inherit pypi setuptools +inherit pypi diff --git a/meta-python/recipes-devtools/python/python-unidiff_0.5.4.bb b/meta-python/recipes-devtools/python/python-unidiff_0.5.4.bb index ceb80bd..bdb3d27 100644 --- a/meta-python/recipes-devtools/python/python-unidiff_0.5.4.bb +++ b/meta-python/recipes-devtools/python/python-unidiff_0.5.4.bb @@ -1,9 +1,2 @@ -SUMMARY = "Unified diff parsing/metadata extraction library" -HOMEPAGE = "http://github.com/matiasb/python-unidiff" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=4c434b08ef42fea235bb019b5e5a97b3" - -SRC_URI[md5sum] = "c8099edf89d2e3bac16123766625a38b" -SRC_URI[sha256sum] = "a7baf71846a68c5305a7d6005dfb5eca8798f13861176355a285cbda3206824d" - -inherit pypi setuptools +require python-unidiff.inc +inherit setuptools diff --git a/meta-python/recipes-devtools/python/python3-unidiff_0.5.4.bb b/meta-python/recipes-devtools/python/python3-unidiff_0.5.4.bb new file mode 100644 index 0000000..0ddc7e2 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-unidiff_0.5.4.bb @@ -0,0 +1,2 @@ +require python-unidiff.inc +inherit setuptools3 -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:52:10 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:52:10 +0000 Subject: [oe-commits] [meta-openembedded] 66/67: sdparm: add mirror In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125106.6D0312335D8@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit ed410c0450fc89b7ff879f49a29c9788a0361f56 Author: Szombathelyi Gy?rgy AuthorDate: Wed Jul 19 10:31:50 2017 +0200 sdparm: add mirror Signed-off-by: Gyorgy Szombathelyi Signed-off-by: Martin Jansa --- meta-oe/recipes-support/sdparm/sdparm_1.10.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-oe/recipes-support/sdparm/sdparm_1.10.bb b/meta-oe/recipes-support/sdparm/sdparm_1.10.bb index 8ab2819..3299a77 100644 --- a/meta-oe/recipes-support/sdparm/sdparm_1.10.bb +++ b/meta-oe/recipes-support/sdparm/sdparm_1.10.bb @@ -10,6 +10,7 @@ DEPENDS="sg3-utils" SRC_URI = "http://sg.danny.cz/sg/p/${BPN}-${PV}.tgz \ file://make-sysroot-work.patch \ " +MIRRORS += "http://sg.danny.cz/sg/p https://fossies.org/linux/misc" PACKAGES =+ "${PN}-scripts" RDEPENDS_${PN}-scripts += "bash ${PN}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:52:07 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:52:07 +0000 Subject: [oe-commits] [meta-openembedded] 63/67: python3-prctl: add recipe 1.6.1 In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125106.52C3D2335DC@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 11e34bb021064dd5548635f4ad661fc315974997 Author: Hongxu Jia AuthorDate: Tue Jul 18 02:09:12 2017 -0400 python3-prctl: add recipe 1.6.1 Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- .../0001-support-cross-complication.patch | 61 ++++++++++++++++++++++ .../recipes-devtools/python/python3-prctl_1.6.1.bb | 22 ++++++++ 2 files changed, 83 insertions(+) diff --git a/meta-python/recipes-devtools/python/python3-prctl/0001-support-cross-complication.patch b/meta-python/recipes-devtools/python/python3-prctl/0001-support-cross-complication.patch new file mode 100644 index 0000000..775ae1b --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-prctl/0001-support-cross-complication.patch @@ -0,0 +1,61 @@ +From 9a16800738547d117284354bbcad7dd77d9d0344 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Thu, 21 Apr 2016 03:05:57 -0400 +Subject: [PATCH] support cross-complication + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Hongxu Jia +--- + setup.py | 35 ----------------------------------- + 1 file changed, 35 deletions(-) + +diff --git a/setup.py b/setup.py +index 658d1a5..e8be7eb 100755 +--- a/setup.py ++++ b/setup.py +@@ -13,41 +13,6 @@ import sys + # - Need gcc + # - Need C headers + # - Need libcap headers +-if not sys.platform.startswith('linux'): +- sys.stderr.write("This module only works on linux\n") +- sys.exit(1) +- +-kvers = os.uname()[2] +-if kvers < '2.6.18' and not os.environ.get("PRCTL_SKIP_KERNEL_CHECK",False): +- sys.stderr.write("This module requires linux 2.6.18 or newer\n") +- sys.exit(1) +- +-if sys.version_info[:2] < (2,4): +- sys.stderr.write("This module requires python 2.4 or newer\n") +- sys.exit(1) +- +-exit = False +-try: +- subprocess.call(['gcc','-v'], stdout=subprocess.PIPE, stderr=subprocess.PIPE) +-except: +- sys.stderr.write("You need to install gcc to build this module\n") +- sys.exit(1) +- +-sp = subprocess.Popen(['cpp'], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE) +-sp.communicate('#include \n'.encode()) +-if sp.returncode: +- sys.stderr.write("You need to install libc development headers to build this module\n") +- exit = True +- +-sp = subprocess.Popen(['cpp'], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE) +-sp.communicate('#include \n'.encode()) +-if sp.returncode: +- sys.stderr.write("You need to install libcap development headers to build this module\n") +- exit = True +- +-if exit: +- sys.exit(1) +- + _prctl = Extension("_prctl", + sources = ['_prctlmodule.c'], + depends = ['securebits.h'], +-- +2.8.1 + diff --git a/meta-python/recipes-devtools/python/python3-prctl_1.6.1.bb b/meta-python/recipes-devtools/python/python3-prctl_1.6.1.bb new file mode 100644 index 0000000..5de83ce --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-prctl_1.6.1.bb @@ -0,0 +1,22 @@ +SUMMARY = "Control process attributes through prctl" +DESCRIPTION = "The linux prctl function allows you to control specific characteristics of a \ +process' behaviour. Usage of the function is fairly messy though, due to \ +limitations in C and linux. This module provides a nice non-messy python(ic) \ +interface." +SECTION = "devel/python" +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=5eb2f4bcd60326f83e5deb542372d52f" + +S = "${WORKDIR}/git" +B = "${S}" + +SRCREV = "1107d0be7bec4b28c85c62c454882d16844c930a" +PV = "1.6.1+git${SRCPV}" + +SRC_URI = "git://github.com/seveas/python-prctl;branch=master \ + file://0001-support-cross-complication.patch \ +" +inherit setuptools3 python3native + +DEPENDS += "libcap" + -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 12:52:11 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 12:52:11 +0000 Subject: [oe-commits] [meta-openembedded] 67/67: sg3-utils: add mirror In-Reply-To: <150046866411.13231.150028613869677518@git.openembedded.org> References: <150046866411.13231.150028613869677518@git.openembedded.org> Message-ID: <20170719125106.767CC2335D5@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 3cb6d9f174f5599acd78a8c93b6d7c9958344605 Author: Szombathelyi Gy?rgy AuthorDate: Wed Jul 19 10:31:51 2017 +0200 sg3-utils: add mirror Signed-off-by: Gyorgy Szombathelyi Signed-off-by: Martin Jansa --- meta-oe/recipes-support/sg3-utils/sg3-utils_1.42.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-oe/recipes-support/sg3-utils/sg3-utils_1.42.bb b/meta-oe/recipes-support/sg3-utils/sg3-utils_1.42.bb index a11bd77..c7de057 100644 --- a/meta-oe/recipes-support/sg3-utils/sg3-utils_1.42.bb +++ b/meta-oe/recipes-support/sg3-utils/sg3-utils_1.42.bb @@ -9,6 +9,7 @@ LICENSE = "GPLv2+ & BSD" LIC_FILES_CHKSUM = "file://COPYING;md5=f90da7fc52172599dbf082d7620f18ca" SRC_URI = "http://sg.danny.cz/sg/p/sg3_utils-${PV}.tgz" +MIRRORS += "http://sg.danny.cz/sg/p https://fossies.org/linux/misc" SRC_URI[md5sum] = "28080de5bf2222f8b55a29093bec8aea" SRC_URI[sha256sum] = "1dcb7a0309bd0ba3d4a83acb526973b80106ee26cd9f7398186cd3f0633c9ef3" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 13:02:27 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 13:02:27 +0000 Subject: [oe-commits] [openembedded-core] branch master-next updated (f4ac4f1 -> 6e6538d) Message-ID: <150046934774.18395.10615824401305020476@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master-next in repository openembedded-core. discard f4ac4f1 recipetool: create: reimplement fetching with normal fetch/unpack tasks discard 255bc31 recipetool: create: ensure meaningful error for malformed tarballs discard 0b4e8e3 devtool: extract: refactor kern-tools-native handling discard 73bb81c recipetool: create: refactor code for ensuring npm is available discard c7c5ee5 classes/staging: change fixme debug message from note to debug discard 531867f oe-init-build-env-memres: Drop it new d5ac0bb oe-init-build-env-memres: Drop it new e4e4fda classes/staging: change fixme debug message from note to debug new 082d87b recipetool: create: refactor code for ensuring npm is available new f4438c6 devtool: extract: refactor kern-tools-native handling new 9fc1ded recipetool: create: ensure meaningful error for malformed tarballs new 6e6538d recipetool: create: reimplement fetching with normal fetch/unpack tasks This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (f4ac4f1) \ N -- N -- N refs/heads/master-next (6e6538d) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 6 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: meta/classes/populate_sdk_ext.bbclass | 1 - scripts/oe-buildenv-internal | 3 +-- 2 files changed, 1 insertion(+), 3 deletions(-) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 13:02:29 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 13:02:29 +0000 Subject: [oe-commits] [openembedded-core] 02/06: classes/staging: change fixme debug message from note to debug In-Reply-To: <150046934774.18395.10615824401305020476@git.openembedded.org> References: <150046934774.18395.10615824401305020476@git.openembedded.org> Message-ID: <20170719130227.DEEC82335DC@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit e4e4fda72b86100dd4d9ba327f73b296fee7d8c7 Author: Paul Eggleton AuthorDate: Wed Jul 19 12:07:14 2017 +0200 classes/staging: change fixme debug message from note to debug These messages were added for debugging during the recipe specific sysroot work. They may still be useful but they don't need to be notes - if they are they show up in recipetool / devtool output when fetching source. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- meta/classes/staging.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/classes/staging.bbclass b/meta/classes/staging.bbclass index 8f470d5..162c8e9 100644 --- a/meta/classes/staging.bbclass +++ b/meta/classes/staging.bbclass @@ -170,7 +170,7 @@ def staging_processfixme(fixme, target, recipesysroot, recipesysrootnative, d): for fixmevar in ['COMPONENTS_DIR', 'HOSTTOOLS_DIR', 'PKGDATA_DIR']: fixme_path = d.getVar(fixmevar) cmd += " -e 's:FIXME_%s:%s:g'" % (fixmevar, fixme_path) - bb.note(cmd) + bb.debug(2, cmd) subprocess.check_output(cmd, shell=True) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 13:02:28 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 13:02:28 +0000 Subject: [oe-commits] [openembedded-core] 01/06: oe-init-build-env-memres: Drop it In-Reply-To: <150046934774.18395.10615824401305020476@git.openembedded.org> References: <150046934774.18395.10615824401305020476@git.openembedded.org> Message-ID: <20170719130227.D643A2335DB@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit d5ac0bbd0bf9620e1c9d85520f2f0f69df7157d7 Author: Richard Purdie AuthorDate: Tue Jul 18 22:52:07 2017 +0100 oe-init-build-env-memres: Drop it With the new server structure we no longer need this separate environment init script. Just set BB_SERVER_TIMEOUT to be greater than zero and bitbake will remain in memory and the UI will auto-reconnect to it. Also clean out the old shutdown code from oe-init-build-env which also doesn't make sense now. Signed-off-by: Richard Purdie --- meta/classes/populate_sdk_ext.bbclass | 1 - oe-init-build-env | 8 ---- oe-init-build-env-memres | 90 ----------------------------------- scripts/oe-buildenv-internal | 3 +- 4 files changed, 1 insertion(+), 101 deletions(-) diff --git a/meta/classes/populate_sdk_ext.bbclass b/meta/classes/populate_sdk_ext.bbclass index 4791d74..e31ee37 100644 --- a/meta/classes/populate_sdk_ext.bbclass +++ b/meta/classes/populate_sdk_ext.bbclass @@ -69,7 +69,6 @@ OE_INIT_ENV_SCRIPT ?= "oe-init-build-env" # COREBASE be preserved as well as untracked files. COREBASE_FILES ?= " \ oe-init-build-env \ - oe-init-build-env-memres \ scripts \ LICENSE \ .templateconf \ diff --git a/oe-init-build-env b/oe-init-build-env index 5fe68d1..e813230 100755 --- a/oe-init-build-env +++ b/oe-init-build-env @@ -57,11 +57,3 @@ unset OEROOT [ -z "$BUILDDIR" ] || cd "$BUILDDIR" -# Shutdown any bitbake server if the BBSERVER variable is not set -if [ -z "$BBSERVER" ] && [ -f bitbake.lock ]; then - grep ":" bitbake.lock > /dev/null && BBSERVER=$(cat bitbake.lock) bitbake --status-only - if [ $? = 0 ]; then - echo "Shutting down bitbake memory resident server with bitbake -m" - BBSERVER=$(cat bitbake.lock) bitbake -m - fi -fi diff --git a/oe-init-build-env-memres b/oe-init-build-env-memres deleted file mode 100755 index 3f0d239..0000000 --- a/oe-init-build-env-memres +++ /dev/null @@ -1,90 +0,0 @@ -#!/bin/sh - -# OE Build Environment Setup Script -# -# Copyright (C) 2006-2011 Linux Foundation -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -# -# Normally this is called as '. ./oe-init-build-env-memres [portnumber]' -# -# This works in most shells (not dash), but not all of them pass the arguments -# when being sourced. To workaround the shell limitation use "set -# [portnumber]" prior to sourcing this script. -# -if [ -z "$2" ]; then - echo "No port specified, using dynamically selected port" - port=-1 -else - port=$2 - set -- "$1" "$3" "$4" "$5" "$6" -fi - -if [ -n "$BASH_SOURCE" ]; then - THIS_SCRIPT=$BASH_SOURCE -elif [ -n "$ZSH_NAME" ]; then - THIS_SCRIPT=$0 -else - THIS_SCRIPT="$(pwd)/oe-init-build-env" -fi -if [ -n "$BBSERVER" ]; then - unset BBSERVER -fi - -if [ -z "$ZSH_NAME" ] && [ "$0" = "$THIS_SCRIPT" ]; then - echo "Error: This script needs to be sourced. Please run as '. $THIS_SCRIPT'" - exit 1 -fi - -if [ -z "$OEROOT" ]; then - OEROOT=$(dirname "$THIS_SCRIPT") - OEROOT=$(readlink -f "$OEROOT") -fi -unset THIS_SCRIPT - -export OEROOT -. $OEROOT/scripts/oe-buildenv-internal && - TEMPLATECONF="$TEMPLATECONF" $OEROOT/scripts/oe-setup-builddir || { - unset OEROOT - return 1 -} -unset OEROOT - -[ -z "$BUILDDIR" ] || cd "$BUILDDIR" - -res=1 -if [ -e bitbake.lock ] && grep : bitbake.lock > /dev/null; then - BBSERVER=$(cat bitbake.lock) bitbake --status-only - res=$? -fi - -if [ $res != 0 ]; then - bitbake --server-only -t xmlrpc -B localhost:$port -fi - -if [ $port = -1 ]; then - export BBSERVER=localhost:-1 - echo "Bitbake server started on demand as needed, use bitbake -m to shut it down" -else - export BBSERVER=$(cat bitbake.lock) - - if [ $res = 0 ]; then - echo "Using existing bitbake server at: $BBSERVER, use bitbake -m to shut it down" - else - echo "Bitbake server started at: $BBSERVER, use bitbake -m to shut it down" - fi -fi -unset port res diff --git a/scripts/oe-buildenv-internal b/scripts/oe-buildenv-internal index c890552..e6cd141 100755 --- a/scripts/oe-buildenv-internal +++ b/scripts/oe-buildenv-internal @@ -24,8 +24,7 @@ if ! $(return >/dev/null 2>&1) ; then echo 'Usage: . $OEROOT/scripts/oe-buildenv-internal &&' echo '' echo 'OpenEmbedded oe-buildenv-internal - an internal script that is' - echo 'used in oe-init-build-env and oe-init-build-env-memres to' - echo 'initialize oe build environment' + echo 'used in oe-init-build-env to initialize oe build environment' echo '' exit 2 fi -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 13:02:30 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 13:02:30 +0000 Subject: [oe-commits] [openembedded-core] 03/06: recipetool: create: refactor code for ensuring npm is available In-Reply-To: <150046934774.18395.10615824401305020476@git.openembedded.org> References: <150046934774.18395.10615824401305020476@git.openembedded.org> Message-ID: <20170719130227.E8F782335DD@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 082d87b0a6e5e2e4ef8b1a8ab5a0d7f0cf2a4bf3 Author: Paul Eggleton AuthorDate: Wed Jul 19 12:07:15 2017 +0200 recipetool: create: refactor code for ensuring npm is available Across devtool and recipetool we had an ugly set of code for ensuring that we can call an npm binary, and much of that ugliness was a result of not being able to run build tasks when tinfoil was active - if recipetool found that npm was required and we didn't know beforehand (e.g. we're fetching from a plain git repository as opposed to an npm:// URL where it's obvious) then it had to exit and return a special result code, so that devtool knew it needed to build nodejs-native and then call recipetool again. Tinfoil now allows us to run build tasks directly, so we can take advantage of that instead and throw away the ugly code at the same time. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- scripts/lib/devtool/__init__.py | 31 ------------------------------ scripts/lib/devtool/standard.py | 36 ++++++++++++----------------------- scripts/lib/recipetool/create.py | 26 +++++-------------------- scripts/lib/recipetool/create_npm.py | 7 +++++-- scripts/lib/recipetool/utils.py | 37 ++++++++++++++++++++++++++++++++++++ 5 files changed, 59 insertions(+), 78 deletions(-) diff --git a/scripts/lib/devtool/__init__.py b/scripts/lib/devtool/__init__.py index 29c4c05..bba0721 100644 --- a/scripts/lib/devtool/__init__.py +++ b/scripts/lib/devtool/__init__.py @@ -261,34 +261,3 @@ def get_bbclassextend_targets(recipefile, pn): targets.append('%s-%s' % (pn, variant)) return targets -def ensure_npm(config, basepath, fixed_setup=False, check_exists=True): - """ - Ensure that npm is available and either build it or show a - reasonable error message - """ - if check_exists: - tinfoil = setup_tinfoil(config_only=False, basepath=basepath) - try: - rd = tinfoil.parse_recipe('nodejs-native') - nativepath = rd.getVar('STAGING_BINDIR_NATIVE') - finally: - tinfoil.shutdown() - npmpath = os.path.join(nativepath, 'npm') - build_npm = not os.path.exists(npmpath) - else: - build_npm = True - - if build_npm: - logger.info('Building nodejs-native') - try: - exec_build_env_command(config.init_path, basepath, - 'bitbake -q nodejs-native -c addto_recipe_sysroot', watch=True) - except bb.process.ExecutionError as e: - if "Nothing PROVIDES 'nodejs-native'" in e.stdout: - if fixed_setup: - msg = 'nodejs-native is required for npm but is not available within this SDK' - else: - msg = 'nodejs-native is required for npm but is not available - you will likely need to add a layer that provides nodejs' - raise DevtoolError(msg) - else: - raise diff --git a/scripts/lib/devtool/standard.py b/scripts/lib/devtool/standard.py index 7e342e7..008cfa3 100644 --- a/scripts/lib/devtool/standard.py +++ b/scripts/lib/devtool/standard.py @@ -30,8 +30,9 @@ import errno import glob import filecmp from collections import OrderedDict -from devtool import exec_build_env_command, setup_tinfoil, check_workspace_recipe, use_external_build, setup_git_repo, recipe_to_append, get_bbclassextend_targets, ensure_npm, DevtoolError +from devtool import exec_build_env_command, setup_tinfoil, check_workspace_recipe, use_external_build, setup_git_repo, recipe_to_append, get_bbclassextend_targets, DevtoolError from devtool import parse_recipe +from recipetool.utils import ensure_npm logger = logging.getLogger('devtool') @@ -129,7 +130,9 @@ def add(args, config, basepath, workspace): extracmdopts = '' if args.fetchuri: if args.fetchuri.startswith('npm://'): - ensure_npm(config, basepath, args.fixed_setup) + with setup_tinfoil(config_only=True, basepath=basepath) as tinfoil: + if not ensure_npm(tinfoil, args.fixed_setup): + raise DevtoolError('npm required but not available') source = args.fetchuri if srctree: @@ -155,28 +158,13 @@ def add(args, config, basepath, workspace): tempdir = tempfile.mkdtemp(prefix='devtool') try: - builtnpm = False - while True: - try: - stdout, _ = exec_build_env_command(config.init_path, basepath, 'recipetool --color=%s create --devtool -o %s \'%s\' %s' % (color, tempdir, source, extracmdopts), watch=True) - except bb.process.ExecutionError as e: - if e.exitcode == 14: - if builtnpm: - raise DevtoolError('Re-running recipetool still failed to find npm') - # FIXME this is a horrible hack that is unfortunately - # necessary due to the fact that we can't run bitbake from - # inside recipetool since recipetool keeps tinfoil active - # with references to it throughout the code, so we have - # to exit out and come back here to do it. - ensure_npm(config, basepath, args.fixed_setup, check_exists=False) - logger.info('Re-running recipe creation process after building nodejs') - builtnpm = True - continue - elif e.exitcode == 15: - raise DevtoolError('Could not auto-determine recipe name, please specify it on the command line') - else: - raise DevtoolError('Command \'%s\' failed' % e.command) - break + try: + stdout, _ = exec_build_env_command(config.init_path, basepath, 'recipetool --color=%s create --devtool -o %s \'%s\' %s' % (color, tempdir, source, extracmdopts), watch=True) + except bb.process.ExecutionError as e: + if e.exitcode == 15: + raise DevtoolError('Could not auto-determine recipe name, please specify it on the command line') + else: + raise DevtoolError('Command \'%s\' failed' % e.command) recipes = glob.glob(os.path.join(tempdir, '*.bb')) if recipes: diff --git a/scripts/lib/recipetool/create.py b/scripts/lib/recipetool/create.py index 8e63580..868d18b 100644 --- a/scripts/lib/recipetool/create.py +++ b/scripts/lib/recipetool/create.py @@ -25,6 +25,7 @@ import json import logging import scriptutils from urllib.parse import urlparse, urldefrag, urlsplit +from recipetool.utils import ensure_npm import hashlib import bb.fetch2 logger = logging.getLogger('recipetool') @@ -444,7 +445,9 @@ def create_recipe(args): d = bb.data.createCopy(tinfoil.config_data) if fetchuri.startswith('npm://'): # Check if npm is available - npm_bindir = check_npm(tinfoil, args.devtool) + npm_bindir = ensure_npm(tinfoil) + if not npm_bindir: + sys.exit(14) d.prependVar('PATH', '%s:' % npm_bindir) logger.info('Fetching %s...' % srcuri) try: @@ -1147,22 +1150,6 @@ def convert_rpm_xml(xmlfile): return values -def check_npm(tinfoil, debugonly=False): - try: - rd = tinfoil.parse_recipe('nodejs-native') - except bb.providers.NoProvider: - # We still conditionally show the message and exit with the special - # return code, otherwise we can't show the proper message for eSDK - # users - log_error_cond('nodejs-native is required for npm but is not available - you will likely need to add a layer that provides nodejs', debugonly) - sys.exit(14) - bindir = rd.getVar('STAGING_BINDIR_NATIVE') - npmpath = os.path.join(bindir, 'npm') - if not os.path.exists(npmpath): - log_error_cond('npm required to process specified source, but npm is not available - you need to run bitbake -c addto_recipe_sysroot nodejs-native first', debugonly) - sys.exit(14) - return bindir - def register_commands(subparsers): parser_create = subparsers.add_parser('create', help='Create a new recipe', @@ -1180,8 +1167,5 @@ def register_commands(subparsers): parser_create.add_argument('--keep-temp', action="store_true", help='Keep temporary directory (for debugging)') parser_create.add_argument('--fetch-dev', action="store_true", help='For npm, also fetch devDependencies') parser_create.add_argument('--devtool', action="store_true", help=argparse.SUPPRESS) - # FIXME I really hate having to set parserecipes for this, but given we may need - # to call into npm (and we don't know in advance if we will or not) and in order - # to do so we need to know npm's recipe sysroot path, there's not much alternative - parser_create.set_defaults(func=create_recipe, parserecipes=True) + parser_create.set_defaults(func=create_recipe) diff --git a/scripts/lib/recipetool/create_npm.py b/scripts/lib/recipetool/create_npm.py index cb8f338..6c515e3 100644 --- a/scripts/lib/recipetool/create_npm.py +++ b/scripts/lib/recipetool/create_npm.py @@ -21,7 +21,8 @@ import subprocess import tempfile import shutil import json -from recipetool.create import RecipeHandler, split_pkg_licenses, handle_license_vars, check_npm +from recipetool.create import RecipeHandler, split_pkg_licenses, handle_license_vars +from recipetool.utils import ensure_npm logger = logging.getLogger('recipetool') @@ -189,7 +190,9 @@ class NpmRecipeHandler(RecipeHandler): files = RecipeHandler.checkfiles(srctree, ['package.json']) if files: d = bb.data.createCopy(tinfoil.config_data) - npm_bindir = check_npm(tinfoil, self._devtool) + npm_bindir = ensure_npm(tinfoil) + if not npm_bindir: + sys.exit(14) d.prependVar('PATH', '%s:' % npm_bindir) data = read_package_json(files[0]) diff --git a/scripts/lib/recipetool/utils.py b/scripts/lib/recipetool/utils.py new file mode 100644 index 0000000..63f6583 --- /dev/null +++ b/scripts/lib/recipetool/utils.py @@ -0,0 +1,37 @@ +# Recipe creation tool - utility functions +# +# Copyright (C) 2016-2017 Intel Corporation +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +def ensure_npm(tinfoil, fixed_setup=False): + if not tinfoil.recipes_parsed: + tinfoil.parse_recipes() + try: + rd = tinfoil.parse_recipe('nodejs-native') + except bb.providers.NoProvider: + if fixed_setup: + msg = 'nodejs-native is required for npm but is not available within this SDK' + else: + msg = 'nodejs-native is required for npm but is not available - you will likely need to add a layer that provides nodejs' + logger.error(msg) + return None + bindir = rd.getVar('STAGING_BINDIR_NATIVE') + npmpath = os.path.join(bindir, 'npm') + if not os.path.exists(npmpath): + tinfoil.build_targets('nodejs-native', 'addto_recipe_sysroot') + if not os.path.exists(npmpath): + logger.error('npm required to process specified source, but nodejs-native did not seem to populate it') + return None + return bindir -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 13:02:31 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 13:02:31 +0000 Subject: [oe-commits] [openembedded-core] 04/06: devtool: extract: refactor kern-tools-native handling In-Reply-To: <150046934774.18395.10615824401305020476@git.openembedded.org> References: <150046934774.18395.10615824401305020476@git.openembedded.org> Message-ID: <20170719130227.F31242335DE@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit f4438c689499eaf4950a8d0138010ccec1686e51 Author: Paul Eggleton AuthorDate: Wed Jul 19 12:07:16 2017 +0200 devtool: extract: refactor kern-tools-native handling When extracting linux-yocto kernel source, we don't need to dance around shutting down and starting up tinfoil anymore, we can just execute the tasks as needed. This allows us to tidy up the code structure a bit. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- scripts/lib/devtool/standard.py | 37 +++++-------------------------------- 1 file changed, 5 insertions(+), 32 deletions(-) diff --git a/scripts/lib/devtool/standard.py b/scripts/lib/devtool/standard.py index 008cfa3..b1cc23d 100644 --- a/scripts/lib/devtool/standard.py +++ b/scripts/lib/devtool/standard.py @@ -371,7 +371,7 @@ def extract(args, config, basepath, workspace): """Entry point for the devtool 'extract' subcommand""" import bb - tinfoil = _prep_extract_operation(config, basepath, args.recipename) + tinfoil = setup_tinfoil(basepath=basepath) if not tinfoil: # Error already shown return 1 @@ -395,7 +395,7 @@ def sync(args, config, basepath, workspace): """Entry point for the devtool 'sync' subcommand""" import bb - tinfoil = _prep_extract_operation(config, basepath, args.recipename) + tinfoil = setup_tinfoil(basepath=basepath) if not tinfoil: # Error already shown return 1 @@ -416,29 +416,6 @@ def sync(args, config, basepath, workspace): tinfoil.shutdown() -def _prep_extract_operation(config, basepath, recipename, tinfoil=None): - """HACK: Ugly workaround for making sure that requirements are met when - trying to extract a package. Returns the tinfoil instance to be used.""" - if not tinfoil: - tinfoil = setup_tinfoil(basepath=basepath) - - rd = parse_recipe(config, tinfoil, recipename, True) - if not rd: - tinfoil.shutdown() - return None - - if bb.data.inherits_class('kernel-yocto', rd): - tinfoil.shutdown() - try: - stdout, _ = exec_build_env_command(config.init_path, basepath, - 'bitbake kern-tools-native') - tinfoil = setup_tinfoil(basepath=basepath) - except bb.process.ExecutionError as err: - raise DevtoolError("Failed to build kern-tools-native:\n%s" % - err.stdout) - return tinfoil - - def _extract_source(srctree, keep_temp, devbranch, sync, d, tinfoil): """Extract sources of a recipe""" import oe.recipeutils @@ -463,6 +440,9 @@ def _extract_source(srctree, keep_temp, devbranch, sync, d, tinfoil): raise DevtoolError("The %s recipe has do_unpack disabled, unable to " "extract source" % pn, 4) + if bb.data.inherits_class('kernel-yocto', d): + tinfoil.build_targets('kern-tools-native') + if not sync: # Prepare for shutil.move later on bb.utils.mkdirhier(srctree) @@ -761,13 +741,6 @@ def modify(args, config, basepath, workspace): raise DevtoolError("--no-extract specified and source path %s does " "not exist or is not a directory" % srctree) - if not args.no_extract: - tinfoil = _prep_extract_operation(config, basepath, pn, tinfoil) - if not tinfoil: - # Error already shown - return 1 - # We need to re-parse because tinfoil may have been re-initialised - rd = parse_recipe(config, tinfoil, args.recipename, True) recipefile = rd.getVar('FILE') appendfile = recipe_to_append(recipefile, config, args.wildcard) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 13:02:33 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 13:02:33 +0000 Subject: [oe-commits] [openembedded-core] 06/06: recipetool: create: reimplement fetching with normal fetch/unpack tasks In-Reply-To: <150046934774.18395.10615824401305020476@git.openembedded.org> References: <150046934774.18395.10615824401305020476@git.openembedded.org> Message-ID: <20170719130228.0F7002335E0@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 6e6538d50c98f8dafe8e63a9b1d681663017d57b Author: Paul Eggleton AuthorDate: Wed Jul 19 12:07:18 2017 +0200 recipetool: create: reimplement fetching with normal fetch/unpack tasks Now that we have the ability to run the tasks in a more standard context through tinfoil, change recipetool's fetching code to use that to fetch files using it. This has the major advantage that any dependencies of do_fetch and do_unpack (e.g. for subversion or npm) will be handled automatically. This also has the beneficial side-effect of fixing a recent regression that prevented this fetch operation from working with memory resident bitbake. Fixes [YOCTO #11710]. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- scripts/lib/recipetool/create.py | 171 +++++++++++++++++++++++++++++++++------ 1 file changed, 147 insertions(+), 24 deletions(-) diff --git a/scripts/lib/recipetool/create.py b/scripts/lib/recipetool/create.py index 4e965e4..b94b2cf 100644 --- a/scripts/lib/recipetool/create.py +++ b/scripts/lib/recipetool/create.py @@ -28,6 +28,11 @@ from urllib.parse import urlparse, urldefrag, urlsplit from recipetool.utils import ensure_npm import hashlib import bb.fetch2 +import random +import string +import tempfile +import shutil + logger = logging.getLogger('recipetool') tinfoil = None @@ -407,10 +412,130 @@ def is_package(url): return True return False +class FetchUrlFailure(Exception): + def __init__(self, url): + self.url = url + def __str__(self): + return "Failed to fetch URL %s" % self.url + +def get_temp_recipe_dir(): + # This is a little bit hacky but we need to find a place where we can put + # the recipe so that bitbake can find it. We're going to delete it at the + # end so it doesn't really matter where we put it. + bbfiles = tinfoil.config_data.getVar('BBFILES').split() + fetchrecipedir = None + for pth in bbfiles: + if pth.endswith('.bb'): + pthdir = os.path.dirname(pth) + if os.access(os.path.dirname(os.path.dirname(pthdir)), os.W_OK): + fetchrecipedir = pthdir.replace('*', 'recipetool') + if pthdir.endswith('workspace/recipes/*'): + # Prefer the workspace + break + return fetchrecipedir + +def fetch_url(srcuri, srcrev, destdir, preserve_tmp=False): + """ + Fetch the specified URL using normal do_fetch and do_unpack tasks, i.e. + any dependencies that need to be satisfied in order to support the fetch + operation will be taken care of + """ + # FIXME find a better home for this + + checksums = {} + fetchrecipepn = None + + # We need to put our temp directory under ${BASE_WORKDIR} otherwise + # we may have problems with the recipe-specific sysroot population + tmpparent = tinfoil.config_data.getVar('BASE_WORKDIR') + bb.utils.mkdirhier(tmpparent) + tmpdir = tempfile.mkdtemp(prefix='recipetool-', dir=tmpparent) + try: + tmpworkdir = os.path.join(tmpdir, 'work') + logger.debug('fetch_url: temp dir is %s' % tmpdir) + + fetchrecipedir = get_temp_recipe_dir() + if not fetchrecipedir: + logger.error('Searched BBFILES but unable to find a writeable place to put temporary recipe') + sys.exit(1) + fetchrecipe = None + bb.utils.mkdirhier(fetchrecipedir) + try: + # Generate a dummy recipe so we can follow more or less normal paths + # for do_fetch and do_unpack + # I'd use tempfile functions here but underscores can be produced by that and those + # aren't allowed in recipe file names except to separate the version + rndstring = ''.join(random.choice(string.ascii_uppercase + string.digits) for _ in range(8)) + fetchrecipe = os.path.join(fetchrecipedir, 'tmp-recipetool-%s.bb' % rndstring) + fetchrecipepn = os.path.splitext(os.path.basename(fetchrecipe))[0] + logger.debug('Generating initial recipe %s for fetching' % fetchrecipe) + with open(fetchrecipe, 'w') as f: + # We don't want to have to specify LIC_FILES_CHKSUM + f.write('LICENSE = "CLOSED"\n') + # We don't need the cross-compiler + f.write('INHIBIT_DEFAULT_DEPS = "1"\n') + # We don't have the checksums yet so we can't require them + f.write('BB_STRICT_CHECKSUM = "ignore"\n') + f.write('SRC_URI = "%s"\n' % srcuri) + f.write('SRCREV = "%s"\n' % srcrev) + f.write('WORKDIR = "%s"\n' % tmpworkdir) + # Set S out of the way so it doesn't get created under the workdir + f.write('S = "%s"\n' % os.path.join(tmpdir, 'emptysrc')) + + logger.info('Fetching %s...' % srcuri) + + # FIXME this is too noisy at the moment + + # Parse recipes so our new recipe gets picked up + tinfoil.parse_recipes() + + def eventhandler(event): + if isinstance(event, bb.fetch2.MissingChecksumEvent): + checksums.update(event.checksums) + return True + return False + + # Run the fetch + unpack tasks + res = tinfoil.build_targets(fetchrecipepn, + 'do_unpack', + handle_events=True, + extra_events=['bb.fetch2.MissingChecksumEvent'], + event_callback=eventhandler) + if not res: + raise FetchUrlFailure(srcuri) + + # Remove unneeded directories + rd = tinfoil.parse_recipe(fetchrecipepn) + if rd: + pathvars = ['T', 'RECIPE_SYSROOT', 'RECIPE_SYSROOT_NATIVE'] + for pathvar in pathvars: + path = rd.getVar(pathvar) + shutil.rmtree(path) + finally: + if fetchrecipe: + try: + os.remove(fetchrecipe) + except FileNotFoundError: + pass + try: + os.rmdir(fetchrecipedir) + except OSError as e: + import errno + if e.errno != errno.ENOTEMPTY: + raise + + shutil.move(tmpworkdir, destdir) + + finally: + if not preserve_tmp: + shutil.rmtree(tmpdir) + tmpdir = None + + return checksums, tmpdir + + def create_recipe(args): import bb.process - import tempfile - import shutil import oe.recipeutils pkgarch = "" @@ -418,7 +543,7 @@ def create_recipe(args): pkgarch = "${MACHINE_ARCH}" extravalues = {} - checksums = (None, None) + checksums = {} tempsrc = '' source = args.source srcsubdir = '' @@ -440,24 +565,25 @@ def create_recipe(args): if res: srcrev = res.group(1) srcuri = rev_re.sub('', srcuri) - tempsrc = tempfile.mkdtemp(prefix='recipetool-') - srctree = tempsrc - d = bb.data.createCopy(tinfoil.config_data) - if fetchuri.startswith('npm://'): - # Check if npm is available - npm_bindir = ensure_npm(tinfoil) - if not npm_bindir: - sys.exit(14) - d.prependVar('PATH', '%s:' % npm_bindir) - logger.info('Fetching %s...' % srcuri) + + tmpparent = tinfoil.config_data.getVar('BASE_WORKDIR') + bb.utils.mkdirhier(tmpparent) + tempsrc = tempfile.mkdtemp(prefix='recipetool-', dir=tmpparent) + srctree = os.path.join(tempsrc, 'source') + try: - checksums = scriptutils.fetch_uri(d, fetchuri, srctree, srcrev) - except bb.fetch2.BBFetchException as e: - logger.error(str(e).rstrip()) + checksums, ftmpdir = fetch_url(srcuri, srcrev, srctree, preserve_tmp=args.keep_temp) + except FetchUrlFailure as e: + logger.error(str(e)) sys.exit(1) + + if ftmpdir and args.keep_temp: + logger.info('Fetch temp directory is %s' % ftmpdir) + dirlist = os.listdir(srctree) - if 'git.indirectionsymlink' in dirlist: - dirlist.remove('git.indirectionsymlink') + filterout = ['git.indirectionsymlink'] + dirlist = [x for x in dirlist if x not in filterout] + logger.debug('Directory listing (excluding filtered out):\n %s' % '\n '.join(dirlist)) if len(dirlist) == 1: singleitem = os.path.join(srctree, dirlist[0]) if os.path.isdir(singleitem): @@ -468,7 +594,7 @@ def create_recipe(args): check_single_file(dirlist[0], fetchuri) elif len(dirlist) == 0: if '/' in fetchuri: - fn = os.path.join(d.getVar('DL_DIR'), fetchuri.split('/')[-1]) + fn = os.path.join(tinfoil.config_data.getVar('DL_DIR'), fetchuri.split('/')[-1]) if os.path.isfile(fn): check_single_file(fn, fetchuri) # If we've got to here then there's no source so we might as well give up @@ -605,11 +731,8 @@ def create_recipe(args): if not srcuri: lines_before.append('# No information for SRC_URI yet (only an external source tree was specified)') lines_before.append('SRC_URI = "%s"' % srcuri) - (md5value, sha256value) = checksums - if md5value: - lines_before.append('SRC_URI[md5sum] = "%s"' % md5value) - if sha256value: - lines_before.append('SRC_URI[sha256sum] = "%s"' % sha256value) + for key, value in sorted(checksums.items()): + lines_before.append('SRC_URI[%s] = "%s"' % (key, value)) if srcuri and supports_srcrev(srcuri): lines_before.append('') lines_before.append('# Modify these as desired') -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 13:02:32 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 13:02:32 +0000 Subject: [oe-commits] [openembedded-core] 05/06: recipetool: create: ensure meaningful error for malformed tarballs In-Reply-To: <150046934774.18395.10615824401305020476@git.openembedded.org> References: <150046934774.18395.10615824401305020476@git.openembedded.org> Message-ID: <20170719130228.06EF12335DF@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 9fc1ded84c7a005ddd346dbac1e805db30c4885f Author: Paul Eggleton AuthorDate: Wed Jul 19 12:07:17 2017 +0200 recipetool: create: ensure meaningful error for malformed tarballs If you pointed recipetool at a URL that should be a tarball e.g. https://tls.mbed.org/download/start/mbedtls-2.4.2-apache.tgz but instead it returns an HTML page, we try to unpack it, gzip complains but the operation doesn't seem to fail - instead we just get back an empty source tree. Change the checks to account for this - if the source tree is empty, check if the downloaded file in DL_DIR looks like an HTML file and error accordingly if it is. If it's not, error out anyway because no source was unpacked and it should have been (otherwise we just blindly set up EXTERNALSRC for this which is pointless). Fixes an aspect of [YOCTO #11407]. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- scripts/lib/recipetool/create.py | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/scripts/lib/recipetool/create.py b/scripts/lib/recipetool/create.py index 868d18b..4e965e4 100644 --- a/scripts/lib/recipetool/create.py +++ b/scripts/lib/recipetool/create.py @@ -465,10 +465,16 @@ def create_recipe(args): srcsubdir = dirlist[0] srctree = os.path.join(srctree, srcsubdir) else: - with open(singleitem, 'r', errors='surrogateescape') as f: - if ' fb28c54) Message-ID: <150047364368.31629.12717355430751017533@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch krogoth in repository openembedded-core. from 7f26cee initrdscripts/init-install*: Add rootwait when installing to USB devices new 1a713fb libgcrypt: fix CVE-2017-7526 new fb28c54 libgcrypt: fix CVE-2017-9526 The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: ...-Store-EdDSA-session-key-in-secure-memory.patch | 39 ++ .../libgcrypt/files/CVE-2017-7526.patch | 455 +++++++++++++++++++++ meta/recipes-support/libgcrypt/libgcrypt.inc | 2 + 3 files changed, 496 insertions(+) create mode 100644 meta/recipes-support/libgcrypt/files/0001-ecc-Store-EdDSA-session-key-in-secure-memory.patch create mode 100644 meta/recipes-support/libgcrypt/files/CVE-2017-7526.patch -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 14:14:04 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 14:14:04 +0000 Subject: [oe-commits] [openembedded-core] 01/02: libgcrypt: fix CVE-2017-7526 In-Reply-To: <150047364368.31629.12717355430751017533@git.openembedded.org> References: <150047364368.31629.12717355430751017533@git.openembedded.org> Message-ID: <20170719141404.0F8A02335DB@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch krogoth in repository openembedded-core. commit 1a713fb654a31a6dd218dc1b5b810e2b380ecbb1 Author: Ross Burton AuthorDate: Wed Jul 19 14:27:31 2017 +0100 libgcrypt: fix CVE-2017-7526 Fixes CVE-2017-7526, 'flush+reload side-channel attack on RSA secret keys dubbed "Sliding right into disaster"'. Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- .../libgcrypt/files/CVE-2017-7526.patch | 455 +++++++++++++++++++++ meta/recipes-support/libgcrypt/libgcrypt.inc | 1 + 2 files changed, 456 insertions(+) diff --git a/meta/recipes-support/libgcrypt/files/CVE-2017-7526.patch b/meta/recipes-support/libgcrypt/files/CVE-2017-7526.patch new file mode 100644 index 0000000..c9541d4 --- /dev/null +++ b/meta/recipes-support/libgcrypt/files/CVE-2017-7526.patch @@ -0,0 +1,455 @@ +Flush+reload side-channel attack on RSA secret keys dubbed "Sliding right +into disaster". + +CVE: CVE-2017-7526 +Upstream-Status: Backport +Signed-off-by: Ross Burton + +From 8ae178108eb3c64b40dcb4d1c1943205a86db724 Mon Sep 17 00:00:00 2001 +From: NIIBE Yutaka +Date: Tue, 4 Apr 2017 17:38:05 +0900 +Subject: [PATCH 1/5] mpi: Simplify mpi_powm. + +* mpi/mpi-pow.c (_gcry_mpi_powm): Simplify the loop. + +-- + +This fix is not a solution for the problem reported (yet). The +problem is that the current algorithm of _gcry_mpi_powm depends on +exponent and some information leaks is possible. + +Reported-by: Andreas Zankl +Signed-off-by: NIIBE Yutaka + +(backport from master commit: +719468e53133d3bdf12156c5bfdea2bf15f9f6f1) + +Signed-off-by: Ross Burton +--- + mpi/mpi-pow.c | 105 +++++++++++++++++----------------------------------------- + 1 file changed, 30 insertions(+), 75 deletions(-) + +diff --git a/mpi/mpi-pow.c b/mpi/mpi-pow.c +index 70bf9e84..c00cfed3 100644 +--- a/mpi/mpi-pow.c ++++ b/mpi/mpi-pow.c +@@ -613,12 +613,8 @@ _gcry_mpi_powm (gcry_mpi_t res, + if (e == 0) + { + j += c; +- i--; +- if ( i < 0 ) +- { +- c = 0; +- break; +- } ++ if ( --i < 0 ) ++ break; + + e = ep[i]; + c = BITS_PER_MPI_LIMB; +@@ -633,38 +629,33 @@ _gcry_mpi_powm (gcry_mpi_t res, + c -= c0; + j += c0; + ++ e0 = (e >> (BITS_PER_MPI_LIMB - W)); + if (c >= W) +- { +- e0 = (e >> (BITS_PER_MPI_LIMB - W)); +- e = (e << W); +- c -= W; +- } ++ c0 = 0; + else + { +- i--; +- if ( i < 0 ) ++ if ( --i < 0 ) + { +- e = (e >> (BITS_PER_MPI_LIMB - c)); +- break; ++ e0 = (e >> (BITS_PER_MPI_LIMB - c)); ++ j += c - W; ++ goto last_step; ++ } ++ else ++ { ++ c0 = c; ++ e = ep[i]; ++ c = BITS_PER_MPI_LIMB; ++ e0 |= (e >> (BITS_PER_MPI_LIMB - (W - c0))); + } +- +- c0 = c; +- e0 = (e >> (BITS_PER_MPI_LIMB - W)) +- | (ep[i] >> (BITS_PER_MPI_LIMB - W + c0)); +- e = (ep[i] << (W - c0)); +- c = BITS_PER_MPI_LIMB - W + c0; + } + ++ e = e << (W - c0); ++ c -= (W - c0); ++ ++ last_step: + count_trailing_zeros (c0, e0); + e0 = (e0 >> c0) >> 1; + +- for (j += W - c0; j; j--) +- { +- mul_mod (xp, &xsize, rp, rsize, rp, rsize, mp, msize, &karactx); +- tp = rp; rp = xp; xp = tp; +- rsize = xsize; +- } +- + /* + * base_u <= precomp[e0] + * base_u_size <= precomp_size[e0] +@@ -681,25 +672,23 @@ _gcry_mpi_powm (gcry_mpi_t res, + u.d = precomp[k]; + + mpi_set_cond (&w, &u, k == e0); +- base_u_size |= (precomp_size[k] & ((mpi_size_t)0 - (k == e0)) ); ++ base_u_size |= ( precomp_size[k] & ((mpi_size_t)0 - (k == e0)) ); + } + +- mul_mod (xp, &xsize, rp, rsize, base_u, base_u_size, +- mp, msize, &karactx); +- tp = rp; rp = xp; xp = tp; +- rsize = xsize; ++ for (j += W - c0; j >= 0; j--) ++ { ++ mul_mod (xp, &xsize, rp, rsize, ++ j == 0 ? base_u : rp, j == 0 ? base_u_size : rsize, ++ mp, msize, &karactx); ++ tp = rp; rp = xp; xp = tp; ++ rsize = xsize; ++ } + + j = c0; ++ if ( i < 0 ) ++ break; + } + +- if (c != 0) +- { +- j += c; +- count_trailing_zeros (c, e); +- e = (e >> c); +- j -= c; +- } +- + while (j--) + { + mul_mod (xp, &xsize, rp, rsize, rp, rsize, mp, msize, &karactx); +@@ -707,40 +696,6 @@ _gcry_mpi_powm (gcry_mpi_t res, + rsize = xsize; + } + +- if (e != 0) +- { +- /* +- * base_u <= precomp[(e>>1)] +- * base_u_size <= precomp_size[(e>>1)] +- */ +- base_u_size = 0; +- for (k = 0; k < (1<< (W - 1)); k++) +- { +- struct gcry_mpi w, u; +- w.alloced = w.nlimbs = precomp_size[k]; +- u.alloced = u.nlimbs = precomp_size[k]; +- w.sign = u.sign = 0; +- w.flags = u.flags = 0; +- w.d = base_u; +- u.d = precomp[k]; +- +- mpi_set_cond (&w, &u, k == (e>>1)); +- base_u_size |= (precomp_size[k] & ((mpi_size_t)0 - (k == (e>>1))) ); +- } +- +- mul_mod (xp, &xsize, rp, rsize, base_u, base_u_size, +- mp, msize, &karactx); +- tp = rp; rp = xp; xp = tp; +- rsize = xsize; +- +- for (; c; c--) +- { +- mul_mod (xp, &xsize, rp, rsize, rp, rsize, mp, msize, &karactx); +- tp = rp; rp = xp; xp = tp; +- rsize = xsize; +- } +- } +- + /* We shifted MOD, the modulo reduction argument, left + MOD_SHIFT_CNT steps. Adjust the result by reducing it with the + original MOD. +-- +2.11.0 + + +From ab6d34849f33d16e1da2b09e3d938bcb0f48f682 Mon Sep 17 00:00:00 2001 +From: NIIBE Yutaka +Date: Sat, 24 Jun 2017 20:46:20 +0900 +Subject: [PATCH 2/5] Same computation for square and multiply. + +* mpi/mpi-pow.c (_gcry_mpi_powm): Compare msize for max_u_size. Move +the assignment to base_u into the loop. Copy content refered by RP to +BASE_U except the last of the loop. + +-- + +Signed-off-by: NIIBE Yutaka +(backport from master commit: +78130828e9a140a9de4dafadbc844dbb64cb709a) + +Signed-off-by: Ross Burton +--- + mpi/mpi-pow.c | 50 +++++++++++++++++++++++++++++--------------------- + 1 file changed, 29 insertions(+), 21 deletions(-) + +diff --git a/mpi/mpi-pow.c b/mpi/mpi-pow.c +index c00cfed3..0d74f28c 100644 +--- a/mpi/mpi-pow.c ++++ b/mpi/mpi-pow.c +@@ -577,6 +577,8 @@ _gcry_mpi_powm (gcry_mpi_t res, + MPN_COPY (precomp[i], rp, rsize); + } + ++ if (msize > max_u_size) ++ max_u_size = msize; + base_u = mpi_alloc_limb_space (max_u_size, esec); + MPN_ZERO (base_u, max_u_size); + +@@ -623,6 +625,10 @@ _gcry_mpi_powm (gcry_mpi_t res, + { + int c0; + mpi_limb_t e0; ++ struct gcry_mpi w, u; ++ w.sign = u.sign = 0; ++ w.flags = u.flags = 0; ++ w.d = base_u; + + count_leading_zeros (c0, e); + e = (e << c0); +@@ -656,29 +662,31 @@ _gcry_mpi_powm (gcry_mpi_t res, + count_trailing_zeros (c0, e0); + e0 = (e0 >> c0) >> 1; + +- /* +- * base_u <= precomp[e0] +- * base_u_size <= precomp_size[e0] +- */ +- base_u_size = 0; +- for (k = 0; k < (1<< (W - 1)); k++) +- { +- struct gcry_mpi w, u; +- w.alloced = w.nlimbs = precomp_size[k]; +- u.alloced = u.nlimbs = precomp_size[k]; +- w.sign = u.sign = 0; +- w.flags = u.flags = 0; +- w.d = base_u; +- u.d = precomp[k]; +- +- mpi_set_cond (&w, &u, k == e0); +- base_u_size |= ( precomp_size[k] & ((mpi_size_t)0 - (k == e0)) ); +- } +- + for (j += W - c0; j >= 0; j--) + { +- mul_mod (xp, &xsize, rp, rsize, +- j == 0 ? base_u : rp, j == 0 ? base_u_size : rsize, ++ ++ /* ++ * base_u <= precomp[e0] ++ * base_u_size <= precomp_size[e0] ++ */ ++ base_u_size = 0; ++ for (k = 0; k < (1<< (W - 1)); k++) ++ { ++ w.alloced = w.nlimbs = precomp_size[k]; ++ u.alloced = u.nlimbs = precomp_size[k]; ++ u.d = precomp[k]; ++ ++ mpi_set_cond (&w, &u, k == e0); ++ base_u_size |= ( precomp_size[k] & (0UL - (k == e0)) ); ++ } ++ ++ w.alloced = w.nlimbs = rsize; ++ u.alloced = u.nlimbs = rsize; ++ u.d = rp; ++ mpi_set_cond (&w, &u, j != 0); ++ base_u_size ^= ((base_u_size ^ rsize) & (0UL - (j != 0))); ++ ++ mul_mod (xp, &xsize, rp, rsize, base_u, base_u_size, + mp, msize, &karactx); + tp = rp; rp = xp; xp = tp; + rsize = xsize; +-- +2.11.0 + + +From b5370d527612d2c453a366729f07892974b28ba8 Mon Sep 17 00:00:00 2001 +From: NIIBE Yutaka +Date: Thu, 29 Jun 2017 11:48:44 +0900 +Subject: [PATCH 3/5] rsa: Add exponent blinding. + +* cipher/rsa.c (secret): Blind secret D with randomized nonce R for +mpi_powm computation. + +-- + +Co-authored-by: Werner Koch +Signed-off-by: NIIBE Yutaka + +The paper describing attack: https://eprint.iacr.org/2017/627 + +Sliding right into disaster: Left-to-right sliding windows leak +by Daniel J. Bernstein and Joachim Breitner and Daniel Genkin and +Leon Groot Bruinderink and Nadia Heninger and Tanja Lange and +Christine van Vredendaal and Yuval Yarom + + It is well known that constant-time implementations of modular + exponentiation cannot use sliding windows. However, software + libraries such as Libgcrypt, used by GnuPG, continue to use sliding + windows. It is widely believed that, even if the complete pattern of + squarings and multiplications is observed through a side-channel + attack, the number of exponent bits leaked is not sufficient to + carry out a full key-recovery attack against RSA. Specifically, + 4-bit sliding windows leak only 40% of the bits, and 5-bit sliding + windows leak only 33% of the bits. + + In this paper we demonstrate a complete break of RSA-1024 as + implemented in Libgcrypt. Our attack makes essential use of the fact + that Libgcrypt uses the left-to-right method for computing the + sliding-window expansion. We show for the first time that the + direction of the encoding matters: the pattern of squarings and + multiplications in left-to-right sliding windows leaks significantly + more information about exponent bits than for right-to-left. We show + how to incorporate this additional information into the + Heninger-Shacham algorithm for partial key reconstruction, and use + it to obtain very efficient full key recovery for RSA-1024. We also + provide strong evidence that the same attack works for RSA-2048 with + only moderately more computation. + +Exponent blinding is a kind of workaround to add noise. Signal (leak) +is still there for non-constant-time implementation. + +(backported from master commit: +8725c99ffa41778f382ca97233183bcd687bb0ce) + +Signed-off-by: Ross Burton +--- + cipher/rsa.c | 32 +++++++++++++++++++++++++------- + 1 file changed, 25 insertions(+), 7 deletions(-) + +diff --git a/cipher/rsa.c b/cipher/rsa.c +index 0b98b6a8..d8658476 100644 +--- a/cipher/rsa.c ++++ b/cipher/rsa.c +@@ -724,15 +724,33 @@ secret (gcry_mpi_t output, gcry_mpi_t input, RSA_secret_key *skey ) + gcry_mpi_t m1 = mpi_alloc_secure( mpi_get_nlimbs(skey->n)+1 ); + gcry_mpi_t m2 = mpi_alloc_secure( mpi_get_nlimbs(skey->n)+1 ); + gcry_mpi_t h = mpi_alloc_secure( mpi_get_nlimbs(skey->n)+1 ); +- +- /* m1 = c ^ (d mod (p-1)) mod p */ ++ gcry_mpi_t D_blind = mpi_alloc_secure ( mpi_get_nlimbs(skey->n) + 1 ); ++ gcry_mpi_t r; ++ unsigned int r_nbits; ++ ++ r_nbits = mpi_get_nbits (skey->p) / 4; ++ if (r_nbits < 96) ++ r_nbits = 96; ++ r = mpi_alloc_secure ((r_nbits + BITS_PER_MPI_LIMB-1)/BITS_PER_MPI_LIMB); ++ ++ /* d_blind = (d mod (p-1)) + (p-1) * r */ ++ /* m1 = c ^ d_blind mod p */ ++ _gcry_mpi_randomize (r, r_nbits, GCRY_WEAK_RANDOM); ++ mpi_set_highbit (r, r_nbits - 1); + mpi_sub_ui( h, skey->p, 1 ); +- mpi_fdiv_r( h, skey->d, h ); +- mpi_powm( m1, input, h, skey->p ); +- /* m2 = c ^ (d mod (q-1)) mod q */ ++ mpi_mul ( D_blind, h, r ); ++ mpi_fdiv_r ( h, skey->d, h ); ++ mpi_add ( D_blind, D_blind, h ); ++ mpi_powm( m1, input, D_blind, skey->p ); ++ /* d_blind = (d mod (q-1)) + (q-1) * r */ ++ /* m2 = c ^ d_blind mod q */ ++ _gcry_mpi_randomize (r, r_nbits, GCRY_WEAK_RANDOM); ++ mpi_set_highbit (r, r_nbits - 1); + mpi_sub_ui( h, skey->q, 1 ); +- mpi_fdiv_r( h, skey->d, h ); +- mpi_powm( m2, input, h, skey->q ); ++ mpi_mul ( D_blind, h, r ); ++ mpi_fdiv_r ( h, skey->d, h ); ++ mpi_add ( D_blind, D_blind, h ); ++ mpi_powm( m2, input, D_blind, skey->q ); + /* h = u * ( m2 - m1 ) mod q */ + mpi_sub( h, m2, m1 ); + if ( mpi_has_sign ( h ) ) +-- +2.11.0 + + +From b7c572550b8759f2b0e45ee72df0494700b26da1 Mon Sep 17 00:00:00 2001 +From: NIIBE Yutaka +Date: Thu, 29 Jun 2017 12:36:27 +0900 +Subject: [PATCH 4/5] rsa: Fix exponent blinding. + +* cipher/rsa.c (secret): Free D_BLIND. + +-- + +Fixes-commit: a9f612def801c8145d551d995475e5d51a4c988c +Signed-off-by: NIIBE Yutaka +Signed-off-by: Ross Burton +--- + cipher/rsa.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/cipher/rsa.c b/cipher/rsa.c +index d8658476..9474fe89 100644 +--- a/cipher/rsa.c ++++ b/cipher/rsa.c +@@ -760,6 +760,7 @@ secret (gcry_mpi_t output, gcry_mpi_t input, RSA_secret_key *skey ) + mpi_mul ( h, h, skey->p ); + mpi_add ( output, m1, h ); + ++ mpi_free ( D_blind ); + mpi_free ( h ); + mpi_free ( m1 ); + mpi_free ( m2 ); +-- +2.11.0 + + +From e5a5f14bdd8d6265f85264575a1f3c3307306849 Mon Sep 17 00:00:00 2001 +From: NIIBE Yutaka +Date: Thu, 29 Jun 2017 12:40:19 +0900 +Subject: [PATCH 5/5] rsa: More fix. + +* cipher/rsa.c (secret): Free R. + +-- + +Fixes-commit: a9f612def801c8145d551d995475e5d51a4c988c +Signed-off-by: NIIBE Yutaka +Signed-off-by: Ross Burton +--- + cipher/rsa.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/cipher/rsa.c b/cipher/rsa.c +index 9474fe89..b151b39f 100644 +--- a/cipher/rsa.c ++++ b/cipher/rsa.c +@@ -760,6 +760,7 @@ secret (gcry_mpi_t output, gcry_mpi_t input, RSA_secret_key *skey ) + mpi_mul ( h, h, skey->p ); + mpi_add ( output, m1, h ); + ++ mpi_free ( r ); + mpi_free ( D_blind ); + mpi_free ( h ); + mpi_free ( m1 ); +-- +2.11.0 + diff --git a/meta/recipes-support/libgcrypt/libgcrypt.inc b/meta/recipes-support/libgcrypt/libgcrypt.inc index 5478253..404f870 100644 --- a/meta/recipes-support/libgcrypt/libgcrypt.inc +++ b/meta/recipes-support/libgcrypt/libgcrypt.inc @@ -18,6 +18,7 @@ SRC_URI = "ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-${PV}.tar.gz \ file://add-pkgconfig-support.patch \ file://libgcrypt-fix-building-error-with-O2-in-sysroot-path.patch \ file://fix-ICE-failure-on-mips-with-option-O-and-g.patch \ + file://CVE-2017-7526.patch \ " BINCONFIG = "${bindir}/libgcrypt-config" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 14:14:06 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 14:14:06 +0000 Subject: [oe-commits] [openembedded-core] branch master updated (549cb94 -> c4c2fb3) Message-ID: <150047364369.31629.9786897749929454372@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master in repository openembedded-core. from 549cb94 systemd: refuse to load units with errors (CVE-2017-1000082) new 4b48c0a libgcrypt: merge bb and inc file new c4c2fb3 libgcrypt: upgrade to 1.7.8 The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: meta/recipes-support/libgcrypt/libgcrypt_1.7.7.bb | 4 ---- meta/recipes-support/libgcrypt/{libgcrypt.inc => libgcrypt_1.7.8.bb} | 2 ++ 2 files changed, 2 insertions(+), 4 deletions(-) delete mode 100644 meta/recipes-support/libgcrypt/libgcrypt_1.7.7.bb rename meta/recipes-support/libgcrypt/{libgcrypt.inc => libgcrypt_1.7.8.bb} (92%) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 14:14:05 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 14:14:05 +0000 Subject: [oe-commits] [openembedded-core] 02/02: libgcrypt: fix CVE-2017-9526 In-Reply-To: <150047364368.31629.12717355430751017533@git.openembedded.org> References: <150047364368.31629.12717355430751017533@git.openembedded.org> Message-ID: <20170719141404.16C022335DC@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch krogoth in repository openembedded-core. commit fb28c54347fcf4957b9b8ee7dee423d859eb7820 Author: Ross Burton AuthorDate: Wed Jul 19 14:27:32 2017 +0100 libgcrypt: fix CVE-2017-9526 In libgcrypt before 1.7.7, an attacker who learns the EdDSA session key (from side-channel observation during the signing process) can easily recover the long-term secret key. 1.7.7 makes a cipher/ecc-eddsa.c change to store this session key in secure memory, to ensure that constant-time point operations are used in the MPI library. Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- ...-Store-EdDSA-session-key-in-secure-memory.patch | 39 ++++++++++++++++++++++ meta/recipes-support/libgcrypt/libgcrypt.inc | 1 + 2 files changed, 40 insertions(+) diff --git a/meta/recipes-support/libgcrypt/files/0001-ecc-Store-EdDSA-session-key-in-secure-memory.patch b/meta/recipes-support/libgcrypt/files/0001-ecc-Store-EdDSA-session-key-in-secure-memory.patch new file mode 100644 index 0000000..f6c4ca7 --- /dev/null +++ b/meta/recipes-support/libgcrypt/files/0001-ecc-Store-EdDSA-session-key-in-secure-memory.patch @@ -0,0 +1,39 @@ +CVE: CVE-2017-9526 +Upstream-Status: Backport +Signed-off-by: Ross Burton + +From b3cab278eb9c2ceda79f980bc26460d97f260041 Mon Sep 17 00:00:00 2001 +From: Jo Van Bulck +Date: Thu, 19 Jan 2017 17:00:15 +0100 +Subject: [PATCH] ecc: Store EdDSA session key in secure memory. + +* cipher/ecc-eddsa.c (_gcry_ecc_eddsa_sign): use mpi_snew to allocate +session key. +-- + +An attacker who learns the EdDSA session key from side-channel +observation during the signing process, can easily revover the long- +term secret key. Storing the session key in secure memory ensures that +constant time point operations are used in the MPI library. + +Signed-off-by: Jo Van Bulck +--- + cipher/ecc-eddsa.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/cipher/ecc-eddsa.c b/cipher/ecc-eddsa.c +index f91f8489..813e030d 100644 +--- a/cipher/ecc-eddsa.c ++++ b/cipher/ecc-eddsa.c +@@ -603,7 +603,7 @@ _gcry_ecc_eddsa_sign (gcry_mpi_t input, ECC_secret_key *skey, + a = mpi_snew (0); + x = mpi_new (0); + y = mpi_new (0); +- r = mpi_new (0); ++ r = mpi_snew (0); + ctx = _gcry_mpi_ec_p_internal_new (skey->E.model, skey->E.dialect, 0, + skey->E.p, skey->E.a, skey->E.b); + b = (ctx->nbits+7)/8; +-- +2.11.0 + diff --git a/meta/recipes-support/libgcrypt/libgcrypt.inc b/meta/recipes-support/libgcrypt/libgcrypt.inc index 404f870..8e7a38f 100644 --- a/meta/recipes-support/libgcrypt/libgcrypt.inc +++ b/meta/recipes-support/libgcrypt/libgcrypt.inc @@ -18,6 +18,7 @@ SRC_URI = "ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-${PV}.tar.gz \ file://add-pkgconfig-support.patch \ file://libgcrypt-fix-building-error-with-O2-in-sysroot-path.patch \ file://fix-ICE-failure-on-mips-with-option-O-and-g.patch \ + file://0001-ecc-Store-EdDSA-session-key-in-secure-memory.patch \ file://CVE-2017-7526.patch \ " -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 14:14:07 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 14:14:07 +0000 Subject: [oe-commits] [openembedded-core] 01/02: libgcrypt: merge bb and inc file In-Reply-To: <150047364369.31629.9786897749929454372@git.openembedded.org> References: <150047364369.31629.9786897749929454372@git.openembedded.org> Message-ID: <20170719141404.45D752335DE@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 4b48c0afdf24c4fc71479893c262b5f35d8c188a Author: Ross Burton AuthorDate: Wed Jul 19 14:25:52 2017 +0100 libgcrypt: merge bb and inc file Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- meta/recipes-support/libgcrypt/libgcrypt.inc | 50 ----------------------- meta/recipes-support/libgcrypt/libgcrypt_1.7.7.bb | 50 ++++++++++++++++++++++- 2 files changed, 49 insertions(+), 51 deletions(-) diff --git a/meta/recipes-support/libgcrypt/libgcrypt.inc b/meta/recipes-support/libgcrypt/libgcrypt.inc deleted file mode 100644 index 3c7e89a..0000000 --- a/meta/recipes-support/libgcrypt/libgcrypt.inc +++ /dev/null @@ -1,50 +0,0 @@ -SUMMARY = "General purpose cryptographic library based on the code from GnuPG" -HOMEPAGE = "http://directory.fsf.org/project/libgcrypt/" -BUGTRACKER = "https://bugs.g10code.com/gnupg/index" -SECTION = "libs" - -# helper program gcryptrnd and getrandom are under GPL, rest LGPL -LICENSE = "GPLv2+ & LGPLv2.1+ & GPLv3+" -LICENSE_${PN} = "LGPLv2.1+" -LICENSE_${PN}-dev = "GPLv2+ & LGPLv2.1+" -LICENSE_dumpsexp-dev = "GPLv3+" - -LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ - file://COPYING.LIB;md5=bbb461211a33b134d42ed5ee802b37ff" - -DEPENDS = "libgpg-error" - -UPSTREAM_CHECK_URI = "https://gnupg.org/download/index.html" -SRC_URI = "${GNUPG_MIRROR}/libgcrypt/libgcrypt-${PV}.tar.gz \ - file://add-pkgconfig-support.patch \ - file://libgcrypt-fix-building-error-with-O2-in-sysroot-path.patch \ - file://fix-ICE-failure-on-mips-with-option-O-and-g.patch \ - file://fix-undefined-reference-to-pthread.patch \ -" - -BINCONFIG = "${bindir}/libgcrypt-config" - -inherit autotools texinfo binconfig-disabled pkgconfig - -EXTRA_OECONF = "--disable-asm" - -PACKAGECONFIG ??= "capabilities" -PACKAGECONFIG[capabilities] = "--with-capabilities,--without-capabilities,libcap" - -do_configure_prepend () { - # Else this could be used in preference to the one in aclocal-copy - rm -f ${S}/m4/gpg-error.m4 -} - -# libgcrypt.pc is added locally and thus installed here -do_install_append() { - install -d ${D}/${libdir}/pkgconfig - install -m 0644 ${B}/src/libgcrypt.pc ${D}/${libdir}/pkgconfig/ -} - -PACKAGES =+ "dumpsexp-dev" - -FILES_${PN}-dev += "${bindir}/hmac256" -FILES_dumpsexp-dev += "${bindir}/dumpsexp" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-support/libgcrypt/libgcrypt_1.7.7.bb b/meta/recipes-support/libgcrypt/libgcrypt_1.7.7.bb index 2bc21d2..7f7d852 100644 --- a/meta/recipes-support/libgcrypt/libgcrypt_1.7.7.bb +++ b/meta/recipes-support/libgcrypt/libgcrypt_1.7.7.bb @@ -1,4 +1,52 @@ -require libgcrypt.inc +SUMMARY = "General purpose cryptographic library based on the code from GnuPG" +HOMEPAGE = "http://directory.fsf.org/project/libgcrypt/" +BUGTRACKER = "https://bugs.g10code.com/gnupg/index" +SECTION = "libs" +# helper program gcryptrnd and getrandom are under GPL, rest LGPL +LICENSE = "GPLv2+ & LGPLv2.1+ & GPLv3+" +LICENSE_${PN} = "LGPLv2.1+" +LICENSE_${PN}-dev = "GPLv2+ & LGPLv2.1+" +LICENSE_dumpsexp-dev = "GPLv3+" + +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ + file://COPYING.LIB;md5=bbb461211a33b134d42ed5ee802b37ff" + +DEPENDS = "libgpg-error" + +UPSTREAM_CHECK_URI = "https://gnupg.org/download/index.html" +SRC_URI = "${GNUPG_MIRROR}/libgcrypt/libgcrypt-${PV}.tar.gz \ + file://add-pkgconfig-support.patch \ + file://libgcrypt-fix-building-error-with-O2-in-sysroot-path.patch \ + file://fix-ICE-failure-on-mips-with-option-O-and-g.patch \ + file://fix-undefined-reference-to-pthread.patch \ +" SRC_URI[md5sum] = "36ace8f8dc4b1a82793ae759bbfc806f" SRC_URI[sha256sum] = "0e72e91290d553c303095a50ea660279d8f11b76c6c86e826f470442fcdf1edd" + +BINCONFIG = "${bindir}/libgcrypt-config" + +inherit autotools texinfo binconfig-disabled pkgconfig + +EXTRA_OECONF = "--disable-asm" + +PACKAGECONFIG ??= "capabilities" +PACKAGECONFIG[capabilities] = "--with-capabilities,--without-capabilities,libcap" + +do_configure_prepend () { + # Else this could be used in preference to the one in aclocal-copy + rm -f ${S}/m4/gpg-error.m4 +} + +# libgcrypt.pc is added locally and thus installed here +do_install_append() { + install -d ${D}/${libdir}/pkgconfig + install -m 0644 ${B}/src/libgcrypt.pc ${D}/${libdir}/pkgconfig/ +} + +PACKAGES =+ "dumpsexp-dev" + +FILES_${PN}-dev += "${bindir}/hmac256" +FILES_dumpsexp-dev += "${bindir}/dumpsexp" + +BBCLASSEXTEND = "native nativesdk" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 14:14:08 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 14:14:08 +0000 Subject: [oe-commits] [openembedded-core] 02/02: libgcrypt: upgrade to 1.7.8 In-Reply-To: <150047364369.31629.9786897749929454372@git.openembedded.org> References: <150047364369.31629.9786897749929454372@git.openembedded.org> Message-ID: <20170719141404.4E4262335DF@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit c4c2fb3732dbb290b7f0ca43af2e8662f99e4582 Author: Ross Burton AuthorDate: Wed Jul 19 14:25:53 2017 +0100 libgcrypt: upgrade to 1.7.8 Fixes CVE-2017-7526, 'flush+reload side-channel attack on RSA secret keys dubbed "Sliding right into disaster"'. Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- .../libgcrypt/{libgcrypt_1.7.7.bb => libgcrypt_1.7.8.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-support/libgcrypt/libgcrypt_1.7.7.bb b/meta/recipes-support/libgcrypt/libgcrypt_1.7.8.bb similarity index 92% rename from meta/recipes-support/libgcrypt/libgcrypt_1.7.7.bb rename to meta/recipes-support/libgcrypt/libgcrypt_1.7.8.bb index 7f7d852..8335159 100644 --- a/meta/recipes-support/libgcrypt/libgcrypt_1.7.7.bb +++ b/meta/recipes-support/libgcrypt/libgcrypt_1.7.8.bb @@ -21,8 +21,8 @@ SRC_URI = "${GNUPG_MIRROR}/libgcrypt/libgcrypt-${PV}.tar.gz \ file://fix-ICE-failure-on-mips-with-option-O-and-g.patch \ file://fix-undefined-reference-to-pthread.patch \ " -SRC_URI[md5sum] = "36ace8f8dc4b1a82793ae759bbfc806f" -SRC_URI[sha256sum] = "0e72e91290d553c303095a50ea660279d8f11b76c6c86e826f470442fcdf1edd" +SRC_URI[md5sum] = "5588b89b75b1353e2454b04c7b8368f3" +SRC_URI[sha256sum] = "cb076b2efc7ba752f3d4c663c9ee0589a98b1d614fe90878b1facd607a45fd43" BINCONFIG = "${bindir}/libgcrypt-config" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 14:43:41 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 14:43:41 +0000 Subject: [oe-commits] [openembedded-core] 01/03: recipetool: Setup logging before calling prepare In-Reply-To: <150047542028.5025.7345067773014272265@git.openembedded.org> References: <150047542028.5025.7345067773014272265@git.openembedded.org> Message-ID: <20170719144340.6635D2335DB@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch krogoth in repository openembedded-core. commit 737a44e9f2ed64b5da658db2ebe9daf226b378e6 Author: Richard Purdie AuthorDate: Wed Jul 19 14:45:01 2017 +0100 recipetool: Setup logging before calling prepare This avoids test failures like: ====================================================================== ERROR [0.946s]: test_recipetool_load_plugin (recipetool.RecipetoolTests) INFO - ---------------------------------------------------------------------- INFO - Traceback (most recent call last): File "/media/build1/poky/meta/lib/oeqa/core/decorator/__init__.py", line 32, in wrapped_f return func(*args, **kwargs) File "/media/build1/poky/meta/lib/oeqa/selftest/cases/recipetool.py", line 514, in test_recipetool_load_plugin with open(srcfile) as fh: FileNotFoundError: [Errno 2] No such file or directory: 'NOTE: Starting bitbake server...\n/media/build1/poky/meta-selftest/lib/recipetool/bbpath.py' INFO - ---------------------------------------------------------------------- which comes from: $ recipetool --quiet pluginfile NOTE: Starting bitbake server... /media/build1/poky/meta-selftest/lib/recipetool/bbpath.py since there is corruption in the output despite the --quiet option. Setting the logging up before calling tinfoil.prepare() resolves this. Signed-off-by: Richard Purdie --- scripts/recipetool | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/recipetool b/scripts/recipetool index 6c66487..0bcf348 100755 --- a/scripts/recipetool +++ b/scripts/recipetool @@ -36,8 +36,8 @@ def tinfoil_init(parserecipes): import bb.tinfoil import logging tinfoil = bb.tinfoil.Tinfoil(tracking=True) - tinfoil.prepare(not parserecipes) tinfoil.logger.setLevel(logger.getEffectiveLevel()) + tinfoil.prepare(not parserecipes) return tinfoil def main(): -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 14:43:40 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 14:43:40 +0000 Subject: [oe-commits] [openembedded-core] branch krogoth updated (fb28c54 -> 73fa5a8) Message-ID: <150047542028.5025.7345067773014272265@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch krogoth in repository openembedded-core. from fb28c54 libgcrypt: fix CVE-2017-9526 new 737a44e recipetool: Setup logging before calling prepare new c31b8d9 devtool: Setup logging before calling prepare new 73fa5a8 oe-pkgdata-util: Setup logging before calling prepare The 3 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: scripts/lib/devtool/__init__.py | 2 +- scripts/oe-pkgdata-util | 3 +-- scripts/recipetool | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 14:43:43 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 14:43:43 +0000 Subject: [oe-commits] [openembedded-core] 03/03: oe-pkgdata-util: Setup logging before calling prepare In-Reply-To: <150047542028.5025.7345067773014272265@git.openembedded.org> References: <150047542028.5025.7345067773014272265@git.openembedded.org> Message-ID: <20170719144340.765C12335DD@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch krogoth in repository openembedded-core. commit 73fa5a8945a3965292d80b5b435e127bec9dedd8 Author: Richard Purdie AuthorDate: Wed Jul 19 15:24:39 2017 +0100 oe-pkgdata-util: Setup logging before calling prepare This avoids test failures like: INFO - ====================================================================== INFO - FAIL [1.046s]: test_find_path (pkgdata.OePkgdataUtilTests) INFO - ---------------------------------------------------------------------- INFO - Traceback (most recent call last): File "/media/build1/poky/meta/lib/oeqa/core/decorator/__init__.py", line 32, in wrapped_f return func(*args, **kwargs) File "/media/build1/poky/meta/lib/oeqa/selftest/cases/pkgdata.py", line 50, in test_find_path self.assertEqual(result.output, 'zlib: /lib/libz.so.1') AssertionError: 'NOTE: Starting bitbake server...\nzlib: /lib/libz.so.1' != 'zlib: /lib/libz.so.1' - NOTE: Starting bitbake server... zlib: /lib/libz.so.1 INFO - ---------------------------------------------------------------------- since there is corruption in the output. Setting the logging up before calling tinfoil.prepare() resolves this. Signed-off-by: Richard Purdie --- scripts/oe-pkgdata-util | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/scripts/oe-pkgdata-util b/scripts/oe-pkgdata-util index a04e44d..22f24bb 100755 --- a/scripts/oe-pkgdata-util +++ b/scripts/oe-pkgdata-util @@ -40,9 +40,8 @@ def tinfoil_init(): import bb.tinfoil import logging tinfoil = bb.tinfoil.Tinfoil() - tinfoil.prepare(True) - tinfoil.logger.setLevel(logging.WARNING) + tinfoil.prepare(True) return tinfoil -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 14:43:42 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 14:43:42 +0000 Subject: [oe-commits] [openembedded-core] 02/03: devtool: Setup logging before calling prepare In-Reply-To: <150047542028.5025.7345067773014272265@git.openembedded.org> References: <150047542028.5025.7345067773014272265@git.openembedded.org> Message-ID: <20170719144340.6ECE52335DC@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch krogoth in repository openembedded-core. commit c31b8d993da443c5c731157cdab10d2c659d25d0 Author: Richard Purdie AuthorDate: Wed Jul 19 15:18:44 2017 +0100 devtool: Setup logging before calling prepare This avoids test failures like: INFO - ====================================================================== INFO - FAIL [1.755s]: test_devtool_layer_plugins (devtool.DevtoolTests) INFO - ---------------------------------------------------------------------- INFO - Traceback (most recent call last): File "/media/build1/poky/meta/lib/oeqa/core/decorator/__init__.py", line 32, in wrapped_f return func(*args, **kwargs) File "/media/build1/poky/meta/lib/oeqa/selftest/cases/devtool.py", line 1354, in test_devtool_layer_plugins self.assertEqual(result.output, s[::-1]) AssertionError: "NOTE: Starting bitbake server...\noY senu[36 chars]rciM" != "oY senuZ s'enoynA morF tiforP oN edaM tfosorciM" - NOTE: Starting bitbake server... oY senuZ s'enoynA morF tiforP oN edaM tfosorciM INFO - ---------------------------------------------------------------------- since there is corruption in the output. Setting the logging up before calling tinfoil.prepare() resolves this. Signed-off-by: Richard Purdie --- scripts/lib/devtool/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/lib/devtool/__init__.py b/scripts/lib/devtool/__init__.py index ff97dfc..edd23ae 100644 --- a/scripts/lib/devtool/__init__.py +++ b/scripts/lib/devtool/__init__.py @@ -111,8 +111,8 @@ def setup_tinfoil(config_only=False, basepath=None, tracking=False): import bb.tinfoil tinfoil = bb.tinfoil.Tinfoil(tracking=tracking) - tinfoil.prepare(config_only) tinfoil.logger.setLevel(logger.getEffectiveLevel()) + tinfoil.prepare(config_only) finally: os.chdir(orig_cwd) return tinfoil -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 14:44:12 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 14:44:12 +0000 Subject: [oe-commits] [openembedded-core] branch master-next updated (6e6538d -> b1e0085) Message-ID: <150047545215.5369.11466760202509587940@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master-next in repository openembedded-core. discard 6e6538d recipetool: create: reimplement fetching with normal fetch/unpack tasks discard 9fc1ded recipetool: create: ensure meaningful error for malformed tarballs discard f4438c6 devtool: extract: refactor kern-tools-native handling discard 082d87b recipetool: create: refactor code for ensuring npm is available discard e4e4fda classes/staging: change fixme debug message from note to debug discard d5ac0bb oe-init-build-env-memres: Drop it add 4b48c0a libgcrypt: merge bb and inc file add c4c2fb3 libgcrypt: upgrade to 1.7.8 new 4a6ccd3 oe-init-build-env-memres: Drop it new a0e93d5 classes/staging: change fixme debug message from note to debug new 46f1686 recipetool: create: refactor code for ensuring npm is available new 5e0f6af devtool: extract: refactor kern-tools-native handling new 7a354df recipetool: create: ensure meaningful error for malformed tarballs new b1e0085 recipetool: create: reimplement fetching with normal fetch/unpack tasks This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (6e6538d) \ N -- N -- N refs/heads/master-next (b1e0085) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 6 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: meta/recipes-support/libgcrypt/libgcrypt_1.7.7.bb | 4 ---- meta/recipes-support/libgcrypt/{libgcrypt.inc => libgcrypt_1.7.8.bb} | 2 ++ 2 files changed, 2 insertions(+), 4 deletions(-) delete mode 100644 meta/recipes-support/libgcrypt/libgcrypt_1.7.7.bb rename meta/recipes-support/libgcrypt/{libgcrypt.inc => libgcrypt_1.7.8.bb} (92%) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 14:44:14 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 14:44:14 +0000 Subject: [oe-commits] [openembedded-core] 02/06: classes/staging: change fixme debug message from note to debug In-Reply-To: <150047545215.5369.11466760202509587940@git.openembedded.org> References: <150047545215.5369.11466760202509587940@git.openembedded.org> Message-ID: <20170719144412.99E652335DC@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit a0e93d5c5dcf59d1898a3db727a5ab2d75e3d20e Author: Paul Eggleton AuthorDate: Wed Jul 19 12:07:14 2017 +0200 classes/staging: change fixme debug message from note to debug These messages were added for debugging during the recipe specific sysroot work. They may still be useful but they don't need to be notes - if they are they show up in recipetool / devtool output when fetching source. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- meta/classes/staging.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/classes/staging.bbclass b/meta/classes/staging.bbclass index 8f470d5..162c8e9 100644 --- a/meta/classes/staging.bbclass +++ b/meta/classes/staging.bbclass @@ -170,7 +170,7 @@ def staging_processfixme(fixme, target, recipesysroot, recipesysrootnative, d): for fixmevar in ['COMPONENTS_DIR', 'HOSTTOOLS_DIR', 'PKGDATA_DIR']: fixme_path = d.getVar(fixmevar) cmd += " -e 's:FIXME_%s:%s:g'" % (fixmevar, fixme_path) - bb.note(cmd) + bb.debug(2, cmd) subprocess.check_output(cmd, shell=True) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 14:44:13 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 14:44:13 +0000 Subject: [oe-commits] [openembedded-core] 01/06: oe-init-build-env-memres: Drop it In-Reply-To: <150047545215.5369.11466760202509587940@git.openembedded.org> References: <150047545215.5369.11466760202509587940@git.openembedded.org> Message-ID: <20170719144412.83E482335DB@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 4a6ccd3a5d00b1ed9bb1f3d5ff06a8edbd87e601 Author: Richard Purdie AuthorDate: Tue Jul 18 22:52:07 2017 +0100 oe-init-build-env-memres: Drop it With the new server structure we no longer need this separate environment init script. Just set BB_SERVER_TIMEOUT to be greater than zero and bitbake will remain in memory and the UI will auto-reconnect to it. Also clean out the old shutdown code from oe-init-build-env which also doesn't make sense now. Signed-off-by: Richard Purdie --- meta/classes/populate_sdk_ext.bbclass | 1 - oe-init-build-env | 8 ---- oe-init-build-env-memres | 90 ----------------------------------- scripts/oe-buildenv-internal | 3 +- 4 files changed, 1 insertion(+), 101 deletions(-) diff --git a/meta/classes/populate_sdk_ext.bbclass b/meta/classes/populate_sdk_ext.bbclass index 4791d74..e31ee37 100644 --- a/meta/classes/populate_sdk_ext.bbclass +++ b/meta/classes/populate_sdk_ext.bbclass @@ -69,7 +69,6 @@ OE_INIT_ENV_SCRIPT ?= "oe-init-build-env" # COREBASE be preserved as well as untracked files. COREBASE_FILES ?= " \ oe-init-build-env \ - oe-init-build-env-memres \ scripts \ LICENSE \ .templateconf \ diff --git a/oe-init-build-env b/oe-init-build-env index 5fe68d1..e813230 100755 --- a/oe-init-build-env +++ b/oe-init-build-env @@ -57,11 +57,3 @@ unset OEROOT [ -z "$BUILDDIR" ] || cd "$BUILDDIR" -# Shutdown any bitbake server if the BBSERVER variable is not set -if [ -z "$BBSERVER" ] && [ -f bitbake.lock ]; then - grep ":" bitbake.lock > /dev/null && BBSERVER=$(cat bitbake.lock) bitbake --status-only - if [ $? = 0 ]; then - echo "Shutting down bitbake memory resident server with bitbake -m" - BBSERVER=$(cat bitbake.lock) bitbake -m - fi -fi diff --git a/oe-init-build-env-memres b/oe-init-build-env-memres deleted file mode 100755 index 3f0d239..0000000 --- a/oe-init-build-env-memres +++ /dev/null @@ -1,90 +0,0 @@ -#!/bin/sh - -# OE Build Environment Setup Script -# -# Copyright (C) 2006-2011 Linux Foundation -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -# -# Normally this is called as '. ./oe-init-build-env-memres [portnumber]' -# -# This works in most shells (not dash), but not all of them pass the arguments -# when being sourced. To workaround the shell limitation use "set -# [portnumber]" prior to sourcing this script. -# -if [ -z "$2" ]; then - echo "No port specified, using dynamically selected port" - port=-1 -else - port=$2 - set -- "$1" "$3" "$4" "$5" "$6" -fi - -if [ -n "$BASH_SOURCE" ]; then - THIS_SCRIPT=$BASH_SOURCE -elif [ -n "$ZSH_NAME" ]; then - THIS_SCRIPT=$0 -else - THIS_SCRIPT="$(pwd)/oe-init-build-env" -fi -if [ -n "$BBSERVER" ]; then - unset BBSERVER -fi - -if [ -z "$ZSH_NAME" ] && [ "$0" = "$THIS_SCRIPT" ]; then - echo "Error: This script needs to be sourced. Please run as '. $THIS_SCRIPT'" - exit 1 -fi - -if [ -z "$OEROOT" ]; then - OEROOT=$(dirname "$THIS_SCRIPT") - OEROOT=$(readlink -f "$OEROOT") -fi -unset THIS_SCRIPT - -export OEROOT -. $OEROOT/scripts/oe-buildenv-internal && - TEMPLATECONF="$TEMPLATECONF" $OEROOT/scripts/oe-setup-builddir || { - unset OEROOT - return 1 -} -unset OEROOT - -[ -z "$BUILDDIR" ] || cd "$BUILDDIR" - -res=1 -if [ -e bitbake.lock ] && grep : bitbake.lock > /dev/null; then - BBSERVER=$(cat bitbake.lock) bitbake --status-only - res=$? -fi - -if [ $res != 0 ]; then - bitbake --server-only -t xmlrpc -B localhost:$port -fi - -if [ $port = -1 ]; then - export BBSERVER=localhost:-1 - echo "Bitbake server started on demand as needed, use bitbake -m to shut it down" -else - export BBSERVER=$(cat bitbake.lock) - - if [ $res = 0 ]; then - echo "Using existing bitbake server at: $BBSERVER, use bitbake -m to shut it down" - else - echo "Bitbake server started at: $BBSERVER, use bitbake -m to shut it down" - fi -fi -unset port res diff --git a/scripts/oe-buildenv-internal b/scripts/oe-buildenv-internal index c890552..e6cd141 100755 --- a/scripts/oe-buildenv-internal +++ b/scripts/oe-buildenv-internal @@ -24,8 +24,7 @@ if ! $(return >/dev/null 2>&1) ; then echo 'Usage: . $OEROOT/scripts/oe-buildenv-internal &&' echo '' echo 'OpenEmbedded oe-buildenv-internal - an internal script that is' - echo 'used in oe-init-build-env and oe-init-build-env-memres to' - echo 'initialize oe build environment' + echo 'used in oe-init-build-env to initialize oe build environment' echo '' exit 2 fi -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 14:44:15 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 14:44:15 +0000 Subject: [oe-commits] [openembedded-core] 03/06: recipetool: create: refactor code for ensuring npm is available In-Reply-To: <150047545215.5369.11466760202509587940@git.openembedded.org> References: <150047545215.5369.11466760202509587940@git.openembedded.org> Message-ID: <20170719144412.B1F5C2335DD@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 46f1686b3cf31d093d1b984094bf7445a60e9f05 Author: Paul Eggleton AuthorDate: Wed Jul 19 12:07:15 2017 +0200 recipetool: create: refactor code for ensuring npm is available Across devtool and recipetool we had an ugly set of code for ensuring that we can call an npm binary, and much of that ugliness was a result of not being able to run build tasks when tinfoil was active - if recipetool found that npm was required and we didn't know beforehand (e.g. we're fetching from a plain git repository as opposed to an npm:// URL where it's obvious) then it had to exit and return a special result code, so that devtool knew it needed to build nodejs-native and then call recipetool again. Tinfoil now allows us to run build tasks directly, so we can take advantage of that instead and throw away the ugly code at the same time. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- scripts/lib/devtool/__init__.py | 31 ------------------------------ scripts/lib/devtool/standard.py | 36 ++++++++++++----------------------- scripts/lib/recipetool/create.py | 26 +++++-------------------- scripts/lib/recipetool/create_npm.py | 7 +++++-- scripts/lib/recipetool/utils.py | 37 ++++++++++++++++++++++++++++++++++++ 5 files changed, 59 insertions(+), 78 deletions(-) diff --git a/scripts/lib/devtool/__init__.py b/scripts/lib/devtool/__init__.py index 29c4c05..bba0721 100644 --- a/scripts/lib/devtool/__init__.py +++ b/scripts/lib/devtool/__init__.py @@ -261,34 +261,3 @@ def get_bbclassextend_targets(recipefile, pn): targets.append('%s-%s' % (pn, variant)) return targets -def ensure_npm(config, basepath, fixed_setup=False, check_exists=True): - """ - Ensure that npm is available and either build it or show a - reasonable error message - """ - if check_exists: - tinfoil = setup_tinfoil(config_only=False, basepath=basepath) - try: - rd = tinfoil.parse_recipe('nodejs-native') - nativepath = rd.getVar('STAGING_BINDIR_NATIVE') - finally: - tinfoil.shutdown() - npmpath = os.path.join(nativepath, 'npm') - build_npm = not os.path.exists(npmpath) - else: - build_npm = True - - if build_npm: - logger.info('Building nodejs-native') - try: - exec_build_env_command(config.init_path, basepath, - 'bitbake -q nodejs-native -c addto_recipe_sysroot', watch=True) - except bb.process.ExecutionError as e: - if "Nothing PROVIDES 'nodejs-native'" in e.stdout: - if fixed_setup: - msg = 'nodejs-native is required for npm but is not available within this SDK' - else: - msg = 'nodejs-native is required for npm but is not available - you will likely need to add a layer that provides nodejs' - raise DevtoolError(msg) - else: - raise diff --git a/scripts/lib/devtool/standard.py b/scripts/lib/devtool/standard.py index 7e342e7..008cfa3 100644 --- a/scripts/lib/devtool/standard.py +++ b/scripts/lib/devtool/standard.py @@ -30,8 +30,9 @@ import errno import glob import filecmp from collections import OrderedDict -from devtool import exec_build_env_command, setup_tinfoil, check_workspace_recipe, use_external_build, setup_git_repo, recipe_to_append, get_bbclassextend_targets, ensure_npm, DevtoolError +from devtool import exec_build_env_command, setup_tinfoil, check_workspace_recipe, use_external_build, setup_git_repo, recipe_to_append, get_bbclassextend_targets, DevtoolError from devtool import parse_recipe +from recipetool.utils import ensure_npm logger = logging.getLogger('devtool') @@ -129,7 +130,9 @@ def add(args, config, basepath, workspace): extracmdopts = '' if args.fetchuri: if args.fetchuri.startswith('npm://'): - ensure_npm(config, basepath, args.fixed_setup) + with setup_tinfoil(config_only=True, basepath=basepath) as tinfoil: + if not ensure_npm(tinfoil, args.fixed_setup): + raise DevtoolError('npm required but not available') source = args.fetchuri if srctree: @@ -155,28 +158,13 @@ def add(args, config, basepath, workspace): tempdir = tempfile.mkdtemp(prefix='devtool') try: - builtnpm = False - while True: - try: - stdout, _ = exec_build_env_command(config.init_path, basepath, 'recipetool --color=%s create --devtool -o %s \'%s\' %s' % (color, tempdir, source, extracmdopts), watch=True) - except bb.process.ExecutionError as e: - if e.exitcode == 14: - if builtnpm: - raise DevtoolError('Re-running recipetool still failed to find npm') - # FIXME this is a horrible hack that is unfortunately - # necessary due to the fact that we can't run bitbake from - # inside recipetool since recipetool keeps tinfoil active - # with references to it throughout the code, so we have - # to exit out and come back here to do it. - ensure_npm(config, basepath, args.fixed_setup, check_exists=False) - logger.info('Re-running recipe creation process after building nodejs') - builtnpm = True - continue - elif e.exitcode == 15: - raise DevtoolError('Could not auto-determine recipe name, please specify it on the command line') - else: - raise DevtoolError('Command \'%s\' failed' % e.command) - break + try: + stdout, _ = exec_build_env_command(config.init_path, basepath, 'recipetool --color=%s create --devtool -o %s \'%s\' %s' % (color, tempdir, source, extracmdopts), watch=True) + except bb.process.ExecutionError as e: + if e.exitcode == 15: + raise DevtoolError('Could not auto-determine recipe name, please specify it on the command line') + else: + raise DevtoolError('Command \'%s\' failed' % e.command) recipes = glob.glob(os.path.join(tempdir, '*.bb')) if recipes: diff --git a/scripts/lib/recipetool/create.py b/scripts/lib/recipetool/create.py index 8e63580..868d18b 100644 --- a/scripts/lib/recipetool/create.py +++ b/scripts/lib/recipetool/create.py @@ -25,6 +25,7 @@ import json import logging import scriptutils from urllib.parse import urlparse, urldefrag, urlsplit +from recipetool.utils import ensure_npm import hashlib import bb.fetch2 logger = logging.getLogger('recipetool') @@ -444,7 +445,9 @@ def create_recipe(args): d = bb.data.createCopy(tinfoil.config_data) if fetchuri.startswith('npm://'): # Check if npm is available - npm_bindir = check_npm(tinfoil, args.devtool) + npm_bindir = ensure_npm(tinfoil) + if not npm_bindir: + sys.exit(14) d.prependVar('PATH', '%s:' % npm_bindir) logger.info('Fetching %s...' % srcuri) try: @@ -1147,22 +1150,6 @@ def convert_rpm_xml(xmlfile): return values -def check_npm(tinfoil, debugonly=False): - try: - rd = tinfoil.parse_recipe('nodejs-native') - except bb.providers.NoProvider: - # We still conditionally show the message and exit with the special - # return code, otherwise we can't show the proper message for eSDK - # users - log_error_cond('nodejs-native is required for npm but is not available - you will likely need to add a layer that provides nodejs', debugonly) - sys.exit(14) - bindir = rd.getVar('STAGING_BINDIR_NATIVE') - npmpath = os.path.join(bindir, 'npm') - if not os.path.exists(npmpath): - log_error_cond('npm required to process specified source, but npm is not available - you need to run bitbake -c addto_recipe_sysroot nodejs-native first', debugonly) - sys.exit(14) - return bindir - def register_commands(subparsers): parser_create = subparsers.add_parser('create', help='Create a new recipe', @@ -1180,8 +1167,5 @@ def register_commands(subparsers): parser_create.add_argument('--keep-temp', action="store_true", help='Keep temporary directory (for debugging)') parser_create.add_argument('--fetch-dev', action="store_true", help='For npm, also fetch devDependencies') parser_create.add_argument('--devtool', action="store_true", help=argparse.SUPPRESS) - # FIXME I really hate having to set parserecipes for this, but given we may need - # to call into npm (and we don't know in advance if we will or not) and in order - # to do so we need to know npm's recipe sysroot path, there's not much alternative - parser_create.set_defaults(func=create_recipe, parserecipes=True) + parser_create.set_defaults(func=create_recipe) diff --git a/scripts/lib/recipetool/create_npm.py b/scripts/lib/recipetool/create_npm.py index cb8f338..6c515e3 100644 --- a/scripts/lib/recipetool/create_npm.py +++ b/scripts/lib/recipetool/create_npm.py @@ -21,7 +21,8 @@ import subprocess import tempfile import shutil import json -from recipetool.create import RecipeHandler, split_pkg_licenses, handle_license_vars, check_npm +from recipetool.create import RecipeHandler, split_pkg_licenses, handle_license_vars +from recipetool.utils import ensure_npm logger = logging.getLogger('recipetool') @@ -189,7 +190,9 @@ class NpmRecipeHandler(RecipeHandler): files = RecipeHandler.checkfiles(srctree, ['package.json']) if files: d = bb.data.createCopy(tinfoil.config_data) - npm_bindir = check_npm(tinfoil, self._devtool) + npm_bindir = ensure_npm(tinfoil) + if not npm_bindir: + sys.exit(14) d.prependVar('PATH', '%s:' % npm_bindir) data = read_package_json(files[0]) diff --git a/scripts/lib/recipetool/utils.py b/scripts/lib/recipetool/utils.py new file mode 100644 index 0000000..63f6583 --- /dev/null +++ b/scripts/lib/recipetool/utils.py @@ -0,0 +1,37 @@ +# Recipe creation tool - utility functions +# +# Copyright (C) 2016-2017 Intel Corporation +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +def ensure_npm(tinfoil, fixed_setup=False): + if not tinfoil.recipes_parsed: + tinfoil.parse_recipes() + try: + rd = tinfoil.parse_recipe('nodejs-native') + except bb.providers.NoProvider: + if fixed_setup: + msg = 'nodejs-native is required for npm but is not available within this SDK' + else: + msg = 'nodejs-native is required for npm but is not available - you will likely need to add a layer that provides nodejs' + logger.error(msg) + return None + bindir = rd.getVar('STAGING_BINDIR_NATIVE') + npmpath = os.path.join(bindir, 'npm') + if not os.path.exists(npmpath): + tinfoil.build_targets('nodejs-native', 'addto_recipe_sysroot') + if not os.path.exists(npmpath): + logger.error('npm required to process specified source, but nodejs-native did not seem to populate it') + return None + return bindir -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 14:44:16 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 14:44:16 +0000 Subject: [oe-commits] [openembedded-core] 04/06: devtool: extract: refactor kern-tools-native handling In-Reply-To: <150047545215.5369.11466760202509587940@git.openembedded.org> References: <150047545215.5369.11466760202509587940@git.openembedded.org> Message-ID: <20170719144412.C89AF2335DE@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 5e0f6af76fcf7164ab837601e44477c425802283 Author: Paul Eggleton AuthorDate: Wed Jul 19 12:07:16 2017 +0200 devtool: extract: refactor kern-tools-native handling When extracting linux-yocto kernel source, we don't need to dance around shutting down and starting up tinfoil anymore, we can just execute the tasks as needed. This allows us to tidy up the code structure a bit. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- scripts/lib/devtool/standard.py | 37 +++++-------------------------------- 1 file changed, 5 insertions(+), 32 deletions(-) diff --git a/scripts/lib/devtool/standard.py b/scripts/lib/devtool/standard.py index 008cfa3..b1cc23d 100644 --- a/scripts/lib/devtool/standard.py +++ b/scripts/lib/devtool/standard.py @@ -371,7 +371,7 @@ def extract(args, config, basepath, workspace): """Entry point for the devtool 'extract' subcommand""" import bb - tinfoil = _prep_extract_operation(config, basepath, args.recipename) + tinfoil = setup_tinfoil(basepath=basepath) if not tinfoil: # Error already shown return 1 @@ -395,7 +395,7 @@ def sync(args, config, basepath, workspace): """Entry point for the devtool 'sync' subcommand""" import bb - tinfoil = _prep_extract_operation(config, basepath, args.recipename) + tinfoil = setup_tinfoil(basepath=basepath) if not tinfoil: # Error already shown return 1 @@ -416,29 +416,6 @@ def sync(args, config, basepath, workspace): tinfoil.shutdown() -def _prep_extract_operation(config, basepath, recipename, tinfoil=None): - """HACK: Ugly workaround for making sure that requirements are met when - trying to extract a package. Returns the tinfoil instance to be used.""" - if not tinfoil: - tinfoil = setup_tinfoil(basepath=basepath) - - rd = parse_recipe(config, tinfoil, recipename, True) - if not rd: - tinfoil.shutdown() - return None - - if bb.data.inherits_class('kernel-yocto', rd): - tinfoil.shutdown() - try: - stdout, _ = exec_build_env_command(config.init_path, basepath, - 'bitbake kern-tools-native') - tinfoil = setup_tinfoil(basepath=basepath) - except bb.process.ExecutionError as err: - raise DevtoolError("Failed to build kern-tools-native:\n%s" % - err.stdout) - return tinfoil - - def _extract_source(srctree, keep_temp, devbranch, sync, d, tinfoil): """Extract sources of a recipe""" import oe.recipeutils @@ -463,6 +440,9 @@ def _extract_source(srctree, keep_temp, devbranch, sync, d, tinfoil): raise DevtoolError("The %s recipe has do_unpack disabled, unable to " "extract source" % pn, 4) + if bb.data.inherits_class('kernel-yocto', d): + tinfoil.build_targets('kern-tools-native') + if not sync: # Prepare for shutil.move later on bb.utils.mkdirhier(srctree) @@ -761,13 +741,6 @@ def modify(args, config, basepath, workspace): raise DevtoolError("--no-extract specified and source path %s does " "not exist or is not a directory" % srctree) - if not args.no_extract: - tinfoil = _prep_extract_operation(config, basepath, pn, tinfoil) - if not tinfoil: - # Error already shown - return 1 - # We need to re-parse because tinfoil may have been re-initialised - rd = parse_recipe(config, tinfoil, args.recipename, True) recipefile = rd.getVar('FILE') appendfile = recipe_to_append(recipefile, config, args.wildcard) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 14:44:18 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 14:44:18 +0000 Subject: [oe-commits] [openembedded-core] 06/06: recipetool: create: reimplement fetching with normal fetch/unpack tasks In-Reply-To: <150047545215.5369.11466760202509587940@git.openembedded.org> References: <150047545215.5369.11466760202509587940@git.openembedded.org> Message-ID: <20170719144412.F23152335E0@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit b1e0085d9e2948c6495b00a7fb688b9f9778e44d Author: Paul Eggleton AuthorDate: Wed Jul 19 12:07:18 2017 +0200 recipetool: create: reimplement fetching with normal fetch/unpack tasks Now that we have the ability to run the tasks in a more standard context through tinfoil, change recipetool's fetching code to use that to fetch files using it. This has the major advantage that any dependencies of do_fetch and do_unpack (e.g. for subversion or npm) will be handled automatically. This also has the beneficial side-effect of fixing a recent regression that prevented this fetch operation from working with memory resident bitbake. Fixes [YOCTO #11710]. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- scripts/lib/recipetool/create.py | 171 +++++++++++++++++++++++++++++++++------ 1 file changed, 147 insertions(+), 24 deletions(-) diff --git a/scripts/lib/recipetool/create.py b/scripts/lib/recipetool/create.py index 4e965e4..b94b2cf 100644 --- a/scripts/lib/recipetool/create.py +++ b/scripts/lib/recipetool/create.py @@ -28,6 +28,11 @@ from urllib.parse import urlparse, urldefrag, urlsplit from recipetool.utils import ensure_npm import hashlib import bb.fetch2 +import random +import string +import tempfile +import shutil + logger = logging.getLogger('recipetool') tinfoil = None @@ -407,10 +412,130 @@ def is_package(url): return True return False +class FetchUrlFailure(Exception): + def __init__(self, url): + self.url = url + def __str__(self): + return "Failed to fetch URL %s" % self.url + +def get_temp_recipe_dir(): + # This is a little bit hacky but we need to find a place where we can put + # the recipe so that bitbake can find it. We're going to delete it at the + # end so it doesn't really matter where we put it. + bbfiles = tinfoil.config_data.getVar('BBFILES').split() + fetchrecipedir = None + for pth in bbfiles: + if pth.endswith('.bb'): + pthdir = os.path.dirname(pth) + if os.access(os.path.dirname(os.path.dirname(pthdir)), os.W_OK): + fetchrecipedir = pthdir.replace('*', 'recipetool') + if pthdir.endswith('workspace/recipes/*'): + # Prefer the workspace + break + return fetchrecipedir + +def fetch_url(srcuri, srcrev, destdir, preserve_tmp=False): + """ + Fetch the specified URL using normal do_fetch and do_unpack tasks, i.e. + any dependencies that need to be satisfied in order to support the fetch + operation will be taken care of + """ + # FIXME find a better home for this + + checksums = {} + fetchrecipepn = None + + # We need to put our temp directory under ${BASE_WORKDIR} otherwise + # we may have problems with the recipe-specific sysroot population + tmpparent = tinfoil.config_data.getVar('BASE_WORKDIR') + bb.utils.mkdirhier(tmpparent) + tmpdir = tempfile.mkdtemp(prefix='recipetool-', dir=tmpparent) + try: + tmpworkdir = os.path.join(tmpdir, 'work') + logger.debug('fetch_url: temp dir is %s' % tmpdir) + + fetchrecipedir = get_temp_recipe_dir() + if not fetchrecipedir: + logger.error('Searched BBFILES but unable to find a writeable place to put temporary recipe') + sys.exit(1) + fetchrecipe = None + bb.utils.mkdirhier(fetchrecipedir) + try: + # Generate a dummy recipe so we can follow more or less normal paths + # for do_fetch and do_unpack + # I'd use tempfile functions here but underscores can be produced by that and those + # aren't allowed in recipe file names except to separate the version + rndstring = ''.join(random.choice(string.ascii_uppercase + string.digits) for _ in range(8)) + fetchrecipe = os.path.join(fetchrecipedir, 'tmp-recipetool-%s.bb' % rndstring) + fetchrecipepn = os.path.splitext(os.path.basename(fetchrecipe))[0] + logger.debug('Generating initial recipe %s for fetching' % fetchrecipe) + with open(fetchrecipe, 'w') as f: + # We don't want to have to specify LIC_FILES_CHKSUM + f.write('LICENSE = "CLOSED"\n') + # We don't need the cross-compiler + f.write('INHIBIT_DEFAULT_DEPS = "1"\n') + # We don't have the checksums yet so we can't require them + f.write('BB_STRICT_CHECKSUM = "ignore"\n') + f.write('SRC_URI = "%s"\n' % srcuri) + f.write('SRCREV = "%s"\n' % srcrev) + f.write('WORKDIR = "%s"\n' % tmpworkdir) + # Set S out of the way so it doesn't get created under the workdir + f.write('S = "%s"\n' % os.path.join(tmpdir, 'emptysrc')) + + logger.info('Fetching %s...' % srcuri) + + # FIXME this is too noisy at the moment + + # Parse recipes so our new recipe gets picked up + tinfoil.parse_recipes() + + def eventhandler(event): + if isinstance(event, bb.fetch2.MissingChecksumEvent): + checksums.update(event.checksums) + return True + return False + + # Run the fetch + unpack tasks + res = tinfoil.build_targets(fetchrecipepn, + 'do_unpack', + handle_events=True, + extra_events=['bb.fetch2.MissingChecksumEvent'], + event_callback=eventhandler) + if not res: + raise FetchUrlFailure(srcuri) + + # Remove unneeded directories + rd = tinfoil.parse_recipe(fetchrecipepn) + if rd: + pathvars = ['T', 'RECIPE_SYSROOT', 'RECIPE_SYSROOT_NATIVE'] + for pathvar in pathvars: + path = rd.getVar(pathvar) + shutil.rmtree(path) + finally: + if fetchrecipe: + try: + os.remove(fetchrecipe) + except FileNotFoundError: + pass + try: + os.rmdir(fetchrecipedir) + except OSError as e: + import errno + if e.errno != errno.ENOTEMPTY: + raise + + shutil.move(tmpworkdir, destdir) + + finally: + if not preserve_tmp: + shutil.rmtree(tmpdir) + tmpdir = None + + return checksums, tmpdir + + def create_recipe(args): import bb.process - import tempfile - import shutil import oe.recipeutils pkgarch = "" @@ -418,7 +543,7 @@ def create_recipe(args): pkgarch = "${MACHINE_ARCH}" extravalues = {} - checksums = (None, None) + checksums = {} tempsrc = '' source = args.source srcsubdir = '' @@ -440,24 +565,25 @@ def create_recipe(args): if res: srcrev = res.group(1) srcuri = rev_re.sub('', srcuri) - tempsrc = tempfile.mkdtemp(prefix='recipetool-') - srctree = tempsrc - d = bb.data.createCopy(tinfoil.config_data) - if fetchuri.startswith('npm://'): - # Check if npm is available - npm_bindir = ensure_npm(tinfoil) - if not npm_bindir: - sys.exit(14) - d.prependVar('PATH', '%s:' % npm_bindir) - logger.info('Fetching %s...' % srcuri) + + tmpparent = tinfoil.config_data.getVar('BASE_WORKDIR') + bb.utils.mkdirhier(tmpparent) + tempsrc = tempfile.mkdtemp(prefix='recipetool-', dir=tmpparent) + srctree = os.path.join(tempsrc, 'source') + try: - checksums = scriptutils.fetch_uri(d, fetchuri, srctree, srcrev) - except bb.fetch2.BBFetchException as e: - logger.error(str(e).rstrip()) + checksums, ftmpdir = fetch_url(srcuri, srcrev, srctree, preserve_tmp=args.keep_temp) + except FetchUrlFailure as e: + logger.error(str(e)) sys.exit(1) + + if ftmpdir and args.keep_temp: + logger.info('Fetch temp directory is %s' % ftmpdir) + dirlist = os.listdir(srctree) - if 'git.indirectionsymlink' in dirlist: - dirlist.remove('git.indirectionsymlink') + filterout = ['git.indirectionsymlink'] + dirlist = [x for x in dirlist if x not in filterout] + logger.debug('Directory listing (excluding filtered out):\n %s' % '\n '.join(dirlist)) if len(dirlist) == 1: singleitem = os.path.join(srctree, dirlist[0]) if os.path.isdir(singleitem): @@ -468,7 +594,7 @@ def create_recipe(args): check_single_file(dirlist[0], fetchuri) elif len(dirlist) == 0: if '/' in fetchuri: - fn = os.path.join(d.getVar('DL_DIR'), fetchuri.split('/')[-1]) + fn = os.path.join(tinfoil.config_data.getVar('DL_DIR'), fetchuri.split('/')[-1]) if os.path.isfile(fn): check_single_file(fn, fetchuri) # If we've got to here then there's no source so we might as well give up @@ -605,11 +731,8 @@ def create_recipe(args): if not srcuri: lines_before.append('# No information for SRC_URI yet (only an external source tree was specified)') lines_before.append('SRC_URI = "%s"' % srcuri) - (md5value, sha256value) = checksums - if md5value: - lines_before.append('SRC_URI[md5sum] = "%s"' % md5value) - if sha256value: - lines_before.append('SRC_URI[sha256sum] = "%s"' % sha256value) + for key, value in sorted(checksums.items()): + lines_before.append('SRC_URI[%s] = "%s"' % (key, value)) if srcuri and supports_srcrev(srcuri): lines_before.append('') lines_before.append('# Modify these as desired') -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 14:44:17 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 14:44:17 +0000 Subject: [oe-commits] [openembedded-core] 05/06: recipetool: create: ensure meaningful error for malformed tarballs In-Reply-To: <150047545215.5369.11466760202509587940@git.openembedded.org> References: <150047545215.5369.11466760202509587940@git.openembedded.org> Message-ID: <20170719144412.DD7AE2335DF@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 7a354df6e650acafa4dbea98378f744c70c28f75 Author: Paul Eggleton AuthorDate: Wed Jul 19 12:07:17 2017 +0200 recipetool: create: ensure meaningful error for malformed tarballs If you pointed recipetool at a URL that should be a tarball e.g. https://tls.mbed.org/download/start/mbedtls-2.4.2-apache.tgz but instead it returns an HTML page, we try to unpack it, gzip complains but the operation doesn't seem to fail - instead we just get back an empty source tree. Change the checks to account for this - if the source tree is empty, check if the downloaded file in DL_DIR looks like an HTML file and error accordingly if it is. If it's not, error out anyway because no source was unpacked and it should have been (otherwise we just blindly set up EXTERNALSRC for this which is pointless). Fixes an aspect of [YOCTO #11407]. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- scripts/lib/recipetool/create.py | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/scripts/lib/recipetool/create.py b/scripts/lib/recipetool/create.py index 868d18b..4e965e4 100644 --- a/scripts/lib/recipetool/create.py +++ b/scripts/lib/recipetool/create.py @@ -465,10 +465,16 @@ def create_recipe(args): srcsubdir = dirlist[0] srctree = os.path.join(srctree, srcsubdir) else: - with open(singleitem, 'r', errors='surrogateescape') as f: - if ' References: <150047547513.5859.11127664889786465111@git.openembedded.org> Message-ID: <20170719144435.4F43C2335DC@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit ac3051abd21ba4c694c4d8bd505f0e98df4a1f19 Author: Richard Purdie AuthorDate: Tue Jul 18 17:50:24 2017 +0100 cookerdata/cooker: Restore original datastore upon client disconnect Signed-off-by: Richard Purdie --- lib/bb/cooker.py | 2 ++ lib/bb/cookerdata.py | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py index e27763e..daffe67 100644 --- a/lib/bb/cooker.py +++ b/lib/bb/cooker.py @@ -1566,6 +1566,8 @@ class BBCooker: def clientComplete(self): """Called when the client is done using the server""" self.finishcommand() + self.databuilder.reset() + self.data = self.databuilder.data def server_main(cooker, func, *args): cooker.pre_serve() diff --git a/lib/bb/cookerdata.py b/lib/bb/cookerdata.py index d05abfe..b3a3f04 100644 --- a/lib/bb/cookerdata.py +++ b/lib/bb/cookerdata.py @@ -328,6 +328,13 @@ class CookerDataBuilder(object): logger.exception("Error parsing configuration files") raise bb.BBHandledException + # Create a copy so we can reset at a later date when UIs disconnect + self.origdata = self.data + self.data = bb.data.createCopy(self.origdata) + + def reset(self): + self.data = bb.data.createCopy(self.origdata) + def _findLayerConf(self, data): return findConfigFile("bblayers.conf", data) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 14:44:35 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 14:44:35 +0000 Subject: [oe-commits] [bitbake] branch master-next updated (65732d7 -> 351c977) Message-ID: <150047547513.5859.11127664889786465111@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master-next in repository bitbake. discard 65732d7 fetch2: fire an event when there are missing checksums discard f0fb6ae fetch2: allow hiding checksum warning discard 6708cdf tinfoil: add more doc comments discard 5c0a492 tinfoil: add simple API for getting cached recipe information discard 60b1ea8 tinfoil: enable access to additional cached items discard 226495a tinfoil: add functionality for running full builds discard b72bb87 knotty: make it possible to use termfilter without either console discard cdcf745 lib/bb/ui/uihelper: indicate to caller of eventHandler() if events handled discard 1bffb98 lib/bb/event: refactor printing events discard 05f1cef tinfoil: set a flag when recipes have been parsed discard 995fdfd tinfoil: add a parse_recipes() function discard 818b87d tinfoil: add internal mode to build_file() function discard b802fa3 bb/main.py: fix logic for --observe-only discard 5db7646 bb/main.py: avoid starting server when not needed discard 12398d7 bb/main.py: fix infinite loop for --server-only discard b516544 server/process.py: fix self.bitbake_lock.write() discard c4365b2 cookerdata/cooker: Restore original datastore upon client disconnect discard 377214d server: Rework the server API so process and xmlrpc servers coexist new 8df47ae server: Rework the server API so process and xmlrpc servers coexist new ac3051a cookerdata/cooker: Restore original datastore upon client disconnect new 54510c7 server/process.py: fix self.bitbake_lock.write() new 08051eb bb/main.py: fix infinite loop for --server-only new e2d892a bb/main.py: avoid starting server when not needed new faf36eb bb/main.py: fix logic for --observe-only new b2cf43d tinfoil: add internal mode to build_file() function new 1db45b3 tinfoil: add a parse_recipes() function new 53e77e6 tinfoil: set a flag when recipes have been parsed new e0a71a0 lib/bb/event: refactor printing events new f83b2ab lib/bb/ui/uihelper: indicate to caller of eventHandler() if events handled new ddb3dbd knotty: make it possible to use termfilter without either console new b3f8866 tinfoil: add functionality for running full builds new 0b6fd49 tinfoil: enable access to additional cached items new 41c71d0 tinfoil: add simple API for getting cached recipe information new e812fad tinfoil: add more doc comments new 898c578 fetch2: allow hiding checksum warning new 351c977 fetch2: fire an event when there are missing checksums This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (65732d7) \ N -- N -- N refs/heads/master-next (351c977) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 18 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: lib/bb/main.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 14:44:38 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 14:44:38 +0000 Subject: [oe-commits] [bitbake] 03/18: server/process.py: fix self.bitbake_lock.write() In-Reply-To: <150047547513.5859.11127664889786465111@git.openembedded.org> References: <150047547513.5859.11127664889786465111@git.openembedded.org> Message-ID: <20170719144435.560CC2335DD@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 54510c7702a07220d1c6ba0f27afce4ebbec50ba Author: Robert Yang AuthorDate: Fri Jul 14 02:52:03 2017 -0700 server/process.py: fix self.bitbake_lock.write() There is no global var "configuration", so the old code hang at self.bitbake_lock.write(), and nothing wrote to bitbake.lock. I didn't figure out why it hang (but not print errors). Reproducer: $ bitbake -B localhost:-1 world -k Check bitbake.log, there was nothing, now fixed. Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- lib/bb/server/process.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/bb/server/process.py b/lib/bb/server/process.py index a1d9adc..23e033a 100644 --- a/lib/bb/server/process.py +++ b/lib/bb/server/process.py @@ -95,8 +95,8 @@ class ProcessServer(multiprocessing.Process): try: self.bitbake_lock.seek(0) self.bitbake_lock.truncate() - if self.xmlrpcinterface[0]: - self.bitbake_lock.write("%s %s:%s\n" % (os.getpid(), configuration.interface[0], configuration.interface[1])) + if self.xmlrpc: + self.bitbake_lock.write("%s %s:%s\n" % (os.getpid(), self.xmlrpc.host, self.xmlrpc.port)) else: self.bitbake_lock.write("%s\n" % (os.getpid())) self.bitbake_lock.flush() -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 14:44:39 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 14:44:39 +0000 Subject: [oe-commits] [bitbake] 04/18: bb/main.py: fix infinite loop for --server-only In-Reply-To: <150047547513.5859.11127664889786465111@git.openembedded.org> References: <150047547513.5859.11127664889786465111@git.openembedded.org> Message-ID: <20170719144435.5BF0C2335DE@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 08051ebf1d64aea79dc71ca061fe73a06320fb35 Author: Robert Yang AuthorDate: Fri Jul 14 02:58:12 2017 -0700 bb/main.py: fix infinite loop for --server-only Fixed: $ bitbake --server-only -B localhost:-1 Infinite loop Reconnecting to bitbake server... [snip] Break the loop when server-only can fix the problem. Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- lib/bb/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/bb/main.py b/lib/bb/main.py index b52c569..51b90d2 100755 --- a/lib/bb/main.py +++ b/lib/bb/main.py @@ -439,7 +439,7 @@ def setup_bitbake(configParams, configuration, extrafeatures=None, setup_logging raise bb.server.process.ProcessTimeout("Bitbake still shutting down as socket exists but no lock?") if not configParams.server_only: server_connection = bb.server.process.connectProcessServer(sockname, featureset) - if server_connection: + if server_connection or configParams.server_only: break except (Exception, bb.server.process.ProcessTimeout) as e: if not retries: -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 14:44:36 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 14:44:36 +0000 Subject: [oe-commits] [bitbake] 01/18: server: Rework the server API so process and xmlrpc servers coexist In-Reply-To: <150047547513.5859.11127664889786465111@git.openembedded.org> References: <150047547513.5859.11127664889786465111@git.openembedded.org> Message-ID: <20170719144435.477D02335DB@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 8df47ae014de8c22354f3f9b1de5872412c35bf9 Author: Richard Purdie AuthorDate: Tue Jul 18 22:28:40 2017 +0100 server: Rework the server API so process and xmlrpc servers coexist This changes the way bitbake server works quite radically. Now, the server is always a process based server with the option of starting an XMLRPC listener on a specific inferface/port. Behind the scenes this is done with a "bitbake.sock" file alongside the bitbake.lock file. If we can obtain the lock, we know we need to start a server. The server always listens on the socket and UIs can then connect to this. UIs connect by sending a set of three file descriptors over the domain socket, one for sending commands, one for receiving command results and the other for receiving events. These changes meant we can throw away all the horrid server abstraction code, the plugable transport option to bitbake and the code becomes much more readable and debuggable. It also likely removes a ton of ways you could hang the UI/cooker in weird ways due to all the race conditions that existed with previous processes. Changes: * The foreground option for bitbake-server was dropped. Just tail the log if you really want this, the codepaths were complicated enough without adding one for this. * BBSERVER="autodetect" was dropped. The server will autostart and autoconnect in process mode. You have to specify an xmlrpc server address since that can't be autodetected. I can't see a use case for autodetect now. * The transport/servetype option to bitbake was dropped. * A BB_SERVER_TIMEOUT variable is added which allows the server to stay resident for a period of time after the last client disconnects before unloading. This is used if the -T/--idle-timeout option is not passed to bitbake. This change is invasive and may well introduce new issues however I believe the codebase is in a much better position for further development and debugging. Signed-off-by: Richard Purdie --- lib/bb/cooker.py | 58 +---- lib/bb/cookerdata.py | 5 +- lib/bb/main.py | 230 ++++++---------- lib/bb/server/__init__.py | 6 - lib/bb/server/process.py | 592 +++++++++++++++++++++++++++--------------- lib/bb/server/xmlrpc.py | 492 ----------------------------------- lib/bb/server/xmlrpcclient.py | 154 +++++++++++ lib/bb/server/xmlrpcserver.py | 158 +++++++++++ lib/bb/tinfoil.py | 2 +- lib/prserv/serv.py | 4 +- 10 files changed, 785 insertions(+), 916 deletions(-) diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py index b1311bb..e27763e 100644 --- a/lib/bb/cooker.py +++ b/lib/bb/cooker.py @@ -215,19 +215,6 @@ class BBCooker: self.configuration.server_register_idlecallback(_process_inotify_updates, [self.confignotifier, self.notifier]) - # Take a lock so only one copy of bitbake can run against a given build - # directory at a time - if not self.lockBitbake(): - bb.fatal("Only one copy of bitbake should be run against a build directory") - try: - self.lock.seek(0) - self.lock.truncate() - if len(configuration.interface) >= 2: - self.lock.write("%s:%s\n" % (configuration.interface[0], configuration.interface[1])); - self.lock.flush() - except: - pass - # TOSTOP must not be set or our children will hang when they output try: fd = sys.stdout.fileno() @@ -1557,33 +1544,6 @@ class BBCooker: def post_serve(self): prserv.serv.auto_shutdown(self.data) bb.event.fire(CookerExit(), self.data) - lockfile = self.lock.name - self.lock.close() - self.lock = None - - while not self.lock: - with bb.utils.timeout(3): - self.lock = bb.utils.lockfile(lockfile, shared=False, retry=False, block=True) - if not self.lock: - # Some systems may not have lsof available - procs = None - try: - procs = subprocess.check_output(["lsof", '-w', lockfile], stderr=subprocess.STDOUT) - except OSError as e: - if e.errno != errno.ENOENT: - raise - if procs is None: - # Fall back to fuser if lsof is unavailable - try: - procs = subprocess.check_output(["fuser", '-v', lockfile], stderr=subprocess.STDOUT) - except OSError as e: - if e.errno != errno.ENOENT: - raise - - msg = "Delaying shutdown due to active processes which appear to be holding bitbake.lock" - if procs: - msg += ":\n%s" % str(procs) - print(msg) def shutdown(self, force = False): @@ -1605,23 +1565,7 @@ class BBCooker: def clientComplete(self): """Called when the client is done using the server""" - if self.configuration.server_only: - self.finishcommand() - else: - self.shutdown(True) - - def lockBitbake(self): - if not hasattr(self, 'lock'): - self.lock = None - if self.data: - lockfile = self.data.expand("${TOPDIR}/bitbake.lock") - if lockfile: - self.lock = bb.utils.lockfile(lockfile, False, False) - return self.lock - - def unlockBitbake(self): - if hasattr(self, 'lock') and self.lock: - bb.utils.unlockfile(self.lock) + self.finishcommand() def server_main(cooker, func, *args): cooker.pre_serve() diff --git a/lib/bb/cookerdata.py b/lib/bb/cookerdata.py index 6511dcb..d05abfe 100644 --- a/lib/bb/cookerdata.py +++ b/lib/bb/cookerdata.py @@ -76,7 +76,7 @@ class ConfigParameters(object): for o in ["abort", "tryaltconfigs", "force", "invalidate_stamp", "verbose", "debug", "dry_run", "dump_signatures", "debug_domains", "extra_assume_provided", "profile", - "prefile", "postfile", "tracking"]: + "prefile", "postfile", "tracking", "server_timeout"]: options[o] = getattr(self.options, o) ret, error = server.runCommand(["updateConfig", options, environment, sys.argv]) @@ -144,7 +144,8 @@ class CookerConfiguration(object): self.dump_signatures = [] self.dry_run = False self.tracking = False - self.interface = [] + self.xmlrpcinterface = [] + self.server_timeout = None self.writeeventlog = False self.server_only = False self.limited_deps = False diff --git a/lib/bb/main.py b/lib/bb/main.py index 29e3911..b52c569 100755 --- a/lib/bb/main.py +++ b/lib/bb/main.py @@ -28,6 +28,8 @@ import logging import optparse import warnings import fcntl +import time +import traceback import bb from bb import event @@ -37,6 +39,9 @@ from bb import ui from bb import server from bb import cookerdata +import bb.server.process +import bb.server.xmlrpcclient + logger = logging.getLogger("BitBake") class BBMainException(Exception): @@ -58,9 +63,6 @@ class BitbakeHelpFormatter(optparse.IndentedHelpFormatter): if option.dest == 'ui': valid_uis = list_extension_modules(bb.ui, 'main') option.help = option.help.replace('@CHOICES@', present_options(valid_uis)) - elif option.dest == 'servertype': - valid_server_types = list_extension_modules(bb.server, 'BitBakeServer') - option.help = option.help.replace('@CHOICES@', present_options(valid_server_types)) return optparse.IndentedHelpFormatter.format_option(self, option) @@ -238,11 +240,6 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters): default=os.environ.get('BITBAKE_UI', 'knotty'), help="The user interface to use (@CHOICES@ - default %default).") - # @CHOICES@ is substituted out by BitbakeHelpFormatter above - parser.add_option("-t", "--servertype", action="store", dest="servertype", - default=["process", "xmlrpc"]["BBSERVER" in os.environ], - help="Choose which server type to use (@CHOICES@ - default %default).") - parser.add_option("", "--token", action="store", dest="xmlrpctoken", default=os.environ.get("BBTOKEN"), help="Specify the connection token to be used when connecting " @@ -258,14 +255,11 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters): help="Run bitbake without a UI, only starting a server " "(cooker) process.") - parser.add_option("", "--foreground", action="store_true", - help="Run bitbake server in foreground.") - parser.add_option("-B", "--bind", action="store", dest="bind", default=False, - help="The name/address for the bitbake server to bind to.") + help="The name/address for the bitbake xmlrpc server to bind to.") - parser.add_option("-T", "--idle-timeout", type=int, - default=int(os.environ.get("BBTIMEOUT", "0")), + parser.add_option("-T", "--idle-timeout", type=float, dest="server_timeout", + default=float(os.environ.get("BB_SERVER_TIMEOUT", 0)) or None, help="Set timeout to unload bitbake server due to inactivity") parser.add_option("", "--no-setscene", action="store_true", @@ -283,7 +277,7 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters): parser.add_option("-m", "--kill-server", action="store_true", dest="kill_server", default=False, - help="Terminate the remote server.") + help="Terminate the bitbake server.") parser.add_option("", "--observe-only", action="store_true", dest="observe_only", default=False, @@ -322,70 +316,20 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters): eventlog = "bitbake_eventlog_%s.json" % datetime.now().strftime("%Y%m%d%H%M%S") options.writeeventlog = eventlog - # if BBSERVER says to autodetect, let's do that - if options.remote_server: - port = -1 - if options.remote_server != 'autostart': - host, port = options.remote_server.split(":", 2) + if options.bind: + try: + #Checking that the port is a number and is a ':' delimited value + (host, port) = options.bind.split(':') port = int(port) - # use automatic port if port set to -1, means read it from - # the bitbake.lock file; this is a bit tricky, but we always expect - # to be in the base of the build directory if we need to have a - # chance to start the server later, anyway - if port == -1: - lock_location = "./bitbake.lock" - # we try to read the address at all times; if the server is not started, - # we'll try to start it after the first connect fails, below - try: - lf = open(lock_location, 'r') - remotedef = lf.readline() - [host, port] = remotedef.split(":") - port = int(port) - lf.close() - options.remote_server = remotedef - except Exception as e: - if options.remote_server != 'autostart': - raise BBMainException("Failed to read bitbake.lock (%s), invalid port" % str(e)) + except (ValueError,IndexError): + raise BBMainException("FATAL: Malformed host:port bind parameter") + options.xmlrpcinterface = (host, port) + else: + options.xmlrpcinterface = (None, 0) return options, targets[1:] -def start_server(servermodule, configParams, configuration, features): - server = servermodule.BitBakeServer() - single_use = not configParams.server_only and os.getenv('BBSERVER') != 'autostart' - if configParams.bind: - (host, port) = configParams.bind.split(':') - server.initServer((host, int(port)), single_use=single_use, - idle_timeout=configParams.idle_timeout) - configuration.interface = [server.serverImpl.host, server.serverImpl.port] - else: - server.initServer(single_use=single_use) - configuration.interface = [] - - try: - configuration.setServerRegIdleCallback(server.getServerIdleCB()) - - cooker = bb.cooker.BBCooker(configuration, features) - - server.addcooker(cooker) - server.saveConnectionDetails() - except Exception as e: - while hasattr(server, "event_queue"): - import queue - try: - event = server.event_queue.get(block=False) - except (queue.Empty, IOError): - break - if isinstance(event, logging.LogRecord): - logger.handle(event) - raise - if not configParams.foreground: - server.detach() - cooker.shutdown() - cooker.lock.close() - return server - - def bitbake_main(configParams, configuration): # Python multiprocessing requires /dev/shm on Linux @@ -406,45 +350,15 @@ def bitbake_main(configParams, configuration): configuration.setConfigParameters(configParams) - if configParams.server_only: - if configParams.servertype != "xmlrpc": - raise BBMainException("FATAL: If '--server-only' is defined, we must set the " - "servertype as 'xmlrpc'.\n") - if not configParams.bind: - raise BBMainException("FATAL: The '--server-only' option requires a name/address " - "to bind to with the -B option.\n") - else: - try: - #Checking that the port is a number - int(configParams.bind.split(":")[1]) - except (ValueError,IndexError): - raise BBMainException( - "FATAL: Malformed host:port bind parameter") - if configParams.remote_server: + if configParams.server_only and configParams.remote_server: raise BBMainException("FATAL: The '--server-only' option conflicts with %s.\n" % ("the BBSERVER environment variable" if "BBSERVER" in os.environ \ else "the '--remote-server' option")) - elif configParams.foreground: - raise BBMainException("FATAL: The '--foreground' option can only be used " - "with --server-only.\n") - - if configParams.bind and configParams.servertype != "xmlrpc": - raise BBMainException("FATAL: If '-B' or '--bind' is defined, we must " - "set the servertype as 'xmlrpc'.\n") - - if configParams.remote_server and configParams.servertype != "xmlrpc": - raise BBMainException("FATAL: If '--remote-server' is defined, we must " - "set the servertype as 'xmlrpc'.\n") - if configParams.observe_only and (not configParams.remote_server or configParams.bind): raise BBMainException("FATAL: '--observe-only' can only be used by UI clients " "connecting to a server.\n") - if configParams.kill_server and not configParams.remote_server: - raise BBMainException("FATAL: '--kill-server' can only be used to " - "terminate a remote server") - if "BBDEBUG" in os.environ: level = int(os.environ["BBDEBUG"]) if level > configuration.debug: @@ -453,7 +367,7 @@ def bitbake_main(configParams, configuration): bb.msg.init_msgconfig(configParams.verbose, configuration.debug, configuration.debug_domains) - server, server_connection, ui_module = setup_bitbake(configParams, configuration) + server_connection, ui_module = setup_bitbake(configParams, configuration) if server_connection is None and configParams.kill_server: return 0 @@ -463,16 +377,15 @@ def bitbake_main(configParams, configuration): return 0 try: + for event in bb.event.ui_queue: + server_connection.events.queue_event(event) + bb.event.ui_queue = [] + return ui_module.main(server_connection.connection, server_connection.events, configParams) finally: - bb.event.ui_queue = [] server_connection.terminate() else: - print("Bitbake server address: %s, server port: %s" % (server.serverImpl.host, - server.serverImpl.port)) - if configParams.foreground: - server.serverImpl.serve_forever() return 0 return 1 @@ -495,58 +408,69 @@ def setup_bitbake(configParams, configuration, extrafeatures=None, setup_logging # Collect the feature set for the UI featureset = getattr(ui_module, "featureSet", []) - if configParams.server_only: - for param in ('prefile', 'postfile'): - value = getattr(configParams, param) - if value: - setattr(configuration, "%s_server" % param, value) - param = "%s_server" % param - if extrafeatures: for feature in extrafeatures: if not feature in featureset: featureset.append(feature) - servermodule = import_extension_module(bb.server, - configParams.servertype, - 'BitBakeServer') + server_connection = None + if configParams.remote_server: - if os.getenv('BBSERVER') == 'autostart': - if configParams.remote_server == 'autostart' or \ - not servermodule.check_connection(configParams.remote_server, timeout=2): - configParams.bind = 'localhost:0' - srv = start_server(servermodule, configParams, configuration, featureset) - configParams.remote_server = '%s:%d' % tuple(configuration.interface) - bb.event.ui_queue = [] - # we start a stub server that is actually a XMLRPClient that connects to a real server - from bb.server.xmlrpc import BitBakeXMLRPCClient - server = servermodule.BitBakeXMLRPCClient(configParams.observe_only, - configParams.xmlrpctoken) - server.saveConnectionDetails(configParams.remote_server) + # Connect to a remote XMLRPC server + server_connection = bb.server.xmlrpcclient.connectXMLRPC(configParams.remote_server, featureset, + configParams.observe_only, configParams.xmlrpctoken) else: - # we start a server with a given configuration - server = start_server(servermodule, configParams, configuration, featureset) + retries = 8 + while retries: + try: + topdir, lock = lockBitbake() + sockname = topdir + "/bitbake.sock" + if lock: + # we start a server with a given configuration + logger.info("Starting bitbake server...") + server = bb.server.process.BitBakeServer(lock, sockname, configuration, featureset) + # The server will handle any events already in the queue + bb.event.ui_queue = [] + else: + logger.info("Reconnecting to bitbake server...") + if not os.path.exists(sockname): + print("Previous bitbake instance shutting down?, waiting to retry...") + time.sleep(5) + raise bb.server.process.ProcessTimeout("Bitbake still shutting down as socket exists but no lock?") + if not configParams.server_only: + server_connection = bb.server.process.connectProcessServer(sockname, featureset) + if server_connection: + break + except (Exception, bb.server.process.ProcessTimeout) as e: + if not retries: + raise + retries -= 1 + if isinstance(e, bb.server.process.ProcessTimeout): + logger.info("Retrying server connection...") + else: + logger.info("Retrying server connection... (%s)" % traceback.format_exc()) + if not retries: + bb.fatal("Unable to connect to bitbake server, or start one") + if retries < 5: + time.sleep(5) + + if configParams.kill_server: + server_connection.connection.terminateServer() + server_connection.terminate() bb.event.ui_queue = [] + logger.info("Terminated bitbake server.") + return None, None - if configParams.server_only: - server_connection = None - else: - try: - server_connection = server.establishConnection(featureset) - except Exception as e: - bb.fatal("Could not connect to server %s: %s" % (configParams.remote_server, str(e))) - - if configParams.kill_server: - server_connection.connection.terminateServer() - bb.event.ui_queue = [] - return None, None, None + # Restore the environment in case the UI needs it + for k in cleanedvars: + os.environ[k] = cleanedvars[k] - server_connection.setupEventQueue() + logger.removeHandler(handler) - # Restore the environment in case the UI needs it - for k in cleanedvars: - os.environ[k] = cleanedvars[k] + return server_connection, ui_module - logger.removeHandler(handler) +def lockBitbake(): + topdir = bb.cookerdata.findTopdir() + lockfile = topdir + "/bitbake.lock" + return topdir, bb.utils.lockfile(lockfile, False, False) - return server, server_connection, ui_module diff --git a/lib/bb/server/__init__.py b/lib/bb/server/__init__.py index 345691e..5a3fba9 100644 --- a/lib/bb/server/__init__.py +++ b/lib/bb/server/__init__.py @@ -18,10 +18,4 @@ # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -""" Base code for Bitbake server process - -Have a common base for that all Bitbake server classes ensures a consistent -approach to the interface, and minimize risks associated with code duplication. - -""" diff --git a/lib/bb/server/process.py b/lib/bb/server/process.py index 48da7fe..a1d9adc 100644 --- a/lib/bb/server/process.py +++ b/lib/bb/server/process.py @@ -22,128 +22,201 @@ import bb import bb.event -import itertools import logging import multiprocessing +import threading +import array import os -import signal import sys import time import select -from queue import Empty -from multiprocessing import Event, Process, util, Queue, Pipe, queues, Manager +import socket +import subprocess +import errno +import bb.server.xmlrpcserver +from bb import daemonize +from multiprocessing import queues logger = logging.getLogger('BitBake') -class ServerCommunicator(): - def __init__(self, connection, event_handle, server): - self.connection = connection - self.event_handle = event_handle - self.server = server - - def runCommand(self, command): - # @todo try/except - self.connection.send(command) - - if not self.server.is_alive(): - raise SystemExit - - while True: - # don't let the user ctrl-c while we're waiting for a response - try: - for idx in range(0,4): # 0, 1, 2, 3 - if self.connection.poll(5): - return self.connection.recv() - else: - bb.warn("Timeout while attempting to communicate with bitbake server") - bb.fatal("Gave up; Too many tries: timeout while attempting to communicate with bitbake server") - except KeyboardInterrupt: - pass - - def getEventHandle(self): - handle, error = self.runCommand(["getUIHandlerNum"]) - if error: - logger.error("Unable to get UI Handler Number: %s" % error) - raise BaseException(error) +class ProcessTimeout(SystemExit): + pass - return handle - -class EventAdapter(): - """ - Adapter to wrap our event queue since the caller (bb.event) expects to - call a send() method, but our actual queue only has put() - """ - def __init__(self, queue): - self.queue = queue - - def send(self, event): - try: - self.queue.put(event) - except Exception as err: - print("EventAdapter puked: %s" % str(err)) - - -class ProcessServer(Process): +class ProcessServer(multiprocessing.Process): profile_filename = "profile.log" profile_processed_filename = "profile.log.processed" - def __init__(self, command_channel, event_queue, featurelist): - self._idlefuns = {} - Process.__init__(self) - self.command_channel = command_channel - self.event_queue = event_queue - self.event = EventAdapter(event_queue) - self.featurelist = featurelist + def __init__(self, lock, sock, sockname): + multiprocessing.Process.__init__(self) + self.command_channel = False + self.command_channel_reply = False self.quit = False self.heartbeat_seconds = 1 # default, BB_HEARTBEAT_EVENT will be checked once we have a datastore. self.next_heartbeat = time.time() - self.quitin, self.quitout = Pipe() - self.event_handle = multiprocessing.Value("i") + self.event_handle = None + self.haveui = False + self.lastui = False + self.xmlrpc = False + + self._idlefuns = {} + + self.bitbake_lock = lock + self.sock = sock + self.sockname = sockname + + def register_idle_function(self, function, data): + """Register a function to be called while the server is idle""" + assert hasattr(function, '__call__') + self._idlefuns[function] = data def run(self): - for event in bb.event.ui_queue: - self.event_queue.put(event) - self.event_handle.value = bb.event.register_UIHhandler(self, True) + + if self.xmlrpcinterface[0]: + self.xmlrpc = bb.server.xmlrpcserver.BitBakeXMLRPCServer(self.xmlrpcinterface, self.cooker, self) + + print("Bitbake XMLRPC server address: %s, server port: %s" % (self.xmlrpc.host, self.xmlrpc.port)) heartbeat_event = self.cooker.data.getVar('BB_HEARTBEAT_EVENT') if heartbeat_event: try: self.heartbeat_seconds = float(heartbeat_event) except: - # Throwing an exception here causes bitbake to hang. - # Just warn about the invalid setting and continue bb.warn('Ignoring invalid BB_HEARTBEAT_EVENT=%s, must be a float specifying seconds.' % heartbeat_event) + + self.timeout = self.server_timeout or self.cooker.data.getVar('BB_SERVER_TIMEOUT') + try: + if self.timeout: + self.timeout = float(self.timeout) + except: + bb.warn('Ignoring invalid BB_SERVER_TIMEOUT=%s, must be a float specifying seconds.' % self.timeout) + + + try: + self.bitbake_lock.seek(0) + self.bitbake_lock.truncate() + if self.xmlrpcinterface[0]: + self.bitbake_lock.write("%s %s:%s\n" % (os.getpid(), configuration.interface[0], configuration.interface[1])) + else: + self.bitbake_lock.write("%s\n" % (os.getpid())) + self.bitbake_lock.flush() + except: + pass + bb.cooker.server_main(self.cooker, self.main) def main(self): - # Ignore SIGINT within the server, as all SIGINT handling is done by - # the UI and communicated to us - self.quitin.close() - signal.signal(signal.SIGINT, signal.SIG_IGN) bb.utils.set_process_name("Cooker") + + ready = [] + + self.controllersock = False + fds = [self.sock] + if self.xmlrpc: + fds.append(self.xmlrpc) while not self.quit: - try: - if self.command_channel.poll(): - command = self.command_channel.recv() - self.runCommand(command) - if self.quitout.poll(): - self.quitout.recv() + if self.command_channel in ready: + command = self.command_channel.get() + if command[0] == "terminateServer": self.quit = True - try: - self.runCommand(["stateForceShutdown"]) - except: - pass - - self.idle_commands(.1, [self.command_channel, self.quitout]) - except Exception: - logger.exception('Running command %s', command) + continue + try: + print("Running command %s" % command) + self.command_channel_reply.send(self.cooker.command.runCommand(command)) + except Exception as e: + logger.exception('Exception in server main event loop running command %s (%s)' % (command, str(e))) + + if self.xmlrpc in ready: + self.xmlrpc.handle_requests() + if self.sock in ready: + print("Accepting %s" % (str(ready))) + self.controllersock, address = self.sock.accept() + fds.append(self.controllersock) + if self.controllersock in ready: + try: + print("Connecting Client") + ui_fds = recvfds(self.controllersock, 3) + + # Where to write events to + writer = ConnectionWriter(ui_fds[0]) + self.event_handle = bb.event.register_UIHhandler(writer, True) + self.event_writer = writer + + # Where to read commands from + reader = ConnectionReader(ui_fds[1]) + fds.append(reader) + self.command_channel = reader + + # Where to send command return values to + writer = ConnectionWriter(ui_fds[2]) + self.command_channel_reply = writer + + self.haveui = True + + except EOFError: + print("Disconnecting Client") + fds.remove(self.controllersock) + fds.remove(self.command_channel) + bb.event.unregister_UIHhandler(self.event_handle, True) + self.command_channel_reply.writer.close() + self.event_writer.writer.close() + del self.event_writer + self.controllersock.close() + self.haveui = False + self.lastui = time.time() + self.cooker.clientComplete() + if self.timeout is None: + print("No timeout, exiting.") + self.quit = True + if not self.haveui and self.lastui and self.timeout and (self.lastui + self.timeout) < time.time(): + print("Server timeout, exiting.") + self.quit = True - self.event_queue.close() - bb.event.unregister_UIHhandler(self.event_handle.value, True) - self.command_channel.close() - self.cooker.shutdown(True) - self.quitout.close() + ready = self.idle_commands(.1, fds) + + print("Exiting") + try: + self.cooker.shutdown(True) + except: + pass + + # Remove the socket file so we don't get any more connections to avoid races + os.unlink(self.sockname) + self.sock.close() + + # Finally release the lockfile but warn about other processes holding it open + lock = self.bitbake_lock + lockfile = lock.name + lock.close() + lock = None + + while not lock: + with bb.utils.timeout(3): + lock = bb.utils.lockfile(lockfile, shared=False, retry=False, block=True) + if not lock: + # Some systems may not have lsof available + procs = None + try: + procs = subprocess.check_output(["lsof", '-w', lockfile], stderr=subprocess.STDOUT) + except OSError as e: + if e.errno != errno.ENOENT: + raise + if procs is None: + # Fall back to fuser if lsof is unavailable + try: + procs = subprocess.check_output(["fuser", '-v', lockfile], stderr=subprocess.STDOUT) + except OSError as e: + if e.errno != errno.ENOENT: + raise + + msg = "Delaying shutdown due to active processes which appear to be holding bitbake.lock" + if procs: + msg += ":\n%s" % str(procs) + print(msg) + return + # We hold the lock so we can remove the file (hide stale pid data) + bb.utils.remove(lockfile) + bb.utils.unlockfile(lock) def idle_commands(self, delay, fds=None): nextsleep = delay @@ -189,140 +262,253 @@ class ProcessServer(Process): nextsleep = self.next_heartbeat - now if nextsleep is not None: + if self.xmlrpc: + nextsleep = self.xmlrpc.get_timeout(nextsleep) try: - select.select(fds,[],[],nextsleep) + return select.select(fds,[],[],nextsleep)[0] except InterruptedError: - # ignore EINTR error, nextsleep only used for wait - # certain time - pass + # Ignore EINTR + return [] + else: + return [] + + +class ServerCommunicator(): + def __init__(self, connection, recv): + self.connection = connection + self.recv = recv def runCommand(self, command): - """ - Run a cooker command on the server - """ - self.command_channel.send(self.cooker.command.runCommand(command)) - def stop(self): - self.quitin.send("quit") - self.quitin.close() + self.connection.send(command) + while True: + # don't let the user ctrl-c while we're waiting for a response + try: + for idx in range(0,4): # 0, 1, 2, 3 + if self.recv.poll(1): + return self.recv.get() + else: + bb.warn("Timeout while attempting to communicate with bitbake server") + raise ProcessTimeout("Gave up; Too many tries: timeout while attempting to communicate with bitbake server") + except KeyboardInterrupt: + pass + + def updateFeatureSet(self, featureset): + _, error = self.runCommand(["setFeatures", featureset]) + if error: + logger.error("Unable to set the cooker to the correct featureset: %s" % error) + raise BaseException(error) + + def getEventHandle(self): + handle, error = self.runCommand(["getUIHandlerNum"]) + if error: + logger.error("Unable to get UI Handler Number: %s" % error) + raise BaseException(error) - def addcooker(self, cooker): - self.cooker = cooker + return handle - def register_idle_function(self, function, data): - """Register a function to be called while the server is idle""" - assert hasattr(function, '__call__') - self._idlefuns[function] = data + def terminateServer(self): + self.connection.send(['terminateServer']) + return class BitBakeProcessServerConnection(object): - def __init__(self, serverImpl, ui_channel, event_queue): - self.procserver = serverImpl - self.ui_channel = ui_channel - self.event_queue = event_queue - self.connection = ServerCommunicator(self.ui_channel, self.procserver.event_handle, self.procserver) - self.events = self.event_queue - self.terminated = False - - def sigterm_terminate(self): - bb.error("UI received SIGTERM") - self.terminate() + def __init__(self, ui_channel, recv, eq): + self.connection = ServerCommunicator(ui_channel, recv) + self.events = eq def terminate(self): - if self.terminated: - return - self.terminated = True - def flushevents(): - while True: - try: - event = self.event_queue.get(block=False) - except (Empty, IOError): - break - if isinstance(event, logging.LogRecord): - logger.handle(event) - - self.procserver.stop() - - while self.procserver.is_alive(): - flushevents() - self.procserver.join(0.1) - - self.ui_channel.close() - self.event_queue.close() - self.event_queue.setexit() - # XXX: Call explicity close in _writer to avoid - # fd leakage because isn't called on Queue.close() - self.event_queue._writer.close() - - def setupEventQueue(self): - pass - -# Wrap Queue to provide API which isn't server implementation specific -class ProcessEventQueue(multiprocessing.queues.Queue): - def __init__(self, maxsize): - multiprocessing.queues.Queue.__init__(self, maxsize, ctx=multiprocessing.get_context()) - self.exit = False - bb.utils.set_process_name("ProcessEQueue") - - def setexit(self): - self.exit = True - - def waitEvent(self, timeout): - if self.exit: - return self.getEvent() + self.socket_connection.close() + return + +class BitBakeServer(object): + def __init__(self, lock, sockname, configuration, featureset): + + self.configuration = configuration + self.featureset = featureset + self.sockname = sockname + self.bitbake_lock = lock + + # Create server control socket + if os.path.exists(sockname): + os.unlink(sockname) + + self.sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) + # AF_UNIX has path length issues so chdir here to workaround + cwd = os.getcwd() try: - if not self.server.is_alive(): - return self.getEvent() - if timeout == 0: - return self.get(False) - return self.get(True, timeout) - except Empty: - return None + os.chdir(os.path.dirname(sockname)) + self.sock.bind(os.path.basename(sockname)) + finally: + os.chdir(cwd) + self.sock.listen(1) + + os.set_inheritable(self.sock.fileno(), True) + bb.daemonize.createDaemon(self._startServer, "bitbake-cookerdaemon.log") + self.sock.close() + self.bitbake_lock.close() + + def _startServer(self): + server = ProcessServer(self.bitbake_lock, self.sock, self.sockname) + self.configuration.setServerRegIdleCallback(server.register_idle_function) + + # Copy prefile and postfile to _server variants + for param in ('prefile', 'postfile'): + value = getattr(self.configuration, param) + if value: + setattr(self.configuration, "%s_server" % param, value) + + self.cooker = bb.cooker.BBCooker(self.configuration, self.featureset) + server.cooker = self.cooker + server.server_timeout = self.configuration.server_timeout + server.xmlrpcinterface = self.configuration.xmlrpcinterface + print("Started bitbake server pid %d" % os.getpid()) + server.start() + +def connectProcessServer(sockname, featureset): + # Connect to socket + sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) + # AF_UNIX has path length issues so chdir here to workaround + cwd = os.getcwd() + + try: + os.chdir(os.path.dirname(sockname)) + sock.connect(os.path.basename(sockname)) + finally: + os.chdir(cwd) + + try: + # Send an fd for the remote to write events to + readfd, writefd = os.pipe() + eq = BBUIEventQueue(readfd) + # Send an fd for the remote to recieve commands from + readfd1, writefd1 = os.pipe() + command_chan = ConnectionWriter(writefd1) + # Send an fd for the remote to write commands results to + readfd2, writefd2 = os.pipe() + command_chan_recv = ConnectionReader(readfd2) + + sendfds(sock, [writefd, readfd1, writefd2]) + + server_connection = BitBakeProcessServerConnection(command_chan, command_chan_recv, eq) + + server_connection.connection.updateFeatureSet(featureset) + + # Save sock so it doesn't get gc'd for the life of our connection + server_connection.socket_connection = sock + except: + sock.close() + raise + + return server_connection + +def sendfds(sock, fds): + '''Send an array of fds over an AF_UNIX socket.''' + fds = array.array('i', fds) + msg = bytes([len(fds) % 256]) + sock.sendmsg([msg], [(socket.SOL_SOCKET, socket.SCM_RIGHTS, fds)]) + +def recvfds(sock, size): + '''Receive an array of fds over an AF_UNIX socket.''' + a = array.array('i') + bytes_size = a.itemsize * size + msg, ancdata, flags, addr = sock.recvmsg(1, socket.CMSG_LEN(bytes_size)) + if not msg and not ancdata: + raise EOFError + try: + if len(ancdata) != 1: + raise RuntimeError('received %d items of ancdata' % + len(ancdata)) + cmsg_level, cmsg_type, cmsg_data = ancdata[0] + if (cmsg_level == socket.SOL_SOCKET and + cmsg_type == socket.SCM_RIGHTS): + if len(cmsg_data) % a.itemsize != 0: + raise ValueError + a.frombytes(cmsg_data) + assert len(a) % 256 == msg[0] + return list(a) + except (ValueError, IndexError): + pass + raise RuntimeError('Invalid data received') + +class BBUIEventQueue: + def __init__(self, readfd): + + self.eventQueue = [] + self.eventQueueLock = threading.Lock() + self.eventQueueNotify = threading.Event() + + self.reader = ConnectionReader(readfd) + + self.t = threading.Thread() + self.t.setDaemon(True) + self.t.run = self.startCallbackHandler + self.t.start() def getEvent(self): - try: - if not self.server.is_alive(): - self.setexit() - return self.get(False) - except Empty: - if self.exit: - sys.exit(1) + self.eventQueueLock.acquire() + + if len(self.eventQueue) == 0: + self.eventQueueLock.release() return None -class BitBakeServer(object): - def initServer(self, single_use=True): - # establish communication channels. We use bidirectional pipes for - # ui <--> server command/response pairs - # and a queue for server -> ui event notifications - # - self.ui_channel, self.server_channel = Pipe() - self.event_queue = ProcessEventQueue(0) - self.serverImpl = ProcessServer(self.server_channel, self.event_queue, None) - self.event_queue.server = self.serverImpl - - def detach(self): - self.serverImpl.start() - return + item = self.eventQueue.pop(0) - def establishConnection(self, featureset): + if len(self.eventQueue) == 0: + self.eventQueueNotify.clear() - self.connection = BitBakeProcessServerConnection(self.serverImpl, self.ui_channel, self.event_queue) + self.eventQueueLock.release() + return item - _, error = self.connection.connection.runCommand(["setFeatures", featureset]) - if error: - logger.error("Unable to set the cooker to the correct featureset: %s" % error) - raise BaseException(error) - signal.signal(signal.SIGTERM, lambda i, s: self.connection.sigterm_terminate()) - return self.connection + def waitEvent(self, delay): + self.eventQueueNotify.wait(delay) + return self.getEvent() - def addcooker(self, cooker): - self.cooker = cooker - self.serverImpl.addcooker(cooker) + def queue_event(self, event): + self.eventQueueLock.acquire() + self.eventQueue.append(event) + self.eventQueueNotify.set() + self.eventQueueLock.release() - def getServerIdleCB(self): - return self.serverImpl.register_idle_function + def send_event(self, event): + self.queue_event(pickle.loads(event)) - def saveConnectionDetails(self): - return + def startCallbackHandler(self): + bb.utils.set_process_name("UIEventQueue") + while True: + self.reader.wait() + event = self.reader.get() + self.queue_event(event) + +class ConnectionReader(object): + + def __init__(self, fd): + self.reader = multiprocessing.connection.Connection(fd, writable=False) + self.rlock = multiprocessing.Lock() + + def wait(self, timeout=None): + return multiprocessing.connection.wait([self.reader], timeout) + + def poll(self, timeout=None): + return self.reader.poll(timeout) + + def get(self): + with self.rlock: + res = self.reader.recv_bytes() + return multiprocessing.reduction.ForkingPickler.loads(res) + + def fileno(self): + return self.reader.fileno() + +class ConnectionWriter(object): + + def __init__(self, fd): + self.writer = multiprocessing.connection.Connection(fd, readable=False) + self.wlock = multiprocessing.Lock() + # Why bb.event needs this I have no idea + self.event = self + + def send(self, obj): + obj = multiprocessing.reduction.ForkingPickler.dumps(obj) + with self.wlock: + self.writer.send_bytes(obj) - def endSession(self): - self.connection.terminate() diff --git a/lib/bb/server/xmlrpc.py b/lib/bb/server/xmlrpc.py deleted file mode 100644 index 6874765..0000000 --- a/lib/bb/server/xmlrpc.py +++ /dev/null @@ -1,492 +0,0 @@ -# -# BitBake XMLRPC Server -# -# Copyright (C) 2006 - 2007 Michael 'Mickey' Lauer -# Copyright (C) 2006 - 2008 Richard Purdie -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -""" - This module implements an xmlrpc server for BitBake. - - Use this by deriving a class from BitBakeXMLRPCServer and then adding - methods which you want to "export" via XMLRPC. If the methods have the - prefix xmlrpc_, then registering those function will happen automatically, - if not, you need to call register_function. - - Use register_idle_function() to add a function which the xmlrpc server - calls from within server_forever when no requests are pending. Make sure - that those functions are non-blocking or else you will introduce latency - in the server's main loop. -""" - -import os -import sys - -import hashlib -import time -import socket -import signal -import threading -import pickle -import inspect -import select -import http.client -import xmlrpc.client -from xmlrpc.server import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler - -import bb -from bb import daemonize -from bb.ui import uievent - -DEBUG = False - -class BBTransport(xmlrpc.client.Transport): - def __init__(self, timeout): - self.timeout = timeout - self.connection_token = None - xmlrpc.client.Transport.__init__(self) - - # Modified from default to pass timeout to HTTPConnection - def make_connection(self, host): - #return an existing connection if possible. This allows - #HTTP/1.1 keep-alive. - if self._connection and host == self._connection[0]: - return self._connection[1] - - # create a HTTP connection object from a host descriptor - chost, self._extra_headers, x509 = self.get_host_info(host) - #store the host argument along with the connection object - self._connection = host, http.client.HTTPConnection(chost, timeout=self.timeout) - return self._connection[1] - - def set_connection_token(self, token): - self.connection_token = token - - def send_content(self, h, body): - if self.connection_token: - h.putheader("Bitbake-token", self.connection_token) - xmlrpc.client.Transport.send_content(self, h, body) - -def _create_server(host, port, timeout = 60): - t = BBTransport(timeout) - s = xmlrpc.client.ServerProxy("http://%s:%d/" % (host, port), transport=t, allow_none=True, use_builtin_types=True) - return s, t - -def check_connection(remote, timeout): - try: - host, port = remote.split(":") - port = int(port) - except Exception as e: - bb.warn("Failed to read remote definition (%s)" % str(e)) - raise e - - server, _transport = _create_server(host, port, timeout) - try: - ret, err = server.runCommand(['getVariable', 'TOPDIR']) - if err or not ret: - return False - except ConnectionError: - return False - return True - -class BitBakeServerCommands(): - - def __init__(self, server): - self.server = server - self.has_client = False - - def registerEventHandler(self, host, port): - """ - Register a remote UI Event Handler - """ - s, t = _create_server(host, port) - - # we don't allow connections if the cooker is running - if (self.cooker.state in [bb.cooker.state.parsing, bb.cooker.state.running]): - return None, "Cooker is busy: %s" % bb.cooker.state.get_name(self.cooker.state) - - self.event_handle = bb.event.register_UIHhandler(s, True) - return self.event_handle, 'OK' - - def unregisterEventHandler(self, handlerNum): - """ - Unregister a remote UI Event Handler - """ - return bb.event.unregister_UIHhandler(handlerNum, True) - - def runCommand(self, command): - """ - Run a cooker command on the server - """ - return self.cooker.command.runCommand(command, self.server.readonly) - - def getEventHandle(self): - return self.event_handle - - def terminateServer(self): - """ - Trigger the server to quit - """ - self.server.quit = True - print("Server (cooker) exiting") - return - - def addClient(self): - if self.has_client: - return None - token = hashlib.md5(str(time.time()).encode("utf-8")).hexdigest() - self.server.set_connection_token(token) - self.has_client = True - return token - - def removeClient(self): - if self.has_client: - self.server.set_connection_token(None) - self.has_client = False - if self.server.single_use: - self.server.quit = True - -# This request handler checks if the request has a "Bitbake-token" header -# field (this comes from the client side) and compares it with its internal -# "Bitbake-token" field (this comes from the server). If the two are not -# equal, it is assumed that a client is trying to connect to the server -# while another client is connected to the server. In this case, a 503 error -# ("service unavailable") is returned to the client. -class BitBakeXMLRPCRequestHandler(SimpleXMLRPCRequestHandler): - def __init__(self, request, client_address, server): - self.server = server - SimpleXMLRPCRequestHandler.__init__(self, request, client_address, server) - - def do_POST(self): - try: - remote_token = self.headers["Bitbake-token"] - except: - remote_token = None - if remote_token != self.server.connection_token and remote_token != "observer": - self.report_503() - else: - if remote_token == "observer": - self.server.readonly = True - else: - self.server.readonly = False - SimpleXMLRPCRequestHandler.do_POST(self) - - def report_503(self): - self.send_response(503) - response = 'No more client allowed' - self.send_header("Content-type", "text/plain") - self.send_header("Content-length", str(len(response))) - self.end_headers() - self.wfile.write(bytes(response, 'utf-8')) - - -class XMLRPCProxyServer(object): - """ not a real working server, but a stub for a proxy server connection - - """ - def __init__(self, host, port, use_builtin_types=True): - self.host = host - self.port = port - self._idlefuns = {} - - def addcooker(self, cooker): - self.cooker = cooker - - def register_idle_function(self, function, data): - """Register a function to be called while the server is idle""" - assert hasattr(function, '__call__') - self._idlefuns[function] = data - - -class XMLRPCServer(SimpleXMLRPCServer): - # remove this when you're done with debugging - # allow_reuse_address = True - - def __init__(self, interface, single_use=False, idle_timeout=0): - """ - Constructor - """ - self._idlefuns = {} - self.single_use = single_use - # Use auto port configuration - if (interface[1] == -1): - interface = (interface[0], 0) - SimpleXMLRPCServer.__init__(self, interface, - requestHandler=BitBakeXMLRPCRequestHandler, - logRequests=False, allow_none=True) - self.host, self.port = self.socket.getsockname() - self.connection_token = None - #self.register_introspection_functions() - self.commands = BitBakeServerCommands(self) - self.autoregister_all_functions(self.commands, "") - self.interface = interface - self.time = time.time() - self.idle_timeout = idle_timeout - if idle_timeout: - self.register_idle_function(self.handle_idle_timeout, self) - self.heartbeat_seconds = 1 # default, BB_HEARTBEAT_EVENT will be checked once we have a datastore. - self.next_heartbeat = time.time() - - def addcooker(self, cooker): - self.cooker = cooker - self.commands.cooker = cooker - - def autoregister_all_functions(self, context, prefix): - """ - Convenience method for registering all functions in the scope - of this class that start with a common prefix - """ - methodlist = inspect.getmembers(context, inspect.ismethod) - for name, method in methodlist: - if name.startswith(prefix): - self.register_function(method, name[len(prefix):]) - - def handle_idle_timeout(self, server, data, abort): - if not abort: - if time.time() - server.time > server.idle_timeout: - server.quit = True - print("Server idle timeout expired") - return [] - - def serve_forever(self): - heartbeat_event = self.cooker.data.getVar('BB_HEARTBEAT_EVENT') - if heartbeat_event: - try: - self.heartbeat_seconds = float(heartbeat_event) - except: - # Throwing an exception here causes bitbake to hang. - # Just warn about the invalid setting and continue - bb.warn('Ignoring invalid BB_HEARTBEAT_EVENT=%s, must be a float specifying seconds.' % heartbeat_event) - - # Start the actual XMLRPC server - bb.cooker.server_main(self.cooker, self._serve_forever) - - def _serve_forever(self): - """ - Serve Requests. Overloaded to honor a quit command - """ - self.quit = False - while not self.quit: - fds = [self] - nextsleep = 0.1 - for function, data in list(self._idlefuns.items()): - retval = None - try: - retval = function(self, data, False) - if retval is False: - del self._idlefuns[function] - elif retval is True: - nextsleep = 0 - elif isinstance(retval, float): - if (retval < nextsleep): - nextsleep = retval - else: - fds = fds + retval - except SystemExit: - raise - except: - import traceback - traceback.print_exc() - if retval == None: - # the function execute failed; delete it - del self._idlefuns[function] - pass - - socktimeout = self.socket.gettimeout() or nextsleep - socktimeout = min(socktimeout, nextsleep) - # Mirror what BaseServer handle_request would do - try: - fd_sets = select.select(fds, [], [], socktimeout) - if fd_sets[0] and self in fd_sets[0]: - if self.idle_timeout: - self.time = time.time() - self._handle_request_noblock() - except IOError: - # we ignore interrupted calls - pass - - # Create new heartbeat event? - now = time.time() - if now >= self.next_heartbeat: - # We might have missed heartbeats. Just trigger once in - # that case and continue after the usual delay. - self.next_heartbeat += self.heartbeat_seconds - if self.next_heartbeat <= now: - self.next_heartbeat = now + self.heartbeat_seconds - heartbeat = bb.event.HeartbeatEvent(now) - bb.event.fire(heartbeat, self.cooker.data) - if nextsleep and now + nextsleep > self.next_heartbeat: - # Shorten timeout so that we we wake up in time for - # the heartbeat. - nextsleep = self.next_heartbeat - now - - # Tell idle functions we're exiting - for function, data in list(self._idlefuns.items()): - try: - retval = function(self, data, True) - except: - pass - self.server_close() - return - - def set_connection_token(self, token): - self.connection_token = token - - def register_idle_function(self, function, data): - """Register a function to be called while the server is idle""" - assert hasattr(function, '__call__') - self._idlefuns[function] = data - - -class BitBakeXMLRPCServerConnection(object): - def __init__(self, serverImpl, clientinfo=("localhost", 0), observer_only = False, featureset = None): - self.connection, self.transport = _create_server(serverImpl.host, serverImpl.port) - self.clientinfo = clientinfo - self.serverImpl = serverImpl - self.observer_only = observer_only - if featureset: - self.featureset = featureset - else: - self.featureset = [] - - def connect(self, token = None): - if token is None: - if self.observer_only: - token = "observer" - else: - token = self.connection.addClient() - - if token is None: - return None - - self.transport.set_connection_token(token) - return self - - def setupEventQueue(self): - self.events = uievent.BBUIEventQueue(self.connection, self.clientinfo) - for event in bb.event.ui_queue: - self.events.queue_event(event) - - _, error = self.connection.runCommand(["setFeatures", self.featureset]) - if error: - # disconnect the client, we can't make the setFeature work - self.connection.removeClient() - # no need to log it here, the error shall be sent to the client - raise BaseException(error) - - def removeClient(self): - if not self.observer_only: - self.connection.removeClient() - - def terminate(self): - # Don't wait for server indefinitely - import socket - socket.setdefaulttimeout(2) - try: - self.events.system_quit() - except: - pass - try: - self.connection.removeClient() - except: - pass - -class BitBakeServer(object): - def initServer(self, interface = ("localhost", 0), - single_use = False, idle_timeout=0): - self.interface = interface - self.serverImpl = XMLRPCServer(interface, single_use, idle_timeout) - - def detach(self): - daemonize.createDaemon(self.serverImpl.serve_forever, "bitbake-cookerdaemon.log") - del self.cooker - - def establishConnection(self, featureset): - self.connection = BitBakeXMLRPCServerConnection(self.serverImpl, self.interface, False, featureset) - return self.connection.connect() - - def set_connection_token(self, token): - self.connection.transport.set_connection_token(token) - - def addcooker(self, cooker): - self.cooker = cooker - self.serverImpl.addcooker(cooker) - - def getServerIdleCB(self): - return self.serverImpl.register_idle_function - - def saveConnectionDetails(self): - return - - def endSession(self): - self.connection.terminate() - -class BitBakeXMLRPCClient(object): - - def __init__(self, observer_only = False, token = None): - self.token = token - - self.observer_only = observer_only - # if we need extra caches, just tell the server to load them all - pass - - def saveConnectionDetails(self, remote): - self.remote = remote - - def establishConnection(self, featureset): - # The format of "remote" must be "server:port" - try: - [host, port] = self.remote.split(":") - port = int(port) - except Exception as e: - bb.warn("Failed to read remote definition (%s)" % str(e)) - raise e - - # We need our IP for the server connection. We get the IP - # by trying to connect with the server - try: - s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) - s.connect((host, port)) - ip = s.getsockname()[0] - s.close() - except Exception as e: - bb.warn("Could not create socket for %s:%s (%s)" % (host, port, str(e))) - raise e - try: - self.serverImpl = XMLRPCProxyServer(host, port, use_builtin_types=True) - self.connection = BitBakeXMLRPCServerConnection(self.serverImpl, (ip, 0), self.observer_only, featureset) - return self.connection.connect(self.token) - except Exception as e: - bb.warn("Could not connect to server at %s:%s (%s)" % (host, port, str(e))) - raise e - - def endSession(self): - self.connection.removeClient() - - def initServer(self): - self.serverImpl = None - self.connection = None - return - - def addcooker(self, cooker): - self.cooker = cooker - self.serverImpl.addcooker(cooker) - - def getServerIdleCB(self): - return self.serverImpl.register_idle_function - - def detach(self): - return - diff --git a/lib/bb/server/xmlrpcclient.py b/lib/bb/server/xmlrpcclient.py new file mode 100644 index 0000000..4661a9e --- /dev/null +++ b/lib/bb/server/xmlrpcclient.py @@ -0,0 +1,154 @@ +# +# BitBake XMLRPC Client Interface +# +# Copyright (C) 2006 - 2007 Michael 'Mickey' Lauer +# Copyright (C) 2006 - 2008 Richard Purdie +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +import os +import sys + +import socket +import http.client +import xmlrpc.client + +import bb +from bb.ui import uievent + +class BBTransport(xmlrpc.client.Transport): + def __init__(self, timeout): + self.timeout = timeout + self.connection_token = None + xmlrpc.client.Transport.__init__(self) + + # Modified from default to pass timeout to HTTPConnection + def make_connection(self, host): + #return an existing connection if possible. This allows + #HTTP/1.1 keep-alive. + if self._connection and host == self._connection[0]: + return self._connection[1] + + # create a HTTP connection object from a host descriptor + chost, self._extra_headers, x509 = self.get_host_info(host) + #store the host argument along with the connection object + self._connection = host, http.client.HTTPConnection(chost, timeout=self.timeout) + return self._connection[1] + + def set_connection_token(self, token): + self.connection_token = token + + def send_content(self, h, body): + if self.connection_token: + h.putheader("Bitbake-token", self.connection_token) + xmlrpc.client.Transport.send_content(self, h, body) + +def _create_server(host, port, timeout = 60): + t = BBTransport(timeout) + s = xmlrpc.client.ServerProxy("http://%s:%d/" % (host, port), transport=t, allow_none=True, use_builtin_types=True) + return s, t + +def check_connection(remote, timeout): + try: + host, port = remote.split(":") + port = int(port) + except Exception as e: + bb.warn("Failed to read remote definition (%s)" % str(e)) + raise e + + server, _transport = _create_server(host, port, timeout) + try: + ret, err = server.runCommand(['getVariable', 'TOPDIR']) + if err or not ret: + return False + except ConnectionError: + return False + return True + +class BitBakeXMLRPCServerConnection(object): + def __init__(self, host, port, clientinfo=("localhost", 0), observer_only = False, featureset = None): + self.connection, self.transport = _create_server(host, port) + self.clientinfo = clientinfo + self.observer_only = observer_only + if featureset: + self.featureset = featureset + else: + self.featureset = [] + + self.events = uievent.BBUIEventQueue(self.connection, self.clientinfo) + + _, error = self.connection.runCommand(["setFeatures", self.featureset]) + if error: + # disconnect the client, we can't make the setFeature work + self.connection.removeClient() + # no need to log it here, the error shall be sent to the client + raise BaseException(error) + + def connect(self, token = None): + if token is None: + if self.observer_only: + token = "observer" + else: + token = self.connection.addClient() + + if token is None: + return None + + self.transport.set_connection_token(token) + return self + + def removeClient(self): + if not self.observer_only: + self.connection.removeClient() + + def terminate(self): + # Don't wait for server indefinitely + socket.setdefaulttimeout(2) + try: + self.events.system_quit() + except: + pass + try: + self.connection.removeClient() + except: + pass + +def connectXMLRPC(remote, featureset, observer_only = False, token = None): + # The format of "remote" must be "server:port" + try: + [host, port] = remote.split(":") + port = int(port) + except Exception as e: + bb.warn("Failed to parse remote definition %s (%s)" % (remote, str(e))) + raise e + + # We need our IP for the server connection. We get the IP + # by trying to connect with the server + try: + s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + s.connect((host, port)) + ip = s.getsockname()[0] + s.close() + except Exception as e: + bb.warn("Could not create socket for %s:%s (%s)" % (host, port, str(e))) + raise e + try: + connection = BitBakeXMLRPCServerConnection(host, port, (ip, 0), observer_only, featureset) + return connection.connect(token) + except Exception as e: + bb.warn("Could not connect to server at %s:%s (%s)" % (host, port, str(e))) + raise e + + + diff --git a/lib/bb/server/xmlrpcserver.py b/lib/bb/server/xmlrpcserver.py new file mode 100644 index 0000000..875b128 --- /dev/null +++ b/lib/bb/server/xmlrpcserver.py @@ -0,0 +1,158 @@ +# +# BitBake XMLRPC Server Interface +# +# Copyright (C) 2006 - 2007 Michael 'Mickey' Lauer +# Copyright (C) 2006 - 2008 Richard Purdie +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +import os +import sys + +import hashlib +import time +import inspect +from xmlrpc.server import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler + +import bb + +# This request handler checks if the request has a "Bitbake-token" header +# field (this comes from the client side) and compares it with its internal +# "Bitbake-token" field (this comes from the server). If the two are not +# equal, it is assumed that a client is trying to connect to the server +# while another client is connected to the server. In this case, a 503 error +# ("service unavailable") is returned to the client. +class BitBakeXMLRPCRequestHandler(SimpleXMLRPCRequestHandler): + def __init__(self, request, client_address, server): + self.server = server + SimpleXMLRPCRequestHandler.__init__(self, request, client_address, server) + + def do_POST(self): + try: + remote_token = self.headers["Bitbake-token"] + except: + remote_token = None + if 0 and remote_token != self.server.connection_token and remote_token != "observer": + self.report_503() + else: + if remote_token == "observer": + self.server.readonly = True + else: + self.server.readonly = False + SimpleXMLRPCRequestHandler.do_POST(self) + + def report_503(self): + self.send_response(503) + response = 'No more client allowed' + self.send_header("Content-type", "text/plain") + self.send_header("Content-length", str(len(response))) + self.end_headers() + self.wfile.write(bytes(response, 'utf-8')) + +class BitBakeXMLRPCServer(SimpleXMLRPCServer): + # remove this when you're done with debugging + # allow_reuse_address = True + + def __init__(self, interface, cooker, parent): + # Use auto port configuration + if (interface[1] == -1): + interface = (interface[0], 0) + SimpleXMLRPCServer.__init__(self, interface, + requestHandler=BitBakeXMLRPCRequestHandler, + logRequests=False, allow_none=True) + self.host, self.port = self.socket.getsockname() + self.interface = interface + + self.connection_token = None + self.commands = BitBakeXMLRPCServerCommands(self) + self.register_functions(self.commands, "") + + self.cooker = cooker + self.parent = parent + + + def register_functions(self, context, prefix): + """ + Convenience method for registering all functions in the scope + of this class that start with a common prefix + """ + methodlist = inspect.getmembers(context, inspect.ismethod) + for name, method in methodlist: + if name.startswith(prefix): + self.register_function(method, name[len(prefix):]) + + def get_timeout(self, delay): + socktimeout = self.socket.gettimeout() or delay + return min(socktimeout, delay) + + def handle_requests(self): + self._handle_request_noblock() + +class BitBakeXMLRPCServerCommands(): + + def __init__(self, server): + self.server = server + self.has_client = False + + def registerEventHandler(self, host, port): + """ + Register a remote UI Event Handler + """ + s, t = bb.server.xmlrpcclient._create_server(host, port) + + # we don't allow connections if the cooker is running + if (self.server.cooker.state in [bb.cooker.state.parsing, bb.cooker.state.running]): + return None, "Cooker is busy: %s" % bb.cooker.state.get_name(self.server.cooker.state) + + self.event_handle = bb.event.register_UIHhandler(s, True) + return self.event_handle, 'OK' + + def unregisterEventHandler(self, handlerNum): + """ + Unregister a remote UI Event Handler + """ + ret = bb.event.unregister_UIHhandler(handlerNum, True) + self.event_handle = None + return ret + + def runCommand(self, command): + """ + Run a cooker command on the server + """ + return self.server.cooker.command.runCommand(command, self.server.readonly) + + def getEventHandle(self): + return self.event_handle + + def terminateServer(self): + """ + Trigger the server to quit + """ + self.server.parent.quit = True + print("XMLRPC Server triggering exit") + return + + def addClient(self): + if self.server.parent.haveui: + return None + token = hashlib.md5(str(time.time()).encode("utf-8")).hexdigest() + self.server.connection_token = token + self.server.parent.haveui = True + return token + + def removeClient(self): + if self.server.parent.haveui: + self.server.connection_token = None + self.server.parent.haveui = False + diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index fb0da62..303ce02 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -243,7 +243,7 @@ class Tinfoil: cookerconfig = CookerConfiguration() cookerconfig.setConfigParameters(config_params) - server, self.server_connection, ui_module = setup_bitbake(config_params, + self.server_connection, ui_module = setup_bitbake(config_params, cookerconfig, extrafeatures, setup_logging=False) diff --git a/lib/prserv/serv.py b/lib/prserv/serv.py index a7efa58..5f061c2 100644 --- a/lib/prserv/serv.py +++ b/lib/prserv/serv.py @@ -6,7 +6,7 @@ import queue import socket import io import sqlite3 -import bb.server.xmlrpc +import bb.server.xmlrpcclient import prserv import prserv.db import errno @@ -300,7 +300,7 @@ class PRServerConnection(object): host, port = singleton.getinfo() self.host = host self.port = port - self.connection, self.transport = bb.server.xmlrpc._create_server(self.host, self.port) + self.connection, self.transport = bb.server.xmlrpcclient._create_server(self.host, self.port) def terminate(self): try: -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 14:44:40 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 14:44:40 +0000 Subject: [oe-commits] [bitbake] 05/18: bb/main.py: avoid starting server when not needed In-Reply-To: <150047547513.5859.11127664889786465111@git.openembedded.org> References: <150047547513.5859.11127664889786465111@git.openembedded.org> Message-ID: <20170719144435.626532335DF@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit e2d892a53d690e495480796fdae146db0d6e7aed Author: Robert Yang AuthorDate: Mon Jul 17 01:27:14 2017 -0700 bb/main.py: avoid starting server when not needed Fixed 1: $ . ../poky/oe-init-build-env-memres . $ bitbake -m $ bitbake -m # shutdown it again $ bitbake -m Starting bitbake server... Terminated bitbake server. It starts the server and kill it which is redundant. $ bitbake -m $ bitbake --status-only Starting bitbake server... It starts the server which is not what we need. Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- lib/bb/main.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/bb/main.py b/lib/bb/main.py index 51b90d2..683de0b 100755 --- a/lib/bb/main.py +++ b/lib/bb/main.py @@ -368,8 +368,10 @@ def bitbake_main(configParams, configuration): configuration.debug_domains) server_connection, ui_module = setup_bitbake(configParams, configuration) - if server_connection is None and configParams.kill_server: - return 0 + # No server connection + if server_connection is None: + if configParams.status_only or configParams.kill_server: + return 1 if not configParams.server_only: if configParams.status_only: @@ -426,6 +428,10 @@ def setup_bitbake(configParams, configuration, extrafeatures=None, setup_logging topdir, lock = lockBitbake() sockname = topdir + "/bitbake.sock" if lock: + if configParams.status_only or configParams.kill_server: + logger.info("bitbake server is not running.") + lock.close() + return None, None # we start a server with a given configuration logger.info("Starting bitbake server...") server = bb.server.process.BitBakeServer(lock, sockname, configuration, featureset) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 14:44:41 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 14:44:41 +0000 Subject: [oe-commits] [bitbake] 06/18: bb/main.py: fix logic for --observe-only In-Reply-To: <150047547513.5859.11127664889786465111@git.openembedded.org> References: <150047547513.5859.11127664889786465111@git.openembedded.org> Message-ID: <20170719144435.693FD2335E0@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit faf36ebe0a84b2cf1da20512ef9b99cace27f48c Author: Robert Yang AuthorDate: Mon Jul 17 03:17:03 2017 -0700 bb/main.py: fix logic for --observe-only Fixed: $ bitbake --observe-only FATAL: '--observe-only' can only be used by UI clients connecting to a server. And even: $bitbake --observe-only -B localhost:-1 FATAL: '--observe-only' can only be used by UI clients connecting to a server. This was beucase the brackets were in a wrong position. Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- lib/bb/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/bb/main.py b/lib/bb/main.py index 683de0b..29f847e 100755 --- a/lib/bb/main.py +++ b/lib/bb/main.py @@ -355,7 +355,7 @@ def bitbake_main(configParams, configuration): ("the BBSERVER environment variable" if "BBSERVER" in os.environ \ else "the '--remote-server' option")) - if configParams.observe_only and (not configParams.remote_server or configParams.bind): + if configParams.observe_only and not (configParams.remote_server or configParams.bind): raise BBMainException("FATAL: '--observe-only' can only be used by UI clients " "connecting to a server.\n") -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 14:44:44 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 14:44:44 +0000 Subject: [oe-commits] [bitbake] 09/18: tinfoil: set a flag when recipes have been parsed In-Reply-To: <150047547513.5859.11127664889786465111@git.openembedded.org> References: <150047547513.5859.11127664889786465111@git.openembedded.org> Message-ID: <20170719144435.815EE2335E6@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 53e77e65d946581242fff4c725df46ae734fe8f4 Author: Paul Eggleton AuthorDate: Wed Jul 19 11:56:02 2017 +0200 tinfoil: set a flag when recipes have been parsed Make it easy to determine if recipes are parsed (and thus information about available recipes is in memory). Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/tinfoil.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index ddc7b06..f31d7b2 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -217,6 +217,7 @@ class Tinfoil: self.tracking = tracking self.ui_module = None self.server_connection = None + self.recipes_parsed = False if setup_logging: # This is the *client-side* logger, nothing to do with # logging messages from the server @@ -270,6 +271,7 @@ class Tinfoil: self.run_command('parseConfiguration') else: self.run_actions(config_params) + self.recipes_parsed = True self.config_data = bb.data.init() connector = TinfoilDataStoreConnector(self, None) @@ -303,6 +305,7 @@ class Tinfoil: """ config_params = TinfoilConfigParameters(config_only=False) self.run_actions(config_params) + self.recipes_parsed = True def run_command(self, command, *params): """ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 14:44:43 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 14:44:43 +0000 Subject: [oe-commits] [bitbake] 08/18: tinfoil: add a parse_recipes() function In-Reply-To: <150047547513.5859.11127664889786465111@git.openembedded.org> References: <150047547513.5859.11127664889786465111@git.openembedded.org> Message-ID: <20170719144435.77A222335E4@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 1db45b3728dfe5e263b6d39162e903835b019bb3 Author: Paul Eggleton AuthorDate: Wed Jul 19 11:56:01 2017 +0200 tinfoil: add a parse_recipes() function Python style recommends underscore based naming rather than camelCase, and thus the former has been used for most of tinfoil's functions. Add an underscored version of parseRecipes() for consistency and change the one place we call it to use the new version. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- bin/bitbake-layers | 2 +- lib/bb/tinfoil.py | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/bin/bitbake-layers b/bin/bitbake-layers index 04e6bec..d184011 100755 --- a/bin/bitbake-layers +++ b/bin/bitbake-layers @@ -90,7 +90,7 @@ def main(): if getattr(args, 'parserecipes', False): tinfoil.config_data.disableTracking() - tinfoil.parseRecipes() + tinfoil.parse_recipes() tinfoil.config_data.enableTracking() return args.func(args) diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index 65ebdc2..ddc7b06 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -289,7 +289,13 @@ class Tinfoil: def parseRecipes(self): """ - Force a parse of all recipes. Normally you should specify + Legacy function - use parse_recipes() instead. + """ + self.parse_recipes() + + def parse_recipes(self): + """ + Load information on all recipes. Normally you should specify config_only=False when calling prepare() instead of using this function; this function is designed for situations where you need to initialise Tinfoil and use it with config_only=True first and -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 14:44:46 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 14:44:46 +0000 Subject: [oe-commits] [bitbake] 11/18: lib/bb/ui/uihelper: indicate to caller of eventHandler() if events handled In-Reply-To: <150047547513.5859.11127664889786465111@git.openembedded.org> References: <150047547513.5859.11127664889786465111@git.openembedded.org> Message-ID: <20170719144435.9354F23360E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit f83b2ab99bec144e41aff0cfcab5bb87a5b1cda6 Author: Paul Eggleton AuthorDate: Wed Jul 19 11:56:04 2017 +0200 lib/bb/ui/uihelper: indicate to caller of eventHandler() if events handled It is useful for the caller to know whether the uihelper has handled the event passed so that it can skip other event handling code if so. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/ui/uihelper.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/bb/ui/uihelper.py b/lib/bb/ui/uihelper.py index 113fced..963c1ea 100644 --- a/lib/bb/ui/uihelper.py +++ b/lib/bb/ui/uihelper.py @@ -61,6 +61,9 @@ class BBUIHelper: self.running_tasks[event.pid]['progress'] = event.progress self.running_tasks[event.pid]['rate'] = event.rate self.needUpdate = True + else: + return False + return True def getTasks(self): self.needUpdate = False -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 14:44:47 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 14:44:47 +0000 Subject: [oe-commits] [bitbake] 12/18: knotty: make it possible to use termfilter without either console In-Reply-To: <150047547513.5859.11127664889786465111@git.openembedded.org> References: <150047547513.5859.11127664889786465111@git.openembedded.org> Message-ID: <20170719144435.9974E23360F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit ddb3dbdcdd7bd02ac8229c4ac511b578115f087b Author: Paul Eggleton AuthorDate: Wed Jul 19 11:56:05 2017 +0200 knotty: make it possible to use termfilter without either console This isn't useful for knotty itself, but for use from tinfoil in case we can't get access to either the console or errconsole, allow either to be unspecified (None). Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/ui/knotty.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/bb/ui/knotty.py b/lib/bb/ui/knotty.py index c301982..f3900bd 100644 --- a/lib/bb/ui/knotty.py +++ b/lib/bb/ui/knotty.py @@ -207,8 +207,10 @@ class TerminalFilter(object): self.interactive = False bb.note("Unable to use interactive mode for this terminal, using fallback") return - console.addFilter(InteractConsoleLogFilter(self, format)) - errconsole.addFilter(InteractConsoleLogFilter(self, format)) + if console: + console.addFilter(InteractConsoleLogFilter(self, format)) + if errconsole: + errconsole.addFilter(InteractConsoleLogFilter(self, format)) self.main_progress = None -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 14:44:45 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 14:44:45 +0000 Subject: [oe-commits] [bitbake] 10/18: lib/bb/event: refactor printing events In-Reply-To: <150047547513.5859.11127664889786465111@git.openembedded.org> References: <150047547513.5859.11127664889786465111@git.openembedded.org> Message-ID: <20170719144435.8BBE02335E8@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit e0a71a0dd0110ad07e925787fe3b8414f859e704 Author: Paul Eggleton AuthorDate: Wed Jul 19 11:56:03 2017 +0200 lib/bb/event: refactor printing events We really ought to have just one place where the string representation of these events is produced. This doesn't take any real control away from the UI - if an alternative representation is desired, that can still be made. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/command.py | 2 ++ lib/bb/event.py | 32 ++++++++++++++++++++++++++++++++ lib/bb/runqueue.py | 6 ++++++ lib/bb/ui/knotty.py | 37 ++++++------------------------------- lib/bb/ui/ncurses.py | 2 +- lib/bb/ui/taskexp.py | 20 ++------------------ lib/bb/ui/toasterui.py | 25 ++++--------------------- 7 files changed, 53 insertions(+), 71 deletions(-) diff --git a/lib/bb/command.py b/lib/bb/command.py index c06ab07..05803d6 100644 --- a/lib/bb/command.py +++ b/lib/bb/command.py @@ -50,6 +50,8 @@ class CommandFailed(CommandExit): def __init__(self, message): self.error = message CommandExit.__init__(self, 1) + def __str__(self): + return "Command execution failed: %s" % self.error class CommandError(Exception): pass diff --git a/lib/bb/event.py b/lib/bb/event.py index 92ee3e9..59cca61 100644 --- a/lib/bb/event.py +++ b/lib/bb/event.py @@ -521,6 +521,28 @@ class NoProvider(Event): def isRuntime(self): return self._runtime + def __str__(self): + msg = '' + if self._runtime: + r = "R" + else: + r = "" + + extra = '' + if not self._reasons: + if self._close_matches: + extra = ". Close matches:\n %s" % '\n '.join(self._close_matches) + + if self._dependees: + msg = "Nothing %sPROVIDES '%s' (but %s %sDEPENDS on or otherwise requires it)%s" % (r, self._item, ", ".join(self._dependees), r, extra) + else: + msg = "Nothing %sPROVIDES '%s'%s" % (r, self._item, extra) + if self._reasons: + for reason in self._reasons: + msg += '\n' + reason + return msg + + class MultipleProviders(Event): """Multiple Providers""" @@ -548,6 +570,16 @@ class MultipleProviders(Event): """ return self._candidates + def __str__(self): + msg = "Multiple providers are available for %s%s (%s)" % (self._is_runtime and "runtime " or "", + self._item, + ", ".join(self._candidates)) + rtime = "" + if self._is_runtime: + rtime = "R" + msg += "\nConsider defining a PREFERRED_%sPROVIDER entry to match %s" % (rtime, self._item) + return msg + class ParseStarted(OperationStarted): """Recipe parsing for the runqueue has begun""" def __init__(self, total): diff --git a/lib/bb/runqueue.py b/lib/bb/runqueue.py index 21520d3..7dd964d 100644 --- a/lib/bb/runqueue.py +++ b/lib/bb/runqueue.py @@ -2488,6 +2488,9 @@ class runQueueTaskFailed(runQueueEvent): runQueueEvent.__init__(self, task, stats, rq) self.exitcode = exitcode + def __str__(self): + return "Task (%s) failed with exit code '%s'" % (self.taskstring, self.exitcode) + class sceneQueueTaskFailed(sceneQueueEvent): """ Event notifying a setscene task failed @@ -2496,6 +2499,9 @@ class sceneQueueTaskFailed(sceneQueueEvent): sceneQueueEvent.__init__(self, task, stats, rq) self.exitcode = exitcode + def __str__(self): + return "Setscene task (%s) failed with exit code '%s' - real task will be run instead" % (self.taskstring, self.exitcode) + class sceneQueueComplete(sceneQueueEvent): """ Event when all the sceneQueue tasks are complete diff --git a/lib/bb/ui/knotty.py b/lib/bb/ui/knotty.py index 1aa5ebb..c301982 100644 --- a/lib/bb/ui/knotty.py +++ b/lib/bb/ui/knotty.py @@ -560,7 +560,7 @@ def main(server, eventHandler, params, tf = TerminalFilter): return_value = event.exitcode if event.error: errors = errors + 1 - logger.error("Command execution failed: %s", event.error) + logger.error(str(event)) main.shutdown = 2 continue if isinstance(event, bb.command.CommandExit): @@ -571,39 +571,16 @@ def main(server, eventHandler, params, tf = TerminalFilter): main.shutdown = 2 continue if isinstance(event, bb.event.MultipleProviders): - logger.info("multiple providers are available for %s%s (%s)", event._is_runtime and "runtime " or "", - event._item, - ", ".join(event._candidates)) - rtime = "" - if event._is_runtime: - rtime = "R" - logger.info("consider defining a PREFERRED_%sPROVIDER entry to match %s" % (rtime, event._item)) + logger.info(str(event)) continue if isinstance(event, bb.event.NoProvider): - if event._runtime: - r = "R" - else: - r = "" - - extra = '' - if not event._reasons: - if event._close_matches: - extra = ". Close matches:\n %s" % '\n '.join(event._close_matches) - # For universe builds, only show these as warnings, not errors - h = logger.warning if not universe: return_value = 1 errors = errors + 1 - h = logger.error - - if event._dependees: - h("Nothing %sPROVIDES '%s' (but %s %sDEPENDS on or otherwise requires it)%s", r, event._item, ", ".join(event._dependees), r, extra) + logger.error(str(event)) else: - h("Nothing %sPROVIDES '%s'%s", r, event._item, extra) - if event._reasons: - for reason in event._reasons: - h("%s", reason) + logger.warning(str(event)) continue if isinstance(event, bb.runqueue.sceneQueueTaskStarted): @@ -625,13 +602,11 @@ def main(server, eventHandler, params, tf = TerminalFilter): if isinstance(event, bb.runqueue.runQueueTaskFailed): return_value = 1 taskfailures.append(event.taskstring) - logger.error("Task (%s) failed with exit code '%s'", - event.taskstring, event.exitcode) + logger.error(str(event)) continue if isinstance(event, bb.runqueue.sceneQueueTaskFailed): - logger.warning("Setscene task (%s) failed with exit code '%s' - real task will be run instead", - event.taskstring, event.exitcode) + logger.warning(str(event)) continue if isinstance(event, bb.event.DepTreeGenerated): diff --git a/lib/bb/ui/ncurses.py b/lib/bb/ui/ncurses.py index ca845a3..8690c52 100644 --- a/lib/bb/ui/ncurses.py +++ b/lib/bb/ui/ncurses.py @@ -315,7 +315,7 @@ class NCursesUI: # also allow them to now exit with a single ^C shutdown = 2 if isinstance(event, bb.command.CommandFailed): - mw.appendText("Command execution failed: %s" % event.error) + mw.appendText(str(event)) time.sleep(2) exitflag = True if isinstance(event, bb.command.CommandExit): diff --git a/lib/bb/ui/taskexp.py b/lib/bb/ui/taskexp.py index 9d14ece..0d0f9f5 100644 --- a/lib/bb/ui/taskexp.py +++ b/lib/bb/ui/taskexp.py @@ -286,23 +286,7 @@ def main(server, eventHandler, params): continue if isinstance(event, bb.event.NoProvider): - if event._runtime: - r = "R" - else: - r = "" - - extra = '' - if not event._reasons: - if event._close_matches: - extra = ". Close matches:\n %s" % '\n '.join(event._close_matches) - - if event._dependees: - print("Nothing %sPROVIDES '%s' (but %s %sDEPENDS on or otherwise requires it)%s" % (r, event._item, ", ".join(event._dependees), r, extra)) - else: - print("Nothing %sPROVIDES '%s'%s" % (r, event._item, extra)) - if event._reasons: - for reason in event._reasons: - print(reason) + print(str(event)) _, error = server.runCommand(["stateShutdown"]) if error: @@ -310,7 +294,7 @@ def main(server, eventHandler, params): break if isinstance(event, bb.command.CommandFailed): - print("Command execution failed: %s" % event.error) + print(str(event)) return event.exitcode if isinstance(event, bb.command.CommandExit): diff --git a/lib/bb/ui/toasterui.py b/lib/bb/ui/toasterui.py index 71f04fa..88cec37 100644 --- a/lib/bb/ui/toasterui.py +++ b/lib/bb/ui/toasterui.py @@ -320,29 +320,13 @@ def main(server, eventHandler, params): if isinstance(event, bb.event.CacheLoadCompleted): continue if isinstance(event, bb.event.MultipleProviders): - logger.info("multiple providers are available for %s%s (%s)", event._is_runtime and "runtime " or "", - event._item, - ", ".join(event._candidates)) - logger.info("consider defining a PREFERRED_PROVIDER entry to match %s", event._item) + logger.info(str(event)) continue if isinstance(event, bb.event.NoProvider): errors = errors + 1 - if event._runtime: - r = "R" - else: - r = "" - - if event._dependees: - text = "Nothing %sPROVIDES '%s' (but %s %sDEPENDS on or otherwise requires it)" % (r, event._item, ", ".join(event._dependees), r) - else: - text = "Nothing %sPROVIDES '%s'" % (r, event._item) - + text = str(event) logger.error(text) - if event._reasons: - for reason in event._reasons: - logger.error("%s", reason) - text += reason buildinfohelper.store_log_error(text) continue @@ -364,8 +348,7 @@ def main(server, eventHandler, params): if isinstance(event, bb.runqueue.runQueueTaskFailed): buildinfohelper.update_and_store_task(event) taskfailures.append(event.taskstring) - logger.error("Task (%s) failed with exit code '%s'", - event.taskstring, event.exitcode) + logger.error(str(event)) continue if isinstance(event, (bb.runqueue.sceneQueueTaskCompleted, bb.runqueue.sceneQueueTaskFailed)): @@ -382,7 +365,7 @@ def main(server, eventHandler, params): if isinstance(event, bb.command.CommandFailed): errors += 1 errorcode = 1 - logger.error("Command execution failed: %s", event.error) + logger.error(str(event)) elif isinstance(event, bb.event.BuildCompleted): buildinfohelper.scan_image_artifacts() buildinfohelper.clone_required_sdk_artifacts() -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 14:44:42 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 14:44:42 +0000 Subject: [oe-commits] [bitbake] 07/18: tinfoil: add internal mode to build_file() function In-Reply-To: <150047547513.5859.11127664889786465111@git.openembedded.org> References: <150047547513.5859.11127664889786465111@git.openembedded.org> Message-ID: <20170719144435.706FD2335E2@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit b2cf43d4bee51c900d5f89a99a5a4874e6bc9871 Author: Paul Eggleton AuthorDate: Wed Jul 19 11:56:00 2017 +0200 tinfoil: add internal mode to build_file() function In OE's devtool we want to repeatedly run build_file() without showing unnecessary messages and triggering buildhistory for each call. build_file() is just a wrapper around the buildFile command. Change the final "hidewarning" parameter of the buildFile command to "internal" and have this call a new buildFileInternal() function without triggering any of the normal build events, silencing the normal info messages from the runqueue ("Executing RunQueue Tasks", "Tasks Summary" etc.) and avoiding calling parseConfiguration() which we've already done at this point. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/command.py | 9 ++++++--- lib/bb/cooker.py | 34 +++++++++++++++++++++++++--------- lib/bb/tinfoil.py | 9 ++++++--- 3 files changed, 37 insertions(+), 15 deletions(-) diff --git a/lib/bb/command.py b/lib/bb/command.py index eb7c86f..c06ab07 100644 --- a/lib/bb/command.py +++ b/lib/bb/command.py @@ -548,11 +548,14 @@ class CommandsAsync: bfile = params[0] task = params[1] if len(params) > 2: - hidewarning = params[2] + internal = params[2] else: - hidewarning = False + internal = False - command.cooker.buildFile(bfile, task, hidewarning) + if internal: + command.cooker.buildFileInternal(bfile, task, fireevents=False, quietlog=True) + else: + command.cooker.buildFile(bfile, task) buildFile.needcache = False def buildTargets(self, command, params): diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py index daffe67..1625d3c 100644 --- a/lib/bb/cooker.py +++ b/lib/bb/cooker.py @@ -1219,21 +1219,27 @@ class BBCooker: raise NoSpecificMatch return matches[0] - def buildFile(self, buildfile, task, hidewarning=False): + def buildFile(self, buildfile, task): """ Build the file matching regexp buildfile """ bb.event.fire(bb.event.BuildInit(), self.data) - if not hidewarning: - # Too many people use -b because they think it's how you normally - # specify a target to be built, so show a warning - bb.warn("Buildfile specified, dependencies will not be handled. If this is not what you want, do not use -b / --buildfile.") + # Too many people use -b because they think it's how you normally + # specify a target to be built, so show a warning + bb.warn("Buildfile specified, dependencies will not be handled. If this is not what you want, do not use -b / --buildfile.") # Parse the configuration here. We need to do it explicitly here since # buildFile() doesn't use the cache self.parseConfiguration() + self.buildFileInternal(buildfile, task) + + def buildFileInternal(self, buildfile, task, fireevents=True, quietlog=False): + """ + Build the file matching regexp buildfile + """ + # If we are told to do the None task then query the default task if (task == None): task = self.configuration.cmd @@ -1270,8 +1276,8 @@ class BBCooker: # Remove external dependencies self.recipecaches[mc].task_deps[fn]['depends'] = {} self.recipecaches[mc].deps[fn] = [] - self.recipecaches[mc].rundeps[fn] = [] - self.recipecaches[mc].runrecs[fn] = [] + self.recipecaches[mc].rundeps[fn] = defaultdict(list) + self.recipecaches[mc].runrecs[fn] = defaultdict(list) # Invalidate task for target if force mode active if self.configuration.force: @@ -1283,8 +1289,13 @@ class BBCooker: taskdata[mc] = bb.taskdata.TaskData(self.configuration.abort) taskdata[mc].add_provider(self.databuilder.mcdata[mc], self.recipecaches[mc], item) + if quietlog: + rqloglevel = bb.runqueue.logger.getEffectiveLevel() + bb.runqueue.logger.setLevel(logging.WARNING) + buildname = self.databuilder.mcdata[mc].getVar("BUILDNAME") - bb.event.fire(bb.event.BuildStarted(buildname, [item]), self.databuilder.mcdata[mc]) + if fireevents: + bb.event.fire(bb.event.BuildStarted(buildname, [item]), self.databuilder.mcdata[mc]) # Execute the runqueue runlist = [[mc, item, task, fn]] @@ -1311,11 +1322,16 @@ class BBCooker: retval = False except SystemExit as exc: self.command.finishAsyncCommand(str(exc)) + if quietlog: + bb.runqueue.logger.setLevel(rqloglevel) return False if not retval: - bb.event.fire(bb.event.BuildCompleted(len(rq.rqdata.runtaskentries), buildname, item, failures, interrupted), self.databuilder.mcdata[mc]) + if fireevents: + bb.event.fire(bb.event.BuildCompleted(len(rq.rqdata.runtaskentries), buildname, item, failures, interrupted), self.databuilder.mcdata[mc]) self.command.finishAsyncCommand(msg) + if quietlog: + bb.runqueue.logger.setLevel(rqloglevel) return False if retval is True: return True diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index 303ce02..65ebdc2 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -415,12 +415,15 @@ class Tinfoil: else: return None - def build_file(self, buildfile, task): + def build_file(self, buildfile, task, internal=True): """ Runs the specified task for just a single recipe (i.e. no dependencies). - This is equivalent to bitbake -b, except no warning will be printed. + This is equivalent to bitbake -b, except with the default internal=True + no warning about dependencies will be produced, normal info messages + from the runqueue will be silenced and BuildInit, BuildStarted and + BuildCompleted events will not be fired. """ - return self.run_command('buildFile', buildfile, task, True) + return self.run_command('buildFile', buildfile, task, internal) def shutdown(self): if self.server_connection: -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 14:44:49 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 14:44:49 +0000 Subject: [oe-commits] [bitbake] 14/18: tinfoil: enable access to additional cached items In-Reply-To: <150047547513.5859.11127664889786465111@git.openembedded.org> References: <150047547513.5859.11127664889786465111@git.openembedded.org> Message-ID: <20170719144435.A6F36233612@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 0b6fd4969dfa80831f962a9a431851f27719759b Author: Paul Eggleton AuthorDate: Wed Jul 19 11:56:07 2017 +0200 tinfoil: enable access to additional cached items Add access to fn_provides, packages, packages_dynamic and rproviders on the recipecache object. This requires an additional corresponding command plumbing to be added. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/command.py | 32 ++++++++++++++++++++++++++++++++ lib/bb/tinfoil.py | 8 ++++++++ 2 files changed, 40 insertions(+) diff --git a/lib/bb/command.py b/lib/bb/command.py index 05803d6..0e0a35a 100644 --- a/lib/bb/command.py +++ b/lib/bb/command.py @@ -312,6 +312,38 @@ class CommandsSync: return command.cooker.recipecaches[mc].pkg_pepvpr getRecipeVersions.readonly = True + def getRecipeProvides(self, command, params): + try: + mc = params[0] + except IndexError: + mc = '' + return command.cooker.recipecaches[mc].fn_provides + getRecipeProvides.readonly = True + + def getRecipePackages(self, command, params): + try: + mc = params[0] + except IndexError: + mc = '' + return command.cooker.recipecaches[mc].packages + getRecipePackages.readonly = True + + def getRecipePackagesDynamic(self, command, params): + try: + mc = params[0] + except IndexError: + mc = '' + return command.cooker.recipecaches[mc].packages_dynamic + getRecipePackagesDynamic.readonly = True + + def getRProviders(self, command, params): + try: + mc = params[0] + except IndexError: + mc = '' + return command.cooker.recipecaches[mc].rproviders + getRProviders.readonly = True + def getRuntimeDepends(self, command, params): ret = [] try: diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index 2a51526..456cbf8 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -173,6 +173,14 @@ class TinfoilCookerAdapter: attrvalue = self.tinfoil.run_command('getBbFilePriority') or {} elif name == 'pkg_dp': attrvalue = self.tinfoil.run_command('getDefaultPreference') or {} + elif name == 'fn_provides': + attrvalue = self.tinfoil.run_command('getRecipeProvides') or {} + elif name == 'packages': + attrvalue = self.tinfoil.run_command('getRecipePackages') or {} + elif name == 'packages_dynamic': + attrvalue = self.tinfoil.run_command('getRecipePackagesDynamic') or {} + elif name == 'rproviders': + attrvalue = self.tinfoil.run_command('getRProviders') or {} else: raise AttributeError("%s instance has no attribute '%s'" % (self.__class__.__name__, name)) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 14:44:52 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 14:44:52 +0000 Subject: [oe-commits] [bitbake] 17/18: fetch2: allow hiding checksum warning In-Reply-To: <150047547513.5859.11127664889786465111@git.openembedded.org> References: <150047547513.5859.11127664889786465111@git.openembedded.org> Message-ID: <20170719144435.BACBE233615@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 898c578ad3e0b1e1bfdf458735a658ca676796c4 Author: Paul Eggleton AuthorDate: Wed Jul 19 11:56:10 2017 +0200 fetch2: allow hiding checksum warning If BB_STRICT_CHECKSUMS is set to "ignore" then don't display a warning if no checksums are specified in the recipe. This is not intended to be used from recipes - it is needed when we move to using more standard code paths to fetch new files from scripts i.e. where we don't know what the checksums are in advance. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/fetch2/__init__.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/bb/fetch2/__init__.py b/lib/bb/fetch2/__init__.py index 5c02317..2e615b2 100644 --- a/lib/bb/fetch2/__init__.py +++ b/lib/bb/fetch2/__init__.py @@ -584,6 +584,12 @@ def verify_checksum(ud, d, precomputed={}): ud.sha256_name, sha256data)) raise NoChecksumError('Missing SRC_URI checksum', ud.url) + if strict == "ignore": + return { + _MD5_KEY: md5data, + _SHA256_KEY: sha256data + } + # Log missing sums so user can more easily add them logger.warning('Missing md5 SRC_URI checksum for %s, consider adding to the recipe:\n' 'SRC_URI[%s] = "%s"', -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 14:44:53 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 14:44:53 +0000 Subject: [oe-commits] [bitbake] 18/18: fetch2: fire an event when there are missing checksums In-Reply-To: <150047547513.5859.11127664889786465111@git.openembedded.org> References: <150047547513.5859.11127664889786465111@git.openembedded.org> Message-ID: <20170719144435.C2503233616@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 351c9770ef8264cbc3b76b0fd6fa701df83200c5 Author: Paul Eggleton AuthorDate: Wed Jul 19 11:56:11 2017 +0200 fetch2: fire an event when there are missing checksums If BB_STRICT_CHECKSUMS is set to anything other than "1" i.e. we're not going to raise an error, then fire an event so that scripts can listen for it and get the checksums. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/fetch2/__init__.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/bb/fetch2/__init__.py b/lib/bb/fetch2/__init__.py index 2e615b2..74ba37f 100644 --- a/lib/bb/fetch2/__init__.py +++ b/lib/bb/fetch2/__init__.py @@ -39,6 +39,7 @@ import errno import bb.persist_data, bb.utils import bb.checksum import bb.process +import bb.event __version__ = "2" _checksum_cache = bb.checksum.FileChecksumCache() @@ -142,6 +143,13 @@ class NonLocalMethod(Exception): def __init__(self): Exception.__init__(self) +class MissingChecksumEvent(bb.event.Event): + def __init__(self, url, md5sum, sha256sum): + self.url = url + self.checksums = {'md5sum': md5sum, + 'sha256sum': sha256sum} + bb.event.Event.__init__(self) + class URI(object): """ @@ -584,6 +592,8 @@ def verify_checksum(ud, d, precomputed={}): ud.sha256_name, sha256data)) raise NoChecksumError('Missing SRC_URI checksum', ud.url) + bb.event.fire(MissingChecksumEvent(ud.url, md5data, sha256data), d) + if strict == "ignore": return { _MD5_KEY: md5data, -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 14:44:50 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 14:44:50 +0000 Subject: [oe-commits] [bitbake] 15/18: tinfoil: add simple API for getting cached recipe information In-Reply-To: <150047547513.5859.11127664889786465111@git.openembedded.org> References: <150047547513.5859.11127664889786465111@git.openembedded.org> Message-ID: <20170719144435.AD2AB233613@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 41c71d0d2aa0c085757cbae95793a7a8f0440aad Author: Paul Eggleton AuthorDate: Wed Jul 19 11:56:08 2017 +0200 tinfoil: add simple API for getting cached recipe information A common task for tinfoil-using scripts is to iterate over all recipes. This isn't too difficult with the current API, but the pkg_* variables are a little awkward and are really designed for bitbake's internal usage - and it gets a bit more difficult when you want to access some of the other information such as packages and rprovides. To resolve this, create a new recipe info class and add an all_recipes() function to generate this for all recipes. Also add a get_recipe_info() function to get the information for a specific recipe (by PN). (It might perhaps be suggested that we already have a structure similar to this in the cache, however the one we add here is designed for external use and allows the internal structures to change if needed without affecting the API). Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/tinfoil.py | 142 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 142 insertions(+) diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index 456cbf8..30d6c9a 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -217,6 +217,82 @@ class TinfoilCookerAdapter: return self.tinfoil.find_best_provider(pn) +class TinfoilRecipeInfo: + """ + Provides a convenient representation of the cached information for a single recipe. + Some attributes are set on construction, others are read on-demand (which internally + may result in a remote procedure call to the bitbake server the first time). + Note that only information which is cached is available through this object - if + you need other variable values you will need to parse the recipe using + Tinfoil.parse_recipe(). + """ + def __init__(self, recipecache, d, pn, fn, fns): + self._recipecache = recipecache + self._d = d + self.pn = pn + self.fn = fn + self.fns = fns + self.inherit_files = recipecache.inherits[fn] + self.depends = recipecache.deps[fn] + (self.pe, self.pv, self.pr) = recipecache.pkg_pepvpr[fn] + self._cached_packages = None + self._cached_rprovides = None + self._cached_packages_dynamic = None + + def __getattr__(self, name): + if name == 'alternates': + return [x for x in self.fns if x != self.fn] + elif name == 'rdepends': + return self._recipecache.rundeps[self.fn] + elif name == 'rrecommends': + return self._recipecache.runrecs[self.fn] + elif name == 'provides': + return self._recipecache.fn_provides[self.fn] + elif name == 'packages': + if self._cached_packages is None: + self._cached_packages = [] + for pkg, fns in self._recipecache.packages.items(): + if self.fn in fns: + self._cached_packages.append(pkg) + return self._cached_packages + elif name == 'packages_dynamic': + if self._cached_packages_dynamic is None: + self._cached_packages_dynamic = [] + for pkg, fns in self._recipecache.packages_dynamic.items(): + if self.fn in fns: + self._cached_packages_dynamic.append(pkg) + return self._cached_packages_dynamic + elif name == 'rprovides': + if self._cached_rprovides is None: + self._cached_rprovides = [] + for pkg, fns in self._recipecache.rproviders.items(): + if self.fn in fns: + self._cached_rprovides.append(pkg) + return self._cached_rprovides + else: + raise AttributeError("%s instance has no attribute '%s'" % (self.__class__.__name__, name)) + def inherits(self, only_recipe=False): + """ + Get the inherited classes for a recipe. Returns the class names only. + Parameters: + only_recipe: True to return only the classes inherited by the recipe + itself, False to return all classes inherited within + the context for the recipe (which includes globally + inherited classes). + """ + if only_recipe: + global_inherit = [x for x in (self._d.getVar('BBINCLUDED') or '').split() if x.endswith('.bbclass')] + else: + global_inherit = [] + for clsfile in self.inherit_files: + if only_recipe and clsfile in global_inherit: + continue + clsname = os.path.splitext(os.path.basename(clsfile))[0] + yield clsname + def __str__(self): + return '%s' % self.pn + + class Tinfoil: def __init__(self, output=sys.stdout, tracking=False, setup_logging=True): @@ -401,6 +477,72 @@ class Tinfoil: def get_file_appends(self, fn): return self.run_command('getFileAppends', fn) + def all_recipes(self, mc='', sort=True): + """ + Enable iterating over all recipes in the current configuration. + Returns an iterator over TinfoilRecipeInfo objects created on demand. + Parameters: + mc: The multiconfig, default of '' uses the main configuration. + sort: True to sort recipes alphabetically (default), False otherwise + """ + recipecache = self.cooker.recipecaches[mc] + if sort: + recipes = sorted(recipecache.pkg_pn.items()) + else: + recipes = recipecache.pkg_pn.items() + for pn, fns in recipes: + prov = self.find_best_provider(pn) + recipe = TinfoilRecipeInfo(recipecache, + self.config_data, + pn=pn, + fn=prov[3], + fns=fns) + yield recipe + + def all_recipe_files(self, mc='', variants=True, preferred_only=False): + """ + Enable iterating over all recipe files in the current configuration. + Returns an iterator over file paths. + Parameters: + mc: The multiconfig, default of '' uses the main configuration. + variants: True to include variants of recipes created through + BBCLASSEXTEND (default) or False to exclude them + preferred_only: True to include only the preferred recipe where + multiple exist providing the same PN, False to list + all recipes + """ + recipecache = self.cooker.recipecaches[mc] + if preferred_only: + files = [] + for pn in recipecache.pkg_pn.keys(): + prov = self.find_best_provider(pn) + files.append(prov[3]) + else: + files = recipecache.pkg_fn.keys() + for fn in sorted(files): + if not variants and fn.startswith('virtual:'): + continue + yield fn + + + def get_recipe_info(self, pn, mc=''): + """ + Get information on a specific recipe in the current configuration by name (PN). + Returns a TinfoilRecipeInfo object created on demand. + Parameters: + mc: The multiconfig, default of '' uses the main configuration. + """ + recipecache = self.cooker.recipecaches[mc] + prov = self.find_best_provider(pn) + fn = prov[3] + actual_pn = recipecache.pkg_fn[fn] + recipe = TinfoilRecipeInfo(recipecache, + self.config_data, + pn=actual_pn, + fn=fn, + fns=recipecache.pkg_pn[actual_pn]) + return recipe + def parse_recipe(self, pn): """ Parse the specified recipe and return a datastore object -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 14:44:51 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 14:44:51 +0000 Subject: [oe-commits] [bitbake] 16/18: tinfoil: add more doc comments In-Reply-To: <150047547513.5859.11127664889786465111@git.openembedded.org> References: <150047547513.5859.11127664889786465111@git.openembedded.org> Message-ID: <20170719144435.B3B10233614@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit e812fad520f771bc3c10b5dbcad30a620403dde4 Author: Paul Eggleton AuthorDate: Wed Jul 19 11:56:09 2017 +0200 tinfoil: add more doc comments We want this API to be easier to use, so add missing function documentation to help with that. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/tinfoil.py | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index 30d6c9a..e246b3d 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -55,6 +55,7 @@ class TinfoilCommandFailed(Exception): """Exception raised when run_command fails""" class TinfoilDataStoreConnector: + """Connector object used to enable access to datastore objects via tinfoil""" def __init__(self, tinfoil, dsindex): self.tinfoil = tinfoil @@ -294,8 +295,25 @@ class TinfoilRecipeInfo: class Tinfoil: + """ + Tinfoil - an API for scripts and utilities to query + BitBake internals and perform build operations. + """ def __init__(self, output=sys.stdout, tracking=False, setup_logging=True): + """ + Create a new tinfoil object. + Parameters: + output: specifies where console output should be sent. Defaults + to sys.stdout. + tracking: True to enable variable history tracking, False to + disable it (default). Enabling this has a minor + performance impact so typically it isn't enabled + unless you need to query variable history. + setup_logging: True to setup a logger so that things like + bb.warn() will work immediately and timeout warnings + are visible; False to let BitBake do this itself. + """ self.logger = logging.getLogger('BitBake') self.config_data = None self.cooker = None @@ -316,6 +334,37 @@ class Tinfoil: self.shutdown() def prepare(self, config_only=False, config_params=None, quiet=0, extra_features=None): + """ + Prepares the underlying BitBake system to be used via tinfoil. + This function must be called prior to calling any of the other + functions in the API. + NOTE: if you call prepare() you must absolutely call shutdown() + before your code terminates. You can use a "with" block to ensure + this happens e.g. + + with bb.tinfoil.Tinfoil() as tinfoil: + tinfoil.prepare() + ... + + Parameters: + config_only: True to read only the configuration and not load + the cache / parse recipes. This is useful if you just + want to query the value of a variable at the global + level or you want to do anything else that doesn't + involve knowing anything about the recipes in the + current configuration. False loads the cache / parses + recipes. + config_params: optionally specify your own configuration + parameters. If not specified an instance of + TinfoilConfigParameters will be created internally. + quiet: quiet level controlling console output - equivalent + to bitbake's -q/--quiet option. Default of 0 gives + the same output level as normal bitbake execution. + extra_features: extra features to be added to the feature + set requested from the server. See + CookerFeatures._feature_list for possible + features. + """ self.quiet = quiet if self.tracking: @@ -440,9 +489,16 @@ class Tinfoil: return self.server_connection.events.waitEvent(timeout) def get_overlayed_recipes(self): + """ + Find recipes which are overlayed (i.e. where recipes exist in multiple layers) + """ return defaultdict(list, self.run_command('getOverlayedRecipes')) def get_skipped_recipes(self): + """ + Find recipes which were skipped (i.e. SkipRecipe was raised + during parsing). + """ return OrderedDict(self.run_command('getSkippedRecipes')) def get_all_providers(self): @@ -475,6 +531,9 @@ class Tinfoil: return best[3] def get_file_appends(self, fn): + """ + Find the bbappends for a recipe file + """ return self.run_command('getFileAppends', fn) def all_recipes(self, mc='', sort=True): @@ -739,6 +798,12 @@ class Tinfoil: return ret def shutdown(self): + """ + Shut down tinfoil. Disconnects from the server and gracefully + releases any associated resources. You must call this function if + prepare() has been called, or use a with... block when you create + the tinfoil object which will ensure that it gets called. + """ if self.server_connection: self.run_command('clientComplete') _server_connections.remove(self.server_connection) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 14:44:48 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 14:44:48 +0000 Subject: [oe-commits] [bitbake] 13/18: tinfoil: add functionality for running full builds In-Reply-To: <150047547513.5859.11127664889786465111@git.openembedded.org> References: <150047547513.5859.11127664889786465111@git.openembedded.org> Message-ID: <20170719144435.A0999233611@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit b3f8866cd6aee3351d42ef589540db46fb20fff5 Author: Paul Eggleton AuthorDate: Wed Jul 19 11:56:06 2017 +0200 tinfoil: add functionality for running full builds Up to this point, if you wanted to run build tasks in the normal way they get run from a python script, there was no other way than to shell out to bitbake. Worse than that, you couldn't have tinfoil active during that because only one bitbake instance could be running at once. As long as we're prepared to handle the events produced, we can create a wrapper around calling the buildTargets command. Borrow code from knotty to do this in such a way that we get the expected running task display (courtesy of TermFilter) and Ctrl+C handling. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/tinfoil.py | 154 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 154 insertions(+) diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index f31d7b2..2a51526 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -2,6 +2,7 @@ # # Copyright (C) 2012-2017 Intel Corporation # Copyright (C) 2011 Mentor Graphics Corporation +# Copyright (C) 2006-2012 Richard Purdie # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License version 2 as @@ -218,6 +219,7 @@ class Tinfoil: self.ui_module = None self.server_connection = None self.recipes_parsed = False + self.quiet = 0 if setup_logging: # This is the *client-side* logger, nothing to do with # logging messages from the server @@ -230,6 +232,8 @@ class Tinfoil: self.shutdown() def prepare(self, config_only=False, config_params=None, quiet=0, extra_features=None): + self.quiet = quiet + if self.tracking: extrafeatures = [bb.cooker.CookerFeatures.BASEDATASTORE_TRACKING] else: @@ -434,6 +438,156 @@ class Tinfoil: """ return self.run_command('buildFile', buildfile, task, internal) + def build_targets(self, targets, task=None, handle_events=True, extra_events=None, event_callback=None): + """ + Builds the specified targets. This is equivalent to a normal invocation + of bitbake. Has built-in event handling which is enabled by default and + can be extended if needed. + Parameters: + targets: + One or more targets to build. Can be a list or a + space-separated string. + task: + The task to run; if None then the value of BB_DEFAULT_TASK + will be used. Default None. + handle_events: + True to handle events in a similar way to normal bitbake + invocation with knotty; False to return immediately (on the + assumption that the caller will handle the events instead). + Default True. + extra_events: + An optional list of events to add to the event mask (if + handle_events=True). If you add events here you also need + to specify a callback function in event_callback that will + handle the additional events. Default None. + event_callback: + An optional function taking a single parameter which + will be called first upon receiving any event (if + handle_events=True) so that the caller can override or + extend the event handling. Default None. + """ + if isinstance(targets, str): + targets = targets.split() + if not task: + task = self.config_data.getVar('BB_DEFAULT_TASK') + + if handle_events: + # A reasonable set of default events matching up with those we handle below + eventmask = [ + 'bb.event.BuildStarted', + 'bb.event.BuildCompleted', + 'logging.LogRecord', + 'bb.event.NoProvider', + 'bb.command.CommandCompleted', + 'bb.command.CommandFailed', + 'bb.build.TaskStarted', + 'bb.build.TaskFailed', + 'bb.build.TaskSucceeded', + 'bb.build.TaskFailedSilent', + 'bb.build.TaskProgress', + 'bb.runqueue.runQueueTaskStarted', + 'bb.runqueue.sceneQueueTaskStarted', + 'bb.event.ProcessStarted', + 'bb.event.ProcessProgress', + 'bb.event.ProcessFinished', + ] + if extra_events: + eventmask.extend(extra_events) + ret = self.set_event_mask(eventmask) + + ret = self.run_command('buildTargets', targets, task) + if handle_events: + result = False + # Borrowed from knotty, instead somewhat hackily we use the helper + # as the object to store "shutdown" on + helper = bb.ui.uihelper.BBUIHelper() + # We set up logging optionally in the constructor so now we need to + # grab the handlers to pass to TerminalFilter + console = None + errconsole = None + for handler in self.logger.handlers: + if isinstance(handler, logging.StreamHandler): + if handler.stream == sys.stdout: + console = handler + elif handler.stream == sys.stderr: + errconsole = handler + format_str = "%(levelname)s: %(message)s" + format = bb.msg.BBLogFormatter(format_str) + helper.shutdown = 0 + parseprogress = None + termfilter = bb.ui.knotty.TerminalFilter(helper, helper, console, errconsole, format, quiet=self.quiet) + try: + while True: + try: + event = self.wait_event(0.25) + if event: + if event_callback and event_callback(event): + continue + if helper.eventHandler(event): + continue + if isinstance(event, bb.event.ProcessStarted): + if self.quiet > 1: + continue + parseprogress = bb.ui.knotty.new_progress(event.processname, event.total) + parseprogress.start(False) + continue + if isinstance(event, bb.event.ProcessProgress): + if self.quiet > 1: + continue + if parseprogress: + parseprogress.update(event.progress) + else: + bb.warn("Got ProcessProgress event for someting that never started?") + continue + if isinstance(event, bb.event.ProcessFinished): + if self.quiet > 1: + continue + if parseprogress: + parseprogress.finish() + parseprogress = None + continue + if isinstance(event, bb.command.CommandCompleted): + result = True + break + if isinstance(event, bb.command.CommandFailed): + self.logger.error(str(event)) + result = False + break + if isinstance(event, logging.LogRecord): + if event.taskpid == 0 or event.levelno > logging.INFO: + self.logger.handle(event) + continue + if isinstance(event, bb.event.NoProvider): + self.logger.error(str(event)) + result = False + break + + elif helper.shutdown > 1: + break + termfilter.updateFooter() + except KeyboardInterrupt: + termfilter.clearFooter() + if helper.shutdown == 1: + print("\nSecond Keyboard Interrupt, stopping...\n") + ret = self.run_command("stateForceShutdown") + if ret and ret[2]: + self.logger.error("Unable to cleanly stop: %s" % ret[2]) + elif helper.shutdown == 0: + print("\nKeyboard Interrupt, closing down...\n") + interrupted = True + ret = self.run_command("stateShutdown") + if ret and ret[2]: + self.logger.error("Unable to cleanly shutdown: %s" % ret[2]) + helper.shutdown = helper.shutdown + 1 + termfilter.clearFooter() + finally: + termfilter.finish() + if helper.failed_tasks: + result = False + return result + else: + return ret + def shutdown(self): if self.server_connection: self.run_command('clientComplete') -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 14:48:23 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 14:48:23 +0000 Subject: [oe-commits] [openembedded-core] branch krogoth updated (73fa5a8 -> fb28c54) Message-ID: <150047570389.7266.5752593929047443036@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch krogoth in repository openembedded-core. discard 73fa5a8 oe-pkgdata-util: Setup logging before calling prepare discard c31b8d9 devtool: Setup logging before calling prepare discard 737a44e recipetool: Setup logging before calling prepare This update removed existing revisions from the reference, leaving the reference pointing at a previous point in the repository history. * -- * -- N refs/heads/krogoth (fb28c54) \ O -- O -- O (73fa5a8) Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. No new revisions were added by this update. Summary of changes: scripts/lib/devtool/__init__.py | 2 +- scripts/oe-pkgdata-util | 3 ++- scripts/recipetool | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 14:49:00 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 14:49:00 +0000 Subject: [oe-commits] [openembedded-core] branch master-next updated (b1e0085 -> 3176bfe) Message-ID: <150047574021.7562.14708134582424335600@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master-next in repository openembedded-core. from b1e0085 recipetool: create: reimplement fetching with normal fetch/unpack tasks new 974bcae oe-pkgdata-util: Setup logging before calling prepare new f4965b0 devtool: Setup logging before calling prepare new 3176bfe recipetool: Setup logging before calling prepare The 3 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: scripts/lib/devtool/__init__.py | 2 +- scripts/oe-pkgdata-util | 3 +-- scripts/recipetool | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 14:49:01 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 14:49:01 +0000 Subject: [oe-commits] [openembedded-core] 01/03: oe-pkgdata-util: Setup logging before calling prepare In-Reply-To: <150047574021.7562.14708134582424335600@git.openembedded.org> References: <150047574021.7562.14708134582424335600@git.openembedded.org> Message-ID: <20170719144900.5C26F2335DB@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 974bcaed444eadc3b9aba529dea6430591beb0be Author: Richard Purdie AuthorDate: Wed Jul 19 15:24:39 2017 +0100 oe-pkgdata-util: Setup logging before calling prepare This avoids test failures like: INFO - ====================================================================== INFO - FAIL [1.046s]: test_find_path (pkgdata.OePkgdataUtilTests) INFO - ---------------------------------------------------------------------- INFO - Traceback (most recent call last): File "/media/build1/poky/meta/lib/oeqa/core/decorator/__init__.py", line 32, in wrapped_f return func(*args, **kwargs) File "/media/build1/poky/meta/lib/oeqa/selftest/cases/pkgdata.py", line 50, in test_find_path self.assertEqual(result.output, 'zlib: /lib/libz.so.1') AssertionError: 'NOTE: Starting bitbake server...\nzlib: /lib/libz.so.1' != 'zlib: /lib/libz.so.1' - NOTE: Starting bitbake server... zlib: /lib/libz.so.1 INFO - ---------------------------------------------------------------------- since there is corruption in the output. Setting the logging up before calling tinfoil.prepare() resolves this. Signed-off-by: Richard Purdie --- scripts/oe-pkgdata-util | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/scripts/oe-pkgdata-util b/scripts/oe-pkgdata-util index 677effe..a690870 100755 --- a/scripts/oe-pkgdata-util +++ b/scripts/oe-pkgdata-util @@ -40,9 +40,8 @@ def tinfoil_init(): import bb.tinfoil import logging tinfoil = bb.tinfoil.Tinfoil() - tinfoil.prepare(True) - tinfoil.logger.setLevel(logging.WARNING) + tinfoil.prepare(True) return tinfoil -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 14:49:03 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 14:49:03 +0000 Subject: [oe-commits] [openembedded-core] 03/03: recipetool: Setup logging before calling prepare In-Reply-To: <150047574021.7562.14708134582424335600@git.openembedded.org> References: <150047574021.7562.14708134582424335600@git.openembedded.org> Message-ID: <20170719144900.803F72335DD@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 3176bfeb3ba9e6b4e97382c16abbff68fd662eab Author: Richard Purdie AuthorDate: Wed Jul 19 14:45:01 2017 +0100 recipetool: Setup logging before calling prepare This avoids test failures like: ====================================================================== ERROR [0.946s]: test_recipetool_load_plugin (recipetool.RecipetoolTests) INFO - ---------------------------------------------------------------------- INFO - Traceback (most recent call last): File "/media/build1/poky/meta/lib/oeqa/core/decorator/__init__.py", line 32, in wrapped_f return func(*args, **kwargs) File "/media/build1/poky/meta/lib/oeqa/selftest/cases/recipetool.py", line 514, in test_recipetool_load_plugin with open(srcfile) as fh: FileNotFoundError: [Errno 2] No such file or directory: 'NOTE: Starting bitbake server...\n/media/build1/poky/meta-selftest/lib/recipetool/bbpath.py' INFO - ---------------------------------------------------------------------- which comes from: $ recipetool --quiet pluginfile NOTE: Starting bitbake server... /media/build1/poky/meta-selftest/lib/recipetool/bbpath.py since there is corruption in the output despite the --quiet option. Setting the logging up before calling tinfoil.prepare() resolves this. Signed-off-by: Richard Purdie --- scripts/recipetool | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/recipetool b/scripts/recipetool index 3765ec7..3a3c9b7 100755 --- a/scripts/recipetool +++ b/scripts/recipetool @@ -36,8 +36,8 @@ def tinfoil_init(parserecipes): import bb.tinfoil import logging tinfoil = bb.tinfoil.Tinfoil(tracking=True) - tinfoil.prepare(not parserecipes) tinfoil.logger.setLevel(logger.getEffectiveLevel()) + tinfoil.prepare(not parserecipes) return tinfoil def main(): -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 14:49:02 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 14:49:02 +0000 Subject: [oe-commits] [openembedded-core] 02/03: devtool: Setup logging before calling prepare In-Reply-To: <150047574021.7562.14708134582424335600@git.openembedded.org> References: <150047574021.7562.14708134582424335600@git.openembedded.org> Message-ID: <20170719144900.75FF52335DC@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit f4965b011dc5c85b22eda7683166b33c61d0f755 Author: Richard Purdie AuthorDate: Wed Jul 19 15:18:44 2017 +0100 devtool: Setup logging before calling prepare This avoids test failures like: INFO - ====================================================================== INFO - FAIL [1.755s]: test_devtool_layer_plugins (devtool.DevtoolTests) INFO - ---------------------------------------------------------------------- INFO - Traceback (most recent call last): File "/media/build1/poky/meta/lib/oeqa/core/decorator/__init__.py", line 32, in wrapped_f return func(*args, **kwargs) File "/media/build1/poky/meta/lib/oeqa/selftest/cases/devtool.py", line 1354, in test_devtool_layer_plugins self.assertEqual(result.output, s[::-1]) AssertionError: "NOTE: Starting bitbake server...\noY senu[36 chars]rciM" != "oY senuZ s'enoynA morF tiforP oN edaM tfosorciM" - NOTE: Starting bitbake server... oY senuZ s'enoynA morF tiforP oN edaM tfosorciM INFO - ---------------------------------------------------------------------- since there is corruption in the output. Setting the logging up before calling tinfoil.prepare() resolves this. Signed-off-by: Richard Purdie --- scripts/lib/devtool/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/lib/devtool/__init__.py b/scripts/lib/devtool/__init__.py index bba0721..b231e46 100644 --- a/scripts/lib/devtool/__init__.py +++ b/scripts/lib/devtool/__init__.py @@ -115,8 +115,8 @@ def setup_tinfoil(config_only=False, basepath=None, tracking=False): import bb.tinfoil tinfoil = bb.tinfoil.Tinfoil(tracking=tracking) try: - tinfoil.prepare(config_only) tinfoil.logger.setLevel(logger.getEffectiveLevel()) + tinfoil.prepare(config_only) except bb.tinfoil.TinfoilUIException: tinfoil.shutdown() raise DevtoolError('Failed to start bitbake environment') -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 22:59:25 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 22:59:25 +0000 Subject: [oe-commits] [bitbake] 03/18: server/process.py: fix self.bitbake_lock.write() In-Reply-To: <150050516242.821.14109466711178788701@git.openembedded.org> References: <150050516242.821.14109466711178788701@git.openembedded.org> Message-ID: <20170719225922.A3B952335E2@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 99dcce9a0e95191a1f739d4900d8e6c28ca79b71 Author: Robert Yang AuthorDate: Fri Jul 14 02:52:03 2017 -0700 server/process.py: fix self.bitbake_lock.write() There is no global var "configuration", so the old code hang at self.bitbake_lock.write(), and nothing wrote to bitbake.lock. I didn't figure out why it hang (but not print errors). Reproducer: $ bitbake -B localhost:-1 world -k Check bitbake.log, there was nothing, now fixed. Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- lib/bb/server/process.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/bb/server/process.py b/lib/bb/server/process.py index 6edb021..01d9f2f 100644 --- a/lib/bb/server/process.py +++ b/lib/bb/server/process.py @@ -95,8 +95,8 @@ class ProcessServer(multiprocessing.Process): try: self.bitbake_lock.seek(0) self.bitbake_lock.truncate() - if self.xmlrpcinterface[0]: - self.bitbake_lock.write("%s %s:%s\n" % (os.getpid(), configuration.interface[0], configuration.interface[1])) + if self.xmlrpc: + self.bitbake_lock.write("%s %s:%s\n" % (os.getpid(), self.xmlrpc.host, self.xmlrpc.port)) else: self.bitbake_lock.write("%s\n" % (os.getpid())) self.bitbake_lock.flush() -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 22:59:24 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 22:59:24 +0000 Subject: [oe-commits] [bitbake] 02/18: cookerdata/cooker: Restore original datastore upon client disconnect In-Reply-To: <150050516242.821.14109466711178788701@git.openembedded.org> References: <150050516242.821.14109466711178788701@git.openembedded.org> Message-ID: <20170719225922.98DE22335E0@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 8613b9a8244aa17c6acf9ee4eb7c4ae50aaf726b Author: Richard Purdie AuthorDate: Tue Jul 18 17:50:24 2017 +0100 cookerdata/cooker: Restore original datastore upon client disconnect Signed-off-by: Richard Purdie --- lib/bb/cooker.py | 2 ++ lib/bb/cookerdata.py | 9 +++++++++ 2 files changed, 11 insertions(+) diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py index e27763e..daffe67 100644 --- a/lib/bb/cooker.py +++ b/lib/bb/cooker.py @@ -1566,6 +1566,8 @@ class BBCooker: def clientComplete(self): """Called when the client is done using the server""" self.finishcommand() + self.databuilder.reset() + self.data = self.databuilder.data def server_main(cooker, func, *args): cooker.pre_serve() diff --git a/lib/bb/cookerdata.py b/lib/bb/cookerdata.py index d05abfe..55c6ea8 100644 --- a/lib/bb/cookerdata.py +++ b/lib/bb/cookerdata.py @@ -328,6 +328,15 @@ class CookerDataBuilder(object): logger.exception("Error parsing configuration files") raise bb.BBHandledException + # Create a copy so we can reset at a later date when UIs disconnect + self.origdata = self.data + self.data = bb.data.createCopy(self.origdata) + self.mcdata[''] = self.data + + def reset(self): + self.data = bb.data.createCopy(self.origdata) + self.mcdata[''] = self.data + def _findLayerConf(self, data): return findConfigFile("bblayers.conf", data) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 22:59:26 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 22:59:26 +0000 Subject: [oe-commits] [bitbake] 04/18: bb/main.py: fix infinite loop for --server-only In-Reply-To: <150050516242.821.14109466711178788701@git.openembedded.org> References: <150050516242.821.14109466711178788701@git.openembedded.org> Message-ID: <20170719225922.AFFD62335E4@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit b5a0dd2743c3748753098f07dcee21676260d3f3 Author: Robert Yang AuthorDate: Fri Jul 14 02:58:12 2017 -0700 bb/main.py: fix infinite loop for --server-only Fixed: $ bitbake --server-only -B localhost:-1 Infinite loop Reconnecting to bitbake server... [snip] Break the loop when server-only can fix the problem. Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- lib/bb/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/bb/main.py b/lib/bb/main.py index b52c569..51b90d2 100755 --- a/lib/bb/main.py +++ b/lib/bb/main.py @@ -439,7 +439,7 @@ def setup_bitbake(configParams, configuration, extrafeatures=None, setup_logging raise bb.server.process.ProcessTimeout("Bitbake still shutting down as socket exists but no lock?") if not configParams.server_only: server_connection = bb.server.process.connectProcessServer(sockname, featureset) - if server_connection: + if server_connection or configParams.server_only: break except (Exception, bb.server.process.ProcessTimeout) as e: if not retries: -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 22:59:22 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 22:59:22 +0000 Subject: [oe-commits] [bitbake] branch master-next updated (351c977 -> b2cca45) Message-ID: <150050516242.821.14109466711178788701@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master-next in repository bitbake. discard 351c977 fetch2: fire an event when there are missing checksums discard 898c578 fetch2: allow hiding checksum warning discard e812fad tinfoil: add more doc comments discard 41c71d0 tinfoil: add simple API for getting cached recipe information discard 0b6fd49 tinfoil: enable access to additional cached items discard b3f8866 tinfoil: add functionality for running full builds discard ddb3dbd knotty: make it possible to use termfilter without either console discard f83b2ab lib/bb/ui/uihelper: indicate to caller of eventHandler() if events handled discard e0a71a0 lib/bb/event: refactor printing events discard 53e77e6 tinfoil: set a flag when recipes have been parsed discard 1db45b3 tinfoil: add a parse_recipes() function discard b2cf43d tinfoil: add internal mode to build_file() function discard faf36eb bb/main.py: fix logic for --observe-only discard e2d892a bb/main.py: avoid starting server when not needed discard 08051eb bb/main.py: fix infinite loop for --server-only discard 54510c7 server/process.py: fix self.bitbake_lock.write() discard ac3051a cookerdata/cooker: Restore original datastore upon client disconnect discard 8df47ae server: Rework the server API so process and xmlrpc servers coexist new 280612b server: Rework the server API so process and xmlrpc servers coexist new 8613b9a cookerdata/cooker: Restore original datastore upon client disconnect new 99dcce9 server/process.py: fix self.bitbake_lock.write() new b5a0dd2 bb/main.py: fix infinite loop for --server-only new 6cd4cff bb/main.py: avoid starting server when not needed new c17024d bb/main.py: fix logic for --observe-only new 24e03bb tinfoil: add internal mode to build_file() function new d70d46c tinfoil: add a parse_recipes() function new 90e1e43 tinfoil: set a flag when recipes have been parsed new b1cb5f9 lib/bb/event: refactor printing events new 798da25 lib/bb/ui/uihelper: indicate to caller of eventHandler() if events handled new ce507cc knotty: make it possible to use termfilter without either console new 0e35a26 tinfoil: add functionality for running full builds new d776b6a tinfoil: enable access to additional cached items new 445393e tinfoil: add simple API for getting cached recipe information new 9a1265f tinfoil: add more doc comments new 8b94987 fetch2: allow hiding checksum warning new b2cca45 fetch2: fire an event when there are missing checksums This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (351c977) \ N -- N -- N refs/heads/master-next (b2cca45) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 18 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: lib/bb/cookerdata.py | 2 ++ lib/bb/server/process.py | 8 ++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 22:59:23 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 22:59:23 +0000 Subject: [oe-commits] [bitbake] 01/18: server: Rework the server API so process and xmlrpc servers coexist In-Reply-To: <150050516242.821.14109466711178788701@git.openembedded.org> References: <150050516242.821.14109466711178788701@git.openembedded.org> Message-ID: <20170719225922.8F6642335DF@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 280612b8b1cd0998fc025589fb5dd98040a93fc4 Author: Richard Purdie AuthorDate: Tue Jul 18 22:28:40 2017 +0100 server: Rework the server API so process and xmlrpc servers coexist This changes the way bitbake server works quite radically. Now, the server is always a process based server with the option of starting an XMLRPC listener on a specific inferface/port. Behind the scenes this is done with a "bitbake.sock" file alongside the bitbake.lock file. If we can obtain the lock, we know we need to start a server. The server always listens on the socket and UIs can then connect to this. UIs connect by sending a set of three file descriptors over the domain socket, one for sending commands, one for receiving command results and the other for receiving events. These changes meant we can throw away all the horrid server abstraction code, the plugable transport option to bitbake and the code becomes much more readable and debuggable. It also likely removes a ton of ways you could hang the UI/cooker in weird ways due to all the race conditions that existed with previous processes. Changes: * The foreground option for bitbake-server was dropped. Just tail the log if you really want this, the codepaths were complicated enough without adding one for this. * BBSERVER="autodetect" was dropped. The server will autostart and autoconnect in process mode. You have to specify an xmlrpc server address since that can't be autodetected. I can't see a use case for autodetect now. * The transport/servetype option to bitbake was dropped. * A BB_SERVER_TIMEOUT variable is added which allows the server to stay resident for a period of time after the last client disconnects before unloading. This is used if the -T/--idle-timeout option is not passed to bitbake. This change is invasive and may well introduce new issues however I believe the codebase is in a much better position for further development and debugging. Signed-off-by: Richard Purdie --- lib/bb/cooker.py | 58 +--- lib/bb/cookerdata.py | 5 +- lib/bb/main.py | 230 ++++++---------- lib/bb/server/__init__.py | 6 - lib/bb/server/process.py | 596 ++++++++++++++++++++++++++++-------------- lib/bb/server/xmlrpc.py | 492 ---------------------------------- lib/bb/server/xmlrpcclient.py | 154 +++++++++++ lib/bb/server/xmlrpcserver.py | 158 +++++++++++ lib/bb/tinfoil.py | 2 +- lib/prserv/serv.py | 4 +- 10 files changed, 789 insertions(+), 916 deletions(-) diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py index b1311bb..e27763e 100644 --- a/lib/bb/cooker.py +++ b/lib/bb/cooker.py @@ -215,19 +215,6 @@ class BBCooker: self.configuration.server_register_idlecallback(_process_inotify_updates, [self.confignotifier, self.notifier]) - # Take a lock so only one copy of bitbake can run against a given build - # directory at a time - if not self.lockBitbake(): - bb.fatal("Only one copy of bitbake should be run against a build directory") - try: - self.lock.seek(0) - self.lock.truncate() - if len(configuration.interface) >= 2: - self.lock.write("%s:%s\n" % (configuration.interface[0], configuration.interface[1])); - self.lock.flush() - except: - pass - # TOSTOP must not be set or our children will hang when they output try: fd = sys.stdout.fileno() @@ -1557,33 +1544,6 @@ class BBCooker: def post_serve(self): prserv.serv.auto_shutdown(self.data) bb.event.fire(CookerExit(), self.data) - lockfile = self.lock.name - self.lock.close() - self.lock = None - - while not self.lock: - with bb.utils.timeout(3): - self.lock = bb.utils.lockfile(lockfile, shared=False, retry=False, block=True) - if not self.lock: - # Some systems may not have lsof available - procs = None - try: - procs = subprocess.check_output(["lsof", '-w', lockfile], stderr=subprocess.STDOUT) - except OSError as e: - if e.errno != errno.ENOENT: - raise - if procs is None: - # Fall back to fuser if lsof is unavailable - try: - procs = subprocess.check_output(["fuser", '-v', lockfile], stderr=subprocess.STDOUT) - except OSError as e: - if e.errno != errno.ENOENT: - raise - - msg = "Delaying shutdown due to active processes which appear to be holding bitbake.lock" - if procs: - msg += ":\n%s" % str(procs) - print(msg) def shutdown(self, force = False): @@ -1605,23 +1565,7 @@ class BBCooker: def clientComplete(self): """Called when the client is done using the server""" - if self.configuration.server_only: - self.finishcommand() - else: - self.shutdown(True) - - def lockBitbake(self): - if not hasattr(self, 'lock'): - self.lock = None - if self.data: - lockfile = self.data.expand("${TOPDIR}/bitbake.lock") - if lockfile: - self.lock = bb.utils.lockfile(lockfile, False, False) - return self.lock - - def unlockBitbake(self): - if hasattr(self, 'lock') and self.lock: - bb.utils.unlockfile(self.lock) + self.finishcommand() def server_main(cooker, func, *args): cooker.pre_serve() diff --git a/lib/bb/cookerdata.py b/lib/bb/cookerdata.py index 6511dcb..d05abfe 100644 --- a/lib/bb/cookerdata.py +++ b/lib/bb/cookerdata.py @@ -76,7 +76,7 @@ class ConfigParameters(object): for o in ["abort", "tryaltconfigs", "force", "invalidate_stamp", "verbose", "debug", "dry_run", "dump_signatures", "debug_domains", "extra_assume_provided", "profile", - "prefile", "postfile", "tracking"]: + "prefile", "postfile", "tracking", "server_timeout"]: options[o] = getattr(self.options, o) ret, error = server.runCommand(["updateConfig", options, environment, sys.argv]) @@ -144,7 +144,8 @@ class CookerConfiguration(object): self.dump_signatures = [] self.dry_run = False self.tracking = False - self.interface = [] + self.xmlrpcinterface = [] + self.server_timeout = None self.writeeventlog = False self.server_only = False self.limited_deps = False diff --git a/lib/bb/main.py b/lib/bb/main.py index 29e3911..b52c569 100755 --- a/lib/bb/main.py +++ b/lib/bb/main.py @@ -28,6 +28,8 @@ import logging import optparse import warnings import fcntl +import time +import traceback import bb from bb import event @@ -37,6 +39,9 @@ from bb import ui from bb import server from bb import cookerdata +import bb.server.process +import bb.server.xmlrpcclient + logger = logging.getLogger("BitBake") class BBMainException(Exception): @@ -58,9 +63,6 @@ class BitbakeHelpFormatter(optparse.IndentedHelpFormatter): if option.dest == 'ui': valid_uis = list_extension_modules(bb.ui, 'main') option.help = option.help.replace('@CHOICES@', present_options(valid_uis)) - elif option.dest == 'servertype': - valid_server_types = list_extension_modules(bb.server, 'BitBakeServer') - option.help = option.help.replace('@CHOICES@', present_options(valid_server_types)) return optparse.IndentedHelpFormatter.format_option(self, option) @@ -238,11 +240,6 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters): default=os.environ.get('BITBAKE_UI', 'knotty'), help="The user interface to use (@CHOICES@ - default %default).") - # @CHOICES@ is substituted out by BitbakeHelpFormatter above - parser.add_option("-t", "--servertype", action="store", dest="servertype", - default=["process", "xmlrpc"]["BBSERVER" in os.environ], - help="Choose which server type to use (@CHOICES@ - default %default).") - parser.add_option("", "--token", action="store", dest="xmlrpctoken", default=os.environ.get("BBTOKEN"), help="Specify the connection token to be used when connecting " @@ -258,14 +255,11 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters): help="Run bitbake without a UI, only starting a server " "(cooker) process.") - parser.add_option("", "--foreground", action="store_true", - help="Run bitbake server in foreground.") - parser.add_option("-B", "--bind", action="store", dest="bind", default=False, - help="The name/address for the bitbake server to bind to.") + help="The name/address for the bitbake xmlrpc server to bind to.") - parser.add_option("-T", "--idle-timeout", type=int, - default=int(os.environ.get("BBTIMEOUT", "0")), + parser.add_option("-T", "--idle-timeout", type=float, dest="server_timeout", + default=float(os.environ.get("BB_SERVER_TIMEOUT", 0)) or None, help="Set timeout to unload bitbake server due to inactivity") parser.add_option("", "--no-setscene", action="store_true", @@ -283,7 +277,7 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters): parser.add_option("-m", "--kill-server", action="store_true", dest="kill_server", default=False, - help="Terminate the remote server.") + help="Terminate the bitbake server.") parser.add_option("", "--observe-only", action="store_true", dest="observe_only", default=False, @@ -322,70 +316,20 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters): eventlog = "bitbake_eventlog_%s.json" % datetime.now().strftime("%Y%m%d%H%M%S") options.writeeventlog = eventlog - # if BBSERVER says to autodetect, let's do that - if options.remote_server: - port = -1 - if options.remote_server != 'autostart': - host, port = options.remote_server.split(":", 2) + if options.bind: + try: + #Checking that the port is a number and is a ':' delimited value + (host, port) = options.bind.split(':') port = int(port) - # use automatic port if port set to -1, means read it from - # the bitbake.lock file; this is a bit tricky, but we always expect - # to be in the base of the build directory if we need to have a - # chance to start the server later, anyway - if port == -1: - lock_location = "./bitbake.lock" - # we try to read the address at all times; if the server is not started, - # we'll try to start it after the first connect fails, below - try: - lf = open(lock_location, 'r') - remotedef = lf.readline() - [host, port] = remotedef.split(":") - port = int(port) - lf.close() - options.remote_server = remotedef - except Exception as e: - if options.remote_server != 'autostart': - raise BBMainException("Failed to read bitbake.lock (%s), invalid port" % str(e)) + except (ValueError,IndexError): + raise BBMainException("FATAL: Malformed host:port bind parameter") + options.xmlrpcinterface = (host, port) + else: + options.xmlrpcinterface = (None, 0) return options, targets[1:] -def start_server(servermodule, configParams, configuration, features): - server = servermodule.BitBakeServer() - single_use = not configParams.server_only and os.getenv('BBSERVER') != 'autostart' - if configParams.bind: - (host, port) = configParams.bind.split(':') - server.initServer((host, int(port)), single_use=single_use, - idle_timeout=configParams.idle_timeout) - configuration.interface = [server.serverImpl.host, server.serverImpl.port] - else: - server.initServer(single_use=single_use) - configuration.interface = [] - - try: - configuration.setServerRegIdleCallback(server.getServerIdleCB()) - - cooker = bb.cooker.BBCooker(configuration, features) - - server.addcooker(cooker) - server.saveConnectionDetails() - except Exception as e: - while hasattr(server, "event_queue"): - import queue - try: - event = server.event_queue.get(block=False) - except (queue.Empty, IOError): - break - if isinstance(event, logging.LogRecord): - logger.handle(event) - raise - if not configParams.foreground: - server.detach() - cooker.shutdown() - cooker.lock.close() - return server - - def bitbake_main(configParams, configuration): # Python multiprocessing requires /dev/shm on Linux @@ -406,45 +350,15 @@ def bitbake_main(configParams, configuration): configuration.setConfigParameters(configParams) - if configParams.server_only: - if configParams.servertype != "xmlrpc": - raise BBMainException("FATAL: If '--server-only' is defined, we must set the " - "servertype as 'xmlrpc'.\n") - if not configParams.bind: - raise BBMainException("FATAL: The '--server-only' option requires a name/address " - "to bind to with the -B option.\n") - else: - try: - #Checking that the port is a number - int(configParams.bind.split(":")[1]) - except (ValueError,IndexError): - raise BBMainException( - "FATAL: Malformed host:port bind parameter") - if configParams.remote_server: + if configParams.server_only and configParams.remote_server: raise BBMainException("FATAL: The '--server-only' option conflicts with %s.\n" % ("the BBSERVER environment variable" if "BBSERVER" in os.environ \ else "the '--remote-server' option")) - elif configParams.foreground: - raise BBMainException("FATAL: The '--foreground' option can only be used " - "with --server-only.\n") - - if configParams.bind and configParams.servertype != "xmlrpc": - raise BBMainException("FATAL: If '-B' or '--bind' is defined, we must " - "set the servertype as 'xmlrpc'.\n") - - if configParams.remote_server and configParams.servertype != "xmlrpc": - raise BBMainException("FATAL: If '--remote-server' is defined, we must " - "set the servertype as 'xmlrpc'.\n") - if configParams.observe_only and (not configParams.remote_server or configParams.bind): raise BBMainException("FATAL: '--observe-only' can only be used by UI clients " "connecting to a server.\n") - if configParams.kill_server and not configParams.remote_server: - raise BBMainException("FATAL: '--kill-server' can only be used to " - "terminate a remote server") - if "BBDEBUG" in os.environ: level = int(os.environ["BBDEBUG"]) if level > configuration.debug: @@ -453,7 +367,7 @@ def bitbake_main(configParams, configuration): bb.msg.init_msgconfig(configParams.verbose, configuration.debug, configuration.debug_domains) - server, server_connection, ui_module = setup_bitbake(configParams, configuration) + server_connection, ui_module = setup_bitbake(configParams, configuration) if server_connection is None and configParams.kill_server: return 0 @@ -463,16 +377,15 @@ def bitbake_main(configParams, configuration): return 0 try: + for event in bb.event.ui_queue: + server_connection.events.queue_event(event) + bb.event.ui_queue = [] + return ui_module.main(server_connection.connection, server_connection.events, configParams) finally: - bb.event.ui_queue = [] server_connection.terminate() else: - print("Bitbake server address: %s, server port: %s" % (server.serverImpl.host, - server.serverImpl.port)) - if configParams.foreground: - server.serverImpl.serve_forever() return 0 return 1 @@ -495,58 +408,69 @@ def setup_bitbake(configParams, configuration, extrafeatures=None, setup_logging # Collect the feature set for the UI featureset = getattr(ui_module, "featureSet", []) - if configParams.server_only: - for param in ('prefile', 'postfile'): - value = getattr(configParams, param) - if value: - setattr(configuration, "%s_server" % param, value) - param = "%s_server" % param - if extrafeatures: for feature in extrafeatures: if not feature in featureset: featureset.append(feature) - servermodule = import_extension_module(bb.server, - configParams.servertype, - 'BitBakeServer') + server_connection = None + if configParams.remote_server: - if os.getenv('BBSERVER') == 'autostart': - if configParams.remote_server == 'autostart' or \ - not servermodule.check_connection(configParams.remote_server, timeout=2): - configParams.bind = 'localhost:0' - srv = start_server(servermodule, configParams, configuration, featureset) - configParams.remote_server = '%s:%d' % tuple(configuration.interface) - bb.event.ui_queue = [] - # we start a stub server that is actually a XMLRPClient that connects to a real server - from bb.server.xmlrpc import BitBakeXMLRPCClient - server = servermodule.BitBakeXMLRPCClient(configParams.observe_only, - configParams.xmlrpctoken) - server.saveConnectionDetails(configParams.remote_server) + # Connect to a remote XMLRPC server + server_connection = bb.server.xmlrpcclient.connectXMLRPC(configParams.remote_server, featureset, + configParams.observe_only, configParams.xmlrpctoken) else: - # we start a server with a given configuration - server = start_server(servermodule, configParams, configuration, featureset) + retries = 8 + while retries: + try: + topdir, lock = lockBitbake() + sockname = topdir + "/bitbake.sock" + if lock: + # we start a server with a given configuration + logger.info("Starting bitbake server...") + server = bb.server.process.BitBakeServer(lock, sockname, configuration, featureset) + # The server will handle any events already in the queue + bb.event.ui_queue = [] + else: + logger.info("Reconnecting to bitbake server...") + if not os.path.exists(sockname): + print("Previous bitbake instance shutting down?, waiting to retry...") + time.sleep(5) + raise bb.server.process.ProcessTimeout("Bitbake still shutting down as socket exists but no lock?") + if not configParams.server_only: + server_connection = bb.server.process.connectProcessServer(sockname, featureset) + if server_connection: + break + except (Exception, bb.server.process.ProcessTimeout) as e: + if not retries: + raise + retries -= 1 + if isinstance(e, bb.server.process.ProcessTimeout): + logger.info("Retrying server connection...") + else: + logger.info("Retrying server connection... (%s)" % traceback.format_exc()) + if not retries: + bb.fatal("Unable to connect to bitbake server, or start one") + if retries < 5: + time.sleep(5) + + if configParams.kill_server: + server_connection.connection.terminateServer() + server_connection.terminate() bb.event.ui_queue = [] + logger.info("Terminated bitbake server.") + return None, None - if configParams.server_only: - server_connection = None - else: - try: - server_connection = server.establishConnection(featureset) - except Exception as e: - bb.fatal("Could not connect to server %s: %s" % (configParams.remote_server, str(e))) - - if configParams.kill_server: - server_connection.connection.terminateServer() - bb.event.ui_queue = [] - return None, None, None + # Restore the environment in case the UI needs it + for k in cleanedvars: + os.environ[k] = cleanedvars[k] - server_connection.setupEventQueue() + logger.removeHandler(handler) - # Restore the environment in case the UI needs it - for k in cleanedvars: - os.environ[k] = cleanedvars[k] + return server_connection, ui_module - logger.removeHandler(handler) +def lockBitbake(): + topdir = bb.cookerdata.findTopdir() + lockfile = topdir + "/bitbake.lock" + return topdir, bb.utils.lockfile(lockfile, False, False) - return server, server_connection, ui_module diff --git a/lib/bb/server/__init__.py b/lib/bb/server/__init__.py index 345691e..5a3fba9 100644 --- a/lib/bb/server/__init__.py +++ b/lib/bb/server/__init__.py @@ -18,10 +18,4 @@ # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -""" Base code for Bitbake server process - -Have a common base for that all Bitbake server classes ensures a consistent -approach to the interface, and minimize risks associated with code duplication. - -""" diff --git a/lib/bb/server/process.py b/lib/bb/server/process.py index 48da7fe..6edb021 100644 --- a/lib/bb/server/process.py +++ b/lib/bb/server/process.py @@ -22,128 +22,205 @@ import bb import bb.event -import itertools import logging import multiprocessing +import threading +import array import os -import signal import sys import time import select -from queue import Empty -from multiprocessing import Event, Process, util, Queue, Pipe, queues, Manager +import socket +import subprocess +import errno +import bb.server.xmlrpcserver +from bb import daemonize +from multiprocessing import queues logger = logging.getLogger('BitBake') -class ServerCommunicator(): - def __init__(self, connection, event_handle, server): - self.connection = connection - self.event_handle = event_handle - self.server = server - - def runCommand(self, command): - # @todo try/except - self.connection.send(command) - - if not self.server.is_alive(): - raise SystemExit - - while True: - # don't let the user ctrl-c while we're waiting for a response - try: - for idx in range(0,4): # 0, 1, 2, 3 - if self.connection.poll(5): - return self.connection.recv() - else: - bb.warn("Timeout while attempting to communicate with bitbake server") - bb.fatal("Gave up; Too many tries: timeout while attempting to communicate with bitbake server") - except KeyboardInterrupt: - pass - - def getEventHandle(self): - handle, error = self.runCommand(["getUIHandlerNum"]) - if error: - logger.error("Unable to get UI Handler Number: %s" % error) - raise BaseException(error) +class ProcessTimeout(SystemExit): + pass - return handle - -class EventAdapter(): - """ - Adapter to wrap our event queue since the caller (bb.event) expects to - call a send() method, but our actual queue only has put() - """ - def __init__(self, queue): - self.queue = queue - - def send(self, event): - try: - self.queue.put(event) - except Exception as err: - print("EventAdapter puked: %s" % str(err)) - - -class ProcessServer(Process): +class ProcessServer(multiprocessing.Process): profile_filename = "profile.log" profile_processed_filename = "profile.log.processed" - def __init__(self, command_channel, event_queue, featurelist): - self._idlefuns = {} - Process.__init__(self) - self.command_channel = command_channel - self.event_queue = event_queue - self.event = EventAdapter(event_queue) - self.featurelist = featurelist + def __init__(self, lock, sock, sockname): + multiprocessing.Process.__init__(self) + self.command_channel = False + self.command_channel_reply = False self.quit = False self.heartbeat_seconds = 1 # default, BB_HEARTBEAT_EVENT will be checked once we have a datastore. self.next_heartbeat = time.time() - self.quitin, self.quitout = Pipe() - self.event_handle = multiprocessing.Value("i") + self.event_handle = None + self.haveui = False + self.lastui = False + self.xmlrpc = False + + self._idlefuns = {} + + self.bitbake_lock = lock + self.sock = sock + self.sockname = sockname + + def register_idle_function(self, function, data): + """Register a function to be called while the server is idle""" + assert hasattr(function, '__call__') + self._idlefuns[function] = data def run(self): - for event in bb.event.ui_queue: - self.event_queue.put(event) - self.event_handle.value = bb.event.register_UIHhandler(self, True) + + if self.xmlrpcinterface[0]: + self.xmlrpc = bb.server.xmlrpcserver.BitBakeXMLRPCServer(self.xmlrpcinterface, self.cooker, self) + + print("Bitbake XMLRPC server address: %s, server port: %s" % (self.xmlrpc.host, self.xmlrpc.port)) heartbeat_event = self.cooker.data.getVar('BB_HEARTBEAT_EVENT') if heartbeat_event: try: self.heartbeat_seconds = float(heartbeat_event) except: - # Throwing an exception here causes bitbake to hang. - # Just warn about the invalid setting and continue bb.warn('Ignoring invalid BB_HEARTBEAT_EVENT=%s, must be a float specifying seconds.' % heartbeat_event) + + self.timeout = self.server_timeout or self.cooker.data.getVar('BB_SERVER_TIMEOUT') + try: + if self.timeout: + self.timeout = float(self.timeout) + except: + bb.warn('Ignoring invalid BB_SERVER_TIMEOUT=%s, must be a float specifying seconds.' % self.timeout) + + + try: + self.bitbake_lock.seek(0) + self.bitbake_lock.truncate() + if self.xmlrpcinterface[0]: + self.bitbake_lock.write("%s %s:%s\n" % (os.getpid(), configuration.interface[0], configuration.interface[1])) + else: + self.bitbake_lock.write("%s\n" % (os.getpid())) + self.bitbake_lock.flush() + except: + pass + bb.cooker.server_main(self.cooker, self.main) def main(self): - # Ignore SIGINT within the server, as all SIGINT handling is done by - # the UI and communicated to us - self.quitin.close() - signal.signal(signal.SIGINT, signal.SIG_IGN) bb.utils.set_process_name("Cooker") + + ready = [] + + self.controllersock = False + fds = [self.sock] + if self.xmlrpc: + fds.append(self.xmlrpc) while not self.quit: - try: - if self.command_channel.poll(): - command = self.command_channel.recv() - self.runCommand(command) - if self.quitout.poll(): - self.quitout.recv() + if self.command_channel in ready: + command = self.command_channel.get() + if command[0] == "terminateServer": self.quit = True - try: - self.runCommand(["stateForceShutdown"]) - except: - pass - - self.idle_commands(.1, [self.command_channel, self.quitout]) - except Exception: - logger.exception('Running command %s', command) + continue + try: + print("Running command %s" % command) + self.command_channel_reply.send(self.cooker.command.runCommand(command)) + except Exception as e: + logger.exception('Exception in server main event loop running command %s (%s)' % (command, str(e))) + + if self.xmlrpc in ready: + self.xmlrpc.handle_requests() + if self.sock in ready: + self.controllersock, address = self.sock.accept() + if self.haveui: + print("Dropping connection attempt as we have a UI %s" % (str(ready))) + self.controllersock.close() + else: + print("Accepting %s" % (str(ready))) + fds.append(self.controllersock) + if self.controllersock in ready: + try: + print("Connecting Client") + ui_fds = recvfds(self.controllersock, 3) + + # Where to write events to + writer = ConnectionWriter(ui_fds[0]) + self.event_handle = bb.event.register_UIHhandler(writer, True) + self.event_writer = writer + + # Where to read commands from + reader = ConnectionReader(ui_fds[1]) + fds.append(reader) + self.command_channel = reader + + # Where to send command return values to + writer = ConnectionWriter(ui_fds[2]) + self.command_channel_reply = writer + + self.haveui = True + + except EOFError: + print("Disconnecting Client") + fds.remove(self.controllersock) + fds.remove(self.command_channel) + bb.event.unregister_UIHhandler(self.event_handle, True) + self.command_channel_reply.writer.close() + self.event_writer.writer.close() + del self.event_writer + self.controllersock.close() + self.haveui = False + self.lastui = time.time() + self.cooker.clientComplete() + if self.timeout is None: + print("No timeout, exiting.") + self.quit = True + if not self.haveui and self.lastui and self.timeout and (self.lastui + self.timeout) < time.time(): + print("Server timeout, exiting.") + self.quit = True - self.event_queue.close() - bb.event.unregister_UIHhandler(self.event_handle.value, True) - self.command_channel.close() - self.cooker.shutdown(True) - self.quitout.close() + ready = self.idle_commands(.1, fds) + + print("Exiting") + try: + self.cooker.shutdown(True) + except: + pass + + # Remove the socket file so we don't get any more connections to avoid races + os.unlink(self.sockname) + self.sock.close() + + # Finally release the lockfile but warn about other processes holding it open + lock = self.bitbake_lock + lockfile = lock.name + lock.close() + lock = None + + while not lock: + with bb.utils.timeout(3): + lock = bb.utils.lockfile(lockfile, shared=False, retry=False, block=True) + if not lock: + # Some systems may not have lsof available + procs = None + try: + procs = subprocess.check_output(["lsof", '-w', lockfile], stderr=subprocess.STDOUT) + except OSError as e: + if e.errno != errno.ENOENT: + raise + if procs is None: + # Fall back to fuser if lsof is unavailable + try: + procs = subprocess.check_output(["fuser", '-v', lockfile], stderr=subprocess.STDOUT) + except OSError as e: + if e.errno != errno.ENOENT: + raise + + msg = "Delaying shutdown due to active processes which appear to be holding bitbake.lock" + if procs: + msg += ":\n%s" % str(procs) + print(msg) + return + # We hold the lock so we can remove the file (hide stale pid data) + bb.utils.remove(lockfile) + bb.utils.unlockfile(lock) def idle_commands(self, delay, fds=None): nextsleep = delay @@ -189,140 +266,253 @@ class ProcessServer(Process): nextsleep = self.next_heartbeat - now if nextsleep is not None: + if self.xmlrpc: + nextsleep = self.xmlrpc.get_timeout(nextsleep) try: - select.select(fds,[],[],nextsleep) + return select.select(fds,[],[],nextsleep)[0] except InterruptedError: - # ignore EINTR error, nextsleep only used for wait - # certain time - pass + # Ignore EINTR + return [] + else: + return [] + + +class ServerCommunicator(): + def __init__(self, connection, recv): + self.connection = connection + self.recv = recv def runCommand(self, command): - """ - Run a cooker command on the server - """ - self.command_channel.send(self.cooker.command.runCommand(command)) - def stop(self): - self.quitin.send("quit") - self.quitin.close() + self.connection.send(command) + while True: + # don't let the user ctrl-c while we're waiting for a response + try: + for idx in range(0,4): # 0, 1, 2, 3 + if self.recv.poll(1): + return self.recv.get() + else: + bb.warn("Timeout while attempting to communicate with bitbake server") + raise ProcessTimeout("Gave up; Too many tries: timeout while attempting to communicate with bitbake server") + except KeyboardInterrupt: + pass + + def updateFeatureSet(self, featureset): + _, error = self.runCommand(["setFeatures", featureset]) + if error: + logger.error("Unable to set the cooker to the correct featureset: %s" % error) + raise BaseException(error) + + def getEventHandle(self): + handle, error = self.runCommand(["getUIHandlerNum"]) + if error: + logger.error("Unable to get UI Handler Number: %s" % error) + raise BaseException(error) - def addcooker(self, cooker): - self.cooker = cooker + return handle - def register_idle_function(self, function, data): - """Register a function to be called while the server is idle""" - assert hasattr(function, '__call__') - self._idlefuns[function] = data + def terminateServer(self): + self.connection.send(['terminateServer']) + return class BitBakeProcessServerConnection(object): - def __init__(self, serverImpl, ui_channel, event_queue): - self.procserver = serverImpl - self.ui_channel = ui_channel - self.event_queue = event_queue - self.connection = ServerCommunicator(self.ui_channel, self.procserver.event_handle, self.procserver) - self.events = self.event_queue - self.terminated = False - - def sigterm_terminate(self): - bb.error("UI received SIGTERM") - self.terminate() + def __init__(self, ui_channel, recv, eq): + self.connection = ServerCommunicator(ui_channel, recv) + self.events = eq def terminate(self): - if self.terminated: - return - self.terminated = True - def flushevents(): - while True: - try: - event = self.event_queue.get(block=False) - except (Empty, IOError): - break - if isinstance(event, logging.LogRecord): - logger.handle(event) - - self.procserver.stop() - - while self.procserver.is_alive(): - flushevents() - self.procserver.join(0.1) - - self.ui_channel.close() - self.event_queue.close() - self.event_queue.setexit() - # XXX: Call explicity close in _writer to avoid - # fd leakage because isn't called on Queue.close() - self.event_queue._writer.close() - - def setupEventQueue(self): - pass - -# Wrap Queue to provide API which isn't server implementation specific -class ProcessEventQueue(multiprocessing.queues.Queue): - def __init__(self, maxsize): - multiprocessing.queues.Queue.__init__(self, maxsize, ctx=multiprocessing.get_context()) - self.exit = False - bb.utils.set_process_name("ProcessEQueue") - - def setexit(self): - self.exit = True - - def waitEvent(self, timeout): - if self.exit: - return self.getEvent() + self.socket_connection.close() + return + +class BitBakeServer(object): + def __init__(self, lock, sockname, configuration, featureset): + + self.configuration = configuration + self.featureset = featureset + self.sockname = sockname + self.bitbake_lock = lock + + # Create server control socket + if os.path.exists(sockname): + os.unlink(sockname) + + self.sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) + # AF_UNIX has path length issues so chdir here to workaround + cwd = os.getcwd() try: - if not self.server.is_alive(): - return self.getEvent() - if timeout == 0: - return self.get(False) - return self.get(True, timeout) - except Empty: - return None + os.chdir(os.path.dirname(sockname)) + self.sock.bind(os.path.basename(sockname)) + finally: + os.chdir(cwd) + self.sock.listen(1) + + os.set_inheritable(self.sock.fileno(), True) + bb.daemonize.createDaemon(self._startServer, "bitbake-cookerdaemon.log") + self.sock.close() + self.bitbake_lock.close() + + def _startServer(self): + server = ProcessServer(self.bitbake_lock, self.sock, self.sockname) + self.configuration.setServerRegIdleCallback(server.register_idle_function) + + # Copy prefile and postfile to _server variants + for param in ('prefile', 'postfile'): + value = getattr(self.configuration, param) + if value: + setattr(self.configuration, "%s_server" % param, value) + + self.cooker = bb.cooker.BBCooker(self.configuration, self.featureset) + server.cooker = self.cooker + server.server_timeout = self.configuration.server_timeout + server.xmlrpcinterface = self.configuration.xmlrpcinterface + print("Started bitbake server pid %d" % os.getpid()) + server.start() + +def connectProcessServer(sockname, featureset): + # Connect to socket + sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) + # AF_UNIX has path length issues so chdir here to workaround + cwd = os.getcwd() + + try: + os.chdir(os.path.dirname(sockname)) + sock.connect(os.path.basename(sockname)) + finally: + os.chdir(cwd) + + try: + # Send an fd for the remote to write events to + readfd, writefd = os.pipe() + eq = BBUIEventQueue(readfd) + # Send an fd for the remote to recieve commands from + readfd1, writefd1 = os.pipe() + command_chan = ConnectionWriter(writefd1) + # Send an fd for the remote to write commands results to + readfd2, writefd2 = os.pipe() + command_chan_recv = ConnectionReader(readfd2) + + sendfds(sock, [writefd, readfd1, writefd2]) + + server_connection = BitBakeProcessServerConnection(command_chan, command_chan_recv, eq) + + server_connection.connection.updateFeatureSet(featureset) + + # Save sock so it doesn't get gc'd for the life of our connection + server_connection.socket_connection = sock + except: + sock.close() + raise + + return server_connection + +def sendfds(sock, fds): + '''Send an array of fds over an AF_UNIX socket.''' + fds = array.array('i', fds) + msg = bytes([len(fds) % 256]) + sock.sendmsg([msg], [(socket.SOL_SOCKET, socket.SCM_RIGHTS, fds)]) + +def recvfds(sock, size): + '''Receive an array of fds over an AF_UNIX socket.''' + a = array.array('i') + bytes_size = a.itemsize * size + msg, ancdata, flags, addr = sock.recvmsg(1, socket.CMSG_LEN(bytes_size)) + if not msg and not ancdata: + raise EOFError + try: + if len(ancdata) != 1: + raise RuntimeError('received %d items of ancdata' % + len(ancdata)) + cmsg_level, cmsg_type, cmsg_data = ancdata[0] + if (cmsg_level == socket.SOL_SOCKET and + cmsg_type == socket.SCM_RIGHTS): + if len(cmsg_data) % a.itemsize != 0: + raise ValueError + a.frombytes(cmsg_data) + assert len(a) % 256 == msg[0] + return list(a) + except (ValueError, IndexError): + pass + raise RuntimeError('Invalid data received') + +class BBUIEventQueue: + def __init__(self, readfd): + + self.eventQueue = [] + self.eventQueueLock = threading.Lock() + self.eventQueueNotify = threading.Event() + + self.reader = ConnectionReader(readfd) + + self.t = threading.Thread() + self.t.setDaemon(True) + self.t.run = self.startCallbackHandler + self.t.start() def getEvent(self): - try: - if not self.server.is_alive(): - self.setexit() - return self.get(False) - except Empty: - if self.exit: - sys.exit(1) + self.eventQueueLock.acquire() + + if len(self.eventQueue) == 0: + self.eventQueueLock.release() return None -class BitBakeServer(object): - def initServer(self, single_use=True): - # establish communication channels. We use bidirectional pipes for - # ui <--> server command/response pairs - # and a queue for server -> ui event notifications - # - self.ui_channel, self.server_channel = Pipe() - self.event_queue = ProcessEventQueue(0) - self.serverImpl = ProcessServer(self.server_channel, self.event_queue, None) - self.event_queue.server = self.serverImpl - - def detach(self): - self.serverImpl.start() - return + item = self.eventQueue.pop(0) - def establishConnection(self, featureset): + if len(self.eventQueue) == 0: + self.eventQueueNotify.clear() - self.connection = BitBakeProcessServerConnection(self.serverImpl, self.ui_channel, self.event_queue) + self.eventQueueLock.release() + return item - _, error = self.connection.connection.runCommand(["setFeatures", featureset]) - if error: - logger.error("Unable to set the cooker to the correct featureset: %s" % error) - raise BaseException(error) - signal.signal(signal.SIGTERM, lambda i, s: self.connection.sigterm_terminate()) - return self.connection + def waitEvent(self, delay): + self.eventQueueNotify.wait(delay) + return self.getEvent() - def addcooker(self, cooker): - self.cooker = cooker - self.serverImpl.addcooker(cooker) + def queue_event(self, event): + self.eventQueueLock.acquire() + self.eventQueue.append(event) + self.eventQueueNotify.set() + self.eventQueueLock.release() - def getServerIdleCB(self): - return self.serverImpl.register_idle_function + def send_event(self, event): + self.queue_event(pickle.loads(event)) - def saveConnectionDetails(self): - return + def startCallbackHandler(self): + bb.utils.set_process_name("UIEventQueue") + while True: + self.reader.wait() + event = self.reader.get() + self.queue_event(event) + +class ConnectionReader(object): + + def __init__(self, fd): + self.reader = multiprocessing.connection.Connection(fd, writable=False) + self.rlock = multiprocessing.Lock() + + def wait(self, timeout=None): + return multiprocessing.connection.wait([self.reader], timeout) + + def poll(self, timeout=None): + return self.reader.poll(timeout) + + def get(self): + with self.rlock: + res = self.reader.recv_bytes() + return multiprocessing.reduction.ForkingPickler.loads(res) + + def fileno(self): + return self.reader.fileno() + +class ConnectionWriter(object): + + def __init__(self, fd): + self.writer = multiprocessing.connection.Connection(fd, readable=False) + self.wlock = multiprocessing.Lock() + # Why bb.event needs this I have no idea + self.event = self + + def send(self, obj): + obj = multiprocessing.reduction.ForkingPickler.dumps(obj) + with self.wlock: + self.writer.send_bytes(obj) - def endSession(self): - self.connection.terminate() diff --git a/lib/bb/server/xmlrpc.py b/lib/bb/server/xmlrpc.py deleted file mode 100644 index 6874765..0000000 --- a/lib/bb/server/xmlrpc.py +++ /dev/null @@ -1,492 +0,0 @@ -# -# BitBake XMLRPC Server -# -# Copyright (C) 2006 - 2007 Michael 'Mickey' Lauer -# Copyright (C) 2006 - 2008 Richard Purdie -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -""" - This module implements an xmlrpc server for BitBake. - - Use this by deriving a class from BitBakeXMLRPCServer and then adding - methods which you want to "export" via XMLRPC. If the methods have the - prefix xmlrpc_, then registering those function will happen automatically, - if not, you need to call register_function. - - Use register_idle_function() to add a function which the xmlrpc server - calls from within server_forever when no requests are pending. Make sure - that those functions are non-blocking or else you will introduce latency - in the server's main loop. -""" - -import os -import sys - -import hashlib -import time -import socket -import signal -import threading -import pickle -import inspect -import select -import http.client -import xmlrpc.client -from xmlrpc.server import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler - -import bb -from bb import daemonize -from bb.ui import uievent - -DEBUG = False - -class BBTransport(xmlrpc.client.Transport): - def __init__(self, timeout): - self.timeout = timeout - self.connection_token = None - xmlrpc.client.Transport.__init__(self) - - # Modified from default to pass timeout to HTTPConnection - def make_connection(self, host): - #return an existing connection if possible. This allows - #HTTP/1.1 keep-alive. - if self._connection and host == self._connection[0]: - return self._connection[1] - - # create a HTTP connection object from a host descriptor - chost, self._extra_headers, x509 = self.get_host_info(host) - #store the host argument along with the connection object - self._connection = host, http.client.HTTPConnection(chost, timeout=self.timeout) - return self._connection[1] - - def set_connection_token(self, token): - self.connection_token = token - - def send_content(self, h, body): - if self.connection_token: - h.putheader("Bitbake-token", self.connection_token) - xmlrpc.client.Transport.send_content(self, h, body) - -def _create_server(host, port, timeout = 60): - t = BBTransport(timeout) - s = xmlrpc.client.ServerProxy("http://%s:%d/" % (host, port), transport=t, allow_none=True, use_builtin_types=True) - return s, t - -def check_connection(remote, timeout): - try: - host, port = remote.split(":") - port = int(port) - except Exception as e: - bb.warn("Failed to read remote definition (%s)" % str(e)) - raise e - - server, _transport = _create_server(host, port, timeout) - try: - ret, err = server.runCommand(['getVariable', 'TOPDIR']) - if err or not ret: - return False - except ConnectionError: - return False - return True - -class BitBakeServerCommands(): - - def __init__(self, server): - self.server = server - self.has_client = False - - def registerEventHandler(self, host, port): - """ - Register a remote UI Event Handler - """ - s, t = _create_server(host, port) - - # we don't allow connections if the cooker is running - if (self.cooker.state in [bb.cooker.state.parsing, bb.cooker.state.running]): - return None, "Cooker is busy: %s" % bb.cooker.state.get_name(self.cooker.state) - - self.event_handle = bb.event.register_UIHhandler(s, True) - return self.event_handle, 'OK' - - def unregisterEventHandler(self, handlerNum): - """ - Unregister a remote UI Event Handler - """ - return bb.event.unregister_UIHhandler(handlerNum, True) - - def runCommand(self, command): - """ - Run a cooker command on the server - """ - return self.cooker.command.runCommand(command, self.server.readonly) - - def getEventHandle(self): - return self.event_handle - - def terminateServer(self): - """ - Trigger the server to quit - """ - self.server.quit = True - print("Server (cooker) exiting") - return - - def addClient(self): - if self.has_client: - return None - token = hashlib.md5(str(time.time()).encode("utf-8")).hexdigest() - self.server.set_connection_token(token) - self.has_client = True - return token - - def removeClient(self): - if self.has_client: - self.server.set_connection_token(None) - self.has_client = False - if self.server.single_use: - self.server.quit = True - -# This request handler checks if the request has a "Bitbake-token" header -# field (this comes from the client side) and compares it with its internal -# "Bitbake-token" field (this comes from the server). If the two are not -# equal, it is assumed that a client is trying to connect to the server -# while another client is connected to the server. In this case, a 503 error -# ("service unavailable") is returned to the client. -class BitBakeXMLRPCRequestHandler(SimpleXMLRPCRequestHandler): - def __init__(self, request, client_address, server): - self.server = server - SimpleXMLRPCRequestHandler.__init__(self, request, client_address, server) - - def do_POST(self): - try: - remote_token = self.headers["Bitbake-token"] - except: - remote_token = None - if remote_token != self.server.connection_token and remote_token != "observer": - self.report_503() - else: - if remote_token == "observer": - self.server.readonly = True - else: - self.server.readonly = False - SimpleXMLRPCRequestHandler.do_POST(self) - - def report_503(self): - self.send_response(503) - response = 'No more client allowed' - self.send_header("Content-type", "text/plain") - self.send_header("Content-length", str(len(response))) - self.end_headers() - self.wfile.write(bytes(response, 'utf-8')) - - -class XMLRPCProxyServer(object): - """ not a real working server, but a stub for a proxy server connection - - """ - def __init__(self, host, port, use_builtin_types=True): - self.host = host - self.port = port - self._idlefuns = {} - - def addcooker(self, cooker): - self.cooker = cooker - - def register_idle_function(self, function, data): - """Register a function to be called while the server is idle""" - assert hasattr(function, '__call__') - self._idlefuns[function] = data - - -class XMLRPCServer(SimpleXMLRPCServer): - # remove this when you're done with debugging - # allow_reuse_address = True - - def __init__(self, interface, single_use=False, idle_timeout=0): - """ - Constructor - """ - self._idlefuns = {} - self.single_use = single_use - # Use auto port configuration - if (interface[1] == -1): - interface = (interface[0], 0) - SimpleXMLRPCServer.__init__(self, interface, - requestHandler=BitBakeXMLRPCRequestHandler, - logRequests=False, allow_none=True) - self.host, self.port = self.socket.getsockname() - self.connection_token = None - #self.register_introspection_functions() - self.commands = BitBakeServerCommands(self) - self.autoregister_all_functions(self.commands, "") - self.interface = interface - self.time = time.time() - self.idle_timeout = idle_timeout - if idle_timeout: - self.register_idle_function(self.handle_idle_timeout, self) - self.heartbeat_seconds = 1 # default, BB_HEARTBEAT_EVENT will be checked once we have a datastore. - self.next_heartbeat = time.time() - - def addcooker(self, cooker): - self.cooker = cooker - self.commands.cooker = cooker - - def autoregister_all_functions(self, context, prefix): - """ - Convenience method for registering all functions in the scope - of this class that start with a common prefix - """ - methodlist = inspect.getmembers(context, inspect.ismethod) - for name, method in methodlist: - if name.startswith(prefix): - self.register_function(method, name[len(prefix):]) - - def handle_idle_timeout(self, server, data, abort): - if not abort: - if time.time() - server.time > server.idle_timeout: - server.quit = True - print("Server idle timeout expired") - return [] - - def serve_forever(self): - heartbeat_event = self.cooker.data.getVar('BB_HEARTBEAT_EVENT') - if heartbeat_event: - try: - self.heartbeat_seconds = float(heartbeat_event) - except: - # Throwing an exception here causes bitbake to hang. - # Just warn about the invalid setting and continue - bb.warn('Ignoring invalid BB_HEARTBEAT_EVENT=%s, must be a float specifying seconds.' % heartbeat_event) - - # Start the actual XMLRPC server - bb.cooker.server_main(self.cooker, self._serve_forever) - - def _serve_forever(self): - """ - Serve Requests. Overloaded to honor a quit command - """ - self.quit = False - while not self.quit: - fds = [self] - nextsleep = 0.1 - for function, data in list(self._idlefuns.items()): - retval = None - try: - retval = function(self, data, False) - if retval is False: - del self._idlefuns[function] - elif retval is True: - nextsleep = 0 - elif isinstance(retval, float): - if (retval < nextsleep): - nextsleep = retval - else: - fds = fds + retval - except SystemExit: - raise - except: - import traceback - traceback.print_exc() - if retval == None: - # the function execute failed; delete it - del self._idlefuns[function] - pass - - socktimeout = self.socket.gettimeout() or nextsleep - socktimeout = min(socktimeout, nextsleep) - # Mirror what BaseServer handle_request would do - try: - fd_sets = select.select(fds, [], [], socktimeout) - if fd_sets[0] and self in fd_sets[0]: - if self.idle_timeout: - self.time = time.time() - self._handle_request_noblock() - except IOError: - # we ignore interrupted calls - pass - - # Create new heartbeat event? - now = time.time() - if now >= self.next_heartbeat: - # We might have missed heartbeats. Just trigger once in - # that case and continue after the usual delay. - self.next_heartbeat += self.heartbeat_seconds - if self.next_heartbeat <= now: - self.next_heartbeat = now + self.heartbeat_seconds - heartbeat = bb.event.HeartbeatEvent(now) - bb.event.fire(heartbeat, self.cooker.data) - if nextsleep and now + nextsleep > self.next_heartbeat: - # Shorten timeout so that we we wake up in time for - # the heartbeat. - nextsleep = self.next_heartbeat - now - - # Tell idle functions we're exiting - for function, data in list(self._idlefuns.items()): - try: - retval = function(self, data, True) - except: - pass - self.server_close() - return - - def set_connection_token(self, token): - self.connection_token = token - - def register_idle_function(self, function, data): - """Register a function to be called while the server is idle""" - assert hasattr(function, '__call__') - self._idlefuns[function] = data - - -class BitBakeXMLRPCServerConnection(object): - def __init__(self, serverImpl, clientinfo=("localhost", 0), observer_only = False, featureset = None): - self.connection, self.transport = _create_server(serverImpl.host, serverImpl.port) - self.clientinfo = clientinfo - self.serverImpl = serverImpl - self.observer_only = observer_only - if featureset: - self.featureset = featureset - else: - self.featureset = [] - - def connect(self, token = None): - if token is None: - if self.observer_only: - token = "observer" - else: - token = self.connection.addClient() - - if token is None: - return None - - self.transport.set_connection_token(token) - return self - - def setupEventQueue(self): - self.events = uievent.BBUIEventQueue(self.connection, self.clientinfo) - for event in bb.event.ui_queue: - self.events.queue_event(event) - - _, error = self.connection.runCommand(["setFeatures", self.featureset]) - if error: - # disconnect the client, we can't make the setFeature work - self.connection.removeClient() - # no need to log it here, the error shall be sent to the client - raise BaseException(error) - - def removeClient(self): - if not self.observer_only: - self.connection.removeClient() - - def terminate(self): - # Don't wait for server indefinitely - import socket - socket.setdefaulttimeout(2) - try: - self.events.system_quit() - except: - pass - try: - self.connection.removeClient() - except: - pass - -class BitBakeServer(object): - def initServer(self, interface = ("localhost", 0), - single_use = False, idle_timeout=0): - self.interface = interface - self.serverImpl = XMLRPCServer(interface, single_use, idle_timeout) - - def detach(self): - daemonize.createDaemon(self.serverImpl.serve_forever, "bitbake-cookerdaemon.log") - del self.cooker - - def establishConnection(self, featureset): - self.connection = BitBakeXMLRPCServerConnection(self.serverImpl, self.interface, False, featureset) - return self.connection.connect() - - def set_connection_token(self, token): - self.connection.transport.set_connection_token(token) - - def addcooker(self, cooker): - self.cooker = cooker - self.serverImpl.addcooker(cooker) - - def getServerIdleCB(self): - return self.serverImpl.register_idle_function - - def saveConnectionDetails(self): - return - - def endSession(self): - self.connection.terminate() - -class BitBakeXMLRPCClient(object): - - def __init__(self, observer_only = False, token = None): - self.token = token - - self.observer_only = observer_only - # if we need extra caches, just tell the server to load them all - pass - - def saveConnectionDetails(self, remote): - self.remote = remote - - def establishConnection(self, featureset): - # The format of "remote" must be "server:port" - try: - [host, port] = self.remote.split(":") - port = int(port) - except Exception as e: - bb.warn("Failed to read remote definition (%s)" % str(e)) - raise e - - # We need our IP for the server connection. We get the IP - # by trying to connect with the server - try: - s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) - s.connect((host, port)) - ip = s.getsockname()[0] - s.close() - except Exception as e: - bb.warn("Could not create socket for %s:%s (%s)" % (host, port, str(e))) - raise e - try: - self.serverImpl = XMLRPCProxyServer(host, port, use_builtin_types=True) - self.connection = BitBakeXMLRPCServerConnection(self.serverImpl, (ip, 0), self.observer_only, featureset) - return self.connection.connect(self.token) - except Exception as e: - bb.warn("Could not connect to server at %s:%s (%s)" % (host, port, str(e))) - raise e - - def endSession(self): - self.connection.removeClient() - - def initServer(self): - self.serverImpl = None - self.connection = None - return - - def addcooker(self, cooker): - self.cooker = cooker - self.serverImpl.addcooker(cooker) - - def getServerIdleCB(self): - return self.serverImpl.register_idle_function - - def detach(self): - return - diff --git a/lib/bb/server/xmlrpcclient.py b/lib/bb/server/xmlrpcclient.py new file mode 100644 index 0000000..4661a9e --- /dev/null +++ b/lib/bb/server/xmlrpcclient.py @@ -0,0 +1,154 @@ +# +# BitBake XMLRPC Client Interface +# +# Copyright (C) 2006 - 2007 Michael 'Mickey' Lauer +# Copyright (C) 2006 - 2008 Richard Purdie +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +import os +import sys + +import socket +import http.client +import xmlrpc.client + +import bb +from bb.ui import uievent + +class BBTransport(xmlrpc.client.Transport): + def __init__(self, timeout): + self.timeout = timeout + self.connection_token = None + xmlrpc.client.Transport.__init__(self) + + # Modified from default to pass timeout to HTTPConnection + def make_connection(self, host): + #return an existing connection if possible. This allows + #HTTP/1.1 keep-alive. + if self._connection and host == self._connection[0]: + return self._connection[1] + + # create a HTTP connection object from a host descriptor + chost, self._extra_headers, x509 = self.get_host_info(host) + #store the host argument along with the connection object + self._connection = host, http.client.HTTPConnection(chost, timeout=self.timeout) + return self._connection[1] + + def set_connection_token(self, token): + self.connection_token = token + + def send_content(self, h, body): + if self.connection_token: + h.putheader("Bitbake-token", self.connection_token) + xmlrpc.client.Transport.send_content(self, h, body) + +def _create_server(host, port, timeout = 60): + t = BBTransport(timeout) + s = xmlrpc.client.ServerProxy("http://%s:%d/" % (host, port), transport=t, allow_none=True, use_builtin_types=True) + return s, t + +def check_connection(remote, timeout): + try: + host, port = remote.split(":") + port = int(port) + except Exception as e: + bb.warn("Failed to read remote definition (%s)" % str(e)) + raise e + + server, _transport = _create_server(host, port, timeout) + try: + ret, err = server.runCommand(['getVariable', 'TOPDIR']) + if err or not ret: + return False + except ConnectionError: + return False + return True + +class BitBakeXMLRPCServerConnection(object): + def __init__(self, host, port, clientinfo=("localhost", 0), observer_only = False, featureset = None): + self.connection, self.transport = _create_server(host, port) + self.clientinfo = clientinfo + self.observer_only = observer_only + if featureset: + self.featureset = featureset + else: + self.featureset = [] + + self.events = uievent.BBUIEventQueue(self.connection, self.clientinfo) + + _, error = self.connection.runCommand(["setFeatures", self.featureset]) + if error: + # disconnect the client, we can't make the setFeature work + self.connection.removeClient() + # no need to log it here, the error shall be sent to the client + raise BaseException(error) + + def connect(self, token = None): + if token is None: + if self.observer_only: + token = "observer" + else: + token = self.connection.addClient() + + if token is None: + return None + + self.transport.set_connection_token(token) + return self + + def removeClient(self): + if not self.observer_only: + self.connection.removeClient() + + def terminate(self): + # Don't wait for server indefinitely + socket.setdefaulttimeout(2) + try: + self.events.system_quit() + except: + pass + try: + self.connection.removeClient() + except: + pass + +def connectXMLRPC(remote, featureset, observer_only = False, token = None): + # The format of "remote" must be "server:port" + try: + [host, port] = remote.split(":") + port = int(port) + except Exception as e: + bb.warn("Failed to parse remote definition %s (%s)" % (remote, str(e))) + raise e + + # We need our IP for the server connection. We get the IP + # by trying to connect with the server + try: + s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + s.connect((host, port)) + ip = s.getsockname()[0] + s.close() + except Exception as e: + bb.warn("Could not create socket for %s:%s (%s)" % (host, port, str(e))) + raise e + try: + connection = BitBakeXMLRPCServerConnection(host, port, (ip, 0), observer_only, featureset) + return connection.connect(token) + except Exception as e: + bb.warn("Could not connect to server at %s:%s (%s)" % (host, port, str(e))) + raise e + + + diff --git a/lib/bb/server/xmlrpcserver.py b/lib/bb/server/xmlrpcserver.py new file mode 100644 index 0000000..875b128 --- /dev/null +++ b/lib/bb/server/xmlrpcserver.py @@ -0,0 +1,158 @@ +# +# BitBake XMLRPC Server Interface +# +# Copyright (C) 2006 - 2007 Michael 'Mickey' Lauer +# Copyright (C) 2006 - 2008 Richard Purdie +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +import os +import sys + +import hashlib +import time +import inspect +from xmlrpc.server import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler + +import bb + +# This request handler checks if the request has a "Bitbake-token" header +# field (this comes from the client side) and compares it with its internal +# "Bitbake-token" field (this comes from the server). If the two are not +# equal, it is assumed that a client is trying to connect to the server +# while another client is connected to the server. In this case, a 503 error +# ("service unavailable") is returned to the client. +class BitBakeXMLRPCRequestHandler(SimpleXMLRPCRequestHandler): + def __init__(self, request, client_address, server): + self.server = server + SimpleXMLRPCRequestHandler.__init__(self, request, client_address, server) + + def do_POST(self): + try: + remote_token = self.headers["Bitbake-token"] + except: + remote_token = None + if 0 and remote_token != self.server.connection_token and remote_token != "observer": + self.report_503() + else: + if remote_token == "observer": + self.server.readonly = True + else: + self.server.readonly = False + SimpleXMLRPCRequestHandler.do_POST(self) + + def report_503(self): + self.send_response(503) + response = 'No more client allowed' + self.send_header("Content-type", "text/plain") + self.send_header("Content-length", str(len(response))) + self.end_headers() + self.wfile.write(bytes(response, 'utf-8')) + +class BitBakeXMLRPCServer(SimpleXMLRPCServer): + # remove this when you're done with debugging + # allow_reuse_address = True + + def __init__(self, interface, cooker, parent): + # Use auto port configuration + if (interface[1] == -1): + interface = (interface[0], 0) + SimpleXMLRPCServer.__init__(self, interface, + requestHandler=BitBakeXMLRPCRequestHandler, + logRequests=False, allow_none=True) + self.host, self.port = self.socket.getsockname() + self.interface = interface + + self.connection_token = None + self.commands = BitBakeXMLRPCServerCommands(self) + self.register_functions(self.commands, "") + + self.cooker = cooker + self.parent = parent + + + def register_functions(self, context, prefix): + """ + Convenience method for registering all functions in the scope + of this class that start with a common prefix + """ + methodlist = inspect.getmembers(context, inspect.ismethod) + for name, method in methodlist: + if name.startswith(prefix): + self.register_function(method, name[len(prefix):]) + + def get_timeout(self, delay): + socktimeout = self.socket.gettimeout() or delay + return min(socktimeout, delay) + + def handle_requests(self): + self._handle_request_noblock() + +class BitBakeXMLRPCServerCommands(): + + def __init__(self, server): + self.server = server + self.has_client = False + + def registerEventHandler(self, host, port): + """ + Register a remote UI Event Handler + """ + s, t = bb.server.xmlrpcclient._create_server(host, port) + + # we don't allow connections if the cooker is running + if (self.server.cooker.state in [bb.cooker.state.parsing, bb.cooker.state.running]): + return None, "Cooker is busy: %s" % bb.cooker.state.get_name(self.server.cooker.state) + + self.event_handle = bb.event.register_UIHhandler(s, True) + return self.event_handle, 'OK' + + def unregisterEventHandler(self, handlerNum): + """ + Unregister a remote UI Event Handler + """ + ret = bb.event.unregister_UIHhandler(handlerNum, True) + self.event_handle = None + return ret + + def runCommand(self, command): + """ + Run a cooker command on the server + """ + return self.server.cooker.command.runCommand(command, self.server.readonly) + + def getEventHandle(self): + return self.event_handle + + def terminateServer(self): + """ + Trigger the server to quit + """ + self.server.parent.quit = True + print("XMLRPC Server triggering exit") + return + + def addClient(self): + if self.server.parent.haveui: + return None + token = hashlib.md5(str(time.time()).encode("utf-8")).hexdigest() + self.server.connection_token = token + self.server.parent.haveui = True + return token + + def removeClient(self): + if self.server.parent.haveui: + self.server.connection_token = None + self.server.parent.haveui = False + diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index fb0da62..303ce02 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -243,7 +243,7 @@ class Tinfoil: cookerconfig = CookerConfiguration() cookerconfig.setConfigParameters(config_params) - server, self.server_connection, ui_module = setup_bitbake(config_params, + self.server_connection, ui_module = setup_bitbake(config_params, cookerconfig, extrafeatures, setup_logging=False) diff --git a/lib/prserv/serv.py b/lib/prserv/serv.py index a7efa58..5f061c2 100644 --- a/lib/prserv/serv.py +++ b/lib/prserv/serv.py @@ -6,7 +6,7 @@ import queue import socket import io import sqlite3 -import bb.server.xmlrpc +import bb.server.xmlrpcclient import prserv import prserv.db import errno @@ -300,7 +300,7 @@ class PRServerConnection(object): host, port = singleton.getinfo() self.host = host self.port = port - self.connection, self.transport = bb.server.xmlrpc._create_server(self.host, self.port) + self.connection, self.transport = bb.server.xmlrpcclient._create_server(self.host, self.port) def terminate(self): try: -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 22:59:30 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 22:59:30 +0000 Subject: [oe-commits] [bitbake] 08/18: tinfoil: add a parse_recipes() function In-Reply-To: <150050516242.821.14109466711178788701@git.openembedded.org> References: <150050516242.821.14109466711178788701@git.openembedded.org> Message-ID: <20170719225922.D751823360F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit d70d46c24353505d3005f20350e9dc333223441d Author: Paul Eggleton AuthorDate: Wed Jul 19 11:56:01 2017 +0200 tinfoil: add a parse_recipes() function Python style recommends underscore based naming rather than camelCase, and thus the former has been used for most of tinfoil's functions. Add an underscored version of parseRecipes() for consistency and change the one place we call it to use the new version. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- bin/bitbake-layers | 2 +- lib/bb/tinfoil.py | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/bin/bitbake-layers b/bin/bitbake-layers index 04e6bec..d184011 100755 --- a/bin/bitbake-layers +++ b/bin/bitbake-layers @@ -90,7 +90,7 @@ def main(): if getattr(args, 'parserecipes', False): tinfoil.config_data.disableTracking() - tinfoil.parseRecipes() + tinfoil.parse_recipes() tinfoil.config_data.enableTracking() return args.func(args) diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index 65ebdc2..ddc7b06 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -289,7 +289,13 @@ class Tinfoil: def parseRecipes(self): """ - Force a parse of all recipes. Normally you should specify + Legacy function - use parse_recipes() instead. + """ + self.parse_recipes() + + def parse_recipes(self): + """ + Load information on all recipes. Normally you should specify config_only=False when calling prepare() instead of using this function; this function is designed for situations where you need to initialise Tinfoil and use it with config_only=True first and -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 22:59:27 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 22:59:27 +0000 Subject: [oe-commits] [bitbake] 05/18: bb/main.py: avoid starting server when not needed In-Reply-To: <150050516242.821.14109466711178788701@git.openembedded.org> References: <150050516242.821.14109466711178788701@git.openembedded.org> Message-ID: <20170719225922.B9EE62335E6@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 6cd4cff557b964e577b81f282415f82a88729e8d Author: Robert Yang AuthorDate: Mon Jul 17 01:27:14 2017 -0700 bb/main.py: avoid starting server when not needed Fixed 1: $ . ../poky/oe-init-build-env-memres . $ bitbake -m $ bitbake -m # shutdown it again $ bitbake -m Starting bitbake server... Terminated bitbake server. It starts the server and kill it which is redundant. $ bitbake -m $ bitbake --status-only Starting bitbake server... It starts the server which is not what we need. Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- lib/bb/main.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/bb/main.py b/lib/bb/main.py index 51b90d2..683de0b 100755 --- a/lib/bb/main.py +++ b/lib/bb/main.py @@ -368,8 +368,10 @@ def bitbake_main(configParams, configuration): configuration.debug_domains) server_connection, ui_module = setup_bitbake(configParams, configuration) - if server_connection is None and configParams.kill_server: - return 0 + # No server connection + if server_connection is None: + if configParams.status_only or configParams.kill_server: + return 1 if not configParams.server_only: if configParams.status_only: @@ -426,6 +428,10 @@ def setup_bitbake(configParams, configuration, extrafeatures=None, setup_logging topdir, lock = lockBitbake() sockname = topdir + "/bitbake.sock" if lock: + if configParams.status_only or configParams.kill_server: + logger.info("bitbake server is not running.") + lock.close() + return None, None # we start a server with a given configuration logger.info("Starting bitbake server...") server = bb.server.process.BitBakeServer(lock, sockname, configuration, featureset) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 22:59:28 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 22:59:28 +0000 Subject: [oe-commits] [bitbake] 06/18: bb/main.py: fix logic for --observe-only In-Reply-To: <150050516242.821.14109466711178788701@git.openembedded.org> References: <150050516242.821.14109466711178788701@git.openembedded.org> Message-ID: <20170719225922.C47B92335E8@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit c17024dc0d3893ad4ee07f42e41fb9224ba9745d Author: Robert Yang AuthorDate: Mon Jul 17 03:17:03 2017 -0700 bb/main.py: fix logic for --observe-only Fixed: $ bitbake --observe-only FATAL: '--observe-only' can only be used by UI clients connecting to a server. And even: $bitbake --observe-only -B localhost:-1 FATAL: '--observe-only' can only be used by UI clients connecting to a server. This was beucase the brackets were in a wrong position. Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- lib/bb/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/bb/main.py b/lib/bb/main.py index 683de0b..29f847e 100755 --- a/lib/bb/main.py +++ b/lib/bb/main.py @@ -355,7 +355,7 @@ def bitbake_main(configParams, configuration): ("the BBSERVER environment variable" if "BBSERVER" in os.environ \ else "the '--remote-server' option")) - if configParams.observe_only and (not configParams.remote_server or configParams.bind): + if configParams.observe_only and not (configParams.remote_server or configParams.bind): raise BBMainException("FATAL: '--observe-only' can only be used by UI clients " "connecting to a server.\n") -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 22:59:31 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 22:59:31 +0000 Subject: [oe-commits] [bitbake] 09/18: tinfoil: set a flag when recipes have been parsed In-Reply-To: <150050516242.821.14109466711178788701@git.openembedded.org> References: <150050516242.821.14109466711178788701@git.openembedded.org> Message-ID: <20170719225922.DE7F6233611@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 90e1e43d0adc4690c90eb262d1453f9811157886 Author: Paul Eggleton AuthorDate: Wed Jul 19 11:56:02 2017 +0200 tinfoil: set a flag when recipes have been parsed Make it easy to determine if recipes are parsed (and thus information about available recipes is in memory). Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/tinfoil.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index ddc7b06..f31d7b2 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -217,6 +217,7 @@ class Tinfoil: self.tracking = tracking self.ui_module = None self.server_connection = None + self.recipes_parsed = False if setup_logging: # This is the *client-side* logger, nothing to do with # logging messages from the server @@ -270,6 +271,7 @@ class Tinfoil: self.run_command('parseConfiguration') else: self.run_actions(config_params) + self.recipes_parsed = True self.config_data = bb.data.init() connector = TinfoilDataStoreConnector(self, None) @@ -303,6 +305,7 @@ class Tinfoil: """ config_params = TinfoilConfigParameters(config_only=False) self.run_actions(config_params) + self.recipes_parsed = True def run_command(self, command, *params): """ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 22:59:33 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 22:59:33 +0000 Subject: [oe-commits] [bitbake] 11/18: lib/bb/ui/uihelper: indicate to caller of eventHandler() if events handled In-Reply-To: <150050516242.821.14109466711178788701@git.openembedded.org> References: <150050516242.821.14109466711178788701@git.openembedded.org> Message-ID: <20170719225922.EC598233613@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 798da25094b05d23dcdb59b497ca15bb7c125ce1 Author: Paul Eggleton AuthorDate: Wed Jul 19 11:56:04 2017 +0200 lib/bb/ui/uihelper: indicate to caller of eventHandler() if events handled It is useful for the caller to know whether the uihelper has handled the event passed so that it can skip other event handling code if so. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/ui/uihelper.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/bb/ui/uihelper.py b/lib/bb/ui/uihelper.py index 113fced..963c1ea 100644 --- a/lib/bb/ui/uihelper.py +++ b/lib/bb/ui/uihelper.py @@ -61,6 +61,9 @@ class BBUIHelper: self.running_tasks[event.pid]['progress'] = event.progress self.running_tasks[event.pid]['rate'] = event.rate self.needUpdate = True + else: + return False + return True def getTasks(self): self.needUpdate = False -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 22:59:29 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 22:59:29 +0000 Subject: [oe-commits] [bitbake] 07/18: tinfoil: add internal mode to build_file() function In-Reply-To: <150050516242.821.14109466711178788701@git.openembedded.org> References: <150050516242.821.14109466711178788701@git.openembedded.org> Message-ID: <20170719225922.D0ED023360E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 24e03bbf78094f83640e20ab3a702080d3e4c54c Author: Paul Eggleton AuthorDate: Wed Jul 19 11:56:00 2017 +0200 tinfoil: add internal mode to build_file() function In OE's devtool we want to repeatedly run build_file() without showing unnecessary messages and triggering buildhistory for each call. build_file() is just a wrapper around the buildFile command. Change the final "hidewarning" parameter of the buildFile command to "internal" and have this call a new buildFileInternal() function without triggering any of the normal build events, silencing the normal info messages from the runqueue ("Executing RunQueue Tasks", "Tasks Summary" etc.) and avoiding calling parseConfiguration() which we've already done at this point. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/command.py | 9 ++++++--- lib/bb/cooker.py | 34 +++++++++++++++++++++++++--------- lib/bb/tinfoil.py | 9 ++++++--- 3 files changed, 37 insertions(+), 15 deletions(-) diff --git a/lib/bb/command.py b/lib/bb/command.py index eb7c86f..c06ab07 100644 --- a/lib/bb/command.py +++ b/lib/bb/command.py @@ -548,11 +548,14 @@ class CommandsAsync: bfile = params[0] task = params[1] if len(params) > 2: - hidewarning = params[2] + internal = params[2] else: - hidewarning = False + internal = False - command.cooker.buildFile(bfile, task, hidewarning) + if internal: + command.cooker.buildFileInternal(bfile, task, fireevents=False, quietlog=True) + else: + command.cooker.buildFile(bfile, task) buildFile.needcache = False def buildTargets(self, command, params): diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py index daffe67..1625d3c 100644 --- a/lib/bb/cooker.py +++ b/lib/bb/cooker.py @@ -1219,21 +1219,27 @@ class BBCooker: raise NoSpecificMatch return matches[0] - def buildFile(self, buildfile, task, hidewarning=False): + def buildFile(self, buildfile, task): """ Build the file matching regexp buildfile """ bb.event.fire(bb.event.BuildInit(), self.data) - if not hidewarning: - # Too many people use -b because they think it's how you normally - # specify a target to be built, so show a warning - bb.warn("Buildfile specified, dependencies will not be handled. If this is not what you want, do not use -b / --buildfile.") + # Too many people use -b because they think it's how you normally + # specify a target to be built, so show a warning + bb.warn("Buildfile specified, dependencies will not be handled. If this is not what you want, do not use -b / --buildfile.") # Parse the configuration here. We need to do it explicitly here since # buildFile() doesn't use the cache self.parseConfiguration() + self.buildFileInternal(buildfile, task) + + def buildFileInternal(self, buildfile, task, fireevents=True, quietlog=False): + """ + Build the file matching regexp buildfile + """ + # If we are told to do the None task then query the default task if (task == None): task = self.configuration.cmd @@ -1270,8 +1276,8 @@ class BBCooker: # Remove external dependencies self.recipecaches[mc].task_deps[fn]['depends'] = {} self.recipecaches[mc].deps[fn] = [] - self.recipecaches[mc].rundeps[fn] = [] - self.recipecaches[mc].runrecs[fn] = [] + self.recipecaches[mc].rundeps[fn] = defaultdict(list) + self.recipecaches[mc].runrecs[fn] = defaultdict(list) # Invalidate task for target if force mode active if self.configuration.force: @@ -1283,8 +1289,13 @@ class BBCooker: taskdata[mc] = bb.taskdata.TaskData(self.configuration.abort) taskdata[mc].add_provider(self.databuilder.mcdata[mc], self.recipecaches[mc], item) + if quietlog: + rqloglevel = bb.runqueue.logger.getEffectiveLevel() + bb.runqueue.logger.setLevel(logging.WARNING) + buildname = self.databuilder.mcdata[mc].getVar("BUILDNAME") - bb.event.fire(bb.event.BuildStarted(buildname, [item]), self.databuilder.mcdata[mc]) + if fireevents: + bb.event.fire(bb.event.BuildStarted(buildname, [item]), self.databuilder.mcdata[mc]) # Execute the runqueue runlist = [[mc, item, task, fn]] @@ -1311,11 +1322,16 @@ class BBCooker: retval = False except SystemExit as exc: self.command.finishAsyncCommand(str(exc)) + if quietlog: + bb.runqueue.logger.setLevel(rqloglevel) return False if not retval: - bb.event.fire(bb.event.BuildCompleted(len(rq.rqdata.runtaskentries), buildname, item, failures, interrupted), self.databuilder.mcdata[mc]) + if fireevents: + bb.event.fire(bb.event.BuildCompleted(len(rq.rqdata.runtaskentries), buildname, item, failures, interrupted), self.databuilder.mcdata[mc]) self.command.finishAsyncCommand(msg) + if quietlog: + bb.runqueue.logger.setLevel(rqloglevel) return False if retval is True: return True diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index 303ce02..65ebdc2 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -415,12 +415,15 @@ class Tinfoil: else: return None - def build_file(self, buildfile, task): + def build_file(self, buildfile, task, internal=True): """ Runs the specified task for just a single recipe (i.e. no dependencies). - This is equivalent to bitbake -b, except no warning will be printed. + This is equivalent to bitbake -b, except with the default internal=True + no warning about dependencies will be produced, normal info messages + from the runqueue will be silenced and BuildInit, BuildStarted and + BuildCompleted events will not be fired. """ - return self.run_command('buildFile', buildfile, task, True) + return self.run_command('buildFile', buildfile, task, internal) def shutdown(self): if self.server_connection: -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 22:59:34 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 22:59:34 +0000 Subject: [oe-commits] [bitbake] 12/18: knotty: make it possible to use termfilter without either console In-Reply-To: <150050516242.821.14109466711178788701@git.openembedded.org> References: <150050516242.821.14109466711178788701@git.openembedded.org> Message-ID: <20170719225922.F282B233614@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit ce507ccb394a5bbd71f97cbf9dee518e41428bc0 Author: Paul Eggleton AuthorDate: Wed Jul 19 11:56:05 2017 +0200 knotty: make it possible to use termfilter without either console This isn't useful for knotty itself, but for use from tinfoil in case we can't get access to either the console or errconsole, allow either to be unspecified (None). Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/ui/knotty.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/bb/ui/knotty.py b/lib/bb/ui/knotty.py index c301982..f3900bd 100644 --- a/lib/bb/ui/knotty.py +++ b/lib/bb/ui/knotty.py @@ -207,8 +207,10 @@ class TerminalFilter(object): self.interactive = False bb.note("Unable to use interactive mode for this terminal, using fallback") return - console.addFilter(InteractConsoleLogFilter(self, format)) - errconsole.addFilter(InteractConsoleLogFilter(self, format)) + if console: + console.addFilter(InteractConsoleLogFilter(self, format)) + if errconsole: + errconsole.addFilter(InteractConsoleLogFilter(self, format)) self.main_progress = None -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 22:59:32 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 22:59:32 +0000 Subject: [oe-commits] [bitbake] 10/18: lib/bb/event: refactor printing events In-Reply-To: <150050516242.821.14109466711178788701@git.openembedded.org> References: <150050516242.821.14109466711178788701@git.openembedded.org> Message-ID: <20170719225922.E62E2233612@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit b1cb5f93be3ce4d377c00b50373da37151ebb446 Author: Paul Eggleton AuthorDate: Wed Jul 19 11:56:03 2017 +0200 lib/bb/event: refactor printing events We really ought to have just one place where the string representation of these events is produced. This doesn't take any real control away from the UI - if an alternative representation is desired, that can still be made. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/command.py | 2 ++ lib/bb/event.py | 32 ++++++++++++++++++++++++++++++++ lib/bb/runqueue.py | 6 ++++++ lib/bb/ui/knotty.py | 37 ++++++------------------------------- lib/bb/ui/ncurses.py | 2 +- lib/bb/ui/taskexp.py | 20 ++------------------ lib/bb/ui/toasterui.py | 25 ++++--------------------- 7 files changed, 53 insertions(+), 71 deletions(-) diff --git a/lib/bb/command.py b/lib/bb/command.py index c06ab07..05803d6 100644 --- a/lib/bb/command.py +++ b/lib/bb/command.py @@ -50,6 +50,8 @@ class CommandFailed(CommandExit): def __init__(self, message): self.error = message CommandExit.__init__(self, 1) + def __str__(self): + return "Command execution failed: %s" % self.error class CommandError(Exception): pass diff --git a/lib/bb/event.py b/lib/bb/event.py index 92ee3e9..59cca61 100644 --- a/lib/bb/event.py +++ b/lib/bb/event.py @@ -521,6 +521,28 @@ class NoProvider(Event): def isRuntime(self): return self._runtime + def __str__(self): + msg = '' + if self._runtime: + r = "R" + else: + r = "" + + extra = '' + if not self._reasons: + if self._close_matches: + extra = ". Close matches:\n %s" % '\n '.join(self._close_matches) + + if self._dependees: + msg = "Nothing %sPROVIDES '%s' (but %s %sDEPENDS on or otherwise requires it)%s" % (r, self._item, ", ".join(self._dependees), r, extra) + else: + msg = "Nothing %sPROVIDES '%s'%s" % (r, self._item, extra) + if self._reasons: + for reason in self._reasons: + msg += '\n' + reason + return msg + + class MultipleProviders(Event): """Multiple Providers""" @@ -548,6 +570,16 @@ class MultipleProviders(Event): """ return self._candidates + def __str__(self): + msg = "Multiple providers are available for %s%s (%s)" % (self._is_runtime and "runtime " or "", + self._item, + ", ".join(self._candidates)) + rtime = "" + if self._is_runtime: + rtime = "R" + msg += "\nConsider defining a PREFERRED_%sPROVIDER entry to match %s" % (rtime, self._item) + return msg + class ParseStarted(OperationStarted): """Recipe parsing for the runqueue has begun""" def __init__(self, total): diff --git a/lib/bb/runqueue.py b/lib/bb/runqueue.py index 21520d3..7dd964d 100644 --- a/lib/bb/runqueue.py +++ b/lib/bb/runqueue.py @@ -2488,6 +2488,9 @@ class runQueueTaskFailed(runQueueEvent): runQueueEvent.__init__(self, task, stats, rq) self.exitcode = exitcode + def __str__(self): + return "Task (%s) failed with exit code '%s'" % (self.taskstring, self.exitcode) + class sceneQueueTaskFailed(sceneQueueEvent): """ Event notifying a setscene task failed @@ -2496,6 +2499,9 @@ class sceneQueueTaskFailed(sceneQueueEvent): sceneQueueEvent.__init__(self, task, stats, rq) self.exitcode = exitcode + def __str__(self): + return "Setscene task (%s) failed with exit code '%s' - real task will be run instead" % (self.taskstring, self.exitcode) + class sceneQueueComplete(sceneQueueEvent): """ Event when all the sceneQueue tasks are complete diff --git a/lib/bb/ui/knotty.py b/lib/bb/ui/knotty.py index 1aa5ebb..c301982 100644 --- a/lib/bb/ui/knotty.py +++ b/lib/bb/ui/knotty.py @@ -560,7 +560,7 @@ def main(server, eventHandler, params, tf = TerminalFilter): return_value = event.exitcode if event.error: errors = errors + 1 - logger.error("Command execution failed: %s", event.error) + logger.error(str(event)) main.shutdown = 2 continue if isinstance(event, bb.command.CommandExit): @@ -571,39 +571,16 @@ def main(server, eventHandler, params, tf = TerminalFilter): main.shutdown = 2 continue if isinstance(event, bb.event.MultipleProviders): - logger.info("multiple providers are available for %s%s (%s)", event._is_runtime and "runtime " or "", - event._item, - ", ".join(event._candidates)) - rtime = "" - if event._is_runtime: - rtime = "R" - logger.info("consider defining a PREFERRED_%sPROVIDER entry to match %s" % (rtime, event._item)) + logger.info(str(event)) continue if isinstance(event, bb.event.NoProvider): - if event._runtime: - r = "R" - else: - r = "" - - extra = '' - if not event._reasons: - if event._close_matches: - extra = ". Close matches:\n %s" % '\n '.join(event._close_matches) - # For universe builds, only show these as warnings, not errors - h = logger.warning if not universe: return_value = 1 errors = errors + 1 - h = logger.error - - if event._dependees: - h("Nothing %sPROVIDES '%s' (but %s %sDEPENDS on or otherwise requires it)%s", r, event._item, ", ".join(event._dependees), r, extra) + logger.error(str(event)) else: - h("Nothing %sPROVIDES '%s'%s", r, event._item, extra) - if event._reasons: - for reason in event._reasons: - h("%s", reason) + logger.warning(str(event)) continue if isinstance(event, bb.runqueue.sceneQueueTaskStarted): @@ -625,13 +602,11 @@ def main(server, eventHandler, params, tf = TerminalFilter): if isinstance(event, bb.runqueue.runQueueTaskFailed): return_value = 1 taskfailures.append(event.taskstring) - logger.error("Task (%s) failed with exit code '%s'", - event.taskstring, event.exitcode) + logger.error(str(event)) continue if isinstance(event, bb.runqueue.sceneQueueTaskFailed): - logger.warning("Setscene task (%s) failed with exit code '%s' - real task will be run instead", - event.taskstring, event.exitcode) + logger.warning(str(event)) continue if isinstance(event, bb.event.DepTreeGenerated): diff --git a/lib/bb/ui/ncurses.py b/lib/bb/ui/ncurses.py index ca845a3..8690c52 100644 --- a/lib/bb/ui/ncurses.py +++ b/lib/bb/ui/ncurses.py @@ -315,7 +315,7 @@ class NCursesUI: # also allow them to now exit with a single ^C shutdown = 2 if isinstance(event, bb.command.CommandFailed): - mw.appendText("Command execution failed: %s" % event.error) + mw.appendText(str(event)) time.sleep(2) exitflag = True if isinstance(event, bb.command.CommandExit): diff --git a/lib/bb/ui/taskexp.py b/lib/bb/ui/taskexp.py index 9d14ece..0d0f9f5 100644 --- a/lib/bb/ui/taskexp.py +++ b/lib/bb/ui/taskexp.py @@ -286,23 +286,7 @@ def main(server, eventHandler, params): continue if isinstance(event, bb.event.NoProvider): - if event._runtime: - r = "R" - else: - r = "" - - extra = '' - if not event._reasons: - if event._close_matches: - extra = ". Close matches:\n %s" % '\n '.join(event._close_matches) - - if event._dependees: - print("Nothing %sPROVIDES '%s' (but %s %sDEPENDS on or otherwise requires it)%s" % (r, event._item, ", ".join(event._dependees), r, extra)) - else: - print("Nothing %sPROVIDES '%s'%s" % (r, event._item, extra)) - if event._reasons: - for reason in event._reasons: - print(reason) + print(str(event)) _, error = server.runCommand(["stateShutdown"]) if error: @@ -310,7 +294,7 @@ def main(server, eventHandler, params): break if isinstance(event, bb.command.CommandFailed): - print("Command execution failed: %s" % event.error) + print(str(event)) return event.exitcode if isinstance(event, bb.command.CommandExit): diff --git a/lib/bb/ui/toasterui.py b/lib/bb/ui/toasterui.py index 71f04fa..88cec37 100644 --- a/lib/bb/ui/toasterui.py +++ b/lib/bb/ui/toasterui.py @@ -320,29 +320,13 @@ def main(server, eventHandler, params): if isinstance(event, bb.event.CacheLoadCompleted): continue if isinstance(event, bb.event.MultipleProviders): - logger.info("multiple providers are available for %s%s (%s)", event._is_runtime and "runtime " or "", - event._item, - ", ".join(event._candidates)) - logger.info("consider defining a PREFERRED_PROVIDER entry to match %s", event._item) + logger.info(str(event)) continue if isinstance(event, bb.event.NoProvider): errors = errors + 1 - if event._runtime: - r = "R" - else: - r = "" - - if event._dependees: - text = "Nothing %sPROVIDES '%s' (but %s %sDEPENDS on or otherwise requires it)" % (r, event._item, ", ".join(event._dependees), r) - else: - text = "Nothing %sPROVIDES '%s'" % (r, event._item) - + text = str(event) logger.error(text) - if event._reasons: - for reason in event._reasons: - logger.error("%s", reason) - text += reason buildinfohelper.store_log_error(text) continue @@ -364,8 +348,7 @@ def main(server, eventHandler, params): if isinstance(event, bb.runqueue.runQueueTaskFailed): buildinfohelper.update_and_store_task(event) taskfailures.append(event.taskstring) - logger.error("Task (%s) failed with exit code '%s'", - event.taskstring, event.exitcode) + logger.error(str(event)) continue if isinstance(event, (bb.runqueue.sceneQueueTaskCompleted, bb.runqueue.sceneQueueTaskFailed)): @@ -382,7 +365,7 @@ def main(server, eventHandler, params): if isinstance(event, bb.command.CommandFailed): errors += 1 errorcode = 1 - logger.error("Command execution failed: %s", event.error) + logger.error(str(event)) elif isinstance(event, bb.event.BuildCompleted): buildinfohelper.scan_image_artifacts() buildinfohelper.clone_required_sdk_artifacts() -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 22:59:35 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 22:59:35 +0000 Subject: [oe-commits] [bitbake] 13/18: tinfoil: add functionality for running full builds In-Reply-To: <150050516242.821.14109466711178788701@git.openembedded.org> References: <150050516242.821.14109466711178788701@git.openembedded.org> Message-ID: <20170719225923.05BF1233615@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 0e35a26f5725c42b2f207a5c2822a0674571d4f6 Author: Paul Eggleton AuthorDate: Wed Jul 19 11:56:06 2017 +0200 tinfoil: add functionality for running full builds Up to this point, if you wanted to run build tasks in the normal way they get run from a python script, there was no other way than to shell out to bitbake. Worse than that, you couldn't have tinfoil active during that because only one bitbake instance could be running at once. As long as we're prepared to handle the events produced, we can create a wrapper around calling the buildTargets command. Borrow code from knotty to do this in such a way that we get the expected running task display (courtesy of TermFilter) and Ctrl+C handling. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/tinfoil.py | 154 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 154 insertions(+) diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index f31d7b2..2a51526 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -2,6 +2,7 @@ # # Copyright (C) 2012-2017 Intel Corporation # Copyright (C) 2011 Mentor Graphics Corporation +# Copyright (C) 2006-2012 Richard Purdie # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License version 2 as @@ -218,6 +219,7 @@ class Tinfoil: self.ui_module = None self.server_connection = None self.recipes_parsed = False + self.quiet = 0 if setup_logging: # This is the *client-side* logger, nothing to do with # logging messages from the server @@ -230,6 +232,8 @@ class Tinfoil: self.shutdown() def prepare(self, config_only=False, config_params=None, quiet=0, extra_features=None): + self.quiet = quiet + if self.tracking: extrafeatures = [bb.cooker.CookerFeatures.BASEDATASTORE_TRACKING] else: @@ -434,6 +438,156 @@ class Tinfoil: """ return self.run_command('buildFile', buildfile, task, internal) + def build_targets(self, targets, task=None, handle_events=True, extra_events=None, event_callback=None): + """ + Builds the specified targets. This is equivalent to a normal invocation + of bitbake. Has built-in event handling which is enabled by default and + can be extended if needed. + Parameters: + targets: + One or more targets to build. Can be a list or a + space-separated string. + task: + The task to run; if None then the value of BB_DEFAULT_TASK + will be used. Default None. + handle_events: + True to handle events in a similar way to normal bitbake + invocation with knotty; False to return immediately (on the + assumption that the caller will handle the events instead). + Default True. + extra_events: + An optional list of events to add to the event mask (if + handle_events=True). If you add events here you also need + to specify a callback function in event_callback that will + handle the additional events. Default None. + event_callback: + An optional function taking a single parameter which + will be called first upon receiving any event (if + handle_events=True) so that the caller can override or + extend the event handling. Default None. + """ + if isinstance(targets, str): + targets = targets.split() + if not task: + task = self.config_data.getVar('BB_DEFAULT_TASK') + + if handle_events: + # A reasonable set of default events matching up with those we handle below + eventmask = [ + 'bb.event.BuildStarted', + 'bb.event.BuildCompleted', + 'logging.LogRecord', + 'bb.event.NoProvider', + 'bb.command.CommandCompleted', + 'bb.command.CommandFailed', + 'bb.build.TaskStarted', + 'bb.build.TaskFailed', + 'bb.build.TaskSucceeded', + 'bb.build.TaskFailedSilent', + 'bb.build.TaskProgress', + 'bb.runqueue.runQueueTaskStarted', + 'bb.runqueue.sceneQueueTaskStarted', + 'bb.event.ProcessStarted', + 'bb.event.ProcessProgress', + 'bb.event.ProcessFinished', + ] + if extra_events: + eventmask.extend(extra_events) + ret = self.set_event_mask(eventmask) + + ret = self.run_command('buildTargets', targets, task) + if handle_events: + result = False + # Borrowed from knotty, instead somewhat hackily we use the helper + # as the object to store "shutdown" on + helper = bb.ui.uihelper.BBUIHelper() + # We set up logging optionally in the constructor so now we need to + # grab the handlers to pass to TerminalFilter + console = None + errconsole = None + for handler in self.logger.handlers: + if isinstance(handler, logging.StreamHandler): + if handler.stream == sys.stdout: + console = handler + elif handler.stream == sys.stderr: + errconsole = handler + format_str = "%(levelname)s: %(message)s" + format = bb.msg.BBLogFormatter(format_str) + helper.shutdown = 0 + parseprogress = None + termfilter = bb.ui.knotty.TerminalFilter(helper, helper, console, errconsole, format, quiet=self.quiet) + try: + while True: + try: + event = self.wait_event(0.25) + if event: + if event_callback and event_callback(event): + continue + if helper.eventHandler(event): + continue + if isinstance(event, bb.event.ProcessStarted): + if self.quiet > 1: + continue + parseprogress = bb.ui.knotty.new_progress(event.processname, event.total) + parseprogress.start(False) + continue + if isinstance(event, bb.event.ProcessProgress): + if self.quiet > 1: + continue + if parseprogress: + parseprogress.update(event.progress) + else: + bb.warn("Got ProcessProgress event for someting that never started?") + continue + if isinstance(event, bb.event.ProcessFinished): + if self.quiet > 1: + continue + if parseprogress: + parseprogress.finish() + parseprogress = None + continue + if isinstance(event, bb.command.CommandCompleted): + result = True + break + if isinstance(event, bb.command.CommandFailed): + self.logger.error(str(event)) + result = False + break + if isinstance(event, logging.LogRecord): + if event.taskpid == 0 or event.levelno > logging.INFO: + self.logger.handle(event) + continue + if isinstance(event, bb.event.NoProvider): + self.logger.error(str(event)) + result = False + break + + elif helper.shutdown > 1: + break + termfilter.updateFooter() + except KeyboardInterrupt: + termfilter.clearFooter() + if helper.shutdown == 1: + print("\nSecond Keyboard Interrupt, stopping...\n") + ret = self.run_command("stateForceShutdown") + if ret and ret[2]: + self.logger.error("Unable to cleanly stop: %s" % ret[2]) + elif helper.shutdown == 0: + print("\nKeyboard Interrupt, closing down...\n") + interrupted = True + ret = self.run_command("stateShutdown") + if ret and ret[2]: + self.logger.error("Unable to cleanly shutdown: %s" % ret[2]) + helper.shutdown = helper.shutdown + 1 + termfilter.clearFooter() + finally: + termfilter.finish() + if helper.failed_tasks: + result = False + return result + else: + return ret + def shutdown(self): if self.server_connection: self.run_command('clientComplete') -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 22:59:39 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 22:59:39 +0000 Subject: [oe-commits] [bitbake] 17/18: fetch2: allow hiding checksum warning In-Reply-To: <150050516242.821.14109466711178788701@git.openembedded.org> References: <150050516242.821.14109466711178788701@git.openembedded.org> Message-ID: <20170719225923.1ECC523361A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 8b94987482a3eaa34dac4ac90a9ce7c78bdee9cd Author: Paul Eggleton AuthorDate: Wed Jul 19 11:56:10 2017 +0200 fetch2: allow hiding checksum warning If BB_STRICT_CHECKSUMS is set to "ignore" then don't display a warning if no checksums are specified in the recipe. This is not intended to be used from recipes - it is needed when we move to using more standard code paths to fetch new files from scripts i.e. where we don't know what the checksums are in advance. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/fetch2/__init__.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/bb/fetch2/__init__.py b/lib/bb/fetch2/__init__.py index 5c02317..2e615b2 100644 --- a/lib/bb/fetch2/__init__.py +++ b/lib/bb/fetch2/__init__.py @@ -584,6 +584,12 @@ def verify_checksum(ud, d, precomputed={}): ud.sha256_name, sha256data)) raise NoChecksumError('Missing SRC_URI checksum', ud.url) + if strict == "ignore": + return { + _MD5_KEY: md5data, + _SHA256_KEY: sha256data + } + # Log missing sums so user can more easily add them logger.warning('Missing md5 SRC_URI checksum for %s, consider adding to the recipe:\n' 'SRC_URI[%s] = "%s"', -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 22:59:40 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 22:59:40 +0000 Subject: [oe-commits] [bitbake] 18/18: fetch2: fire an event when there are missing checksums In-Reply-To: <150050516242.821.14109466711178788701@git.openembedded.org> References: <150050516242.821.14109466711178788701@git.openembedded.org> Message-ID: <20170719225923.249C923361B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit b2cca45e2f9e34f2fce41fac4c7e636390fc24cf Author: Paul Eggleton AuthorDate: Wed Jul 19 11:56:11 2017 +0200 fetch2: fire an event when there are missing checksums If BB_STRICT_CHECKSUMS is set to anything other than "1" i.e. we're not going to raise an error, then fire an event so that scripts can listen for it and get the checksums. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/fetch2/__init__.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/bb/fetch2/__init__.py b/lib/bb/fetch2/__init__.py index 2e615b2..74ba37f 100644 --- a/lib/bb/fetch2/__init__.py +++ b/lib/bb/fetch2/__init__.py @@ -39,6 +39,7 @@ import errno import bb.persist_data, bb.utils import bb.checksum import bb.process +import bb.event __version__ = "2" _checksum_cache = bb.checksum.FileChecksumCache() @@ -142,6 +143,13 @@ class NonLocalMethod(Exception): def __init__(self): Exception.__init__(self) +class MissingChecksumEvent(bb.event.Event): + def __init__(self, url, md5sum, sha256sum): + self.url = url + self.checksums = {'md5sum': md5sum, + 'sha256sum': sha256sum} + bb.event.Event.__init__(self) + class URI(object): """ @@ -584,6 +592,8 @@ def verify_checksum(ud, d, precomputed={}): ud.sha256_name, sha256data)) raise NoChecksumError('Missing SRC_URI checksum', ud.url) + bb.event.fire(MissingChecksumEvent(ud.url, md5data, sha256data), d) + if strict == "ignore": return { _MD5_KEY: md5data, -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 22:59:36 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 22:59:36 +0000 Subject: [oe-commits] [bitbake] 14/18: tinfoil: enable access to additional cached items In-Reply-To: <150050516242.821.14109466711178788701@git.openembedded.org> References: <150050516242.821.14109466711178788701@git.openembedded.org> Message-ID: <20170719225923.0C20E233616@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit d776b6a74b87cc4ddf275b8be9ba78f6f4ad2648 Author: Paul Eggleton AuthorDate: Wed Jul 19 11:56:07 2017 +0200 tinfoil: enable access to additional cached items Add access to fn_provides, packages, packages_dynamic and rproviders on the recipecache object. This requires an additional corresponding command plumbing to be added. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/command.py | 32 ++++++++++++++++++++++++++++++++ lib/bb/tinfoil.py | 8 ++++++++ 2 files changed, 40 insertions(+) diff --git a/lib/bb/command.py b/lib/bb/command.py index 05803d6..0e0a35a 100644 --- a/lib/bb/command.py +++ b/lib/bb/command.py @@ -312,6 +312,38 @@ class CommandsSync: return command.cooker.recipecaches[mc].pkg_pepvpr getRecipeVersions.readonly = True + def getRecipeProvides(self, command, params): + try: + mc = params[0] + except IndexError: + mc = '' + return command.cooker.recipecaches[mc].fn_provides + getRecipeProvides.readonly = True + + def getRecipePackages(self, command, params): + try: + mc = params[0] + except IndexError: + mc = '' + return command.cooker.recipecaches[mc].packages + getRecipePackages.readonly = True + + def getRecipePackagesDynamic(self, command, params): + try: + mc = params[0] + except IndexError: + mc = '' + return command.cooker.recipecaches[mc].packages_dynamic + getRecipePackagesDynamic.readonly = True + + def getRProviders(self, command, params): + try: + mc = params[0] + except IndexError: + mc = '' + return command.cooker.recipecaches[mc].rproviders + getRProviders.readonly = True + def getRuntimeDepends(self, command, params): ret = [] try: diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index 2a51526..456cbf8 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -173,6 +173,14 @@ class TinfoilCookerAdapter: attrvalue = self.tinfoil.run_command('getBbFilePriority') or {} elif name == 'pkg_dp': attrvalue = self.tinfoil.run_command('getDefaultPreference') or {} + elif name == 'fn_provides': + attrvalue = self.tinfoil.run_command('getRecipeProvides') or {} + elif name == 'packages': + attrvalue = self.tinfoil.run_command('getRecipePackages') or {} + elif name == 'packages_dynamic': + attrvalue = self.tinfoil.run_command('getRecipePackagesDynamic') or {} + elif name == 'rproviders': + attrvalue = self.tinfoil.run_command('getRProviders') or {} else: raise AttributeError("%s instance has no attribute '%s'" % (self.__class__.__name__, name)) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 22:59:38 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 22:59:38 +0000 Subject: [oe-commits] [bitbake] 16/18: tinfoil: add more doc comments In-Reply-To: <150050516242.821.14109466711178788701@git.openembedded.org> References: <150050516242.821.14109466711178788701@git.openembedded.org> Message-ID: <20170719225923.18D73233619@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 9a1265f93dce801283592cc8ac6451ae21fb81f1 Author: Paul Eggleton AuthorDate: Wed Jul 19 11:56:09 2017 +0200 tinfoil: add more doc comments We want this API to be easier to use, so add missing function documentation to help with that. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/tinfoil.py | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index 30d6c9a..e246b3d 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -55,6 +55,7 @@ class TinfoilCommandFailed(Exception): """Exception raised when run_command fails""" class TinfoilDataStoreConnector: + """Connector object used to enable access to datastore objects via tinfoil""" def __init__(self, tinfoil, dsindex): self.tinfoil = tinfoil @@ -294,8 +295,25 @@ class TinfoilRecipeInfo: class Tinfoil: + """ + Tinfoil - an API for scripts and utilities to query + BitBake internals and perform build operations. + """ def __init__(self, output=sys.stdout, tracking=False, setup_logging=True): + """ + Create a new tinfoil object. + Parameters: + output: specifies where console output should be sent. Defaults + to sys.stdout. + tracking: True to enable variable history tracking, False to + disable it (default). Enabling this has a minor + performance impact so typically it isn't enabled + unless you need to query variable history. + setup_logging: True to setup a logger so that things like + bb.warn() will work immediately and timeout warnings + are visible; False to let BitBake do this itself. + """ self.logger = logging.getLogger('BitBake') self.config_data = None self.cooker = None @@ -316,6 +334,37 @@ class Tinfoil: self.shutdown() def prepare(self, config_only=False, config_params=None, quiet=0, extra_features=None): + """ + Prepares the underlying BitBake system to be used via tinfoil. + This function must be called prior to calling any of the other + functions in the API. + NOTE: if you call prepare() you must absolutely call shutdown() + before your code terminates. You can use a "with" block to ensure + this happens e.g. + + with bb.tinfoil.Tinfoil() as tinfoil: + tinfoil.prepare() + ... + + Parameters: + config_only: True to read only the configuration and not load + the cache / parse recipes. This is useful if you just + want to query the value of a variable at the global + level or you want to do anything else that doesn't + involve knowing anything about the recipes in the + current configuration. False loads the cache / parses + recipes. + config_params: optionally specify your own configuration + parameters. If not specified an instance of + TinfoilConfigParameters will be created internally. + quiet: quiet level controlling console output - equivalent + to bitbake's -q/--quiet option. Default of 0 gives + the same output level as normal bitbake execution. + extra_features: extra features to be added to the feature + set requested from the server. See + CookerFeatures._feature_list for possible + features. + """ self.quiet = quiet if self.tracking: @@ -440,9 +489,16 @@ class Tinfoil: return self.server_connection.events.waitEvent(timeout) def get_overlayed_recipes(self): + """ + Find recipes which are overlayed (i.e. where recipes exist in multiple layers) + """ return defaultdict(list, self.run_command('getOverlayedRecipes')) def get_skipped_recipes(self): + """ + Find recipes which were skipped (i.e. SkipRecipe was raised + during parsing). + """ return OrderedDict(self.run_command('getSkippedRecipes')) def get_all_providers(self): @@ -475,6 +531,9 @@ class Tinfoil: return best[3] def get_file_appends(self, fn): + """ + Find the bbappends for a recipe file + """ return self.run_command('getFileAppends', fn) def all_recipes(self, mc='', sort=True): @@ -739,6 +798,12 @@ class Tinfoil: return ret def shutdown(self): + """ + Shut down tinfoil. Disconnects from the server and gracefully + releases any associated resources. You must call this function if + prepare() has been called, or use a with... block when you create + the tinfoil object which will ensure that it gets called. + """ if self.server_connection: self.run_command('clientComplete') _server_connections.remove(self.server_connection) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 19 22:59:37 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 19 Jul 2017 22:59:37 +0000 Subject: [oe-commits] [bitbake] 15/18: tinfoil: add simple API for getting cached recipe information In-Reply-To: <150050516242.821.14109466711178788701@git.openembedded.org> References: <150050516242.821.14109466711178788701@git.openembedded.org> Message-ID: <20170719225923.1228F233617@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 445393e9b9cba415c88061582099941ef4ea38af Author: Paul Eggleton AuthorDate: Wed Jul 19 11:56:08 2017 +0200 tinfoil: add simple API for getting cached recipe information A common task for tinfoil-using scripts is to iterate over all recipes. This isn't too difficult with the current API, but the pkg_* variables are a little awkward and are really designed for bitbake's internal usage - and it gets a bit more difficult when you want to access some of the other information such as packages and rprovides. To resolve this, create a new recipe info class and add an all_recipes() function to generate this for all recipes. Also add a get_recipe_info() function to get the information for a specific recipe (by PN). (It might perhaps be suggested that we already have a structure similar to this in the cache, however the one we add here is designed for external use and allows the internal structures to change if needed without affecting the API). Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/tinfoil.py | 142 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 142 insertions(+) diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index 456cbf8..30d6c9a 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -217,6 +217,82 @@ class TinfoilCookerAdapter: return self.tinfoil.find_best_provider(pn) +class TinfoilRecipeInfo: + """ + Provides a convenient representation of the cached information for a single recipe. + Some attributes are set on construction, others are read on-demand (which internally + may result in a remote procedure call to the bitbake server the first time). + Note that only information which is cached is available through this object - if + you need other variable values you will need to parse the recipe using + Tinfoil.parse_recipe(). + """ + def __init__(self, recipecache, d, pn, fn, fns): + self._recipecache = recipecache + self._d = d + self.pn = pn + self.fn = fn + self.fns = fns + self.inherit_files = recipecache.inherits[fn] + self.depends = recipecache.deps[fn] + (self.pe, self.pv, self.pr) = recipecache.pkg_pepvpr[fn] + self._cached_packages = None + self._cached_rprovides = None + self._cached_packages_dynamic = None + + def __getattr__(self, name): + if name == 'alternates': + return [x for x in self.fns if x != self.fn] + elif name == 'rdepends': + return self._recipecache.rundeps[self.fn] + elif name == 'rrecommends': + return self._recipecache.runrecs[self.fn] + elif name == 'provides': + return self._recipecache.fn_provides[self.fn] + elif name == 'packages': + if self._cached_packages is None: + self._cached_packages = [] + for pkg, fns in self._recipecache.packages.items(): + if self.fn in fns: + self._cached_packages.append(pkg) + return self._cached_packages + elif name == 'packages_dynamic': + if self._cached_packages_dynamic is None: + self._cached_packages_dynamic = [] + for pkg, fns in self._recipecache.packages_dynamic.items(): + if self.fn in fns: + self._cached_packages_dynamic.append(pkg) + return self._cached_packages_dynamic + elif name == 'rprovides': + if self._cached_rprovides is None: + self._cached_rprovides = [] + for pkg, fns in self._recipecache.rproviders.items(): + if self.fn in fns: + self._cached_rprovides.append(pkg) + return self._cached_rprovides + else: + raise AttributeError("%s instance has no attribute '%s'" % (self.__class__.__name__, name)) + def inherits(self, only_recipe=False): + """ + Get the inherited classes for a recipe. Returns the class names only. + Parameters: + only_recipe: True to return only the classes inherited by the recipe + itself, False to return all classes inherited within + the context for the recipe (which includes globally + inherited classes). + """ + if only_recipe: + global_inherit = [x for x in (self._d.getVar('BBINCLUDED') or '').split() if x.endswith('.bbclass')] + else: + global_inherit = [] + for clsfile in self.inherit_files: + if only_recipe and clsfile in global_inherit: + continue + clsname = os.path.splitext(os.path.basename(clsfile))[0] + yield clsname + def __str__(self): + return '%s' % self.pn + + class Tinfoil: def __init__(self, output=sys.stdout, tracking=False, setup_logging=True): @@ -401,6 +477,72 @@ class Tinfoil: def get_file_appends(self, fn): return self.run_command('getFileAppends', fn) + def all_recipes(self, mc='', sort=True): + """ + Enable iterating over all recipes in the current configuration. + Returns an iterator over TinfoilRecipeInfo objects created on demand. + Parameters: + mc: The multiconfig, default of '' uses the main configuration. + sort: True to sort recipes alphabetically (default), False otherwise + """ + recipecache = self.cooker.recipecaches[mc] + if sort: + recipes = sorted(recipecache.pkg_pn.items()) + else: + recipes = recipecache.pkg_pn.items() + for pn, fns in recipes: + prov = self.find_best_provider(pn) + recipe = TinfoilRecipeInfo(recipecache, + self.config_data, + pn=pn, + fn=prov[3], + fns=fns) + yield recipe + + def all_recipe_files(self, mc='', variants=True, preferred_only=False): + """ + Enable iterating over all recipe files in the current configuration. + Returns an iterator over file paths. + Parameters: + mc: The multiconfig, default of '' uses the main configuration. + variants: True to include variants of recipes created through + BBCLASSEXTEND (default) or False to exclude them + preferred_only: True to include only the preferred recipe where + multiple exist providing the same PN, False to list + all recipes + """ + recipecache = self.cooker.recipecaches[mc] + if preferred_only: + files = [] + for pn in recipecache.pkg_pn.keys(): + prov = self.find_best_provider(pn) + files.append(prov[3]) + else: + files = recipecache.pkg_fn.keys() + for fn in sorted(files): + if not variants and fn.startswith('virtual:'): + continue + yield fn + + + def get_recipe_info(self, pn, mc=''): + """ + Get information on a specific recipe in the current configuration by name (PN). + Returns a TinfoilRecipeInfo object created on demand. + Parameters: + mc: The multiconfig, default of '' uses the main configuration. + """ + recipecache = self.cooker.recipecaches[mc] + prov = self.find_best_provider(pn) + fn = prov[3] + actual_pn = recipecache.pkg_fn[fn] + recipe = TinfoilRecipeInfo(recipecache, + self.config_data, + pn=actual_pn, + fn=fn, + fns=recipecache.pkg_pn[actual_pn]) + return recipe + def parse_recipe(self, pn): """ Parse the specified recipe and return a datastore object -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 09:44:21 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 09:44:21 +0000 Subject: [oe-commits] [openembedded-core] 01/28: oeqa/eSDK: Ignore errors during directory cleanup In-Reply-To: <150054386087.23220.15233943626715029805@git.openembedded.org> References: <150054386087.23220.15233943626715029805@git.openembedded.org> Message-ID: <20170720094421.3582C2335E6@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 5fb71eaf7bd2fcceb76355f42f4217ea2c381a01 Author: Richard Purdie AuthorDate: Thu Jul 20 09:38:36 2017 +0100 oeqa/eSDK: Ignore errors during directory cleanup The cleanup can fail with: ERROR [0.000s]: tearDownClass (eSDK.oeSDKExtSelfTest) FileNotFoundError: [Errno 2] No such file or directory: 'bitbake.sock' which is due to bitbake taking a small amount of time to shut down the server. The easiest fix is just to ignore these kinds of errors, bitbake shouldn't create any new files during shutdown. Signed-off-by: Richard Purdie --- meta/lib/oeqa/selftest/cases/eSDK.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/lib/oeqa/selftest/cases/eSDK.py b/meta/lib/oeqa/selftest/cases/eSDK.py index f36c3cc..d03188f 100644 --- a/meta/lib/oeqa/selftest/cases/eSDK.py +++ b/meta/lib/oeqa/selftest/cases/eSDK.py @@ -93,7 +93,7 @@ SSTATE_MIRRORS = "file://.* file://%s/PATH" @classmethod def tearDownClass(cls): - shutil.rmtree(cls.tmpdir_eSDKQA) + shutil.rmtree(cls.tmpdir_eSDKQA, ignore_errors=True) super(oeSDKExtSelfTest, cls).tearDownClass() @OETestID(1602) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 09:44:23 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 09:44:23 +0000 Subject: [oe-commits] [openembedded-core] 03/28: selftest/cases/package: Call parent setUpClass method In-Reply-To: <150054386087.23220.15233943626715029805@git.openembedded.org> References: <150054386087.23220.15233943626715029805@git.openembedded.org> Message-ID: <20170720094421.462E223360E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 8c49e67c91be17810cd0e914144ef2c79382c44d Author: An?bal Lim?n AuthorDate: Mon Jun 26 11:12:40 2017 -0500 selftest/cases/package: Call parent setUpClass method Since config paths are now passed in Test context the setUpClass method is expected to be call. Signed-off-by: An?bal Lim?n --- meta/lib/oeqa/selftest/cases/package.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/lib/oeqa/selftest/cases/package.py b/meta/lib/oeqa/selftest/cases/package.py index 5b9a6d1..169698f 100644 --- a/meta/lib/oeqa/selftest/cases/package.py +++ b/meta/lib/oeqa/selftest/cases/package.py @@ -17,6 +17,8 @@ class VersionOrdering(OESelftestTestCase): @classmethod def setUpClass(cls): + super().setUpClass() + # Build the tools we need and populate a sysroot bitbake("dpkg-native opkg-native rpm-native python3-native") bitbake("build-sysroots -c build_native_sysroot") -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 09:44:24 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 09:44:24 +0000 Subject: [oe-commits] [openembedded-core] 04/28: oeqa/selftest/{context, case}: Handle KeyboardInterrupt/SIGINT and SIGTERM In-Reply-To: <150054386087.23220.15233943626715029805@git.openembedded.org> References: <150054386087.23220.15233943626715029805@git.openembedded.org> Message-ID: <20170720094421.5059F23360F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 746ba8de97e558dc2520dd1dbf482c17a51631c6 Author: An?bal Lim?n AuthorDate: Fri Jun 23 15:10:38 2017 -0500 oeqa/selftest/{context,case}: Handle KeyboardInterrupt/SIGINT and SIGTERM In order to avoid corrupt local.conf and bblayers.conf adds signal handler for SIGTERM and use try/finally (KeyboardIntrrupt) block to restore previously backuped configuration. [YOCTO #11650] Signed-off-by: An?bal Lim?n --- meta/lib/oeqa/selftest/case.py | 36 +++++++------ meta/lib/oeqa/selftest/context.py | 107 +++++++++++++++++++++++++++----------- 2 files changed, 97 insertions(+), 46 deletions(-) diff --git a/meta/lib/oeqa/selftest/case.py b/meta/lib/oeqa/selftest/case.py index 31a11fd..871009c 100644 --- a/meta/lib/oeqa/selftest/case.py +++ b/meta/lib/oeqa/selftest/case.py @@ -13,28 +13,34 @@ from oeqa.utils.commands import runCmd, bitbake, get_bb_var from oeqa.core.case import OETestCase class OESelftestTestCase(OETestCase): - builddir = os.environ.get("BUILDDIR") or "" - localconf_path = os.path.join(builddir, "conf/local.conf") - localconf_backup = os.path.join(builddir, "conf/local.bk") - testinc_path = os.path.join(builddir, "conf/selftest.inc") - local_bblayers_path = os.path.join(builddir, "conf/bblayers.conf") - local_bblayers_backup = os.path.join(builddir, "conf/bblayers.bk") - testinc_bblayers_path = os.path.join(builddir, "conf/bblayers.inc") - machineinc_path = os.path.join(builddir, "conf/machine.inc") - def __init__(self, methodName="runTest"): self._extra_tear_down_commands = [] - self._track_for_cleanup = [ - self.testinc_path, self.testinc_bblayers_path, - self.machineinc_path, self.localconf_backup, - self.local_bblayers_backup] - super(OESelftestTestCase, self).__init__(methodName) @classmethod def setUpClass(cls): super(OESelftestTestCase, cls).setUpClass() - cls.testlayer_path = cls.tc.testlayer_path + + cls.testlayer_path = cls.tc.config_paths['testlayer_path'] + cls.builddir = cls.tc.config_paths['builddir'] + + cls.localconf_path = cls.tc.config_paths['localconf'] + cls.localconf_backup = cls.tc.config_paths['localconf_class_backup'] + cls.local_bblayers_path = cls.tc.config_paths['bblayers'] + cls.local_bblayers_backup = cls.tc.config_paths['bblayers_class_backup'] + + cls.testinc_path = os.path.join(cls.tc.config_paths['builddir'], + "conf/selftest.inc") + cls.testinc_bblayers_path = os.path.join(cls.tc.config_paths['builddir'], + "conf/bblayers.inc") + cls.machineinc_path = os.path.join(cls.tc.config_paths['builddir'], + "conf/machine.inc") + + cls._track_for_cleanup = [ + cls.testinc_path, cls.testinc_bblayers_path, + cls.machineinc_path, cls.localconf_backup, + cls.local_bblayers_backup] + cls.add_include() @classmethod diff --git a/meta/lib/oeqa/selftest/context.py b/meta/lib/oeqa/selftest/context.py index ca87398..4575a05 100644 --- a/meta/lib/oeqa/selftest/context.py +++ b/meta/lib/oeqa/selftest/context.py @@ -6,6 +6,8 @@ import time import glob import sys import imp +import signal +from shutil import copyfile from random import choice import oeqa @@ -16,13 +18,12 @@ from oeqa.core.exception import OEQAPreRun from oeqa.utils.commands import runCmd, get_bb_vars, get_test_layer class OESelftestTestContext(OETestContext): - def __init__(self, td=None, logger=None, machines=None, testlayer_path=None): + def __init__(self, td=None, logger=None, machines=None, config_paths=None): super(OESelftestTestContext, self).__init__(td, logger) self.machines = machines self.custommachine = None - - self.testlayer_path = testlayer_path + self.config_paths = config_paths def runTests(self, machine=None): if machine: @@ -108,7 +109,29 @@ class OESelftestTestContextExecutor(OETestContextExecutor): self.tc_kwargs['init']['td'] = get_bb_vars() self.tc_kwargs['init']['machines'] = self._get_available_machines() - self.tc_kwargs['init']['testlayer_path'] = get_test_layer() + + builddir = os.environ.get("BUILDDIR") + self.tc_kwargs['init']['config_paths'] = {} + self.tc_kwargs['init']['config_paths']['testlayer_path'] = \ + get_test_layer() + self.tc_kwargs['init']['config_paths']['builddir'] = builddir + self.tc_kwargs['init']['config_paths']['localconf'] = \ + os.path.join(builddir, "conf/local.conf") + self.tc_kwargs['init']['config_paths']['localconf_backup'] = \ + os.path.join(builddir, "conf/local.conf.orig") + self.tc_kwargs['init']['config_paths']['localconf_class_backup'] = \ + os.path.join(builddir, "conf/local.conf.bk") + self.tc_kwargs['init']['config_paths']['bblayers'] = \ + os.path.join(builddir, "conf/bblayers.conf") + self.tc_kwargs['init']['config_paths']['bblayers_backup'] = \ + os.path.join(builddir, "conf/bblayers.conf.orig") + self.tc_kwargs['init']['config_paths']['bblayers_class_backup'] = \ + os.path.join(builddir, "conf/bblayers.conf.bk") + + copyfile(self.tc_kwargs['init']['config_paths']['localconf'], + self.tc_kwargs['init']['config_paths']['localconf_backup']) + copyfile(self.tc_kwargs['init']['config_paths']['bblayers'], + self.tc_kwargs['init']['config_paths']['bblayers_backup']) def _pre_run(self): def _check_required_env_variables(vars): @@ -131,7 +154,7 @@ class OESelftestTestContextExecutor(OETestContextExecutor): runCmd("bitbake-layers add-layer %s" %meta_selftestdir) # reload data is needed because a meta-selftest layer was add self.tc.td = get_bb_vars() - self.tc.testlayer_path = get_test_layer() + self.tc.config_paths['testlayer_path'] = get_test_layer() else: self.tc.logger.error("could not locate meta-selftest in:\n%s" % meta_selftestdir) raise OEQAPreRun @@ -184,41 +207,63 @@ class OESelftestTestContextExecutor(OETestContextExecutor): rc.logSummary(self.name) return rc + + def _signal_clean_handler(self, signum, frame): + sys.exit(1) def run(self, logger, args): self._process_args(logger, args) - rc = None - if args.machine: - logger.info('Custom machine mode enabled. MACHINE set to %s' % - args.machine) + signal.signal(signal.SIGTERM, self._signal_clean_handler) - if args.machine == 'all': - results = [] - for m in self.tc_kwargs['init']['machines']: - self.tc_kwargs['run']['machine'] = m - results.append(self._internal_run(logger, args)) + rc = None + try: + if args.machine: + logger.info('Custom machine mode enabled. MACHINE set to %s' % + args.machine) + + if args.machine == 'all': + results = [] + for m in self.tc_kwargs['init']['machines']: + self.tc_kwargs['run']['machine'] = m + results.append(self._internal_run(logger, args)) + + # XXX: the oe-selftest script only needs to know if one + # machine run fails + for r in results: + rc = r + if not r.wasSuccessful(): + break - # XXX: the oe-selftest script only needs to know if one - # machine run fails - for r in results: - rc = r - if not r.wasSuccessful(): - break + else: + self.tc_kwargs['run']['machine'] = args.machine + return self._internal_run(logger, args) else: self.tc_kwargs['run']['machine'] = args.machine - return self._internal_run(logger, args) - - else: - self.tc_kwargs['run']['machine'] = args.machine - rc = self._internal_run(logger, args) - - output_link = os.path.join(os.path.dirname(args.output_log), - "%s-results.log" % self.name) - if os.path.exists(output_link): - os.remove(output_link) - os.symlink(args.output_log, output_link) + rc = self._internal_run(logger, args) + finally: + config_paths = self.tc_kwargs['init']['config_paths'] + if os.path.exists(config_paths['localconf_backup']): + copyfile(config_paths['localconf_backup'], + config_paths['localconf']) + os.remove(config_paths['localconf_backup']) + + if os.path.exists(config_paths['bblayers_backup']): + copyfile(config_paths['bblayers_backup'], + config_paths['bblayers']) + os.remove(config_paths['bblayers_backup']) + + if os.path.exists(config_paths['localconf_class_backup']): + os.remove(config_paths['localconf_class_backup']) + if os.path.exists(config_paths['bblayers_class_backup']): + os.remove(config_paths['bblayers_class_backup']) + + output_link = os.path.join(os.path.dirname(args.output_log), + "%s-results.log" % self.name) + if os.path.exists(output_link): + os.remove(output_link) + os.symlink(args.output_log, output_link) return rc -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 09:44:20 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 09:44:20 +0000 Subject: [oe-commits] [openembedded-core] branch master-next updated (3176bfe -> a712f7f) Message-ID: <150054386087.23220.15233943626715029805@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master-next in repository openembedded-core. from 3176bfe recipetool: Setup logging before calling prepare new 5fb71ea oeqa/eSDK: Ignore errors during directory cleanup new 39a2f05 oeqa/core/loader: Generate function _make_failed_test dynamically new 8c49e67 selftest/cases/package: Call parent setUpClass method new 746ba8d oeqa/selftest/{context,case}: Handle KeyboardInterrupt/SIGINT and SIGTERM new b6ec7d2 oe/copy_buildsystem: check_sstate_task_list also pop BBPATH from env new 721ce16 oeqa/core/threaded: Enable support to use the main thread new 3a4a18c oeqa/core/threaded: Add support to run into a thread at end of execution new eba5057 oeqa/core/threaded: logSummary add skipped tests info new c09512b oeqa/core/tests: Update test_loader threaded to cover main thread usage new 0a043b1 oeqa/selftest/{case,context}: Add builddir by test class and context new 3f3353c oeqa/selftest/case: Add wrappers to utils.commands modules new 0fd4c84 oeqa/selftest/case: Creates meta-selftest layer per class new fb28020 oeqa/selftest/case: tearDown extra commands print what actually fails new 11f83a0 oeqa/selftest/case: Support bitbake memres mode in per build directory new d2d7f9c oeqa/selftest/cases: Use testlayer_path instead of call get_test_layer() new d78900a oeqa/selftest/cases: Use builddir from class instead of get from environment new 67fc4a9 oeqa/selftest/cases: Use wrapper methods from OESelfTestCase class and enable threaded runs new 4dce9cc oeqa/selftest/cases: imagefeatures enable threaded runs new 0a68ecc oeqa/selftest/cases: runqemu enable threaded runs new bc5c54d oeqa/selftest/cases: runtime enable threaded runs new e39e3f9 oeqa/selftest/cases: eSDK enable threaded runs new d96319f oeqa/selftest/cases: devtool enable threaded runs new f04d3f5 oeqa/selftest/cases: recipetool enable for threaded runs new 1f13c7e oeqa/selftest/cases: Move devtool deploy test case to own module new c632fd1 selftest/cases/devtool{,end}: Move update/finish_{upgrade,modify} tests to its own module new a62332c seltest/cases/devtool: Build dbus on test_devtool_add_git_local new 5d105dc argparse_oe: Add int_positive type new a712f7f oeqa/selftest/context: Enable support for threaded runs The 28 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: meta/lib/oe/copy_buildsystem.py | 1 + meta/lib/oeqa/core/loader.py | 25 +- meta/lib/oeqa/core/tests/test_loader.py | 17 +- meta/lib/oeqa/core/threaded.py | 169 +++- meta/lib/oeqa/selftest/case.py | 252 ++++- .../lib/oeqa/selftest/cases/_sstatetests_noauto.py | 23 +- meta/lib/oeqa/selftest/cases/archiver.py | 21 +- meta/lib/oeqa/selftest/cases/bblayers.py | 45 +- meta/lib/oeqa/selftest/cases/bbtests.py | 103 +- meta/lib/oeqa/selftest/cases/buildhistory.py | 9 +- meta/lib/oeqa/selftest/cases/buildoptions.py | 58 +- meta/lib/oeqa/selftest/cases/containerimage.py | 9 +- meta/lib/oeqa/selftest/cases/devtool.py | 1065 ++++---------------- meta/lib/oeqa/selftest/cases/devtool_deploy.py | 93 ++ meta/lib/oeqa/selftest/cases/devtool_end.py | 592 +++++++++++ meta/lib/oeqa/selftest/cases/distrodata.py | 7 +- meta/lib/oeqa/selftest/cases/eSDK.py | 66 +- meta/lib/oeqa/selftest/cases/image_typedep.py | 8 +- meta/lib/oeqa/selftest/cases/imagefeatures.py | 86 +- meta/lib/oeqa/selftest/cases/imagefeatures_boot.py | 63 ++ meta/lib/oeqa/selftest/cases/layerappend.py | 22 +- meta/lib/oeqa/selftest/cases/liboe.py | 13 +- meta/lib/oeqa/selftest/cases/lic_checksum.py | 8 +- meta/lib/oeqa/selftest/cases/manifest.py | 13 +- meta/lib/oeqa/selftest/cases/oelib/buildhistory.py | 7 +- meta/lib/oeqa/selftest/cases/oescripts.py | 5 +- meta/lib/oeqa/selftest/cases/package.py | 12 +- meta/lib/oeqa/selftest/cases/pkgdata.py | 73 +- meta/lib/oeqa/selftest/cases/prservice.py | 19 +- meta/lib/oeqa/selftest/cases/recipetool.py | 105 +- meta/lib/oeqa/selftest/cases/runqemu.py | 7 +- meta/lib/oeqa/selftest/cases/runtime_test.py | 225 +---- .../lib/oeqa/selftest/cases/runtime_test_export.py | 104 ++ .../oeqa/selftest/cases/runtime_test_postinsts.py | 114 +++ meta/lib/oeqa/selftest/cases/selftest.py | 2 + meta/lib/oeqa/selftest/cases/signing.py | 42 +- meta/lib/oeqa/selftest/cases/sstate.py | 5 +- meta/lib/oeqa/selftest/cases/sstatetests.py | 51 +- meta/lib/oeqa/selftest/context.py | 140 ++- scripts/lib/argparse_oe.py | 7 + 40 files changed, 2069 insertions(+), 1617 deletions(-) create mode 100644 meta/lib/oeqa/selftest/cases/devtool_deploy.py create mode 100644 meta/lib/oeqa/selftest/cases/devtool_end.py create mode 100644 meta/lib/oeqa/selftest/cases/imagefeatures_boot.py create mode 100644 meta/lib/oeqa/selftest/cases/runtime_test_export.py create mode 100644 meta/lib/oeqa/selftest/cases/runtime_test_postinsts.py -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 09:44:22 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 09:44:22 +0000 Subject: [oe-commits] [openembedded-core] 02/28: oeqa/core/loader: Generate function _make_failed_test dynamically In-Reply-To: <150054386087.23220.15233943626715029805@git.openembedded.org> References: <150054386087.23220.15233943626715029805@git.openembedded.org> Message-ID: <20170720094421.3D99B2335E8@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 39a2f054573bddf116b4cdd0016746c54e593805 Author: An?bal Lim?n AuthorDate: Thu Jun 29 15:02:14 2017 -0500 oeqa/core/loader: Generate function _make_failed_test dynamically Python versions has different features from branches 3.4.x, 3.5.x and 3.6.x, i expected in wrong mode that was incremental for example changes in 3.4.4 be in 3.5.x but that's not true. The _make_failed_test internal method differs and is only available in certain versions >= 3.4.4 and in 3.5.x and 3.6.x branches but not realeses have been made including it. So to avoid futher problems inspect the _make_failed_test and generates function definition according what parameters are needed, the unique supossition is that exception argument is always passed. Related to, http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=d8380d098a290510b442a7abd2dd5a50cabf5844 Signed-off-by: An?bal Lim?n --- meta/lib/oeqa/core/loader.py | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/meta/lib/oeqa/core/loader.py b/meta/lib/oeqa/core/loader.py index 80e3d28..e4c218b 100644 --- a/meta/lib/oeqa/core/loader.py +++ b/meta/lib/oeqa/core/loader.py @@ -4,6 +4,7 @@ import os import sys import unittest +import inspect from oeqa.core.utils.path import findFile from oeqa.core.utils.test import getSuiteModules, getCaseID @@ -12,19 +13,17 @@ from oeqa.core.case import OETestCase from oeqa.core.decorator import decoratorClasses, OETestDecorator, \ OETestFilter, OETestDiscover -if sys.version_info >= (3,4,4): - def _make_failed_test(classname, methodname, exception, suiteClass): - """ - When loading tests, the unittest framework stores any exceptions and - displays them only when the 'run' method is called. - - For our purposes, it is better to raise the exceptions in the loading - step rather than waiting to run the test suite. - """ - raise exception -else: - def _make_failed_test(classname, exception, suiteClass): - raise exception +# When loading tests, the unittest framework stores any exceptions and +# displays them only when the run method is called. +# +# For our purposes, it is better to raise the exceptions in the loading +# step rather than waiting to run the test suite. +# +# Generate the function definition because this differ across python versions +# Python >= 3.4.4 uses tree parameters instead four but for example Python 3.5.3 +# ueses four parameters so isn't incremental. +_failed_test_args = inspect.getargspec(unittest.loader._make_failed_test).args +exec("""def _make_failed_test(%s): raise exception""" % ', '.join(_failed_test_args)) unittest.loader._make_failed_test = _make_failed_test def _find_duplicated_modules(suite, directory): -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 09:44:25 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 09:44:25 +0000 Subject: [oe-commits] [openembedded-core] 05/28: oe/copy_buildsystem: check_sstate_task_list also pop BBPATH from env In-Reply-To: <150054386087.23220.15233943626715029805@git.openembedded.org> References: <150054386087.23220.15233943626715029805@git.openembedded.org> Message-ID: <20170720094421.5891F233611@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit b6ec7d2b0d0d65344d369ecf0b80d7b7d9587ffd Author: An?bal Lim?n AuthorDate: Thu Jun 29 14:48:24 2017 -0700 oe/copy_buildsystem: check_sstate_task_list also pop BBPATH from env The BBPATH environment could be set and can make a failure when try to build an extensible sdk because it will look the bitbake.lock file in the original build folder. Example: $ export BBPATH=`pwd` $ bitbake core-image-minimal -c populate_sdk_ext ERROR: bitbake failed: ERROR: Only one copy of bitbake should be run against a build directory ERROR: core-image-minimal-1.0-r0 do_populate_sdk_ext: Function failed: copy_buildsystem Signed-off-by: An?bal Lim?n --- meta/lib/oe/copy_buildsystem.py | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/lib/oe/copy_buildsystem.py b/meta/lib/oe/copy_buildsystem.py index a372904..dd506a3 100644 --- a/meta/lib/oe/copy_buildsystem.py +++ b/meta/lib/oe/copy_buildsystem.py @@ -239,6 +239,7 @@ def check_sstate_task_list(d, targets, filteroutfile, cmdprefix='', cwd=None, lo cmd = "%sBB_SETSCENE_ENFORCE=1 PSEUDO_DISABLED=1 oe-check-sstate %s -s -o %s %s" % (cmdprefix, targets, filteroutfile, logparam) env = dict(d.getVar('BB_ORIGENV', False)) env.pop('BUILDDIR', '') + env.pop('BBPATH', '') pathitems = env['PATH'].split(':') env['PATH'] = ':'.join([item for item in pathitems if not item.endswith('/bitbake/bin')]) bb.process.run(cmd, stderr=subprocess.STDOUT, env=env, cwd=cwd, executable='/bin/bash') -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 09:44:28 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 09:44:28 +0000 Subject: [oe-commits] [openembedded-core] 08/28: oeqa/core/threaded: logSummary add skipped tests info In-Reply-To: <150054386087.23220.15233943626715029805@git.openembedded.org> References: <150054386087.23220.15233943626715029805@git.openembedded.org> Message-ID: <20170720094421.74ED5233614@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit eba50570f34938164897e5a16ba488243b63aa9b Author: An?bal Lim?n AuthorDate: Tue Jul 11 08:04:08 2017 -0700 oeqa/core/threaded: logSummary add skipped tests info Signed-off-by: An?bal Lim?n --- meta/lib/oeqa/core/threaded.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/meta/lib/oeqa/core/threaded.py b/meta/lib/oeqa/core/threaded.py index a7dc0ae..022c9ac 100644 --- a/meta/lib/oeqa/core/threaded.py +++ b/meta/lib/oeqa/core/threaded.py @@ -234,6 +234,14 @@ class OETestResultThreaded(object): self._results[tid]['result'].wasSuccessful() return wasSuccessful + def getSkippedTests(self): + skipped = 0 + + for tid in self._results.keys(): + skipped = skipped + len(self.tc._results[tid]['skipped']) + + return skipped + def stop(self): for tid in self._results.keys(): self._results[tid]['result'].stop() @@ -248,6 +256,9 @@ class OETestResultThreaded(object): msg = "%s - OK - All required tests passed" % component else: msg = "%s - FAIL - Required tests failed" % component + skipped = self.getSkippedTests() + if skipped: + msg += " (skipped=%d)" % skipped self.tc.logger.info(msg) def logDetails(self): -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 09:44:29 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 09:44:29 +0000 Subject: [oe-commits] [openembedded-core] 09/28: oeqa/core/tests: Update test_loader threaded to cover main thread usage In-Reply-To: <150054386087.23220.15233943626715029805@git.openembedded.org> References: <150054386087.23220.15233943626715029805@git.openembedded.org> Message-ID: <20170720094421.7D689233615@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit c09512bc97b9a032ba09835e70080ca818519cf5 Author: An?bal Lim?n AuthorDate: Tue Jun 27 13:41:28 2017 -0700 oeqa/core/tests: Update test_loader threaded to cover main thread usage Signed-off-by: An?bal Lim?n --- meta/lib/oeqa/core/tests/test_loader.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/meta/lib/oeqa/core/tests/test_loader.py b/meta/lib/oeqa/core/tests/test_loader.py index e0d917d..c4d5eeb 100755 --- a/meta/lib/oeqa/core/tests/test_loader.py +++ b/meta/lib/oeqa/core/tests/test_loader.py @@ -88,25 +88,28 @@ class TestLoader(TestBase): self.cases_path = [os.path.join(self.cases_path, 'loader', 'threaded')] tc = self._testLoaderThreaded() - self.assertEqual(len(tc.suites), 3, "Expected to be 3 suites") + self.assertTrue(len(tc.suites['main']._tests), + "Expected to have tests in main suite") + self.assertEqual(len(tc.suites['pool']), 2, + "Expected to be 2 suites in pool") case_ids = ['threaded.ThreadedTest.test_threaded_no_depends', 'threaded.ThreadedTest2.test_threaded_same_module', 'threaded_depends.ThreadedTest3.test_threaded_depends'] - for case in tc.suites[0]._tests: + for case in tc.suites['main']._tests: self.assertEqual(case.id(), - case_ids[tc.suites[0]._tests.index(case)]) + case_ids[tc.suites['main']._tests.index(case)]) case_ids = ['threaded_alone.ThreadedTestAlone.test_threaded_alone'] - for case in tc.suites[1]._tests: + for case in tc.suites['pool'][0]._tests: self.assertEqual(case.id(), - case_ids[tc.suites[1]._tests.index(case)]) + case_ids[tc.suites['pool'][0]._tests.index(case)]) case_ids = ['threaded_module.ThreadedTestModule.test_threaded_module', 'threaded_module.ThreadedTestModule2.test_threaded_module2'] - for case in tc.suites[2]._tests: + for case in tc.suites['pool'][1]._tests: self.assertEqual(case.id(), - case_ids[tc.suites[2]._tests.index(case)]) + case_ids[tc.suites['pool'][1]._tests.index(case)]) self.cases_path = cases_path -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 09:44:26 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 09:44:26 +0000 Subject: [oe-commits] [openembedded-core] 06/28: oeqa/core/threaded: Enable support to use the main thread In-Reply-To: <150054386087.23220.15233943626715029805@git.openembedded.org> References: <150054386087.23220.15233943626715029805@git.openembedded.org> Message-ID: <20170720094421.634D1233612@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 721ce166f2fb2bd2b2e25b8031709bd208b1c4f1 Author: An?bal Lim?n AuthorDate: Mon Jun 12 16:45:34 2017 -0500 oeqa/core/threaded: Enable support to use the main thread Some test cases needs to be executed by the main thread for several resons, this implmentation enables usage of the main thread to execute suites. The rules are if some test case request by test class attr _main_thread it will be executed, if no tests are scheduled to be executed into the main thread the algorithm with take the first suite in the pool, finallay this will avoid thread usage if only one suite needs to be executed. Signed-off-by: An?bal Lim?n --- meta/lib/oeqa/core/threaded.py | 104 ++++++++++++++++++++++++++++++++--------- 1 file changed, 83 insertions(+), 21 deletions(-) diff --git a/meta/lib/oeqa/core/threaded.py b/meta/lib/oeqa/core/threaded.py index 2cafe03..34217f1 100644 --- a/meta/lib/oeqa/core/threaded.py +++ b/meta/lib/oeqa/core/threaded.py @@ -27,9 +27,42 @@ class OETestLoaderThreaded(OETestLoader): self.process_num = min(multiprocessing.cpu_count(), len(suite._tests)) - suites = [] - for _ in range(self.process_num): - suites.append(self.suiteClass()) + suites = {} + suites['main'] = self.suiteClass() + suites['pool'] = [] + for _ in range(self.process_num - 1): + suites['pool'].append(self.suiteClass()) + + def _add_to_main_thread(main_suite, case, depends): + """ + Some test cases needs to be run into the main + thread for several resons. + + A test case that needs to run in the main thread + can be for specific set via test class _main_thread + attr or because is on the same module or for a dependency + reason. + """ + + if hasattr(case.__class__, '_main_thread') and \ + case.__class__._main_thread or \ + self.process_num == 1: + main_suite.addTest(case) + return True + + for c in main_suite._tests: + if case.__module__ == c.__module__: + main_suite.addTest(case) + return True + + if case.id() in depends: + case_depends = depends[case.id()] + for c in main_suite._tests: + if c.id() in case_depends: + main_suite.addTest(case) + return True + + return False def _search_for_module_idx(suites, case): """ @@ -37,8 +70,7 @@ class OETestLoaderThreaded(OETestLoader): in the same thread because PyUnit keeps track of setUp{Module, Class,} and tearDown{Module, Class,}. """ - - for idx in range(self.process_num): + for idx in range(self.process_num - 1): suite = suites[idx] for c in suite._tests: if case.__module__ == c.__module__: @@ -53,7 +85,7 @@ class OETestLoaderThreaded(OETestLoader): of dependant test to figure out if skip or not. """ - for idx in range(self.process_num): + for idx in range(self.process_num - 1): suite = suites[idx] for case in suite._tests: @@ -62,6 +94,11 @@ class OETestLoaderThreaded(OETestLoader): return -1 def _get_best_idx(suites): + """ + The best index is selected to the suite that has + minor test cases to run. + """ + sizes = [len(suite._tests) for suite in suites] return sizes.index(min(sizes)) @@ -71,27 +108,35 @@ class OETestLoaderThreaded(OETestLoader): if isinstance(case, TestSuite): _fill_suites(case) else: - idx = _search_for_module_idx(suites, case) - depends = {} if 'depends' in self.tc._registry: depends = self.tc._registry['depends'] + if _add_to_main_thread(suites['main'], case, depends): + continue + + # Get the best index in the suite pool to add the case + idx = _search_for_module_idx(suites['pool'], case) if idx == -1 and case.id() in depends: case_depends = depends[case.id()] - idx = _search_for_depend_idx(suites, case_depends) - + idx = _search_for_depend_idx(suites['pool'], case_depends) if idx == -1: - idx = _get_best_idx(suites) + idx = _get_best_idx(suites['pool']) + suites['pool'][idx].addTest(case) - suites[idx].addTest(case) _fill_suites(suite) - suites_tmp = suites - suites = [] + # clean suites in pool without test cases + suites_tmp = suites['pool'] + suites['pool'] = [] for suite in suites_tmp: if len(suite._tests) > 0: - suites.append(suite) + suites['pool'].append(suite) + + # if the main suite doesn't have test cases + # use the first element of the suites pool + if not len(suites['main']._tests): + suites['main'] = suites['pool'].pop(0) return suites @@ -251,16 +296,33 @@ class OETestRunnerThreaded(OETestRunner): def run(self, suites): result = OETestResultThreaded(self.tc) - pool = _ThreadedPool(len(suites), len(suites), stream=self.stream, - result=result) - for s in suites: - pool.add_task(super(OETestRunnerThreaded, self).run, s) - pool.start() - pool.wait_completion() + pool = None + if suites['pool']: + thread_no = len(suites['pool']) + pool = _ThreadedPool(thread_no, thread_no, stream=self.stream, + result=result) + for s in suites['pool']: + pool.add_task(super(OETestRunnerThreaded, self).run, s) + pool.start() + + run_start_time = time.time() + rc = super(OETestRunnerThreaded, self).run(suites['main']) + run_end_time = time.time() + result.addResult(rc, run_start_time, run_end_time) + self.stream.finish() + + if pool: + pool.wait_completion() result._fill_tc_results() return result + def list_tests(self, suite, display_type): + suite['pool'].insert(0, suite['main']) + + return super(OETestRunnerThreaded, self).list_tests( + suite['pool'], display_type) + class OETestContextThreaded(OETestContext): loaderClass = OETestLoaderThreaded runnerClass = OETestRunnerThreaded -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 09:44:33 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 09:44:33 +0000 Subject: [oe-commits] [openembedded-core] 13/28: oeqa/selftest/case: tearDown extra commands print what actually fails In-Reply-To: <150054386087.23220.15233943626715029805@git.openembedded.org> References: <150054386087.23220.15233943626715029805@git.openembedded.org> Message-ID: <20170720094421.9A4C923361A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit fb28020c1d6f5ef76da82086f17b934d1de95747 Author: An?bal Lim?n AuthorDate: Fri Jun 16 09:11:10 2017 -0700 oeqa/selftest/case: tearDown extra commands print what actually fails Its better to have the output to see what actually fails in a command that is aim to execute at end of a test case. Signed-off-by: An?bal Lim?n --- meta/lib/oeqa/selftest/case.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/meta/lib/oeqa/selftest/case.py b/meta/lib/oeqa/selftest/case.py index 36f0437..c210324 100644 --- a/meta/lib/oeqa/selftest/case.py +++ b/meta/lib/oeqa/selftest/case.py @@ -225,13 +225,18 @@ to ensure accurate results.") def tearDown(self): if self._extra_tear_down_commands: - failed_extra_commands = [] + failed_extra_commands = {} for command in self._extra_tear_down_commands: result = self.runCmd(command, ignore_status=True) - if not result.status == 0: - failed_extra_commands.append(command) + if not result.status == 0: + failed_extra_commands[command] = result if failed_extra_commands: - self.logger.warning("tearDown commands have failed: %s" % ', '.join(map(str, failed_extra_commands))) + self.logger.warning("%s: tearDown commands have failed" % \ + self.id()) + for cmd in failed_extra_commands: + result = failed_extra_commands[cmd] + self.logger.warning("%s: %s\n%s" % (self.id(), cmd, + result.output)) self.logger.debug("Trying to move on.") self._extra_tear_down_commands = [] -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 09:44:27 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 09:44:27 +0000 Subject: [oe-commits] [openembedded-core] 07/28: oeqa/core/threaded: Add support to run into a thread at end of execution In-Reply-To: <150054386087.23220.15233943626715029805@git.openembedded.org> References: <150054386087.23220.15233943626715029805@git.openembedded.org> Message-ID: <20170720094421.6D4AF233613@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 3a4a18c6e89be82b4ea94c58305ba591dbd16ed1 Author: An?bal Lim?n AuthorDate: Thu Jul 6 10:38:12 2017 -0500 oeqa/core/threaded: Add support to run into a thread at end of execution Some test cases aren't allowed to run into a multi-thread environment so add the posibility to run those tests at end of execution. Signed-off-by: An?bal Lim?n --- meta/lib/oeqa/core/threaded.py | 102 +++++++++++++++++++++++++++++++---------- 1 file changed, 78 insertions(+), 24 deletions(-) diff --git a/meta/lib/oeqa/core/threaded.py b/meta/lib/oeqa/core/threaded.py index 34217f1..a7dc0ae 100644 --- a/meta/lib/oeqa/core/threaded.py +++ b/meta/lib/oeqa/core/threaded.py @@ -30,18 +30,35 @@ class OETestLoaderThreaded(OETestLoader): suites = {} suites['main'] = self.suiteClass() suites['pool'] = [] + suites['end'] = self.suiteClass() for _ in range(self.process_num - 1): suites['pool'].append(self.suiteClass()) + def _add_by_module_or_dep(suite, case, depends): + """ + A test case that needs to run into the same thread + because is on the same module or for dependency + reasons. + """ + + for c in suite._tests: + if case.__module__ == c.__module__: + suite.addTest(case) + return True + + if case.id() in depends: + case_depends = depends[case.id()] + for c in suite._tests: + if c.id() in case_depends: + suite.addTest(case) + return True + + return False + def _add_to_main_thread(main_suite, case, depends): """ Some test cases needs to be run into the main - thread for several resons. - - A test case that needs to run in the main thread - can be for specific set via test class _main_thread - attr or because is on the same module or for a dependency - reason. + thread by request. """ if hasattr(case.__class__, '_main_thread') and \ @@ -50,19 +67,20 @@ class OETestLoaderThreaded(OETestLoader): main_suite.addTest(case) return True - for c in main_suite._tests: - if case.__module__ == c.__module__: - main_suite.addTest(case) - return True + return _add_by_module_or_dep(main_suite, case, depends) - if case.id() in depends: - case_depends = depends[case.id()] - for c in main_suite._tests: - if c.id() in case_depends: - main_suite.addTest(case) - return True + def _add_to_end_thread(end_suite, case, depends): + """ + Some test cases needs to be run into at end of + execution into the main by request. + """ + if hasattr(case.__class__, '_end_thread') and \ + case.__class__._end_thread or \ + self.process_num == 1: + end_suite.addTest(case) + return True - return False + return _add_by_module_or_dep(end_suite, case, depends) def _search_for_module_idx(suites, case): """ @@ -112,6 +130,9 @@ class OETestLoaderThreaded(OETestLoader): if 'depends' in self.tc._registry: depends = self.tc._registry['depends'] + if _add_to_end_thread(suites['end'], case, depends): + continue + if _add_to_main_thread(suites['main'], case, depends): continue @@ -135,7 +156,7 @@ class OETestLoaderThreaded(OETestLoader): # if the main suite doesn't have test cases # use the first element of the suites pool - if not len(suites['main']._tests): + if not len(suites['main']._tests) and len(suites['pool']): suites['main'] = suites['pool'].pop(0) return suites @@ -268,6 +289,12 @@ class _ThreadedPool: self.tasks = queue.Queue(num_tasks) self.workers = [] + self.stream = stream + self.result = result + + self.end_task = None + self.end_worker = None + for _ in range(num_workers): worker = _Worker(self.tasks, result, stream) self.workers.append(worker) @@ -280,12 +307,25 @@ class _ThreadedPool: """Add a task to the queue""" self.tasks.put((func, args, kargs)) + def add_end_task(self, func, *args, **kwargs): + """Add a task to be executed at end""" + + self.end_task = queue.Queue(1) + self.end_task.put((func, args, kwargs)) + self.end_worker = _Worker(self.end_task, self.result, + self.stream) + def wait_completion(self): """Wait for completion of all the tasks in the queue""" self.tasks.join() for worker in self.workers: worker.join() + if self.end_task: + self.end_worker.start() + self.end_task.join() + self.end_worker.join() + class OETestRunnerThreaded(OETestRunner): streamLoggerClass = OEStreamLoggerThreaded @@ -293,32 +333,46 @@ class OETestRunnerThreaded(OETestRunner): super(OETestRunnerThreaded, self).__init__(tc, *args, **kwargs) self.resultclass = OETestResultThreadedInternal # XXX: XML reporting overrides at __init__ + def _run_main_thread(self, suite, result): + if len(suite._tests): + run_start_time = time.time() + rc = super(OETestRunnerThreaded, self).run(suite) + run_end_time = time.time() + result.addResult(rc, run_start_time, run_end_time) + self.stream.finish() + def run(self, suites): result = OETestResultThreaded(self.tc) pool = None + if suites['pool']: thread_no = len(suites['pool']) pool = _ThreadedPool(thread_no, thread_no, stream=self.stream, result=result) for s in suites['pool']: pool.add_task(super(OETestRunnerThreaded, self).run, s) - pool.start() - run_start_time = time.time() - rc = super(OETestRunnerThreaded, self).run(suites['main']) - run_end_time = time.time() - result.addResult(rc, run_start_time, run_end_time) - self.stream.finish() + if len(suites['end']._tests): + if not pool: + pool = _ThreadedPool(0, 0, stream=self.stream, + result=result) + pool.add_end_task(super(OETestRunnerThreaded, self).run, + suites['end']) if pool: + pool.start() + self._run_main_thread(suites['main'], result) + if pool: pool.wait_completion() + result._fill_tc_results() return result def list_tests(self, suite, display_type): suite['pool'].insert(0, suite['main']) + suite['pool'].append(suite['end']) return super(OETestRunnerThreaded, self).list_tests( suite['pool'], display_type) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 09:44:34 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 09:44:34 +0000 Subject: [oe-commits] [openembedded-core] 14/28: oeqa/selftest/case: Support bitbake memres mode in per build directory In-Reply-To: <150054386087.23220.15233943626715029805@git.openembedded.org> References: <150054386087.23220.15233943626715029805@git.openembedded.org> Message-ID: <20170720094421.A058123361B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 11f83a0cf8fb0ffa3f00aeea06f479d7d73b3b31 Author: An?bal Lim?n AuthorDate: Wed Jun 28 15:37:39 2017 -0500 oeqa/selftest/case: Support bitbake memres mode in per build directory If BBSERVER is set on the environment the bitbake is set to be used as a memres, so starts an bitbake server per TestClass. Signed-off-by: An?bal Lim?n --- meta/lib/oeqa/selftest/case.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/meta/lib/oeqa/selftest/case.py b/meta/lib/oeqa/selftest/case.py index c210324..cacd6be 100644 --- a/meta/lib/oeqa/selftest/case.py +++ b/meta/lib/oeqa/selftest/case.py @@ -98,6 +98,12 @@ class OESelftestTestCase(OETestCase): cls.runCmd("git init; git add *; git commit -a -m 'initial'", cwd=cls.testlayer_path) + if cls._use_own_builddir and 'BBSERVER' in os.environ: + env = os.environ.copy() + del env['BBSERVER'] + result = cls.runCmd('bitbake --server-only -t xmlrpc -B localhost:-1', + env=env) + # XXX: sometimes meta-selftest isn't on bblayers at first backup try: cls.runCmd("bitbake-layers remove-layer %s" % cls.orig_testlayer_path) @@ -120,6 +126,9 @@ class OESelftestTestCase(OETestCase): @classmethod def tearDownClass(cls): + if cls._use_own_builddir and 'BBSERVER' in os.environ: + cls.runCmd('bitbake --kill-server') + cls.remove_include() cls.remove_inc_files() super(OESelftestTestCase, cls).tearDownClass() -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 09:44:30 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 09:44:30 +0000 Subject: [oe-commits] [openembedded-core] 10/28: oeqa/selftest/{case, context}: Add builddir by test class and context In-Reply-To: <150054386087.23220.15233943626715029805@git.openembedded.org> References: <150054386087.23220.15233943626715029805@git.openembedded.org> Message-ID: <20170720094421.85A51233616@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 0a043b1b3508ac8a466e9a0bbd3c63b18711567f Author: An?bal Lim?n AuthorDate: Fri Jun 23 13:32:30 2017 -0700 oeqa/selftest/{case,context}: Add builddir by test class and context The build directory by Test class will enable to use several instances of bitbake in parallel to enable oe-selftest threaded runs. [YOCTO #11429] Signed-off-by: An?bal Lim?n --- meta/lib/oeqa/selftest/case.py | 101 ++++++++++++++++++++++++++++---------- meta/lib/oeqa/selftest/context.py | 4 ++ 2 files changed, 78 insertions(+), 27 deletions(-) diff --git a/meta/lib/oeqa/selftest/case.py b/meta/lib/oeqa/selftest/case.py index 871009c..a2d4bed 100644 --- a/meta/lib/oeqa/selftest/case.py +++ b/meta/lib/oeqa/selftest/case.py @@ -13,28 +13,77 @@ from oeqa.utils.commands import runCmd, bitbake, get_bb_var from oeqa.core.case import OETestCase class OESelftestTestCase(OETestCase): + _use_own_builddir = False + _main_thread = True + _end_thread = False + def __init__(self, methodName="runTest"): self._extra_tear_down_commands = [] super(OESelftestTestCase, self).__init__(methodName) @classmethod + def _setUpBuildDir(cls): + if cls._use_own_builddir: + cls.builddir = os.path.join(cls.tc.config_paths['base_builddir'], + cls.__module__, cls.__name__) + + cls.localconf_path = os.path.join(cls.builddir, "conf/local.conf") + cls.localconf_backup = os.path.join(cls.builddir, + "conf/local.conf.bk") + cls.local_bblayers_path = os.path.join(cls.builddir, + "conf/bblayers.conf") + cls.local_bblayers_backup = os.path.join(cls.builddir, + "conf/bblayers.conf.bk") + else: + cls.builddir = cls.tc.config_paths['builddir'] + cls.localconf_path = cls.tc.config_paths['localconf'] + cls.localconf_backup = cls.tc.config_paths['localconf_class_backup'] + cls.local_bblayers_path = cls.tc.config_paths['bblayers'] + cls.local_bblayers_backup = \ + cls.tc.config_paths['bblayers_class_backup'] + + cls.testinc_path = os.path.join(cls.builddir, "conf/selftest.inc") + cls.testinc_bblayers_path = os.path.join(cls.builddir, + "conf/bblayers.inc") + cls.machineinc_path = os.path.join(cls.builddir, "conf/machine.inc") + + # creates a custom build directory for every test class + if not os.path.exists(cls.builddir): + os.makedirs(cls.builddir) + + builddir_conf = os.path.join(cls.builddir, 'conf') + os.makedirs(builddir_conf) + shutil.copyfile(cls.tc.config_paths['localconf_backup'], + cls.localconf_path) + shutil.copyfile(cls.tc.config_paths['bblayers_backup'], + cls.local_bblayers_path) + + ftools.append_file(cls.localconf_path, "\n# added by oe-selftest base class\n") + ftools.append_file(cls.local_bblayers_path, "\n# added by oe-selftest base class\n") + + # shares original sstate_dir across build directories to speed up + sstate_line = "SSTATE_DIR?=\"%s\"" % cls.td['SSTATE_DIR'] + ftools.append_file(cls.localconf_path, sstate_line) + + # shares original dl_dir across build directories to avoid additional + # network usage + dldir_line = "DL_DIR?=\"%s\"" % cls.td['DL_DIR'] + ftools.append_file(cls.localconf_path, dldir_line) + + # use the same value of threads for BB_NUMBER_THREADS/PARALLEL_MAKE + # to avoid ran out resources (cpu/memory) + if hasattr(cls.tc.loader, 'process_num'): + ftools.append_file(cls.localconf_path, "BB_NUMBER_THREADS?=\"%d\"" % + cls.tc.loader.process_num) + ftools.append_file(cls.localconf_path, "PARALLEL_MAKE?=\"-j %d\"" % + cls.tc.loader.process_num) + + @classmethod def setUpClass(cls): super(OESelftestTestCase, cls).setUpClass() cls.testlayer_path = cls.tc.config_paths['testlayer_path'] - cls.builddir = cls.tc.config_paths['builddir'] - - cls.localconf_path = cls.tc.config_paths['localconf'] - cls.localconf_backup = cls.tc.config_paths['localconf_class_backup'] - cls.local_bblayers_path = cls.tc.config_paths['bblayers'] - cls.local_bblayers_backup = cls.tc.config_paths['bblayers_class_backup'] - - cls.testinc_path = os.path.join(cls.tc.config_paths['builddir'], - "conf/selftest.inc") - cls.testinc_bblayers_path = os.path.join(cls.tc.config_paths['builddir'], - "conf/bblayers.inc") - cls.machineinc_path = os.path.join(cls.tc.config_paths['builddir'], - "conf/machine.inc") + cls._setUpBuildDir() cls._track_for_cleanup = [ cls.testinc_path, cls.testinc_bblayers_path, @@ -52,35 +101,31 @@ class OESelftestTestCase(OETestCase): @classmethod def add_include(cls): if "#include added by oe-selftest" \ - not in ftools.read_file(os.path.join(cls.builddir, "conf/local.conf")): - cls.logger.info("Adding: \"include selftest.inc\" in %s" % os.path.join(cls.builddir, "conf/local.conf")) - ftools.append_file(os.path.join(cls.builddir, "conf/local.conf"), \ + not in ftools.read_file(cls.localconf_path): + ftools.append_file(cls.localconf_path, \ "\n#include added by oe-selftest\ninclude machine.inc\ninclude selftest.inc") if "#include added by oe-selftest" \ - not in ftools.read_file(os.path.join(cls.builddir, "conf/bblayers.conf")): - cls.logger.info("Adding: \"include bblayers.inc\" in bblayers.conf") - ftools.append_file(os.path.join(cls.builddir, "conf/bblayers.conf"), \ + not in ftools.read_file(cls.local_bblayers_path): + ftools.append_file(cls.local_bblayers_path, \ "\n#include added by oe-selftest\ninclude bblayers.inc") @classmethod def remove_include(cls): if "#include added by oe-selftest.py" \ - in ftools.read_file(os.path.join(cls.builddir, "conf/local.conf")): - cls.logger.info("Removing the include from local.conf") - ftools.remove_from_file(os.path.join(cls.builddir, "conf/local.conf"), \ + in ftools.read_file(cls.localconf_path): + ftools.remove_from_file(cls.localconf_path, \ "\n#include added by oe-selftest.py\ninclude machine.inc\ninclude selftest.inc") if "#include added by oe-selftest.py" \ - in ftools.read_file(os.path.join(cls.builddir, "conf/bblayers.conf")): - cls.logger.info("Removing the include from bblayers.conf") - ftools.remove_from_file(os.path.join(cls.builddir, "conf/bblayers.conf"), \ + in ftools.read_file(cls.local_bblayers_path): + ftools.remove_from_file(cls.local_bblayers_path, \ "\n#include added by oe-selftest.py\ninclude bblayers.inc") @classmethod def remove_inc_files(cls): try: - os.remove(os.path.join(cls.builddir, "conf/selftest.inc")) + os.remove(cls.testinc_path) for root, _, files in os.walk(cls.testlayer_path): for f in files: if f == 'test_recipe.inc': @@ -96,7 +141,7 @@ class OESelftestTestCase(OETestCase): def setUp(self): super(OESelftestTestCase, self).setUp() - os.chdir(self.builddir) + # Check if local.conf or bblayers.conf files backup exists # from a previous failed test and restore them if os.path.isfile(self.localconf_backup) or os.path.isfile( @@ -239,6 +284,7 @@ to ensure accurate results.") except OSError as e: if e.errno != errno.ENOENT: raise + def write_bblayers_config(self, data): """Write to /conf/bblayers.inc""" self.logger.debug("Writing to: %s\n%s\n" % (self.testinc_bblayers_path, data)) @@ -269,4 +315,5 @@ to ensure accurate results.") def assertNotExists(self, expr, msg=None): if os.path.exists(expr): msg = self._formatMessage(msg, "%s exists when it should not" % safe_repr(expr)) + raise self.failureException(msg) diff --git a/meta/lib/oeqa/selftest/context.py b/meta/lib/oeqa/selftest/context.py index 4575a05..697ea0b 100644 --- a/meta/lib/oeqa/selftest/context.py +++ b/meta/lib/oeqa/selftest/context.py @@ -8,6 +8,7 @@ import sys import imp import signal from shutil import copyfile +import tempfile from random import choice import oeqa @@ -133,6 +134,9 @@ class OESelftestTestContextExecutor(OETestContextExecutor): copyfile(self.tc_kwargs['init']['config_paths']['bblayers'], self.tc_kwargs['init']['config_paths']['bblayers_backup']) + self.tc_kwargs['init']['config_paths']['base_builddir'] = \ + tempfile.mkdtemp(prefix='build-selftest-', dir=builddir) + def _pre_run(self): def _check_required_env_variables(vars): for var in vars: -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 09:44:31 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 09:44:31 +0000 Subject: [oe-commits] [openembedded-core] 11/28: oeqa/selftest/case: Add wrappers to utils.commands modules In-Reply-To: <150054386087.23220.15233943626715029805@git.openembedded.org> References: <150054386087.23220.15233943626715029805@git.openembedded.org> Message-ID: <20170720094421.8DE5B233617@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 3f3353cb19372d807b5301b627a6a78486e7b642 Author: An?bal Lim?n AuthorDate: Tue May 30 14:45:15 2017 -0500 oeqa/selftest/case: Add wrappers to utils.commands modules This wrappers are for be able to use a custom build directory per Test class, there is a function to modify the environment setting BUILDDIR, BBPATH and CWD. The oeqa.utils.commands module could be removed when other selftests (refkit, etc) are adapted to use this wrappers methods (get_bb_var{,s}, bitbake, runCmd). The remaining command (oeqa.utils) to provide a wrapper is runqemu, this has other issue because bitbake/tinfoil are expected to run into the main thread (signal handling, etc). Signed-off-by: An?bal Lim?n --- meta/lib/oeqa/selftest/case.py | 96 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 94 insertions(+), 2 deletions(-) diff --git a/meta/lib/oeqa/selftest/case.py b/meta/lib/oeqa/selftest/case.py index a2d4bed..2eec382 100644 --- a/meta/lib/oeqa/selftest/case.py +++ b/meta/lib/oeqa/selftest/case.py @@ -6,10 +6,11 @@ import os import shutil import glob import errno +import re from unittest.util import safe_repr import oeqa.utils.ftools as ftools -from oeqa.utils.commands import runCmd, bitbake, get_bb_var +from oeqa.utils.commands import runCmd, bitbake, get_bb_env, get_bb_var, get_bb_vars from oeqa.core.case import OETestCase class OESelftestTestCase(OETestCase): @@ -201,7 +202,7 @@ to ensure accurate results.") if self._extra_tear_down_commands: failed_extra_commands = [] for command in self._extra_tear_down_commands: - result = runCmd(command, ignore_status=True) + result = self.runCmd(command, ignore_status=True) if not result.status == 0: failed_extra_commands.append(command) if failed_extra_commands: @@ -317,3 +318,94 @@ to ensure accurate results.") msg = self._formatMessage(msg, "%s exists when it should not" % safe_repr(expr)) raise self.failureException(msg) + + # utils commands to run on it's on builddir + @classmethod + def _env_own_builddir(cls, **kwargs): + env = None + + if 'env' in kwargs: + env = kwargs['env'] + + if not 'BUILDDIR' in env: + env['BUILDDIR'] = cls.builddir + if not 'BBPATH' in env: + env['BBPATH'] = cls.builddir + + else: + env = os.environ.copy() + env['BUILDDIR'] = cls.builddir + env['BBPATH'] = cls.builddir + + kwargs['env'] = env + + # XXX: tinfoil doesn't honor BBPATH bblayers and tinfoil test + # modules uses it + if not 'cwd' in kwargs: + kwargs['cwd'] = cls.builddir + + # XXX: uncomment for debugging purposes + #kwargs['output_log'] = cls.logger + + return kwargs + + @classmethod + def runCmd(cls, *args, **kwargs): + kwargs = cls._env_own_builddir(**kwargs) + return runCmd(*args, **kwargs) + + @classmethod + def bitbake(cls, *args, **kwargs): + kwargs = cls._env_own_builddir(**kwargs) + return bitbake(*args, **kwargs) + + @classmethod + def get_bb_env(cls, target=None, postconfig=None): + if target: + return cls.bitbake("-e %s" % target, postconfig=postconfig).output + else: + return cls.bitbake("-e", postconfig=postconfig).output + + @classmethod + def get_bb_vars(cls, variables=None, target=None, postconfig=None): + """Get values of multiple bitbake variables""" + bbenv = cls.get_bb_env(target, postconfig=postconfig) + + if variables is not None: + variables = variables.copy() + var_re = re.compile(r'^(export )?(?P\w+(_.*)?)="(?P.*)"$') + unset_re = re.compile(r'^unset (?P\w+)$') + lastline = None + values = {} + for line in bbenv.splitlines(): + match = var_re.match(line) + val = None + if match: + val = match.group('value') + else: + match = unset_re.match(line) + if match: + # Handle [unexport] variables + if lastline.startswith('# "'): + val = lastline.split('"')[1] + if val: + var = match.group('var') + if variables is None: + values[var] = val + else: + if var in variables: + values[var] = val + variables.remove(var) + # Stop after all required variables have been found + if not variables: + break + lastline = line + if variables: + # Fill in missing values + for var in variables: + values[var] = None + return values + + @classmethod + def get_bb_var(cls, var, target=None, postconfig=None): + return cls.get_bb_vars([var], target, postconfig)[var] -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 09:44:32 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 09:44:32 +0000 Subject: [oe-commits] [openembedded-core] 12/28: oeqa/selftest/case: Creates meta-selftest layer per class In-Reply-To: <150054386087.23220.15233943626715029805@git.openembedded.org> References: <150054386087.23220.15233943626715029805@git.openembedded.org> Message-ID: <20170720094421.946E2233619@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 0fd4c8403b9d918176e7a9898fae0e640d0810b0 Author: An?bal Lim?n AuthorDate: Fri Jun 9 13:17:57 2017 -0700 oeqa/selftest/case: Creates meta-selftest layer per class The meta-selftest layer is used by test cases to modify meta data but in a threaded environment two test cases can modify the meta data causing errors because the signatures will change. Signed-off-by: An?bal Lim?n --- meta/lib/oeqa/selftest/case.py | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/meta/lib/oeqa/selftest/case.py b/meta/lib/oeqa/selftest/case.py index 2eec382..36f0437 100644 --- a/meta/lib/oeqa/selftest/case.py +++ b/meta/lib/oeqa/selftest/case.py @@ -7,6 +7,7 @@ import shutil import glob import errno import re +import subprocess from unittest.util import safe_repr import oeqa.utils.ftools as ftools @@ -24,6 +25,8 @@ class OESelftestTestCase(OETestCase): @classmethod def _setUpBuildDir(cls): + cls.orig_testlayer_path = cls.tc.config_paths['testlayer_path'] + if cls._use_own_builddir: cls.builddir = os.path.join(cls.tc.config_paths['base_builddir'], cls.__module__, cls.__name__) @@ -35,14 +38,23 @@ class OESelftestTestCase(OETestCase): "conf/bblayers.conf") cls.local_bblayers_backup = os.path.join(cls.builddir, "conf/bblayers.conf.bk") + + cls.base_testlayer_path = os.path.join(cls.builddir, + 'layers') + cls.testlayer_path = os.path.join(cls.base_testlayer_path, + os.path.basename(cls.orig_testlayer_path)) else: cls.builddir = cls.tc.config_paths['builddir'] + cls.localconf_path = cls.tc.config_paths['localconf'] cls.localconf_backup = cls.tc.config_paths['localconf_class_backup'] cls.local_bblayers_path = cls.tc.config_paths['bblayers'] cls.local_bblayers_backup = \ cls.tc.config_paths['bblayers_class_backup'] + cls.base_testlayer_path = os.path.dirname(cls.orig_testlayer_path) + cls.testlayer_path = cls.orig_testlayer_path + cls.testinc_path = os.path.join(cls.builddir, "conf/selftest.inc") cls.testinc_bblayers_path = os.path.join(cls.builddir, "conf/bblayers.inc") @@ -79,11 +91,24 @@ class OESelftestTestCase(OETestCase): ftools.append_file(cls.localconf_path, "PARALLEL_MAKE?=\"-j %d\"" % cls.tc.loader.process_num) + # copy meta-selftest per class to avoid races when changing meta-data + # and init git repository because some tests review the repo status + os.makedirs(cls.base_testlayer_path) + shutil.copytree(cls.orig_testlayer_path, cls.testlayer_path) + cls.runCmd("git init; git add *; git commit -a -m 'initial'", + cwd=cls.testlayer_path) + + # XXX: sometimes meta-selftest isn't on bblayers at first backup + try: + cls.runCmd("bitbake-layers remove-layer %s" % cls.orig_testlayer_path) + except: + pass + cls.runCmd("bitbake-layers add-layer %s" % cls.testlayer_path) + @classmethod def setUpClass(cls): super(OESelftestTestCase, cls).setUpClass() - cls.testlayer_path = cls.tc.config_paths['testlayer_path'] cls._setUpBuildDir() cls._track_for_cleanup = [ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 09:44:35 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 09:44:35 +0000 Subject: [oe-commits] [openembedded-core] 15/28: oeqa/selftest/cases: Use testlayer_path instead of call get_test_layer() In-Reply-To: <150054386087.23220.15233943626715029805@git.openembedded.org> References: <150054386087.23220.15233943626715029805@git.openembedded.org> Message-ID: <20170720094421.A6D4C23361C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit d2d7f9c721960940387235ef4f6d61e7ae33f12d Author: An?bal Lim?n AuthorDate: Fri May 26 12:56:25 2017 -0500 oeqa/selftest/cases: Use testlayer_path instead of call get_test_layer() The testlayer_path is set at init of selftest so isn't need to call every time get_test_layer to get it. Signed-off-by: An?bal Lim?n --- meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py | 2 +- meta/lib/oeqa/selftest/cases/devtool.py | 4 ++-- meta/lib/oeqa/selftest/cases/oescripts.py | 2 +- meta/lib/oeqa/selftest/cases/sstate.py | 2 +- meta/lib/oeqa/selftest/cases/sstatetests.py | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py b/meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py index 0e58962..b42aa36 100644 --- a/meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py +++ b/meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py @@ -2,7 +2,7 @@ import os import shutil import oeqa.utils.ftools as ftools -from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_test_layer +from oeqa.utils.commands import runCmd, bitbake, get_bb_var from oeqa.selftest.cases.sstate import SStateBase diff --git a/meta/lib/oeqa/selftest/cases/devtool.py b/meta/lib/oeqa/selftest/cases/devtool.py index 88d6972..28c8467 100644 --- a/meta/lib/oeqa/selftest/cases/devtool.py +++ b/meta/lib/oeqa/selftest/cases/devtool.py @@ -8,7 +8,7 @@ import fnmatch import oeqa.utils.ftools as ftools from oeqa.selftest.case import OESelftestTestCase from oeqa.utils.commands import runCmd, bitbake, get_bb_var, create_temp_layer -from oeqa.utils.commands import get_bb_vars, runqemu, get_test_layer +from oeqa.utils.commands import get_bb_vars, runqemu from oeqa.core.decorator.oeid import OETestID class DevtoolBase(OESelftestTestCase): @@ -1530,7 +1530,7 @@ class DevtoolTests(DevtoolBase): # Ensure the recipe is where we think it should be (so that cleanup doesn't trash things) self.assertIn('/meta/', recipedir) relpth = os.path.relpath(recipedir, os.path.join(get_bb_var('COREBASE'), 'meta')) - appenddir = os.path.join(get_test_layer(), relpth) + appenddir = os.path.join(self.testlayer_path, relpth) self.track_for_cleanup(appenddir) # Try finish to the original layer self.add_command_to_tearDown('rm -rf %s ; cd %s ; git checkout %s' % (recipedir, os.path.dirname(recipedir), recipedir)) diff --git a/meta/lib/oeqa/selftest/cases/oescripts.py b/meta/lib/oeqa/selftest/cases/oescripts.py index 1ee7537..f7fe200 100644 --- a/meta/lib/oeqa/selftest/cases/oescripts.py +++ b/meta/lib/oeqa/selftest/cases/oescripts.py @@ -1,6 +1,6 @@ from oeqa.selftest.case import OESelftestTestCase from oeqa.selftest.cases.buildhistory import BuildhistoryBase -from oeqa.utils.commands import Command, runCmd, bitbake, get_bb_var, get_test_layer +from oeqa.utils.commands import Command, runCmd, bitbake, get_bb_var from oeqa.core.decorator.oeid import OETestID class BuildhistoryDiffTests(BuildhistoryBase): diff --git a/meta/lib/oeqa/selftest/cases/sstate.py b/meta/lib/oeqa/selftest/cases/sstate.py index bc2fdbd..b8c2880 100644 --- a/meta/lib/oeqa/selftest/cases/sstate.py +++ b/meta/lib/oeqa/selftest/cases/sstate.py @@ -6,7 +6,7 @@ import shutil import oeqa.utils.ftools as ftools from oeqa.selftest.case import OESelftestTestCase -from oeqa.utils.commands import runCmd, bitbake, get_bb_vars, get_test_layer +from oeqa.utils.commands import runCmd, bitbake, get_bb_vars class SStateBase(OESelftestTestCase): diff --git a/meta/lib/oeqa/selftest/cases/sstatetests.py b/meta/lib/oeqa/selftest/cases/sstatetests.py index 07a2068..4617d16 100644 --- a/meta/lib/oeqa/selftest/cases/sstatetests.py +++ b/meta/lib/oeqa/selftest/cases/sstatetests.py @@ -4,7 +4,7 @@ import glob import subprocess from oeqa.selftest.case import OESelftestTestCase -from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_test_layer +from oeqa.utils.commands import runCmd, bitbake, get_bb_var from oeqa.selftest.cases.sstate import SStateBase from oeqa.core.decorator.oeid import OETestID -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 09:44:36 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 09:44:36 +0000 Subject: [oe-commits] [openembedded-core] 16/28: oeqa/selftest/cases: Use builddir from class instead of get from environment In-Reply-To: <150054386087.23220.15233943626715029805@git.openembedded.org> References: <150054386087.23220.15233943626715029805@git.openembedded.org> Message-ID: <20170720094421.AE16323361D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit d78900a478ee559472616f2cdc33684895360d5e Author: An?bal Lim?n AuthorDate: Tue May 30 14:04:54 2017 -0500 oeqa/selftest/cases: Use builddir from class instead of get from environment Now the build directory is setup by Test class, so the builddir attr points to the actual BUILDDIR instead of get from environment. Signed-off-by: An?bal Lim?n --- meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py | 7 +++---- meta/lib/oeqa/selftest/cases/bbtests.py | 4 ++-- meta/lib/oeqa/selftest/cases/eSDK.py | 2 +- meta/lib/oeqa/selftest/cases/signing.py | 2 +- 4 files changed, 7 insertions(+), 8 deletions(-) diff --git a/meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py b/meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py index b42aa36..98b8b60 100644 --- a/meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py +++ b/meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py @@ -11,7 +11,6 @@ class RebuildFromSState(SStateBase): @classmethod def setUpClass(self): super(RebuildFromSState, self).setUpClass() - self.builddir = os.path.join(os.environ.get('BUILDDIR')) def get_dep_targets(self, primary_targets): found_targets = [] @@ -24,16 +23,16 @@ class RebuildFromSState(SStateBase): os.mkdir(builddir) self.track_for_cleanup(builddir) os.mkdir(os.path.join(builddir, 'conf')) - shutil.copyfile(os.path.join(os.environ.get('BUILDDIR'), 'conf/local.conf'), os.path.join(builddir, 'conf/local.conf')) + shutil.copyfile(self.localconf_path, os.path.join(builddir, 'conf/local.conf')) config = {} config['default_sstate_dir'] = "SSTATE_DIR ?= \"${TOPDIR}/sstate-cache\"" config['null_sstate_mirrors'] = "SSTATE_MIRRORS = \"\"" config['default_tmp_dir'] = "TMPDIR = \"${TOPDIR}/tmp\"" for key in config: ftools.append_file(os.path.join(builddir, 'conf/selftest.inc'), config[key]) - shutil.copyfile(os.path.join(os.environ.get('BUILDDIR'), 'conf/bblayers.conf'), os.path.join(builddir, 'conf/bblayers.conf')) + shutil.copyfile(self.local_bblayers_path, os.path.join(builddir, 'conf/bblayers.conf')) try: - shutil.copyfile(os.path.join(os.environ.get('BUILDDIR'), 'conf/auto.conf'), os.path.join(builddir, 'conf/auto.conf')) + shutil.copyfile(self.autoconf_path, os.path.join(builddir, 'conf/auto.conf')) except: pass diff --git a/meta/lib/oeqa/selftest/cases/bbtests.py b/meta/lib/oeqa/selftest/cases/bbtests.py index 4c82049..df11a6b 100644 --- a/meta/lib/oeqa/selftest/cases/bbtests.py +++ b/meta/lib/oeqa/selftest/cases/bbtests.py @@ -22,8 +22,8 @@ class BitbakeTests(OESelftestTestCase): @OETestID(790) def test_run_bitbake_from_dir_2(self): my_env = os.environ.copy() - my_env['BBPATH'] = my_env['BUILDDIR'] - os.chdir(os.path.dirname(os.environ['BUILDDIR'])) + my_env['BBPATH'] = self.builddir + os.chdir(os.path.dirname(self.builddir)) self.assertEqual(bitbake('-e', env=my_env).status, 0, msg = "bitbake couldn't run from builddir") @OETestID(806) diff --git a/meta/lib/oeqa/selftest/cases/eSDK.py b/meta/lib/oeqa/selftest/cases/eSDK.py index d03188f..0a81a0d 100644 --- a/meta/lib/oeqa/selftest/cases/eSDK.py +++ b/meta/lib/oeqa/selftest/cases/eSDK.py @@ -49,7 +49,7 @@ class oeSDKExtSelfTest(OESelftestTestCase): @staticmethod def update_configuration(cls, image, tmpdir_eSDKQA, env_eSDK, ext_sdk_path): - sstate_dir = os.path.join(os.environ['BUILDDIR'], 'sstate-cache') + sstate_dir = os.path.join(cls.builddir, 'sstate-cache') oeSDKExtSelfTest.generate_eSDK(cls.image) diff --git a/meta/lib/oeqa/selftest/cases/signing.py b/meta/lib/oeqa/selftest/cases/signing.py index edb5f65..6ef8d8e 100644 --- a/meta/lib/oeqa/selftest/cases/signing.py +++ b/meta/lib/oeqa/selftest/cases/signing.py @@ -105,7 +105,7 @@ class Signing(OESelftestTestCase): test_recipe = 'ed' - builddir = os.environ.get('BUILDDIR') + builddir = self.builddir sstatedir = os.path.join(builddir, 'test-sstate') self.add_command_to_tearDown('bitbake -c clean %s' % test_recipe) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 09:44:38 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 09:44:38 +0000 Subject: [oe-commits] [openembedded-core] 18/28: oeqa/selftest/cases: imagefeatures enable threaded runs In-Reply-To: <150054386087.23220.15233943626715029805@git.openembedded.org> References: <150054386087.23220.15233943626715029805@git.openembedded.org> Message-ID: <20170720094421.C1AA323361F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 4dce9cc54957d31852815875beccfe0d49ba02e7 Author: An?bal Lim?n AuthorDate: Tue Jun 13 15:20:10 2017 -0500 oeqa/selftest/cases: imagefeatures enable threaded runs - Change to use wrapper methos from OESelfTestCase. - Move tests that use runqemu to its own module because it needs tinfoil and run in the main thread. Signed-off-by: An?bal Lim?n --- meta/lib/oeqa/selftest/cases/imagefeatures.py | 86 ++++------------------ meta/lib/oeqa/selftest/cases/imagefeatures_boot.py | 63 ++++++++++++++++ 2 files changed, 77 insertions(+), 72 deletions(-) diff --git a/meta/lib/oeqa/selftest/cases/imagefeatures.py b/meta/lib/oeqa/selftest/cases/imagefeatures.py index 91d8e9b..31622b1 100644 --- a/meta/lib/oeqa/selftest/cases/imagefeatures.py +++ b/meta/lib/oeqa/selftest/cases/imagefeatures.py @@ -1,69 +1,11 @@ +import os + from oeqa.selftest.case import OESelftestTestCase -from oeqa.utils.commands import runCmd, bitbake, get_bb_var, runqemu from oeqa.core.decorator.oeid import OETestID -from oeqa.utils.sshcontrol import SSHControl -import os class ImageFeatures(OESelftestTestCase): - - test_user = 'tester' - root_user = 'root' - - @OETestID(1107) - def test_non_root_user_can_connect_via_ssh_without_password(self): - """ - Summary: Check if non root user can connect via ssh without password - Expected: 1. Connection to the image via ssh using root user without providing a password should be allowed. - 2. Connection to the image via ssh using tester user without providing a password should be allowed. - Product: oe-core - Author: Ionut Chisanovici - AutomatedBy: Daniel Istrate - """ - - features = 'EXTRA_IMAGE_FEATURES = "ssh-server-openssh empty-root-password allow-empty-password"\n' - features += 'INHERIT += "extrausers"\n' - features += 'EXTRA_USERS_PARAMS = "useradd -p \'\' {}; usermod -s /bin/sh {};"'.format(self.test_user, self.test_user) - self.write_config(features) - - # Build a core-image-minimal - bitbake('core-image-minimal') - - with runqemu("core-image-minimal") as qemu: - # Attempt to ssh with each user into qemu with empty password - for user in [self.root_user, self.test_user]: - ssh = SSHControl(ip=qemu.ip, logfile=qemu.sshlog, user=user) - status, output = ssh.run("true") - self.assertEqual(status, 0, 'ssh to user %s failed with %s' % (user, output)) - - @OETestID(1115) - def test_all_users_can_connect_via_ssh_without_password(self): - """ - Summary: Check if all users can connect via ssh without password - Expected: 1. Connection to the image via ssh using root user without providing a password should NOT be allowed. - 2. Connection to the image via ssh using tester user without providing a password should be allowed. - Product: oe-core - Author: Ionut Chisanovici - AutomatedBy: Daniel Istrate - """ - - features = 'EXTRA_IMAGE_FEATURES = "ssh-server-openssh allow-empty-password"\n' - features += 'INHERIT += "extrausers"\n' - features += 'EXTRA_USERS_PARAMS = "useradd -p \'\' {}; usermod -s /bin/sh {};"'.format(self.test_user, self.test_user) - self.write_config(features) - - # Build a core-image-minimal - bitbake('core-image-minimal') - - with runqemu("core-image-minimal") as qemu: - # Attempt to ssh with each user into qemu with empty password - for user in [self.root_user, self.test_user]: - ssh = SSHControl(ip=qemu.ip, logfile=qemu.sshlog, user=user) - status, output = ssh.run("true") - if user == 'root': - self.assertNotEqual(status, 0, 'ssh to user root was allowed when it should not have been') - else: - self.assertEqual(status, 0, 'ssh to user tester failed with %s' % output) - + _use_own_builddir = True + _main_thread = False @OETestID(1116) def test_clutter_image_can_be_built(self): @@ -76,7 +18,7 @@ class ImageFeatures(OESelftestTestCase): """ # Build a core-image-clutter - bitbake('core-image-clutter') + self.bitbake('core-image-clutter') @OETestID(1117) def test_wayland_support_in_image(self): @@ -89,12 +31,12 @@ class ImageFeatures(OESelftestTestCase): AutomatedBy: Daniel Istrate """ - distro_features = get_bb_var('DISTRO_FEATURES') + distro_features = self.get_bb_var('DISTRO_FEATURES') if not ('opengl' in distro_features and 'wayland' in distro_features): self.skipTest('neither opengl nor wayland present on DISTRO_FEATURES so core-image-weston cannot be built') # Build a core-image-weston - bitbake('core-image-weston') + self.bitbake('core-image-weston') @OETestID(1497) def test_bmap(self): @@ -110,10 +52,10 @@ class ImageFeatures(OESelftestTestCase): self.write_config(features) image_name = 'core-image-minimal' - bitbake(image_name) + self.bitbake(image_name) - deploy_dir_image = get_bb_var('DEPLOY_DIR_IMAGE') - link_name = get_bb_var('IMAGE_LINK_NAME', image_name) + deploy_dir_image = self.get_bb_var('DEPLOY_DIR_IMAGE') + link_name = self.get_bb_var('IMAGE_LINK_NAME', image_name) image_path = os.path.join(deploy_dir_image, "%s.ext4" % link_name) bmap_path = "%s.bmap" % image_path @@ -134,7 +76,7 @@ class ImageFeatures(OESelftestTestCase): """ image_name = 'core-image-minimal' - img_types = [itype for itype in get_bb_var("IMAGE_TYPES", image_name).split() \ + img_types = [itype for itype in self.get_bb_var("IMAGE_TYPES", image_name).split() \ if itype not in ('container', 'elf', 'multiubi')] config = 'IMAGE_FSTYPES += "%s"\n'\ @@ -143,10 +85,10 @@ class ImageFeatures(OESelftestTestCase): self.write_config(config) - bitbake(image_name) + self.bitbake(image_name) - deploy_dir_image = get_bb_var('DEPLOY_DIR_IMAGE') - link_name = get_bb_var('IMAGE_LINK_NAME', image_name) + deploy_dir_image = self.get_bb_var('DEPLOY_DIR_IMAGE') + link_name = self.get_bb_var('IMAGE_LINK_NAME', image_name) for itype in img_types: image_path = os.path.join(deploy_dir_image, "%s.%s" % (link_name, itype)) # check if result image is in deploy directory diff --git a/meta/lib/oeqa/selftest/cases/imagefeatures_boot.py b/meta/lib/oeqa/selftest/cases/imagefeatures_boot.py new file mode 100644 index 0000000..2cdf4ad --- /dev/null +++ b/meta/lib/oeqa/selftest/cases/imagefeatures_boot.py @@ -0,0 +1,63 @@ +from oeqa.selftest.case import OESelftestTestCase +from oeqa.core.decorator.oeid import OETestID +from oeqa.utils.commands import runqemu +from oeqa.utils.sshcontrol import SSHControl + +class ImageFeaturesBoot(OESelftestTestCase): + test_user = 'tester' + root_user = 'root' + + @OETestID(1107) + def test_non_root_user_can_connect_via_ssh_without_password(self): + """ + Summary: Check if non root user can connect via ssh without password + Expected: 1. Connection to the image via ssh using root user without providing a password should be allowed. + 2. Connection to the image via ssh using tester user without providing a password should be allowed. + Product: oe-core + Author: Ionut Chisanovici + AutomatedBy: Daniel Istrate + """ + + features = 'EXTRA_IMAGE_FEATURES = "ssh-server-openssh empty-root-password allow-empty-password"\n' + features += 'INHERIT += "extrausers"\n' + features += 'EXTRA_USERS_PARAMS = "useradd -p \'\' {}; usermod -s /bin/sh {};"'.format(self.test_user, self.test_user) + self.write_config(features) + + # Build a core-image-minimal + self.bitbake('core-image-minimal') + + with runqemu("core-image-minimal") as qemu: + # Attempt to ssh with each user into qemu with empty password + for user in [self.root_user, self.test_user]: + ssh = SSHControl(ip=qemu.ip, logfile=qemu.sshlog, user=user) + status, output = ssh.run("true") + self.assertEqual(status, 0, 'ssh to user %s failed with %s' % (user, output)) + + @OETestID(1115) + def test_all_users_can_connect_via_ssh_without_password(self): + """ + Summary: Check if all users can connect via ssh without password + Expected: 1. Connection to the image via ssh using root user without providing a password should NOT be allowed. + 2. Connection to the image via ssh using tester user without providing a password should be allowed. + Product: oe-core + Author: Ionut Chisanovici + AutomatedBy: Daniel Istrate + """ + + features = 'EXTRA_IMAGE_FEATURES = "ssh-server-openssh allow-empty-password"\n' + features += 'INHERIT += "extrausers"\n' + features += 'EXTRA_USERS_PARAMS = "useradd -p \'\' {}; usermod -s /bin/sh {};"'.format(self.test_user, self.test_user) + self.write_config(features) + + # Build a core-image-minimal + self.bitbake('core-image-minimal') + + with runqemu("core-image-minimal") as qemu: + # Attempt to ssh with each user into qemu with empty password + for user in [self.root_user, self.test_user]: + ssh = SSHControl(ip=qemu.ip, logfile=qemu.sshlog, user=user) + status, output = ssh.run("true") + if user == 'root': + self.assertNotEqual(status, 0, 'ssh to user root was allowed when it should not have been') + else: + self.assertEqual(status, 0, 'ssh to user tester failed with %s' % output) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 09:44:47 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 09:44:47 +0000 Subject: [oe-commits] [openembedded-core] 27/28: argparse_oe: Add int_positive type In-Reply-To: <150054386087.23220.15233943626715029805@git.openembedded.org> References: <150054386087.23220.15233943626715029805@git.openembedded.org> Message-ID: <20170720094422.1FC50233623@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 5d105dcd99f278a8eb79bbb039b118efd9db6661 Author: An?bal Lim?n AuthorDate: Tue Jul 11 09:16:28 2017 -0700 argparse_oe: Add int_positive type Sometimes only expect positive values from cmdline so it's better to filter at parsing cmdline step instead of validate later. Signed-off-by: An?bal Lim?n --- scripts/lib/argparse_oe.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/scripts/lib/argparse_oe.py b/scripts/lib/argparse_oe.py index bf6eb17..9bdfc1c 100644 --- a/scripts/lib/argparse_oe.py +++ b/scripts/lib/argparse_oe.py @@ -167,3 +167,10 @@ class OeHelpFormatter(argparse.HelpFormatter): return '\n'.join(lines) else: return super(OeHelpFormatter, self)._format_action(action) + +def int_positive(value): + ivalue = int(value) + if ivalue <= 0: + raise argparse.ArgumentTypeError( + "%s is not a positive int value" % value) + return ivalue -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 09:44:44 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 09:44:44 +0000 Subject: [oe-commits] [openembedded-core] 24/28: oeqa/selftest/cases: Move devtool deploy test case to own module In-Reply-To: <150054386087.23220.15233943626715029805@git.openembedded.org> References: <150054386087.23220.15233943626715029805@git.openembedded.org> Message-ID: <20170720094422.041122335E4@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 1f13c7e42377a2efbae52a0bfcc4a3e3ccd6d25f Author: An?bal Lim?n AuthorDate: Tue Jun 13 14:45:41 2017 -0500 oeqa/selftest/cases: Move devtool deploy test case to own module The devtool deploy test case uses runqemu that uses tinfoil so tinfoil requires to run on the main thread. Signed-off-by: An?bal Lim?n --- meta/lib/oeqa/selftest/cases/devtool.py | 91 ++----------------------- meta/lib/oeqa/selftest/cases/devtool_deploy.py | 93 ++++++++++++++++++++++++++ 2 files changed, 97 insertions(+), 87 deletions(-) diff --git a/meta/lib/oeqa/selftest/cases/devtool.py b/meta/lib/oeqa/selftest/cases/devtool.py index c66e77a..3d8d246 100644 --- a/meta/lib/oeqa/selftest/cases/devtool.py +++ b/meta/lib/oeqa/selftest/cases/devtool.py @@ -6,7 +6,7 @@ import glob import fnmatch import oeqa.utils.ftools as ftools -from oeqa.utils.commands import create_temp_layer, runqemu +from oeqa.utils.commands import create_temp_layer from oeqa.selftest.case import OESelftestTestCase from oeqa.core.decorator.oeid import OETestID @@ -114,6 +114,9 @@ class DevtoolBase(OESelftestTestCase): class DevtoolCommon(DevtoolBase): + _use_own_builddir = True + _main_thread = False + @classmethod def setUpClass(cls): super(DevtoolCommon, cls).setUpClass() @@ -1144,92 +1147,6 @@ class DevtoolTests(DevtoolCommon): matches2 = glob.glob(stampprefix2 + '*') self.assertFalse(matches2, 'Stamp files exist for recipe %s that should have been cleaned' % testrecipe2) - @OETestID(1272) - def test_devtool_deploy_target(self): - # NOTE: Whilst this test would seemingly be better placed as a runtime test, - # unfortunately the runtime tests run under bitbake and you can't run - # devtool within bitbake (since devtool needs to run bitbake itself). - # Additionally we are testing build-time functionality as well, so - # really this has to be done as an oe-selftest test. - # - # Check preconditions - machine = self.get_bb_var('MACHINE') - if not machine.startswith('qemu'): - self.skipTest('This test only works with qemu machines') - if not os.path.exists('/etc/runqemu-nosudo'): - self.skipTest('You must set up tap devices with scripts/runqemu-gen-tapdevs before running this test') - result = self.runCmd('PATH="$PATH:/sbin:/usr/sbin" ip tuntap show', ignore_status=True) - if result.status != 0: - result = self.runCmd('PATH="$PATH:/sbin:/usr/sbin" ifconfig -a', ignore_status=True) - if result.status != 0: - self.skipTest('Failed to determine if tap devices exist with ifconfig or ip: %s' % result.output) - for line in result.output.splitlines(): - if line.startswith('tap'): - break - else: - self.skipTest('No tap devices found - you must set up tap devices with scripts/runqemu-gen-tapdevs before running this test') - self.assertTrue(not os.path.exists(self.workspacedir), 'This test cannot be run with a workspace directory under the build directory') - # Definitions - testrecipe = 'mdadm' - testfile = '/sbin/mdadm' - testimage = 'oe-selftest-image' - testcommand = '/sbin/mdadm --help' - # Build an image to run - self.bitbake("%s qemu-native qemu-helper-native" % testimage) - deploy_dir_image = self.get_bb_var('DEPLOY_DIR_IMAGE') - self.add_command_to_tearDown('bitbake -c clean %s' % testimage) - self.add_command_to_tearDown('rm -f %s/%s*' % (deploy_dir_image, testimage)) - # Clean recipe so the first deploy will fail - self.bitbake("%s -c clean" % testrecipe) - # Try devtool modify - tempdir = tempfile.mkdtemp(prefix='devtoolqa') - self.track_for_cleanup(tempdir) - self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) - self.add_command_to_tearDown('bitbake -c clean %s' % testrecipe) - result = self.runCmd('devtool modify %s -x %s' % (testrecipe, tempdir)) - # Test that deploy-target at this point fails (properly) - result = self.runCmd('devtool deploy-target -n %s root at localhost' % testrecipe, ignore_status=True) - self.assertNotEqual(result.output, 0, 'devtool deploy-target should have failed, output: %s' % result.output) - self.assertNotIn(result.output, 'Traceback', 'devtool deploy-target should have failed with a proper error not a traceback, output: %s' % result.output) - result = self.runCmd('devtool build %s' % testrecipe) - # First try a dry-run of deploy-target - result = self.runCmd('devtool deploy-target -n %s root at localhost' % testrecipe) - self.assertIn(' %s' % testfile, result.output) - # Boot the image - with runqemu(testimage) as qemu: - # Now really test deploy-target - result = self.runCmd('devtool deploy-target -c %s root@%s' % (testrecipe, qemu.ip)) - # Run a test command to see if it was installed properly - sshargs = '-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' - result = self.runCmd('ssh %s root@%s %s' % (sshargs, qemu.ip, testcommand)) - # Check if it deployed all of the files with the right ownership/perms - # First look on the host - need to do this under pseudo to get the correct ownership/perms - bb_vars = self.get_bb_vars(['D', 'FAKEROOTENV', 'FAKEROOTCMD'], testrecipe) - installdir = bb_vars['D'] - fakerootenv = bb_vars['FAKEROOTENV'] - fakerootcmd = bb_vars['FAKEROOTCMD'] - result = self.runCmd('%s %s find . -type f -exec ls -l {} \;' % (fakerootenv, fakerootcmd), cwd=installdir) - filelist1 = self._process_ls_output(result.output) - - # Now look on the target - tempdir2 = tempfile.mkdtemp(prefix='devtoolqa') - self.track_for_cleanup(tempdir2) - tmpfilelist = os.path.join(tempdir2, 'files.txt') - with open(tmpfilelist, 'w') as f: - for line in filelist1: - splitline = line.split() - f.write(splitline[-1] + '\n') - result = self.runCmd('cat %s | ssh -q %s root@%s \'xargs ls -l\'' % (tmpfilelist, sshargs, qemu.ip)) - filelist2 = self._process_ls_output(result.output) - filelist1.sort(key=lambda item: item.split()[-1]) - filelist2.sort(key=lambda item: item.split()[-1]) - self.assertEqual(filelist1, filelist2) - # Test undeploy-target - result = self.runCmd('devtool undeploy-target -c %s root@%s' % (testrecipe, qemu.ip)) - result = self.runCmd('ssh %s root@%s %s' % (sshargs, qemu.ip, testcommand), ignore_status=True) - self.assertNotEqual(result, 0, 'undeploy-target did not remove command as it should have') - @OETestID(1366) def test_devtool_build_image(self): """Test devtool build-image plugin""" diff --git a/meta/lib/oeqa/selftest/cases/devtool_deploy.py b/meta/lib/oeqa/selftest/cases/devtool_deploy.py new file mode 100644 index 0000000..3ad9f8b --- /dev/null +++ b/meta/lib/oeqa/selftest/cases/devtool_deploy.py @@ -0,0 +1,93 @@ +import os +import tempfile + +from oeqa.selftest.cases import devtool +from oeqa.core.decorator.oeid import OETestID +from oeqa.utils.commands import runqemu + +class DevtoolDeployTests(devtool.DevtoolCommon): + @OETestID(1272) + def test_devtool_deploy_target(self): + # NOTE: Whilst this test would seemingly be better placed as a runtime test, + # unfortunately the runtime tests run under bitbake and you can't run + # devtool within bitbake (since devtool needs to run bitbake itself). + # Additionally we are testing build-time functionality as well, so + # really this has to be done as an oe-selftest test. + # + # Check preconditions + machine = self.get_bb_var('MACHINE') + if not machine.startswith('qemu'): + self.skipTest('This test only works with qemu machines') + if not os.path.exists('/etc/runqemu-nosudo'): + self.skipTest('You must set up tap devices with scripts/runqemu-gen-tapdevs before running this test') + result = self.runCmd('PATH="$PATH:/sbin:/usr/sbin" ip tuntap show', ignore_status=True) + if result.status != 0: + result = self.runCmd('PATH="$PATH:/sbin:/usr/sbin" ifconfig -a', ignore_status=True) + if result.status != 0: + self.skipTest('Failed to determine if tap devices exist with ifconfig or ip: %s' % result.output) + for line in result.output.splitlines(): + if line.startswith('tap'): + break + else: + self.skipTest('No tap devices found - you must set up tap devices with scripts/runqemu-gen-tapdevs before running this test') + self.assertTrue(not os.path.exists(self.workspacedir), 'This test cannot be run with a workspace directory under the build directory') + # Definitions + testrecipe = 'mdadm' + testfile = '/sbin/mdadm' + testimage = 'oe-selftest-image' + testcommand = '/sbin/mdadm --help' + # Build an image to run + self.bitbake("%s qemu-native qemu-helper-native" % testimage) + deploy_dir_image = self.get_bb_var('DEPLOY_DIR_IMAGE') + self.add_command_to_tearDown('bitbake -c clean %s' % testimage) + self.add_command_to_tearDown('rm -f %s/%s*' % (deploy_dir_image, testimage)) + # Clean recipe so the first deploy will fail + self.bitbake("%s -c clean" % testrecipe) + # Try devtool modify + tempdir = tempfile.mkdtemp(prefix='devtoolqa') + self.track_for_cleanup(tempdir) + self.track_for_cleanup(self.workspacedir) + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) + self.add_command_to_tearDown('bitbake -c clean %s' % testrecipe) + result = self.runCmd('devtool modify %s -x %s' % (testrecipe, tempdir)) + # Test that deploy-target at this point fails (properly) + result = self.runCmd('devtool deploy-target -n %s root at localhost' % testrecipe, ignore_status=True) + self.assertNotEqual(result.output, 0, 'devtool deploy-target should have failed, output: %s' % result.output) + self.assertNotIn(result.output, 'Traceback', 'devtool deploy-target should have failed with a proper error not a traceback, output: %s' % result.output) + result = self.runCmd('devtool build %s' % testrecipe) + # First try a dry-run of deploy-target + result = self.runCmd('devtool deploy-target -n %s root at localhost' % testrecipe) + self.assertIn(' %s' % testfile, result.output) + # Boot the image + with runqemu(testimage) as qemu: + # Now really test deploy-target + result = self.runCmd('devtool deploy-target -c %s root@%s' % (testrecipe, qemu.ip)) + # Run a test command to see if it was installed properly + sshargs = '-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' + result = self.runCmd('ssh %s root@%s %s' % (sshargs, qemu.ip, testcommand)) + # Check if it deployed all of the files with the right ownership/perms + # First look on the host - need to do this under pseudo to get the correct ownership/perms + bb_vars = self.get_bb_vars(['D', 'FAKEROOTENV', 'FAKEROOTCMD'], testrecipe) + installdir = bb_vars['D'] + fakerootenv = bb_vars['FAKEROOTENV'] + fakerootcmd = bb_vars['FAKEROOTCMD'] + result = self.runCmd('%s %s find . -type f -exec ls -l {} \;' % (fakerootenv, fakerootcmd), cwd=installdir) + filelist1 = self._process_ls_output(result.output) + + # Now look on the target + tempdir2 = tempfile.mkdtemp(prefix='devtoolqa') + self.track_for_cleanup(tempdir2) + tmpfilelist = os.path.join(tempdir2, 'files.txt') + with open(tmpfilelist, 'w') as f: + for line in filelist1: + splitline = line.split() + f.write(splitline[-1] + '\n') + result = self.runCmd('cat %s | ssh -q %s root@%s \'xargs ls -l\'' % (tmpfilelist, sshargs, qemu.ip)) + filelist2 = self._process_ls_output(result.output) + filelist1.sort(key=lambda item: item.split()[-1]) + filelist2.sort(key=lambda item: item.split()[-1]) + self.assertEqual(filelist1, filelist2) + # Test undeploy-target + result = self.runCmd('devtool undeploy-target -c %s root@%s' % (testrecipe, qemu.ip)) + result = self.runCmd('ssh %s root@%s %s' % (sshargs, qemu.ip, testcommand), ignore_status=True) + self.assertNotEqual(result, 0, 'undeploy-target did not remove command as it should have') -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 09:44:39 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 09:44:39 +0000 Subject: [oe-commits] [openembedded-core] 19/28: oeqa/selftest/cases: runqemu enable threaded runs In-Reply-To: <150054386087.23220.15233943626715029805@git.openembedded.org> References: <150054386087.23220.15233943626715029805@git.openembedded.org> Message-ID: <20170720094421.C8A19233620@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 0a68eccd9de4fdc91ae723c9a3a2bda1e1c888ee Author: An?bal Lim?n AuthorDate: Tue Jun 13 15:23:45 2017 -0500 oeqa/selftest/cases: runqemu enable threaded runs - Update to use wrappers {bitbake,get_bb_var} from OESelftestTestCase class. - Run into the main thread because it needs tinfoil to run. Signed-off-by: An?bal Lim?n --- meta/lib/oeqa/selftest/cases/runqemu.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/meta/lib/oeqa/selftest/cases/runqemu.py b/meta/lib/oeqa/selftest/cases/runqemu.py index 4050a41..e30cb24 100644 --- a/meta/lib/oeqa/selftest/cases/runqemu.py +++ b/meta/lib/oeqa/selftest/cases/runqemu.py @@ -6,12 +6,11 @@ import re import logging from oeqa.selftest.case import OESelftestTestCase -from oeqa.utils.commands import bitbake, runqemu, get_bb_var +from oeqa.utils.commands import runqemu from oeqa.core.decorator.oeid import OETestID class RunqemuTests(OESelftestTestCase): """Runqemu test class""" - image_is_ready = False deploy_dir_image = '' @@ -37,8 +36,8 @@ SYSLINUX_TIMEOUT = "10" ) if not RunqemuTests.image_is_ready: - RunqemuTests.deploy_dir_image = get_bb_var('DEPLOY_DIR_IMAGE') - bitbake(self.recipe) + RunqemuTests.deploy_dir_image = self.get_bb_var('DEPLOY_DIR_IMAGE') + self.bitbake(self.recipe) RunqemuTests.image_is_ready = True @OETestID(2001) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 09:44:48 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 09:44:48 +0000 Subject: [oe-commits] [openembedded-core] 28/28: oeqa/selftest/context: Enable support for threaded runs In-Reply-To: <150054386087.23220.15233943626715029805@git.openembedded.org> References: <150054386087.23220.15233943626715029805@git.openembedded.org> Message-ID: <20170720094422.25D00233624@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit a712f7f4ce19f5fca91298c878b47a7557307a3d Author: An?bal Lim?n AuthorDate: Fri Jun 9 13:36:50 2017 -0700 oeqa/selftest/context: Enable support for threaded runs Add an option to specify how many threads will be used for execution, default to 1. Add OE_SELFTEST_THREAD_NUM environment variable for be able to set thread num into the Yocto Autobuilder and don't need to figure out the version of oe-selftest script. If the thread_num are greater than 1 the OESelftestContextThreaded will be used, this is due to compatibility reasons. Signed-off-by: An?bal Lim?n --- meta/lib/oeqa/selftest/context.py | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/meta/lib/oeqa/selftest/context.py b/meta/lib/oeqa/selftest/context.py index 697ea0b..daef882 100644 --- a/meta/lib/oeqa/selftest/context.py +++ b/meta/lib/oeqa/selftest/context.py @@ -11,11 +11,12 @@ from shutil import copyfile import tempfile from random import choice -import oeqa +from argparse_oe import int_positive -from oeqa.core.context import OETestContext, OETestContextExecutor +import oeqa +from oeqa.core.context import OETestContext, OETestContextExecutor from oeqa.core.exception import OEQAPreRun - +from oeqa.core.threaded import OETestContextThreaded from oeqa.utils.commands import runCmd, get_bb_vars, get_test_layer class OESelftestTestContext(OETestContext): @@ -38,14 +39,19 @@ class OESelftestTestContext(OETestContext): def listTests(self, display_type, machine=None): return super(OESelftestTestContext, self).listTests(display_type) +class OESelftestTestContextThreaded(OESelftestTestContext, OETestContextThreaded): + pass + class OESelftestTestContextExecutor(OETestContextExecutor): - _context_class = OESelftestTestContext + _context_class = OESelftestTestContextThreaded _script_executor = 'oe-selftest' name = 'oe-selftest' help = 'oe-selftest test component' description = 'Executes selftest tests' + DEFAULT_THREADS = 1 + def register_commands(self, logger, parser): group = parser.add_mutually_exclusive_group(required=True) @@ -66,6 +72,11 @@ class OESelftestTestContextExecutor(OETestContextExecutor): action="store_true", default=False, help='List all available tests.') + parser.add_argument('-t', '--thread-num', required=False, action='store', + dest="thread_num", default=self.DEFAULT_THREADS, type=int_positive, + help='Number of threads to use for execute selftests,'\ + ' default: %d' % self.DEFAULT_THREADS) + parser.add_argument('--machine', required=False, choices=['random', 'all'], help='Run tests on different machines (random/all).') @@ -137,6 +148,11 @@ class OESelftestTestContextExecutor(OETestContextExecutor): self.tc_kwargs['init']['config_paths']['base_builddir'] = \ tempfile.mkdtemp(prefix='build-selftest-', dir=builddir) + self.tc_kwargs['load']['process_num'] = args.thread_num + if 'OE_SELFTEST_THREAD_NUM' in os.environ: + self.tc_kwargs['load']['process_num'] = \ + int(os.environ['OE_SELFTEST_THREAD_NUM']) + def _pre_run(self): def _check_required_env_variables(vars): for var in vars: @@ -199,6 +215,11 @@ class OESelftestTestContextExecutor(OETestContextExecutor): self.module_paths = self._get_cases_paths( self.tc_kwargs['init']['td']['BBPATH'].split(':')) + if self.tc_kwargs['load']['process_num'] == 1: + self._context_class = OESelftestTestContext + # OESelftestTestContext class doesn't expect process_num + del self.tc_kwargs['load']['process_num'] + self.tc = self._context_class(**self.tc_kwargs['init']) self.tc.loadTests(self.module_paths, **self.tc_kwargs['load']) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 09:44:40 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 09:44:40 +0000 Subject: [oe-commits] [openembedded-core] 20/28: oeqa/selftest/cases: runtime enable threaded runs In-Reply-To: <150054386087.23220.15233943626715029805@git.openembedded.org> References: <150054386087.23220.15233943626715029805@git.openembedded.org> Message-ID: <20170720094421.D042F233621@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit bc5c54d9c2ef8d05035d00188a8ca1dd517e4ec9 Author: An?bal Lim?n AuthorDate: Tue Jun 13 15:36:46 2017 -0500 oeqa/selftest/cases: runtime enable threaded runs - Use wrappers from OESelfTestCase for runCmd, bitbake, etc. - Split into tree modules because runtime_test_export and runtime_test_postinsts uses runqemu/tinfoil and needs to be executed into the main thread. Signed-off-by: An?bal Lim?n --- meta/lib/oeqa/selftest/cases/runtime_test.py | 225 +-------------------- .../lib/oeqa/selftest/cases/runtime_test_export.py | 104 ++++++++++ .../oeqa/selftest/cases/runtime_test_postinsts.py | 114 +++++++++++ 3 files changed, 226 insertions(+), 217 deletions(-) diff --git a/meta/lib/oeqa/selftest/cases/runtime_test.py b/meta/lib/oeqa/selftest/cases/runtime_test.py index 2a70ae1..e45410e 100644 --- a/meta/lib/oeqa/selftest/cases/runtime_test.py +++ b/meta/lib/oeqa/selftest/cases/runtime_test.py @@ -1,110 +1,9 @@ from oeqa.selftest.case import OESelftestTestCase -from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars, runqemu from oeqa.core.decorator.oeid import OETestID -import os -import re - -class TestExport(OESelftestTestCase): - - @classmethod - def tearDownClass(cls): - runCmd("rm -rf /tmp/sdk") - super(TestExport, cls).tearDownClass() - - @OETestID(1499) - def test_testexport_basic(self): - """ - Summary: Check basic testexport functionality with only ping test enabled. - Expected: 1. testexport directory must be created. - 2. runexported.py must run without any error/exception. - 3. ping test must succeed. - Product: oe-core - Author: Mariano Lopez - """ - - features = 'INHERIT += "testexport"\n' - # These aren't the actual IP addresses but testexport class needs something defined - features += 'TEST_SERVER_IP = "192.168.7.1"\n' - features += 'TEST_TARGET_IP = "192.168.7.1"\n' - features += 'TEST_SUITES = "ping"\n' - self.write_config(features) - - # Build tesexport for core-image-minimal - bitbake('core-image-minimal') - bitbake('-c testexport core-image-minimal') - - testexport_dir = get_bb_var('TEST_EXPORT_DIR', 'core-image-minimal') - - # Verify if TEST_EXPORT_DIR was created - isdir = os.path.isdir(testexport_dir) - self.assertEqual(True, isdir, 'Failed to create testexport dir: %s' % testexport_dir) - - with runqemu('core-image-minimal') as qemu: - # Attempt to run runexported.py to perform ping test - test_path = os.path.join(testexport_dir, "oe-test") - data_file = os.path.join(testexport_dir, 'data', 'testdata.json') - manifest = os.path.join(testexport_dir, 'data', 'manifest') - cmd = ("%s runtime --test-data-file %s --packages-manifest %s " - "--target-ip %s --server-ip %s --quiet" - % (test_path, data_file, manifest, qemu.ip, qemu.server_ip)) - result = runCmd(cmd) - # Verify ping test was succesful - self.assertEqual(0, result.status, 'oe-test runtime returned a non 0 status') - - @OETestID(1641) - def test_testexport_sdk(self): - """ - Summary: Check sdk functionality for testexport. - Expected: 1. testexport directory must be created. - 2. SDK tarball must exists. - 3. Uncompressing of tarball must succeed. - 4. Check if the SDK directory is added to PATH. - 5. Run tar from the SDK directory. - Product: oe-core - Author: Mariano Lopez - """ - - features = 'INHERIT += "testexport"\n' - # These aren't the actual IP addresses but testexport class needs something defined - features += 'TEST_SERVER_IP = "192.168.7.1"\n' - features += 'TEST_TARGET_IP = "192.168.7.1"\n' - features += 'TEST_SUITES = "ping"\n' - features += 'TEST_EXPORT_SDK_ENABLED = "1"\n' - features += 'TEST_EXPORT_SDK_PACKAGES = "nativesdk-tar"\n' - self.write_config(features) - - # Build tesexport for core-image-minimal - bitbake('core-image-minimal') - bitbake('-c testexport core-image-minimal') - - needed_vars = ['TEST_EXPORT_DIR', 'TEST_EXPORT_SDK_DIR', 'TEST_EXPORT_SDK_NAME'] - bb_vars = get_bb_vars(needed_vars, 'core-image-minimal') - testexport_dir = bb_vars['TEST_EXPORT_DIR'] - sdk_dir = bb_vars['TEST_EXPORT_SDK_DIR'] - sdk_name = bb_vars['TEST_EXPORT_SDK_NAME'] - - # Check for SDK - tarball_name = "%s.sh" % sdk_name - tarball_path = os.path.join(testexport_dir, sdk_dir, tarball_name) - msg = "Couldn't find SDK tarball: %s" % tarball_path - self.assertEqual(os.path.isfile(tarball_path), True, msg) - - # Extract SDK and run tar from SDK - result = runCmd("%s -y -d /tmp/sdk" % tarball_path) - self.assertEqual(0, result.status, "Couldn't extract SDK") - - env_script = result.output.split()[-1] - result = runCmd(". %s; which tar" % env_script, shell=True) - self.assertEqual(0, result.status, "Couldn't setup SDK environment") - is_sdk_tar = True if "/tmp/sdk" in result.output else False - self.assertTrue(is_sdk_tar, "Couldn't setup SDK environment") - - tar_sdk = result.output - result = runCmd("%s --version" % tar_sdk) - self.assertEqual(0, result.status, "Couldn't run tar from SDK") - class TestImage(OESelftestTestCase): + _use_own_builddir = True + _main_thread = False @OETestID(1644) def test_testimage_install(self): @@ -115,7 +14,7 @@ class TestImage(OESelftestTestCase): Product: oe-core Author: Mariano Lopez """ - if get_bb_var('DISTRO') == 'poky-tiny': + if self.get_bb_var('DISTRO') == 'poky-tiny': self.skipTest('core-image-full-cmdline not buildable for poky-tiny') features = 'INHERIT += "testimage"\n' @@ -123,8 +22,8 @@ class TestImage(OESelftestTestCase): self.write_config(features) # Build core-image-sato and testimage - bitbake('core-image-full-cmdline socat') - bitbake('-c testimage core-image-full-cmdline') + self.bitbake('core-image-full-cmdline socat') + self.bitbake('-c testimage core-image-full-cmdline') @OETestID(1883) def test_testimage_dnf(self): @@ -134,7 +33,7 @@ class TestImage(OESelftestTestCase): Product: oe-core Author: Alexander Kanavin """ - if get_bb_var('DISTRO') == 'poky-tiny': + if self.get_bb_var('DISTRO') == 'poky-tiny': self.skipTest('core-image-full-cmdline not buildable for poky-tiny') features = 'INHERIT += "testimage"\n' @@ -147,113 +46,5 @@ class TestImage(OESelftestTestCase): self.write_config(features) # Build core-image-sato and testimage - bitbake('core-image-full-cmdline socat') - bitbake('-c testimage core-image-full-cmdline') - -class Postinst(OESelftestTestCase): - @OETestID(1540) - def test_verify_postinst(self): - """ - Summary: The purpose of this test is to verify the execution order of postinst Bugzilla ID: [5319] - Expected : - 1. Compile a minimal image. - 2. The compiled image will add the created layer with the recipes postinst[ abdpt] - 3. Run qemux86 - 4. Validate the task execution order - Author: Francisco Pedraza - """ - features = 'INHERIT += "testimage"\n' - features += 'CORE_IMAGE_EXTRA_INSTALL += "postinst-at-rootfs \ -postinst-delayed-a \ -postinst-delayed-b \ -postinst-delayed-d \ -postinst-delayed-p \ -postinst-delayed-t \ -"\n' - self.write_config(features) - - bitbake('core-image-minimal -f ') - - postinst_list = ['100-postinst-at-rootfs', - '101-postinst-delayed-a', - '102-postinst-delayed-b', - '103-postinst-delayed-d', - '104-postinst-delayed-p', - '105-postinst-delayed-t'] - path_workdir = get_bb_var('WORKDIR','core-image-minimal') - workspacedir = 'testimage/qemu_boot_log' - workspacedir = os.path.join(path_workdir, workspacedir) - rexp = re.compile("^Running postinst .*/(?P.*)\.\.\.$") - with runqemu('core-image-minimal') as qemu: - with open(workspacedir) as f: - found = False - idx = 0 - for line in f.readlines(): - line = line.strip().replace("^M","") - if not line: # To avoid empty lines - continue - m = rexp.search(line) - if m: - self.assertEqual(postinst_list[idx], m.group('postinst'), "Fail") - idx = idx+1 - found = True - elif found: - self.assertEqual(idx, len(postinst_list), "Not found all postinsts") - break - - @OETestID(1545) - def test_postinst_rootfs_and_boot(self): - """ - Summary: The purpose of this test case is to verify Post-installation - scripts are called when rootfs is created and also test - that script can be delayed to run at first boot. - Dependencies: NA - Steps: 1. Add proper configuration to local.conf file - 2. Build a "core-image-minimal" image - 3. Verify that file created by postinst_rootfs recipe is - present on rootfs dir. - 4. Boot the image created on qemu and verify that the file - created by postinst_boot recipe is present on image. - Expected: The files are successfully created during rootfs and boot - time for 3 different package managers: rpm,ipk,deb and - for initialization managers: sysvinit and systemd. - - """ - file_rootfs_name = "this-was-created-at-rootfstime" - fileboot_name = "this-was-created-at-first-boot" - rootfs_pkg = 'postinst-at-rootfs' - boot_pkg = 'postinst-delayed-a' - #Step 1 - common_features = 'MACHINE = "qemux86"\n' - common_features += 'CORE_IMAGE_EXTRA_INSTALL += "%s %s "\n'% (rootfs_pkg, boot_pkg) - common_features += 'IMAGE_FEATURES += "ssh-server-openssh"\n' - for init_manager in ("sysvinit", "systemd"): - #for sysvinit no extra configuration is needed, - features = '' - if (init_manager is "systemd"): - features += 'DISTRO_FEATURES_append = " systemd"\n' - features += 'VIRTUAL-RUNTIME_init_manager = "systemd"\n' - features += 'DISTRO_FEATURES_BACKFILL_CONSIDERED = "sysvinit"\n' - features += 'VIRTUAL-RUNTIME_initscripts = ""\n' - for classes in ("package_rpm package_deb package_ipk", - "package_deb package_rpm package_ipk", - "package_ipk package_deb package_rpm"): - features += 'PACKAGE_CLASSES = "%s"\n' % classes - self.write_config(common_features + features) - - #Step 2 - bitbake('core-image-minimal') - - #Step 3 - file_rootfs_created = os.path.join(get_bb_var('IMAGE_ROOTFS',"core-image-minimal"), - file_rootfs_name) - found = os.path.isfile(file_rootfs_created) - self.assertTrue(found, "File %s was not created at rootfs time by %s" % \ - (file_rootfs_name, rootfs_pkg)) - - #Step 4 - testcommand = 'ls /etc/'+fileboot_name - with runqemu('core-image-minimal') as qemu: - sshargs = '-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' - result = runCmd('ssh %s root@%s %s' % (sshargs, qemu.ip, testcommand)) - self.assertEqual(result.status, 0, 'File %s was not created at firts boot'% fileboot_name) + self.bitbake('core-image-full-cmdline socat') + self.bitbake('-c testimage core-image-full-cmdline') diff --git a/meta/lib/oeqa/selftest/cases/runtime_test_export.py b/meta/lib/oeqa/selftest/cases/runtime_test_export.py new file mode 100644 index 0000000..8182f18 --- /dev/null +++ b/meta/lib/oeqa/selftest/cases/runtime_test_export.py @@ -0,0 +1,104 @@ +import os + +from oeqa.selftest.case import OESelftestTestCase +from oeqa.utils.commands import runqemu +from oeqa.core.decorator.oeid import OETestID + +class TestExport(OESelftestTestCase): + @classmethod + def tearDownClass(cls): + cls.runCmd("rm -rf /tmp/sdk") + super(TestExport, cls).tearDownClass() + + @OETestID(1499) + def test_testexport_basic(self): + """ + Summary: Check basic testexport functionality with only ping test enabled. + Expected: 1. testexport directory must be created. + 2. runexported.py must run without any error/exception. + 3. ping test must succeed. + Product: oe-core + Author: Mariano Lopez + """ + + features = 'INHERIT += "testexport"\n' + # These aren't the actual IP addresses but testexport class needs something defined + features += 'TEST_SERVER_IP = "192.168.7.1"\n' + features += 'TEST_TARGET_IP = "192.168.7.1"\n' + features += 'TEST_SUITES = "ping"\n' + self.write_config(features) + + # Build tesexport for core-image-minimal + self.bitbake('core-image-minimal') + self.bitbake('-c testexport core-image-minimal') + + testexport_dir = self.get_bb_var('TEST_EXPORT_DIR', 'core-image-minimal') + + # Verify if TEST_EXPORT_DIR was created + isdir = os.path.isdir(testexport_dir) + self.assertEqual(True, isdir, 'Failed to create testexport dir: %s' % testexport_dir) + + with runqemu('core-image-minimal') as qemu: + # Attempt to run runexported.py to perform ping test + test_path = os.path.join(testexport_dir, "oe-test") + data_file = os.path.join(testexport_dir, 'data', 'testdata.json') + manifest = os.path.join(testexport_dir, 'data', 'manifest') + cmd = ("%s runtime --test-data-file %s --packages-manifest %s " + "--target-ip %s --server-ip %s --quiet" + % (test_path, data_file, manifest, qemu.ip, qemu.server_ip)) + result = self.runCmd(cmd) + # Verify ping test was succesful + self.assertEqual(0, result.status, 'oe-test runtime returned a non 0 status') + + @OETestID(1641) + def test_testexport_sdk(self): + """ + Summary: Check sdk functionality for testexport. + Expected: 1. testexport directory must be created. + 2. SDK tarball must exists. + 3. Uncompressing of tarball must succeed. + 4. Check if the SDK directory is added to PATH. + 5. Run tar from the SDK directory. + Product: oe-core + Author: Mariano Lopez + """ + + features = 'INHERIT += "testexport"\n' + # These aren't the actual IP addresses but testexport class needs something defined + features += 'TEST_SERVER_IP = "192.168.7.1"\n' + features += 'TEST_TARGET_IP = "192.168.7.1"\n' + features += 'TEST_SUITES = "ping"\n' + features += 'TEST_EXPORT_SDK_ENABLED = "1"\n' + features += 'TEST_EXPORT_SDK_PACKAGES = "nativesdk-tar"\n' + self.write_config(features) + + # Build tesexport for core-image-minimal + self.bitbake('core-image-minimal') + self.bitbake('-c testexport core-image-minimal') + + needed_vars = ['TEST_EXPORT_DIR', 'TEST_EXPORT_SDK_DIR', 'TEST_EXPORT_SDK_NAME'] + bb_vars = self.get_bb_vars(needed_vars, 'core-image-minimal') + testexport_dir = bb_vars['TEST_EXPORT_DIR'] + sdk_dir = bb_vars['TEST_EXPORT_SDK_DIR'] + sdk_name = bb_vars['TEST_EXPORT_SDK_NAME'] + + # Check for SDK + tarball_name = "%s.sh" % sdk_name + tarball_path = os.path.join(testexport_dir, sdk_dir, tarball_name) + msg = "Couldn't find SDK tarball: %s" % tarball_path + self.assertEqual(os.path.isfile(tarball_path), True, msg) + + # Extract SDK and run tar from SDK + result = self.runCmd("%s -y -d /tmp/sdk" % tarball_path) + self.assertEqual(0, result.status, "Couldn't extract SDK") + + env_script = result.output.split()[-1] + result = self.runCmd(". %s; which tar" % env_script, shell=True) + self.assertEqual(0, result.status, "Couldn't setup SDK environment") + is_sdk_tar = True if "/tmp/sdk" in result.output else False + self.assertTrue(is_sdk_tar, "Couldn't setup SDK environment") + + tar_sdk = result.output + result = self.runCmd("%s --version" % tar_sdk) + self.assertEqual(0, result.status, "Couldn't run tar from SDK") + diff --git a/meta/lib/oeqa/selftest/cases/runtime_test_postinsts.py b/meta/lib/oeqa/selftest/cases/runtime_test_postinsts.py new file mode 100644 index 0000000..b8e6b9c --- /dev/null +++ b/meta/lib/oeqa/selftest/cases/runtime_test_postinsts.py @@ -0,0 +1,114 @@ +import os +import re + +from oeqa.selftest.case import OESelftestTestCase +from oeqa.core.decorator.oeid import OETestID +from oeqa.utils.commands import runqemu + +class Postinst(OESelftestTestCase): + @OETestID(1540) + def test_verify_postinst(self): + """ + Summary: The purpose of this test is to verify the execution order of postinst Bugzilla ID: [5319] + Expected : + 1. Compile a minimal image. + 2. The compiled image will add the created layer with the recipes postinst[ abdpt] + 3. Run qemux86 + 4. Validate the task execution order + Author: Francisco Pedraza + """ + features = 'INHERIT += "testimage"\n' + features += 'CORE_IMAGE_EXTRA_INSTALL += "postinst-at-rootfs \ +postinst-delayed-a \ +postinst-delayed-b \ +postinst-delayed-d \ +postinst-delayed-p \ +postinst-delayed-t \ +"\n' + self.write_config(features) + + self.bitbake('core-image-minimal -f ') + + postinst_list = ['100-postinst-at-rootfs', + '101-postinst-delayed-a', + '102-postinst-delayed-b', + '103-postinst-delayed-d', + '104-postinst-delayed-p', + '105-postinst-delayed-t'] + path_workdir = self.get_bb_var('WORKDIR','core-image-minimal') + workspacedir = 'testimage/qemu_boot_log' + workspacedir = os.path.join(path_workdir, workspacedir) + rexp = re.compile("^Running postinst .*/(?P.*)\.\.\.$") + with runqemu('core-image-minimal') as qemu: + with open(workspacedir) as f: + found = False + idx = 0 + for line in f.readlines(): + line = line.strip().replace("^M","") + if not line: # To avoid empty lines + continue + m = rexp.search(line) + if m: + self.assertEqual(postinst_list[idx], m.group('postinst'), "Fail") + idx = idx+1 + found = True + elif found: + self.assertEqual(idx, len(postinst_list), "Not found all postinsts") + break + + @OETestID(1545) + def test_postinst_rootfs_and_boot(self): + """ + Summary: The purpose of this test case is to verify Post-installation + scripts are called when rootfs is created and also test + that script can be delayed to run at first boot. + Dependencies: NA + Steps: 1. Add proper configuration to local.conf file + 2. Build a "core-image-minimal" image + 3. Verify that file created by postinst_rootfs recipe is + present on rootfs dir. + 4. Boot the image created on qemu and verify that the file + created by postinst_boot recipe is present on image. + Expected: The files are successfully created during rootfs and boot + time for 3 different package managers: rpm,ipk,deb and + for initialization managers: sysvinit and systemd. + + """ + file_rootfs_name = "this-was-created-at-rootfstime" + fileboot_name = "this-was-created-at-first-boot" + rootfs_pkg = 'postinst-at-rootfs' + boot_pkg = 'postinst-delayed-a' + #Step 1 + common_features = 'MACHINE = "qemux86"\n' + common_features += 'CORE_IMAGE_EXTRA_INSTALL += "%s %s "\n'% (rootfs_pkg, boot_pkg) + common_features += 'IMAGE_FEATURES += "ssh-server-openssh"\n' + for init_manager in ("sysvinit", "systemd"): + #for sysvinit no extra configuration is needed, + features = '' + if (init_manager is "systemd"): + features += 'DISTRO_FEATURES_append = " systemd"\n' + features += 'VIRTUAL-RUNTIME_init_manager = "systemd"\n' + features += 'DISTRO_FEATURES_BACKFILL_CONSIDERED = "sysvinit"\n' + features += 'VIRTUAL-RUNTIME_initscripts = ""\n' + for classes in ("package_rpm package_deb package_ipk", + "package_deb package_rpm package_ipk", + "package_ipk package_deb package_rpm"): + features += 'PACKAGE_CLASSES = "%s"\n' % classes + self.write_config(common_features + features) + + #Step 2 + self.bitbake('core-image-minimal') + + #Step 3 + file_rootfs_created = os.path.join(self.get_bb_var('IMAGE_ROOTFS',"core-image-minimal"), + file_rootfs_name) + found = os.path.isfile(file_rootfs_created) + self.assertTrue(found, "File %s was not created at rootfs time by %s" % \ + (file_rootfs_name, rootfs_pkg)) + + #Step 4 + testcommand = 'ls /etc/'+fileboot_name + with runqemu('core-image-minimal') as qemu: + sshargs = '-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' + result = self.runCmd('ssh %s root@%s %s' % (sshargs, qemu.ip, testcommand)) + self.assertEqual(result.status, 0, 'File %s was not created at firts boot'% fileboot_name) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 09:44:37 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 09:44:37 +0000 Subject: [oe-commits] [openembedded-core] 17/28: oeqa/selftest/cases: Use wrapper methods from OESelfTestCase class and enable threaded runs In-Reply-To: <150054386087.23220.15233943626715029805@git.openembedded.org> References: <150054386087.23220.15233943626715029805@git.openembedded.org> Message-ID: <20170720094421.BB69123361E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 67fc4a9440c297e39226433648e880515c4517d4 Author: An?bal Lim?n AuthorDate: Tue May 30 15:11:03 2017 -0500 oeqa/selftest/cases: Use wrapper methods from OESelfTestCase class and enable threaded runs In order to support threaded runs in oe-selftest cases, there is a need to use wrapper methods that takes into account the current builddir by Test class. Signed-off-by: An?bal Lim?n --- .../lib/oeqa/selftest/cases/_sstatetests_noauto.py | 16 ++-- meta/lib/oeqa/selftest/cases/archiver.py | 21 +++-- meta/lib/oeqa/selftest/cases/bblayers.py | 45 ++++----- meta/lib/oeqa/selftest/cases/bbtests.py | 101 +++++++++++---------- meta/lib/oeqa/selftest/cases/buildhistory.py | 9 +- meta/lib/oeqa/selftest/cases/buildoptions.py | 58 +++++++----- meta/lib/oeqa/selftest/cases/containerimage.py | 9 +- meta/lib/oeqa/selftest/cases/distrodata.py | 7 +- meta/lib/oeqa/selftest/cases/image_typedep.py | 8 +- meta/lib/oeqa/selftest/cases/layerappend.py | 22 ++--- meta/lib/oeqa/selftest/cases/liboe.py | 13 +-- meta/lib/oeqa/selftest/cases/lic_checksum.py | 8 +- meta/lib/oeqa/selftest/cases/manifest.py | 13 +-- meta/lib/oeqa/selftest/cases/oelib/buildhistory.py | 7 +- meta/lib/oeqa/selftest/cases/oescripts.py | 5 +- meta/lib/oeqa/selftest/cases/package.py | 10 +- meta/lib/oeqa/selftest/cases/pkgdata.py | 73 +++++++-------- meta/lib/oeqa/selftest/cases/prservice.py | 19 ++-- meta/lib/oeqa/selftest/cases/selftest.py | 2 + meta/lib/oeqa/selftest/cases/signing.py | 40 ++++---- meta/lib/oeqa/selftest/cases/sstate.py | 5 +- meta/lib/oeqa/selftest/cases/sstatetests.py | 51 ++++++----- 22 files changed, 284 insertions(+), 258 deletions(-) diff --git a/meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py b/meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py index 98b8b60..08e71f3 100644 --- a/meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py +++ b/meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py @@ -2,19 +2,15 @@ import os import shutil import oeqa.utils.ftools as ftools -from oeqa.utils.commands import runCmd, bitbake, get_bb_var from oeqa.selftest.cases.sstate import SStateBase - class RebuildFromSState(SStateBase): - - @classmethod - def setUpClass(self): - super(RebuildFromSState, self).setUpClass() + _use_own_builddir = True + _main_thread = False def get_dep_targets(self, primary_targets): found_targets = [] - bitbake("-g " + ' '.join(map(str, primary_targets))) + self.bitbake("-g " + ' '.join(map(str, primary_targets))) with open(os.path.join(self.builddir, 'pn-buildlist'), 'r') as pnfile: found_targets = pnfile.read().splitlines() return found_targets @@ -59,7 +55,7 @@ class RebuildFromSState(SStateBase): rebuild_targets = primary_targets self.configure_builddir(buildA) - runCmd((". %s/oe-init-build-env %s && " % (get_bb_var('COREBASE'), buildA)) + 'bitbake ' + ' '.join(map(str, primary_targets)), shell=True, executable='/bin/bash') + self.runCmd((". %s/oe-init-build-env %s && " % (self.get_bb_var('COREBASE'), buildA)) + 'bitbake ' + ' '.join(map(str, primary_targets)), shell=True, executable='/bin/bash') self.hardlink_tree(os.path.join(buildA, 'sstate-cache'), os.path.join(self.builddir, 'sstate-cache-buildA')) shutil.rmtree(buildA) @@ -69,13 +65,13 @@ class RebuildFromSState(SStateBase): self.configure_builddir(buildB) self.hardlink_tree(os.path.join(self.builddir, 'sstate-cache-buildA'), os.path.join(buildB, 'sstate-cache')) - result_cleansstate = runCmd((". %s/oe-init-build-env %s && " % (get_bb_var('COREBASE'), buildB)) + 'bitbake -ccleansstate ' + target, ignore_status=True, shell=True, executable='/bin/bash') + result_cleansstate = self.runCmd((". %s/oe-init-build-env %s && " % (self.get_bb_var('COREBASE'), buildB)) + 'bitbake -ccleansstate ' + target, ignore_status=True, shell=True, executable='/bin/bash') if not result_cleansstate.status == 0: failed_cleansstate.append(target) shutil.rmtree(buildB) continue - result_build = runCmd((". %s/oe-init-build-env %s && " % (get_bb_var('COREBASE'), buildB)) + 'bitbake ' + target, ignore_status=True, shell=True, executable='/bin/bash') + result_build = self.runCmd((". %s/oe-init-build-env %s && " % (self.get_bb_var('COREBASE'), buildB)) + 'bitbake ' + target, ignore_status=True, shell=True, executable='/bin/bash') if not result_build.status == 0: failed_rebuild.append(target) diff --git a/meta/lib/oeqa/selftest/cases/archiver.py b/meta/lib/oeqa/selftest/cases/archiver.py index 72026d5..347d0a8 100644 --- a/meta/lib/oeqa/selftest/cases/archiver.py +++ b/meta/lib/oeqa/selftest/cases/archiver.py @@ -1,10 +1,11 @@ import os import glob -from oeqa.utils.commands import bitbake, get_bb_vars from oeqa.selftest.case import OESelftestTestCase from oeqa.core.decorator.oeid import OETestID class Archiver(OESelftestTestCase): + _use_own_builddir = True + _main_thread = False @OETestID(1345) def test_archiver_allows_to_filter_on_recipe_name(self): @@ -26,10 +27,10 @@ class Archiver(OESelftestTestCase): features += 'COPYLEFT_PN_EXCLUDE = "%s"\n' % exclude_recipe self.write_config(features) - bitbake('-c clean %s %s' % (include_recipe, exclude_recipe)) - bitbake("-c deploy_archives %s %s" % (include_recipe, exclude_recipe)) + self.bitbake('-c clean %s %s' % (include_recipe, exclude_recipe)) + self.bitbake("-c deploy_archives %s %s" % (include_recipe, exclude_recipe)) - bb_vars = get_bb_vars(['DEPLOY_DIR_SRC', 'TARGET_SYS']) + bb_vars = self.get_bb_vars(['DEPLOY_DIR_SRC', 'TARGET_SYS']) src_path = os.path.join(bb_vars['DEPLOY_DIR_SRC'], bb_vars['TARGET_SYS']) # Check that include_recipe was included @@ -58,10 +59,10 @@ class Archiver(OESelftestTestCase): features += 'COPYLEFT_RECIPE_TYPES = "target"\n' self.write_config(features) - bitbake('-c clean %s %s' % (target_recipe, native_recipe)) - bitbake("%s -c deploy_archives %s" % (target_recipe, native_recipe)) + self.bitbake('-c clean %s %s' % (target_recipe, native_recipe)) + self.bitbake("%s -c deploy_archives %s" % (target_recipe, native_recipe)) - bb_vars = get_bb_vars(['DEPLOY_DIR_SRC', 'TARGET_SYS', 'BUILD_SYS']) + bb_vars = self.get_bb_vars(['DEPLOY_DIR_SRC', 'TARGET_SYS', 'BUILD_SYS']) src_path_target = os.path.join(bb_vars['DEPLOY_DIR_SRC'], bb_vars['TARGET_SYS']) src_path_native = os.path.join(bb_vars['DEPLOY_DIR_SRC'], bb_vars['BUILD_SYS']) @@ -95,10 +96,10 @@ class Archiver(OESelftestTestCase): features += 'COPYLEFT_PN_EXCLUDE = "%s"\n' % target_recipes[1] self.write_config(features) - bitbake('-c clean %s %s' % (' '.join(target_recipes), ' '.join(native_recipes))) - bitbake('-c deploy_archives %s %s' % (' '.join(target_recipes), ' '.join(native_recipes))) + self.bitbake('-c clean %s %s' % (' '.join(target_recipes), ' '.join(native_recipes))) + self.bitbake('-c deploy_archives %s %s' % (' '.join(target_recipes), ' '.join(native_recipes))) - bb_vars = get_bb_vars(['DEPLOY_DIR_SRC', 'TARGET_SYS', 'BUILD_SYS']) + bb_vars = self.get_bb_vars(['DEPLOY_DIR_SRC', 'TARGET_SYS', 'BUILD_SYS']) src_path_target = os.path.join(bb_vars['DEPLOY_DIR_SRC'], bb_vars['TARGET_SYS']) src_path_native = os.path.join(bb_vars['DEPLOY_DIR_SRC'], bb_vars['BUILD_SYS']) diff --git a/meta/lib/oeqa/selftest/cases/bblayers.py b/meta/lib/oeqa/selftest/cases/bblayers.py index 90a2249..12a7413 100644 --- a/meta/lib/oeqa/selftest/cases/bblayers.py +++ b/meta/lib/oeqa/selftest/cases/bblayers.py @@ -2,33 +2,34 @@ import os import re import oeqa.utils.ftools as ftools -from oeqa.utils.commands import runCmd, get_bb_var from oeqa.selftest.case import OESelftestTestCase from oeqa.core.decorator.oeid import OETestID class BitbakeLayers(OESelftestTestCase): + _use_own_builddir = True + _main_thread = False @OETestID(756) def test_bitbakelayers_showcrossdepends(self): - result = runCmd('bitbake-layers show-cross-depends') + result = self.runCmd('bitbake-layers show-cross-depends') self.assertTrue('aspell' in result.output, msg = "No dependencies were shown. bitbake-layers show-cross-depends output: %s" % result.output) @OETestID(83) def test_bitbakelayers_showlayers(self): - result = runCmd('bitbake-layers show-layers') + result = self.runCmd('bitbake-layers show-layers') self.assertTrue('meta-selftest' in result.output, msg = "No layers were shown. bitbake-layers show-layers output: %s" % result.output) @OETestID(93) def test_bitbakelayers_showappends(self): recipe = "xcursor-transparent-theme" bb_file = self.get_recipe_basename(recipe) - result = runCmd('bitbake-layers show-appends') + result = self.runCmd('bitbake-layers show-appends') self.assertTrue(bb_file in result.output, msg="%s file was not recognised. bitbake-layers show-appends output: %s" % (bb_file, result.output)) @OETestID(90) def test_bitbakelayers_showoverlayed(self): - result = runCmd('bitbake-layers show-overlayed') + result = self.runCmd('bitbake-layers show-overlayed') self.assertTrue('aspell' in result.output, msg="aspell overlayed recipe was not recognised bitbake-layers show-overlayed %s" % result.output) @OETestID(95) @@ -39,7 +40,7 @@ class BitbakeLayers(OESelftestTestCase): testoutdir = os.path.join(self.builddir, 'test_bitbakelayers_flatten') self.assertFalse(os.path.isdir(testoutdir), msg = "test_bitbakelayers_flatten should not exist at this point in time") self.track_for_cleanup(testoutdir) - result = runCmd('bitbake-layers flatten %s' % testoutdir) + result = self.runCmd('bitbake-layers flatten %s' % testoutdir) bb_file = os.path.join(testoutdir, recipe_path, recipe_file) self.assertTrue(os.path.isfile(bb_file), msg = "Cannot find xcursor-transparent-theme_0.1.1.bb in the test_bitbakelayers_flatten local dir.") contents = ftools.read_file(bb_file) @@ -48,46 +49,46 @@ class BitbakeLayers(OESelftestTestCase): @OETestID(1195) def test_bitbakelayers_add_remove(self): - test_layer = os.path.join(get_bb_var('COREBASE'), 'meta-skeleton') - result = runCmd('bitbake-layers show-layers') + test_layer = os.path.join(self.get_bb_var('COREBASE'), 'meta-skeleton') + result = self.runCmd('bitbake-layers show-layers') self.assertNotIn('meta-skeleton', result.output, "This test cannot run with meta-skeleton in bblayers.conf. bitbake-layers show-layers output: %s" % result.output) - result = runCmd('bitbake-layers add-layer %s' % test_layer) - result = runCmd('bitbake-layers show-layers') + result = self.runCmd('bitbake-layers add-layer %s' % test_layer) + result = self.runCmd('bitbake-layers show-layers') self.assertIn('meta-skeleton', result.output, msg = "Something wrong happened. meta-skeleton layer was not added to conf/bblayers.conf. bitbake-layers show-layers output: %s" % result.output) - result = runCmd('bitbake-layers remove-layer %s' % test_layer) - result = runCmd('bitbake-layers show-layers') + result = self.runCmd('bitbake-layers remove-layer %s' % test_layer) + result = self.runCmd('bitbake-layers show-layers') self.assertNotIn('meta-skeleton', result.output, msg = "meta-skeleton should have been removed at this step. bitbake-layers show-layers output: %s" % result.output) - result = runCmd('bitbake-layers add-layer %s' % test_layer) - result = runCmd('bitbake-layers show-layers') + result = self.runCmd('bitbake-layers add-layer %s' % test_layer) + result = self.runCmd('bitbake-layers show-layers') self.assertIn('meta-skeleton', result.output, msg = "Something wrong happened. meta-skeleton layer was not added to conf/bblayers.conf. bitbake-layers show-layers output: %s" % result.output) - result = runCmd('bitbake-layers remove-layer */meta-skeleton') - result = runCmd('bitbake-layers show-layers') + result = self.runCmd('bitbake-layers remove-layer */meta-skeleton') + result = self.runCmd('bitbake-layers show-layers') self.assertNotIn('meta-skeleton', result.output, msg = "meta-skeleton should have been removed at this step. bitbake-layers show-layers output: %s" % result.output) @OETestID(1384) def test_bitbakelayers_showrecipes(self): - result = runCmd('bitbake-layers show-recipes') + result = self.runCmd('bitbake-layers show-recipes') self.assertIn('aspell:', result.output) self.assertIn('mtd-utils:', result.output) self.assertIn('core-image-minimal:', result.output) - result = runCmd('bitbake-layers show-recipes mtd-utils') + result = self.runCmd('bitbake-layers show-recipes mtd-utils') self.assertIn('mtd-utils:', result.output) self.assertNotIn('aspell:', result.output) - result = runCmd('bitbake-layers show-recipes -i image') + result = self.runCmd('bitbake-layers show-recipes -i image') self.assertIn('core-image-minimal', result.output) self.assertNotIn('mtd-utils:', result.output) - result = runCmd('bitbake-layers show-recipes -i cmake,pkgconfig') + result = self.runCmd('bitbake-layers show-recipes -i cmake,pkgconfig') self.assertIn('libproxy:', result.output) self.assertNotIn('mtd-utils:', result.output) # doesn't inherit either self.assertNotIn('wget:', result.output) # doesn't inherit cmake self.assertNotIn('waffle:', result.output) # doesn't inherit pkgconfig - result = runCmd('bitbake-layers show-recipes -i nonexistentclass', ignore_status=True) + result = self.runCmd('bitbake-layers show-recipes -i nonexistentclass', ignore_status=True) self.assertNotEqual(result.status, 0, 'bitbake-layers show-recipes -i nonexistentclass should have failed') self.assertIn('ERROR:', result.output) def get_recipe_basename(self, recipe): recipe_file = "" - result = runCmd("bitbake-layers show-recipes -f %s" % recipe) + result = self.runCmd("bitbake-layers show-recipes -f %s" % recipe) for line in result.output.splitlines(): if recipe in line: recipe_file = line diff --git a/meta/lib/oeqa/selftest/cases/bbtests.py b/meta/lib/oeqa/selftest/cases/bbtests.py index df11a6b..9e61b8c 100644 --- a/meta/lib/oeqa/selftest/cases/bbtests.py +++ b/meta/lib/oeqa/selftest/cases/bbtests.py @@ -2,12 +2,12 @@ import os import re import oeqa.utils.ftools as ftools -from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars - from oeqa.selftest.case import OESelftestTestCase from oeqa.core.decorator.oeid import OETestID class BitbakeTests(OESelftestTestCase): + _use_own_builddir = True + _main_thread = False def getline(self, res, line): for l in res.output.split('\n'): @@ -16,20 +16,20 @@ class BitbakeTests(OESelftestTestCase): @OETestID(789) def test_run_bitbake_from_dir_1(self): - os.chdir(os.path.join(self.builddir, 'conf')) - self.assertEqual(bitbake('-e').status, 0, msg = "bitbake couldn't run from \"conf\" dir") + kwargs = {} + kwargs['cwd'] = os.path.join(self.builddir, 'conf') + self.assertEqual(self.bitbake('-e', **kwargs).status, 0, msg = "bitbake couldn't run from \"conf\" dir") @OETestID(790) def test_run_bitbake_from_dir_2(self): my_env = os.environ.copy() my_env['BBPATH'] = self.builddir - os.chdir(os.path.dirname(self.builddir)) - self.assertEqual(bitbake('-e', env=my_env).status, 0, msg = "bitbake couldn't run from builddir") + self.assertEqual(self.bitbake('-e', env=my_env).status, 0, msg = "bitbake couldn't run from builddir") @OETestID(806) def test_event_handler(self): self.write_config("INHERIT += \"test_events\"") - result = bitbake('m4-native') + result = self.bitbake('m4-native') find_build_started = re.search("NOTE: Test for bb\.event\.BuildStarted(\n.*)*NOTE: Executing RunQueue Tasks", result.output) find_build_completed = re.search("Tasks Summary:.*(\n.*)*NOTE: Test for bb\.event\.BuildCompleted", result.output) self.assertTrue(find_build_started, msg = "Match failed in:\n%s" % result.output) @@ -38,25 +38,25 @@ class BitbakeTests(OESelftestTestCase): @OETestID(103) def test_local_sstate(self): - bitbake('m4-native') - bitbake('m4-native -cclean') - result = bitbake('m4-native') + self.bitbake('m4-native') + self.bitbake('m4-native -cclean') + result = self.bitbake('m4-native') find_setscene = re.search("m4-native.*do_.*_setscene", result.output) self.assertTrue(find_setscene, msg = "No \"m4-native.*do_.*_setscene\" message found during bitbake m4-native. bitbake output: %s" % result.output ) @OETestID(105) def test_bitbake_invalid_recipe(self): - result = bitbake('-b asdf', ignore_status=True) + result = self.bitbake('-b asdf', ignore_status=True) self.assertTrue("ERROR: Unable to find any recipe file matching 'asdf'" in result.output, msg = "Though asdf recipe doesn't exist, bitbake didn't output any err. message. bitbake output: %s" % result.output) @OETestID(107) def test_bitbake_invalid_target(self): - result = bitbake('asdf', ignore_status=True) + result = self.bitbake('asdf', ignore_status=True) self.assertTrue("ERROR: Nothing PROVIDES 'asdf'" in result.output, msg = "Though no 'asdf' target exists, bitbake didn't output any err. message. bitbake output: %s" % result.output) @OETestID(106) def test_warnings_errors(self): - result = bitbake('-b asdf', ignore_status=True) + result = self.bitbake('-b asdf', ignore_status=True) find_warnings = re.search("Summary: There w.{2,3}? [1-9][0-9]* WARNING messages* shown", result.output) find_errors = re.search("Summary: There w.{2,3}? [1-9][0-9]* ERROR messages* shown", result.output) self.assertTrue(find_warnings, msg="Did not find the mumber of warnings at the end of the build:\n" + result.output) @@ -68,9 +68,9 @@ class BitbakeTests(OESelftestTestCase): # patch to fail. self.write_recipeinc('man', 'SRC_URI += "file://man-1.5h1-make.patch"') self.write_config("INHERIT_remove = \"report-error\"") - result = bitbake('man -c patch', ignore_status=True) + result = self.bitbake('man -c patch', ignore_status=True) self.delete_recipeinc('man') - bitbake('-cclean man') + self.bitbake('-cclean man') line = self.getline(result, "Function failed: patch_do_patch") self.assertTrue(line and line.startswith("ERROR:"), msg = "Repeated patch application didn't fail. bitbake output: %s" % result.output) @@ -79,24 +79,24 @@ class BitbakeTests(OESelftestTestCase): # test 1 from bug 5875 test_recipe = 'zlib' test_data = "Microsoft Made No Profit From Anyone's Zunes Yo" - bb_vars = get_bb_vars(['D', 'PKGDEST', 'mandir'], test_recipe) + bb_vars = self.get_bb_vars(['D', 'PKGDEST', 'mandir'], test_recipe) image_dir = bb_vars['D'] pkgsplit_dir = bb_vars['PKGDEST'] man_dir = bb_vars['mandir'] - bitbake('-c clean %s' % test_recipe) - bitbake('-c package -f %s' % test_recipe) + self.bitbake('-c clean %s' % test_recipe) + self.bitbake('-c package -f %s' % test_recipe) self.add_command_to_tearDown('bitbake -c clean %s' % test_recipe) man_file = os.path.join(image_dir + man_dir, 'man3/zlib.3') ftools.append_file(man_file, test_data) - bitbake('-c package -f %s' % test_recipe) + self.bitbake('-c package -f %s' % test_recipe) man_split_file = os.path.join(pkgsplit_dir, 'zlib-doc' + man_dir, 'man3/zlib.3') man_split_content = ftools.read_file(man_split_file) self.assertIn(test_data, man_split_content, 'The man file has not changed in packages-split.') - ret = bitbake(test_recipe) + ret = self.bitbake(test_recipe) self.assertIn('task do_package_write_rpm:', ret.output, 'Task do_package_write_rpm did not re-executed.') @OETestID(163) @@ -104,26 +104,27 @@ class BitbakeTests(OESelftestTestCase): # test 2 from bug 5875 test_recipe = 'zlib' - bitbake(test_recipe) + self.bitbake(test_recipe) self.add_command_to_tearDown('bitbake -c clean %s' % test_recipe) - result = bitbake('-C compile %s' % test_recipe) + result = self.bitbake('-C compile %s' % test_recipe) look_for_tasks = ['do_compile:', 'do_install:', 'do_populate_sysroot:', 'do_package:'] for task in look_for_tasks: self.assertIn(task, result.output, msg="Couldn't find %s task.") @OETestID(167) def test_bitbake_g(self): - result = bitbake('-g core-image-minimal') + result = self.bitbake('-g core-image-minimal') + for f in ['pn-buildlist', 'recipe-depends.dot', 'task-depends.dot']: - self.addCleanup(os.remove, f) + self.addCleanup(os.remove, os.path.join(self.builddir, f)) self.assertTrue('Task dependencies saved to \'task-depends.dot\'' in result.output, msg = "No task dependency \"task-depends.dot\" file was generated for the given task target. bitbake output: %s" % result.output) self.assertTrue('busybox' in ftools.read_file(os.path.join(self.builddir, 'task-depends.dot')), msg = "No \"busybox\" dependency found in task-depends.dot file.") @OETestID(899) def test_image_manifest(self): - bitbake('core-image-minimal') - bb_vars = get_bb_vars(["DEPLOY_DIR_IMAGE", "IMAGE_LINK_NAME"], "core-image-minimal") + self.bitbake('core-image-minimal') + bb_vars = self.get_bb_vars(["DEPLOY_DIR_IMAGE", "IMAGE_LINK_NAME"], "core-image-minimal") deploydir = bb_vars["DEPLOY_DIR_IMAGE"] imagename = bb_vars["IMAGE_LINK_NAME"] manifest = os.path.join(deploydir, imagename + ".manifest") @@ -139,9 +140,9 @@ INHERIT_remove = \"report-error\" """) self.track_for_cleanup(os.path.join(self.builddir, "download-selftest")) - bitbake('-ccleanall man') - result = bitbake('-c fetch man', ignore_status=True) - bitbake('-ccleanall man') + self.bitbake('-ccleanall man') + result = self.bitbake('-c fetch man', ignore_status=True) + self.bitbake('-ccleanall man') self.delete_recipeinc('man') self.assertEqual(result.status, 1, msg="Command succeded when it should have failed. bitbake output: %s" % result.output) self.assertTrue('Fetcher failure: Unable to find file file://invalid anywhere. The paths that were searched were:' in result.output, msg = "\"invalid\" file \ @@ -161,32 +162,32 @@ SSTATE_DIR = \"${TOPDIR}/download-selftest\" data = 'SRC_URI = "${GNU_MIRROR}/aspell/aspell-${PV}.tar.gz;downloadfilename=test-aspell.tar.gz"' self.write_recipeinc('aspell', data) - result = bitbake('-f -c fetch aspell', ignore_status=True) + result = self.bitbake('-f -c fetch aspell', ignore_status=True) self.delete_recipeinc('aspell') self.assertEqual(result.status, 0, msg = "Couldn't fetch aspell. %s" % result.output) - dl_dir = get_bb_var("DL_DIR") + dl_dir = self.get_bb_var("DL_DIR") self.assertTrue(os.path.isfile(os.path.join(dl_dir, 'test-aspell.tar.gz')), msg = "File rename failed. No corresponding test-aspell.tar.gz file found under %s" % dl_dir) self.assertTrue(os.path.isfile(os.path.join(dl_dir, 'test-aspell.tar.gz.done')), "File rename failed. No corresponding test-aspell.tar.gz.done file found under %s" % dl_dir) @OETestID(1028) def test_environment(self): self.write_config("TEST_ENV=\"localconf\"") - result = runCmd('bitbake -e | grep TEST_ENV=') + result = self.runCmd('bitbake -e | grep TEST_ENV=') self.assertTrue('localconf' in result.output, msg = "bitbake didn't report any value for TEST_ENV variable. To test, run 'bitbake -e | grep TEST_ENV='") @OETestID(1029) def test_dry_run(self): - result = runCmd('bitbake -n m4-native') + result = self.runCmd('bitbake -n m4-native') self.assertEqual(0, result.status, "bitbake dry run didn't run as expected. %s" % result.output) @OETestID(1030) def test_just_parse(self): - result = runCmd('bitbake -p') + result = self.runCmd('bitbake -p') self.assertEqual(0, result.status, "errors encountered when parsing recipes. %s" % result.output) @OETestID(1031) def test_version(self): - result = runCmd('bitbake -s | grep wget') + result = self.runCmd('bitbake -s | grep wget') find = re.search("wget *:([0-9a-zA-Z\.\-]+)", result.output) self.assertTrue(find, "No version returned for searched recipe. bitbake output: %s" % result.output) @@ -194,11 +195,15 @@ SSTATE_DIR = \"${TOPDIR}/download-selftest\" def test_prefile(self): preconf = os.path.join(self.builddir, 'conf/prefile.conf') self.track_for_cleanup(preconf) + + cmd = 'bitbake -r %s -e | grep TEST_PREFILE=' % preconf + ftools.write_file(preconf ,"TEST_PREFILE=\"prefile\"") - result = runCmd('bitbake -r conf/prefile.conf -e | grep TEST_PREFILE=') + result = self.runCmd(cmd) self.assertTrue('prefile' in result.output, "Preconfigure file \"prefile.conf\"was not taken into consideration. ") + self.write_config("TEST_PREFILE=\"localconf\"") - result = runCmd('bitbake -r conf/prefile.conf -e | grep TEST_PREFILE=') + result = self.runCmd(cmd) self.assertTrue('localconf' in result.output, "Preconfigure file \"prefile.conf\"was not taken into consideration.") @OETestID(1033) @@ -207,12 +212,12 @@ SSTATE_DIR = \"${TOPDIR}/download-selftest\" self.track_for_cleanup(postconf) ftools.write_file(postconf , "TEST_POSTFILE=\"postfile\"") self.write_config("TEST_POSTFILE=\"localconf\"") - result = runCmd('bitbake -R conf/postfile.conf -e | grep TEST_POSTFILE=') + result = self.runCmd('bitbake -R conf/postfile.conf -e | grep TEST_POSTFILE=') self.assertTrue('postfile' in result.output, "Postconfigure file \"postfile.conf\"was not taken into consideration.") @OETestID(1034) def test_checkuri(self): - result = runCmd('bitbake -c checkuri m4') + result = self.runCmd('bitbake -c checkuri m4') self.assertEqual(0, result.status, msg = "\"checkuri\" task was not executed. bitbake output: %s" % result.output) @OETestID(1035) @@ -223,8 +228,8 @@ INHERIT_remove = \"report-error\" """) self.track_for_cleanup(os.path.join(self.builddir, "download-selftest")) self.write_recipeinc('man',"\ndo_fail_task () {\nexit 1 \n}\n\naddtask do_fail_task before do_fetch\n" ) - runCmd('bitbake -c cleanall man xcursor-transparent-theme') - result = runCmd('bitbake -c unpack -k man xcursor-transparent-theme', ignore_status=True) + self.runCmd('bitbake -c cleanall man xcursor-transparent-theme') + result = self.runCmd('bitbake -c unpack -k man xcursor-transparent-theme', ignore_status=True) errorpos = result.output.find('ERROR: Function failed: do_fail_task') manver = re.search("NOTE: recipe xcursor-transparent-theme-(.*?): task do_unpack: Started", result.output) continuepos = result.output.find('NOTE: recipe xcursor-transparent-theme-%s: task do_unpack: Started' % manver.group(1)) @@ -233,9 +238,9 @@ INHERIT_remove = \"report-error\" @OETestID(1119) def test_non_gplv3(self): self.write_config('INCOMPATIBLE_LICENSE = "GPLv3"') - result = bitbake('selftest-ed', ignore_status=True) + result = self.bitbake('selftest-ed', ignore_status=True) self.assertEqual(result.status, 0, "Bitbake failed, exit code %s, output %s" % (result.status, result.output)) - lic_dir = get_bb_var('LICENSE_DIRECTORY') + lic_dir = self.get_bb_var('LICENSE_DIRECTORY') self.assertFalse(os.path.isfile(os.path.join(lic_dir, 'selftest-ed/generic_GPLv3'))) self.assertTrue(os.path.isfile(os.path.join(lic_dir, 'selftest-ed/generic_GPLv2'))) @@ -244,9 +249,9 @@ INHERIT_remove = \"report-error\" """ Bitbake option to restore from sstate only within a build (i.e. execute no real tasks, only setscene)""" test_recipe = 'ed' - bitbake(test_recipe) - bitbake('-c clean %s' % test_recipe) - ret = bitbake('--setscene-only %s' % test_recipe) + self.bitbake(test_recipe) + self.bitbake('-c clean %s' % test_recipe) + ret = self.bitbake('--setscene-only %s' % test_recipe) tasks = re.findall(r'task\s+(do_\S+):', ret.output) @@ -258,7 +263,7 @@ INHERIT_remove = \"report-error\" def test_bbappend_order(self): """ Bitbake should bbappend to recipe in a predictable order """ test_recipe = 'ed' - bb_vars = get_bb_vars(['SUMMARY', 'PV'], test_recipe) + bb_vars = self.get_bb_vars(['SUMMARY', 'PV'], test_recipe) test_recipe_summary_before = bb_vars['SUMMARY'] test_recipe_pv = bb_vars['PV'] recipe_append_file = test_recipe + '_' + test_recipe_pv + '.bbappend' @@ -275,5 +280,5 @@ INHERIT_remove = \"report-error\" self.add_command_to_tearDown('rm -rf %s' % os.path.join(self.testlayer_path, 'recipes-test', test_recipe + '_test_*')) - test_recipe_summary_after = get_bb_var('SUMMARY', test_recipe) + test_recipe_summary_after = self.get_bb_var('SUMMARY', test_recipe) self.assertEqual(expected_recipe_summary, test_recipe_summary_after) diff --git a/meta/lib/oeqa/selftest/cases/buildhistory.py b/meta/lib/oeqa/selftest/cases/buildhistory.py index 06792d9..ed0965b 100644 --- a/meta/lib/oeqa/selftest/cases/buildhistory.py +++ b/meta/lib/oeqa/selftest/cases/buildhistory.py @@ -3,13 +3,10 @@ import re import datetime from oeqa.selftest.case import OESelftestTestCase -from oeqa.utils.commands import bitbake, get_bb_vars - class BuildhistoryBase(OESelftestTestCase): - def config_buildhistory(self, tmp_bh_location=False): - bb_vars = get_bb_vars(['USER_CLASSES', 'INHERIT']) + bb_vars = self.get_bb_vars(['USER_CLASSES', 'INHERIT']) if (not 'buildhistory' in bb_vars['USER_CLASSES']) and (not 'buildhistory' in bb_vars['INHERIT']): add_buildhistory_config = 'INHERIT += "buildhistory"\nBUILDHISTORY_COMMIT = "1"' self.append_config(add_buildhistory_config) @@ -30,8 +27,8 @@ class BuildhistoryBase(OESelftestTestCase): self.append_config(global_config) self.append_recipeinc(target, target_config) - bitbake("-cclean %s" % target) - result = bitbake(target, ignore_status=True) + self.bitbake("-cclean %s" % target) + result = self.bitbake(target, ignore_status=True) self.remove_config(global_config) self.remove_recipeinc(target, target_config) diff --git a/meta/lib/oeqa/selftest/cases/buildoptions.py b/meta/lib/oeqa/selftest/cases/buildoptions.py index 1f1bb7a..eaec253 100644 --- a/meta/lib/oeqa/selftest/cases/buildoptions.py +++ b/meta/lib/oeqa/selftest/cases/buildoptions.py @@ -5,67 +5,70 @@ import shutil import tempfile from oeqa.selftest.case import OESelftestTestCase from oeqa.selftest.cases.buildhistory import BuildhistoryBase -from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars import oeqa.utils.ftools as ftools from oeqa.core.decorator.oeid import OETestID class ImageOptionsTests(OESelftestTestCase): + _use_own_builddir = True + _main_thread = False @OETestID(761) def test_incremental_image_generation(self): - image_pkgtype = get_bb_var("IMAGE_PKGTYPE") + image_pkgtype = self.get_bb_var("IMAGE_PKGTYPE") if image_pkgtype != 'rpm': self.skipTest('Not using RPM as main package format') - bitbake("-c clean core-image-minimal") + self.bitbake("-c clean core-image-minimal") self.write_config('INC_RPM_IMAGE_GEN = "1"') self.append_config('IMAGE_FEATURES += "ssh-server-openssh"') - bitbake("core-image-minimal") - log_data_file = os.path.join(get_bb_var("WORKDIR", "core-image-minimal"), "temp/log.do_rootfs") + self.bitbake("core-image-minimal") + log_data_file = os.path.join(self.get_bb_var("WORKDIR", "core-image-minimal"), "temp/log.do_rootfs") log_data_created = ftools.read_file(log_data_file) incremental_created = re.search(r"Installing\s*:\s*packagegroup-core-ssh-openssh", log_data_created) self.remove_config('IMAGE_FEATURES += "ssh-server-openssh"') self.assertTrue(incremental_created, msg = "Match failed in:\n%s" % log_data_created) - bitbake("core-image-minimal") + self.bitbake("core-image-minimal") log_data_removed = ftools.read_file(log_data_file) incremental_removed = re.search(r"Erasing\s*:\s*packagegroup-core-ssh-openssh", log_data_removed) self.assertTrue(incremental_removed, msg = "Match failed in:\n%s" % log_data_removed) @OETestID(286) def test_ccache_tool(self): - bitbake("ccache-native") - bb_vars = get_bb_vars(['SYSROOT_DESTDIR', 'bindir'], 'ccache-native') + self.bitbake("ccache-native") + bb_vars = self.get_bb_vars(['SYSROOT_DESTDIR', 'bindir'], 'ccache-native') p = bb_vars['SYSROOT_DESTDIR'] + bb_vars['bindir'] + "/" + "ccache" self.assertTrue(os.path.isfile(p), msg = "No ccache found (%s)" % p) self.write_config('INHERIT += "ccache"') self.add_command_to_tearDown('bitbake -c clean m4') - bitbake("m4 -f -c compile") - log_compile = os.path.join(get_bb_var("WORKDIR","m4"), "temp/log.do_compile") - res = runCmd("grep ccache %s" % log_compile, ignore_status=True) + self.bitbake("m4 -f -c compile") + log_compile = os.path.join(self.get_bb_var("WORKDIR","m4"), "temp/log.do_compile") + res = self.runCmd("grep ccache %s" % log_compile, ignore_status=True) self.assertEqual(0, res.status, msg="No match for ccache in m4 log.do_compile. For further details: %s" % log_compile) @OETestID(1435) def test_read_only_image(self): - distro_features = get_bb_var('DISTRO_FEATURES') + distro_features = self.get_bb_var('DISTRO_FEATURES') if not ('x11' in distro_features and 'opengl' in distro_features): self.skipTest('core-image-sato requires x11 and opengl in distro features') self.write_config('IMAGE_FEATURES += "read-only-rootfs"') - bitbake("core-image-sato") + self.bitbake("core-image-sato") # do_image will fail if there are any pending postinsts class DiskMonTest(OESelftestTestCase): + _use_own_builddir = True + _main_thread = False @OETestID(277) def test_stoptask_behavior(self): self.write_config('BB_DISKMON_DIRS = "STOPTASKS,${TMPDIR},100000G,100K"') - res = bitbake("m4", ignore_status = True) + res = self.bitbake("m4", ignore_status = True) self.assertTrue('ERROR: No new tasks can be executed since the disk space monitor action is "STOPTASKS"!' in res.output, msg = "Tasks should have stopped. Disk monitor is set to STOPTASK: %s" % res.output) self.assertEqual(res.status, 1, msg = "bitbake reported exit code %s. It should have been 1. Bitbake output: %s" % (str(res.status), res.output)) self.write_config('BB_DISKMON_DIRS = "ABORT,${TMPDIR},100000G,100K"') - res = bitbake("m4", ignore_status = True) + res = self.bitbake("m4", ignore_status = True) self.assertTrue('ERROR: Immediately abort since the disk space monitor action is "ABORT"!' in res.output, "Tasks should have been aborted immediatelly. Disk monitor is set to ABORT: %s" % res.output) self.assertEqual(res.status, 1, msg = "bitbake reported exit code %s. It should have been 1. Bitbake output: %s" % (str(res.status), res.output)) self.write_config('BB_DISKMON_DIRS = "WARN,${TMPDIR},100000G,100K"') - res = bitbake("m4") + res = self.bitbake("m4") self.assertTrue('WARNING: The free space' in res.output, msg = "A warning should have been displayed for disk monitor is set to WARN: %s" %res.output) class SanityOptionsTest(OESelftestTestCase): @@ -78,12 +81,12 @@ class SanityOptionsTest(OESelftestTestCase): def test_options_warnqa_errorqa_switch(self): self.write_config("INHERIT_remove = \"report-error\"") - if "packages-list" not in get_bb_var("ERROR_QA"): + if "packages-list" not in self.get_bb_var("ERROR_QA"): self.append_config("ERROR_QA_append = \" packages-list\"") self.write_recipeinc('xcursor-transparent-theme', 'PACKAGES += \"${PN}-dbg\"') self.add_command_to_tearDown('bitbake -c clean xcursor-transparent-theme') - res = bitbake("xcursor-transparent-theme -f -c package", ignore_status=True) + res = self.bitbake("xcursor-transparent-theme -f -c package", ignore_status=True) self.delete_recipeinc('xcursor-transparent-theme') line = self.getline(res, "QA Issue: xcursor-transparent-theme-dbg is listed in PACKAGES multiple times, this leads to packaging errors.") self.assertTrue(line and line.startswith("ERROR:"), msg=res.output) @@ -91,7 +94,7 @@ class SanityOptionsTest(OESelftestTestCase): self.write_recipeinc('xcursor-transparent-theme', 'PACKAGES += \"${PN}-dbg\"') self.append_config('ERROR_QA_remove = "packages-list"') self.append_config('WARN_QA_append = " packages-list"') - res = bitbake("xcursor-transparent-theme -f -c package") + res = self.bitbake("xcursor-transparent-theme -f -c package") self.delete_recipeinc('xcursor-transparent-theme') line = self.getline(res, "QA Issue: xcursor-transparent-theme-dbg is listed in PACKAGES multiple times, this leads to packaging errors.") self.assertTrue(line and line.startswith("WARNING:"), msg=res.output) @@ -101,7 +104,7 @@ class SanityOptionsTest(OESelftestTestCase): self.write_config('WARN_QA_append = " unsafe-references-in-scripts"') self.add_command_to_tearDown('bitbake -c clean gzip') - res = bitbake("gzip -f -c package_qa") + res = self.bitbake("gzip -f -c package_qa") line = self.getline(res, "QA Issue: gzip") self.assertFalse(line, "WARNING: QA Issue: gzip message is present in bitbake's output and shouldn't be: %s" % res.output) @@ -110,7 +113,7 @@ do_install_append_pn-gzip () { echo "\n${bindir}/test" >> ${D}${bindir}/zcat } """) - res = bitbake("gzip -f -c package_qa") + res = self.bitbake("gzip -f -c package_qa") line = self.getline(res, "QA Issue: gzip") self.assertTrue(line and line.startswith("WARNING:"), "WARNING: QA Issue: gzip message is not present in bitbake's output: %s" % res.output) @@ -145,7 +148,7 @@ do_install_append_pn-gzip () { test_recipe = 'ed' - ret = bitbake('-n %s' % test_recipe) + ret = self.bitbake('-n %s' % test_recipe) err = 'fatal: Not a git repository' @@ -155,11 +158,13 @@ do_install_append_pn-gzip () { class BuildhistoryTests(BuildhistoryBase): + _use_own_builddir = True + _main_thread = False @OETestID(293) def test_buildhistory_basic(self): self.run_buildhistory_operation('xcursor-transparent-theme') - self.assertTrue(os.path.isdir(get_bb_var('BUILDHISTORY_DIR')), "buildhistory dir was not created.") + self.assertTrue(os.path.isdir(self.get_bb_var('BUILDHISTORY_DIR')), "buildhistory dir was not created.") @OETestID(294) def test_buildhistory_buildtime_pr_backwards(self): @@ -169,15 +174,18 @@ class BuildhistoryTests(BuildhistoryBase): self.run_buildhistory_operation(target, target_config="PR = \"r0\"", change_bh_location=False, expect_error=True, error_regex=error) class ArchiverTest(OESelftestTestCase): + _use_own_builddir = True + _main_thread = False + @OETestID(926) def test_arch_work_dir_and_export_source(self): """ Test for archiving the work directory and exporting the source files. """ self.write_config("INHERIT += \"archiver\"\nARCHIVER_MODE[src] = \"original\"\nARCHIVER_MODE[srpm] = \"1\"") - res = bitbake("xcursor-transparent-theme", ignore_status=True) + res = self.bitbake("xcursor-transparent-theme", ignore_status=True) self.assertEqual(res.status, 0, "\nCouldn't build xcursortransparenttheme.\nbitbake output %s" % res.output) - deploy_dir_src = get_bb_var('DEPLOY_DIR_SRC') + deploy_dir_src = self.get_bb_var('DEPLOY_DIR_SRC') pkgs_path = g.glob(str(deploy_dir_src) + "/allarch*/xcurs*") src_file_glob = str(pkgs_path[0]) + "/xcursor*.src.rpm" tar_file_glob = str(pkgs_path[0]) + "/xcursor*.tar.gz" diff --git a/meta/lib/oeqa/selftest/cases/containerimage.py b/meta/lib/oeqa/selftest/cases/containerimage.py index 99a5cc9..4220d80 100644 --- a/meta/lib/oeqa/selftest/cases/containerimage.py +++ b/meta/lib/oeqa/selftest/cases/containerimage.py @@ -1,7 +1,6 @@ import os from oeqa.selftest.case import OESelftestTestCase -from oeqa.utils.commands import bitbake, get_bb_vars, runCmd from oeqa.core.decorator.oeid import OETestID # This test builds an image with using the "container" IMAGE_FSTYPE, and @@ -18,6 +17,8 @@ from oeqa.core.decorator.oeid import OETestID # default other than what is in ROOTFS_BOOTSTRAP_INSTALL. # class ContainerImageTests(OESelftestTestCase): + _use_own_builddir = True + _main_thread = False # Verify that when specifying a IMAGE_TYPEDEP_ of the form "foo.bar" that # the conversion type bar gets added as a dep as well @@ -41,7 +42,7 @@ PACKAGE_CLASSES = "package_ipk" IMAGE_FEATURES = "" """) - bbvars = get_bb_vars(['bindir', 'sysconfdir', 'localstatedir', + bbvars = self.get_bb_vars(['bindir', 'sysconfdir', 'localstatedir', 'DEPLOY_DIR_IMAGE', 'IMAGE_LINK_NAME'], target='container-test-image') expected_files = [ @@ -75,11 +76,11 @@ IMAGE_FEATURES = "" expected_files = sorted(expected_files) # Build the image of course - bitbake('container-test-image') + self.bitbake('container-test-image') image = os.path.join(bbvars['DEPLOY_DIR_IMAGE'], bbvars['IMAGE_LINK_NAME'] + '.tar.bz2') # Ensure the files in the image are what we expect - result = runCmd("tar tf {} | sort".format(image), shell=True) + result = self.runCmd("tar tf {} | sort".format(image), shell=True) self.assertEqual(result.output.split('\n'), expected_files) diff --git a/meta/lib/oeqa/selftest/cases/distrodata.py b/meta/lib/oeqa/selftest/cases/distrodata.py index d5d286d..86c99a7 100644 --- a/meta/lib/oeqa/selftest/cases/distrodata.py +++ b/meta/lib/oeqa/selftest/cases/distrodata.py @@ -1,9 +1,10 @@ from oeqa.selftest.case import OESelftestTestCase -from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars from oeqa.utils.decorators import testcase from oeqa.utils.ftools import write_file class Distrodata(OESelftestTestCase): + _use_own_builddir = True + _main_thread = False @classmethod def setUpClass(cls): @@ -21,8 +22,8 @@ class Distrodata(OESelftestTestCase): feature += 'LICENSE_FLAGS_WHITELIST += " commercial"\n' self.write_config(feature) - bitbake('-c checkpkg world') - checkpkg_result = open(os.path.join(get_bb_var("LOG_DIR"), "checkpkg.csv")).readlines()[1:] + self.bitbake('-c checkpkg world') + checkpkg_result = open(os.path.join(self.get_bb_var("LOG_DIR"), "checkpkg.csv")).readlines()[1:] exceptions = [exc.strip() for exc in open(self.exceptions_path).readlines()] failed_upstream_checks = [pkg_data[0] for pkg_data in [pkg_line.split('\t') for pkg_line in checkpkg_result] if pkg_data[11] == ''] regressed_failures = set(failed_upstream_checks) - set(exceptions) diff --git a/meta/lib/oeqa/selftest/cases/image_typedep.py b/meta/lib/oeqa/selftest/cases/image_typedep.py index e678885..6477257 100644 --- a/meta/lib/oeqa/selftest/cases/image_typedep.py +++ b/meta/lib/oeqa/selftest/cases/image_typedep.py @@ -1,10 +1,11 @@ import os from oeqa.selftest.case import OESelftestTestCase -from oeqa.utils.commands import bitbake from oeqa.core.decorator.oeid import OETestID class ImageTypeDepTests(OESelftestTestCase): + _use_own_builddir = True + _main_thread = False # Verify that when specifying a IMAGE_TYPEDEP_ of the form "foo.bar" that # the conversion type bar gets added as a dep as well @@ -27,8 +28,9 @@ inherit image """) # First get the dependency that should exist for bz2, it will look # like CONVERSION_DEPENDS_bz2="somedep" - result = bitbake('-e emptytest') + result = self.bitbake('-e emptytest') + dep = '' for line in result.output.split('\n'): if line.startswith('CONVERSION_DEPENDS_bz2'): dep = line.split('=')[1].strip('"') @@ -36,7 +38,7 @@ inherit image # Now get the dependency task list and check for the expected task # dependency - bitbake('-g emptytest') + self.bitbake('-g emptytest') taskdependsfile = os.path.join(self.builddir, 'task-depends.dot') dep = dep + ".do_populate_sysroot" diff --git a/meta/lib/oeqa/selftest/cases/layerappend.py b/meta/lib/oeqa/selftest/cases/layerappend.py index 9562116..518e31d 100644 --- a/meta/lib/oeqa/selftest/cases/layerappend.py +++ b/meta/lib/oeqa/selftest/cases/layerappend.py @@ -1,11 +1,13 @@ import os from oeqa.selftest.case import OESelftestTestCase -from oeqa.utils.commands import runCmd, bitbake, get_bb_var import oeqa.utils.ftools as ftools from oeqa.core.decorator.oeid import OETestID class LayerAppendTests(OESelftestTestCase): + _use_own_builddir = True + _main_thread = False + layerconf = """ # We have a conf and classes directory, append to BBPATH BBPATH .= ":${LAYERDIR}" @@ -51,10 +53,8 @@ SRC_URI_append += "file://appendtest.txt" @OETestID(1196) def test_layer_appends(self): - corebase = get_bb_var("COREBASE") - for l in ["0", "1", "2"]: - layer = os.path.join(corebase, "meta-layertest" + l) + layer = os.path.join(self.builddir, "meta-layertest" + l) self.assertFalse(os.path.exists(layer)) os.mkdir(layer) os.mkdir(layer + "/conf") @@ -78,18 +78,18 @@ SRC_URI_append += "file://appendtest.txt" f.write("Layer 2 test") self.track_for_cleanup(layer) - self.layerappend = "BBLAYERS += \"{0}/meta-layertest0 {0}/meta-layertest1 {0}/meta-layertest2\"".format(corebase) + self.layerappend = "BBLAYERS += \"{0}/meta-layertest0 {0}/meta-layertest1 {0}/meta-layertest2\"".format(self.builddir) ftools.append_file(self.builddir + "/conf/bblayers.conf", self.layerappend) - stagingdir = get_bb_var("SYSROOT_DESTDIR", "layerappendtest") - bitbake("layerappendtest") + stagingdir = self.get_bb_var("SYSROOT_DESTDIR", "layerappendtest") + self.bitbake("layerappendtest") data = ftools.read_file(stagingdir + "/appendtest.txt") self.assertEqual(data, "Layer 2 test") - os.remove(corebase + "/meta-layertest2/recipes-test/layerappendtest/appendtest.txt") - bitbake("layerappendtest") + os.remove(self.builddir + "/meta-layertest2/recipes-test/layerappendtest/appendtest.txt") + self.bitbake("layerappendtest") data = ftools.read_file(stagingdir + "/appendtest.txt") self.assertEqual(data, "Layer 1 test") - with open(corebase + "/meta-layertest2/recipes-test/layerappendtest/appendtest.txt", "w") as f: + with open(self.builddir + "/meta-layertest2/recipes-test/layerappendtest/appendtest.txt", "w") as f: f.write("Layer 2 test") - bitbake("layerappendtest") + self.bitbake("layerappendtest") data = ftools.read_file(stagingdir + "/appendtest.txt") self.assertEqual(data, "Layer 2 test") diff --git a/meta/lib/oeqa/selftest/cases/liboe.py b/meta/lib/oeqa/selftest/cases/liboe.py index e846092..cfe1586 100644 --- a/meta/lib/oeqa/selftest/cases/liboe.py +++ b/meta/lib/oeqa/selftest/cases/liboe.py @@ -1,15 +1,16 @@ from oeqa.selftest.case import OESelftestTestCase from oeqa.core.decorator.oeid import OETestID -from oeqa.utils.commands import get_bb_var, get_bb_vars, bitbake, runCmd import oe.path import os class LibOE(OESelftestTestCase): + _use_own_builddir = True + _main_thread = False @classmethod def setUpClass(cls): super(LibOE, cls).setUpClass() - cls.tmp_dir = get_bb_var('TMPDIR') + cls.tmp_dir = cls.get_bb_var('TMPDIR') @OETestID(1635) def test_copy_tree_special(self): @@ -54,20 +55,20 @@ class LibOE(OESelftestTestCase): testfilename = 'testxattr' # ensure we have setfattr available - bitbake("attr-native") + self.bitbake("attr-native") - bb_vars = get_bb_vars(['SYSROOT_DESTDIR', 'bindir'], 'attr-native') + bb_vars = self.get_bb_vars(['SYSROOT_DESTDIR', 'bindir'], 'attr-native') destdir = bb_vars['SYSROOT_DESTDIR'] bindir = bb_vars['bindir'] bindir = destdir + bindir # create a file with xattr and copy it open(oe.path.join(src, testfilename), 'w+b').close() - runCmd('%s/setfattr -n user.oetest -v "testing liboe" %s' % (bindir, oe.path.join(src, testfilename))) + self.runCmd('%s/setfattr -n user.oetest -v "testing liboe" %s' % (bindir, oe.path.join(src, testfilename))) oe.path.copytree(src, dst) # ensure file in dest has user.oetest xattr - result = runCmd('%s/getfattr -n user.oetest %s' % (bindir, oe.path.join(dst, testfilename))) + result = self.runCmd('%s/getfattr -n user.oetest %s' % (bindir, oe.path.join(dst, testfilename))) self.assertIn('user.oetest="testing liboe"', result.output, 'Extended attribute not sert in dst') oe.path.remove(testloc) diff --git a/meta/lib/oeqa/selftest/cases/lic_checksum.py b/meta/lib/oeqa/selftest/cases/lic_checksum.py index 3740715..6b4eb32 100644 --- a/meta/lib/oeqa/selftest/cases/lic_checksum.py +++ b/meta/lib/oeqa/selftest/cases/lic_checksum.py @@ -2,11 +2,11 @@ import os import tempfile from oeqa.selftest.case import OESelftestTestCase -from oeqa.utils.commands import bitbake -from oeqa.utils import CommandError from oeqa.core.decorator.oeid import OETestID class LicenseTests(OESelftestTestCase): + _use_own_builddir = True + _main_thread = False # Verify that changing a license file that has an absolute path causes # the license qa to fail due to a mismatched md5sum. @@ -24,12 +24,12 @@ INHIBIT_DEFAULT_DEPS = "1" LIC_FILES_CHKSUM = "file://%s;md5=d41d8cd98f00b204e9800998ecf8427e" SRC_URI = "file://%s;md5=d41d8cd98f00b204e9800998ecf8427e" """ % (lic_path, lic_path)) - result = bitbake(bitbake_cmd) + result = self.bitbake(bitbake_cmd) with open(lic_path, "w") as f: f.write("data") self.write_config("INHERIT_remove = \"report-error\"") - result = bitbake(bitbake_cmd, ignore_status=True) + result = self.bitbake(bitbake_cmd, ignore_status=True) if error_msg not in result.output: raise AssertionError(result.output) diff --git a/meta/lib/oeqa/selftest/cases/manifest.py b/meta/lib/oeqa/selftest/cases/manifest.py index 1460719..534a907 100644 --- a/meta/lib/oeqa/selftest/cases/manifest.py +++ b/meta/lib/oeqa/selftest/cases/manifest.py @@ -1,7 +1,6 @@ import os from oeqa.selftest.case import OESelftestTestCase -from oeqa.utils.commands import get_bb_var, get_bb_vars, bitbake from oeqa.core.decorator.oeid import OETestID class ManifestEntry: @@ -12,6 +11,8 @@ class ManifestEntry: class VerifyManifest(OESelftestTestCase): '''Tests for the manifest files and contents of an image''' + _use_own_builddir = True + _main_thread = False @classmethod def check_manifest_entries(self, manifest, path): @@ -37,7 +38,7 @@ class VerifyManifest(OESelftestTestCase): @classmethod def get_dir_from_bb_var(self, bb_var, target = None): target == self.buildtarget if target == None else target - directory = get_bb_var(bb_var, target); + directory = self.get_bb_var(bb_var, target); if not directory or not os.path.isdir(directory): self.logger.debug("{}: {} points to {} when target = {}"\ .format(self.classname, bb_var, directory, target)) @@ -53,7 +54,7 @@ class VerifyManifest(OESelftestTestCase): self.logger.info("{}: doing bitbake {} as a prerequisite of the test"\ .format(self.classname, self.buildtarget)) - if bitbake(self.buildtarget).status: + if self.bitbake(self.buildtarget).status: self.logger.debug("{} Failed to setup {}"\ .format(self.classname, self.buildtarget)) self.skipTest("{}: Cannot setup testing scenario"\ @@ -69,7 +70,7 @@ class VerifyManifest(OESelftestTestCase): bbargs = sdktask + ' ' + self.buildtarget self.logger.debug("{}: doing bitbake {} as a prerequisite of the test"\ .format(self.classname, bbargs)) - if bitbake(bbargs).status: + if self.bitbake(bbargs).status: self.logger.debug("{} Failed to bitbake {}"\ .format(self.classname, bbargs)) self.skipTest("{}: Cannot setup testing scenario"\ @@ -84,7 +85,7 @@ class VerifyManifest(OESelftestTestCase): try: mdir = self.get_dir_from_bb_var('SDK_DEPLOY', self.buildtarget) for k in d_target.keys(): - bb_vars = get_bb_vars(['SDK_NAME', 'SDK_VERSION'], self.buildtarget) + bb_vars = self.get_bb_vars(['SDK_NAME', 'SDK_VERSION'], self.buildtarget) mfilename[k] = "{}-toolchain-{}.{}.manifest".format( bb_vars['SDK_NAME'], bb_vars['SDK_VERSION'], @@ -134,7 +135,7 @@ class VerifyManifest(OESelftestTestCase): try: mdir = self.get_dir_from_bb_var('DEPLOY_DIR_IMAGE', self.buildtarget) - mfilename = get_bb_var("IMAGE_LINK_NAME", self.buildtarget)\ + mfilename = self.get_bb_var("IMAGE_LINK_NAME", self.buildtarget)\ + ".manifest" mpath = os.path.join(mdir, mfilename) if not os.path.isfile(mpath): raise IOError diff --git a/meta/lib/oeqa/selftest/cases/oelib/buildhistory.py b/meta/lib/oeqa/selftest/cases/oelib/buildhistory.py index 08675fd..b77aa22 100644 --- a/meta/lib/oeqa/selftest/cases/oelib/buildhistory.py +++ b/meta/lib/oeqa/selftest/cases/oelib/buildhistory.py @@ -1,15 +1,18 @@ import os from oeqa.selftest.case import OESelftestTestCase import tempfile -from oeqa.utils.commands import get_bb_var from oeqa.core.decorator.oeid import OETestID +from git import Repo +from oe.buildhistory_analysis import blob_to_dict, compare_dict_blobs class TestBlobParsing(OESelftestTestCase): + _use_own_builddir = True + _main_thread = False def setUp(self): import time self.repo_path = tempfile.mkdtemp(prefix='selftest-buildhistory', - dir=get_bb_var('TOPDIR')) + dir=self.get_bb_var('TOPDIR')) try: from git import Repo diff --git a/meta/lib/oeqa/selftest/cases/oescripts.py b/meta/lib/oeqa/selftest/cases/oescripts.py index f7fe200..8d6aa04 100644 --- a/meta/lib/oeqa/selftest/cases/oescripts.py +++ b/meta/lib/oeqa/selftest/cases/oescripts.py @@ -1,15 +1,16 @@ from oeqa.selftest.case import OESelftestTestCase from oeqa.selftest.cases.buildhistory import BuildhistoryBase -from oeqa.utils.commands import Command, runCmd, bitbake, get_bb_var from oeqa.core.decorator.oeid import OETestID class BuildhistoryDiffTests(BuildhistoryBase): + _use_own_builddir = True + _main_thread = False @OETestID(295) def test_buildhistory_diff(self): target = 'xcursor-transparent-theme' self.run_buildhistory_operation(target, target_config="PR = \"r1\"", change_bh_location=True) self.run_buildhistory_operation(target, target_config="PR = \"r0\"", change_bh_location=False, expect_error=True) - result = runCmd("buildhistory-diff -p %s" % get_bb_var('BUILDHISTORY_DIR')) + result = self.runCmd("buildhistory-diff -p %s" % self.get_bb_var('BUILDHISTORY_DIR')) expected_output = 'PR changed from "r1" to "r0"' self.assertTrue(expected_output in result.output, msg="Did not find expected output: %s" % result.output) diff --git a/meta/lib/oeqa/selftest/cases/package.py b/meta/lib/oeqa/selftest/cases/package.py index 169698f..0debb0b 100644 --- a/meta/lib/oeqa/selftest/cases/package.py +++ b/meta/lib/oeqa/selftest/cases/package.py @@ -1,10 +1,12 @@ from oeqa.selftest.case import OESelftestTestCase from oeqa.core.decorator.oeid import OETestID -from oeqa.utils.commands import bitbake, get_bb_vars import subprocess, os import oe.path class VersionOrdering(OESelftestTestCase): + _use_own_builddir = True + _main_thread = False + # version1, version2, sort order tests = ( ("1.0", "1.0", 0), @@ -20,11 +22,11 @@ class VersionOrdering(OESelftestTestCase): super().setUpClass() # Build the tools we need and populate a sysroot - bitbake("dpkg-native opkg-native rpm-native python3-native") - bitbake("build-sysroots -c build_native_sysroot") + cls.bitbake("dpkg-native opkg-native rpm-native python3-native") + cls.bitbake("build-sysroots -c build_native_sysroot") # Get the paths so we can point into the sysroot correctly - vars = get_bb_vars(["STAGING_DIR", "BUILD_ARCH", "bindir_native", "libdir_native"]) + vars = cls.get_bb_vars(["STAGING_DIR", "BUILD_ARCH", "bindir_native", "libdir_native"]) cls.staging = oe.path.join(vars["STAGING_DIR"], vars["BUILD_ARCH"]) cls.bindir = oe.path.join(cls.staging, vars["bindir_native"]) cls.libdir = oe.path.join(cls.staging, vars["libdir_native"]) diff --git a/meta/lib/oeqa/selftest/cases/pkgdata.py b/meta/lib/oeqa/selftest/cases/pkgdata.py index 0b4caf1..042d6e7 100644 --- a/meta/lib/oeqa/selftest/cases/pkgdata.py +++ b/meta/lib/oeqa/selftest/cases/pkgdata.py @@ -3,80 +3,81 @@ import tempfile import fnmatch from oeqa.selftest.case import OESelftestTestCase -from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars from oeqa.core.decorator.oeid import OETestID class OePkgdataUtilTests(OESelftestTestCase): + _use_own_builddir = True + _main_thread = False @classmethod def setUpClass(cls): super(OePkgdataUtilTests, cls).setUpClass() # Ensure we have the right data in pkgdata cls.logger.info('Running bitbake to generate pkgdata') - bitbake('busybox zlib m4') + cls.bitbake('busybox zlib m4') @OETestID(1203) def test_lookup_pkg(self): # Forward tests - result = runCmd('oe-pkgdata-util lookup-pkg "zlib busybox"') + result = self.runCmd('oe-pkgdata-util lookup-pkg "zlib busybox"') self.assertEqual(result.output, 'libz1\nbusybox') - result = runCmd('oe-pkgdata-util lookup-pkg zlib-dev') + result = self.runCmd('oe-pkgdata-util lookup-pkg zlib-dev') self.assertEqual(result.output, 'libz-dev') - result = runCmd('oe-pkgdata-util lookup-pkg nonexistentpkg', ignore_status=True) + result = self.runCmd('oe-pkgdata-util lookup-pkg nonexistentpkg', ignore_status=True) self.assertEqual(result.status, 1, "Status different than 1. output: %s" % result.output) self.assertEqual(result.output, 'ERROR: The following packages could not be found: nonexistentpkg') # Reverse tests - result = runCmd('oe-pkgdata-util lookup-pkg -r "libz1 busybox"') + result = self.runCmd('oe-pkgdata-util lookup-pkg -r "libz1 busybox"') self.assertEqual(result.output, 'zlib\nbusybox') - result = runCmd('oe-pkgdata-util lookup-pkg -r libz-dev') + result = self.runCmd('oe-pkgdata-util lookup-pkg -r libz-dev') self.assertEqual(result.output, 'zlib-dev') - result = runCmd('oe-pkgdata-util lookup-pkg -r nonexistentpkg', ignore_status=True) + result = self.runCmd('oe-pkgdata-util lookup-pkg -r nonexistentpkg', ignore_status=True) self.assertEqual(result.status, 1, "Status different than 1. output: %s" % result.output) self.assertEqual(result.output, 'ERROR: The following packages could not be found: nonexistentpkg') @OETestID(1205) def test_read_value(self): - result = runCmd('oe-pkgdata-util read-value PN libz1') + result = self.runCmd('oe-pkgdata-util read-value PN libz1') self.assertEqual(result.output, 'zlib') - result = runCmd('oe-pkgdata-util read-value PKG libz1') + result = self.runCmd('oe-pkgdata-util read-value PKG libz1') self.assertEqual(result.output, 'libz1') - result = runCmd('oe-pkgdata-util read-value PKGSIZE m4') + result = self.runCmd('oe-pkgdata-util read-value PKGSIZE m4') pkgsize = int(result.output.strip()) self.assertGreater(pkgsize, 1, "Size should be greater than 1. %s" % result.output) @OETestID(1198) def test_find_path(self): - result = runCmd('oe-pkgdata-util find-path /lib/libz.so.1') + result = self.runCmd('oe-pkgdata-util find-path /lib/libz.so.1') self.assertEqual(result.output, 'zlib: /lib/libz.so.1') - result = runCmd('oe-pkgdata-util find-path /usr/bin/m4') + result = self.runCmd('oe-pkgdata-util find-path /usr/bin/m4') self.assertEqual(result.output, 'm4: /usr/bin/m4') - result = runCmd('oe-pkgdata-util find-path /not/exist', ignore_status=True) + result = self.runCmd('oe-pkgdata-util find-path /not/exist', ignore_status=True) self.assertEqual(result.status, 1, "Status different than 1. output: %s" % result.output) self.assertEqual(result.output, 'ERROR: Unable to find any package producing path /not/exist') @OETestID(1204) def test_lookup_recipe(self): - result = runCmd('oe-pkgdata-util lookup-recipe "libz-staticdev busybox"') + result = self.runCmd('oe-pkgdata-util lookup-recipe "libz-staticdev busybox"') self.assertEqual(result.output, 'zlib\nbusybox') - result = runCmd('oe-pkgdata-util lookup-recipe libz-dbg') + result = self.runCmd('oe-pkgdata-util lookup-recipe libz-dbg') self.assertEqual(result.output, 'zlib') - result = runCmd('oe-pkgdata-util lookup-recipe nonexistentpkg', ignore_status=True) + result = self.runCmd('oe-pkgdata-util lookup-recipe nonexistentpkg', ignore_status=True) self.assertEqual(result.status, 1, "Status different than 1. output: %s" % result.output) self.assertEqual(result.output, 'ERROR: The following packages could not be found: nonexistentpkg') @OETestID(1202) def test_list_pkgs(self): # No arguments - result = runCmd('oe-pkgdata-util list-pkgs') + result = self.runCmd('oe-pkgdata-util list-pkgs') pkglist = result.output.split() self.assertIn('zlib', pkglist, "Listed packages: %s" % result.output) self.assertIn('zlib-dev', pkglist, "Listed packages: %s" % result.output) # No pkgspec, runtime - result = runCmd('oe-pkgdata-util list-pkgs -r') + result = self.runCmd('oe-pkgdata-util list-pkgs -r') pkglist = result.output.split() self.assertIn('libz-dev', pkglist, "Listed packages: %s" % result.output) # With recipe specified - result = runCmd('oe-pkgdata-util list-pkgs -p zlib') + result = self.runCmd('oe-pkgdata-util list-pkgs -p zlib') pkglist = sorted(result.output.split()) try: pkglist.remove('zlib-ptest') # in case ptest is disabled @@ -84,7 +85,7 @@ class OePkgdataUtilTests(OESelftestTestCase): pass self.assertEqual(pkglist, ['zlib', 'zlib-dbg', 'zlib-dev', 'zlib-doc', 'zlib-staticdev'], "Packages listed after remove: %s" % result.output) # With recipe specified, runtime - result = runCmd('oe-pkgdata-util list-pkgs -p zlib -r') + result = self.runCmd('oe-pkgdata-util list-pkgs -p zlib -r') pkglist = sorted(result.output.split()) try: pkglist.remove('libz-ptest') # in case ptest is disabled @@ -92,19 +93,19 @@ class OePkgdataUtilTests(OESelftestTestCase): pass self.assertEqual(pkglist, ['libz-dbg', 'libz-dev', 'libz-doc', 'libz-staticdev', 'libz1'], "Packages listed after remove: %s" % result.output) # With recipe specified and unpackaged - result = runCmd('oe-pkgdata-util list-pkgs -p zlib -u') + result = self.runCmd('oe-pkgdata-util list-pkgs -p zlib -u') pkglist = sorted(result.output.split()) self.assertIn('zlib-locale', pkglist, "Listed packages: %s" % result.output) # With recipe specified and unpackaged, runtime - result = runCmd('oe-pkgdata-util list-pkgs -p zlib -u -r') + result = self.runCmd('oe-pkgdata-util list-pkgs -p zlib -u -r') pkglist = sorted(result.output.split()) self.assertIn('libz-locale', pkglist, "Listed packages: %s" % result.output) # With recipe specified and pkgspec - result = runCmd('oe-pkgdata-util list-pkgs -p zlib "*-d*"') + result = self.runCmd('oe-pkgdata-util list-pkgs -p zlib "*-d*"') pkglist = sorted(result.output.split()) self.assertEqual(pkglist, ['zlib-dbg', 'zlib-dev', 'zlib-doc'], "Packages listed: %s" % result.output) # With recipe specified and pkgspec, runtime - result = runCmd('oe-pkgdata-util list-pkgs -p zlib -r "*-d*"') + result = self.runCmd('oe-pkgdata-util list-pkgs -p zlib -r "*-d*"') pkglist = sorted(result.output.split()) self.assertEqual(pkglist, ['libz-dbg', 'libz-dev', 'libz-doc'], "Packages listed: %s" % result.output) @@ -122,20 +123,20 @@ class OePkgdataUtilTests(OESelftestTestCase): curpkg = line.split(':')[0] files[curpkg] = [] return files - bb_vars = get_bb_vars(['base_libdir', 'libdir', 'includedir', 'mandir']) + bb_vars = self.get_bb_vars(['base_libdir', 'libdir', 'includedir', 'mandir']) base_libdir = bb_vars['base_libdir'] libdir = bb_vars['libdir'] includedir = bb_vars['includedir'] mandir = bb_vars['mandir'] # Test recipe-space package name - result = runCmd('oe-pkgdata-util list-pkg-files zlib-dev zlib-doc') + result = self.runCmd('oe-pkgdata-util list-pkg-files zlib-dev zlib-doc') files = splitoutput(result.output) self.assertIn('zlib-dev', list(files.keys()), "listed pkgs. files: %s" %result.output) self.assertIn('zlib-doc', list(files.keys()), "listed pkgs. files: %s" %result.output) self.assertIn(os.path.join(includedir, 'zlib.h'), files['zlib-dev']) self.assertIn(os.path.join(mandir, 'man3/zlib.3'), files['zlib-doc']) # Test runtime package name - result = runCmd('oe-pkgdata-util list-pkg-files -r libz1 libz-dev') + result = self.runCmd('oe-pkgdata-util list-pkg-files -r libz1 libz-dev') files = splitoutput(result.output) self.assertIn('libz1', list(files.keys()), "listed pkgs. files: %s" %result.output) self.assertIn('libz-dev', list(files.keys()), "listed pkgs. files: %s" %result.output) @@ -149,7 +150,7 @@ class OePkgdataUtilTests(OESelftestTestCase): self.assertTrue(found, 'Could not find zlib library file %s in libz1 package file list: %s' % (libspec, files['libz1'])) self.assertIn(os.path.join(includedir, 'zlib.h'), files['libz-dev']) # Test recipe - result = runCmd('oe-pkgdata-util list-pkg-files -p zlib') + result = self.runCmd('oe-pkgdata-util list-pkg-files -p zlib') files = splitoutput(result.output) self.assertIn('zlib-dbg', list(files.keys()), "listed pkgs. files: %s" %result.output) self.assertIn('zlib-doc', list(files.keys()), "listed pkgs. files: %s" %result.output) @@ -162,7 +163,7 @@ class OePkgdataUtilTests(OESelftestTestCase): self.assertIn(os.path.join(mandir, 'man3/zlib.3'), files['zlib-doc']) self.assertIn(os.path.join(libdir, 'libz.a'), files['zlib-staticdev']) # Test recipe, runtime - result = runCmd('oe-pkgdata-util list-pkg-files -p zlib -r') + result = self.runCmd('oe-pkgdata-util list-pkg-files -p zlib -r') files = splitoutput(result.output) self.assertIn('libz-dbg', list(files.keys()), "listed pkgs. files: %s" %result.output) self.assertIn('libz-doc', list(files.keys()), "listed pkgs. files: %s" %result.output) @@ -174,7 +175,7 @@ class OePkgdataUtilTests(OESelftestTestCase): self.assertIn(os.path.join(mandir, 'man3/zlib.3'), files['libz-doc']) self.assertIn(os.path.join(libdir, 'libz.a'), files['libz-staticdev']) # Test recipe, unpackaged - result = runCmd('oe-pkgdata-util list-pkg-files -p zlib -u') + result = self.runCmd('oe-pkgdata-util list-pkg-files -p zlib -u') files = splitoutput(result.output) self.assertIn('zlib-dbg', list(files.keys()), "listed pkgs. files: %s" %result.output) self.assertIn('zlib-doc', list(files.keys()), "listed pkgs. files: %s" %result.output) @@ -186,7 +187,7 @@ class OePkgdataUtilTests(OESelftestTestCase): self.assertIn(os.path.join(mandir, 'man3/zlib.3'), files['zlib-doc']) self.assertIn(os.path.join(libdir, 'libz.a'), files['zlib-staticdev']) # Test recipe, runtime, unpackaged - result = runCmd('oe-pkgdata-util list-pkg-files -p zlib -r -u') + result = self.runCmd('oe-pkgdata-util list-pkg-files -p zlib -r -u') files = splitoutput(result.output) self.assertIn('libz-dbg', list(files.keys()), "listed pkgs. files: %s" %result.output) self.assertIn('libz-doc', list(files.keys()), "listed pkgs. files: %s" %result.output) @@ -206,19 +207,19 @@ class OePkgdataUtilTests(OESelftestTestCase): with open(pkglistfile, 'w') as f: f.write('libz1\n') f.write('busybox\n') - result = runCmd('oe-pkgdata-util glob %s "*-dev"' % pkglistfile) + result = self.runCmd('oe-pkgdata-util glob %s "*-dev"' % pkglistfile) desiredresult = ['libz-dev', 'busybox-dev'] self.assertEqual(sorted(result.output.split()), sorted(desiredresult)) # The following should not error (because when we use this during rootfs construction, sometimes the complementary package won't exist) - result = runCmd('oe-pkgdata-util glob %s "*-nonexistent"' % pkglistfile) + result = self.runCmd('oe-pkgdata-util glob %s "*-nonexistent"' % pkglistfile) self.assertEqual(result.output, '') # Test exclude option - result = runCmd('oe-pkgdata-util glob %s "*-dev *-dbg" -x "^libz"' % pkglistfile) + result = self.runCmd('oe-pkgdata-util glob %s "*-dev *-dbg" -x "^libz"' % pkglistfile) resultlist = result.output.split() self.assertNotIn('libz-dev', resultlist) self.assertNotIn('libz-dbg', resultlist) @OETestID(1206) def test_specify_pkgdatadir(self): - result = runCmd('oe-pkgdata-util -p %s lookup-pkg zlib' % get_bb_var('PKGDATA_DIR')) + result = self.runCmd('oe-pkgdata-util -p %s lookup-pkg zlib' % self.get_bb_var('PKGDATA_DIR')) self.assertEqual(result.output, 'libz1') diff --git a/meta/lib/oeqa/selftest/cases/prservice.py b/meta/lib/oeqa/selftest/cases/prservice.py index ed36f0f..67ef931 100644 --- a/meta/lib/oeqa/selftest/cases/prservice.py +++ b/meta/lib/oeqa/selftest/cases/prservice.py @@ -5,16 +5,17 @@ import datetime import oeqa.utils.ftools as ftools from oeqa.selftest.case import OESelftestTestCase -from oeqa.utils.commands import runCmd, bitbake, get_bb_var from oeqa.core.decorator.oeid import OETestID from oeqa.utils.network import get_free_port class BitbakePrTests(OESelftestTestCase): + _use_own_builddir = True + _main_thread = False @classmethod def setUpClass(cls): super(BitbakePrTests, cls).setUpClass() - cls.pkgdata_dir = get_bb_var('PKGDATA_DIR') + cls.pkgdata_dir = cls.get_bb_var('PKGDATA_DIR') def get_pr_version(self, package_name): package_data_file = os.path.join(self.pkgdata_dir, 'runtime', package_name) @@ -24,7 +25,7 @@ class BitbakePrTests(OESelftestTestCase): return int(find_pr.group(1)) def get_task_stamp(self, package_name, recipe_task): - stampdata = get_bb_var('STAMP', target=package_name).split('/') + stampdata = self.get_bb_var('STAMP', target=package_name).split('/') prefix = stampdata[-1] package_stamps_path = "/".join(stampdata[:-1]) stamps = [] @@ -39,7 +40,7 @@ class BitbakePrTests(OESelftestTestCase): def increment_package_pr(self, package_name): inc_data = "do_package_append() {\n bb.build.exec_func('do_test_prserv', d)\n}\ndo_test_prserv() {\necho \"The current date is: %s\"\n}" % datetime.datetime.now() self.write_recipeinc(package_name, inc_data) - res = bitbake(package_name, ignore_status=True) + res = self.bitbake(package_name, ignore_status=True) self.delete_recipeinc(package_name) self.assertEqual(res.status, 0, msg=res.output) self.assertTrue("NOTE: Started PRServer with DBfile" in res.output, msg=res.output) @@ -71,15 +72,15 @@ class BitbakePrTests(OESelftestTestCase): pr_1 = self.get_pr_version(package_name) exported_db_path = os.path.join(self.builddir, 'export.inc') - export_result = runCmd("bitbake-prserv-tool export %s" % exported_db_path, ignore_status=True) + export_result = self.runCmd("bitbake-prserv-tool export %s" % exported_db_path, ignore_status=True) self.assertEqual(export_result.status, 0, msg="PR Service database export failed: %s" % export_result.output) if replace_current_db: - current_db_path = os.path.join(get_bb_var('PERSISTENT_DIR'), 'prserv.sqlite3') + current_db_path = os.path.join(self.get_bb_var('PERSISTENT_DIR'), 'prserv.sqlite3') self.assertTrue(os.path.exists(current_db_path), msg="Path to current PR Service database is invalid: %s" % current_db_path) os.remove(current_db_path) - import_result = runCmd("bitbake-prserv-tool import %s" % exported_db_path, ignore_status=True) + import_result = self.runCmd("bitbake-prserv-tool import %s" % exported_db_path, ignore_status=True) os.remove(exported_db_path) self.assertEqual(import_result.status, 0, msg="PR Service database import failed: %s" % import_result.output) @@ -124,8 +125,8 @@ class BitbakePrTests(OESelftestTestCase): def test_stopping_prservice_message(self): port = get_free_port() - runCmd('bitbake-prserv --host localhost --port %s --loglevel=DEBUG --start' % port) - ret = runCmd('bitbake-prserv --host localhost --port %s --loglevel=DEBUG --stop' % port) + self.runCmd('bitbake-prserv --host localhost --port %s --loglevel=DEBUG --start' % port) + ret = self.runCmd('bitbake-prserv --host localhost --port %s --loglevel=DEBUG --stop' % port) self.assertEqual(ret.status, 0) diff --git a/meta/lib/oeqa/selftest/cases/selftest.py b/meta/lib/oeqa/selftest/cases/selftest.py index 4b3cb14..f7b8083 100644 --- a/meta/lib/oeqa/selftest/cases/selftest.py +++ b/meta/lib/oeqa/selftest/cases/selftest.py @@ -5,6 +5,8 @@ from oeqa.selftest.case import OESelftestTestCase from oeqa.core.decorator.oeid import OETestID class ExternalLayer(OESelftestTestCase): + _use_own_builddir = True + _main_thread = False @OETestID(1885) def test_list_imported(self): diff --git a/meta/lib/oeqa/selftest/cases/signing.py b/meta/lib/oeqa/selftest/cases/signing.py index 6ef8d8e..749274d 100644 --- a/meta/lib/oeqa/selftest/cases/signing.py +++ b/meta/lib/oeqa/selftest/cases/signing.py @@ -1,5 +1,4 @@ from oeqa.selftest.case import OESelftestTestCase -from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars import os import glob import re @@ -8,8 +7,9 @@ import tempfile from oeqa.core.decorator.oeid import OETestID from oeqa.utils.ftools import write_file - class Signing(OESelftestTestCase): + _use_own_builddir = True + _main_thread = False gpg_dir = "" pub_key_path = "" @@ -28,7 +28,7 @@ class Signing(OESelftestTestCase): cls.pub_key_path = os.path.join(cls.testlayer_path, 'files', 'signing', "key.pub") cls.secret_key_path = os.path.join(cls.testlayer_path, 'files', 'signing', "key.secret") - runCmd('gpg --batch --homedir %s --import %s %s' % (cls.gpg_dir, cls.pub_key_path, cls.secret_key_path)) + cls.runCmd('gpg --batch --homedir %s --import %s %s' % (cls.gpg_dir, cls.pub_key_path, cls.secret_key_path)) @OETestID(1362) def test_signing_packages(self): @@ -43,7 +43,7 @@ class Signing(OESelftestTestCase): """ import oe.packagedata - package_classes = get_bb_var('PACKAGE_CLASSES') + package_classes = self.get_bb_var('PACKAGE_CLASSES') if 'package_rpm' not in package_classes: self.skipTest('This test requires RPM Packaging.') @@ -56,13 +56,13 @@ class Signing(OESelftestTestCase): self.write_config(feature) - bitbake('-c clean %s' % test_recipe) - bitbake('-f -c package_write_rpm %s' % test_recipe) + self.bitbake('-c clean %s' % test_recipe) + self.bitbake('-f -c package_write_rpm %s' % test_recipe) self.add_command_to_tearDown('bitbake -c clean %s' % test_recipe) needed_vars = ['PKGDATA_DIR', 'DEPLOY_DIR_RPM', 'PACKAGE_ARCH', 'STAGING_BINDIR_NATIVE'] - bb_vars = get_bb_vars(needed_vars, test_recipe) + bb_vars = self.get_bb_vars(needed_vars, test_recipe) pkgdatadir = bb_vars['PKGDATA_DIR'] pkgdata = oe.packagedata.read_pkgdatafile(pkgdatadir + "/runtime/ed") if 'PKGE' in pkgdata: @@ -78,10 +78,10 @@ class Signing(OESelftestTestCase): # Use a temporary rpmdb rpmdb = tempfile.mkdtemp(prefix='oeqa-rpmdb') - runCmd('%s/rpmkeys --define "_dbpath %s" --import %s' % + self.runCmd('%s/rpmkeys --define "_dbpath %s" --import %s' % (staging_bindir_native, rpmdb, self.pub_key_path)) - ret = runCmd('%s/rpmkeys --define "_dbpath %s" --checksig %s' % + ret = self.runCmd('%s/rpmkeys --define "_dbpath %s" --checksig %s' % (staging_bindir_native, rpmdb, pkg_deploy)) # tmp/deploy/rpm/i586/ed-1.9-r0.i586.rpm: rsa sha1 md5 OK self.assertIn('rsa sha1 (md5) pgp md5 OK', ret.output, 'Package signed incorrectly.') @@ -89,8 +89,8 @@ class Signing(OESelftestTestCase): #Check that an image can be built from signed packages self.add_command_to_tearDown('bitbake -c clean core-image-minimal') - bitbake('-c clean core-image-minimal') - bitbake('core-image-minimal') + self.bitbake('-c clean core-image-minimal') + self.bitbake('core-image-minimal') @OETestID(1382) @@ -121,8 +121,8 @@ class Signing(OESelftestTestCase): self.write_config(feature) - bitbake('-c clean %s' % test_recipe) - bitbake(test_recipe) + self.bitbake('-c clean %s' % test_recipe) + self.bitbake(test_recipe) recipe_sig = glob.glob(sstatedir + '/*/*:ed:*_package.tgz.sig') recipe_tgz = glob.glob(sstatedir + '/*/*:ed:*_package.tgz') @@ -130,13 +130,15 @@ class Signing(OESelftestTestCase): self.assertEqual(len(recipe_sig), 1, 'Failed to find .sig file.') self.assertEqual(len(recipe_tgz), 1, 'Failed to find .tgz file.') - ret = runCmd('gpg --homedir %s --verify %s %s' % (self.gpg_dir, recipe_sig[0], recipe_tgz[0])) + ret = self.runCmd('gpg --homedir %s --verify %s %s' % (self.gpg_dir, recipe_sig[0], recipe_tgz[0])) # gpg: Signature made Thu 22 Oct 2015 01:45:09 PM EEST using RSA key ID 61EEFB30 # gpg: Good signature from "testuser (nocomment) " self.assertIn('gpg: Good signature from', ret.output, 'Package signed incorrectly.') class LockedSignatures(OESelftestTestCase): + _use_own_builddir = True + _main_thread = False @OETestID(1420) def test_locked_signatures(self): @@ -153,19 +155,19 @@ class LockedSignatures(OESelftestTestCase): self.add_command_to_tearDown('rm -f %s' % os.path.join(self.builddir, locked_sigs_file)) - bitbake(test_recipe) + self.bitbake(test_recipe) # Generate locked sigs include file - bitbake('-S none %s' % test_recipe) + self.bitbake('-S none %s' % test_recipe) feature = 'require %s\n' % locked_sigs_file feature += 'SIGGEN_LOCKEDSIGS_TASKSIG_CHECK = "warn"\n' self.write_config(feature) # Build a locked recipe - bitbake(test_recipe) + self.bitbake(test_recipe) # Make a change that should cause the locked task signature to change - recipe_append_file = test_recipe + '_' + get_bb_var('PV', test_recipe) + '.bbappend' + recipe_append_file = test_recipe + '_' + self.get_bb_var('PV', test_recipe) + '.bbappend' recipe_append_path = os.path.join(self.testlayer_path, 'recipes-test', test_recipe, recipe_append_file) feature = 'SUMMARY += "test locked signature"\n' @@ -175,7 +177,7 @@ class LockedSignatures(OESelftestTestCase): self.add_command_to_tearDown('rm -rf %s' % os.path.join(self.testlayer_path, 'recipes-test', test_recipe)) # Build the recipe again - ret = bitbake(test_recipe) + ret = self.bitbake(test_recipe) # Verify you get the warning and that the real task *isn't* run (i.e. the locked signature has worked) patt = r'WARNING: The %s:do_package sig is computed to be \S+, but the sig is locked to \S+ in SIGGEN_LOCKEDSIGS\S+' % test_recipe diff --git a/meta/lib/oeqa/selftest/cases/sstate.py b/meta/lib/oeqa/selftest/cases/sstate.py index b8c2880..e29787f 100644 --- a/meta/lib/oeqa/selftest/cases/sstate.py +++ b/meta/lib/oeqa/selftest/cases/sstate.py @@ -6,7 +6,6 @@ import shutil import oeqa.utils.ftools as ftools from oeqa.selftest.case import OESelftestTestCase -from oeqa.utils.commands import runCmd, bitbake, get_bb_vars class SStateBase(OESelftestTestCase): @@ -16,7 +15,7 @@ class SStateBase(OESelftestTestCase): self.temp_sstate_location = None needed_vars = ['SSTATE_DIR', 'NATIVELSBSTRING', 'TCLIBC', 'TUNE_ARCH', 'TOPDIR', 'TARGET_VENDOR', 'TARGET_OS'] - bb_vars = get_bb_vars(needed_vars) + bb_vars = self.get_bb_vars(needed_vars) self.sstate_path = bb_vars['SSTATE_DIR'] self.hostdistro = bb_vars['NATIVELSBSTRING'] self.tclibc = bb_vars['TCLIBC'] @@ -35,7 +34,7 @@ class SStateBase(OESelftestTestCase): config_temp_sstate = "SSTATE_DIR = \"%s\"" % temp_sstate_path self.append_config(config_temp_sstate) self.track_for_cleanup(temp_sstate_path) - bb_vars = get_bb_vars(['SSTATE_DIR', 'NATIVELSBSTRING']) + bb_vars = self.get_bb_vars(['SSTATE_DIR', 'NATIVELSBSTRING']) self.sstate_path = bb_vars['SSTATE_DIR'] self.hostdistro = bb_vars['NATIVELSBSTRING'] self.distro_specific_sstate = os.path.join(self.sstate_path, self.hostdistro) diff --git a/meta/lib/oeqa/selftest/cases/sstatetests.py b/meta/lib/oeqa/selftest/cases/sstatetests.py index 4617d16..40b4748 100644 --- a/meta/lib/oeqa/selftest/cases/sstatetests.py +++ b/meta/lib/oeqa/selftest/cases/sstatetests.py @@ -4,22 +4,23 @@ import glob import subprocess from oeqa.selftest.case import OESelftestTestCase -from oeqa.utils.commands import runCmd, bitbake, get_bb_var from oeqa.selftest.cases.sstate import SStateBase from oeqa.core.decorator.oeid import OETestID class SStateTests(SStateBase): + _use_own_builddir = True + _main_thread = False # Test sstate files creation and their location def run_test_sstate_creation(self, targets, distro_specific=True, distro_nonspecific=True, temp_sstate_location=True, should_pass=True): self.config_sstate(temp_sstate_location, [self.sstate_path]) if self.temp_sstate_location: - bitbake(['-cclean'] + targets) + self.bitbake(['-cclean'] + targets) else: - bitbake(['-ccleansstate'] + targets) + self.bitbake(['-ccleansstate'] + targets) - bitbake(targets) + self.bitbake(targets) file_tracker = [] results = self.search_sstate('|'.join(map(str, targets)), distro_specific, distro_nonspecific) if distro_nonspecific: @@ -55,16 +56,16 @@ class SStateTests(SStateBase): def run_test_cleansstate_task(self, targets, distro_specific=True, distro_nonspecific=True, temp_sstate_location=True): self.config_sstate(temp_sstate_location, [self.sstate_path]) - bitbake(['-ccleansstate'] + targets) + self.bitbake(['-ccleansstate'] + targets) - bitbake(targets) + self.bitbake(targets) tgz_created = self.search_sstate('|'.join(map(str, [s + '.*?\.tgz$' for s in targets])), distro_specific, distro_nonspecific) self.assertTrue(tgz_created, msg="Could not find sstate .tgz files for: %s (%s)" % (', '.join(map(str, targets)), str(tgz_created))) siginfo_created = self.search_sstate('|'.join(map(str, [s + '.*?\.siginfo$' for s in targets])), distro_specific, distro_nonspecific) self.assertTrue(siginfo_created, msg="Could not find sstate .siginfo files for: %s (%s)" % (', '.join(map(str, targets)), str(siginfo_created))) - bitbake(['-ccleansstate'] + targets) + self.bitbake(['-ccleansstate'] + targets) tgz_removed = self.search_sstate('|'.join(map(str, [s + '.*?\.tgz$' for s in targets])), distro_specific, distro_nonspecific) self.assertTrue(not tgz_removed, msg="do_cleansstate didn't remove .tgz sstate files for: %s (%s)" % (', '.join(map(str, targets)), str(tgz_removed))) @@ -89,9 +90,9 @@ class SStateTests(SStateBase): def run_test_rebuild_distro_specific_sstate(self, targets, temp_sstate_location=True): self.config_sstate(temp_sstate_location, [self.sstate_path]) - bitbake(['-ccleansstate'] + targets) + self.bitbake(['-ccleansstate'] + targets) - bitbake(targets) + self.bitbake(targets) results = self.search_sstate('|'.join(map(str, [s + '.*?\.tgz$' for s in targets])), distro_specific=False, distro_nonspecific=True) filtered_results = [] for r in results: @@ -106,8 +107,8 @@ class SStateTests(SStateBase): shutil.copytree(self.distro_specific_sstate, self.distro_specific_sstate + "_old") shutil.rmtree(self.distro_specific_sstate) - bitbake(['-cclean'] + targets) - bitbake(targets) + self.bitbake(['-cclean'] + targets) + self.bitbake(targets) file_tracker_2 = self.search_sstate('|'.join(map(str, [s + '.*?\.tgz$' for s in targets])), distro_specific=True, distro_nonspecific=False) self.assertTrue(len(file_tracker_2) >= len(targets), msg = "Not all sstate files ware created for: %s" % ', '.join(map(str, targets))) @@ -150,13 +151,13 @@ class SStateTests(SStateBase): for idx in range(len(target_config)): self.append_config(global_config[idx]) self.append_recipeinc(target, target_config[idx]) - sstate_arch = get_bb_var('SSTATE_PKGARCH', target) + sstate_arch = self.get_bb_var('SSTATE_PKGARCH', target) if not sstate_arch in sstate_archs_list: sstate_archs_list.append(sstate_arch) if target_config[idx] == target_config[-1]: target_sstate_before_build = self.search_sstate(target + '.*?\.tgz$') - bitbake("-cclean %s" % target) - result = bitbake(target, ignore_status=True) + self.bitbake("-cclean %s" % target) + result = self.bitbake(target, ignore_status=True) if target_config[idx] == target_config[-1]: target_sstate_after_build = self.search_sstate(target + '.*?\.tgz$') expected_remaining_sstate += [x for x in target_sstate_after_build if x not in target_sstate_before_build if not any(pattern in x for pattern in ignore_patterns)] @@ -164,7 +165,7 @@ class SStateTests(SStateBase): self.remove_recipeinc(target, target_config[idx]) self.assertEqual(result.status, 0, msg = "build of %s failed with %s" % (target, result.output)) - runCmd("sstate-cache-management.sh -y --cache-dir=%s --remove-duplicated --extra-archs=%s" % (self.sstate_path, ','.join(map(str, sstate_archs_list)))) + self.runCmd("sstate-cache-management.sh -y --cache-dir=%s --remove-duplicated --extra-archs=%s" % (self.sstate_path, ','.join(map(str, sstate_archs_list)))) actual_remaining_sstate = [x for x in self.search_sstate(target + '.*?\.tgz$') if not any(pattern in x for pattern in ignore_patterns)] actual_not_expected = [x for x in actual_remaining_sstate if x not in expected_remaining_sstate] @@ -230,7 +231,7 @@ SDKMACHINE = "x86_64" PACKAGE_CLASSES = "package_rpm package_ipk package_deb" """) self.track_for_cleanup(self.topdir + "/tmp-sstatesamehash") - bitbake("core-image-sato -S none") + self.bitbake("core-image-sato -S none") self.write_config(""" MACHINE = "qemux86" TMPDIR = "${TOPDIR}/tmp-sstatesamehash2" @@ -240,7 +241,7 @@ SDKMACHINE = "i686" PACKAGE_CLASSES = "package_rpm package_ipk package_deb" """) self.track_for_cleanup(self.topdir + "/tmp-sstatesamehash2") - bitbake("core-image-sato -S none") + self.bitbake("core-image-sato -S none") def get_files(d): f = [] @@ -272,13 +273,13 @@ TMPDIR = \"${TOPDIR}/tmp-sstatesamehash\" NATIVELSBSTRING = \"DistroA\" """) self.track_for_cleanup(self.topdir + "/tmp-sstatesamehash") - bitbake("core-image-sato -S none") + self.bitbake("core-image-sato -S none") self.write_config(""" TMPDIR = \"${TOPDIR}/tmp-sstatesamehash2\" NATIVELSBSTRING = \"DistroB\" """) self.track_for_cleanup(self.topdir + "/tmp-sstatesamehash2") - bitbake("core-image-sato -S none") + self.bitbake("core-image-sato -S none") def get_files(d): f = [] @@ -338,10 +339,10 @@ MULTILIBS = \"\" self.write_config(configA) self.track_for_cleanup(self.topdir + "/tmp-sstatesamehash") - bitbake("world meta-toolchain -S none") + self.bitbake("world meta-toolchain -S none") self.write_config(configB) self.track_for_cleanup(self.topdir + "/tmp-sstatesamehash2") - bitbake("world meta-toolchain -S none") + self.bitbake("world meta-toolchain -S none") def get_files(d): f = {} @@ -382,7 +383,7 @@ MULTILIBS = "multilib:lib32" DEFAULTTUNE_virtclass-multilib-lib32 = "x86" """) self.track_for_cleanup(self.topdir + "/tmp-sstatesamehash") - bitbake("world meta-toolchain -S none") + self.bitbake("world meta-toolchain -S none") self.write_config(""" TMPDIR = \"${TOPDIR}/tmp-sstatesamehash2\" MACHINE = \"qemux86copy\" @@ -391,7 +392,7 @@ MULTILIBS = "multilib:lib32" DEFAULTTUNE_virtclass-multilib-lib32 = "x86" """) self.track_for_cleanup(self.topdir + "/tmp-sstatesamehash2") - bitbake("world meta-toolchain -S none") + self.bitbake("world meta-toolchain -S none") def get_files(d): f = [] @@ -430,7 +431,7 @@ http_proxy = "" """) self.track_for_cleanup(self.topdir + "/tmp-sstatesamehash") self.track_for_cleanup(self.topdir + "/download1") - bitbake("world meta-toolchain -S none") + self.bitbake("world meta-toolchain -S none") self.write_config(""" TMPDIR = "${TOPDIR}/tmp-sstatesamehash2" BB_NUMBER_THREADS = "${@oe.utils.cpu_count()+1}" @@ -445,7 +446,7 @@ http_proxy = "http://example.com/" """) self.track_for_cleanup(self.topdir + "/tmp-sstatesamehash2") self.track_for_cleanup(self.topdir + "/download2") - bitbake("world meta-toolchain -S none") + self.bitbake("world meta-toolchain -S none") def get_files(d): f = {} -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 09:44:46 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 09:44:46 +0000 Subject: [oe-commits] [openembedded-core] 26/28: seltest/cases/devtool: Build dbus on test_devtool_add_git_local In-Reply-To: <150054386087.23220.15233943626715029805@git.openembedded.org> References: <150054386087.23220.15233943626715029805@git.openembedded.org> Message-ID: <20170720094422.1643823360F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit a62332cd33db878b85f9bcccd184f62217311ae8 Author: An?bal Lim?n AuthorDate: Mon Jul 10 09:37:28 2017 -0700 seltest/cases/devtool: Build dbus on test_devtool_add_git_local The dbus-wait recipe has the dependency of dbus, due to now we have build folder per test class the dependency needs to be build before run devtool add because without it the DEPENDS field is unset. The devtool/recipetool uses previously build recipes to figure out the dependencies. Signed-off-by: An?bal Lim?n --- meta/lib/oeqa/selftest/cases/devtool.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/lib/oeqa/selftest/cases/devtool.py b/meta/lib/oeqa/selftest/cases/devtool.py index f88a842..1e83064 100644 --- a/meta/lib/oeqa/selftest/cases/devtool.py +++ b/meta/lib/oeqa/selftest/cases/devtool.py @@ -248,6 +248,8 @@ class DevtoolTests(DevtoolCommon): # Test devtool add self.track_for_cleanup(self.workspacedir) self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) + # dbus needs to be built because is a dependency of dbus-wait + self.bitbake('dbus') # Don't specify a name since we should be able to auto-detect it result = self.runCmd('devtool add %s' % srcdir) self.assertExists(os.path.join(self.workspacedir, 'conf', 'layer.conf'), 'Workspace directory not created') -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 09:44:41 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 09:44:41 +0000 Subject: [oe-commits] [openembedded-core] 21/28: oeqa/selftest/cases: eSDK enable threaded runs In-Reply-To: <150054386087.23220.15233943626715029805@git.openembedded.org> References: <150054386087.23220.15233943626715029805@git.openembedded.org> Message-ID: <20170720094421.D6D4A233622@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit e39e3f9a74e4ea5a8288c9965ec949cde3949ad9 Author: An?bal Lim?n AuthorDate: Tue Jun 13 15:49:04 2017 -0500 oeqa/selftest/cases: eSDK enable threaded runs - Change some staticmethods to classmethods to be able access wrappers from OESelfTestCase. - Remove unused method update_configuration. Signed-off-by: An?bal Lim?n --- meta/lib/oeqa/selftest/cases/eSDK.py | 64 +++++++++++++----------------------- 1 file changed, 22 insertions(+), 42 deletions(-) diff --git a/meta/lib/oeqa/selftest/cases/eSDK.py b/meta/lib/oeqa/selftest/cases/eSDK.py index 0a81a0d..a99eb9c 100644 --- a/meta/lib/oeqa/selftest/cases/eSDK.py +++ b/meta/lib/oeqa/selftest/cases/eSDK.py @@ -4,24 +4,25 @@ import os import glob from oeqa.core.decorator.oeid import OETestID from oeqa.selftest.case import OESelftestTestCase -from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars class oeSDKExtSelfTest(OESelftestTestCase): + _use_own_builddir = True + _main_thread = False + """ # Bugzilla Test Plan: 6033 # This code is planned to be part of the automation for eSDK containig # Install libraries and headers, image generation binary feeds, sdk-update. """ - - @staticmethod - def get_esdk_environment(env_eSDK, tmpdir_eSDKQA): + @classmethod + def get_esdk_environment(cls, env_eSDK, tmpdir_eSDKQA): # XXX: at this time use the first env need to investigate # what environment load oe-selftest, i586, x86_64 pattern = os.path.join(tmpdir_eSDKQA, 'environment-setup-*') return glob.glob(pattern)[0] - @staticmethod - def run_esdk_cmd(env_eSDK, tmpdir_eSDKQA, cmd, postconfig=None, **options): + @classmethod + def run_esdk_cmd(cls, env_eSDK, tmpdir_eSDKQA, cmd, postconfig=None, **options): if postconfig: esdk_conf_file = os.path.join(tmpdir_eSDKQA, 'conf', 'local.conf') with open(esdk_conf_file, 'a+') as f: @@ -31,57 +32,37 @@ class oeSDKExtSelfTest(OESelftestTestCase): if not 'shell' in options: options['shell'] = True - runCmd("cd %s; . %s; %s" % (tmpdir_eSDKQA, env_eSDK, cmd), **options) + cls.runCmd("cd %s; . %s; %s" % (tmpdir_eSDKQA, env_eSDK, cmd), **options) - @staticmethod - def generate_eSDK(image): + @classmethod + def generate_eSDK(cls, image): pn_task = '%s -c populate_sdk_ext' % image - bitbake(pn_task) + cls.bitbake(pn_task) - @staticmethod - def get_eSDK_toolchain(image): + @classmethod + def get_eSDK_toolchain(cls, image): pn_task = '%s -c populate_sdk_ext' % image - bb_vars = get_bb_vars(['SDK_DEPLOY', 'TOOLCHAINEXT_OUTPUTNAME'], pn_task) + bb_vars = cls.get_bb_vars(['SDK_DEPLOY', 'TOOLCHAINEXT_OUTPUTNAME'], pn_task) sdk_deploy = bb_vars['SDK_DEPLOY'] toolchain_name = bb_vars['TOOLCHAINEXT_OUTPUTNAME'] return os.path.join(sdk_deploy, toolchain_name + '.sh') - @staticmethod - def update_configuration(cls, image, tmpdir_eSDKQA, env_eSDK, ext_sdk_path): - sstate_dir = os.path.join(cls.builddir, 'sstate-cache') - - oeSDKExtSelfTest.generate_eSDK(cls.image) - - cls.ext_sdk_path = oeSDKExtSelfTest.get_eSDK_toolchain(cls.image) - runCmd("%s -y -d \"%s\"" % (cls.ext_sdk_path, cls.tmpdir_eSDKQA)) - - cls.env_eSDK = oeSDKExtSelfTest.get_esdk_environment('', cls.tmpdir_eSDKQA) - - sstate_config=""" -SDK_LOCAL_CONF_WHITELIST = "SSTATE_MIRRORS" -SSTATE_MIRRORS = "file://.* file://%s/PATH" -CORE_IMAGE_EXTRA_INSTALL = "perl" - """ % sstate_dir - - with open(os.path.join(cls.tmpdir_eSDKQA, 'conf', 'local.conf'), 'a+') as f: - f.write(sstate_config) - @classmethod def setUpClass(cls): super(oeSDKExtSelfTest, cls).setUpClass() cls.tmpdir_eSDKQA = tempfile.mkdtemp(prefix='eSDKQA') - sstate_dir = get_bb_var('SSTATE_DIR') + sstate_dir = cls.get_bb_var('SSTATE_DIR') cls.image = 'core-image-minimal' - oeSDKExtSelfTest.generate_eSDK(cls.image) + cls.generate_eSDK(cls.image) # Install eSDK - cls.ext_sdk_path = oeSDKExtSelfTest.get_eSDK_toolchain(cls.image) - runCmd("%s -y -d \"%s\"" % (cls.ext_sdk_path, cls.tmpdir_eSDKQA)) + cls.ext_sdk_path = cls.get_eSDK_toolchain(cls.image) + cls.runCmd("%s -y -d \"%s\"" % (cls.ext_sdk_path, cls.tmpdir_eSDKQA)) - cls.env_eSDK = oeSDKExtSelfTest.get_esdk_environment('', cls.tmpdir_eSDKQA) + cls.env_eSDK = cls.get_esdk_environment('', cls.tmpdir_eSDKQA) # Configure eSDK to use sstate mirror from poky sstate_config=""" @@ -99,13 +80,12 @@ SSTATE_MIRRORS = "file://.* file://%s/PATH" @OETestID(1602) def test_install_libraries_headers(self): pn_sstate = 'bc' - bitbake(pn_sstate) + self.bitbake(pn_sstate) cmd = "devtool sdk-install %s " % pn_sstate - oeSDKExtSelfTest.run_esdk_cmd(self.env_eSDK, self.tmpdir_eSDKQA, cmd) + self.run_esdk_cmd(self.env_eSDK, self.tmpdir_eSDKQA, cmd) @OETestID(1603) def test_image_generation_binary_feeds(self): image = 'core-image-minimal' cmd = "devtool build-image %s" % image - oeSDKExtSelfTest.run_esdk_cmd(self.env_eSDK, self.tmpdir_eSDKQA, cmd) - + self.run_esdk_cmd(self.env_eSDK, self.tmpdir_eSDKQA, cmd) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 09:44:43 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 09:44:43 +0000 Subject: [oe-commits] [openembedded-core] 23/28: oeqa/selftest/cases: recipetool enable for threaded runs In-Reply-To: <150054386087.23220.15233943626715029805@git.openembedded.org> References: <150054386087.23220.15233943626715029805@git.openembedded.org> Message-ID: <20170720094421.EE3AA23360E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit f04d3f5390863ef89f00d35e7c2996dc3bedf230 Author: An?bal Lim?n AuthorDate: Tue Jun 13 13:50:48 2017 -0500 oeqa/selftest/cases: recipetool enable for threaded runs - Change to use wrappers from OESelfTestCase. - Move templayer dir creation to RecipetoolBase class because now every class has its own build folder. Signed-off-by: An?bal Lim?n --- meta/lib/oeqa/selftest/cases/recipetool.py | 105 +++++++++++++++-------------- 1 file changed, 54 insertions(+), 51 deletions(-) diff --git a/meta/lib/oeqa/selftest/cases/recipetool.py b/meta/lib/oeqa/selftest/cases/recipetool.py index bdd405f..5954433 100644 --- a/meta/lib/oeqa/selftest/cases/recipetool.py +++ b/meta/lib/oeqa/selftest/cases/recipetool.py @@ -3,30 +3,30 @@ import shutil import tempfile import urllib.parse -from oeqa.utils.commands import runCmd, bitbake, get_bb_var -from oeqa.utils.commands import get_bb_vars, create_temp_layer -from oeqa.core.decorator.oeid import OETestID from oeqa.selftest.cases import devtool +from oeqa.utils.commands import create_temp_layer +from oeqa.core.decorator.oeid import OETestID -templayerdir = None - -def setUpModule(): - global templayerdir - templayerdir = tempfile.mkdtemp(prefix='recipetoolqa') - create_temp_layer(templayerdir, 'selftestrecipetool') - runCmd('bitbake-layers add-layer %s' % templayerdir) - +class RecipetoolBase(devtool.DevtoolBase): + @classmethod + def setUpClass(cls): + super(RecipetoolBase, cls).setUpClass() -def tearDownModule(): - runCmd('bitbake-layers remove-layer %s' % templayerdir, ignore_status=True) - runCmd('rm -rf %s' % templayerdir) + cls.templayerdir = tempfile.mkdtemp(prefix='recipetoolqa') + create_temp_layer(cls.templayerdir, 'selftestrecipetool') + cls.runCmd('bitbake-layers add-layer %s' % cls.templayerdir) + @classmethod + def tearDownClass(cls): + super(RecipetoolBase, cls).tearDownClass() -class RecipetoolBase(devtool.DevtoolBase): + cls.runCmd('bitbake-layers remove-layer %s' % cls.templayerdir, + ignore_status=True) + cls.runCmd('rm -rf %s' % cls.templayerdir) def setUpLocal(self): super(RecipetoolBase, self).setUpLocal() - self.templayerdir = templayerdir + self.tempdir = tempfile.mkdtemp(prefix='recipetoolqa') self.track_for_cleanup(self.tempdir) self.testfile = os.path.join(self.tempdir, 'testfile') @@ -34,15 +34,15 @@ class RecipetoolBase(devtool.DevtoolBase): f.write('Test file\n') def tearDownLocal(self): - runCmd('rm -rf %s/recipes-*' % self.templayerdir) + self.runCmd('rm -rf %s/recipes-*' % self.templayerdir) super(RecipetoolBase, self).tearDownLocal() def _try_recipetool_appendcmd(self, cmd, testrecipe, expectedfiles, expectedlines=None): - result = runCmd(cmd) + result = self.runCmd(cmd) self.assertNotIn('Traceback', result.output) # Check the bbappend was created and applies properly - recipefile = get_bb_var('FILE', testrecipe) + recipefile = self.get_bb_var('FILE', testrecipe) bbappendfile = self._check_bbappend(testrecipe, recipefile, self.templayerdir) # Check the bbappend contents @@ -66,14 +66,16 @@ class RecipetoolBase(devtool.DevtoolBase): class RecipetoolTests(RecipetoolBase): + _use_own_builddir = True + _main_thread = False @classmethod def setUpClass(cls): super(RecipetoolTests, cls).setUpClass() # Ensure we have the right data in shlibs/pkgdata cls.logger.info('Running bitbake to generate pkgdata') - bitbake('-c packagedata base-files coreutils busybox selftest-recipetool-appendfile') - bb_vars = get_bb_vars(['COREBASE', 'BBPATH']) + cls.bitbake('-c packagedata base-files coreutils busybox selftest-recipetool-appendfile') + bb_vars = cls.get_bb_vars(['COREBASE', 'BBPATH']) cls.corebase = bb_vars['COREBASE'] cls.bbpath = bb_vars['BBPATH'] @@ -83,7 +85,7 @@ class RecipetoolTests(RecipetoolBase): def _try_recipetool_appendfile_fail(self, destfile, newfile, checkerror): cmd = 'recipetool appendfile %s %s %s' % (self.templayerdir, destfile, newfile) - result = runCmd(cmd, ignore_status=True) + result = self.runCmd(cmd, ignore_status=True) self.assertNotEqual(result.status, 0, 'Command "%s" should have failed but didn\'t' % cmd) self.assertNotIn('Traceback', result.output) for errorstr in checkerror: @@ -125,7 +127,7 @@ class RecipetoolTests(RecipetoolBase): bbappendfile, _ = self._try_recipetool_appendfile('coreutils', '/bin/ls', self.testfile, '-r coreutils', expectedlines, [testfile2name]) # But file should have copiedfile = os.path.join(os.path.dirname(bbappendfile), 'coreutils', testfile2name) - result = runCmd('diff -q %s %s' % (testfile2, copiedfile), ignore_status=True) + result = self.runCmd('diff -q %s %s' % (testfile2, copiedfile), ignore_status=True) self.assertNotEqual(result.status, 0, 'New file should have been copied but was not %s' % result.output) @OETestID(1178) @@ -133,7 +135,7 @@ class RecipetoolTests(RecipetoolBase): # Try appending a binary file # /bin/ls can be a symlink to /usr/bin/ls ls = os.path.realpath("/bin/ls") - result = runCmd('recipetool appendfile %s /bin/ls %s -r coreutils' % (self.templayerdir, ls)) + result = self.runCmd('recipetool appendfile %s /bin/ls %s -r coreutils' % (self.templayerdir, ls)) self.assertIn('WARNING: ', result.output) self.assertIn('is a binary', result.output) @@ -326,7 +328,7 @@ class RecipetoolTests(RecipetoolBase): # Try creating a bbappend in a layer that's not in bblayers.conf and has a different structure exttemplayerdir = os.path.join(self.tempdir, 'extlayer') self._create_temp_layer(exttemplayerdir, False, 'oeselftestextlayer', recipepathspec='metadata/recipes/recipes-*/*') - result = runCmd('recipetool appendfile %s /usr/share/selftest-replaceme-orig %s' % (exttemplayerdir, self.testfile)) + result = self.runCmd('recipetool appendfile %s /usr/share/selftest-replaceme-orig %s' % (exttemplayerdir, self.testfile)) self.assertNotIn('Traceback', result.output) createdfiles = [] for root, _, files in os.walk(exttemplayerdir): @@ -341,7 +343,7 @@ class RecipetoolTests(RecipetoolBase): def test_recipetool_appendfile_wildcard(self): def try_appendfile_wc(options): - result = runCmd('recipetool appendfile %s /etc/profile %s %s' % (self.templayerdir, self.testfile, options)) + result = self.runCmd('recipetool appendfile %s /etc/profile %s %s' % (self.templayerdir, self.testfile, options)) self.assertNotIn('Traceback', result.output) bbappendfile = None for root, _, files in os.walk(self.templayerdir): @@ -351,11 +353,11 @@ class RecipetoolTests(RecipetoolBase): break if not bbappendfile: self.fail('No bbappend file created') - runCmd('rm -rf %s/recipes-*' % self.templayerdir) + self.runCmd('rm -rf %s/recipes-*' % self.templayerdir) return bbappendfile # Check without wildcard option - recipefn = os.path.basename(get_bb_var('FILE', 'base-files')) + recipefn = os.path.basename(self.get_bb_var('FILE', 'base-files')) filename = try_appendfile_wc('') self.assertEqual(filename, recipefn.replace('.bb', '.bbappend')) # Now check with wildcard option @@ -369,7 +371,7 @@ class RecipetoolTests(RecipetoolBase): os.makedirs(tempsrc) recipefile = os.path.join(self.tempdir, 'logrotate_3.8.7.bb') srcuri = 'https://github.com/logrotate/logrotate/archive/r3-8-7.tar.gz' - result = runCmd('recipetool create -o %s %s -x %s' % (recipefile, srcuri, tempsrc)) + result = self.runCmd('recipetool create -o %s %s -x %s' % (recipefile, srcuri, tempsrc)) self.assertTrue(os.path.isfile(recipefile)) checkvars = {} checkvars['LICENSE'] = 'GPLv2' @@ -381,16 +383,16 @@ class RecipetoolTests(RecipetoolBase): @OETestID(1194) def test_recipetool_create_git(self): - if 'x11' not in get_bb_var('DISTRO_FEATURES'): + if 'x11' not in self.get_bb_var('DISTRO_FEATURES'): self.skipTest('Test requires x11 as distro feature') # Ensure we have the right data in shlibs/pkgdata - bitbake('libpng pango libx11 libxext jpeg libcheck') + self.bitbake('libpng pango libx11 libxext jpeg libcheck') # Try adding a recipe tempsrc = os.path.join(self.tempdir, 'srctree') os.makedirs(tempsrc) recipefile = os.path.join(self.tempdir, 'libmatchbox.bb') srcuri = 'git://git.yoctoproject.org/libmatchbox' - result = runCmd(['recipetool', 'create', '-o', recipefile, srcuri + ";rev=9f7cf8895ae2d39c465c04cc78e918c157420269", '-x', tempsrc]) + result = self.runCmd(['recipetool', 'create', '-o', recipefile, srcuri + ";rev=9f7cf8895ae2d39c465c04cc78e918c157420269", '-x', tempsrc]) self.assertTrue(os.path.isfile(recipefile), 'recipetool did not create recipe file; output:\n%s' % result.output) checkvars = {} checkvars['LICENSE'] = 'LGPLv2.1' @@ -409,7 +411,7 @@ class RecipetoolTests(RecipetoolBase): os.makedirs(temprecipe) pv = '1.7.3.0' srcuri = 'http://www.dest-unreach.org/socat/download/socat-%s.tar.bz2' % pv - result = runCmd('recipetool create %s -o %s' % (srcuri, temprecipe)) + result = self.runCmd('recipetool create %s -o %s' % (srcuri, temprecipe)) dirlist = os.listdir(temprecipe) if len(dirlist) > 1: self.fail('recipetool created more than just one file; output:\n%s\ndirlist:\n%s' % (result.output, str(dirlist))) @@ -432,7 +434,7 @@ class RecipetoolTests(RecipetoolBase): os.makedirs(temprecipe) recipefile = os.path.join(temprecipe, 'navit_0.5.0.bb') srcuri = 'http://downloads.sourceforge.net/project/navit/v0.5.0/navit-0.5.0.tar.gz' - result = runCmd('recipetool create -o %s %s' % (temprecipe, srcuri)) + result = self.runCmd('recipetool create -o %s %s' % (temprecipe, srcuri)) self.assertTrue(os.path.isfile(recipefile)) checkvars = {} checkvars['LICENSE'] = set(['Unknown', 'GPLv2', 'LGPLv2']) @@ -450,7 +452,7 @@ class RecipetoolTests(RecipetoolBase): os.makedirs(temprecipe) recipefile = os.path.join(temprecipe, 'meson_git.bb') srcuri = 'https://github.com/mesonbuild/meson;rev=0.32.0' - result = runCmd(['recipetool', 'create', '-o', temprecipe, srcuri]) + result = self.runCmd(['recipetool', 'create', '-o', temprecipe, srcuri]) self.assertTrue(os.path.isfile(recipefile)) checkvars = {} checkvars['LICENSE'] = set(['Apache-2.0']) @@ -466,7 +468,7 @@ class RecipetoolTests(RecipetoolBase): pv = '0.32.0' recipefile = os.path.join(temprecipe, 'meson_%s.bb' % pv) srcuri = 'https://github.com/mesonbuild/meson/releases/download/%s/meson-%s.tar.gz' % (pv, pv) - result = runCmd('recipetool create -o %s %s' % (temprecipe, srcuri)) + result = self.runCmd('recipetool create -o %s %s' % (temprecipe, srcuri)) self.assertTrue(os.path.isfile(recipefile)) checkvars = {} checkvars['LICENSE'] = set(['Apache-2.0']) @@ -481,7 +483,7 @@ class RecipetoolTests(RecipetoolBase): os.makedirs(temprecipe) recipefile = os.path.join(temprecipe, 'matchbox-terminal_git.bb') srcuri = 'http://git.yoctoproject.org/git/matchbox-terminal' - result = runCmd('recipetool create -o %s %s' % (temprecipe, srcuri)) + result = self.runCmd('recipetool create -o %s %s' % (temprecipe, srcuri)) self.assertTrue(os.path.isfile(recipefile)) checkvars = {} checkvars['LICENSE'] = set(['GPLv2']) @@ -506,8 +508,8 @@ class RecipetoolTests(RecipetoolBase): def test_recipetool_load_plugin(self): """Test that recipetool loads only the first found plugin in BBPATH.""" - recipetool = runCmd("which recipetool") - fromname = runCmd("recipetool --quiet pluginfile") + recipetool = self.runCmd("which recipetool") + fromname = self.runCmd("recipetool --quiet pluginfile") srcfile = fromname.output searchpath = self.bbpath.split(':') + [os.path.dirname(recipetool.output)] plugincontent = [] @@ -517,12 +519,12 @@ class RecipetoolTests(RecipetoolBase): self.assertIn('meta-selftest', srcfile, 'wrong bbpath plugin found') for path in searchpath: self._copy_file_with_cleanup(srcfile, path, 'lib', 'recipetool') - result = runCmd("recipetool --quiet count") + result = self.runCmd("recipetool --quiet count") self.assertEqual(result.output, '1') - result = runCmd("recipetool --quiet multiloaded") + result = self.runCmd("recipetool --quiet multiloaded") self.assertEqual(result.output, "no") for path in searchpath: - result = runCmd("recipetool --quiet bbdir") + result = self.runCmd("recipetool --quiet bbdir") self.assertEqual(result.output, path) os.unlink(os.path.join(result.output, 'lib', 'recipetool', 'bbpath.py')) finally: @@ -548,16 +550,15 @@ class RecipetoolAppendsrcBase(RecipetoolBase): def _try_recipetool_appendsrcfile_fail(self, testrecipe, newfile, destfile, checkerror): cmd = 'recipetool appendsrcfile %s %s %s %s' % (self.templayerdir, testrecipe, newfile, destfile or '') - result = runCmd(cmd, ignore_status=True) + result = self.runCmd(cmd, ignore_status=True) self.assertNotEqual(result.status, 0, 'Command "%s" should have failed but didn\'t' % cmd) self.assertNotIn('Traceback', result.output) for errorstr in checkerror: self.assertIn(errorstr, result.output) - @staticmethod - def _get_first_file_uri(recipe): + def _get_first_file_uri(self, recipe): '''Return the first file:// in SRC_URI for the specified recipe.''' - src_uri = get_bb_var('SRC_URI', recipe).split() + src_uri = self.get_bb_var('SRC_URI', recipe).split() for uri in src_uri: p = urllib.parse.urlparse(uri) if p.scheme == 'file': @@ -605,7 +606,7 @@ class RecipetoolAppendsrcBase(RecipetoolBase): self._try_recipetool_appendsrcfiles(testrecipe, newfiles, expectedfiles=expectedfiles, destdir=destdir, options=options) - bb_vars = get_bb_vars(['SRC_URI', 'FILE', 'FILESEXTRAPATHS'], testrecipe) + bb_vars = self.get_bb_vars(['SRC_URI', 'FILE', 'FILESEXTRAPATHS'], testrecipe) src_uri = bb_vars['SRC_URI'].split() for f in expectedfiles: if destdir: @@ -623,6 +624,8 @@ class RecipetoolAppendsrcBase(RecipetoolBase): class RecipetoolAppendsrcTests(RecipetoolAppendsrcBase): + _use_own_builddir = True + _main_thread = False @OETestID(1273) def test_recipetool_appendsrcfile_basic(self): @@ -632,7 +635,7 @@ class RecipetoolAppendsrcTests(RecipetoolAppendsrcBase): def test_recipetool_appendsrcfile_basic_wildcard(self): testrecipe = 'base-files' self._test_appendsrcfile(testrecipe, 'a-file', options='-w') - recipefile = get_bb_var('FILE', testrecipe) + recipefile = self.get_bb_var('FILE', testrecipe) bbappendfile = self._check_bbappend(testrecipe, recipefile, self.templayerdir) self.assertEqual(os.path.basename(bbappendfile), '%s_%%.bbappend' % testrecipe) @@ -647,7 +650,7 @@ class RecipetoolAppendsrcTests(RecipetoolAppendsrcBase): @OETestID(1280) def test_recipetool_appendsrcfile_srcdir_basic(self): testrecipe = 'bash' - bb_vars = get_bb_vars(['S', 'WORKDIR'], testrecipe) + bb_vars = self.get_bb_vars(['S', 'WORKDIR'], testrecipe) srcdir = bb_vars['S'] workdir = bb_vars['WORKDIR'] subdir = os.path.relpath(srcdir, workdir) @@ -674,13 +677,13 @@ class RecipetoolAppendsrcTests(RecipetoolAppendsrcBase): def test_recipetool_appendsrcfile_replace_file_srcdir(self): testrecipe = 'bash' filepath = 'Makefile.in' - bb_vars = get_bb_vars(['S', 'WORKDIR'], testrecipe) + bb_vars = self.get_bb_vars(['S', 'WORKDIR'], testrecipe) srcdir = bb_vars['S'] workdir = bb_vars['WORKDIR'] subdir = os.path.relpath(srcdir, workdir) self._test_appendsrcfile(testrecipe, filepath, srcdir=subdir) - bitbake('%s:do_unpack' % testrecipe) + self.bitbake('%s:do_unpack' % testrecipe) self.assertEqual(open(self.testfile, 'r').read(), open(os.path.join(srcdir, filepath), 'r').read()) @OETestID(1278) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 09:44:45 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 09:44:45 +0000 Subject: [oe-commits] [openembedded-core] 25/28: selftest/cases/devtool{, end}: Move update/finish_{upgrade, modify} tests to its own module In-Reply-To: <150054386087.23220.15233943626715029805@git.openembedded.org> References: <150054386087.23220.15233943626715029805@git.openembedded.org> Message-ID: <20170720094422.0EC782335E8@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit c632fd18d62e5079b8c9d6546af47227fca49994 Author: An?bal Lim?n AuthorDate: Wed Jul 5 09:34:18 2017 -0700 selftest/cases/devtool{,end}: Move update/finish_{upgrade,modify} tests to its own module This devtool tests are set to run at end because made changes into the poky repository causing problems (non deteministic meta data) in other execution threads. Signed-off-by: An?bal Lim?n --- meta/lib/oeqa/selftest/cases/devtool.py | 624 ++-------------------------- meta/lib/oeqa/selftest/cases/devtool_end.py | 592 ++++++++++++++++++++++++++ 2 files changed, 618 insertions(+), 598 deletions(-) diff --git a/meta/lib/oeqa/selftest/cases/devtool.py b/meta/lib/oeqa/selftest/cases/devtool.py index 3d8d246..f88a842 100644 --- a/meta/lib/oeqa/selftest/cases/devtool.py +++ b/meta/lib/oeqa/selftest/cases/devtool.py @@ -112,6 +112,32 @@ class DevtoolBase(OESelftestTestCase): filelist.append(' '.join(splitline)) return filelist + def _check_src_repo(self, repo_dir): + """Check srctree git repository""" + self.assertTrue(os.path.isdir(os.path.join(repo_dir, '.git')), + 'git repository for external source tree not found') + result = self.runCmd('git status --porcelain', cwd=repo_dir) + self.assertEqual(result.output.strip(), "", + 'Created git repo is not clean') + result = self.runCmd('git symbolic-ref HEAD', cwd=repo_dir) + self.assertEqual(result.output.strip(), "refs/heads/devtool", + 'Wrong branch in git repo') + + def _check_repo_status(self, repo_dir, expected_status): + """Check the worktree status of a repository""" + result = self.runCmd('git status . --porcelain', + cwd=repo_dir) + for line in result.output.splitlines(): + for ind, (f_status, fn_re) in enumerate(expected_status): + if re.match(fn_re, line[3:]): + if f_status != line[:2]: + self.fail('Unexpected status in line: %s' % line) + expected_status.pop(ind) + break + else: + self.fail('Unexpected modified file in line: %s' % line) + if expected_status: + self.fail('Missing file changes: %s' % expected_status) class DevtoolCommon(DevtoolBase): _use_own_builddir = True @@ -150,33 +176,6 @@ class DevtoolTests(DevtoolCommon): _use_own_builddir = True _main_thread = False - def _check_src_repo(self, repo_dir): - """Check srctree git repository""" - self.assertTrue(os.path.isdir(os.path.join(repo_dir, '.git')), - 'git repository for external source tree not found') - result = self.runCmd('git status --porcelain', cwd=repo_dir) - self.assertEqual(result.output.strip(), "", - 'Created git repo is not clean') - result = self.runCmd('git symbolic-ref HEAD', cwd=repo_dir) - self.assertEqual(result.output.strip(), "refs/heads/devtool", - 'Wrong branch in git repo') - - def _check_repo_status(self, repo_dir, expected_status): - """Check the worktree status of a repository""" - result = self.runCmd('git status . --porcelain', - cwd=repo_dir) - for line in result.output.splitlines(): - for ind, (f_status, fn_re) in enumerate(expected_status): - if re.match(fn_re, line[3:]): - if f_status != line[:2]: - self.fail('Unexpected status in line: %s' % line) - expected_status.pop(ind) - break - else: - self.fail('Unexpected modified file in line: %s' % line) - if expected_status: - self.fail('Missing file changes: %s' % expected_status) - @OETestID(1158) def test_create_workspace(self): # Check preconditions @@ -687,417 +686,6 @@ class DevtoolTests(DevtoolCommon): self._check_src_repo(tempdir) # This is probably sufficient - - @OETestID(1169) - def test_devtool_update_recipe(self): - # Check preconditions - testrecipe = 'minicom' - bb_vars = self.get_bb_vars(['FILE', 'SRC_URI'], testrecipe) - recipefile = bb_vars['FILE'] - src_uri = bb_vars['SRC_URI'] - self.assertNotIn('git://', src_uri, 'This test expects the %s recipe to NOT be a git recipe' % testrecipe) - self._check_repo_status(os.path.dirname(recipefile), []) - # First, modify a recipe - tempdir = tempfile.mkdtemp(prefix='devtoolqa') - self.track_for_cleanup(tempdir) - self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) - # (don't bother with cleaning the recipe on teardown, we won't be building it) - # We don't use -x here so that we test the behaviour of devtool modify without it - result = self.runCmd('devtool modify %s %s' % (testrecipe, tempdir)) - # Check git repo - self._check_src_repo(tempdir) - # Add a couple of commits - # FIXME: this only tests adding, need to also test update and remove - result = self.runCmd('echo "Additional line" >> README', cwd=tempdir) - result = self.runCmd('git commit -a -m "Change the README"', cwd=tempdir) - result = self.runCmd('echo "A new file" > devtool-new-file', cwd=tempdir) - result = self.runCmd('git add devtool-new-file', cwd=tempdir) - result = self.runCmd('git commit -m "Add a new file"', cwd=tempdir) - self.add_command_to_tearDown('cd %s; rm %s/*.patch; git checkout %s %s' % (os.path.dirname(recipefile), testrecipe, testrecipe, os.path.basename(recipefile))) - result = self.runCmd('devtool update-recipe %s' % testrecipe) - expected_status = [(' M', '.*/%s$' % os.path.basename(recipefile)), - ('??', '.*/0001-Change-the-README.patch$'), - ('??', '.*/0002-Add-a-new-file.patch$')] - self._check_repo_status(os.path.dirname(recipefile), expected_status) - - @OETestID(1172) - def test_devtool_update_recipe_git(self): - # Check preconditions - testrecipe = 'mtd-utils' - bb_vars = self.get_bb_vars(['FILE', 'SRC_URI'], testrecipe) - recipefile = bb_vars['FILE'] - src_uri = bb_vars['SRC_URI'] - self.assertIn('git://', src_uri, 'This test expects the %s recipe to be a git recipe' % testrecipe) - patches = [] - for entry in src_uri.split(): - if entry.startswith('file://') and entry.endswith('.patch'): - patches.append(entry[7:].split(';')[0]) - self.assertGreater(len(patches), 0, 'The %s recipe does not appear to contain any patches, so this test will not be effective' % testrecipe) - self._check_repo_status(os.path.dirname(recipefile), []) - # First, modify a recipe - tempdir = tempfile.mkdtemp(prefix='devtoolqa') - self.track_for_cleanup(tempdir) - self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) - # (don't bother with cleaning the recipe on teardown, we won't be building it) - result = self.runCmd('devtool modify %s -x %s' % (testrecipe, tempdir)) - # Check git repo - self._check_src_repo(tempdir) - # Add a couple of commits - # FIXME: this only tests adding, need to also test update and remove - result = self.runCmd('echo "# Additional line" >> Makefile.am', cwd=tempdir) - result = self.runCmd('git commit -a -m "Change the Makefile"', cwd=tempdir) - result = self.runCmd('echo "A new file" > devtool-new-file', cwd=tempdir) - result = self.runCmd('git add devtool-new-file', cwd=tempdir) - result = self.runCmd('git commit -m "Add a new file"', cwd=tempdir) - self.add_command_to_tearDown('cd %s; rm -rf %s; git checkout %s %s' % (os.path.dirname(recipefile), testrecipe, testrecipe, os.path.basename(recipefile))) - result = self.runCmd('devtool update-recipe -m srcrev %s' % testrecipe) - expected_status = [(' M', '.*/%s$' % os.path.basename(recipefile))] + \ - [(' D', '.*/%s$' % patch) for patch in patches] - self._check_repo_status(os.path.dirname(recipefile), expected_status) - - result = self.runCmd('git diff %s' % os.path.basename(recipefile), cwd=os.path.dirname(recipefile)) - addlines = ['SRCREV = ".*"', 'SRC_URI = "git://git.infradead.org/mtd-utils.git"'] - srcurilines = src_uri.split() - srcurilines[0] = 'SRC_URI = "' + srcurilines[0] - srcurilines.append('"') - removelines = ['SRCREV = ".*"'] + srcurilines - for line in result.output.splitlines(): - if line.startswith('+++') or line.startswith('---'): - continue - elif line.startswith('+'): - matched = False - for item in addlines: - if re.match(item, line[1:].strip()): - matched = True - break - self.assertTrue(matched, 'Unexpected diff add line: %s' % line) - elif line.startswith('-'): - matched = False - for item in removelines: - if re.match(item, line[1:].strip()): - matched = True - break - self.assertTrue(matched, 'Unexpected diff remove line: %s' % line) - # Now try with auto mode - self.runCmd('cd %s; git checkout %s %s' % (os.path.dirname(recipefile), testrecipe, os.path.basename(recipefile))) - result = self.runCmd('devtool update-recipe %s' % testrecipe) - result = self.runCmd('git rev-parse --show-toplevel', cwd=os.path.dirname(recipefile)) - topleveldir = result.output.strip() - relpatchpath = os.path.join(os.path.relpath(os.path.dirname(recipefile), topleveldir), testrecipe) - expected_status = [(' M', os.path.relpath(recipefile, topleveldir)), - ('??', '%s/0001-Change-the-Makefile.patch' % relpatchpath), - ('??', '%s/0002-Add-a-new-file.patch' % relpatchpath)] - self._check_repo_status(os.path.dirname(recipefile), expected_status) - - @OETestID(1170) - def test_devtool_update_recipe_append(self): - # Check preconditions - testrecipe = 'mdadm' - bb_vars = self.get_bb_vars(['FILE', 'SRC_URI'], testrecipe) - recipefile = bb_vars['FILE'] - src_uri = bb_vars['SRC_URI'] - self.assertNotIn('git://', src_uri, 'This test expects the %s recipe to NOT be a git recipe' % testrecipe) - self._check_repo_status(os.path.dirname(recipefile), []) - # First, modify a recipe - tempdir = tempfile.mkdtemp(prefix='devtoolqa') - tempsrcdir = os.path.join(tempdir, 'source') - templayerdir = os.path.join(tempdir, 'layer') - self.track_for_cleanup(tempdir) - self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) - # (don't bother with cleaning the recipe on teardown, we won't be building it) - result = self.runCmd('devtool modify %s -x %s' % (testrecipe, tempsrcdir)) - # Check git repo - self._check_src_repo(tempsrcdir) - # Add a commit - result = self.runCmd("sed 's!\\(#define VERSION\\W*\"[^\"]*\\)\"!\\1-custom\"!' -i ReadMe.c", cwd=tempsrcdir) - result = self.runCmd('git commit -a -m "Add our custom version"', cwd=tempsrcdir) - self.add_command_to_tearDown('cd %s; rm -f %s/*.patch; git checkout .' % (os.path.dirname(recipefile), testrecipe)) - # Create a temporary layer and add it to bblayers.conf - self._create_temp_layer(templayerdir, True, 'selftestupdaterecipe') - # Create the bbappend - result = self.runCmd('devtool update-recipe %s -a %s' % (testrecipe, templayerdir)) - self.assertNotIn('WARNING:', result.output) - # Check recipe is still clean - self._check_repo_status(os.path.dirname(recipefile), []) - # Check bbappend was created - splitpath = os.path.dirname(recipefile).split(os.sep) - appenddir = os.path.join(templayerdir, splitpath[-2], splitpath[-1]) - bbappendfile = self._check_bbappend(testrecipe, recipefile, appenddir) - patchfile = os.path.join(appenddir, testrecipe, '0001-Add-our-custom-version.patch') - self.assertExists(patchfile, 'Patch file not created') - - # Check bbappend contents - expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n', - '\n', - 'SRC_URI += "file://0001-Add-our-custom-version.patch"\n', - '\n'] - with open(bbappendfile, 'r') as f: - self.assertEqual(expectedlines, f.readlines()) - - # Check we can run it again and bbappend isn't modified - result = self.runCmd('devtool update-recipe %s -a %s' % (testrecipe, templayerdir)) - with open(bbappendfile, 'r') as f: - self.assertEqual(expectedlines, f.readlines()) - # Drop new commit and check patch gets deleted - result = self.runCmd('git reset HEAD^', cwd=tempsrcdir) - result = self.runCmd('devtool update-recipe %s -a %s' % (testrecipe, templayerdir)) - self.assertNotExists(patchfile, 'Patch file not deleted') - expectedlines2 = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n', - '\n'] - with open(bbappendfile, 'r') as f: - self.assertEqual(expectedlines2, f.readlines()) - # Put commit back and check we can run it if layer isn't in bblayers.conf - os.remove(bbappendfile) - result = self.runCmd('git commit -a -m "Add our custom version"', cwd=tempsrcdir) - result = self.runCmd('bitbake-layers remove-layer %s' % templayerdir, cwd=self.builddir) - result = self.runCmd('devtool update-recipe %s -a %s' % (testrecipe, templayerdir)) - self.assertIn('WARNING: Specified layer is not currently enabled in bblayers.conf', result.output) - self.assertExists(patchfile, 'Patch file not created (with disabled layer)') - with open(bbappendfile, 'r') as f: - self.assertEqual(expectedlines, f.readlines()) - # Deleting isn't expected to work under these circumstances - - @OETestID(1171) - def test_devtool_update_recipe_append_git(self): - # Check preconditions - testrecipe = 'mtd-utils' - bb_vars = self.get_bb_vars(['FILE', 'SRC_URI'], testrecipe) - recipefile = bb_vars['FILE'] - src_uri = bb_vars['SRC_URI'] - self.assertIn('git://', src_uri, 'This test expects the %s recipe to be a git recipe' % testrecipe) - for entry in src_uri.split(): - if entry.startswith('git://'): - git_uri = entry - break - self._check_repo_status(os.path.dirname(recipefile), []) - # First, modify a recipe - tempdir = tempfile.mkdtemp(prefix='devtoolqa') - tempsrcdir = os.path.join(tempdir, 'source') - templayerdir = os.path.join(tempdir, 'layer') - self.track_for_cleanup(tempdir) - self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) - # (don't bother with cleaning the recipe on teardown, we won't be building it) - result = self.runCmd('devtool modify %s -x %s' % (testrecipe, tempsrcdir)) - # Check git repo - self._check_src_repo(tempsrcdir) - # Add a commit - result = self.runCmd('echo "# Additional line" >> Makefile.am', cwd=tempsrcdir) - result = self.runCmd('git commit -a -m "Change the Makefile"', cwd=tempsrcdir) - self.add_command_to_tearDown('cd %s; rm -f %s/*.patch; git checkout .' % (os.path.dirname(recipefile), testrecipe)) - # Create a temporary layer - os.makedirs(os.path.join(templayerdir, 'conf')) - with open(os.path.join(templayerdir, 'conf', 'layer.conf'), 'w') as f: - f.write('BBPATH .= ":${LAYERDIR}"\n') - f.write('BBFILES += "${LAYERDIR}/recipes-*/*/*.bbappend"\n') - f.write('BBFILE_COLLECTIONS += "oeselftesttemplayer"\n') - f.write('BBFILE_PATTERN_oeselftesttemplayer = "^${LAYERDIR}/"\n') - f.write('BBFILE_PRIORITY_oeselftesttemplayer = "999"\n') - f.write('BBFILE_PATTERN_IGNORE_EMPTY_oeselftesttemplayer = "1"\n') - self.add_command_to_tearDown('bitbake-layers remove-layer %s || true' % templayerdir) - result = self.runCmd('bitbake-layers add-layer %s' % templayerdir, cwd=self.builddir) - # Create the bbappend - result = self.runCmd('devtool update-recipe -m srcrev %s -a %s' % (testrecipe, templayerdir)) - self.assertNotIn('WARNING:', result.output) - # Check recipe is still clean - self._check_repo_status(os.path.dirname(recipefile), []) - # Check bbappend was created - splitpath = os.path.dirname(recipefile).split(os.sep) - appenddir = os.path.join(templayerdir, splitpath[-2], splitpath[-1]) - bbappendfile = self._check_bbappend(testrecipe, recipefile, appenddir) - self.assertNotExists(os.path.join(appenddir, testrecipe), 'Patch directory should not be created') - - # Check bbappend contents - result = self.runCmd('git rev-parse HEAD', cwd=tempsrcdir) - expectedlines = set(['SRCREV = "%s"\n' % result.output, - '\n', - 'SRC_URI = "%s"\n' % git_uri, - '\n']) - with open(bbappendfile, 'r') as f: - self.assertEqual(expectedlines, set(f.readlines())) - - # Check we can run it again and bbappend isn't modified - result = self.runCmd('devtool update-recipe -m srcrev %s -a %s' % (testrecipe, templayerdir)) - with open(bbappendfile, 'r') as f: - self.assertEqual(expectedlines, set(f.readlines())) - # Drop new commit and check SRCREV changes - result = self.runCmd('git reset HEAD^', cwd=tempsrcdir) - result = self.runCmd('devtool update-recipe -m srcrev %s -a %s' % (testrecipe, templayerdir)) - self.assertNotExists(os.path.join(appenddir, testrecipe), 'Patch directory should not be created') - result = self.runCmd('git rev-parse HEAD', cwd=tempsrcdir) - expectedlines = set(['SRCREV = "%s"\n' % result.output, - '\n', - 'SRC_URI = "%s"\n' % git_uri, - '\n']) - with open(bbappendfile, 'r') as f: - self.assertEqual(expectedlines, set(f.readlines())) - # Put commit back and check we can run it if layer isn't in bblayers.conf - os.remove(bbappendfile) - result = self.runCmd('git commit -a -m "Change the Makefile"', cwd=tempsrcdir) - result = self.runCmd('bitbake-layers remove-layer %s' % templayerdir, cwd=self.builddir) - result = self.runCmd('devtool update-recipe -m srcrev %s -a %s' % (testrecipe, templayerdir)) - self.assertIn('WARNING: Specified layer is not currently enabled in bblayers.conf', result.output) - self.assertNotExists(os.path.join(appenddir, testrecipe), 'Patch directory should not be created') - result = self.runCmd('git rev-parse HEAD', cwd=tempsrcdir) - expectedlines = set(['SRCREV = "%s"\n' % result.output, - '\n', - 'SRC_URI = "%s"\n' % git_uri, - '\n']) - with open(bbappendfile, 'r') as f: - self.assertEqual(expectedlines, set(f.readlines())) - # Deleting isn't expected to work under these circumstances - - @OETestID(1370) - def test_devtool_update_recipe_local_files(self): - """Check that local source files are copied over instead of patched""" - testrecipe = 'makedevs' - recipefile = self.get_bb_var('FILE', testrecipe) - # Setup srctree for modifying the recipe - tempdir = tempfile.mkdtemp(prefix='devtoolqa') - self.track_for_cleanup(tempdir) - self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) - # (don't bother with cleaning the recipe on teardown, we won't be - # building it) - result = self.runCmd('devtool modify %s -x %s' % (testrecipe, tempdir)) - # Check git repo - self._check_src_repo(tempdir) - # Try building just to ensure we haven't broken that - self.bitbake("%s" % testrecipe) - # Edit / commit local source - self.runCmd('echo "/* Foobar */" >> oe-local-files/makedevs.c', cwd=tempdir) - self.runCmd('echo "Foo" > oe-local-files/new-local', cwd=tempdir) - self.runCmd('echo "Bar" > new-file', cwd=tempdir) - self.runCmd('git add new-file', cwd=tempdir) - self.runCmd('git commit -m "Add new file"', cwd=tempdir) - self.add_command_to_tearDown('cd %s; git clean -fd .; git checkout .' % - os.path.dirname(recipefile)) - self.runCmd('devtool update-recipe %s' % testrecipe) - expected_status = [(' M', '.*/%s$' % os.path.basename(recipefile)), - (' M', '.*/makedevs/makedevs.c$'), - ('??', '.*/makedevs/new-local$'), - ('??', '.*/makedevs/0001-Add-new-file.patch$')] - self._check_repo_status(os.path.dirname(recipefile), expected_status) - - @OETestID(1371) - def test_devtool_update_recipe_local_files_2(self): - """Check local source files support when oe-local-files is in Git""" - testrecipe = 'lzo' - recipefile = self.get_bb_var('FILE', testrecipe) - # Setup srctree for modifying the recipe - tempdir = tempfile.mkdtemp(prefix='devtoolqa') - self.track_for_cleanup(tempdir) - self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) - result = self.runCmd('devtool modify %s -x %s' % (testrecipe, tempdir)) - # Check git repo - self._check_src_repo(tempdir) - # Add oe-local-files to Git - self.runCmd('rm oe-local-files/.gitignore', cwd=tempdir) - self.runCmd('git add oe-local-files', cwd=tempdir) - self.runCmd('git commit -m "Add local sources"', cwd=tempdir) - # Edit / commit local sources - self.runCmd('echo "# Foobar" >> oe-local-files/acinclude.m4', cwd=tempdir) - self.runCmd('git commit -am "Edit existing file"', cwd=tempdir) - self.runCmd('git rm oe-local-files/run-ptest', cwd=tempdir) - self.runCmd('git commit -m"Remove file"', cwd=tempdir) - self.runCmd('echo "Foo" > oe-local-files/new-local', cwd=tempdir) - self.runCmd('git add oe-local-files/new-local', cwd=tempdir) - self.runCmd('git commit -m "Add new local file"', cwd=tempdir) - self.runCmd('echo "Gar" > new-file', cwd=tempdir) - self.runCmd('git add new-file', cwd=tempdir) - self.runCmd('git commit -m "Add new file"', cwd=tempdir) - self.add_command_to_tearDown('cd %s; git clean -fd .; git checkout .' % - os.path.dirname(recipefile)) - # Checkout unmodified file to working copy -> devtool should still pick - # the modified version from HEAD - self.runCmd('git checkout HEAD^ -- oe-local-files/acinclude.m4', cwd=tempdir) - self.runCmd('devtool update-recipe %s' % testrecipe) - expected_status = [(' M', '.*/%s$' % os.path.basename(recipefile)), - (' M', '.*/acinclude.m4$'), - (' D', '.*/run-ptest$'), - ('??', '.*/new-local$'), - ('??', '.*/0001-Add-new-file.patch$')] - self._check_repo_status(os.path.dirname(recipefile), expected_status) - - @OETestID(1627) - def test_devtool_update_recipe_local_files_3(self): - # First, modify the recipe - testrecipe = 'devtool-test-localonly' - bb_vars = self.get_bb_vars(['FILE', 'SRC_URI'], testrecipe) - recipefile = bb_vars['FILE'] - src_uri = bb_vars['SRC_URI'] - tempdir = tempfile.mkdtemp(prefix='devtoolqa') - self.track_for_cleanup(tempdir) - self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) - # (don't bother with cleaning the recipe on teardown, we won't be building it) - result = self.runCmd('devtool modify %s' % testrecipe) - # Modify one file - self.runCmd('echo "Another line" >> file2', cwd=os.path.join(self.workspacedir, 'sources', testrecipe, 'oe-local-files')) - self.add_command_to_tearDown('cd %s; rm %s/*; git checkout %s %s' % (os.path.dirname(recipefile), testrecipe, testrecipe, os.path.basename(recipefile))) - result = self.runCmd('devtool update-recipe %s' % testrecipe) - expected_status = [(' M', '.*/%s/file2$' % testrecipe)] - self._check_repo_status(os.path.dirname(recipefile), expected_status) - - @OETestID(1629) - def test_devtool_update_recipe_local_patch_gz(self): - # First, modify the recipe - testrecipe = 'devtool-test-patch-gz' - if self.get_bb_var('DISTRO') == 'poky-tiny': - self.skipTest("The DISTRO 'poky-tiny' does not provide the dependencies needed by %s" % testrecipe) - bb_vars = self.get_bb_vars(['FILE', 'SRC_URI'], testrecipe) - recipefile = bb_vars['FILE'] - src_uri = bb_vars['SRC_URI'] - tempdir = tempfile.mkdtemp(prefix='devtoolqa') - self.track_for_cleanup(tempdir) - self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) - # (don't bother with cleaning the recipe on teardown, we won't be building it) - result = self.runCmd('devtool modify %s' % testrecipe) - # Modify one file - srctree = os.path.join(self.workspacedir, 'sources', testrecipe) - self.runCmd('echo "Another line" >> README', cwd=srctree) - self.runCmd('git commit -a --amend --no-edit', cwd=srctree) - self.add_command_to_tearDown('cd %s; rm %s/*; git checkout %s %s' % (os.path.dirname(recipefile), testrecipe, testrecipe, os.path.basename(recipefile))) - result = self.runCmd('devtool update-recipe %s' % testrecipe) - expected_status = [(' M', '.*/%s/readme.patch.gz$' % testrecipe)] - self._check_repo_status(os.path.dirname(recipefile), expected_status) - patch_gz = os.path.join(os.path.dirname(recipefile), testrecipe, 'readme.patch.gz') - result = self.runCmd('file %s' % patch_gz) - if 'gzip compressed data' not in result.output: - self.fail('New patch file is not gzipped - file reports:\n%s' % result.output) - - @OETestID(1628) - def test_devtool_update_recipe_local_files_subdir(self): - # Try devtool extract on a recipe that has a file with subdir= set in - # SRC_URI such that it overwrites a file that was in an archive that - # was also in SRC_URI - # First, modify the recipe - testrecipe = 'devtool-test-subdir' - bb_vars = self.get_bb_vars(['FILE', 'SRC_URI'], testrecipe) - recipefile = bb_vars['FILE'] - src_uri = bb_vars['SRC_URI'] - tempdir = tempfile.mkdtemp(prefix='devtoolqa') - self.track_for_cleanup(tempdir) - self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) - # (don't bother with cleaning the recipe on teardown, we won't be building it) - result = self.runCmd('devtool modify %s' % testrecipe) - testfile = os.path.join(self.workspacedir, 'sources', testrecipe, 'testfile') - self.assertExists(testfile, 'Extracted source could not be found') - with open(testfile, 'r') as f: - contents = f.read().rstrip() - self.assertEqual(contents, 'Modified version', 'File has apparently not been overwritten as it should have been') - # Test devtool update-recipe without modifying any files - self.add_command_to_tearDown('cd %s; rm %s/*; git checkout %s %s' % (os.path.dirname(recipefile), testrecipe, testrecipe, os.path.basename(recipefile))) - result = self.runCmd('devtool update-recipe %s' % testrecipe) - expected_status = [] - self._check_repo_status(os.path.dirname(recipefile), expected_status) - @OETestID(1163) def test_devtool_extract(self): tempdir = tempfile.mkdtemp(prefix='devtoolqa') @@ -1320,166 +908,6 @@ class DevtoolTests(DevtoolCommon): with open(srcfile, 'w') as fh: fh.writelines(plugincontent) - def _setup_test_devtool_finish_upgrade(self): - # Check preconditions - self.assertTrue(not os.path.exists(self.workspacedir), 'This test cannot be run with a workspace directory under the build directory') - self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) - # Use a "real" recipe from meta-selftest - recipe = 'devtool-upgrade-test1' - oldversion = '1.5.3' - newversion = '1.6.0' - oldrecipefile = self.get_bb_var('FILE', recipe) - recipedir = os.path.dirname(oldrecipefile) - result = self.runCmd('git status --porcelain .', cwd=recipedir) - if result.output.strip(): - self.fail('Recipe directory for %s contains uncommitted changes' % recipe) - tempdir = tempfile.mkdtemp(prefix='devtoolqa') - self.track_for_cleanup(tempdir) - # Check that recipe is not already under devtool control - result = self.runCmd('devtool status') - self.assertNotIn(recipe, result.output) - # Do the upgrade - result = self.runCmd('devtool upgrade %s %s -V %s' % (recipe, tempdir, newversion)) - # Check devtool status and make sure recipe is present - result = self.runCmd('devtool status') - self.assertIn(recipe, result.output) - self.assertIn(tempdir, result.output) - # Make a change to the source - result = self.runCmd('sed -i \'/^#include "pv.h"/a \\/* Here is a new comment *\\/\' src/pv/number.c', cwd=tempdir) - result = self.runCmd('git status --porcelain', cwd=tempdir) - self.assertIn('M src/pv/number.c', result.output) - result = self.runCmd('git commit src/pv/number.c -m "Add a comment to the code"', cwd=tempdir) - # Check if patch is there - recipedir = os.path.dirname(oldrecipefile) - olddir = os.path.join(recipedir, recipe + '-' + oldversion) - patchfn = '0001-Add-a-note-line-to-the-quick-reference.patch' - self.assertExists(os.path.join(olddir, patchfn), 'Original patch file does not exist') - return recipe, oldrecipefile, recipedir, olddir, newversion, patchfn - - @OETestID(1623) - def test_devtool_finish_upgrade_origlayer(self): - recipe, oldrecipefile, recipedir, olddir, newversion, patchfn = self._setup_test_devtool_finish_upgrade() - # Ensure the recipe is where we think it should be (so that cleanup doesn't trash things) - self.assertIn('/meta-selftest/', recipedir) - # Try finish to the original layer - self.add_command_to_tearDown('rm -rf %s ; cd %s ; git checkout %s' % (recipedir, os.path.dirname(recipedir), recipedir)) - result = self.runCmd('devtool finish %s meta-selftest' % recipe) - result = self.runCmd('devtool status') - self.assertNotIn(recipe, result.output, 'Recipe should have been reset by finish but wasn\'t') - self.assertNotExists(os.path.join(self.workspacedir, 'recipes', recipe), 'Recipe directory should not exist after finish') - self.assertNotExists(oldrecipefile, 'Old recipe file should have been deleted but wasn\'t') - self.assertNotExists(os.path.join(olddir, patchfn), 'Old patch file should have been deleted but wasn\'t') - newrecipefile = os.path.join(recipedir, '%s_%s.bb' % (recipe, newversion)) - newdir = os.path.join(recipedir, recipe + '-' + newversion) - self.assertExists(newrecipefile, 'New recipe file should have been copied into existing layer but wasn\'t') - self.assertExists(os.path.join(newdir, patchfn), 'Patch file should have been copied into new directory but wasn\'t') - self.assertExists(os.path.join(newdir, '0002-Add-a-comment-to-the-code.patch'), 'New patch file should have been created but wasn\'t') - - @OETestID(1624) - def test_devtool_finish_upgrade_otherlayer(self): - recipe, oldrecipefile, recipedir, olddir, newversion, patchfn = self._setup_test_devtool_finish_upgrade() - # Ensure the recipe is where we think it should be (so that cleanup doesn't trash things) - self.assertIn('/meta-selftest/', recipedir) - # Try finish to a different layer - should create a bbappend - # This cleanup isn't strictly necessary but do it anyway just in case it goes wrong and writes to here - self.add_command_to_tearDown('rm -rf %s ; cd %s ; git checkout %s' % (recipedir, os.path.dirname(recipedir), recipedir)) - oe_core_dir = os.path.join(self.get_bb_var('COREBASE'), 'meta') - newrecipedir = os.path.join(oe_core_dir, 'recipes-test', 'devtool') - newrecipefile = os.path.join(newrecipedir, '%s_%s.bb' % (recipe, newversion)) - self.track_for_cleanup(newrecipedir) - result = self.runCmd('devtool finish %s oe-core' % recipe) - result = self.runCmd('devtool status') - self.assertNotIn(recipe, result.output, 'Recipe should have been reset by finish but wasn\'t') - self.assertNotExists(os.path.join(self.workspacedir, 'recipes', recipe), 'Recipe directory should not exist after finish') - self.assertExists(oldrecipefile, 'Old recipe file should not have been deleted') - self.assertExists(os.path.join(olddir, patchfn), 'Old patch file should not have been deleted') - newdir = os.path.join(newrecipedir, recipe + '-' + newversion) - self.assertExists(newrecipefile, 'New recipe file should have been copied into existing layer but wasn\'t') - self.assertExists(os.path.join(newdir, patchfn), 'Patch file should have been copied into new directory but wasn\'t') - self.assertExists(os.path.join(newdir, '0002-Add-a-comment-to-the-code.patch'), 'New patch file should have been created but wasn\'t') - - def _setup_test_devtool_finish_modify(self): - # Check preconditions - self.assertTrue(not os.path.exists(self.workspacedir), 'This test cannot be run with a workspace directory under the build directory') - # Try modifying a recipe - self.track_for_cleanup(self.workspacedir) - recipe = 'mdadm' - oldrecipefile = self.get_bb_var('FILE', recipe) - recipedir = os.path.dirname(oldrecipefile) - result = self.runCmd('git status --porcelain .', cwd=recipedir) - if result.output.strip(): - self.fail('Recipe directory for %s contains uncommitted changes' % recipe) - tempdir = tempfile.mkdtemp(prefix='devtoolqa') - self.track_for_cleanup(tempdir) - self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) - result = self.runCmd('devtool modify %s %s' % (recipe, tempdir)) - self.assertExists(os.path.join(tempdir, 'Makefile'), 'Extracted source could not be found') - # Test devtool status - result = self.runCmd('devtool status') - self.assertIn(recipe, result.output) - self.assertIn(tempdir, result.output) - # Make a change to the source - result = self.runCmd('sed -i \'/^#include "mdadm.h"/a \\/* Here is a new comment *\\/\' maps.c', cwd=tempdir) - result = self.runCmd('git status --porcelain', cwd=tempdir) - self.assertIn('M maps.c', result.output) - result = self.runCmd('git commit maps.c -m "Add a comment to the code"', cwd=tempdir) - for entry in os.listdir(recipedir): - filesdir = os.path.join(recipedir, entry) - if os.path.isdir(filesdir): - break - else: - self.fail('Unable to find recipe files directory for %s' % recipe) - return recipe, oldrecipefile, recipedir, filesdir - - @OETestID(1621) - def test_devtool_finish_modify_origlayer(self): - recipe, oldrecipefile, recipedir, filesdir = self._setup_test_devtool_finish_modify() - # Ensure the recipe is where we think it should be (so that cleanup doesn't trash things) - self.assertIn('/meta/', recipedir) - # Try finish to the original layer - self.add_command_to_tearDown('rm -rf %s ; cd %s ; git checkout %s' % (recipedir, os.path.dirname(recipedir), recipedir)) - result = self.runCmd('devtool finish %s meta' % recipe) - result = self.runCmd('devtool status') - self.assertNotIn(recipe, result.output, 'Recipe should have been reset by finish but wasn\'t') - self.assertNotExists(os.path.join(self.workspacedir, 'recipes', recipe), 'Recipe directory should not exist after finish') - expected_status = [(' M', '.*/%s$' % os.path.basename(oldrecipefile)), - ('??', '.*/.*-Add-a-comment-to-the-code.patch$')] - self._check_repo_status(recipedir, expected_status) - - @OETestID(1622) - def test_devtool_finish_modify_otherlayer(self): - recipe, oldrecipefile, recipedir, filesdir = self._setup_test_devtool_finish_modify() - # Ensure the recipe is where we think it should be (so that cleanup doesn't trash things) - self.assertIn('/meta/', recipedir) - relpth = os.path.relpath(recipedir, os.path.join(self.get_bb_var('COREBASE'), 'meta')) - appenddir = os.path.join(self.testlayer_path, relpth) - self.track_for_cleanup(appenddir) - # Try finish to the original layer - self.add_command_to_tearDown('rm -rf %s ; cd %s ; git checkout %s' % (recipedir, os.path.dirname(recipedir), recipedir)) - result = self.runCmd('devtool finish %s meta-selftest' % recipe) - result = self.runCmd('devtool status') - self.assertNotIn(recipe, result.output, 'Recipe should have been reset by finish but wasn\'t') - self.assertNotExists(os.path.join(self.workspacedir, 'recipes', recipe), 'Recipe directory should not exist after finish') - result = self.runCmd('git status --porcelain .', cwd=recipedir) - if result.output.strip(): - self.fail('Recipe directory for %s contains the following unexpected changes after finish:\n%s' % (recipe, result.output.strip())) - recipefn = os.path.splitext(os.path.basename(oldrecipefile))[0] - recipefn = recipefn.split('_')[0] + '_%' - appendfile = os.path.join(appenddir, recipefn + '.bbappend') - self.assertExists(appendfile, 'bbappend %s should have been created but wasn\'t' % appendfile) - newdir = os.path.join(appenddir, recipe) - files = os.listdir(newdir) - foundpatch = None - for fn in files: - if fnmatch.fnmatch(fn, '*-Add-a-comment-to-the-code.patch'): - foundpatch = fn - if not foundpatch: - self.fail('No patch file created next to bbappend') - files.remove(foundpatch) - if files: - self.fail('Unexpected file(s) copied next to bbappend: %s' % ', '.join(files)) - @OETestID(1626) def test_devtool_rename(self): # Check preconditions diff --git a/meta/lib/oeqa/selftest/cases/devtool_end.py b/meta/lib/oeqa/selftest/cases/devtool_end.py new file mode 100644 index 0000000..808b342 --- /dev/null +++ b/meta/lib/oeqa/selftest/cases/devtool_end.py @@ -0,0 +1,592 @@ +import os +import tempfile +import re +import fnmatch + +from oeqa.selftest.cases import devtool +from oeqa.core.decorator.oeid import OETestID + +class DevtoolFinishModifyTests(devtool.DevtoolCommon): + _use_own_builddir = True + _main_thread = False + _end_thread = True + + def _setup_test_devtool_finish_modify(self): + # Check preconditions + self.assertTrue(not os.path.exists(self.workspacedir), 'This test cannot be run with a workspace directory under the build directory') + # Try modifying a recipe + self.track_for_cleanup(self.workspacedir) + recipe = 'mdadm' + oldrecipefile = self.get_bb_var('FILE', recipe) + recipedir = os.path.dirname(oldrecipefile) + result = self.runCmd('git status --porcelain .', cwd=recipedir) + if result.output.strip(): + self.fail('Recipe directory for %s contains uncommitted changes' % recipe) + tempdir = tempfile.mkdtemp(prefix='devtoolqa') + self.track_for_cleanup(tempdir) + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) + result = self.runCmd('devtool modify %s %s' % (recipe, tempdir)) + self.assertExists(os.path.join(tempdir, 'Makefile'), 'Extracted source could not be found') + # Test devtool status + result = self.runCmd('devtool status') + self.assertIn(recipe, result.output) + self.assertIn(tempdir, result.output) + # Make a change to the source + result = self.runCmd('sed -i \'/^#include "mdadm.h"/a \\/* Here is a new comment *\\/\' maps.c', cwd=tempdir) + result = self.runCmd('git status --porcelain', cwd=tempdir) + self.assertIn('M maps.c', result.output) + result = self.runCmd('git commit maps.c -m "Add a comment to the code"', cwd=tempdir) + for entry in os.listdir(recipedir): + filesdir = os.path.join(recipedir, entry) + if os.path.isdir(filesdir): + break + else: + self.fail('Unable to find recipe files directory for %s' % recipe) + return recipe, oldrecipefile, recipedir, filesdir + + @OETestID(1621) + def test_devtool_finish_modify_origlayer(self): + recipe, oldrecipefile, recipedir, filesdir = self._setup_test_devtool_finish_modify() + # Ensure the recipe is where we think it should be (so that cleanup doesn't trash things) + self.assertIn('/meta/', recipedir) + # Try finish to the original layer + self.add_command_to_tearDown('rm -rf %s ; cd %s ; git checkout %s' % (recipedir, os.path.dirname(recipedir), recipedir)) + result = self.runCmd('devtool finish %s meta' % recipe) + result = self.runCmd('devtool status') + self.assertNotIn(recipe, result.output, 'Recipe should have been reset by finish but wasn\'t') + self.assertNotExists(os.path.join(self.workspacedir, 'recipes', recipe), 'Recipe directory should not exist after finish') + expected_status = [(' M', '.*/%s$' % os.path.basename(oldrecipefile)), + ('??', '.*/.*-Add-a-comment-to-the-code.patch$')] + self._check_repo_status(recipedir, expected_status) + + @OETestID(1622) + def test_devtool_finish_modify_otherlayer(self): + recipe, oldrecipefile, recipedir, filesdir = self._setup_test_devtool_finish_modify() + # Ensure the recipe is where we think it should be (so that cleanup doesn't trash things) + self.assertIn('/meta/', recipedir) + relpth = os.path.relpath(recipedir, os.path.join(self.get_bb_var('COREBASE'), 'meta')) + appenddir = os.path.join(self.testlayer_path, relpth) + self.track_for_cleanup(appenddir) + # Try finish to the original layer + self.add_command_to_tearDown('rm -rf %s ; cd %s ; git checkout %s' % (recipedir, os.path.dirname(recipedir), recipedir)) + result = self.runCmd('devtool finish %s meta-selftest' % recipe) + result = self.runCmd('devtool status') + self.assertNotIn(recipe, result.output, 'Recipe should have been reset by finish but wasn\'t') + self.assertNotExists(os.path.join(self.workspacedir, 'recipes', recipe), 'Recipe directory should not exist after finish') + result = self.runCmd('git status --porcelain .', cwd=recipedir) + if result.output.strip(): + self.fail('Recipe directory for %s contains the following unexpected changes after finish:\n%s' % (recipe, result.output.strip())) + recipefn = os.path.splitext(os.path.basename(oldrecipefile))[0] + recipefn = recipefn.split('_')[0] + '_%' + appendfile = os.path.join(appenddir, recipefn + '.bbappend') + self.assertExists(appendfile, 'bbappend %s should have been created but wasn\'t' % appendfile) + newdir = os.path.join(appenddir, recipe) + files = os.listdir(newdir) + foundpatch = None + for fn in files: + if fnmatch.fnmatch(fn, '*-Add-a-comment-to-the-code.patch'): + foundpatch = fn + if not foundpatch: + self.fail('No patch file created next to bbappend') + files.remove(foundpatch) + if files: + self.fail('Unexpected file(s) copied next to bbappend: %s' % ', '.join(files)) + +class DevtoolFinishUpgradeTests(devtool.DevtoolCommon): + _use_own_builddir = True + _main_thread = False + _end_thread = True + + def _setup_test_devtool_finish_upgrade(self): + # Check preconditions + self.assertTrue(not os.path.exists(self.workspacedir), 'This test cannot be run with a workspace directory under the build directory') + self.track_for_cleanup(self.workspacedir) + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) + # Use a "real" recipe from meta-selftest + recipe = 'devtool-upgrade-test1' + oldversion = '1.5.3' + newversion = '1.6.0' + oldrecipefile = self.get_bb_var('FILE', recipe) + recipedir = os.path.dirname(oldrecipefile) + result = self.runCmd('git status --porcelain .', cwd=recipedir) + if result.output.strip(): + self.fail('Recipe directory for %s contains uncommitted changes' % recipe) + tempdir = tempfile.mkdtemp(prefix='devtoolqa') + self.track_for_cleanup(tempdir) + # Check that recipe is not already under devtool control + result = self.runCmd('devtool status') + self.assertNotIn(recipe, result.output) + # Do the upgrade + result = self.runCmd('devtool upgrade %s %s -V %s' % (recipe, tempdir, newversion)) + # Check devtool status and make sure recipe is present + result = self.runCmd('devtool status') + self.assertIn(recipe, result.output) + self.assertIn(tempdir, result.output) + # Make a change to the source + result = self.runCmd('sed -i \'/^#include "pv.h"/a \\/* Here is a new comment *\\/\' src/pv/number.c', cwd=tempdir) + result = self.runCmd('git status --porcelain', cwd=tempdir) + self.assertIn('M src/pv/number.c', result.output) + result = self.runCmd('git commit src/pv/number.c -m "Add a comment to the code"', cwd=tempdir) + # Check if patch is there + recipedir = os.path.dirname(oldrecipefile) + olddir = os.path.join(recipedir, recipe + '-' + oldversion) + patchfn = '0001-Add-a-note-line-to-the-quick-reference.patch' + self.assertExists(os.path.join(olddir, patchfn), 'Original patch file does not exist') + return recipe, oldrecipefile, recipedir, olddir, newversion, patchfn + + @OETestID(1623) + def test_devtool_finish_upgrade_origlayer(self): + recipe, oldrecipefile, recipedir, olddir, newversion, patchfn = self._setup_test_devtool_finish_upgrade() + # Ensure the recipe is where we think it should be (so that cleanup doesn't trash things) + self.assertIn('/meta-selftest/', recipedir) + # Try finish to the original layer + self.add_command_to_tearDown('rm -rf %s ; cd %s ; git checkout %s' % (recipedir, os.path.dirname(recipedir), recipedir)) + result = self.runCmd('devtool finish %s meta-selftest' % recipe) + result = self.runCmd('devtool status') + self.assertNotIn(recipe, result.output, 'Recipe should have been reset by finish but wasn\'t') + self.assertNotExists(os.path.join(self.workspacedir, 'recipes', recipe), 'Recipe directory should not exist after finish') + self.assertNotExists(oldrecipefile, 'Old recipe file should have been deleted but wasn\'t') + self.assertNotExists(os.path.join(olddir, patchfn), 'Old patch file should have been deleted but wasn\'t') + newrecipefile = os.path.join(recipedir, '%s_%s.bb' % (recipe, newversion)) + newdir = os.path.join(recipedir, recipe + '-' + newversion) + self.assertExists(newrecipefile, 'New recipe file should have been copied into existing layer but wasn\'t') + self.assertExists(os.path.join(newdir, patchfn), 'Patch file should have been copied into new directory but wasn\'t') + self.assertExists(os.path.join(newdir, '0002-Add-a-comment-to-the-code.patch'), 'New patch file should have been created but wasn\'t') + + @OETestID(1624) + def test_devtool_finish_upgrade_otherlayer(self): + recipe, oldrecipefile, recipedir, olddir, newversion, patchfn = self._setup_test_devtool_finish_upgrade() + # Ensure the recipe is where we think it should be (so that cleanup doesn't trash things) + self.assertIn('/meta-selftest/', recipedir) + # Try finish to a different layer - should create a bbappend + # This cleanup isn't strictly necessary but do it anyway just in case it goes wrong and writes to here + self.add_command_to_tearDown('rm -rf %s ; cd %s ; git checkout %s' % (recipedir, os.path.dirname(recipedir), recipedir)) + oe_core_dir = os.path.join(self.get_bb_var('COREBASE'), 'meta') + newrecipedir = os.path.join(oe_core_dir, 'recipes-test', 'devtool') + newrecipefile = os.path.join(newrecipedir, '%s_%s.bb' % (recipe, newversion)) + self.track_for_cleanup(newrecipedir) + result = self.runCmd('devtool finish %s oe-core' % recipe) + result = self.runCmd('devtool status') + self.assertNotIn(recipe, result.output, 'Recipe should have been reset by finish but wasn\'t') + self.assertNotExists(os.path.join(self.workspacedir, 'recipes', recipe), 'Recipe directory should not exist after finish') + self.assertExists(oldrecipefile, 'Old recipe file should not have been deleted') + self.assertExists(os.path.join(olddir, patchfn), 'Old patch file should not have been deleted') + newdir = os.path.join(newrecipedir, recipe + '-' + newversion) + self.assertExists(newrecipefile, 'New recipe file should have been copied into existing layer but wasn\'t') + self.assertExists(os.path.join(newdir, patchfn), 'Patch file should have been copied into new directory but wasn\'t') + self.assertExists(os.path.join(newdir, '0002-Add-a-comment-to-the-code.patch'), 'New patch file should have been created but wasn\'t') + +class DevtoolUpdateTests(devtool.DevtoolCommon): + _use_own_builddir = True + _main_thread = False + _end_thread = True + + @OETestID(1169) + def test_devtool_update_recipe(self): + # Check preconditions + testrecipe = 'minicom' + bb_vars = self.get_bb_vars(['FILE', 'SRC_URI'], testrecipe) + recipefile = bb_vars['FILE'] + src_uri = bb_vars['SRC_URI'] + self.assertNotIn('git://', src_uri, 'This test expects the %s recipe to NOT be a git recipe' % testrecipe) + self._check_repo_status(os.path.dirname(recipefile), []) + # First, modify a recipe + tempdir = tempfile.mkdtemp(prefix='devtoolqa') + self.track_for_cleanup(tempdir) + self.track_for_cleanup(self.workspacedir) + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) + # (don't bother with cleaning the recipe on teardown, we won't be building it) + # We don't use -x here so that we test the behaviour of devtool modify without it + result = self.runCmd('devtool modify %s %s' % (testrecipe, tempdir)) + # Check git repo + self._check_src_repo(tempdir) + # Add a couple of commits + # FIXME: this only tests adding, need to also test update and remove + result = self.runCmd('echo "Additional line" >> README', cwd=tempdir) + result = self.runCmd('git commit -a -m "Change the README"', cwd=tempdir) + result = self.runCmd('echo "A new file" > devtool-new-file', cwd=tempdir) + result = self.runCmd('git add devtool-new-file', cwd=tempdir) + result = self.runCmd('git commit -m "Add a new file"', cwd=tempdir) + self.add_command_to_tearDown('cd %s; rm %s/*.patch; git checkout %s %s' % (os.path.dirname(recipefile), testrecipe, testrecipe, os.path.basename(recipefile))) + result = self.runCmd('devtool update-recipe %s' % testrecipe) + expected_status = [(' M', '.*/%s$' % os.path.basename(recipefile)), + ('??', '.*/0001-Change-the-README.patch$'), + ('??', '.*/0002-Add-a-new-file.patch$')] + self._check_repo_status(os.path.dirname(recipefile), expected_status) + + @OETestID(1172) + def test_devtool_update_recipe_git(self): + # Check preconditions + testrecipe = 'mtd-utils' + bb_vars = self.get_bb_vars(['FILE', 'SRC_URI'], testrecipe) + recipefile = bb_vars['FILE'] + src_uri = bb_vars['SRC_URI'] + self.assertIn('git://', src_uri, 'This test expects the %s recipe to be a git recipe' % testrecipe) + patches = [] + for entry in src_uri.split(): + if entry.startswith('file://') and entry.endswith('.patch'): + patches.append(entry[7:].split(';')[0]) + self.assertGreater(len(patches), 0, 'The %s recipe does not appear to contain any patches, so this test will not be effective' % testrecipe) + self._check_repo_status(os.path.dirname(recipefile), []) + # First, modify a recipe + tempdir = tempfile.mkdtemp(prefix='devtoolqa') + self.track_for_cleanup(tempdir) + self.track_for_cleanup(self.workspacedir) + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) + # (don't bother with cleaning the recipe on teardown, we won't be building it) + result = self.runCmd('devtool modify %s -x %s' % (testrecipe, tempdir)) + # Check git repo + self._check_src_repo(tempdir) + # Add a couple of commits + # FIXME: this only tests adding, need to also test update and remove + result = self.runCmd('echo "# Additional line" >> Makefile.am', cwd=tempdir) + result = self.runCmd('git commit -a -m "Change the Makefile"', cwd=tempdir) + result = self.runCmd('echo "A new file" > devtool-new-file', cwd=tempdir) + result = self.runCmd('git add devtool-new-file', cwd=tempdir) + result = self.runCmd('git commit -m "Add a new file"', cwd=tempdir) + self.add_command_to_tearDown('cd %s; rm -rf %s; git checkout %s %s' % (os.path.dirname(recipefile), testrecipe, testrecipe, os.path.basename(recipefile))) + result = self.runCmd('devtool update-recipe -m srcrev %s' % testrecipe) + expected_status = [(' M', '.*/%s$' % os.path.basename(recipefile))] + \ + [(' D', '.*/%s$' % patch) for patch in patches] + self._check_repo_status(os.path.dirname(recipefile), expected_status) + + result = self.runCmd('git diff %s' % os.path.basename(recipefile), cwd=os.path.dirname(recipefile)) + addlines = ['SRCREV = ".*"', 'SRC_URI = "git://git.infradead.org/mtd-utils.git"'] + srcurilines = src_uri.split() + srcurilines[0] = 'SRC_URI = "' + srcurilines[0] + srcurilines.append('"') + removelines = ['SRCREV = ".*"'] + srcurilines + for line in result.output.splitlines(): + if line.startswith('+++') or line.startswith('---'): + continue + elif line.startswith('+'): + matched = False + for item in addlines: + if re.match(item, line[1:].strip()): + matched = True + break + self.assertTrue(matched, 'Unexpected diff add line: %s' % line) + elif line.startswith('-'): + matched = False + for item in removelines: + if re.match(item, line[1:].strip()): + matched = True + break + self.assertTrue(matched, 'Unexpected diff remove line: %s' % line) + # Now try with auto mode + self.runCmd('cd %s; git checkout %s %s' % (os.path.dirname(recipefile), testrecipe, os.path.basename(recipefile))) + result = self.runCmd('devtool update-recipe %s' % testrecipe) + result = self.runCmd('git rev-parse --show-toplevel', cwd=os.path.dirname(recipefile)) + topleveldir = result.output.strip() + relpatchpath = os.path.join(os.path.relpath(os.path.dirname(recipefile), topleveldir), testrecipe) + expected_status = [(' M', os.path.relpath(recipefile, topleveldir)), + ('??', '%s/0001-Change-the-Makefile.patch' % relpatchpath), + ('??', '%s/0002-Add-a-new-file.patch' % relpatchpath)] + self._check_repo_status(os.path.dirname(recipefile), expected_status) + + @OETestID(1170) + def test_devtool_update_recipe_append(self): + # Check preconditions + testrecipe = 'mdadm' + bb_vars = self.get_bb_vars(['FILE', 'SRC_URI'], testrecipe) + recipefile = bb_vars['FILE'] + src_uri = bb_vars['SRC_URI'] + self.assertNotIn('git://', src_uri, 'This test expects the %s recipe to NOT be a git recipe' % testrecipe) + self._check_repo_status(os.path.dirname(recipefile), []) + # First, modify a recipe + tempdir = tempfile.mkdtemp(prefix='devtoolqa') + tempsrcdir = os.path.join(tempdir, 'source') + templayerdir = os.path.join(tempdir, 'layer') + self.track_for_cleanup(tempdir) + self.track_for_cleanup(self.workspacedir) + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) + # (don't bother with cleaning the recipe on teardown, we won't be building it) + result = self.runCmd('devtool modify %s -x %s' % (testrecipe, tempsrcdir)) + # Check git repo + self._check_src_repo(tempsrcdir) + # Add a commit + result = self.runCmd("sed 's!\\(#define VERSION\\W*\"[^\"]*\\)\"!\\1-custom\"!' -i ReadMe.c", cwd=tempsrcdir) + result = self.runCmd('git commit -a -m "Add our custom version"', cwd=tempsrcdir) + self.add_command_to_tearDown('cd %s; rm -f %s/*.patch; git checkout .' % (os.path.dirname(recipefile), testrecipe)) + # Create a temporary layer and add it to bblayers.conf + self._create_temp_layer(templayerdir, True, 'selftestupdaterecipe') + # Create the bbappend + result = self.runCmd('devtool update-recipe %s -a %s' % (testrecipe, templayerdir)) + self.assertNotIn('WARNING:', result.output) + # Check recipe is still clean + self._check_repo_status(os.path.dirname(recipefile), []) + # Check bbappend was created + splitpath = os.path.dirname(recipefile).split(os.sep) + appenddir = os.path.join(templayerdir, splitpath[-2], splitpath[-1]) + bbappendfile = self._check_bbappend(testrecipe, recipefile, appenddir) + patchfile = os.path.join(appenddir, testrecipe, '0001-Add-our-custom-version.patch') + self.assertExists(patchfile, 'Patch file not created') + + # Check bbappend contents + expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n', + '\n', + 'SRC_URI += "file://0001-Add-our-custom-version.patch"\n', + '\n'] + with open(bbappendfile, 'r') as f: + self.assertEqual(expectedlines, f.readlines()) + + # Check we can run it again and bbappend isn't modified + result = self.runCmd('devtool update-recipe %s -a %s' % (testrecipe, templayerdir)) + with open(bbappendfile, 'r') as f: + self.assertEqual(expectedlines, f.readlines()) + # Drop new commit and check patch gets deleted + result = self.runCmd('git reset HEAD^', cwd=tempsrcdir) + result = self.runCmd('devtool update-recipe %s -a %s' % (testrecipe, templayerdir)) + self.assertNotExists(patchfile, 'Patch file not deleted') + expectedlines2 = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n', + '\n'] + with open(bbappendfile, 'r') as f: + self.assertEqual(expectedlines2, f.readlines()) + # Put commit back and check we can run it if layer isn't in bblayers.conf + os.remove(bbappendfile) + result = self.runCmd('git commit -a -m "Add our custom version"', cwd=tempsrcdir) + result = self.runCmd('bitbake-layers remove-layer %s' % templayerdir, cwd=self.builddir) + result = self.runCmd('devtool update-recipe %s -a %s' % (testrecipe, templayerdir)) + self.assertIn('WARNING: Specified layer is not currently enabled in bblayers.conf', result.output) + self.assertExists(patchfile, 'Patch file not created (with disabled layer)') + with open(bbappendfile, 'r') as f: + self.assertEqual(expectedlines, f.readlines()) + # Deleting isn't expected to work under these circumstances + + @OETestID(1171) + def test_devtool_update_recipe_append_git(self): + # Check preconditions + testrecipe = 'mtd-utils' + bb_vars = self.get_bb_vars(['FILE', 'SRC_URI'], testrecipe) + recipefile = bb_vars['FILE'] + src_uri = bb_vars['SRC_URI'] + self.assertIn('git://', src_uri, 'This test expects the %s recipe to be a git recipe' % testrecipe) + for entry in src_uri.split(): + if entry.startswith('git://'): + git_uri = entry + break + self._check_repo_status(os.path.dirname(recipefile), []) + # First, modify a recipe + tempdir = tempfile.mkdtemp(prefix='devtoolqa') + tempsrcdir = os.path.join(tempdir, 'source') + templayerdir = os.path.join(tempdir, 'layer') + self.track_for_cleanup(tempdir) + self.track_for_cleanup(self.workspacedir) + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) + # (don't bother with cleaning the recipe on teardown, we won't be building it) + result = self.runCmd('devtool modify %s -x %s' % (testrecipe, tempsrcdir)) + # Check git repo + self._check_src_repo(tempsrcdir) + # Add a commit + result = self.runCmd('echo "# Additional line" >> Makefile.am', cwd=tempsrcdir) + result = self.runCmd('git commit -a -m "Change the Makefile"', cwd=tempsrcdir) + self.add_command_to_tearDown('cd %s; rm -f %s/*.patch; git checkout .' % (os.path.dirname(recipefile), testrecipe)) + # Create a temporary layer + os.makedirs(os.path.join(templayerdir, 'conf')) + with open(os.path.join(templayerdir, 'conf', 'layer.conf'), 'w') as f: + f.write('BBPATH .= ":${LAYERDIR}"\n') + f.write('BBFILES += "${LAYERDIR}/recipes-*/*/*.bbappend"\n') + f.write('BBFILE_COLLECTIONS += "oeselftesttemplayer"\n') + f.write('BBFILE_PATTERN_oeselftesttemplayer = "^${LAYERDIR}/"\n') + f.write('BBFILE_PRIORITY_oeselftesttemplayer = "999"\n') + f.write('BBFILE_PATTERN_IGNORE_EMPTY_oeselftesttemplayer = "1"\n') + self.add_command_to_tearDown('bitbake-layers remove-layer %s || true' % templayerdir) + result = self.runCmd('bitbake-layers add-layer %s' % templayerdir, cwd=self.builddir) + # Create the bbappend + result = self.runCmd('devtool update-recipe -m srcrev %s -a %s' % (testrecipe, templayerdir)) + self.assertNotIn('WARNING:', result.output) + # Check recipe is still clean + self._check_repo_status(os.path.dirname(recipefile), []) + # Check bbappend was created + splitpath = os.path.dirname(recipefile).split(os.sep) + appenddir = os.path.join(templayerdir, splitpath[-2], splitpath[-1]) + bbappendfile = self._check_bbappend(testrecipe, recipefile, appenddir) + self.assertNotExists(os.path.join(appenddir, testrecipe), 'Patch directory should not be created') + + # Check bbappend contents + result = self.runCmd('git rev-parse HEAD', cwd=tempsrcdir) + expectedlines = set(['SRCREV = "%s"\n' % result.output, + '\n', + 'SRC_URI = "%s"\n' % git_uri, + '\n']) + with open(bbappendfile, 'r') as f: + self.assertEqual(expectedlines, set(f.readlines())) + + # Check we can run it again and bbappend isn't modified + result = self.runCmd('devtool update-recipe -m srcrev %s -a %s' % (testrecipe, templayerdir)) + with open(bbappendfile, 'r') as f: + self.assertEqual(expectedlines, set(f.readlines())) + # Drop new commit and check SRCREV changes + result = self.runCmd('git reset HEAD^', cwd=tempsrcdir) + result = self.runCmd('devtool update-recipe -m srcrev %s -a %s' % (testrecipe, templayerdir)) + self.assertNotExists(os.path.join(appenddir, testrecipe), 'Patch directory should not be created') + result = self.runCmd('git rev-parse HEAD', cwd=tempsrcdir) + expectedlines = set(['SRCREV = "%s"\n' % result.output, + '\n', + 'SRC_URI = "%s"\n' % git_uri, + '\n']) + with open(bbappendfile, 'r') as f: + self.assertEqual(expectedlines, set(f.readlines())) + # Put commit back and check we can run it if layer isn't in bblayers.conf + os.remove(bbappendfile) + result = self.runCmd('git commit -a -m "Change the Makefile"', cwd=tempsrcdir) + result = self.runCmd('bitbake-layers remove-layer %s' % templayerdir, cwd=self.builddir) + result = self.runCmd('devtool update-recipe -m srcrev %s -a %s' % (testrecipe, templayerdir)) + self.assertIn('WARNING: Specified layer is not currently enabled in bblayers.conf', result.output) + self.assertNotExists(os.path.join(appenddir, testrecipe), 'Patch directory should not be created') + result = self.runCmd('git rev-parse HEAD', cwd=tempsrcdir) + expectedlines = set(['SRCREV = "%s"\n' % result.output, + '\n', + 'SRC_URI = "%s"\n' % git_uri, + '\n']) + with open(bbappendfile, 'r') as f: + self.assertEqual(expectedlines, set(f.readlines())) + # Deleting isn't expected to work under these circumstances + + @OETestID(1370) + def test_devtool_update_recipe_local_files(self): + """Check that local source files are copied over instead of patched""" + testrecipe = 'makedevs' + recipefile = self.get_bb_var('FILE', testrecipe) + # Setup srctree for modifying the recipe + tempdir = tempfile.mkdtemp(prefix='devtoolqa') + self.track_for_cleanup(tempdir) + self.track_for_cleanup(self.workspacedir) + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) + # (don't bother with cleaning the recipe on teardown, we won't be + # building it) + result = self.runCmd('devtool modify %s -x %s' % (testrecipe, tempdir)) + # Check git repo + self._check_src_repo(tempdir) + # Try building just to ensure we haven't broken that + self.bitbake("%s" % testrecipe) + # Edit / commit local source + self.runCmd('echo "/* Foobar */" >> oe-local-files/makedevs.c', cwd=tempdir) + self.runCmd('echo "Foo" > oe-local-files/new-local', cwd=tempdir) + self.runCmd('echo "Bar" > new-file', cwd=tempdir) + self.runCmd('git add new-file', cwd=tempdir) + self.runCmd('git commit -m "Add new file"', cwd=tempdir) + self.add_command_to_tearDown('cd %s; git clean -fd .; git checkout .' % + os.path.dirname(recipefile)) + self.runCmd('devtool update-recipe %s' % testrecipe) + expected_status = [(' M', '.*/%s$' % os.path.basename(recipefile)), + (' M', '.*/makedevs/makedevs.c$'), + ('??', '.*/makedevs/new-local$'), + ('??', '.*/makedevs/0001-Add-new-file.patch$')] + self._check_repo_status(os.path.dirname(recipefile), expected_status) + + @OETestID(1371) + def test_devtool_update_recipe_local_files_2(self): + """Check local source files support when oe-local-files is in Git""" + testrecipe = 'lzo' + recipefile = self.get_bb_var('FILE', testrecipe) + # Setup srctree for modifying the recipe + tempdir = tempfile.mkdtemp(prefix='devtoolqa') + self.track_for_cleanup(tempdir) + self.track_for_cleanup(self.workspacedir) + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) + result = self.runCmd('devtool modify %s -x %s' % (testrecipe, tempdir)) + # Check git repo + self._check_src_repo(tempdir) + # Add oe-local-files to Git + self.runCmd('rm oe-local-files/.gitignore', cwd=tempdir) + self.runCmd('git add oe-local-files', cwd=tempdir) + self.runCmd('git commit -m "Add local sources"', cwd=tempdir) + # Edit / commit local sources + self.runCmd('echo "# Foobar" >> oe-local-files/acinclude.m4', cwd=tempdir) + self.runCmd('git commit -am "Edit existing file"', cwd=tempdir) + self.runCmd('git rm oe-local-files/run-ptest', cwd=tempdir) + self.runCmd('git commit -m"Remove file"', cwd=tempdir) + self.runCmd('echo "Foo" > oe-local-files/new-local', cwd=tempdir) + self.runCmd('git add oe-local-files/new-local', cwd=tempdir) + self.runCmd('git commit -m "Add new local file"', cwd=tempdir) + self.runCmd('echo "Gar" > new-file', cwd=tempdir) + self.runCmd('git add new-file', cwd=tempdir) + self.runCmd('git commit -m "Add new file"', cwd=tempdir) + self.add_command_to_tearDown('cd %s; git clean -fd .; git checkout .' % + os.path.dirname(recipefile)) + # Checkout unmodified file to working copy -> devtool should still pick + # the modified version from HEAD + self.runCmd('git checkout HEAD^ -- oe-local-files/acinclude.m4', cwd=tempdir) + self.runCmd('devtool update-recipe %s' % testrecipe) + expected_status = [(' M', '.*/%s$' % os.path.basename(recipefile)), + (' M', '.*/acinclude.m4$'), + (' D', '.*/run-ptest$'), + ('??', '.*/new-local$'), + ('??', '.*/0001-Add-new-file.patch$')] + self._check_repo_status(os.path.dirname(recipefile), expected_status) + + @OETestID(1627) + def test_devtool_update_recipe_local_files_3(self): + # First, modify the recipe + testrecipe = 'devtool-test-localonly' + bb_vars = self.get_bb_vars(['FILE', 'SRC_URI'], testrecipe) + recipefile = bb_vars['FILE'] + src_uri = bb_vars['SRC_URI'] + tempdir = tempfile.mkdtemp(prefix='devtoolqa') + self.track_for_cleanup(tempdir) + self.track_for_cleanup(self.workspacedir) + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) + # (don't bother with cleaning the recipe on teardown, we won't be building it) + result = self.runCmd('devtool modify %s' % testrecipe) + # Modify one file + self.runCmd('echo "Another line" >> file2', cwd=os.path.join(self.workspacedir, 'sources', testrecipe, 'oe-local-files')) + self.add_command_to_tearDown('cd %s; rm %s/*; git checkout %s %s' % (os.path.dirname(recipefile), testrecipe, testrecipe, os.path.basename(recipefile))) + result = self.runCmd('devtool update-recipe %s' % testrecipe) + expected_status = [(' M', '.*/%s/file2$' % testrecipe)] + self._check_repo_status(os.path.dirname(recipefile), expected_status) + + @OETestID(1629) + def test_devtool_update_recipe_local_patch_gz(self): + # First, modify the recipe + testrecipe = 'devtool-test-patch-gz' + if self.get_bb_var('DISTRO') == 'poky-tiny': + self.skipTest("The DISTRO 'poky-tiny' does not provide the dependencies needed by %s" % testrecipe) + bb_vars = self.get_bb_vars(['FILE', 'SRC_URI'], testrecipe) + recipefile = bb_vars['FILE'] + src_uri = bb_vars['SRC_URI'] + tempdir = tempfile.mkdtemp(prefix='devtoolqa') + self.track_for_cleanup(tempdir) + self.track_for_cleanup(self.workspacedir) + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) + # (don't bother with cleaning the recipe on teardown, we won't be building it) + result = self.runCmd('devtool modify %s' % testrecipe) + # Modify one file + srctree = os.path.join(self.workspacedir, 'sources', testrecipe) + self.runCmd('echo "Another line" >> README', cwd=srctree) + self.runCmd('git commit -a --amend --no-edit', cwd=srctree) + self.add_command_to_tearDown('cd %s; rm %s/*; git checkout %s %s' % (os.path.dirname(recipefile), testrecipe, testrecipe, os.path.basename(recipefile))) + result = self.runCmd('devtool update-recipe %s' % testrecipe) + expected_status = [(' M', '.*/%s/readme.patch.gz$' % testrecipe)] + self._check_repo_status(os.path.dirname(recipefile), expected_status) + patch_gz = os.path.join(os.path.dirname(recipefile), testrecipe, 'readme.patch.gz') + result = self.runCmd('file %s' % patch_gz) + if 'gzip compressed data' not in result.output: + self.fail('New patch file is not gzipped - file reports:\n%s' % result.output) + + @OETestID(1628) + def test_devtool_update_recipe_local_files_subdir(self): + # Try devtool extract on a recipe that has a file with subdir= set in + # SRC_URI such that it overwrites a file that was in an archive that + # was also in SRC_URI + # First, modify the recipe + testrecipe = 'devtool-test-subdir' + bb_vars = self.get_bb_vars(['FILE', 'SRC_URI'], testrecipe) + recipefile = bb_vars['FILE'] + src_uri = bb_vars['SRC_URI'] + tempdir = tempfile.mkdtemp(prefix='devtoolqa') + self.track_for_cleanup(tempdir) + self.track_for_cleanup(self.workspacedir) + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) + # (don't bother with cleaning the recipe on teardown, we won't be building it) + result = self.runCmd('devtool modify %s' % testrecipe) + testfile = os.path.join(self.workspacedir, 'sources', testrecipe, 'testfile') + self.assertExists(testfile, 'Extracted source could not be found') + with open(testfile, 'r') as f: + contents = f.read().rstrip() + self.assertEqual(contents, 'Modified version', 'File has apparently not been overwritten as it should have been') + # Test devtool update-recipe without modifying any files + self.add_command_to_tearDown('cd %s; rm %s/*; git checkout %s %s' % (os.path.dirname(recipefile), testrecipe, testrecipe, os.path.basename(recipefile))) + result = self.runCmd('devtool update-recipe %s' % testrecipe) + expected_status = [] + self._check_repo_status(os.path.dirname(recipefile), expected_status) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 09:44:42 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 09:44:42 +0000 Subject: [oe-commits] [openembedded-core] 22/28: oeqa/selftest/cases: devtool enable threaded runs In-Reply-To: <150054386087.23220.15233943626715029805@git.openembedded.org> References: <150054386087.23220.15233943626715029805@git.openembedded.org> Message-ID: <20170720094421.E27982335E6@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit d96319f8c6b53799e3e69c053697d035f3049104 Author: An?bal Lim?n AuthorDate: Tue Jun 13 13:49:17 2017 -0500 oeqa/selftest/cases: devtool enable threaded runs - Add new class DevtoolCommon to split devtool suite into other modules. - Change to use wrappers from OESelfTest class (runCmd, bitbake). - When remove workspacedir using bitbake-layers use full path because now has it own builddir. - Add a build of xz-native because some tests needs it to decompress tarballs and is supposed to be provided, see bug [YOCTO #11474]. Signed-off-by: An?bal Lim?n --- meta/lib/oeqa/selftest/cases/devtool.py | 644 ++++++++++++++++---------------- 1 file changed, 325 insertions(+), 319 deletions(-) diff --git a/meta/lib/oeqa/selftest/cases/devtool.py b/meta/lib/oeqa/selftest/cases/devtool.py index 28c8467..c66e77a 100644 --- a/meta/lib/oeqa/selftest/cases/devtool.py +++ b/meta/lib/oeqa/selftest/cases/devtool.py @@ -6,13 +6,12 @@ import glob import fnmatch import oeqa.utils.ftools as ftools +from oeqa.utils.commands import create_temp_layer, runqemu + from oeqa.selftest.case import OESelftestTestCase -from oeqa.utils.commands import runCmd, bitbake, get_bb_var, create_temp_layer -from oeqa.utils.commands import get_bb_vars, runqemu from oeqa.core.decorator.oeid import OETestID class DevtoolBase(OESelftestTestCase): - def _test_recipe_contents(self, recipefile, checkvars, checkinherits): with open(recipefile, 'r') as f: invar = None @@ -62,7 +61,7 @@ class DevtoolBase(OESelftestTestCase): self.assertIn(inherit, inherits, 'Missing inherit of %s' % inherit) def _check_bbappend(self, testrecipe, recipefile, appenddir): - result = runCmd('bitbake-layers show-appends', cwd=self.builddir) + result = self.runCmd('bitbake-layers show-appends', cwd=self.builddir) resultlines = result.output.splitlines() inrecipe = False bbappends = [] @@ -88,7 +87,7 @@ class DevtoolBase(OESelftestTestCase): create_temp_layer(templayerdir, templayername, priority, recipepathspec) if addlayer: self.add_command_to_tearDown('bitbake-layers remove-layer %s || true' % templayerdir) - result = runCmd('bitbake-layers add-layer %s' % templayerdir, cwd=self.builddir) + result = self.runCmd('bitbake-layers add-layer %s' % templayerdir, cwd=self.builddir) def _process_ls_output(self, output): """ @@ -114,47 +113,54 @@ class DevtoolBase(OESelftestTestCase): return filelist -class DevtoolTests(DevtoolBase): - +class DevtoolCommon(DevtoolBase): @classmethod def setUpClass(cls): - super(DevtoolTests, cls).setUpClass() - bb_vars = get_bb_vars(['TOPDIR', 'SSTATE_DIR']) + super(DevtoolCommon, cls).setUpClass() + bb_vars = cls.get_bb_vars(['TOPDIR', 'SSTATE_DIR']) cls.original_sstate = bb_vars['SSTATE_DIR'] cls.devtool_sstate = os.path.join(bb_vars['TOPDIR'], 'sstate_devtool') cls.sstate_conf = 'SSTATE_DIR = "%s"\n' % cls.devtool_sstate cls.sstate_conf += ('SSTATE_MIRRORS += "file://.* file:///%s/PATH"\n' % cls.original_sstate) + # XXX: some test cases needs xz-native to unpack like mdadm recipes + # and it is supposed to be provided + cls.bitbake("xz-native") + @classmethod def tearDownClass(cls): cls.logger.debug('Deleting devtool sstate cache on %s' % cls.devtool_sstate) - runCmd('rm -rf %s' % cls.devtool_sstate) - super(DevtoolTests, cls).tearDownClass() + cls.runCmd('rm -rf %s' % cls.devtool_sstate) + super(DevtoolCommon, cls).tearDownClass() def setUp(self): """Test case setup function""" - super(DevtoolTests, self).setUp() + super(DevtoolCommon, self).setUp() self.workspacedir = os.path.join(self.builddir, 'workspace') self.assertTrue(not os.path.exists(self.workspacedir), 'This test cannot be run with a workspace directory ' 'under the build directory') self.append_config(self.sstate_conf) +class DevtoolTests(DevtoolCommon): + _use_own_builddir = True + _main_thread = False + def _check_src_repo(self, repo_dir): """Check srctree git repository""" self.assertTrue(os.path.isdir(os.path.join(repo_dir, '.git')), 'git repository for external source tree not found') - result = runCmd('git status --porcelain', cwd=repo_dir) + result = self.runCmd('git status --porcelain', cwd=repo_dir) self.assertEqual(result.output.strip(), "", 'Created git repo is not clean') - result = runCmd('git symbolic-ref HEAD', cwd=repo_dir) + result = self.runCmd('git symbolic-ref HEAD', cwd=repo_dir) self.assertEqual(result.output.strip(), "refs/heads/devtool", 'Wrong branch in git repo') def _check_repo_status(self, repo_dir, expected_status): """Check the worktree status of a repository""" - result = runCmd('git status . --porcelain', + result = self.runCmd('git status . --porcelain', cwd=repo_dir) for line in result.output.splitlines(): for ind, (f_status, fn_re) in enumerate(expected_status): @@ -171,21 +177,21 @@ class DevtoolTests(DevtoolBase): @OETestID(1158) def test_create_workspace(self): # Check preconditions - result = runCmd('bitbake-layers show-layers') + result = self.runCmd('bitbake-layers show-layers') self.assertTrue('/workspace' not in result.output, 'This test cannot be run with a workspace layer in bblayers.conf') # Try creating a workspace layer with a specific path tempdir = tempfile.mkdtemp(prefix='devtoolqa') self.track_for_cleanup(tempdir) - result = runCmd('devtool create-workspace %s' % tempdir) + result = self.runCmd('devtool create-workspace %s' % tempdir) self.assertTrue(os.path.isfile(os.path.join(tempdir, 'conf', 'layer.conf')), msg = "No workspace created. devtool output: %s " % result.output) - result = runCmd('bitbake-layers show-layers') + result = self.runCmd('bitbake-layers show-layers') self.assertIn(tempdir, result.output) # Try creating a workspace layer with the default path self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') - result = runCmd('devtool create-workspace') + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) + result = self.runCmd('devtool create-workspace') self.assertTrue(os.path.isfile(os.path.join(self.workspacedir, 'conf', 'layer.conf')), msg = "No workspace created. devtool output: %s " % result.output) - result = runCmd('bitbake-layers show-layers') + result = self.runCmd('bitbake-layers show-layers') self.assertNotIn(tempdir, result.output) self.assertIn(self.workspacedir, result.output) @@ -195,25 +201,25 @@ class DevtoolTests(DevtoolBase): tempdir = tempfile.mkdtemp(prefix='devtoolqa') self.track_for_cleanup(tempdir) url = 'http://www.ivarch.com/programs/sources/pv-1.5.3.tar.bz2' - result = runCmd('wget %s' % url, cwd=tempdir) - result = runCmd('tar xfv pv-1.5.3.tar.bz2', cwd=tempdir) + result = self.runCmd('wget %s' % url, cwd=tempdir) + result = self.runCmd('tar xfv pv-1.5.3.tar.bz2', cwd=tempdir) srcdir = os.path.join(tempdir, 'pv-1.5.3') self.assertTrue(os.path.isfile(os.path.join(srcdir, 'configure')), 'Unable to find configure script in source directory') # Test devtool add self.track_for_cleanup(self.workspacedir) self.add_command_to_tearDown('bitbake -c cleansstate pv') - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') - result = runCmd('devtool add pv %s' % srcdir) + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) + result = self.runCmd('devtool add pv %s' % srcdir) self.assertExists(os.path.join(self.workspacedir, 'conf', 'layer.conf'), 'Workspace directory not created') # Test devtool status - result = runCmd('devtool status') + result = self.runCmd('devtool status') self.assertIn('pv', result.output) self.assertIn(srcdir, result.output) # Clean up anything in the workdir/sysroot/sstate cache (have to do this *after* devtool add since the recipe only exists then) - bitbake('pv -c cleansstate') + self.bitbake('pv -c cleansstate') # Test devtool build - result = runCmd('devtool build pv') - bb_vars = get_bb_vars(['D', 'bindir'], 'pv') + result = self.runCmd('devtool build pv') + bb_vars = self.get_bb_vars(['D', 'bindir'], 'pv') installdir = bb_vars['D'] self.assertTrue(installdir, 'Could not query installdir variable') bindir = bb_vars['bindir'] @@ -233,22 +239,22 @@ class DevtoolTests(DevtoolBase): url = 'https://git.yoctoproject.org/git/dbus-wait' # Force fetching to "noname" subdir so we verify we're picking up the name from autoconf # instead of the directory name - result = runCmd('git clone %s noname' % url, cwd=tempdir) + result = self.runCmd('git clone %s noname' % url, cwd=tempdir) srcdir = os.path.join(tempdir, 'noname') - result = runCmd('git reset --hard %s' % srcrev, cwd=srcdir) + result = self.runCmd('git reset --hard %s' % srcrev, cwd=srcdir) self.assertTrue(os.path.isfile(os.path.join(srcdir, 'configure.ac')), 'Unable to find configure script in source directory') # Test devtool add self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) # Don't specify a name since we should be able to auto-detect it - result = runCmd('devtool add %s' % srcdir) + result = self.runCmd('devtool add %s' % srcdir) self.assertExists(os.path.join(self.workspacedir, 'conf', 'layer.conf'), 'Workspace directory not created') # Check the recipe name is correct - recipefile = get_bb_var('FILE', pn) + recipefile = self.get_bb_var('FILE', pn) self.assertIn('%s_git.bb' % pn, recipefile, 'Recipe file incorrectly named') self.assertIn(recipefile, result.output) # Test devtool status - result = runCmd('devtool status') + result = self.runCmd('devtool status') self.assertIn(pn, result.output) self.assertIn(srcdir, result.output) self.assertIn(recipefile, result.output) @@ -269,42 +275,42 @@ class DevtoolTests(DevtoolBase): self.track_for_cleanup(tempdir) version = '1.1' url = 'https://www.intra2net.com/en/developer/libftdi/download/libftdi1-%s.tar.bz2' % version - result = runCmd('wget %s' % url, cwd=tempdir) - result = runCmd('tar xfv libftdi1-%s.tar.bz2' % version, cwd=tempdir) + result = self.runCmd('wget %s' % url, cwd=tempdir) + result = self.runCmd('tar xfv libftdi1-%s.tar.bz2' % version, cwd=tempdir) srcdir = os.path.join(tempdir, 'libftdi1-%s' % version) self.assertTrue(os.path.isfile(os.path.join(srcdir, 'CMakeLists.txt')), 'Unable to find CMakeLists.txt in source directory') # Test devtool add (and use -V so we test that too) self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') - result = runCmd('devtool add libftdi %s -V %s' % (srcdir, version)) + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) + result = self.runCmd('devtool add libftdi %s -V %s' % (srcdir, version)) self.assertExists(os.path.join(self.workspacedir, 'conf', 'layer.conf'), 'Workspace directory not created') # Test devtool status - result = runCmd('devtool status') + result = self.runCmd('devtool status') self.assertIn('libftdi', result.output) self.assertIn(srcdir, result.output) # Clean up anything in the workdir/sysroot/sstate cache (have to do this *after* devtool add since the recipe only exists then) - bitbake('libftdi -c cleansstate') + self.bitbake('libftdi -c cleansstate') # libftdi's python/CMakeLists.txt is a bit broken, so let's just disable it # There's also the matter of it installing cmake files to a path we don't # normally cover, which triggers the installed-vs-shipped QA test we have # within do_package recipefile = '%s/recipes/libftdi/libftdi_%s.bb' % (self.workspacedir, version) - result = runCmd('recipetool setvar %s EXTRA_OECMAKE -- \'-DPYTHON_BINDINGS=OFF -DLIBFTDI_CMAKE_CONFIG_DIR=${datadir}/cmake/Modules\'' % recipefile) + result = self.runCmd('recipetool setvar %s EXTRA_OECMAKE -- \'-DPYTHON_BINDINGS=OFF -DLIBFTDI_CMAKE_CONFIG_DIR=${datadir}/cmake/Modules\'' % recipefile) with open(recipefile, 'a') as f: f.write('\nFILES_${PN}-dev += "${datadir}/cmake/Modules"\n') # We don't have the ability to pick up this dependency automatically yet... f.write('\nDEPENDS += "libusb1"\n') f.write('\nTESTLIBOUTPUT = "${COMPONENTS_DIR}/${TUNE_PKGARCH}/${PN}/${libdir}"\n') # Test devtool build - result = runCmd('devtool build libftdi') - bb_vars = get_bb_vars(['TESTLIBOUTPUT', 'STAMP'], 'libftdi') + result = self.runCmd('devtool build libftdi') + bb_vars = self.get_bb_vars(['TESTLIBOUTPUT', 'STAMP'], 'libftdi') staging_libdir = bb_vars['TESTLIBOUTPUT'] self.assertTrue(staging_libdir, 'Could not query TESTLIBOUTPUT variable') self.assertTrue(os.path.isfile(os.path.join(staging_libdir, 'libftdi1.so.2.1.0')), "libftdi binary not found in STAGING_LIBDIR. Output of devtool build libftdi %s" % result.output) # Test devtool reset stampprefix = bb_vars['STAMP'] - result = runCmd('devtool reset libftdi') - result = runCmd('devtool status') + result = self.runCmd('devtool reset libftdi') + result = self.runCmd('devtool status') self.assertNotIn('libftdi', result.output) self.assertTrue(stampprefix, 'Unable to get STAMP value for recipe libftdi') matches = glob.glob(stampprefix + '*') @@ -323,34 +329,34 @@ class DevtoolTests(DevtoolBase): # Test devtool add self.track_for_cleanup(self.workspacedir) self.add_command_to_tearDown('bitbake -c cleansstate %s' % testrecipe) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') - result = runCmd('devtool add %s %s -f %s' % (testrecipe, srcdir, url)) + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) + result = self.runCmd('devtool add %s %s -f %s' % (testrecipe, srcdir, url)) self.assertExists(os.path.join(self.workspacedir, 'conf', 'layer.conf'), 'Workspace directory not created. %s' % result.output) self.assertTrue(os.path.isfile(os.path.join(srcdir, 'setup.py')), 'Unable to find setup.py in source directory') self.assertTrue(os.path.isdir(os.path.join(srcdir, '.git')), 'git repository for external source tree was not created') # Test devtool status - result = runCmd('devtool status') + result = self.runCmd('devtool status') self.assertIn(testrecipe, result.output) self.assertIn(srcdir, result.output) # Check recipe - recipefile = get_bb_var('FILE', testrecipe) + recipefile = self.get_bb_var('FILE', testrecipe) self.assertIn('%s_%s.bb' % (testrecipe, testver), recipefile, 'Recipe file incorrectly named') checkvars = {} checkvars['S'] = '${WORKDIR}/MarkupSafe-${PV}' checkvars['SRC_URI'] = url.replace(testver, '${PV}') self._test_recipe_contents(recipefile, checkvars, []) # Try with version specified - result = runCmd('devtool reset -n %s' % testrecipe) + result = self.runCmd('devtool reset -n %s' % testrecipe) shutil.rmtree(srcdir) fakever = '1.9' - result = runCmd('devtool add %s %s -f %s -V %s' % (testrecipe, srcdir, url, fakever)) + result = self.runCmd('devtool add %s %s -f %s -V %s' % (testrecipe, srcdir, url, fakever)) self.assertTrue(os.path.isfile(os.path.join(srcdir, 'setup.py')), 'Unable to find setup.py in source directory') # Test devtool status - result = runCmd('devtool status') + result = self.runCmd('devtool status') self.assertIn(testrecipe, result.output) self.assertIn(srcdir, result.output) # Check recipe - recipefile = get_bb_var('FILE', testrecipe) + recipefile = self.get_bb_var('FILE', testrecipe) self.assertIn('%s_%s.bb' % (testrecipe, fakever), recipefile, 'Recipe file incorrectly named') checkvars = {} checkvars['S'] = '${WORKDIR}/MarkupSafe-%s' % testver @@ -368,16 +374,16 @@ class DevtoolTests(DevtoolBase): # Test devtool add self.track_for_cleanup(self.workspacedir) self.add_command_to_tearDown('bitbake -c cleansstate %s' % testrecipe) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') - result = runCmd('devtool add %s %s -a -f %s' % (testrecipe, srcdir, url)) + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) + result = self.runCmd('devtool add %s %s -a -f %s' % (testrecipe, srcdir, url)) self.assertExists(os.path.join(self.workspacedir, 'conf', 'layer.conf'), 'Workspace directory not created: %s' % result.output) self.assertTrue(os.path.isfile(os.path.join(srcdir, 'imraa', 'imraa.c')), 'Unable to find imraa/imraa.c in source directory') # Test devtool status - result = runCmd('devtool status') + result = self.runCmd('devtool status') self.assertIn(testrecipe, result.output) self.assertIn(srcdir, result.output) # Check recipe - recipefile = get_bb_var('FILE', testrecipe) + recipefile = self.get_bb_var('FILE', testrecipe) self.assertIn('_git.bb', recipefile, 'Recipe file incorrectly named') checkvars = {} checkvars['S'] = '${WORKDIR}/git' @@ -386,17 +392,17 @@ class DevtoolTests(DevtoolBase): checkvars['SRCREV'] = '${AUTOREV}' self._test_recipe_contents(recipefile, checkvars, []) # Try with revision and version specified - result = runCmd('devtool reset -n %s' % testrecipe) + result = self.runCmd('devtool reset -n %s' % testrecipe) shutil.rmtree(srcdir) url_rev = '%s;rev=%s' % (url, checkrev) - result = runCmd('devtool add %s %s -f "%s" -V 1.5' % (testrecipe, srcdir, url_rev)) + result = self.runCmd('devtool add %s %s -f "%s" -V 1.5' % (testrecipe, srcdir, url_rev)) self.assertTrue(os.path.isfile(os.path.join(srcdir, 'imraa', 'imraa.c')), 'Unable to find imraa/imraa.c in source directory') # Test devtool status - result = runCmd('devtool status') + result = self.runCmd('devtool status') self.assertIn(testrecipe, result.output) self.assertIn(srcdir, result.output) # Check recipe - recipefile = get_bb_var('FILE', testrecipe) + recipefile = self.get_bb_var('FILE', testrecipe) self.assertIn('_git.bb', recipefile, 'Recipe file incorrectly named') checkvars = {} checkvars['S'] = '${WORKDIR}/git' @@ -416,17 +422,17 @@ class DevtoolTests(DevtoolBase): srcdir = os.path.join(self.workspacedir, 'sources', testrecipe) # Test devtool add self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') - result = runCmd('devtool add %s' % url) + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) + result = self.runCmd('devtool add %s' % url) self.assertExists(os.path.join(self.workspacedir, 'conf', 'layer.conf'), 'Workspace directory not created. %s' % result.output) self.assertTrue(os.path.isfile(os.path.join(srcdir, 'configure')), 'Unable to find configure script in source directory') self.assertTrue(os.path.isdir(os.path.join(srcdir, '.git')), 'git repository for external source tree was not created') # Test devtool status - result = runCmd('devtool status') + result = self.runCmd('devtool status') self.assertIn(testrecipe, result.output) self.assertIn(srcdir, result.output) # Check recipe - recipefile = get_bb_var('FILE', testrecipe) + recipefile = self.get_bb_var('FILE', testrecipe) self.assertIn('%s_%s.bb' % (testrecipe, testver), recipefile, 'Recipe file incorrectly named') checkvars = {} checkvars['S'] = None @@ -440,21 +446,21 @@ class DevtoolTests(DevtoolBase): tempdir = tempfile.mkdtemp(prefix='devtoolqa') self.track_for_cleanup(tempdir) self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) self.add_command_to_tearDown('bitbake -c clean mdadm') - result = runCmd('devtool modify mdadm -x %s' % tempdir) + result = self.runCmd('devtool modify mdadm -x %s' % tempdir) self.assertExists(os.path.join(tempdir, 'Makefile'), 'Extracted source could not be found') self.assertExists(os.path.join(self.workspacedir, 'conf', 'layer.conf'), 'Workspace directory not created') matches = glob.glob(os.path.join(self.workspacedir, 'appends', 'mdadm_*.bbappend')) self.assertTrue(matches, 'bbappend not created %s' % result.output) # Test devtool status - result = runCmd('devtool status') + result = self.runCmd('devtool status') self.assertIn('mdadm', result.output) self.assertIn(tempdir, result.output) self._check_src_repo(tempdir) - bitbake('mdadm -C unpack') + self.bitbake('mdadm -C unpack') def check_line(checkfile, expected, message, present=True): # Check for $expected, on a line on its own, in checkfile. @@ -465,7 +471,7 @@ class DevtoolTests(DevtoolBase): self.assertNotIn(expected + '\n', f, message) modfile = os.path.join(tempdir, 'mdadm.8.in') - bb_vars = get_bb_vars(['PKGD', 'mandir'], 'mdadm') + bb_vars = self.get_bb_vars(['PKGD', 'mandir'], 'mdadm') pkgd = bb_vars['PKGD'] self.assertTrue(pkgd, 'Could not query PKGD variable') mandir = bb_vars['mandir'] @@ -475,20 +481,20 @@ class DevtoolTests(DevtoolBase): check_line(modfile, 'Linux Software RAID', 'Could not find initial string') check_line(modfile, 'antique pin sardine', 'Unexpectedly found replacement string', present=False) - result = runCmd("sed -i 's!^Linux Software RAID$!antique pin sardine!' %s" % modfile) + result = self.runCmd("sed -i 's!^Linux Software RAID$!antique pin sardine!' %s" % modfile) check_line(modfile, 'antique pin sardine', 'mdadm.8.in file not modified (sed failed)') - bitbake('mdadm -c package') + self.bitbake('mdadm -c package') check_line(manfile, 'antique pin sardine', 'man file not modified. man searched file path: %s' % manfile) - result = runCmd('git checkout -- %s' % modfile, cwd=tempdir) + result = self.runCmd('git checkout -- %s' % modfile, cwd=tempdir) check_line(modfile, 'Linux Software RAID', 'man .in file not restored (git failed)') - bitbake('mdadm -c package') + self.bitbake('mdadm -c package') check_line(manfile, 'Linux Software RAID', 'man file not updated. man searched file path: %s' % manfile) - result = runCmd('devtool reset mdadm') - result = runCmd('devtool status') + result = self.runCmd('devtool reset mdadm') + result = self.runCmd('devtool status') self.assertNotIn('mdadm', result.output) @OETestID(1620) @@ -501,7 +507,7 @@ class DevtoolTests(DevtoolBase): self.assertNotExists(f) # Clean up anything in the workdir/sysroot/sstate cache - bitbake('mdadm m4 -c cleansstate') + self.bitbake('mdadm m4 -c cleansstate') # Try modifying a recipe tempdir_mdadm = tempfile.mkdtemp(prefix='devtoolqa') tempdir_m4 = tempfile.mkdtemp(prefix='devtoolqa') @@ -510,27 +516,27 @@ class DevtoolTests(DevtoolBase): self.track_for_cleanup(tempdir_m4) self.track_for_cleanup(builddir_m4) self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) self.add_command_to_tearDown('bitbake -c clean mdadm m4') self.write_recipeinc('m4', 'EXTERNALSRC_BUILD = "%s"\ndo_clean() {\n\t:\n}\n' % builddir_m4) try: - runCmd('devtool modify mdadm -x %s' % tempdir_mdadm) - runCmd('devtool modify m4 -x %s' % tempdir_m4) + self.runCmd('devtool modify mdadm -x %s' % tempdir_mdadm) + self.runCmd('devtool modify m4 -x %s' % tempdir_m4) assertNoFile(tempdir_mdadm, 'mdadm') assertNoFile(builddir_m4, 'src/m4') - result = bitbake('m4 -e') - result = bitbake('mdadm m4 -c compile') + result = self.bitbake('m4 -e') + result = self.bitbake('mdadm m4 -c compile') self.assertEqual(result.status, 0) assertFile(tempdir_mdadm, 'mdadm') assertFile(builddir_m4, 'src/m4') # Check that buildclean task exists and does call make clean - bitbake('mdadm m4 -c buildclean') + self.bitbake('mdadm m4 -c buildclean') assertNoFile(tempdir_mdadm, 'mdadm') assertNoFile(builddir_m4, 'src/m4') - bitbake('mdadm m4 -c compile') + self.bitbake('mdadm m4 -c compile') assertFile(tempdir_mdadm, 'mdadm') assertFile(builddir_m4, 'src/m4') - bitbake('mdadm m4 -c clean') + self.bitbake('mdadm m4 -c clean') # Check that buildclean task is run before clean for B == S assertNoFile(tempdir_mdadm, 'mdadm') # Check that buildclean task is not run before clean for B != S @@ -544,11 +550,11 @@ class DevtoolTests(DevtoolBase): tempdir = tempfile.mkdtemp(prefix='devtoolqa') self.track_for_cleanup(tempdir) self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) testrecipes = 'perf kernel-devsrc package-index core-image-minimal meta-toolchain packagegroup-core-sdk meta-ide-support'.split() # Find actual name of gcc-source since it now includes the version - crude, but good enough for this purpose - result = runCmd('bitbake-layers show-recipes gcc-source*') + result = self.runCmd('bitbake-layers show-recipes gcc-source*') for line in result.output.splitlines(): # just match those lines that contain a real target m = re.match('(?P^[a-zA-Z0-9.-]+)(?P:$)', line) @@ -556,14 +562,14 @@ class DevtoolTests(DevtoolBase): testrecipes.append(m.group('recipe')) for testrecipe in testrecipes: # Check it's a valid recipe - bitbake('%s -e' % testrecipe) + self.bitbake('%s -e' % testrecipe) # devtool extract should fail - result = runCmd('devtool extract %s %s' % (testrecipe, os.path.join(tempdir, testrecipe)), ignore_status=True) + result = self.runCmd('devtool extract %s %s' % (testrecipe, os.path.join(tempdir, testrecipe)), ignore_status=True) self.assertNotEqual(result.status, 0, 'devtool extract on %s should have failed. devtool output: %s' % (testrecipe, result.output)) self.assertNotIn('Fetching ', result.output, 'devtool extract on %s should have errored out before trying to fetch' % testrecipe) self.assertIn('ERROR: ', result.output, 'devtool extract on %s should have given an ERROR' % testrecipe) # devtool modify should fail - result = runCmd('devtool modify %s -x %s' % (testrecipe, os.path.join(tempdir, testrecipe)), ignore_status=True) + result = self.runCmd('devtool modify %s -x %s' % (testrecipe, os.path.join(tempdir, testrecipe)), ignore_status=True) self.assertNotEqual(result.status, 0, 'devtool modify on %s should have failed. devtool output: %s' % (testrecipe, result.output)) self.assertIn('ERROR: ', result.output, 'devtool modify on %s should have given an ERROR' % testrecipe) @@ -575,22 +581,22 @@ class DevtoolTests(DevtoolBase): tempdir = tempfile.mkdtemp(prefix='devtoolqa') self.track_for_cleanup(tempdir) self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) bbclassextended = False inheritnative = False testrecipes = 'mtools-native apt-native desktop-file-utils-native'.split() for testrecipe in testrecipes: - checkextend = 'native' in (get_bb_var('BBCLASSEXTEND', testrecipe) or '').split() + checkextend = 'native' in (self.get_bb_var('BBCLASSEXTEND', testrecipe) or '').split() if not bbclassextended: bbclassextended = checkextend if not inheritnative: inheritnative = not checkextend - result = runCmd('devtool modify %s -x %s' % (testrecipe, os.path.join(tempdir, testrecipe))) + result = self.runCmd('devtool modify %s -x %s' % (testrecipe, os.path.join(tempdir, testrecipe))) self.assertNotIn('ERROR: ', result.output, 'ERROR in devtool modify output: %s' % result.output) - result = runCmd('devtool build %s' % testrecipe) + result = self.runCmd('devtool build %s' % testrecipe) self.assertNotIn('ERROR: ', result.output, 'ERROR in devtool build output: %s' % result.output) - result = runCmd('devtool reset %s' % testrecipe) + result = self.runCmd('devtool reset %s' % testrecipe) self.assertNotIn('ERROR: ', result.output, 'ERROR in devtool reset output: %s' % result.output) self.assertTrue(bbclassextended, 'None of these recipes are BBCLASSEXTENDed to native - need to adjust testrecipes list: %s' % ', '.join(testrecipes)) @@ -601,35 +607,35 @@ class DevtoolTests(DevtoolBase): def test_devtool_modify_git(self): # Check preconditions testrecipe = 'mkelfimage' - src_uri = get_bb_var('SRC_URI', testrecipe) + src_uri = self.get_bb_var('SRC_URI', testrecipe) self.assertIn('git://', src_uri, 'This test expects the %s recipe to be a git recipe' % testrecipe) # Clean up anything in the workdir/sysroot/sstate cache - bitbake('%s -c cleansstate' % testrecipe) + self.bitbake('%s -c cleansstate' % testrecipe) # Try modifying a recipe tempdir = tempfile.mkdtemp(prefix='devtoolqa') self.track_for_cleanup(tempdir) self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) self.add_command_to_tearDown('bitbake -c clean %s' % testrecipe) - result = runCmd('devtool modify %s -x %s' % (testrecipe, tempdir)) + result = self.runCmd('devtool modify %s -x %s' % (testrecipe, tempdir)) self.assertExists(os.path.join(tempdir, 'Makefile'), 'Extracted source could not be found') self.assertExists(os.path.join(self.workspacedir, 'conf', 'layer.conf'), 'Workspace directory not created. devtool output: %s' % result.output) matches = glob.glob(os.path.join(self.workspacedir, 'appends', 'mkelfimage_*.bbappend')) self.assertTrue(matches, 'bbappend not created') # Test devtool status - result = runCmd('devtool status') + result = self.runCmd('devtool status') self.assertIn(testrecipe, result.output) self.assertIn(tempdir, result.output) # Check git repo self._check_src_repo(tempdir) # Try building - bitbake(testrecipe) + self.bitbake(testrecipe) @OETestID(1167) def test_devtool_modify_localfiles(self): # Check preconditions testrecipe = 'lighttpd' - src_uri = (get_bb_var('SRC_URI', testrecipe) or '').split() + src_uri = (self.get_bb_var('SRC_URI', testrecipe) or '').split() foundlocal = False for item in src_uri: if item.startswith('file://') and '.patch' not in item: @@ -637,24 +643,24 @@ class DevtoolTests(DevtoolBase): break self.assertTrue(foundlocal, 'This test expects the %s recipe to fetch local files and it seems that it no longer does' % testrecipe) # Clean up anything in the workdir/sysroot/sstate cache - bitbake('%s -c cleansstate' % testrecipe) + self.bitbake('%s -c cleansstate' % testrecipe) # Try modifying a recipe tempdir = tempfile.mkdtemp(prefix='devtoolqa') self.track_for_cleanup(tempdir) self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) self.add_command_to_tearDown('bitbake -c clean %s' % testrecipe) - result = runCmd('devtool modify %s -x %s' % (testrecipe, tempdir)) + result = self.runCmd('devtool modify %s -x %s' % (testrecipe, tempdir)) self.assertExists(os.path.join(tempdir, 'configure.ac'), 'Extracted source could not be found') self.assertExists(os.path.join(self.workspacedir, 'conf', 'layer.conf'), 'Workspace directory not created') matches = glob.glob(os.path.join(self.workspacedir, 'appends', '%s_*.bbappend' % testrecipe)) self.assertTrue(matches, 'bbappend not created') # Test devtool status - result = runCmd('devtool status') + result = self.runCmd('devtool status') self.assertIn(testrecipe, result.output) self.assertIn(tempdir, result.output) # Try building - bitbake(testrecipe) + self.bitbake(testrecipe) @OETestID(1378) def test_devtool_modify_virtual(self): @@ -664,14 +670,14 @@ class DevtoolTests(DevtoolBase): tempdir = tempfile.mkdtemp(prefix='devtoolqa') self.track_for_cleanup(tempdir) self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') - result = runCmd('devtool modify %s -x %s' % (virtrecipe, tempdir)) + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) + result = self.runCmd('devtool modify %s -x %s' % (virtrecipe, tempdir)) self.assertExists(os.path.join(tempdir, 'Makefile.am'), 'Extracted source could not be found') self.assertExists(os.path.join(self.workspacedir, 'conf', 'layer.conf'), 'Workspace directory not created') matches = glob.glob(os.path.join(self.workspacedir, 'appends', '%s_*.bbappend' % realrecipe)) self.assertTrue(matches, 'bbappend not created %s' % result.output) # Test devtool status - result = runCmd('devtool status') + result = self.runCmd('devtool status') self.assertNotIn(virtrecipe, result.output) self.assertIn(realrecipe, result.output) # Check git repo @@ -683,7 +689,7 @@ class DevtoolTests(DevtoolBase): def test_devtool_update_recipe(self): # Check preconditions testrecipe = 'minicom' - bb_vars = get_bb_vars(['FILE', 'SRC_URI'], testrecipe) + bb_vars = self.get_bb_vars(['FILE', 'SRC_URI'], testrecipe) recipefile = bb_vars['FILE'] src_uri = bb_vars['SRC_URI'] self.assertNotIn('git://', src_uri, 'This test expects the %s recipe to NOT be a git recipe' % testrecipe) @@ -692,21 +698,21 @@ class DevtoolTests(DevtoolBase): tempdir = tempfile.mkdtemp(prefix='devtoolqa') self.track_for_cleanup(tempdir) self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) # (don't bother with cleaning the recipe on teardown, we won't be building it) # We don't use -x here so that we test the behaviour of devtool modify without it - result = runCmd('devtool modify %s %s' % (testrecipe, tempdir)) + result = self.runCmd('devtool modify %s %s' % (testrecipe, tempdir)) # Check git repo self._check_src_repo(tempdir) # Add a couple of commits # FIXME: this only tests adding, need to also test update and remove - result = runCmd('echo "Additional line" >> README', cwd=tempdir) - result = runCmd('git commit -a -m "Change the README"', cwd=tempdir) - result = runCmd('echo "A new file" > devtool-new-file', cwd=tempdir) - result = runCmd('git add devtool-new-file', cwd=tempdir) - result = runCmd('git commit -m "Add a new file"', cwd=tempdir) + result = self.runCmd('echo "Additional line" >> README', cwd=tempdir) + result = self.runCmd('git commit -a -m "Change the README"', cwd=tempdir) + result = self.runCmd('echo "A new file" > devtool-new-file', cwd=tempdir) + result = self.runCmd('git add devtool-new-file', cwd=tempdir) + result = self.runCmd('git commit -m "Add a new file"', cwd=tempdir) self.add_command_to_tearDown('cd %s; rm %s/*.patch; git checkout %s %s' % (os.path.dirname(recipefile), testrecipe, testrecipe, os.path.basename(recipefile))) - result = runCmd('devtool update-recipe %s' % testrecipe) + result = self.runCmd('devtool update-recipe %s' % testrecipe) expected_status = [(' M', '.*/%s$' % os.path.basename(recipefile)), ('??', '.*/0001-Change-the-README.patch$'), ('??', '.*/0002-Add-a-new-file.patch$')] @@ -716,7 +722,7 @@ class DevtoolTests(DevtoolBase): def test_devtool_update_recipe_git(self): # Check preconditions testrecipe = 'mtd-utils' - bb_vars = get_bb_vars(['FILE', 'SRC_URI'], testrecipe) + bb_vars = self.get_bb_vars(['FILE', 'SRC_URI'], testrecipe) recipefile = bb_vars['FILE'] src_uri = bb_vars['SRC_URI'] self.assertIn('git://', src_uri, 'This test expects the %s recipe to be a git recipe' % testrecipe) @@ -730,25 +736,25 @@ class DevtoolTests(DevtoolBase): tempdir = tempfile.mkdtemp(prefix='devtoolqa') self.track_for_cleanup(tempdir) self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) # (don't bother with cleaning the recipe on teardown, we won't be building it) - result = runCmd('devtool modify %s -x %s' % (testrecipe, tempdir)) + result = self.runCmd('devtool modify %s -x %s' % (testrecipe, tempdir)) # Check git repo self._check_src_repo(tempdir) # Add a couple of commits # FIXME: this only tests adding, need to also test update and remove - result = runCmd('echo "# Additional line" >> Makefile.am', cwd=tempdir) - result = runCmd('git commit -a -m "Change the Makefile"', cwd=tempdir) - result = runCmd('echo "A new file" > devtool-new-file', cwd=tempdir) - result = runCmd('git add devtool-new-file', cwd=tempdir) - result = runCmd('git commit -m "Add a new file"', cwd=tempdir) + result = self.runCmd('echo "# Additional line" >> Makefile.am', cwd=tempdir) + result = self.runCmd('git commit -a -m "Change the Makefile"', cwd=tempdir) + result = self.runCmd('echo "A new file" > devtool-new-file', cwd=tempdir) + result = self.runCmd('git add devtool-new-file', cwd=tempdir) + result = self.runCmd('git commit -m "Add a new file"', cwd=tempdir) self.add_command_to_tearDown('cd %s; rm -rf %s; git checkout %s %s' % (os.path.dirname(recipefile), testrecipe, testrecipe, os.path.basename(recipefile))) - result = runCmd('devtool update-recipe -m srcrev %s' % testrecipe) + result = self.runCmd('devtool update-recipe -m srcrev %s' % testrecipe) expected_status = [(' M', '.*/%s$' % os.path.basename(recipefile))] + \ [(' D', '.*/%s$' % patch) for patch in patches] self._check_repo_status(os.path.dirname(recipefile), expected_status) - result = runCmd('git diff %s' % os.path.basename(recipefile), cwd=os.path.dirname(recipefile)) + result = self.runCmd('git diff %s' % os.path.basename(recipefile), cwd=os.path.dirname(recipefile)) addlines = ['SRCREV = ".*"', 'SRC_URI = "git://git.infradead.org/mtd-utils.git"'] srcurilines = src_uri.split() srcurilines[0] = 'SRC_URI = "' + srcurilines[0] @@ -772,9 +778,9 @@ class DevtoolTests(DevtoolBase): break self.assertTrue(matched, 'Unexpected diff remove line: %s' % line) # Now try with auto mode - runCmd('cd %s; git checkout %s %s' % (os.path.dirname(recipefile), testrecipe, os.path.basename(recipefile))) - result = runCmd('devtool update-recipe %s' % testrecipe) - result = runCmd('git rev-parse --show-toplevel', cwd=os.path.dirname(recipefile)) + self.runCmd('cd %s; git checkout %s %s' % (os.path.dirname(recipefile), testrecipe, os.path.basename(recipefile))) + result = self.runCmd('devtool update-recipe %s' % testrecipe) + result = self.runCmd('git rev-parse --show-toplevel', cwd=os.path.dirname(recipefile)) topleveldir = result.output.strip() relpatchpath = os.path.join(os.path.relpath(os.path.dirname(recipefile), topleveldir), testrecipe) expected_status = [(' M', os.path.relpath(recipefile, topleveldir)), @@ -786,7 +792,7 @@ class DevtoolTests(DevtoolBase): def test_devtool_update_recipe_append(self): # Check preconditions testrecipe = 'mdadm' - bb_vars = get_bb_vars(['FILE', 'SRC_URI'], testrecipe) + bb_vars = self.get_bb_vars(['FILE', 'SRC_URI'], testrecipe) recipefile = bb_vars['FILE'] src_uri = bb_vars['SRC_URI'] self.assertNotIn('git://', src_uri, 'This test expects the %s recipe to NOT be a git recipe' % testrecipe) @@ -797,19 +803,19 @@ class DevtoolTests(DevtoolBase): templayerdir = os.path.join(tempdir, 'layer') self.track_for_cleanup(tempdir) self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) # (don't bother with cleaning the recipe on teardown, we won't be building it) - result = runCmd('devtool modify %s -x %s' % (testrecipe, tempsrcdir)) + result = self.runCmd('devtool modify %s -x %s' % (testrecipe, tempsrcdir)) # Check git repo self._check_src_repo(tempsrcdir) # Add a commit - result = runCmd("sed 's!\\(#define VERSION\\W*\"[^\"]*\\)\"!\\1-custom\"!' -i ReadMe.c", cwd=tempsrcdir) - result = runCmd('git commit -a -m "Add our custom version"', cwd=tempsrcdir) + result = self.runCmd("sed 's!\\(#define VERSION\\W*\"[^\"]*\\)\"!\\1-custom\"!' -i ReadMe.c", cwd=tempsrcdir) + result = self.runCmd('git commit -a -m "Add our custom version"', cwd=tempsrcdir) self.add_command_to_tearDown('cd %s; rm -f %s/*.patch; git checkout .' % (os.path.dirname(recipefile), testrecipe)) # Create a temporary layer and add it to bblayers.conf self._create_temp_layer(templayerdir, True, 'selftestupdaterecipe') # Create the bbappend - result = runCmd('devtool update-recipe %s -a %s' % (testrecipe, templayerdir)) + result = self.runCmd('devtool update-recipe %s -a %s' % (testrecipe, templayerdir)) self.assertNotIn('WARNING:', result.output) # Check recipe is still clean self._check_repo_status(os.path.dirname(recipefile), []) @@ -829,12 +835,12 @@ class DevtoolTests(DevtoolBase): self.assertEqual(expectedlines, f.readlines()) # Check we can run it again and bbappend isn't modified - result = runCmd('devtool update-recipe %s -a %s' % (testrecipe, templayerdir)) + result = self.runCmd('devtool update-recipe %s -a %s' % (testrecipe, templayerdir)) with open(bbappendfile, 'r') as f: self.assertEqual(expectedlines, f.readlines()) # Drop new commit and check patch gets deleted - result = runCmd('git reset HEAD^', cwd=tempsrcdir) - result = runCmd('devtool update-recipe %s -a %s' % (testrecipe, templayerdir)) + result = self.runCmd('git reset HEAD^', cwd=tempsrcdir) + result = self.runCmd('devtool update-recipe %s -a %s' % (testrecipe, templayerdir)) self.assertNotExists(patchfile, 'Patch file not deleted') expectedlines2 = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n', '\n'] @@ -842,9 +848,9 @@ class DevtoolTests(DevtoolBase): self.assertEqual(expectedlines2, f.readlines()) # Put commit back and check we can run it if layer isn't in bblayers.conf os.remove(bbappendfile) - result = runCmd('git commit -a -m "Add our custom version"', cwd=tempsrcdir) - result = runCmd('bitbake-layers remove-layer %s' % templayerdir, cwd=self.builddir) - result = runCmd('devtool update-recipe %s -a %s' % (testrecipe, templayerdir)) + result = self.runCmd('git commit -a -m "Add our custom version"', cwd=tempsrcdir) + result = self.runCmd('bitbake-layers remove-layer %s' % templayerdir, cwd=self.builddir) + result = self.runCmd('devtool update-recipe %s -a %s' % (testrecipe, templayerdir)) self.assertIn('WARNING: Specified layer is not currently enabled in bblayers.conf', result.output) self.assertExists(patchfile, 'Patch file not created (with disabled layer)') with open(bbappendfile, 'r') as f: @@ -855,7 +861,7 @@ class DevtoolTests(DevtoolBase): def test_devtool_update_recipe_append_git(self): # Check preconditions testrecipe = 'mtd-utils' - bb_vars = get_bb_vars(['FILE', 'SRC_URI'], testrecipe) + bb_vars = self.get_bb_vars(['FILE', 'SRC_URI'], testrecipe) recipefile = bb_vars['FILE'] src_uri = bb_vars['SRC_URI'] self.assertIn('git://', src_uri, 'This test expects the %s recipe to be a git recipe' % testrecipe) @@ -870,14 +876,14 @@ class DevtoolTests(DevtoolBase): templayerdir = os.path.join(tempdir, 'layer') self.track_for_cleanup(tempdir) self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) # (don't bother with cleaning the recipe on teardown, we won't be building it) - result = runCmd('devtool modify %s -x %s' % (testrecipe, tempsrcdir)) + result = self.runCmd('devtool modify %s -x %s' % (testrecipe, tempsrcdir)) # Check git repo self._check_src_repo(tempsrcdir) # Add a commit - result = runCmd('echo "# Additional line" >> Makefile.am', cwd=tempsrcdir) - result = runCmd('git commit -a -m "Change the Makefile"', cwd=tempsrcdir) + result = self.runCmd('echo "# Additional line" >> Makefile.am', cwd=tempsrcdir) + result = self.runCmd('git commit -a -m "Change the Makefile"', cwd=tempsrcdir) self.add_command_to_tearDown('cd %s; rm -f %s/*.patch; git checkout .' % (os.path.dirname(recipefile), testrecipe)) # Create a temporary layer os.makedirs(os.path.join(templayerdir, 'conf')) @@ -889,9 +895,9 @@ class DevtoolTests(DevtoolBase): f.write('BBFILE_PRIORITY_oeselftesttemplayer = "999"\n') f.write('BBFILE_PATTERN_IGNORE_EMPTY_oeselftesttemplayer = "1"\n') self.add_command_to_tearDown('bitbake-layers remove-layer %s || true' % templayerdir) - result = runCmd('bitbake-layers add-layer %s' % templayerdir, cwd=self.builddir) + result = self.runCmd('bitbake-layers add-layer %s' % templayerdir, cwd=self.builddir) # Create the bbappend - result = runCmd('devtool update-recipe -m srcrev %s -a %s' % (testrecipe, templayerdir)) + result = self.runCmd('devtool update-recipe -m srcrev %s -a %s' % (testrecipe, templayerdir)) self.assertNotIn('WARNING:', result.output) # Check recipe is still clean self._check_repo_status(os.path.dirname(recipefile), []) @@ -902,7 +908,7 @@ class DevtoolTests(DevtoolBase): self.assertNotExists(os.path.join(appenddir, testrecipe), 'Patch directory should not be created') # Check bbappend contents - result = runCmd('git rev-parse HEAD', cwd=tempsrcdir) + result = self.runCmd('git rev-parse HEAD', cwd=tempsrcdir) expectedlines = set(['SRCREV = "%s"\n' % result.output, '\n', 'SRC_URI = "%s"\n' % git_uri, @@ -911,14 +917,14 @@ class DevtoolTests(DevtoolBase): self.assertEqual(expectedlines, set(f.readlines())) # Check we can run it again and bbappend isn't modified - result = runCmd('devtool update-recipe -m srcrev %s -a %s' % (testrecipe, templayerdir)) + result = self.runCmd('devtool update-recipe -m srcrev %s -a %s' % (testrecipe, templayerdir)) with open(bbappendfile, 'r') as f: self.assertEqual(expectedlines, set(f.readlines())) # Drop new commit and check SRCREV changes - result = runCmd('git reset HEAD^', cwd=tempsrcdir) - result = runCmd('devtool update-recipe -m srcrev %s -a %s' % (testrecipe, templayerdir)) + result = self.runCmd('git reset HEAD^', cwd=tempsrcdir) + result = self.runCmd('devtool update-recipe -m srcrev %s -a %s' % (testrecipe, templayerdir)) self.assertNotExists(os.path.join(appenddir, testrecipe), 'Patch directory should not be created') - result = runCmd('git rev-parse HEAD', cwd=tempsrcdir) + result = self.runCmd('git rev-parse HEAD', cwd=tempsrcdir) expectedlines = set(['SRCREV = "%s"\n' % result.output, '\n', 'SRC_URI = "%s"\n' % git_uri, @@ -927,12 +933,12 @@ class DevtoolTests(DevtoolBase): self.assertEqual(expectedlines, set(f.readlines())) # Put commit back and check we can run it if layer isn't in bblayers.conf os.remove(bbappendfile) - result = runCmd('git commit -a -m "Change the Makefile"', cwd=tempsrcdir) - result = runCmd('bitbake-layers remove-layer %s' % templayerdir, cwd=self.builddir) - result = runCmd('devtool update-recipe -m srcrev %s -a %s' % (testrecipe, templayerdir)) + result = self.runCmd('git commit -a -m "Change the Makefile"', cwd=tempsrcdir) + result = self.runCmd('bitbake-layers remove-layer %s' % templayerdir, cwd=self.builddir) + result = self.runCmd('devtool update-recipe -m srcrev %s -a %s' % (testrecipe, templayerdir)) self.assertIn('WARNING: Specified layer is not currently enabled in bblayers.conf', result.output) self.assertNotExists(os.path.join(appenddir, testrecipe), 'Patch directory should not be created') - result = runCmd('git rev-parse HEAD', cwd=tempsrcdir) + result = self.runCmd('git rev-parse HEAD', cwd=tempsrcdir) expectedlines = set(['SRCREV = "%s"\n' % result.output, '\n', 'SRC_URI = "%s"\n' % git_uri, @@ -945,28 +951,28 @@ class DevtoolTests(DevtoolBase): def test_devtool_update_recipe_local_files(self): """Check that local source files are copied over instead of patched""" testrecipe = 'makedevs' - recipefile = get_bb_var('FILE', testrecipe) + recipefile = self.get_bb_var('FILE', testrecipe) # Setup srctree for modifying the recipe tempdir = tempfile.mkdtemp(prefix='devtoolqa') self.track_for_cleanup(tempdir) self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) # (don't bother with cleaning the recipe on teardown, we won't be # building it) - result = runCmd('devtool modify %s -x %s' % (testrecipe, tempdir)) + result = self.runCmd('devtool modify %s -x %s' % (testrecipe, tempdir)) # Check git repo self._check_src_repo(tempdir) # Try building just to ensure we haven't broken that - bitbake("%s" % testrecipe) + self.bitbake("%s" % testrecipe) # Edit / commit local source - runCmd('echo "/* Foobar */" >> oe-local-files/makedevs.c', cwd=tempdir) - runCmd('echo "Foo" > oe-local-files/new-local', cwd=tempdir) - runCmd('echo "Bar" > new-file', cwd=tempdir) - runCmd('git add new-file', cwd=tempdir) - runCmd('git commit -m "Add new file"', cwd=tempdir) + self.runCmd('echo "/* Foobar */" >> oe-local-files/makedevs.c', cwd=tempdir) + self.runCmd('echo "Foo" > oe-local-files/new-local', cwd=tempdir) + self.runCmd('echo "Bar" > new-file', cwd=tempdir) + self.runCmd('git add new-file', cwd=tempdir) + self.runCmd('git commit -m "Add new file"', cwd=tempdir) self.add_command_to_tearDown('cd %s; git clean -fd .; git checkout .' % os.path.dirname(recipefile)) - runCmd('devtool update-recipe %s' % testrecipe) + self.runCmd('devtool update-recipe %s' % testrecipe) expected_status = [(' M', '.*/%s$' % os.path.basename(recipefile)), (' M', '.*/makedevs/makedevs.c$'), ('??', '.*/makedevs/new-local$'), @@ -977,36 +983,36 @@ class DevtoolTests(DevtoolBase): def test_devtool_update_recipe_local_files_2(self): """Check local source files support when oe-local-files is in Git""" testrecipe = 'lzo' - recipefile = get_bb_var('FILE', testrecipe) + recipefile = self.get_bb_var('FILE', testrecipe) # Setup srctree for modifying the recipe tempdir = tempfile.mkdtemp(prefix='devtoolqa') self.track_for_cleanup(tempdir) self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') - result = runCmd('devtool modify %s -x %s' % (testrecipe, tempdir)) + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) + result = self.runCmd('devtool modify %s -x %s' % (testrecipe, tempdir)) # Check git repo self._check_src_repo(tempdir) # Add oe-local-files to Git - runCmd('rm oe-local-files/.gitignore', cwd=tempdir) - runCmd('git add oe-local-files', cwd=tempdir) - runCmd('git commit -m "Add local sources"', cwd=tempdir) + self.runCmd('rm oe-local-files/.gitignore', cwd=tempdir) + self.runCmd('git add oe-local-files', cwd=tempdir) + self.runCmd('git commit -m "Add local sources"', cwd=tempdir) # Edit / commit local sources - runCmd('echo "# Foobar" >> oe-local-files/acinclude.m4', cwd=tempdir) - runCmd('git commit -am "Edit existing file"', cwd=tempdir) - runCmd('git rm oe-local-files/run-ptest', cwd=tempdir) - runCmd('git commit -m"Remove file"', cwd=tempdir) - runCmd('echo "Foo" > oe-local-files/new-local', cwd=tempdir) - runCmd('git add oe-local-files/new-local', cwd=tempdir) - runCmd('git commit -m "Add new local file"', cwd=tempdir) - runCmd('echo "Gar" > new-file', cwd=tempdir) - runCmd('git add new-file', cwd=tempdir) - runCmd('git commit -m "Add new file"', cwd=tempdir) + self.runCmd('echo "# Foobar" >> oe-local-files/acinclude.m4', cwd=tempdir) + self.runCmd('git commit -am "Edit existing file"', cwd=tempdir) + self.runCmd('git rm oe-local-files/run-ptest', cwd=tempdir) + self.runCmd('git commit -m"Remove file"', cwd=tempdir) + self.runCmd('echo "Foo" > oe-local-files/new-local', cwd=tempdir) + self.runCmd('git add oe-local-files/new-local', cwd=tempdir) + self.runCmd('git commit -m "Add new local file"', cwd=tempdir) + self.runCmd('echo "Gar" > new-file', cwd=tempdir) + self.runCmd('git add new-file', cwd=tempdir) + self.runCmd('git commit -m "Add new file"', cwd=tempdir) self.add_command_to_tearDown('cd %s; git clean -fd .; git checkout .' % os.path.dirname(recipefile)) # Checkout unmodified file to working copy -> devtool should still pick # the modified version from HEAD - runCmd('git checkout HEAD^ -- oe-local-files/acinclude.m4', cwd=tempdir) - runCmd('devtool update-recipe %s' % testrecipe) + self.runCmd('git checkout HEAD^ -- oe-local-files/acinclude.m4', cwd=tempdir) + self.runCmd('devtool update-recipe %s' % testrecipe) expected_status = [(' M', '.*/%s$' % os.path.basename(recipefile)), (' M', '.*/acinclude.m4$'), (' D', '.*/run-ptest$'), @@ -1018,19 +1024,19 @@ class DevtoolTests(DevtoolBase): def test_devtool_update_recipe_local_files_3(self): # First, modify the recipe testrecipe = 'devtool-test-localonly' - bb_vars = get_bb_vars(['FILE', 'SRC_URI'], testrecipe) + bb_vars = self.get_bb_vars(['FILE', 'SRC_URI'], testrecipe) recipefile = bb_vars['FILE'] src_uri = bb_vars['SRC_URI'] tempdir = tempfile.mkdtemp(prefix='devtoolqa') self.track_for_cleanup(tempdir) self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) # (don't bother with cleaning the recipe on teardown, we won't be building it) - result = runCmd('devtool modify %s' % testrecipe) + result = self.runCmd('devtool modify %s' % testrecipe) # Modify one file - runCmd('echo "Another line" >> file2', cwd=os.path.join(self.workspacedir, 'sources', testrecipe, 'oe-local-files')) + self.runCmd('echo "Another line" >> file2', cwd=os.path.join(self.workspacedir, 'sources', testrecipe, 'oe-local-files')) self.add_command_to_tearDown('cd %s; rm %s/*; git checkout %s %s' % (os.path.dirname(recipefile), testrecipe, testrecipe, os.path.basename(recipefile))) - result = runCmd('devtool update-recipe %s' % testrecipe) + result = self.runCmd('devtool update-recipe %s' % testrecipe) expected_status = [(' M', '.*/%s/file2$' % testrecipe)] self._check_repo_status(os.path.dirname(recipefile), expected_status) @@ -1038,27 +1044,27 @@ class DevtoolTests(DevtoolBase): def test_devtool_update_recipe_local_patch_gz(self): # First, modify the recipe testrecipe = 'devtool-test-patch-gz' - if get_bb_var('DISTRO') == 'poky-tiny': + if self.get_bb_var('DISTRO') == 'poky-tiny': self.skipTest("The DISTRO 'poky-tiny' does not provide the dependencies needed by %s" % testrecipe) - bb_vars = get_bb_vars(['FILE', 'SRC_URI'], testrecipe) + bb_vars = self.get_bb_vars(['FILE', 'SRC_URI'], testrecipe) recipefile = bb_vars['FILE'] src_uri = bb_vars['SRC_URI'] tempdir = tempfile.mkdtemp(prefix='devtoolqa') self.track_for_cleanup(tempdir) self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) # (don't bother with cleaning the recipe on teardown, we won't be building it) - result = runCmd('devtool modify %s' % testrecipe) + result = self.runCmd('devtool modify %s' % testrecipe) # Modify one file srctree = os.path.join(self.workspacedir, 'sources', testrecipe) - runCmd('echo "Another line" >> README', cwd=srctree) - runCmd('git commit -a --amend --no-edit', cwd=srctree) + self.runCmd('echo "Another line" >> README', cwd=srctree) + self.runCmd('git commit -a --amend --no-edit', cwd=srctree) self.add_command_to_tearDown('cd %s; rm %s/*; git checkout %s %s' % (os.path.dirname(recipefile), testrecipe, testrecipe, os.path.basename(recipefile))) - result = runCmd('devtool update-recipe %s' % testrecipe) + result = self.runCmd('devtool update-recipe %s' % testrecipe) expected_status = [(' M', '.*/%s/readme.patch.gz$' % testrecipe)] self._check_repo_status(os.path.dirname(recipefile), expected_status) patch_gz = os.path.join(os.path.dirname(recipefile), testrecipe, 'readme.patch.gz') - result = runCmd('file %s' % patch_gz) + result = self.runCmd('file %s' % patch_gz) if 'gzip compressed data' not in result.output: self.fail('New patch file is not gzipped - file reports:\n%s' % result.output) @@ -1069,15 +1075,15 @@ class DevtoolTests(DevtoolBase): # was also in SRC_URI # First, modify the recipe testrecipe = 'devtool-test-subdir' - bb_vars = get_bb_vars(['FILE', 'SRC_URI'], testrecipe) + bb_vars = self.get_bb_vars(['FILE', 'SRC_URI'], testrecipe) recipefile = bb_vars['FILE'] src_uri = bb_vars['SRC_URI'] tempdir = tempfile.mkdtemp(prefix='devtoolqa') self.track_for_cleanup(tempdir) self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) # (don't bother with cleaning the recipe on teardown, we won't be building it) - result = runCmd('devtool modify %s' % testrecipe) + result = self.runCmd('devtool modify %s' % testrecipe) testfile = os.path.join(self.workspacedir, 'sources', testrecipe, 'testfile') self.assertExists(testfile, 'Extracted source could not be found') with open(testfile, 'r') as f: @@ -1085,7 +1091,7 @@ class DevtoolTests(DevtoolBase): self.assertEqual(contents, 'Modified version', 'File has apparently not been overwritten as it should have been') # Test devtool update-recipe without modifying any files self.add_command_to_tearDown('cd %s; rm %s/*; git checkout %s %s' % (os.path.dirname(recipefile), testrecipe, testrecipe, os.path.basename(recipefile))) - result = runCmd('devtool update-recipe %s' % testrecipe) + result = self.runCmd('devtool update-recipe %s' % testrecipe) expected_status = [] self._check_repo_status(os.path.dirname(recipefile), expected_status) @@ -1094,7 +1100,7 @@ class DevtoolTests(DevtoolBase): tempdir = tempfile.mkdtemp(prefix='devtoolqa') # Try devtool extract self.track_for_cleanup(tempdir) - result = runCmd('devtool extract matchbox-terminal %s' % tempdir) + result = self.runCmd('devtool extract matchbox-terminal %s' % tempdir) self.assertExists(os.path.join(tempdir, 'Makefile.am'), 'Extracted source could not be found') # devtool extract shouldn't create the workspace self.assertNotExists(self.workspacedir) @@ -1105,7 +1111,7 @@ class DevtoolTests(DevtoolBase): tempdir = tempfile.mkdtemp(prefix='devtoolqa') # Try devtool extract self.track_for_cleanup(tempdir) - result = runCmd('devtool extract virtual/make %s' % tempdir) + result = self.runCmd('devtool extract virtual/make %s' % tempdir) self.assertExists(os.path.join(tempdir, 'Makefile.am'), 'Extracted source could not be found') # devtool extract shouldn't create the workspace self.assertNotExists(self.workspacedir) @@ -1116,21 +1122,21 @@ class DevtoolTests(DevtoolBase): tempdir = tempfile.mkdtemp(prefix='devtoolqa') self.track_for_cleanup(tempdir) self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) testrecipe1 = 'mdadm' testrecipe2 = 'cronie' - result = runCmd('devtool modify -x %s %s' % (testrecipe1, os.path.join(tempdir, testrecipe1))) - result = runCmd('devtool modify -x %s %s' % (testrecipe2, os.path.join(tempdir, testrecipe2))) - result = runCmd('devtool build %s' % testrecipe1) - result = runCmd('devtool build %s' % testrecipe2) - stampprefix1 = get_bb_var('STAMP', testrecipe1) + result = self.runCmd('devtool modify -x %s %s' % (testrecipe1, os.path.join(tempdir, testrecipe1))) + result = self.runCmd('devtool modify -x %s %s' % (testrecipe2, os.path.join(tempdir, testrecipe2))) + result = self.runCmd('devtool build %s' % testrecipe1) + result = self.runCmd('devtool build %s' % testrecipe2) + stampprefix1 = self.get_bb_var('STAMP', testrecipe1) self.assertTrue(stampprefix1, 'Unable to get STAMP value for recipe %s' % testrecipe1) - stampprefix2 = get_bb_var('STAMP', testrecipe2) + stampprefix2 = self.get_bb_var('STAMP', testrecipe2) self.assertTrue(stampprefix2, 'Unable to get STAMP value for recipe %s' % testrecipe2) - result = runCmd('devtool reset -a') + result = self.runCmd('devtool reset -a') self.assertIn(testrecipe1, result.output) self.assertIn(testrecipe2, result.output) - result = runCmd('devtool status') + result = self.runCmd('devtool status') self.assertNotIn(testrecipe1, result.output) self.assertNotIn(testrecipe2, result.output) matches1 = glob.glob(stampprefix1 + '*') @@ -1147,14 +1153,14 @@ class DevtoolTests(DevtoolBase): # really this has to be done as an oe-selftest test. # # Check preconditions - machine = get_bb_var('MACHINE') + machine = self.get_bb_var('MACHINE') if not machine.startswith('qemu'): self.skipTest('This test only works with qemu machines') if not os.path.exists('/etc/runqemu-nosudo'): self.skipTest('You must set up tap devices with scripts/runqemu-gen-tapdevs before running this test') - result = runCmd('PATH="$PATH:/sbin:/usr/sbin" ip tuntap show', ignore_status=True) + result = self.runCmd('PATH="$PATH:/sbin:/usr/sbin" ip tuntap show', ignore_status=True) if result.status != 0: - result = runCmd('PATH="$PATH:/sbin:/usr/sbin" ifconfig -a', ignore_status=True) + result = self.runCmd('PATH="$PATH:/sbin:/usr/sbin" ifconfig -a', ignore_status=True) if result.status != 0: self.skipTest('Failed to determine if tap devices exist with ifconfig or ip: %s' % result.output) for line in result.output.splitlines(): @@ -1169,41 +1175,41 @@ class DevtoolTests(DevtoolBase): testimage = 'oe-selftest-image' testcommand = '/sbin/mdadm --help' # Build an image to run - bitbake("%s qemu-native qemu-helper-native" % testimage) - deploy_dir_image = get_bb_var('DEPLOY_DIR_IMAGE') + self.bitbake("%s qemu-native qemu-helper-native" % testimage) + deploy_dir_image = self.get_bb_var('DEPLOY_DIR_IMAGE') self.add_command_to_tearDown('bitbake -c clean %s' % testimage) self.add_command_to_tearDown('rm -f %s/%s*' % (deploy_dir_image, testimage)) # Clean recipe so the first deploy will fail - bitbake("%s -c clean" % testrecipe) + self.bitbake("%s -c clean" % testrecipe) # Try devtool modify tempdir = tempfile.mkdtemp(prefix='devtoolqa') self.track_for_cleanup(tempdir) self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) self.add_command_to_tearDown('bitbake -c clean %s' % testrecipe) - result = runCmd('devtool modify %s -x %s' % (testrecipe, tempdir)) + result = self.runCmd('devtool modify %s -x %s' % (testrecipe, tempdir)) # Test that deploy-target at this point fails (properly) - result = runCmd('devtool deploy-target -n %s root at localhost' % testrecipe, ignore_status=True) + result = self.runCmd('devtool deploy-target -n %s root at localhost' % testrecipe, ignore_status=True) self.assertNotEqual(result.output, 0, 'devtool deploy-target should have failed, output: %s' % result.output) self.assertNotIn(result.output, 'Traceback', 'devtool deploy-target should have failed with a proper error not a traceback, output: %s' % result.output) - result = runCmd('devtool build %s' % testrecipe) + result = self.runCmd('devtool build %s' % testrecipe) # First try a dry-run of deploy-target - result = runCmd('devtool deploy-target -n %s root at localhost' % testrecipe) + result = self.runCmd('devtool deploy-target -n %s root at localhost' % testrecipe) self.assertIn(' %s' % testfile, result.output) # Boot the image with runqemu(testimage) as qemu: # Now really test deploy-target - result = runCmd('devtool deploy-target -c %s root@%s' % (testrecipe, qemu.ip)) + result = self.runCmd('devtool deploy-target -c %s root@%s' % (testrecipe, qemu.ip)) # Run a test command to see if it was installed properly sshargs = '-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' - result = runCmd('ssh %s root@%s %s' % (sshargs, qemu.ip, testcommand)) + result = self.runCmd('ssh %s root@%s %s' % (sshargs, qemu.ip, testcommand)) # Check if it deployed all of the files with the right ownership/perms # First look on the host - need to do this under pseudo to get the correct ownership/perms - bb_vars = get_bb_vars(['D', 'FAKEROOTENV', 'FAKEROOTCMD'], testrecipe) + bb_vars = self.get_bb_vars(['D', 'FAKEROOTENV', 'FAKEROOTCMD'], testrecipe) installdir = bb_vars['D'] fakerootenv = bb_vars['FAKEROOTENV'] fakerootcmd = bb_vars['FAKEROOTCMD'] - result = runCmd('%s %s find . -type f -exec ls -l {} \;' % (fakerootenv, fakerootcmd), cwd=installdir) + result = self.runCmd('%s %s find . -type f -exec ls -l {} \;' % (fakerootenv, fakerootcmd), cwd=installdir) filelist1 = self._process_ls_output(result.output) # Now look on the target @@ -1214,14 +1220,14 @@ class DevtoolTests(DevtoolBase): for line in filelist1: splitline = line.split() f.write(splitline[-1] + '\n') - result = runCmd('cat %s | ssh -q %s root@%s \'xargs ls -l\'' % (tmpfilelist, sshargs, qemu.ip)) + result = self.runCmd('cat %s | ssh -q %s root@%s \'xargs ls -l\'' % (tmpfilelist, sshargs, qemu.ip)) filelist2 = self._process_ls_output(result.output) filelist1.sort(key=lambda item: item.split()[-1]) filelist2.sort(key=lambda item: item.split()[-1]) self.assertEqual(filelist1, filelist2) # Test undeploy-target - result = runCmd('devtool undeploy-target -c %s root@%s' % (testrecipe, qemu.ip)) - result = runCmd('ssh %s root@%s %s' % (sshargs, qemu.ip, testcommand), ignore_status=True) + result = self.runCmd('devtool undeploy-target -c %s root@%s' % (testrecipe, qemu.ip)) + result = self.runCmd('ssh %s root@%s %s' % (sshargs, qemu.ip, testcommand), ignore_status=True) self.assertNotEqual(result, 0, 'undeploy-target did not remove command as it should have') @OETestID(1366) @@ -1231,22 +1237,22 @@ class DevtoolTests(DevtoolBase): self.assertTrue(not os.path.exists(self.workspacedir), 'This test cannot be run with a workspace directory under the build directory') image = 'core-image-minimal' self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) self.add_command_to_tearDown('bitbake -c clean %s' % image) - bitbake('%s -c clean' % image) + self.bitbake('%s -c clean' % image) # Add target and native recipes to workspace recipes = ['mdadm', 'parted-native'] for recipe in recipes: tempdir = tempfile.mkdtemp(prefix='devtoolqa') self.track_for_cleanup(tempdir) self.add_command_to_tearDown('bitbake -c clean %s' % recipe) - runCmd('devtool modify %s -x %s' % (recipe, tempdir)) + self.runCmd('devtool modify %s -x %s' % (recipe, tempdir)) # Try to build image - result = runCmd('devtool build-image %s' % image) + result = self.runCmd('devtool build-image %s' % image) self.assertNotEqual(result, 0, 'devtool build-image failed') # Check if image contains expected packages - deploy_dir_image = get_bb_var('DEPLOY_DIR_IMAGE') - image_link_name = get_bb_var('IMAGE_LINK_NAME', image) + deploy_dir_image = self.get_bb_var('DEPLOY_DIR_IMAGE') + image_link_name = self.get_bb_var('IMAGE_LINK_NAME', image) reqpkgs = [item for item in recipes if not item.endswith('-native')] with open(os.path.join(deploy_dir_image, image_link_name + '.manifest'), 'r') as f: for line in f: @@ -1263,23 +1269,23 @@ class DevtoolTests(DevtoolBase): # Check preconditions self.assertTrue(not os.path.exists(self.workspacedir), 'This test cannot be run with a workspace directory under the build directory') self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) # Check parameters - result = runCmd('devtool upgrade -h') + result = self.runCmd('devtool upgrade -h') for param in 'recipename srctree --version -V --branch -b --keep-temp --no-patch'.split(): self.assertIn(param, result.output) # For the moment, we are using a real recipe. recipe = 'devtool-upgrade-test1' version = '1.6.0' - oldrecipefile = get_bb_var('FILE', recipe) + oldrecipefile = self.get_bb_var('FILE', recipe) tempdir = tempfile.mkdtemp(prefix='devtoolqa') self.track_for_cleanup(tempdir) # Check that recipe is not already under devtool control - result = runCmd('devtool status') + result = self.runCmd('devtool status') self.assertNotIn(recipe, result.output) # Check upgrade. Code does not check if new PV is older or newer that current PV, so, it may be that # we are downgrading instead of upgrading. - result = runCmd('devtool upgrade %s %s -V %s' % (recipe, tempdir, version)) + result = self.runCmd('devtool upgrade %s %s -V %s' % (recipe, tempdir, version)) # Check if srctree at least is populated self.assertTrue(len(os.listdir(tempdir)) > 0, 'srctree (%s) should be populated with new (%s) source code' % (tempdir, version)) # Check new recipe subdirectory is present @@ -1288,7 +1294,7 @@ class DevtoolTests(DevtoolBase): newrecipefile = os.path.join(self.workspacedir, 'recipes', recipe, '%s_%s.bb' % (recipe, version)) self.assertExists(newrecipefile, 'Recipe file should exist after upgrade') # Check devtool status and make sure recipe is present - result = runCmd('devtool status') + result = self.runCmd('devtool status') self.assertIn(recipe, result.output) self.assertIn(tempdir, result.output) # Check recipe got changed as expected @@ -1298,8 +1304,8 @@ class DevtoolTests(DevtoolBase): newlines = f.readlines() self.assertEqual(desiredlines, newlines) # Check devtool reset recipe - result = runCmd('devtool reset %s -n' % recipe) - result = runCmd('devtool status') + result = self.runCmd('devtool reset %s -n' % recipe) + result = self.runCmd('devtool status') self.assertNotIn(recipe, result.output) self.assertNotExists(os.path.join(self.workspacedir, 'recipes', recipe), 'Recipe directory should not exist after resetting') @@ -1308,24 +1314,24 @@ class DevtoolTests(DevtoolBase): # Check preconditions self.assertTrue(not os.path.exists(self.workspacedir), 'This test cannot be run with a workspace directory under the build directory') self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) recipe = 'devtool-upgrade-test2' commit = '6cc6077a36fe2648a5f993fe7c16c9632f946517' - oldrecipefile = get_bb_var('FILE', recipe) + oldrecipefile = self.get_bb_var('FILE', recipe) tempdir = tempfile.mkdtemp(prefix='devtoolqa') self.track_for_cleanup(tempdir) # Check that recipe is not already under devtool control - result = runCmd('devtool status') + result = self.runCmd('devtool status') self.assertNotIn(recipe, result.output) # Check upgrade - result = runCmd('devtool upgrade %s %s -S %s' % (recipe, tempdir, commit)) + result = self.runCmd('devtool upgrade %s %s -S %s' % (recipe, tempdir, commit)) # Check if srctree at least is populated self.assertTrue(len(os.listdir(tempdir)) > 0, 'srctree (%s) should be populated with new (%s) source code' % (tempdir, commit)) # Check new recipe file is present newrecipefile = os.path.join(self.workspacedir, 'recipes', recipe, os.path.basename(oldrecipefile)) self.assertExists(newrecipefile, 'Recipe file should exist after upgrade') # Check devtool status and make sure recipe is present - result = runCmd('devtool status') + result = self.runCmd('devtool status') self.assertIn(recipe, result.output) self.assertIn(tempdir, result.output) # Check recipe got changed as expected @@ -1335,8 +1341,8 @@ class DevtoolTests(DevtoolBase): newlines = f.readlines() self.assertEqual(desiredlines, newlines) # Check devtool reset recipe - result = runCmd('devtool reset %s -n' % recipe) - result = runCmd('devtool status') + result = self.runCmd('devtool reset %s -n' % recipe) + result = self.runCmd('devtool status') self.assertNotIn(recipe, result.output) self.assertNotExists(os.path.join(self.workspacedir, 'recipes', recipe), 'Recipe directory should not exist after resetting') @@ -1347,10 +1353,10 @@ class DevtoolTests(DevtoolBase): This test executes the selftest-reverse command from meta-selftest.""" self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) s = "Microsoft Made No Profit From Anyone's Zunes Yo" - result = runCmd("devtool --quiet selftest-reverse \"%s\"" % s) + result = self.runCmd("devtool --quiet selftest-reverse \"%s\"" % s) self.assertEqual(result.output, s[::-1]) def _copy_file_with_cleanup(self, srcfile, basedstdir, *paths): @@ -1371,12 +1377,12 @@ class DevtoolTests(DevtoolBase): """Test that devtool loads only the first found plugin in BBPATH.""" self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) - devtool = runCmd("which devtool") - fromname = runCmd("devtool --quiet pluginfile") + devtool = self.runCmd("which devtool") + fromname = self.runCmd("devtool --quiet pluginfile") srcfile = fromname.output - bbpath = get_bb_var('BBPATH') + bbpath = self.get_bb_var('BBPATH') searchpath = bbpath.split(':') + [os.path.dirname(devtool.output)] plugincontent = [] with open(srcfile) as fh: @@ -1385,12 +1391,12 @@ class DevtoolTests(DevtoolBase): self.assertIn('meta-selftest', srcfile, 'wrong bbpath plugin found') for path in searchpath: self._copy_file_with_cleanup(srcfile, path, 'lib', 'devtool') - result = runCmd("devtool --quiet count") + result = self.runCmd("devtool --quiet count") self.assertEqual(result.output, '1') - result = runCmd("devtool --quiet multiloaded") + result = self.runCmd("devtool --quiet multiloaded") self.assertEqual(result.output, "no") for path in searchpath: - result = runCmd("devtool --quiet bbdir") + result = self.runCmd("devtool --quiet bbdir") self.assertEqual(result.output, path) os.unlink(os.path.join(result.output, 'lib', 'devtool', 'bbpath.py')) finally: @@ -1401,32 +1407,32 @@ class DevtoolTests(DevtoolBase): # Check preconditions self.assertTrue(not os.path.exists(self.workspacedir), 'This test cannot be run with a workspace directory under the build directory') self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) # Use a "real" recipe from meta-selftest recipe = 'devtool-upgrade-test1' oldversion = '1.5.3' newversion = '1.6.0' - oldrecipefile = get_bb_var('FILE', recipe) + oldrecipefile = self.get_bb_var('FILE', recipe) recipedir = os.path.dirname(oldrecipefile) - result = runCmd('git status --porcelain .', cwd=recipedir) + result = self.runCmd('git status --porcelain .', cwd=recipedir) if result.output.strip(): self.fail('Recipe directory for %s contains uncommitted changes' % recipe) tempdir = tempfile.mkdtemp(prefix='devtoolqa') self.track_for_cleanup(tempdir) # Check that recipe is not already under devtool control - result = runCmd('devtool status') + result = self.runCmd('devtool status') self.assertNotIn(recipe, result.output) # Do the upgrade - result = runCmd('devtool upgrade %s %s -V %s' % (recipe, tempdir, newversion)) + result = self.runCmd('devtool upgrade %s %s -V %s' % (recipe, tempdir, newversion)) # Check devtool status and make sure recipe is present - result = runCmd('devtool status') + result = self.runCmd('devtool status') self.assertIn(recipe, result.output) self.assertIn(tempdir, result.output) # Make a change to the source - result = runCmd('sed -i \'/^#include "pv.h"/a \\/* Here is a new comment *\\/\' src/pv/number.c', cwd=tempdir) - result = runCmd('git status --porcelain', cwd=tempdir) + result = self.runCmd('sed -i \'/^#include "pv.h"/a \\/* Here is a new comment *\\/\' src/pv/number.c', cwd=tempdir) + result = self.runCmd('git status --porcelain', cwd=tempdir) self.assertIn('M src/pv/number.c', result.output) - result = runCmd('git commit src/pv/number.c -m "Add a comment to the code"', cwd=tempdir) + result = self.runCmd('git commit src/pv/number.c -m "Add a comment to the code"', cwd=tempdir) # Check if patch is there recipedir = os.path.dirname(oldrecipefile) olddir = os.path.join(recipedir, recipe + '-' + oldversion) @@ -1441,8 +1447,8 @@ class DevtoolTests(DevtoolBase): self.assertIn('/meta-selftest/', recipedir) # Try finish to the original layer self.add_command_to_tearDown('rm -rf %s ; cd %s ; git checkout %s' % (recipedir, os.path.dirname(recipedir), recipedir)) - result = runCmd('devtool finish %s meta-selftest' % recipe) - result = runCmd('devtool status') + result = self.runCmd('devtool finish %s meta-selftest' % recipe) + result = self.runCmd('devtool status') self.assertNotIn(recipe, result.output, 'Recipe should have been reset by finish but wasn\'t') self.assertNotExists(os.path.join(self.workspacedir, 'recipes', recipe), 'Recipe directory should not exist after finish') self.assertNotExists(oldrecipefile, 'Old recipe file should have been deleted but wasn\'t') @@ -1461,12 +1467,12 @@ class DevtoolTests(DevtoolBase): # Try finish to a different layer - should create a bbappend # This cleanup isn't strictly necessary but do it anyway just in case it goes wrong and writes to here self.add_command_to_tearDown('rm -rf %s ; cd %s ; git checkout %s' % (recipedir, os.path.dirname(recipedir), recipedir)) - oe_core_dir = os.path.join(get_bb_var('COREBASE'), 'meta') + oe_core_dir = os.path.join(self.get_bb_var('COREBASE'), 'meta') newrecipedir = os.path.join(oe_core_dir, 'recipes-test', 'devtool') newrecipefile = os.path.join(newrecipedir, '%s_%s.bb' % (recipe, newversion)) self.track_for_cleanup(newrecipedir) - result = runCmd('devtool finish %s oe-core' % recipe) - result = runCmd('devtool status') + result = self.runCmd('devtool finish %s oe-core' % recipe) + result = self.runCmd('devtool status') self.assertNotIn(recipe, result.output, 'Recipe should have been reset by finish but wasn\'t') self.assertNotExists(os.path.join(self.workspacedir, 'recipes', recipe), 'Recipe directory should not exist after finish') self.assertExists(oldrecipefile, 'Old recipe file should not have been deleted') @@ -1482,25 +1488,25 @@ class DevtoolTests(DevtoolBase): # Try modifying a recipe self.track_for_cleanup(self.workspacedir) recipe = 'mdadm' - oldrecipefile = get_bb_var('FILE', recipe) + oldrecipefile = self.get_bb_var('FILE', recipe) recipedir = os.path.dirname(oldrecipefile) - result = runCmd('git status --porcelain .', cwd=recipedir) + result = self.runCmd('git status --porcelain .', cwd=recipedir) if result.output.strip(): self.fail('Recipe directory for %s contains uncommitted changes' % recipe) tempdir = tempfile.mkdtemp(prefix='devtoolqa') self.track_for_cleanup(tempdir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') - result = runCmd('devtool modify %s %s' % (recipe, tempdir)) + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) + result = self.runCmd('devtool modify %s %s' % (recipe, tempdir)) self.assertExists(os.path.join(tempdir, 'Makefile'), 'Extracted source could not be found') # Test devtool status - result = runCmd('devtool status') + result = self.runCmd('devtool status') self.assertIn(recipe, result.output) self.assertIn(tempdir, result.output) # Make a change to the source - result = runCmd('sed -i \'/^#include "mdadm.h"/a \\/* Here is a new comment *\\/\' maps.c', cwd=tempdir) - result = runCmd('git status --porcelain', cwd=tempdir) + result = self.runCmd('sed -i \'/^#include "mdadm.h"/a \\/* Here is a new comment *\\/\' maps.c', cwd=tempdir) + result = self.runCmd('git status --porcelain', cwd=tempdir) self.assertIn('M maps.c', result.output) - result = runCmd('git commit maps.c -m "Add a comment to the code"', cwd=tempdir) + result = self.runCmd('git commit maps.c -m "Add a comment to the code"', cwd=tempdir) for entry in os.listdir(recipedir): filesdir = os.path.join(recipedir, entry) if os.path.isdir(filesdir): @@ -1516,8 +1522,8 @@ class DevtoolTests(DevtoolBase): self.assertIn('/meta/', recipedir) # Try finish to the original layer self.add_command_to_tearDown('rm -rf %s ; cd %s ; git checkout %s' % (recipedir, os.path.dirname(recipedir), recipedir)) - result = runCmd('devtool finish %s meta' % recipe) - result = runCmd('devtool status') + result = self.runCmd('devtool finish %s meta' % recipe) + result = self.runCmd('devtool status') self.assertNotIn(recipe, result.output, 'Recipe should have been reset by finish but wasn\'t') self.assertNotExists(os.path.join(self.workspacedir, 'recipes', recipe), 'Recipe directory should not exist after finish') expected_status = [(' M', '.*/%s$' % os.path.basename(oldrecipefile)), @@ -1529,16 +1535,16 @@ class DevtoolTests(DevtoolBase): recipe, oldrecipefile, recipedir, filesdir = self._setup_test_devtool_finish_modify() # Ensure the recipe is where we think it should be (so that cleanup doesn't trash things) self.assertIn('/meta/', recipedir) - relpth = os.path.relpath(recipedir, os.path.join(get_bb_var('COREBASE'), 'meta')) + relpth = os.path.relpath(recipedir, os.path.join(self.get_bb_var('COREBASE'), 'meta')) appenddir = os.path.join(self.testlayer_path, relpth) self.track_for_cleanup(appenddir) # Try finish to the original layer self.add_command_to_tearDown('rm -rf %s ; cd %s ; git checkout %s' % (recipedir, os.path.dirname(recipedir), recipedir)) - result = runCmd('devtool finish %s meta-selftest' % recipe) - result = runCmd('devtool status') + result = self.runCmd('devtool finish %s meta-selftest' % recipe) + result = self.runCmd('devtool status') self.assertNotIn(recipe, result.output, 'Recipe should have been reset by finish but wasn\'t') self.assertNotExists(os.path.join(self.workspacedir, 'recipes', recipe), 'Recipe directory should not exist after finish') - result = runCmd('git status --porcelain .', cwd=recipedir) + result = self.runCmd('git status --porcelain .', cwd=recipedir) if result.output.strip(): self.fail('Recipe directory for %s contains the following unexpected changes after finish:\n%s' % (recipe, result.output.strip())) recipefn = os.path.splitext(os.path.basename(oldrecipefile))[0] @@ -1562,7 +1568,7 @@ class DevtoolTests(DevtoolBase): # Check preconditions self.assertTrue(not os.path.exists(self.workspacedir), 'This test cannot be run with a workspace directory under the build directory') self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) # First run devtool add # We already have this recipe in OE-Core, but that doesn't matter @@ -1571,7 +1577,7 @@ class DevtoolTests(DevtoolBase): recipefile = os.path.join(self.workspacedir, 'recipes', recipename, '%s_%s.bb' % (recipename, recipever)) url = 'http://downloads.yoctoproject.org/mirror/sources/i2c-tools-%s.tar.bz2' % recipever def add_recipe(): - result = runCmd('devtool add %s' % url) + result = self.runCmd('devtool add %s' % url) self.assertExists(recipefile, 'Expected recipe file not created') self.assertExists(os.path.join(self.workspacedir, 'sources', recipename), 'Source directory not created') checkvars = {} @@ -1583,7 +1589,7 @@ class DevtoolTests(DevtoolBase): newrecipename = 'mynewrecipe' newrecipever = '456' newrecipefile = os.path.join(self.workspacedir, 'recipes', newrecipename, '%s_%s.bb' % (newrecipename, newrecipever)) - result = runCmd('devtool rename %s %s -V %s' % (recipename, newrecipename, newrecipever)) + result = self.runCmd('devtool rename %s %s -V %s' % (recipename, newrecipename, newrecipever)) self.assertExists(newrecipefile, 'Recipe file not renamed') self.assertNotExists(os.path.join(self.workspacedir, 'recipes', recipename), 'Old recipe directory still exists') newsrctree = os.path.join(self.workspacedir, 'sources', newrecipename) @@ -1593,11 +1599,11 @@ class DevtoolTests(DevtoolBase): checkvars['SRC_URI'] = url self._test_recipe_contents(newrecipefile, checkvars, []) # Try again - change just name this time - result = runCmd('devtool reset -n %s' % newrecipename) + result = self.runCmd('devtool reset -n %s' % newrecipename) shutil.rmtree(newsrctree) add_recipe() newrecipefile = os.path.join(self.workspacedir, 'recipes', newrecipename, '%s_%s.bb' % (newrecipename, recipever)) - result = runCmd('devtool rename %s %s' % (recipename, newrecipename)) + result = self.runCmd('devtool rename %s %s' % (recipename, newrecipename)) self.assertExists(newrecipefile, 'Recipe file not renamed') self.assertNotExists(os.path.join(self.workspacedir, 'recipes', recipename), 'Old recipe directory still exists') self.assertExists(os.path.join(self.workspacedir, 'sources', newrecipename), 'Source directory not renamed') @@ -1606,11 +1612,11 @@ class DevtoolTests(DevtoolBase): checkvars['SRC_URI'] = url.replace(recipever, '${PV}') self._test_recipe_contents(newrecipefile, checkvars, []) # Try again - change just version this time - result = runCmd('devtool reset -n %s' % newrecipename) + result = self.runCmd('devtool reset -n %s' % newrecipename) shutil.rmtree(newsrctree) add_recipe() newrecipefile = os.path.join(self.workspacedir, 'recipes', recipename, '%s_%s.bb' % (recipename, newrecipever)) - result = runCmd('devtool rename %s -V %s' % (recipename, newrecipever)) + result = self.runCmd('devtool rename %s -V %s' % (recipename, newrecipever)) self.assertExists(newrecipefile, 'Recipe file not renamed') self.assertExists(os.path.join(self.workspacedir, 'sources', recipename), 'Source directory no longer exists') checkvars = {} @@ -1641,59 +1647,59 @@ class DevtoolTests(DevtoolBase): and modification to the source and configurations are reflected when building the kernel. """ - kernel_provider = get_bb_var('PREFERRED_PROVIDER_virtual/kernel') + kernel_provider = self.get_bb_var('PREFERRED_PROVIDER_virtual/kernel') # Clean up the enviroment - bitbake('%s -c clean' % kernel_provider) + self.bitbake('%s -c clean' % kernel_provider) tempdir = tempfile.mkdtemp(prefix='devtoolqa') self.track_for_cleanup(tempdir) self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) self.add_command_to_tearDown('bitbake -c clean %s' % kernel_provider) #Step 1 #Here is just generated the config file instead of all the kernel to optimize the #time of executing this test case. - bitbake('%s -c configure' % kernel_provider) - bbconfig = os.path.join(get_bb_var('B', kernel_provider),'.config') - buildir= get_bb_var('TOPDIR') + self.bitbake('%s -c configure' % kernel_provider) + bbconfig = os.path.join(self.get_bb_var('B', kernel_provider),'.config') + buildir= self.get_bb_var('TOPDIR') #Step 2 - runCmd('cp %s %s' % (bbconfig, buildir)) + self.runCmd('cp %s %s' % (bbconfig, buildir)) self.assertExists(os.path.join(buildir, '.config'), 'Could not copy .config file from kernel') tmpconfig = os.path.join(buildir, '.config') #Step 3 - bitbake('%s -c clean' % kernel_provider) + self.bitbake('%s -c clean' % kernel_provider) #Step 4.1 - runCmd('devtool modify virtual/kernel -x %s' % tempdir) + self.runCmd('devtool modify virtual/kernel -x %s' % tempdir) self.assertExists(os.path.join(tempdir, 'Makefile'), 'Extracted source could not be found') #Step 4.2 configfile = os.path.join(tempdir,'.config') - diff = runCmd('diff %s %s' % (tmpconfig, configfile)) + diff = self.runCmd('diff %s %s' % (tmpconfig, configfile)) self.assertEqual(0,diff.status,'Kernel .config file is not the same using bitbake and devtool') #Step 4.3 #NOTE: virtual/kernel is mapped to kernel_provider - result = runCmd('devtool build %s' % kernel_provider) + result = self.runCmd('devtool build %s' % kernel_provider) self.assertEqual(0,result.status,'Cannot build kernel using `devtool build`') - kernelfile = os.path.join(get_bb_var('KBUILD_OUTPUT', kernel_provider), 'vmlinux') + kernelfile = os.path.join(self.get_bb_var('KBUILD_OUTPUT', kernel_provider), 'vmlinux') self.assertExists(kernelfile, 'Kernel was not build correctly') #Modify the kernel source modfile = os.path.join(tempdir,'arch/x86/boot/header.S') modstring = "Use a boot loader. Devtool testing." - modapplied = runCmd("sed -i 's/Use a boot loader./%s/' %s" % (modstring, modfile)) + modapplied = self.runCmd("sed -i 's/Use a boot loader./%s/' %s" % (modstring, modfile)) self.assertEqual(0,modapplied.status,'Modification to %s on kernel source failed' % modfile) #Modify the configuration codeconfigfile = os.path.join(tempdir,'.config.new') modconfopt = "CONFIG_SG_POOL=n" - modconf = runCmd("sed -i 's/CONFIG_SG_POOL=y/%s/' %s" % (modconfopt, codeconfigfile)) + modconf = self.runCmd("sed -i 's/CONFIG_SG_POOL=y/%s/' %s" % (modconfopt, codeconfigfile)) self.assertEqual(0,modconf.status,'Modification to %s failed' % codeconfigfile) #Build again kernel with devtool - rebuild = runCmd('devtool build %s' % kernel_provider) + rebuild = self.runCmd('devtool build %s' % kernel_provider) self.assertEqual(0,rebuild.status,'Fail to build kernel after modification of source and config') #Step 4.4 - bzimagename = 'bzImage-' + get_bb_var('KERNEL_VERSION_NAME', kernel_provider) - bzimagefile = os.path.join(get_bb_var('D', kernel_provider),'boot', bzimagename) - checkmodcode = runCmd("grep '%s' %s" % (modstring, bzimagefile)) + bzimagename = 'bzImage-' + self.get_bb_var('KERNEL_VERSION_NAME', kernel_provider) + bzimagefile = os.path.join(self.get_bb_var('D', kernel_provider),'boot', bzimagename) + checkmodcode = self.runCmd("grep '%s' %s" % (modstring, bzimagefile)) self.assertEqual(0,checkmodcode.status,'Modification on kernel source failed') #Step 4.5 - checkmodconfg = runCmd("grep %s %s" % (modconfopt, codeconfigfile)) + checkmodconfg = self.runCmd("grep %s %s" % (modconfopt, codeconfigfile)) self.assertEqual(0,checkmodconfg.status,'Modification to configuration file failed') -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 09:45:15 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 09:45:15 +0000 Subject: [oe-commits] [bitbake] branch master-next updated: bb/tinfoil: run_command handle busy status in bitbake server Message-ID: <150054391511.24236.7250757026505628566@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. The following commit(s) were added to refs/heads/master-next by this push: new 0395760 bb/tinfoil: run_command handle busy status in bitbake server 0395760 is described below commit 0395760b99ba39c6babb4a65f734eba087e2ac2a Author: An?bal Lim?n AuthorDate: Wed Jul 5 15:02:46 2017 -0500 bb/tinfoil: run_command handle busy status in bitbake server When tinfoil request a command to bitbake is handled in async manner [1], sometimes is this ends on return a Busy status. This is a workaround a needs to be fixed in proper manner inside bitbake code. For example when running clientComplete and buildFile is on progress, ERROR: Function failed: base_do_unpack Traceback (most recent call last): File "/home/alimon/repos/poky/scripts/lib/devtool/standard.py", line 797, in modify initial_rev = _extract_source(srctree, args.keep_temp, args.branch, False, rd, tinfoil) File "/home/alimon/repos/poky/scripts/lib/devtool/standard.py", line 562, in _extract_source runtask(fn, 'unpack') File "/home/alimon/repos/poky/scripts/lib/devtool/standard.py", line 552, in runtask raise DevtoolError('Task do_%s failed' % task) devtool.DevtoolError: Task do_unpack failed During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/alimon/repos/poky/scripts/devtool", line 351, in ret = main() File "/home/alimon/repos/poky/scripts/devtool", line 338, in main ret = args.func(args, config, basepath, workspace) File "/home/alimon/repos/poky/scripts/lib/devtool/standard.py", line 864, in modify tinfoil.shutdown() File "/home/alimon/repos/poky/bitbake/lib/bb/tinfoil.py", line 427, in shutdown self.run_command('clientComplete') File "/home/alimon/repos/poky/bitbake/lib/bb/tinfoil.py", line 320, in run_command raise TinfoilCommandFailed(result[1]) bb.tinfoil.TinfoilCommandFailed: Busy (buildFile in progress) Signed-off-by: An?bal Lim?n Signed-off-by: Richard Purdie --- lib/bb/tinfoil.py | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index e246b3d..fea8915 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -22,6 +22,7 @@ import os import sys import atexit import re +import time from collections import OrderedDict, defaultdict import bb.cache @@ -444,7 +445,7 @@ class Tinfoil: self.run_actions(config_params) self.recipes_parsed = True - def run_command(self, command, *params): + def run_command(self, command, *params, ntries=0): """ Run a command on the server (as implemented in bb.command). Note that there are two types of command - synchronous and @@ -461,9 +462,22 @@ class Tinfoil: commandline = [command] if params: commandline.extend(params) - result = self.server_connection.connection.runCommand(commandline) - if result[1]: - raise TinfoilCommandFailed(result[1]) + + # XXX: Tinfoil commands are run by Cooker in async mode so gives + # some time to get done. + result = None + while True: + result = self.server_connection.connection.runCommand(commandline) + if not result[1]: + break + + if ntries == 0: + raise TinfoilCommandFailed(result[1]) + elif 'Busy' in result[1]: + ntries = ntries - 1 + time.sleep(1) + continue + return result[0] def set_event_mask(self, eventlist): @@ -805,7 +819,7 @@ class Tinfoil: the tinfoil object which will ensure that it gets called. """ if self.server_connection: - self.run_command('clientComplete') + self.run_command('clientComplete', ntries=1) _server_connections.remove(self.server_connection) bb.event.ui_queue = [] self.server_connection.terminate() -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 10:00:41 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 10:00:41 +0000 Subject: [oe-commits] [openembedded-core] branch pyro updated (4442811 -> a8d2531) Message-ID: <150054484115.27046.6858644738156320260@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch pyro in repository openembedded-core. from 4442811 libgcrypt: fix CVE-2017-7526 new b27d804 tcf-agent: Fix daemon termination new a8d2531 tcf-agent: kill with USR2 in systemd stop The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: meta/recipes-devtools/tcf-agent/tcf-agent/tcf-agent.init | 12 +----------- meta/recipes-devtools/tcf-agent/tcf-agent/tcf-agent.service | 2 ++ 2 files changed, 3 insertions(+), 11 deletions(-) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 10:00:43 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 10:00:43 +0000 Subject: [oe-commits] [openembedded-core] 02/02: tcf-agent: kill with USR2 in systemd stop In-Reply-To: <150054484115.27046.6858644738156320260@git.openembedded.org> References: <150054484115.27046.6858644738156320260@git.openembedded.org> Message-ID: <20170720100041.4897223360E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch pyro in repository openembedded-core. commit a8d25315baf3226e2213e1cfba1d7023ec02a401 Author: Martin Kelly AuthorDate: Thu Jun 1 14:43:54 2017 +0900 tcf-agent: kill with USR2 in systemd stop tcf-agent ignores SIGTERM, so upstream uses USR2 instead. This issue was noticed by Jan Kiszka and Brian Avery around the same time: https://patchwork.openembedded.org/patch/139546/ https://patchwork.openembedded.org/patch/139560/ However, these patches fixed only the init scripts, not the systemd service file. This patch fixes the systemd file. (From OE-Core rev: 4f8ed1b3bf676a58055ebe01184b3594459a4118) Signed-off-by: Martin Kelly Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- meta/recipes-devtools/tcf-agent/tcf-agent/tcf-agent.service | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-devtools/tcf-agent/tcf-agent/tcf-agent.service b/meta/recipes-devtools/tcf-agent/tcf-agent/tcf-agent.service index fd9a6c4..a486ac7 100644 --- a/meta/recipes-devtools/tcf-agent/tcf-agent/tcf-agent.service +++ b/meta/recipes-devtools/tcf-agent/tcf-agent/tcf-agent.service @@ -5,6 +5,8 @@ After=network.target [Service] Type=forking ExecStart=@SBINDIR@/tcf-agent -d -L- -l0 +KillSignal=USR2 +SuccessExitStatus=USR2 [Install] WantedBy=multi-user.target -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 10:00:42 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 10:00:42 +0000 Subject: [oe-commits] [openembedded-core] 01/02: tcf-agent: Fix daemon termination In-Reply-To: <150054484115.27046.6858644738156320260@git.openembedded.org> References: <150054484115.27046.6858644738156320260@git.openembedded.org> Message-ID: <20170720100041.3FA0D2335E8@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch pyro in repository openembedded-core. commit b27d804dd0cbce3e4ed43e7fdfcc4e12c141e78d Author: Jan Kiszka AuthorDate: Sun Apr 30 17:28:01 2017 +0200 tcf-agent: Fix daemon termination The upstream init script uses SIGUSR2 to terminate that daemon because SIGTERM is ignored. As the killproc function does not support specifying a signal, switch to start-stop-daemon. Drop the retry loop because SIGUSR2 is lethal for agent. Signed-off-by: Jan Kiszka Signed-off-by: Ross Burton --- meta/recipes-devtools/tcf-agent/tcf-agent/tcf-agent.init | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/meta/recipes-devtools/tcf-agent/tcf-agent/tcf-agent.init b/meta/recipes-devtools/tcf-agent/tcf-agent/tcf-agent.init index 6303280..f902085 100755 --- a/meta/recipes-devtools/tcf-agent/tcf-agent/tcf-agent.init +++ b/meta/recipes-devtools/tcf-agent/tcf-agent/tcf-agent.init @@ -33,16 +33,7 @@ case "$1" in stop) echo -n "Stopping $DAEMON_NAME: " - count=0 - while [ -n "`/bin/pidof $DAEMON_PATH`" -a $count -lt 10 ] ; do - killproc $DAEMON_PATH >& /dev/null - sleep 1 - RETVAL=$? - if [ $RETVAL != 0 -o -n "`/bin/pidof $DAEMON_PATH`" ] ; then - sleep 3 - fi - count=`expr $count + 1` - done + start-stop-daemon -K -q -x $DAEMON_PATH -s USR2 rm -f /var/lock/subsys/$DAEMON_NAME if [ -n "`/bin/pidof $DAEMON_PATH`" ] ; then echo "FAIL" @@ -72,4 +63,3 @@ case "$1" in esac exit $RETVAL - -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 16:29:45 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 16:29:45 +0000 Subject: [oe-commits] [openembedded-core] 01/39: classes/staging: change fixme debug message from note to debug In-Reply-To: <150056818468.11699.16758981017169458803@git.openembedded.org> References: <150056818468.11699.16758981017169458803@git.openembedded.org> Message-ID: <20170720162945.3C91B233613@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 47cd4ef4f67d08b09d0f0310f5f9b8240e6ccab5 Author: Paul Eggleton AuthorDate: Thu Jul 20 16:48:07 2017 +0200 classes/staging: change fixme debug message from note to debug These messages were added for debugging during the recipe specific sysroot work. They may still be useful but they don't need to be notes - if they are they show up in recipetool / devtool output when fetching source. (From OE-Core rev: a0e93d5c5dcf59d1898a3db727a5ab2d75e3d20e) Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- meta/classes/staging.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/classes/staging.bbclass b/meta/classes/staging.bbclass index 8f470d5..162c8e9 100644 --- a/meta/classes/staging.bbclass +++ b/meta/classes/staging.bbclass @@ -170,7 +170,7 @@ def staging_processfixme(fixme, target, recipesysroot, recipesysrootnative, d): for fixmevar in ['COMPONENTS_DIR', 'HOSTTOOLS_DIR', 'PKGDATA_DIR']: fixme_path = d.getVar(fixmevar) cmd += " -e 's:FIXME_%s:%s:g'" % (fixmevar, fixme_path) - bb.note(cmd) + bb.debug(2, cmd) subprocess.check_output(cmd, shell=True) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 16:29:44 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 16:29:44 +0000 Subject: [oe-commits] [openembedded-core] branch master-next updated (a712f7f -> 1941dfb) Message-ID: <150056818468.11699.16758981017169458803@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master-next in repository openembedded-core. discard a712f7f oeqa/selftest/context: Enable support for threaded runs discard 5d105dc argparse_oe: Add int_positive type discard a62332c seltest/cases/devtool: Build dbus on test_devtool_add_git_local discard c632fd1 selftest/cases/devtool{,end}: Move update/finish_{upgrade,modify} tests to its own module discard 1f13c7e oeqa/selftest/cases: Move devtool deploy test case to own module discard f04d3f5 oeqa/selftest/cases: recipetool enable for threaded runs discard d96319f oeqa/selftest/cases: devtool enable threaded runs discard e39e3f9 oeqa/selftest/cases: eSDK enable threaded runs discard bc5c54d oeqa/selftest/cases: runtime enable threaded runs discard 0a68ecc oeqa/selftest/cases: runqemu enable threaded runs discard 4dce9cc oeqa/selftest/cases: imagefeatures enable threaded runs discard 67fc4a9 oeqa/selftest/cases: Use wrapper methods from OESelfTestCase class and enable threaded runs discard d78900a oeqa/selftest/cases: Use builddir from class instead of get from environment discard d2d7f9c oeqa/selftest/cases: Use testlayer_path instead of call get_test_layer() discard 11f83a0 oeqa/selftest/case: Support bitbake memres mode in per build directory discard fb28020 oeqa/selftest/case: tearDown extra commands print what actually fails discard 0fd4c84 oeqa/selftest/case: Creates meta-selftest layer per class discard 3f3353c oeqa/selftest/case: Add wrappers to utils.commands modules discard 0a043b1 oeqa/selftest/{case,context}: Add builddir by test class and context discard c09512b oeqa/core/tests: Update test_loader threaded to cover main thread usage discard eba5057 oeqa/core/threaded: logSummary add skipped tests info discard 3a4a18c oeqa/core/threaded: Add support to run into a thread at end of execution discard 721ce16 oeqa/core/threaded: Enable support to use the main thread discard b6ec7d2 oe/copy_buildsystem: check_sstate_task_list also pop BBPATH from env discard 746ba8d oeqa/selftest/{context,case}: Handle KeyboardInterrupt/SIGINT and SIGTERM discard 8c49e67 selftest/cases/package: Call parent setUpClass method discard 39a2f05 oeqa/core/loader: Generate function _make_failed_test dynamically discard 5fb71ea oeqa/eSDK: Ignore errors during directory cleanup discard 3176bfe recipetool: Setup logging before calling prepare discard f4965b0 devtool: Setup logging before calling prepare discard 974bcae oe-pkgdata-util: Setup logging before calling prepare discard b1e0085 recipetool: create: reimplement fetching with normal fetch/unpack tasks discard 7a354df recipetool: create: ensure meaningful error for malformed tarballs discard 5e0f6af devtool: extract: refactor kern-tools-native handling discard 46f1686 recipetool: create: refactor code for ensuring npm is available discard a0e93d5 classes/staging: change fixme debug message from note to debug new 47cd4ef classes/staging: change fixme debug message from note to debug new ae457d5 devtool: extract: refactor kern-tools-native handling new 4472f25 recipetool: create: ensure meaningful error for malformed tarballs new 6670e2a recipetool: create: eliminate second fetch for packages new 9f0e2a7 recipetool: create: reimplement fetching with normal fetch/unpack tasks new 3db76a1 classes/base: set do_unpack dependencies for rpm files new 5fee251 recipetool: create: refactor code for ensuring npm is available new ba10b65 oe-pkgdata-util: Setup logging before calling prepare new 650ce6b devtool: Setup logging before calling prepare new dd30992 recipetool: Setup logging before calling prepare new 18f384f oeqa/eSDK: Ignore errors during directory cleanup new e7eba42 oeqa/core/loader: Generate function _make_failed_test dynamically new eb7948a selftest/cases/package: Call parent setUpClass method new d12b9e7 oeqa/selftest/{context,case}: Handle KeyboardInterrupt/SIGINT and SIGTERM new eb561f7 oe/copy_buildsystem: check_sstate_task_list also pop BBPATH from env new 9fe2da0 oeqa/core/threaded: Enable support to use the main thread new 5af0e8a oeqa/core/threaded: Add support to run into a thread at end of execution new 678fe6b oeqa/core/threaded: logSummary add skipped tests info new 7d0c70a oeqa/core/tests: Update test_loader threaded to cover main thread usage new 78ecd9e oeqa/selftest/{case,context}: Add builddir by test class and context new 57d60ed oeqa/selftest/case: Add wrappers to utils.commands modules new b9c59dc oeqa/selftest/case: Creates meta-selftest layer per class new 930297c oeqa/selftest/case: tearDown extra commands print what actually fails new e793f05 oeqa/selftest/case: Support bitbake memres mode in per build directory new 3f81749 oeqa/selftest/cases: Use testlayer_path instead of call get_test_layer() new 7948213 oeqa/selftest/cases: Use builddir from class instead of get from environment new b2a1f2c oeqa/selftest/cases: Use wrapper methods from OESelfTestCase class and enable threaded runs new 46bc866 oeqa/selftest/cases: imagefeatures enable threaded runs new 64408fa oeqa/selftest/cases: runqemu enable threaded runs new 407d8e4 oeqa/selftest/cases: runtime enable threaded runs new bf0007a oeqa/selftest/cases: eSDK enable threaded runs new 711d1c1 oeqa/selftest/cases: devtool enable threaded runs new be91f92 oeqa/selftest/cases: recipetool enable for threaded runs new 9927d2f oeqa/selftest/cases: Move devtool deploy test case to own module new bae8e76 selftest/cases/devtool{,end}: Move update/finish_{upgrade,modify} tests to its own module new cefc664 seltest/cases/devtool: Build dbus on test_devtool_add_git_local new 79d1c3c argparse_oe: Add int_positive type new 2657141 oeqa/selftest/context: Enable support for threaded runs new 1941dfb subversion: Upgrade 1.9.5-> 1.9.6 This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (a712f7f) \ N -- N -- N refs/heads/master-next (1941dfb) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 39 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: meta/classes/base.bbclass | 4 +- .../{subversion_1.9.5.bb => subversion_1.9.6.bb} | 4 +- scripts/lib/devtool/standard.py | 6 - scripts/lib/devtool/upgrade.py | 10 +- scripts/lib/recipetool/create.py | 155 ++------------------ scripts/lib/recipetool/create_npm.py | 34 ++++- scripts/lib/recipetool/utils.py | 37 ----- scripts/lib/scriptutils.py | 158 ++++++++++++++++----- 8 files changed, 169 insertions(+), 239 deletions(-) rename meta/recipes-devtools/subversion/{subversion_1.9.5.bb => subversion_1.9.6.bb} (96%) delete mode 100644 scripts/lib/recipetool/utils.py -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 16:29:46 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 16:29:46 +0000 Subject: [oe-commits] [openembedded-core] 02/39: devtool: extract: refactor kern-tools-native handling In-Reply-To: <150056818468.11699.16758981017169458803@git.openembedded.org> References: <150056818468.11699.16758981017169458803@git.openembedded.org> Message-ID: <20170720162945.585FA233614@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit ae457d5d75e8d2e8d37c04a78c15c5e95fac7270 Author: Paul Eggleton AuthorDate: Thu Jul 20 16:48:08 2017 +0200 devtool: extract: refactor kern-tools-native handling When extracting linux-yocto kernel source, we don't need to dance around shutting down and starting up tinfoil anymore, we can just execute the tasks as needed when needed using tinfoil's new build_targets() function. This allows us to tidy up the code structure a bit. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- scripts/lib/devtool/standard.py | 37 +++++-------------------------------- 1 file changed, 5 insertions(+), 32 deletions(-) diff --git a/scripts/lib/devtool/standard.py b/scripts/lib/devtool/standard.py index 7e342e7..0104e67 100644 --- a/scripts/lib/devtool/standard.py +++ b/scripts/lib/devtool/standard.py @@ -383,7 +383,7 @@ def extract(args, config, basepath, workspace): """Entry point for the devtool 'extract' subcommand""" import bb - tinfoil = _prep_extract_operation(config, basepath, args.recipename) + tinfoil = setup_tinfoil(basepath=basepath) if not tinfoil: # Error already shown return 1 @@ -407,7 +407,7 @@ def sync(args, config, basepath, workspace): """Entry point for the devtool 'sync' subcommand""" import bb - tinfoil = _prep_extract_operation(config, basepath, args.recipename) + tinfoil = setup_tinfoil(basepath=basepath) if not tinfoil: # Error already shown return 1 @@ -428,29 +428,6 @@ def sync(args, config, basepath, workspace): tinfoil.shutdown() -def _prep_extract_operation(config, basepath, recipename, tinfoil=None): - """HACK: Ugly workaround for making sure that requirements are met when - trying to extract a package. Returns the tinfoil instance to be used.""" - if not tinfoil: - tinfoil = setup_tinfoil(basepath=basepath) - - rd = parse_recipe(config, tinfoil, recipename, True) - if not rd: - tinfoil.shutdown() - return None - - if bb.data.inherits_class('kernel-yocto', rd): - tinfoil.shutdown() - try: - stdout, _ = exec_build_env_command(config.init_path, basepath, - 'bitbake kern-tools-native') - tinfoil = setup_tinfoil(basepath=basepath) - except bb.process.ExecutionError as err: - raise DevtoolError("Failed to build kern-tools-native:\n%s" % - err.stdout) - return tinfoil - - def _extract_source(srctree, keep_temp, devbranch, sync, d, tinfoil): """Extract sources of a recipe""" import oe.recipeutils @@ -475,6 +452,9 @@ def _extract_source(srctree, keep_temp, devbranch, sync, d, tinfoil): raise DevtoolError("The %s recipe has do_unpack disabled, unable to " "extract source" % pn, 4) + if bb.data.inherits_class('kernel-yocto', d): + tinfoil.build_targets('kern-tools-native') + if not sync: # Prepare for shutil.move later on bb.utils.mkdirhier(srctree) @@ -773,13 +753,6 @@ def modify(args, config, basepath, workspace): raise DevtoolError("--no-extract specified and source path %s does " "not exist or is not a directory" % srctree) - if not args.no_extract: - tinfoil = _prep_extract_operation(config, basepath, pn, tinfoil) - if not tinfoil: - # Error already shown - return 1 - # We need to re-parse because tinfoil may have been re-initialised - rd = parse_recipe(config, tinfoil, args.recipename, True) recipefile = rd.getVar('FILE') appendfile = recipe_to_append(recipefile, config, args.wildcard) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 16:29:47 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 16:29:47 +0000 Subject: [oe-commits] [openembedded-core] 03/39: recipetool: create: ensure meaningful error for malformed tarballs In-Reply-To: <150056818468.11699.16758981017169458803@git.openembedded.org> References: <150056818468.11699.16758981017169458803@git.openembedded.org> Message-ID: <20170720162945.6E650233615@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 4472f25bbccd23977832bfa418978f5fbd38e659 Author: Paul Eggleton AuthorDate: Thu Jul 20 16:48:09 2017 +0200 recipetool: create: ensure meaningful error for malformed tarballs If you pointed recipetool at a URL that should be a tarball e.g. https://tls.mbed.org/download/start/mbedtls-2.4.2-apache.tgz but instead it returns an HTML page, we try to unpack it, gzip complains but the operation doesn't seem to fail - instead we just get back an empty source tree. Change the checks to account for this - if the source tree is empty, check if the downloaded file in DL_DIR looks like an HTML file and error accordingly if it is. If it's not, error out anyway because no source was unpacked and it should have been (otherwise we just blindly set up EXTERNALSRC for this which is pointless). Fixes an aspect of [YOCTO #11407]. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- scripts/lib/recipetool/create.py | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/scripts/lib/recipetool/create.py b/scripts/lib/recipetool/create.py index 8e63580..923c336 100644 --- a/scripts/lib/recipetool/create.py +++ b/scripts/lib/recipetool/create.py @@ -462,10 +462,16 @@ def create_recipe(args): srcsubdir = dirlist[0] srctree = os.path.join(srctree, srcsubdir) else: - with open(singleitem, 'r', errors='surrogateescape') as f: - if ' References: <150056818468.11699.16758981017169458803@git.openembedded.org> Message-ID: <20170720162945.77009233616@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 6670e2a008e07ed3204206efab3c7181bdf12089 Author: Paul Eggleton AuthorDate: Thu Jul 20 16:48:10 2017 +0200 recipetool: create: eliminate second fetch for packages When dealing with package files (.rpm, .ipk etc.) we need to unpack them ourselves to get the metadata, which is thrown away when the fetcher unpacks them. However, since we've already fetched the file once, I'm not sure as to why I thought I needed to fetch it again - we can just get the local path and then unpack it directly. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- scripts/lib/recipetool/create.py | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/scripts/lib/recipetool/create.py b/scripts/lib/recipetool/create.py index 923c336..2b7cc76 100644 --- a/scripts/lib/recipetool/create.py +++ b/scripts/lib/recipetool/create.py @@ -478,20 +478,11 @@ def create_recipe(args): bb.process.run('git submodule update --init --recursive', cwd=srctree) if is_package(fetchuri): - tmpfdir = tempfile.mkdtemp(prefix='recipetool-') - try: - pkgfile = None + localdata = bb.data.createCopy(tinfoil.config_data) + pkgfile = bb.fetch2.localpath(fetchuri, localdata) + if pkgfile: + tmpfdir = tempfile.mkdtemp(prefix='recipetool-') try: - fileuri = fetchuri + ';unpack=0' - scriptutils.fetch_uri(tinfoil.config_data, fileuri, tmpfdir, srcrev) - for root, _, files in os.walk(tmpfdir): - for f in files: - pkgfile = os.path.join(root, f) - break - except bb.fetch2.BBFetchException as e: - logger.warn('Second fetch to get metadata failed: %s' % str(e).rstrip()) - - if pkgfile: if pkgfile.endswith(('.deb', '.ipk')): stdout, _ = bb.process.run('ar x %s' % pkgfile, cwd=tmpfdir) stdout, _ = bb.process.run('tar xf control.tar.gz', cwd=tmpfdir) @@ -501,8 +492,8 @@ def create_recipe(args): stdout, _ = bb.process.run('rpm -qp --xml %s > pkginfo.xml' % pkgfile, cwd=tmpfdir) values = convert_rpm_xml(os.path.join(tmpfdir, 'pkginfo.xml')) extravalues.update(values) - finally: - shutil.rmtree(tmpfdir) + finally: + shutil.rmtree(tmpfdir) else: # Assume we're pointing to an existing source tree if args.extract_to: -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 16:29:50 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 16:29:50 +0000 Subject: [oe-commits] [openembedded-core] 06/39: classes/base: set do_unpack dependencies for rpm files In-Reply-To: <150056818468.11699.16758981017169458803@git.openembedded.org> References: <150056818468.11699.16758981017169458803@git.openembedded.org> Message-ID: <20170720162945.87A05233619@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 3db76a1a99e76e1e0f840bb8dfad3122dfc9c664 Author: Paul Eggleton AuthorDate: Thu Jul 20 16:48:12 2017 +0200 classes/base: set do_unpack dependencies for rpm files If we're unpacking any rpm (not just .src.rpm) then we'll need to call rpm2cpio.sh. As of OE-Core rev a7da1aade118d1ccf1b286f82556cd9f706bd2a4 that script no longer uses file-native, but there is a chance that the rpm file will be compressed internally using xz (for example, rpms from Fedora) and therefore the script will need xzcat provided xz-native. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- meta/classes/base.bbclass | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass index 27a28b8..9c40e01 100644 --- a/meta/classes/base.bbclass +++ b/meta/classes/base.bbclass @@ -632,8 +632,8 @@ python () { d.appendVarFlag('do_unpack', 'depends', ' unzip-native:do_populate_sysroot') # file is needed by rpm2cpio.sh - elif path.endswith('.src.rpm'): - d.appendVarFlag('do_unpack', 'depends', ' file-native:do_populate_sysroot') + elif path.endswith('.rpm'): + d.appendVarFlag('do_unpack', 'depends', ' xz-native:do_populate_sysroot') if needsrcrev: d.setVar("SRCPV", "${@bb.fetch2.get_srcrev(d)}") -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 16:29:52 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 16:29:52 +0000 Subject: [oe-commits] [openembedded-core] 08/39: oe-pkgdata-util: Setup logging before calling prepare In-Reply-To: <150056818468.11699.16758981017169458803@git.openembedded.org> References: <150056818468.11699.16758981017169458803@git.openembedded.org> Message-ID: <20170720162945.9CF7223361B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit ba10b65a5ae802bc809201119dd40b0bba54ab33 Author: Richard Purdie AuthorDate: Wed Jul 19 15:24:39 2017 +0100 oe-pkgdata-util: Setup logging before calling prepare This avoids test failures like: INFO - ====================================================================== INFO - FAIL [1.046s]: test_find_path (pkgdata.OePkgdataUtilTests) INFO - ---------------------------------------------------------------------- INFO - Traceback (most recent call last): File "/media/build1/poky/meta/lib/oeqa/core/decorator/__init__.py", line 32, in wrapped_f return func(*args, **kwargs) File "/media/build1/poky/meta/lib/oeqa/selftest/cases/pkgdata.py", line 50, in test_find_path self.assertEqual(result.output, 'zlib: /lib/libz.so.1') AssertionError: 'NOTE: Starting bitbake server...\nzlib: /lib/libz.so.1' != 'zlib: /lib/libz.so.1' - NOTE: Starting bitbake server... zlib: /lib/libz.so.1 INFO - ---------------------------------------------------------------------- since there is corruption in the output. Setting the logging up before calling tinfoil.prepare() resolves this. Signed-off-by: Richard Purdie --- scripts/oe-pkgdata-util | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/scripts/oe-pkgdata-util b/scripts/oe-pkgdata-util index 677effe..a690870 100755 --- a/scripts/oe-pkgdata-util +++ b/scripts/oe-pkgdata-util @@ -40,9 +40,8 @@ def tinfoil_init(): import bb.tinfoil import logging tinfoil = bb.tinfoil.Tinfoil() - tinfoil.prepare(True) - tinfoil.logger.setLevel(logging.WARNING) + tinfoil.prepare(True) return tinfoil -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 16:29:49 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 16:29:49 +0000 Subject: [oe-commits] [openembedded-core] 05/39: recipetool: create: reimplement fetching with normal fetch/unpack tasks In-Reply-To: <150056818468.11699.16758981017169458803@git.openembedded.org> References: <150056818468.11699.16758981017169458803@git.openembedded.org> Message-ID: <20170720162945.7FFAD233617@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 9f0e2a79e97942562b4468915ae94d71425722cd Author: Paul Eggleton AuthorDate: Thu Jul 20 16:48:11 2017 +0200 recipetool: create: reimplement fetching with normal fetch/unpack tasks Now that we have the ability to run the tasks in a more standard context through tinfoil, change recipetool's fetching code to use that to fetch files using it. This has the major advantage that any dependencies of do_fetch and do_unpack (e.g. for subversion or npm) will be handled automatically. This also has the beneficial side-effect of fixing a recent regression that prevented this fetch operation from working with memory resident bitbake. Also fix devtool's usage of fetch_uri() at the same time so that we can completely replace it. Fixes [YOCTO #11710]. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- scripts/lib/devtool/upgrade.py | 10 ++- scripts/lib/recipetool/create.py | 40 ++++----- scripts/lib/recipetool/create_npm.py | 10 +-- scripts/lib/scriptutils.py | 158 ++++++++++++++++++++++++++--------- 4 files changed, 153 insertions(+), 65 deletions(-) diff --git a/scripts/lib/devtool/upgrade.py b/scripts/lib/devtool/upgrade.py index 05fb9e5..f077f37 100644 --- a/scripts/lib/devtool/upgrade.py +++ b/scripts/lib/devtool/upgrade.py @@ -207,10 +207,16 @@ def _extract_new_source(newpv, srctree, no_patch, srcrev, branch, keep_temp, tin tmpdir = tempfile.mkdtemp(prefix='devtool') try: - md5, sha256 = scriptutils.fetch_uri(tinfoil.config_data, uri, tmpdir, rev) - except bb.fetch2.FetchError as e: + checksums, ftmpdir = scriptutils.fetch_url(tinfoil, uri, rev, tmpdir, logger, preserve_tmp=keep_temp) + except scriptutils.FetchUrlFailure as e: raise DevtoolError(e) + if ftmpdir and keep_temp: + logger.info('Fetch temp directory is %s' % ftmpdir) + + md5 = checksums['md5sum'] + sha256 = checksums['sha256sum'] + tmpsrctree = _get_srctree(tmpdir) srctree = os.path.abspath(srctree) diff --git a/scripts/lib/recipetool/create.py b/scripts/lib/recipetool/create.py index 2b7cc76..2a6a28b 100644 --- a/scripts/lib/recipetool/create.py +++ b/scripts/lib/recipetool/create.py @@ -417,7 +417,7 @@ def create_recipe(args): pkgarch = "${MACHINE_ARCH}" extravalues = {} - checksums = (None, None) + checksums = {} tempsrc = '' source = args.source srcsubdir = '' @@ -439,22 +439,25 @@ def create_recipe(args): if res: srcrev = res.group(1) srcuri = rev_re.sub('', srcuri) - tempsrc = tempfile.mkdtemp(prefix='recipetool-') - srctree = tempsrc - d = bb.data.createCopy(tinfoil.config_data) - if fetchuri.startswith('npm://'): - # Check if npm is available - npm_bindir = check_npm(tinfoil, args.devtool) - d.prependVar('PATH', '%s:' % npm_bindir) - logger.info('Fetching %s...' % srcuri) + + tmpparent = tinfoil.config_data.getVar('BASE_WORKDIR') + bb.utils.mkdirhier(tmpparent) + tempsrc = tempfile.mkdtemp(prefix='recipetool-', dir=tmpparent) + srctree = os.path.join(tempsrc, 'source') + try: - checksums = scriptutils.fetch_uri(d, fetchuri, srctree, srcrev) - except bb.fetch2.BBFetchException as e: - logger.error(str(e).rstrip()) + checksums, ftmpdir = scriptutils.fetch_url(tinfoil, srcuri, srcrev, srctree, logger, preserve_tmp=args.keep_temp) + except scriptutils.FetchUrlFailure as e: + logger.error(str(e)) sys.exit(1) + + if ftmpdir and args.keep_temp: + logger.info('Fetch temp directory is %s' % ftmpdir) + dirlist = os.listdir(srctree) - if 'git.indirectionsymlink' in dirlist: - dirlist.remove('git.indirectionsymlink') + filterout = ['git.indirectionsymlink'] + dirlist = [x for x in dirlist if x not in filterout] + logger.debug('Directory listing (excluding filtered out):\n %s' % '\n '.join(dirlist)) if len(dirlist) == 1: singleitem = os.path.join(srctree, dirlist[0]) if os.path.isdir(singleitem): @@ -465,7 +468,7 @@ def create_recipe(args): check_single_file(dirlist[0], fetchuri) elif len(dirlist) == 0: if '/' in fetchuri: - fn = os.path.join(d.getVar('DL_DIR'), fetchuri.split('/')[-1]) + fn = os.path.join(tinfoil.config_data.getVar('DL_DIR'), fetchuri.split('/')[-1]) if os.path.isfile(fn): check_single_file(fn, fetchuri) # If we've got to here then there's no source so we might as well give up @@ -593,11 +596,8 @@ def create_recipe(args): if not srcuri: lines_before.append('# No information for SRC_URI yet (only an external source tree was specified)') lines_before.append('SRC_URI = "%s"' % srcuri) - (md5value, sha256value) = checksums - if md5value: - lines_before.append('SRC_URI[md5sum] = "%s"' % md5value) - if sha256value: - lines_before.append('SRC_URI[sha256sum] = "%s"' % sha256value) + for key, value in sorted(checksums.items()): + lines_before.append('SRC_URI[%s] = "%s"' % (key, value)) if srcuri and supports_srcrev(srcuri): lines_before.append('') lines_before.append('# Modify these as desired') diff --git a/scripts/lib/recipetool/create_npm.py b/scripts/lib/recipetool/create_npm.py index cb8f338..ba7e39a 100644 --- a/scripts/lib/recipetool/create_npm.py +++ b/scripts/lib/recipetool/create_npm.py @@ -109,7 +109,6 @@ class NpmRecipeHandler(RecipeHandler): if varname == 'SRC_URI': if not origvalue.startswith('npm://'): src_uri = origvalue.split() - changed = False deplist = {} for dep, depver in optdeps.items(): depdata = self.get_npm_data(dep, depver, d) @@ -123,14 +122,15 @@ class NpmRecipeHandler(RecipeHandler): depdata = self.get_npm_data(dep, depver, d) deplist[dep] = depdata + extra_urls = [] for dep, depdata in deplist.items(): version = depdata.get('version', None) if version: url = 'npm://registry.npmjs.org;name=%s;version=%s;subdir=node_modules/%s' % (dep, version, dep) - scriptutils.fetch_uri(d, url, srctree) - src_uri.append(url) - changed = True - if changed: + extra_urls.append(url) + if extra_urls: + scriptutils.fetch_url(tinfoil, ' '.join(extra_urls), None, srctree, logger) + src_uri.extend(extra_urls) return src_uri, None, -1, True return origvalue, None, 0, True updated, newlines = bb.utils.edit_metadata(lines_before, ['SRC_URI'], varfunc) diff --git a/scripts/lib/scriptutils.py b/scripts/lib/scriptutils.py index 92b601c..1005dd4 100644 --- a/scripts/lib/scriptutils.py +++ b/scripts/lib/scriptutils.py @@ -23,6 +23,8 @@ import argparse import subprocess import tempfile import shutil +import random +import string def logger_create(name, stream=None): logger = logging.getLogger(name) @@ -78,50 +80,130 @@ def git_convert_standalone_clone(repodir): bb.process.run('git repack -a', cwd=repodir) os.remove(alternatesfile) -def fetch_uri(d, uri, destdir, srcrev=None): - """Fetch a URI to a local directory""" +def _get_temp_recipe_dir(d): + # This is a little bit hacky but we need to find a place where we can put + # the recipe so that bitbake can find it. We're going to delete it at the + # end so it doesn't really matter where we put it. + bbfiles = d.getVar('BBFILES').split() + fetchrecipedir = None + for pth in bbfiles: + if pth.endswith('.bb'): + pthdir = os.path.dirname(pth) + if os.access(os.path.dirname(os.path.dirname(pthdir)), os.W_OK): + fetchrecipedir = pthdir.replace('*', 'recipetool') + if pthdir.endswith('workspace/recipes/*'): + # Prefer the workspace + break + return fetchrecipedir + +class FetchUrlFailure(Exception): + def __init__(self, url): + self.url = url + def __str__(self): + return "Failed to fetch URL %s" % self.url + +def fetch_url(tinfoil, srcuri, srcrev, destdir, logger, preserve_tmp=False): + """ + Fetch the specified URL using normal do_fetch and do_unpack tasks, i.e. + any dependencies that need to be satisfied in order to support the fetch + operation will be taken care of + """ + import bb - tmpparent = d.getVar('BASE_WORKDIR') + + checksums = {} + fetchrecipepn = None + + # We need to put our temp directory under ${BASE_WORKDIR} otherwise + # we may have problems with the recipe-specific sysroot population + tmpparent = tinfoil.config_data.getVar('BASE_WORKDIR') bb.utils.mkdirhier(tmpparent) - tmpworkdir = tempfile.mkdtemp(dir=tmpparent) + tmpdir = tempfile.mkdtemp(prefix='recipetool-', dir=tmpparent) try: - bb.utils.mkdirhier(destdir) - localdata = bb.data.createCopy(d) - - # Set some values to allow extend_recipe_sysroot to work here we're we are not running from a task - localdata.setVar('WORKDIR', tmpworkdir) - localdata.setVar('BB_RUNTASK', 'do_fetch') - localdata.setVar('PN', 'dummy') - localdata.setVar('BB_LIMITEDDEPS', '1') - bb.build.exec_func("extend_recipe_sysroot", localdata) - - # Set some values for the benefit of the fetcher code - localdata.setVar('BB_STRICT_CHECKSUM', '') - localdata.setVar('SRCREV', srcrev) - ret = (None, None) - olddir = os.getcwd() + tmpworkdir = os.path.join(tmpdir, 'work') + logger.debug('fetch_url: temp dir is %s' % tmpdir) + + fetchrecipedir = _get_temp_recipe_dir(tinfoil.config_data) + if not fetchrecipedir: + logger.error('Searched BBFILES but unable to find a writeable place to put temporary recipe') + sys.exit(1) + fetchrecipe = None + bb.utils.mkdirhier(fetchrecipedir) try: - fetcher = bb.fetch2.Fetch([uri], localdata) - for u in fetcher.ud: - ud = fetcher.ud[u] - ud.ignore_checksums = True - fetcher.download() - for u in fetcher.ud: - ud = fetcher.ud[u] - if ud.localpath.rstrip(os.sep) == localdata.getVar('DL_DIR').rstrip(os.sep): - raise Exception('Local path is download directory - please check that the URI "%s" is correct' % uri) - fetcher.unpack(destdir) - for u in fetcher.ud: - ud = fetcher.ud[u] - if ud.method.recommends_checksum(ud): - md5value = bb.utils.md5_file(ud.localpath) - sha256value = bb.utils.sha256_file(ud.localpath) - ret = (md5value, sha256value) + # Generate a dummy recipe so we can follow more or less normal paths + # for do_fetch and do_unpack + # I'd use tempfile functions here but underscores can be produced by that and those + # aren't allowed in recipe file names except to separate the version + rndstring = ''.join(random.choice(string.ascii_uppercase + string.digits) for _ in range(8)) + fetchrecipe = os.path.join(fetchrecipedir, 'tmp-recipetool-%s.bb' % rndstring) + fetchrecipepn = os.path.splitext(os.path.basename(fetchrecipe))[0] + logger.debug('Generating initial recipe %s for fetching' % fetchrecipe) + with open(fetchrecipe, 'w') as f: + # We don't want to have to specify LIC_FILES_CHKSUM + f.write('LICENSE = "CLOSED"\n') + # We don't need the cross-compiler + f.write('INHIBIT_DEFAULT_DEPS = "1"\n') + # We don't have the checksums yet so we can't require them + f.write('BB_STRICT_CHECKSUM = "ignore"\n') + f.write('SRC_URI = "%s"\n' % srcuri) + f.write('SRCREV = "%s"\n' % srcrev) + f.write('WORKDIR = "%s"\n' % tmpworkdir) + # Set S out of the way so it doesn't get created under the workdir + f.write('S = "%s"\n' % os.path.join(tmpdir, 'emptysrc')) + + logger.info('Fetching %s...' % srcuri) + + # FIXME this is too noisy at the moment + + # Parse recipes so our new recipe gets picked up + tinfoil.parse_recipes() + + def eventhandler(event): + if isinstance(event, bb.fetch2.MissingChecksumEvent): + checksums.update(event.checksums) + return True + return False + + # Run the fetch + unpack tasks + res = tinfoil.build_targets(fetchrecipepn, + 'do_unpack', + handle_events=True, + extra_events=['bb.fetch2.MissingChecksumEvent'], + event_callback=eventhandler) + if not res: + raise FetchUrlFailure(srcuri) + + # Remove unneeded directories + rd = tinfoil.parse_recipe(fetchrecipepn) + if rd: + pathvars = ['T', 'RECIPE_SYSROOT', 'RECIPE_SYSROOT_NATIVE'] + for pathvar in pathvars: + path = rd.getVar(pathvar) + shutil.rmtree(path) finally: - os.chdir(olddir) + if fetchrecipe: + try: + os.remove(fetchrecipe) + except FileNotFoundError: + pass + try: + os.rmdir(fetchrecipedir) + except OSError as e: + import errno + if e.errno != errno.ENOTEMPTY: + raise + + bb.utils.mkdirhier(destdir) + for fn in os.listdir(tmpworkdir): + shutil.move(os.path.join(tmpworkdir, fn), destdir) + finally: - shutil.rmtree(tmpworkdir) - return ret + if not preserve_tmp: + shutil.rmtree(tmpdir) + tmpdir = None + + return checksums, tmpdir + def run_editor(fn): if isinstance(fn, str): -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 16:29:53 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 16:29:53 +0000 Subject: [oe-commits] [openembedded-core] 09/39: devtool: Setup logging before calling prepare In-Reply-To: <150056818468.11699.16758981017169458803@git.openembedded.org> References: <150056818468.11699.16758981017169458803@git.openembedded.org> Message-ID: <20170720162945.A593C23361C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 650ce6b8ddd58d46b61b91b195050d83efd3106b Author: Richard Purdie AuthorDate: Wed Jul 19 15:18:44 2017 +0100 devtool: Setup logging before calling prepare This avoids test failures like: INFO - ====================================================================== INFO - FAIL [1.755s]: test_devtool_layer_plugins (devtool.DevtoolTests) INFO - ---------------------------------------------------------------------- INFO - Traceback (most recent call last): File "/media/build1/poky/meta/lib/oeqa/core/decorator/__init__.py", line 32, in wrapped_f return func(*args, **kwargs) File "/media/build1/poky/meta/lib/oeqa/selftest/cases/devtool.py", line 1354, in test_devtool_layer_plugins self.assertEqual(result.output, s[::-1]) AssertionError: "NOTE: Starting bitbake server...\noY senu[36 chars]rciM" != "oY senuZ s'enoynA morF tiforP oN edaM tfosorciM" - NOTE: Starting bitbake server... oY senuZ s'enoynA morF tiforP oN edaM tfosorciM INFO - ---------------------------------------------------------------------- since there is corruption in the output. Setting the logging up before calling tinfoil.prepare() resolves this. Signed-off-by: Richard Purdie --- scripts/lib/devtool/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/lib/devtool/__init__.py b/scripts/lib/devtool/__init__.py index bba0721..b231e46 100644 --- a/scripts/lib/devtool/__init__.py +++ b/scripts/lib/devtool/__init__.py @@ -115,8 +115,8 @@ def setup_tinfoil(config_only=False, basepath=None, tracking=False): import bb.tinfoil tinfoil = bb.tinfoil.Tinfoil(tracking=tracking) try: - tinfoil.prepare(config_only) tinfoil.logger.setLevel(logger.getEffectiveLevel()) + tinfoil.prepare(config_only) except bb.tinfoil.TinfoilUIException: tinfoil.shutdown() raise DevtoolError('Failed to start bitbake environment') -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 16:29:54 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 16:29:54 +0000 Subject: [oe-commits] [openembedded-core] 10/39: recipetool: Setup logging before calling prepare In-Reply-To: <150056818468.11699.16758981017169458803@git.openembedded.org> References: <150056818468.11699.16758981017169458803@git.openembedded.org> Message-ID: <20170720162945.B18CC23361D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit dd30992ff04d2a12772885c36457e57d7a6bf732 Author: Richard Purdie AuthorDate: Wed Jul 19 14:45:01 2017 +0100 recipetool: Setup logging before calling prepare This avoids test failures like: ====================================================================== ERROR [0.946s]: test_recipetool_load_plugin (recipetool.RecipetoolTests) INFO - ---------------------------------------------------------------------- INFO - Traceback (most recent call last): File "/media/build1/poky/meta/lib/oeqa/core/decorator/__init__.py", line 32, in wrapped_f return func(*args, **kwargs) File "/media/build1/poky/meta/lib/oeqa/selftest/cases/recipetool.py", line 514, in test_recipetool_load_plugin with open(srcfile) as fh: FileNotFoundError: [Errno 2] No such file or directory: 'NOTE: Starting bitbake server...\n/media/build1/poky/meta-selftest/lib/recipetool/bbpath.py' INFO - ---------------------------------------------------------------------- which comes from: $ recipetool --quiet pluginfile NOTE: Starting bitbake server... /media/build1/poky/meta-selftest/lib/recipetool/bbpath.py since there is corruption in the output despite the --quiet option. Setting the logging up before calling tinfoil.prepare() resolves this. Signed-off-by: Richard Purdie --- scripts/recipetool | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/recipetool b/scripts/recipetool index 3765ec7..3a3c9b7 100755 --- a/scripts/recipetool +++ b/scripts/recipetool @@ -36,8 +36,8 @@ def tinfoil_init(parserecipes): import bb.tinfoil import logging tinfoil = bb.tinfoil.Tinfoil(tracking=True) - tinfoil.prepare(not parserecipes) tinfoil.logger.setLevel(logger.getEffectiveLevel()) + tinfoil.prepare(not parserecipes) return tinfoil def main(): -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 16:29:51 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 16:29:51 +0000 Subject: [oe-commits] [openembedded-core] 07/39: recipetool: create: refactor code for ensuring npm is available In-Reply-To: <150056818468.11699.16758981017169458803@git.openembedded.org> References: <150056818468.11699.16758981017169458803@git.openembedded.org> Message-ID: <20170720162945.9419923361A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 5fee2516c2c668a5da952b3f32905625b0d96b9a Author: Paul Eggleton AuthorDate: Thu Jul 20 16:48:13 2017 +0200 recipetool: create: refactor code for ensuring npm is available Across devtool and recipetool we had an ugly set of code for ensuring that we can call an npm binary, and much of that ugliness was a result of not being able to run build tasks when tinfoil was active - if recipetool found that npm was required and we didn't know beforehand (e.g. we're fetching from a plain git repository as opposed to an npm:// URL where it's obvious) then it had to exit and return a special result code, so that devtool knew it needed to build nodejs-native and then call recipetool again. Now that we are using real build tasks to fetch and unpack, we can drop most of this and move the code to the one place where it's still needed (i.e. create_npm where we potentially have to deal with node.js code in a plain source repository). Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- scripts/lib/devtool/__init__.py | 31 ------------------------------- scripts/lib/devtool/standard.py | 34 ++++++++-------------------------- scripts/lib/recipetool/create.py | 21 +-------------------- scripts/lib/recipetool/create_npm.py | 27 +++++++++++++++++++++++++-- 4 files changed, 34 insertions(+), 79 deletions(-) diff --git a/scripts/lib/devtool/__init__.py b/scripts/lib/devtool/__init__.py index 29c4c05..bba0721 100644 --- a/scripts/lib/devtool/__init__.py +++ b/scripts/lib/devtool/__init__.py @@ -261,34 +261,3 @@ def get_bbclassextend_targets(recipefile, pn): targets.append('%s-%s' % (pn, variant)) return targets -def ensure_npm(config, basepath, fixed_setup=False, check_exists=True): - """ - Ensure that npm is available and either build it or show a - reasonable error message - """ - if check_exists: - tinfoil = setup_tinfoil(config_only=False, basepath=basepath) - try: - rd = tinfoil.parse_recipe('nodejs-native') - nativepath = rd.getVar('STAGING_BINDIR_NATIVE') - finally: - tinfoil.shutdown() - npmpath = os.path.join(nativepath, 'npm') - build_npm = not os.path.exists(npmpath) - else: - build_npm = True - - if build_npm: - logger.info('Building nodejs-native') - try: - exec_build_env_command(config.init_path, basepath, - 'bitbake -q nodejs-native -c addto_recipe_sysroot', watch=True) - except bb.process.ExecutionError as e: - if "Nothing PROVIDES 'nodejs-native'" in e.stdout: - if fixed_setup: - msg = 'nodejs-native is required for npm but is not available within this SDK' - else: - msg = 'nodejs-native is required for npm but is not available - you will likely need to add a layer that provides nodejs' - raise DevtoolError(msg) - else: - raise diff --git a/scripts/lib/devtool/standard.py b/scripts/lib/devtool/standard.py index 0104e67..54558ce 100644 --- a/scripts/lib/devtool/standard.py +++ b/scripts/lib/devtool/standard.py @@ -30,7 +30,7 @@ import errno import glob import filecmp from collections import OrderedDict -from devtool import exec_build_env_command, setup_tinfoil, check_workspace_recipe, use_external_build, setup_git_repo, recipe_to_append, get_bbclassextend_targets, ensure_npm, DevtoolError +from devtool import exec_build_env_command, setup_tinfoil, check_workspace_recipe, use_external_build, setup_git_repo, recipe_to_append, get_bbclassextend_targets, DevtoolError from devtool import parse_recipe logger = logging.getLogger('devtool') @@ -128,9 +128,6 @@ def add(args, config, basepath, workspace): color = args.color extracmdopts = '' if args.fetchuri: - if args.fetchuri.startswith('npm://'): - ensure_npm(config, basepath, args.fixed_setup) - source = args.fetchuri if srctree: extracmdopts += ' -x %s' % srctree @@ -155,28 +152,13 @@ def add(args, config, basepath, workspace): tempdir = tempfile.mkdtemp(prefix='devtool') try: - builtnpm = False - while True: - try: - stdout, _ = exec_build_env_command(config.init_path, basepath, 'recipetool --color=%s create --devtool -o %s \'%s\' %s' % (color, tempdir, source, extracmdopts), watch=True) - except bb.process.ExecutionError as e: - if e.exitcode == 14: - if builtnpm: - raise DevtoolError('Re-running recipetool still failed to find npm') - # FIXME this is a horrible hack that is unfortunately - # necessary due to the fact that we can't run bitbake from - # inside recipetool since recipetool keeps tinfoil active - # with references to it throughout the code, so we have - # to exit out and come back here to do it. - ensure_npm(config, basepath, args.fixed_setup, check_exists=False) - logger.info('Re-running recipe creation process after building nodejs') - builtnpm = True - continue - elif e.exitcode == 15: - raise DevtoolError('Could not auto-determine recipe name, please specify it on the command line') - else: - raise DevtoolError('Command \'%s\' failed' % e.command) - break + try: + stdout, _ = exec_build_env_command(config.init_path, basepath, 'recipetool --color=%s create --devtool -o %s \'%s\' %s' % (color, tempdir, source, extracmdopts), watch=True) + except bb.process.ExecutionError as e: + if e.exitcode == 15: + raise DevtoolError('Could not auto-determine recipe name, please specify it on the command line') + else: + raise DevtoolError('Command \'%s\' failed' % e.command) recipes = glob.glob(os.path.join(tempdir, '*.bb')) if recipes: diff --git a/scripts/lib/recipetool/create.py b/scripts/lib/recipetool/create.py index 2a6a28b..359eb9a 100644 --- a/scripts/lib/recipetool/create.py +++ b/scripts/lib/recipetool/create.py @@ -1152,22 +1152,6 @@ def convert_rpm_xml(xmlfile): return values -def check_npm(tinfoil, debugonly=False): - try: - rd = tinfoil.parse_recipe('nodejs-native') - except bb.providers.NoProvider: - # We still conditionally show the message and exit with the special - # return code, otherwise we can't show the proper message for eSDK - # users - log_error_cond('nodejs-native is required for npm but is not available - you will likely need to add a layer that provides nodejs', debugonly) - sys.exit(14) - bindir = rd.getVar('STAGING_BINDIR_NATIVE') - npmpath = os.path.join(bindir, 'npm') - if not os.path.exists(npmpath): - log_error_cond('npm required to process specified source, but npm is not available - you need to run bitbake -c addto_recipe_sysroot nodejs-native first', debugonly) - sys.exit(14) - return bindir - def register_commands(subparsers): parser_create = subparsers.add_parser('create', help='Create a new recipe', @@ -1185,8 +1169,5 @@ def register_commands(subparsers): parser_create.add_argument('--keep-temp', action="store_true", help='Keep temporary directory (for debugging)') parser_create.add_argument('--fetch-dev', action="store_true", help='For npm, also fetch devDependencies') parser_create.add_argument('--devtool', action="store_true", help=argparse.SUPPRESS) - # FIXME I really hate having to set parserecipes for this, but given we may need - # to call into npm (and we don't know in advance if we will or not) and in order - # to do so we need to know npm's recipe sysroot path, there's not much alternative - parser_create.set_defaults(func=create_recipe, parserecipes=True) + parser_create.set_defaults(func=create_recipe) diff --git a/scripts/lib/recipetool/create_npm.py b/scripts/lib/recipetool/create_npm.py index ba7e39a..885d543 100644 --- a/scripts/lib/recipetool/create_npm.py +++ b/scripts/lib/recipetool/create_npm.py @@ -21,7 +21,7 @@ import subprocess import tempfile import shutil import json -from recipetool.create import RecipeHandler, split_pkg_licenses, handle_license_vars, check_npm +from recipetool.create import RecipeHandler, split_pkg_licenses, handle_license_vars logger = logging.getLogger('recipetool') @@ -36,6 +36,27 @@ def tinfoil_init(instance): class NpmRecipeHandler(RecipeHandler): lockdownpath = None + def _ensure_npm(self, fixed_setup=False): + if not tinfoil.recipes_parsed: + tinfoil.parse_recipes() + try: + rd = tinfoil.parse_recipe('nodejs-native') + except bb.providers.NoProvider: + if fixed_setup: + msg = 'nodejs-native is required for npm but is not available within this SDK' + else: + msg = 'nodejs-native is required for npm but is not available - you will likely need to add a layer that provides nodejs' + logger.error(msg) + return None + bindir = rd.getVar('STAGING_BINDIR_NATIVE') + npmpath = os.path.join(bindir, 'npm') + if not os.path.exists(npmpath): + tinfoil.build_targets('nodejs-native', 'addto_recipe_sysroot') + if not os.path.exists(npmpath): + logger.error('npm required to process specified source, but nodejs-native did not seem to populate it') + return None + return bindir + def _handle_license(self, data): ''' Handle the license value from an npm package.json file @@ -189,7 +210,9 @@ class NpmRecipeHandler(RecipeHandler): files = RecipeHandler.checkfiles(srctree, ['package.json']) if files: d = bb.data.createCopy(tinfoil.config_data) - npm_bindir = check_npm(tinfoil, self._devtool) + npm_bindir = self._ensure_npm() + if not npm_bindir: + sys.exit(14) d.prependVar('PATH', '%s:' % npm_bindir) data = read_package_json(files[0]) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 16:29:55 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 16:29:55 +0000 Subject: [oe-commits] [openembedded-core] 11/39: oeqa/eSDK: Ignore errors during directory cleanup In-Reply-To: <150056818468.11699.16758981017169458803@git.openembedded.org> References: <150056818468.11699.16758981017169458803@git.openembedded.org> Message-ID: <20170720162945.B9A3F23361E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 18f384fb38670bc290d9340972cf0d73637360a0 Author: Richard Purdie AuthorDate: Thu Jul 20 09:38:36 2017 +0100 oeqa/eSDK: Ignore errors during directory cleanup The cleanup can fail with: ERROR [0.000s]: tearDownClass (eSDK.oeSDKExtSelfTest) FileNotFoundError: [Errno 2] No such file or directory: 'bitbake.sock' which is due to bitbake taking a small amount of time to shut down the server. The easiest fix is just to ignore these kinds of errors, bitbake shouldn't create any new files during shutdown. Signed-off-by: Richard Purdie --- meta/lib/oeqa/selftest/cases/eSDK.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/lib/oeqa/selftest/cases/eSDK.py b/meta/lib/oeqa/selftest/cases/eSDK.py index f36c3cc..d03188f 100644 --- a/meta/lib/oeqa/selftest/cases/eSDK.py +++ b/meta/lib/oeqa/selftest/cases/eSDK.py @@ -93,7 +93,7 @@ SSTATE_MIRRORS = "file://.* file://%s/PATH" @classmethod def tearDownClass(cls): - shutil.rmtree(cls.tmpdir_eSDKQA) + shutil.rmtree(cls.tmpdir_eSDKQA, ignore_errors=True) super(oeSDKExtSelfTest, cls).tearDownClass() @OETestID(1602) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 16:29:57 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 16:29:57 +0000 Subject: [oe-commits] [openembedded-core] 13/39: selftest/cases/package: Call parent setUpClass method In-Reply-To: <150056818468.11699.16758981017169458803@git.openembedded.org> References: <150056818468.11699.16758981017169458803@git.openembedded.org> Message-ID: <20170720162945.CB0DD233620@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit eb7948a537db2f1bab3de2eba5272151ded88038 Author: An?bal Lim?n AuthorDate: Mon Jun 26 11:12:40 2017 -0500 selftest/cases/package: Call parent setUpClass method Since config paths are now passed in Test context the setUpClass method is expected to be call. Signed-off-by: An?bal Lim?n --- meta/lib/oeqa/selftest/cases/package.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/lib/oeqa/selftest/cases/package.py b/meta/lib/oeqa/selftest/cases/package.py index 5b9a6d1..169698f 100644 --- a/meta/lib/oeqa/selftest/cases/package.py +++ b/meta/lib/oeqa/selftest/cases/package.py @@ -17,6 +17,8 @@ class VersionOrdering(OESelftestTestCase): @classmethod def setUpClass(cls): + super().setUpClass() + # Build the tools we need and populate a sysroot bitbake("dpkg-native opkg-native rpm-native python3-native") bitbake("build-sysroots -c build_native_sysroot") -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 16:29:58 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 16:29:58 +0000 Subject: [oe-commits] [openembedded-core] 14/39: oeqa/selftest/{context, case}: Handle KeyboardInterrupt/SIGINT and SIGTERM In-Reply-To: <150056818468.11699.16758981017169458803@git.openembedded.org> References: <150056818468.11699.16758981017169458803@git.openembedded.org> Message-ID: <20170720162945.D30D0233621@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit d12b9e7c2dde19eed0f20e7c9c9db752c12e8c08 Author: An?bal Lim?n AuthorDate: Fri Jun 23 15:10:38 2017 -0500 oeqa/selftest/{context,case}: Handle KeyboardInterrupt/SIGINT and SIGTERM In order to avoid corrupt local.conf and bblayers.conf adds signal handler for SIGTERM and use try/finally (KeyboardIntrrupt) block to restore previously backuped configuration. [YOCTO #11650] Signed-off-by: An?bal Lim?n --- meta/lib/oeqa/selftest/case.py | 36 +++++++------ meta/lib/oeqa/selftest/context.py | 107 +++++++++++++++++++++++++++----------- 2 files changed, 97 insertions(+), 46 deletions(-) diff --git a/meta/lib/oeqa/selftest/case.py b/meta/lib/oeqa/selftest/case.py index 31a11fd..871009c 100644 --- a/meta/lib/oeqa/selftest/case.py +++ b/meta/lib/oeqa/selftest/case.py @@ -13,28 +13,34 @@ from oeqa.utils.commands import runCmd, bitbake, get_bb_var from oeqa.core.case import OETestCase class OESelftestTestCase(OETestCase): - builddir = os.environ.get("BUILDDIR") or "" - localconf_path = os.path.join(builddir, "conf/local.conf") - localconf_backup = os.path.join(builddir, "conf/local.bk") - testinc_path = os.path.join(builddir, "conf/selftest.inc") - local_bblayers_path = os.path.join(builddir, "conf/bblayers.conf") - local_bblayers_backup = os.path.join(builddir, "conf/bblayers.bk") - testinc_bblayers_path = os.path.join(builddir, "conf/bblayers.inc") - machineinc_path = os.path.join(builddir, "conf/machine.inc") - def __init__(self, methodName="runTest"): self._extra_tear_down_commands = [] - self._track_for_cleanup = [ - self.testinc_path, self.testinc_bblayers_path, - self.machineinc_path, self.localconf_backup, - self.local_bblayers_backup] - super(OESelftestTestCase, self).__init__(methodName) @classmethod def setUpClass(cls): super(OESelftestTestCase, cls).setUpClass() - cls.testlayer_path = cls.tc.testlayer_path + + cls.testlayer_path = cls.tc.config_paths['testlayer_path'] + cls.builddir = cls.tc.config_paths['builddir'] + + cls.localconf_path = cls.tc.config_paths['localconf'] + cls.localconf_backup = cls.tc.config_paths['localconf_class_backup'] + cls.local_bblayers_path = cls.tc.config_paths['bblayers'] + cls.local_bblayers_backup = cls.tc.config_paths['bblayers_class_backup'] + + cls.testinc_path = os.path.join(cls.tc.config_paths['builddir'], + "conf/selftest.inc") + cls.testinc_bblayers_path = os.path.join(cls.tc.config_paths['builddir'], + "conf/bblayers.inc") + cls.machineinc_path = os.path.join(cls.tc.config_paths['builddir'], + "conf/machine.inc") + + cls._track_for_cleanup = [ + cls.testinc_path, cls.testinc_bblayers_path, + cls.machineinc_path, cls.localconf_backup, + cls.local_bblayers_backup] + cls.add_include() @classmethod diff --git a/meta/lib/oeqa/selftest/context.py b/meta/lib/oeqa/selftest/context.py index ca87398..4575a05 100644 --- a/meta/lib/oeqa/selftest/context.py +++ b/meta/lib/oeqa/selftest/context.py @@ -6,6 +6,8 @@ import time import glob import sys import imp +import signal +from shutil import copyfile from random import choice import oeqa @@ -16,13 +18,12 @@ from oeqa.core.exception import OEQAPreRun from oeqa.utils.commands import runCmd, get_bb_vars, get_test_layer class OESelftestTestContext(OETestContext): - def __init__(self, td=None, logger=None, machines=None, testlayer_path=None): + def __init__(self, td=None, logger=None, machines=None, config_paths=None): super(OESelftestTestContext, self).__init__(td, logger) self.machines = machines self.custommachine = None - - self.testlayer_path = testlayer_path + self.config_paths = config_paths def runTests(self, machine=None): if machine: @@ -108,7 +109,29 @@ class OESelftestTestContextExecutor(OETestContextExecutor): self.tc_kwargs['init']['td'] = get_bb_vars() self.tc_kwargs['init']['machines'] = self._get_available_machines() - self.tc_kwargs['init']['testlayer_path'] = get_test_layer() + + builddir = os.environ.get("BUILDDIR") + self.tc_kwargs['init']['config_paths'] = {} + self.tc_kwargs['init']['config_paths']['testlayer_path'] = \ + get_test_layer() + self.tc_kwargs['init']['config_paths']['builddir'] = builddir + self.tc_kwargs['init']['config_paths']['localconf'] = \ + os.path.join(builddir, "conf/local.conf") + self.tc_kwargs['init']['config_paths']['localconf_backup'] = \ + os.path.join(builddir, "conf/local.conf.orig") + self.tc_kwargs['init']['config_paths']['localconf_class_backup'] = \ + os.path.join(builddir, "conf/local.conf.bk") + self.tc_kwargs['init']['config_paths']['bblayers'] = \ + os.path.join(builddir, "conf/bblayers.conf") + self.tc_kwargs['init']['config_paths']['bblayers_backup'] = \ + os.path.join(builddir, "conf/bblayers.conf.orig") + self.tc_kwargs['init']['config_paths']['bblayers_class_backup'] = \ + os.path.join(builddir, "conf/bblayers.conf.bk") + + copyfile(self.tc_kwargs['init']['config_paths']['localconf'], + self.tc_kwargs['init']['config_paths']['localconf_backup']) + copyfile(self.tc_kwargs['init']['config_paths']['bblayers'], + self.tc_kwargs['init']['config_paths']['bblayers_backup']) def _pre_run(self): def _check_required_env_variables(vars): @@ -131,7 +154,7 @@ class OESelftestTestContextExecutor(OETestContextExecutor): runCmd("bitbake-layers add-layer %s" %meta_selftestdir) # reload data is needed because a meta-selftest layer was add self.tc.td = get_bb_vars() - self.tc.testlayer_path = get_test_layer() + self.tc.config_paths['testlayer_path'] = get_test_layer() else: self.tc.logger.error("could not locate meta-selftest in:\n%s" % meta_selftestdir) raise OEQAPreRun @@ -184,41 +207,63 @@ class OESelftestTestContextExecutor(OETestContextExecutor): rc.logSummary(self.name) return rc + + def _signal_clean_handler(self, signum, frame): + sys.exit(1) def run(self, logger, args): self._process_args(logger, args) - rc = None - if args.machine: - logger.info('Custom machine mode enabled. MACHINE set to %s' % - args.machine) + signal.signal(signal.SIGTERM, self._signal_clean_handler) - if args.machine == 'all': - results = [] - for m in self.tc_kwargs['init']['machines']: - self.tc_kwargs['run']['machine'] = m - results.append(self._internal_run(logger, args)) + rc = None + try: + if args.machine: + logger.info('Custom machine mode enabled. MACHINE set to %s' % + args.machine) + + if args.machine == 'all': + results = [] + for m in self.tc_kwargs['init']['machines']: + self.tc_kwargs['run']['machine'] = m + results.append(self._internal_run(logger, args)) + + # XXX: the oe-selftest script only needs to know if one + # machine run fails + for r in results: + rc = r + if not r.wasSuccessful(): + break - # XXX: the oe-selftest script only needs to know if one - # machine run fails - for r in results: - rc = r - if not r.wasSuccessful(): - break + else: + self.tc_kwargs['run']['machine'] = args.machine + return self._internal_run(logger, args) else: self.tc_kwargs['run']['machine'] = args.machine - return self._internal_run(logger, args) - - else: - self.tc_kwargs['run']['machine'] = args.machine - rc = self._internal_run(logger, args) - - output_link = os.path.join(os.path.dirname(args.output_log), - "%s-results.log" % self.name) - if os.path.exists(output_link): - os.remove(output_link) - os.symlink(args.output_log, output_link) + rc = self._internal_run(logger, args) + finally: + config_paths = self.tc_kwargs['init']['config_paths'] + if os.path.exists(config_paths['localconf_backup']): + copyfile(config_paths['localconf_backup'], + config_paths['localconf']) + os.remove(config_paths['localconf_backup']) + + if os.path.exists(config_paths['bblayers_backup']): + copyfile(config_paths['bblayers_backup'], + config_paths['bblayers']) + os.remove(config_paths['bblayers_backup']) + + if os.path.exists(config_paths['localconf_class_backup']): + os.remove(config_paths['localconf_class_backup']) + if os.path.exists(config_paths['bblayers_class_backup']): + os.remove(config_paths['bblayers_class_backup']) + + output_link = os.path.join(os.path.dirname(args.output_log), + "%s-results.log" % self.name) + if os.path.exists(output_link): + os.remove(output_link) + os.symlink(args.output_log, output_link) return rc -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 16:29:59 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 16:29:59 +0000 Subject: [oe-commits] [openembedded-core] 15/39: oe/copy_buildsystem: check_sstate_task_list also pop BBPATH from env In-Reply-To: <150056818468.11699.16758981017169458803@git.openembedded.org> References: <150056818468.11699.16758981017169458803@git.openembedded.org> Message-ID: <20170720162945.DC209233613@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit eb561f75f0a56ca68d052ab14b150e72b629c76c Author: An?bal Lim?n AuthorDate: Thu Jun 29 14:48:24 2017 -0700 oe/copy_buildsystem: check_sstate_task_list also pop BBPATH from env The BBPATH environment could be set and can make a failure when try to build an extensible sdk because it will look the bitbake.lock file in the original build folder. Example: $ export BBPATH=`pwd` $ bitbake core-image-minimal -c populate_sdk_ext ERROR: bitbake failed: ERROR: Only one copy of bitbake should be run against a build directory ERROR: core-image-minimal-1.0-r0 do_populate_sdk_ext: Function failed: copy_buildsystem Signed-off-by: An?bal Lim?n --- meta/lib/oe/copy_buildsystem.py | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/lib/oe/copy_buildsystem.py b/meta/lib/oe/copy_buildsystem.py index a372904..dd506a3 100644 --- a/meta/lib/oe/copy_buildsystem.py +++ b/meta/lib/oe/copy_buildsystem.py @@ -239,6 +239,7 @@ def check_sstate_task_list(d, targets, filteroutfile, cmdprefix='', cwd=None, lo cmd = "%sBB_SETSCENE_ENFORCE=1 PSEUDO_DISABLED=1 oe-check-sstate %s -s -o %s %s" % (cmdprefix, targets, filteroutfile, logparam) env = dict(d.getVar('BB_ORIGENV', False)) env.pop('BUILDDIR', '') + env.pop('BBPATH', '') pathitems = env['PATH'].split(':') env['PATH'] = ':'.join([item for item in pathitems if not item.endswith('/bitbake/bin')]) bb.process.run(cmd, stderr=subprocess.STDOUT, env=env, cwd=cwd, executable='/bin/bash') -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 16:29:56 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 16:29:56 +0000 Subject: [oe-commits] [openembedded-core] 12/39: oeqa/core/loader: Generate function _make_failed_test dynamically In-Reply-To: <150056818468.11699.16758981017169458803@git.openembedded.org> References: <150056818468.11699.16758981017169458803@git.openembedded.org> Message-ID: <20170720162945.C343923361F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit e7eba42007e9c5fb44e3db5bafa78cb6c877f3b8 Author: An?bal Lim?n AuthorDate: Thu Jun 29 15:02:14 2017 -0500 oeqa/core/loader: Generate function _make_failed_test dynamically Python versions has different features from branches 3.4.x, 3.5.x and 3.6.x, i expected in wrong mode that was incremental for example changes in 3.4.4 be in 3.5.x but that's not true. The _make_failed_test internal method differs and is only available in certain versions >= 3.4.4 and in 3.5.x and 3.6.x branches but not realeses have been made including it. So to avoid futher problems inspect the _make_failed_test and generates function definition according what parameters are needed, the unique supossition is that exception argument is always passed. Related to, http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=d8380d098a290510b442a7abd2dd5a50cabf5844 Signed-off-by: An?bal Lim?n --- meta/lib/oeqa/core/loader.py | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/meta/lib/oeqa/core/loader.py b/meta/lib/oeqa/core/loader.py index 80e3d28..e4c218b 100644 --- a/meta/lib/oeqa/core/loader.py +++ b/meta/lib/oeqa/core/loader.py @@ -4,6 +4,7 @@ import os import sys import unittest +import inspect from oeqa.core.utils.path import findFile from oeqa.core.utils.test import getSuiteModules, getCaseID @@ -12,19 +13,17 @@ from oeqa.core.case import OETestCase from oeqa.core.decorator import decoratorClasses, OETestDecorator, \ OETestFilter, OETestDiscover -if sys.version_info >= (3,4,4): - def _make_failed_test(classname, methodname, exception, suiteClass): - """ - When loading tests, the unittest framework stores any exceptions and - displays them only when the 'run' method is called. - - For our purposes, it is better to raise the exceptions in the loading - step rather than waiting to run the test suite. - """ - raise exception -else: - def _make_failed_test(classname, exception, suiteClass): - raise exception +# When loading tests, the unittest framework stores any exceptions and +# displays them only when the run method is called. +# +# For our purposes, it is better to raise the exceptions in the loading +# step rather than waiting to run the test suite. +# +# Generate the function definition because this differ across python versions +# Python >= 3.4.4 uses tree parameters instead four but for example Python 3.5.3 +# ueses four parameters so isn't incremental. +_failed_test_args = inspect.getargspec(unittest.loader._make_failed_test).args +exec("""def _make_failed_test(%s): raise exception""" % ', '.join(_failed_test_args)) unittest.loader._make_failed_test = _make_failed_test def _find_duplicated_modules(suite, directory): -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 16:30:08 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 16:30:08 +0000 Subject: [oe-commits] [openembedded-core] 24/39: oeqa/selftest/case: Support bitbake memres mode in per build directory In-Reply-To: <150056818468.11699.16758981017169458803@git.openembedded.org> References: <150056818468.11699.16758981017169458803@git.openembedded.org> Message-ID: <20170720162946.403EF233636@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit e793f0577438514f342e8b27eae5cb731981d33b Author: An?bal Lim?n AuthorDate: Wed Jun 28 15:37:39 2017 -0500 oeqa/selftest/case: Support bitbake memres mode in per build directory If BBSERVER is set on the environment the bitbake is set to be used as a memres, so starts an bitbake server per TestClass. Signed-off-by: An?bal Lim?n --- meta/lib/oeqa/selftest/case.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/meta/lib/oeqa/selftest/case.py b/meta/lib/oeqa/selftest/case.py index c210324..cacd6be 100644 --- a/meta/lib/oeqa/selftest/case.py +++ b/meta/lib/oeqa/selftest/case.py @@ -98,6 +98,12 @@ class OESelftestTestCase(OETestCase): cls.runCmd("git init; git add *; git commit -a -m 'initial'", cwd=cls.testlayer_path) + if cls._use_own_builddir and 'BBSERVER' in os.environ: + env = os.environ.copy() + del env['BBSERVER'] + result = cls.runCmd('bitbake --server-only -t xmlrpc -B localhost:-1', + env=env) + # XXX: sometimes meta-selftest isn't on bblayers at first backup try: cls.runCmd("bitbake-layers remove-layer %s" % cls.orig_testlayer_path) @@ -120,6 +126,9 @@ class OESelftestTestCase(OETestCase): @classmethod def tearDownClass(cls): + if cls._use_own_builddir and 'BBSERVER' in os.environ: + cls.runCmd('bitbake --kill-server') + cls.remove_include() cls.remove_inc_files() super(OESelftestTestCase, cls).tearDownClass() -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 16:30:00 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 16:30:00 +0000 Subject: [oe-commits] [openembedded-core] 16/39: oeqa/core/threaded: Enable support to use the main thread In-Reply-To: <150056818468.11699.16758981017169458803@git.openembedded.org> References: <150056818468.11699.16758981017169458803@git.openembedded.org> Message-ID: <20170720162945.E6FE8233622@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 9fe2da084c5ac48ff45cf7ee19aa32e723f60fd8 Author: An?bal Lim?n AuthorDate: Mon Jun 12 16:45:34 2017 -0500 oeqa/core/threaded: Enable support to use the main thread Some test cases needs to be executed by the main thread for several resons, this implmentation enables usage of the main thread to execute suites. The rules are if some test case request by test class attr _main_thread it will be executed, if no tests are scheduled to be executed into the main thread the algorithm with take the first suite in the pool, finallay this will avoid thread usage if only one suite needs to be executed. Signed-off-by: An?bal Lim?n --- meta/lib/oeqa/core/threaded.py | 104 ++++++++++++++++++++++++++++++++--------- 1 file changed, 83 insertions(+), 21 deletions(-) diff --git a/meta/lib/oeqa/core/threaded.py b/meta/lib/oeqa/core/threaded.py index 2cafe03..34217f1 100644 --- a/meta/lib/oeqa/core/threaded.py +++ b/meta/lib/oeqa/core/threaded.py @@ -27,9 +27,42 @@ class OETestLoaderThreaded(OETestLoader): self.process_num = min(multiprocessing.cpu_count(), len(suite._tests)) - suites = [] - for _ in range(self.process_num): - suites.append(self.suiteClass()) + suites = {} + suites['main'] = self.suiteClass() + suites['pool'] = [] + for _ in range(self.process_num - 1): + suites['pool'].append(self.suiteClass()) + + def _add_to_main_thread(main_suite, case, depends): + """ + Some test cases needs to be run into the main + thread for several resons. + + A test case that needs to run in the main thread + can be for specific set via test class _main_thread + attr or because is on the same module or for a dependency + reason. + """ + + if hasattr(case.__class__, '_main_thread') and \ + case.__class__._main_thread or \ + self.process_num == 1: + main_suite.addTest(case) + return True + + for c in main_suite._tests: + if case.__module__ == c.__module__: + main_suite.addTest(case) + return True + + if case.id() in depends: + case_depends = depends[case.id()] + for c in main_suite._tests: + if c.id() in case_depends: + main_suite.addTest(case) + return True + + return False def _search_for_module_idx(suites, case): """ @@ -37,8 +70,7 @@ class OETestLoaderThreaded(OETestLoader): in the same thread because PyUnit keeps track of setUp{Module, Class,} and tearDown{Module, Class,}. """ - - for idx in range(self.process_num): + for idx in range(self.process_num - 1): suite = suites[idx] for c in suite._tests: if case.__module__ == c.__module__: @@ -53,7 +85,7 @@ class OETestLoaderThreaded(OETestLoader): of dependant test to figure out if skip or not. """ - for idx in range(self.process_num): + for idx in range(self.process_num - 1): suite = suites[idx] for case in suite._tests: @@ -62,6 +94,11 @@ class OETestLoaderThreaded(OETestLoader): return -1 def _get_best_idx(suites): + """ + The best index is selected to the suite that has + minor test cases to run. + """ + sizes = [len(suite._tests) for suite in suites] return sizes.index(min(sizes)) @@ -71,27 +108,35 @@ class OETestLoaderThreaded(OETestLoader): if isinstance(case, TestSuite): _fill_suites(case) else: - idx = _search_for_module_idx(suites, case) - depends = {} if 'depends' in self.tc._registry: depends = self.tc._registry['depends'] + if _add_to_main_thread(suites['main'], case, depends): + continue + + # Get the best index in the suite pool to add the case + idx = _search_for_module_idx(suites['pool'], case) if idx == -1 and case.id() in depends: case_depends = depends[case.id()] - idx = _search_for_depend_idx(suites, case_depends) - + idx = _search_for_depend_idx(suites['pool'], case_depends) if idx == -1: - idx = _get_best_idx(suites) + idx = _get_best_idx(suites['pool']) + suites['pool'][idx].addTest(case) - suites[idx].addTest(case) _fill_suites(suite) - suites_tmp = suites - suites = [] + # clean suites in pool without test cases + suites_tmp = suites['pool'] + suites['pool'] = [] for suite in suites_tmp: if len(suite._tests) > 0: - suites.append(suite) + suites['pool'].append(suite) + + # if the main suite doesn't have test cases + # use the first element of the suites pool + if not len(suites['main']._tests): + suites['main'] = suites['pool'].pop(0) return suites @@ -251,16 +296,33 @@ class OETestRunnerThreaded(OETestRunner): def run(self, suites): result = OETestResultThreaded(self.tc) - pool = _ThreadedPool(len(suites), len(suites), stream=self.stream, - result=result) - for s in suites: - pool.add_task(super(OETestRunnerThreaded, self).run, s) - pool.start() - pool.wait_completion() + pool = None + if suites['pool']: + thread_no = len(suites['pool']) + pool = _ThreadedPool(thread_no, thread_no, stream=self.stream, + result=result) + for s in suites['pool']: + pool.add_task(super(OETestRunnerThreaded, self).run, s) + pool.start() + + run_start_time = time.time() + rc = super(OETestRunnerThreaded, self).run(suites['main']) + run_end_time = time.time() + result.addResult(rc, run_start_time, run_end_time) + self.stream.finish() + + if pool: + pool.wait_completion() result._fill_tc_results() return result + def list_tests(self, suite, display_type): + suite['pool'].insert(0, suite['main']) + + return super(OETestRunnerThreaded, self).list_tests( + suite['pool'], display_type) + class OETestContextThreaded(OETestContext): loaderClass = OETestLoaderThreaded runnerClass = OETestRunnerThreaded -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 16:30:01 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 16:30:01 +0000 Subject: [oe-commits] [openembedded-core] 17/39: oeqa/core/threaded: Add support to run into a thread at end of execution In-Reply-To: <150056818468.11699.16758981017169458803@git.openembedded.org> References: <150056818468.11699.16758981017169458803@git.openembedded.org> Message-ID: <20170720162945.F0C61233612@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 5af0e8a2549b37ce1a4aea1c5e01ba8e17869e96 Author: An?bal Lim?n AuthorDate: Thu Jul 6 10:38:12 2017 -0500 oeqa/core/threaded: Add support to run into a thread at end of execution Some test cases aren't allowed to run into a multi-thread environment so add the posibility to run those tests at end of execution. Signed-off-by: An?bal Lim?n --- meta/lib/oeqa/core/threaded.py | 102 +++++++++++++++++++++++++++++++---------- 1 file changed, 78 insertions(+), 24 deletions(-) diff --git a/meta/lib/oeqa/core/threaded.py b/meta/lib/oeqa/core/threaded.py index 34217f1..a7dc0ae 100644 --- a/meta/lib/oeqa/core/threaded.py +++ b/meta/lib/oeqa/core/threaded.py @@ -30,18 +30,35 @@ class OETestLoaderThreaded(OETestLoader): suites = {} suites['main'] = self.suiteClass() suites['pool'] = [] + suites['end'] = self.suiteClass() for _ in range(self.process_num - 1): suites['pool'].append(self.suiteClass()) + def _add_by_module_or_dep(suite, case, depends): + """ + A test case that needs to run into the same thread + because is on the same module or for dependency + reasons. + """ + + for c in suite._tests: + if case.__module__ == c.__module__: + suite.addTest(case) + return True + + if case.id() in depends: + case_depends = depends[case.id()] + for c in suite._tests: + if c.id() in case_depends: + suite.addTest(case) + return True + + return False + def _add_to_main_thread(main_suite, case, depends): """ Some test cases needs to be run into the main - thread for several resons. - - A test case that needs to run in the main thread - can be for specific set via test class _main_thread - attr or because is on the same module or for a dependency - reason. + thread by request. """ if hasattr(case.__class__, '_main_thread') and \ @@ -50,19 +67,20 @@ class OETestLoaderThreaded(OETestLoader): main_suite.addTest(case) return True - for c in main_suite._tests: - if case.__module__ == c.__module__: - main_suite.addTest(case) - return True + return _add_by_module_or_dep(main_suite, case, depends) - if case.id() in depends: - case_depends = depends[case.id()] - for c in main_suite._tests: - if c.id() in case_depends: - main_suite.addTest(case) - return True + def _add_to_end_thread(end_suite, case, depends): + """ + Some test cases needs to be run into at end of + execution into the main by request. + """ + if hasattr(case.__class__, '_end_thread') and \ + case.__class__._end_thread or \ + self.process_num == 1: + end_suite.addTest(case) + return True - return False + return _add_by_module_or_dep(end_suite, case, depends) def _search_for_module_idx(suites, case): """ @@ -112,6 +130,9 @@ class OETestLoaderThreaded(OETestLoader): if 'depends' in self.tc._registry: depends = self.tc._registry['depends'] + if _add_to_end_thread(suites['end'], case, depends): + continue + if _add_to_main_thread(suites['main'], case, depends): continue @@ -135,7 +156,7 @@ class OETestLoaderThreaded(OETestLoader): # if the main suite doesn't have test cases # use the first element of the suites pool - if not len(suites['main']._tests): + if not len(suites['main']._tests) and len(suites['pool']): suites['main'] = suites['pool'].pop(0) return suites @@ -268,6 +289,12 @@ class _ThreadedPool: self.tasks = queue.Queue(num_tasks) self.workers = [] + self.stream = stream + self.result = result + + self.end_task = None + self.end_worker = None + for _ in range(num_workers): worker = _Worker(self.tasks, result, stream) self.workers.append(worker) @@ -280,12 +307,25 @@ class _ThreadedPool: """Add a task to the queue""" self.tasks.put((func, args, kargs)) + def add_end_task(self, func, *args, **kwargs): + """Add a task to be executed at end""" + + self.end_task = queue.Queue(1) + self.end_task.put((func, args, kwargs)) + self.end_worker = _Worker(self.end_task, self.result, + self.stream) + def wait_completion(self): """Wait for completion of all the tasks in the queue""" self.tasks.join() for worker in self.workers: worker.join() + if self.end_task: + self.end_worker.start() + self.end_task.join() + self.end_worker.join() + class OETestRunnerThreaded(OETestRunner): streamLoggerClass = OEStreamLoggerThreaded @@ -293,32 +333,46 @@ class OETestRunnerThreaded(OETestRunner): super(OETestRunnerThreaded, self).__init__(tc, *args, **kwargs) self.resultclass = OETestResultThreadedInternal # XXX: XML reporting overrides at __init__ + def _run_main_thread(self, suite, result): + if len(suite._tests): + run_start_time = time.time() + rc = super(OETestRunnerThreaded, self).run(suite) + run_end_time = time.time() + result.addResult(rc, run_start_time, run_end_time) + self.stream.finish() + def run(self, suites): result = OETestResultThreaded(self.tc) pool = None + if suites['pool']: thread_no = len(suites['pool']) pool = _ThreadedPool(thread_no, thread_no, stream=self.stream, result=result) for s in suites['pool']: pool.add_task(super(OETestRunnerThreaded, self).run, s) - pool.start() - run_start_time = time.time() - rc = super(OETestRunnerThreaded, self).run(suites['main']) - run_end_time = time.time() - result.addResult(rc, run_start_time, run_end_time) - self.stream.finish() + if len(suites['end']._tests): + if not pool: + pool = _ThreadedPool(0, 0, stream=self.stream, + result=result) + pool.add_end_task(super(OETestRunnerThreaded, self).run, + suites['end']) if pool: + pool.start() + self._run_main_thread(suites['main'], result) + if pool: pool.wait_completion() + result._fill_tc_results() return result def list_tests(self, suite, display_type): suite['pool'].insert(0, suite['main']) + suite['pool'].append(suite['end']) return super(OETestRunnerThreaded, self).list_tests( suite['pool'], display_type) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 16:30:05 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 16:30:05 +0000 Subject: [oe-commits] [openembedded-core] 21/39: oeqa/selftest/case: Add wrappers to utils.commands modules In-Reply-To: <150056818468.11699.16758981017169458803@git.openembedded.org> References: <150056818468.11699.16758981017169458803@git.openembedded.org> Message-ID: <20170720162946.26D04233616@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 57d60edb7bb57d89cb7f5a06f9f1025cd733a471 Author: An?bal Lim?n AuthorDate: Tue May 30 14:45:15 2017 -0500 oeqa/selftest/case: Add wrappers to utils.commands modules This wrappers are for be able to use a custom build directory per Test class, there is a function to modify the environment setting BUILDDIR, BBPATH and CWD. The oeqa.utils.commands module could be removed when other selftests (refkit, etc) are adapted to use this wrappers methods (get_bb_var{,s}, bitbake, runCmd). The remaining command (oeqa.utils) to provide a wrapper is runqemu, this has other issue because bitbake/tinfoil are expected to run into the main thread (signal handling, etc). Signed-off-by: An?bal Lim?n --- meta/lib/oeqa/selftest/case.py | 96 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 94 insertions(+), 2 deletions(-) diff --git a/meta/lib/oeqa/selftest/case.py b/meta/lib/oeqa/selftest/case.py index a2d4bed..2eec382 100644 --- a/meta/lib/oeqa/selftest/case.py +++ b/meta/lib/oeqa/selftest/case.py @@ -6,10 +6,11 @@ import os import shutil import glob import errno +import re from unittest.util import safe_repr import oeqa.utils.ftools as ftools -from oeqa.utils.commands import runCmd, bitbake, get_bb_var +from oeqa.utils.commands import runCmd, bitbake, get_bb_env, get_bb_var, get_bb_vars from oeqa.core.case import OETestCase class OESelftestTestCase(OETestCase): @@ -201,7 +202,7 @@ to ensure accurate results.") if self._extra_tear_down_commands: failed_extra_commands = [] for command in self._extra_tear_down_commands: - result = runCmd(command, ignore_status=True) + result = self.runCmd(command, ignore_status=True) if not result.status == 0: failed_extra_commands.append(command) if failed_extra_commands: @@ -317,3 +318,94 @@ to ensure accurate results.") msg = self._formatMessage(msg, "%s exists when it should not" % safe_repr(expr)) raise self.failureException(msg) + + # utils commands to run on it's on builddir + @classmethod + def _env_own_builddir(cls, **kwargs): + env = None + + if 'env' in kwargs: + env = kwargs['env'] + + if not 'BUILDDIR' in env: + env['BUILDDIR'] = cls.builddir + if not 'BBPATH' in env: + env['BBPATH'] = cls.builddir + + else: + env = os.environ.copy() + env['BUILDDIR'] = cls.builddir + env['BBPATH'] = cls.builddir + + kwargs['env'] = env + + # XXX: tinfoil doesn't honor BBPATH bblayers and tinfoil test + # modules uses it + if not 'cwd' in kwargs: + kwargs['cwd'] = cls.builddir + + # XXX: uncomment for debugging purposes + #kwargs['output_log'] = cls.logger + + return kwargs + + @classmethod + def runCmd(cls, *args, **kwargs): + kwargs = cls._env_own_builddir(**kwargs) + return runCmd(*args, **kwargs) + + @classmethod + def bitbake(cls, *args, **kwargs): + kwargs = cls._env_own_builddir(**kwargs) + return bitbake(*args, **kwargs) + + @classmethod + def get_bb_env(cls, target=None, postconfig=None): + if target: + return cls.bitbake("-e %s" % target, postconfig=postconfig).output + else: + return cls.bitbake("-e", postconfig=postconfig).output + + @classmethod + def get_bb_vars(cls, variables=None, target=None, postconfig=None): + """Get values of multiple bitbake variables""" + bbenv = cls.get_bb_env(target, postconfig=postconfig) + + if variables is not None: + variables = variables.copy() + var_re = re.compile(r'^(export )?(?P\w+(_.*)?)="(?P.*)"$') + unset_re = re.compile(r'^unset (?P\w+)$') + lastline = None + values = {} + for line in bbenv.splitlines(): + match = var_re.match(line) + val = None + if match: + val = match.group('value') + else: + match = unset_re.match(line) + if match: + # Handle [unexport] variables + if lastline.startswith('# "'): + val = lastline.split('"')[1] + if val: + var = match.group('var') + if variables is None: + values[var] = val + else: + if var in variables: + values[var] = val + variables.remove(var) + # Stop after all required variables have been found + if not variables: + break + lastline = line + if variables: + # Fill in missing values + for var in variables: + values[var] = None + return values + + @classmethod + def get_bb_var(cls, var, target=None, postconfig=None): + return cls.get_bb_vars([var], target, postconfig)[var] -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 16:30:02 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 16:30:02 +0000 Subject: [oe-commits] [openembedded-core] 18/39: oeqa/core/threaded: logSummary add skipped tests info In-Reply-To: <150056818468.11699.16758981017169458803@git.openembedded.org> References: <150056818468.11699.16758981017169458803@git.openembedded.org> Message-ID: <20170720162946.07F5F233614@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 678fe6b4aa615b807fd5ccca8004e65caafeb7f9 Author: An?bal Lim?n AuthorDate: Tue Jul 11 08:04:08 2017 -0700 oeqa/core/threaded: logSummary add skipped tests info Signed-off-by: An?bal Lim?n --- meta/lib/oeqa/core/threaded.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/meta/lib/oeqa/core/threaded.py b/meta/lib/oeqa/core/threaded.py index a7dc0ae..022c9ac 100644 --- a/meta/lib/oeqa/core/threaded.py +++ b/meta/lib/oeqa/core/threaded.py @@ -234,6 +234,14 @@ class OETestResultThreaded(object): self._results[tid]['result'].wasSuccessful() return wasSuccessful + def getSkippedTests(self): + skipped = 0 + + for tid in self._results.keys(): + skipped = skipped + len(self.tc._results[tid]['skipped']) + + return skipped + def stop(self): for tid in self._results.keys(): self._results[tid]['result'].stop() @@ -248,6 +256,9 @@ class OETestResultThreaded(object): msg = "%s - OK - All required tests passed" % component else: msg = "%s - FAIL - Required tests failed" % component + skipped = self.getSkippedTests() + if skipped: + msg += " (skipped=%d)" % skipped self.tc.logger.info(msg) def logDetails(self): -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 16:30:03 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 16:30:03 +0000 Subject: [oe-commits] [openembedded-core] 19/39: oeqa/core/tests: Update test_loader threaded to cover main thread usage In-Reply-To: <150056818468.11699.16758981017169458803@git.openembedded.org> References: <150056818468.11699.16758981017169458803@git.openembedded.org> Message-ID: <20170720162946.12DEF233623@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 7d0c70afd0f7944dcaf440c35bbde2ea8adb03d3 Author: An?bal Lim?n AuthorDate: Tue Jun 27 13:41:28 2017 -0700 oeqa/core/tests: Update test_loader threaded to cover main thread usage Signed-off-by: An?bal Lim?n --- meta/lib/oeqa/core/tests/test_loader.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/meta/lib/oeqa/core/tests/test_loader.py b/meta/lib/oeqa/core/tests/test_loader.py index e0d917d..c4d5eeb 100755 --- a/meta/lib/oeqa/core/tests/test_loader.py +++ b/meta/lib/oeqa/core/tests/test_loader.py @@ -88,25 +88,28 @@ class TestLoader(TestBase): self.cases_path = [os.path.join(self.cases_path, 'loader', 'threaded')] tc = self._testLoaderThreaded() - self.assertEqual(len(tc.suites), 3, "Expected to be 3 suites") + self.assertTrue(len(tc.suites['main']._tests), + "Expected to have tests in main suite") + self.assertEqual(len(tc.suites['pool']), 2, + "Expected to be 2 suites in pool") case_ids = ['threaded.ThreadedTest.test_threaded_no_depends', 'threaded.ThreadedTest2.test_threaded_same_module', 'threaded_depends.ThreadedTest3.test_threaded_depends'] - for case in tc.suites[0]._tests: + for case in tc.suites['main']._tests: self.assertEqual(case.id(), - case_ids[tc.suites[0]._tests.index(case)]) + case_ids[tc.suites['main']._tests.index(case)]) case_ids = ['threaded_alone.ThreadedTestAlone.test_threaded_alone'] - for case in tc.suites[1]._tests: + for case in tc.suites['pool'][0]._tests: self.assertEqual(case.id(), - case_ids[tc.suites[1]._tests.index(case)]) + case_ids[tc.suites['pool'][0]._tests.index(case)]) case_ids = ['threaded_module.ThreadedTestModule.test_threaded_module', 'threaded_module.ThreadedTestModule2.test_threaded_module2'] - for case in tc.suites[2]._tests: + for case in tc.suites['pool'][1]._tests: self.assertEqual(case.id(), - case_ids[tc.suites[2]._tests.index(case)]) + case_ids[tc.suites['pool'][1]._tests.index(case)]) self.cases_path = cases_path -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 16:30:06 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 16:30:06 +0000 Subject: [oe-commits] [openembedded-core] 22/39: oeqa/selftest/case: Creates meta-selftest layer per class In-Reply-To: <150056818468.11699.16758981017169458803@git.openembedded.org> References: <150056818468.11699.16758981017169458803@git.openembedded.org> Message-ID: <20170720162946.2EDF4233624@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit b9c59dcbd25f90a6dbf07d679e380cb4dc767b2d Author: An?bal Lim?n AuthorDate: Fri Jun 9 13:17:57 2017 -0700 oeqa/selftest/case: Creates meta-selftest layer per class The meta-selftest layer is used by test cases to modify meta data but in a threaded environment two test cases can modify the meta data causing errors because the signatures will change. Signed-off-by: An?bal Lim?n --- meta/lib/oeqa/selftest/case.py | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/meta/lib/oeqa/selftest/case.py b/meta/lib/oeqa/selftest/case.py index 2eec382..36f0437 100644 --- a/meta/lib/oeqa/selftest/case.py +++ b/meta/lib/oeqa/selftest/case.py @@ -7,6 +7,7 @@ import shutil import glob import errno import re +import subprocess from unittest.util import safe_repr import oeqa.utils.ftools as ftools @@ -24,6 +25,8 @@ class OESelftestTestCase(OETestCase): @classmethod def _setUpBuildDir(cls): + cls.orig_testlayer_path = cls.tc.config_paths['testlayer_path'] + if cls._use_own_builddir: cls.builddir = os.path.join(cls.tc.config_paths['base_builddir'], cls.__module__, cls.__name__) @@ -35,14 +38,23 @@ class OESelftestTestCase(OETestCase): "conf/bblayers.conf") cls.local_bblayers_backup = os.path.join(cls.builddir, "conf/bblayers.conf.bk") + + cls.base_testlayer_path = os.path.join(cls.builddir, + 'layers') + cls.testlayer_path = os.path.join(cls.base_testlayer_path, + os.path.basename(cls.orig_testlayer_path)) else: cls.builddir = cls.tc.config_paths['builddir'] + cls.localconf_path = cls.tc.config_paths['localconf'] cls.localconf_backup = cls.tc.config_paths['localconf_class_backup'] cls.local_bblayers_path = cls.tc.config_paths['bblayers'] cls.local_bblayers_backup = \ cls.tc.config_paths['bblayers_class_backup'] + cls.base_testlayer_path = os.path.dirname(cls.orig_testlayer_path) + cls.testlayer_path = cls.orig_testlayer_path + cls.testinc_path = os.path.join(cls.builddir, "conf/selftest.inc") cls.testinc_bblayers_path = os.path.join(cls.builddir, "conf/bblayers.inc") @@ -79,11 +91,24 @@ class OESelftestTestCase(OETestCase): ftools.append_file(cls.localconf_path, "PARALLEL_MAKE?=\"-j %d\"" % cls.tc.loader.process_num) + # copy meta-selftest per class to avoid races when changing meta-data + # and init git repository because some tests review the repo status + os.makedirs(cls.base_testlayer_path) + shutil.copytree(cls.orig_testlayer_path, cls.testlayer_path) + cls.runCmd("git init; git add *; git commit -a -m 'initial'", + cwd=cls.testlayer_path) + + # XXX: sometimes meta-selftest isn't on bblayers at first backup + try: + cls.runCmd("bitbake-layers remove-layer %s" % cls.orig_testlayer_path) + except: + pass + cls.runCmd("bitbake-layers add-layer %s" % cls.testlayer_path) + @classmethod def setUpClass(cls): super(OESelftestTestCase, cls).setUpClass() - cls.testlayer_path = cls.tc.config_paths['testlayer_path'] cls._setUpBuildDir() cls._track_for_cleanup = [ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 16:30:12 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 16:30:12 +0000 Subject: [oe-commits] [openembedded-core] 28/39: oeqa/selftest/cases: imagefeatures enable threaded runs In-Reply-To: <150056818468.11699.16758981017169458803@git.openembedded.org> References: <150056818468.11699.16758981017169458803@git.openembedded.org> Message-ID: <20170720162946.6BD80233617@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 46bc86686659416ec39db87ed05698ad0606076e Author: An?bal Lim?n AuthorDate: Tue Jun 13 15:20:10 2017 -0500 oeqa/selftest/cases: imagefeatures enable threaded runs - Change to use wrapper methos from OESelfTestCase. - Move tests that use runqemu to its own module because it needs tinfoil and run in the main thread. Signed-off-by: An?bal Lim?n --- meta/lib/oeqa/selftest/cases/imagefeatures.py | 86 ++++------------------ meta/lib/oeqa/selftest/cases/imagefeatures_boot.py | 63 ++++++++++++++++ 2 files changed, 77 insertions(+), 72 deletions(-) diff --git a/meta/lib/oeqa/selftest/cases/imagefeatures.py b/meta/lib/oeqa/selftest/cases/imagefeatures.py index 91d8e9b..31622b1 100644 --- a/meta/lib/oeqa/selftest/cases/imagefeatures.py +++ b/meta/lib/oeqa/selftest/cases/imagefeatures.py @@ -1,69 +1,11 @@ +import os + from oeqa.selftest.case import OESelftestTestCase -from oeqa.utils.commands import runCmd, bitbake, get_bb_var, runqemu from oeqa.core.decorator.oeid import OETestID -from oeqa.utils.sshcontrol import SSHControl -import os class ImageFeatures(OESelftestTestCase): - - test_user = 'tester' - root_user = 'root' - - @OETestID(1107) - def test_non_root_user_can_connect_via_ssh_without_password(self): - """ - Summary: Check if non root user can connect via ssh without password - Expected: 1. Connection to the image via ssh using root user without providing a password should be allowed. - 2. Connection to the image via ssh using tester user without providing a password should be allowed. - Product: oe-core - Author: Ionut Chisanovici - AutomatedBy: Daniel Istrate - """ - - features = 'EXTRA_IMAGE_FEATURES = "ssh-server-openssh empty-root-password allow-empty-password"\n' - features += 'INHERIT += "extrausers"\n' - features += 'EXTRA_USERS_PARAMS = "useradd -p \'\' {}; usermod -s /bin/sh {};"'.format(self.test_user, self.test_user) - self.write_config(features) - - # Build a core-image-minimal - bitbake('core-image-minimal') - - with runqemu("core-image-minimal") as qemu: - # Attempt to ssh with each user into qemu with empty password - for user in [self.root_user, self.test_user]: - ssh = SSHControl(ip=qemu.ip, logfile=qemu.sshlog, user=user) - status, output = ssh.run("true") - self.assertEqual(status, 0, 'ssh to user %s failed with %s' % (user, output)) - - @OETestID(1115) - def test_all_users_can_connect_via_ssh_without_password(self): - """ - Summary: Check if all users can connect via ssh without password - Expected: 1. Connection to the image via ssh using root user without providing a password should NOT be allowed. - 2. Connection to the image via ssh using tester user without providing a password should be allowed. - Product: oe-core - Author: Ionut Chisanovici - AutomatedBy: Daniel Istrate - """ - - features = 'EXTRA_IMAGE_FEATURES = "ssh-server-openssh allow-empty-password"\n' - features += 'INHERIT += "extrausers"\n' - features += 'EXTRA_USERS_PARAMS = "useradd -p \'\' {}; usermod -s /bin/sh {};"'.format(self.test_user, self.test_user) - self.write_config(features) - - # Build a core-image-minimal - bitbake('core-image-minimal') - - with runqemu("core-image-minimal") as qemu: - # Attempt to ssh with each user into qemu with empty password - for user in [self.root_user, self.test_user]: - ssh = SSHControl(ip=qemu.ip, logfile=qemu.sshlog, user=user) - status, output = ssh.run("true") - if user == 'root': - self.assertNotEqual(status, 0, 'ssh to user root was allowed when it should not have been') - else: - self.assertEqual(status, 0, 'ssh to user tester failed with %s' % output) - + _use_own_builddir = True + _main_thread = False @OETestID(1116) def test_clutter_image_can_be_built(self): @@ -76,7 +18,7 @@ class ImageFeatures(OESelftestTestCase): """ # Build a core-image-clutter - bitbake('core-image-clutter') + self.bitbake('core-image-clutter') @OETestID(1117) def test_wayland_support_in_image(self): @@ -89,12 +31,12 @@ class ImageFeatures(OESelftestTestCase): AutomatedBy: Daniel Istrate """ - distro_features = get_bb_var('DISTRO_FEATURES') + distro_features = self.get_bb_var('DISTRO_FEATURES') if not ('opengl' in distro_features and 'wayland' in distro_features): self.skipTest('neither opengl nor wayland present on DISTRO_FEATURES so core-image-weston cannot be built') # Build a core-image-weston - bitbake('core-image-weston') + self.bitbake('core-image-weston') @OETestID(1497) def test_bmap(self): @@ -110,10 +52,10 @@ class ImageFeatures(OESelftestTestCase): self.write_config(features) image_name = 'core-image-minimal' - bitbake(image_name) + self.bitbake(image_name) - deploy_dir_image = get_bb_var('DEPLOY_DIR_IMAGE') - link_name = get_bb_var('IMAGE_LINK_NAME', image_name) + deploy_dir_image = self.get_bb_var('DEPLOY_DIR_IMAGE') + link_name = self.get_bb_var('IMAGE_LINK_NAME', image_name) image_path = os.path.join(deploy_dir_image, "%s.ext4" % link_name) bmap_path = "%s.bmap" % image_path @@ -134,7 +76,7 @@ class ImageFeatures(OESelftestTestCase): """ image_name = 'core-image-minimal' - img_types = [itype for itype in get_bb_var("IMAGE_TYPES", image_name).split() \ + img_types = [itype for itype in self.get_bb_var("IMAGE_TYPES", image_name).split() \ if itype not in ('container', 'elf', 'multiubi')] config = 'IMAGE_FSTYPES += "%s"\n'\ @@ -143,10 +85,10 @@ class ImageFeatures(OESelftestTestCase): self.write_config(config) - bitbake(image_name) + self.bitbake(image_name) - deploy_dir_image = get_bb_var('DEPLOY_DIR_IMAGE') - link_name = get_bb_var('IMAGE_LINK_NAME', image_name) + deploy_dir_image = self.get_bb_var('DEPLOY_DIR_IMAGE') + link_name = self.get_bb_var('IMAGE_LINK_NAME', image_name) for itype in img_types: image_path = os.path.join(deploy_dir_image, "%s.%s" % (link_name, itype)) # check if result image is in deploy directory diff --git a/meta/lib/oeqa/selftest/cases/imagefeatures_boot.py b/meta/lib/oeqa/selftest/cases/imagefeatures_boot.py new file mode 100644 index 0000000..2cdf4ad --- /dev/null +++ b/meta/lib/oeqa/selftest/cases/imagefeatures_boot.py @@ -0,0 +1,63 @@ +from oeqa.selftest.case import OESelftestTestCase +from oeqa.core.decorator.oeid import OETestID +from oeqa.utils.commands import runqemu +from oeqa.utils.sshcontrol import SSHControl + +class ImageFeaturesBoot(OESelftestTestCase): + test_user = 'tester' + root_user = 'root' + + @OETestID(1107) + def test_non_root_user_can_connect_via_ssh_without_password(self): + """ + Summary: Check if non root user can connect via ssh without password + Expected: 1. Connection to the image via ssh using root user without providing a password should be allowed. + 2. Connection to the image via ssh using tester user without providing a password should be allowed. + Product: oe-core + Author: Ionut Chisanovici + AutomatedBy: Daniel Istrate + """ + + features = 'EXTRA_IMAGE_FEATURES = "ssh-server-openssh empty-root-password allow-empty-password"\n' + features += 'INHERIT += "extrausers"\n' + features += 'EXTRA_USERS_PARAMS = "useradd -p \'\' {}; usermod -s /bin/sh {};"'.format(self.test_user, self.test_user) + self.write_config(features) + + # Build a core-image-minimal + self.bitbake('core-image-minimal') + + with runqemu("core-image-minimal") as qemu: + # Attempt to ssh with each user into qemu with empty password + for user in [self.root_user, self.test_user]: + ssh = SSHControl(ip=qemu.ip, logfile=qemu.sshlog, user=user) + status, output = ssh.run("true") + self.assertEqual(status, 0, 'ssh to user %s failed with %s' % (user, output)) + + @OETestID(1115) + def test_all_users_can_connect_via_ssh_without_password(self): + """ + Summary: Check if all users can connect via ssh without password + Expected: 1. Connection to the image via ssh using root user without providing a password should NOT be allowed. + 2. Connection to the image via ssh using tester user without providing a password should be allowed. + Product: oe-core + Author: Ionut Chisanovici + AutomatedBy: Daniel Istrate + """ + + features = 'EXTRA_IMAGE_FEATURES = "ssh-server-openssh allow-empty-password"\n' + features += 'INHERIT += "extrausers"\n' + features += 'EXTRA_USERS_PARAMS = "useradd -p \'\' {}; usermod -s /bin/sh {};"'.format(self.test_user, self.test_user) + self.write_config(features) + + # Build a core-image-minimal + self.bitbake('core-image-minimal') + + with runqemu("core-image-minimal") as qemu: + # Attempt to ssh with each user into qemu with empty password + for user in [self.root_user, self.test_user]: + ssh = SSHControl(ip=qemu.ip, logfile=qemu.sshlog, user=user) + status, output = ssh.run("true") + if user == 'root': + self.assertNotEqual(status, 0, 'ssh to user root was allowed when it should not have been') + else: + self.assertEqual(status, 0, 'ssh to user tester failed with %s' % output) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 16:30:07 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 16:30:07 +0000 Subject: [oe-commits] [openembedded-core] 23/39: oeqa/selftest/case: tearDown extra commands print what actually fails In-Reply-To: <150056818468.11699.16758981017169458803@git.openembedded.org> References: <150056818468.11699.16758981017169458803@git.openembedded.org> Message-ID: <20170720162946.383BC233625@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 930297c5fd8c43fa1e35571695be46aa51cfd11a Author: An?bal Lim?n AuthorDate: Fri Jun 16 09:11:10 2017 -0700 oeqa/selftest/case: tearDown extra commands print what actually fails Its better to have the output to see what actually fails in a command that is aim to execute at end of a test case. Signed-off-by: An?bal Lim?n --- meta/lib/oeqa/selftest/case.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/meta/lib/oeqa/selftest/case.py b/meta/lib/oeqa/selftest/case.py index 36f0437..c210324 100644 --- a/meta/lib/oeqa/selftest/case.py +++ b/meta/lib/oeqa/selftest/case.py @@ -225,13 +225,18 @@ to ensure accurate results.") def tearDown(self): if self._extra_tear_down_commands: - failed_extra_commands = [] + failed_extra_commands = {} for command in self._extra_tear_down_commands: result = self.runCmd(command, ignore_status=True) - if not result.status == 0: - failed_extra_commands.append(command) + if not result.status == 0: + failed_extra_commands[command] = result if failed_extra_commands: - self.logger.warning("tearDown commands have failed: %s" % ', '.join(map(str, failed_extra_commands))) + self.logger.warning("%s: tearDown commands have failed" % \ + self.id()) + for cmd in failed_extra_commands: + result = failed_extra_commands[cmd] + self.logger.warning("%s: %s\n%s" % (self.id(), cmd, + result.output)) self.logger.debug("Trying to move on.") self._extra_tear_down_commands = [] -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 16:30:04 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 16:30:04 +0000 Subject: [oe-commits] [openembedded-core] 20/39: oeqa/selftest/{case, context}: Add builddir by test class and context In-Reply-To: <150056818468.11699.16758981017169458803@git.openembedded.org> References: <150056818468.11699.16758981017169458803@git.openembedded.org> Message-ID: <20170720162946.1E0F0233615@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 78ecd9ef3beb91b6aae274db900e39cdfae2ef32 Author: An?bal Lim?n AuthorDate: Fri Jun 23 13:32:30 2017 -0700 oeqa/selftest/{case,context}: Add builddir by test class and context The build directory by Test class will enable to use several instances of bitbake in parallel to enable oe-selftest threaded runs. [YOCTO #11429] Signed-off-by: An?bal Lim?n --- meta/lib/oeqa/selftest/case.py | 101 ++++++++++++++++++++++++++++---------- meta/lib/oeqa/selftest/context.py | 4 ++ 2 files changed, 78 insertions(+), 27 deletions(-) diff --git a/meta/lib/oeqa/selftest/case.py b/meta/lib/oeqa/selftest/case.py index 871009c..a2d4bed 100644 --- a/meta/lib/oeqa/selftest/case.py +++ b/meta/lib/oeqa/selftest/case.py @@ -13,28 +13,77 @@ from oeqa.utils.commands import runCmd, bitbake, get_bb_var from oeqa.core.case import OETestCase class OESelftestTestCase(OETestCase): + _use_own_builddir = False + _main_thread = True + _end_thread = False + def __init__(self, methodName="runTest"): self._extra_tear_down_commands = [] super(OESelftestTestCase, self).__init__(methodName) @classmethod + def _setUpBuildDir(cls): + if cls._use_own_builddir: + cls.builddir = os.path.join(cls.tc.config_paths['base_builddir'], + cls.__module__, cls.__name__) + + cls.localconf_path = os.path.join(cls.builddir, "conf/local.conf") + cls.localconf_backup = os.path.join(cls.builddir, + "conf/local.conf.bk") + cls.local_bblayers_path = os.path.join(cls.builddir, + "conf/bblayers.conf") + cls.local_bblayers_backup = os.path.join(cls.builddir, + "conf/bblayers.conf.bk") + else: + cls.builddir = cls.tc.config_paths['builddir'] + cls.localconf_path = cls.tc.config_paths['localconf'] + cls.localconf_backup = cls.tc.config_paths['localconf_class_backup'] + cls.local_bblayers_path = cls.tc.config_paths['bblayers'] + cls.local_bblayers_backup = \ + cls.tc.config_paths['bblayers_class_backup'] + + cls.testinc_path = os.path.join(cls.builddir, "conf/selftest.inc") + cls.testinc_bblayers_path = os.path.join(cls.builddir, + "conf/bblayers.inc") + cls.machineinc_path = os.path.join(cls.builddir, "conf/machine.inc") + + # creates a custom build directory for every test class + if not os.path.exists(cls.builddir): + os.makedirs(cls.builddir) + + builddir_conf = os.path.join(cls.builddir, 'conf') + os.makedirs(builddir_conf) + shutil.copyfile(cls.tc.config_paths['localconf_backup'], + cls.localconf_path) + shutil.copyfile(cls.tc.config_paths['bblayers_backup'], + cls.local_bblayers_path) + + ftools.append_file(cls.localconf_path, "\n# added by oe-selftest base class\n") + ftools.append_file(cls.local_bblayers_path, "\n# added by oe-selftest base class\n") + + # shares original sstate_dir across build directories to speed up + sstate_line = "SSTATE_DIR?=\"%s\"" % cls.td['SSTATE_DIR'] + ftools.append_file(cls.localconf_path, sstate_line) + + # shares original dl_dir across build directories to avoid additional + # network usage + dldir_line = "DL_DIR?=\"%s\"" % cls.td['DL_DIR'] + ftools.append_file(cls.localconf_path, dldir_line) + + # use the same value of threads for BB_NUMBER_THREADS/PARALLEL_MAKE + # to avoid ran out resources (cpu/memory) + if hasattr(cls.tc.loader, 'process_num'): + ftools.append_file(cls.localconf_path, "BB_NUMBER_THREADS?=\"%d\"" % + cls.tc.loader.process_num) + ftools.append_file(cls.localconf_path, "PARALLEL_MAKE?=\"-j %d\"" % + cls.tc.loader.process_num) + + @classmethod def setUpClass(cls): super(OESelftestTestCase, cls).setUpClass() cls.testlayer_path = cls.tc.config_paths['testlayer_path'] - cls.builddir = cls.tc.config_paths['builddir'] - - cls.localconf_path = cls.tc.config_paths['localconf'] - cls.localconf_backup = cls.tc.config_paths['localconf_class_backup'] - cls.local_bblayers_path = cls.tc.config_paths['bblayers'] - cls.local_bblayers_backup = cls.tc.config_paths['bblayers_class_backup'] - - cls.testinc_path = os.path.join(cls.tc.config_paths['builddir'], - "conf/selftest.inc") - cls.testinc_bblayers_path = os.path.join(cls.tc.config_paths['builddir'], - "conf/bblayers.inc") - cls.machineinc_path = os.path.join(cls.tc.config_paths['builddir'], - "conf/machine.inc") + cls._setUpBuildDir() cls._track_for_cleanup = [ cls.testinc_path, cls.testinc_bblayers_path, @@ -52,35 +101,31 @@ class OESelftestTestCase(OETestCase): @classmethod def add_include(cls): if "#include added by oe-selftest" \ - not in ftools.read_file(os.path.join(cls.builddir, "conf/local.conf")): - cls.logger.info("Adding: \"include selftest.inc\" in %s" % os.path.join(cls.builddir, "conf/local.conf")) - ftools.append_file(os.path.join(cls.builddir, "conf/local.conf"), \ + not in ftools.read_file(cls.localconf_path): + ftools.append_file(cls.localconf_path, \ "\n#include added by oe-selftest\ninclude machine.inc\ninclude selftest.inc") if "#include added by oe-selftest" \ - not in ftools.read_file(os.path.join(cls.builddir, "conf/bblayers.conf")): - cls.logger.info("Adding: \"include bblayers.inc\" in bblayers.conf") - ftools.append_file(os.path.join(cls.builddir, "conf/bblayers.conf"), \ + not in ftools.read_file(cls.local_bblayers_path): + ftools.append_file(cls.local_bblayers_path, \ "\n#include added by oe-selftest\ninclude bblayers.inc") @classmethod def remove_include(cls): if "#include added by oe-selftest.py" \ - in ftools.read_file(os.path.join(cls.builddir, "conf/local.conf")): - cls.logger.info("Removing the include from local.conf") - ftools.remove_from_file(os.path.join(cls.builddir, "conf/local.conf"), \ + in ftools.read_file(cls.localconf_path): + ftools.remove_from_file(cls.localconf_path, \ "\n#include added by oe-selftest.py\ninclude machine.inc\ninclude selftest.inc") if "#include added by oe-selftest.py" \ - in ftools.read_file(os.path.join(cls.builddir, "conf/bblayers.conf")): - cls.logger.info("Removing the include from bblayers.conf") - ftools.remove_from_file(os.path.join(cls.builddir, "conf/bblayers.conf"), \ + in ftools.read_file(cls.local_bblayers_path): + ftools.remove_from_file(cls.local_bblayers_path, \ "\n#include added by oe-selftest.py\ninclude bblayers.inc") @classmethod def remove_inc_files(cls): try: - os.remove(os.path.join(cls.builddir, "conf/selftest.inc")) + os.remove(cls.testinc_path) for root, _, files in os.walk(cls.testlayer_path): for f in files: if f == 'test_recipe.inc': @@ -96,7 +141,7 @@ class OESelftestTestCase(OETestCase): def setUp(self): super(OESelftestTestCase, self).setUp() - os.chdir(self.builddir) + # Check if local.conf or bblayers.conf files backup exists # from a previous failed test and restore them if os.path.isfile(self.localconf_backup) or os.path.isfile( @@ -239,6 +284,7 @@ to ensure accurate results.") except OSError as e: if e.errno != errno.ENOENT: raise + def write_bblayers_config(self, data): """Write to /conf/bblayers.inc""" self.logger.debug("Writing to: %s\n%s\n" % (self.testinc_bblayers_path, data)) @@ -269,4 +315,5 @@ to ensure accurate results.") def assertNotExists(self, expr, msg=None): if os.path.exists(expr): msg = self._formatMessage(msg, "%s exists when it should not" % safe_repr(expr)) + raise self.failureException(msg) diff --git a/meta/lib/oeqa/selftest/context.py b/meta/lib/oeqa/selftest/context.py index 4575a05..697ea0b 100644 --- a/meta/lib/oeqa/selftest/context.py +++ b/meta/lib/oeqa/selftest/context.py @@ -8,6 +8,7 @@ import sys import imp import signal from shutil import copyfile +import tempfile from random import choice import oeqa @@ -133,6 +134,9 @@ class OESelftestTestContextExecutor(OETestContextExecutor): copyfile(self.tc_kwargs['init']['config_paths']['bblayers'], self.tc_kwargs['init']['config_paths']['bblayers_backup']) + self.tc_kwargs['init']['config_paths']['base_builddir'] = \ + tempfile.mkdtemp(prefix='build-selftest-', dir=builddir) + def _pre_run(self): def _check_required_env_variables(vars): for var in vars: -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 16:30:20 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 16:30:20 +0000 Subject: [oe-commits] [openembedded-core] 36/39: seltest/cases/devtool: Build dbus on test_devtool_add_git_local In-Reply-To: <150056818468.11699.16758981017169458803@git.openembedded.org> References: <150056818468.11699.16758981017169458803@git.openembedded.org> Message-ID: <20170720162946.B6E82233620@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit cefc664b9644fa2191654733bc4e1ecc9e8524e4 Author: An?bal Lim?n AuthorDate: Mon Jul 10 09:37:28 2017 -0700 seltest/cases/devtool: Build dbus on test_devtool_add_git_local The dbus-wait recipe has the dependency of dbus, due to now we have build folder per test class the dependency needs to be build before run devtool add because without it the DEPENDS field is unset. The devtool/recipetool uses previously build recipes to figure out the dependencies. Signed-off-by: An?bal Lim?n --- meta/lib/oeqa/selftest/cases/devtool.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/lib/oeqa/selftest/cases/devtool.py b/meta/lib/oeqa/selftest/cases/devtool.py index f88a842..1e83064 100644 --- a/meta/lib/oeqa/selftest/cases/devtool.py +++ b/meta/lib/oeqa/selftest/cases/devtool.py @@ -248,6 +248,8 @@ class DevtoolTests(DevtoolCommon): # Test devtool add self.track_for_cleanup(self.workspacedir) self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) + # dbus needs to be built because is a dependency of dbus-wait + self.bitbake('dbus') # Don't specify a name since we should be able to auto-detect it result = self.runCmd('devtool add %s' % srcdir) self.assertExists(os.path.join(self.workspacedir, 'conf', 'layer.conf'), 'Workspace directory not created') -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 16:30:17 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 16:30:17 +0000 Subject: [oe-commits] [openembedded-core] 33/39: oeqa/selftest/cases: recipetool enable for threaded runs In-Reply-To: <150056818468.11699.16758981017169458803@git.openembedded.org> References: <150056818468.11699.16758981017169458803@git.openembedded.org> Message-ID: <20170720162946.9BB9A23361E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit be91f92d61f9f5b8bfb7ddf9de346564082d5933 Author: An?bal Lim?n AuthorDate: Tue Jun 13 13:50:48 2017 -0500 oeqa/selftest/cases: recipetool enable for threaded runs - Change to use wrappers from OESelfTestCase. - Move templayer dir creation to RecipetoolBase class because now every class has its own build folder. Signed-off-by: An?bal Lim?n --- meta/lib/oeqa/selftest/cases/recipetool.py | 105 +++++++++++++++-------------- 1 file changed, 54 insertions(+), 51 deletions(-) diff --git a/meta/lib/oeqa/selftest/cases/recipetool.py b/meta/lib/oeqa/selftest/cases/recipetool.py index bdd405f..5954433 100644 --- a/meta/lib/oeqa/selftest/cases/recipetool.py +++ b/meta/lib/oeqa/selftest/cases/recipetool.py @@ -3,30 +3,30 @@ import shutil import tempfile import urllib.parse -from oeqa.utils.commands import runCmd, bitbake, get_bb_var -from oeqa.utils.commands import get_bb_vars, create_temp_layer -from oeqa.core.decorator.oeid import OETestID from oeqa.selftest.cases import devtool +from oeqa.utils.commands import create_temp_layer +from oeqa.core.decorator.oeid import OETestID -templayerdir = None - -def setUpModule(): - global templayerdir - templayerdir = tempfile.mkdtemp(prefix='recipetoolqa') - create_temp_layer(templayerdir, 'selftestrecipetool') - runCmd('bitbake-layers add-layer %s' % templayerdir) - +class RecipetoolBase(devtool.DevtoolBase): + @classmethod + def setUpClass(cls): + super(RecipetoolBase, cls).setUpClass() -def tearDownModule(): - runCmd('bitbake-layers remove-layer %s' % templayerdir, ignore_status=True) - runCmd('rm -rf %s' % templayerdir) + cls.templayerdir = tempfile.mkdtemp(prefix='recipetoolqa') + create_temp_layer(cls.templayerdir, 'selftestrecipetool') + cls.runCmd('bitbake-layers add-layer %s' % cls.templayerdir) + @classmethod + def tearDownClass(cls): + super(RecipetoolBase, cls).tearDownClass() -class RecipetoolBase(devtool.DevtoolBase): + cls.runCmd('bitbake-layers remove-layer %s' % cls.templayerdir, + ignore_status=True) + cls.runCmd('rm -rf %s' % cls.templayerdir) def setUpLocal(self): super(RecipetoolBase, self).setUpLocal() - self.templayerdir = templayerdir + self.tempdir = tempfile.mkdtemp(prefix='recipetoolqa') self.track_for_cleanup(self.tempdir) self.testfile = os.path.join(self.tempdir, 'testfile') @@ -34,15 +34,15 @@ class RecipetoolBase(devtool.DevtoolBase): f.write('Test file\n') def tearDownLocal(self): - runCmd('rm -rf %s/recipes-*' % self.templayerdir) + self.runCmd('rm -rf %s/recipes-*' % self.templayerdir) super(RecipetoolBase, self).tearDownLocal() def _try_recipetool_appendcmd(self, cmd, testrecipe, expectedfiles, expectedlines=None): - result = runCmd(cmd) + result = self.runCmd(cmd) self.assertNotIn('Traceback', result.output) # Check the bbappend was created and applies properly - recipefile = get_bb_var('FILE', testrecipe) + recipefile = self.get_bb_var('FILE', testrecipe) bbappendfile = self._check_bbappend(testrecipe, recipefile, self.templayerdir) # Check the bbappend contents @@ -66,14 +66,16 @@ class RecipetoolBase(devtool.DevtoolBase): class RecipetoolTests(RecipetoolBase): + _use_own_builddir = True + _main_thread = False @classmethod def setUpClass(cls): super(RecipetoolTests, cls).setUpClass() # Ensure we have the right data in shlibs/pkgdata cls.logger.info('Running bitbake to generate pkgdata') - bitbake('-c packagedata base-files coreutils busybox selftest-recipetool-appendfile') - bb_vars = get_bb_vars(['COREBASE', 'BBPATH']) + cls.bitbake('-c packagedata base-files coreutils busybox selftest-recipetool-appendfile') + bb_vars = cls.get_bb_vars(['COREBASE', 'BBPATH']) cls.corebase = bb_vars['COREBASE'] cls.bbpath = bb_vars['BBPATH'] @@ -83,7 +85,7 @@ class RecipetoolTests(RecipetoolBase): def _try_recipetool_appendfile_fail(self, destfile, newfile, checkerror): cmd = 'recipetool appendfile %s %s %s' % (self.templayerdir, destfile, newfile) - result = runCmd(cmd, ignore_status=True) + result = self.runCmd(cmd, ignore_status=True) self.assertNotEqual(result.status, 0, 'Command "%s" should have failed but didn\'t' % cmd) self.assertNotIn('Traceback', result.output) for errorstr in checkerror: @@ -125,7 +127,7 @@ class RecipetoolTests(RecipetoolBase): bbappendfile, _ = self._try_recipetool_appendfile('coreutils', '/bin/ls', self.testfile, '-r coreutils', expectedlines, [testfile2name]) # But file should have copiedfile = os.path.join(os.path.dirname(bbappendfile), 'coreutils', testfile2name) - result = runCmd('diff -q %s %s' % (testfile2, copiedfile), ignore_status=True) + result = self.runCmd('diff -q %s %s' % (testfile2, copiedfile), ignore_status=True) self.assertNotEqual(result.status, 0, 'New file should have been copied but was not %s' % result.output) @OETestID(1178) @@ -133,7 +135,7 @@ class RecipetoolTests(RecipetoolBase): # Try appending a binary file # /bin/ls can be a symlink to /usr/bin/ls ls = os.path.realpath("/bin/ls") - result = runCmd('recipetool appendfile %s /bin/ls %s -r coreutils' % (self.templayerdir, ls)) + result = self.runCmd('recipetool appendfile %s /bin/ls %s -r coreutils' % (self.templayerdir, ls)) self.assertIn('WARNING: ', result.output) self.assertIn('is a binary', result.output) @@ -326,7 +328,7 @@ class RecipetoolTests(RecipetoolBase): # Try creating a bbappend in a layer that's not in bblayers.conf and has a different structure exttemplayerdir = os.path.join(self.tempdir, 'extlayer') self._create_temp_layer(exttemplayerdir, False, 'oeselftestextlayer', recipepathspec='metadata/recipes/recipes-*/*') - result = runCmd('recipetool appendfile %s /usr/share/selftest-replaceme-orig %s' % (exttemplayerdir, self.testfile)) + result = self.runCmd('recipetool appendfile %s /usr/share/selftest-replaceme-orig %s' % (exttemplayerdir, self.testfile)) self.assertNotIn('Traceback', result.output) createdfiles = [] for root, _, files in os.walk(exttemplayerdir): @@ -341,7 +343,7 @@ class RecipetoolTests(RecipetoolBase): def test_recipetool_appendfile_wildcard(self): def try_appendfile_wc(options): - result = runCmd('recipetool appendfile %s /etc/profile %s %s' % (self.templayerdir, self.testfile, options)) + result = self.runCmd('recipetool appendfile %s /etc/profile %s %s' % (self.templayerdir, self.testfile, options)) self.assertNotIn('Traceback', result.output) bbappendfile = None for root, _, files in os.walk(self.templayerdir): @@ -351,11 +353,11 @@ class RecipetoolTests(RecipetoolBase): break if not bbappendfile: self.fail('No bbappend file created') - runCmd('rm -rf %s/recipes-*' % self.templayerdir) + self.runCmd('rm -rf %s/recipes-*' % self.templayerdir) return bbappendfile # Check without wildcard option - recipefn = os.path.basename(get_bb_var('FILE', 'base-files')) + recipefn = os.path.basename(self.get_bb_var('FILE', 'base-files')) filename = try_appendfile_wc('') self.assertEqual(filename, recipefn.replace('.bb', '.bbappend')) # Now check with wildcard option @@ -369,7 +371,7 @@ class RecipetoolTests(RecipetoolBase): os.makedirs(tempsrc) recipefile = os.path.join(self.tempdir, 'logrotate_3.8.7.bb') srcuri = 'https://github.com/logrotate/logrotate/archive/r3-8-7.tar.gz' - result = runCmd('recipetool create -o %s %s -x %s' % (recipefile, srcuri, tempsrc)) + result = self.runCmd('recipetool create -o %s %s -x %s' % (recipefile, srcuri, tempsrc)) self.assertTrue(os.path.isfile(recipefile)) checkvars = {} checkvars['LICENSE'] = 'GPLv2' @@ -381,16 +383,16 @@ class RecipetoolTests(RecipetoolBase): @OETestID(1194) def test_recipetool_create_git(self): - if 'x11' not in get_bb_var('DISTRO_FEATURES'): + if 'x11' not in self.get_bb_var('DISTRO_FEATURES'): self.skipTest('Test requires x11 as distro feature') # Ensure we have the right data in shlibs/pkgdata - bitbake('libpng pango libx11 libxext jpeg libcheck') + self.bitbake('libpng pango libx11 libxext jpeg libcheck') # Try adding a recipe tempsrc = os.path.join(self.tempdir, 'srctree') os.makedirs(tempsrc) recipefile = os.path.join(self.tempdir, 'libmatchbox.bb') srcuri = 'git://git.yoctoproject.org/libmatchbox' - result = runCmd(['recipetool', 'create', '-o', recipefile, srcuri + ";rev=9f7cf8895ae2d39c465c04cc78e918c157420269", '-x', tempsrc]) + result = self.runCmd(['recipetool', 'create', '-o', recipefile, srcuri + ";rev=9f7cf8895ae2d39c465c04cc78e918c157420269", '-x', tempsrc]) self.assertTrue(os.path.isfile(recipefile), 'recipetool did not create recipe file; output:\n%s' % result.output) checkvars = {} checkvars['LICENSE'] = 'LGPLv2.1' @@ -409,7 +411,7 @@ class RecipetoolTests(RecipetoolBase): os.makedirs(temprecipe) pv = '1.7.3.0' srcuri = 'http://www.dest-unreach.org/socat/download/socat-%s.tar.bz2' % pv - result = runCmd('recipetool create %s -o %s' % (srcuri, temprecipe)) + result = self.runCmd('recipetool create %s -o %s' % (srcuri, temprecipe)) dirlist = os.listdir(temprecipe) if len(dirlist) > 1: self.fail('recipetool created more than just one file; output:\n%s\ndirlist:\n%s' % (result.output, str(dirlist))) @@ -432,7 +434,7 @@ class RecipetoolTests(RecipetoolBase): os.makedirs(temprecipe) recipefile = os.path.join(temprecipe, 'navit_0.5.0.bb') srcuri = 'http://downloads.sourceforge.net/project/navit/v0.5.0/navit-0.5.0.tar.gz' - result = runCmd('recipetool create -o %s %s' % (temprecipe, srcuri)) + result = self.runCmd('recipetool create -o %s %s' % (temprecipe, srcuri)) self.assertTrue(os.path.isfile(recipefile)) checkvars = {} checkvars['LICENSE'] = set(['Unknown', 'GPLv2', 'LGPLv2']) @@ -450,7 +452,7 @@ class RecipetoolTests(RecipetoolBase): os.makedirs(temprecipe) recipefile = os.path.join(temprecipe, 'meson_git.bb') srcuri = 'https://github.com/mesonbuild/meson;rev=0.32.0' - result = runCmd(['recipetool', 'create', '-o', temprecipe, srcuri]) + result = self.runCmd(['recipetool', 'create', '-o', temprecipe, srcuri]) self.assertTrue(os.path.isfile(recipefile)) checkvars = {} checkvars['LICENSE'] = set(['Apache-2.0']) @@ -466,7 +468,7 @@ class RecipetoolTests(RecipetoolBase): pv = '0.32.0' recipefile = os.path.join(temprecipe, 'meson_%s.bb' % pv) srcuri = 'https://github.com/mesonbuild/meson/releases/download/%s/meson-%s.tar.gz' % (pv, pv) - result = runCmd('recipetool create -o %s %s' % (temprecipe, srcuri)) + result = self.runCmd('recipetool create -o %s %s' % (temprecipe, srcuri)) self.assertTrue(os.path.isfile(recipefile)) checkvars = {} checkvars['LICENSE'] = set(['Apache-2.0']) @@ -481,7 +483,7 @@ class RecipetoolTests(RecipetoolBase): os.makedirs(temprecipe) recipefile = os.path.join(temprecipe, 'matchbox-terminal_git.bb') srcuri = 'http://git.yoctoproject.org/git/matchbox-terminal' - result = runCmd('recipetool create -o %s %s' % (temprecipe, srcuri)) + result = self.runCmd('recipetool create -o %s %s' % (temprecipe, srcuri)) self.assertTrue(os.path.isfile(recipefile)) checkvars = {} checkvars['LICENSE'] = set(['GPLv2']) @@ -506,8 +508,8 @@ class RecipetoolTests(RecipetoolBase): def test_recipetool_load_plugin(self): """Test that recipetool loads only the first found plugin in BBPATH.""" - recipetool = runCmd("which recipetool") - fromname = runCmd("recipetool --quiet pluginfile") + recipetool = self.runCmd("which recipetool") + fromname = self.runCmd("recipetool --quiet pluginfile") srcfile = fromname.output searchpath = self.bbpath.split(':') + [os.path.dirname(recipetool.output)] plugincontent = [] @@ -517,12 +519,12 @@ class RecipetoolTests(RecipetoolBase): self.assertIn('meta-selftest', srcfile, 'wrong bbpath plugin found') for path in searchpath: self._copy_file_with_cleanup(srcfile, path, 'lib', 'recipetool') - result = runCmd("recipetool --quiet count") + result = self.runCmd("recipetool --quiet count") self.assertEqual(result.output, '1') - result = runCmd("recipetool --quiet multiloaded") + result = self.runCmd("recipetool --quiet multiloaded") self.assertEqual(result.output, "no") for path in searchpath: - result = runCmd("recipetool --quiet bbdir") + result = self.runCmd("recipetool --quiet bbdir") self.assertEqual(result.output, path) os.unlink(os.path.join(result.output, 'lib', 'recipetool', 'bbpath.py')) finally: @@ -548,16 +550,15 @@ class RecipetoolAppendsrcBase(RecipetoolBase): def _try_recipetool_appendsrcfile_fail(self, testrecipe, newfile, destfile, checkerror): cmd = 'recipetool appendsrcfile %s %s %s %s' % (self.templayerdir, testrecipe, newfile, destfile or '') - result = runCmd(cmd, ignore_status=True) + result = self.runCmd(cmd, ignore_status=True) self.assertNotEqual(result.status, 0, 'Command "%s" should have failed but didn\'t' % cmd) self.assertNotIn('Traceback', result.output) for errorstr in checkerror: self.assertIn(errorstr, result.output) - @staticmethod - def _get_first_file_uri(recipe): + def _get_first_file_uri(self, recipe): '''Return the first file:// in SRC_URI for the specified recipe.''' - src_uri = get_bb_var('SRC_URI', recipe).split() + src_uri = self.get_bb_var('SRC_URI', recipe).split() for uri in src_uri: p = urllib.parse.urlparse(uri) if p.scheme == 'file': @@ -605,7 +606,7 @@ class RecipetoolAppendsrcBase(RecipetoolBase): self._try_recipetool_appendsrcfiles(testrecipe, newfiles, expectedfiles=expectedfiles, destdir=destdir, options=options) - bb_vars = get_bb_vars(['SRC_URI', 'FILE', 'FILESEXTRAPATHS'], testrecipe) + bb_vars = self.get_bb_vars(['SRC_URI', 'FILE', 'FILESEXTRAPATHS'], testrecipe) src_uri = bb_vars['SRC_URI'].split() for f in expectedfiles: if destdir: @@ -623,6 +624,8 @@ class RecipetoolAppendsrcBase(RecipetoolBase): class RecipetoolAppendsrcTests(RecipetoolAppendsrcBase): + _use_own_builddir = True + _main_thread = False @OETestID(1273) def test_recipetool_appendsrcfile_basic(self): @@ -632,7 +635,7 @@ class RecipetoolAppendsrcTests(RecipetoolAppendsrcBase): def test_recipetool_appendsrcfile_basic_wildcard(self): testrecipe = 'base-files' self._test_appendsrcfile(testrecipe, 'a-file', options='-w') - recipefile = get_bb_var('FILE', testrecipe) + recipefile = self.get_bb_var('FILE', testrecipe) bbappendfile = self._check_bbappend(testrecipe, recipefile, self.templayerdir) self.assertEqual(os.path.basename(bbappendfile), '%s_%%.bbappend' % testrecipe) @@ -647,7 +650,7 @@ class RecipetoolAppendsrcTests(RecipetoolAppendsrcBase): @OETestID(1280) def test_recipetool_appendsrcfile_srcdir_basic(self): testrecipe = 'bash' - bb_vars = get_bb_vars(['S', 'WORKDIR'], testrecipe) + bb_vars = self.get_bb_vars(['S', 'WORKDIR'], testrecipe) srcdir = bb_vars['S'] workdir = bb_vars['WORKDIR'] subdir = os.path.relpath(srcdir, workdir) @@ -674,13 +677,13 @@ class RecipetoolAppendsrcTests(RecipetoolAppendsrcBase): def test_recipetool_appendsrcfile_replace_file_srcdir(self): testrecipe = 'bash' filepath = 'Makefile.in' - bb_vars = get_bb_vars(['S', 'WORKDIR'], testrecipe) + bb_vars = self.get_bb_vars(['S', 'WORKDIR'], testrecipe) srcdir = bb_vars['S'] workdir = bb_vars['WORKDIR'] subdir = os.path.relpath(srcdir, workdir) self._test_appendsrcfile(testrecipe, filepath, srcdir=subdir) - bitbake('%s:do_unpack' % testrecipe) + self.bitbake('%s:do_unpack' % testrecipe) self.assertEqual(open(self.testfile, 'r').read(), open(os.path.join(srcdir, filepath), 'r').read()) @OETestID(1278) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 16:30:15 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 16:30:15 +0000 Subject: [oe-commits] [openembedded-core] 31/39: oeqa/selftest/cases: eSDK enable threaded runs In-Reply-To: <150056818468.11699.16758981017169458803@git.openembedded.org> References: <150056818468.11699.16758981017169458803@git.openembedded.org> Message-ID: <20170720162946.8434123361A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit bf0007a466149bd82ab92641e00f43343ed41b15 Author: An?bal Lim?n AuthorDate: Tue Jun 13 15:49:04 2017 -0500 oeqa/selftest/cases: eSDK enable threaded runs - Change some staticmethods to classmethods to be able access wrappers from OESelfTestCase. - Remove unused method update_configuration. Signed-off-by: An?bal Lim?n --- meta/lib/oeqa/selftest/cases/eSDK.py | 64 +++++++++++++----------------------- 1 file changed, 22 insertions(+), 42 deletions(-) diff --git a/meta/lib/oeqa/selftest/cases/eSDK.py b/meta/lib/oeqa/selftest/cases/eSDK.py index 0a81a0d..a99eb9c 100644 --- a/meta/lib/oeqa/selftest/cases/eSDK.py +++ b/meta/lib/oeqa/selftest/cases/eSDK.py @@ -4,24 +4,25 @@ import os import glob from oeqa.core.decorator.oeid import OETestID from oeqa.selftest.case import OESelftestTestCase -from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars class oeSDKExtSelfTest(OESelftestTestCase): + _use_own_builddir = True + _main_thread = False + """ # Bugzilla Test Plan: 6033 # This code is planned to be part of the automation for eSDK containig # Install libraries and headers, image generation binary feeds, sdk-update. """ - - @staticmethod - def get_esdk_environment(env_eSDK, tmpdir_eSDKQA): + @classmethod + def get_esdk_environment(cls, env_eSDK, tmpdir_eSDKQA): # XXX: at this time use the first env need to investigate # what environment load oe-selftest, i586, x86_64 pattern = os.path.join(tmpdir_eSDKQA, 'environment-setup-*') return glob.glob(pattern)[0] - @staticmethod - def run_esdk_cmd(env_eSDK, tmpdir_eSDKQA, cmd, postconfig=None, **options): + @classmethod + def run_esdk_cmd(cls, env_eSDK, tmpdir_eSDKQA, cmd, postconfig=None, **options): if postconfig: esdk_conf_file = os.path.join(tmpdir_eSDKQA, 'conf', 'local.conf') with open(esdk_conf_file, 'a+') as f: @@ -31,57 +32,37 @@ class oeSDKExtSelfTest(OESelftestTestCase): if not 'shell' in options: options['shell'] = True - runCmd("cd %s; . %s; %s" % (tmpdir_eSDKQA, env_eSDK, cmd), **options) + cls.runCmd("cd %s; . %s; %s" % (tmpdir_eSDKQA, env_eSDK, cmd), **options) - @staticmethod - def generate_eSDK(image): + @classmethod + def generate_eSDK(cls, image): pn_task = '%s -c populate_sdk_ext' % image - bitbake(pn_task) + cls.bitbake(pn_task) - @staticmethod - def get_eSDK_toolchain(image): + @classmethod + def get_eSDK_toolchain(cls, image): pn_task = '%s -c populate_sdk_ext' % image - bb_vars = get_bb_vars(['SDK_DEPLOY', 'TOOLCHAINEXT_OUTPUTNAME'], pn_task) + bb_vars = cls.get_bb_vars(['SDK_DEPLOY', 'TOOLCHAINEXT_OUTPUTNAME'], pn_task) sdk_deploy = bb_vars['SDK_DEPLOY'] toolchain_name = bb_vars['TOOLCHAINEXT_OUTPUTNAME'] return os.path.join(sdk_deploy, toolchain_name + '.sh') - @staticmethod - def update_configuration(cls, image, tmpdir_eSDKQA, env_eSDK, ext_sdk_path): - sstate_dir = os.path.join(cls.builddir, 'sstate-cache') - - oeSDKExtSelfTest.generate_eSDK(cls.image) - - cls.ext_sdk_path = oeSDKExtSelfTest.get_eSDK_toolchain(cls.image) - runCmd("%s -y -d \"%s\"" % (cls.ext_sdk_path, cls.tmpdir_eSDKQA)) - - cls.env_eSDK = oeSDKExtSelfTest.get_esdk_environment('', cls.tmpdir_eSDKQA) - - sstate_config=""" -SDK_LOCAL_CONF_WHITELIST = "SSTATE_MIRRORS" -SSTATE_MIRRORS = "file://.* file://%s/PATH" -CORE_IMAGE_EXTRA_INSTALL = "perl" - """ % sstate_dir - - with open(os.path.join(cls.tmpdir_eSDKQA, 'conf', 'local.conf'), 'a+') as f: - f.write(sstate_config) - @classmethod def setUpClass(cls): super(oeSDKExtSelfTest, cls).setUpClass() cls.tmpdir_eSDKQA = tempfile.mkdtemp(prefix='eSDKQA') - sstate_dir = get_bb_var('SSTATE_DIR') + sstate_dir = cls.get_bb_var('SSTATE_DIR') cls.image = 'core-image-minimal' - oeSDKExtSelfTest.generate_eSDK(cls.image) + cls.generate_eSDK(cls.image) # Install eSDK - cls.ext_sdk_path = oeSDKExtSelfTest.get_eSDK_toolchain(cls.image) - runCmd("%s -y -d \"%s\"" % (cls.ext_sdk_path, cls.tmpdir_eSDKQA)) + cls.ext_sdk_path = cls.get_eSDK_toolchain(cls.image) + cls.runCmd("%s -y -d \"%s\"" % (cls.ext_sdk_path, cls.tmpdir_eSDKQA)) - cls.env_eSDK = oeSDKExtSelfTest.get_esdk_environment('', cls.tmpdir_eSDKQA) + cls.env_eSDK = cls.get_esdk_environment('', cls.tmpdir_eSDKQA) # Configure eSDK to use sstate mirror from poky sstate_config=""" @@ -99,13 +80,12 @@ SSTATE_MIRRORS = "file://.* file://%s/PATH" @OETestID(1602) def test_install_libraries_headers(self): pn_sstate = 'bc' - bitbake(pn_sstate) + self.bitbake(pn_sstate) cmd = "devtool sdk-install %s " % pn_sstate - oeSDKExtSelfTest.run_esdk_cmd(self.env_eSDK, self.tmpdir_eSDKQA, cmd) + self.run_esdk_cmd(self.env_eSDK, self.tmpdir_eSDKQA, cmd) @OETestID(1603) def test_image_generation_binary_feeds(self): image = 'core-image-minimal' cmd = "devtool build-image %s" % image - oeSDKExtSelfTest.run_esdk_cmd(self.env_eSDK, self.tmpdir_eSDKQA, cmd) - + self.run_esdk_cmd(self.env_eSDK, self.tmpdir_eSDKQA, cmd) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 16:30:09 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 16:30:09 +0000 Subject: [oe-commits] [openembedded-core] 25/39: oeqa/selftest/cases: Use testlayer_path instead of call get_test_layer() In-Reply-To: <150056818468.11699.16758981017169458803@git.openembedded.org> References: <150056818468.11699.16758981017169458803@git.openembedded.org> Message-ID: <20170720162946.48BF7233637@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 3f8174998fb860d2ee152d4ce808b0efb4003f33 Author: An?bal Lim?n AuthorDate: Fri May 26 12:56:25 2017 -0500 oeqa/selftest/cases: Use testlayer_path instead of call get_test_layer() The testlayer_path is set at init of selftest so isn't need to call every time get_test_layer to get it. Signed-off-by: An?bal Lim?n --- meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py | 2 +- meta/lib/oeqa/selftest/cases/devtool.py | 4 ++-- meta/lib/oeqa/selftest/cases/oescripts.py | 2 +- meta/lib/oeqa/selftest/cases/sstate.py | 2 +- meta/lib/oeqa/selftest/cases/sstatetests.py | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py b/meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py index 0e58962..b42aa36 100644 --- a/meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py +++ b/meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py @@ -2,7 +2,7 @@ import os import shutil import oeqa.utils.ftools as ftools -from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_test_layer +from oeqa.utils.commands import runCmd, bitbake, get_bb_var from oeqa.selftest.cases.sstate import SStateBase diff --git a/meta/lib/oeqa/selftest/cases/devtool.py b/meta/lib/oeqa/selftest/cases/devtool.py index 88d6972..28c8467 100644 --- a/meta/lib/oeqa/selftest/cases/devtool.py +++ b/meta/lib/oeqa/selftest/cases/devtool.py @@ -8,7 +8,7 @@ import fnmatch import oeqa.utils.ftools as ftools from oeqa.selftest.case import OESelftestTestCase from oeqa.utils.commands import runCmd, bitbake, get_bb_var, create_temp_layer -from oeqa.utils.commands import get_bb_vars, runqemu, get_test_layer +from oeqa.utils.commands import get_bb_vars, runqemu from oeqa.core.decorator.oeid import OETestID class DevtoolBase(OESelftestTestCase): @@ -1530,7 +1530,7 @@ class DevtoolTests(DevtoolBase): # Ensure the recipe is where we think it should be (so that cleanup doesn't trash things) self.assertIn('/meta/', recipedir) relpth = os.path.relpath(recipedir, os.path.join(get_bb_var('COREBASE'), 'meta')) - appenddir = os.path.join(get_test_layer(), relpth) + appenddir = os.path.join(self.testlayer_path, relpth) self.track_for_cleanup(appenddir) # Try finish to the original layer self.add_command_to_tearDown('rm -rf %s ; cd %s ; git checkout %s' % (recipedir, os.path.dirname(recipedir), recipedir)) diff --git a/meta/lib/oeqa/selftest/cases/oescripts.py b/meta/lib/oeqa/selftest/cases/oescripts.py index 1ee7537..f7fe200 100644 --- a/meta/lib/oeqa/selftest/cases/oescripts.py +++ b/meta/lib/oeqa/selftest/cases/oescripts.py @@ -1,6 +1,6 @@ from oeqa.selftest.case import OESelftestTestCase from oeqa.selftest.cases.buildhistory import BuildhistoryBase -from oeqa.utils.commands import Command, runCmd, bitbake, get_bb_var, get_test_layer +from oeqa.utils.commands import Command, runCmd, bitbake, get_bb_var from oeqa.core.decorator.oeid import OETestID class BuildhistoryDiffTests(BuildhistoryBase): diff --git a/meta/lib/oeqa/selftest/cases/sstate.py b/meta/lib/oeqa/selftest/cases/sstate.py index bc2fdbd..b8c2880 100644 --- a/meta/lib/oeqa/selftest/cases/sstate.py +++ b/meta/lib/oeqa/selftest/cases/sstate.py @@ -6,7 +6,7 @@ import shutil import oeqa.utils.ftools as ftools from oeqa.selftest.case import OESelftestTestCase -from oeqa.utils.commands import runCmd, bitbake, get_bb_vars, get_test_layer +from oeqa.utils.commands import runCmd, bitbake, get_bb_vars class SStateBase(OESelftestTestCase): diff --git a/meta/lib/oeqa/selftest/cases/sstatetests.py b/meta/lib/oeqa/selftest/cases/sstatetests.py index 07a2068..4617d16 100644 --- a/meta/lib/oeqa/selftest/cases/sstatetests.py +++ b/meta/lib/oeqa/selftest/cases/sstatetests.py @@ -4,7 +4,7 @@ import glob import subprocess from oeqa.selftest.case import OESelftestTestCase -from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_test_layer +from oeqa.utils.commands import runCmd, bitbake, get_bb_var from oeqa.selftest.cases.sstate import SStateBase from oeqa.core.decorator.oeid import OETestID -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 16:30:10 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 16:30:10 +0000 Subject: [oe-commits] [openembedded-core] 26/39: oeqa/selftest/cases: Use builddir from class instead of get from environment In-Reply-To: <150056818468.11699.16758981017169458803@git.openembedded.org> References: <150056818468.11699.16758981017169458803@git.openembedded.org> Message-ID: <20170720162946.50A67233638@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 7948213ddc3932d0d3a9e5e1c2aaf8be8c1a1e13 Author: An?bal Lim?n AuthorDate: Tue May 30 14:04:54 2017 -0500 oeqa/selftest/cases: Use builddir from class instead of get from environment Now the build directory is setup by Test class, so the builddir attr points to the actual BUILDDIR instead of get from environment. Signed-off-by: An?bal Lim?n --- meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py | 7 +++---- meta/lib/oeqa/selftest/cases/bbtests.py | 4 ++-- meta/lib/oeqa/selftest/cases/eSDK.py | 2 +- meta/lib/oeqa/selftest/cases/signing.py | 2 +- 4 files changed, 7 insertions(+), 8 deletions(-) diff --git a/meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py b/meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py index b42aa36..98b8b60 100644 --- a/meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py +++ b/meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py @@ -11,7 +11,6 @@ class RebuildFromSState(SStateBase): @classmethod def setUpClass(self): super(RebuildFromSState, self).setUpClass() - self.builddir = os.path.join(os.environ.get('BUILDDIR')) def get_dep_targets(self, primary_targets): found_targets = [] @@ -24,16 +23,16 @@ class RebuildFromSState(SStateBase): os.mkdir(builddir) self.track_for_cleanup(builddir) os.mkdir(os.path.join(builddir, 'conf')) - shutil.copyfile(os.path.join(os.environ.get('BUILDDIR'), 'conf/local.conf'), os.path.join(builddir, 'conf/local.conf')) + shutil.copyfile(self.localconf_path, os.path.join(builddir, 'conf/local.conf')) config = {} config['default_sstate_dir'] = "SSTATE_DIR ?= \"${TOPDIR}/sstate-cache\"" config['null_sstate_mirrors'] = "SSTATE_MIRRORS = \"\"" config['default_tmp_dir'] = "TMPDIR = \"${TOPDIR}/tmp\"" for key in config: ftools.append_file(os.path.join(builddir, 'conf/selftest.inc'), config[key]) - shutil.copyfile(os.path.join(os.environ.get('BUILDDIR'), 'conf/bblayers.conf'), os.path.join(builddir, 'conf/bblayers.conf')) + shutil.copyfile(self.local_bblayers_path, os.path.join(builddir, 'conf/bblayers.conf')) try: - shutil.copyfile(os.path.join(os.environ.get('BUILDDIR'), 'conf/auto.conf'), os.path.join(builddir, 'conf/auto.conf')) + shutil.copyfile(self.autoconf_path, os.path.join(builddir, 'conf/auto.conf')) except: pass diff --git a/meta/lib/oeqa/selftest/cases/bbtests.py b/meta/lib/oeqa/selftest/cases/bbtests.py index 4c82049..df11a6b 100644 --- a/meta/lib/oeqa/selftest/cases/bbtests.py +++ b/meta/lib/oeqa/selftest/cases/bbtests.py @@ -22,8 +22,8 @@ class BitbakeTests(OESelftestTestCase): @OETestID(790) def test_run_bitbake_from_dir_2(self): my_env = os.environ.copy() - my_env['BBPATH'] = my_env['BUILDDIR'] - os.chdir(os.path.dirname(os.environ['BUILDDIR'])) + my_env['BBPATH'] = self.builddir + os.chdir(os.path.dirname(self.builddir)) self.assertEqual(bitbake('-e', env=my_env).status, 0, msg = "bitbake couldn't run from builddir") @OETestID(806) diff --git a/meta/lib/oeqa/selftest/cases/eSDK.py b/meta/lib/oeqa/selftest/cases/eSDK.py index d03188f..0a81a0d 100644 --- a/meta/lib/oeqa/selftest/cases/eSDK.py +++ b/meta/lib/oeqa/selftest/cases/eSDK.py @@ -49,7 +49,7 @@ class oeSDKExtSelfTest(OESelftestTestCase): @staticmethod def update_configuration(cls, image, tmpdir_eSDKQA, env_eSDK, ext_sdk_path): - sstate_dir = os.path.join(os.environ['BUILDDIR'], 'sstate-cache') + sstate_dir = os.path.join(cls.builddir, 'sstate-cache') oeSDKExtSelfTest.generate_eSDK(cls.image) diff --git a/meta/lib/oeqa/selftest/cases/signing.py b/meta/lib/oeqa/selftest/cases/signing.py index edb5f65..6ef8d8e 100644 --- a/meta/lib/oeqa/selftest/cases/signing.py +++ b/meta/lib/oeqa/selftest/cases/signing.py @@ -105,7 +105,7 @@ class Signing(OESelftestTestCase): test_recipe = 'ed' - builddir = os.environ.get('BUILDDIR') + builddir = self.builddir sstatedir = os.path.join(builddir, 'test-sstate') self.add_command_to_tearDown('bitbake -c clean %s' % test_recipe) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 16:30:21 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 16:30:21 +0000 Subject: [oe-commits] [openembedded-core] 37/39: argparse_oe: Add int_positive type In-Reply-To: <150056818468.11699.16758981017169458803@git.openembedded.org> References: <150056818468.11699.16758981017169458803@git.openembedded.org> Message-ID: <20170720162946.BD6F0233621@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 79d1c3c627b56eeaecfeef03638f49debf74edad Author: An?bal Lim?n AuthorDate: Tue Jul 11 09:16:28 2017 -0700 argparse_oe: Add int_positive type Sometimes only expect positive values from cmdline so it's better to filter at parsing cmdline step instead of validate later. Signed-off-by: An?bal Lim?n --- scripts/lib/argparse_oe.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/scripts/lib/argparse_oe.py b/scripts/lib/argparse_oe.py index bf6eb17..9bdfc1c 100644 --- a/scripts/lib/argparse_oe.py +++ b/scripts/lib/argparse_oe.py @@ -167,3 +167,10 @@ class OeHelpFormatter(argparse.HelpFormatter): return '\n'.join(lines) else: return super(OeHelpFormatter, self)._format_action(action) + +def int_positive(value): + ivalue = int(value) + if ivalue <= 0: + raise argparse.ArgumentTypeError( + "%s is not a positive int value" % value) + return ivalue -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 16:30:16 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 16:30:16 +0000 Subject: [oe-commits] [openembedded-core] 32/39: oeqa/selftest/cases: devtool enable threaded runs In-Reply-To: <150056818468.11699.16758981017169458803@git.openembedded.org> References: <150056818468.11699.16758981017169458803@git.openembedded.org> Message-ID: <20170720162946.9232F23361D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 711d1c14933ae8daf40bbf82d484226f9be19e5b Author: An?bal Lim?n AuthorDate: Tue Jun 13 13:49:17 2017 -0500 oeqa/selftest/cases: devtool enable threaded runs - Add new class DevtoolCommon to split devtool suite into other modules. - Change to use wrappers from OESelfTest class (runCmd, bitbake). - When remove workspacedir using bitbake-layers use full path because now has it own builddir. - Add a build of xz-native because some tests needs it to decompress tarballs and is supposed to be provided, see bug [YOCTO #11474]. Signed-off-by: An?bal Lim?n --- meta/lib/oeqa/selftest/cases/devtool.py | 644 ++++++++++++++++---------------- 1 file changed, 325 insertions(+), 319 deletions(-) diff --git a/meta/lib/oeqa/selftest/cases/devtool.py b/meta/lib/oeqa/selftest/cases/devtool.py index 28c8467..c66e77a 100644 --- a/meta/lib/oeqa/selftest/cases/devtool.py +++ b/meta/lib/oeqa/selftest/cases/devtool.py @@ -6,13 +6,12 @@ import glob import fnmatch import oeqa.utils.ftools as ftools +from oeqa.utils.commands import create_temp_layer, runqemu + from oeqa.selftest.case import OESelftestTestCase -from oeqa.utils.commands import runCmd, bitbake, get_bb_var, create_temp_layer -from oeqa.utils.commands import get_bb_vars, runqemu from oeqa.core.decorator.oeid import OETestID class DevtoolBase(OESelftestTestCase): - def _test_recipe_contents(self, recipefile, checkvars, checkinherits): with open(recipefile, 'r') as f: invar = None @@ -62,7 +61,7 @@ class DevtoolBase(OESelftestTestCase): self.assertIn(inherit, inherits, 'Missing inherit of %s' % inherit) def _check_bbappend(self, testrecipe, recipefile, appenddir): - result = runCmd('bitbake-layers show-appends', cwd=self.builddir) + result = self.runCmd('bitbake-layers show-appends', cwd=self.builddir) resultlines = result.output.splitlines() inrecipe = False bbappends = [] @@ -88,7 +87,7 @@ class DevtoolBase(OESelftestTestCase): create_temp_layer(templayerdir, templayername, priority, recipepathspec) if addlayer: self.add_command_to_tearDown('bitbake-layers remove-layer %s || true' % templayerdir) - result = runCmd('bitbake-layers add-layer %s' % templayerdir, cwd=self.builddir) + result = self.runCmd('bitbake-layers add-layer %s' % templayerdir, cwd=self.builddir) def _process_ls_output(self, output): """ @@ -114,47 +113,54 @@ class DevtoolBase(OESelftestTestCase): return filelist -class DevtoolTests(DevtoolBase): - +class DevtoolCommon(DevtoolBase): @classmethod def setUpClass(cls): - super(DevtoolTests, cls).setUpClass() - bb_vars = get_bb_vars(['TOPDIR', 'SSTATE_DIR']) + super(DevtoolCommon, cls).setUpClass() + bb_vars = cls.get_bb_vars(['TOPDIR', 'SSTATE_DIR']) cls.original_sstate = bb_vars['SSTATE_DIR'] cls.devtool_sstate = os.path.join(bb_vars['TOPDIR'], 'sstate_devtool') cls.sstate_conf = 'SSTATE_DIR = "%s"\n' % cls.devtool_sstate cls.sstate_conf += ('SSTATE_MIRRORS += "file://.* file:///%s/PATH"\n' % cls.original_sstate) + # XXX: some test cases needs xz-native to unpack like mdadm recipes + # and it is supposed to be provided + cls.bitbake("xz-native") + @classmethod def tearDownClass(cls): cls.logger.debug('Deleting devtool sstate cache on %s' % cls.devtool_sstate) - runCmd('rm -rf %s' % cls.devtool_sstate) - super(DevtoolTests, cls).tearDownClass() + cls.runCmd('rm -rf %s' % cls.devtool_sstate) + super(DevtoolCommon, cls).tearDownClass() def setUp(self): """Test case setup function""" - super(DevtoolTests, self).setUp() + super(DevtoolCommon, self).setUp() self.workspacedir = os.path.join(self.builddir, 'workspace') self.assertTrue(not os.path.exists(self.workspacedir), 'This test cannot be run with a workspace directory ' 'under the build directory') self.append_config(self.sstate_conf) +class DevtoolTests(DevtoolCommon): + _use_own_builddir = True + _main_thread = False + def _check_src_repo(self, repo_dir): """Check srctree git repository""" self.assertTrue(os.path.isdir(os.path.join(repo_dir, '.git')), 'git repository for external source tree not found') - result = runCmd('git status --porcelain', cwd=repo_dir) + result = self.runCmd('git status --porcelain', cwd=repo_dir) self.assertEqual(result.output.strip(), "", 'Created git repo is not clean') - result = runCmd('git symbolic-ref HEAD', cwd=repo_dir) + result = self.runCmd('git symbolic-ref HEAD', cwd=repo_dir) self.assertEqual(result.output.strip(), "refs/heads/devtool", 'Wrong branch in git repo') def _check_repo_status(self, repo_dir, expected_status): """Check the worktree status of a repository""" - result = runCmd('git status . --porcelain', + result = self.runCmd('git status . --porcelain', cwd=repo_dir) for line in result.output.splitlines(): for ind, (f_status, fn_re) in enumerate(expected_status): @@ -171,21 +177,21 @@ class DevtoolTests(DevtoolBase): @OETestID(1158) def test_create_workspace(self): # Check preconditions - result = runCmd('bitbake-layers show-layers') + result = self.runCmd('bitbake-layers show-layers') self.assertTrue('/workspace' not in result.output, 'This test cannot be run with a workspace layer in bblayers.conf') # Try creating a workspace layer with a specific path tempdir = tempfile.mkdtemp(prefix='devtoolqa') self.track_for_cleanup(tempdir) - result = runCmd('devtool create-workspace %s' % tempdir) + result = self.runCmd('devtool create-workspace %s' % tempdir) self.assertTrue(os.path.isfile(os.path.join(tempdir, 'conf', 'layer.conf')), msg = "No workspace created. devtool output: %s " % result.output) - result = runCmd('bitbake-layers show-layers') + result = self.runCmd('bitbake-layers show-layers') self.assertIn(tempdir, result.output) # Try creating a workspace layer with the default path self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') - result = runCmd('devtool create-workspace') + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) + result = self.runCmd('devtool create-workspace') self.assertTrue(os.path.isfile(os.path.join(self.workspacedir, 'conf', 'layer.conf')), msg = "No workspace created. devtool output: %s " % result.output) - result = runCmd('bitbake-layers show-layers') + result = self.runCmd('bitbake-layers show-layers') self.assertNotIn(tempdir, result.output) self.assertIn(self.workspacedir, result.output) @@ -195,25 +201,25 @@ class DevtoolTests(DevtoolBase): tempdir = tempfile.mkdtemp(prefix='devtoolqa') self.track_for_cleanup(tempdir) url = 'http://www.ivarch.com/programs/sources/pv-1.5.3.tar.bz2' - result = runCmd('wget %s' % url, cwd=tempdir) - result = runCmd('tar xfv pv-1.5.3.tar.bz2', cwd=tempdir) + result = self.runCmd('wget %s' % url, cwd=tempdir) + result = self.runCmd('tar xfv pv-1.5.3.tar.bz2', cwd=tempdir) srcdir = os.path.join(tempdir, 'pv-1.5.3') self.assertTrue(os.path.isfile(os.path.join(srcdir, 'configure')), 'Unable to find configure script in source directory') # Test devtool add self.track_for_cleanup(self.workspacedir) self.add_command_to_tearDown('bitbake -c cleansstate pv') - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') - result = runCmd('devtool add pv %s' % srcdir) + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) + result = self.runCmd('devtool add pv %s' % srcdir) self.assertExists(os.path.join(self.workspacedir, 'conf', 'layer.conf'), 'Workspace directory not created') # Test devtool status - result = runCmd('devtool status') + result = self.runCmd('devtool status') self.assertIn('pv', result.output) self.assertIn(srcdir, result.output) # Clean up anything in the workdir/sysroot/sstate cache (have to do this *after* devtool add since the recipe only exists then) - bitbake('pv -c cleansstate') + self.bitbake('pv -c cleansstate') # Test devtool build - result = runCmd('devtool build pv') - bb_vars = get_bb_vars(['D', 'bindir'], 'pv') + result = self.runCmd('devtool build pv') + bb_vars = self.get_bb_vars(['D', 'bindir'], 'pv') installdir = bb_vars['D'] self.assertTrue(installdir, 'Could not query installdir variable') bindir = bb_vars['bindir'] @@ -233,22 +239,22 @@ class DevtoolTests(DevtoolBase): url = 'https://git.yoctoproject.org/git/dbus-wait' # Force fetching to "noname" subdir so we verify we're picking up the name from autoconf # instead of the directory name - result = runCmd('git clone %s noname' % url, cwd=tempdir) + result = self.runCmd('git clone %s noname' % url, cwd=tempdir) srcdir = os.path.join(tempdir, 'noname') - result = runCmd('git reset --hard %s' % srcrev, cwd=srcdir) + result = self.runCmd('git reset --hard %s' % srcrev, cwd=srcdir) self.assertTrue(os.path.isfile(os.path.join(srcdir, 'configure.ac')), 'Unable to find configure script in source directory') # Test devtool add self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) # Don't specify a name since we should be able to auto-detect it - result = runCmd('devtool add %s' % srcdir) + result = self.runCmd('devtool add %s' % srcdir) self.assertExists(os.path.join(self.workspacedir, 'conf', 'layer.conf'), 'Workspace directory not created') # Check the recipe name is correct - recipefile = get_bb_var('FILE', pn) + recipefile = self.get_bb_var('FILE', pn) self.assertIn('%s_git.bb' % pn, recipefile, 'Recipe file incorrectly named') self.assertIn(recipefile, result.output) # Test devtool status - result = runCmd('devtool status') + result = self.runCmd('devtool status') self.assertIn(pn, result.output) self.assertIn(srcdir, result.output) self.assertIn(recipefile, result.output) @@ -269,42 +275,42 @@ class DevtoolTests(DevtoolBase): self.track_for_cleanup(tempdir) version = '1.1' url = 'https://www.intra2net.com/en/developer/libftdi/download/libftdi1-%s.tar.bz2' % version - result = runCmd('wget %s' % url, cwd=tempdir) - result = runCmd('tar xfv libftdi1-%s.tar.bz2' % version, cwd=tempdir) + result = self.runCmd('wget %s' % url, cwd=tempdir) + result = self.runCmd('tar xfv libftdi1-%s.tar.bz2' % version, cwd=tempdir) srcdir = os.path.join(tempdir, 'libftdi1-%s' % version) self.assertTrue(os.path.isfile(os.path.join(srcdir, 'CMakeLists.txt')), 'Unable to find CMakeLists.txt in source directory') # Test devtool add (and use -V so we test that too) self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') - result = runCmd('devtool add libftdi %s -V %s' % (srcdir, version)) + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) + result = self.runCmd('devtool add libftdi %s -V %s' % (srcdir, version)) self.assertExists(os.path.join(self.workspacedir, 'conf', 'layer.conf'), 'Workspace directory not created') # Test devtool status - result = runCmd('devtool status') + result = self.runCmd('devtool status') self.assertIn('libftdi', result.output) self.assertIn(srcdir, result.output) # Clean up anything in the workdir/sysroot/sstate cache (have to do this *after* devtool add since the recipe only exists then) - bitbake('libftdi -c cleansstate') + self.bitbake('libftdi -c cleansstate') # libftdi's python/CMakeLists.txt is a bit broken, so let's just disable it # There's also the matter of it installing cmake files to a path we don't # normally cover, which triggers the installed-vs-shipped QA test we have # within do_package recipefile = '%s/recipes/libftdi/libftdi_%s.bb' % (self.workspacedir, version) - result = runCmd('recipetool setvar %s EXTRA_OECMAKE -- \'-DPYTHON_BINDINGS=OFF -DLIBFTDI_CMAKE_CONFIG_DIR=${datadir}/cmake/Modules\'' % recipefile) + result = self.runCmd('recipetool setvar %s EXTRA_OECMAKE -- \'-DPYTHON_BINDINGS=OFF -DLIBFTDI_CMAKE_CONFIG_DIR=${datadir}/cmake/Modules\'' % recipefile) with open(recipefile, 'a') as f: f.write('\nFILES_${PN}-dev += "${datadir}/cmake/Modules"\n') # We don't have the ability to pick up this dependency automatically yet... f.write('\nDEPENDS += "libusb1"\n') f.write('\nTESTLIBOUTPUT = "${COMPONENTS_DIR}/${TUNE_PKGARCH}/${PN}/${libdir}"\n') # Test devtool build - result = runCmd('devtool build libftdi') - bb_vars = get_bb_vars(['TESTLIBOUTPUT', 'STAMP'], 'libftdi') + result = self.runCmd('devtool build libftdi') + bb_vars = self.get_bb_vars(['TESTLIBOUTPUT', 'STAMP'], 'libftdi') staging_libdir = bb_vars['TESTLIBOUTPUT'] self.assertTrue(staging_libdir, 'Could not query TESTLIBOUTPUT variable') self.assertTrue(os.path.isfile(os.path.join(staging_libdir, 'libftdi1.so.2.1.0')), "libftdi binary not found in STAGING_LIBDIR. Output of devtool build libftdi %s" % result.output) # Test devtool reset stampprefix = bb_vars['STAMP'] - result = runCmd('devtool reset libftdi') - result = runCmd('devtool status') + result = self.runCmd('devtool reset libftdi') + result = self.runCmd('devtool status') self.assertNotIn('libftdi', result.output) self.assertTrue(stampprefix, 'Unable to get STAMP value for recipe libftdi') matches = glob.glob(stampprefix + '*') @@ -323,34 +329,34 @@ class DevtoolTests(DevtoolBase): # Test devtool add self.track_for_cleanup(self.workspacedir) self.add_command_to_tearDown('bitbake -c cleansstate %s' % testrecipe) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') - result = runCmd('devtool add %s %s -f %s' % (testrecipe, srcdir, url)) + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) + result = self.runCmd('devtool add %s %s -f %s' % (testrecipe, srcdir, url)) self.assertExists(os.path.join(self.workspacedir, 'conf', 'layer.conf'), 'Workspace directory not created. %s' % result.output) self.assertTrue(os.path.isfile(os.path.join(srcdir, 'setup.py')), 'Unable to find setup.py in source directory') self.assertTrue(os.path.isdir(os.path.join(srcdir, '.git')), 'git repository for external source tree was not created') # Test devtool status - result = runCmd('devtool status') + result = self.runCmd('devtool status') self.assertIn(testrecipe, result.output) self.assertIn(srcdir, result.output) # Check recipe - recipefile = get_bb_var('FILE', testrecipe) + recipefile = self.get_bb_var('FILE', testrecipe) self.assertIn('%s_%s.bb' % (testrecipe, testver), recipefile, 'Recipe file incorrectly named') checkvars = {} checkvars['S'] = '${WORKDIR}/MarkupSafe-${PV}' checkvars['SRC_URI'] = url.replace(testver, '${PV}') self._test_recipe_contents(recipefile, checkvars, []) # Try with version specified - result = runCmd('devtool reset -n %s' % testrecipe) + result = self.runCmd('devtool reset -n %s' % testrecipe) shutil.rmtree(srcdir) fakever = '1.9' - result = runCmd('devtool add %s %s -f %s -V %s' % (testrecipe, srcdir, url, fakever)) + result = self.runCmd('devtool add %s %s -f %s -V %s' % (testrecipe, srcdir, url, fakever)) self.assertTrue(os.path.isfile(os.path.join(srcdir, 'setup.py')), 'Unable to find setup.py in source directory') # Test devtool status - result = runCmd('devtool status') + result = self.runCmd('devtool status') self.assertIn(testrecipe, result.output) self.assertIn(srcdir, result.output) # Check recipe - recipefile = get_bb_var('FILE', testrecipe) + recipefile = self.get_bb_var('FILE', testrecipe) self.assertIn('%s_%s.bb' % (testrecipe, fakever), recipefile, 'Recipe file incorrectly named') checkvars = {} checkvars['S'] = '${WORKDIR}/MarkupSafe-%s' % testver @@ -368,16 +374,16 @@ class DevtoolTests(DevtoolBase): # Test devtool add self.track_for_cleanup(self.workspacedir) self.add_command_to_tearDown('bitbake -c cleansstate %s' % testrecipe) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') - result = runCmd('devtool add %s %s -a -f %s' % (testrecipe, srcdir, url)) + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) + result = self.runCmd('devtool add %s %s -a -f %s' % (testrecipe, srcdir, url)) self.assertExists(os.path.join(self.workspacedir, 'conf', 'layer.conf'), 'Workspace directory not created: %s' % result.output) self.assertTrue(os.path.isfile(os.path.join(srcdir, 'imraa', 'imraa.c')), 'Unable to find imraa/imraa.c in source directory') # Test devtool status - result = runCmd('devtool status') + result = self.runCmd('devtool status') self.assertIn(testrecipe, result.output) self.assertIn(srcdir, result.output) # Check recipe - recipefile = get_bb_var('FILE', testrecipe) + recipefile = self.get_bb_var('FILE', testrecipe) self.assertIn('_git.bb', recipefile, 'Recipe file incorrectly named') checkvars = {} checkvars['S'] = '${WORKDIR}/git' @@ -386,17 +392,17 @@ class DevtoolTests(DevtoolBase): checkvars['SRCREV'] = '${AUTOREV}' self._test_recipe_contents(recipefile, checkvars, []) # Try with revision and version specified - result = runCmd('devtool reset -n %s' % testrecipe) + result = self.runCmd('devtool reset -n %s' % testrecipe) shutil.rmtree(srcdir) url_rev = '%s;rev=%s' % (url, checkrev) - result = runCmd('devtool add %s %s -f "%s" -V 1.5' % (testrecipe, srcdir, url_rev)) + result = self.runCmd('devtool add %s %s -f "%s" -V 1.5' % (testrecipe, srcdir, url_rev)) self.assertTrue(os.path.isfile(os.path.join(srcdir, 'imraa', 'imraa.c')), 'Unable to find imraa/imraa.c in source directory') # Test devtool status - result = runCmd('devtool status') + result = self.runCmd('devtool status') self.assertIn(testrecipe, result.output) self.assertIn(srcdir, result.output) # Check recipe - recipefile = get_bb_var('FILE', testrecipe) + recipefile = self.get_bb_var('FILE', testrecipe) self.assertIn('_git.bb', recipefile, 'Recipe file incorrectly named') checkvars = {} checkvars['S'] = '${WORKDIR}/git' @@ -416,17 +422,17 @@ class DevtoolTests(DevtoolBase): srcdir = os.path.join(self.workspacedir, 'sources', testrecipe) # Test devtool add self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') - result = runCmd('devtool add %s' % url) + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) + result = self.runCmd('devtool add %s' % url) self.assertExists(os.path.join(self.workspacedir, 'conf', 'layer.conf'), 'Workspace directory not created. %s' % result.output) self.assertTrue(os.path.isfile(os.path.join(srcdir, 'configure')), 'Unable to find configure script in source directory') self.assertTrue(os.path.isdir(os.path.join(srcdir, '.git')), 'git repository for external source tree was not created') # Test devtool status - result = runCmd('devtool status') + result = self.runCmd('devtool status') self.assertIn(testrecipe, result.output) self.assertIn(srcdir, result.output) # Check recipe - recipefile = get_bb_var('FILE', testrecipe) + recipefile = self.get_bb_var('FILE', testrecipe) self.assertIn('%s_%s.bb' % (testrecipe, testver), recipefile, 'Recipe file incorrectly named') checkvars = {} checkvars['S'] = None @@ -440,21 +446,21 @@ class DevtoolTests(DevtoolBase): tempdir = tempfile.mkdtemp(prefix='devtoolqa') self.track_for_cleanup(tempdir) self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) self.add_command_to_tearDown('bitbake -c clean mdadm') - result = runCmd('devtool modify mdadm -x %s' % tempdir) + result = self.runCmd('devtool modify mdadm -x %s' % tempdir) self.assertExists(os.path.join(tempdir, 'Makefile'), 'Extracted source could not be found') self.assertExists(os.path.join(self.workspacedir, 'conf', 'layer.conf'), 'Workspace directory not created') matches = glob.glob(os.path.join(self.workspacedir, 'appends', 'mdadm_*.bbappend')) self.assertTrue(matches, 'bbappend not created %s' % result.output) # Test devtool status - result = runCmd('devtool status') + result = self.runCmd('devtool status') self.assertIn('mdadm', result.output) self.assertIn(tempdir, result.output) self._check_src_repo(tempdir) - bitbake('mdadm -C unpack') + self.bitbake('mdadm -C unpack') def check_line(checkfile, expected, message, present=True): # Check for $expected, on a line on its own, in checkfile. @@ -465,7 +471,7 @@ class DevtoolTests(DevtoolBase): self.assertNotIn(expected + '\n', f, message) modfile = os.path.join(tempdir, 'mdadm.8.in') - bb_vars = get_bb_vars(['PKGD', 'mandir'], 'mdadm') + bb_vars = self.get_bb_vars(['PKGD', 'mandir'], 'mdadm') pkgd = bb_vars['PKGD'] self.assertTrue(pkgd, 'Could not query PKGD variable') mandir = bb_vars['mandir'] @@ -475,20 +481,20 @@ class DevtoolTests(DevtoolBase): check_line(modfile, 'Linux Software RAID', 'Could not find initial string') check_line(modfile, 'antique pin sardine', 'Unexpectedly found replacement string', present=False) - result = runCmd("sed -i 's!^Linux Software RAID$!antique pin sardine!' %s" % modfile) + result = self.runCmd("sed -i 's!^Linux Software RAID$!antique pin sardine!' %s" % modfile) check_line(modfile, 'antique pin sardine', 'mdadm.8.in file not modified (sed failed)') - bitbake('mdadm -c package') + self.bitbake('mdadm -c package') check_line(manfile, 'antique pin sardine', 'man file not modified. man searched file path: %s' % manfile) - result = runCmd('git checkout -- %s' % modfile, cwd=tempdir) + result = self.runCmd('git checkout -- %s' % modfile, cwd=tempdir) check_line(modfile, 'Linux Software RAID', 'man .in file not restored (git failed)') - bitbake('mdadm -c package') + self.bitbake('mdadm -c package') check_line(manfile, 'Linux Software RAID', 'man file not updated. man searched file path: %s' % manfile) - result = runCmd('devtool reset mdadm') - result = runCmd('devtool status') + result = self.runCmd('devtool reset mdadm') + result = self.runCmd('devtool status') self.assertNotIn('mdadm', result.output) @OETestID(1620) @@ -501,7 +507,7 @@ class DevtoolTests(DevtoolBase): self.assertNotExists(f) # Clean up anything in the workdir/sysroot/sstate cache - bitbake('mdadm m4 -c cleansstate') + self.bitbake('mdadm m4 -c cleansstate') # Try modifying a recipe tempdir_mdadm = tempfile.mkdtemp(prefix='devtoolqa') tempdir_m4 = tempfile.mkdtemp(prefix='devtoolqa') @@ -510,27 +516,27 @@ class DevtoolTests(DevtoolBase): self.track_for_cleanup(tempdir_m4) self.track_for_cleanup(builddir_m4) self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) self.add_command_to_tearDown('bitbake -c clean mdadm m4') self.write_recipeinc('m4', 'EXTERNALSRC_BUILD = "%s"\ndo_clean() {\n\t:\n}\n' % builddir_m4) try: - runCmd('devtool modify mdadm -x %s' % tempdir_mdadm) - runCmd('devtool modify m4 -x %s' % tempdir_m4) + self.runCmd('devtool modify mdadm -x %s' % tempdir_mdadm) + self.runCmd('devtool modify m4 -x %s' % tempdir_m4) assertNoFile(tempdir_mdadm, 'mdadm') assertNoFile(builddir_m4, 'src/m4') - result = bitbake('m4 -e') - result = bitbake('mdadm m4 -c compile') + result = self.bitbake('m4 -e') + result = self.bitbake('mdadm m4 -c compile') self.assertEqual(result.status, 0) assertFile(tempdir_mdadm, 'mdadm') assertFile(builddir_m4, 'src/m4') # Check that buildclean task exists and does call make clean - bitbake('mdadm m4 -c buildclean') + self.bitbake('mdadm m4 -c buildclean') assertNoFile(tempdir_mdadm, 'mdadm') assertNoFile(builddir_m4, 'src/m4') - bitbake('mdadm m4 -c compile') + self.bitbake('mdadm m4 -c compile') assertFile(tempdir_mdadm, 'mdadm') assertFile(builddir_m4, 'src/m4') - bitbake('mdadm m4 -c clean') + self.bitbake('mdadm m4 -c clean') # Check that buildclean task is run before clean for B == S assertNoFile(tempdir_mdadm, 'mdadm') # Check that buildclean task is not run before clean for B != S @@ -544,11 +550,11 @@ class DevtoolTests(DevtoolBase): tempdir = tempfile.mkdtemp(prefix='devtoolqa') self.track_for_cleanup(tempdir) self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) testrecipes = 'perf kernel-devsrc package-index core-image-minimal meta-toolchain packagegroup-core-sdk meta-ide-support'.split() # Find actual name of gcc-source since it now includes the version - crude, but good enough for this purpose - result = runCmd('bitbake-layers show-recipes gcc-source*') + result = self.runCmd('bitbake-layers show-recipes gcc-source*') for line in result.output.splitlines(): # just match those lines that contain a real target m = re.match('(?P^[a-zA-Z0-9.-]+)(?P:$)', line) @@ -556,14 +562,14 @@ class DevtoolTests(DevtoolBase): testrecipes.append(m.group('recipe')) for testrecipe in testrecipes: # Check it's a valid recipe - bitbake('%s -e' % testrecipe) + self.bitbake('%s -e' % testrecipe) # devtool extract should fail - result = runCmd('devtool extract %s %s' % (testrecipe, os.path.join(tempdir, testrecipe)), ignore_status=True) + result = self.runCmd('devtool extract %s %s' % (testrecipe, os.path.join(tempdir, testrecipe)), ignore_status=True) self.assertNotEqual(result.status, 0, 'devtool extract on %s should have failed. devtool output: %s' % (testrecipe, result.output)) self.assertNotIn('Fetching ', result.output, 'devtool extract on %s should have errored out before trying to fetch' % testrecipe) self.assertIn('ERROR: ', result.output, 'devtool extract on %s should have given an ERROR' % testrecipe) # devtool modify should fail - result = runCmd('devtool modify %s -x %s' % (testrecipe, os.path.join(tempdir, testrecipe)), ignore_status=True) + result = self.runCmd('devtool modify %s -x %s' % (testrecipe, os.path.join(tempdir, testrecipe)), ignore_status=True) self.assertNotEqual(result.status, 0, 'devtool modify on %s should have failed. devtool output: %s' % (testrecipe, result.output)) self.assertIn('ERROR: ', result.output, 'devtool modify on %s should have given an ERROR' % testrecipe) @@ -575,22 +581,22 @@ class DevtoolTests(DevtoolBase): tempdir = tempfile.mkdtemp(prefix='devtoolqa') self.track_for_cleanup(tempdir) self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) bbclassextended = False inheritnative = False testrecipes = 'mtools-native apt-native desktop-file-utils-native'.split() for testrecipe in testrecipes: - checkextend = 'native' in (get_bb_var('BBCLASSEXTEND', testrecipe) or '').split() + checkextend = 'native' in (self.get_bb_var('BBCLASSEXTEND', testrecipe) or '').split() if not bbclassextended: bbclassextended = checkextend if not inheritnative: inheritnative = not checkextend - result = runCmd('devtool modify %s -x %s' % (testrecipe, os.path.join(tempdir, testrecipe))) + result = self.runCmd('devtool modify %s -x %s' % (testrecipe, os.path.join(tempdir, testrecipe))) self.assertNotIn('ERROR: ', result.output, 'ERROR in devtool modify output: %s' % result.output) - result = runCmd('devtool build %s' % testrecipe) + result = self.runCmd('devtool build %s' % testrecipe) self.assertNotIn('ERROR: ', result.output, 'ERROR in devtool build output: %s' % result.output) - result = runCmd('devtool reset %s' % testrecipe) + result = self.runCmd('devtool reset %s' % testrecipe) self.assertNotIn('ERROR: ', result.output, 'ERROR in devtool reset output: %s' % result.output) self.assertTrue(bbclassextended, 'None of these recipes are BBCLASSEXTENDed to native - need to adjust testrecipes list: %s' % ', '.join(testrecipes)) @@ -601,35 +607,35 @@ class DevtoolTests(DevtoolBase): def test_devtool_modify_git(self): # Check preconditions testrecipe = 'mkelfimage' - src_uri = get_bb_var('SRC_URI', testrecipe) + src_uri = self.get_bb_var('SRC_URI', testrecipe) self.assertIn('git://', src_uri, 'This test expects the %s recipe to be a git recipe' % testrecipe) # Clean up anything in the workdir/sysroot/sstate cache - bitbake('%s -c cleansstate' % testrecipe) + self.bitbake('%s -c cleansstate' % testrecipe) # Try modifying a recipe tempdir = tempfile.mkdtemp(prefix='devtoolqa') self.track_for_cleanup(tempdir) self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) self.add_command_to_tearDown('bitbake -c clean %s' % testrecipe) - result = runCmd('devtool modify %s -x %s' % (testrecipe, tempdir)) + result = self.runCmd('devtool modify %s -x %s' % (testrecipe, tempdir)) self.assertExists(os.path.join(tempdir, 'Makefile'), 'Extracted source could not be found') self.assertExists(os.path.join(self.workspacedir, 'conf', 'layer.conf'), 'Workspace directory not created. devtool output: %s' % result.output) matches = glob.glob(os.path.join(self.workspacedir, 'appends', 'mkelfimage_*.bbappend')) self.assertTrue(matches, 'bbappend not created') # Test devtool status - result = runCmd('devtool status') + result = self.runCmd('devtool status') self.assertIn(testrecipe, result.output) self.assertIn(tempdir, result.output) # Check git repo self._check_src_repo(tempdir) # Try building - bitbake(testrecipe) + self.bitbake(testrecipe) @OETestID(1167) def test_devtool_modify_localfiles(self): # Check preconditions testrecipe = 'lighttpd' - src_uri = (get_bb_var('SRC_URI', testrecipe) or '').split() + src_uri = (self.get_bb_var('SRC_URI', testrecipe) or '').split() foundlocal = False for item in src_uri: if item.startswith('file://') and '.patch' not in item: @@ -637,24 +643,24 @@ class DevtoolTests(DevtoolBase): break self.assertTrue(foundlocal, 'This test expects the %s recipe to fetch local files and it seems that it no longer does' % testrecipe) # Clean up anything in the workdir/sysroot/sstate cache - bitbake('%s -c cleansstate' % testrecipe) + self.bitbake('%s -c cleansstate' % testrecipe) # Try modifying a recipe tempdir = tempfile.mkdtemp(prefix='devtoolqa') self.track_for_cleanup(tempdir) self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) self.add_command_to_tearDown('bitbake -c clean %s' % testrecipe) - result = runCmd('devtool modify %s -x %s' % (testrecipe, tempdir)) + result = self.runCmd('devtool modify %s -x %s' % (testrecipe, tempdir)) self.assertExists(os.path.join(tempdir, 'configure.ac'), 'Extracted source could not be found') self.assertExists(os.path.join(self.workspacedir, 'conf', 'layer.conf'), 'Workspace directory not created') matches = glob.glob(os.path.join(self.workspacedir, 'appends', '%s_*.bbappend' % testrecipe)) self.assertTrue(matches, 'bbappend not created') # Test devtool status - result = runCmd('devtool status') + result = self.runCmd('devtool status') self.assertIn(testrecipe, result.output) self.assertIn(tempdir, result.output) # Try building - bitbake(testrecipe) + self.bitbake(testrecipe) @OETestID(1378) def test_devtool_modify_virtual(self): @@ -664,14 +670,14 @@ class DevtoolTests(DevtoolBase): tempdir = tempfile.mkdtemp(prefix='devtoolqa') self.track_for_cleanup(tempdir) self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') - result = runCmd('devtool modify %s -x %s' % (virtrecipe, tempdir)) + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) + result = self.runCmd('devtool modify %s -x %s' % (virtrecipe, tempdir)) self.assertExists(os.path.join(tempdir, 'Makefile.am'), 'Extracted source could not be found') self.assertExists(os.path.join(self.workspacedir, 'conf', 'layer.conf'), 'Workspace directory not created') matches = glob.glob(os.path.join(self.workspacedir, 'appends', '%s_*.bbappend' % realrecipe)) self.assertTrue(matches, 'bbappend not created %s' % result.output) # Test devtool status - result = runCmd('devtool status') + result = self.runCmd('devtool status') self.assertNotIn(virtrecipe, result.output) self.assertIn(realrecipe, result.output) # Check git repo @@ -683,7 +689,7 @@ class DevtoolTests(DevtoolBase): def test_devtool_update_recipe(self): # Check preconditions testrecipe = 'minicom' - bb_vars = get_bb_vars(['FILE', 'SRC_URI'], testrecipe) + bb_vars = self.get_bb_vars(['FILE', 'SRC_URI'], testrecipe) recipefile = bb_vars['FILE'] src_uri = bb_vars['SRC_URI'] self.assertNotIn('git://', src_uri, 'This test expects the %s recipe to NOT be a git recipe' % testrecipe) @@ -692,21 +698,21 @@ class DevtoolTests(DevtoolBase): tempdir = tempfile.mkdtemp(prefix='devtoolqa') self.track_for_cleanup(tempdir) self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) # (don't bother with cleaning the recipe on teardown, we won't be building it) # We don't use -x here so that we test the behaviour of devtool modify without it - result = runCmd('devtool modify %s %s' % (testrecipe, tempdir)) + result = self.runCmd('devtool modify %s %s' % (testrecipe, tempdir)) # Check git repo self._check_src_repo(tempdir) # Add a couple of commits # FIXME: this only tests adding, need to also test update and remove - result = runCmd('echo "Additional line" >> README', cwd=tempdir) - result = runCmd('git commit -a -m "Change the README"', cwd=tempdir) - result = runCmd('echo "A new file" > devtool-new-file', cwd=tempdir) - result = runCmd('git add devtool-new-file', cwd=tempdir) - result = runCmd('git commit -m "Add a new file"', cwd=tempdir) + result = self.runCmd('echo "Additional line" >> README', cwd=tempdir) + result = self.runCmd('git commit -a -m "Change the README"', cwd=tempdir) + result = self.runCmd('echo "A new file" > devtool-new-file', cwd=tempdir) + result = self.runCmd('git add devtool-new-file', cwd=tempdir) + result = self.runCmd('git commit -m "Add a new file"', cwd=tempdir) self.add_command_to_tearDown('cd %s; rm %s/*.patch; git checkout %s %s' % (os.path.dirname(recipefile), testrecipe, testrecipe, os.path.basename(recipefile))) - result = runCmd('devtool update-recipe %s' % testrecipe) + result = self.runCmd('devtool update-recipe %s' % testrecipe) expected_status = [(' M', '.*/%s$' % os.path.basename(recipefile)), ('??', '.*/0001-Change-the-README.patch$'), ('??', '.*/0002-Add-a-new-file.patch$')] @@ -716,7 +722,7 @@ class DevtoolTests(DevtoolBase): def test_devtool_update_recipe_git(self): # Check preconditions testrecipe = 'mtd-utils' - bb_vars = get_bb_vars(['FILE', 'SRC_URI'], testrecipe) + bb_vars = self.get_bb_vars(['FILE', 'SRC_URI'], testrecipe) recipefile = bb_vars['FILE'] src_uri = bb_vars['SRC_URI'] self.assertIn('git://', src_uri, 'This test expects the %s recipe to be a git recipe' % testrecipe) @@ -730,25 +736,25 @@ class DevtoolTests(DevtoolBase): tempdir = tempfile.mkdtemp(prefix='devtoolqa') self.track_for_cleanup(tempdir) self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) # (don't bother with cleaning the recipe on teardown, we won't be building it) - result = runCmd('devtool modify %s -x %s' % (testrecipe, tempdir)) + result = self.runCmd('devtool modify %s -x %s' % (testrecipe, tempdir)) # Check git repo self._check_src_repo(tempdir) # Add a couple of commits # FIXME: this only tests adding, need to also test update and remove - result = runCmd('echo "# Additional line" >> Makefile.am', cwd=tempdir) - result = runCmd('git commit -a -m "Change the Makefile"', cwd=tempdir) - result = runCmd('echo "A new file" > devtool-new-file', cwd=tempdir) - result = runCmd('git add devtool-new-file', cwd=tempdir) - result = runCmd('git commit -m "Add a new file"', cwd=tempdir) + result = self.runCmd('echo "# Additional line" >> Makefile.am', cwd=tempdir) + result = self.runCmd('git commit -a -m "Change the Makefile"', cwd=tempdir) + result = self.runCmd('echo "A new file" > devtool-new-file', cwd=tempdir) + result = self.runCmd('git add devtool-new-file', cwd=tempdir) + result = self.runCmd('git commit -m "Add a new file"', cwd=tempdir) self.add_command_to_tearDown('cd %s; rm -rf %s; git checkout %s %s' % (os.path.dirname(recipefile), testrecipe, testrecipe, os.path.basename(recipefile))) - result = runCmd('devtool update-recipe -m srcrev %s' % testrecipe) + result = self.runCmd('devtool update-recipe -m srcrev %s' % testrecipe) expected_status = [(' M', '.*/%s$' % os.path.basename(recipefile))] + \ [(' D', '.*/%s$' % patch) for patch in patches] self._check_repo_status(os.path.dirname(recipefile), expected_status) - result = runCmd('git diff %s' % os.path.basename(recipefile), cwd=os.path.dirname(recipefile)) + result = self.runCmd('git diff %s' % os.path.basename(recipefile), cwd=os.path.dirname(recipefile)) addlines = ['SRCREV = ".*"', 'SRC_URI = "git://git.infradead.org/mtd-utils.git"'] srcurilines = src_uri.split() srcurilines[0] = 'SRC_URI = "' + srcurilines[0] @@ -772,9 +778,9 @@ class DevtoolTests(DevtoolBase): break self.assertTrue(matched, 'Unexpected diff remove line: %s' % line) # Now try with auto mode - runCmd('cd %s; git checkout %s %s' % (os.path.dirname(recipefile), testrecipe, os.path.basename(recipefile))) - result = runCmd('devtool update-recipe %s' % testrecipe) - result = runCmd('git rev-parse --show-toplevel', cwd=os.path.dirname(recipefile)) + self.runCmd('cd %s; git checkout %s %s' % (os.path.dirname(recipefile), testrecipe, os.path.basename(recipefile))) + result = self.runCmd('devtool update-recipe %s' % testrecipe) + result = self.runCmd('git rev-parse --show-toplevel', cwd=os.path.dirname(recipefile)) topleveldir = result.output.strip() relpatchpath = os.path.join(os.path.relpath(os.path.dirname(recipefile), topleveldir), testrecipe) expected_status = [(' M', os.path.relpath(recipefile, topleveldir)), @@ -786,7 +792,7 @@ class DevtoolTests(DevtoolBase): def test_devtool_update_recipe_append(self): # Check preconditions testrecipe = 'mdadm' - bb_vars = get_bb_vars(['FILE', 'SRC_URI'], testrecipe) + bb_vars = self.get_bb_vars(['FILE', 'SRC_URI'], testrecipe) recipefile = bb_vars['FILE'] src_uri = bb_vars['SRC_URI'] self.assertNotIn('git://', src_uri, 'This test expects the %s recipe to NOT be a git recipe' % testrecipe) @@ -797,19 +803,19 @@ class DevtoolTests(DevtoolBase): templayerdir = os.path.join(tempdir, 'layer') self.track_for_cleanup(tempdir) self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) # (don't bother with cleaning the recipe on teardown, we won't be building it) - result = runCmd('devtool modify %s -x %s' % (testrecipe, tempsrcdir)) + result = self.runCmd('devtool modify %s -x %s' % (testrecipe, tempsrcdir)) # Check git repo self._check_src_repo(tempsrcdir) # Add a commit - result = runCmd("sed 's!\\(#define VERSION\\W*\"[^\"]*\\)\"!\\1-custom\"!' -i ReadMe.c", cwd=tempsrcdir) - result = runCmd('git commit -a -m "Add our custom version"', cwd=tempsrcdir) + result = self.runCmd("sed 's!\\(#define VERSION\\W*\"[^\"]*\\)\"!\\1-custom\"!' -i ReadMe.c", cwd=tempsrcdir) + result = self.runCmd('git commit -a -m "Add our custom version"', cwd=tempsrcdir) self.add_command_to_tearDown('cd %s; rm -f %s/*.patch; git checkout .' % (os.path.dirname(recipefile), testrecipe)) # Create a temporary layer and add it to bblayers.conf self._create_temp_layer(templayerdir, True, 'selftestupdaterecipe') # Create the bbappend - result = runCmd('devtool update-recipe %s -a %s' % (testrecipe, templayerdir)) + result = self.runCmd('devtool update-recipe %s -a %s' % (testrecipe, templayerdir)) self.assertNotIn('WARNING:', result.output) # Check recipe is still clean self._check_repo_status(os.path.dirname(recipefile), []) @@ -829,12 +835,12 @@ class DevtoolTests(DevtoolBase): self.assertEqual(expectedlines, f.readlines()) # Check we can run it again and bbappend isn't modified - result = runCmd('devtool update-recipe %s -a %s' % (testrecipe, templayerdir)) + result = self.runCmd('devtool update-recipe %s -a %s' % (testrecipe, templayerdir)) with open(bbappendfile, 'r') as f: self.assertEqual(expectedlines, f.readlines()) # Drop new commit and check patch gets deleted - result = runCmd('git reset HEAD^', cwd=tempsrcdir) - result = runCmd('devtool update-recipe %s -a %s' % (testrecipe, templayerdir)) + result = self.runCmd('git reset HEAD^', cwd=tempsrcdir) + result = self.runCmd('devtool update-recipe %s -a %s' % (testrecipe, templayerdir)) self.assertNotExists(patchfile, 'Patch file not deleted') expectedlines2 = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n', '\n'] @@ -842,9 +848,9 @@ class DevtoolTests(DevtoolBase): self.assertEqual(expectedlines2, f.readlines()) # Put commit back and check we can run it if layer isn't in bblayers.conf os.remove(bbappendfile) - result = runCmd('git commit -a -m "Add our custom version"', cwd=tempsrcdir) - result = runCmd('bitbake-layers remove-layer %s' % templayerdir, cwd=self.builddir) - result = runCmd('devtool update-recipe %s -a %s' % (testrecipe, templayerdir)) + result = self.runCmd('git commit -a -m "Add our custom version"', cwd=tempsrcdir) + result = self.runCmd('bitbake-layers remove-layer %s' % templayerdir, cwd=self.builddir) + result = self.runCmd('devtool update-recipe %s -a %s' % (testrecipe, templayerdir)) self.assertIn('WARNING: Specified layer is not currently enabled in bblayers.conf', result.output) self.assertExists(patchfile, 'Patch file not created (with disabled layer)') with open(bbappendfile, 'r') as f: @@ -855,7 +861,7 @@ class DevtoolTests(DevtoolBase): def test_devtool_update_recipe_append_git(self): # Check preconditions testrecipe = 'mtd-utils' - bb_vars = get_bb_vars(['FILE', 'SRC_URI'], testrecipe) + bb_vars = self.get_bb_vars(['FILE', 'SRC_URI'], testrecipe) recipefile = bb_vars['FILE'] src_uri = bb_vars['SRC_URI'] self.assertIn('git://', src_uri, 'This test expects the %s recipe to be a git recipe' % testrecipe) @@ -870,14 +876,14 @@ class DevtoolTests(DevtoolBase): templayerdir = os.path.join(tempdir, 'layer') self.track_for_cleanup(tempdir) self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) # (don't bother with cleaning the recipe on teardown, we won't be building it) - result = runCmd('devtool modify %s -x %s' % (testrecipe, tempsrcdir)) + result = self.runCmd('devtool modify %s -x %s' % (testrecipe, tempsrcdir)) # Check git repo self._check_src_repo(tempsrcdir) # Add a commit - result = runCmd('echo "# Additional line" >> Makefile.am', cwd=tempsrcdir) - result = runCmd('git commit -a -m "Change the Makefile"', cwd=tempsrcdir) + result = self.runCmd('echo "# Additional line" >> Makefile.am', cwd=tempsrcdir) + result = self.runCmd('git commit -a -m "Change the Makefile"', cwd=tempsrcdir) self.add_command_to_tearDown('cd %s; rm -f %s/*.patch; git checkout .' % (os.path.dirname(recipefile), testrecipe)) # Create a temporary layer os.makedirs(os.path.join(templayerdir, 'conf')) @@ -889,9 +895,9 @@ class DevtoolTests(DevtoolBase): f.write('BBFILE_PRIORITY_oeselftesttemplayer = "999"\n') f.write('BBFILE_PATTERN_IGNORE_EMPTY_oeselftesttemplayer = "1"\n') self.add_command_to_tearDown('bitbake-layers remove-layer %s || true' % templayerdir) - result = runCmd('bitbake-layers add-layer %s' % templayerdir, cwd=self.builddir) + result = self.runCmd('bitbake-layers add-layer %s' % templayerdir, cwd=self.builddir) # Create the bbappend - result = runCmd('devtool update-recipe -m srcrev %s -a %s' % (testrecipe, templayerdir)) + result = self.runCmd('devtool update-recipe -m srcrev %s -a %s' % (testrecipe, templayerdir)) self.assertNotIn('WARNING:', result.output) # Check recipe is still clean self._check_repo_status(os.path.dirname(recipefile), []) @@ -902,7 +908,7 @@ class DevtoolTests(DevtoolBase): self.assertNotExists(os.path.join(appenddir, testrecipe), 'Patch directory should not be created') # Check bbappend contents - result = runCmd('git rev-parse HEAD', cwd=tempsrcdir) + result = self.runCmd('git rev-parse HEAD', cwd=tempsrcdir) expectedlines = set(['SRCREV = "%s"\n' % result.output, '\n', 'SRC_URI = "%s"\n' % git_uri, @@ -911,14 +917,14 @@ class DevtoolTests(DevtoolBase): self.assertEqual(expectedlines, set(f.readlines())) # Check we can run it again and bbappend isn't modified - result = runCmd('devtool update-recipe -m srcrev %s -a %s' % (testrecipe, templayerdir)) + result = self.runCmd('devtool update-recipe -m srcrev %s -a %s' % (testrecipe, templayerdir)) with open(bbappendfile, 'r') as f: self.assertEqual(expectedlines, set(f.readlines())) # Drop new commit and check SRCREV changes - result = runCmd('git reset HEAD^', cwd=tempsrcdir) - result = runCmd('devtool update-recipe -m srcrev %s -a %s' % (testrecipe, templayerdir)) + result = self.runCmd('git reset HEAD^', cwd=tempsrcdir) + result = self.runCmd('devtool update-recipe -m srcrev %s -a %s' % (testrecipe, templayerdir)) self.assertNotExists(os.path.join(appenddir, testrecipe), 'Patch directory should not be created') - result = runCmd('git rev-parse HEAD', cwd=tempsrcdir) + result = self.runCmd('git rev-parse HEAD', cwd=tempsrcdir) expectedlines = set(['SRCREV = "%s"\n' % result.output, '\n', 'SRC_URI = "%s"\n' % git_uri, @@ -927,12 +933,12 @@ class DevtoolTests(DevtoolBase): self.assertEqual(expectedlines, set(f.readlines())) # Put commit back and check we can run it if layer isn't in bblayers.conf os.remove(bbappendfile) - result = runCmd('git commit -a -m "Change the Makefile"', cwd=tempsrcdir) - result = runCmd('bitbake-layers remove-layer %s' % templayerdir, cwd=self.builddir) - result = runCmd('devtool update-recipe -m srcrev %s -a %s' % (testrecipe, templayerdir)) + result = self.runCmd('git commit -a -m "Change the Makefile"', cwd=tempsrcdir) + result = self.runCmd('bitbake-layers remove-layer %s' % templayerdir, cwd=self.builddir) + result = self.runCmd('devtool update-recipe -m srcrev %s -a %s' % (testrecipe, templayerdir)) self.assertIn('WARNING: Specified layer is not currently enabled in bblayers.conf', result.output) self.assertNotExists(os.path.join(appenddir, testrecipe), 'Patch directory should not be created') - result = runCmd('git rev-parse HEAD', cwd=tempsrcdir) + result = self.runCmd('git rev-parse HEAD', cwd=tempsrcdir) expectedlines = set(['SRCREV = "%s"\n' % result.output, '\n', 'SRC_URI = "%s"\n' % git_uri, @@ -945,28 +951,28 @@ class DevtoolTests(DevtoolBase): def test_devtool_update_recipe_local_files(self): """Check that local source files are copied over instead of patched""" testrecipe = 'makedevs' - recipefile = get_bb_var('FILE', testrecipe) + recipefile = self.get_bb_var('FILE', testrecipe) # Setup srctree for modifying the recipe tempdir = tempfile.mkdtemp(prefix='devtoolqa') self.track_for_cleanup(tempdir) self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) # (don't bother with cleaning the recipe on teardown, we won't be # building it) - result = runCmd('devtool modify %s -x %s' % (testrecipe, tempdir)) + result = self.runCmd('devtool modify %s -x %s' % (testrecipe, tempdir)) # Check git repo self._check_src_repo(tempdir) # Try building just to ensure we haven't broken that - bitbake("%s" % testrecipe) + self.bitbake("%s" % testrecipe) # Edit / commit local source - runCmd('echo "/* Foobar */" >> oe-local-files/makedevs.c', cwd=tempdir) - runCmd('echo "Foo" > oe-local-files/new-local', cwd=tempdir) - runCmd('echo "Bar" > new-file', cwd=tempdir) - runCmd('git add new-file', cwd=tempdir) - runCmd('git commit -m "Add new file"', cwd=tempdir) + self.runCmd('echo "/* Foobar */" >> oe-local-files/makedevs.c', cwd=tempdir) + self.runCmd('echo "Foo" > oe-local-files/new-local', cwd=tempdir) + self.runCmd('echo "Bar" > new-file', cwd=tempdir) + self.runCmd('git add new-file', cwd=tempdir) + self.runCmd('git commit -m "Add new file"', cwd=tempdir) self.add_command_to_tearDown('cd %s; git clean -fd .; git checkout .' % os.path.dirname(recipefile)) - runCmd('devtool update-recipe %s' % testrecipe) + self.runCmd('devtool update-recipe %s' % testrecipe) expected_status = [(' M', '.*/%s$' % os.path.basename(recipefile)), (' M', '.*/makedevs/makedevs.c$'), ('??', '.*/makedevs/new-local$'), @@ -977,36 +983,36 @@ class DevtoolTests(DevtoolBase): def test_devtool_update_recipe_local_files_2(self): """Check local source files support when oe-local-files is in Git""" testrecipe = 'lzo' - recipefile = get_bb_var('FILE', testrecipe) + recipefile = self.get_bb_var('FILE', testrecipe) # Setup srctree for modifying the recipe tempdir = tempfile.mkdtemp(prefix='devtoolqa') self.track_for_cleanup(tempdir) self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') - result = runCmd('devtool modify %s -x %s' % (testrecipe, tempdir)) + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) + result = self.runCmd('devtool modify %s -x %s' % (testrecipe, tempdir)) # Check git repo self._check_src_repo(tempdir) # Add oe-local-files to Git - runCmd('rm oe-local-files/.gitignore', cwd=tempdir) - runCmd('git add oe-local-files', cwd=tempdir) - runCmd('git commit -m "Add local sources"', cwd=tempdir) + self.runCmd('rm oe-local-files/.gitignore', cwd=tempdir) + self.runCmd('git add oe-local-files', cwd=tempdir) + self.runCmd('git commit -m "Add local sources"', cwd=tempdir) # Edit / commit local sources - runCmd('echo "# Foobar" >> oe-local-files/acinclude.m4', cwd=tempdir) - runCmd('git commit -am "Edit existing file"', cwd=tempdir) - runCmd('git rm oe-local-files/run-ptest', cwd=tempdir) - runCmd('git commit -m"Remove file"', cwd=tempdir) - runCmd('echo "Foo" > oe-local-files/new-local', cwd=tempdir) - runCmd('git add oe-local-files/new-local', cwd=tempdir) - runCmd('git commit -m "Add new local file"', cwd=tempdir) - runCmd('echo "Gar" > new-file', cwd=tempdir) - runCmd('git add new-file', cwd=tempdir) - runCmd('git commit -m "Add new file"', cwd=tempdir) + self.runCmd('echo "# Foobar" >> oe-local-files/acinclude.m4', cwd=tempdir) + self.runCmd('git commit -am "Edit existing file"', cwd=tempdir) + self.runCmd('git rm oe-local-files/run-ptest', cwd=tempdir) + self.runCmd('git commit -m"Remove file"', cwd=tempdir) + self.runCmd('echo "Foo" > oe-local-files/new-local', cwd=tempdir) + self.runCmd('git add oe-local-files/new-local', cwd=tempdir) + self.runCmd('git commit -m "Add new local file"', cwd=tempdir) + self.runCmd('echo "Gar" > new-file', cwd=tempdir) + self.runCmd('git add new-file', cwd=tempdir) + self.runCmd('git commit -m "Add new file"', cwd=tempdir) self.add_command_to_tearDown('cd %s; git clean -fd .; git checkout .' % os.path.dirname(recipefile)) # Checkout unmodified file to working copy -> devtool should still pick # the modified version from HEAD - runCmd('git checkout HEAD^ -- oe-local-files/acinclude.m4', cwd=tempdir) - runCmd('devtool update-recipe %s' % testrecipe) + self.runCmd('git checkout HEAD^ -- oe-local-files/acinclude.m4', cwd=tempdir) + self.runCmd('devtool update-recipe %s' % testrecipe) expected_status = [(' M', '.*/%s$' % os.path.basename(recipefile)), (' M', '.*/acinclude.m4$'), (' D', '.*/run-ptest$'), @@ -1018,19 +1024,19 @@ class DevtoolTests(DevtoolBase): def test_devtool_update_recipe_local_files_3(self): # First, modify the recipe testrecipe = 'devtool-test-localonly' - bb_vars = get_bb_vars(['FILE', 'SRC_URI'], testrecipe) + bb_vars = self.get_bb_vars(['FILE', 'SRC_URI'], testrecipe) recipefile = bb_vars['FILE'] src_uri = bb_vars['SRC_URI'] tempdir = tempfile.mkdtemp(prefix='devtoolqa') self.track_for_cleanup(tempdir) self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) # (don't bother with cleaning the recipe on teardown, we won't be building it) - result = runCmd('devtool modify %s' % testrecipe) + result = self.runCmd('devtool modify %s' % testrecipe) # Modify one file - runCmd('echo "Another line" >> file2', cwd=os.path.join(self.workspacedir, 'sources', testrecipe, 'oe-local-files')) + self.runCmd('echo "Another line" >> file2', cwd=os.path.join(self.workspacedir, 'sources', testrecipe, 'oe-local-files')) self.add_command_to_tearDown('cd %s; rm %s/*; git checkout %s %s' % (os.path.dirname(recipefile), testrecipe, testrecipe, os.path.basename(recipefile))) - result = runCmd('devtool update-recipe %s' % testrecipe) + result = self.runCmd('devtool update-recipe %s' % testrecipe) expected_status = [(' M', '.*/%s/file2$' % testrecipe)] self._check_repo_status(os.path.dirname(recipefile), expected_status) @@ -1038,27 +1044,27 @@ class DevtoolTests(DevtoolBase): def test_devtool_update_recipe_local_patch_gz(self): # First, modify the recipe testrecipe = 'devtool-test-patch-gz' - if get_bb_var('DISTRO') == 'poky-tiny': + if self.get_bb_var('DISTRO') == 'poky-tiny': self.skipTest("The DISTRO 'poky-tiny' does not provide the dependencies needed by %s" % testrecipe) - bb_vars = get_bb_vars(['FILE', 'SRC_URI'], testrecipe) + bb_vars = self.get_bb_vars(['FILE', 'SRC_URI'], testrecipe) recipefile = bb_vars['FILE'] src_uri = bb_vars['SRC_URI'] tempdir = tempfile.mkdtemp(prefix='devtoolqa') self.track_for_cleanup(tempdir) self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) # (don't bother with cleaning the recipe on teardown, we won't be building it) - result = runCmd('devtool modify %s' % testrecipe) + result = self.runCmd('devtool modify %s' % testrecipe) # Modify one file srctree = os.path.join(self.workspacedir, 'sources', testrecipe) - runCmd('echo "Another line" >> README', cwd=srctree) - runCmd('git commit -a --amend --no-edit', cwd=srctree) + self.runCmd('echo "Another line" >> README', cwd=srctree) + self.runCmd('git commit -a --amend --no-edit', cwd=srctree) self.add_command_to_tearDown('cd %s; rm %s/*; git checkout %s %s' % (os.path.dirname(recipefile), testrecipe, testrecipe, os.path.basename(recipefile))) - result = runCmd('devtool update-recipe %s' % testrecipe) + result = self.runCmd('devtool update-recipe %s' % testrecipe) expected_status = [(' M', '.*/%s/readme.patch.gz$' % testrecipe)] self._check_repo_status(os.path.dirname(recipefile), expected_status) patch_gz = os.path.join(os.path.dirname(recipefile), testrecipe, 'readme.patch.gz') - result = runCmd('file %s' % patch_gz) + result = self.runCmd('file %s' % patch_gz) if 'gzip compressed data' not in result.output: self.fail('New patch file is not gzipped - file reports:\n%s' % result.output) @@ -1069,15 +1075,15 @@ class DevtoolTests(DevtoolBase): # was also in SRC_URI # First, modify the recipe testrecipe = 'devtool-test-subdir' - bb_vars = get_bb_vars(['FILE', 'SRC_URI'], testrecipe) + bb_vars = self.get_bb_vars(['FILE', 'SRC_URI'], testrecipe) recipefile = bb_vars['FILE'] src_uri = bb_vars['SRC_URI'] tempdir = tempfile.mkdtemp(prefix='devtoolqa') self.track_for_cleanup(tempdir) self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) # (don't bother with cleaning the recipe on teardown, we won't be building it) - result = runCmd('devtool modify %s' % testrecipe) + result = self.runCmd('devtool modify %s' % testrecipe) testfile = os.path.join(self.workspacedir, 'sources', testrecipe, 'testfile') self.assertExists(testfile, 'Extracted source could not be found') with open(testfile, 'r') as f: @@ -1085,7 +1091,7 @@ class DevtoolTests(DevtoolBase): self.assertEqual(contents, 'Modified version', 'File has apparently not been overwritten as it should have been') # Test devtool update-recipe without modifying any files self.add_command_to_tearDown('cd %s; rm %s/*; git checkout %s %s' % (os.path.dirname(recipefile), testrecipe, testrecipe, os.path.basename(recipefile))) - result = runCmd('devtool update-recipe %s' % testrecipe) + result = self.runCmd('devtool update-recipe %s' % testrecipe) expected_status = [] self._check_repo_status(os.path.dirname(recipefile), expected_status) @@ -1094,7 +1100,7 @@ class DevtoolTests(DevtoolBase): tempdir = tempfile.mkdtemp(prefix='devtoolqa') # Try devtool extract self.track_for_cleanup(tempdir) - result = runCmd('devtool extract matchbox-terminal %s' % tempdir) + result = self.runCmd('devtool extract matchbox-terminal %s' % tempdir) self.assertExists(os.path.join(tempdir, 'Makefile.am'), 'Extracted source could not be found') # devtool extract shouldn't create the workspace self.assertNotExists(self.workspacedir) @@ -1105,7 +1111,7 @@ class DevtoolTests(DevtoolBase): tempdir = tempfile.mkdtemp(prefix='devtoolqa') # Try devtool extract self.track_for_cleanup(tempdir) - result = runCmd('devtool extract virtual/make %s' % tempdir) + result = self.runCmd('devtool extract virtual/make %s' % tempdir) self.assertExists(os.path.join(tempdir, 'Makefile.am'), 'Extracted source could not be found') # devtool extract shouldn't create the workspace self.assertNotExists(self.workspacedir) @@ -1116,21 +1122,21 @@ class DevtoolTests(DevtoolBase): tempdir = tempfile.mkdtemp(prefix='devtoolqa') self.track_for_cleanup(tempdir) self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) testrecipe1 = 'mdadm' testrecipe2 = 'cronie' - result = runCmd('devtool modify -x %s %s' % (testrecipe1, os.path.join(tempdir, testrecipe1))) - result = runCmd('devtool modify -x %s %s' % (testrecipe2, os.path.join(tempdir, testrecipe2))) - result = runCmd('devtool build %s' % testrecipe1) - result = runCmd('devtool build %s' % testrecipe2) - stampprefix1 = get_bb_var('STAMP', testrecipe1) + result = self.runCmd('devtool modify -x %s %s' % (testrecipe1, os.path.join(tempdir, testrecipe1))) + result = self.runCmd('devtool modify -x %s %s' % (testrecipe2, os.path.join(tempdir, testrecipe2))) + result = self.runCmd('devtool build %s' % testrecipe1) + result = self.runCmd('devtool build %s' % testrecipe2) + stampprefix1 = self.get_bb_var('STAMP', testrecipe1) self.assertTrue(stampprefix1, 'Unable to get STAMP value for recipe %s' % testrecipe1) - stampprefix2 = get_bb_var('STAMP', testrecipe2) + stampprefix2 = self.get_bb_var('STAMP', testrecipe2) self.assertTrue(stampprefix2, 'Unable to get STAMP value for recipe %s' % testrecipe2) - result = runCmd('devtool reset -a') + result = self.runCmd('devtool reset -a') self.assertIn(testrecipe1, result.output) self.assertIn(testrecipe2, result.output) - result = runCmd('devtool status') + result = self.runCmd('devtool status') self.assertNotIn(testrecipe1, result.output) self.assertNotIn(testrecipe2, result.output) matches1 = glob.glob(stampprefix1 + '*') @@ -1147,14 +1153,14 @@ class DevtoolTests(DevtoolBase): # really this has to be done as an oe-selftest test. # # Check preconditions - machine = get_bb_var('MACHINE') + machine = self.get_bb_var('MACHINE') if not machine.startswith('qemu'): self.skipTest('This test only works with qemu machines') if not os.path.exists('/etc/runqemu-nosudo'): self.skipTest('You must set up tap devices with scripts/runqemu-gen-tapdevs before running this test') - result = runCmd('PATH="$PATH:/sbin:/usr/sbin" ip tuntap show', ignore_status=True) + result = self.runCmd('PATH="$PATH:/sbin:/usr/sbin" ip tuntap show', ignore_status=True) if result.status != 0: - result = runCmd('PATH="$PATH:/sbin:/usr/sbin" ifconfig -a', ignore_status=True) + result = self.runCmd('PATH="$PATH:/sbin:/usr/sbin" ifconfig -a', ignore_status=True) if result.status != 0: self.skipTest('Failed to determine if tap devices exist with ifconfig or ip: %s' % result.output) for line in result.output.splitlines(): @@ -1169,41 +1175,41 @@ class DevtoolTests(DevtoolBase): testimage = 'oe-selftest-image' testcommand = '/sbin/mdadm --help' # Build an image to run - bitbake("%s qemu-native qemu-helper-native" % testimage) - deploy_dir_image = get_bb_var('DEPLOY_DIR_IMAGE') + self.bitbake("%s qemu-native qemu-helper-native" % testimage) + deploy_dir_image = self.get_bb_var('DEPLOY_DIR_IMAGE') self.add_command_to_tearDown('bitbake -c clean %s' % testimage) self.add_command_to_tearDown('rm -f %s/%s*' % (deploy_dir_image, testimage)) # Clean recipe so the first deploy will fail - bitbake("%s -c clean" % testrecipe) + self.bitbake("%s -c clean" % testrecipe) # Try devtool modify tempdir = tempfile.mkdtemp(prefix='devtoolqa') self.track_for_cleanup(tempdir) self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) self.add_command_to_tearDown('bitbake -c clean %s' % testrecipe) - result = runCmd('devtool modify %s -x %s' % (testrecipe, tempdir)) + result = self.runCmd('devtool modify %s -x %s' % (testrecipe, tempdir)) # Test that deploy-target at this point fails (properly) - result = runCmd('devtool deploy-target -n %s root at localhost' % testrecipe, ignore_status=True) + result = self.runCmd('devtool deploy-target -n %s root at localhost' % testrecipe, ignore_status=True) self.assertNotEqual(result.output, 0, 'devtool deploy-target should have failed, output: %s' % result.output) self.assertNotIn(result.output, 'Traceback', 'devtool deploy-target should have failed with a proper error not a traceback, output: %s' % result.output) - result = runCmd('devtool build %s' % testrecipe) + result = self.runCmd('devtool build %s' % testrecipe) # First try a dry-run of deploy-target - result = runCmd('devtool deploy-target -n %s root at localhost' % testrecipe) + result = self.runCmd('devtool deploy-target -n %s root at localhost' % testrecipe) self.assertIn(' %s' % testfile, result.output) # Boot the image with runqemu(testimage) as qemu: # Now really test deploy-target - result = runCmd('devtool deploy-target -c %s root@%s' % (testrecipe, qemu.ip)) + result = self.runCmd('devtool deploy-target -c %s root@%s' % (testrecipe, qemu.ip)) # Run a test command to see if it was installed properly sshargs = '-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' - result = runCmd('ssh %s root@%s %s' % (sshargs, qemu.ip, testcommand)) + result = self.runCmd('ssh %s root@%s %s' % (sshargs, qemu.ip, testcommand)) # Check if it deployed all of the files with the right ownership/perms # First look on the host - need to do this under pseudo to get the correct ownership/perms - bb_vars = get_bb_vars(['D', 'FAKEROOTENV', 'FAKEROOTCMD'], testrecipe) + bb_vars = self.get_bb_vars(['D', 'FAKEROOTENV', 'FAKEROOTCMD'], testrecipe) installdir = bb_vars['D'] fakerootenv = bb_vars['FAKEROOTENV'] fakerootcmd = bb_vars['FAKEROOTCMD'] - result = runCmd('%s %s find . -type f -exec ls -l {} \;' % (fakerootenv, fakerootcmd), cwd=installdir) + result = self.runCmd('%s %s find . -type f -exec ls -l {} \;' % (fakerootenv, fakerootcmd), cwd=installdir) filelist1 = self._process_ls_output(result.output) # Now look on the target @@ -1214,14 +1220,14 @@ class DevtoolTests(DevtoolBase): for line in filelist1: splitline = line.split() f.write(splitline[-1] + '\n') - result = runCmd('cat %s | ssh -q %s root@%s \'xargs ls -l\'' % (tmpfilelist, sshargs, qemu.ip)) + result = self.runCmd('cat %s | ssh -q %s root@%s \'xargs ls -l\'' % (tmpfilelist, sshargs, qemu.ip)) filelist2 = self._process_ls_output(result.output) filelist1.sort(key=lambda item: item.split()[-1]) filelist2.sort(key=lambda item: item.split()[-1]) self.assertEqual(filelist1, filelist2) # Test undeploy-target - result = runCmd('devtool undeploy-target -c %s root@%s' % (testrecipe, qemu.ip)) - result = runCmd('ssh %s root@%s %s' % (sshargs, qemu.ip, testcommand), ignore_status=True) + result = self.runCmd('devtool undeploy-target -c %s root@%s' % (testrecipe, qemu.ip)) + result = self.runCmd('ssh %s root@%s %s' % (sshargs, qemu.ip, testcommand), ignore_status=True) self.assertNotEqual(result, 0, 'undeploy-target did not remove command as it should have') @OETestID(1366) @@ -1231,22 +1237,22 @@ class DevtoolTests(DevtoolBase): self.assertTrue(not os.path.exists(self.workspacedir), 'This test cannot be run with a workspace directory under the build directory') image = 'core-image-minimal' self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) self.add_command_to_tearDown('bitbake -c clean %s' % image) - bitbake('%s -c clean' % image) + self.bitbake('%s -c clean' % image) # Add target and native recipes to workspace recipes = ['mdadm', 'parted-native'] for recipe in recipes: tempdir = tempfile.mkdtemp(prefix='devtoolqa') self.track_for_cleanup(tempdir) self.add_command_to_tearDown('bitbake -c clean %s' % recipe) - runCmd('devtool modify %s -x %s' % (recipe, tempdir)) + self.runCmd('devtool modify %s -x %s' % (recipe, tempdir)) # Try to build image - result = runCmd('devtool build-image %s' % image) + result = self.runCmd('devtool build-image %s' % image) self.assertNotEqual(result, 0, 'devtool build-image failed') # Check if image contains expected packages - deploy_dir_image = get_bb_var('DEPLOY_DIR_IMAGE') - image_link_name = get_bb_var('IMAGE_LINK_NAME', image) + deploy_dir_image = self.get_bb_var('DEPLOY_DIR_IMAGE') + image_link_name = self.get_bb_var('IMAGE_LINK_NAME', image) reqpkgs = [item for item in recipes if not item.endswith('-native')] with open(os.path.join(deploy_dir_image, image_link_name + '.manifest'), 'r') as f: for line in f: @@ -1263,23 +1269,23 @@ class DevtoolTests(DevtoolBase): # Check preconditions self.assertTrue(not os.path.exists(self.workspacedir), 'This test cannot be run with a workspace directory under the build directory') self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) # Check parameters - result = runCmd('devtool upgrade -h') + result = self.runCmd('devtool upgrade -h') for param in 'recipename srctree --version -V --branch -b --keep-temp --no-patch'.split(): self.assertIn(param, result.output) # For the moment, we are using a real recipe. recipe = 'devtool-upgrade-test1' version = '1.6.0' - oldrecipefile = get_bb_var('FILE', recipe) + oldrecipefile = self.get_bb_var('FILE', recipe) tempdir = tempfile.mkdtemp(prefix='devtoolqa') self.track_for_cleanup(tempdir) # Check that recipe is not already under devtool control - result = runCmd('devtool status') + result = self.runCmd('devtool status') self.assertNotIn(recipe, result.output) # Check upgrade. Code does not check if new PV is older or newer that current PV, so, it may be that # we are downgrading instead of upgrading. - result = runCmd('devtool upgrade %s %s -V %s' % (recipe, tempdir, version)) + result = self.runCmd('devtool upgrade %s %s -V %s' % (recipe, tempdir, version)) # Check if srctree at least is populated self.assertTrue(len(os.listdir(tempdir)) > 0, 'srctree (%s) should be populated with new (%s) source code' % (tempdir, version)) # Check new recipe subdirectory is present @@ -1288,7 +1294,7 @@ class DevtoolTests(DevtoolBase): newrecipefile = os.path.join(self.workspacedir, 'recipes', recipe, '%s_%s.bb' % (recipe, version)) self.assertExists(newrecipefile, 'Recipe file should exist after upgrade') # Check devtool status and make sure recipe is present - result = runCmd('devtool status') + result = self.runCmd('devtool status') self.assertIn(recipe, result.output) self.assertIn(tempdir, result.output) # Check recipe got changed as expected @@ -1298,8 +1304,8 @@ class DevtoolTests(DevtoolBase): newlines = f.readlines() self.assertEqual(desiredlines, newlines) # Check devtool reset recipe - result = runCmd('devtool reset %s -n' % recipe) - result = runCmd('devtool status') + result = self.runCmd('devtool reset %s -n' % recipe) + result = self.runCmd('devtool status') self.assertNotIn(recipe, result.output) self.assertNotExists(os.path.join(self.workspacedir, 'recipes', recipe), 'Recipe directory should not exist after resetting') @@ -1308,24 +1314,24 @@ class DevtoolTests(DevtoolBase): # Check preconditions self.assertTrue(not os.path.exists(self.workspacedir), 'This test cannot be run with a workspace directory under the build directory') self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) recipe = 'devtool-upgrade-test2' commit = '6cc6077a36fe2648a5f993fe7c16c9632f946517' - oldrecipefile = get_bb_var('FILE', recipe) + oldrecipefile = self.get_bb_var('FILE', recipe) tempdir = tempfile.mkdtemp(prefix='devtoolqa') self.track_for_cleanup(tempdir) # Check that recipe is not already under devtool control - result = runCmd('devtool status') + result = self.runCmd('devtool status') self.assertNotIn(recipe, result.output) # Check upgrade - result = runCmd('devtool upgrade %s %s -S %s' % (recipe, tempdir, commit)) + result = self.runCmd('devtool upgrade %s %s -S %s' % (recipe, tempdir, commit)) # Check if srctree at least is populated self.assertTrue(len(os.listdir(tempdir)) > 0, 'srctree (%s) should be populated with new (%s) source code' % (tempdir, commit)) # Check new recipe file is present newrecipefile = os.path.join(self.workspacedir, 'recipes', recipe, os.path.basename(oldrecipefile)) self.assertExists(newrecipefile, 'Recipe file should exist after upgrade') # Check devtool status and make sure recipe is present - result = runCmd('devtool status') + result = self.runCmd('devtool status') self.assertIn(recipe, result.output) self.assertIn(tempdir, result.output) # Check recipe got changed as expected @@ -1335,8 +1341,8 @@ class DevtoolTests(DevtoolBase): newlines = f.readlines() self.assertEqual(desiredlines, newlines) # Check devtool reset recipe - result = runCmd('devtool reset %s -n' % recipe) - result = runCmd('devtool status') + result = self.runCmd('devtool reset %s -n' % recipe) + result = self.runCmd('devtool status') self.assertNotIn(recipe, result.output) self.assertNotExists(os.path.join(self.workspacedir, 'recipes', recipe), 'Recipe directory should not exist after resetting') @@ -1347,10 +1353,10 @@ class DevtoolTests(DevtoolBase): This test executes the selftest-reverse command from meta-selftest.""" self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) s = "Microsoft Made No Profit From Anyone's Zunes Yo" - result = runCmd("devtool --quiet selftest-reverse \"%s\"" % s) + result = self.runCmd("devtool --quiet selftest-reverse \"%s\"" % s) self.assertEqual(result.output, s[::-1]) def _copy_file_with_cleanup(self, srcfile, basedstdir, *paths): @@ -1371,12 +1377,12 @@ class DevtoolTests(DevtoolBase): """Test that devtool loads only the first found plugin in BBPATH.""" self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) - devtool = runCmd("which devtool") - fromname = runCmd("devtool --quiet pluginfile") + devtool = self.runCmd("which devtool") + fromname = self.runCmd("devtool --quiet pluginfile") srcfile = fromname.output - bbpath = get_bb_var('BBPATH') + bbpath = self.get_bb_var('BBPATH') searchpath = bbpath.split(':') + [os.path.dirname(devtool.output)] plugincontent = [] with open(srcfile) as fh: @@ -1385,12 +1391,12 @@ class DevtoolTests(DevtoolBase): self.assertIn('meta-selftest', srcfile, 'wrong bbpath plugin found') for path in searchpath: self._copy_file_with_cleanup(srcfile, path, 'lib', 'devtool') - result = runCmd("devtool --quiet count") + result = self.runCmd("devtool --quiet count") self.assertEqual(result.output, '1') - result = runCmd("devtool --quiet multiloaded") + result = self.runCmd("devtool --quiet multiloaded") self.assertEqual(result.output, "no") for path in searchpath: - result = runCmd("devtool --quiet bbdir") + result = self.runCmd("devtool --quiet bbdir") self.assertEqual(result.output, path) os.unlink(os.path.join(result.output, 'lib', 'devtool', 'bbpath.py')) finally: @@ -1401,32 +1407,32 @@ class DevtoolTests(DevtoolBase): # Check preconditions self.assertTrue(not os.path.exists(self.workspacedir), 'This test cannot be run with a workspace directory under the build directory') self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) # Use a "real" recipe from meta-selftest recipe = 'devtool-upgrade-test1' oldversion = '1.5.3' newversion = '1.6.0' - oldrecipefile = get_bb_var('FILE', recipe) + oldrecipefile = self.get_bb_var('FILE', recipe) recipedir = os.path.dirname(oldrecipefile) - result = runCmd('git status --porcelain .', cwd=recipedir) + result = self.runCmd('git status --porcelain .', cwd=recipedir) if result.output.strip(): self.fail('Recipe directory for %s contains uncommitted changes' % recipe) tempdir = tempfile.mkdtemp(prefix='devtoolqa') self.track_for_cleanup(tempdir) # Check that recipe is not already under devtool control - result = runCmd('devtool status') + result = self.runCmd('devtool status') self.assertNotIn(recipe, result.output) # Do the upgrade - result = runCmd('devtool upgrade %s %s -V %s' % (recipe, tempdir, newversion)) + result = self.runCmd('devtool upgrade %s %s -V %s' % (recipe, tempdir, newversion)) # Check devtool status and make sure recipe is present - result = runCmd('devtool status') + result = self.runCmd('devtool status') self.assertIn(recipe, result.output) self.assertIn(tempdir, result.output) # Make a change to the source - result = runCmd('sed -i \'/^#include "pv.h"/a \\/* Here is a new comment *\\/\' src/pv/number.c', cwd=tempdir) - result = runCmd('git status --porcelain', cwd=tempdir) + result = self.runCmd('sed -i \'/^#include "pv.h"/a \\/* Here is a new comment *\\/\' src/pv/number.c', cwd=tempdir) + result = self.runCmd('git status --porcelain', cwd=tempdir) self.assertIn('M src/pv/number.c', result.output) - result = runCmd('git commit src/pv/number.c -m "Add a comment to the code"', cwd=tempdir) + result = self.runCmd('git commit src/pv/number.c -m "Add a comment to the code"', cwd=tempdir) # Check if patch is there recipedir = os.path.dirname(oldrecipefile) olddir = os.path.join(recipedir, recipe + '-' + oldversion) @@ -1441,8 +1447,8 @@ class DevtoolTests(DevtoolBase): self.assertIn('/meta-selftest/', recipedir) # Try finish to the original layer self.add_command_to_tearDown('rm -rf %s ; cd %s ; git checkout %s' % (recipedir, os.path.dirname(recipedir), recipedir)) - result = runCmd('devtool finish %s meta-selftest' % recipe) - result = runCmd('devtool status') + result = self.runCmd('devtool finish %s meta-selftest' % recipe) + result = self.runCmd('devtool status') self.assertNotIn(recipe, result.output, 'Recipe should have been reset by finish but wasn\'t') self.assertNotExists(os.path.join(self.workspacedir, 'recipes', recipe), 'Recipe directory should not exist after finish') self.assertNotExists(oldrecipefile, 'Old recipe file should have been deleted but wasn\'t') @@ -1461,12 +1467,12 @@ class DevtoolTests(DevtoolBase): # Try finish to a different layer - should create a bbappend # This cleanup isn't strictly necessary but do it anyway just in case it goes wrong and writes to here self.add_command_to_tearDown('rm -rf %s ; cd %s ; git checkout %s' % (recipedir, os.path.dirname(recipedir), recipedir)) - oe_core_dir = os.path.join(get_bb_var('COREBASE'), 'meta') + oe_core_dir = os.path.join(self.get_bb_var('COREBASE'), 'meta') newrecipedir = os.path.join(oe_core_dir, 'recipes-test', 'devtool') newrecipefile = os.path.join(newrecipedir, '%s_%s.bb' % (recipe, newversion)) self.track_for_cleanup(newrecipedir) - result = runCmd('devtool finish %s oe-core' % recipe) - result = runCmd('devtool status') + result = self.runCmd('devtool finish %s oe-core' % recipe) + result = self.runCmd('devtool status') self.assertNotIn(recipe, result.output, 'Recipe should have been reset by finish but wasn\'t') self.assertNotExists(os.path.join(self.workspacedir, 'recipes', recipe), 'Recipe directory should not exist after finish') self.assertExists(oldrecipefile, 'Old recipe file should not have been deleted') @@ -1482,25 +1488,25 @@ class DevtoolTests(DevtoolBase): # Try modifying a recipe self.track_for_cleanup(self.workspacedir) recipe = 'mdadm' - oldrecipefile = get_bb_var('FILE', recipe) + oldrecipefile = self.get_bb_var('FILE', recipe) recipedir = os.path.dirname(oldrecipefile) - result = runCmd('git status --porcelain .', cwd=recipedir) + result = self.runCmd('git status --porcelain .', cwd=recipedir) if result.output.strip(): self.fail('Recipe directory for %s contains uncommitted changes' % recipe) tempdir = tempfile.mkdtemp(prefix='devtoolqa') self.track_for_cleanup(tempdir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') - result = runCmd('devtool modify %s %s' % (recipe, tempdir)) + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) + result = self.runCmd('devtool modify %s %s' % (recipe, tempdir)) self.assertExists(os.path.join(tempdir, 'Makefile'), 'Extracted source could not be found') # Test devtool status - result = runCmd('devtool status') + result = self.runCmd('devtool status') self.assertIn(recipe, result.output) self.assertIn(tempdir, result.output) # Make a change to the source - result = runCmd('sed -i \'/^#include "mdadm.h"/a \\/* Here is a new comment *\\/\' maps.c', cwd=tempdir) - result = runCmd('git status --porcelain', cwd=tempdir) + result = self.runCmd('sed -i \'/^#include "mdadm.h"/a \\/* Here is a new comment *\\/\' maps.c', cwd=tempdir) + result = self.runCmd('git status --porcelain', cwd=tempdir) self.assertIn('M maps.c', result.output) - result = runCmd('git commit maps.c -m "Add a comment to the code"', cwd=tempdir) + result = self.runCmd('git commit maps.c -m "Add a comment to the code"', cwd=tempdir) for entry in os.listdir(recipedir): filesdir = os.path.join(recipedir, entry) if os.path.isdir(filesdir): @@ -1516,8 +1522,8 @@ class DevtoolTests(DevtoolBase): self.assertIn('/meta/', recipedir) # Try finish to the original layer self.add_command_to_tearDown('rm -rf %s ; cd %s ; git checkout %s' % (recipedir, os.path.dirname(recipedir), recipedir)) - result = runCmd('devtool finish %s meta' % recipe) - result = runCmd('devtool status') + result = self.runCmd('devtool finish %s meta' % recipe) + result = self.runCmd('devtool status') self.assertNotIn(recipe, result.output, 'Recipe should have been reset by finish but wasn\'t') self.assertNotExists(os.path.join(self.workspacedir, 'recipes', recipe), 'Recipe directory should not exist after finish') expected_status = [(' M', '.*/%s$' % os.path.basename(oldrecipefile)), @@ -1529,16 +1535,16 @@ class DevtoolTests(DevtoolBase): recipe, oldrecipefile, recipedir, filesdir = self._setup_test_devtool_finish_modify() # Ensure the recipe is where we think it should be (so that cleanup doesn't trash things) self.assertIn('/meta/', recipedir) - relpth = os.path.relpath(recipedir, os.path.join(get_bb_var('COREBASE'), 'meta')) + relpth = os.path.relpath(recipedir, os.path.join(self.get_bb_var('COREBASE'), 'meta')) appenddir = os.path.join(self.testlayer_path, relpth) self.track_for_cleanup(appenddir) # Try finish to the original layer self.add_command_to_tearDown('rm -rf %s ; cd %s ; git checkout %s' % (recipedir, os.path.dirname(recipedir), recipedir)) - result = runCmd('devtool finish %s meta-selftest' % recipe) - result = runCmd('devtool status') + result = self.runCmd('devtool finish %s meta-selftest' % recipe) + result = self.runCmd('devtool status') self.assertNotIn(recipe, result.output, 'Recipe should have been reset by finish but wasn\'t') self.assertNotExists(os.path.join(self.workspacedir, 'recipes', recipe), 'Recipe directory should not exist after finish') - result = runCmd('git status --porcelain .', cwd=recipedir) + result = self.runCmd('git status --porcelain .', cwd=recipedir) if result.output.strip(): self.fail('Recipe directory for %s contains the following unexpected changes after finish:\n%s' % (recipe, result.output.strip())) recipefn = os.path.splitext(os.path.basename(oldrecipefile))[0] @@ -1562,7 +1568,7 @@ class DevtoolTests(DevtoolBase): # Check preconditions self.assertTrue(not os.path.exists(self.workspacedir), 'This test cannot be run with a workspace directory under the build directory') self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) # First run devtool add # We already have this recipe in OE-Core, but that doesn't matter @@ -1571,7 +1577,7 @@ class DevtoolTests(DevtoolBase): recipefile = os.path.join(self.workspacedir, 'recipes', recipename, '%s_%s.bb' % (recipename, recipever)) url = 'http://downloads.yoctoproject.org/mirror/sources/i2c-tools-%s.tar.bz2' % recipever def add_recipe(): - result = runCmd('devtool add %s' % url) + result = self.runCmd('devtool add %s' % url) self.assertExists(recipefile, 'Expected recipe file not created') self.assertExists(os.path.join(self.workspacedir, 'sources', recipename), 'Source directory not created') checkvars = {} @@ -1583,7 +1589,7 @@ class DevtoolTests(DevtoolBase): newrecipename = 'mynewrecipe' newrecipever = '456' newrecipefile = os.path.join(self.workspacedir, 'recipes', newrecipename, '%s_%s.bb' % (newrecipename, newrecipever)) - result = runCmd('devtool rename %s %s -V %s' % (recipename, newrecipename, newrecipever)) + result = self.runCmd('devtool rename %s %s -V %s' % (recipename, newrecipename, newrecipever)) self.assertExists(newrecipefile, 'Recipe file not renamed') self.assertNotExists(os.path.join(self.workspacedir, 'recipes', recipename), 'Old recipe directory still exists') newsrctree = os.path.join(self.workspacedir, 'sources', newrecipename) @@ -1593,11 +1599,11 @@ class DevtoolTests(DevtoolBase): checkvars['SRC_URI'] = url self._test_recipe_contents(newrecipefile, checkvars, []) # Try again - change just name this time - result = runCmd('devtool reset -n %s' % newrecipename) + result = self.runCmd('devtool reset -n %s' % newrecipename) shutil.rmtree(newsrctree) add_recipe() newrecipefile = os.path.join(self.workspacedir, 'recipes', newrecipename, '%s_%s.bb' % (newrecipename, recipever)) - result = runCmd('devtool rename %s %s' % (recipename, newrecipename)) + result = self.runCmd('devtool rename %s %s' % (recipename, newrecipename)) self.assertExists(newrecipefile, 'Recipe file not renamed') self.assertNotExists(os.path.join(self.workspacedir, 'recipes', recipename), 'Old recipe directory still exists') self.assertExists(os.path.join(self.workspacedir, 'sources', newrecipename), 'Source directory not renamed') @@ -1606,11 +1612,11 @@ class DevtoolTests(DevtoolBase): checkvars['SRC_URI'] = url.replace(recipever, '${PV}') self._test_recipe_contents(newrecipefile, checkvars, []) # Try again - change just version this time - result = runCmd('devtool reset -n %s' % newrecipename) + result = self.runCmd('devtool reset -n %s' % newrecipename) shutil.rmtree(newsrctree) add_recipe() newrecipefile = os.path.join(self.workspacedir, 'recipes', recipename, '%s_%s.bb' % (recipename, newrecipever)) - result = runCmd('devtool rename %s -V %s' % (recipename, newrecipever)) + result = self.runCmd('devtool rename %s -V %s' % (recipename, newrecipever)) self.assertExists(newrecipefile, 'Recipe file not renamed') self.assertExists(os.path.join(self.workspacedir, 'sources', recipename), 'Source directory no longer exists') checkvars = {} @@ -1641,59 +1647,59 @@ class DevtoolTests(DevtoolBase): and modification to the source and configurations are reflected when building the kernel. """ - kernel_provider = get_bb_var('PREFERRED_PROVIDER_virtual/kernel') + kernel_provider = self.get_bb_var('PREFERRED_PROVIDER_virtual/kernel') # Clean up the enviroment - bitbake('%s -c clean' % kernel_provider) + self.bitbake('%s -c clean' % kernel_provider) tempdir = tempfile.mkdtemp(prefix='devtoolqa') self.track_for_cleanup(tempdir) self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) self.add_command_to_tearDown('bitbake -c clean %s' % kernel_provider) #Step 1 #Here is just generated the config file instead of all the kernel to optimize the #time of executing this test case. - bitbake('%s -c configure' % kernel_provider) - bbconfig = os.path.join(get_bb_var('B', kernel_provider),'.config') - buildir= get_bb_var('TOPDIR') + self.bitbake('%s -c configure' % kernel_provider) + bbconfig = os.path.join(self.get_bb_var('B', kernel_provider),'.config') + buildir= self.get_bb_var('TOPDIR') #Step 2 - runCmd('cp %s %s' % (bbconfig, buildir)) + self.runCmd('cp %s %s' % (bbconfig, buildir)) self.assertExists(os.path.join(buildir, '.config'), 'Could not copy .config file from kernel') tmpconfig = os.path.join(buildir, '.config') #Step 3 - bitbake('%s -c clean' % kernel_provider) + self.bitbake('%s -c clean' % kernel_provider) #Step 4.1 - runCmd('devtool modify virtual/kernel -x %s' % tempdir) + self.runCmd('devtool modify virtual/kernel -x %s' % tempdir) self.assertExists(os.path.join(tempdir, 'Makefile'), 'Extracted source could not be found') #Step 4.2 configfile = os.path.join(tempdir,'.config') - diff = runCmd('diff %s %s' % (tmpconfig, configfile)) + diff = self.runCmd('diff %s %s' % (tmpconfig, configfile)) self.assertEqual(0,diff.status,'Kernel .config file is not the same using bitbake and devtool') #Step 4.3 #NOTE: virtual/kernel is mapped to kernel_provider - result = runCmd('devtool build %s' % kernel_provider) + result = self.runCmd('devtool build %s' % kernel_provider) self.assertEqual(0,result.status,'Cannot build kernel using `devtool build`') - kernelfile = os.path.join(get_bb_var('KBUILD_OUTPUT', kernel_provider), 'vmlinux') + kernelfile = os.path.join(self.get_bb_var('KBUILD_OUTPUT', kernel_provider), 'vmlinux') self.assertExists(kernelfile, 'Kernel was not build correctly') #Modify the kernel source modfile = os.path.join(tempdir,'arch/x86/boot/header.S') modstring = "Use a boot loader. Devtool testing." - modapplied = runCmd("sed -i 's/Use a boot loader./%s/' %s" % (modstring, modfile)) + modapplied = self.runCmd("sed -i 's/Use a boot loader./%s/' %s" % (modstring, modfile)) self.assertEqual(0,modapplied.status,'Modification to %s on kernel source failed' % modfile) #Modify the configuration codeconfigfile = os.path.join(tempdir,'.config.new') modconfopt = "CONFIG_SG_POOL=n" - modconf = runCmd("sed -i 's/CONFIG_SG_POOL=y/%s/' %s" % (modconfopt, codeconfigfile)) + modconf = self.runCmd("sed -i 's/CONFIG_SG_POOL=y/%s/' %s" % (modconfopt, codeconfigfile)) self.assertEqual(0,modconf.status,'Modification to %s failed' % codeconfigfile) #Build again kernel with devtool - rebuild = runCmd('devtool build %s' % kernel_provider) + rebuild = self.runCmd('devtool build %s' % kernel_provider) self.assertEqual(0,rebuild.status,'Fail to build kernel after modification of source and config') #Step 4.4 - bzimagename = 'bzImage-' + get_bb_var('KERNEL_VERSION_NAME', kernel_provider) - bzimagefile = os.path.join(get_bb_var('D', kernel_provider),'boot', bzimagename) - checkmodcode = runCmd("grep '%s' %s" % (modstring, bzimagefile)) + bzimagename = 'bzImage-' + self.get_bb_var('KERNEL_VERSION_NAME', kernel_provider) + bzimagefile = os.path.join(self.get_bb_var('D', kernel_provider),'boot', bzimagename) + checkmodcode = self.runCmd("grep '%s' %s" % (modstring, bzimagefile)) self.assertEqual(0,checkmodcode.status,'Modification on kernel source failed') #Step 4.5 - checkmodconfg = runCmd("grep %s %s" % (modconfopt, codeconfigfile)) + checkmodconfg = self.runCmd("grep %s %s" % (modconfopt, codeconfigfile)) self.assertEqual(0,checkmodconfg.status,'Modification to configuration file failed') -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 16:30:13 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 16:30:13 +0000 Subject: [oe-commits] [openembedded-core] 29/39: oeqa/selftest/cases: runqemu enable threaded runs In-Reply-To: <150056818468.11699.16758981017169458803@git.openembedded.org> References: <150056818468.11699.16758981017169458803@git.openembedded.org> Message-ID: <20170720162946.72C1623361B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 64408fa88376eacfd8e15ca9f8bbcbdad936bf30 Author: An?bal Lim?n AuthorDate: Tue Jun 13 15:23:45 2017 -0500 oeqa/selftest/cases: runqemu enable threaded runs - Update to use wrappers {bitbake,get_bb_var} from OESelftestTestCase class. - Run into the main thread because it needs tinfoil to run. Signed-off-by: An?bal Lim?n --- meta/lib/oeqa/selftest/cases/runqemu.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/meta/lib/oeqa/selftest/cases/runqemu.py b/meta/lib/oeqa/selftest/cases/runqemu.py index 4050a41..e30cb24 100644 --- a/meta/lib/oeqa/selftest/cases/runqemu.py +++ b/meta/lib/oeqa/selftest/cases/runqemu.py @@ -6,12 +6,11 @@ import re import logging from oeqa.selftest.case import OESelftestTestCase -from oeqa.utils.commands import bitbake, runqemu, get_bb_var +from oeqa.utils.commands import runqemu from oeqa.core.decorator.oeid import OETestID class RunqemuTests(OESelftestTestCase): """Runqemu test class""" - image_is_ready = False deploy_dir_image = '' @@ -37,8 +36,8 @@ SYSLINUX_TIMEOUT = "10" ) if not RunqemuTests.image_is_ready: - RunqemuTests.deploy_dir_image = get_bb_var('DEPLOY_DIR_IMAGE') - bitbake(self.recipe) + RunqemuTests.deploy_dir_image = self.get_bb_var('DEPLOY_DIR_IMAGE') + self.bitbake(self.recipe) RunqemuTests.image_is_ready = True @OETestID(2001) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 16:30:23 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 16:30:23 +0000 Subject: [oe-commits] [openembedded-core] 39/39: subversion: Upgrade 1.9.5-> 1.9.6 In-Reply-To: <150056818468.11699.16758981017169458803@git.openembedded.org> References: <150056818468.11699.16758981017169458803@git.openembedded.org> Message-ID: <20170720162946.CB9C0233622@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 1941dfb8451d981da75d2620526f16e2f5585e14 Author: Richard Purdie AuthorDate: Tue Jul 18 15:55:33 2017 -0700 subversion: Upgrade 1.9.5-> 1.9.6 Signed-off-by: Richard Purdie --- .../subversion/{subversion_1.9.5.bb => subversion_1.9.6.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-devtools/subversion/subversion_1.9.5.bb b/meta/recipes-devtools/subversion/subversion_1.9.6.bb similarity index 96% rename from meta/recipes-devtools/subversion/subversion_1.9.5.bb rename to meta/recipes-devtools/subversion/subversion_1.9.6.bb index 05fba67..b27115b 100644 --- a/meta/recipes-devtools/subversion/subversion_1.9.5.bb +++ b/meta/recipes-devtools/subversion/subversion_1.9.6.bb @@ -17,8 +17,8 @@ SRC_URI = "${APACHE_MIRROR}/${BPN}/${BPN}-${PV}.tar.bz2 \ file://serfmacro.patch \ " -SRC_URI[md5sum] = "9fcbae352a5efe73d46a88c97c6bba14" -SRC_URI[sha256sum] = "8a4fc68aff1d18dcb4dd9e460648d24d9e98657fbed496c582929c6b3ce555e5" +SRC_URI[md5sum] = "f27e00338d4a9f7f9aec9d4a3f8b418b" +SRC_URI[sha256sum] = "dbcbc51fb634082f009121f2cb64350ce32146612787ffb0f7ced351aacaae19" LIC_FILES_CHKSUM = "file://LICENSE;md5=af81ae49ba359e70626c05e9bf313709" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 16:30:14 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 16:30:14 +0000 Subject: [oe-commits] [openembedded-core] 30/39: oeqa/selftest/cases: runtime enable threaded runs In-Reply-To: <150056818468.11699.16758981017169458803@git.openembedded.org> References: <150056818468.11699.16758981017169458803@git.openembedded.org> Message-ID: <20170720162946.7D10823361C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 407d8e4c5c5c7563166c179266908b324ddd2d70 Author: An?bal Lim?n AuthorDate: Tue Jun 13 15:36:46 2017 -0500 oeqa/selftest/cases: runtime enable threaded runs - Use wrappers from OESelfTestCase for runCmd, bitbake, etc. - Split into tree modules because runtime_test_export and runtime_test_postinsts uses runqemu/tinfoil and needs to be executed into the main thread. Signed-off-by: An?bal Lim?n --- meta/lib/oeqa/selftest/cases/runtime_test.py | 225 +-------------------- .../lib/oeqa/selftest/cases/runtime_test_export.py | 104 ++++++++++ .../oeqa/selftest/cases/runtime_test_postinsts.py | 114 +++++++++++ 3 files changed, 226 insertions(+), 217 deletions(-) diff --git a/meta/lib/oeqa/selftest/cases/runtime_test.py b/meta/lib/oeqa/selftest/cases/runtime_test.py index 2a70ae1..e45410e 100644 --- a/meta/lib/oeqa/selftest/cases/runtime_test.py +++ b/meta/lib/oeqa/selftest/cases/runtime_test.py @@ -1,110 +1,9 @@ from oeqa.selftest.case import OESelftestTestCase -from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars, runqemu from oeqa.core.decorator.oeid import OETestID -import os -import re - -class TestExport(OESelftestTestCase): - - @classmethod - def tearDownClass(cls): - runCmd("rm -rf /tmp/sdk") - super(TestExport, cls).tearDownClass() - - @OETestID(1499) - def test_testexport_basic(self): - """ - Summary: Check basic testexport functionality with only ping test enabled. - Expected: 1. testexport directory must be created. - 2. runexported.py must run without any error/exception. - 3. ping test must succeed. - Product: oe-core - Author: Mariano Lopez - """ - - features = 'INHERIT += "testexport"\n' - # These aren't the actual IP addresses but testexport class needs something defined - features += 'TEST_SERVER_IP = "192.168.7.1"\n' - features += 'TEST_TARGET_IP = "192.168.7.1"\n' - features += 'TEST_SUITES = "ping"\n' - self.write_config(features) - - # Build tesexport for core-image-minimal - bitbake('core-image-minimal') - bitbake('-c testexport core-image-minimal') - - testexport_dir = get_bb_var('TEST_EXPORT_DIR', 'core-image-minimal') - - # Verify if TEST_EXPORT_DIR was created - isdir = os.path.isdir(testexport_dir) - self.assertEqual(True, isdir, 'Failed to create testexport dir: %s' % testexport_dir) - - with runqemu('core-image-minimal') as qemu: - # Attempt to run runexported.py to perform ping test - test_path = os.path.join(testexport_dir, "oe-test") - data_file = os.path.join(testexport_dir, 'data', 'testdata.json') - manifest = os.path.join(testexport_dir, 'data', 'manifest') - cmd = ("%s runtime --test-data-file %s --packages-manifest %s " - "--target-ip %s --server-ip %s --quiet" - % (test_path, data_file, manifest, qemu.ip, qemu.server_ip)) - result = runCmd(cmd) - # Verify ping test was succesful - self.assertEqual(0, result.status, 'oe-test runtime returned a non 0 status') - - @OETestID(1641) - def test_testexport_sdk(self): - """ - Summary: Check sdk functionality for testexport. - Expected: 1. testexport directory must be created. - 2. SDK tarball must exists. - 3. Uncompressing of tarball must succeed. - 4. Check if the SDK directory is added to PATH. - 5. Run tar from the SDK directory. - Product: oe-core - Author: Mariano Lopez - """ - - features = 'INHERIT += "testexport"\n' - # These aren't the actual IP addresses but testexport class needs something defined - features += 'TEST_SERVER_IP = "192.168.7.1"\n' - features += 'TEST_TARGET_IP = "192.168.7.1"\n' - features += 'TEST_SUITES = "ping"\n' - features += 'TEST_EXPORT_SDK_ENABLED = "1"\n' - features += 'TEST_EXPORT_SDK_PACKAGES = "nativesdk-tar"\n' - self.write_config(features) - - # Build tesexport for core-image-minimal - bitbake('core-image-minimal') - bitbake('-c testexport core-image-minimal') - - needed_vars = ['TEST_EXPORT_DIR', 'TEST_EXPORT_SDK_DIR', 'TEST_EXPORT_SDK_NAME'] - bb_vars = get_bb_vars(needed_vars, 'core-image-minimal') - testexport_dir = bb_vars['TEST_EXPORT_DIR'] - sdk_dir = bb_vars['TEST_EXPORT_SDK_DIR'] - sdk_name = bb_vars['TEST_EXPORT_SDK_NAME'] - - # Check for SDK - tarball_name = "%s.sh" % sdk_name - tarball_path = os.path.join(testexport_dir, sdk_dir, tarball_name) - msg = "Couldn't find SDK tarball: %s" % tarball_path - self.assertEqual(os.path.isfile(tarball_path), True, msg) - - # Extract SDK and run tar from SDK - result = runCmd("%s -y -d /tmp/sdk" % tarball_path) - self.assertEqual(0, result.status, "Couldn't extract SDK") - - env_script = result.output.split()[-1] - result = runCmd(". %s; which tar" % env_script, shell=True) - self.assertEqual(0, result.status, "Couldn't setup SDK environment") - is_sdk_tar = True if "/tmp/sdk" in result.output else False - self.assertTrue(is_sdk_tar, "Couldn't setup SDK environment") - - tar_sdk = result.output - result = runCmd("%s --version" % tar_sdk) - self.assertEqual(0, result.status, "Couldn't run tar from SDK") - class TestImage(OESelftestTestCase): + _use_own_builddir = True + _main_thread = False @OETestID(1644) def test_testimage_install(self): @@ -115,7 +14,7 @@ class TestImage(OESelftestTestCase): Product: oe-core Author: Mariano Lopez """ - if get_bb_var('DISTRO') == 'poky-tiny': + if self.get_bb_var('DISTRO') == 'poky-tiny': self.skipTest('core-image-full-cmdline not buildable for poky-tiny') features = 'INHERIT += "testimage"\n' @@ -123,8 +22,8 @@ class TestImage(OESelftestTestCase): self.write_config(features) # Build core-image-sato and testimage - bitbake('core-image-full-cmdline socat') - bitbake('-c testimage core-image-full-cmdline') + self.bitbake('core-image-full-cmdline socat') + self.bitbake('-c testimage core-image-full-cmdline') @OETestID(1883) def test_testimage_dnf(self): @@ -134,7 +33,7 @@ class TestImage(OESelftestTestCase): Product: oe-core Author: Alexander Kanavin """ - if get_bb_var('DISTRO') == 'poky-tiny': + if self.get_bb_var('DISTRO') == 'poky-tiny': self.skipTest('core-image-full-cmdline not buildable for poky-tiny') features = 'INHERIT += "testimage"\n' @@ -147,113 +46,5 @@ class TestImage(OESelftestTestCase): self.write_config(features) # Build core-image-sato and testimage - bitbake('core-image-full-cmdline socat') - bitbake('-c testimage core-image-full-cmdline') - -class Postinst(OESelftestTestCase): - @OETestID(1540) - def test_verify_postinst(self): - """ - Summary: The purpose of this test is to verify the execution order of postinst Bugzilla ID: [5319] - Expected : - 1. Compile a minimal image. - 2. The compiled image will add the created layer with the recipes postinst[ abdpt] - 3. Run qemux86 - 4. Validate the task execution order - Author: Francisco Pedraza - """ - features = 'INHERIT += "testimage"\n' - features += 'CORE_IMAGE_EXTRA_INSTALL += "postinst-at-rootfs \ -postinst-delayed-a \ -postinst-delayed-b \ -postinst-delayed-d \ -postinst-delayed-p \ -postinst-delayed-t \ -"\n' - self.write_config(features) - - bitbake('core-image-minimal -f ') - - postinst_list = ['100-postinst-at-rootfs', - '101-postinst-delayed-a', - '102-postinst-delayed-b', - '103-postinst-delayed-d', - '104-postinst-delayed-p', - '105-postinst-delayed-t'] - path_workdir = get_bb_var('WORKDIR','core-image-minimal') - workspacedir = 'testimage/qemu_boot_log' - workspacedir = os.path.join(path_workdir, workspacedir) - rexp = re.compile("^Running postinst .*/(?P.*)\.\.\.$") - with runqemu('core-image-minimal') as qemu: - with open(workspacedir) as f: - found = False - idx = 0 - for line in f.readlines(): - line = line.strip().replace("^M","") - if not line: # To avoid empty lines - continue - m = rexp.search(line) - if m: - self.assertEqual(postinst_list[idx], m.group('postinst'), "Fail") - idx = idx+1 - found = True - elif found: - self.assertEqual(idx, len(postinst_list), "Not found all postinsts") - break - - @OETestID(1545) - def test_postinst_rootfs_and_boot(self): - """ - Summary: The purpose of this test case is to verify Post-installation - scripts are called when rootfs is created and also test - that script can be delayed to run at first boot. - Dependencies: NA - Steps: 1. Add proper configuration to local.conf file - 2. Build a "core-image-minimal" image - 3. Verify that file created by postinst_rootfs recipe is - present on rootfs dir. - 4. Boot the image created on qemu and verify that the file - created by postinst_boot recipe is present on image. - Expected: The files are successfully created during rootfs and boot - time for 3 different package managers: rpm,ipk,deb and - for initialization managers: sysvinit and systemd. - - """ - file_rootfs_name = "this-was-created-at-rootfstime" - fileboot_name = "this-was-created-at-first-boot" - rootfs_pkg = 'postinst-at-rootfs' - boot_pkg = 'postinst-delayed-a' - #Step 1 - common_features = 'MACHINE = "qemux86"\n' - common_features += 'CORE_IMAGE_EXTRA_INSTALL += "%s %s "\n'% (rootfs_pkg, boot_pkg) - common_features += 'IMAGE_FEATURES += "ssh-server-openssh"\n' - for init_manager in ("sysvinit", "systemd"): - #for sysvinit no extra configuration is needed, - features = '' - if (init_manager is "systemd"): - features += 'DISTRO_FEATURES_append = " systemd"\n' - features += 'VIRTUAL-RUNTIME_init_manager = "systemd"\n' - features += 'DISTRO_FEATURES_BACKFILL_CONSIDERED = "sysvinit"\n' - features += 'VIRTUAL-RUNTIME_initscripts = ""\n' - for classes in ("package_rpm package_deb package_ipk", - "package_deb package_rpm package_ipk", - "package_ipk package_deb package_rpm"): - features += 'PACKAGE_CLASSES = "%s"\n' % classes - self.write_config(common_features + features) - - #Step 2 - bitbake('core-image-minimal') - - #Step 3 - file_rootfs_created = os.path.join(get_bb_var('IMAGE_ROOTFS',"core-image-minimal"), - file_rootfs_name) - found = os.path.isfile(file_rootfs_created) - self.assertTrue(found, "File %s was not created at rootfs time by %s" % \ - (file_rootfs_name, rootfs_pkg)) - - #Step 4 - testcommand = 'ls /etc/'+fileboot_name - with runqemu('core-image-minimal') as qemu: - sshargs = '-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' - result = runCmd('ssh %s root@%s %s' % (sshargs, qemu.ip, testcommand)) - self.assertEqual(result.status, 0, 'File %s was not created at firts boot'% fileboot_name) + self.bitbake('core-image-full-cmdline socat') + self.bitbake('-c testimage core-image-full-cmdline') diff --git a/meta/lib/oeqa/selftest/cases/runtime_test_export.py b/meta/lib/oeqa/selftest/cases/runtime_test_export.py new file mode 100644 index 0000000..8182f18 --- /dev/null +++ b/meta/lib/oeqa/selftest/cases/runtime_test_export.py @@ -0,0 +1,104 @@ +import os + +from oeqa.selftest.case import OESelftestTestCase +from oeqa.utils.commands import runqemu +from oeqa.core.decorator.oeid import OETestID + +class TestExport(OESelftestTestCase): + @classmethod + def tearDownClass(cls): + cls.runCmd("rm -rf /tmp/sdk") + super(TestExport, cls).tearDownClass() + + @OETestID(1499) + def test_testexport_basic(self): + """ + Summary: Check basic testexport functionality with only ping test enabled. + Expected: 1. testexport directory must be created. + 2. runexported.py must run without any error/exception. + 3. ping test must succeed. + Product: oe-core + Author: Mariano Lopez + """ + + features = 'INHERIT += "testexport"\n' + # These aren't the actual IP addresses but testexport class needs something defined + features += 'TEST_SERVER_IP = "192.168.7.1"\n' + features += 'TEST_TARGET_IP = "192.168.7.1"\n' + features += 'TEST_SUITES = "ping"\n' + self.write_config(features) + + # Build tesexport for core-image-minimal + self.bitbake('core-image-minimal') + self.bitbake('-c testexport core-image-minimal') + + testexport_dir = self.get_bb_var('TEST_EXPORT_DIR', 'core-image-minimal') + + # Verify if TEST_EXPORT_DIR was created + isdir = os.path.isdir(testexport_dir) + self.assertEqual(True, isdir, 'Failed to create testexport dir: %s' % testexport_dir) + + with runqemu('core-image-minimal') as qemu: + # Attempt to run runexported.py to perform ping test + test_path = os.path.join(testexport_dir, "oe-test") + data_file = os.path.join(testexport_dir, 'data', 'testdata.json') + manifest = os.path.join(testexport_dir, 'data', 'manifest') + cmd = ("%s runtime --test-data-file %s --packages-manifest %s " + "--target-ip %s --server-ip %s --quiet" + % (test_path, data_file, manifest, qemu.ip, qemu.server_ip)) + result = self.runCmd(cmd) + # Verify ping test was succesful + self.assertEqual(0, result.status, 'oe-test runtime returned a non 0 status') + + @OETestID(1641) + def test_testexport_sdk(self): + """ + Summary: Check sdk functionality for testexport. + Expected: 1. testexport directory must be created. + 2. SDK tarball must exists. + 3. Uncompressing of tarball must succeed. + 4. Check if the SDK directory is added to PATH. + 5. Run tar from the SDK directory. + Product: oe-core + Author: Mariano Lopez + """ + + features = 'INHERIT += "testexport"\n' + # These aren't the actual IP addresses but testexport class needs something defined + features += 'TEST_SERVER_IP = "192.168.7.1"\n' + features += 'TEST_TARGET_IP = "192.168.7.1"\n' + features += 'TEST_SUITES = "ping"\n' + features += 'TEST_EXPORT_SDK_ENABLED = "1"\n' + features += 'TEST_EXPORT_SDK_PACKAGES = "nativesdk-tar"\n' + self.write_config(features) + + # Build tesexport for core-image-minimal + self.bitbake('core-image-minimal') + self.bitbake('-c testexport core-image-minimal') + + needed_vars = ['TEST_EXPORT_DIR', 'TEST_EXPORT_SDK_DIR', 'TEST_EXPORT_SDK_NAME'] + bb_vars = self.get_bb_vars(needed_vars, 'core-image-minimal') + testexport_dir = bb_vars['TEST_EXPORT_DIR'] + sdk_dir = bb_vars['TEST_EXPORT_SDK_DIR'] + sdk_name = bb_vars['TEST_EXPORT_SDK_NAME'] + + # Check for SDK + tarball_name = "%s.sh" % sdk_name + tarball_path = os.path.join(testexport_dir, sdk_dir, tarball_name) + msg = "Couldn't find SDK tarball: %s" % tarball_path + self.assertEqual(os.path.isfile(tarball_path), True, msg) + + # Extract SDK and run tar from SDK + result = self.runCmd("%s -y -d /tmp/sdk" % tarball_path) + self.assertEqual(0, result.status, "Couldn't extract SDK") + + env_script = result.output.split()[-1] + result = self.runCmd(". %s; which tar" % env_script, shell=True) + self.assertEqual(0, result.status, "Couldn't setup SDK environment") + is_sdk_tar = True if "/tmp/sdk" in result.output else False + self.assertTrue(is_sdk_tar, "Couldn't setup SDK environment") + + tar_sdk = result.output + result = self.runCmd("%s --version" % tar_sdk) + self.assertEqual(0, result.status, "Couldn't run tar from SDK") + diff --git a/meta/lib/oeqa/selftest/cases/runtime_test_postinsts.py b/meta/lib/oeqa/selftest/cases/runtime_test_postinsts.py new file mode 100644 index 0000000..b8e6b9c --- /dev/null +++ b/meta/lib/oeqa/selftest/cases/runtime_test_postinsts.py @@ -0,0 +1,114 @@ +import os +import re + +from oeqa.selftest.case import OESelftestTestCase +from oeqa.core.decorator.oeid import OETestID +from oeqa.utils.commands import runqemu + +class Postinst(OESelftestTestCase): + @OETestID(1540) + def test_verify_postinst(self): + """ + Summary: The purpose of this test is to verify the execution order of postinst Bugzilla ID: [5319] + Expected : + 1. Compile a minimal image. + 2. The compiled image will add the created layer with the recipes postinst[ abdpt] + 3. Run qemux86 + 4. Validate the task execution order + Author: Francisco Pedraza + """ + features = 'INHERIT += "testimage"\n' + features += 'CORE_IMAGE_EXTRA_INSTALL += "postinst-at-rootfs \ +postinst-delayed-a \ +postinst-delayed-b \ +postinst-delayed-d \ +postinst-delayed-p \ +postinst-delayed-t \ +"\n' + self.write_config(features) + + self.bitbake('core-image-minimal -f ') + + postinst_list = ['100-postinst-at-rootfs', + '101-postinst-delayed-a', + '102-postinst-delayed-b', + '103-postinst-delayed-d', + '104-postinst-delayed-p', + '105-postinst-delayed-t'] + path_workdir = self.get_bb_var('WORKDIR','core-image-minimal') + workspacedir = 'testimage/qemu_boot_log' + workspacedir = os.path.join(path_workdir, workspacedir) + rexp = re.compile("^Running postinst .*/(?P.*)\.\.\.$") + with runqemu('core-image-minimal') as qemu: + with open(workspacedir) as f: + found = False + idx = 0 + for line in f.readlines(): + line = line.strip().replace("^M","") + if not line: # To avoid empty lines + continue + m = rexp.search(line) + if m: + self.assertEqual(postinst_list[idx], m.group('postinst'), "Fail") + idx = idx+1 + found = True + elif found: + self.assertEqual(idx, len(postinst_list), "Not found all postinsts") + break + + @OETestID(1545) + def test_postinst_rootfs_and_boot(self): + """ + Summary: The purpose of this test case is to verify Post-installation + scripts are called when rootfs is created and also test + that script can be delayed to run at first boot. + Dependencies: NA + Steps: 1. Add proper configuration to local.conf file + 2. Build a "core-image-minimal" image + 3. Verify that file created by postinst_rootfs recipe is + present on rootfs dir. + 4. Boot the image created on qemu and verify that the file + created by postinst_boot recipe is present on image. + Expected: The files are successfully created during rootfs and boot + time for 3 different package managers: rpm,ipk,deb and + for initialization managers: sysvinit and systemd. + + """ + file_rootfs_name = "this-was-created-at-rootfstime" + fileboot_name = "this-was-created-at-first-boot" + rootfs_pkg = 'postinst-at-rootfs' + boot_pkg = 'postinst-delayed-a' + #Step 1 + common_features = 'MACHINE = "qemux86"\n' + common_features += 'CORE_IMAGE_EXTRA_INSTALL += "%s %s "\n'% (rootfs_pkg, boot_pkg) + common_features += 'IMAGE_FEATURES += "ssh-server-openssh"\n' + for init_manager in ("sysvinit", "systemd"): + #for sysvinit no extra configuration is needed, + features = '' + if (init_manager is "systemd"): + features += 'DISTRO_FEATURES_append = " systemd"\n' + features += 'VIRTUAL-RUNTIME_init_manager = "systemd"\n' + features += 'DISTRO_FEATURES_BACKFILL_CONSIDERED = "sysvinit"\n' + features += 'VIRTUAL-RUNTIME_initscripts = ""\n' + for classes in ("package_rpm package_deb package_ipk", + "package_deb package_rpm package_ipk", + "package_ipk package_deb package_rpm"): + features += 'PACKAGE_CLASSES = "%s"\n' % classes + self.write_config(common_features + features) + + #Step 2 + self.bitbake('core-image-minimal') + + #Step 3 + file_rootfs_created = os.path.join(self.get_bb_var('IMAGE_ROOTFS',"core-image-minimal"), + file_rootfs_name) + found = os.path.isfile(file_rootfs_created) + self.assertTrue(found, "File %s was not created at rootfs time by %s" % \ + (file_rootfs_name, rootfs_pkg)) + + #Step 4 + testcommand = 'ls /etc/'+fileboot_name + with runqemu('core-image-minimal') as qemu: + sshargs = '-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' + result = self.runCmd('ssh %s root@%s %s' % (sshargs, qemu.ip, testcommand)) + self.assertEqual(result.status, 0, 'File %s was not created at firts boot'% fileboot_name) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 16:30:11 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 16:30:11 +0000 Subject: [oe-commits] [openembedded-core] 27/39: oeqa/selftest/cases: Use wrapper methods from OESelfTestCase class and enable threaded runs In-Reply-To: <150056818468.11699.16758981017169458803@git.openembedded.org> References: <150056818468.11699.16758981017169458803@git.openembedded.org> Message-ID: <20170720162946.6263A233619@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit b2a1f2c76bc6f6fd2294436ce3b695c5021411c0 Author: An?bal Lim?n AuthorDate: Tue May 30 15:11:03 2017 -0500 oeqa/selftest/cases: Use wrapper methods from OESelfTestCase class and enable threaded runs In order to support threaded runs in oe-selftest cases, there is a need to use wrapper methods that takes into account the current builddir by Test class. Signed-off-by: An?bal Lim?n --- .../lib/oeqa/selftest/cases/_sstatetests_noauto.py | 16 ++-- meta/lib/oeqa/selftest/cases/archiver.py | 21 +++-- meta/lib/oeqa/selftest/cases/bblayers.py | 45 ++++----- meta/lib/oeqa/selftest/cases/bbtests.py | 101 +++++++++++---------- meta/lib/oeqa/selftest/cases/buildhistory.py | 9 +- meta/lib/oeqa/selftest/cases/buildoptions.py | 58 +++++++----- meta/lib/oeqa/selftest/cases/containerimage.py | 9 +- meta/lib/oeqa/selftest/cases/distrodata.py | 7 +- meta/lib/oeqa/selftest/cases/image_typedep.py | 8 +- meta/lib/oeqa/selftest/cases/layerappend.py | 22 ++--- meta/lib/oeqa/selftest/cases/liboe.py | 13 +-- meta/lib/oeqa/selftest/cases/lic_checksum.py | 8 +- meta/lib/oeqa/selftest/cases/manifest.py | 13 +-- meta/lib/oeqa/selftest/cases/oelib/buildhistory.py | 7 +- meta/lib/oeqa/selftest/cases/oescripts.py | 5 +- meta/lib/oeqa/selftest/cases/package.py | 10 +- meta/lib/oeqa/selftest/cases/pkgdata.py | 73 +++++++-------- meta/lib/oeqa/selftest/cases/prservice.py | 19 ++-- meta/lib/oeqa/selftest/cases/selftest.py | 2 + meta/lib/oeqa/selftest/cases/signing.py | 40 ++++---- meta/lib/oeqa/selftest/cases/sstate.py | 5 +- meta/lib/oeqa/selftest/cases/sstatetests.py | 51 ++++++----- 22 files changed, 284 insertions(+), 258 deletions(-) diff --git a/meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py b/meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py index 98b8b60..08e71f3 100644 --- a/meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py +++ b/meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py @@ -2,19 +2,15 @@ import os import shutil import oeqa.utils.ftools as ftools -from oeqa.utils.commands import runCmd, bitbake, get_bb_var from oeqa.selftest.cases.sstate import SStateBase - class RebuildFromSState(SStateBase): - - @classmethod - def setUpClass(self): - super(RebuildFromSState, self).setUpClass() + _use_own_builddir = True + _main_thread = False def get_dep_targets(self, primary_targets): found_targets = [] - bitbake("-g " + ' '.join(map(str, primary_targets))) + self.bitbake("-g " + ' '.join(map(str, primary_targets))) with open(os.path.join(self.builddir, 'pn-buildlist'), 'r') as pnfile: found_targets = pnfile.read().splitlines() return found_targets @@ -59,7 +55,7 @@ class RebuildFromSState(SStateBase): rebuild_targets = primary_targets self.configure_builddir(buildA) - runCmd((". %s/oe-init-build-env %s && " % (get_bb_var('COREBASE'), buildA)) + 'bitbake ' + ' '.join(map(str, primary_targets)), shell=True, executable='/bin/bash') + self.runCmd((". %s/oe-init-build-env %s && " % (self.get_bb_var('COREBASE'), buildA)) + 'bitbake ' + ' '.join(map(str, primary_targets)), shell=True, executable='/bin/bash') self.hardlink_tree(os.path.join(buildA, 'sstate-cache'), os.path.join(self.builddir, 'sstate-cache-buildA')) shutil.rmtree(buildA) @@ -69,13 +65,13 @@ class RebuildFromSState(SStateBase): self.configure_builddir(buildB) self.hardlink_tree(os.path.join(self.builddir, 'sstate-cache-buildA'), os.path.join(buildB, 'sstate-cache')) - result_cleansstate = runCmd((". %s/oe-init-build-env %s && " % (get_bb_var('COREBASE'), buildB)) + 'bitbake -ccleansstate ' + target, ignore_status=True, shell=True, executable='/bin/bash') + result_cleansstate = self.runCmd((". %s/oe-init-build-env %s && " % (self.get_bb_var('COREBASE'), buildB)) + 'bitbake -ccleansstate ' + target, ignore_status=True, shell=True, executable='/bin/bash') if not result_cleansstate.status == 0: failed_cleansstate.append(target) shutil.rmtree(buildB) continue - result_build = runCmd((". %s/oe-init-build-env %s && " % (get_bb_var('COREBASE'), buildB)) + 'bitbake ' + target, ignore_status=True, shell=True, executable='/bin/bash') + result_build = self.runCmd((". %s/oe-init-build-env %s && " % (self.get_bb_var('COREBASE'), buildB)) + 'bitbake ' + target, ignore_status=True, shell=True, executable='/bin/bash') if not result_build.status == 0: failed_rebuild.append(target) diff --git a/meta/lib/oeqa/selftest/cases/archiver.py b/meta/lib/oeqa/selftest/cases/archiver.py index 72026d5..347d0a8 100644 --- a/meta/lib/oeqa/selftest/cases/archiver.py +++ b/meta/lib/oeqa/selftest/cases/archiver.py @@ -1,10 +1,11 @@ import os import glob -from oeqa.utils.commands import bitbake, get_bb_vars from oeqa.selftest.case import OESelftestTestCase from oeqa.core.decorator.oeid import OETestID class Archiver(OESelftestTestCase): + _use_own_builddir = True + _main_thread = False @OETestID(1345) def test_archiver_allows_to_filter_on_recipe_name(self): @@ -26,10 +27,10 @@ class Archiver(OESelftestTestCase): features += 'COPYLEFT_PN_EXCLUDE = "%s"\n' % exclude_recipe self.write_config(features) - bitbake('-c clean %s %s' % (include_recipe, exclude_recipe)) - bitbake("-c deploy_archives %s %s" % (include_recipe, exclude_recipe)) + self.bitbake('-c clean %s %s' % (include_recipe, exclude_recipe)) + self.bitbake("-c deploy_archives %s %s" % (include_recipe, exclude_recipe)) - bb_vars = get_bb_vars(['DEPLOY_DIR_SRC', 'TARGET_SYS']) + bb_vars = self.get_bb_vars(['DEPLOY_DIR_SRC', 'TARGET_SYS']) src_path = os.path.join(bb_vars['DEPLOY_DIR_SRC'], bb_vars['TARGET_SYS']) # Check that include_recipe was included @@ -58,10 +59,10 @@ class Archiver(OESelftestTestCase): features += 'COPYLEFT_RECIPE_TYPES = "target"\n' self.write_config(features) - bitbake('-c clean %s %s' % (target_recipe, native_recipe)) - bitbake("%s -c deploy_archives %s" % (target_recipe, native_recipe)) + self.bitbake('-c clean %s %s' % (target_recipe, native_recipe)) + self.bitbake("%s -c deploy_archives %s" % (target_recipe, native_recipe)) - bb_vars = get_bb_vars(['DEPLOY_DIR_SRC', 'TARGET_SYS', 'BUILD_SYS']) + bb_vars = self.get_bb_vars(['DEPLOY_DIR_SRC', 'TARGET_SYS', 'BUILD_SYS']) src_path_target = os.path.join(bb_vars['DEPLOY_DIR_SRC'], bb_vars['TARGET_SYS']) src_path_native = os.path.join(bb_vars['DEPLOY_DIR_SRC'], bb_vars['BUILD_SYS']) @@ -95,10 +96,10 @@ class Archiver(OESelftestTestCase): features += 'COPYLEFT_PN_EXCLUDE = "%s"\n' % target_recipes[1] self.write_config(features) - bitbake('-c clean %s %s' % (' '.join(target_recipes), ' '.join(native_recipes))) - bitbake('-c deploy_archives %s %s' % (' '.join(target_recipes), ' '.join(native_recipes))) + self.bitbake('-c clean %s %s' % (' '.join(target_recipes), ' '.join(native_recipes))) + self.bitbake('-c deploy_archives %s %s' % (' '.join(target_recipes), ' '.join(native_recipes))) - bb_vars = get_bb_vars(['DEPLOY_DIR_SRC', 'TARGET_SYS', 'BUILD_SYS']) + bb_vars = self.get_bb_vars(['DEPLOY_DIR_SRC', 'TARGET_SYS', 'BUILD_SYS']) src_path_target = os.path.join(bb_vars['DEPLOY_DIR_SRC'], bb_vars['TARGET_SYS']) src_path_native = os.path.join(bb_vars['DEPLOY_DIR_SRC'], bb_vars['BUILD_SYS']) diff --git a/meta/lib/oeqa/selftest/cases/bblayers.py b/meta/lib/oeqa/selftest/cases/bblayers.py index 90a2249..12a7413 100644 --- a/meta/lib/oeqa/selftest/cases/bblayers.py +++ b/meta/lib/oeqa/selftest/cases/bblayers.py @@ -2,33 +2,34 @@ import os import re import oeqa.utils.ftools as ftools -from oeqa.utils.commands import runCmd, get_bb_var from oeqa.selftest.case import OESelftestTestCase from oeqa.core.decorator.oeid import OETestID class BitbakeLayers(OESelftestTestCase): + _use_own_builddir = True + _main_thread = False @OETestID(756) def test_bitbakelayers_showcrossdepends(self): - result = runCmd('bitbake-layers show-cross-depends') + result = self.runCmd('bitbake-layers show-cross-depends') self.assertTrue('aspell' in result.output, msg = "No dependencies were shown. bitbake-layers show-cross-depends output: %s" % result.output) @OETestID(83) def test_bitbakelayers_showlayers(self): - result = runCmd('bitbake-layers show-layers') + result = self.runCmd('bitbake-layers show-layers') self.assertTrue('meta-selftest' in result.output, msg = "No layers were shown. bitbake-layers show-layers output: %s" % result.output) @OETestID(93) def test_bitbakelayers_showappends(self): recipe = "xcursor-transparent-theme" bb_file = self.get_recipe_basename(recipe) - result = runCmd('bitbake-layers show-appends') + result = self.runCmd('bitbake-layers show-appends') self.assertTrue(bb_file in result.output, msg="%s file was not recognised. bitbake-layers show-appends output: %s" % (bb_file, result.output)) @OETestID(90) def test_bitbakelayers_showoverlayed(self): - result = runCmd('bitbake-layers show-overlayed') + result = self.runCmd('bitbake-layers show-overlayed') self.assertTrue('aspell' in result.output, msg="aspell overlayed recipe was not recognised bitbake-layers show-overlayed %s" % result.output) @OETestID(95) @@ -39,7 +40,7 @@ class BitbakeLayers(OESelftestTestCase): testoutdir = os.path.join(self.builddir, 'test_bitbakelayers_flatten') self.assertFalse(os.path.isdir(testoutdir), msg = "test_bitbakelayers_flatten should not exist at this point in time") self.track_for_cleanup(testoutdir) - result = runCmd('bitbake-layers flatten %s' % testoutdir) + result = self.runCmd('bitbake-layers flatten %s' % testoutdir) bb_file = os.path.join(testoutdir, recipe_path, recipe_file) self.assertTrue(os.path.isfile(bb_file), msg = "Cannot find xcursor-transparent-theme_0.1.1.bb in the test_bitbakelayers_flatten local dir.") contents = ftools.read_file(bb_file) @@ -48,46 +49,46 @@ class BitbakeLayers(OESelftestTestCase): @OETestID(1195) def test_bitbakelayers_add_remove(self): - test_layer = os.path.join(get_bb_var('COREBASE'), 'meta-skeleton') - result = runCmd('bitbake-layers show-layers') + test_layer = os.path.join(self.get_bb_var('COREBASE'), 'meta-skeleton') + result = self.runCmd('bitbake-layers show-layers') self.assertNotIn('meta-skeleton', result.output, "This test cannot run with meta-skeleton in bblayers.conf. bitbake-layers show-layers output: %s" % result.output) - result = runCmd('bitbake-layers add-layer %s' % test_layer) - result = runCmd('bitbake-layers show-layers') + result = self.runCmd('bitbake-layers add-layer %s' % test_layer) + result = self.runCmd('bitbake-layers show-layers') self.assertIn('meta-skeleton', result.output, msg = "Something wrong happened. meta-skeleton layer was not added to conf/bblayers.conf. bitbake-layers show-layers output: %s" % result.output) - result = runCmd('bitbake-layers remove-layer %s' % test_layer) - result = runCmd('bitbake-layers show-layers') + result = self.runCmd('bitbake-layers remove-layer %s' % test_layer) + result = self.runCmd('bitbake-layers show-layers') self.assertNotIn('meta-skeleton', result.output, msg = "meta-skeleton should have been removed at this step. bitbake-layers show-layers output: %s" % result.output) - result = runCmd('bitbake-layers add-layer %s' % test_layer) - result = runCmd('bitbake-layers show-layers') + result = self.runCmd('bitbake-layers add-layer %s' % test_layer) + result = self.runCmd('bitbake-layers show-layers') self.assertIn('meta-skeleton', result.output, msg = "Something wrong happened. meta-skeleton layer was not added to conf/bblayers.conf. bitbake-layers show-layers output: %s" % result.output) - result = runCmd('bitbake-layers remove-layer */meta-skeleton') - result = runCmd('bitbake-layers show-layers') + result = self.runCmd('bitbake-layers remove-layer */meta-skeleton') + result = self.runCmd('bitbake-layers show-layers') self.assertNotIn('meta-skeleton', result.output, msg = "meta-skeleton should have been removed at this step. bitbake-layers show-layers output: %s" % result.output) @OETestID(1384) def test_bitbakelayers_showrecipes(self): - result = runCmd('bitbake-layers show-recipes') + result = self.runCmd('bitbake-layers show-recipes') self.assertIn('aspell:', result.output) self.assertIn('mtd-utils:', result.output) self.assertIn('core-image-minimal:', result.output) - result = runCmd('bitbake-layers show-recipes mtd-utils') + result = self.runCmd('bitbake-layers show-recipes mtd-utils') self.assertIn('mtd-utils:', result.output) self.assertNotIn('aspell:', result.output) - result = runCmd('bitbake-layers show-recipes -i image') + result = self.runCmd('bitbake-layers show-recipes -i image') self.assertIn('core-image-minimal', result.output) self.assertNotIn('mtd-utils:', result.output) - result = runCmd('bitbake-layers show-recipes -i cmake,pkgconfig') + result = self.runCmd('bitbake-layers show-recipes -i cmake,pkgconfig') self.assertIn('libproxy:', result.output) self.assertNotIn('mtd-utils:', result.output) # doesn't inherit either self.assertNotIn('wget:', result.output) # doesn't inherit cmake self.assertNotIn('waffle:', result.output) # doesn't inherit pkgconfig - result = runCmd('bitbake-layers show-recipes -i nonexistentclass', ignore_status=True) + result = self.runCmd('bitbake-layers show-recipes -i nonexistentclass', ignore_status=True) self.assertNotEqual(result.status, 0, 'bitbake-layers show-recipes -i nonexistentclass should have failed') self.assertIn('ERROR:', result.output) def get_recipe_basename(self, recipe): recipe_file = "" - result = runCmd("bitbake-layers show-recipes -f %s" % recipe) + result = self.runCmd("bitbake-layers show-recipes -f %s" % recipe) for line in result.output.splitlines(): if recipe in line: recipe_file = line diff --git a/meta/lib/oeqa/selftest/cases/bbtests.py b/meta/lib/oeqa/selftest/cases/bbtests.py index df11a6b..9e61b8c 100644 --- a/meta/lib/oeqa/selftest/cases/bbtests.py +++ b/meta/lib/oeqa/selftest/cases/bbtests.py @@ -2,12 +2,12 @@ import os import re import oeqa.utils.ftools as ftools -from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars - from oeqa.selftest.case import OESelftestTestCase from oeqa.core.decorator.oeid import OETestID class BitbakeTests(OESelftestTestCase): + _use_own_builddir = True + _main_thread = False def getline(self, res, line): for l in res.output.split('\n'): @@ -16,20 +16,20 @@ class BitbakeTests(OESelftestTestCase): @OETestID(789) def test_run_bitbake_from_dir_1(self): - os.chdir(os.path.join(self.builddir, 'conf')) - self.assertEqual(bitbake('-e').status, 0, msg = "bitbake couldn't run from \"conf\" dir") + kwargs = {} + kwargs['cwd'] = os.path.join(self.builddir, 'conf') + self.assertEqual(self.bitbake('-e', **kwargs).status, 0, msg = "bitbake couldn't run from \"conf\" dir") @OETestID(790) def test_run_bitbake_from_dir_2(self): my_env = os.environ.copy() my_env['BBPATH'] = self.builddir - os.chdir(os.path.dirname(self.builddir)) - self.assertEqual(bitbake('-e', env=my_env).status, 0, msg = "bitbake couldn't run from builddir") + self.assertEqual(self.bitbake('-e', env=my_env).status, 0, msg = "bitbake couldn't run from builddir") @OETestID(806) def test_event_handler(self): self.write_config("INHERIT += \"test_events\"") - result = bitbake('m4-native') + result = self.bitbake('m4-native') find_build_started = re.search("NOTE: Test for bb\.event\.BuildStarted(\n.*)*NOTE: Executing RunQueue Tasks", result.output) find_build_completed = re.search("Tasks Summary:.*(\n.*)*NOTE: Test for bb\.event\.BuildCompleted", result.output) self.assertTrue(find_build_started, msg = "Match failed in:\n%s" % result.output) @@ -38,25 +38,25 @@ class BitbakeTests(OESelftestTestCase): @OETestID(103) def test_local_sstate(self): - bitbake('m4-native') - bitbake('m4-native -cclean') - result = bitbake('m4-native') + self.bitbake('m4-native') + self.bitbake('m4-native -cclean') + result = self.bitbake('m4-native') find_setscene = re.search("m4-native.*do_.*_setscene", result.output) self.assertTrue(find_setscene, msg = "No \"m4-native.*do_.*_setscene\" message found during bitbake m4-native. bitbake output: %s" % result.output ) @OETestID(105) def test_bitbake_invalid_recipe(self): - result = bitbake('-b asdf', ignore_status=True) + result = self.bitbake('-b asdf', ignore_status=True) self.assertTrue("ERROR: Unable to find any recipe file matching 'asdf'" in result.output, msg = "Though asdf recipe doesn't exist, bitbake didn't output any err. message. bitbake output: %s" % result.output) @OETestID(107) def test_bitbake_invalid_target(self): - result = bitbake('asdf', ignore_status=True) + result = self.bitbake('asdf', ignore_status=True) self.assertTrue("ERROR: Nothing PROVIDES 'asdf'" in result.output, msg = "Though no 'asdf' target exists, bitbake didn't output any err. message. bitbake output: %s" % result.output) @OETestID(106) def test_warnings_errors(self): - result = bitbake('-b asdf', ignore_status=True) + result = self.bitbake('-b asdf', ignore_status=True) find_warnings = re.search("Summary: There w.{2,3}? [1-9][0-9]* WARNING messages* shown", result.output) find_errors = re.search("Summary: There w.{2,3}? [1-9][0-9]* ERROR messages* shown", result.output) self.assertTrue(find_warnings, msg="Did not find the mumber of warnings at the end of the build:\n" + result.output) @@ -68,9 +68,9 @@ class BitbakeTests(OESelftestTestCase): # patch to fail. self.write_recipeinc('man', 'SRC_URI += "file://man-1.5h1-make.patch"') self.write_config("INHERIT_remove = \"report-error\"") - result = bitbake('man -c patch', ignore_status=True) + result = self.bitbake('man -c patch', ignore_status=True) self.delete_recipeinc('man') - bitbake('-cclean man') + self.bitbake('-cclean man') line = self.getline(result, "Function failed: patch_do_patch") self.assertTrue(line and line.startswith("ERROR:"), msg = "Repeated patch application didn't fail. bitbake output: %s" % result.output) @@ -79,24 +79,24 @@ class BitbakeTests(OESelftestTestCase): # test 1 from bug 5875 test_recipe = 'zlib' test_data = "Microsoft Made No Profit From Anyone's Zunes Yo" - bb_vars = get_bb_vars(['D', 'PKGDEST', 'mandir'], test_recipe) + bb_vars = self.get_bb_vars(['D', 'PKGDEST', 'mandir'], test_recipe) image_dir = bb_vars['D'] pkgsplit_dir = bb_vars['PKGDEST'] man_dir = bb_vars['mandir'] - bitbake('-c clean %s' % test_recipe) - bitbake('-c package -f %s' % test_recipe) + self.bitbake('-c clean %s' % test_recipe) + self.bitbake('-c package -f %s' % test_recipe) self.add_command_to_tearDown('bitbake -c clean %s' % test_recipe) man_file = os.path.join(image_dir + man_dir, 'man3/zlib.3') ftools.append_file(man_file, test_data) - bitbake('-c package -f %s' % test_recipe) + self.bitbake('-c package -f %s' % test_recipe) man_split_file = os.path.join(pkgsplit_dir, 'zlib-doc' + man_dir, 'man3/zlib.3') man_split_content = ftools.read_file(man_split_file) self.assertIn(test_data, man_split_content, 'The man file has not changed in packages-split.') - ret = bitbake(test_recipe) + ret = self.bitbake(test_recipe) self.assertIn('task do_package_write_rpm:', ret.output, 'Task do_package_write_rpm did not re-executed.') @OETestID(163) @@ -104,26 +104,27 @@ class BitbakeTests(OESelftestTestCase): # test 2 from bug 5875 test_recipe = 'zlib' - bitbake(test_recipe) + self.bitbake(test_recipe) self.add_command_to_tearDown('bitbake -c clean %s' % test_recipe) - result = bitbake('-C compile %s' % test_recipe) + result = self.bitbake('-C compile %s' % test_recipe) look_for_tasks = ['do_compile:', 'do_install:', 'do_populate_sysroot:', 'do_package:'] for task in look_for_tasks: self.assertIn(task, result.output, msg="Couldn't find %s task.") @OETestID(167) def test_bitbake_g(self): - result = bitbake('-g core-image-minimal') + result = self.bitbake('-g core-image-minimal') + for f in ['pn-buildlist', 'recipe-depends.dot', 'task-depends.dot']: - self.addCleanup(os.remove, f) + self.addCleanup(os.remove, os.path.join(self.builddir, f)) self.assertTrue('Task dependencies saved to \'task-depends.dot\'' in result.output, msg = "No task dependency \"task-depends.dot\" file was generated for the given task target. bitbake output: %s" % result.output) self.assertTrue('busybox' in ftools.read_file(os.path.join(self.builddir, 'task-depends.dot')), msg = "No \"busybox\" dependency found in task-depends.dot file.") @OETestID(899) def test_image_manifest(self): - bitbake('core-image-minimal') - bb_vars = get_bb_vars(["DEPLOY_DIR_IMAGE", "IMAGE_LINK_NAME"], "core-image-minimal") + self.bitbake('core-image-minimal') + bb_vars = self.get_bb_vars(["DEPLOY_DIR_IMAGE", "IMAGE_LINK_NAME"], "core-image-minimal") deploydir = bb_vars["DEPLOY_DIR_IMAGE"] imagename = bb_vars["IMAGE_LINK_NAME"] manifest = os.path.join(deploydir, imagename + ".manifest") @@ -139,9 +140,9 @@ INHERIT_remove = \"report-error\" """) self.track_for_cleanup(os.path.join(self.builddir, "download-selftest")) - bitbake('-ccleanall man') - result = bitbake('-c fetch man', ignore_status=True) - bitbake('-ccleanall man') + self.bitbake('-ccleanall man') + result = self.bitbake('-c fetch man', ignore_status=True) + self.bitbake('-ccleanall man') self.delete_recipeinc('man') self.assertEqual(result.status, 1, msg="Command succeded when it should have failed. bitbake output: %s" % result.output) self.assertTrue('Fetcher failure: Unable to find file file://invalid anywhere. The paths that were searched were:' in result.output, msg = "\"invalid\" file \ @@ -161,32 +162,32 @@ SSTATE_DIR = \"${TOPDIR}/download-selftest\" data = 'SRC_URI = "${GNU_MIRROR}/aspell/aspell-${PV}.tar.gz;downloadfilename=test-aspell.tar.gz"' self.write_recipeinc('aspell', data) - result = bitbake('-f -c fetch aspell', ignore_status=True) + result = self.bitbake('-f -c fetch aspell', ignore_status=True) self.delete_recipeinc('aspell') self.assertEqual(result.status, 0, msg = "Couldn't fetch aspell. %s" % result.output) - dl_dir = get_bb_var("DL_DIR") + dl_dir = self.get_bb_var("DL_DIR") self.assertTrue(os.path.isfile(os.path.join(dl_dir, 'test-aspell.tar.gz')), msg = "File rename failed. No corresponding test-aspell.tar.gz file found under %s" % dl_dir) self.assertTrue(os.path.isfile(os.path.join(dl_dir, 'test-aspell.tar.gz.done')), "File rename failed. No corresponding test-aspell.tar.gz.done file found under %s" % dl_dir) @OETestID(1028) def test_environment(self): self.write_config("TEST_ENV=\"localconf\"") - result = runCmd('bitbake -e | grep TEST_ENV=') + result = self.runCmd('bitbake -e | grep TEST_ENV=') self.assertTrue('localconf' in result.output, msg = "bitbake didn't report any value for TEST_ENV variable. To test, run 'bitbake -e | grep TEST_ENV='") @OETestID(1029) def test_dry_run(self): - result = runCmd('bitbake -n m4-native') + result = self.runCmd('bitbake -n m4-native') self.assertEqual(0, result.status, "bitbake dry run didn't run as expected. %s" % result.output) @OETestID(1030) def test_just_parse(self): - result = runCmd('bitbake -p') + result = self.runCmd('bitbake -p') self.assertEqual(0, result.status, "errors encountered when parsing recipes. %s" % result.output) @OETestID(1031) def test_version(self): - result = runCmd('bitbake -s | grep wget') + result = self.runCmd('bitbake -s | grep wget') find = re.search("wget *:([0-9a-zA-Z\.\-]+)", result.output) self.assertTrue(find, "No version returned for searched recipe. bitbake output: %s" % result.output) @@ -194,11 +195,15 @@ SSTATE_DIR = \"${TOPDIR}/download-selftest\" def test_prefile(self): preconf = os.path.join(self.builddir, 'conf/prefile.conf') self.track_for_cleanup(preconf) + + cmd = 'bitbake -r %s -e | grep TEST_PREFILE=' % preconf + ftools.write_file(preconf ,"TEST_PREFILE=\"prefile\"") - result = runCmd('bitbake -r conf/prefile.conf -e | grep TEST_PREFILE=') + result = self.runCmd(cmd) self.assertTrue('prefile' in result.output, "Preconfigure file \"prefile.conf\"was not taken into consideration. ") + self.write_config("TEST_PREFILE=\"localconf\"") - result = runCmd('bitbake -r conf/prefile.conf -e | grep TEST_PREFILE=') + result = self.runCmd(cmd) self.assertTrue('localconf' in result.output, "Preconfigure file \"prefile.conf\"was not taken into consideration.") @OETestID(1033) @@ -207,12 +212,12 @@ SSTATE_DIR = \"${TOPDIR}/download-selftest\" self.track_for_cleanup(postconf) ftools.write_file(postconf , "TEST_POSTFILE=\"postfile\"") self.write_config("TEST_POSTFILE=\"localconf\"") - result = runCmd('bitbake -R conf/postfile.conf -e | grep TEST_POSTFILE=') + result = self.runCmd('bitbake -R conf/postfile.conf -e | grep TEST_POSTFILE=') self.assertTrue('postfile' in result.output, "Postconfigure file \"postfile.conf\"was not taken into consideration.") @OETestID(1034) def test_checkuri(self): - result = runCmd('bitbake -c checkuri m4') + result = self.runCmd('bitbake -c checkuri m4') self.assertEqual(0, result.status, msg = "\"checkuri\" task was not executed. bitbake output: %s" % result.output) @OETestID(1035) @@ -223,8 +228,8 @@ INHERIT_remove = \"report-error\" """) self.track_for_cleanup(os.path.join(self.builddir, "download-selftest")) self.write_recipeinc('man',"\ndo_fail_task () {\nexit 1 \n}\n\naddtask do_fail_task before do_fetch\n" ) - runCmd('bitbake -c cleanall man xcursor-transparent-theme') - result = runCmd('bitbake -c unpack -k man xcursor-transparent-theme', ignore_status=True) + self.runCmd('bitbake -c cleanall man xcursor-transparent-theme') + result = self.runCmd('bitbake -c unpack -k man xcursor-transparent-theme', ignore_status=True) errorpos = result.output.find('ERROR: Function failed: do_fail_task') manver = re.search("NOTE: recipe xcursor-transparent-theme-(.*?): task do_unpack: Started", result.output) continuepos = result.output.find('NOTE: recipe xcursor-transparent-theme-%s: task do_unpack: Started' % manver.group(1)) @@ -233,9 +238,9 @@ INHERIT_remove = \"report-error\" @OETestID(1119) def test_non_gplv3(self): self.write_config('INCOMPATIBLE_LICENSE = "GPLv3"') - result = bitbake('selftest-ed', ignore_status=True) + result = self.bitbake('selftest-ed', ignore_status=True) self.assertEqual(result.status, 0, "Bitbake failed, exit code %s, output %s" % (result.status, result.output)) - lic_dir = get_bb_var('LICENSE_DIRECTORY') + lic_dir = self.get_bb_var('LICENSE_DIRECTORY') self.assertFalse(os.path.isfile(os.path.join(lic_dir, 'selftest-ed/generic_GPLv3'))) self.assertTrue(os.path.isfile(os.path.join(lic_dir, 'selftest-ed/generic_GPLv2'))) @@ -244,9 +249,9 @@ INHERIT_remove = \"report-error\" """ Bitbake option to restore from sstate only within a build (i.e. execute no real tasks, only setscene)""" test_recipe = 'ed' - bitbake(test_recipe) - bitbake('-c clean %s' % test_recipe) - ret = bitbake('--setscene-only %s' % test_recipe) + self.bitbake(test_recipe) + self.bitbake('-c clean %s' % test_recipe) + ret = self.bitbake('--setscene-only %s' % test_recipe) tasks = re.findall(r'task\s+(do_\S+):', ret.output) @@ -258,7 +263,7 @@ INHERIT_remove = \"report-error\" def test_bbappend_order(self): """ Bitbake should bbappend to recipe in a predictable order """ test_recipe = 'ed' - bb_vars = get_bb_vars(['SUMMARY', 'PV'], test_recipe) + bb_vars = self.get_bb_vars(['SUMMARY', 'PV'], test_recipe) test_recipe_summary_before = bb_vars['SUMMARY'] test_recipe_pv = bb_vars['PV'] recipe_append_file = test_recipe + '_' + test_recipe_pv + '.bbappend' @@ -275,5 +280,5 @@ INHERIT_remove = \"report-error\" self.add_command_to_tearDown('rm -rf %s' % os.path.join(self.testlayer_path, 'recipes-test', test_recipe + '_test_*')) - test_recipe_summary_after = get_bb_var('SUMMARY', test_recipe) + test_recipe_summary_after = self.get_bb_var('SUMMARY', test_recipe) self.assertEqual(expected_recipe_summary, test_recipe_summary_after) diff --git a/meta/lib/oeqa/selftest/cases/buildhistory.py b/meta/lib/oeqa/selftest/cases/buildhistory.py index 06792d9..ed0965b 100644 --- a/meta/lib/oeqa/selftest/cases/buildhistory.py +++ b/meta/lib/oeqa/selftest/cases/buildhistory.py @@ -3,13 +3,10 @@ import re import datetime from oeqa.selftest.case import OESelftestTestCase -from oeqa.utils.commands import bitbake, get_bb_vars - class BuildhistoryBase(OESelftestTestCase): - def config_buildhistory(self, tmp_bh_location=False): - bb_vars = get_bb_vars(['USER_CLASSES', 'INHERIT']) + bb_vars = self.get_bb_vars(['USER_CLASSES', 'INHERIT']) if (not 'buildhistory' in bb_vars['USER_CLASSES']) and (not 'buildhistory' in bb_vars['INHERIT']): add_buildhistory_config = 'INHERIT += "buildhistory"\nBUILDHISTORY_COMMIT = "1"' self.append_config(add_buildhistory_config) @@ -30,8 +27,8 @@ class BuildhistoryBase(OESelftestTestCase): self.append_config(global_config) self.append_recipeinc(target, target_config) - bitbake("-cclean %s" % target) - result = bitbake(target, ignore_status=True) + self.bitbake("-cclean %s" % target) + result = self.bitbake(target, ignore_status=True) self.remove_config(global_config) self.remove_recipeinc(target, target_config) diff --git a/meta/lib/oeqa/selftest/cases/buildoptions.py b/meta/lib/oeqa/selftest/cases/buildoptions.py index 1f1bb7a..eaec253 100644 --- a/meta/lib/oeqa/selftest/cases/buildoptions.py +++ b/meta/lib/oeqa/selftest/cases/buildoptions.py @@ -5,67 +5,70 @@ import shutil import tempfile from oeqa.selftest.case import OESelftestTestCase from oeqa.selftest.cases.buildhistory import BuildhistoryBase -from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars import oeqa.utils.ftools as ftools from oeqa.core.decorator.oeid import OETestID class ImageOptionsTests(OESelftestTestCase): + _use_own_builddir = True + _main_thread = False @OETestID(761) def test_incremental_image_generation(self): - image_pkgtype = get_bb_var("IMAGE_PKGTYPE") + image_pkgtype = self.get_bb_var("IMAGE_PKGTYPE") if image_pkgtype != 'rpm': self.skipTest('Not using RPM as main package format') - bitbake("-c clean core-image-minimal") + self.bitbake("-c clean core-image-minimal") self.write_config('INC_RPM_IMAGE_GEN = "1"') self.append_config('IMAGE_FEATURES += "ssh-server-openssh"') - bitbake("core-image-minimal") - log_data_file = os.path.join(get_bb_var("WORKDIR", "core-image-minimal"), "temp/log.do_rootfs") + self.bitbake("core-image-minimal") + log_data_file = os.path.join(self.get_bb_var("WORKDIR", "core-image-minimal"), "temp/log.do_rootfs") log_data_created = ftools.read_file(log_data_file) incremental_created = re.search(r"Installing\s*:\s*packagegroup-core-ssh-openssh", log_data_created) self.remove_config('IMAGE_FEATURES += "ssh-server-openssh"') self.assertTrue(incremental_created, msg = "Match failed in:\n%s" % log_data_created) - bitbake("core-image-minimal") + self.bitbake("core-image-minimal") log_data_removed = ftools.read_file(log_data_file) incremental_removed = re.search(r"Erasing\s*:\s*packagegroup-core-ssh-openssh", log_data_removed) self.assertTrue(incremental_removed, msg = "Match failed in:\n%s" % log_data_removed) @OETestID(286) def test_ccache_tool(self): - bitbake("ccache-native") - bb_vars = get_bb_vars(['SYSROOT_DESTDIR', 'bindir'], 'ccache-native') + self.bitbake("ccache-native") + bb_vars = self.get_bb_vars(['SYSROOT_DESTDIR', 'bindir'], 'ccache-native') p = bb_vars['SYSROOT_DESTDIR'] + bb_vars['bindir'] + "/" + "ccache" self.assertTrue(os.path.isfile(p), msg = "No ccache found (%s)" % p) self.write_config('INHERIT += "ccache"') self.add_command_to_tearDown('bitbake -c clean m4') - bitbake("m4 -f -c compile") - log_compile = os.path.join(get_bb_var("WORKDIR","m4"), "temp/log.do_compile") - res = runCmd("grep ccache %s" % log_compile, ignore_status=True) + self.bitbake("m4 -f -c compile") + log_compile = os.path.join(self.get_bb_var("WORKDIR","m4"), "temp/log.do_compile") + res = self.runCmd("grep ccache %s" % log_compile, ignore_status=True) self.assertEqual(0, res.status, msg="No match for ccache in m4 log.do_compile. For further details: %s" % log_compile) @OETestID(1435) def test_read_only_image(self): - distro_features = get_bb_var('DISTRO_FEATURES') + distro_features = self.get_bb_var('DISTRO_FEATURES') if not ('x11' in distro_features and 'opengl' in distro_features): self.skipTest('core-image-sato requires x11 and opengl in distro features') self.write_config('IMAGE_FEATURES += "read-only-rootfs"') - bitbake("core-image-sato") + self.bitbake("core-image-sato") # do_image will fail if there are any pending postinsts class DiskMonTest(OESelftestTestCase): + _use_own_builddir = True + _main_thread = False @OETestID(277) def test_stoptask_behavior(self): self.write_config('BB_DISKMON_DIRS = "STOPTASKS,${TMPDIR},100000G,100K"') - res = bitbake("m4", ignore_status = True) + res = self.bitbake("m4", ignore_status = True) self.assertTrue('ERROR: No new tasks can be executed since the disk space monitor action is "STOPTASKS"!' in res.output, msg = "Tasks should have stopped. Disk monitor is set to STOPTASK: %s" % res.output) self.assertEqual(res.status, 1, msg = "bitbake reported exit code %s. It should have been 1. Bitbake output: %s" % (str(res.status), res.output)) self.write_config('BB_DISKMON_DIRS = "ABORT,${TMPDIR},100000G,100K"') - res = bitbake("m4", ignore_status = True) + res = self.bitbake("m4", ignore_status = True) self.assertTrue('ERROR: Immediately abort since the disk space monitor action is "ABORT"!' in res.output, "Tasks should have been aborted immediatelly. Disk monitor is set to ABORT: %s" % res.output) self.assertEqual(res.status, 1, msg = "bitbake reported exit code %s. It should have been 1. Bitbake output: %s" % (str(res.status), res.output)) self.write_config('BB_DISKMON_DIRS = "WARN,${TMPDIR},100000G,100K"') - res = bitbake("m4") + res = self.bitbake("m4") self.assertTrue('WARNING: The free space' in res.output, msg = "A warning should have been displayed for disk monitor is set to WARN: %s" %res.output) class SanityOptionsTest(OESelftestTestCase): @@ -78,12 +81,12 @@ class SanityOptionsTest(OESelftestTestCase): def test_options_warnqa_errorqa_switch(self): self.write_config("INHERIT_remove = \"report-error\"") - if "packages-list" not in get_bb_var("ERROR_QA"): + if "packages-list" not in self.get_bb_var("ERROR_QA"): self.append_config("ERROR_QA_append = \" packages-list\"") self.write_recipeinc('xcursor-transparent-theme', 'PACKAGES += \"${PN}-dbg\"') self.add_command_to_tearDown('bitbake -c clean xcursor-transparent-theme') - res = bitbake("xcursor-transparent-theme -f -c package", ignore_status=True) + res = self.bitbake("xcursor-transparent-theme -f -c package", ignore_status=True) self.delete_recipeinc('xcursor-transparent-theme') line = self.getline(res, "QA Issue: xcursor-transparent-theme-dbg is listed in PACKAGES multiple times, this leads to packaging errors.") self.assertTrue(line and line.startswith("ERROR:"), msg=res.output) @@ -91,7 +94,7 @@ class SanityOptionsTest(OESelftestTestCase): self.write_recipeinc('xcursor-transparent-theme', 'PACKAGES += \"${PN}-dbg\"') self.append_config('ERROR_QA_remove = "packages-list"') self.append_config('WARN_QA_append = " packages-list"') - res = bitbake("xcursor-transparent-theme -f -c package") + res = self.bitbake("xcursor-transparent-theme -f -c package") self.delete_recipeinc('xcursor-transparent-theme') line = self.getline(res, "QA Issue: xcursor-transparent-theme-dbg is listed in PACKAGES multiple times, this leads to packaging errors.") self.assertTrue(line and line.startswith("WARNING:"), msg=res.output) @@ -101,7 +104,7 @@ class SanityOptionsTest(OESelftestTestCase): self.write_config('WARN_QA_append = " unsafe-references-in-scripts"') self.add_command_to_tearDown('bitbake -c clean gzip') - res = bitbake("gzip -f -c package_qa") + res = self.bitbake("gzip -f -c package_qa") line = self.getline(res, "QA Issue: gzip") self.assertFalse(line, "WARNING: QA Issue: gzip message is present in bitbake's output and shouldn't be: %s" % res.output) @@ -110,7 +113,7 @@ do_install_append_pn-gzip () { echo "\n${bindir}/test" >> ${D}${bindir}/zcat } """) - res = bitbake("gzip -f -c package_qa") + res = self.bitbake("gzip -f -c package_qa") line = self.getline(res, "QA Issue: gzip") self.assertTrue(line and line.startswith("WARNING:"), "WARNING: QA Issue: gzip message is not present in bitbake's output: %s" % res.output) @@ -145,7 +148,7 @@ do_install_append_pn-gzip () { test_recipe = 'ed' - ret = bitbake('-n %s' % test_recipe) + ret = self.bitbake('-n %s' % test_recipe) err = 'fatal: Not a git repository' @@ -155,11 +158,13 @@ do_install_append_pn-gzip () { class BuildhistoryTests(BuildhistoryBase): + _use_own_builddir = True + _main_thread = False @OETestID(293) def test_buildhistory_basic(self): self.run_buildhistory_operation('xcursor-transparent-theme') - self.assertTrue(os.path.isdir(get_bb_var('BUILDHISTORY_DIR')), "buildhistory dir was not created.") + self.assertTrue(os.path.isdir(self.get_bb_var('BUILDHISTORY_DIR')), "buildhistory dir was not created.") @OETestID(294) def test_buildhistory_buildtime_pr_backwards(self): @@ -169,15 +174,18 @@ class BuildhistoryTests(BuildhistoryBase): self.run_buildhistory_operation(target, target_config="PR = \"r0\"", change_bh_location=False, expect_error=True, error_regex=error) class ArchiverTest(OESelftestTestCase): + _use_own_builddir = True + _main_thread = False + @OETestID(926) def test_arch_work_dir_and_export_source(self): """ Test for archiving the work directory and exporting the source files. """ self.write_config("INHERIT += \"archiver\"\nARCHIVER_MODE[src] = \"original\"\nARCHIVER_MODE[srpm] = \"1\"") - res = bitbake("xcursor-transparent-theme", ignore_status=True) + res = self.bitbake("xcursor-transparent-theme", ignore_status=True) self.assertEqual(res.status, 0, "\nCouldn't build xcursortransparenttheme.\nbitbake output %s" % res.output) - deploy_dir_src = get_bb_var('DEPLOY_DIR_SRC') + deploy_dir_src = self.get_bb_var('DEPLOY_DIR_SRC') pkgs_path = g.glob(str(deploy_dir_src) + "/allarch*/xcurs*") src_file_glob = str(pkgs_path[0]) + "/xcursor*.src.rpm" tar_file_glob = str(pkgs_path[0]) + "/xcursor*.tar.gz" diff --git a/meta/lib/oeqa/selftest/cases/containerimage.py b/meta/lib/oeqa/selftest/cases/containerimage.py index 99a5cc9..4220d80 100644 --- a/meta/lib/oeqa/selftest/cases/containerimage.py +++ b/meta/lib/oeqa/selftest/cases/containerimage.py @@ -1,7 +1,6 @@ import os from oeqa.selftest.case import OESelftestTestCase -from oeqa.utils.commands import bitbake, get_bb_vars, runCmd from oeqa.core.decorator.oeid import OETestID # This test builds an image with using the "container" IMAGE_FSTYPE, and @@ -18,6 +17,8 @@ from oeqa.core.decorator.oeid import OETestID # default other than what is in ROOTFS_BOOTSTRAP_INSTALL. # class ContainerImageTests(OESelftestTestCase): + _use_own_builddir = True + _main_thread = False # Verify that when specifying a IMAGE_TYPEDEP_ of the form "foo.bar" that # the conversion type bar gets added as a dep as well @@ -41,7 +42,7 @@ PACKAGE_CLASSES = "package_ipk" IMAGE_FEATURES = "" """) - bbvars = get_bb_vars(['bindir', 'sysconfdir', 'localstatedir', + bbvars = self.get_bb_vars(['bindir', 'sysconfdir', 'localstatedir', 'DEPLOY_DIR_IMAGE', 'IMAGE_LINK_NAME'], target='container-test-image') expected_files = [ @@ -75,11 +76,11 @@ IMAGE_FEATURES = "" expected_files = sorted(expected_files) # Build the image of course - bitbake('container-test-image') + self.bitbake('container-test-image') image = os.path.join(bbvars['DEPLOY_DIR_IMAGE'], bbvars['IMAGE_LINK_NAME'] + '.tar.bz2') # Ensure the files in the image are what we expect - result = runCmd("tar tf {} | sort".format(image), shell=True) + result = self.runCmd("tar tf {} | sort".format(image), shell=True) self.assertEqual(result.output.split('\n'), expected_files) diff --git a/meta/lib/oeqa/selftest/cases/distrodata.py b/meta/lib/oeqa/selftest/cases/distrodata.py index d5d286d..86c99a7 100644 --- a/meta/lib/oeqa/selftest/cases/distrodata.py +++ b/meta/lib/oeqa/selftest/cases/distrodata.py @@ -1,9 +1,10 @@ from oeqa.selftest.case import OESelftestTestCase -from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars from oeqa.utils.decorators import testcase from oeqa.utils.ftools import write_file class Distrodata(OESelftestTestCase): + _use_own_builddir = True + _main_thread = False @classmethod def setUpClass(cls): @@ -21,8 +22,8 @@ class Distrodata(OESelftestTestCase): feature += 'LICENSE_FLAGS_WHITELIST += " commercial"\n' self.write_config(feature) - bitbake('-c checkpkg world') - checkpkg_result = open(os.path.join(get_bb_var("LOG_DIR"), "checkpkg.csv")).readlines()[1:] + self.bitbake('-c checkpkg world') + checkpkg_result = open(os.path.join(self.get_bb_var("LOG_DIR"), "checkpkg.csv")).readlines()[1:] exceptions = [exc.strip() for exc in open(self.exceptions_path).readlines()] failed_upstream_checks = [pkg_data[0] for pkg_data in [pkg_line.split('\t') for pkg_line in checkpkg_result] if pkg_data[11] == ''] regressed_failures = set(failed_upstream_checks) - set(exceptions) diff --git a/meta/lib/oeqa/selftest/cases/image_typedep.py b/meta/lib/oeqa/selftest/cases/image_typedep.py index e678885..6477257 100644 --- a/meta/lib/oeqa/selftest/cases/image_typedep.py +++ b/meta/lib/oeqa/selftest/cases/image_typedep.py @@ -1,10 +1,11 @@ import os from oeqa.selftest.case import OESelftestTestCase -from oeqa.utils.commands import bitbake from oeqa.core.decorator.oeid import OETestID class ImageTypeDepTests(OESelftestTestCase): + _use_own_builddir = True + _main_thread = False # Verify that when specifying a IMAGE_TYPEDEP_ of the form "foo.bar" that # the conversion type bar gets added as a dep as well @@ -27,8 +28,9 @@ inherit image """) # First get the dependency that should exist for bz2, it will look # like CONVERSION_DEPENDS_bz2="somedep" - result = bitbake('-e emptytest') + result = self.bitbake('-e emptytest') + dep = '' for line in result.output.split('\n'): if line.startswith('CONVERSION_DEPENDS_bz2'): dep = line.split('=')[1].strip('"') @@ -36,7 +38,7 @@ inherit image # Now get the dependency task list and check for the expected task # dependency - bitbake('-g emptytest') + self.bitbake('-g emptytest') taskdependsfile = os.path.join(self.builddir, 'task-depends.dot') dep = dep + ".do_populate_sysroot" diff --git a/meta/lib/oeqa/selftest/cases/layerappend.py b/meta/lib/oeqa/selftest/cases/layerappend.py index 9562116..518e31d 100644 --- a/meta/lib/oeqa/selftest/cases/layerappend.py +++ b/meta/lib/oeqa/selftest/cases/layerappend.py @@ -1,11 +1,13 @@ import os from oeqa.selftest.case import OESelftestTestCase -from oeqa.utils.commands import runCmd, bitbake, get_bb_var import oeqa.utils.ftools as ftools from oeqa.core.decorator.oeid import OETestID class LayerAppendTests(OESelftestTestCase): + _use_own_builddir = True + _main_thread = False + layerconf = """ # We have a conf and classes directory, append to BBPATH BBPATH .= ":${LAYERDIR}" @@ -51,10 +53,8 @@ SRC_URI_append += "file://appendtest.txt" @OETestID(1196) def test_layer_appends(self): - corebase = get_bb_var("COREBASE") - for l in ["0", "1", "2"]: - layer = os.path.join(corebase, "meta-layertest" + l) + layer = os.path.join(self.builddir, "meta-layertest" + l) self.assertFalse(os.path.exists(layer)) os.mkdir(layer) os.mkdir(layer + "/conf") @@ -78,18 +78,18 @@ SRC_URI_append += "file://appendtest.txt" f.write("Layer 2 test") self.track_for_cleanup(layer) - self.layerappend = "BBLAYERS += \"{0}/meta-layertest0 {0}/meta-layertest1 {0}/meta-layertest2\"".format(corebase) + self.layerappend = "BBLAYERS += \"{0}/meta-layertest0 {0}/meta-layertest1 {0}/meta-layertest2\"".format(self.builddir) ftools.append_file(self.builddir + "/conf/bblayers.conf", self.layerappend) - stagingdir = get_bb_var("SYSROOT_DESTDIR", "layerappendtest") - bitbake("layerappendtest") + stagingdir = self.get_bb_var("SYSROOT_DESTDIR", "layerappendtest") + self.bitbake("layerappendtest") data = ftools.read_file(stagingdir + "/appendtest.txt") self.assertEqual(data, "Layer 2 test") - os.remove(corebase + "/meta-layertest2/recipes-test/layerappendtest/appendtest.txt") - bitbake("layerappendtest") + os.remove(self.builddir + "/meta-layertest2/recipes-test/layerappendtest/appendtest.txt") + self.bitbake("layerappendtest") data = ftools.read_file(stagingdir + "/appendtest.txt") self.assertEqual(data, "Layer 1 test") - with open(corebase + "/meta-layertest2/recipes-test/layerappendtest/appendtest.txt", "w") as f: + with open(self.builddir + "/meta-layertest2/recipes-test/layerappendtest/appendtest.txt", "w") as f: f.write("Layer 2 test") - bitbake("layerappendtest") + self.bitbake("layerappendtest") data = ftools.read_file(stagingdir + "/appendtest.txt") self.assertEqual(data, "Layer 2 test") diff --git a/meta/lib/oeqa/selftest/cases/liboe.py b/meta/lib/oeqa/selftest/cases/liboe.py index e846092..cfe1586 100644 --- a/meta/lib/oeqa/selftest/cases/liboe.py +++ b/meta/lib/oeqa/selftest/cases/liboe.py @@ -1,15 +1,16 @@ from oeqa.selftest.case import OESelftestTestCase from oeqa.core.decorator.oeid import OETestID -from oeqa.utils.commands import get_bb_var, get_bb_vars, bitbake, runCmd import oe.path import os class LibOE(OESelftestTestCase): + _use_own_builddir = True + _main_thread = False @classmethod def setUpClass(cls): super(LibOE, cls).setUpClass() - cls.tmp_dir = get_bb_var('TMPDIR') + cls.tmp_dir = cls.get_bb_var('TMPDIR') @OETestID(1635) def test_copy_tree_special(self): @@ -54,20 +55,20 @@ class LibOE(OESelftestTestCase): testfilename = 'testxattr' # ensure we have setfattr available - bitbake("attr-native") + self.bitbake("attr-native") - bb_vars = get_bb_vars(['SYSROOT_DESTDIR', 'bindir'], 'attr-native') + bb_vars = self.get_bb_vars(['SYSROOT_DESTDIR', 'bindir'], 'attr-native') destdir = bb_vars['SYSROOT_DESTDIR'] bindir = bb_vars['bindir'] bindir = destdir + bindir # create a file with xattr and copy it open(oe.path.join(src, testfilename), 'w+b').close() - runCmd('%s/setfattr -n user.oetest -v "testing liboe" %s' % (bindir, oe.path.join(src, testfilename))) + self.runCmd('%s/setfattr -n user.oetest -v "testing liboe" %s' % (bindir, oe.path.join(src, testfilename))) oe.path.copytree(src, dst) # ensure file in dest has user.oetest xattr - result = runCmd('%s/getfattr -n user.oetest %s' % (bindir, oe.path.join(dst, testfilename))) + result = self.runCmd('%s/getfattr -n user.oetest %s' % (bindir, oe.path.join(dst, testfilename))) self.assertIn('user.oetest="testing liboe"', result.output, 'Extended attribute not sert in dst') oe.path.remove(testloc) diff --git a/meta/lib/oeqa/selftest/cases/lic_checksum.py b/meta/lib/oeqa/selftest/cases/lic_checksum.py index 3740715..6b4eb32 100644 --- a/meta/lib/oeqa/selftest/cases/lic_checksum.py +++ b/meta/lib/oeqa/selftest/cases/lic_checksum.py @@ -2,11 +2,11 @@ import os import tempfile from oeqa.selftest.case import OESelftestTestCase -from oeqa.utils.commands import bitbake -from oeqa.utils import CommandError from oeqa.core.decorator.oeid import OETestID class LicenseTests(OESelftestTestCase): + _use_own_builddir = True + _main_thread = False # Verify that changing a license file that has an absolute path causes # the license qa to fail due to a mismatched md5sum. @@ -24,12 +24,12 @@ INHIBIT_DEFAULT_DEPS = "1" LIC_FILES_CHKSUM = "file://%s;md5=d41d8cd98f00b204e9800998ecf8427e" SRC_URI = "file://%s;md5=d41d8cd98f00b204e9800998ecf8427e" """ % (lic_path, lic_path)) - result = bitbake(bitbake_cmd) + result = self.bitbake(bitbake_cmd) with open(lic_path, "w") as f: f.write("data") self.write_config("INHERIT_remove = \"report-error\"") - result = bitbake(bitbake_cmd, ignore_status=True) + result = self.bitbake(bitbake_cmd, ignore_status=True) if error_msg not in result.output: raise AssertionError(result.output) diff --git a/meta/lib/oeqa/selftest/cases/manifest.py b/meta/lib/oeqa/selftest/cases/manifest.py index 1460719..534a907 100644 --- a/meta/lib/oeqa/selftest/cases/manifest.py +++ b/meta/lib/oeqa/selftest/cases/manifest.py @@ -1,7 +1,6 @@ import os from oeqa.selftest.case import OESelftestTestCase -from oeqa.utils.commands import get_bb_var, get_bb_vars, bitbake from oeqa.core.decorator.oeid import OETestID class ManifestEntry: @@ -12,6 +11,8 @@ class ManifestEntry: class VerifyManifest(OESelftestTestCase): '''Tests for the manifest files and contents of an image''' + _use_own_builddir = True + _main_thread = False @classmethod def check_manifest_entries(self, manifest, path): @@ -37,7 +38,7 @@ class VerifyManifest(OESelftestTestCase): @classmethod def get_dir_from_bb_var(self, bb_var, target = None): target == self.buildtarget if target == None else target - directory = get_bb_var(bb_var, target); + directory = self.get_bb_var(bb_var, target); if not directory or not os.path.isdir(directory): self.logger.debug("{}: {} points to {} when target = {}"\ .format(self.classname, bb_var, directory, target)) @@ -53,7 +54,7 @@ class VerifyManifest(OESelftestTestCase): self.logger.info("{}: doing bitbake {} as a prerequisite of the test"\ .format(self.classname, self.buildtarget)) - if bitbake(self.buildtarget).status: + if self.bitbake(self.buildtarget).status: self.logger.debug("{} Failed to setup {}"\ .format(self.classname, self.buildtarget)) self.skipTest("{}: Cannot setup testing scenario"\ @@ -69,7 +70,7 @@ class VerifyManifest(OESelftestTestCase): bbargs = sdktask + ' ' + self.buildtarget self.logger.debug("{}: doing bitbake {} as a prerequisite of the test"\ .format(self.classname, bbargs)) - if bitbake(bbargs).status: + if self.bitbake(bbargs).status: self.logger.debug("{} Failed to bitbake {}"\ .format(self.classname, bbargs)) self.skipTest("{}: Cannot setup testing scenario"\ @@ -84,7 +85,7 @@ class VerifyManifest(OESelftestTestCase): try: mdir = self.get_dir_from_bb_var('SDK_DEPLOY', self.buildtarget) for k in d_target.keys(): - bb_vars = get_bb_vars(['SDK_NAME', 'SDK_VERSION'], self.buildtarget) + bb_vars = self.get_bb_vars(['SDK_NAME', 'SDK_VERSION'], self.buildtarget) mfilename[k] = "{}-toolchain-{}.{}.manifest".format( bb_vars['SDK_NAME'], bb_vars['SDK_VERSION'], @@ -134,7 +135,7 @@ class VerifyManifest(OESelftestTestCase): try: mdir = self.get_dir_from_bb_var('DEPLOY_DIR_IMAGE', self.buildtarget) - mfilename = get_bb_var("IMAGE_LINK_NAME", self.buildtarget)\ + mfilename = self.get_bb_var("IMAGE_LINK_NAME", self.buildtarget)\ + ".manifest" mpath = os.path.join(mdir, mfilename) if not os.path.isfile(mpath): raise IOError diff --git a/meta/lib/oeqa/selftest/cases/oelib/buildhistory.py b/meta/lib/oeqa/selftest/cases/oelib/buildhistory.py index 08675fd..b77aa22 100644 --- a/meta/lib/oeqa/selftest/cases/oelib/buildhistory.py +++ b/meta/lib/oeqa/selftest/cases/oelib/buildhistory.py @@ -1,15 +1,18 @@ import os from oeqa.selftest.case import OESelftestTestCase import tempfile -from oeqa.utils.commands import get_bb_var from oeqa.core.decorator.oeid import OETestID +from git import Repo +from oe.buildhistory_analysis import blob_to_dict, compare_dict_blobs class TestBlobParsing(OESelftestTestCase): + _use_own_builddir = True + _main_thread = False def setUp(self): import time self.repo_path = tempfile.mkdtemp(prefix='selftest-buildhistory', - dir=get_bb_var('TOPDIR')) + dir=self.get_bb_var('TOPDIR')) try: from git import Repo diff --git a/meta/lib/oeqa/selftest/cases/oescripts.py b/meta/lib/oeqa/selftest/cases/oescripts.py index f7fe200..8d6aa04 100644 --- a/meta/lib/oeqa/selftest/cases/oescripts.py +++ b/meta/lib/oeqa/selftest/cases/oescripts.py @@ -1,15 +1,16 @@ from oeqa.selftest.case import OESelftestTestCase from oeqa.selftest.cases.buildhistory import BuildhistoryBase -from oeqa.utils.commands import Command, runCmd, bitbake, get_bb_var from oeqa.core.decorator.oeid import OETestID class BuildhistoryDiffTests(BuildhistoryBase): + _use_own_builddir = True + _main_thread = False @OETestID(295) def test_buildhistory_diff(self): target = 'xcursor-transparent-theme' self.run_buildhistory_operation(target, target_config="PR = \"r1\"", change_bh_location=True) self.run_buildhistory_operation(target, target_config="PR = \"r0\"", change_bh_location=False, expect_error=True) - result = runCmd("buildhistory-diff -p %s" % get_bb_var('BUILDHISTORY_DIR')) + result = self.runCmd("buildhistory-diff -p %s" % self.get_bb_var('BUILDHISTORY_DIR')) expected_output = 'PR changed from "r1" to "r0"' self.assertTrue(expected_output in result.output, msg="Did not find expected output: %s" % result.output) diff --git a/meta/lib/oeqa/selftest/cases/package.py b/meta/lib/oeqa/selftest/cases/package.py index 169698f..0debb0b 100644 --- a/meta/lib/oeqa/selftest/cases/package.py +++ b/meta/lib/oeqa/selftest/cases/package.py @@ -1,10 +1,12 @@ from oeqa.selftest.case import OESelftestTestCase from oeqa.core.decorator.oeid import OETestID -from oeqa.utils.commands import bitbake, get_bb_vars import subprocess, os import oe.path class VersionOrdering(OESelftestTestCase): + _use_own_builddir = True + _main_thread = False + # version1, version2, sort order tests = ( ("1.0", "1.0", 0), @@ -20,11 +22,11 @@ class VersionOrdering(OESelftestTestCase): super().setUpClass() # Build the tools we need and populate a sysroot - bitbake("dpkg-native opkg-native rpm-native python3-native") - bitbake("build-sysroots -c build_native_sysroot") + cls.bitbake("dpkg-native opkg-native rpm-native python3-native") + cls.bitbake("build-sysroots -c build_native_sysroot") # Get the paths so we can point into the sysroot correctly - vars = get_bb_vars(["STAGING_DIR", "BUILD_ARCH", "bindir_native", "libdir_native"]) + vars = cls.get_bb_vars(["STAGING_DIR", "BUILD_ARCH", "bindir_native", "libdir_native"]) cls.staging = oe.path.join(vars["STAGING_DIR"], vars["BUILD_ARCH"]) cls.bindir = oe.path.join(cls.staging, vars["bindir_native"]) cls.libdir = oe.path.join(cls.staging, vars["libdir_native"]) diff --git a/meta/lib/oeqa/selftest/cases/pkgdata.py b/meta/lib/oeqa/selftest/cases/pkgdata.py index 0b4caf1..042d6e7 100644 --- a/meta/lib/oeqa/selftest/cases/pkgdata.py +++ b/meta/lib/oeqa/selftest/cases/pkgdata.py @@ -3,80 +3,81 @@ import tempfile import fnmatch from oeqa.selftest.case import OESelftestTestCase -from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars from oeqa.core.decorator.oeid import OETestID class OePkgdataUtilTests(OESelftestTestCase): + _use_own_builddir = True + _main_thread = False @classmethod def setUpClass(cls): super(OePkgdataUtilTests, cls).setUpClass() # Ensure we have the right data in pkgdata cls.logger.info('Running bitbake to generate pkgdata') - bitbake('busybox zlib m4') + cls.bitbake('busybox zlib m4') @OETestID(1203) def test_lookup_pkg(self): # Forward tests - result = runCmd('oe-pkgdata-util lookup-pkg "zlib busybox"') + result = self.runCmd('oe-pkgdata-util lookup-pkg "zlib busybox"') self.assertEqual(result.output, 'libz1\nbusybox') - result = runCmd('oe-pkgdata-util lookup-pkg zlib-dev') + result = self.runCmd('oe-pkgdata-util lookup-pkg zlib-dev') self.assertEqual(result.output, 'libz-dev') - result = runCmd('oe-pkgdata-util lookup-pkg nonexistentpkg', ignore_status=True) + result = self.runCmd('oe-pkgdata-util lookup-pkg nonexistentpkg', ignore_status=True) self.assertEqual(result.status, 1, "Status different than 1. output: %s" % result.output) self.assertEqual(result.output, 'ERROR: The following packages could not be found: nonexistentpkg') # Reverse tests - result = runCmd('oe-pkgdata-util lookup-pkg -r "libz1 busybox"') + result = self.runCmd('oe-pkgdata-util lookup-pkg -r "libz1 busybox"') self.assertEqual(result.output, 'zlib\nbusybox') - result = runCmd('oe-pkgdata-util lookup-pkg -r libz-dev') + result = self.runCmd('oe-pkgdata-util lookup-pkg -r libz-dev') self.assertEqual(result.output, 'zlib-dev') - result = runCmd('oe-pkgdata-util lookup-pkg -r nonexistentpkg', ignore_status=True) + result = self.runCmd('oe-pkgdata-util lookup-pkg -r nonexistentpkg', ignore_status=True) self.assertEqual(result.status, 1, "Status different than 1. output: %s" % result.output) self.assertEqual(result.output, 'ERROR: The following packages could not be found: nonexistentpkg') @OETestID(1205) def test_read_value(self): - result = runCmd('oe-pkgdata-util read-value PN libz1') + result = self.runCmd('oe-pkgdata-util read-value PN libz1') self.assertEqual(result.output, 'zlib') - result = runCmd('oe-pkgdata-util read-value PKG libz1') + result = self.runCmd('oe-pkgdata-util read-value PKG libz1') self.assertEqual(result.output, 'libz1') - result = runCmd('oe-pkgdata-util read-value PKGSIZE m4') + result = self.runCmd('oe-pkgdata-util read-value PKGSIZE m4') pkgsize = int(result.output.strip()) self.assertGreater(pkgsize, 1, "Size should be greater than 1. %s" % result.output) @OETestID(1198) def test_find_path(self): - result = runCmd('oe-pkgdata-util find-path /lib/libz.so.1') + result = self.runCmd('oe-pkgdata-util find-path /lib/libz.so.1') self.assertEqual(result.output, 'zlib: /lib/libz.so.1') - result = runCmd('oe-pkgdata-util find-path /usr/bin/m4') + result = self.runCmd('oe-pkgdata-util find-path /usr/bin/m4') self.assertEqual(result.output, 'm4: /usr/bin/m4') - result = runCmd('oe-pkgdata-util find-path /not/exist', ignore_status=True) + result = self.runCmd('oe-pkgdata-util find-path /not/exist', ignore_status=True) self.assertEqual(result.status, 1, "Status different than 1. output: %s" % result.output) self.assertEqual(result.output, 'ERROR: Unable to find any package producing path /not/exist') @OETestID(1204) def test_lookup_recipe(self): - result = runCmd('oe-pkgdata-util lookup-recipe "libz-staticdev busybox"') + result = self.runCmd('oe-pkgdata-util lookup-recipe "libz-staticdev busybox"') self.assertEqual(result.output, 'zlib\nbusybox') - result = runCmd('oe-pkgdata-util lookup-recipe libz-dbg') + result = self.runCmd('oe-pkgdata-util lookup-recipe libz-dbg') self.assertEqual(result.output, 'zlib') - result = runCmd('oe-pkgdata-util lookup-recipe nonexistentpkg', ignore_status=True) + result = self.runCmd('oe-pkgdata-util lookup-recipe nonexistentpkg', ignore_status=True) self.assertEqual(result.status, 1, "Status different than 1. output: %s" % result.output) self.assertEqual(result.output, 'ERROR: The following packages could not be found: nonexistentpkg') @OETestID(1202) def test_list_pkgs(self): # No arguments - result = runCmd('oe-pkgdata-util list-pkgs') + result = self.runCmd('oe-pkgdata-util list-pkgs') pkglist = result.output.split() self.assertIn('zlib', pkglist, "Listed packages: %s" % result.output) self.assertIn('zlib-dev', pkglist, "Listed packages: %s" % result.output) # No pkgspec, runtime - result = runCmd('oe-pkgdata-util list-pkgs -r') + result = self.runCmd('oe-pkgdata-util list-pkgs -r') pkglist = result.output.split() self.assertIn('libz-dev', pkglist, "Listed packages: %s" % result.output) # With recipe specified - result = runCmd('oe-pkgdata-util list-pkgs -p zlib') + result = self.runCmd('oe-pkgdata-util list-pkgs -p zlib') pkglist = sorted(result.output.split()) try: pkglist.remove('zlib-ptest') # in case ptest is disabled @@ -84,7 +85,7 @@ class OePkgdataUtilTests(OESelftestTestCase): pass self.assertEqual(pkglist, ['zlib', 'zlib-dbg', 'zlib-dev', 'zlib-doc', 'zlib-staticdev'], "Packages listed after remove: %s" % result.output) # With recipe specified, runtime - result = runCmd('oe-pkgdata-util list-pkgs -p zlib -r') + result = self.runCmd('oe-pkgdata-util list-pkgs -p zlib -r') pkglist = sorted(result.output.split()) try: pkglist.remove('libz-ptest') # in case ptest is disabled @@ -92,19 +93,19 @@ class OePkgdataUtilTests(OESelftestTestCase): pass self.assertEqual(pkglist, ['libz-dbg', 'libz-dev', 'libz-doc', 'libz-staticdev', 'libz1'], "Packages listed after remove: %s" % result.output) # With recipe specified and unpackaged - result = runCmd('oe-pkgdata-util list-pkgs -p zlib -u') + result = self.runCmd('oe-pkgdata-util list-pkgs -p zlib -u') pkglist = sorted(result.output.split()) self.assertIn('zlib-locale', pkglist, "Listed packages: %s" % result.output) # With recipe specified and unpackaged, runtime - result = runCmd('oe-pkgdata-util list-pkgs -p zlib -u -r') + result = self.runCmd('oe-pkgdata-util list-pkgs -p zlib -u -r') pkglist = sorted(result.output.split()) self.assertIn('libz-locale', pkglist, "Listed packages: %s" % result.output) # With recipe specified and pkgspec - result = runCmd('oe-pkgdata-util list-pkgs -p zlib "*-d*"') + result = self.runCmd('oe-pkgdata-util list-pkgs -p zlib "*-d*"') pkglist = sorted(result.output.split()) self.assertEqual(pkglist, ['zlib-dbg', 'zlib-dev', 'zlib-doc'], "Packages listed: %s" % result.output) # With recipe specified and pkgspec, runtime - result = runCmd('oe-pkgdata-util list-pkgs -p zlib -r "*-d*"') + result = self.runCmd('oe-pkgdata-util list-pkgs -p zlib -r "*-d*"') pkglist = sorted(result.output.split()) self.assertEqual(pkglist, ['libz-dbg', 'libz-dev', 'libz-doc'], "Packages listed: %s" % result.output) @@ -122,20 +123,20 @@ class OePkgdataUtilTests(OESelftestTestCase): curpkg = line.split(':')[0] files[curpkg] = [] return files - bb_vars = get_bb_vars(['base_libdir', 'libdir', 'includedir', 'mandir']) + bb_vars = self.get_bb_vars(['base_libdir', 'libdir', 'includedir', 'mandir']) base_libdir = bb_vars['base_libdir'] libdir = bb_vars['libdir'] includedir = bb_vars['includedir'] mandir = bb_vars['mandir'] # Test recipe-space package name - result = runCmd('oe-pkgdata-util list-pkg-files zlib-dev zlib-doc') + result = self.runCmd('oe-pkgdata-util list-pkg-files zlib-dev zlib-doc') files = splitoutput(result.output) self.assertIn('zlib-dev', list(files.keys()), "listed pkgs. files: %s" %result.output) self.assertIn('zlib-doc', list(files.keys()), "listed pkgs. files: %s" %result.output) self.assertIn(os.path.join(includedir, 'zlib.h'), files['zlib-dev']) self.assertIn(os.path.join(mandir, 'man3/zlib.3'), files['zlib-doc']) # Test runtime package name - result = runCmd('oe-pkgdata-util list-pkg-files -r libz1 libz-dev') + result = self.runCmd('oe-pkgdata-util list-pkg-files -r libz1 libz-dev') files = splitoutput(result.output) self.assertIn('libz1', list(files.keys()), "listed pkgs. files: %s" %result.output) self.assertIn('libz-dev', list(files.keys()), "listed pkgs. files: %s" %result.output) @@ -149,7 +150,7 @@ class OePkgdataUtilTests(OESelftestTestCase): self.assertTrue(found, 'Could not find zlib library file %s in libz1 package file list: %s' % (libspec, files['libz1'])) self.assertIn(os.path.join(includedir, 'zlib.h'), files['libz-dev']) # Test recipe - result = runCmd('oe-pkgdata-util list-pkg-files -p zlib') + result = self.runCmd('oe-pkgdata-util list-pkg-files -p zlib') files = splitoutput(result.output) self.assertIn('zlib-dbg', list(files.keys()), "listed pkgs. files: %s" %result.output) self.assertIn('zlib-doc', list(files.keys()), "listed pkgs. files: %s" %result.output) @@ -162,7 +163,7 @@ class OePkgdataUtilTests(OESelftestTestCase): self.assertIn(os.path.join(mandir, 'man3/zlib.3'), files['zlib-doc']) self.assertIn(os.path.join(libdir, 'libz.a'), files['zlib-staticdev']) # Test recipe, runtime - result = runCmd('oe-pkgdata-util list-pkg-files -p zlib -r') + result = self.runCmd('oe-pkgdata-util list-pkg-files -p zlib -r') files = splitoutput(result.output) self.assertIn('libz-dbg', list(files.keys()), "listed pkgs. files: %s" %result.output) self.assertIn('libz-doc', list(files.keys()), "listed pkgs. files: %s" %result.output) @@ -174,7 +175,7 @@ class OePkgdataUtilTests(OESelftestTestCase): self.assertIn(os.path.join(mandir, 'man3/zlib.3'), files['libz-doc']) self.assertIn(os.path.join(libdir, 'libz.a'), files['libz-staticdev']) # Test recipe, unpackaged - result = runCmd('oe-pkgdata-util list-pkg-files -p zlib -u') + result = self.runCmd('oe-pkgdata-util list-pkg-files -p zlib -u') files = splitoutput(result.output) self.assertIn('zlib-dbg', list(files.keys()), "listed pkgs. files: %s" %result.output) self.assertIn('zlib-doc', list(files.keys()), "listed pkgs. files: %s" %result.output) @@ -186,7 +187,7 @@ class OePkgdataUtilTests(OESelftestTestCase): self.assertIn(os.path.join(mandir, 'man3/zlib.3'), files['zlib-doc']) self.assertIn(os.path.join(libdir, 'libz.a'), files['zlib-staticdev']) # Test recipe, runtime, unpackaged - result = runCmd('oe-pkgdata-util list-pkg-files -p zlib -r -u') + result = self.runCmd('oe-pkgdata-util list-pkg-files -p zlib -r -u') files = splitoutput(result.output) self.assertIn('libz-dbg', list(files.keys()), "listed pkgs. files: %s" %result.output) self.assertIn('libz-doc', list(files.keys()), "listed pkgs. files: %s" %result.output) @@ -206,19 +207,19 @@ class OePkgdataUtilTests(OESelftestTestCase): with open(pkglistfile, 'w') as f: f.write('libz1\n') f.write('busybox\n') - result = runCmd('oe-pkgdata-util glob %s "*-dev"' % pkglistfile) + result = self.runCmd('oe-pkgdata-util glob %s "*-dev"' % pkglistfile) desiredresult = ['libz-dev', 'busybox-dev'] self.assertEqual(sorted(result.output.split()), sorted(desiredresult)) # The following should not error (because when we use this during rootfs construction, sometimes the complementary package won't exist) - result = runCmd('oe-pkgdata-util glob %s "*-nonexistent"' % pkglistfile) + result = self.runCmd('oe-pkgdata-util glob %s "*-nonexistent"' % pkglistfile) self.assertEqual(result.output, '') # Test exclude option - result = runCmd('oe-pkgdata-util glob %s "*-dev *-dbg" -x "^libz"' % pkglistfile) + result = self.runCmd('oe-pkgdata-util glob %s "*-dev *-dbg" -x "^libz"' % pkglistfile) resultlist = result.output.split() self.assertNotIn('libz-dev', resultlist) self.assertNotIn('libz-dbg', resultlist) @OETestID(1206) def test_specify_pkgdatadir(self): - result = runCmd('oe-pkgdata-util -p %s lookup-pkg zlib' % get_bb_var('PKGDATA_DIR')) + result = self.runCmd('oe-pkgdata-util -p %s lookup-pkg zlib' % self.get_bb_var('PKGDATA_DIR')) self.assertEqual(result.output, 'libz1') diff --git a/meta/lib/oeqa/selftest/cases/prservice.py b/meta/lib/oeqa/selftest/cases/prservice.py index ed36f0f..67ef931 100644 --- a/meta/lib/oeqa/selftest/cases/prservice.py +++ b/meta/lib/oeqa/selftest/cases/prservice.py @@ -5,16 +5,17 @@ import datetime import oeqa.utils.ftools as ftools from oeqa.selftest.case import OESelftestTestCase -from oeqa.utils.commands import runCmd, bitbake, get_bb_var from oeqa.core.decorator.oeid import OETestID from oeqa.utils.network import get_free_port class BitbakePrTests(OESelftestTestCase): + _use_own_builddir = True + _main_thread = False @classmethod def setUpClass(cls): super(BitbakePrTests, cls).setUpClass() - cls.pkgdata_dir = get_bb_var('PKGDATA_DIR') + cls.pkgdata_dir = cls.get_bb_var('PKGDATA_DIR') def get_pr_version(self, package_name): package_data_file = os.path.join(self.pkgdata_dir, 'runtime', package_name) @@ -24,7 +25,7 @@ class BitbakePrTests(OESelftestTestCase): return int(find_pr.group(1)) def get_task_stamp(self, package_name, recipe_task): - stampdata = get_bb_var('STAMP', target=package_name).split('/') + stampdata = self.get_bb_var('STAMP', target=package_name).split('/') prefix = stampdata[-1] package_stamps_path = "/".join(stampdata[:-1]) stamps = [] @@ -39,7 +40,7 @@ class BitbakePrTests(OESelftestTestCase): def increment_package_pr(self, package_name): inc_data = "do_package_append() {\n bb.build.exec_func('do_test_prserv', d)\n}\ndo_test_prserv() {\necho \"The current date is: %s\"\n}" % datetime.datetime.now() self.write_recipeinc(package_name, inc_data) - res = bitbake(package_name, ignore_status=True) + res = self.bitbake(package_name, ignore_status=True) self.delete_recipeinc(package_name) self.assertEqual(res.status, 0, msg=res.output) self.assertTrue("NOTE: Started PRServer with DBfile" in res.output, msg=res.output) @@ -71,15 +72,15 @@ class BitbakePrTests(OESelftestTestCase): pr_1 = self.get_pr_version(package_name) exported_db_path = os.path.join(self.builddir, 'export.inc') - export_result = runCmd("bitbake-prserv-tool export %s" % exported_db_path, ignore_status=True) + export_result = self.runCmd("bitbake-prserv-tool export %s" % exported_db_path, ignore_status=True) self.assertEqual(export_result.status, 0, msg="PR Service database export failed: %s" % export_result.output) if replace_current_db: - current_db_path = os.path.join(get_bb_var('PERSISTENT_DIR'), 'prserv.sqlite3') + current_db_path = os.path.join(self.get_bb_var('PERSISTENT_DIR'), 'prserv.sqlite3') self.assertTrue(os.path.exists(current_db_path), msg="Path to current PR Service database is invalid: %s" % current_db_path) os.remove(current_db_path) - import_result = runCmd("bitbake-prserv-tool import %s" % exported_db_path, ignore_status=True) + import_result = self.runCmd("bitbake-prserv-tool import %s" % exported_db_path, ignore_status=True) os.remove(exported_db_path) self.assertEqual(import_result.status, 0, msg="PR Service database import failed: %s" % import_result.output) @@ -124,8 +125,8 @@ class BitbakePrTests(OESelftestTestCase): def test_stopping_prservice_message(self): port = get_free_port() - runCmd('bitbake-prserv --host localhost --port %s --loglevel=DEBUG --start' % port) - ret = runCmd('bitbake-prserv --host localhost --port %s --loglevel=DEBUG --stop' % port) + self.runCmd('bitbake-prserv --host localhost --port %s --loglevel=DEBUG --start' % port) + ret = self.runCmd('bitbake-prserv --host localhost --port %s --loglevel=DEBUG --stop' % port) self.assertEqual(ret.status, 0) diff --git a/meta/lib/oeqa/selftest/cases/selftest.py b/meta/lib/oeqa/selftest/cases/selftest.py index 4b3cb14..f7b8083 100644 --- a/meta/lib/oeqa/selftest/cases/selftest.py +++ b/meta/lib/oeqa/selftest/cases/selftest.py @@ -5,6 +5,8 @@ from oeqa.selftest.case import OESelftestTestCase from oeqa.core.decorator.oeid import OETestID class ExternalLayer(OESelftestTestCase): + _use_own_builddir = True + _main_thread = False @OETestID(1885) def test_list_imported(self): diff --git a/meta/lib/oeqa/selftest/cases/signing.py b/meta/lib/oeqa/selftest/cases/signing.py index 6ef8d8e..749274d 100644 --- a/meta/lib/oeqa/selftest/cases/signing.py +++ b/meta/lib/oeqa/selftest/cases/signing.py @@ -1,5 +1,4 @@ from oeqa.selftest.case import OESelftestTestCase -from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars import os import glob import re @@ -8,8 +7,9 @@ import tempfile from oeqa.core.decorator.oeid import OETestID from oeqa.utils.ftools import write_file - class Signing(OESelftestTestCase): + _use_own_builddir = True + _main_thread = False gpg_dir = "" pub_key_path = "" @@ -28,7 +28,7 @@ class Signing(OESelftestTestCase): cls.pub_key_path = os.path.join(cls.testlayer_path, 'files', 'signing', "key.pub") cls.secret_key_path = os.path.join(cls.testlayer_path, 'files', 'signing', "key.secret") - runCmd('gpg --batch --homedir %s --import %s %s' % (cls.gpg_dir, cls.pub_key_path, cls.secret_key_path)) + cls.runCmd('gpg --batch --homedir %s --import %s %s' % (cls.gpg_dir, cls.pub_key_path, cls.secret_key_path)) @OETestID(1362) def test_signing_packages(self): @@ -43,7 +43,7 @@ class Signing(OESelftestTestCase): """ import oe.packagedata - package_classes = get_bb_var('PACKAGE_CLASSES') + package_classes = self.get_bb_var('PACKAGE_CLASSES') if 'package_rpm' not in package_classes: self.skipTest('This test requires RPM Packaging.') @@ -56,13 +56,13 @@ class Signing(OESelftestTestCase): self.write_config(feature) - bitbake('-c clean %s' % test_recipe) - bitbake('-f -c package_write_rpm %s' % test_recipe) + self.bitbake('-c clean %s' % test_recipe) + self.bitbake('-f -c package_write_rpm %s' % test_recipe) self.add_command_to_tearDown('bitbake -c clean %s' % test_recipe) needed_vars = ['PKGDATA_DIR', 'DEPLOY_DIR_RPM', 'PACKAGE_ARCH', 'STAGING_BINDIR_NATIVE'] - bb_vars = get_bb_vars(needed_vars, test_recipe) + bb_vars = self.get_bb_vars(needed_vars, test_recipe) pkgdatadir = bb_vars['PKGDATA_DIR'] pkgdata = oe.packagedata.read_pkgdatafile(pkgdatadir + "/runtime/ed") if 'PKGE' in pkgdata: @@ -78,10 +78,10 @@ class Signing(OESelftestTestCase): # Use a temporary rpmdb rpmdb = tempfile.mkdtemp(prefix='oeqa-rpmdb') - runCmd('%s/rpmkeys --define "_dbpath %s" --import %s' % + self.runCmd('%s/rpmkeys --define "_dbpath %s" --import %s' % (staging_bindir_native, rpmdb, self.pub_key_path)) - ret = runCmd('%s/rpmkeys --define "_dbpath %s" --checksig %s' % + ret = self.runCmd('%s/rpmkeys --define "_dbpath %s" --checksig %s' % (staging_bindir_native, rpmdb, pkg_deploy)) # tmp/deploy/rpm/i586/ed-1.9-r0.i586.rpm: rsa sha1 md5 OK self.assertIn('rsa sha1 (md5) pgp md5 OK', ret.output, 'Package signed incorrectly.') @@ -89,8 +89,8 @@ class Signing(OESelftestTestCase): #Check that an image can be built from signed packages self.add_command_to_tearDown('bitbake -c clean core-image-minimal') - bitbake('-c clean core-image-minimal') - bitbake('core-image-minimal') + self.bitbake('-c clean core-image-minimal') + self.bitbake('core-image-minimal') @OETestID(1382) @@ -121,8 +121,8 @@ class Signing(OESelftestTestCase): self.write_config(feature) - bitbake('-c clean %s' % test_recipe) - bitbake(test_recipe) + self.bitbake('-c clean %s' % test_recipe) + self.bitbake(test_recipe) recipe_sig = glob.glob(sstatedir + '/*/*:ed:*_package.tgz.sig') recipe_tgz = glob.glob(sstatedir + '/*/*:ed:*_package.tgz') @@ -130,13 +130,15 @@ class Signing(OESelftestTestCase): self.assertEqual(len(recipe_sig), 1, 'Failed to find .sig file.') self.assertEqual(len(recipe_tgz), 1, 'Failed to find .tgz file.') - ret = runCmd('gpg --homedir %s --verify %s %s' % (self.gpg_dir, recipe_sig[0], recipe_tgz[0])) + ret = self.runCmd('gpg --homedir %s --verify %s %s' % (self.gpg_dir, recipe_sig[0], recipe_tgz[0])) # gpg: Signature made Thu 22 Oct 2015 01:45:09 PM EEST using RSA key ID 61EEFB30 # gpg: Good signature from "testuser (nocomment) " self.assertIn('gpg: Good signature from', ret.output, 'Package signed incorrectly.') class LockedSignatures(OESelftestTestCase): + _use_own_builddir = True + _main_thread = False @OETestID(1420) def test_locked_signatures(self): @@ -153,19 +155,19 @@ class LockedSignatures(OESelftestTestCase): self.add_command_to_tearDown('rm -f %s' % os.path.join(self.builddir, locked_sigs_file)) - bitbake(test_recipe) + self.bitbake(test_recipe) # Generate locked sigs include file - bitbake('-S none %s' % test_recipe) + self.bitbake('-S none %s' % test_recipe) feature = 'require %s\n' % locked_sigs_file feature += 'SIGGEN_LOCKEDSIGS_TASKSIG_CHECK = "warn"\n' self.write_config(feature) # Build a locked recipe - bitbake(test_recipe) + self.bitbake(test_recipe) # Make a change that should cause the locked task signature to change - recipe_append_file = test_recipe + '_' + get_bb_var('PV', test_recipe) + '.bbappend' + recipe_append_file = test_recipe + '_' + self.get_bb_var('PV', test_recipe) + '.bbappend' recipe_append_path = os.path.join(self.testlayer_path, 'recipes-test', test_recipe, recipe_append_file) feature = 'SUMMARY += "test locked signature"\n' @@ -175,7 +177,7 @@ class LockedSignatures(OESelftestTestCase): self.add_command_to_tearDown('rm -rf %s' % os.path.join(self.testlayer_path, 'recipes-test', test_recipe)) # Build the recipe again - ret = bitbake(test_recipe) + ret = self.bitbake(test_recipe) # Verify you get the warning and that the real task *isn't* run (i.e. the locked signature has worked) patt = r'WARNING: The %s:do_package sig is computed to be \S+, but the sig is locked to \S+ in SIGGEN_LOCKEDSIGS\S+' % test_recipe diff --git a/meta/lib/oeqa/selftest/cases/sstate.py b/meta/lib/oeqa/selftest/cases/sstate.py index b8c2880..e29787f 100644 --- a/meta/lib/oeqa/selftest/cases/sstate.py +++ b/meta/lib/oeqa/selftest/cases/sstate.py @@ -6,7 +6,6 @@ import shutil import oeqa.utils.ftools as ftools from oeqa.selftest.case import OESelftestTestCase -from oeqa.utils.commands import runCmd, bitbake, get_bb_vars class SStateBase(OESelftestTestCase): @@ -16,7 +15,7 @@ class SStateBase(OESelftestTestCase): self.temp_sstate_location = None needed_vars = ['SSTATE_DIR', 'NATIVELSBSTRING', 'TCLIBC', 'TUNE_ARCH', 'TOPDIR', 'TARGET_VENDOR', 'TARGET_OS'] - bb_vars = get_bb_vars(needed_vars) + bb_vars = self.get_bb_vars(needed_vars) self.sstate_path = bb_vars['SSTATE_DIR'] self.hostdistro = bb_vars['NATIVELSBSTRING'] self.tclibc = bb_vars['TCLIBC'] @@ -35,7 +34,7 @@ class SStateBase(OESelftestTestCase): config_temp_sstate = "SSTATE_DIR = \"%s\"" % temp_sstate_path self.append_config(config_temp_sstate) self.track_for_cleanup(temp_sstate_path) - bb_vars = get_bb_vars(['SSTATE_DIR', 'NATIVELSBSTRING']) + bb_vars = self.get_bb_vars(['SSTATE_DIR', 'NATIVELSBSTRING']) self.sstate_path = bb_vars['SSTATE_DIR'] self.hostdistro = bb_vars['NATIVELSBSTRING'] self.distro_specific_sstate = os.path.join(self.sstate_path, self.hostdistro) diff --git a/meta/lib/oeqa/selftest/cases/sstatetests.py b/meta/lib/oeqa/selftest/cases/sstatetests.py index 4617d16..40b4748 100644 --- a/meta/lib/oeqa/selftest/cases/sstatetests.py +++ b/meta/lib/oeqa/selftest/cases/sstatetests.py @@ -4,22 +4,23 @@ import glob import subprocess from oeqa.selftest.case import OESelftestTestCase -from oeqa.utils.commands import runCmd, bitbake, get_bb_var from oeqa.selftest.cases.sstate import SStateBase from oeqa.core.decorator.oeid import OETestID class SStateTests(SStateBase): + _use_own_builddir = True + _main_thread = False # Test sstate files creation and their location def run_test_sstate_creation(self, targets, distro_specific=True, distro_nonspecific=True, temp_sstate_location=True, should_pass=True): self.config_sstate(temp_sstate_location, [self.sstate_path]) if self.temp_sstate_location: - bitbake(['-cclean'] + targets) + self.bitbake(['-cclean'] + targets) else: - bitbake(['-ccleansstate'] + targets) + self.bitbake(['-ccleansstate'] + targets) - bitbake(targets) + self.bitbake(targets) file_tracker = [] results = self.search_sstate('|'.join(map(str, targets)), distro_specific, distro_nonspecific) if distro_nonspecific: @@ -55,16 +56,16 @@ class SStateTests(SStateBase): def run_test_cleansstate_task(self, targets, distro_specific=True, distro_nonspecific=True, temp_sstate_location=True): self.config_sstate(temp_sstate_location, [self.sstate_path]) - bitbake(['-ccleansstate'] + targets) + self.bitbake(['-ccleansstate'] + targets) - bitbake(targets) + self.bitbake(targets) tgz_created = self.search_sstate('|'.join(map(str, [s + '.*?\.tgz$' for s in targets])), distro_specific, distro_nonspecific) self.assertTrue(tgz_created, msg="Could not find sstate .tgz files for: %s (%s)" % (', '.join(map(str, targets)), str(tgz_created))) siginfo_created = self.search_sstate('|'.join(map(str, [s + '.*?\.siginfo$' for s in targets])), distro_specific, distro_nonspecific) self.assertTrue(siginfo_created, msg="Could not find sstate .siginfo files for: %s (%s)" % (', '.join(map(str, targets)), str(siginfo_created))) - bitbake(['-ccleansstate'] + targets) + self.bitbake(['-ccleansstate'] + targets) tgz_removed = self.search_sstate('|'.join(map(str, [s + '.*?\.tgz$' for s in targets])), distro_specific, distro_nonspecific) self.assertTrue(not tgz_removed, msg="do_cleansstate didn't remove .tgz sstate files for: %s (%s)" % (', '.join(map(str, targets)), str(tgz_removed))) @@ -89,9 +90,9 @@ class SStateTests(SStateBase): def run_test_rebuild_distro_specific_sstate(self, targets, temp_sstate_location=True): self.config_sstate(temp_sstate_location, [self.sstate_path]) - bitbake(['-ccleansstate'] + targets) + self.bitbake(['-ccleansstate'] + targets) - bitbake(targets) + self.bitbake(targets) results = self.search_sstate('|'.join(map(str, [s + '.*?\.tgz$' for s in targets])), distro_specific=False, distro_nonspecific=True) filtered_results = [] for r in results: @@ -106,8 +107,8 @@ class SStateTests(SStateBase): shutil.copytree(self.distro_specific_sstate, self.distro_specific_sstate + "_old") shutil.rmtree(self.distro_specific_sstate) - bitbake(['-cclean'] + targets) - bitbake(targets) + self.bitbake(['-cclean'] + targets) + self.bitbake(targets) file_tracker_2 = self.search_sstate('|'.join(map(str, [s + '.*?\.tgz$' for s in targets])), distro_specific=True, distro_nonspecific=False) self.assertTrue(len(file_tracker_2) >= len(targets), msg = "Not all sstate files ware created for: %s" % ', '.join(map(str, targets))) @@ -150,13 +151,13 @@ class SStateTests(SStateBase): for idx in range(len(target_config)): self.append_config(global_config[idx]) self.append_recipeinc(target, target_config[idx]) - sstate_arch = get_bb_var('SSTATE_PKGARCH', target) + sstate_arch = self.get_bb_var('SSTATE_PKGARCH', target) if not sstate_arch in sstate_archs_list: sstate_archs_list.append(sstate_arch) if target_config[idx] == target_config[-1]: target_sstate_before_build = self.search_sstate(target + '.*?\.tgz$') - bitbake("-cclean %s" % target) - result = bitbake(target, ignore_status=True) + self.bitbake("-cclean %s" % target) + result = self.bitbake(target, ignore_status=True) if target_config[idx] == target_config[-1]: target_sstate_after_build = self.search_sstate(target + '.*?\.tgz$') expected_remaining_sstate += [x for x in target_sstate_after_build if x not in target_sstate_before_build if not any(pattern in x for pattern in ignore_patterns)] @@ -164,7 +165,7 @@ class SStateTests(SStateBase): self.remove_recipeinc(target, target_config[idx]) self.assertEqual(result.status, 0, msg = "build of %s failed with %s" % (target, result.output)) - runCmd("sstate-cache-management.sh -y --cache-dir=%s --remove-duplicated --extra-archs=%s" % (self.sstate_path, ','.join(map(str, sstate_archs_list)))) + self.runCmd("sstate-cache-management.sh -y --cache-dir=%s --remove-duplicated --extra-archs=%s" % (self.sstate_path, ','.join(map(str, sstate_archs_list)))) actual_remaining_sstate = [x for x in self.search_sstate(target + '.*?\.tgz$') if not any(pattern in x for pattern in ignore_patterns)] actual_not_expected = [x for x in actual_remaining_sstate if x not in expected_remaining_sstate] @@ -230,7 +231,7 @@ SDKMACHINE = "x86_64" PACKAGE_CLASSES = "package_rpm package_ipk package_deb" """) self.track_for_cleanup(self.topdir + "/tmp-sstatesamehash") - bitbake("core-image-sato -S none") + self.bitbake("core-image-sato -S none") self.write_config(""" MACHINE = "qemux86" TMPDIR = "${TOPDIR}/tmp-sstatesamehash2" @@ -240,7 +241,7 @@ SDKMACHINE = "i686" PACKAGE_CLASSES = "package_rpm package_ipk package_deb" """) self.track_for_cleanup(self.topdir + "/tmp-sstatesamehash2") - bitbake("core-image-sato -S none") + self.bitbake("core-image-sato -S none") def get_files(d): f = [] @@ -272,13 +273,13 @@ TMPDIR = \"${TOPDIR}/tmp-sstatesamehash\" NATIVELSBSTRING = \"DistroA\" """) self.track_for_cleanup(self.topdir + "/tmp-sstatesamehash") - bitbake("core-image-sato -S none") + self.bitbake("core-image-sato -S none") self.write_config(""" TMPDIR = \"${TOPDIR}/tmp-sstatesamehash2\" NATIVELSBSTRING = \"DistroB\" """) self.track_for_cleanup(self.topdir + "/tmp-sstatesamehash2") - bitbake("core-image-sato -S none") + self.bitbake("core-image-sato -S none") def get_files(d): f = [] @@ -338,10 +339,10 @@ MULTILIBS = \"\" self.write_config(configA) self.track_for_cleanup(self.topdir + "/tmp-sstatesamehash") - bitbake("world meta-toolchain -S none") + self.bitbake("world meta-toolchain -S none") self.write_config(configB) self.track_for_cleanup(self.topdir + "/tmp-sstatesamehash2") - bitbake("world meta-toolchain -S none") + self.bitbake("world meta-toolchain -S none") def get_files(d): f = {} @@ -382,7 +383,7 @@ MULTILIBS = "multilib:lib32" DEFAULTTUNE_virtclass-multilib-lib32 = "x86" """) self.track_for_cleanup(self.topdir + "/tmp-sstatesamehash") - bitbake("world meta-toolchain -S none") + self.bitbake("world meta-toolchain -S none") self.write_config(""" TMPDIR = \"${TOPDIR}/tmp-sstatesamehash2\" MACHINE = \"qemux86copy\" @@ -391,7 +392,7 @@ MULTILIBS = "multilib:lib32" DEFAULTTUNE_virtclass-multilib-lib32 = "x86" """) self.track_for_cleanup(self.topdir + "/tmp-sstatesamehash2") - bitbake("world meta-toolchain -S none") + self.bitbake("world meta-toolchain -S none") def get_files(d): f = [] @@ -430,7 +431,7 @@ http_proxy = "" """) self.track_for_cleanup(self.topdir + "/tmp-sstatesamehash") self.track_for_cleanup(self.topdir + "/download1") - bitbake("world meta-toolchain -S none") + self.bitbake("world meta-toolchain -S none") self.write_config(""" TMPDIR = "${TOPDIR}/tmp-sstatesamehash2" BB_NUMBER_THREADS = "${@oe.utils.cpu_count()+1}" @@ -445,7 +446,7 @@ http_proxy = "http://example.com/" """) self.track_for_cleanup(self.topdir + "/tmp-sstatesamehash2") self.track_for_cleanup(self.topdir + "/download2") - bitbake("world meta-toolchain -S none") + self.bitbake("world meta-toolchain -S none") def get_files(d): f = {} -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 16:30:22 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 16:30:22 +0000 Subject: [oe-commits] [openembedded-core] 38/39: oeqa/selftest/context: Enable support for threaded runs In-Reply-To: <150056818468.11699.16758981017169458803@git.openembedded.org> References: <150056818468.11699.16758981017169458803@git.openembedded.org> Message-ID: <20170720162946.C4978233612@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 2657141836c1bb2096b7ecdefac37eb78d982a7d Author: An?bal Lim?n AuthorDate: Fri Jun 9 13:36:50 2017 -0700 oeqa/selftest/context: Enable support for threaded runs Add an option to specify how many threads will be used for execution, default to 1. Add OE_SELFTEST_THREAD_NUM environment variable for be able to set thread num into the Yocto Autobuilder and don't need to figure out the version of oe-selftest script. If the thread_num are greater than 1 the OESelftestContextThreaded will be used, this is due to compatibility reasons. Signed-off-by: An?bal Lim?n --- meta/lib/oeqa/selftest/context.py | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/meta/lib/oeqa/selftest/context.py b/meta/lib/oeqa/selftest/context.py index 697ea0b..daef882 100644 --- a/meta/lib/oeqa/selftest/context.py +++ b/meta/lib/oeqa/selftest/context.py @@ -11,11 +11,12 @@ from shutil import copyfile import tempfile from random import choice -import oeqa +from argparse_oe import int_positive -from oeqa.core.context import OETestContext, OETestContextExecutor +import oeqa +from oeqa.core.context import OETestContext, OETestContextExecutor from oeqa.core.exception import OEQAPreRun - +from oeqa.core.threaded import OETestContextThreaded from oeqa.utils.commands import runCmd, get_bb_vars, get_test_layer class OESelftestTestContext(OETestContext): @@ -38,14 +39,19 @@ class OESelftestTestContext(OETestContext): def listTests(self, display_type, machine=None): return super(OESelftestTestContext, self).listTests(display_type) +class OESelftestTestContextThreaded(OESelftestTestContext, OETestContextThreaded): + pass + class OESelftestTestContextExecutor(OETestContextExecutor): - _context_class = OESelftestTestContext + _context_class = OESelftestTestContextThreaded _script_executor = 'oe-selftest' name = 'oe-selftest' help = 'oe-selftest test component' description = 'Executes selftest tests' + DEFAULT_THREADS = 1 + def register_commands(self, logger, parser): group = parser.add_mutually_exclusive_group(required=True) @@ -66,6 +72,11 @@ class OESelftestTestContextExecutor(OETestContextExecutor): action="store_true", default=False, help='List all available tests.') + parser.add_argument('-t', '--thread-num', required=False, action='store', + dest="thread_num", default=self.DEFAULT_THREADS, type=int_positive, + help='Number of threads to use for execute selftests,'\ + ' default: %d' % self.DEFAULT_THREADS) + parser.add_argument('--machine', required=False, choices=['random', 'all'], help='Run tests on different machines (random/all).') @@ -137,6 +148,11 @@ class OESelftestTestContextExecutor(OETestContextExecutor): self.tc_kwargs['init']['config_paths']['base_builddir'] = \ tempfile.mkdtemp(prefix='build-selftest-', dir=builddir) + self.tc_kwargs['load']['process_num'] = args.thread_num + if 'OE_SELFTEST_THREAD_NUM' in os.environ: + self.tc_kwargs['load']['process_num'] = \ + int(os.environ['OE_SELFTEST_THREAD_NUM']) + def _pre_run(self): def _check_required_env_variables(vars): for var in vars: @@ -199,6 +215,11 @@ class OESelftestTestContextExecutor(OETestContextExecutor): self.module_paths = self._get_cases_paths( self.tc_kwargs['init']['td']['BBPATH'].split(':')) + if self.tc_kwargs['load']['process_num'] == 1: + self._context_class = OESelftestTestContext + # OESelftestTestContext class doesn't expect process_num + del self.tc_kwargs['load']['process_num'] + self.tc = self._context_class(**self.tc_kwargs['init']) self.tc.loadTests(self.module_paths, **self.tc_kwargs['load']) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 16:30:18 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 16:30:18 +0000 Subject: [oe-commits] [openembedded-core] 34/39: oeqa/selftest/cases: Move devtool deploy test case to own module In-Reply-To: <150056818468.11699.16758981017169458803@git.openembedded.org> References: <150056818468.11699.16758981017169458803@git.openembedded.org> Message-ID: <20170720162946.A6A51233613@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 9927d2f8b12620bae9327a412fa9c4425af62b21 Author: An?bal Lim?n AuthorDate: Tue Jun 13 14:45:41 2017 -0500 oeqa/selftest/cases: Move devtool deploy test case to own module The devtool deploy test case uses runqemu that uses tinfoil so tinfoil requires to run on the main thread. Signed-off-by: An?bal Lim?n --- meta/lib/oeqa/selftest/cases/devtool.py | 91 ++----------------------- meta/lib/oeqa/selftest/cases/devtool_deploy.py | 93 ++++++++++++++++++++++++++ 2 files changed, 97 insertions(+), 87 deletions(-) diff --git a/meta/lib/oeqa/selftest/cases/devtool.py b/meta/lib/oeqa/selftest/cases/devtool.py index c66e77a..3d8d246 100644 --- a/meta/lib/oeqa/selftest/cases/devtool.py +++ b/meta/lib/oeqa/selftest/cases/devtool.py @@ -6,7 +6,7 @@ import glob import fnmatch import oeqa.utils.ftools as ftools -from oeqa.utils.commands import create_temp_layer, runqemu +from oeqa.utils.commands import create_temp_layer from oeqa.selftest.case import OESelftestTestCase from oeqa.core.decorator.oeid import OETestID @@ -114,6 +114,9 @@ class DevtoolBase(OESelftestTestCase): class DevtoolCommon(DevtoolBase): + _use_own_builddir = True + _main_thread = False + @classmethod def setUpClass(cls): super(DevtoolCommon, cls).setUpClass() @@ -1144,92 +1147,6 @@ class DevtoolTests(DevtoolCommon): matches2 = glob.glob(stampprefix2 + '*') self.assertFalse(matches2, 'Stamp files exist for recipe %s that should have been cleaned' % testrecipe2) - @OETestID(1272) - def test_devtool_deploy_target(self): - # NOTE: Whilst this test would seemingly be better placed as a runtime test, - # unfortunately the runtime tests run under bitbake and you can't run - # devtool within bitbake (since devtool needs to run bitbake itself). - # Additionally we are testing build-time functionality as well, so - # really this has to be done as an oe-selftest test. - # - # Check preconditions - machine = self.get_bb_var('MACHINE') - if not machine.startswith('qemu'): - self.skipTest('This test only works with qemu machines') - if not os.path.exists('/etc/runqemu-nosudo'): - self.skipTest('You must set up tap devices with scripts/runqemu-gen-tapdevs before running this test') - result = self.runCmd('PATH="$PATH:/sbin:/usr/sbin" ip tuntap show', ignore_status=True) - if result.status != 0: - result = self.runCmd('PATH="$PATH:/sbin:/usr/sbin" ifconfig -a', ignore_status=True) - if result.status != 0: - self.skipTest('Failed to determine if tap devices exist with ifconfig or ip: %s' % result.output) - for line in result.output.splitlines(): - if line.startswith('tap'): - break - else: - self.skipTest('No tap devices found - you must set up tap devices with scripts/runqemu-gen-tapdevs before running this test') - self.assertTrue(not os.path.exists(self.workspacedir), 'This test cannot be run with a workspace directory under the build directory') - # Definitions - testrecipe = 'mdadm' - testfile = '/sbin/mdadm' - testimage = 'oe-selftest-image' - testcommand = '/sbin/mdadm --help' - # Build an image to run - self.bitbake("%s qemu-native qemu-helper-native" % testimage) - deploy_dir_image = self.get_bb_var('DEPLOY_DIR_IMAGE') - self.add_command_to_tearDown('bitbake -c clean %s' % testimage) - self.add_command_to_tearDown('rm -f %s/%s*' % (deploy_dir_image, testimage)) - # Clean recipe so the first deploy will fail - self.bitbake("%s -c clean" % testrecipe) - # Try devtool modify - tempdir = tempfile.mkdtemp(prefix='devtoolqa') - self.track_for_cleanup(tempdir) - self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) - self.add_command_to_tearDown('bitbake -c clean %s' % testrecipe) - result = self.runCmd('devtool modify %s -x %s' % (testrecipe, tempdir)) - # Test that deploy-target at this point fails (properly) - result = self.runCmd('devtool deploy-target -n %s root at localhost' % testrecipe, ignore_status=True) - self.assertNotEqual(result.output, 0, 'devtool deploy-target should have failed, output: %s' % result.output) - self.assertNotIn(result.output, 'Traceback', 'devtool deploy-target should have failed with a proper error not a traceback, output: %s' % result.output) - result = self.runCmd('devtool build %s' % testrecipe) - # First try a dry-run of deploy-target - result = self.runCmd('devtool deploy-target -n %s root at localhost' % testrecipe) - self.assertIn(' %s' % testfile, result.output) - # Boot the image - with runqemu(testimage) as qemu: - # Now really test deploy-target - result = self.runCmd('devtool deploy-target -c %s root@%s' % (testrecipe, qemu.ip)) - # Run a test command to see if it was installed properly - sshargs = '-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' - result = self.runCmd('ssh %s root@%s %s' % (sshargs, qemu.ip, testcommand)) - # Check if it deployed all of the files with the right ownership/perms - # First look on the host - need to do this under pseudo to get the correct ownership/perms - bb_vars = self.get_bb_vars(['D', 'FAKEROOTENV', 'FAKEROOTCMD'], testrecipe) - installdir = bb_vars['D'] - fakerootenv = bb_vars['FAKEROOTENV'] - fakerootcmd = bb_vars['FAKEROOTCMD'] - result = self.runCmd('%s %s find . -type f -exec ls -l {} \;' % (fakerootenv, fakerootcmd), cwd=installdir) - filelist1 = self._process_ls_output(result.output) - - # Now look on the target - tempdir2 = tempfile.mkdtemp(prefix='devtoolqa') - self.track_for_cleanup(tempdir2) - tmpfilelist = os.path.join(tempdir2, 'files.txt') - with open(tmpfilelist, 'w') as f: - for line in filelist1: - splitline = line.split() - f.write(splitline[-1] + '\n') - result = self.runCmd('cat %s | ssh -q %s root@%s \'xargs ls -l\'' % (tmpfilelist, sshargs, qemu.ip)) - filelist2 = self._process_ls_output(result.output) - filelist1.sort(key=lambda item: item.split()[-1]) - filelist2.sort(key=lambda item: item.split()[-1]) - self.assertEqual(filelist1, filelist2) - # Test undeploy-target - result = self.runCmd('devtool undeploy-target -c %s root@%s' % (testrecipe, qemu.ip)) - result = self.runCmd('ssh %s root@%s %s' % (sshargs, qemu.ip, testcommand), ignore_status=True) - self.assertNotEqual(result, 0, 'undeploy-target did not remove command as it should have') - @OETestID(1366) def test_devtool_build_image(self): """Test devtool build-image plugin""" diff --git a/meta/lib/oeqa/selftest/cases/devtool_deploy.py b/meta/lib/oeqa/selftest/cases/devtool_deploy.py new file mode 100644 index 0000000..3ad9f8b --- /dev/null +++ b/meta/lib/oeqa/selftest/cases/devtool_deploy.py @@ -0,0 +1,93 @@ +import os +import tempfile + +from oeqa.selftest.cases import devtool +from oeqa.core.decorator.oeid import OETestID +from oeqa.utils.commands import runqemu + +class DevtoolDeployTests(devtool.DevtoolCommon): + @OETestID(1272) + def test_devtool_deploy_target(self): + # NOTE: Whilst this test would seemingly be better placed as a runtime test, + # unfortunately the runtime tests run under bitbake and you can't run + # devtool within bitbake (since devtool needs to run bitbake itself). + # Additionally we are testing build-time functionality as well, so + # really this has to be done as an oe-selftest test. + # + # Check preconditions + machine = self.get_bb_var('MACHINE') + if not machine.startswith('qemu'): + self.skipTest('This test only works with qemu machines') + if not os.path.exists('/etc/runqemu-nosudo'): + self.skipTest('You must set up tap devices with scripts/runqemu-gen-tapdevs before running this test') + result = self.runCmd('PATH="$PATH:/sbin:/usr/sbin" ip tuntap show', ignore_status=True) + if result.status != 0: + result = self.runCmd('PATH="$PATH:/sbin:/usr/sbin" ifconfig -a', ignore_status=True) + if result.status != 0: + self.skipTest('Failed to determine if tap devices exist with ifconfig or ip: %s' % result.output) + for line in result.output.splitlines(): + if line.startswith('tap'): + break + else: + self.skipTest('No tap devices found - you must set up tap devices with scripts/runqemu-gen-tapdevs before running this test') + self.assertTrue(not os.path.exists(self.workspacedir), 'This test cannot be run with a workspace directory under the build directory') + # Definitions + testrecipe = 'mdadm' + testfile = '/sbin/mdadm' + testimage = 'oe-selftest-image' + testcommand = '/sbin/mdadm --help' + # Build an image to run + self.bitbake("%s qemu-native qemu-helper-native" % testimage) + deploy_dir_image = self.get_bb_var('DEPLOY_DIR_IMAGE') + self.add_command_to_tearDown('bitbake -c clean %s' % testimage) + self.add_command_to_tearDown('rm -f %s/%s*' % (deploy_dir_image, testimage)) + # Clean recipe so the first deploy will fail + self.bitbake("%s -c clean" % testrecipe) + # Try devtool modify + tempdir = tempfile.mkdtemp(prefix='devtoolqa') + self.track_for_cleanup(tempdir) + self.track_for_cleanup(self.workspacedir) + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) + self.add_command_to_tearDown('bitbake -c clean %s' % testrecipe) + result = self.runCmd('devtool modify %s -x %s' % (testrecipe, tempdir)) + # Test that deploy-target at this point fails (properly) + result = self.runCmd('devtool deploy-target -n %s root at localhost' % testrecipe, ignore_status=True) + self.assertNotEqual(result.output, 0, 'devtool deploy-target should have failed, output: %s' % result.output) + self.assertNotIn(result.output, 'Traceback', 'devtool deploy-target should have failed with a proper error not a traceback, output: %s' % result.output) + result = self.runCmd('devtool build %s' % testrecipe) + # First try a dry-run of deploy-target + result = self.runCmd('devtool deploy-target -n %s root at localhost' % testrecipe) + self.assertIn(' %s' % testfile, result.output) + # Boot the image + with runqemu(testimage) as qemu: + # Now really test deploy-target + result = self.runCmd('devtool deploy-target -c %s root@%s' % (testrecipe, qemu.ip)) + # Run a test command to see if it was installed properly + sshargs = '-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' + result = self.runCmd('ssh %s root@%s %s' % (sshargs, qemu.ip, testcommand)) + # Check if it deployed all of the files with the right ownership/perms + # First look on the host - need to do this under pseudo to get the correct ownership/perms + bb_vars = self.get_bb_vars(['D', 'FAKEROOTENV', 'FAKEROOTCMD'], testrecipe) + installdir = bb_vars['D'] + fakerootenv = bb_vars['FAKEROOTENV'] + fakerootcmd = bb_vars['FAKEROOTCMD'] + result = self.runCmd('%s %s find . -type f -exec ls -l {} \;' % (fakerootenv, fakerootcmd), cwd=installdir) + filelist1 = self._process_ls_output(result.output) + + # Now look on the target + tempdir2 = tempfile.mkdtemp(prefix='devtoolqa') + self.track_for_cleanup(tempdir2) + tmpfilelist = os.path.join(tempdir2, 'files.txt') + with open(tmpfilelist, 'w') as f: + for line in filelist1: + splitline = line.split() + f.write(splitline[-1] + '\n') + result = self.runCmd('cat %s | ssh -q %s root@%s \'xargs ls -l\'' % (tmpfilelist, sshargs, qemu.ip)) + filelist2 = self._process_ls_output(result.output) + filelist1.sort(key=lambda item: item.split()[-1]) + filelist2.sort(key=lambda item: item.split()[-1]) + self.assertEqual(filelist1, filelist2) + # Test undeploy-target + result = self.runCmd('devtool undeploy-target -c %s root@%s' % (testrecipe, qemu.ip)) + result = self.runCmd('ssh %s root@%s %s' % (sshargs, qemu.ip, testcommand), ignore_status=True) + self.assertNotEqual(result, 0, 'undeploy-target did not remove command as it should have') -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 16:30:19 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 16:30:19 +0000 Subject: [oe-commits] [openembedded-core] 35/39: selftest/cases/devtool{, end}: Move update/finish_{upgrade, modify} tests to its own module In-Reply-To: <150056818468.11699.16758981017169458803@git.openembedded.org> References: <150056818468.11699.16758981017169458803@git.openembedded.org> Message-ID: <20170720162946.B01A423361F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit bae8e7612f564d7985d7b58b96e5bd73a1168dac Author: An?bal Lim?n AuthorDate: Wed Jul 5 09:34:18 2017 -0700 selftest/cases/devtool{,end}: Move update/finish_{upgrade,modify} tests to its own module This devtool tests are set to run at end because made changes into the poky repository causing problems (non deteministic meta data) in other execution threads. Signed-off-by: An?bal Lim?n --- meta/lib/oeqa/selftest/cases/devtool.py | 624 ++-------------------------- meta/lib/oeqa/selftest/cases/devtool_end.py | 592 ++++++++++++++++++++++++++ 2 files changed, 618 insertions(+), 598 deletions(-) diff --git a/meta/lib/oeqa/selftest/cases/devtool.py b/meta/lib/oeqa/selftest/cases/devtool.py index 3d8d246..f88a842 100644 --- a/meta/lib/oeqa/selftest/cases/devtool.py +++ b/meta/lib/oeqa/selftest/cases/devtool.py @@ -112,6 +112,32 @@ class DevtoolBase(OESelftestTestCase): filelist.append(' '.join(splitline)) return filelist + def _check_src_repo(self, repo_dir): + """Check srctree git repository""" + self.assertTrue(os.path.isdir(os.path.join(repo_dir, '.git')), + 'git repository for external source tree not found') + result = self.runCmd('git status --porcelain', cwd=repo_dir) + self.assertEqual(result.output.strip(), "", + 'Created git repo is not clean') + result = self.runCmd('git symbolic-ref HEAD', cwd=repo_dir) + self.assertEqual(result.output.strip(), "refs/heads/devtool", + 'Wrong branch in git repo') + + def _check_repo_status(self, repo_dir, expected_status): + """Check the worktree status of a repository""" + result = self.runCmd('git status . --porcelain', + cwd=repo_dir) + for line in result.output.splitlines(): + for ind, (f_status, fn_re) in enumerate(expected_status): + if re.match(fn_re, line[3:]): + if f_status != line[:2]: + self.fail('Unexpected status in line: %s' % line) + expected_status.pop(ind) + break + else: + self.fail('Unexpected modified file in line: %s' % line) + if expected_status: + self.fail('Missing file changes: %s' % expected_status) class DevtoolCommon(DevtoolBase): _use_own_builddir = True @@ -150,33 +176,6 @@ class DevtoolTests(DevtoolCommon): _use_own_builddir = True _main_thread = False - def _check_src_repo(self, repo_dir): - """Check srctree git repository""" - self.assertTrue(os.path.isdir(os.path.join(repo_dir, '.git')), - 'git repository for external source tree not found') - result = self.runCmd('git status --porcelain', cwd=repo_dir) - self.assertEqual(result.output.strip(), "", - 'Created git repo is not clean') - result = self.runCmd('git symbolic-ref HEAD', cwd=repo_dir) - self.assertEqual(result.output.strip(), "refs/heads/devtool", - 'Wrong branch in git repo') - - def _check_repo_status(self, repo_dir, expected_status): - """Check the worktree status of a repository""" - result = self.runCmd('git status . --porcelain', - cwd=repo_dir) - for line in result.output.splitlines(): - for ind, (f_status, fn_re) in enumerate(expected_status): - if re.match(fn_re, line[3:]): - if f_status != line[:2]: - self.fail('Unexpected status in line: %s' % line) - expected_status.pop(ind) - break - else: - self.fail('Unexpected modified file in line: %s' % line) - if expected_status: - self.fail('Missing file changes: %s' % expected_status) - @OETestID(1158) def test_create_workspace(self): # Check preconditions @@ -687,417 +686,6 @@ class DevtoolTests(DevtoolCommon): self._check_src_repo(tempdir) # This is probably sufficient - - @OETestID(1169) - def test_devtool_update_recipe(self): - # Check preconditions - testrecipe = 'minicom' - bb_vars = self.get_bb_vars(['FILE', 'SRC_URI'], testrecipe) - recipefile = bb_vars['FILE'] - src_uri = bb_vars['SRC_URI'] - self.assertNotIn('git://', src_uri, 'This test expects the %s recipe to NOT be a git recipe' % testrecipe) - self._check_repo_status(os.path.dirname(recipefile), []) - # First, modify a recipe - tempdir = tempfile.mkdtemp(prefix='devtoolqa') - self.track_for_cleanup(tempdir) - self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) - # (don't bother with cleaning the recipe on teardown, we won't be building it) - # We don't use -x here so that we test the behaviour of devtool modify without it - result = self.runCmd('devtool modify %s %s' % (testrecipe, tempdir)) - # Check git repo - self._check_src_repo(tempdir) - # Add a couple of commits - # FIXME: this only tests adding, need to also test update and remove - result = self.runCmd('echo "Additional line" >> README', cwd=tempdir) - result = self.runCmd('git commit -a -m "Change the README"', cwd=tempdir) - result = self.runCmd('echo "A new file" > devtool-new-file', cwd=tempdir) - result = self.runCmd('git add devtool-new-file', cwd=tempdir) - result = self.runCmd('git commit -m "Add a new file"', cwd=tempdir) - self.add_command_to_tearDown('cd %s; rm %s/*.patch; git checkout %s %s' % (os.path.dirname(recipefile), testrecipe, testrecipe, os.path.basename(recipefile))) - result = self.runCmd('devtool update-recipe %s' % testrecipe) - expected_status = [(' M', '.*/%s$' % os.path.basename(recipefile)), - ('??', '.*/0001-Change-the-README.patch$'), - ('??', '.*/0002-Add-a-new-file.patch$')] - self._check_repo_status(os.path.dirname(recipefile), expected_status) - - @OETestID(1172) - def test_devtool_update_recipe_git(self): - # Check preconditions - testrecipe = 'mtd-utils' - bb_vars = self.get_bb_vars(['FILE', 'SRC_URI'], testrecipe) - recipefile = bb_vars['FILE'] - src_uri = bb_vars['SRC_URI'] - self.assertIn('git://', src_uri, 'This test expects the %s recipe to be a git recipe' % testrecipe) - patches = [] - for entry in src_uri.split(): - if entry.startswith('file://') and entry.endswith('.patch'): - patches.append(entry[7:].split(';')[0]) - self.assertGreater(len(patches), 0, 'The %s recipe does not appear to contain any patches, so this test will not be effective' % testrecipe) - self._check_repo_status(os.path.dirname(recipefile), []) - # First, modify a recipe - tempdir = tempfile.mkdtemp(prefix='devtoolqa') - self.track_for_cleanup(tempdir) - self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) - # (don't bother with cleaning the recipe on teardown, we won't be building it) - result = self.runCmd('devtool modify %s -x %s' % (testrecipe, tempdir)) - # Check git repo - self._check_src_repo(tempdir) - # Add a couple of commits - # FIXME: this only tests adding, need to also test update and remove - result = self.runCmd('echo "# Additional line" >> Makefile.am', cwd=tempdir) - result = self.runCmd('git commit -a -m "Change the Makefile"', cwd=tempdir) - result = self.runCmd('echo "A new file" > devtool-new-file', cwd=tempdir) - result = self.runCmd('git add devtool-new-file', cwd=tempdir) - result = self.runCmd('git commit -m "Add a new file"', cwd=tempdir) - self.add_command_to_tearDown('cd %s; rm -rf %s; git checkout %s %s' % (os.path.dirname(recipefile), testrecipe, testrecipe, os.path.basename(recipefile))) - result = self.runCmd('devtool update-recipe -m srcrev %s' % testrecipe) - expected_status = [(' M', '.*/%s$' % os.path.basename(recipefile))] + \ - [(' D', '.*/%s$' % patch) for patch in patches] - self._check_repo_status(os.path.dirname(recipefile), expected_status) - - result = self.runCmd('git diff %s' % os.path.basename(recipefile), cwd=os.path.dirname(recipefile)) - addlines = ['SRCREV = ".*"', 'SRC_URI = "git://git.infradead.org/mtd-utils.git"'] - srcurilines = src_uri.split() - srcurilines[0] = 'SRC_URI = "' + srcurilines[0] - srcurilines.append('"') - removelines = ['SRCREV = ".*"'] + srcurilines - for line in result.output.splitlines(): - if line.startswith('+++') or line.startswith('---'): - continue - elif line.startswith('+'): - matched = False - for item in addlines: - if re.match(item, line[1:].strip()): - matched = True - break - self.assertTrue(matched, 'Unexpected diff add line: %s' % line) - elif line.startswith('-'): - matched = False - for item in removelines: - if re.match(item, line[1:].strip()): - matched = True - break - self.assertTrue(matched, 'Unexpected diff remove line: %s' % line) - # Now try with auto mode - self.runCmd('cd %s; git checkout %s %s' % (os.path.dirname(recipefile), testrecipe, os.path.basename(recipefile))) - result = self.runCmd('devtool update-recipe %s' % testrecipe) - result = self.runCmd('git rev-parse --show-toplevel', cwd=os.path.dirname(recipefile)) - topleveldir = result.output.strip() - relpatchpath = os.path.join(os.path.relpath(os.path.dirname(recipefile), topleveldir), testrecipe) - expected_status = [(' M', os.path.relpath(recipefile, topleveldir)), - ('??', '%s/0001-Change-the-Makefile.patch' % relpatchpath), - ('??', '%s/0002-Add-a-new-file.patch' % relpatchpath)] - self._check_repo_status(os.path.dirname(recipefile), expected_status) - - @OETestID(1170) - def test_devtool_update_recipe_append(self): - # Check preconditions - testrecipe = 'mdadm' - bb_vars = self.get_bb_vars(['FILE', 'SRC_URI'], testrecipe) - recipefile = bb_vars['FILE'] - src_uri = bb_vars['SRC_URI'] - self.assertNotIn('git://', src_uri, 'This test expects the %s recipe to NOT be a git recipe' % testrecipe) - self._check_repo_status(os.path.dirname(recipefile), []) - # First, modify a recipe - tempdir = tempfile.mkdtemp(prefix='devtoolqa') - tempsrcdir = os.path.join(tempdir, 'source') - templayerdir = os.path.join(tempdir, 'layer') - self.track_for_cleanup(tempdir) - self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) - # (don't bother with cleaning the recipe on teardown, we won't be building it) - result = self.runCmd('devtool modify %s -x %s' % (testrecipe, tempsrcdir)) - # Check git repo - self._check_src_repo(tempsrcdir) - # Add a commit - result = self.runCmd("sed 's!\\(#define VERSION\\W*\"[^\"]*\\)\"!\\1-custom\"!' -i ReadMe.c", cwd=tempsrcdir) - result = self.runCmd('git commit -a -m "Add our custom version"', cwd=tempsrcdir) - self.add_command_to_tearDown('cd %s; rm -f %s/*.patch; git checkout .' % (os.path.dirname(recipefile), testrecipe)) - # Create a temporary layer and add it to bblayers.conf - self._create_temp_layer(templayerdir, True, 'selftestupdaterecipe') - # Create the bbappend - result = self.runCmd('devtool update-recipe %s -a %s' % (testrecipe, templayerdir)) - self.assertNotIn('WARNING:', result.output) - # Check recipe is still clean - self._check_repo_status(os.path.dirname(recipefile), []) - # Check bbappend was created - splitpath = os.path.dirname(recipefile).split(os.sep) - appenddir = os.path.join(templayerdir, splitpath[-2], splitpath[-1]) - bbappendfile = self._check_bbappend(testrecipe, recipefile, appenddir) - patchfile = os.path.join(appenddir, testrecipe, '0001-Add-our-custom-version.patch') - self.assertExists(patchfile, 'Patch file not created') - - # Check bbappend contents - expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n', - '\n', - 'SRC_URI += "file://0001-Add-our-custom-version.patch"\n', - '\n'] - with open(bbappendfile, 'r') as f: - self.assertEqual(expectedlines, f.readlines()) - - # Check we can run it again and bbappend isn't modified - result = self.runCmd('devtool update-recipe %s -a %s' % (testrecipe, templayerdir)) - with open(bbappendfile, 'r') as f: - self.assertEqual(expectedlines, f.readlines()) - # Drop new commit and check patch gets deleted - result = self.runCmd('git reset HEAD^', cwd=tempsrcdir) - result = self.runCmd('devtool update-recipe %s -a %s' % (testrecipe, templayerdir)) - self.assertNotExists(patchfile, 'Patch file not deleted') - expectedlines2 = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n', - '\n'] - with open(bbappendfile, 'r') as f: - self.assertEqual(expectedlines2, f.readlines()) - # Put commit back and check we can run it if layer isn't in bblayers.conf - os.remove(bbappendfile) - result = self.runCmd('git commit -a -m "Add our custom version"', cwd=tempsrcdir) - result = self.runCmd('bitbake-layers remove-layer %s' % templayerdir, cwd=self.builddir) - result = self.runCmd('devtool update-recipe %s -a %s' % (testrecipe, templayerdir)) - self.assertIn('WARNING: Specified layer is not currently enabled in bblayers.conf', result.output) - self.assertExists(patchfile, 'Patch file not created (with disabled layer)') - with open(bbappendfile, 'r') as f: - self.assertEqual(expectedlines, f.readlines()) - # Deleting isn't expected to work under these circumstances - - @OETestID(1171) - def test_devtool_update_recipe_append_git(self): - # Check preconditions - testrecipe = 'mtd-utils' - bb_vars = self.get_bb_vars(['FILE', 'SRC_URI'], testrecipe) - recipefile = bb_vars['FILE'] - src_uri = bb_vars['SRC_URI'] - self.assertIn('git://', src_uri, 'This test expects the %s recipe to be a git recipe' % testrecipe) - for entry in src_uri.split(): - if entry.startswith('git://'): - git_uri = entry - break - self._check_repo_status(os.path.dirname(recipefile), []) - # First, modify a recipe - tempdir = tempfile.mkdtemp(prefix='devtoolqa') - tempsrcdir = os.path.join(tempdir, 'source') - templayerdir = os.path.join(tempdir, 'layer') - self.track_for_cleanup(tempdir) - self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) - # (don't bother with cleaning the recipe on teardown, we won't be building it) - result = self.runCmd('devtool modify %s -x %s' % (testrecipe, tempsrcdir)) - # Check git repo - self._check_src_repo(tempsrcdir) - # Add a commit - result = self.runCmd('echo "# Additional line" >> Makefile.am', cwd=tempsrcdir) - result = self.runCmd('git commit -a -m "Change the Makefile"', cwd=tempsrcdir) - self.add_command_to_tearDown('cd %s; rm -f %s/*.patch; git checkout .' % (os.path.dirname(recipefile), testrecipe)) - # Create a temporary layer - os.makedirs(os.path.join(templayerdir, 'conf')) - with open(os.path.join(templayerdir, 'conf', 'layer.conf'), 'w') as f: - f.write('BBPATH .= ":${LAYERDIR}"\n') - f.write('BBFILES += "${LAYERDIR}/recipes-*/*/*.bbappend"\n') - f.write('BBFILE_COLLECTIONS += "oeselftesttemplayer"\n') - f.write('BBFILE_PATTERN_oeselftesttemplayer = "^${LAYERDIR}/"\n') - f.write('BBFILE_PRIORITY_oeselftesttemplayer = "999"\n') - f.write('BBFILE_PATTERN_IGNORE_EMPTY_oeselftesttemplayer = "1"\n') - self.add_command_to_tearDown('bitbake-layers remove-layer %s || true' % templayerdir) - result = self.runCmd('bitbake-layers add-layer %s' % templayerdir, cwd=self.builddir) - # Create the bbappend - result = self.runCmd('devtool update-recipe -m srcrev %s -a %s' % (testrecipe, templayerdir)) - self.assertNotIn('WARNING:', result.output) - # Check recipe is still clean - self._check_repo_status(os.path.dirname(recipefile), []) - # Check bbappend was created - splitpath = os.path.dirname(recipefile).split(os.sep) - appenddir = os.path.join(templayerdir, splitpath[-2], splitpath[-1]) - bbappendfile = self._check_bbappend(testrecipe, recipefile, appenddir) - self.assertNotExists(os.path.join(appenddir, testrecipe), 'Patch directory should not be created') - - # Check bbappend contents - result = self.runCmd('git rev-parse HEAD', cwd=tempsrcdir) - expectedlines = set(['SRCREV = "%s"\n' % result.output, - '\n', - 'SRC_URI = "%s"\n' % git_uri, - '\n']) - with open(bbappendfile, 'r') as f: - self.assertEqual(expectedlines, set(f.readlines())) - - # Check we can run it again and bbappend isn't modified - result = self.runCmd('devtool update-recipe -m srcrev %s -a %s' % (testrecipe, templayerdir)) - with open(bbappendfile, 'r') as f: - self.assertEqual(expectedlines, set(f.readlines())) - # Drop new commit and check SRCREV changes - result = self.runCmd('git reset HEAD^', cwd=tempsrcdir) - result = self.runCmd('devtool update-recipe -m srcrev %s -a %s' % (testrecipe, templayerdir)) - self.assertNotExists(os.path.join(appenddir, testrecipe), 'Patch directory should not be created') - result = self.runCmd('git rev-parse HEAD', cwd=tempsrcdir) - expectedlines = set(['SRCREV = "%s"\n' % result.output, - '\n', - 'SRC_URI = "%s"\n' % git_uri, - '\n']) - with open(bbappendfile, 'r') as f: - self.assertEqual(expectedlines, set(f.readlines())) - # Put commit back and check we can run it if layer isn't in bblayers.conf - os.remove(bbappendfile) - result = self.runCmd('git commit -a -m "Change the Makefile"', cwd=tempsrcdir) - result = self.runCmd('bitbake-layers remove-layer %s' % templayerdir, cwd=self.builddir) - result = self.runCmd('devtool update-recipe -m srcrev %s -a %s' % (testrecipe, templayerdir)) - self.assertIn('WARNING: Specified layer is not currently enabled in bblayers.conf', result.output) - self.assertNotExists(os.path.join(appenddir, testrecipe), 'Patch directory should not be created') - result = self.runCmd('git rev-parse HEAD', cwd=tempsrcdir) - expectedlines = set(['SRCREV = "%s"\n' % result.output, - '\n', - 'SRC_URI = "%s"\n' % git_uri, - '\n']) - with open(bbappendfile, 'r') as f: - self.assertEqual(expectedlines, set(f.readlines())) - # Deleting isn't expected to work under these circumstances - - @OETestID(1370) - def test_devtool_update_recipe_local_files(self): - """Check that local source files are copied over instead of patched""" - testrecipe = 'makedevs' - recipefile = self.get_bb_var('FILE', testrecipe) - # Setup srctree for modifying the recipe - tempdir = tempfile.mkdtemp(prefix='devtoolqa') - self.track_for_cleanup(tempdir) - self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) - # (don't bother with cleaning the recipe on teardown, we won't be - # building it) - result = self.runCmd('devtool modify %s -x %s' % (testrecipe, tempdir)) - # Check git repo - self._check_src_repo(tempdir) - # Try building just to ensure we haven't broken that - self.bitbake("%s" % testrecipe) - # Edit / commit local source - self.runCmd('echo "/* Foobar */" >> oe-local-files/makedevs.c', cwd=tempdir) - self.runCmd('echo "Foo" > oe-local-files/new-local', cwd=tempdir) - self.runCmd('echo "Bar" > new-file', cwd=tempdir) - self.runCmd('git add new-file', cwd=tempdir) - self.runCmd('git commit -m "Add new file"', cwd=tempdir) - self.add_command_to_tearDown('cd %s; git clean -fd .; git checkout .' % - os.path.dirname(recipefile)) - self.runCmd('devtool update-recipe %s' % testrecipe) - expected_status = [(' M', '.*/%s$' % os.path.basename(recipefile)), - (' M', '.*/makedevs/makedevs.c$'), - ('??', '.*/makedevs/new-local$'), - ('??', '.*/makedevs/0001-Add-new-file.patch$')] - self._check_repo_status(os.path.dirname(recipefile), expected_status) - - @OETestID(1371) - def test_devtool_update_recipe_local_files_2(self): - """Check local source files support when oe-local-files is in Git""" - testrecipe = 'lzo' - recipefile = self.get_bb_var('FILE', testrecipe) - # Setup srctree for modifying the recipe - tempdir = tempfile.mkdtemp(prefix='devtoolqa') - self.track_for_cleanup(tempdir) - self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) - result = self.runCmd('devtool modify %s -x %s' % (testrecipe, tempdir)) - # Check git repo - self._check_src_repo(tempdir) - # Add oe-local-files to Git - self.runCmd('rm oe-local-files/.gitignore', cwd=tempdir) - self.runCmd('git add oe-local-files', cwd=tempdir) - self.runCmd('git commit -m "Add local sources"', cwd=tempdir) - # Edit / commit local sources - self.runCmd('echo "# Foobar" >> oe-local-files/acinclude.m4', cwd=tempdir) - self.runCmd('git commit -am "Edit existing file"', cwd=tempdir) - self.runCmd('git rm oe-local-files/run-ptest', cwd=tempdir) - self.runCmd('git commit -m"Remove file"', cwd=tempdir) - self.runCmd('echo "Foo" > oe-local-files/new-local', cwd=tempdir) - self.runCmd('git add oe-local-files/new-local', cwd=tempdir) - self.runCmd('git commit -m "Add new local file"', cwd=tempdir) - self.runCmd('echo "Gar" > new-file', cwd=tempdir) - self.runCmd('git add new-file', cwd=tempdir) - self.runCmd('git commit -m "Add new file"', cwd=tempdir) - self.add_command_to_tearDown('cd %s; git clean -fd .; git checkout .' % - os.path.dirname(recipefile)) - # Checkout unmodified file to working copy -> devtool should still pick - # the modified version from HEAD - self.runCmd('git checkout HEAD^ -- oe-local-files/acinclude.m4', cwd=tempdir) - self.runCmd('devtool update-recipe %s' % testrecipe) - expected_status = [(' M', '.*/%s$' % os.path.basename(recipefile)), - (' M', '.*/acinclude.m4$'), - (' D', '.*/run-ptest$'), - ('??', '.*/new-local$'), - ('??', '.*/0001-Add-new-file.patch$')] - self._check_repo_status(os.path.dirname(recipefile), expected_status) - - @OETestID(1627) - def test_devtool_update_recipe_local_files_3(self): - # First, modify the recipe - testrecipe = 'devtool-test-localonly' - bb_vars = self.get_bb_vars(['FILE', 'SRC_URI'], testrecipe) - recipefile = bb_vars['FILE'] - src_uri = bb_vars['SRC_URI'] - tempdir = tempfile.mkdtemp(prefix='devtoolqa') - self.track_for_cleanup(tempdir) - self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) - # (don't bother with cleaning the recipe on teardown, we won't be building it) - result = self.runCmd('devtool modify %s' % testrecipe) - # Modify one file - self.runCmd('echo "Another line" >> file2', cwd=os.path.join(self.workspacedir, 'sources', testrecipe, 'oe-local-files')) - self.add_command_to_tearDown('cd %s; rm %s/*; git checkout %s %s' % (os.path.dirname(recipefile), testrecipe, testrecipe, os.path.basename(recipefile))) - result = self.runCmd('devtool update-recipe %s' % testrecipe) - expected_status = [(' M', '.*/%s/file2$' % testrecipe)] - self._check_repo_status(os.path.dirname(recipefile), expected_status) - - @OETestID(1629) - def test_devtool_update_recipe_local_patch_gz(self): - # First, modify the recipe - testrecipe = 'devtool-test-patch-gz' - if self.get_bb_var('DISTRO') == 'poky-tiny': - self.skipTest("The DISTRO 'poky-tiny' does not provide the dependencies needed by %s" % testrecipe) - bb_vars = self.get_bb_vars(['FILE', 'SRC_URI'], testrecipe) - recipefile = bb_vars['FILE'] - src_uri = bb_vars['SRC_URI'] - tempdir = tempfile.mkdtemp(prefix='devtoolqa') - self.track_for_cleanup(tempdir) - self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) - # (don't bother with cleaning the recipe on teardown, we won't be building it) - result = self.runCmd('devtool modify %s' % testrecipe) - # Modify one file - srctree = os.path.join(self.workspacedir, 'sources', testrecipe) - self.runCmd('echo "Another line" >> README', cwd=srctree) - self.runCmd('git commit -a --amend --no-edit', cwd=srctree) - self.add_command_to_tearDown('cd %s; rm %s/*; git checkout %s %s' % (os.path.dirname(recipefile), testrecipe, testrecipe, os.path.basename(recipefile))) - result = self.runCmd('devtool update-recipe %s' % testrecipe) - expected_status = [(' M', '.*/%s/readme.patch.gz$' % testrecipe)] - self._check_repo_status(os.path.dirname(recipefile), expected_status) - patch_gz = os.path.join(os.path.dirname(recipefile), testrecipe, 'readme.patch.gz') - result = self.runCmd('file %s' % patch_gz) - if 'gzip compressed data' not in result.output: - self.fail('New patch file is not gzipped - file reports:\n%s' % result.output) - - @OETestID(1628) - def test_devtool_update_recipe_local_files_subdir(self): - # Try devtool extract on a recipe that has a file with subdir= set in - # SRC_URI such that it overwrites a file that was in an archive that - # was also in SRC_URI - # First, modify the recipe - testrecipe = 'devtool-test-subdir' - bb_vars = self.get_bb_vars(['FILE', 'SRC_URI'], testrecipe) - recipefile = bb_vars['FILE'] - src_uri = bb_vars['SRC_URI'] - tempdir = tempfile.mkdtemp(prefix='devtoolqa') - self.track_for_cleanup(tempdir) - self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) - # (don't bother with cleaning the recipe on teardown, we won't be building it) - result = self.runCmd('devtool modify %s' % testrecipe) - testfile = os.path.join(self.workspacedir, 'sources', testrecipe, 'testfile') - self.assertExists(testfile, 'Extracted source could not be found') - with open(testfile, 'r') as f: - contents = f.read().rstrip() - self.assertEqual(contents, 'Modified version', 'File has apparently not been overwritten as it should have been') - # Test devtool update-recipe without modifying any files - self.add_command_to_tearDown('cd %s; rm %s/*; git checkout %s %s' % (os.path.dirname(recipefile), testrecipe, testrecipe, os.path.basename(recipefile))) - result = self.runCmd('devtool update-recipe %s' % testrecipe) - expected_status = [] - self._check_repo_status(os.path.dirname(recipefile), expected_status) - @OETestID(1163) def test_devtool_extract(self): tempdir = tempfile.mkdtemp(prefix='devtoolqa') @@ -1320,166 +908,6 @@ class DevtoolTests(DevtoolCommon): with open(srcfile, 'w') as fh: fh.writelines(plugincontent) - def _setup_test_devtool_finish_upgrade(self): - # Check preconditions - self.assertTrue(not os.path.exists(self.workspacedir), 'This test cannot be run with a workspace directory under the build directory') - self.track_for_cleanup(self.workspacedir) - self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) - # Use a "real" recipe from meta-selftest - recipe = 'devtool-upgrade-test1' - oldversion = '1.5.3' - newversion = '1.6.0' - oldrecipefile = self.get_bb_var('FILE', recipe) - recipedir = os.path.dirname(oldrecipefile) - result = self.runCmd('git status --porcelain .', cwd=recipedir) - if result.output.strip(): - self.fail('Recipe directory for %s contains uncommitted changes' % recipe) - tempdir = tempfile.mkdtemp(prefix='devtoolqa') - self.track_for_cleanup(tempdir) - # Check that recipe is not already under devtool control - result = self.runCmd('devtool status') - self.assertNotIn(recipe, result.output) - # Do the upgrade - result = self.runCmd('devtool upgrade %s %s -V %s' % (recipe, tempdir, newversion)) - # Check devtool status and make sure recipe is present - result = self.runCmd('devtool status') - self.assertIn(recipe, result.output) - self.assertIn(tempdir, result.output) - # Make a change to the source - result = self.runCmd('sed -i \'/^#include "pv.h"/a \\/* Here is a new comment *\\/\' src/pv/number.c', cwd=tempdir) - result = self.runCmd('git status --porcelain', cwd=tempdir) - self.assertIn('M src/pv/number.c', result.output) - result = self.runCmd('git commit src/pv/number.c -m "Add a comment to the code"', cwd=tempdir) - # Check if patch is there - recipedir = os.path.dirname(oldrecipefile) - olddir = os.path.join(recipedir, recipe + '-' + oldversion) - patchfn = '0001-Add-a-note-line-to-the-quick-reference.patch' - self.assertExists(os.path.join(olddir, patchfn), 'Original patch file does not exist') - return recipe, oldrecipefile, recipedir, olddir, newversion, patchfn - - @OETestID(1623) - def test_devtool_finish_upgrade_origlayer(self): - recipe, oldrecipefile, recipedir, olddir, newversion, patchfn = self._setup_test_devtool_finish_upgrade() - # Ensure the recipe is where we think it should be (so that cleanup doesn't trash things) - self.assertIn('/meta-selftest/', recipedir) - # Try finish to the original layer - self.add_command_to_tearDown('rm -rf %s ; cd %s ; git checkout %s' % (recipedir, os.path.dirname(recipedir), recipedir)) - result = self.runCmd('devtool finish %s meta-selftest' % recipe) - result = self.runCmd('devtool status') - self.assertNotIn(recipe, result.output, 'Recipe should have been reset by finish but wasn\'t') - self.assertNotExists(os.path.join(self.workspacedir, 'recipes', recipe), 'Recipe directory should not exist after finish') - self.assertNotExists(oldrecipefile, 'Old recipe file should have been deleted but wasn\'t') - self.assertNotExists(os.path.join(olddir, patchfn), 'Old patch file should have been deleted but wasn\'t') - newrecipefile = os.path.join(recipedir, '%s_%s.bb' % (recipe, newversion)) - newdir = os.path.join(recipedir, recipe + '-' + newversion) - self.assertExists(newrecipefile, 'New recipe file should have been copied into existing layer but wasn\'t') - self.assertExists(os.path.join(newdir, patchfn), 'Patch file should have been copied into new directory but wasn\'t') - self.assertExists(os.path.join(newdir, '0002-Add-a-comment-to-the-code.patch'), 'New patch file should have been created but wasn\'t') - - @OETestID(1624) - def test_devtool_finish_upgrade_otherlayer(self): - recipe, oldrecipefile, recipedir, olddir, newversion, patchfn = self._setup_test_devtool_finish_upgrade() - # Ensure the recipe is where we think it should be (so that cleanup doesn't trash things) - self.assertIn('/meta-selftest/', recipedir) - # Try finish to a different layer - should create a bbappend - # This cleanup isn't strictly necessary but do it anyway just in case it goes wrong and writes to here - self.add_command_to_tearDown('rm -rf %s ; cd %s ; git checkout %s' % (recipedir, os.path.dirname(recipedir), recipedir)) - oe_core_dir = os.path.join(self.get_bb_var('COREBASE'), 'meta') - newrecipedir = os.path.join(oe_core_dir, 'recipes-test', 'devtool') - newrecipefile = os.path.join(newrecipedir, '%s_%s.bb' % (recipe, newversion)) - self.track_for_cleanup(newrecipedir) - result = self.runCmd('devtool finish %s oe-core' % recipe) - result = self.runCmd('devtool status') - self.assertNotIn(recipe, result.output, 'Recipe should have been reset by finish but wasn\'t') - self.assertNotExists(os.path.join(self.workspacedir, 'recipes', recipe), 'Recipe directory should not exist after finish') - self.assertExists(oldrecipefile, 'Old recipe file should not have been deleted') - self.assertExists(os.path.join(olddir, patchfn), 'Old patch file should not have been deleted') - newdir = os.path.join(newrecipedir, recipe + '-' + newversion) - self.assertExists(newrecipefile, 'New recipe file should have been copied into existing layer but wasn\'t') - self.assertExists(os.path.join(newdir, patchfn), 'Patch file should have been copied into new directory but wasn\'t') - self.assertExists(os.path.join(newdir, '0002-Add-a-comment-to-the-code.patch'), 'New patch file should have been created but wasn\'t') - - def _setup_test_devtool_finish_modify(self): - # Check preconditions - self.assertTrue(not os.path.exists(self.workspacedir), 'This test cannot be run with a workspace directory under the build directory') - # Try modifying a recipe - self.track_for_cleanup(self.workspacedir) - recipe = 'mdadm' - oldrecipefile = self.get_bb_var('FILE', recipe) - recipedir = os.path.dirname(oldrecipefile) - result = self.runCmd('git status --porcelain .', cwd=recipedir) - if result.output.strip(): - self.fail('Recipe directory for %s contains uncommitted changes' % recipe) - tempdir = tempfile.mkdtemp(prefix='devtoolqa') - self.track_for_cleanup(tempdir) - self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) - result = self.runCmd('devtool modify %s %s' % (recipe, tempdir)) - self.assertExists(os.path.join(tempdir, 'Makefile'), 'Extracted source could not be found') - # Test devtool status - result = self.runCmd('devtool status') - self.assertIn(recipe, result.output) - self.assertIn(tempdir, result.output) - # Make a change to the source - result = self.runCmd('sed -i \'/^#include "mdadm.h"/a \\/* Here is a new comment *\\/\' maps.c', cwd=tempdir) - result = self.runCmd('git status --porcelain', cwd=tempdir) - self.assertIn('M maps.c', result.output) - result = self.runCmd('git commit maps.c -m "Add a comment to the code"', cwd=tempdir) - for entry in os.listdir(recipedir): - filesdir = os.path.join(recipedir, entry) - if os.path.isdir(filesdir): - break - else: - self.fail('Unable to find recipe files directory for %s' % recipe) - return recipe, oldrecipefile, recipedir, filesdir - - @OETestID(1621) - def test_devtool_finish_modify_origlayer(self): - recipe, oldrecipefile, recipedir, filesdir = self._setup_test_devtool_finish_modify() - # Ensure the recipe is where we think it should be (so that cleanup doesn't trash things) - self.assertIn('/meta/', recipedir) - # Try finish to the original layer - self.add_command_to_tearDown('rm -rf %s ; cd %s ; git checkout %s' % (recipedir, os.path.dirname(recipedir), recipedir)) - result = self.runCmd('devtool finish %s meta' % recipe) - result = self.runCmd('devtool status') - self.assertNotIn(recipe, result.output, 'Recipe should have been reset by finish but wasn\'t') - self.assertNotExists(os.path.join(self.workspacedir, 'recipes', recipe), 'Recipe directory should not exist after finish') - expected_status = [(' M', '.*/%s$' % os.path.basename(oldrecipefile)), - ('??', '.*/.*-Add-a-comment-to-the-code.patch$')] - self._check_repo_status(recipedir, expected_status) - - @OETestID(1622) - def test_devtool_finish_modify_otherlayer(self): - recipe, oldrecipefile, recipedir, filesdir = self._setup_test_devtool_finish_modify() - # Ensure the recipe is where we think it should be (so that cleanup doesn't trash things) - self.assertIn('/meta/', recipedir) - relpth = os.path.relpath(recipedir, os.path.join(self.get_bb_var('COREBASE'), 'meta')) - appenddir = os.path.join(self.testlayer_path, relpth) - self.track_for_cleanup(appenddir) - # Try finish to the original layer - self.add_command_to_tearDown('rm -rf %s ; cd %s ; git checkout %s' % (recipedir, os.path.dirname(recipedir), recipedir)) - result = self.runCmd('devtool finish %s meta-selftest' % recipe) - result = self.runCmd('devtool status') - self.assertNotIn(recipe, result.output, 'Recipe should have been reset by finish but wasn\'t') - self.assertNotExists(os.path.join(self.workspacedir, 'recipes', recipe), 'Recipe directory should not exist after finish') - result = self.runCmd('git status --porcelain .', cwd=recipedir) - if result.output.strip(): - self.fail('Recipe directory for %s contains the following unexpected changes after finish:\n%s' % (recipe, result.output.strip())) - recipefn = os.path.splitext(os.path.basename(oldrecipefile))[0] - recipefn = recipefn.split('_')[0] + '_%' - appendfile = os.path.join(appenddir, recipefn + '.bbappend') - self.assertExists(appendfile, 'bbappend %s should have been created but wasn\'t' % appendfile) - newdir = os.path.join(appenddir, recipe) - files = os.listdir(newdir) - foundpatch = None - for fn in files: - if fnmatch.fnmatch(fn, '*-Add-a-comment-to-the-code.patch'): - foundpatch = fn - if not foundpatch: - self.fail('No patch file created next to bbappend') - files.remove(foundpatch) - if files: - self.fail('Unexpected file(s) copied next to bbappend: %s' % ', '.join(files)) - @OETestID(1626) def test_devtool_rename(self): # Check preconditions diff --git a/meta/lib/oeqa/selftest/cases/devtool_end.py b/meta/lib/oeqa/selftest/cases/devtool_end.py new file mode 100644 index 0000000..808b342 --- /dev/null +++ b/meta/lib/oeqa/selftest/cases/devtool_end.py @@ -0,0 +1,592 @@ +import os +import tempfile +import re +import fnmatch + +from oeqa.selftest.cases import devtool +from oeqa.core.decorator.oeid import OETestID + +class DevtoolFinishModifyTests(devtool.DevtoolCommon): + _use_own_builddir = True + _main_thread = False + _end_thread = True + + def _setup_test_devtool_finish_modify(self): + # Check preconditions + self.assertTrue(not os.path.exists(self.workspacedir), 'This test cannot be run with a workspace directory under the build directory') + # Try modifying a recipe + self.track_for_cleanup(self.workspacedir) + recipe = 'mdadm' + oldrecipefile = self.get_bb_var('FILE', recipe) + recipedir = os.path.dirname(oldrecipefile) + result = self.runCmd('git status --porcelain .', cwd=recipedir) + if result.output.strip(): + self.fail('Recipe directory for %s contains uncommitted changes' % recipe) + tempdir = tempfile.mkdtemp(prefix='devtoolqa') + self.track_for_cleanup(tempdir) + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) + result = self.runCmd('devtool modify %s %s' % (recipe, tempdir)) + self.assertExists(os.path.join(tempdir, 'Makefile'), 'Extracted source could not be found') + # Test devtool status + result = self.runCmd('devtool status') + self.assertIn(recipe, result.output) + self.assertIn(tempdir, result.output) + # Make a change to the source + result = self.runCmd('sed -i \'/^#include "mdadm.h"/a \\/* Here is a new comment *\\/\' maps.c', cwd=tempdir) + result = self.runCmd('git status --porcelain', cwd=tempdir) + self.assertIn('M maps.c', result.output) + result = self.runCmd('git commit maps.c -m "Add a comment to the code"', cwd=tempdir) + for entry in os.listdir(recipedir): + filesdir = os.path.join(recipedir, entry) + if os.path.isdir(filesdir): + break + else: + self.fail('Unable to find recipe files directory for %s' % recipe) + return recipe, oldrecipefile, recipedir, filesdir + + @OETestID(1621) + def test_devtool_finish_modify_origlayer(self): + recipe, oldrecipefile, recipedir, filesdir = self._setup_test_devtool_finish_modify() + # Ensure the recipe is where we think it should be (so that cleanup doesn't trash things) + self.assertIn('/meta/', recipedir) + # Try finish to the original layer + self.add_command_to_tearDown('rm -rf %s ; cd %s ; git checkout %s' % (recipedir, os.path.dirname(recipedir), recipedir)) + result = self.runCmd('devtool finish %s meta' % recipe) + result = self.runCmd('devtool status') + self.assertNotIn(recipe, result.output, 'Recipe should have been reset by finish but wasn\'t') + self.assertNotExists(os.path.join(self.workspacedir, 'recipes', recipe), 'Recipe directory should not exist after finish') + expected_status = [(' M', '.*/%s$' % os.path.basename(oldrecipefile)), + ('??', '.*/.*-Add-a-comment-to-the-code.patch$')] + self._check_repo_status(recipedir, expected_status) + + @OETestID(1622) + def test_devtool_finish_modify_otherlayer(self): + recipe, oldrecipefile, recipedir, filesdir = self._setup_test_devtool_finish_modify() + # Ensure the recipe is where we think it should be (so that cleanup doesn't trash things) + self.assertIn('/meta/', recipedir) + relpth = os.path.relpath(recipedir, os.path.join(self.get_bb_var('COREBASE'), 'meta')) + appenddir = os.path.join(self.testlayer_path, relpth) + self.track_for_cleanup(appenddir) + # Try finish to the original layer + self.add_command_to_tearDown('rm -rf %s ; cd %s ; git checkout %s' % (recipedir, os.path.dirname(recipedir), recipedir)) + result = self.runCmd('devtool finish %s meta-selftest' % recipe) + result = self.runCmd('devtool status') + self.assertNotIn(recipe, result.output, 'Recipe should have been reset by finish but wasn\'t') + self.assertNotExists(os.path.join(self.workspacedir, 'recipes', recipe), 'Recipe directory should not exist after finish') + result = self.runCmd('git status --porcelain .', cwd=recipedir) + if result.output.strip(): + self.fail('Recipe directory for %s contains the following unexpected changes after finish:\n%s' % (recipe, result.output.strip())) + recipefn = os.path.splitext(os.path.basename(oldrecipefile))[0] + recipefn = recipefn.split('_')[0] + '_%' + appendfile = os.path.join(appenddir, recipefn + '.bbappend') + self.assertExists(appendfile, 'bbappend %s should have been created but wasn\'t' % appendfile) + newdir = os.path.join(appenddir, recipe) + files = os.listdir(newdir) + foundpatch = None + for fn in files: + if fnmatch.fnmatch(fn, '*-Add-a-comment-to-the-code.patch'): + foundpatch = fn + if not foundpatch: + self.fail('No patch file created next to bbappend') + files.remove(foundpatch) + if files: + self.fail('Unexpected file(s) copied next to bbappend: %s' % ', '.join(files)) + +class DevtoolFinishUpgradeTests(devtool.DevtoolCommon): + _use_own_builddir = True + _main_thread = False + _end_thread = True + + def _setup_test_devtool_finish_upgrade(self): + # Check preconditions + self.assertTrue(not os.path.exists(self.workspacedir), 'This test cannot be run with a workspace directory under the build directory') + self.track_for_cleanup(self.workspacedir) + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) + # Use a "real" recipe from meta-selftest + recipe = 'devtool-upgrade-test1' + oldversion = '1.5.3' + newversion = '1.6.0' + oldrecipefile = self.get_bb_var('FILE', recipe) + recipedir = os.path.dirname(oldrecipefile) + result = self.runCmd('git status --porcelain .', cwd=recipedir) + if result.output.strip(): + self.fail('Recipe directory for %s contains uncommitted changes' % recipe) + tempdir = tempfile.mkdtemp(prefix='devtoolqa') + self.track_for_cleanup(tempdir) + # Check that recipe is not already under devtool control + result = self.runCmd('devtool status') + self.assertNotIn(recipe, result.output) + # Do the upgrade + result = self.runCmd('devtool upgrade %s %s -V %s' % (recipe, tempdir, newversion)) + # Check devtool status and make sure recipe is present + result = self.runCmd('devtool status') + self.assertIn(recipe, result.output) + self.assertIn(tempdir, result.output) + # Make a change to the source + result = self.runCmd('sed -i \'/^#include "pv.h"/a \\/* Here is a new comment *\\/\' src/pv/number.c', cwd=tempdir) + result = self.runCmd('git status --porcelain', cwd=tempdir) + self.assertIn('M src/pv/number.c', result.output) + result = self.runCmd('git commit src/pv/number.c -m "Add a comment to the code"', cwd=tempdir) + # Check if patch is there + recipedir = os.path.dirname(oldrecipefile) + olddir = os.path.join(recipedir, recipe + '-' + oldversion) + patchfn = '0001-Add-a-note-line-to-the-quick-reference.patch' + self.assertExists(os.path.join(olddir, patchfn), 'Original patch file does not exist') + return recipe, oldrecipefile, recipedir, olddir, newversion, patchfn + + @OETestID(1623) + def test_devtool_finish_upgrade_origlayer(self): + recipe, oldrecipefile, recipedir, olddir, newversion, patchfn = self._setup_test_devtool_finish_upgrade() + # Ensure the recipe is where we think it should be (so that cleanup doesn't trash things) + self.assertIn('/meta-selftest/', recipedir) + # Try finish to the original layer + self.add_command_to_tearDown('rm -rf %s ; cd %s ; git checkout %s' % (recipedir, os.path.dirname(recipedir), recipedir)) + result = self.runCmd('devtool finish %s meta-selftest' % recipe) + result = self.runCmd('devtool status') + self.assertNotIn(recipe, result.output, 'Recipe should have been reset by finish but wasn\'t') + self.assertNotExists(os.path.join(self.workspacedir, 'recipes', recipe), 'Recipe directory should not exist after finish') + self.assertNotExists(oldrecipefile, 'Old recipe file should have been deleted but wasn\'t') + self.assertNotExists(os.path.join(olddir, patchfn), 'Old patch file should have been deleted but wasn\'t') + newrecipefile = os.path.join(recipedir, '%s_%s.bb' % (recipe, newversion)) + newdir = os.path.join(recipedir, recipe + '-' + newversion) + self.assertExists(newrecipefile, 'New recipe file should have been copied into existing layer but wasn\'t') + self.assertExists(os.path.join(newdir, patchfn), 'Patch file should have been copied into new directory but wasn\'t') + self.assertExists(os.path.join(newdir, '0002-Add-a-comment-to-the-code.patch'), 'New patch file should have been created but wasn\'t') + + @OETestID(1624) + def test_devtool_finish_upgrade_otherlayer(self): + recipe, oldrecipefile, recipedir, olddir, newversion, patchfn = self._setup_test_devtool_finish_upgrade() + # Ensure the recipe is where we think it should be (so that cleanup doesn't trash things) + self.assertIn('/meta-selftest/', recipedir) + # Try finish to a different layer - should create a bbappend + # This cleanup isn't strictly necessary but do it anyway just in case it goes wrong and writes to here + self.add_command_to_tearDown('rm -rf %s ; cd %s ; git checkout %s' % (recipedir, os.path.dirname(recipedir), recipedir)) + oe_core_dir = os.path.join(self.get_bb_var('COREBASE'), 'meta') + newrecipedir = os.path.join(oe_core_dir, 'recipes-test', 'devtool') + newrecipefile = os.path.join(newrecipedir, '%s_%s.bb' % (recipe, newversion)) + self.track_for_cleanup(newrecipedir) + result = self.runCmd('devtool finish %s oe-core' % recipe) + result = self.runCmd('devtool status') + self.assertNotIn(recipe, result.output, 'Recipe should have been reset by finish but wasn\'t') + self.assertNotExists(os.path.join(self.workspacedir, 'recipes', recipe), 'Recipe directory should not exist after finish') + self.assertExists(oldrecipefile, 'Old recipe file should not have been deleted') + self.assertExists(os.path.join(olddir, patchfn), 'Old patch file should not have been deleted') + newdir = os.path.join(newrecipedir, recipe + '-' + newversion) + self.assertExists(newrecipefile, 'New recipe file should have been copied into existing layer but wasn\'t') + self.assertExists(os.path.join(newdir, patchfn), 'Patch file should have been copied into new directory but wasn\'t') + self.assertExists(os.path.join(newdir, '0002-Add-a-comment-to-the-code.patch'), 'New patch file should have been created but wasn\'t') + +class DevtoolUpdateTests(devtool.DevtoolCommon): + _use_own_builddir = True + _main_thread = False + _end_thread = True + + @OETestID(1169) + def test_devtool_update_recipe(self): + # Check preconditions + testrecipe = 'minicom' + bb_vars = self.get_bb_vars(['FILE', 'SRC_URI'], testrecipe) + recipefile = bb_vars['FILE'] + src_uri = bb_vars['SRC_URI'] + self.assertNotIn('git://', src_uri, 'This test expects the %s recipe to NOT be a git recipe' % testrecipe) + self._check_repo_status(os.path.dirname(recipefile), []) + # First, modify a recipe + tempdir = tempfile.mkdtemp(prefix='devtoolqa') + self.track_for_cleanup(tempdir) + self.track_for_cleanup(self.workspacedir) + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) + # (don't bother with cleaning the recipe on teardown, we won't be building it) + # We don't use -x here so that we test the behaviour of devtool modify without it + result = self.runCmd('devtool modify %s %s' % (testrecipe, tempdir)) + # Check git repo + self._check_src_repo(tempdir) + # Add a couple of commits + # FIXME: this only tests adding, need to also test update and remove + result = self.runCmd('echo "Additional line" >> README', cwd=tempdir) + result = self.runCmd('git commit -a -m "Change the README"', cwd=tempdir) + result = self.runCmd('echo "A new file" > devtool-new-file', cwd=tempdir) + result = self.runCmd('git add devtool-new-file', cwd=tempdir) + result = self.runCmd('git commit -m "Add a new file"', cwd=tempdir) + self.add_command_to_tearDown('cd %s; rm %s/*.patch; git checkout %s %s' % (os.path.dirname(recipefile), testrecipe, testrecipe, os.path.basename(recipefile))) + result = self.runCmd('devtool update-recipe %s' % testrecipe) + expected_status = [(' M', '.*/%s$' % os.path.basename(recipefile)), + ('??', '.*/0001-Change-the-README.patch$'), + ('??', '.*/0002-Add-a-new-file.patch$')] + self._check_repo_status(os.path.dirname(recipefile), expected_status) + + @OETestID(1172) + def test_devtool_update_recipe_git(self): + # Check preconditions + testrecipe = 'mtd-utils' + bb_vars = self.get_bb_vars(['FILE', 'SRC_URI'], testrecipe) + recipefile = bb_vars['FILE'] + src_uri = bb_vars['SRC_URI'] + self.assertIn('git://', src_uri, 'This test expects the %s recipe to be a git recipe' % testrecipe) + patches = [] + for entry in src_uri.split(): + if entry.startswith('file://') and entry.endswith('.patch'): + patches.append(entry[7:].split(';')[0]) + self.assertGreater(len(patches), 0, 'The %s recipe does not appear to contain any patches, so this test will not be effective' % testrecipe) + self._check_repo_status(os.path.dirname(recipefile), []) + # First, modify a recipe + tempdir = tempfile.mkdtemp(prefix='devtoolqa') + self.track_for_cleanup(tempdir) + self.track_for_cleanup(self.workspacedir) + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) + # (don't bother with cleaning the recipe on teardown, we won't be building it) + result = self.runCmd('devtool modify %s -x %s' % (testrecipe, tempdir)) + # Check git repo + self._check_src_repo(tempdir) + # Add a couple of commits + # FIXME: this only tests adding, need to also test update and remove + result = self.runCmd('echo "# Additional line" >> Makefile.am', cwd=tempdir) + result = self.runCmd('git commit -a -m "Change the Makefile"', cwd=tempdir) + result = self.runCmd('echo "A new file" > devtool-new-file', cwd=tempdir) + result = self.runCmd('git add devtool-new-file', cwd=tempdir) + result = self.runCmd('git commit -m "Add a new file"', cwd=tempdir) + self.add_command_to_tearDown('cd %s; rm -rf %s; git checkout %s %s' % (os.path.dirname(recipefile), testrecipe, testrecipe, os.path.basename(recipefile))) + result = self.runCmd('devtool update-recipe -m srcrev %s' % testrecipe) + expected_status = [(' M', '.*/%s$' % os.path.basename(recipefile))] + \ + [(' D', '.*/%s$' % patch) for patch in patches] + self._check_repo_status(os.path.dirname(recipefile), expected_status) + + result = self.runCmd('git diff %s' % os.path.basename(recipefile), cwd=os.path.dirname(recipefile)) + addlines = ['SRCREV = ".*"', 'SRC_URI = "git://git.infradead.org/mtd-utils.git"'] + srcurilines = src_uri.split() + srcurilines[0] = 'SRC_URI = "' + srcurilines[0] + srcurilines.append('"') + removelines = ['SRCREV = ".*"'] + srcurilines + for line in result.output.splitlines(): + if line.startswith('+++') or line.startswith('---'): + continue + elif line.startswith('+'): + matched = False + for item in addlines: + if re.match(item, line[1:].strip()): + matched = True + break + self.assertTrue(matched, 'Unexpected diff add line: %s' % line) + elif line.startswith('-'): + matched = False + for item in removelines: + if re.match(item, line[1:].strip()): + matched = True + break + self.assertTrue(matched, 'Unexpected diff remove line: %s' % line) + # Now try with auto mode + self.runCmd('cd %s; git checkout %s %s' % (os.path.dirname(recipefile), testrecipe, os.path.basename(recipefile))) + result = self.runCmd('devtool update-recipe %s' % testrecipe) + result = self.runCmd('git rev-parse --show-toplevel', cwd=os.path.dirname(recipefile)) + topleveldir = result.output.strip() + relpatchpath = os.path.join(os.path.relpath(os.path.dirname(recipefile), topleveldir), testrecipe) + expected_status = [(' M', os.path.relpath(recipefile, topleveldir)), + ('??', '%s/0001-Change-the-Makefile.patch' % relpatchpath), + ('??', '%s/0002-Add-a-new-file.patch' % relpatchpath)] + self._check_repo_status(os.path.dirname(recipefile), expected_status) + + @OETestID(1170) + def test_devtool_update_recipe_append(self): + # Check preconditions + testrecipe = 'mdadm' + bb_vars = self.get_bb_vars(['FILE', 'SRC_URI'], testrecipe) + recipefile = bb_vars['FILE'] + src_uri = bb_vars['SRC_URI'] + self.assertNotIn('git://', src_uri, 'This test expects the %s recipe to NOT be a git recipe' % testrecipe) + self._check_repo_status(os.path.dirname(recipefile), []) + # First, modify a recipe + tempdir = tempfile.mkdtemp(prefix='devtoolqa') + tempsrcdir = os.path.join(tempdir, 'source') + templayerdir = os.path.join(tempdir, 'layer') + self.track_for_cleanup(tempdir) + self.track_for_cleanup(self.workspacedir) + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) + # (don't bother with cleaning the recipe on teardown, we won't be building it) + result = self.runCmd('devtool modify %s -x %s' % (testrecipe, tempsrcdir)) + # Check git repo + self._check_src_repo(tempsrcdir) + # Add a commit + result = self.runCmd("sed 's!\\(#define VERSION\\W*\"[^\"]*\\)\"!\\1-custom\"!' -i ReadMe.c", cwd=tempsrcdir) + result = self.runCmd('git commit -a -m "Add our custom version"', cwd=tempsrcdir) + self.add_command_to_tearDown('cd %s; rm -f %s/*.patch; git checkout .' % (os.path.dirname(recipefile), testrecipe)) + # Create a temporary layer and add it to bblayers.conf + self._create_temp_layer(templayerdir, True, 'selftestupdaterecipe') + # Create the bbappend + result = self.runCmd('devtool update-recipe %s -a %s' % (testrecipe, templayerdir)) + self.assertNotIn('WARNING:', result.output) + # Check recipe is still clean + self._check_repo_status(os.path.dirname(recipefile), []) + # Check bbappend was created + splitpath = os.path.dirname(recipefile).split(os.sep) + appenddir = os.path.join(templayerdir, splitpath[-2], splitpath[-1]) + bbappendfile = self._check_bbappend(testrecipe, recipefile, appenddir) + patchfile = os.path.join(appenddir, testrecipe, '0001-Add-our-custom-version.patch') + self.assertExists(patchfile, 'Patch file not created') + + # Check bbappend contents + expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n', + '\n', + 'SRC_URI += "file://0001-Add-our-custom-version.patch"\n', + '\n'] + with open(bbappendfile, 'r') as f: + self.assertEqual(expectedlines, f.readlines()) + + # Check we can run it again and bbappend isn't modified + result = self.runCmd('devtool update-recipe %s -a %s' % (testrecipe, templayerdir)) + with open(bbappendfile, 'r') as f: + self.assertEqual(expectedlines, f.readlines()) + # Drop new commit and check patch gets deleted + result = self.runCmd('git reset HEAD^', cwd=tempsrcdir) + result = self.runCmd('devtool update-recipe %s -a %s' % (testrecipe, templayerdir)) + self.assertNotExists(patchfile, 'Patch file not deleted') + expectedlines2 = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n', + '\n'] + with open(bbappendfile, 'r') as f: + self.assertEqual(expectedlines2, f.readlines()) + # Put commit back and check we can run it if layer isn't in bblayers.conf + os.remove(bbappendfile) + result = self.runCmd('git commit -a -m "Add our custom version"', cwd=tempsrcdir) + result = self.runCmd('bitbake-layers remove-layer %s' % templayerdir, cwd=self.builddir) + result = self.runCmd('devtool update-recipe %s -a %s' % (testrecipe, templayerdir)) + self.assertIn('WARNING: Specified layer is not currently enabled in bblayers.conf', result.output) + self.assertExists(patchfile, 'Patch file not created (with disabled layer)') + with open(bbappendfile, 'r') as f: + self.assertEqual(expectedlines, f.readlines()) + # Deleting isn't expected to work under these circumstances + + @OETestID(1171) + def test_devtool_update_recipe_append_git(self): + # Check preconditions + testrecipe = 'mtd-utils' + bb_vars = self.get_bb_vars(['FILE', 'SRC_URI'], testrecipe) + recipefile = bb_vars['FILE'] + src_uri = bb_vars['SRC_URI'] + self.assertIn('git://', src_uri, 'This test expects the %s recipe to be a git recipe' % testrecipe) + for entry in src_uri.split(): + if entry.startswith('git://'): + git_uri = entry + break + self._check_repo_status(os.path.dirname(recipefile), []) + # First, modify a recipe + tempdir = tempfile.mkdtemp(prefix='devtoolqa') + tempsrcdir = os.path.join(tempdir, 'source') + templayerdir = os.path.join(tempdir, 'layer') + self.track_for_cleanup(tempdir) + self.track_for_cleanup(self.workspacedir) + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) + # (don't bother with cleaning the recipe on teardown, we won't be building it) + result = self.runCmd('devtool modify %s -x %s' % (testrecipe, tempsrcdir)) + # Check git repo + self._check_src_repo(tempsrcdir) + # Add a commit + result = self.runCmd('echo "# Additional line" >> Makefile.am', cwd=tempsrcdir) + result = self.runCmd('git commit -a -m "Change the Makefile"', cwd=tempsrcdir) + self.add_command_to_tearDown('cd %s; rm -f %s/*.patch; git checkout .' % (os.path.dirname(recipefile), testrecipe)) + # Create a temporary layer + os.makedirs(os.path.join(templayerdir, 'conf')) + with open(os.path.join(templayerdir, 'conf', 'layer.conf'), 'w') as f: + f.write('BBPATH .= ":${LAYERDIR}"\n') + f.write('BBFILES += "${LAYERDIR}/recipes-*/*/*.bbappend"\n') + f.write('BBFILE_COLLECTIONS += "oeselftesttemplayer"\n') + f.write('BBFILE_PATTERN_oeselftesttemplayer = "^${LAYERDIR}/"\n') + f.write('BBFILE_PRIORITY_oeselftesttemplayer = "999"\n') + f.write('BBFILE_PATTERN_IGNORE_EMPTY_oeselftesttemplayer = "1"\n') + self.add_command_to_tearDown('bitbake-layers remove-layer %s || true' % templayerdir) + result = self.runCmd('bitbake-layers add-layer %s' % templayerdir, cwd=self.builddir) + # Create the bbappend + result = self.runCmd('devtool update-recipe -m srcrev %s -a %s' % (testrecipe, templayerdir)) + self.assertNotIn('WARNING:', result.output) + # Check recipe is still clean + self._check_repo_status(os.path.dirname(recipefile), []) + # Check bbappend was created + splitpath = os.path.dirname(recipefile).split(os.sep) + appenddir = os.path.join(templayerdir, splitpath[-2], splitpath[-1]) + bbappendfile = self._check_bbappend(testrecipe, recipefile, appenddir) + self.assertNotExists(os.path.join(appenddir, testrecipe), 'Patch directory should not be created') + + # Check bbappend contents + result = self.runCmd('git rev-parse HEAD', cwd=tempsrcdir) + expectedlines = set(['SRCREV = "%s"\n' % result.output, + '\n', + 'SRC_URI = "%s"\n' % git_uri, + '\n']) + with open(bbappendfile, 'r') as f: + self.assertEqual(expectedlines, set(f.readlines())) + + # Check we can run it again and bbappend isn't modified + result = self.runCmd('devtool update-recipe -m srcrev %s -a %s' % (testrecipe, templayerdir)) + with open(bbappendfile, 'r') as f: + self.assertEqual(expectedlines, set(f.readlines())) + # Drop new commit and check SRCREV changes + result = self.runCmd('git reset HEAD^', cwd=tempsrcdir) + result = self.runCmd('devtool update-recipe -m srcrev %s -a %s' % (testrecipe, templayerdir)) + self.assertNotExists(os.path.join(appenddir, testrecipe), 'Patch directory should not be created') + result = self.runCmd('git rev-parse HEAD', cwd=tempsrcdir) + expectedlines = set(['SRCREV = "%s"\n' % result.output, + '\n', + 'SRC_URI = "%s"\n' % git_uri, + '\n']) + with open(bbappendfile, 'r') as f: + self.assertEqual(expectedlines, set(f.readlines())) + # Put commit back and check we can run it if layer isn't in bblayers.conf + os.remove(bbappendfile) + result = self.runCmd('git commit -a -m "Change the Makefile"', cwd=tempsrcdir) + result = self.runCmd('bitbake-layers remove-layer %s' % templayerdir, cwd=self.builddir) + result = self.runCmd('devtool update-recipe -m srcrev %s -a %s' % (testrecipe, templayerdir)) + self.assertIn('WARNING: Specified layer is not currently enabled in bblayers.conf', result.output) + self.assertNotExists(os.path.join(appenddir, testrecipe), 'Patch directory should not be created') + result = self.runCmd('git rev-parse HEAD', cwd=tempsrcdir) + expectedlines = set(['SRCREV = "%s"\n' % result.output, + '\n', + 'SRC_URI = "%s"\n' % git_uri, + '\n']) + with open(bbappendfile, 'r') as f: + self.assertEqual(expectedlines, set(f.readlines())) + # Deleting isn't expected to work under these circumstances + + @OETestID(1370) + def test_devtool_update_recipe_local_files(self): + """Check that local source files are copied over instead of patched""" + testrecipe = 'makedevs' + recipefile = self.get_bb_var('FILE', testrecipe) + # Setup srctree for modifying the recipe + tempdir = tempfile.mkdtemp(prefix='devtoolqa') + self.track_for_cleanup(tempdir) + self.track_for_cleanup(self.workspacedir) + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) + # (don't bother with cleaning the recipe on teardown, we won't be + # building it) + result = self.runCmd('devtool modify %s -x %s' % (testrecipe, tempdir)) + # Check git repo + self._check_src_repo(tempdir) + # Try building just to ensure we haven't broken that + self.bitbake("%s" % testrecipe) + # Edit / commit local source + self.runCmd('echo "/* Foobar */" >> oe-local-files/makedevs.c', cwd=tempdir) + self.runCmd('echo "Foo" > oe-local-files/new-local', cwd=tempdir) + self.runCmd('echo "Bar" > new-file', cwd=tempdir) + self.runCmd('git add new-file', cwd=tempdir) + self.runCmd('git commit -m "Add new file"', cwd=tempdir) + self.add_command_to_tearDown('cd %s; git clean -fd .; git checkout .' % + os.path.dirname(recipefile)) + self.runCmd('devtool update-recipe %s' % testrecipe) + expected_status = [(' M', '.*/%s$' % os.path.basename(recipefile)), + (' M', '.*/makedevs/makedevs.c$'), + ('??', '.*/makedevs/new-local$'), + ('??', '.*/makedevs/0001-Add-new-file.patch$')] + self._check_repo_status(os.path.dirname(recipefile), expected_status) + + @OETestID(1371) + def test_devtool_update_recipe_local_files_2(self): + """Check local source files support when oe-local-files is in Git""" + testrecipe = 'lzo' + recipefile = self.get_bb_var('FILE', testrecipe) + # Setup srctree for modifying the recipe + tempdir = tempfile.mkdtemp(prefix='devtoolqa') + self.track_for_cleanup(tempdir) + self.track_for_cleanup(self.workspacedir) + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) + result = self.runCmd('devtool modify %s -x %s' % (testrecipe, tempdir)) + # Check git repo + self._check_src_repo(tempdir) + # Add oe-local-files to Git + self.runCmd('rm oe-local-files/.gitignore', cwd=tempdir) + self.runCmd('git add oe-local-files', cwd=tempdir) + self.runCmd('git commit -m "Add local sources"', cwd=tempdir) + # Edit / commit local sources + self.runCmd('echo "# Foobar" >> oe-local-files/acinclude.m4', cwd=tempdir) + self.runCmd('git commit -am "Edit existing file"', cwd=tempdir) + self.runCmd('git rm oe-local-files/run-ptest', cwd=tempdir) + self.runCmd('git commit -m"Remove file"', cwd=tempdir) + self.runCmd('echo "Foo" > oe-local-files/new-local', cwd=tempdir) + self.runCmd('git add oe-local-files/new-local', cwd=tempdir) + self.runCmd('git commit -m "Add new local file"', cwd=tempdir) + self.runCmd('echo "Gar" > new-file', cwd=tempdir) + self.runCmd('git add new-file', cwd=tempdir) + self.runCmd('git commit -m "Add new file"', cwd=tempdir) + self.add_command_to_tearDown('cd %s; git clean -fd .; git checkout .' % + os.path.dirname(recipefile)) + # Checkout unmodified file to working copy -> devtool should still pick + # the modified version from HEAD + self.runCmd('git checkout HEAD^ -- oe-local-files/acinclude.m4', cwd=tempdir) + self.runCmd('devtool update-recipe %s' % testrecipe) + expected_status = [(' M', '.*/%s$' % os.path.basename(recipefile)), + (' M', '.*/acinclude.m4$'), + (' D', '.*/run-ptest$'), + ('??', '.*/new-local$'), + ('??', '.*/0001-Add-new-file.patch$')] + self._check_repo_status(os.path.dirname(recipefile), expected_status) + + @OETestID(1627) + def test_devtool_update_recipe_local_files_3(self): + # First, modify the recipe + testrecipe = 'devtool-test-localonly' + bb_vars = self.get_bb_vars(['FILE', 'SRC_URI'], testrecipe) + recipefile = bb_vars['FILE'] + src_uri = bb_vars['SRC_URI'] + tempdir = tempfile.mkdtemp(prefix='devtoolqa') + self.track_for_cleanup(tempdir) + self.track_for_cleanup(self.workspacedir) + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) + # (don't bother with cleaning the recipe on teardown, we won't be building it) + result = self.runCmd('devtool modify %s' % testrecipe) + # Modify one file + self.runCmd('echo "Another line" >> file2', cwd=os.path.join(self.workspacedir, 'sources', testrecipe, 'oe-local-files')) + self.add_command_to_tearDown('cd %s; rm %s/*; git checkout %s %s' % (os.path.dirname(recipefile), testrecipe, testrecipe, os.path.basename(recipefile))) + result = self.runCmd('devtool update-recipe %s' % testrecipe) + expected_status = [(' M', '.*/%s/file2$' % testrecipe)] + self._check_repo_status(os.path.dirname(recipefile), expected_status) + + @OETestID(1629) + def test_devtool_update_recipe_local_patch_gz(self): + # First, modify the recipe + testrecipe = 'devtool-test-patch-gz' + if self.get_bb_var('DISTRO') == 'poky-tiny': + self.skipTest("The DISTRO 'poky-tiny' does not provide the dependencies needed by %s" % testrecipe) + bb_vars = self.get_bb_vars(['FILE', 'SRC_URI'], testrecipe) + recipefile = bb_vars['FILE'] + src_uri = bb_vars['SRC_URI'] + tempdir = tempfile.mkdtemp(prefix='devtoolqa') + self.track_for_cleanup(tempdir) + self.track_for_cleanup(self.workspacedir) + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) + # (don't bother with cleaning the recipe on teardown, we won't be building it) + result = self.runCmd('devtool modify %s' % testrecipe) + # Modify one file + srctree = os.path.join(self.workspacedir, 'sources', testrecipe) + self.runCmd('echo "Another line" >> README', cwd=srctree) + self.runCmd('git commit -a --amend --no-edit', cwd=srctree) + self.add_command_to_tearDown('cd %s; rm %s/*; git checkout %s %s' % (os.path.dirname(recipefile), testrecipe, testrecipe, os.path.basename(recipefile))) + result = self.runCmd('devtool update-recipe %s' % testrecipe) + expected_status = [(' M', '.*/%s/readme.patch.gz$' % testrecipe)] + self._check_repo_status(os.path.dirname(recipefile), expected_status) + patch_gz = os.path.join(os.path.dirname(recipefile), testrecipe, 'readme.patch.gz') + result = self.runCmd('file %s' % patch_gz) + if 'gzip compressed data' not in result.output: + self.fail('New patch file is not gzipped - file reports:\n%s' % result.output) + + @OETestID(1628) + def test_devtool_update_recipe_local_files_subdir(self): + # Try devtool extract on a recipe that has a file with subdir= set in + # SRC_URI such that it overwrites a file that was in an archive that + # was also in SRC_URI + # First, modify the recipe + testrecipe = 'devtool-test-subdir' + bb_vars = self.get_bb_vars(['FILE', 'SRC_URI'], testrecipe) + recipefile = bb_vars['FILE'] + src_uri = bb_vars['SRC_URI'] + tempdir = tempfile.mkdtemp(prefix='devtoolqa') + self.track_for_cleanup(tempdir) + self.track_for_cleanup(self.workspacedir) + self.add_command_to_tearDown('bitbake-layers remove-layer %s' % self.workspacedir) + # (don't bother with cleaning the recipe on teardown, we won't be building it) + result = self.runCmd('devtool modify %s' % testrecipe) + testfile = os.path.join(self.workspacedir, 'sources', testrecipe, 'testfile') + self.assertExists(testfile, 'Extracted source could not be found') + with open(testfile, 'r') as f: + contents = f.read().rstrip() + self.assertEqual(contents, 'Modified version', 'File has apparently not been overwritten as it should have been') + # Test devtool update-recipe without modifying any files + self.add_command_to_tearDown('cd %s; rm %s/*; git checkout %s %s' % (os.path.dirname(recipefile), testrecipe, testrecipe, os.path.basename(recipefile))) + result = self.runCmd('devtool update-recipe %s' % testrecipe) + expected_status = [] + self._check_repo_status(os.path.dirname(recipefile), expected_status) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 22:14:24 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 22:14:24 +0000 Subject: [oe-commits] [openembedded-core] 01/02: argparse_oe: Add int_positive type In-Reply-To: <150058886339.5325.2100375266265402160@git.openembedded.org> References: <150058886339.5325.2100375266265402160@git.openembedded.org> Message-ID: <20170720221423.7F80E233613@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit c9a54052308b63100978564012a4650e6575b427 Author: An?bal Lim?n AuthorDate: Tue Jul 11 09:16:28 2017 -0700 argparse_oe: Add int_positive type Sometimes only expect positive values from cmdline so it's better to filter at parsing cmdline step instead of validate later. Signed-off-by: An?bal Lim?n --- scripts/lib/argparse_oe.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/scripts/lib/argparse_oe.py b/scripts/lib/argparse_oe.py index bf6eb17..9bdfc1c 100644 --- a/scripts/lib/argparse_oe.py +++ b/scripts/lib/argparse_oe.py @@ -167,3 +167,10 @@ class OeHelpFormatter(argparse.HelpFormatter): return '\n'.join(lines) else: return super(OeHelpFormatter, self)._format_action(action) + +def int_positive(value): + ivalue = int(value) + if ivalue <= 0: + raise argparse.ArgumentTypeError( + "%s is not a positive int value" % value) + return ivalue -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 22:14:25 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 22:14:25 +0000 Subject: [oe-commits] [openembedded-core] 02/02: subversion: Upgrade 1.9.5-> 1.9.6 In-Reply-To: <150058886339.5325.2100375266265402160@git.openembedded.org> References: <150058886339.5325.2100375266265402160@git.openembedded.org> Message-ID: <20170720221423.8837D233614@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit f6b4ef1687c7a31fed7b6ddd65e55c9a073f2cf5 Author: Richard Purdie AuthorDate: Tue Jul 18 15:55:33 2017 -0700 subversion: Upgrade 1.9.5-> 1.9.6 Signed-off-by: Richard Purdie --- .../subversion/{subversion_1.9.5.bb => subversion_1.9.6.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-devtools/subversion/subversion_1.9.5.bb b/meta/recipes-devtools/subversion/subversion_1.9.6.bb similarity index 96% rename from meta/recipes-devtools/subversion/subversion_1.9.5.bb rename to meta/recipes-devtools/subversion/subversion_1.9.6.bb index 05fba67..b27115b 100644 --- a/meta/recipes-devtools/subversion/subversion_1.9.5.bb +++ b/meta/recipes-devtools/subversion/subversion_1.9.6.bb @@ -17,8 +17,8 @@ SRC_URI = "${APACHE_MIRROR}/${BPN}/${BPN}-${PV}.tar.bz2 \ file://serfmacro.patch \ " -SRC_URI[md5sum] = "9fcbae352a5efe73d46a88c97c6bba14" -SRC_URI[sha256sum] = "8a4fc68aff1d18dcb4dd9e460648d24d9e98657fbed496c582929c6b3ce555e5" +SRC_URI[md5sum] = "f27e00338d4a9f7f9aec9d4a3f8b418b" +SRC_URI[sha256sum] = "dbcbc51fb634082f009121f2cb64350ce32146612787ffb0f7ced351aacaae19" LIC_FILES_CHKSUM = "file://LICENSE;md5=af81ae49ba359e70626c05e9bf313709" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 20 22:14:23 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 20 Jul 2017 22:14:23 +0000 Subject: [oe-commits] [openembedded-core] branch master-next updated (1941dfb -> f6b4ef1) Message-ID: <150058886339.5325.2100375266265402160@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master-next in repository openembedded-core. discard 1941dfb subversion: Upgrade 1.9.5-> 1.9.6 discard 2657141 oeqa/selftest/context: Enable support for threaded runs discard 79d1c3c argparse_oe: Add int_positive type discard cefc664 seltest/cases/devtool: Build dbus on test_devtool_add_git_local discard bae8e76 selftest/cases/devtool{,end}: Move update/finish_{upgrade,modify} tests to its own module discard 9927d2f oeqa/selftest/cases: Move devtool deploy test case to own module discard be91f92 oeqa/selftest/cases: recipetool enable for threaded runs discard 711d1c1 oeqa/selftest/cases: devtool enable threaded runs discard bf0007a oeqa/selftest/cases: eSDK enable threaded runs discard 407d8e4 oeqa/selftest/cases: runtime enable threaded runs discard 64408fa oeqa/selftest/cases: runqemu enable threaded runs discard 46bc866 oeqa/selftest/cases: imagefeatures enable threaded runs discard b2a1f2c oeqa/selftest/cases: Use wrapper methods from OESelfTestCase class and enable threaded runs discard 7948213 oeqa/selftest/cases: Use builddir from class instead of get from environment discard 3f81749 oeqa/selftest/cases: Use testlayer_path instead of call get_test_layer() discard e793f05 oeqa/selftest/case: Support bitbake memres mode in per build directory discard 930297c oeqa/selftest/case: tearDown extra commands print what actually fails discard b9c59dc oeqa/selftest/case: Creates meta-selftest layer per class discard 57d60ed oeqa/selftest/case: Add wrappers to utils.commands modules discard 78ecd9e oeqa/selftest/{case,context}: Add builddir by test class and context discard 7d0c70a oeqa/core/tests: Update test_loader threaded to cover main thread usage discard 678fe6b oeqa/core/threaded: logSummary add skipped tests info discard 5af0e8a oeqa/core/threaded: Add support to run into a thread at end of execution discard 9fe2da0 oeqa/core/threaded: Enable support to use the main thread new c9a5405 argparse_oe: Add int_positive type new f6b4ef1 subversion: Upgrade 1.9.5-> 1.9.6 This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (1941dfb) \ N -- N -- N refs/heads/master-next (f6b4ef1) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: meta/lib/oeqa/core/tests/test_loader.py | 17 +- meta/lib/oeqa/core/threaded.py | 169 +--- meta/lib/oeqa/selftest/case.py | 244 +---- .../lib/oeqa/selftest/cases/_sstatetests_noauto.py | 23 +- meta/lib/oeqa/selftest/cases/archiver.py | 21 +- meta/lib/oeqa/selftest/cases/bblayers.py | 45 +- meta/lib/oeqa/selftest/cases/bbtests.py | 103 +- meta/lib/oeqa/selftest/cases/buildhistory.py | 9 +- meta/lib/oeqa/selftest/cases/buildoptions.py | 58 +- meta/lib/oeqa/selftest/cases/containerimage.py | 9 +- meta/lib/oeqa/selftest/cases/devtool.py | 1065 ++++++++++++++++---- meta/lib/oeqa/selftest/cases/devtool_deploy.py | 93 -- meta/lib/oeqa/selftest/cases/devtool_end.py | 592 ----------- meta/lib/oeqa/selftest/cases/distrodata.py | 7 +- meta/lib/oeqa/selftest/cases/eSDK.py | 64 +- meta/lib/oeqa/selftest/cases/image_typedep.py | 8 +- meta/lib/oeqa/selftest/cases/imagefeatures.py | 86 +- meta/lib/oeqa/selftest/cases/imagefeatures_boot.py | 63 -- meta/lib/oeqa/selftest/cases/layerappend.py | 22 +- meta/lib/oeqa/selftest/cases/liboe.py | 13 +- meta/lib/oeqa/selftest/cases/lic_checksum.py | 8 +- meta/lib/oeqa/selftest/cases/manifest.py | 13 +- meta/lib/oeqa/selftest/cases/oelib/buildhistory.py | 7 +- meta/lib/oeqa/selftest/cases/oescripts.py | 5 +- meta/lib/oeqa/selftest/cases/package.py | 10 +- meta/lib/oeqa/selftest/cases/pkgdata.py | 73 +- meta/lib/oeqa/selftest/cases/prservice.py | 19 +- meta/lib/oeqa/selftest/cases/recipetool.py | 105 +- meta/lib/oeqa/selftest/cases/runqemu.py | 7 +- meta/lib/oeqa/selftest/cases/runtime_test.py | 225 ++++- .../lib/oeqa/selftest/cases/runtime_test_export.py | 104 -- .../oeqa/selftest/cases/runtime_test_postinsts.py | 114 --- meta/lib/oeqa/selftest/cases/selftest.py | 2 - meta/lib/oeqa/selftest/cases/signing.py | 42 +- meta/lib/oeqa/selftest/cases/sstate.py | 5 +- meta/lib/oeqa/selftest/cases/sstatetests.py | 51 +- meta/lib/oeqa/selftest/context.py | 33 +- 37 files changed, 1571 insertions(+), 1963 deletions(-) delete mode 100644 meta/lib/oeqa/selftest/cases/devtool_deploy.py delete mode 100644 meta/lib/oeqa/selftest/cases/devtool_end.py delete mode 100644 meta/lib/oeqa/selftest/cases/imagefeatures_boot.py delete mode 100644 meta/lib/oeqa/selftest/cases/runtime_test_export.py delete mode 100644 meta/lib/oeqa/selftest/cases/runtime_test_postinsts.py -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 07:44:56 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 07:44:56 +0000 Subject: [oe-commits] [openembedded-core] 01/19: conf/sanity: Update minimum bitbake verison to 1.35.0 for server rework In-Reply-To: <150062309520.15100.12047200074013253002@git.openembedded.org> References: <150062309520.15100.12047200074013253002@git.openembedded.org> Message-ID: <20170721074455.7347423361C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit b63fcffe8b6a3f94d4812cd03fb974e173eff3e5 Author: Richard Purdie AuthorDate: Fri Jul 21 08:44:04 2017 +0100 conf/sanity: Update minimum bitbake verison to 1.35.0 for server rework Signed-off-by: Richard Purdie --- meta/conf/sanity.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/conf/sanity.conf b/meta/conf/sanity.conf index 46bdbeb..390d342 100644 --- a/meta/conf/sanity.conf +++ b/meta/conf/sanity.conf @@ -3,7 +3,7 @@ # See sanity.bbclass # # Expert users can confirm their sanity with "touch conf/sanity.conf" -BB_MIN_VERSION = "1.33.4" +BB_MIN_VERSION = "1.35.0" SANITY_ABIFILE = "${TMPDIR}/abi_version" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 07:44:58 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 07:44:58 +0000 Subject: [oe-commits] [openembedded-core] 03/19: classes/staging: change fixme debug message from note to debug In-Reply-To: <150062309520.15100.12047200074013253002@git.openembedded.org> References: <150062309520.15100.12047200074013253002@git.openembedded.org> Message-ID: <20170721074455.89CFD23361E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit bc1a4af950a2600028d89b7dcb4ff8f409b52739 Author: Paul Eggleton AuthorDate: Thu Jul 20 16:48:07 2017 +0200 classes/staging: change fixme debug message from note to debug These messages were added for debugging during the recipe specific sysroot work. They may still be useful but they don't need to be notes - if they are they show up in recipetool / devtool output when fetching source. (From OE-Core rev: a0e93d5c5dcf59d1898a3db727a5ab2d75e3d20e) Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- meta/classes/staging.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/classes/staging.bbclass b/meta/classes/staging.bbclass index 8f470d5..162c8e9 100644 --- a/meta/classes/staging.bbclass +++ b/meta/classes/staging.bbclass @@ -170,7 +170,7 @@ def staging_processfixme(fixme, target, recipesysroot, recipesysrootnative, d): for fixmevar in ['COMPONENTS_DIR', 'HOSTTOOLS_DIR', 'PKGDATA_DIR']: fixme_path = d.getVar(fixmevar) cmd += " -e 's:FIXME_%s:%s:g'" % (fixmevar, fixme_path) - bb.note(cmd) + bb.debug(2, cmd) subprocess.check_output(cmd, shell=True) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 07:44:57 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 07:44:57 +0000 Subject: [oe-commits] [openembedded-core] 02/19: oe-init-build-env-memres: Drop it In-Reply-To: <150062309520.15100.12047200074013253002@git.openembedded.org> References: <150062309520.15100.12047200074013253002@git.openembedded.org> Message-ID: <20170721074455.7E07A23361D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit a17724d687f9c04dc21f2f369da2b492f7119ba0 Author: Richard Purdie AuthorDate: Tue Jul 18 22:52:07 2017 +0100 oe-init-build-env-memres: Drop it With the new server structure we no longer need this separate environment init script. Just set BB_SERVER_TIMEOUT to be greater than zero and bitbake will remain in memory and the UI will auto-reconnect to it. Also clean out the old shutdown code from oe-init-build-env which also doesn't make sense now. Signed-off-by: Richard Purdie --- meta/classes/populate_sdk_ext.bbclass | 1 - oe-init-build-env | 8 ---- oe-init-build-env-memres | 90 ----------------------------------- scripts/oe-buildenv-internal | 3 +- 4 files changed, 1 insertion(+), 101 deletions(-) diff --git a/meta/classes/populate_sdk_ext.bbclass b/meta/classes/populate_sdk_ext.bbclass index 4791d74..e31ee37 100644 --- a/meta/classes/populate_sdk_ext.bbclass +++ b/meta/classes/populate_sdk_ext.bbclass @@ -69,7 +69,6 @@ OE_INIT_ENV_SCRIPT ?= "oe-init-build-env" # COREBASE be preserved as well as untracked files. COREBASE_FILES ?= " \ oe-init-build-env \ - oe-init-build-env-memres \ scripts \ LICENSE \ .templateconf \ diff --git a/oe-init-build-env b/oe-init-build-env index 5fe68d1..e813230 100755 --- a/oe-init-build-env +++ b/oe-init-build-env @@ -57,11 +57,3 @@ unset OEROOT [ -z "$BUILDDIR" ] || cd "$BUILDDIR" -# Shutdown any bitbake server if the BBSERVER variable is not set -if [ -z "$BBSERVER" ] && [ -f bitbake.lock ]; then - grep ":" bitbake.lock > /dev/null && BBSERVER=$(cat bitbake.lock) bitbake --status-only - if [ $? = 0 ]; then - echo "Shutting down bitbake memory resident server with bitbake -m" - BBSERVER=$(cat bitbake.lock) bitbake -m - fi -fi diff --git a/oe-init-build-env-memres b/oe-init-build-env-memres deleted file mode 100755 index 3f0d239..0000000 --- a/oe-init-build-env-memres +++ /dev/null @@ -1,90 +0,0 @@ -#!/bin/sh - -# OE Build Environment Setup Script -# -# Copyright (C) 2006-2011 Linux Foundation -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -# -# Normally this is called as '. ./oe-init-build-env-memres [portnumber]' -# -# This works in most shells (not dash), but not all of them pass the arguments -# when being sourced. To workaround the shell limitation use "set -# [portnumber]" prior to sourcing this script. -# -if [ -z "$2" ]; then - echo "No port specified, using dynamically selected port" - port=-1 -else - port=$2 - set -- "$1" "$3" "$4" "$5" "$6" -fi - -if [ -n "$BASH_SOURCE" ]; then - THIS_SCRIPT=$BASH_SOURCE -elif [ -n "$ZSH_NAME" ]; then - THIS_SCRIPT=$0 -else - THIS_SCRIPT="$(pwd)/oe-init-build-env" -fi -if [ -n "$BBSERVER" ]; then - unset BBSERVER -fi - -if [ -z "$ZSH_NAME" ] && [ "$0" = "$THIS_SCRIPT" ]; then - echo "Error: This script needs to be sourced. Please run as '. $THIS_SCRIPT'" - exit 1 -fi - -if [ -z "$OEROOT" ]; then - OEROOT=$(dirname "$THIS_SCRIPT") - OEROOT=$(readlink -f "$OEROOT") -fi -unset THIS_SCRIPT - -export OEROOT -. $OEROOT/scripts/oe-buildenv-internal && - TEMPLATECONF="$TEMPLATECONF" $OEROOT/scripts/oe-setup-builddir || { - unset OEROOT - return 1 -} -unset OEROOT - -[ -z "$BUILDDIR" ] || cd "$BUILDDIR" - -res=1 -if [ -e bitbake.lock ] && grep : bitbake.lock > /dev/null; then - BBSERVER=$(cat bitbake.lock) bitbake --status-only - res=$? -fi - -if [ $res != 0 ]; then - bitbake --server-only -t xmlrpc -B localhost:$port -fi - -if [ $port = -1 ]; then - export BBSERVER=localhost:-1 - echo "Bitbake server started on demand as needed, use bitbake -m to shut it down" -else - export BBSERVER=$(cat bitbake.lock) - - if [ $res = 0 ]; then - echo "Using existing bitbake server at: $BBSERVER, use bitbake -m to shut it down" - else - echo "Bitbake server started at: $BBSERVER, use bitbake -m to shut it down" - fi -fi -unset port res diff --git a/scripts/oe-buildenv-internal b/scripts/oe-buildenv-internal index c890552..e6cd141 100755 --- a/scripts/oe-buildenv-internal +++ b/scripts/oe-buildenv-internal @@ -24,8 +24,7 @@ if ! $(return >/dev/null 2>&1) ; then echo 'Usage: . $OEROOT/scripts/oe-buildenv-internal &&' echo '' echo 'OpenEmbedded oe-buildenv-internal - an internal script that is' - echo 'used in oe-init-build-env and oe-init-build-env-memres to' - echo 'initialize oe build environment' + echo 'used in oe-init-build-env to initialize oe build environment' echo '' exit 2 fi -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 07:44:59 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 07:44:59 +0000 Subject: [oe-commits] [openembedded-core] 04/19: devtool: extract: refactor kern-tools-native handling In-Reply-To: <150062309520.15100.12047200074013253002@git.openembedded.org> References: <150062309520.15100.12047200074013253002@git.openembedded.org> Message-ID: <20170721074455.9097F23361F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 5c7f5031023fb74b5f2f26d6b3c829981f2f54d2 Author: Paul Eggleton AuthorDate: Thu Jul 20 16:48:08 2017 +0200 devtool: extract: refactor kern-tools-native handling When extracting linux-yocto kernel source, we don't need to dance around shutting down and starting up tinfoil anymore, we can just execute the tasks as needed when needed using tinfoil's new build_targets() function. This allows us to tidy up the code structure a bit. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- scripts/lib/devtool/standard.py | 37 +++++-------------------------------- 1 file changed, 5 insertions(+), 32 deletions(-) diff --git a/scripts/lib/devtool/standard.py b/scripts/lib/devtool/standard.py index 7e342e7..0104e67 100644 --- a/scripts/lib/devtool/standard.py +++ b/scripts/lib/devtool/standard.py @@ -383,7 +383,7 @@ def extract(args, config, basepath, workspace): """Entry point for the devtool 'extract' subcommand""" import bb - tinfoil = _prep_extract_operation(config, basepath, args.recipename) + tinfoil = setup_tinfoil(basepath=basepath) if not tinfoil: # Error already shown return 1 @@ -407,7 +407,7 @@ def sync(args, config, basepath, workspace): """Entry point for the devtool 'sync' subcommand""" import bb - tinfoil = _prep_extract_operation(config, basepath, args.recipename) + tinfoil = setup_tinfoil(basepath=basepath) if not tinfoil: # Error already shown return 1 @@ -428,29 +428,6 @@ def sync(args, config, basepath, workspace): tinfoil.shutdown() -def _prep_extract_operation(config, basepath, recipename, tinfoil=None): - """HACK: Ugly workaround for making sure that requirements are met when - trying to extract a package. Returns the tinfoil instance to be used.""" - if not tinfoil: - tinfoil = setup_tinfoil(basepath=basepath) - - rd = parse_recipe(config, tinfoil, recipename, True) - if not rd: - tinfoil.shutdown() - return None - - if bb.data.inherits_class('kernel-yocto', rd): - tinfoil.shutdown() - try: - stdout, _ = exec_build_env_command(config.init_path, basepath, - 'bitbake kern-tools-native') - tinfoil = setup_tinfoil(basepath=basepath) - except bb.process.ExecutionError as err: - raise DevtoolError("Failed to build kern-tools-native:\n%s" % - err.stdout) - return tinfoil - - def _extract_source(srctree, keep_temp, devbranch, sync, d, tinfoil): """Extract sources of a recipe""" import oe.recipeutils @@ -475,6 +452,9 @@ def _extract_source(srctree, keep_temp, devbranch, sync, d, tinfoil): raise DevtoolError("The %s recipe has do_unpack disabled, unable to " "extract source" % pn, 4) + if bb.data.inherits_class('kernel-yocto', d): + tinfoil.build_targets('kern-tools-native') + if not sync: # Prepare for shutil.move later on bb.utils.mkdirhier(srctree) @@ -773,13 +753,6 @@ def modify(args, config, basepath, workspace): raise DevtoolError("--no-extract specified and source path %s does " "not exist or is not a directory" % srctree) - if not args.no_extract: - tinfoil = _prep_extract_operation(config, basepath, pn, tinfoil) - if not tinfoil: - # Error already shown - return 1 - # We need to re-parse because tinfoil may have been re-initialised - rd = parse_recipe(config, tinfoil, args.recipename, True) recipefile = rd.getVar('FILE') appendfile = recipe_to_append(recipefile, config, args.wildcard) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 07:44:55 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 07:44:55 +0000 Subject: [oe-commits] [openembedded-core] branch master updated (c4c2fb3 -> 5212d88) Message-ID: <150062309520.15100.12047200074013253002@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master in repository openembedded-core. from c4c2fb3 libgcrypt: upgrade to 1.7.8 new b63fcff conf/sanity: Update minimum bitbake verison to 1.35.0 for server rework new a17724d oe-init-build-env-memres: Drop it new bc1a4af classes/staging: change fixme debug message from note to debug new 5c7f503 devtool: extract: refactor kern-tools-native handling new 8496113 recipetool: create: ensure meaningful error for malformed tarballs new be45e9b recipetool: create: eliminate second fetch for packages new 9a47a66 recipetool: create: reimplement fetching with normal fetch/unpack tasks new 2f31f17 classes/base: set do_unpack dependencies for rpm files new 8450de1 recipetool: create: refactor code for ensuring npm is available new 39c1bf1 oe-pkgdata-util: Setup logging before calling prepare new 3c479fb devtool: Setup logging before calling prepare new e124eb7 recipetool: Setup logging before calling prepare new 68009f4 oeqa/eSDK: Ignore errors during directory cleanup new b4740d2 oeqa/core/loader: Generate function _make_failed_test dynamically new 7281c99 selftest/cases/package: Call parent setUpClass method new 9419c81 oeqa/selftest/{context,case}: Handle KeyboardInterrupt/SIGINT and SIGTERM new 33634b4 oe/copy_buildsystem: check_sstate_task_list also pop BBPATH from env new 3ef5b51 argparse_oe: Add int_positive type new 5212d88 subversion: Upgrade 1.9.5-> 1.9.6 The 19 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: meta/classes/base.bbclass | 4 +- meta/classes/populate_sdk_ext.bbclass | 1 - meta/classes/staging.bbclass | 2 +- meta/conf/sanity.conf | 2 +- meta/lib/oe/copy_buildsystem.py | 1 + meta/lib/oeqa/core/loader.py | 25 ++-- meta/lib/oeqa/selftest/case.py | 36 +++-- meta/lib/oeqa/selftest/cases/eSDK.py | 2 +- meta/lib/oeqa/selftest/cases/package.py | 2 + meta/lib/oeqa/selftest/context.py | 107 ++++++++++---- .../{subversion_1.9.5.bb => subversion_1.9.6.bb} | 4 +- oe-init-build-env | 8 -- oe-init-build-env-memres | 90 ------------ scripts/lib/argparse_oe.py | 7 + scripts/lib/devtool/__init__.py | 33 +---- scripts/lib/devtool/standard.py | 71 ++------- scripts/lib/devtool/upgrade.py | 10 +- scripts/lib/recipetool/create.py | 102 ++++++------- scripts/lib/recipetool/create_npm.py | 37 ++++- scripts/lib/scriptutils.py | 158 ++++++++++++++++----- scripts/oe-buildenv-internal | 3 +- scripts/oe-pkgdata-util | 3 +- scripts/recipetool | 2 +- 23 files changed, 345 insertions(+), 365 deletions(-) rename meta/recipes-devtools/subversion/{subversion_1.9.5.bb => subversion_1.9.6.bb} (96%) delete mode 100755 oe-init-build-env-memres -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 07:45:03 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 07:45:03 +0000 Subject: [oe-commits] [openembedded-core] 08/19: classes/base: set do_unpack dependencies for rpm files In-Reply-To: <150062309520.15100.12047200074013253002@git.openembedded.org> References: <150062309520.15100.12047200074013253002@git.openembedded.org> Message-ID: <20170721074455.B06CB233623@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 2f31f1795bc0c85b1646bc7d9596bbe778cb84e5 Author: Paul Eggleton AuthorDate: Thu Jul 20 16:48:12 2017 +0200 classes/base: set do_unpack dependencies for rpm files If we're unpacking any rpm (not just .src.rpm) then we'll need to call rpm2cpio.sh. As of OE-Core rev a7da1aade118d1ccf1b286f82556cd9f706bd2a4 that script no longer uses file-native, but there is a chance that the rpm file will be compressed internally using xz (for example, rpms from Fedora) and therefore the script will need xzcat provided xz-native. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- meta/classes/base.bbclass | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass index 27a28b8..9c40e01 100644 --- a/meta/classes/base.bbclass +++ b/meta/classes/base.bbclass @@ -632,8 +632,8 @@ python () { d.appendVarFlag('do_unpack', 'depends', ' unzip-native:do_populate_sysroot') # file is needed by rpm2cpio.sh - elif path.endswith('.src.rpm'): - d.appendVarFlag('do_unpack', 'depends', ' file-native:do_populate_sysroot') + elif path.endswith('.rpm'): + d.appendVarFlag('do_unpack', 'depends', ' xz-native:do_populate_sysroot') if needsrcrev: d.setVar("SRCPV", "${@bb.fetch2.get_srcrev(d)}") -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 07:45:05 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 07:45:05 +0000 Subject: [oe-commits] [openembedded-core] 10/19: oe-pkgdata-util: Setup logging before calling prepare In-Reply-To: <150062309520.15100.12047200074013253002@git.openembedded.org> References: <150062309520.15100.12047200074013253002@git.openembedded.org> Message-ID: <20170721074455.C1627233625@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 39c1bf1feccc8dca57160a1e3cd8a50e8c30ef02 Author: Richard Purdie AuthorDate: Wed Jul 19 15:24:39 2017 +0100 oe-pkgdata-util: Setup logging before calling prepare This avoids test failures like: INFO - ====================================================================== INFO - FAIL [1.046s]: test_find_path (pkgdata.OePkgdataUtilTests) INFO - ---------------------------------------------------------------------- INFO - Traceback (most recent call last): File "/media/build1/poky/meta/lib/oeqa/core/decorator/__init__.py", line 32, in wrapped_f return func(*args, **kwargs) File "/media/build1/poky/meta/lib/oeqa/selftest/cases/pkgdata.py", line 50, in test_find_path self.assertEqual(result.output, 'zlib: /lib/libz.so.1') AssertionError: 'NOTE: Starting bitbake server...\nzlib: /lib/libz.so.1' != 'zlib: /lib/libz.so.1' - NOTE: Starting bitbake server... zlib: /lib/libz.so.1 INFO - ---------------------------------------------------------------------- since there is corruption in the output. Setting the logging up before calling tinfoil.prepare() resolves this. Signed-off-by: Richard Purdie --- scripts/oe-pkgdata-util | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/scripts/oe-pkgdata-util b/scripts/oe-pkgdata-util index 677effe..a690870 100755 --- a/scripts/oe-pkgdata-util +++ b/scripts/oe-pkgdata-util @@ -40,9 +40,8 @@ def tinfoil_init(): import bb.tinfoil import logging tinfoil = bb.tinfoil.Tinfoil() - tinfoil.prepare(True) - tinfoil.logger.setLevel(logging.WARNING) + tinfoil.prepare(True) return tinfoil -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 07:45:02 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 07:45:02 +0000 Subject: [oe-commits] [openembedded-core] 07/19: recipetool: create: reimplement fetching with normal fetch/unpack tasks In-Reply-To: <150062309520.15100.12047200074013253002@git.openembedded.org> References: <150062309520.15100.12047200074013253002@git.openembedded.org> Message-ID: <20170721074455.A8ED3233622@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 9a47a6690052ef943c0d4760630ee630fb012153 Author: Paul Eggleton AuthorDate: Thu Jul 20 16:48:11 2017 +0200 recipetool: create: reimplement fetching with normal fetch/unpack tasks Now that we have the ability to run the tasks in a more standard context through tinfoil, change recipetool's fetching code to use that to fetch files using it. This has the major advantage that any dependencies of do_fetch and do_unpack (e.g. for subversion or npm) will be handled automatically. This also has the beneficial side-effect of fixing a recent regression that prevented this fetch operation from working with memory resident bitbake. Also fix devtool's usage of fetch_uri() at the same time so that we can completely replace it. Fixes [YOCTO #11710]. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- scripts/lib/devtool/upgrade.py | 10 ++- scripts/lib/recipetool/create.py | 40 ++++----- scripts/lib/recipetool/create_npm.py | 10 +-- scripts/lib/scriptutils.py | 158 ++++++++++++++++++++++++++--------- 4 files changed, 153 insertions(+), 65 deletions(-) diff --git a/scripts/lib/devtool/upgrade.py b/scripts/lib/devtool/upgrade.py index 05fb9e5..f077f37 100644 --- a/scripts/lib/devtool/upgrade.py +++ b/scripts/lib/devtool/upgrade.py @@ -207,10 +207,16 @@ def _extract_new_source(newpv, srctree, no_patch, srcrev, branch, keep_temp, tin tmpdir = tempfile.mkdtemp(prefix='devtool') try: - md5, sha256 = scriptutils.fetch_uri(tinfoil.config_data, uri, tmpdir, rev) - except bb.fetch2.FetchError as e: + checksums, ftmpdir = scriptutils.fetch_url(tinfoil, uri, rev, tmpdir, logger, preserve_tmp=keep_temp) + except scriptutils.FetchUrlFailure as e: raise DevtoolError(e) + if ftmpdir and keep_temp: + logger.info('Fetch temp directory is %s' % ftmpdir) + + md5 = checksums['md5sum'] + sha256 = checksums['sha256sum'] + tmpsrctree = _get_srctree(tmpdir) srctree = os.path.abspath(srctree) diff --git a/scripts/lib/recipetool/create.py b/scripts/lib/recipetool/create.py index 2b7cc76..2a6a28b 100644 --- a/scripts/lib/recipetool/create.py +++ b/scripts/lib/recipetool/create.py @@ -417,7 +417,7 @@ def create_recipe(args): pkgarch = "${MACHINE_ARCH}" extravalues = {} - checksums = (None, None) + checksums = {} tempsrc = '' source = args.source srcsubdir = '' @@ -439,22 +439,25 @@ def create_recipe(args): if res: srcrev = res.group(1) srcuri = rev_re.sub('', srcuri) - tempsrc = tempfile.mkdtemp(prefix='recipetool-') - srctree = tempsrc - d = bb.data.createCopy(tinfoil.config_data) - if fetchuri.startswith('npm://'): - # Check if npm is available - npm_bindir = check_npm(tinfoil, args.devtool) - d.prependVar('PATH', '%s:' % npm_bindir) - logger.info('Fetching %s...' % srcuri) + + tmpparent = tinfoil.config_data.getVar('BASE_WORKDIR') + bb.utils.mkdirhier(tmpparent) + tempsrc = tempfile.mkdtemp(prefix='recipetool-', dir=tmpparent) + srctree = os.path.join(tempsrc, 'source') + try: - checksums = scriptutils.fetch_uri(d, fetchuri, srctree, srcrev) - except bb.fetch2.BBFetchException as e: - logger.error(str(e).rstrip()) + checksums, ftmpdir = scriptutils.fetch_url(tinfoil, srcuri, srcrev, srctree, logger, preserve_tmp=args.keep_temp) + except scriptutils.FetchUrlFailure as e: + logger.error(str(e)) sys.exit(1) + + if ftmpdir and args.keep_temp: + logger.info('Fetch temp directory is %s' % ftmpdir) + dirlist = os.listdir(srctree) - if 'git.indirectionsymlink' in dirlist: - dirlist.remove('git.indirectionsymlink') + filterout = ['git.indirectionsymlink'] + dirlist = [x for x in dirlist if x not in filterout] + logger.debug('Directory listing (excluding filtered out):\n %s' % '\n '.join(dirlist)) if len(dirlist) == 1: singleitem = os.path.join(srctree, dirlist[0]) if os.path.isdir(singleitem): @@ -465,7 +468,7 @@ def create_recipe(args): check_single_file(dirlist[0], fetchuri) elif len(dirlist) == 0: if '/' in fetchuri: - fn = os.path.join(d.getVar('DL_DIR'), fetchuri.split('/')[-1]) + fn = os.path.join(tinfoil.config_data.getVar('DL_DIR'), fetchuri.split('/')[-1]) if os.path.isfile(fn): check_single_file(fn, fetchuri) # If we've got to here then there's no source so we might as well give up @@ -593,11 +596,8 @@ def create_recipe(args): if not srcuri: lines_before.append('# No information for SRC_URI yet (only an external source tree was specified)') lines_before.append('SRC_URI = "%s"' % srcuri) - (md5value, sha256value) = checksums - if md5value: - lines_before.append('SRC_URI[md5sum] = "%s"' % md5value) - if sha256value: - lines_before.append('SRC_URI[sha256sum] = "%s"' % sha256value) + for key, value in sorted(checksums.items()): + lines_before.append('SRC_URI[%s] = "%s"' % (key, value)) if srcuri and supports_srcrev(srcuri): lines_before.append('') lines_before.append('# Modify these as desired') diff --git a/scripts/lib/recipetool/create_npm.py b/scripts/lib/recipetool/create_npm.py index cb8f338..ba7e39a 100644 --- a/scripts/lib/recipetool/create_npm.py +++ b/scripts/lib/recipetool/create_npm.py @@ -109,7 +109,6 @@ class NpmRecipeHandler(RecipeHandler): if varname == 'SRC_URI': if not origvalue.startswith('npm://'): src_uri = origvalue.split() - changed = False deplist = {} for dep, depver in optdeps.items(): depdata = self.get_npm_data(dep, depver, d) @@ -123,14 +122,15 @@ class NpmRecipeHandler(RecipeHandler): depdata = self.get_npm_data(dep, depver, d) deplist[dep] = depdata + extra_urls = [] for dep, depdata in deplist.items(): version = depdata.get('version', None) if version: url = 'npm://registry.npmjs.org;name=%s;version=%s;subdir=node_modules/%s' % (dep, version, dep) - scriptutils.fetch_uri(d, url, srctree) - src_uri.append(url) - changed = True - if changed: + extra_urls.append(url) + if extra_urls: + scriptutils.fetch_url(tinfoil, ' '.join(extra_urls), None, srctree, logger) + src_uri.extend(extra_urls) return src_uri, None, -1, True return origvalue, None, 0, True updated, newlines = bb.utils.edit_metadata(lines_before, ['SRC_URI'], varfunc) diff --git a/scripts/lib/scriptutils.py b/scripts/lib/scriptutils.py index 92b601c..1005dd4 100644 --- a/scripts/lib/scriptutils.py +++ b/scripts/lib/scriptutils.py @@ -23,6 +23,8 @@ import argparse import subprocess import tempfile import shutil +import random +import string def logger_create(name, stream=None): logger = logging.getLogger(name) @@ -78,50 +80,130 @@ def git_convert_standalone_clone(repodir): bb.process.run('git repack -a', cwd=repodir) os.remove(alternatesfile) -def fetch_uri(d, uri, destdir, srcrev=None): - """Fetch a URI to a local directory""" +def _get_temp_recipe_dir(d): + # This is a little bit hacky but we need to find a place where we can put + # the recipe so that bitbake can find it. We're going to delete it at the + # end so it doesn't really matter where we put it. + bbfiles = d.getVar('BBFILES').split() + fetchrecipedir = None + for pth in bbfiles: + if pth.endswith('.bb'): + pthdir = os.path.dirname(pth) + if os.access(os.path.dirname(os.path.dirname(pthdir)), os.W_OK): + fetchrecipedir = pthdir.replace('*', 'recipetool') + if pthdir.endswith('workspace/recipes/*'): + # Prefer the workspace + break + return fetchrecipedir + +class FetchUrlFailure(Exception): + def __init__(self, url): + self.url = url + def __str__(self): + return "Failed to fetch URL %s" % self.url + +def fetch_url(tinfoil, srcuri, srcrev, destdir, logger, preserve_tmp=False): + """ + Fetch the specified URL using normal do_fetch and do_unpack tasks, i.e. + any dependencies that need to be satisfied in order to support the fetch + operation will be taken care of + """ + import bb - tmpparent = d.getVar('BASE_WORKDIR') + + checksums = {} + fetchrecipepn = None + + # We need to put our temp directory under ${BASE_WORKDIR} otherwise + # we may have problems with the recipe-specific sysroot population + tmpparent = tinfoil.config_data.getVar('BASE_WORKDIR') bb.utils.mkdirhier(tmpparent) - tmpworkdir = tempfile.mkdtemp(dir=tmpparent) + tmpdir = tempfile.mkdtemp(prefix='recipetool-', dir=tmpparent) try: - bb.utils.mkdirhier(destdir) - localdata = bb.data.createCopy(d) - - # Set some values to allow extend_recipe_sysroot to work here we're we are not running from a task - localdata.setVar('WORKDIR', tmpworkdir) - localdata.setVar('BB_RUNTASK', 'do_fetch') - localdata.setVar('PN', 'dummy') - localdata.setVar('BB_LIMITEDDEPS', '1') - bb.build.exec_func("extend_recipe_sysroot", localdata) - - # Set some values for the benefit of the fetcher code - localdata.setVar('BB_STRICT_CHECKSUM', '') - localdata.setVar('SRCREV', srcrev) - ret = (None, None) - olddir = os.getcwd() + tmpworkdir = os.path.join(tmpdir, 'work') + logger.debug('fetch_url: temp dir is %s' % tmpdir) + + fetchrecipedir = _get_temp_recipe_dir(tinfoil.config_data) + if not fetchrecipedir: + logger.error('Searched BBFILES but unable to find a writeable place to put temporary recipe') + sys.exit(1) + fetchrecipe = None + bb.utils.mkdirhier(fetchrecipedir) try: - fetcher = bb.fetch2.Fetch([uri], localdata) - for u in fetcher.ud: - ud = fetcher.ud[u] - ud.ignore_checksums = True - fetcher.download() - for u in fetcher.ud: - ud = fetcher.ud[u] - if ud.localpath.rstrip(os.sep) == localdata.getVar('DL_DIR').rstrip(os.sep): - raise Exception('Local path is download directory - please check that the URI "%s" is correct' % uri) - fetcher.unpack(destdir) - for u in fetcher.ud: - ud = fetcher.ud[u] - if ud.method.recommends_checksum(ud): - md5value = bb.utils.md5_file(ud.localpath) - sha256value = bb.utils.sha256_file(ud.localpath) - ret = (md5value, sha256value) + # Generate a dummy recipe so we can follow more or less normal paths + # for do_fetch and do_unpack + # I'd use tempfile functions here but underscores can be produced by that and those + # aren't allowed in recipe file names except to separate the version + rndstring = ''.join(random.choice(string.ascii_uppercase + string.digits) for _ in range(8)) + fetchrecipe = os.path.join(fetchrecipedir, 'tmp-recipetool-%s.bb' % rndstring) + fetchrecipepn = os.path.splitext(os.path.basename(fetchrecipe))[0] + logger.debug('Generating initial recipe %s for fetching' % fetchrecipe) + with open(fetchrecipe, 'w') as f: + # We don't want to have to specify LIC_FILES_CHKSUM + f.write('LICENSE = "CLOSED"\n') + # We don't need the cross-compiler + f.write('INHIBIT_DEFAULT_DEPS = "1"\n') + # We don't have the checksums yet so we can't require them + f.write('BB_STRICT_CHECKSUM = "ignore"\n') + f.write('SRC_URI = "%s"\n' % srcuri) + f.write('SRCREV = "%s"\n' % srcrev) + f.write('WORKDIR = "%s"\n' % tmpworkdir) + # Set S out of the way so it doesn't get created under the workdir + f.write('S = "%s"\n' % os.path.join(tmpdir, 'emptysrc')) + + logger.info('Fetching %s...' % srcuri) + + # FIXME this is too noisy at the moment + + # Parse recipes so our new recipe gets picked up + tinfoil.parse_recipes() + + def eventhandler(event): + if isinstance(event, bb.fetch2.MissingChecksumEvent): + checksums.update(event.checksums) + return True + return False + + # Run the fetch + unpack tasks + res = tinfoil.build_targets(fetchrecipepn, + 'do_unpack', + handle_events=True, + extra_events=['bb.fetch2.MissingChecksumEvent'], + event_callback=eventhandler) + if not res: + raise FetchUrlFailure(srcuri) + + # Remove unneeded directories + rd = tinfoil.parse_recipe(fetchrecipepn) + if rd: + pathvars = ['T', 'RECIPE_SYSROOT', 'RECIPE_SYSROOT_NATIVE'] + for pathvar in pathvars: + path = rd.getVar(pathvar) + shutil.rmtree(path) finally: - os.chdir(olddir) + if fetchrecipe: + try: + os.remove(fetchrecipe) + except FileNotFoundError: + pass + try: + os.rmdir(fetchrecipedir) + except OSError as e: + import errno + if e.errno != errno.ENOTEMPTY: + raise + + bb.utils.mkdirhier(destdir) + for fn in os.listdir(tmpworkdir): + shutil.move(os.path.join(tmpworkdir, fn), destdir) + finally: - shutil.rmtree(tmpworkdir) - return ret + if not preserve_tmp: + shutil.rmtree(tmpdir) + tmpdir = None + + return checksums, tmpdir + def run_editor(fn): if isinstance(fn, str): -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 07:45:01 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 07:45:01 +0000 Subject: [oe-commits] [openembedded-core] 06/19: recipetool: create: eliminate second fetch for packages In-Reply-To: <150062309520.15100.12047200074013253002@git.openembedded.org> References: <150062309520.15100.12047200074013253002@git.openembedded.org> Message-ID: <20170721074455.9F1C7233621@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit be45e9b17e9dbc8c2594d3a939be377ab0720a7c Author: Paul Eggleton AuthorDate: Thu Jul 20 16:48:10 2017 +0200 recipetool: create: eliminate second fetch for packages When dealing with package files (.rpm, .ipk etc.) we need to unpack them ourselves to get the metadata, which is thrown away when the fetcher unpacks them. However, since we've already fetched the file once, I'm not sure as to why I thought I needed to fetch it again - we can just get the local path and then unpack it directly. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- scripts/lib/recipetool/create.py | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/scripts/lib/recipetool/create.py b/scripts/lib/recipetool/create.py index 923c336..2b7cc76 100644 --- a/scripts/lib/recipetool/create.py +++ b/scripts/lib/recipetool/create.py @@ -478,20 +478,11 @@ def create_recipe(args): bb.process.run('git submodule update --init --recursive', cwd=srctree) if is_package(fetchuri): - tmpfdir = tempfile.mkdtemp(prefix='recipetool-') - try: - pkgfile = None + localdata = bb.data.createCopy(tinfoil.config_data) + pkgfile = bb.fetch2.localpath(fetchuri, localdata) + if pkgfile: + tmpfdir = tempfile.mkdtemp(prefix='recipetool-') try: - fileuri = fetchuri + ';unpack=0' - scriptutils.fetch_uri(tinfoil.config_data, fileuri, tmpfdir, srcrev) - for root, _, files in os.walk(tmpfdir): - for f in files: - pkgfile = os.path.join(root, f) - break - except bb.fetch2.BBFetchException as e: - logger.warn('Second fetch to get metadata failed: %s' % str(e).rstrip()) - - if pkgfile: if pkgfile.endswith(('.deb', '.ipk')): stdout, _ = bb.process.run('ar x %s' % pkgfile, cwd=tmpfdir) stdout, _ = bb.process.run('tar xf control.tar.gz', cwd=tmpfdir) @@ -501,8 +492,8 @@ def create_recipe(args): stdout, _ = bb.process.run('rpm -qp --xml %s > pkginfo.xml' % pkgfile, cwd=tmpfdir) values = convert_rpm_xml(os.path.join(tmpfdir, 'pkginfo.xml')) extravalues.update(values) - finally: - shutil.rmtree(tmpfdir) + finally: + shutil.rmtree(tmpfdir) else: # Assume we're pointing to an existing source tree if args.extract_to: -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 07:45:07 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 07:45:07 +0000 Subject: [oe-commits] [openembedded-core] 12/19: recipetool: Setup logging before calling prepare In-Reply-To: <150062309520.15100.12047200074013253002@git.openembedded.org> References: <150062309520.15100.12047200074013253002@git.openembedded.org> Message-ID: <20170721074455.D00DB233637@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit e124eb73e6a66abbf43dffd82b834e906163614b Author: Richard Purdie AuthorDate: Wed Jul 19 14:45:01 2017 +0100 recipetool: Setup logging before calling prepare This avoids test failures like: ====================================================================== ERROR [0.946s]: test_recipetool_load_plugin (recipetool.RecipetoolTests) INFO - ---------------------------------------------------------------------- INFO - Traceback (most recent call last): File "/media/build1/poky/meta/lib/oeqa/core/decorator/__init__.py", line 32, in wrapped_f return func(*args, **kwargs) File "/media/build1/poky/meta/lib/oeqa/selftest/cases/recipetool.py", line 514, in test_recipetool_load_plugin with open(srcfile) as fh: FileNotFoundError: [Errno 2] No such file or directory: 'NOTE: Starting bitbake server...\n/media/build1/poky/meta-selftest/lib/recipetool/bbpath.py' INFO - ---------------------------------------------------------------------- which comes from: $ recipetool --quiet pluginfile NOTE: Starting bitbake server... /media/build1/poky/meta-selftest/lib/recipetool/bbpath.py since there is corruption in the output despite the --quiet option. Setting the logging up before calling tinfoil.prepare() resolves this. Signed-off-by: Richard Purdie --- scripts/recipetool | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/recipetool b/scripts/recipetool index 3765ec7..3a3c9b7 100755 --- a/scripts/recipetool +++ b/scripts/recipetool @@ -36,8 +36,8 @@ def tinfoil_init(parserecipes): import bb.tinfoil import logging tinfoil = bb.tinfoil.Tinfoil(tracking=True) - tinfoil.prepare(not parserecipes) tinfoil.logger.setLevel(logger.getEffectiveLevel()) + tinfoil.prepare(not parserecipes) return tinfoil def main(): -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 07:45:00 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 07:45:00 +0000 Subject: [oe-commits] [openembedded-core] 05/19: recipetool: create: ensure meaningful error for malformed tarballs In-Reply-To: <150062309520.15100.12047200074013253002@git.openembedded.org> References: <150062309520.15100.12047200074013253002@git.openembedded.org> Message-ID: <20170721074455.985FD233620@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 8496113b63d5a5d1f99056610c0fdb972a6200d4 Author: Paul Eggleton AuthorDate: Thu Jul 20 16:48:09 2017 +0200 recipetool: create: ensure meaningful error for malformed tarballs If you pointed recipetool at a URL that should be a tarball e.g. https://tls.mbed.org/download/start/mbedtls-2.4.2-apache.tgz but instead it returns an HTML page, we try to unpack it, gzip complains but the operation doesn't seem to fail - instead we just get back an empty source tree. Change the checks to account for this - if the source tree is empty, check if the downloaded file in DL_DIR looks like an HTML file and error accordingly if it is. If it's not, error out anyway because no source was unpacked and it should have been (otherwise we just blindly set up EXTERNALSRC for this which is pointless). Fixes an aspect of [YOCTO #11407]. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- scripts/lib/recipetool/create.py | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/scripts/lib/recipetool/create.py b/scripts/lib/recipetool/create.py index 8e63580..923c336 100644 --- a/scripts/lib/recipetool/create.py +++ b/scripts/lib/recipetool/create.py @@ -462,10 +462,16 @@ def create_recipe(args): srcsubdir = dirlist[0] srctree = os.path.join(srctree, srcsubdir) else: - with open(singleitem, 'r', errors='surrogateescape') as f: - if ' References: <150062309520.15100.12047200074013253002@git.openembedded.org> Message-ID: <20170721074455.C8C94233636@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 3c479fb17ae4d3e7e5f0889af0f68257ef66475c Author: Richard Purdie AuthorDate: Wed Jul 19 15:18:44 2017 +0100 devtool: Setup logging before calling prepare This avoids test failures like: INFO - ====================================================================== INFO - FAIL [1.755s]: test_devtool_layer_plugins (devtool.DevtoolTests) INFO - ---------------------------------------------------------------------- INFO - Traceback (most recent call last): File "/media/build1/poky/meta/lib/oeqa/core/decorator/__init__.py", line 32, in wrapped_f return func(*args, **kwargs) File "/media/build1/poky/meta/lib/oeqa/selftest/cases/devtool.py", line 1354, in test_devtool_layer_plugins self.assertEqual(result.output, s[::-1]) AssertionError: "NOTE: Starting bitbake server...\noY senu[36 chars]rciM" != "oY senuZ s'enoynA morF tiforP oN edaM tfosorciM" - NOTE: Starting bitbake server... oY senuZ s'enoynA morF tiforP oN edaM tfosorciM INFO - ---------------------------------------------------------------------- since there is corruption in the output. Setting the logging up before calling tinfoil.prepare() resolves this. Signed-off-by: Richard Purdie --- scripts/lib/devtool/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/lib/devtool/__init__.py b/scripts/lib/devtool/__init__.py index bba0721..b231e46 100644 --- a/scripts/lib/devtool/__init__.py +++ b/scripts/lib/devtool/__init__.py @@ -115,8 +115,8 @@ def setup_tinfoil(config_only=False, basepath=None, tracking=False): import bb.tinfoil tinfoil = bb.tinfoil.Tinfoil(tracking=tracking) try: - tinfoil.prepare(config_only) tinfoil.logger.setLevel(logger.getEffectiveLevel()) + tinfoil.prepare(config_only) except bb.tinfoil.TinfoilUIException: tinfoil.shutdown() raise DevtoolError('Failed to start bitbake environment') -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 07:45:08 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 07:45:08 +0000 Subject: [oe-commits] [openembedded-core] 13/19: oeqa/eSDK: Ignore errors during directory cleanup In-Reply-To: <150062309520.15100.12047200074013253002@git.openembedded.org> References: <150062309520.15100.12047200074013253002@git.openembedded.org> Message-ID: <20170721074455.D7E83233638@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 68009f4eb323e07cec8c4421d546bd3125dec033 Author: Richard Purdie AuthorDate: Thu Jul 20 09:38:36 2017 +0100 oeqa/eSDK: Ignore errors during directory cleanup The cleanup can fail with: ERROR [0.000s]: tearDownClass (eSDK.oeSDKExtSelfTest) FileNotFoundError: [Errno 2] No such file or directory: 'bitbake.sock' which is due to bitbake taking a small amount of time to shut down the server. The easiest fix is just to ignore these kinds of errors, bitbake shouldn't create any new files during shutdown. Signed-off-by: Richard Purdie --- meta/lib/oeqa/selftest/cases/eSDK.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/lib/oeqa/selftest/cases/eSDK.py b/meta/lib/oeqa/selftest/cases/eSDK.py index f36c3cc..d03188f 100644 --- a/meta/lib/oeqa/selftest/cases/eSDK.py +++ b/meta/lib/oeqa/selftest/cases/eSDK.py @@ -93,7 +93,7 @@ SSTATE_MIRRORS = "file://.* file://%s/PATH" @classmethod def tearDownClass(cls): - shutil.rmtree(cls.tmpdir_eSDKQA) + shutil.rmtree(cls.tmpdir_eSDKQA, ignore_errors=True) super(oeSDKExtSelfTest, cls).tearDownClass() @OETestID(1602) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 07:45:04 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 07:45:04 +0000 Subject: [oe-commits] [openembedded-core] 09/19: recipetool: create: refactor code for ensuring npm is available In-Reply-To: <150062309520.15100.12047200074013253002@git.openembedded.org> References: <150062309520.15100.12047200074013253002@git.openembedded.org> Message-ID: <20170721074455.B8E7B233624@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 8450de16ddb02d863204b411a94c6d84e0f88817 Author: Paul Eggleton AuthorDate: Thu Jul 20 16:48:13 2017 +0200 recipetool: create: refactor code for ensuring npm is available Across devtool and recipetool we had an ugly set of code for ensuring that we can call an npm binary, and much of that ugliness was a result of not being able to run build tasks when tinfoil was active - if recipetool found that npm was required and we didn't know beforehand (e.g. we're fetching from a plain git repository as opposed to an npm:// URL where it's obvious) then it had to exit and return a special result code, so that devtool knew it needed to build nodejs-native and then call recipetool again. Now that we are using real build tasks to fetch and unpack, we can drop most of this and move the code to the one place where it's still needed (i.e. create_npm where we potentially have to deal with node.js code in a plain source repository). Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- scripts/lib/devtool/__init__.py | 31 ------------------------------- scripts/lib/devtool/standard.py | 34 ++++++++-------------------------- scripts/lib/recipetool/create.py | 21 +-------------------- scripts/lib/recipetool/create_npm.py | 27 +++++++++++++++++++++++++-- 4 files changed, 34 insertions(+), 79 deletions(-) diff --git a/scripts/lib/devtool/__init__.py b/scripts/lib/devtool/__init__.py index 29c4c05..bba0721 100644 --- a/scripts/lib/devtool/__init__.py +++ b/scripts/lib/devtool/__init__.py @@ -261,34 +261,3 @@ def get_bbclassextend_targets(recipefile, pn): targets.append('%s-%s' % (pn, variant)) return targets -def ensure_npm(config, basepath, fixed_setup=False, check_exists=True): - """ - Ensure that npm is available and either build it or show a - reasonable error message - """ - if check_exists: - tinfoil = setup_tinfoil(config_only=False, basepath=basepath) - try: - rd = tinfoil.parse_recipe('nodejs-native') - nativepath = rd.getVar('STAGING_BINDIR_NATIVE') - finally: - tinfoil.shutdown() - npmpath = os.path.join(nativepath, 'npm') - build_npm = not os.path.exists(npmpath) - else: - build_npm = True - - if build_npm: - logger.info('Building nodejs-native') - try: - exec_build_env_command(config.init_path, basepath, - 'bitbake -q nodejs-native -c addto_recipe_sysroot', watch=True) - except bb.process.ExecutionError as e: - if "Nothing PROVIDES 'nodejs-native'" in e.stdout: - if fixed_setup: - msg = 'nodejs-native is required for npm but is not available within this SDK' - else: - msg = 'nodejs-native is required for npm but is not available - you will likely need to add a layer that provides nodejs' - raise DevtoolError(msg) - else: - raise diff --git a/scripts/lib/devtool/standard.py b/scripts/lib/devtool/standard.py index 0104e67..54558ce 100644 --- a/scripts/lib/devtool/standard.py +++ b/scripts/lib/devtool/standard.py @@ -30,7 +30,7 @@ import errno import glob import filecmp from collections import OrderedDict -from devtool import exec_build_env_command, setup_tinfoil, check_workspace_recipe, use_external_build, setup_git_repo, recipe_to_append, get_bbclassextend_targets, ensure_npm, DevtoolError +from devtool import exec_build_env_command, setup_tinfoil, check_workspace_recipe, use_external_build, setup_git_repo, recipe_to_append, get_bbclassextend_targets, DevtoolError from devtool import parse_recipe logger = logging.getLogger('devtool') @@ -128,9 +128,6 @@ def add(args, config, basepath, workspace): color = args.color extracmdopts = '' if args.fetchuri: - if args.fetchuri.startswith('npm://'): - ensure_npm(config, basepath, args.fixed_setup) - source = args.fetchuri if srctree: extracmdopts += ' -x %s' % srctree @@ -155,28 +152,13 @@ def add(args, config, basepath, workspace): tempdir = tempfile.mkdtemp(prefix='devtool') try: - builtnpm = False - while True: - try: - stdout, _ = exec_build_env_command(config.init_path, basepath, 'recipetool --color=%s create --devtool -o %s \'%s\' %s' % (color, tempdir, source, extracmdopts), watch=True) - except bb.process.ExecutionError as e: - if e.exitcode == 14: - if builtnpm: - raise DevtoolError('Re-running recipetool still failed to find npm') - # FIXME this is a horrible hack that is unfortunately - # necessary due to the fact that we can't run bitbake from - # inside recipetool since recipetool keeps tinfoil active - # with references to it throughout the code, so we have - # to exit out and come back here to do it. - ensure_npm(config, basepath, args.fixed_setup, check_exists=False) - logger.info('Re-running recipe creation process after building nodejs') - builtnpm = True - continue - elif e.exitcode == 15: - raise DevtoolError('Could not auto-determine recipe name, please specify it on the command line') - else: - raise DevtoolError('Command \'%s\' failed' % e.command) - break + try: + stdout, _ = exec_build_env_command(config.init_path, basepath, 'recipetool --color=%s create --devtool -o %s \'%s\' %s' % (color, tempdir, source, extracmdopts), watch=True) + except bb.process.ExecutionError as e: + if e.exitcode == 15: + raise DevtoolError('Could not auto-determine recipe name, please specify it on the command line') + else: + raise DevtoolError('Command \'%s\' failed' % e.command) recipes = glob.glob(os.path.join(tempdir, '*.bb')) if recipes: diff --git a/scripts/lib/recipetool/create.py b/scripts/lib/recipetool/create.py index 2a6a28b..359eb9a 100644 --- a/scripts/lib/recipetool/create.py +++ b/scripts/lib/recipetool/create.py @@ -1152,22 +1152,6 @@ def convert_rpm_xml(xmlfile): return values -def check_npm(tinfoil, debugonly=False): - try: - rd = tinfoil.parse_recipe('nodejs-native') - except bb.providers.NoProvider: - # We still conditionally show the message and exit with the special - # return code, otherwise we can't show the proper message for eSDK - # users - log_error_cond('nodejs-native is required for npm but is not available - you will likely need to add a layer that provides nodejs', debugonly) - sys.exit(14) - bindir = rd.getVar('STAGING_BINDIR_NATIVE') - npmpath = os.path.join(bindir, 'npm') - if not os.path.exists(npmpath): - log_error_cond('npm required to process specified source, but npm is not available - you need to run bitbake -c addto_recipe_sysroot nodejs-native first', debugonly) - sys.exit(14) - return bindir - def register_commands(subparsers): parser_create = subparsers.add_parser('create', help='Create a new recipe', @@ -1185,8 +1169,5 @@ def register_commands(subparsers): parser_create.add_argument('--keep-temp', action="store_true", help='Keep temporary directory (for debugging)') parser_create.add_argument('--fetch-dev', action="store_true", help='For npm, also fetch devDependencies') parser_create.add_argument('--devtool', action="store_true", help=argparse.SUPPRESS) - # FIXME I really hate having to set parserecipes for this, but given we may need - # to call into npm (and we don't know in advance if we will or not) and in order - # to do so we need to know npm's recipe sysroot path, there's not much alternative - parser_create.set_defaults(func=create_recipe, parserecipes=True) + parser_create.set_defaults(func=create_recipe) diff --git a/scripts/lib/recipetool/create_npm.py b/scripts/lib/recipetool/create_npm.py index ba7e39a..885d543 100644 --- a/scripts/lib/recipetool/create_npm.py +++ b/scripts/lib/recipetool/create_npm.py @@ -21,7 +21,7 @@ import subprocess import tempfile import shutil import json -from recipetool.create import RecipeHandler, split_pkg_licenses, handle_license_vars, check_npm +from recipetool.create import RecipeHandler, split_pkg_licenses, handle_license_vars logger = logging.getLogger('recipetool') @@ -36,6 +36,27 @@ def tinfoil_init(instance): class NpmRecipeHandler(RecipeHandler): lockdownpath = None + def _ensure_npm(self, fixed_setup=False): + if not tinfoil.recipes_parsed: + tinfoil.parse_recipes() + try: + rd = tinfoil.parse_recipe('nodejs-native') + except bb.providers.NoProvider: + if fixed_setup: + msg = 'nodejs-native is required for npm but is not available within this SDK' + else: + msg = 'nodejs-native is required for npm but is not available - you will likely need to add a layer that provides nodejs' + logger.error(msg) + return None + bindir = rd.getVar('STAGING_BINDIR_NATIVE') + npmpath = os.path.join(bindir, 'npm') + if not os.path.exists(npmpath): + tinfoil.build_targets('nodejs-native', 'addto_recipe_sysroot') + if not os.path.exists(npmpath): + logger.error('npm required to process specified source, but nodejs-native did not seem to populate it') + return None + return bindir + def _handle_license(self, data): ''' Handle the license value from an npm package.json file @@ -189,7 +210,9 @@ class NpmRecipeHandler(RecipeHandler): files = RecipeHandler.checkfiles(srctree, ['package.json']) if files: d = bb.data.createCopy(tinfoil.config_data) - npm_bindir = check_npm(tinfoil, self._devtool) + npm_bindir = self._ensure_npm() + if not npm_bindir: + sys.exit(14) d.prependVar('PATH', '%s:' % npm_bindir) data = read_package_json(files[0]) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 07:45:09 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 07:45:09 +0000 Subject: [oe-commits] [openembedded-core] 14/19: oeqa/core/loader: Generate function _make_failed_test dynamically In-Reply-To: <150062309520.15100.12047200074013253002@git.openembedded.org> References: <150062309520.15100.12047200074013253002@git.openembedded.org> Message-ID: <20170721074455.E0937233639@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit b4740d2b325a80bcecc5e56dff9add9081fcd31b Author: An?bal Lim?n AuthorDate: Thu Jun 29 15:02:14 2017 -0500 oeqa/core/loader: Generate function _make_failed_test dynamically Python versions has different features from branches 3.4.x, 3.5.x and 3.6.x, i expected in wrong mode that was incremental for example changes in 3.4.4 be in 3.5.x but that's not true. The _make_failed_test internal method differs and is only available in certain versions >= 3.4.4 and in 3.5.x and 3.6.x branches but not realeses have been made including it. So to avoid futher problems inspect the _make_failed_test and generates function definition according what parameters are needed, the unique supossition is that exception argument is always passed. Related to, http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=d8380d098a290510b442a7abd2dd5a50cabf5844 Signed-off-by: An?bal Lim?n --- meta/lib/oeqa/core/loader.py | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/meta/lib/oeqa/core/loader.py b/meta/lib/oeqa/core/loader.py index 80e3d28..e4c218b 100644 --- a/meta/lib/oeqa/core/loader.py +++ b/meta/lib/oeqa/core/loader.py @@ -4,6 +4,7 @@ import os import sys import unittest +import inspect from oeqa.core.utils.path import findFile from oeqa.core.utils.test import getSuiteModules, getCaseID @@ -12,19 +13,17 @@ from oeqa.core.case import OETestCase from oeqa.core.decorator import decoratorClasses, OETestDecorator, \ OETestFilter, OETestDiscover -if sys.version_info >= (3,4,4): - def _make_failed_test(classname, methodname, exception, suiteClass): - """ - When loading tests, the unittest framework stores any exceptions and - displays them only when the 'run' method is called. - - For our purposes, it is better to raise the exceptions in the loading - step rather than waiting to run the test suite. - """ - raise exception -else: - def _make_failed_test(classname, exception, suiteClass): - raise exception +# When loading tests, the unittest framework stores any exceptions and +# displays them only when the run method is called. +# +# For our purposes, it is better to raise the exceptions in the loading +# step rather than waiting to run the test suite. +# +# Generate the function definition because this differ across python versions +# Python >= 3.4.4 uses tree parameters instead four but for example Python 3.5.3 +# ueses four parameters so isn't incremental. +_failed_test_args = inspect.getargspec(unittest.loader._make_failed_test).args +exec("""def _make_failed_test(%s): raise exception""" % ', '.join(_failed_test_args)) unittest.loader._make_failed_test = _make_failed_test def _find_duplicated_modules(suite, directory): -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 07:45:10 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 07:45:10 +0000 Subject: [oe-commits] [openembedded-core] 15/19: selftest/cases/package: Call parent setUpClass method In-Reply-To: <150062309520.15100.12047200074013253002@git.openembedded.org> References: <150062309520.15100.12047200074013253002@git.openembedded.org> Message-ID: <20170721074455.E8DF923363A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 7281c995ff2b009c3fb23c7af1d91fe106ca8f87 Author: An?bal Lim?n AuthorDate: Mon Jun 26 11:12:40 2017 -0500 selftest/cases/package: Call parent setUpClass method Since config paths are now passed in Test context the setUpClass method is expected to be call. Signed-off-by: An?bal Lim?n --- meta/lib/oeqa/selftest/cases/package.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/lib/oeqa/selftest/cases/package.py b/meta/lib/oeqa/selftest/cases/package.py index 5b9a6d1..169698f 100644 --- a/meta/lib/oeqa/selftest/cases/package.py +++ b/meta/lib/oeqa/selftest/cases/package.py @@ -17,6 +17,8 @@ class VersionOrdering(OESelftestTestCase): @classmethod def setUpClass(cls): + super().setUpClass() + # Build the tools we need and populate a sysroot bitbake("dpkg-native opkg-native rpm-native python3-native") bitbake("build-sysroots -c build_native_sysroot") -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 07:45:14 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 07:45:14 +0000 Subject: [oe-commits] [openembedded-core] 19/19: subversion: Upgrade 1.9.5-> 1.9.6 In-Reply-To: <150062309520.15100.12047200074013253002@git.openembedded.org> References: <150062309520.15100.12047200074013253002@git.openembedded.org> Message-ID: <20170721074456.12F9B233641@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 5212d88104b7a53d4bd8bf2320aca9455099ac80 Author: Richard Purdie AuthorDate: Tue Jul 18 15:55:33 2017 -0700 subversion: Upgrade 1.9.5-> 1.9.6 Signed-off-by: Richard Purdie --- .../subversion/{subversion_1.9.5.bb => subversion_1.9.6.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-devtools/subversion/subversion_1.9.5.bb b/meta/recipes-devtools/subversion/subversion_1.9.6.bb similarity index 96% rename from meta/recipes-devtools/subversion/subversion_1.9.5.bb rename to meta/recipes-devtools/subversion/subversion_1.9.6.bb index 05fba67..b27115b 100644 --- a/meta/recipes-devtools/subversion/subversion_1.9.5.bb +++ b/meta/recipes-devtools/subversion/subversion_1.9.6.bb @@ -17,8 +17,8 @@ SRC_URI = "${APACHE_MIRROR}/${BPN}/${BPN}-${PV}.tar.bz2 \ file://serfmacro.patch \ " -SRC_URI[md5sum] = "9fcbae352a5efe73d46a88c97c6bba14" -SRC_URI[sha256sum] = "8a4fc68aff1d18dcb4dd9e460648d24d9e98657fbed496c582929c6b3ce555e5" +SRC_URI[md5sum] = "f27e00338d4a9f7f9aec9d4a3f8b418b" +SRC_URI[sha256sum] = "dbcbc51fb634082f009121f2cb64350ce32146612787ffb0f7ced351aacaae19" LIC_FILES_CHKSUM = "file://LICENSE;md5=af81ae49ba359e70626c05e9bf313709" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 07:45:11 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 07:45:11 +0000 Subject: [oe-commits] [openembedded-core] 16/19: oeqa/selftest/{context, case}: Handle KeyboardInterrupt/SIGINT and SIGTERM In-Reply-To: <150062309520.15100.12047200074013253002@git.openembedded.org> References: <150062309520.15100.12047200074013253002@git.openembedded.org> Message-ID: <20170721074455.F179B23363C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 9419c81e69d2facc82e39c846466670c09e6b444 Author: An?bal Lim?n AuthorDate: Fri Jun 23 15:10:38 2017 -0500 oeqa/selftest/{context,case}: Handle KeyboardInterrupt/SIGINT and SIGTERM In order to avoid corrupt local.conf and bblayers.conf adds signal handler for SIGTERM and use try/finally (KeyboardIntrrupt) block to restore previously backuped configuration. [YOCTO #11650] Signed-off-by: An?bal Lim?n --- meta/lib/oeqa/selftest/case.py | 36 +++++++------ meta/lib/oeqa/selftest/context.py | 107 +++++++++++++++++++++++++++----------- 2 files changed, 97 insertions(+), 46 deletions(-) diff --git a/meta/lib/oeqa/selftest/case.py b/meta/lib/oeqa/selftest/case.py index 31a11fd..871009c 100644 --- a/meta/lib/oeqa/selftest/case.py +++ b/meta/lib/oeqa/selftest/case.py @@ -13,28 +13,34 @@ from oeqa.utils.commands import runCmd, bitbake, get_bb_var from oeqa.core.case import OETestCase class OESelftestTestCase(OETestCase): - builddir = os.environ.get("BUILDDIR") or "" - localconf_path = os.path.join(builddir, "conf/local.conf") - localconf_backup = os.path.join(builddir, "conf/local.bk") - testinc_path = os.path.join(builddir, "conf/selftest.inc") - local_bblayers_path = os.path.join(builddir, "conf/bblayers.conf") - local_bblayers_backup = os.path.join(builddir, "conf/bblayers.bk") - testinc_bblayers_path = os.path.join(builddir, "conf/bblayers.inc") - machineinc_path = os.path.join(builddir, "conf/machine.inc") - def __init__(self, methodName="runTest"): self._extra_tear_down_commands = [] - self._track_for_cleanup = [ - self.testinc_path, self.testinc_bblayers_path, - self.machineinc_path, self.localconf_backup, - self.local_bblayers_backup] - super(OESelftestTestCase, self).__init__(methodName) @classmethod def setUpClass(cls): super(OESelftestTestCase, cls).setUpClass() - cls.testlayer_path = cls.tc.testlayer_path + + cls.testlayer_path = cls.tc.config_paths['testlayer_path'] + cls.builddir = cls.tc.config_paths['builddir'] + + cls.localconf_path = cls.tc.config_paths['localconf'] + cls.localconf_backup = cls.tc.config_paths['localconf_class_backup'] + cls.local_bblayers_path = cls.tc.config_paths['bblayers'] + cls.local_bblayers_backup = cls.tc.config_paths['bblayers_class_backup'] + + cls.testinc_path = os.path.join(cls.tc.config_paths['builddir'], + "conf/selftest.inc") + cls.testinc_bblayers_path = os.path.join(cls.tc.config_paths['builddir'], + "conf/bblayers.inc") + cls.machineinc_path = os.path.join(cls.tc.config_paths['builddir'], + "conf/machine.inc") + + cls._track_for_cleanup = [ + cls.testinc_path, cls.testinc_bblayers_path, + cls.machineinc_path, cls.localconf_backup, + cls.local_bblayers_backup] + cls.add_include() @classmethod diff --git a/meta/lib/oeqa/selftest/context.py b/meta/lib/oeqa/selftest/context.py index ca87398..4575a05 100644 --- a/meta/lib/oeqa/selftest/context.py +++ b/meta/lib/oeqa/selftest/context.py @@ -6,6 +6,8 @@ import time import glob import sys import imp +import signal +from shutil import copyfile from random import choice import oeqa @@ -16,13 +18,12 @@ from oeqa.core.exception import OEQAPreRun from oeqa.utils.commands import runCmd, get_bb_vars, get_test_layer class OESelftestTestContext(OETestContext): - def __init__(self, td=None, logger=None, machines=None, testlayer_path=None): + def __init__(self, td=None, logger=None, machines=None, config_paths=None): super(OESelftestTestContext, self).__init__(td, logger) self.machines = machines self.custommachine = None - - self.testlayer_path = testlayer_path + self.config_paths = config_paths def runTests(self, machine=None): if machine: @@ -108,7 +109,29 @@ class OESelftestTestContextExecutor(OETestContextExecutor): self.tc_kwargs['init']['td'] = get_bb_vars() self.tc_kwargs['init']['machines'] = self._get_available_machines() - self.tc_kwargs['init']['testlayer_path'] = get_test_layer() + + builddir = os.environ.get("BUILDDIR") + self.tc_kwargs['init']['config_paths'] = {} + self.tc_kwargs['init']['config_paths']['testlayer_path'] = \ + get_test_layer() + self.tc_kwargs['init']['config_paths']['builddir'] = builddir + self.tc_kwargs['init']['config_paths']['localconf'] = \ + os.path.join(builddir, "conf/local.conf") + self.tc_kwargs['init']['config_paths']['localconf_backup'] = \ + os.path.join(builddir, "conf/local.conf.orig") + self.tc_kwargs['init']['config_paths']['localconf_class_backup'] = \ + os.path.join(builddir, "conf/local.conf.bk") + self.tc_kwargs['init']['config_paths']['bblayers'] = \ + os.path.join(builddir, "conf/bblayers.conf") + self.tc_kwargs['init']['config_paths']['bblayers_backup'] = \ + os.path.join(builddir, "conf/bblayers.conf.orig") + self.tc_kwargs['init']['config_paths']['bblayers_class_backup'] = \ + os.path.join(builddir, "conf/bblayers.conf.bk") + + copyfile(self.tc_kwargs['init']['config_paths']['localconf'], + self.tc_kwargs['init']['config_paths']['localconf_backup']) + copyfile(self.tc_kwargs['init']['config_paths']['bblayers'], + self.tc_kwargs['init']['config_paths']['bblayers_backup']) def _pre_run(self): def _check_required_env_variables(vars): @@ -131,7 +154,7 @@ class OESelftestTestContextExecutor(OETestContextExecutor): runCmd("bitbake-layers add-layer %s" %meta_selftestdir) # reload data is needed because a meta-selftest layer was add self.tc.td = get_bb_vars() - self.tc.testlayer_path = get_test_layer() + self.tc.config_paths['testlayer_path'] = get_test_layer() else: self.tc.logger.error("could not locate meta-selftest in:\n%s" % meta_selftestdir) raise OEQAPreRun @@ -184,41 +207,63 @@ class OESelftestTestContextExecutor(OETestContextExecutor): rc.logSummary(self.name) return rc + + def _signal_clean_handler(self, signum, frame): + sys.exit(1) def run(self, logger, args): self._process_args(logger, args) - rc = None - if args.machine: - logger.info('Custom machine mode enabled. MACHINE set to %s' % - args.machine) + signal.signal(signal.SIGTERM, self._signal_clean_handler) - if args.machine == 'all': - results = [] - for m in self.tc_kwargs['init']['machines']: - self.tc_kwargs['run']['machine'] = m - results.append(self._internal_run(logger, args)) + rc = None + try: + if args.machine: + logger.info('Custom machine mode enabled. MACHINE set to %s' % + args.machine) + + if args.machine == 'all': + results = [] + for m in self.tc_kwargs['init']['machines']: + self.tc_kwargs['run']['machine'] = m + results.append(self._internal_run(logger, args)) + + # XXX: the oe-selftest script only needs to know if one + # machine run fails + for r in results: + rc = r + if not r.wasSuccessful(): + break - # XXX: the oe-selftest script only needs to know if one - # machine run fails - for r in results: - rc = r - if not r.wasSuccessful(): - break + else: + self.tc_kwargs['run']['machine'] = args.machine + return self._internal_run(logger, args) else: self.tc_kwargs['run']['machine'] = args.machine - return self._internal_run(logger, args) - - else: - self.tc_kwargs['run']['machine'] = args.machine - rc = self._internal_run(logger, args) - - output_link = os.path.join(os.path.dirname(args.output_log), - "%s-results.log" % self.name) - if os.path.exists(output_link): - os.remove(output_link) - os.symlink(args.output_log, output_link) + rc = self._internal_run(logger, args) + finally: + config_paths = self.tc_kwargs['init']['config_paths'] + if os.path.exists(config_paths['localconf_backup']): + copyfile(config_paths['localconf_backup'], + config_paths['localconf']) + os.remove(config_paths['localconf_backup']) + + if os.path.exists(config_paths['bblayers_backup']): + copyfile(config_paths['bblayers_backup'], + config_paths['bblayers']) + os.remove(config_paths['bblayers_backup']) + + if os.path.exists(config_paths['localconf_class_backup']): + os.remove(config_paths['localconf_class_backup']) + if os.path.exists(config_paths['bblayers_class_backup']): + os.remove(config_paths['bblayers_class_backup']) + + output_link = os.path.join(os.path.dirname(args.output_log), + "%s-results.log" % self.name) + if os.path.exists(output_link): + os.remove(output_link) + os.symlink(args.output_log, output_link) return rc -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 07:45:12 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 07:45:12 +0000 Subject: [oe-commits] [openembedded-core] 17/19: oe/copy_buildsystem: check_sstate_task_list also pop BBPATH from env In-Reply-To: <150062309520.15100.12047200074013253002@git.openembedded.org> References: <150062309520.15100.12047200074013253002@git.openembedded.org> Message-ID: <20170721074456.05F4B23363E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 33634b4c38d84e1c5d06056766933f1fe4f47e8d Author: An?bal Lim?n AuthorDate: Thu Jun 29 14:48:24 2017 -0700 oe/copy_buildsystem: check_sstate_task_list also pop BBPATH from env The BBPATH environment could be set and can make a failure when try to build an extensible sdk because it will look the bitbake.lock file in the original build folder. Example: $ export BBPATH=`pwd` $ bitbake core-image-minimal -c populate_sdk_ext ERROR: bitbake failed: ERROR: Only one copy of bitbake should be run against a build directory ERROR: core-image-minimal-1.0-r0 do_populate_sdk_ext: Function failed: copy_buildsystem Signed-off-by: An?bal Lim?n --- meta/lib/oe/copy_buildsystem.py | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/lib/oe/copy_buildsystem.py b/meta/lib/oe/copy_buildsystem.py index a372904..dd506a3 100644 --- a/meta/lib/oe/copy_buildsystem.py +++ b/meta/lib/oe/copy_buildsystem.py @@ -239,6 +239,7 @@ def check_sstate_task_list(d, targets, filteroutfile, cmdprefix='', cwd=None, lo cmd = "%sBB_SETSCENE_ENFORCE=1 PSEUDO_DISABLED=1 oe-check-sstate %s -s -o %s %s" % (cmdprefix, targets, filteroutfile, logparam) env = dict(d.getVar('BB_ORIGENV', False)) env.pop('BUILDDIR', '') + env.pop('BBPATH', '') pathitems = env['PATH'].split(':') env['PATH'] = ':'.join([item for item in pathitems if not item.endswith('/bitbake/bin')]) bb.process.run(cmd, stderr=subprocess.STDOUT, env=env, cwd=cwd, executable='/bin/bash') -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 07:45:13 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 07:45:13 +0000 Subject: [oe-commits] [openembedded-core] 18/19: argparse_oe: Add int_positive type In-Reply-To: <150062309520.15100.12047200074013253002@git.openembedded.org> References: <150062309520.15100.12047200074013253002@git.openembedded.org> Message-ID: <20170721074456.0CF8C23363F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 3ef5b518febd047bf90a0955fa2b9fb78ba6dde5 Author: An?bal Lim?n AuthorDate: Tue Jul 11 09:16:28 2017 -0700 argparse_oe: Add int_positive type Sometimes only expect positive values from cmdline so it's better to filter at parsing cmdline step instead of validate later. Signed-off-by: An?bal Lim?n --- scripts/lib/argparse_oe.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/scripts/lib/argparse_oe.py b/scripts/lib/argparse_oe.py index bf6eb17..9bdfc1c 100644 --- a/scripts/lib/argparse_oe.py +++ b/scripts/lib/argparse_oe.py @@ -167,3 +167,10 @@ class OeHelpFormatter(argparse.HelpFormatter): return '\n'.join(lines) else: return super(OeHelpFormatter, self)._format_action(action) + +def int_positive(value): + ivalue = int(value) + if ivalue <= 0: + raise argparse.ArgumentTypeError( + "%s is not a positive int value" % value) + return ivalue -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 07:45:25 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 07:45:25 +0000 Subject: [oe-commits] [openembedded-core] branch master-next updated (f6b4ef1 -> 5212d88) Message-ID: <150062312554.15817.2023968203816372120@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master-next in repository openembedded-core. discard f6b4ef1 subversion: Upgrade 1.9.5-> 1.9.6 discard c9a5405 argparse_oe: Add int_positive type discard eb561f7 oe/copy_buildsystem: check_sstate_task_list also pop BBPATH from env discard d12b9e7 oeqa/selftest/{context,case}: Handle KeyboardInterrupt/SIGINT and SIGTERM discard eb7948a selftest/cases/package: Call parent setUpClass method discard e7eba42 oeqa/core/loader: Generate function _make_failed_test dynamically discard 18f384f oeqa/eSDK: Ignore errors during directory cleanup discard dd30992 recipetool: Setup logging before calling prepare discard 650ce6b devtool: Setup logging before calling prepare discard ba10b65 oe-pkgdata-util: Setup logging before calling prepare discard 5fee251 recipetool: create: refactor code for ensuring npm is available discard 3db76a1 classes/base: set do_unpack dependencies for rpm files discard 9f0e2a7 recipetool: create: reimplement fetching with normal fetch/unpack tasks discard 6670e2a recipetool: create: eliminate second fetch for packages discard 4472f25 recipetool: create: ensure meaningful error for malformed tarballs discard ae457d5 devtool: extract: refactor kern-tools-native handling discard 47cd4ef classes/staging: change fixme debug message from note to debug discard 4a6ccd3 oe-init-build-env-memres: Drop it add b63fcff conf/sanity: Update minimum bitbake verison to 1.35.0 for server rework add a17724d oe-init-build-env-memres: Drop it add bc1a4af classes/staging: change fixme debug message from note to debug add 5c7f503 devtool: extract: refactor kern-tools-native handling add 8496113 recipetool: create: ensure meaningful error for malformed tarballs add be45e9b recipetool: create: eliminate second fetch for packages add 9a47a66 recipetool: create: reimplement fetching with normal fetch/unpack tasks add 2f31f17 classes/base: set do_unpack dependencies for rpm files add 8450de1 recipetool: create: refactor code for ensuring npm is available add 39c1bf1 oe-pkgdata-util: Setup logging before calling prepare add 3c479fb devtool: Setup logging before calling prepare add e124eb7 recipetool: Setup logging before calling prepare add 68009f4 oeqa/eSDK: Ignore errors during directory cleanup add b4740d2 oeqa/core/loader: Generate function _make_failed_test dynamically add 7281c99 selftest/cases/package: Call parent setUpClass method add 9419c81 oeqa/selftest/{context,case}: Handle KeyboardInterrupt/SIGINT and SIGTERM add 33634b4 oe/copy_buildsystem: check_sstate_task_list also pop BBPATH from env add 3ef5b51 argparse_oe: Add int_positive type add 5212d88 subversion: Upgrade 1.9.5-> 1.9.6 This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (f6b4ef1) \ N -- N -- N refs/heads/master-next (5212d88) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. No new revisions were added by this update. Summary of changes: meta/conf/sanity.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 07:45:51 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 07:45:51 +0000 Subject: [oe-commits] [bitbake] branch master updated (6683338 -> eef7a1a) Message-ID: <150062315190.16247.1284857909163139317@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master in repository bitbake. from 6683338 fetch2: fix indentation add f8cf2cb event/command: Allow UI to request the UI eventhander ID add a1c6151 server: Remove base classes and inline code add d196afe cookerdata: Add a function to find TOPDIR add 4e780fa daemonize: Various fixes new 72a3dbe server: Rework the server API so process and xmlrpc servers coexist new 67ae612 cookerdata/cooker: Restore original datastore upon client disconnect new dbdd901 server/process.py: fix self.bitbake_lock.write() new c4d5c3d bb/main.py: fix infinite loop for --server-only new 335fd01 bb/main.py: avoid starting server when not needed new 4ffc91a bb/main.py: fix logic for --observe-only new ba53e06 tinfoil: add internal mode to build_file() function new 821f6c4 tinfoil: add a parse_recipes() function new 7efde2d tinfoil: set a flag when recipes have been parsed new cb15db2 lib/bb/event: refactor printing events new be498ab lib/bb/ui/uihelper: indicate to caller of eventHandler() if events handled new 7544de4 knotty: make it possible to use termfilter without either console new 43761ee tinfoil: add functionality for running full builds new 3df9b7c tinfoil: enable access to additional cached items new 3089940 tinfoil: add simple API for getting cached recipe information new 3e0e002 tinfoil: add more doc comments new f15ca73 fetch2: allow hiding checksum warning new 8b2ccb4 fetch2: fire an event when there are missing checksums new eef7a1a Update to version 1.35.0 (development version with server rework changes) The 19 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: bin/bitbake | 2 +- bin/bitbake-layers | 2 +- lib/bb/__init__.py | 2 +- lib/bb/command.py | 48 +++- lib/bb/cooker.py | 94 ++----- lib/bb/cookerdata.py | 35 ++- lib/bb/daemonize.py | 20 +- lib/bb/event.py | 43 +++- lib/bb/fetch2/__init__.py | 16 ++ lib/bb/main.py | 242 +++++++---------- lib/bb/runqueue.py | 6 + lib/bb/server/__init__.py | 78 ------ lib/bb/server/process.py | 587 +++++++++++++++++++++++++++++------------- lib/bb/server/xmlrpc.py | 448 -------------------------------- lib/bb/server/xmlrpcclient.py | 154 +++++++++++ lib/bb/server/xmlrpcserver.py | 158 ++++++++++++ lib/bb/tinfoil.py | 391 +++++++++++++++++++++++++++- lib/bb/ui/knotty.py | 43 +--- lib/bb/ui/ncurses.py | 2 +- lib/bb/ui/taskexp.py | 20 +- lib/bb/ui/toasterui.py | 25 +- lib/bb/ui/uihelper.py | 3 + lib/prserv/serv.py | 4 +- 23 files changed, 1391 insertions(+), 1032 deletions(-) delete mode 100644 lib/bb/server/xmlrpc.py create mode 100644 lib/bb/server/xmlrpcclient.py create mode 100644 lib/bb/server/xmlrpcserver.py -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 07:45:53 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 07:45:53 +0000 Subject: [oe-commits] [bitbake] 02/19: cookerdata/cooker: Restore original datastore upon client disconnect In-Reply-To: <150062315190.16247.1284857909163139317@git.openembedded.org> References: <150062315190.16247.1284857909163139317@git.openembedded.org> Message-ID: <20170721074552.1AEA123361D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository bitbake. commit 67ae612ab890965357d24a9bd35610cf813b79ba Author: Richard Purdie AuthorDate: Tue Jul 18 17:50:24 2017 +0100 cookerdata/cooker: Restore original datastore upon client disconnect Signed-off-by: Richard Purdie --- lib/bb/cooker.py | 2 ++ lib/bb/cookerdata.py | 9 +++++++++ 2 files changed, 11 insertions(+) diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py index e27763e..daffe67 100644 --- a/lib/bb/cooker.py +++ b/lib/bb/cooker.py @@ -1566,6 +1566,8 @@ class BBCooker: def clientComplete(self): """Called when the client is done using the server""" self.finishcommand() + self.databuilder.reset() + self.data = self.databuilder.data def server_main(cooker, func, *args): cooker.pre_serve() diff --git a/lib/bb/cookerdata.py b/lib/bb/cookerdata.py index d05abfe..55c6ea8 100644 --- a/lib/bb/cookerdata.py +++ b/lib/bb/cookerdata.py @@ -328,6 +328,15 @@ class CookerDataBuilder(object): logger.exception("Error parsing configuration files") raise bb.BBHandledException + # Create a copy so we can reset at a later date when UIs disconnect + self.origdata = self.data + self.data = bb.data.createCopy(self.origdata) + self.mcdata[''] = self.data + + def reset(self): + self.data = bb.data.createCopy(self.origdata) + self.mcdata[''] = self.data + def _findLayerConf(self, data): return findConfigFile("bblayers.conf", data) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 07:45:54 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 07:45:54 +0000 Subject: [oe-commits] [bitbake] 03/19: server/process.py: fix self.bitbake_lock.write() In-Reply-To: <150062315190.16247.1284857909163139317@git.openembedded.org> References: <150062315190.16247.1284857909163139317@git.openembedded.org> Message-ID: <20170721074552.278E823361E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository bitbake. commit dbdd9010663cd8dcb328e1b6fb40e3a777293bc5 Author: Robert Yang AuthorDate: Fri Jul 14 02:52:03 2017 -0700 server/process.py: fix self.bitbake_lock.write() There is no global var "configuration", so the old code hang at self.bitbake_lock.write(), and nothing wrote to bitbake.lock. I didn't figure out why it hang (but not print errors). Reproducer: $ bitbake -B localhost:-1 world -k Check bitbake.log, there was nothing, now fixed. Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- lib/bb/server/process.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/bb/server/process.py b/lib/bb/server/process.py index 6edb021..01d9f2f 100644 --- a/lib/bb/server/process.py +++ b/lib/bb/server/process.py @@ -95,8 +95,8 @@ class ProcessServer(multiprocessing.Process): try: self.bitbake_lock.seek(0) self.bitbake_lock.truncate() - if self.xmlrpcinterface[0]: - self.bitbake_lock.write("%s %s:%s\n" % (os.getpid(), configuration.interface[0], configuration.interface[1])) + if self.xmlrpc: + self.bitbake_lock.write("%s %s:%s\n" % (os.getpid(), self.xmlrpc.host, self.xmlrpc.port)) else: self.bitbake_lock.write("%s\n" % (os.getpid())) self.bitbake_lock.flush() -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 07:45:55 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 07:45:55 +0000 Subject: [oe-commits] [bitbake] 04/19: bb/main.py: fix infinite loop for --server-only In-Reply-To: <150062315190.16247.1284857909163139317@git.openembedded.org> References: <150062315190.16247.1284857909163139317@git.openembedded.org> Message-ID: <20170721074552.3181E23361F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository bitbake. commit c4d5c3dab5b35f3c6713efad1c8a23229ce4e56b Author: Robert Yang AuthorDate: Fri Jul 14 02:58:12 2017 -0700 bb/main.py: fix infinite loop for --server-only Fixed: $ bitbake --server-only -B localhost:-1 Infinite loop Reconnecting to bitbake server... [snip] Break the loop when server-only can fix the problem. Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- lib/bb/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/bb/main.py b/lib/bb/main.py index 1edf56f..84fe904 100755 --- a/lib/bb/main.py +++ b/lib/bb/main.py @@ -439,7 +439,7 @@ def setup_bitbake(configParams, configuration, extrafeatures=None, setup_logging raise bb.server.process.ProcessTimeout("Bitbake still shutting down as socket exists but no lock?") if not configParams.server_only: server_connection = bb.server.process.connectProcessServer(sockname, featureset) - if server_connection: + if server_connection or configParams.server_only: break except (Exception, bb.server.process.ProcessTimeout) as e: if not retries: -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 07:45:52 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 07:45:52 +0000 Subject: [oe-commits] [bitbake] 01/19: server: Rework the server API so process and xmlrpc servers coexist In-Reply-To: <150062315190.16247.1284857909163139317@git.openembedded.org> References: <150062315190.16247.1284857909163139317@git.openembedded.org> Message-ID: <20170721074552.12DC323361C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository bitbake. commit 72a3dbe13a23588e24c0baca6d58c35cdeba3f63 Author: Richard Purdie AuthorDate: Tue Jul 18 22:28:40 2017 +0100 server: Rework the server API so process and xmlrpc servers coexist This changes the way bitbake server works quite radically. Now, the server is always a process based server with the option of starting an XMLRPC listener on a specific inferface/port. Behind the scenes this is done with a "bitbake.sock" file alongside the bitbake.lock file. If we can obtain the lock, we know we need to start a server. The server always listens on the socket and UIs can then connect to this. UIs connect by sending a set of three file descriptors over the domain socket, one for sending commands, one for receiving command results and the other for receiving events. These changes meant we can throw away all the horrid server abstraction code, the plugable transport option to bitbake and the code becomes much more readable and debuggable. It also likely removes a ton of ways you could hang the UI/cooker in weird ways due to all the race conditions that existed with previous processes. Changes: * The foreground option for bitbake-server was dropped. Just tail the log if you really want this, the codepaths were complicated enough without adding one for this. * BBSERVER="autodetect" was dropped. The server will autostart and autoconnect in process mode. You have to specify an xmlrpc server address since that can't be autodetected. I can't see a use case for autodetect now. * The transport/servetype option to bitbake was dropped. * A BB_SERVER_TIMEOUT variable is added which allows the server to stay resident for a period of time after the last client disconnects before unloading. This is used if the -T/--idle-timeout option is not passed to bitbake. This change is invasive and may well introduce new issues however I believe the codebase is in a much better position for further development and debugging. Signed-off-by: Richard Purdie --- lib/bb/cooker.py | 58 +--- lib/bb/cookerdata.py | 5 +- lib/bb/main.py | 230 ++++++---------- lib/bb/server/__init__.py | 6 - lib/bb/server/process.py | 596 ++++++++++++++++++++++++++++-------------- lib/bb/server/xmlrpc.py | 492 ---------------------------------- lib/bb/server/xmlrpcclient.py | 154 +++++++++++ lib/bb/server/xmlrpcserver.py | 158 +++++++++++ lib/bb/tinfoil.py | 2 +- lib/prserv/serv.py | 4 +- 10 files changed, 789 insertions(+), 916 deletions(-) diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py index b1311bb..e27763e 100644 --- a/lib/bb/cooker.py +++ b/lib/bb/cooker.py @@ -215,19 +215,6 @@ class BBCooker: self.configuration.server_register_idlecallback(_process_inotify_updates, [self.confignotifier, self.notifier]) - # Take a lock so only one copy of bitbake can run against a given build - # directory at a time - if not self.lockBitbake(): - bb.fatal("Only one copy of bitbake should be run against a build directory") - try: - self.lock.seek(0) - self.lock.truncate() - if len(configuration.interface) >= 2: - self.lock.write("%s:%s\n" % (configuration.interface[0], configuration.interface[1])); - self.lock.flush() - except: - pass - # TOSTOP must not be set or our children will hang when they output try: fd = sys.stdout.fileno() @@ -1557,33 +1544,6 @@ class BBCooker: def post_serve(self): prserv.serv.auto_shutdown(self.data) bb.event.fire(CookerExit(), self.data) - lockfile = self.lock.name - self.lock.close() - self.lock = None - - while not self.lock: - with bb.utils.timeout(3): - self.lock = bb.utils.lockfile(lockfile, shared=False, retry=False, block=True) - if not self.lock: - # Some systems may not have lsof available - procs = None - try: - procs = subprocess.check_output(["lsof", '-w', lockfile], stderr=subprocess.STDOUT) - except OSError as e: - if e.errno != errno.ENOENT: - raise - if procs is None: - # Fall back to fuser if lsof is unavailable - try: - procs = subprocess.check_output(["fuser", '-v', lockfile], stderr=subprocess.STDOUT) - except OSError as e: - if e.errno != errno.ENOENT: - raise - - msg = "Delaying shutdown due to active processes which appear to be holding bitbake.lock" - if procs: - msg += ":\n%s" % str(procs) - print(msg) def shutdown(self, force = False): @@ -1605,23 +1565,7 @@ class BBCooker: def clientComplete(self): """Called when the client is done using the server""" - if self.configuration.server_only: - self.finishcommand() - else: - self.shutdown(True) - - def lockBitbake(self): - if not hasattr(self, 'lock'): - self.lock = None - if self.data: - lockfile = self.data.expand("${TOPDIR}/bitbake.lock") - if lockfile: - self.lock = bb.utils.lockfile(lockfile, False, False) - return self.lock - - def unlockBitbake(self): - if hasattr(self, 'lock') and self.lock: - bb.utils.unlockfile(self.lock) + self.finishcommand() def server_main(cooker, func, *args): cooker.pre_serve() diff --git a/lib/bb/cookerdata.py b/lib/bb/cookerdata.py index 6511dcb..d05abfe 100644 --- a/lib/bb/cookerdata.py +++ b/lib/bb/cookerdata.py @@ -76,7 +76,7 @@ class ConfigParameters(object): for o in ["abort", "tryaltconfigs", "force", "invalidate_stamp", "verbose", "debug", "dry_run", "dump_signatures", "debug_domains", "extra_assume_provided", "profile", - "prefile", "postfile", "tracking"]: + "prefile", "postfile", "tracking", "server_timeout"]: options[o] = getattr(self.options, o) ret, error = server.runCommand(["updateConfig", options, environment, sys.argv]) @@ -144,7 +144,8 @@ class CookerConfiguration(object): self.dump_signatures = [] self.dry_run = False self.tracking = False - self.interface = [] + self.xmlrpcinterface = [] + self.server_timeout = None self.writeeventlog = False self.server_only = False self.limited_deps = False diff --git a/lib/bb/main.py b/lib/bb/main.py index 29e3911..1edf56f 100755 --- a/lib/bb/main.py +++ b/lib/bb/main.py @@ -28,6 +28,8 @@ import logging import optparse import warnings import fcntl +import time +import traceback import bb from bb import event @@ -37,6 +39,9 @@ from bb import ui from bb import server from bb import cookerdata +import bb.server.process +import bb.server.xmlrpcclient + logger = logging.getLogger("BitBake") class BBMainException(Exception): @@ -58,9 +63,6 @@ class BitbakeHelpFormatter(optparse.IndentedHelpFormatter): if option.dest == 'ui': valid_uis = list_extension_modules(bb.ui, 'main') option.help = option.help.replace('@CHOICES@', present_options(valid_uis)) - elif option.dest == 'servertype': - valid_server_types = list_extension_modules(bb.server, 'BitBakeServer') - option.help = option.help.replace('@CHOICES@', present_options(valid_server_types)) return optparse.IndentedHelpFormatter.format_option(self, option) @@ -238,11 +240,6 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters): default=os.environ.get('BITBAKE_UI', 'knotty'), help="The user interface to use (@CHOICES@ - default %default).") - # @CHOICES@ is substituted out by BitbakeHelpFormatter above - parser.add_option("-t", "--servertype", action="store", dest="servertype", - default=["process", "xmlrpc"]["BBSERVER" in os.environ], - help="Choose which server type to use (@CHOICES@ - default %default).") - parser.add_option("", "--token", action="store", dest="xmlrpctoken", default=os.environ.get("BBTOKEN"), help="Specify the connection token to be used when connecting " @@ -258,14 +255,11 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters): help="Run bitbake without a UI, only starting a server " "(cooker) process.") - parser.add_option("", "--foreground", action="store_true", - help="Run bitbake server in foreground.") - parser.add_option("-B", "--bind", action="store", dest="bind", default=False, - help="The name/address for the bitbake server to bind to.") + help="The name/address for the bitbake xmlrpc server to bind to.") - parser.add_option("-T", "--idle-timeout", type=int, - default=int(os.environ.get("BBTIMEOUT", "0")), + parser.add_option("-T", "--idle-timeout", type=float, dest="server_timeout", + default=float(os.environ.get("BB_SERVER_TIMEOUT", 0)) or None, help="Set timeout to unload bitbake server due to inactivity") parser.add_option("", "--no-setscene", action="store_true", @@ -283,7 +277,7 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters): parser.add_option("-m", "--kill-server", action="store_true", dest="kill_server", default=False, - help="Terminate the remote server.") + help="Terminate the bitbake server.") parser.add_option("", "--observe-only", action="store_true", dest="observe_only", default=False, @@ -322,70 +316,20 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters): eventlog = "bitbake_eventlog_%s.json" % datetime.now().strftime("%Y%m%d%H%M%S") options.writeeventlog = eventlog - # if BBSERVER says to autodetect, let's do that - if options.remote_server: - port = -1 - if options.remote_server != 'autostart': - host, port = options.remote_server.split(":", 2) + if options.bind: + try: + #Checking that the port is a number and is a ':' delimited value + (host, port) = options.bind.split(':') port = int(port) - # use automatic port if port set to -1, means read it from - # the bitbake.lock file; this is a bit tricky, but we always expect - # to be in the base of the build directory if we need to have a - # chance to start the server later, anyway - if port == -1: - lock_location = "./bitbake.lock" - # we try to read the address at all times; if the server is not started, - # we'll try to start it after the first connect fails, below - try: - lf = open(lock_location, 'r') - remotedef = lf.readline() - [host, port] = remotedef.split(":") - port = int(port) - lf.close() - options.remote_server = remotedef - except Exception as e: - if options.remote_server != 'autostart': - raise BBMainException("Failed to read bitbake.lock (%s), invalid port" % str(e)) + except (ValueError,IndexError): + raise BBMainException("FATAL: Malformed host:port bind parameter") + options.xmlrpcinterface = (host, port) + else: + options.xmlrpcinterface = (None, 0) return options, targets[1:] -def start_server(servermodule, configParams, configuration, features): - server = servermodule.BitBakeServer() - single_use = not configParams.server_only and os.getenv('BBSERVER') != 'autostart' - if configParams.bind: - (host, port) = configParams.bind.split(':') - server.initServer((host, int(port)), single_use=single_use, - idle_timeout=configParams.idle_timeout) - configuration.interface = [server.serverImpl.host, server.serverImpl.port] - else: - server.initServer(single_use=single_use) - configuration.interface = [] - - try: - configuration.setServerRegIdleCallback(server.getServerIdleCB()) - - cooker = bb.cooker.BBCooker(configuration, features) - - server.addcooker(cooker) - server.saveConnectionDetails() - except Exception as e: - while hasattr(server, "event_queue"): - import queue - try: - event = server.event_queue.get(block=False) - except (queue.Empty, IOError): - break - if isinstance(event, logging.LogRecord): - logger.handle(event) - raise - if not configParams.foreground: - server.detach() - cooker.shutdown() - cooker.lock.close() - return server - - def bitbake_main(configParams, configuration): # Python multiprocessing requires /dev/shm on Linux @@ -406,45 +350,15 @@ def bitbake_main(configParams, configuration): configuration.setConfigParameters(configParams) - if configParams.server_only: - if configParams.servertype != "xmlrpc": - raise BBMainException("FATAL: If '--server-only' is defined, we must set the " - "servertype as 'xmlrpc'.\n") - if not configParams.bind: - raise BBMainException("FATAL: The '--server-only' option requires a name/address " - "to bind to with the -B option.\n") - else: - try: - #Checking that the port is a number - int(configParams.bind.split(":")[1]) - except (ValueError,IndexError): - raise BBMainException( - "FATAL: Malformed host:port bind parameter") - if configParams.remote_server: + if configParams.server_only and configParams.remote_server: raise BBMainException("FATAL: The '--server-only' option conflicts with %s.\n" % ("the BBSERVER environment variable" if "BBSERVER" in os.environ \ else "the '--remote-server' option")) - elif configParams.foreground: - raise BBMainException("FATAL: The '--foreground' option can only be used " - "with --server-only.\n") - - if configParams.bind and configParams.servertype != "xmlrpc": - raise BBMainException("FATAL: If '-B' or '--bind' is defined, we must " - "set the servertype as 'xmlrpc'.\n") - - if configParams.remote_server and configParams.servertype != "xmlrpc": - raise BBMainException("FATAL: If '--remote-server' is defined, we must " - "set the servertype as 'xmlrpc'.\n") - if configParams.observe_only and (not configParams.remote_server or configParams.bind): raise BBMainException("FATAL: '--observe-only' can only be used by UI clients " "connecting to a server.\n") - if configParams.kill_server and not configParams.remote_server: - raise BBMainException("FATAL: '--kill-server' can only be used to " - "terminate a remote server") - if "BBDEBUG" in os.environ: level = int(os.environ["BBDEBUG"]) if level > configuration.debug: @@ -453,7 +367,7 @@ def bitbake_main(configParams, configuration): bb.msg.init_msgconfig(configParams.verbose, configuration.debug, configuration.debug_domains) - server, server_connection, ui_module = setup_bitbake(configParams, configuration) + server_connection, ui_module = setup_bitbake(configParams, configuration) if server_connection is None and configParams.kill_server: return 0 @@ -463,16 +377,15 @@ def bitbake_main(configParams, configuration): return 0 try: + for event in bb.event.ui_queue: + server_connection.events.queue_event(event) + bb.event.ui_queue = [] + return ui_module.main(server_connection.connection, server_connection.events, configParams) finally: - bb.event.ui_queue = [] server_connection.terminate() else: - print("Bitbake server address: %s, server port: %s" % (server.serverImpl.host, - server.serverImpl.port)) - if configParams.foreground: - server.serverImpl.serve_forever() return 0 return 1 @@ -495,58 +408,69 @@ def setup_bitbake(configParams, configuration, extrafeatures=None, setup_logging # Collect the feature set for the UI featureset = getattr(ui_module, "featureSet", []) - if configParams.server_only: - for param in ('prefile', 'postfile'): - value = getattr(configParams, param) - if value: - setattr(configuration, "%s_server" % param, value) - param = "%s_server" % param - if extrafeatures: for feature in extrafeatures: if not feature in featureset: featureset.append(feature) - servermodule = import_extension_module(bb.server, - configParams.servertype, - 'BitBakeServer') + server_connection = None + if configParams.remote_server: - if os.getenv('BBSERVER') == 'autostart': - if configParams.remote_server == 'autostart' or \ - not servermodule.check_connection(configParams.remote_server, timeout=2): - configParams.bind = 'localhost:0' - srv = start_server(servermodule, configParams, configuration, featureset) - configParams.remote_server = '%s:%d' % tuple(configuration.interface) - bb.event.ui_queue = [] - # we start a stub server that is actually a XMLRPClient that connects to a real server - from bb.server.xmlrpc import BitBakeXMLRPCClient - server = servermodule.BitBakeXMLRPCClient(configParams.observe_only, - configParams.xmlrpctoken) - server.saveConnectionDetails(configParams.remote_server) + # Connect to a remote XMLRPC server + server_connection = bb.server.xmlrpcclient.connectXMLRPC(configParams.remote_server, featureset, + configParams.observe_only, configParams.xmlrpctoken) else: - # we start a server with a given configuration - server = start_server(servermodule, configParams, configuration, featureset) + retries = 8 + while retries: + try: + topdir, lock = lockBitbake() + sockname = topdir + "/bitbake.sock" + if lock: + # we start a server with a given configuration + logger.info("Starting bitbake server...") + server = bb.server.process.BitBakeServer(lock, sockname, configuration, featureset) + # The server will handle any events already in the queue + bb.event.ui_queue = [] + else: + logger.info("Reconnecting to bitbake server...") + if not os.path.exists(sockname): + print("Previous bitbake instance shutting down?, waiting to retry...") + time.sleep(5) + raise bb.server.process.ProcessTimeout("Bitbake still shutting down as socket exists but no lock?") + if not configParams.server_only: + server_connection = bb.server.process.connectProcessServer(sockname, featureset) + if server_connection: + break + except (Exception, bb.server.process.ProcessTimeout) as e: + if not retries: + raise + retries -= 1 + if isinstance(e, (bb.server.process.ProcessTimeout, BrokenPipeError)): + logger.info("Retrying server connection...") + else: + logger.info("Retrying server connection... (%s)" % traceback.format_exc()) + if not retries: + bb.fatal("Unable to connect to bitbake server, or start one") + if retries < 5: + time.sleep(5) + + if configParams.kill_server: + server_connection.connection.terminateServer() + server_connection.terminate() bb.event.ui_queue = [] + logger.info("Terminated bitbake server.") + return None, None - if configParams.server_only: - server_connection = None - else: - try: - server_connection = server.establishConnection(featureset) - except Exception as e: - bb.fatal("Could not connect to server %s: %s" % (configParams.remote_server, str(e))) - - if configParams.kill_server: - server_connection.connection.terminateServer() - bb.event.ui_queue = [] - return None, None, None + # Restore the environment in case the UI needs it + for k in cleanedvars: + os.environ[k] = cleanedvars[k] - server_connection.setupEventQueue() + logger.removeHandler(handler) - # Restore the environment in case the UI needs it - for k in cleanedvars: - os.environ[k] = cleanedvars[k] + return server_connection, ui_module - logger.removeHandler(handler) +def lockBitbake(): + topdir = bb.cookerdata.findTopdir() + lockfile = topdir + "/bitbake.lock" + return topdir, bb.utils.lockfile(lockfile, False, False) - return server, server_connection, ui_module diff --git a/lib/bb/server/__init__.py b/lib/bb/server/__init__.py index 345691e..5a3fba9 100644 --- a/lib/bb/server/__init__.py +++ b/lib/bb/server/__init__.py @@ -18,10 +18,4 @@ # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -""" Base code for Bitbake server process - -Have a common base for that all Bitbake server classes ensures a consistent -approach to the interface, and minimize risks associated with code duplication. - -""" diff --git a/lib/bb/server/process.py b/lib/bb/server/process.py index 48da7fe..6edb021 100644 --- a/lib/bb/server/process.py +++ b/lib/bb/server/process.py @@ -22,128 +22,205 @@ import bb import bb.event -import itertools import logging import multiprocessing +import threading +import array import os -import signal import sys import time import select -from queue import Empty -from multiprocessing import Event, Process, util, Queue, Pipe, queues, Manager +import socket +import subprocess +import errno +import bb.server.xmlrpcserver +from bb import daemonize +from multiprocessing import queues logger = logging.getLogger('BitBake') -class ServerCommunicator(): - def __init__(self, connection, event_handle, server): - self.connection = connection - self.event_handle = event_handle - self.server = server - - def runCommand(self, command): - # @todo try/except - self.connection.send(command) - - if not self.server.is_alive(): - raise SystemExit - - while True: - # don't let the user ctrl-c while we're waiting for a response - try: - for idx in range(0,4): # 0, 1, 2, 3 - if self.connection.poll(5): - return self.connection.recv() - else: - bb.warn("Timeout while attempting to communicate with bitbake server") - bb.fatal("Gave up; Too many tries: timeout while attempting to communicate with bitbake server") - except KeyboardInterrupt: - pass - - def getEventHandle(self): - handle, error = self.runCommand(["getUIHandlerNum"]) - if error: - logger.error("Unable to get UI Handler Number: %s" % error) - raise BaseException(error) +class ProcessTimeout(SystemExit): + pass - return handle - -class EventAdapter(): - """ - Adapter to wrap our event queue since the caller (bb.event) expects to - call a send() method, but our actual queue only has put() - """ - def __init__(self, queue): - self.queue = queue - - def send(self, event): - try: - self.queue.put(event) - except Exception as err: - print("EventAdapter puked: %s" % str(err)) - - -class ProcessServer(Process): +class ProcessServer(multiprocessing.Process): profile_filename = "profile.log" profile_processed_filename = "profile.log.processed" - def __init__(self, command_channel, event_queue, featurelist): - self._idlefuns = {} - Process.__init__(self) - self.command_channel = command_channel - self.event_queue = event_queue - self.event = EventAdapter(event_queue) - self.featurelist = featurelist + def __init__(self, lock, sock, sockname): + multiprocessing.Process.__init__(self) + self.command_channel = False + self.command_channel_reply = False self.quit = False self.heartbeat_seconds = 1 # default, BB_HEARTBEAT_EVENT will be checked once we have a datastore. self.next_heartbeat = time.time() - self.quitin, self.quitout = Pipe() - self.event_handle = multiprocessing.Value("i") + self.event_handle = None + self.haveui = False + self.lastui = False + self.xmlrpc = False + + self._idlefuns = {} + + self.bitbake_lock = lock + self.sock = sock + self.sockname = sockname + + def register_idle_function(self, function, data): + """Register a function to be called while the server is idle""" + assert hasattr(function, '__call__') + self._idlefuns[function] = data def run(self): - for event in bb.event.ui_queue: - self.event_queue.put(event) - self.event_handle.value = bb.event.register_UIHhandler(self, True) + + if self.xmlrpcinterface[0]: + self.xmlrpc = bb.server.xmlrpcserver.BitBakeXMLRPCServer(self.xmlrpcinterface, self.cooker, self) + + print("Bitbake XMLRPC server address: %s, server port: %s" % (self.xmlrpc.host, self.xmlrpc.port)) heartbeat_event = self.cooker.data.getVar('BB_HEARTBEAT_EVENT') if heartbeat_event: try: self.heartbeat_seconds = float(heartbeat_event) except: - # Throwing an exception here causes bitbake to hang. - # Just warn about the invalid setting and continue bb.warn('Ignoring invalid BB_HEARTBEAT_EVENT=%s, must be a float specifying seconds.' % heartbeat_event) + + self.timeout = self.server_timeout or self.cooker.data.getVar('BB_SERVER_TIMEOUT') + try: + if self.timeout: + self.timeout = float(self.timeout) + except: + bb.warn('Ignoring invalid BB_SERVER_TIMEOUT=%s, must be a float specifying seconds.' % self.timeout) + + + try: + self.bitbake_lock.seek(0) + self.bitbake_lock.truncate() + if self.xmlrpcinterface[0]: + self.bitbake_lock.write("%s %s:%s\n" % (os.getpid(), configuration.interface[0], configuration.interface[1])) + else: + self.bitbake_lock.write("%s\n" % (os.getpid())) + self.bitbake_lock.flush() + except: + pass + bb.cooker.server_main(self.cooker, self.main) def main(self): - # Ignore SIGINT within the server, as all SIGINT handling is done by - # the UI and communicated to us - self.quitin.close() - signal.signal(signal.SIGINT, signal.SIG_IGN) bb.utils.set_process_name("Cooker") + + ready = [] + + self.controllersock = False + fds = [self.sock] + if self.xmlrpc: + fds.append(self.xmlrpc) while not self.quit: - try: - if self.command_channel.poll(): - command = self.command_channel.recv() - self.runCommand(command) - if self.quitout.poll(): - self.quitout.recv() + if self.command_channel in ready: + command = self.command_channel.get() + if command[0] == "terminateServer": self.quit = True - try: - self.runCommand(["stateForceShutdown"]) - except: - pass - - self.idle_commands(.1, [self.command_channel, self.quitout]) - except Exception: - logger.exception('Running command %s', command) + continue + try: + print("Running command %s" % command) + self.command_channel_reply.send(self.cooker.command.runCommand(command)) + except Exception as e: + logger.exception('Exception in server main event loop running command %s (%s)' % (command, str(e))) + + if self.xmlrpc in ready: + self.xmlrpc.handle_requests() + if self.sock in ready: + self.controllersock, address = self.sock.accept() + if self.haveui: + print("Dropping connection attempt as we have a UI %s" % (str(ready))) + self.controllersock.close() + else: + print("Accepting %s" % (str(ready))) + fds.append(self.controllersock) + if self.controllersock in ready: + try: + print("Connecting Client") + ui_fds = recvfds(self.controllersock, 3) + + # Where to write events to + writer = ConnectionWriter(ui_fds[0]) + self.event_handle = bb.event.register_UIHhandler(writer, True) + self.event_writer = writer + + # Where to read commands from + reader = ConnectionReader(ui_fds[1]) + fds.append(reader) + self.command_channel = reader + + # Where to send command return values to + writer = ConnectionWriter(ui_fds[2]) + self.command_channel_reply = writer + + self.haveui = True + + except EOFError: + print("Disconnecting Client") + fds.remove(self.controllersock) + fds.remove(self.command_channel) + bb.event.unregister_UIHhandler(self.event_handle, True) + self.command_channel_reply.writer.close() + self.event_writer.writer.close() + del self.event_writer + self.controllersock.close() + self.haveui = False + self.lastui = time.time() + self.cooker.clientComplete() + if self.timeout is None: + print("No timeout, exiting.") + self.quit = True + if not self.haveui and self.lastui and self.timeout and (self.lastui + self.timeout) < time.time(): + print("Server timeout, exiting.") + self.quit = True - self.event_queue.close() - bb.event.unregister_UIHhandler(self.event_handle.value, True) - self.command_channel.close() - self.cooker.shutdown(True) - self.quitout.close() + ready = self.idle_commands(.1, fds) + + print("Exiting") + try: + self.cooker.shutdown(True) + except: + pass + + # Remove the socket file so we don't get any more connections to avoid races + os.unlink(self.sockname) + self.sock.close() + + # Finally release the lockfile but warn about other processes holding it open + lock = self.bitbake_lock + lockfile = lock.name + lock.close() + lock = None + + while not lock: + with bb.utils.timeout(3): + lock = bb.utils.lockfile(lockfile, shared=False, retry=False, block=True) + if not lock: + # Some systems may not have lsof available + procs = None + try: + procs = subprocess.check_output(["lsof", '-w', lockfile], stderr=subprocess.STDOUT) + except OSError as e: + if e.errno != errno.ENOENT: + raise + if procs is None: + # Fall back to fuser if lsof is unavailable + try: + procs = subprocess.check_output(["fuser", '-v', lockfile], stderr=subprocess.STDOUT) + except OSError as e: + if e.errno != errno.ENOENT: + raise + + msg = "Delaying shutdown due to active processes which appear to be holding bitbake.lock" + if procs: + msg += ":\n%s" % str(procs) + print(msg) + return + # We hold the lock so we can remove the file (hide stale pid data) + bb.utils.remove(lockfile) + bb.utils.unlockfile(lock) def idle_commands(self, delay, fds=None): nextsleep = delay @@ -189,140 +266,253 @@ class ProcessServer(Process): nextsleep = self.next_heartbeat - now if nextsleep is not None: + if self.xmlrpc: + nextsleep = self.xmlrpc.get_timeout(nextsleep) try: - select.select(fds,[],[],nextsleep) + return select.select(fds,[],[],nextsleep)[0] except InterruptedError: - # ignore EINTR error, nextsleep only used for wait - # certain time - pass + # Ignore EINTR + return [] + else: + return [] + + +class ServerCommunicator(): + def __init__(self, connection, recv): + self.connection = connection + self.recv = recv def runCommand(self, command): - """ - Run a cooker command on the server - """ - self.command_channel.send(self.cooker.command.runCommand(command)) - def stop(self): - self.quitin.send("quit") - self.quitin.close() + self.connection.send(command) + while True: + # don't let the user ctrl-c while we're waiting for a response + try: + for idx in range(0,4): # 0, 1, 2, 3 + if self.recv.poll(1): + return self.recv.get() + else: + bb.warn("Timeout while attempting to communicate with bitbake server") + raise ProcessTimeout("Gave up; Too many tries: timeout while attempting to communicate with bitbake server") + except KeyboardInterrupt: + pass + + def updateFeatureSet(self, featureset): + _, error = self.runCommand(["setFeatures", featureset]) + if error: + logger.error("Unable to set the cooker to the correct featureset: %s" % error) + raise BaseException(error) + + def getEventHandle(self): + handle, error = self.runCommand(["getUIHandlerNum"]) + if error: + logger.error("Unable to get UI Handler Number: %s" % error) + raise BaseException(error) - def addcooker(self, cooker): - self.cooker = cooker + return handle - def register_idle_function(self, function, data): - """Register a function to be called while the server is idle""" - assert hasattr(function, '__call__') - self._idlefuns[function] = data + def terminateServer(self): + self.connection.send(['terminateServer']) + return class BitBakeProcessServerConnection(object): - def __init__(self, serverImpl, ui_channel, event_queue): - self.procserver = serverImpl - self.ui_channel = ui_channel - self.event_queue = event_queue - self.connection = ServerCommunicator(self.ui_channel, self.procserver.event_handle, self.procserver) - self.events = self.event_queue - self.terminated = False - - def sigterm_terminate(self): - bb.error("UI received SIGTERM") - self.terminate() + def __init__(self, ui_channel, recv, eq): + self.connection = ServerCommunicator(ui_channel, recv) + self.events = eq def terminate(self): - if self.terminated: - return - self.terminated = True - def flushevents(): - while True: - try: - event = self.event_queue.get(block=False) - except (Empty, IOError): - break - if isinstance(event, logging.LogRecord): - logger.handle(event) - - self.procserver.stop() - - while self.procserver.is_alive(): - flushevents() - self.procserver.join(0.1) - - self.ui_channel.close() - self.event_queue.close() - self.event_queue.setexit() - # XXX: Call explicity close in _writer to avoid - # fd leakage because isn't called on Queue.close() - self.event_queue._writer.close() - - def setupEventQueue(self): - pass - -# Wrap Queue to provide API which isn't server implementation specific -class ProcessEventQueue(multiprocessing.queues.Queue): - def __init__(self, maxsize): - multiprocessing.queues.Queue.__init__(self, maxsize, ctx=multiprocessing.get_context()) - self.exit = False - bb.utils.set_process_name("ProcessEQueue") - - def setexit(self): - self.exit = True - - def waitEvent(self, timeout): - if self.exit: - return self.getEvent() + self.socket_connection.close() + return + +class BitBakeServer(object): + def __init__(self, lock, sockname, configuration, featureset): + + self.configuration = configuration + self.featureset = featureset + self.sockname = sockname + self.bitbake_lock = lock + + # Create server control socket + if os.path.exists(sockname): + os.unlink(sockname) + + self.sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) + # AF_UNIX has path length issues so chdir here to workaround + cwd = os.getcwd() try: - if not self.server.is_alive(): - return self.getEvent() - if timeout == 0: - return self.get(False) - return self.get(True, timeout) - except Empty: - return None + os.chdir(os.path.dirname(sockname)) + self.sock.bind(os.path.basename(sockname)) + finally: + os.chdir(cwd) + self.sock.listen(1) + + os.set_inheritable(self.sock.fileno(), True) + bb.daemonize.createDaemon(self._startServer, "bitbake-cookerdaemon.log") + self.sock.close() + self.bitbake_lock.close() + + def _startServer(self): + server = ProcessServer(self.bitbake_lock, self.sock, self.sockname) + self.configuration.setServerRegIdleCallback(server.register_idle_function) + + # Copy prefile and postfile to _server variants + for param in ('prefile', 'postfile'): + value = getattr(self.configuration, param) + if value: + setattr(self.configuration, "%s_server" % param, value) + + self.cooker = bb.cooker.BBCooker(self.configuration, self.featureset) + server.cooker = self.cooker + server.server_timeout = self.configuration.server_timeout + server.xmlrpcinterface = self.configuration.xmlrpcinterface + print("Started bitbake server pid %d" % os.getpid()) + server.start() + +def connectProcessServer(sockname, featureset): + # Connect to socket + sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) + # AF_UNIX has path length issues so chdir here to workaround + cwd = os.getcwd() + + try: + os.chdir(os.path.dirname(sockname)) + sock.connect(os.path.basename(sockname)) + finally: + os.chdir(cwd) + + try: + # Send an fd for the remote to write events to + readfd, writefd = os.pipe() + eq = BBUIEventQueue(readfd) + # Send an fd for the remote to recieve commands from + readfd1, writefd1 = os.pipe() + command_chan = ConnectionWriter(writefd1) + # Send an fd for the remote to write commands results to + readfd2, writefd2 = os.pipe() + command_chan_recv = ConnectionReader(readfd2) + + sendfds(sock, [writefd, readfd1, writefd2]) + + server_connection = BitBakeProcessServerConnection(command_chan, command_chan_recv, eq) + + server_connection.connection.updateFeatureSet(featureset) + + # Save sock so it doesn't get gc'd for the life of our connection + server_connection.socket_connection = sock + except: + sock.close() + raise + + return server_connection + +def sendfds(sock, fds): + '''Send an array of fds over an AF_UNIX socket.''' + fds = array.array('i', fds) + msg = bytes([len(fds) % 256]) + sock.sendmsg([msg], [(socket.SOL_SOCKET, socket.SCM_RIGHTS, fds)]) + +def recvfds(sock, size): + '''Receive an array of fds over an AF_UNIX socket.''' + a = array.array('i') + bytes_size = a.itemsize * size + msg, ancdata, flags, addr = sock.recvmsg(1, socket.CMSG_LEN(bytes_size)) + if not msg and not ancdata: + raise EOFError + try: + if len(ancdata) != 1: + raise RuntimeError('received %d items of ancdata' % + len(ancdata)) + cmsg_level, cmsg_type, cmsg_data = ancdata[0] + if (cmsg_level == socket.SOL_SOCKET and + cmsg_type == socket.SCM_RIGHTS): + if len(cmsg_data) % a.itemsize != 0: + raise ValueError + a.frombytes(cmsg_data) + assert len(a) % 256 == msg[0] + return list(a) + except (ValueError, IndexError): + pass + raise RuntimeError('Invalid data received') + +class BBUIEventQueue: + def __init__(self, readfd): + + self.eventQueue = [] + self.eventQueueLock = threading.Lock() + self.eventQueueNotify = threading.Event() + + self.reader = ConnectionReader(readfd) + + self.t = threading.Thread() + self.t.setDaemon(True) + self.t.run = self.startCallbackHandler + self.t.start() def getEvent(self): - try: - if not self.server.is_alive(): - self.setexit() - return self.get(False) - except Empty: - if self.exit: - sys.exit(1) + self.eventQueueLock.acquire() + + if len(self.eventQueue) == 0: + self.eventQueueLock.release() return None -class BitBakeServer(object): - def initServer(self, single_use=True): - # establish communication channels. We use bidirectional pipes for - # ui <--> server command/response pairs - # and a queue for server -> ui event notifications - # - self.ui_channel, self.server_channel = Pipe() - self.event_queue = ProcessEventQueue(0) - self.serverImpl = ProcessServer(self.server_channel, self.event_queue, None) - self.event_queue.server = self.serverImpl - - def detach(self): - self.serverImpl.start() - return + item = self.eventQueue.pop(0) - def establishConnection(self, featureset): + if len(self.eventQueue) == 0: + self.eventQueueNotify.clear() - self.connection = BitBakeProcessServerConnection(self.serverImpl, self.ui_channel, self.event_queue) + self.eventQueueLock.release() + return item - _, error = self.connection.connection.runCommand(["setFeatures", featureset]) - if error: - logger.error("Unable to set the cooker to the correct featureset: %s" % error) - raise BaseException(error) - signal.signal(signal.SIGTERM, lambda i, s: self.connection.sigterm_terminate()) - return self.connection + def waitEvent(self, delay): + self.eventQueueNotify.wait(delay) + return self.getEvent() - def addcooker(self, cooker): - self.cooker = cooker - self.serverImpl.addcooker(cooker) + def queue_event(self, event): + self.eventQueueLock.acquire() + self.eventQueue.append(event) + self.eventQueueNotify.set() + self.eventQueueLock.release() - def getServerIdleCB(self): - return self.serverImpl.register_idle_function + def send_event(self, event): + self.queue_event(pickle.loads(event)) - def saveConnectionDetails(self): - return + def startCallbackHandler(self): + bb.utils.set_process_name("UIEventQueue") + while True: + self.reader.wait() + event = self.reader.get() + self.queue_event(event) + +class ConnectionReader(object): + + def __init__(self, fd): + self.reader = multiprocessing.connection.Connection(fd, writable=False) + self.rlock = multiprocessing.Lock() + + def wait(self, timeout=None): + return multiprocessing.connection.wait([self.reader], timeout) + + def poll(self, timeout=None): + return self.reader.poll(timeout) + + def get(self): + with self.rlock: + res = self.reader.recv_bytes() + return multiprocessing.reduction.ForkingPickler.loads(res) + + def fileno(self): + return self.reader.fileno() + +class ConnectionWriter(object): + + def __init__(self, fd): + self.writer = multiprocessing.connection.Connection(fd, readable=False) + self.wlock = multiprocessing.Lock() + # Why bb.event needs this I have no idea + self.event = self + + def send(self, obj): + obj = multiprocessing.reduction.ForkingPickler.dumps(obj) + with self.wlock: + self.writer.send_bytes(obj) - def endSession(self): - self.connection.terminate() diff --git a/lib/bb/server/xmlrpc.py b/lib/bb/server/xmlrpc.py deleted file mode 100644 index 6874765..0000000 --- a/lib/bb/server/xmlrpc.py +++ /dev/null @@ -1,492 +0,0 @@ -# -# BitBake XMLRPC Server -# -# Copyright (C) 2006 - 2007 Michael 'Mickey' Lauer -# Copyright (C) 2006 - 2008 Richard Purdie -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -""" - This module implements an xmlrpc server for BitBake. - - Use this by deriving a class from BitBakeXMLRPCServer and then adding - methods which you want to "export" via XMLRPC. If the methods have the - prefix xmlrpc_, then registering those function will happen automatically, - if not, you need to call register_function. - - Use register_idle_function() to add a function which the xmlrpc server - calls from within server_forever when no requests are pending. Make sure - that those functions are non-blocking or else you will introduce latency - in the server's main loop. -""" - -import os -import sys - -import hashlib -import time -import socket -import signal -import threading -import pickle -import inspect -import select -import http.client -import xmlrpc.client -from xmlrpc.server import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler - -import bb -from bb import daemonize -from bb.ui import uievent - -DEBUG = False - -class BBTransport(xmlrpc.client.Transport): - def __init__(self, timeout): - self.timeout = timeout - self.connection_token = None - xmlrpc.client.Transport.__init__(self) - - # Modified from default to pass timeout to HTTPConnection - def make_connection(self, host): - #return an existing connection if possible. This allows - #HTTP/1.1 keep-alive. - if self._connection and host == self._connection[0]: - return self._connection[1] - - # create a HTTP connection object from a host descriptor - chost, self._extra_headers, x509 = self.get_host_info(host) - #store the host argument along with the connection object - self._connection = host, http.client.HTTPConnection(chost, timeout=self.timeout) - return self._connection[1] - - def set_connection_token(self, token): - self.connection_token = token - - def send_content(self, h, body): - if self.connection_token: - h.putheader("Bitbake-token", self.connection_token) - xmlrpc.client.Transport.send_content(self, h, body) - -def _create_server(host, port, timeout = 60): - t = BBTransport(timeout) - s = xmlrpc.client.ServerProxy("http://%s:%d/" % (host, port), transport=t, allow_none=True, use_builtin_types=True) - return s, t - -def check_connection(remote, timeout): - try: - host, port = remote.split(":") - port = int(port) - except Exception as e: - bb.warn("Failed to read remote definition (%s)" % str(e)) - raise e - - server, _transport = _create_server(host, port, timeout) - try: - ret, err = server.runCommand(['getVariable', 'TOPDIR']) - if err or not ret: - return False - except ConnectionError: - return False - return True - -class BitBakeServerCommands(): - - def __init__(self, server): - self.server = server - self.has_client = False - - def registerEventHandler(self, host, port): - """ - Register a remote UI Event Handler - """ - s, t = _create_server(host, port) - - # we don't allow connections if the cooker is running - if (self.cooker.state in [bb.cooker.state.parsing, bb.cooker.state.running]): - return None, "Cooker is busy: %s" % bb.cooker.state.get_name(self.cooker.state) - - self.event_handle = bb.event.register_UIHhandler(s, True) - return self.event_handle, 'OK' - - def unregisterEventHandler(self, handlerNum): - """ - Unregister a remote UI Event Handler - """ - return bb.event.unregister_UIHhandler(handlerNum, True) - - def runCommand(self, command): - """ - Run a cooker command on the server - """ - return self.cooker.command.runCommand(command, self.server.readonly) - - def getEventHandle(self): - return self.event_handle - - def terminateServer(self): - """ - Trigger the server to quit - """ - self.server.quit = True - print("Server (cooker) exiting") - return - - def addClient(self): - if self.has_client: - return None - token = hashlib.md5(str(time.time()).encode("utf-8")).hexdigest() - self.server.set_connection_token(token) - self.has_client = True - return token - - def removeClient(self): - if self.has_client: - self.server.set_connection_token(None) - self.has_client = False - if self.server.single_use: - self.server.quit = True - -# This request handler checks if the request has a "Bitbake-token" header -# field (this comes from the client side) and compares it with its internal -# "Bitbake-token" field (this comes from the server). If the two are not -# equal, it is assumed that a client is trying to connect to the server -# while another client is connected to the server. In this case, a 503 error -# ("service unavailable") is returned to the client. -class BitBakeXMLRPCRequestHandler(SimpleXMLRPCRequestHandler): - def __init__(self, request, client_address, server): - self.server = server - SimpleXMLRPCRequestHandler.__init__(self, request, client_address, server) - - def do_POST(self): - try: - remote_token = self.headers["Bitbake-token"] - except: - remote_token = None - if remote_token != self.server.connection_token and remote_token != "observer": - self.report_503() - else: - if remote_token == "observer": - self.server.readonly = True - else: - self.server.readonly = False - SimpleXMLRPCRequestHandler.do_POST(self) - - def report_503(self): - self.send_response(503) - response = 'No more client allowed' - self.send_header("Content-type", "text/plain") - self.send_header("Content-length", str(len(response))) - self.end_headers() - self.wfile.write(bytes(response, 'utf-8')) - - -class XMLRPCProxyServer(object): - """ not a real working server, but a stub for a proxy server connection - - """ - def __init__(self, host, port, use_builtin_types=True): - self.host = host - self.port = port - self._idlefuns = {} - - def addcooker(self, cooker): - self.cooker = cooker - - def register_idle_function(self, function, data): - """Register a function to be called while the server is idle""" - assert hasattr(function, '__call__') - self._idlefuns[function] = data - - -class XMLRPCServer(SimpleXMLRPCServer): - # remove this when you're done with debugging - # allow_reuse_address = True - - def __init__(self, interface, single_use=False, idle_timeout=0): - """ - Constructor - """ - self._idlefuns = {} - self.single_use = single_use - # Use auto port configuration - if (interface[1] == -1): - interface = (interface[0], 0) - SimpleXMLRPCServer.__init__(self, interface, - requestHandler=BitBakeXMLRPCRequestHandler, - logRequests=False, allow_none=True) - self.host, self.port = self.socket.getsockname() - self.connection_token = None - #self.register_introspection_functions() - self.commands = BitBakeServerCommands(self) - self.autoregister_all_functions(self.commands, "") - self.interface = interface - self.time = time.time() - self.idle_timeout = idle_timeout - if idle_timeout: - self.register_idle_function(self.handle_idle_timeout, self) - self.heartbeat_seconds = 1 # default, BB_HEARTBEAT_EVENT will be checked once we have a datastore. - self.next_heartbeat = time.time() - - def addcooker(self, cooker): - self.cooker = cooker - self.commands.cooker = cooker - - def autoregister_all_functions(self, context, prefix): - """ - Convenience method for registering all functions in the scope - of this class that start with a common prefix - """ - methodlist = inspect.getmembers(context, inspect.ismethod) - for name, method in methodlist: - if name.startswith(prefix): - self.register_function(method, name[len(prefix):]) - - def handle_idle_timeout(self, server, data, abort): - if not abort: - if time.time() - server.time > server.idle_timeout: - server.quit = True - print("Server idle timeout expired") - return [] - - def serve_forever(self): - heartbeat_event = self.cooker.data.getVar('BB_HEARTBEAT_EVENT') - if heartbeat_event: - try: - self.heartbeat_seconds = float(heartbeat_event) - except: - # Throwing an exception here causes bitbake to hang. - # Just warn about the invalid setting and continue - bb.warn('Ignoring invalid BB_HEARTBEAT_EVENT=%s, must be a float specifying seconds.' % heartbeat_event) - - # Start the actual XMLRPC server - bb.cooker.server_main(self.cooker, self._serve_forever) - - def _serve_forever(self): - """ - Serve Requests. Overloaded to honor a quit command - """ - self.quit = False - while not self.quit: - fds = [self] - nextsleep = 0.1 - for function, data in list(self._idlefuns.items()): - retval = None - try: - retval = function(self, data, False) - if retval is False: - del self._idlefuns[function] - elif retval is True: - nextsleep = 0 - elif isinstance(retval, float): - if (retval < nextsleep): - nextsleep = retval - else: - fds = fds + retval - except SystemExit: - raise - except: - import traceback - traceback.print_exc() - if retval == None: - # the function execute failed; delete it - del self._idlefuns[function] - pass - - socktimeout = self.socket.gettimeout() or nextsleep - socktimeout = min(socktimeout, nextsleep) - # Mirror what BaseServer handle_request would do - try: - fd_sets = select.select(fds, [], [], socktimeout) - if fd_sets[0] and self in fd_sets[0]: - if self.idle_timeout: - self.time = time.time() - self._handle_request_noblock() - except IOError: - # we ignore interrupted calls - pass - - # Create new heartbeat event? - now = time.time() - if now >= self.next_heartbeat: - # We might have missed heartbeats. Just trigger once in - # that case and continue after the usual delay. - self.next_heartbeat += self.heartbeat_seconds - if self.next_heartbeat <= now: - self.next_heartbeat = now + self.heartbeat_seconds - heartbeat = bb.event.HeartbeatEvent(now) - bb.event.fire(heartbeat, self.cooker.data) - if nextsleep and now + nextsleep > self.next_heartbeat: - # Shorten timeout so that we we wake up in time for - # the heartbeat. - nextsleep = self.next_heartbeat - now - - # Tell idle functions we're exiting - for function, data in list(self._idlefuns.items()): - try: - retval = function(self, data, True) - except: - pass - self.server_close() - return - - def set_connection_token(self, token): - self.connection_token = token - - def register_idle_function(self, function, data): - """Register a function to be called while the server is idle""" - assert hasattr(function, '__call__') - self._idlefuns[function] = data - - -class BitBakeXMLRPCServerConnection(object): - def __init__(self, serverImpl, clientinfo=("localhost", 0), observer_only = False, featureset = None): - self.connection, self.transport = _create_server(serverImpl.host, serverImpl.port) - self.clientinfo = clientinfo - self.serverImpl = serverImpl - self.observer_only = observer_only - if featureset: - self.featureset = featureset - else: - self.featureset = [] - - def connect(self, token = None): - if token is None: - if self.observer_only: - token = "observer" - else: - token = self.connection.addClient() - - if token is None: - return None - - self.transport.set_connection_token(token) - return self - - def setupEventQueue(self): - self.events = uievent.BBUIEventQueue(self.connection, self.clientinfo) - for event in bb.event.ui_queue: - self.events.queue_event(event) - - _, error = self.connection.runCommand(["setFeatures", self.featureset]) - if error: - # disconnect the client, we can't make the setFeature work - self.connection.removeClient() - # no need to log it here, the error shall be sent to the client - raise BaseException(error) - - def removeClient(self): - if not self.observer_only: - self.connection.removeClient() - - def terminate(self): - # Don't wait for server indefinitely - import socket - socket.setdefaulttimeout(2) - try: - self.events.system_quit() - except: - pass - try: - self.connection.removeClient() - except: - pass - -class BitBakeServer(object): - def initServer(self, interface = ("localhost", 0), - single_use = False, idle_timeout=0): - self.interface = interface - self.serverImpl = XMLRPCServer(interface, single_use, idle_timeout) - - def detach(self): - daemonize.createDaemon(self.serverImpl.serve_forever, "bitbake-cookerdaemon.log") - del self.cooker - - def establishConnection(self, featureset): - self.connection = BitBakeXMLRPCServerConnection(self.serverImpl, self.interface, False, featureset) - return self.connection.connect() - - def set_connection_token(self, token): - self.connection.transport.set_connection_token(token) - - def addcooker(self, cooker): - self.cooker = cooker - self.serverImpl.addcooker(cooker) - - def getServerIdleCB(self): - return self.serverImpl.register_idle_function - - def saveConnectionDetails(self): - return - - def endSession(self): - self.connection.terminate() - -class BitBakeXMLRPCClient(object): - - def __init__(self, observer_only = False, token = None): - self.token = token - - self.observer_only = observer_only - # if we need extra caches, just tell the server to load them all - pass - - def saveConnectionDetails(self, remote): - self.remote = remote - - def establishConnection(self, featureset): - # The format of "remote" must be "server:port" - try: - [host, port] = self.remote.split(":") - port = int(port) - except Exception as e: - bb.warn("Failed to read remote definition (%s)" % str(e)) - raise e - - # We need our IP for the server connection. We get the IP - # by trying to connect with the server - try: - s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) - s.connect((host, port)) - ip = s.getsockname()[0] - s.close() - except Exception as e: - bb.warn("Could not create socket for %s:%s (%s)" % (host, port, str(e))) - raise e - try: - self.serverImpl = XMLRPCProxyServer(host, port, use_builtin_types=True) - self.connection = BitBakeXMLRPCServerConnection(self.serverImpl, (ip, 0), self.observer_only, featureset) - return self.connection.connect(self.token) - except Exception as e: - bb.warn("Could not connect to server at %s:%s (%s)" % (host, port, str(e))) - raise e - - def endSession(self): - self.connection.removeClient() - - def initServer(self): - self.serverImpl = None - self.connection = None - return - - def addcooker(self, cooker): - self.cooker = cooker - self.serverImpl.addcooker(cooker) - - def getServerIdleCB(self): - return self.serverImpl.register_idle_function - - def detach(self): - return - diff --git a/lib/bb/server/xmlrpcclient.py b/lib/bb/server/xmlrpcclient.py new file mode 100644 index 0000000..4661a9e --- /dev/null +++ b/lib/bb/server/xmlrpcclient.py @@ -0,0 +1,154 @@ +# +# BitBake XMLRPC Client Interface +# +# Copyright (C) 2006 - 2007 Michael 'Mickey' Lauer +# Copyright (C) 2006 - 2008 Richard Purdie +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +import os +import sys + +import socket +import http.client +import xmlrpc.client + +import bb +from bb.ui import uievent + +class BBTransport(xmlrpc.client.Transport): + def __init__(self, timeout): + self.timeout = timeout + self.connection_token = None + xmlrpc.client.Transport.__init__(self) + + # Modified from default to pass timeout to HTTPConnection + def make_connection(self, host): + #return an existing connection if possible. This allows + #HTTP/1.1 keep-alive. + if self._connection and host == self._connection[0]: + return self._connection[1] + + # create a HTTP connection object from a host descriptor + chost, self._extra_headers, x509 = self.get_host_info(host) + #store the host argument along with the connection object + self._connection = host, http.client.HTTPConnection(chost, timeout=self.timeout) + return self._connection[1] + + def set_connection_token(self, token): + self.connection_token = token + + def send_content(self, h, body): + if self.connection_token: + h.putheader("Bitbake-token", self.connection_token) + xmlrpc.client.Transport.send_content(self, h, body) + +def _create_server(host, port, timeout = 60): + t = BBTransport(timeout) + s = xmlrpc.client.ServerProxy("http://%s:%d/" % (host, port), transport=t, allow_none=True, use_builtin_types=True) + return s, t + +def check_connection(remote, timeout): + try: + host, port = remote.split(":") + port = int(port) + except Exception as e: + bb.warn("Failed to read remote definition (%s)" % str(e)) + raise e + + server, _transport = _create_server(host, port, timeout) + try: + ret, err = server.runCommand(['getVariable', 'TOPDIR']) + if err or not ret: + return False + except ConnectionError: + return False + return True + +class BitBakeXMLRPCServerConnection(object): + def __init__(self, host, port, clientinfo=("localhost", 0), observer_only = False, featureset = None): + self.connection, self.transport = _create_server(host, port) + self.clientinfo = clientinfo + self.observer_only = observer_only + if featureset: + self.featureset = featureset + else: + self.featureset = [] + + self.events = uievent.BBUIEventQueue(self.connection, self.clientinfo) + + _, error = self.connection.runCommand(["setFeatures", self.featureset]) + if error: + # disconnect the client, we can't make the setFeature work + self.connection.removeClient() + # no need to log it here, the error shall be sent to the client + raise BaseException(error) + + def connect(self, token = None): + if token is None: + if self.observer_only: + token = "observer" + else: + token = self.connection.addClient() + + if token is None: + return None + + self.transport.set_connection_token(token) + return self + + def removeClient(self): + if not self.observer_only: + self.connection.removeClient() + + def terminate(self): + # Don't wait for server indefinitely + socket.setdefaulttimeout(2) + try: + self.events.system_quit() + except: + pass + try: + self.connection.removeClient() + except: + pass + +def connectXMLRPC(remote, featureset, observer_only = False, token = None): + # The format of "remote" must be "server:port" + try: + [host, port] = remote.split(":") + port = int(port) + except Exception as e: + bb.warn("Failed to parse remote definition %s (%s)" % (remote, str(e))) + raise e + + # We need our IP for the server connection. We get the IP + # by trying to connect with the server + try: + s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + s.connect((host, port)) + ip = s.getsockname()[0] + s.close() + except Exception as e: + bb.warn("Could not create socket for %s:%s (%s)" % (host, port, str(e))) + raise e + try: + connection = BitBakeXMLRPCServerConnection(host, port, (ip, 0), observer_only, featureset) + return connection.connect(token) + except Exception as e: + bb.warn("Could not connect to server at %s:%s (%s)" % (host, port, str(e))) + raise e + + + diff --git a/lib/bb/server/xmlrpcserver.py b/lib/bb/server/xmlrpcserver.py new file mode 100644 index 0000000..875b128 --- /dev/null +++ b/lib/bb/server/xmlrpcserver.py @@ -0,0 +1,158 @@ +# +# BitBake XMLRPC Server Interface +# +# Copyright (C) 2006 - 2007 Michael 'Mickey' Lauer +# Copyright (C) 2006 - 2008 Richard Purdie +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +import os +import sys + +import hashlib +import time +import inspect +from xmlrpc.server import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler + +import bb + +# This request handler checks if the request has a "Bitbake-token" header +# field (this comes from the client side) and compares it with its internal +# "Bitbake-token" field (this comes from the server). If the two are not +# equal, it is assumed that a client is trying to connect to the server +# while another client is connected to the server. In this case, a 503 error +# ("service unavailable") is returned to the client. +class BitBakeXMLRPCRequestHandler(SimpleXMLRPCRequestHandler): + def __init__(self, request, client_address, server): + self.server = server + SimpleXMLRPCRequestHandler.__init__(self, request, client_address, server) + + def do_POST(self): + try: + remote_token = self.headers["Bitbake-token"] + except: + remote_token = None + if 0 and remote_token != self.server.connection_token and remote_token != "observer": + self.report_503() + else: + if remote_token == "observer": + self.server.readonly = True + else: + self.server.readonly = False + SimpleXMLRPCRequestHandler.do_POST(self) + + def report_503(self): + self.send_response(503) + response = 'No more client allowed' + self.send_header("Content-type", "text/plain") + self.send_header("Content-length", str(len(response))) + self.end_headers() + self.wfile.write(bytes(response, 'utf-8')) + +class BitBakeXMLRPCServer(SimpleXMLRPCServer): + # remove this when you're done with debugging + # allow_reuse_address = True + + def __init__(self, interface, cooker, parent): + # Use auto port configuration + if (interface[1] == -1): + interface = (interface[0], 0) + SimpleXMLRPCServer.__init__(self, interface, + requestHandler=BitBakeXMLRPCRequestHandler, + logRequests=False, allow_none=True) + self.host, self.port = self.socket.getsockname() + self.interface = interface + + self.connection_token = None + self.commands = BitBakeXMLRPCServerCommands(self) + self.register_functions(self.commands, "") + + self.cooker = cooker + self.parent = parent + + + def register_functions(self, context, prefix): + """ + Convenience method for registering all functions in the scope + of this class that start with a common prefix + """ + methodlist = inspect.getmembers(context, inspect.ismethod) + for name, method in methodlist: + if name.startswith(prefix): + self.register_function(method, name[len(prefix):]) + + def get_timeout(self, delay): + socktimeout = self.socket.gettimeout() or delay + return min(socktimeout, delay) + + def handle_requests(self): + self._handle_request_noblock() + +class BitBakeXMLRPCServerCommands(): + + def __init__(self, server): + self.server = server + self.has_client = False + + def registerEventHandler(self, host, port): + """ + Register a remote UI Event Handler + """ + s, t = bb.server.xmlrpcclient._create_server(host, port) + + # we don't allow connections if the cooker is running + if (self.server.cooker.state in [bb.cooker.state.parsing, bb.cooker.state.running]): + return None, "Cooker is busy: %s" % bb.cooker.state.get_name(self.server.cooker.state) + + self.event_handle = bb.event.register_UIHhandler(s, True) + return self.event_handle, 'OK' + + def unregisterEventHandler(self, handlerNum): + """ + Unregister a remote UI Event Handler + """ + ret = bb.event.unregister_UIHhandler(handlerNum, True) + self.event_handle = None + return ret + + def runCommand(self, command): + """ + Run a cooker command on the server + """ + return self.server.cooker.command.runCommand(command, self.server.readonly) + + def getEventHandle(self): + return self.event_handle + + def terminateServer(self): + """ + Trigger the server to quit + """ + self.server.parent.quit = True + print("XMLRPC Server triggering exit") + return + + def addClient(self): + if self.server.parent.haveui: + return None + token = hashlib.md5(str(time.time()).encode("utf-8")).hexdigest() + self.server.connection_token = token + self.server.parent.haveui = True + return token + + def removeClient(self): + if self.server.parent.haveui: + self.server.connection_token = None + self.server.parent.haveui = False + diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index fb0da62..303ce02 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -243,7 +243,7 @@ class Tinfoil: cookerconfig = CookerConfiguration() cookerconfig.setConfigParameters(config_params) - server, self.server_connection, ui_module = setup_bitbake(config_params, + self.server_connection, ui_module = setup_bitbake(config_params, cookerconfig, extrafeatures, setup_logging=False) diff --git a/lib/prserv/serv.py b/lib/prserv/serv.py index a7efa58..5f061c2 100644 --- a/lib/prserv/serv.py +++ b/lib/prserv/serv.py @@ -6,7 +6,7 @@ import queue import socket import io import sqlite3 -import bb.server.xmlrpc +import bb.server.xmlrpcclient import prserv import prserv.db import errno @@ -300,7 +300,7 @@ class PRServerConnection(object): host, port = singleton.getinfo() self.host = host self.port = port - self.connection, self.transport = bb.server.xmlrpc._create_server(self.host, self.port) + self.connection, self.transport = bb.server.xmlrpcclient._create_server(self.host, self.port) def terminate(self): try: -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 07:45:56 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 07:45:56 +0000 Subject: [oe-commits] [bitbake] 05/19: bb/main.py: avoid starting server when not needed In-Reply-To: <150062315190.16247.1284857909163139317@git.openembedded.org> References: <150062315190.16247.1284857909163139317@git.openembedded.org> Message-ID: <20170721074552.38BD7233620@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository bitbake. commit 335fd0106359dddfe1eeb0c7d0bc03f8454b895c Author: Robert Yang AuthorDate: Mon Jul 17 01:27:14 2017 -0700 bb/main.py: avoid starting server when not needed Fixed 1: $ . ../poky/oe-init-build-env-memres . $ bitbake -m $ bitbake -m # shutdown it again $ bitbake -m Starting bitbake server... Terminated bitbake server. It starts the server and kill it which is redundant. $ bitbake -m $ bitbake --status-only Starting bitbake server... It starts the server which is not what we need. Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- lib/bb/main.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/bb/main.py b/lib/bb/main.py index 84fe904..b09513f 100755 --- a/lib/bb/main.py +++ b/lib/bb/main.py @@ -368,8 +368,10 @@ def bitbake_main(configParams, configuration): configuration.debug_domains) server_connection, ui_module = setup_bitbake(configParams, configuration) - if server_connection is None and configParams.kill_server: - return 0 + # No server connection + if server_connection is None: + if configParams.status_only or configParams.kill_server: + return 1 if not configParams.server_only: if configParams.status_only: @@ -426,6 +428,10 @@ def setup_bitbake(configParams, configuration, extrafeatures=None, setup_logging topdir, lock = lockBitbake() sockname = topdir + "/bitbake.sock" if lock: + if configParams.status_only or configParams.kill_server: + logger.info("bitbake server is not running.") + lock.close() + return None, None # we start a server with a given configuration logger.info("Starting bitbake server...") server = bb.server.process.BitBakeServer(lock, sockname, configuration, featureset) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 07:45:59 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 07:45:59 +0000 Subject: [oe-commits] [bitbake] 08/19: tinfoil: add a parse_recipes() function In-Reply-To: <150062315190.16247.1284857909163139317@git.openembedded.org> References: <150062315190.16247.1284857909163139317@git.openembedded.org> Message-ID: <20170721074552.51BF8233623@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository bitbake. commit 821f6c41d850752d2bcc2ccd4f8e75b2897a0a3e Author: Paul Eggleton AuthorDate: Wed Jul 19 11:56:01 2017 +0200 tinfoil: add a parse_recipes() function Python style recommends underscore based naming rather than camelCase, and thus the former has been used for most of tinfoil's functions. Add an underscored version of parseRecipes() for consistency and change the one place we call it to use the new version. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- bin/bitbake-layers | 2 +- lib/bb/tinfoil.py | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/bin/bitbake-layers b/bin/bitbake-layers index 04e6bec..d184011 100755 --- a/bin/bitbake-layers +++ b/bin/bitbake-layers @@ -90,7 +90,7 @@ def main(): if getattr(args, 'parserecipes', False): tinfoil.config_data.disableTracking() - tinfoil.parseRecipes() + tinfoil.parse_recipes() tinfoil.config_data.enableTracking() return args.func(args) diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index 65ebdc2..ddc7b06 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -289,7 +289,13 @@ class Tinfoil: def parseRecipes(self): """ - Force a parse of all recipes. Normally you should specify + Legacy function - use parse_recipes() instead. + """ + self.parse_recipes() + + def parse_recipes(self): + """ + Load information on all recipes. Normally you should specify config_only=False when calling prepare() instead of using this function; this function is designed for situations where you need to initialise Tinfoil and use it with config_only=True first and -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 07:45:57 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 07:45:57 +0000 Subject: [oe-commits] [bitbake] 06/19: bb/main.py: fix logic for --observe-only In-Reply-To: <150062315190.16247.1284857909163139317@git.openembedded.org> References: <150062315190.16247.1284857909163139317@git.openembedded.org> Message-ID: <20170721074552.3F936233621@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository bitbake. commit 4ffc91a2b3eb13e98078e6b1913f056a0c1797bc Author: Robert Yang AuthorDate: Mon Jul 17 03:17:03 2017 -0700 bb/main.py: fix logic for --observe-only Fixed: $ bitbake --observe-only FATAL: '--observe-only' can only be used by UI clients connecting to a server. And even: $bitbake --observe-only -B localhost:-1 FATAL: '--observe-only' can only be used by UI clients connecting to a server. This was beucase the brackets were in a wrong position. Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- lib/bb/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/bb/main.py b/lib/bb/main.py index b09513f..5ca3485 100755 --- a/lib/bb/main.py +++ b/lib/bb/main.py @@ -355,7 +355,7 @@ def bitbake_main(configParams, configuration): ("the BBSERVER environment variable" if "BBSERVER" in os.environ \ else "the '--remote-server' option")) - if configParams.observe_only and (not configParams.remote_server or configParams.bind): + if configParams.observe_only and not (configParams.remote_server or configParams.bind): raise BBMainException("FATAL: '--observe-only' can only be used by UI clients " "connecting to a server.\n") -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 07:46:00 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 07:46:00 +0000 Subject: [oe-commits] [bitbake] 09/19: tinfoil: set a flag when recipes have been parsed In-Reply-To: <150062315190.16247.1284857909163139317@git.openembedded.org> References: <150062315190.16247.1284857909163139317@git.openembedded.org> Message-ID: <20170721074552.59442233624@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository bitbake. commit 7efde2df2ff25063d36ac015146f1975284a69ff Author: Paul Eggleton AuthorDate: Wed Jul 19 11:56:02 2017 +0200 tinfoil: set a flag when recipes have been parsed Make it easy to determine if recipes are parsed (and thus information about available recipes is in memory). Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/tinfoil.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index ddc7b06..f31d7b2 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -217,6 +217,7 @@ class Tinfoil: self.tracking = tracking self.ui_module = None self.server_connection = None + self.recipes_parsed = False if setup_logging: # This is the *client-side* logger, nothing to do with # logging messages from the server @@ -270,6 +271,7 @@ class Tinfoil: self.run_command('parseConfiguration') else: self.run_actions(config_params) + self.recipes_parsed = True self.config_data = bb.data.init() connector = TinfoilDataStoreConnector(self, None) @@ -303,6 +305,7 @@ class Tinfoil: """ config_params = TinfoilConfigParameters(config_only=False) self.run_actions(config_params) + self.recipes_parsed = True def run_command(self, command, *params): """ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 07:46:02 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 07:46:02 +0000 Subject: [oe-commits] [bitbake] 11/19: lib/bb/ui/uihelper: indicate to caller of eventHandler() if events handled In-Reply-To: <150062315190.16247.1284857909163139317@git.openembedded.org> References: <150062315190.16247.1284857909163139317@git.openembedded.org> Message-ID: <20170721074552.6F244233636@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository bitbake. commit be498abfbbb19bdd31e5b53713a74049007e3737 Author: Paul Eggleton AuthorDate: Wed Jul 19 11:56:04 2017 +0200 lib/bb/ui/uihelper: indicate to caller of eventHandler() if events handled It is useful for the caller to know whether the uihelper has handled the event passed so that it can skip other event handling code if so. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/ui/uihelper.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/bb/ui/uihelper.py b/lib/bb/ui/uihelper.py index 113fced..963c1ea 100644 --- a/lib/bb/ui/uihelper.py +++ b/lib/bb/ui/uihelper.py @@ -61,6 +61,9 @@ class BBUIHelper: self.running_tasks[event.pid]['progress'] = event.progress self.running_tasks[event.pid]['rate'] = event.rate self.needUpdate = True + else: + return False + return True def getTasks(self): self.needUpdate = False -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 07:46:03 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 07:46:03 +0000 Subject: [oe-commits] [bitbake] 12/19: knotty: make it possible to use termfilter without either console In-Reply-To: <150062315190.16247.1284857909163139317@git.openembedded.org> References: <150062315190.16247.1284857909163139317@git.openembedded.org> Message-ID: <20170721074552.78507233637@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository bitbake. commit 7544de437fc66b81502ecdb5db859182c45827cb Author: Paul Eggleton AuthorDate: Wed Jul 19 11:56:05 2017 +0200 knotty: make it possible to use termfilter without either console This isn't useful for knotty itself, but for use from tinfoil in case we can't get access to either the console or errconsole, allow either to be unspecified (None). Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/ui/knotty.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/bb/ui/knotty.py b/lib/bb/ui/knotty.py index c301982..f3900bd 100644 --- a/lib/bb/ui/knotty.py +++ b/lib/bb/ui/knotty.py @@ -207,8 +207,10 @@ class TerminalFilter(object): self.interactive = False bb.note("Unable to use interactive mode for this terminal, using fallback") return - console.addFilter(InteractConsoleLogFilter(self, format)) - errconsole.addFilter(InteractConsoleLogFilter(self, format)) + if console: + console.addFilter(InteractConsoleLogFilter(self, format)) + if errconsole: + errconsole.addFilter(InteractConsoleLogFilter(self, format)) self.main_progress = None -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 07:46:01 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 07:46:01 +0000 Subject: [oe-commits] [bitbake] 10/19: lib/bb/event: refactor printing events In-Reply-To: <150062315190.16247.1284857909163139317@git.openembedded.org> References: <150062315190.16247.1284857909163139317@git.openembedded.org> Message-ID: <20170721074552.6579E233625@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository bitbake. commit cb15db2a799be6d8eab9a2a43a9a573f89229cff Author: Paul Eggleton AuthorDate: Wed Jul 19 11:56:03 2017 +0200 lib/bb/event: refactor printing events We really ought to have just one place where the string representation of these events is produced. This doesn't take any real control away from the UI - if an alternative representation is desired, that can still be made. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/command.py | 2 ++ lib/bb/event.py | 32 ++++++++++++++++++++++++++++++++ lib/bb/runqueue.py | 6 ++++++ lib/bb/ui/knotty.py | 37 ++++++------------------------------- lib/bb/ui/ncurses.py | 2 +- lib/bb/ui/taskexp.py | 20 ++------------------ lib/bb/ui/toasterui.py | 25 ++++--------------------- 7 files changed, 53 insertions(+), 71 deletions(-) diff --git a/lib/bb/command.py b/lib/bb/command.py index c06ab07..05803d6 100644 --- a/lib/bb/command.py +++ b/lib/bb/command.py @@ -50,6 +50,8 @@ class CommandFailed(CommandExit): def __init__(self, message): self.error = message CommandExit.__init__(self, 1) + def __str__(self): + return "Command execution failed: %s" % self.error class CommandError(Exception): pass diff --git a/lib/bb/event.py b/lib/bb/event.py index 92ee3e9..59cca61 100644 --- a/lib/bb/event.py +++ b/lib/bb/event.py @@ -521,6 +521,28 @@ class NoProvider(Event): def isRuntime(self): return self._runtime + def __str__(self): + msg = '' + if self._runtime: + r = "R" + else: + r = "" + + extra = '' + if not self._reasons: + if self._close_matches: + extra = ". Close matches:\n %s" % '\n '.join(self._close_matches) + + if self._dependees: + msg = "Nothing %sPROVIDES '%s' (but %s %sDEPENDS on or otherwise requires it)%s" % (r, self._item, ", ".join(self._dependees), r, extra) + else: + msg = "Nothing %sPROVIDES '%s'%s" % (r, self._item, extra) + if self._reasons: + for reason in self._reasons: + msg += '\n' + reason + return msg + + class MultipleProviders(Event): """Multiple Providers""" @@ -548,6 +570,16 @@ class MultipleProviders(Event): """ return self._candidates + def __str__(self): + msg = "Multiple providers are available for %s%s (%s)" % (self._is_runtime and "runtime " or "", + self._item, + ", ".join(self._candidates)) + rtime = "" + if self._is_runtime: + rtime = "R" + msg += "\nConsider defining a PREFERRED_%sPROVIDER entry to match %s" % (rtime, self._item) + return msg + class ParseStarted(OperationStarted): """Recipe parsing for the runqueue has begun""" def __init__(self, total): diff --git a/lib/bb/runqueue.py b/lib/bb/runqueue.py index 21520d3..7dd964d 100644 --- a/lib/bb/runqueue.py +++ b/lib/bb/runqueue.py @@ -2488,6 +2488,9 @@ class runQueueTaskFailed(runQueueEvent): runQueueEvent.__init__(self, task, stats, rq) self.exitcode = exitcode + def __str__(self): + return "Task (%s) failed with exit code '%s'" % (self.taskstring, self.exitcode) + class sceneQueueTaskFailed(sceneQueueEvent): """ Event notifying a setscene task failed @@ -2496,6 +2499,9 @@ class sceneQueueTaskFailed(sceneQueueEvent): sceneQueueEvent.__init__(self, task, stats, rq) self.exitcode = exitcode + def __str__(self): + return "Setscene task (%s) failed with exit code '%s' - real task will be run instead" % (self.taskstring, self.exitcode) + class sceneQueueComplete(sceneQueueEvent): """ Event when all the sceneQueue tasks are complete diff --git a/lib/bb/ui/knotty.py b/lib/bb/ui/knotty.py index 1aa5ebb..c301982 100644 --- a/lib/bb/ui/knotty.py +++ b/lib/bb/ui/knotty.py @@ -560,7 +560,7 @@ def main(server, eventHandler, params, tf = TerminalFilter): return_value = event.exitcode if event.error: errors = errors + 1 - logger.error("Command execution failed: %s", event.error) + logger.error(str(event)) main.shutdown = 2 continue if isinstance(event, bb.command.CommandExit): @@ -571,39 +571,16 @@ def main(server, eventHandler, params, tf = TerminalFilter): main.shutdown = 2 continue if isinstance(event, bb.event.MultipleProviders): - logger.info("multiple providers are available for %s%s (%s)", event._is_runtime and "runtime " or "", - event._item, - ", ".join(event._candidates)) - rtime = "" - if event._is_runtime: - rtime = "R" - logger.info("consider defining a PREFERRED_%sPROVIDER entry to match %s" % (rtime, event._item)) + logger.info(str(event)) continue if isinstance(event, bb.event.NoProvider): - if event._runtime: - r = "R" - else: - r = "" - - extra = '' - if not event._reasons: - if event._close_matches: - extra = ". Close matches:\n %s" % '\n '.join(event._close_matches) - # For universe builds, only show these as warnings, not errors - h = logger.warning if not universe: return_value = 1 errors = errors + 1 - h = logger.error - - if event._dependees: - h("Nothing %sPROVIDES '%s' (but %s %sDEPENDS on or otherwise requires it)%s", r, event._item, ", ".join(event._dependees), r, extra) + logger.error(str(event)) else: - h("Nothing %sPROVIDES '%s'%s", r, event._item, extra) - if event._reasons: - for reason in event._reasons: - h("%s", reason) + logger.warning(str(event)) continue if isinstance(event, bb.runqueue.sceneQueueTaskStarted): @@ -625,13 +602,11 @@ def main(server, eventHandler, params, tf = TerminalFilter): if isinstance(event, bb.runqueue.runQueueTaskFailed): return_value = 1 taskfailures.append(event.taskstring) - logger.error("Task (%s) failed with exit code '%s'", - event.taskstring, event.exitcode) + logger.error(str(event)) continue if isinstance(event, bb.runqueue.sceneQueueTaskFailed): - logger.warning("Setscene task (%s) failed with exit code '%s' - real task will be run instead", - event.taskstring, event.exitcode) + logger.warning(str(event)) continue if isinstance(event, bb.event.DepTreeGenerated): diff --git a/lib/bb/ui/ncurses.py b/lib/bb/ui/ncurses.py index ca845a3..8690c52 100644 --- a/lib/bb/ui/ncurses.py +++ b/lib/bb/ui/ncurses.py @@ -315,7 +315,7 @@ class NCursesUI: # also allow them to now exit with a single ^C shutdown = 2 if isinstance(event, bb.command.CommandFailed): - mw.appendText("Command execution failed: %s" % event.error) + mw.appendText(str(event)) time.sleep(2) exitflag = True if isinstance(event, bb.command.CommandExit): diff --git a/lib/bb/ui/taskexp.py b/lib/bb/ui/taskexp.py index 9d14ece..0d0f9f5 100644 --- a/lib/bb/ui/taskexp.py +++ b/lib/bb/ui/taskexp.py @@ -286,23 +286,7 @@ def main(server, eventHandler, params): continue if isinstance(event, bb.event.NoProvider): - if event._runtime: - r = "R" - else: - r = "" - - extra = '' - if not event._reasons: - if event._close_matches: - extra = ". Close matches:\n %s" % '\n '.join(event._close_matches) - - if event._dependees: - print("Nothing %sPROVIDES '%s' (but %s %sDEPENDS on or otherwise requires it)%s" % (r, event._item, ", ".join(event._dependees), r, extra)) - else: - print("Nothing %sPROVIDES '%s'%s" % (r, event._item, extra)) - if event._reasons: - for reason in event._reasons: - print(reason) + print(str(event)) _, error = server.runCommand(["stateShutdown"]) if error: @@ -310,7 +294,7 @@ def main(server, eventHandler, params): break if isinstance(event, bb.command.CommandFailed): - print("Command execution failed: %s" % event.error) + print(str(event)) return event.exitcode if isinstance(event, bb.command.CommandExit): diff --git a/lib/bb/ui/toasterui.py b/lib/bb/ui/toasterui.py index 71f04fa..88cec37 100644 --- a/lib/bb/ui/toasterui.py +++ b/lib/bb/ui/toasterui.py @@ -320,29 +320,13 @@ def main(server, eventHandler, params): if isinstance(event, bb.event.CacheLoadCompleted): continue if isinstance(event, bb.event.MultipleProviders): - logger.info("multiple providers are available for %s%s (%s)", event._is_runtime and "runtime " or "", - event._item, - ", ".join(event._candidates)) - logger.info("consider defining a PREFERRED_PROVIDER entry to match %s", event._item) + logger.info(str(event)) continue if isinstance(event, bb.event.NoProvider): errors = errors + 1 - if event._runtime: - r = "R" - else: - r = "" - - if event._dependees: - text = "Nothing %sPROVIDES '%s' (but %s %sDEPENDS on or otherwise requires it)" % (r, event._item, ", ".join(event._dependees), r) - else: - text = "Nothing %sPROVIDES '%s'" % (r, event._item) - + text = str(event) logger.error(text) - if event._reasons: - for reason in event._reasons: - logger.error("%s", reason) - text += reason buildinfohelper.store_log_error(text) continue @@ -364,8 +348,7 @@ def main(server, eventHandler, params): if isinstance(event, bb.runqueue.runQueueTaskFailed): buildinfohelper.update_and_store_task(event) taskfailures.append(event.taskstring) - logger.error("Task (%s) failed with exit code '%s'", - event.taskstring, event.exitcode) + logger.error(str(event)) continue if isinstance(event, (bb.runqueue.sceneQueueTaskCompleted, bb.runqueue.sceneQueueTaskFailed)): @@ -382,7 +365,7 @@ def main(server, eventHandler, params): if isinstance(event, bb.command.CommandFailed): errors += 1 errorcode = 1 - logger.error("Command execution failed: %s", event.error) + logger.error(str(event)) elif isinstance(event, bb.event.BuildCompleted): buildinfohelper.scan_image_artifacts() buildinfohelper.clone_required_sdk_artifacts() -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 07:45:58 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 07:45:58 +0000 Subject: [oe-commits] [bitbake] 07/19: tinfoil: add internal mode to build_file() function In-Reply-To: <150062315190.16247.1284857909163139317@git.openembedded.org> References: <150062315190.16247.1284857909163139317@git.openembedded.org> Message-ID: <20170721074552.48375233622@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository bitbake. commit ba53e067a2d448dd63b4ca252557ce98aa8e6321 Author: Paul Eggleton AuthorDate: Wed Jul 19 11:56:00 2017 +0200 tinfoil: add internal mode to build_file() function In OE's devtool we want to repeatedly run build_file() without showing unnecessary messages and triggering buildhistory for each call. build_file() is just a wrapper around the buildFile command. Change the final "hidewarning" parameter of the buildFile command to "internal" and have this call a new buildFileInternal() function without triggering any of the normal build events, silencing the normal info messages from the runqueue ("Executing RunQueue Tasks", "Tasks Summary" etc.) and avoiding calling parseConfiguration() which we've already done at this point. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/command.py | 9 ++++++--- lib/bb/cooker.py | 34 +++++++++++++++++++++++++--------- lib/bb/tinfoil.py | 9 ++++++--- 3 files changed, 37 insertions(+), 15 deletions(-) diff --git a/lib/bb/command.py b/lib/bb/command.py index eb7c86f..c06ab07 100644 --- a/lib/bb/command.py +++ b/lib/bb/command.py @@ -548,11 +548,14 @@ class CommandsAsync: bfile = params[0] task = params[1] if len(params) > 2: - hidewarning = params[2] + internal = params[2] else: - hidewarning = False + internal = False - command.cooker.buildFile(bfile, task, hidewarning) + if internal: + command.cooker.buildFileInternal(bfile, task, fireevents=False, quietlog=True) + else: + command.cooker.buildFile(bfile, task) buildFile.needcache = False def buildTargets(self, command, params): diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py index daffe67..1625d3c 100644 --- a/lib/bb/cooker.py +++ b/lib/bb/cooker.py @@ -1219,21 +1219,27 @@ class BBCooker: raise NoSpecificMatch return matches[0] - def buildFile(self, buildfile, task, hidewarning=False): + def buildFile(self, buildfile, task): """ Build the file matching regexp buildfile """ bb.event.fire(bb.event.BuildInit(), self.data) - if not hidewarning: - # Too many people use -b because they think it's how you normally - # specify a target to be built, so show a warning - bb.warn("Buildfile specified, dependencies will not be handled. If this is not what you want, do not use -b / --buildfile.") + # Too many people use -b because they think it's how you normally + # specify a target to be built, so show a warning + bb.warn("Buildfile specified, dependencies will not be handled. If this is not what you want, do not use -b / --buildfile.") # Parse the configuration here. We need to do it explicitly here since # buildFile() doesn't use the cache self.parseConfiguration() + self.buildFileInternal(buildfile, task) + + def buildFileInternal(self, buildfile, task, fireevents=True, quietlog=False): + """ + Build the file matching regexp buildfile + """ + # If we are told to do the None task then query the default task if (task == None): task = self.configuration.cmd @@ -1270,8 +1276,8 @@ class BBCooker: # Remove external dependencies self.recipecaches[mc].task_deps[fn]['depends'] = {} self.recipecaches[mc].deps[fn] = [] - self.recipecaches[mc].rundeps[fn] = [] - self.recipecaches[mc].runrecs[fn] = [] + self.recipecaches[mc].rundeps[fn] = defaultdict(list) + self.recipecaches[mc].runrecs[fn] = defaultdict(list) # Invalidate task for target if force mode active if self.configuration.force: @@ -1283,8 +1289,13 @@ class BBCooker: taskdata[mc] = bb.taskdata.TaskData(self.configuration.abort) taskdata[mc].add_provider(self.databuilder.mcdata[mc], self.recipecaches[mc], item) + if quietlog: + rqloglevel = bb.runqueue.logger.getEffectiveLevel() + bb.runqueue.logger.setLevel(logging.WARNING) + buildname = self.databuilder.mcdata[mc].getVar("BUILDNAME") - bb.event.fire(bb.event.BuildStarted(buildname, [item]), self.databuilder.mcdata[mc]) + if fireevents: + bb.event.fire(bb.event.BuildStarted(buildname, [item]), self.databuilder.mcdata[mc]) # Execute the runqueue runlist = [[mc, item, task, fn]] @@ -1311,11 +1322,16 @@ class BBCooker: retval = False except SystemExit as exc: self.command.finishAsyncCommand(str(exc)) + if quietlog: + bb.runqueue.logger.setLevel(rqloglevel) return False if not retval: - bb.event.fire(bb.event.BuildCompleted(len(rq.rqdata.runtaskentries), buildname, item, failures, interrupted), self.databuilder.mcdata[mc]) + if fireevents: + bb.event.fire(bb.event.BuildCompleted(len(rq.rqdata.runtaskentries), buildname, item, failures, interrupted), self.databuilder.mcdata[mc]) self.command.finishAsyncCommand(msg) + if quietlog: + bb.runqueue.logger.setLevel(rqloglevel) return False if retval is True: return True diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index 303ce02..65ebdc2 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -415,12 +415,15 @@ class Tinfoil: else: return None - def build_file(self, buildfile, task): + def build_file(self, buildfile, task, internal=True): """ Runs the specified task for just a single recipe (i.e. no dependencies). - This is equivalent to bitbake -b, except no warning will be printed. + This is equivalent to bitbake -b, except with the default internal=True + no warning about dependencies will be produced, normal info messages + from the runqueue will be silenced and BuildInit, BuildStarted and + BuildCompleted events will not be fired. """ - return self.run_command('buildFile', buildfile, task, True) + return self.run_command('buildFile', buildfile, task, internal) def shutdown(self): if self.server_connection: -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 07:46:04 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 07:46:04 +0000 Subject: [oe-commits] [bitbake] 13/19: tinfoil: add functionality for running full builds In-Reply-To: <150062315190.16247.1284857909163139317@git.openembedded.org> References: <150062315190.16247.1284857909163139317@git.openembedded.org> Message-ID: <20170721074552.83451233638@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository bitbake. commit 43761eee756be52a1021be53a40dc591a6c35fa7 Author: Paul Eggleton AuthorDate: Wed Jul 19 11:56:06 2017 +0200 tinfoil: add functionality for running full builds Up to this point, if you wanted to run build tasks in the normal way they get run from a python script, there was no other way than to shell out to bitbake. Worse than that, you couldn't have tinfoil active during that because only one bitbake instance could be running at once. As long as we're prepared to handle the events produced, we can create a wrapper around calling the buildTargets command. Borrow code from knotty to do this in such a way that we get the expected running task display (courtesy of TermFilter) and Ctrl+C handling. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/tinfoil.py | 154 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 154 insertions(+) diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index f31d7b2..2a51526 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -2,6 +2,7 @@ # # Copyright (C) 2012-2017 Intel Corporation # Copyright (C) 2011 Mentor Graphics Corporation +# Copyright (C) 2006-2012 Richard Purdie # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License version 2 as @@ -218,6 +219,7 @@ class Tinfoil: self.ui_module = None self.server_connection = None self.recipes_parsed = False + self.quiet = 0 if setup_logging: # This is the *client-side* logger, nothing to do with # logging messages from the server @@ -230,6 +232,8 @@ class Tinfoil: self.shutdown() def prepare(self, config_only=False, config_params=None, quiet=0, extra_features=None): + self.quiet = quiet + if self.tracking: extrafeatures = [bb.cooker.CookerFeatures.BASEDATASTORE_TRACKING] else: @@ -434,6 +438,156 @@ class Tinfoil: """ return self.run_command('buildFile', buildfile, task, internal) + def build_targets(self, targets, task=None, handle_events=True, extra_events=None, event_callback=None): + """ + Builds the specified targets. This is equivalent to a normal invocation + of bitbake. Has built-in event handling which is enabled by default and + can be extended if needed. + Parameters: + targets: + One or more targets to build. Can be a list or a + space-separated string. + task: + The task to run; if None then the value of BB_DEFAULT_TASK + will be used. Default None. + handle_events: + True to handle events in a similar way to normal bitbake + invocation with knotty; False to return immediately (on the + assumption that the caller will handle the events instead). + Default True. + extra_events: + An optional list of events to add to the event mask (if + handle_events=True). If you add events here you also need + to specify a callback function in event_callback that will + handle the additional events. Default None. + event_callback: + An optional function taking a single parameter which + will be called first upon receiving any event (if + handle_events=True) so that the caller can override or + extend the event handling. Default None. + """ + if isinstance(targets, str): + targets = targets.split() + if not task: + task = self.config_data.getVar('BB_DEFAULT_TASK') + + if handle_events: + # A reasonable set of default events matching up with those we handle below + eventmask = [ + 'bb.event.BuildStarted', + 'bb.event.BuildCompleted', + 'logging.LogRecord', + 'bb.event.NoProvider', + 'bb.command.CommandCompleted', + 'bb.command.CommandFailed', + 'bb.build.TaskStarted', + 'bb.build.TaskFailed', + 'bb.build.TaskSucceeded', + 'bb.build.TaskFailedSilent', + 'bb.build.TaskProgress', + 'bb.runqueue.runQueueTaskStarted', + 'bb.runqueue.sceneQueueTaskStarted', + 'bb.event.ProcessStarted', + 'bb.event.ProcessProgress', + 'bb.event.ProcessFinished', + ] + if extra_events: + eventmask.extend(extra_events) + ret = self.set_event_mask(eventmask) + + ret = self.run_command('buildTargets', targets, task) + if handle_events: + result = False + # Borrowed from knotty, instead somewhat hackily we use the helper + # as the object to store "shutdown" on + helper = bb.ui.uihelper.BBUIHelper() + # We set up logging optionally in the constructor so now we need to + # grab the handlers to pass to TerminalFilter + console = None + errconsole = None + for handler in self.logger.handlers: + if isinstance(handler, logging.StreamHandler): + if handler.stream == sys.stdout: + console = handler + elif handler.stream == sys.stderr: + errconsole = handler + format_str = "%(levelname)s: %(message)s" + format = bb.msg.BBLogFormatter(format_str) + helper.shutdown = 0 + parseprogress = None + termfilter = bb.ui.knotty.TerminalFilter(helper, helper, console, errconsole, format, quiet=self.quiet) + try: + while True: + try: + event = self.wait_event(0.25) + if event: + if event_callback and event_callback(event): + continue + if helper.eventHandler(event): + continue + if isinstance(event, bb.event.ProcessStarted): + if self.quiet > 1: + continue + parseprogress = bb.ui.knotty.new_progress(event.processname, event.total) + parseprogress.start(False) + continue + if isinstance(event, bb.event.ProcessProgress): + if self.quiet > 1: + continue + if parseprogress: + parseprogress.update(event.progress) + else: + bb.warn("Got ProcessProgress event for someting that never started?") + continue + if isinstance(event, bb.event.ProcessFinished): + if self.quiet > 1: + continue + if parseprogress: + parseprogress.finish() + parseprogress = None + continue + if isinstance(event, bb.command.CommandCompleted): + result = True + break + if isinstance(event, bb.command.CommandFailed): + self.logger.error(str(event)) + result = False + break + if isinstance(event, logging.LogRecord): + if event.taskpid == 0 or event.levelno > logging.INFO: + self.logger.handle(event) + continue + if isinstance(event, bb.event.NoProvider): + self.logger.error(str(event)) + result = False + break + + elif helper.shutdown > 1: + break + termfilter.updateFooter() + except KeyboardInterrupt: + termfilter.clearFooter() + if helper.shutdown == 1: + print("\nSecond Keyboard Interrupt, stopping...\n") + ret = self.run_command("stateForceShutdown") + if ret and ret[2]: + self.logger.error("Unable to cleanly stop: %s" % ret[2]) + elif helper.shutdown == 0: + print("\nKeyboard Interrupt, closing down...\n") + interrupted = True + ret = self.run_command("stateShutdown") + if ret and ret[2]: + self.logger.error("Unable to cleanly shutdown: %s" % ret[2]) + helper.shutdown = helper.shutdown + 1 + termfilter.clearFooter() + finally: + termfilter.finish() + if helper.failed_tasks: + result = False + return result + else: + return ret + def shutdown(self): if self.server_connection: self.run_command('clientComplete') -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 07:46:05 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 07:46:05 +0000 Subject: [oe-commits] [bitbake] 14/19: tinfoil: enable access to additional cached items In-Reply-To: <150062315190.16247.1284857909163139317@git.openembedded.org> References: <150062315190.16247.1284857909163139317@git.openembedded.org> Message-ID: <20170721074552.8A2A8233639@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository bitbake. commit 3df9b7c615174a6557581f3cd157842a28f6bb26 Author: Paul Eggleton AuthorDate: Wed Jul 19 11:56:07 2017 +0200 tinfoil: enable access to additional cached items Add access to fn_provides, packages, packages_dynamic and rproviders on the recipecache object. This requires an additional corresponding command plumbing to be added. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/command.py | 32 ++++++++++++++++++++++++++++++++ lib/bb/tinfoil.py | 8 ++++++++ 2 files changed, 40 insertions(+) diff --git a/lib/bb/command.py b/lib/bb/command.py index 05803d6..0e0a35a 100644 --- a/lib/bb/command.py +++ b/lib/bb/command.py @@ -312,6 +312,38 @@ class CommandsSync: return command.cooker.recipecaches[mc].pkg_pepvpr getRecipeVersions.readonly = True + def getRecipeProvides(self, command, params): + try: + mc = params[0] + except IndexError: + mc = '' + return command.cooker.recipecaches[mc].fn_provides + getRecipeProvides.readonly = True + + def getRecipePackages(self, command, params): + try: + mc = params[0] + except IndexError: + mc = '' + return command.cooker.recipecaches[mc].packages + getRecipePackages.readonly = True + + def getRecipePackagesDynamic(self, command, params): + try: + mc = params[0] + except IndexError: + mc = '' + return command.cooker.recipecaches[mc].packages_dynamic + getRecipePackagesDynamic.readonly = True + + def getRProviders(self, command, params): + try: + mc = params[0] + except IndexError: + mc = '' + return command.cooker.recipecaches[mc].rproviders + getRProviders.readonly = True + def getRuntimeDepends(self, command, params): ret = [] try: diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index 2a51526..456cbf8 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -173,6 +173,14 @@ class TinfoilCookerAdapter: attrvalue = self.tinfoil.run_command('getBbFilePriority') or {} elif name == 'pkg_dp': attrvalue = self.tinfoil.run_command('getDefaultPreference') or {} + elif name == 'fn_provides': + attrvalue = self.tinfoil.run_command('getRecipeProvides') or {} + elif name == 'packages': + attrvalue = self.tinfoil.run_command('getRecipePackages') or {} + elif name == 'packages_dynamic': + attrvalue = self.tinfoil.run_command('getRecipePackagesDynamic') or {} + elif name == 'rproviders': + attrvalue = self.tinfoil.run_command('getRProviders') or {} else: raise AttributeError("%s instance has no attribute '%s'" % (self.__class__.__name__, name)) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 07:46:10 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 07:46:10 +0000 Subject: [oe-commits] [bitbake] 19/19: Update to version 1.35.0 (development version with server rework changes) In-Reply-To: <150062315190.16247.1284857909163139317@git.openembedded.org> References: <150062315190.16247.1284857909163139317@git.openembedded.org> Message-ID: <20170721074552.C4EB723361F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository bitbake. commit eef7a1a3eb0365da5ed2bc9688203fba3b6a61b5 Author: Richard Purdie AuthorDate: Fri Jul 21 08:43:06 2017 +0100 Update to version 1.35.0 (development version with server rework changes) Signed-off-by: Richard Purdie --- bin/bitbake | 2 +- lib/bb/__init__.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/bin/bitbake b/bin/bitbake index 9f5c2d4..daedd64 100755 --- a/bin/bitbake +++ b/bin/bitbake @@ -38,7 +38,7 @@ from bb.main import bitbake_main, BitBakeConfigParameters, BBMainException if sys.getfilesystemencoding() != "utf-8": sys.exit("Please use a locale setting which supports utf-8.\nPython can't change the filesystem locale after loading so we need a utf-8 when python starts or things won't work.") -__version__ = "1.34.0" +__version__ = "1.35.0" if __name__ == "__main__": if __version__ != bb.__version__: diff --git a/lib/bb/__init__.py b/lib/bb/__init__.py index bfe0ca5..45559b9 100644 --- a/lib/bb/__init__.py +++ b/lib/bb/__init__.py @@ -21,7 +21,7 @@ # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -__version__ = "1.34.0" +__version__ = "1.35.0" import sys if sys.version_info < (3, 4, 0): -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 07:46:08 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 07:46:08 +0000 Subject: [oe-commits] [bitbake] 17/19: fetch2: allow hiding checksum warning In-Reply-To: <150062315190.16247.1284857909163139317@git.openembedded.org> References: <150062315190.16247.1284857909163139317@git.openembedded.org> Message-ID: <20170721074552.A9B1123361E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository bitbake. commit f15ca7339de8a448a93a14cf6130b3925178a920 Author: Paul Eggleton AuthorDate: Wed Jul 19 11:56:10 2017 +0200 fetch2: allow hiding checksum warning If BB_STRICT_CHECKSUMS is set to "ignore" then don't display a warning if no checksums are specified in the recipe. This is not intended to be used from recipes - it is needed when we move to using more standard code paths to fetch new files from scripts i.e. where we don't know what the checksums are in advance. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/fetch2/__init__.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/bb/fetch2/__init__.py b/lib/bb/fetch2/__init__.py index 5c02317..2e615b2 100644 --- a/lib/bb/fetch2/__init__.py +++ b/lib/bb/fetch2/__init__.py @@ -584,6 +584,12 @@ def verify_checksum(ud, d, precomputed={}): ud.sha256_name, sha256data)) raise NoChecksumError('Missing SRC_URI checksum', ud.url) + if strict == "ignore": + return { + _MD5_KEY: md5data, + _SHA256_KEY: sha256data + } + # Log missing sums so user can more easily add them logger.warning('Missing md5 SRC_URI checksum for %s, consider adding to the recipe:\n' 'SRC_URI[%s] = "%s"', -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 07:46:09 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 07:46:09 +0000 Subject: [oe-commits] [bitbake] 18/19: fetch2: fire an event when there are missing checksums In-Reply-To: <150062315190.16247.1284857909163139317@git.openembedded.org> References: <150062315190.16247.1284857909163139317@git.openembedded.org> Message-ID: <20170721074552.B798323361C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository bitbake. commit 8b2ccb4b865f2df118ef668847df682a83f9c500 Author: Paul Eggleton AuthorDate: Wed Jul 19 11:56:11 2017 +0200 fetch2: fire an event when there are missing checksums If BB_STRICT_CHECKSUMS is set to anything other than "1" i.e. we're not going to raise an error, then fire an event so that scripts can listen for it and get the checksums. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/fetch2/__init__.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/bb/fetch2/__init__.py b/lib/bb/fetch2/__init__.py index 2e615b2..74ba37f 100644 --- a/lib/bb/fetch2/__init__.py +++ b/lib/bb/fetch2/__init__.py @@ -39,6 +39,7 @@ import errno import bb.persist_data, bb.utils import bb.checksum import bb.process +import bb.event __version__ = "2" _checksum_cache = bb.checksum.FileChecksumCache() @@ -142,6 +143,13 @@ class NonLocalMethod(Exception): def __init__(self): Exception.__init__(self) +class MissingChecksumEvent(bb.event.Event): + def __init__(self, url, md5sum, sha256sum): + self.url = url + self.checksums = {'md5sum': md5sum, + 'sha256sum': sha256sum} + bb.event.Event.__init__(self) + class URI(object): """ @@ -584,6 +592,8 @@ def verify_checksum(ud, d, precomputed={}): ud.sha256_name, sha256data)) raise NoChecksumError('Missing SRC_URI checksum', ud.url) + bb.event.fire(MissingChecksumEvent(ud.url, md5data, sha256data), d) + if strict == "ignore": return { _MD5_KEY: md5data, -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 07:46:06 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 07:46:06 +0000 Subject: [oe-commits] [bitbake] 15/19: tinfoil: add simple API for getting cached recipe information In-Reply-To: <150062315190.16247.1284857909163139317@git.openembedded.org> References: <150062315190.16247.1284857909163139317@git.openembedded.org> Message-ID: <20170721074552.93DC823361B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository bitbake. commit 308994028e59735ca726c5d2c1f0f85baccfe89d Author: Paul Eggleton AuthorDate: Wed Jul 19 11:56:08 2017 +0200 tinfoil: add simple API for getting cached recipe information A common task for tinfoil-using scripts is to iterate over all recipes. This isn't too difficult with the current API, but the pkg_* variables are a little awkward and are really designed for bitbake's internal usage - and it gets a bit more difficult when you want to access some of the other information such as packages and rprovides. To resolve this, create a new recipe info class and add an all_recipes() function to generate this for all recipes. Also add a get_recipe_info() function to get the information for a specific recipe (by PN). (It might perhaps be suggested that we already have a structure similar to this in the cache, however the one we add here is designed for external use and allows the internal structures to change if needed without affecting the API). Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/tinfoil.py | 142 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 142 insertions(+) diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index 456cbf8..30d6c9a 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -217,6 +217,82 @@ class TinfoilCookerAdapter: return self.tinfoil.find_best_provider(pn) +class TinfoilRecipeInfo: + """ + Provides a convenient representation of the cached information for a single recipe. + Some attributes are set on construction, others are read on-demand (which internally + may result in a remote procedure call to the bitbake server the first time). + Note that only information which is cached is available through this object - if + you need other variable values you will need to parse the recipe using + Tinfoil.parse_recipe(). + """ + def __init__(self, recipecache, d, pn, fn, fns): + self._recipecache = recipecache + self._d = d + self.pn = pn + self.fn = fn + self.fns = fns + self.inherit_files = recipecache.inherits[fn] + self.depends = recipecache.deps[fn] + (self.pe, self.pv, self.pr) = recipecache.pkg_pepvpr[fn] + self._cached_packages = None + self._cached_rprovides = None + self._cached_packages_dynamic = None + + def __getattr__(self, name): + if name == 'alternates': + return [x for x in self.fns if x != self.fn] + elif name == 'rdepends': + return self._recipecache.rundeps[self.fn] + elif name == 'rrecommends': + return self._recipecache.runrecs[self.fn] + elif name == 'provides': + return self._recipecache.fn_provides[self.fn] + elif name == 'packages': + if self._cached_packages is None: + self._cached_packages = [] + for pkg, fns in self._recipecache.packages.items(): + if self.fn in fns: + self._cached_packages.append(pkg) + return self._cached_packages + elif name == 'packages_dynamic': + if self._cached_packages_dynamic is None: + self._cached_packages_dynamic = [] + for pkg, fns in self._recipecache.packages_dynamic.items(): + if self.fn in fns: + self._cached_packages_dynamic.append(pkg) + return self._cached_packages_dynamic + elif name == 'rprovides': + if self._cached_rprovides is None: + self._cached_rprovides = [] + for pkg, fns in self._recipecache.rproviders.items(): + if self.fn in fns: + self._cached_rprovides.append(pkg) + return self._cached_rprovides + else: + raise AttributeError("%s instance has no attribute '%s'" % (self.__class__.__name__, name)) + def inherits(self, only_recipe=False): + """ + Get the inherited classes for a recipe. Returns the class names only. + Parameters: + only_recipe: True to return only the classes inherited by the recipe + itself, False to return all classes inherited within + the context for the recipe (which includes globally + inherited classes). + """ + if only_recipe: + global_inherit = [x for x in (self._d.getVar('BBINCLUDED') or '').split() if x.endswith('.bbclass')] + else: + global_inherit = [] + for clsfile in self.inherit_files: + if only_recipe and clsfile in global_inherit: + continue + clsname = os.path.splitext(os.path.basename(clsfile))[0] + yield clsname + def __str__(self): + return '%s' % self.pn + + class Tinfoil: def __init__(self, output=sys.stdout, tracking=False, setup_logging=True): @@ -401,6 +477,72 @@ class Tinfoil: def get_file_appends(self, fn): return self.run_command('getFileAppends', fn) + def all_recipes(self, mc='', sort=True): + """ + Enable iterating over all recipes in the current configuration. + Returns an iterator over TinfoilRecipeInfo objects created on demand. + Parameters: + mc: The multiconfig, default of '' uses the main configuration. + sort: True to sort recipes alphabetically (default), False otherwise + """ + recipecache = self.cooker.recipecaches[mc] + if sort: + recipes = sorted(recipecache.pkg_pn.items()) + else: + recipes = recipecache.pkg_pn.items() + for pn, fns in recipes: + prov = self.find_best_provider(pn) + recipe = TinfoilRecipeInfo(recipecache, + self.config_data, + pn=pn, + fn=prov[3], + fns=fns) + yield recipe + + def all_recipe_files(self, mc='', variants=True, preferred_only=False): + """ + Enable iterating over all recipe files in the current configuration. + Returns an iterator over file paths. + Parameters: + mc: The multiconfig, default of '' uses the main configuration. + variants: True to include variants of recipes created through + BBCLASSEXTEND (default) or False to exclude them + preferred_only: True to include only the preferred recipe where + multiple exist providing the same PN, False to list + all recipes + """ + recipecache = self.cooker.recipecaches[mc] + if preferred_only: + files = [] + for pn in recipecache.pkg_pn.keys(): + prov = self.find_best_provider(pn) + files.append(prov[3]) + else: + files = recipecache.pkg_fn.keys() + for fn in sorted(files): + if not variants and fn.startswith('virtual:'): + continue + yield fn + + + def get_recipe_info(self, pn, mc=''): + """ + Get information on a specific recipe in the current configuration by name (PN). + Returns a TinfoilRecipeInfo object created on demand. + Parameters: + mc: The multiconfig, default of '' uses the main configuration. + """ + recipecache = self.cooker.recipecaches[mc] + prov = self.find_best_provider(pn) + fn = prov[3] + actual_pn = recipecache.pkg_fn[fn] + recipe = TinfoilRecipeInfo(recipecache, + self.config_data, + pn=actual_pn, + fn=fn, + fns=recipecache.pkg_pn[actual_pn]) + return recipe + def parse_recipe(self, pn): """ Parse the specified recipe and return a datastore object -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 07:46:07 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 07:46:07 +0000 Subject: [oe-commits] [bitbake] 16/19: tinfoil: add more doc comments In-Reply-To: <150062315190.16247.1284857909163139317@git.openembedded.org> References: <150062315190.16247.1284857909163139317@git.openembedded.org> Message-ID: <20170721074552.9C62223361D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository bitbake. commit 3e0e002d6497caa987f327cd83ad4db82cca6810 Author: Paul Eggleton AuthorDate: Wed Jul 19 11:56:09 2017 +0200 tinfoil: add more doc comments We want this API to be easier to use, so add missing function documentation to help with that. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- lib/bb/tinfoil.py | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index 30d6c9a..e246b3d 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -55,6 +55,7 @@ class TinfoilCommandFailed(Exception): """Exception raised when run_command fails""" class TinfoilDataStoreConnector: + """Connector object used to enable access to datastore objects via tinfoil""" def __init__(self, tinfoil, dsindex): self.tinfoil = tinfoil @@ -294,8 +295,25 @@ class TinfoilRecipeInfo: class Tinfoil: + """ + Tinfoil - an API for scripts and utilities to query + BitBake internals and perform build operations. + """ def __init__(self, output=sys.stdout, tracking=False, setup_logging=True): + """ + Create a new tinfoil object. + Parameters: + output: specifies where console output should be sent. Defaults + to sys.stdout. + tracking: True to enable variable history tracking, False to + disable it (default). Enabling this has a minor + performance impact so typically it isn't enabled + unless you need to query variable history. + setup_logging: True to setup a logger so that things like + bb.warn() will work immediately and timeout warnings + are visible; False to let BitBake do this itself. + """ self.logger = logging.getLogger('BitBake') self.config_data = None self.cooker = None @@ -316,6 +334,37 @@ class Tinfoil: self.shutdown() def prepare(self, config_only=False, config_params=None, quiet=0, extra_features=None): + """ + Prepares the underlying BitBake system to be used via tinfoil. + This function must be called prior to calling any of the other + functions in the API. + NOTE: if you call prepare() you must absolutely call shutdown() + before your code terminates. You can use a "with" block to ensure + this happens e.g. + + with bb.tinfoil.Tinfoil() as tinfoil: + tinfoil.prepare() + ... + + Parameters: + config_only: True to read only the configuration and not load + the cache / parse recipes. This is useful if you just + want to query the value of a variable at the global + level or you want to do anything else that doesn't + involve knowing anything about the recipes in the + current configuration. False loads the cache / parses + recipes. + config_params: optionally specify your own configuration + parameters. If not specified an instance of + TinfoilConfigParameters will be created internally. + quiet: quiet level controlling console output - equivalent + to bitbake's -q/--quiet option. Default of 0 gives + the same output level as normal bitbake execution. + extra_features: extra features to be added to the feature + set requested from the server. See + CookerFeatures._feature_list for possible + features. + """ self.quiet = quiet if self.tracking: @@ -440,9 +489,16 @@ class Tinfoil: return self.server_connection.events.waitEvent(timeout) def get_overlayed_recipes(self): + """ + Find recipes which are overlayed (i.e. where recipes exist in multiple layers) + """ return defaultdict(list, self.run_command('getOverlayedRecipes')) def get_skipped_recipes(self): + """ + Find recipes which were skipped (i.e. SkipRecipe was raised + during parsing). + """ return OrderedDict(self.run_command('getSkippedRecipes')) def get_all_providers(self): @@ -475,6 +531,9 @@ class Tinfoil: return best[3] def get_file_appends(self, fn): + """ + Find the bbappends for a recipe file + """ return self.run_command('getFileAppends', fn) def all_recipes(self, mc='', sort=True): @@ -739,6 +798,12 @@ class Tinfoil: return ret def shutdown(self): + """ + Shut down tinfoil. Disconnects from the server and gracefully + releases any associated resources. You must call this function if + prepare() has been called, or use a with... block when you create + the tinfoil object which will ensure that it gets called. + """ if self.server_connection: self.run_command('clientComplete') _server_connections.remove(self.server_connection) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 07:46:26 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 07:46:26 +0000 Subject: [oe-commits] [bitbake] branch master-next updated (0395760 -> db0679b) Message-ID: <150062318648.16982.10759904109575365604@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master-next in repository bitbake. discard 0395760 bb/tinfoil: run_command handle busy status in bitbake server discard b2cca45 fetch2: fire an event when there are missing checksums discard 8b94987 fetch2: allow hiding checksum warning discard 9a1265f tinfoil: add more doc comments discard 445393e tinfoil: add simple API for getting cached recipe information discard d776b6a tinfoil: enable access to additional cached items discard 0e35a26 tinfoil: add functionality for running full builds discard ce507cc knotty: make it possible to use termfilter without either console discard 798da25 lib/bb/ui/uihelper: indicate to caller of eventHandler() if events handled discard b1cb5f9 lib/bb/event: refactor printing events discard 90e1e43 tinfoil: set a flag when recipes have been parsed discard d70d46c tinfoil: add a parse_recipes() function discard 24e03bb tinfoil: add internal mode to build_file() function discard c17024d bb/main.py: fix logic for --observe-only discard 6cd4cff bb/main.py: avoid starting server when not needed discard b5a0dd2 bb/main.py: fix infinite loop for --server-only discard 99dcce9 server/process.py: fix self.bitbake_lock.write() discard 8613b9a cookerdata/cooker: Restore original datastore upon client disconnect discard 280612b server: Rework the server API so process and xmlrpc servers coexist add 72a3dbe server: Rework the server API so process and xmlrpc servers coexist add 67ae612 cookerdata/cooker: Restore original datastore upon client disconnect add dbdd901 server/process.py: fix self.bitbake_lock.write() add c4d5c3d bb/main.py: fix infinite loop for --server-only add 335fd01 bb/main.py: avoid starting server when not needed add 4ffc91a bb/main.py: fix logic for --observe-only add ba53e06 tinfoil: add internal mode to build_file() function add 821f6c4 tinfoil: add a parse_recipes() function add 7efde2d tinfoil: set a flag when recipes have been parsed add cb15db2 lib/bb/event: refactor printing events add be498ab lib/bb/ui/uihelper: indicate to caller of eventHandler() if events handled add 7544de4 knotty: make it possible to use termfilter without either console add 43761ee tinfoil: add functionality for running full builds add 3df9b7c tinfoil: enable access to additional cached items add 3089940 tinfoil: add simple API for getting cached recipe information add 3e0e002 tinfoil: add more doc comments add f15ca73 fetch2: allow hiding checksum warning add 8b2ccb4 fetch2: fire an event when there are missing checksums add eef7a1a Update to version 1.35.0 (development version with server rework changes) new db0679b bb/tinfoil: run_command handle busy status in bitbake server This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (0395760) \ N -- N -- N refs/heads/master-next (db0679b) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: bin/bitbake | 2 +- lib/bb/__init__.py | 2 +- lib/bb/main.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 07:46:27 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 07:46:27 +0000 Subject: [oe-commits] [bitbake] 01/01: bb/tinfoil: run_command handle busy status in bitbake server In-Reply-To: <150062318648.16982.10759904109575365604@git.openembedded.org> References: <150062318648.16982.10759904109575365604@git.openembedded.org> Message-ID: <20170721074626.9418423361E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit db0679b1ba34da54aa4da06204ec0024d2cf923f Author: An?bal Lim?n AuthorDate: Wed Jul 5 15:02:46 2017 -0500 bb/tinfoil: run_command handle busy status in bitbake server When tinfoil request a command to bitbake is handled in async manner [1], sometimes is this ends on return a Busy status. This is a workaround a needs to be fixed in proper manner inside bitbake code. For example when running clientComplete and buildFile is on progress, ERROR: Function failed: base_do_unpack Traceback (most recent call last): File "/home/alimon/repos/poky/scripts/lib/devtool/standard.py", line 797, in modify initial_rev = _extract_source(srctree, args.keep_temp, args.branch, False, rd, tinfoil) File "/home/alimon/repos/poky/scripts/lib/devtool/standard.py", line 562, in _extract_source runtask(fn, 'unpack') File "/home/alimon/repos/poky/scripts/lib/devtool/standard.py", line 552, in runtask raise DevtoolError('Task do_%s failed' % task) devtool.DevtoolError: Task do_unpack failed During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/alimon/repos/poky/scripts/devtool", line 351, in ret = main() File "/home/alimon/repos/poky/scripts/devtool", line 338, in main ret = args.func(args, config, basepath, workspace) File "/home/alimon/repos/poky/scripts/lib/devtool/standard.py", line 864, in modify tinfoil.shutdown() File "/home/alimon/repos/poky/bitbake/lib/bb/tinfoil.py", line 427, in shutdown self.run_command('clientComplete') File "/home/alimon/repos/poky/bitbake/lib/bb/tinfoil.py", line 320, in run_command raise TinfoilCommandFailed(result[1]) bb.tinfoil.TinfoilCommandFailed: Busy (buildFile in progress) Signed-off-by: An?bal Lim?n Signed-off-by: Richard Purdie --- lib/bb/tinfoil.py | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index e246b3d..fea8915 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -22,6 +22,7 @@ import os import sys import atexit import re +import time from collections import OrderedDict, defaultdict import bb.cache @@ -444,7 +445,7 @@ class Tinfoil: self.run_actions(config_params) self.recipes_parsed = True - def run_command(self, command, *params): + def run_command(self, command, *params, ntries=0): """ Run a command on the server (as implemented in bb.command). Note that there are two types of command - synchronous and @@ -461,9 +462,22 @@ class Tinfoil: commandline = [command] if params: commandline.extend(params) - result = self.server_connection.connection.runCommand(commandline) - if result[1]: - raise TinfoilCommandFailed(result[1]) + + # XXX: Tinfoil commands are run by Cooker in async mode so gives + # some time to get done. + result = None + while True: + result = self.server_connection.connection.runCommand(commandline) + if not result[1]: + break + + if ntries == 0: + raise TinfoilCommandFailed(result[1]) + elif 'Busy' in result[1]: + ntries = ntries - 1 + time.sleep(1) + continue + return result[0] def set_event_mask(self, eventlist): @@ -805,7 +819,7 @@ class Tinfoil: the tinfoil object which will ensure that it gets called. """ if self.server_connection: - self.run_command('clientComplete') + self.run_command('clientComplete', ntries=1) _server_connections.remove(self.server_connection) bb.event.ui_queue = [] self.server_connection.terminate() -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 08:53:05 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 08:53:05 +0000 Subject: [oe-commits] [meta-openembedded] 03/24: python-paho-mqtt, python3-paho-mqtt: update to 1.3.0 In-Reply-To: <150062718292.2957.2424336847480361710@git.openembedded.org> References: <150062718292.2957.2424336847480361710@git.openembedded.org> Message-ID: <20170721085303.53682233620@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit f0a1e0e24451c94eecebb1238e96808de85b6be2 Author: Pascal Bach AuthorDate: Wed Jul 19 17:33:16 2017 +0200 python-paho-mqtt, python3-paho-mqtt: update to 1.3.0 Signed-off-by: Pascal Bach Signed-off-by: Martin Jansa --- meta-python/recipes-devtools/python/python-paho-mqtt.inc | 4 ++-- .../python/{python-paho-mqtt_1.2.3.bb => python-paho-mqtt_1.3.0.bb} | 0 .../python/{python3-paho-mqtt_1.2.3.bb => python3-paho-mqtt_1.3.0.bb} | 0 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-python/recipes-devtools/python/python-paho-mqtt.inc b/meta-python/recipes-devtools/python/python-paho-mqtt.inc index 545985c..531fdf7 100644 --- a/meta-python/recipes-devtools/python/python-paho-mqtt.inc +++ b/meta-python/recipes-devtools/python/python-paho-mqtt.inc @@ -4,8 +4,8 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=eb48c6ee2cb9f5b8b9fe75e6f817bdfc" SRCNAME = "paho-mqtt" inherit pypi -SRC_URI[md5sum] = "4bd192ea24e7aa347f6d240101ef82f6" -SRC_URI[sha256sum] = "0fd746d8650563290f1bd0fec01e74cb57c3ab7406bdb58e5d9252bb5fa5ca44" +SRC_URI[md5sum] = "b9338236e2836e8579ef140956189cc4" +SRC_URI[sha256sum] = "2c9ef5494cfc1e41a9fff6544c5a2cd59ea5d401d9119a06ecf7fad6a2ffeb93" RDEPENDS_${PN} = "\ ${PYTHON_PN}-math \ diff --git a/meta-python/recipes-devtools/python/python-paho-mqtt_1.2.3.bb b/meta-python/recipes-devtools/python/python-paho-mqtt_1.3.0.bb similarity index 100% rename from meta-python/recipes-devtools/python/python-paho-mqtt_1.2.3.bb rename to meta-python/recipes-devtools/python/python-paho-mqtt_1.3.0.bb diff --git a/meta-python/recipes-devtools/python/python3-paho-mqtt_1.2.3.bb b/meta-python/recipes-devtools/python/python3-paho-mqtt_1.3.0.bb similarity index 100% rename from meta-python/recipes-devtools/python/python3-paho-mqtt_1.2.3.bb rename to meta-python/recipes-devtools/python/python3-paho-mqtt_1.3.0.bb -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 08:53:03 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 08:53:03 +0000 Subject: [oe-commits] [meta-openembedded] 01/24: python-chardet.inc: update build dependency In-Reply-To: <150062718292.2957.2424336847480361710@git.openembedded.org> References: <150062718292.2957.2424336847480361710@git.openembedded.org> Message-ID: <20170721085303.4212723361E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 6e21f8ea21d539a2614f23dc1f6a037d6447ea85 Author: Maxin B. John AuthorDate: Wed Jul 19 17:32:34 2017 +0200 python-chardet.inc: update build dependency Update chardet's build dependency on pytest-runner-native Signed-off-by: Maxin B. John Signed-off-by: Pascal Bach Signed-off-by: Martin Jansa --- meta-python/recipes-devtools/python/python-chardet.inc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/meta-python/recipes-devtools/python/python-chardet.inc b/meta-python/recipes-devtools/python/python-chardet.inc index c5da1e1..25443f8 100644 --- a/meta-python/recipes-devtools/python/python-chardet.inc +++ b/meta-python/recipes-devtools/python/python-chardet.inc @@ -4,5 +4,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=a6f89e2100d9b6cdffcea4f398e37343" inherit pypi +# setup.py of chardet needs this. +DEPENDS += "${PYTHON_PN}-pytest-runner-native" + SRC_URI[md5sum] = "7dd1ba7f9c77e32351b0a0cfacf4055c" SRC_URI[sha256sum] = "84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 08:53:04 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 08:53:04 +0000 Subject: [oe-commits] [meta-openembedded] 02/24: python-sqlalchemy, python3-sqlalchemy: update to 1.1.11 In-Reply-To: <150062718292.2957.2424336847480361710@git.openembedded.org> References: <150062718292.2957.2424336847480361710@git.openembedded.org> Message-ID: <20170721085303.49E4023361F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 117e4bc4b0e90ee8e70b3102763b6a0708032019 Author: Pascal Bach AuthorDate: Wed Jul 19 17:32:59 2017 +0200 python-sqlalchemy, python3-sqlalchemy: update to 1.1.11 Signed-off-by: Pascal Bach Signed-off-by: Martin Jansa --- meta-python/recipes-devtools/python/python-sqlalchemy.inc | 4 ++-- .../{python-sqlalchemy_1.1.10.bb => python-sqlalchemy_1.1.11.bb} | 0 .../{python3-sqlalchemy_1.1.10.bb => python3-sqlalchemy_1.1.11.bb} | 0 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-python/recipes-devtools/python/python-sqlalchemy.inc b/meta-python/recipes-devtools/python/python-sqlalchemy.inc index d2a7be5..0a93dc4 100644 --- a/meta-python/recipes-devtools/python/python-sqlalchemy.inc +++ b/meta-python/recipes-devtools/python/python-sqlalchemy.inc @@ -7,8 +7,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=452f4b8adb0feba42e5be5f1fbfbf538" PYPI_PACKAGE = "SQLAlchemy" inherit pypi -SRC_URI[md5sum] = "64b9a3bf34e17944f844cbf460bd14e6" -SRC_URI[sha256sum] = "dbd92b8af2306d600efa98ed36262d73aad227440a758c8dc3a067ca30096bd3" +SRC_URI[md5sum] = "3de387eddb4012083a4562928c511e43" +SRC_URI[sha256sum] = "76f76965e9a968ba3aecd2a8bc0d991cea04fd9a182e6c95c81f1551487b0211" RDEPENDS_${PN} += " \ ${PYTHON_PN}-json \ diff --git a/meta-python/recipes-devtools/python/python-sqlalchemy_1.1.10.bb b/meta-python/recipes-devtools/python/python-sqlalchemy_1.1.11.bb similarity index 100% rename from meta-python/recipes-devtools/python/python-sqlalchemy_1.1.10.bb rename to meta-python/recipes-devtools/python/python-sqlalchemy_1.1.11.bb diff --git a/meta-python/recipes-devtools/python/python3-sqlalchemy_1.1.10.bb b/meta-python/recipes-devtools/python/python3-sqlalchemy_1.1.11.bb similarity index 100% rename from meta-python/recipes-devtools/python/python3-sqlalchemy_1.1.10.bb rename to meta-python/recipes-devtools/python/python3-sqlalchemy_1.1.11.bb -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 08:53:02 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 08:53:02 +0000 Subject: [oe-commits] [meta-openembedded] branch master-next updated (3cb6d9f -> 820cc94) Message-ID: <150062718292.2957.2424336847480361710@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a change to branch master-next in repository meta-openembedded. from 3cb6d9f sg3-utils: add mirror new 6e21f8e python-chardet.inc: update build dependency new 117e4bc python-sqlalchemy, python3-sqlalchemy: update to 1.1.11 new f0a1e0e python-paho-mqtt, python3-paho-mqtt: update to 1.3.0 new e80b6e5 python-requests, python3-requests: update to 2.28.1 new efeb099 flashrom: Upgrade to 0.9.9 new 72601b6 postgresql: Do not link with libnsl on musl new 5877281 zeroconf: Fix build with musl new 6c94b9c libgnomekbd: 2.32 -> 3.22 new f4eeaee python3-pykickstart: add recipe 2.35 new eff717d python3-meh: add recipe 0.45 new c272985 isomd5sum: add recipe 1.2.1 new bb2d127 libtar: add recipe 1.2.20 new 4420bd8 python-pytun: addition of recipe for python and python3 using pipy new 27a0e7e netperf: change SRC_URI to git repository new 442117d ippool: Fix build errors found with hardening flags new 992b216 gimp: remove libart-lgpl build dependency new fba8beb fribidi_0.19.7.bb: set CVE_PRODUCT to gnu_fribidi new e5b234e krb5_1.15.1.bb: set CVE_PRODUCT to kerberos new 8d9fdaa udisks2_2.1.8.bb: set CVE_PRODUCT to udisks new c397029 keybinder: add recipe 3.0 new 0e72784 volume-key: add recipe 0.3.9 new b22a3b5 usermode: add recipe 1.111 new b6e7a90 xmlrpc-c: add recipe 1.31.0 new 820cc94 satyr: add recipe 0.23 The 24 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../gnome-settings-daemon_2.32.1.bb | 3 - .../recipes-gnome/libgnome/libgnomekbd_2.32.0.bb | 20 -- .../recipes-gnome/libgnome/libgnomekbd_3.22.0.bb | 17 ++ .../recipes-support/keybinder/keybinder_3.0.bb | 26 ++ ...ix-compile-failure-against-musl-C-library.patch | 27 ++ .../recipes-support/usermode/usermode_1.111.bb | 27 ++ .../ippool/0001-Respect-flags-from-env.patch | 56 ++++ ...timer-Check-for-return-value-of-write-API.patch | 28 ++ .../ippool/ippool/0002-link-with-libtirpc.patch | 30 +++ .../ippool/ippool/0003-musl-fixes.patch | 283 +++++++++++++++++++++ .../recipes-daemons/ippool/ippool_1.3.bb | 31 ++- ...name-arp_op-to-avoid-namespace-conflicts-.patch | 69 +++++ .../recipes-protocols/zeroconf/zeroconf_0.9.bb | 4 +- .../netperf/{netperf_2.6.0.bb => netperf_git.bb} | 8 +- meta-oe/licenses/X11 | 23 ++ meta-oe/recipes-connectivity/krb5/krb5_1.15.1.bb | 2 + .../recipes-devtools/libfribidi/fribidi_0.19.7.bb | 2 + ...ix-compile-failure-against-musl-C-library.patch | 52 ++++ .../recipes-devtools/xmlrpc-c/xmlrpc-c_1.31.0.bb | 23 ++ .../flashrom/0001-Fix-compilation-on-aarch64.patch | 62 ----- .../0001-ichspi.c-Fix-build-with-clang.patch | 29 --- ...fine-_XOPEN_SOURCE-to-enable-ffs-libc-API.patch | 28 ++ ...utological-pointer-compare-when-using-cla.patch | 35 --- .../0003-remove-duplicate-const-qualifiers.patch | 71 ------ .../recipes-extended/flashrom/flashrom/sst26.patch | 198 ++++++++++++++ .../recipes-extended/flashrom/flashrom_0.9.6.1.bb | 22 -- .../recipes-extended/flashrom/flashrom_0.9.9.bb | 19 ++ .../files/0001-tweak-install-prefix.patch | 60 +++++ .../isomd5sum/files/0002-fix-parallel-error.patch | 33 +++ .../recipes-extended/isomd5sum/isomd5sum_1.2.1.bb | 35 +++ ...-explicitly-support-python3-by-pkg-config.patch | 56 ++++ .../volume_key/volume-key_0.3.9.bb | 34 +++ meta-oe/recipes-graphics/gimp/gimp_2.8.22.bb | 1 - .../libtar/files/0002-Do-not-strip-libtar.patch | 25 ++ .../libtar/files/fix_libtool_sysroot.patch | 19 ++ meta-oe/recipes-support/libtar/libtar_1.2.20.bb | 21 ++ .../postgresql/postgresql_9.4.11.bb | 4 + .../satyr/files/0001-do-not-support-python2.patch | 84 ++++++ ...ix-compile-failure-against-musl-C-library.patch | 28 ++ meta-oe/recipes-support/satyr/satyr_0.23.bb | 33 +++ meta-oe/recipes-support/udisks/udisks2_2.1.8.bb | 2 + .../python-pytun/python-pytun.inc | 10 + .../python-pytun/python-pytun_2.2.1.bb | 2 + .../python-pytun/python3-pytun_2.2.1.bb | 2 + .../recipes-devtools/python/python-chardet.inc | 3 + .../recipes-devtools/python/python-paho-mqtt.inc | 4 +- ...aho-mqtt_1.2.3.bb => python-paho-mqtt_1.3.0.bb} | 0 .../recipes-devtools/python/python-requests.inc | 10 +- ...equests_2.13.0.bb => python-requests_2.18.1.bb} | 2 +- .../recipes-devtools/python/python-sqlalchemy.inc | 4 +- ...chemy_1.1.10.bb => python-sqlalchemy_1.1.11.bb} | 0 ...ho-mqtt_1.2.3.bb => python3-paho-mqtt_1.3.0.bb} | 0 ...quests_2.13.0.bb => python3-requests_2.18.1.bb} | 2 +- ...hemy_1.1.10.bb => python3-sqlalchemy_1.1.11.bb} | 0 .../files/tweak-native-language-support.patch | 44 ++++ .../python-meh/python3-meh_0.45.bb | 17 ++ ...0001-support-authentication-for-kickstart.patch | 151 +++++++++++ ...-parser.py-add-lock-for-readKickstart-and.patch | 76 ++++++ ...-sections-shutdown-and-environment-in-gen.patch | 48 ++++ ...d.py-retry-to-invoke-request-with-timeout.patch | 82 ++++++ .../python-pykickstart/python3-pykickstart_2.35.bb | 26 ++ 61 files changed, 1843 insertions(+), 270 deletions(-) delete mode 100644 meta-gnome/recipes-gnome/libgnome/libgnomekbd_2.32.0.bb create mode 100644 meta-gnome/recipes-gnome/libgnome/libgnomekbd_3.22.0.bb create mode 100644 meta-gnome/recipes-support/keybinder/keybinder_3.0.bb create mode 100644 meta-gnome/recipes-support/usermode/usermode/0001-fix-compile-failure-against-musl-C-library.patch create mode 100644 meta-gnome/recipes-support/usermode/usermode_1.111.bb create mode 100644 meta-networking/recipes-daemons/ippool/ippool/0001-Respect-flags-from-env.patch create mode 100644 meta-networking/recipes-daemons/ippool/ippool/0001-usl_timer-Check-for-return-value-of-write-API.patch create mode 100644 meta-networking/recipes-daemons/ippool/ippool/0002-link-with-libtirpc.patch create mode 100644 meta-networking/recipes-daemons/ippool/ippool/0003-musl-fixes.patch create mode 100644 meta-networking/recipes-protocols/zeroconf/zeroconf/0001-zeroconf-Rename-arp_op-to-avoid-namespace-conflicts-.patch rename meta-networking/recipes-support/netperf/{netperf_2.6.0.bb => netperf_git.bb} (89%) create mode 100644 meta-oe/licenses/X11 create mode 100644 meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-fix-compile-failure-against-musl-C-library.patch create mode 100644 meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.31.0.bb delete mode 100644 meta-oe/recipes-extended/flashrom/flashrom/0001-Fix-compilation-on-aarch64.patch delete mode 100644 meta-oe/recipes-extended/flashrom/flashrom/0001-ichspi.c-Fix-build-with-clang.patch create mode 100644 meta-oe/recipes-extended/flashrom/flashrom/0001-spi-Define-_XOPEN_SOURCE-to-enable-ffs-libc-API.patch delete mode 100644 meta-oe/recipes-extended/flashrom/flashrom/0002-Disable-Wtautological-pointer-compare-when-using-cla.patch delete mode 100644 meta-oe/recipes-extended/flashrom/flashrom/0003-remove-duplicate-const-qualifiers.patch create mode 100644 meta-oe/recipes-extended/flashrom/flashrom/sst26.patch delete mode 100644 meta-oe/recipes-extended/flashrom/flashrom_0.9.6.1.bb create mode 100644 meta-oe/recipes-extended/flashrom/flashrom_0.9.9.bb create mode 100644 meta-oe/recipes-extended/isomd5sum/files/0001-tweak-install-prefix.patch create mode 100644 meta-oe/recipes-extended/isomd5sum/files/0002-fix-parallel-error.patch create mode 100644 meta-oe/recipes-extended/isomd5sum/isomd5sum_1.2.1.bb create mode 100644 meta-oe/recipes-extended/volume_key/files/0001-explicitly-support-python3-by-pkg-config.patch create mode 100644 meta-oe/recipes-extended/volume_key/volume-key_0.3.9.bb create mode 100644 meta-oe/recipes-support/libtar/files/0002-Do-not-strip-libtar.patch create mode 100644 meta-oe/recipes-support/libtar/files/fix_libtool_sysroot.patch create mode 100644 meta-oe/recipes-support/libtar/libtar_1.2.20.bb create mode 100644 meta-oe/recipes-support/satyr/files/0001-do-not-support-python2.patch create mode 100644 meta-oe/recipes-support/satyr/files/0002-fix-compile-failure-against-musl-C-library.patch create mode 100644 meta-oe/recipes-support/satyr/satyr_0.23.bb create mode 100644 meta-python/recipes-connectivity/python-pytun/python-pytun.inc create mode 100644 meta-python/recipes-connectivity/python-pytun/python-pytun_2.2.1.bb create mode 100644 meta-python/recipes-connectivity/python-pytun/python3-pytun_2.2.1.bb rename meta-python/recipes-devtools/python/{python-paho-mqtt_1.2.3.bb => python-paho-mqtt_1.3.0.bb} (100%) rename meta-python/recipes-devtools/python/{python-requests_2.13.0.bb => python-requests_2.18.1.bb} (73%) rename meta-python/recipes-devtools/python/{python-sqlalchemy_1.1.10.bb => python-sqlalchemy_1.1.11.bb} (100%) rename meta-python/recipes-devtools/python/{python3-paho-mqtt_1.2.3.bb => python3-paho-mqtt_1.3.0.bb} (100%) rename meta-python/recipes-devtools/python/{python3-requests_2.13.0.bb => python3-requests_2.18.1.bb} (81%) rename meta-python/recipes-devtools/python/{python3-sqlalchemy_1.1.10.bb => python3-sqlalchemy_1.1.11.bb} (100%) create mode 100644 meta-python/recipes-extended/python-meh/files/tweak-native-language-support.patch create mode 100644 meta-python/recipes-extended/python-meh/python3-meh_0.45.bb create mode 100644 meta-python/recipes-extended/python-pykickstart/files/0001-support-authentication-for-kickstart.patch create mode 100644 meta-python/recipes-extended/python-pykickstart/files/0002-pykickstart-parser.py-add-lock-for-readKickstart-and.patch create mode 100644 meta-python/recipes-extended/python-pykickstart/files/0003-comment-out-sections-shutdown-and-environment-in-gen.patch create mode 100644 meta-python/recipes-extended/python-pykickstart/files/0004-load.py-retry-to-invoke-request-with-timeout.patch create mode 100644 meta-python/recipes-extended/python-pykickstart/python3-pykickstart_2.35.bb -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 08:53:06 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 08:53:06 +0000 Subject: [oe-commits] [meta-openembedded] 04/24: python-requests, python3-requests: update to 2.28.1 In-Reply-To: <150062718292.2957.2424336847480361710@git.openembedded.org> References: <150062718292.2957.2424336847480361710@git.openembedded.org> Message-ID: <20170721085303.5CD01233621@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit e80b6e5dff18c39dee120a68df0ca73597482d47 Author: Pascal Bach AuthorDate: Wed Jul 19 17:33:46 2017 +0200 python-requests, python3-requests: update to 2.28.1 The copyright year changed in the license file. Signed-off-by: Pascal Bach Signed-off-by: Martin Jansa --- meta-python/recipes-devtools/python/python-requests.inc | 10 +++++++--- .../{python-requests_2.13.0.bb => python-requests_2.18.1.bb} | 2 +- .../{python3-requests_2.13.0.bb => python3-requests_2.18.1.bb} | 2 +- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/meta-python/recipes-devtools/python/python-requests.inc b/meta-python/recipes-devtools/python/python-requests.inc index b66f66e..81819bf 100644 --- a/meta-python/recipes-devtools/python/python-requests.inc +++ b/meta-python/recipes-devtools/python/python-requests.inc @@ -1,10 +1,12 @@ DESCRIPTION = "Python HTTP for Humans." HOMEPAGE = "http://python-requests.org" LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=d9bb3515869c0f426cb8441c899ae7f5" +LIC_FILES_CHKSUM = "file://LICENSE;md5=979d6a23b143e13ea0e5e3aa81248820" -SRC_URI[md5sum] = "921ec6b48f2ddafc8bb6160957baf444" -SRC_URI[sha256sum] = "5722cd09762faa01276230270ff16af7acf7c5c45d623868d9ba116f15791ce8" +SRC_URI[md5sum] = "40f723ed01dddeaf990d0609d073f021" +SRC_URI[sha256sum] = "c6f3bdf4a4323ac7b45d01e04a6f6c20e32a052cd04de81e05103abc049ad9b9" + +inherit pypi RDEPENDS_${PN} += " \ ${PYTHON_PN}-email \ @@ -15,6 +17,8 @@ RDEPENDS_${PN} += " \ ${PYTHON_PN}-pyopenssl \ ${PYTHON_PN}-pysocks \ ${PYTHON_PN}-urllib3 \ + ${PYTHON_PN}-chardet \ + ${PYTHON_PN}-idna \ " BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python-requests_2.13.0.bb b/meta-python/recipes-devtools/python/python-requests_2.18.1.bb similarity index 73% rename from meta-python/recipes-devtools/python/python-requests_2.13.0.bb rename to meta-python/recipes-devtools/python/python-requests_2.18.1.bb index 627bc95..0d7a29f 100644 --- a/meta-python/recipes-devtools/python/python-requests_2.13.0.bb +++ b/meta-python/recipes-devtools/python/python-requests_2.18.1.bb @@ -1,4 +1,4 @@ -inherit pypi setuptools +inherit setuptools require python-requests.inc RDEPENDS_${PN} += "${PYTHON_PN}-zlib" diff --git a/meta-python/recipes-devtools/python/python3-requests_2.13.0.bb b/meta-python/recipes-devtools/python/python3-requests_2.18.1.bb similarity index 81% rename from meta-python/recipes-devtools/python/python3-requests_2.13.0.bb rename to meta-python/recipes-devtools/python/python3-requests_2.18.1.bb index 5e869b7..d91d993 100644 --- a/meta-python/recipes-devtools/python/python3-requests_2.13.0.bb +++ b/meta-python/recipes-devtools/python/python3-requests_2.18.1.bb @@ -1,4 +1,4 @@ -inherit pypi setuptools3 +inherit setuptools3 require python-requests.inc # Add the runtime depends for selectors.py -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 08:53:08 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 08:53:08 +0000 Subject: [oe-commits] [meta-openembedded] 06/24: postgresql: Do not link with libnsl on musl In-Reply-To: <150062718292.2957.2424336847480361710@git.openembedded.org> References: <150062718292.2957.2424336847480361710@git.openembedded.org> Message-ID: <20170721085303.72BE3233623@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 72601b6147c4b5d324612794eca9c005863dccb2 Author: Khem Raj AuthorDate: Wed Jul 19 08:41:31 2017 -0700 postgresql: Do not link with libnsl on musl libnsl is not available on musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- meta-oe/recipes-support/postgresql/postgresql_9.4.11.bb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/meta-oe/recipes-support/postgresql/postgresql_9.4.11.bb b/meta-oe/recipes-support/postgresql/postgresql_9.4.11.bb index e4d2eda..7043b27 100644 --- a/meta-oe/recipes-support/postgresql/postgresql_9.4.11.bb +++ b/meta-oe/recipes-support/postgresql/postgresql_9.4.11.bb @@ -7,5 +7,9 @@ SRC_URI += "\ file://not-check-libperl.patch \ " +do_compile_prepend_libc-musl() { + sed -i -e 's/\-lnsl//g' ${B}/src/Makefile.global +} + SRC_URI[md5sum] = "2fee03f2034034dbfcb3321a0bb0f829" SRC_URI[sha256sum] = "e3eb51d045c180b03d2de1f0c3af9356e10be49448e966ca01dfc2c6d1cc9d23" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 08:53:12 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 08:53:12 +0000 Subject: [oe-commits] [meta-openembedded] 10/24: python3-meh: add recipe 0.45 In-Reply-To: <150062718292.2957.2424336847480361710@git.openembedded.org> References: <150062718292.2957.2424336847480361710@git.openembedded.org> Message-ID: <20170721085303.95D8E233637@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit eff717df66946ef56e1fabefc27086682a3a8b07 Author: Hongxu Jia AuthorDate: Thu Jul 20 03:44:30 2017 -0400 python3-meh: add recipe 0.45 Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- .../files/tweak-native-language-support.patch | 44 ++++++++++++++++++++++ .../python-meh/python3-meh_0.45.bb | 17 +++++++++ 2 files changed, 61 insertions(+) diff --git a/meta-python/recipes-extended/python-meh/files/tweak-native-language-support.patch b/meta-python/recipes-extended/python-meh/files/tweak-native-language-support.patch new file mode 100644 index 0000000..41cfadd --- /dev/null +++ b/meta-python/recipes-extended/python-meh/files/tweak-native-language-support.patch @@ -0,0 +1,44 @@ +From 6e7689bced8ef56cfb5969560d23706f8e039807 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Mon, 11 Apr 2016 23:01:19 -0400 +Subject: [PATCH] tweak native language support + +- Only support en_GB only. + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Hongxu Jia +--- + Makefile | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index d0a9784..db152c4 100644 +--- a/Makefile ++++ b/Makefile +@@ -24,7 +24,7 @@ test: + PYTHONPATH=. python $(TESTSUITE) -v + + install: +- python setup.py install --root=$(DESTDIR) ++ python setup.py install --root=$(DESTDIR) --install-lib=${PYTHON_SITEPACKAGES_DIR} --prefix=${prefix} + $(MAKE) -C po install + + ChangeLog: +@@ -61,6 +61,13 @@ rpmlog: + @git log --pretty="format:- %s (%ae)" $(TAG).. |sed -e 's/@.*)/)/' + @echo + ++po-empty: ++ for lingua in "en_GB" ; do \ ++ [ -f po/$$lingua.po ] || \ ++ msginit -i po/$(PKGNAME).pot -o po/$$lingua.po -l $$lingua --no-translator || \ ++ exit 1 ; \ ++ done ++ + potfile: + $(MAKE) -C po potfile + +-- +1.9.1 + diff --git a/meta-python/recipes-extended/python-meh/python3-meh_0.45.bb b/meta-python/recipes-extended/python-meh/python3-meh_0.45.bb new file mode 100644 index 0000000..6ace497 --- /dev/null +++ b/meta-python/recipes-extended/python-meh/python3-meh_0.45.bb @@ -0,0 +1,17 @@ +SUMMARY = "A python library for handling exceptions" +DESCRIPTION = "The python-meh package is a python library for handling, saving, and reporting \ +exceptions." +HOMEPAGE = "http://git.fedorahosted.org/git/?p=python-meh.git" +LICENSE = "GPLv2+" + +inherit setuptools3 + +S = "${WORKDIR}/git" + +SRC_URI = "git://github.com/rhinstaller/python-meh.git;protocol=https;branch=master \ +" +SRCREV = "2bfc751fd680515d44f7096945a1e282a1f7d6aa" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +FILES_${PN} += "${datadir}/*" + -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 08:53:07 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 08:53:07 +0000 Subject: [oe-commits] [meta-openembedded] 05/24: flashrom: Upgrade to 0.9.9 In-Reply-To: <150062718292.2957.2424336847480361710@git.openembedded.org> References: <150062718292.2957.2424336847480361710@git.openembedded.org> Message-ID: <20170721085303.687C0233622@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit efeb0991ee0d766a178f8a48d7a50c5e289dbc2e Author: Khem Raj AuthorDate: Wed Jul 19 08:41:30 2017 -0700 flashrom: Upgrade to 0.9.9 Fix build with musl along way Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../flashrom/0001-Fix-compilation-on-aarch64.patch | 62 ------- .../0001-ichspi.c-Fix-build-with-clang.patch | 29 --- ...fine-_XOPEN_SOURCE-to-enable-ffs-libc-API.patch | 28 +++ ...utological-pointer-compare-when-using-cla.patch | 35 ---- .../0003-remove-duplicate-const-qualifiers.patch | 71 -------- .../recipes-extended/flashrom/flashrom/sst26.patch | 198 +++++++++++++++++++++ .../recipes-extended/flashrom/flashrom_0.9.6.1.bb | 22 --- .../recipes-extended/flashrom/flashrom_0.9.9.bb | 19 ++ 8 files changed, 245 insertions(+), 219 deletions(-) diff --git a/meta-oe/recipes-extended/flashrom/flashrom/0001-Fix-compilation-on-aarch64.patch b/meta-oe/recipes-extended/flashrom/flashrom/0001-Fix-compilation-on-aarch64.patch deleted file mode 100644 index 6c2f64e..0000000 --- a/meta-oe/recipes-extended/flashrom/flashrom/0001-Fix-compilation-on-aarch64.patch +++ /dev/null @@ -1,62 +0,0 @@ -From d9e4dc750dc45e42b482d744829254a3672c11b3 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 19 Oct 2016 00:24:08 +0000 -Subject: [PATCH 1/3] Fix compilation on aarch64 - -Signed-off-by: Khem Raj ---- - arch.h | 2 +- - hwaccess.c | 2 +- - hwaccess.h | 6 +++--- - 3 files changed, 5 insertions(+), 5 deletions(-) - -Index: flashrom-0.9.6.1/arch.h -=================================================================== ---- flashrom-0.9.6.1.orig/arch.h -+++ flashrom-0.9.6.1/arch.h -@@ -27,7 +27,7 @@ - #define __FLASHROM_ARCH__ "mips" - #elif defined(__powerpc__) || defined(__powerpc64__) || defined(__ppc__) || defined(__ppc64__) - #define __FLASHROM_ARCH__ "ppc" --#elif defined(__arm__) -+#elif defined(__arm__) || defined(__aarch64__) - #define __FLASHROM_ARCH__ "arm" - #endif - __FLASHROM_ARCH__ -Index: flashrom-0.9.6.1/hwaccess.c -=================================================================== ---- flashrom-0.9.6.1.orig/hwaccess.c -+++ flashrom-0.9.6.1/hwaccess.c -@@ -121,7 +121,7 @@ int rget_io_perms(void) - return 0; - } - --#elif defined (__arm__) -+#elif defined (__arm__) || defined (__aarch64__) - - static inline void sync_primitive(void) - { -Index: flashrom-0.9.6.1/hwaccess.h -=================================================================== ---- flashrom-0.9.6.1.orig/hwaccess.h -+++ flashrom-0.9.6.1/hwaccess.h -@@ -68,8 +68,8 @@ - #error Little-endian PowerPC #defines are unknown - #endif - --#elif defined (__arm__) --#if defined (__ARMEL__) -+#elif defined (__arm__) || defined (__aarch64__) -+#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ - #define __FLASHROM_LITTLE_ENDIAN__ 1 - #else - #error Big-endian ARM #defines are unknown -@@ -337,7 +337,7 @@ int libpayload_wrmsr(int addr, msr_t msr - - /* PCI port I/O is not yet implemented on MIPS. */ - --#elif defined(__arm__) -+#elif defined(__arm__) || defined (__aarch64__) - - /* Non memory mapped I/O is not supported on ARM. */ - diff --git a/meta-oe/recipes-extended/flashrom/flashrom/0001-ichspi.c-Fix-build-with-clang.patch b/meta-oe/recipes-extended/flashrom/flashrom/0001-ichspi.c-Fix-build-with-clang.patch deleted file mode 100644 index ff16f0b..0000000 --- a/meta-oe/recipes-extended/flashrom/flashrom/0001-ichspi.c-Fix-build-with-clang.patch +++ /dev/null @@ -1,29 +0,0 @@ -From a2f603c54013cd0b04bb0103dc615644f315d5e8 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 15 Nov 2016 17:39:24 +0000 -Subject: [PATCH] ichspi.c: Fix build with clang - -ichspi.c:1130:24: error: duplicate 'const' declaration specifier [-Werror,-Wduplicate-decl-specifier] - static const uint32_t const dec_berase[4] = { - ^ -Signed-off-by: Khem Raj ---- - ichspi.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/ichspi.c b/ichspi.c -index 0223ae3..e47aebd 100644 ---- a/ichspi.c -+++ b/ichspi.c -@@ -1127,7 +1127,7 @@ static void ich_hwseq_set_addr(uint32_t addr) - static uint32_t ich_hwseq_get_erase_block_size(unsigned int addr) - { - uint8_t enc_berase; -- static const uint32_t const dec_berase[4] = { -+ static const uint32_t dec_berase[4] = { - 256, - 4 * 1024, - 8 * 1024, --- -1.9.1 - diff --git a/meta-oe/recipes-extended/flashrom/flashrom/0001-spi-Define-_XOPEN_SOURCE-to-enable-ffs-libc-API.patch b/meta-oe/recipes-extended/flashrom/flashrom/0001-spi-Define-_XOPEN_SOURCE-to-enable-ffs-libc-API.patch new file mode 100644 index 0000000..4170fef --- /dev/null +++ b/meta-oe/recipes-extended/flashrom/flashrom/0001-spi-Define-_XOPEN_SOURCE-to-enable-ffs-libc-API.patch @@ -0,0 +1,28 @@ +From 7c65a465a3ddeb7afb9a7c49d010ae7e5d5b1ad1 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 18 Jul 2017 20:25:49 -0700 +Subject: [PATCH] spi: Define _XOPEN_SOURCE to enable ffs() libc API + +musl exposes this issue + +Signed-off-by: Khem Raj +--- + spi.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/spi.c b/spi.c +index 894f73f..aeb6518 100644 +--- a/spi.c ++++ b/spi.c +@@ -21,7 +21,7 @@ + /* + * Contains the generic SPI framework + */ +- ++#define _XOPEN_SOURCE + #include + #include + #include "flash.h" +-- +2.13.3 + diff --git a/meta-oe/recipes-extended/flashrom/flashrom/0002-Disable-Wtautological-pointer-compare-when-using-cla.patch b/meta-oe/recipes-extended/flashrom/flashrom/0002-Disable-Wtautological-pointer-compare-when-using-cla.patch deleted file mode 100644 index aec11bf..0000000 --- a/meta-oe/recipes-extended/flashrom/flashrom/0002-Disable-Wtautological-pointer-compare-when-using-cla.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 9be0d152dfe8ac0f9b665d61aeb3f99dae533e0f Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 19 Oct 2016 00:25:09 +0000 -Subject: [PATCH 2/3] Disable Wtautological-pointer-compare when using clang - -Signed-off-by: Khem Raj ---- - flashrom.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/flashrom.c b/flashrom.c -index 04e9934..bf49104 100644 ---- a/flashrom.c -+++ b/flashrom.c -@@ -1569,6 +1569,9 @@ int selfcheck(void) - * For 'flashchips' we check the first element to be non-null. In the - * other cases there exist use cases where the first element can be - * null. */ -+#pragma clang diagnostic push -+#pragma clang diagnostic ignored "-Wtautological-pointer-compare" -+ - if (flashchips == NULL || flashchips[0].vendor == NULL) { - msg_gerr("Flashchips table miscompilation!\n"); - ret = 1; -@@ -1602,6 +1605,7 @@ int selfcheck(void) - msg_gerr("Known laptops table does not exist!\n"); - ret = 1; - } -+#pragma clang diagnostic pop - #endif - return ret; - } --- -1.9.1 - diff --git a/meta-oe/recipes-extended/flashrom/flashrom/0003-remove-duplicate-const-qualifiers.patch b/meta-oe/recipes-extended/flashrom/flashrom/0003-remove-duplicate-const-qualifiers.patch deleted file mode 100644 index 99283d3..0000000 --- a/meta-oe/recipes-extended/flashrom/flashrom/0003-remove-duplicate-const-qualifiers.patch +++ /dev/null @@ -1,71 +0,0 @@ -From 42ec9bd51e60aa38fe6e78f644e742d6989b6683 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 19 Oct 2016 00:25:23 +0000 -Subject: [PATCH 3/3] remove duplicate const qualifiers - -Signed-off-by: Khem Raj ---- - bitbang_spi.c | 12 ++++++------ - dummyflasher.c | 2 +- - 2 files changed, 7 insertions(+), 7 deletions(-) - -diff --git a/bitbang_spi.c b/bitbang_spi.c -index 11d2de1..508cf45 100644 ---- a/bitbang_spi.c -+++ b/bitbang_spi.c -@@ -26,33 +26,33 @@ - #include "spi.h" - - /* Note that CS# is active low, so val=0 means the chip is active. */ --static void bitbang_spi_set_cs(const const struct bitbang_spi_master *master, int val) -+static void bitbang_spi_set_cs(const struct bitbang_spi_master *master, int val) - { - master->set_cs(val); - } - --static void bitbang_spi_set_sck(const const struct bitbang_spi_master *master, int val) -+static void bitbang_spi_set_sck(const struct bitbang_spi_master *master, int val) - { - master->set_sck(val); - } - --static void bitbang_spi_set_mosi(const const struct bitbang_spi_master *master, int val) -+static void bitbang_spi_set_mosi(const struct bitbang_spi_master *master, int val) - { - master->set_mosi(val); - } - --static int bitbang_spi_get_miso(const const struct bitbang_spi_master *master) -+static int bitbang_spi_get_miso(const struct bitbang_spi_master *master) - { - return master->get_miso(); - } - --static void bitbang_spi_request_bus(const const struct bitbang_spi_master *master) -+static void bitbang_spi_request_bus(const struct bitbang_spi_master *master) - { - if (master->request_bus) - master->request_bus(); - } - --static void bitbang_spi_release_bus(const const struct bitbang_spi_master *master) -+static void bitbang_spi_release_bus(const struct bitbang_spi_master *master) - { - if (master->release_bus) - master->release_bus(); -diff --git a/dummyflasher.c b/dummyflasher.c -index 66d0df0..d0de41c 100644 ---- a/dummyflasher.c -+++ b/dummyflasher.c -@@ -66,7 +66,7 @@ int spi_ignorelist_size = 0; - static uint8_t emu_status = 0; - - /* A legit complete SFDP table based on the MX25L6436E (rev. 1.8) datasheet. */ --static const uint8_t const sfdp_table[] = { -+static const uint8_t sfdp_table[] = { - 0x53, 0x46, 0x44, 0x50, // @0x00: SFDP signature - 0x00, 0x01, 0x01, 0xFF, // @0x04: revision 1.0, 2 headers - 0x00, 0x00, 0x01, 0x09, // @0x08: JEDEC SFDP header rev. 1.0, 9 DW long --- -1.9.1 - diff --git a/meta-oe/recipes-extended/flashrom/flashrom/sst26.patch b/meta-oe/recipes-extended/flashrom/flashrom/sst26.patch new file mode 100644 index 0000000..46a0152 --- /dev/null +++ b/meta-oe/recipes-extended/flashrom/flashrom/sst26.patch @@ -0,0 +1,198 @@ +--- flashrom-0.9.9.orig/chipdrivers.h ++++ flashrom-0.9.9/chipdrivers.h +@@ -103,6 +103,7 @@ + int spi_prettyprint_status_register_sst25(struct flashctx *flash); + int spi_prettyprint_status_register_sst25vf016(struct flashctx *flash); + int spi_prettyprint_status_register_sst25vf040b(struct flashctx *flash); ++int spi_disable_blockprotect_sst26_global_unprotect(struct flashctx *flash); + + /* sfdp.c */ + int probe_spi_sfdp(struct flashctx *flash); +--- flashrom-0.9.9.orig/flashchips.c ++++ flashrom-0.9.9/flashchips.c +@@ -12564,6 +12564,120 @@ + + { + .vendor = "SST", ++ .name = "SST26VF016B(A)", ++ .bustype = BUS_SPI, ++ .manufacture_id = SST_ID, ++ .model_id = SST_SST26VF016B, ++ .total_size = 2048, ++ .page_size = 256, ++ .feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP, ++ .tested = TEST_OK_PREW, ++ .probe = probe_spi_rdid, ++ .probe_timing = TIMING_ZERO, ++ .block_erasers = ++ { ++ { ++ .eraseblocks = { {4 * 1024, 512} }, ++ .block_erase = spi_block_erase_20, ++ }, { ++ .eraseblocks = { ++ {8 * 1024, 4}, ++ {32 * 1024, 1}, ++ {64 * 1024, 30}, ++ {32 * 1024, 1}, ++ {8 * 1024, 4}, ++ }, ++ .block_erase = spi_block_erase_d8, ++ }, { ++ .eraseblocks = { {2 * 1024 * 1024, 1} }, ++ .block_erase = spi_block_erase_c7, ++ }, ++ }, ++ .printlock = spi_prettyprint_status_register_plain, /* TODO: improve */ ++ .unlock = spi_disable_blockprotect_sst26_global_unprotect, ++ .write = spi_chip_write_256, /* Multi I/O supported */ ++ .read = spi_chip_read, /* Fast read (0x0B) and multi I/O supported */ ++ .voltage = {2700, 3600}, ++ }, ++ { ++ .vendor = "SST", ++ .name = "SST26VF032B(A)", ++ .bustype = BUS_SPI, ++ .manufacture_id = SST_ID, ++ .model_id = SST_SST26VF032B, ++ .total_size = 4096, ++ .page_size = 256, ++ .feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP, ++ .tested = TEST_UNTESTED, ++ .probe = probe_spi_rdid, ++ .probe_timing = TIMING_ZERO, ++ .block_erasers = ++ { ++ { ++ .eraseblocks = { {4 * 1024, 1024} }, ++ .block_erase = spi_block_erase_20, ++ }, { ++ .eraseblocks = { ++ {8 * 1024, 4}, ++ {32 * 1024, 1}, ++ {64 * 1024, 62}, ++ {32 * 1024, 1}, ++ {8 * 1024, 4}, ++ }, ++ .block_erase = spi_block_erase_d8, ++ }, { ++ .eraseblocks = { {4 * 1024 * 1024, 1} }, ++ .block_erase = spi_block_erase_c7, ++ }, ++ }, ++ .printlock = spi_prettyprint_status_register_plain, /* TODO: improve */ ++ .unlock = spi_disable_blockprotect_sst26_global_unprotect, ++ .write = spi_chip_write_256, /* Multi I/O supported */ ++ .read = spi_chip_read, /* Fast read (0x0B) and multi I/O supported */ ++ .voltage = {2700, 3600}, ++ }, ++ ++ ++ { ++ .vendor = "SST", ++ .name = "SST26VF064B(A)", ++ .bustype = BUS_SPI, ++ .manufacture_id = SST_ID, ++ .model_id = SST_SST26VF064B, ++ .total_size = 8192, ++ .page_size = 256, ++ .feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP, ++ .tested = TEST_OK_PREW, ++ .probe = probe_spi_rdid, ++ .probe_timing = TIMING_ZERO, ++ .block_erasers = ++ { ++ { ++ .eraseblocks = { {4 * 1024, 2048} }, ++ .block_erase = spi_block_erase_20, ++ }, { ++ .eraseblocks = { ++ {8 * 1024, 4}, ++ {32 * 1024, 1}, ++ {64 * 1024, 126}, ++ {32 * 1024, 1}, ++ {8 * 1024, 4}, ++ }, ++ .block_erase = spi_block_erase_d8, ++ }, { ++ .eraseblocks = { {8 * 1024 * 1024, 1} }, ++ .block_erase = spi_block_erase_c7, ++ }, ++ }, ++ .printlock = spi_prettyprint_status_register_plain, /* TODO: improve */ ++ .unlock = spi_disable_blockprotect_sst26_global_unprotect, ++ .write = spi_chip_write_256, /* Multi I/O supported */ ++ .read = spi_chip_read, /* Fast read (0x0B) and multi I/O supported */ ++ .voltage = {2700, 3600}, ++ }, ++ ++ { ++ .vendor = "SST", + .name = "SST25WF512", + .bustype = BUS_SPI, + .manufacture_id = SST_ID, +--- flashrom-0.9.9.orig/flashchips.h ++++ flashrom-0.9.9/flashchips.h +@@ -697,6 +697,8 @@ + #define SST_SST25VF064C 0x254B + #define SST_SST26VF016 0x2601 + #define SST_SST26VF032 0x2602 ++#define SST_SST26VF016B 0x2641 ++#define SST_SST26VF032B 0x2642 + #define SST_SST26VF064B 0x2643 + #define SST_SST27SF512 0xA4 + #define SST_SST27SF010 0xA5 +--- flashrom-0.9.9.orig/linux_spi.c ++++ flashrom-0.9.9/linux_spi.c +@@ -141,6 +141,16 @@ + return 0; + } + ++static void print_hex(const char *msg, const void *buf, size_t len) ++{ ++ size_t i; ++ msg_pspew("%s:\n", msg); ++ for (i = 0; i < len; i++) { ++ msg_pspew(" %02x", ((uint8_t *)buf)[i]); ++ } ++ msg_pspew("\n"); ++} ++ + static int linux_spi_send_command(struct flashctx *flash, unsigned int writecnt, + unsigned int readcnt, + const unsigned char *txbuf, +@@ -172,10 +182,12 @@ + else + iocontrol_code = SPI_IOC_MESSAGE(2); + ++ print_hex("Write", txbuf, writecnt); + if (ioctl(fd, iocontrol_code, msg) == -1) { + msg_cerr("%s: ioctl: %s\n", __func__, strerror(errno)); + return -1; + } ++ if (readcnt) print_hex("Got", rxbuf, readcnt); + return 0; + } + +--- flashrom-0.9.9.orig/spi25_statusreg.c ++++ flashrom-0.9.9/spi25_statusreg.c +@@ -196,6 +196,19 @@ + return spi_disable_blockprotect_generic(flash, 0x3C, 0, 0, 0xFF); + } + ++int spi_disable_blockprotect_sst26_global_unprotect(struct flashctx *flash) ++{ ++ int result = spi_write_enable(flash); ++ if (result) ++ return result; ++ ++ static const unsigned char cmd[] = { 0x98 }; /* ULBPR */ ++ result = spi_send_command(flash, sizeof(cmd), 0, cmd, NULL); ++ if (result) ++ msg_cerr("ULBPR failed\n"); ++ return result; ++} ++ + /* A common block protection disable that tries to unset the status register bits masked by 0x0C (BP0-1) and + * protected/locked by bit #7. Useful when bits 4-5 may be non-0). */ + int spi_disable_blockprotect_bp1_srwd(struct flashctx *flash) diff --git a/meta-oe/recipes-extended/flashrom/flashrom_0.9.6.1.bb b/meta-oe/recipes-extended/flashrom/flashrom_0.9.6.1.bb deleted file mode 100644 index 0edc688..0000000 --- a/meta-oe/recipes-extended/flashrom/flashrom_0.9.6.1.bb +++ /dev/null @@ -1,22 +0,0 @@ -DESCRIPTION = "flashrom is a utility for identifying, reading, writing, verifying and erasing flash chips" -LICENSE = "GPLv2" -HOMEPAGE = "http://flashrom.org" - -LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" -DEPENDS = "pciutils" - -SRC_URI = "http://download.flashrom.org/releases/flashrom-${PV}.tar.bz2 \ - file://0001-Fix-compilation-on-aarch64.patch \ - file://0002-Disable-Wtautological-pointer-compare-when-using-cla.patch \ - file://0003-remove-duplicate-const-qualifiers.patch \ - file://0001-ichspi.c-Fix-build-with-clang.patch \ - " - -SRC_URI[md5sum] = "407e836c0a2b17ec76583cb6809f65e5" -SRC_URI[sha256sum] = "6f7b588cce74c90b4fe9c9c794de105de76e0323442fb5770b1aeab81e9d560a" - -CFLAGS += "-Wno-error=unknown-pragmas" - -do_install() { - oe_runmake PREFIX=${prefix} DESTDIR=${D} install -} diff --git a/meta-oe/recipes-extended/flashrom/flashrom_0.9.9.bb b/meta-oe/recipes-extended/flashrom/flashrom_0.9.9.bb new file mode 100644 index 0000000..1bd9792 --- /dev/null +++ b/meta-oe/recipes-extended/flashrom/flashrom_0.9.9.bb @@ -0,0 +1,19 @@ +DESCRIPTION = "flashrom is a utility for identifying, reading, writing, verifying and erasing flash chips" +LICENSE = "GPLv2" +HOMEPAGE = "http://flashrom.org" + +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" +DEPENDS = "pciutils libusb" + +SRC_URI = "http://download.flashrom.org/releases/flashrom-${PV}.tar.bz2 \ + file://0001-spi-Define-_XOPEN_SOURCE-to-enable-ffs-libc-API.patch \ + file://sst26.patch \ + " +SRC_URI[md5sum] = "aab9c98925d9cfb5ffb28b67a6112530" +SRC_URI[sha256sum] = "cb3156b0f63eb192024b76c0814135930297aac41f80761a5d293de769783c45" + +inherit pkgconfig + +do_install() { + oe_runmake PREFIX=${prefix} DESTDIR=${D} install +} -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 08:53:11 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 08:53:11 +0000 Subject: [oe-commits] [meta-openembedded] 09/24: python3-pykickstart: add recipe 2.35 In-Reply-To: <150062718292.2957.2424336847480361710@git.openembedded.org> References: <150062718292.2957.2424336847480361710@git.openembedded.org> Message-ID: <20170721085303.8CCA0233636@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit f4eeaee926913104c07d3475b37fd0e73a37a75f Author: Hongxu Jia AuthorDate: Thu Jul 20 03:44:29 2017 -0400 python3-pykickstart: add recipe 2.35 Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- ...0001-support-authentication-for-kickstart.patch | 151 +++++++++++++++++++++ ...-parser.py-add-lock-for-readKickstart-and.patch | 76 +++++++++++ ...-sections-shutdown-and-environment-in-gen.patch | 48 +++++++ ...d.py-retry-to-invoke-request-with-timeout.patch | 82 +++++++++++ .../python-pykickstart/python3-pykickstart_2.35.bb | 26 ++++ 5 files changed, 383 insertions(+) diff --git a/meta-python/recipes-extended/python-pykickstart/files/0001-support-authentication-for-kickstart.patch b/meta-python/recipes-extended/python-pykickstart/files/0001-support-authentication-for-kickstart.patch new file mode 100644 index 0000000..617699d --- /dev/null +++ b/meta-python/recipes-extended/python-pykickstart/files/0001-support-authentication-for-kickstart.patch @@ -0,0 +1,151 @@ +From d0d8890b5ef74c315381c9e1cff4b1d32892116b Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Thu, 1 Jun 2017 15:07:36 +0800 +Subject: [PATCH 1/4] support authentication for kickstart + +While download kickstart file from web server, +we support basic/digest authentication. + +Add KickstartAuthError to report authentication failure, +which the invoker could parse this specific error. + +Upstream-Status: inappropriate [oe specific] + +Signed-off-by: Hongxu Jia +--- + pykickstart/errors.py | 19 +++++++++++++++++++ + pykickstart/load.py | 32 +++++++++++++++++++++++++++----- + pykickstart/parser.py | 4 ++-- + 3 files changed, 48 insertions(+), 7 deletions(-) + +diff --git a/pykickstart/errors.py b/pykickstart/errors.py +index b76e84c..fd81bc8 100644 +--- a/pykickstart/errors.py ++++ b/pykickstart/errors.py +@@ -35,6 +35,10 @@ It also exports several exception classes: + + KickstartVersionError - An exception for errors relating to unsupported + syntax versions. ++ ++ KickstartAuthError - An exception for errors relating to authentication ++ failed while downloading kickstart from web server ++ + """ + import warnings + +@@ -103,3 +107,18 @@ class KickstartVersionError(KickstartError): + + def __str__ (self): + return self.value ++ ++class KickstartAuthError(KickstartError): ++ """An exception for errors relating to authentication failed while ++ downloading kickstart from web server ++ """ ++ def __init__(self, msg): ++ """Create a new KickstartAuthError exception instance with the ++ descriptive message val. val should be the return value of ++ formatErrorMsg. ++ """ ++ KickstartError.__init__(self, msg) ++ ++ def __str__(self): ++ return self.value ++ +diff --git a/pykickstart/load.py b/pykickstart/load.py +index 1f69b9c..0f5741b 100644 +--- a/pykickstart/load.py ++++ b/pykickstart/load.py +@@ -18,10 +18,13 @@ + # with the express permission of Red Hat, Inc. + # + import requests ++from requests.auth import HTTPDigestAuth ++from requests.auth import HTTPBasicAuth ++ + import shutil + import six + +-from pykickstart.errors import KickstartError ++from pykickstart.errors import KickstartError, KickstartAuthError + from pykickstart.i18n import _ + from requests.exceptions import SSLError, RequestException + +@@ -29,7 +32,7 @@ _is_url = lambda location: '://' in location # RFC 3986 + + SSL_VERIFY = True + +-def load_to_str(location): ++def load_to_str(location, user=None, passwd=None): + '''Load a destination URL or file into a string. + Type of input is inferred automatically. + +@@ -40,7 +43,7 @@ def load_to_str(location): + Raises: KickstartError on error reading''' + + if _is_url(location): +- return _load_url(location) ++ return _load_url(location, user=user, passwd=passwd) + else: + return _load_file(location) + +@@ -71,13 +74,32 @@ def load_to_file(location, destination): + _copy_file(location, destination) + return destination + ++def _get_auth(location, user=None, passwd=None): ++ ++ auth = None ++ request = requests.get(location, verify=SSL_VERIFY) ++ if request.status_code == requests.codes.unauthorized: ++ if user is None or passwd is None: ++ log.info("Require Authentication") ++ raise KickstartAuthError("Require Authentication.\nAppend 'ksuser= kspasswd=' to boot command") + ++ reasons = request.headers.get("WWW-Authenticate", "").split() ++ if reasons: ++ auth_type = reasons[0] ++ if auth_type == "Basic": ++ auth = HTTPBasicAuth(user, passwd) ++ elif auth_type == "Digest": ++ auth=HTTPDigestAuth(user, passwd) + +-def _load_url(location): ++ return auth ++ ++def _load_url(location, user=None, passwd=None): + '''Load a location (URL or filename) and return contents as string''' + ++ auth = _get_auth(location, user=user, passwd=passwd) ++ + try: +- request = requests.get(location, verify=SSL_VERIFY) ++ request = requests.get(location, verify=SSL_VERIFY, auth=auth) + except SSLError as e: + raise KickstartError(_('Error securely accessing URL "%s"') % location + ': {e}'.format(e=str(e))) + except RequestException as e: +diff --git a/pykickstart/parser.py b/pykickstart/parser.py +index d2b0fbe..26b5de9 100644 +--- a/pykickstart/parser.py ++++ b/pykickstart/parser.py +@@ -773,7 +773,7 @@ class KickstartParser(object): + i = PutBackIterator(s.splitlines(True) + [""]) + self._stateMachine (i) + +- def readKickstart(self, f, reset=True): ++ def readKickstart(self, f, reset=True, username=None, password=None): + """Process a kickstart file, given by the filename f.""" + if reset: + self._reset() +@@ -794,7 +794,7 @@ class KickstartParser(object): + self.currentdir[self._includeDepth] = cd + + try: +- s = load_to_str(f) ++ s = load_to_str(f, user=username, passwd=password) + except KickstartError as e: + raise KickstartError(formatErrorMsg(0, msg=_("Unable to open input kickstart file: %s") % str(e))) + +-- +2.7.4 + diff --git a/meta-python/recipes-extended/python-pykickstart/files/0002-pykickstart-parser.py-add-lock-for-readKickstart-and.patch b/meta-python/recipes-extended/python-pykickstart/files/0002-pykickstart-parser.py-add-lock-for-readKickstart-and.patch new file mode 100644 index 0000000..cb21235 --- /dev/null +++ b/meta-python/recipes-extended/python-pykickstart/files/0002-pykickstart-parser.py-add-lock-for-readKickstart-and.patch @@ -0,0 +1,76 @@ +From e6e747b883114bfad51ad93f823e65f5a4d6438a Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Thu, 1 Jun 2017 15:12:29 +0800 +Subject: [PATCH 2/4] pykickstart/parser.py: add lock for readKickstart and + support https without certification + +- Add lock for readKickstart to fix race issue + +- Support to download kickstart file through https without certification + +Upstream-Status: Inappropriate[oe specific] + +Signed-off-by: Hongxu Jia +--- + pykickstart/load.py | 2 +- + pykickstart/parser.py | 24 ++++++++++++++++++++++++ + 2 files changed, 25 insertions(+), 1 deletion(-) + +diff --git a/pykickstart/load.py b/pykickstart/load.py +index 0f5741b..48c8276 100644 +--- a/pykickstart/load.py ++++ b/pykickstart/load.py +@@ -30,7 +30,7 @@ from requests.exceptions import SSLError, RequestException + + _is_url = lambda location: '://' in location # RFC 3986 + +-SSL_VERIFY = True ++SSL_VERIFY = False + + def load_to_str(location, user=None, passwd=None): + '''Load a destination URL or file into a string. +diff --git a/pykickstart/parser.py b/pykickstart/parser.py +index 26b5de9..264ba05 100644 +--- a/pykickstart/parser.py ++++ b/pykickstart/parser.py +@@ -57,6 +57,26 @@ STATE_COMMANDS = "commands" + + ver = version.DEVEL + ++import logging ++log = logging.getLogger("anaconda") ++ ++import inspect ++import threading ++_private_ks_lock = threading.RLock() ++ ++class KsLock(object): ++ def __enter__(self): ++ log.info("%s %s" % (self.__class__.__name__, inspect.stack()[0][3])) ++ _private_ks_lock.acquire() ++ return _private_ks_lock ++ ++ def __exit__(self, exc_type, exc_val, exc_tb): ++ log.info("%s %s" % (self.__class__.__name__, inspect.stack()[0][3])) ++ _private_ks_lock.release() ++ ++ ++_ks_lock = KsLock() ++ + def _preprocessStateMachine (lineIter): + l = None + lineno = 0 +@@ -774,6 +794,10 @@ class KickstartParser(object): + self._stateMachine (i) + + def readKickstart(self, f, reset=True, username=None, password=None): ++ with _ks_lock: ++ self._readKickstart(f, reset=reset, username=username, password=password) ++ ++ def _readKickstart(self, f, reset=True, username=None, password=None): + """Process a kickstart file, given by the filename f.""" + if reset: + self._reset() +-- +2.7.4 + diff --git a/meta-python/recipes-extended/python-pykickstart/files/0003-comment-out-sections-shutdown-and-environment-in-gen.patch b/meta-python/recipes-extended/python-pykickstart/files/0003-comment-out-sections-shutdown-and-environment-in-gen.patch new file mode 100644 index 0000000..9fb25fb --- /dev/null +++ b/meta-python/recipes-extended/python-pykickstart/files/0003-comment-out-sections-shutdown-and-environment-in-gen.patch @@ -0,0 +1,48 @@ +From be6012a5dd49ae5e8ac035654ab1c6f37f0dc8f4 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Thu, 1 Jun 2017 15:15:15 +0800 +Subject: [PATCH 3/4] comment out sections shutdown and environment in + generated kickstart file + +Both of them is disabled by default. + +Upstream-Status: Inappropriate[oe specific] + +Signed-off-by: Hongxu Jia + +fixup! add comments of shutdown for user +--- + pykickstart/commands/reboot.py | 3 +++ + pykickstart/parser.py | 2 +- + 2 files changed, 4 insertions(+), 1 deletion(-) + +diff --git a/pykickstart/commands/reboot.py b/pykickstart/commands/reboot.py +index 88799ba..2d0cea9 100644 +--- a/pykickstart/commands/reboot.py ++++ b/pykickstart/commands/reboot.py +@@ -41,6 +41,9 @@ class FC3_Reboot(KickstartCommand): + elif self.action == KS_SHUTDOWN: + retval += "# Shutdown after installation\nshutdown" + retval += self._getArgsAsStr() + "\n" ++ else: ++ retval += "# Shutdown after installation\n#shutdown" ++ retval += self._getArgsAsStr() + "\n" + + return retval + +diff --git a/pykickstart/parser.py b/pykickstart/parser.py +index 264ba05..b3f33d7 100644 +--- a/pykickstart/parser.py ++++ b/pykickstart/parser.py +@@ -383,7 +383,7 @@ class Packages(KickstartObject): + + if not self.default: + if self.environment: +- pkgs += "@^%s\n" % self.environment ++ pkgs += "#@^%s\n" % self.environment + + grps = self.groupList + grps.sort() +-- +2.7.4 + diff --git a/meta-python/recipes-extended/python-pykickstart/files/0004-load.py-retry-to-invoke-request-with-timeout.patch b/meta-python/recipes-extended/python-pykickstart/files/0004-load.py-retry-to-invoke-request-with-timeout.patch new file mode 100644 index 0000000..70254f6 --- /dev/null +++ b/meta-python/recipes-extended/python-pykickstart/files/0004-load.py-retry-to-invoke-request-with-timeout.patch @@ -0,0 +1,82 @@ +From c0e63f0d3c09bdabb0ad2c88b7cc73e7618dd86a Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Thu, 15 Jun 2017 17:35:33 +0800 +Subject: [PATCH 4/4] load.py: retry to invoke request with timeout + +While networkless, use request to fetch kickstart file from +network, it failed and wait 300s to break, we should retry +to invoke request with timeout explicitly. So if it the +network is up, the fetch works. + +Upstream-Status: inappropriate [oe specific] + +Signed-off-by: Hongxu Jia +--- + pykickstart/load.py | 30 ++++++++++++++++++++++++++++++ + 1 file changed, 30 insertions(+) + +diff --git a/pykickstart/load.py b/pykickstart/load.py +index 48c8276..74b266b 100644 +--- a/pykickstart/load.py ++++ b/pykickstart/load.py +@@ -21,6 +21,7 @@ import requests + from requests.auth import HTTPDigestAuth + from requests.auth import HTTPBasicAuth + ++import time + import shutil + import six + +@@ -28,6 +29,9 @@ from pykickstart.errors import KickstartError, KickstartAuthError + from pykickstart.i18n import _ + from requests.exceptions import SSLError, RequestException + ++import logging ++log = logging.getLogger("anaconda") ++ + _is_url = lambda location: '://' in location # RFC 3986 + + SSL_VERIFY = False +@@ -74,6 +78,29 @@ def load_to_file(location, destination): + _copy_file(location, destination) + return destination + ++def _access_url(location): ++ status = False ++ ++ # Retry 45 times, wait 45s~135s ++ i = 0 ++ while i < 45: ++ ++ try: ++ request = requests.get(location, verify=SSL_VERIFY, timeout=2) ++ except RequestException as e: ++ log.info("Try '%s' %d times, %s" % (location, i, str(e))) ++ status = False ++ i += 1 ++ time.sleep(1) ++ continue ++ ++ else: ++ status = True ++ return status ++ ++ return status ++ ++ + def _get_auth(location, user=None, passwd=None): + + auth = None +@@ -96,6 +123,9 @@ def _get_auth(location, user=None, passwd=None): + def _load_url(location, user=None, passwd=None): + '''Load a location (URL or filename) and return contents as string''' + ++ if not _access_url(location): ++ raise KickstartError(_("Connection %s failed" % location)) ++ + auth = _get_auth(location, user=user, passwd=passwd) + + try: +-- +2.7.4 + diff --git a/meta-python/recipes-extended/python-pykickstart/python3-pykickstart_2.35.bb b/meta-python/recipes-extended/python-pykickstart/python3-pykickstart_2.35.bb new file mode 100644 index 0000000..e96af43 --- /dev/null +++ b/meta-python/recipes-extended/python-pykickstart/python3-pykickstart_2.35.bb @@ -0,0 +1,26 @@ +DESCRIPTION = "A python library for manipulating kickstart files" +HOMEPAGE = "http://fedoraproject.org/wiki/pykickstart" +LICENSE = "GPLv2+" + +LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b" +FILESEXTRAPATHS_prepend := "${THISDIR}/files:" + +DEPENDS = "python3" +RDEPENDS_${PN} = "python3 \ + python3-requests \ + python3-six \ +" + +S = "${WORKDIR}/git" +SRC_URI = "git://github.com/rhinstaller/pykickstart.git;protocol=https;branch=pykickstart-2 \ + file://0001-support-authentication-for-kickstart.patch \ + file://0002-pykickstart-parser.py-add-lock-for-readKickstart-and.patch \ + file://0003-comment-out-sections-shutdown-and-environment-in-gen.patch \ + file://0004-load.py-retry-to-invoke-request-with-timeout.patch \ + " +SRCREV = "b2787a818540e678c2f9c5dca0c6bbd65b8b55e5" + +inherit setuptools3 + +PROVIDES = "pykickstart" +RPROVIDES_${PN} = "pykickstart" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 08:53:10 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 08:53:10 +0000 Subject: [oe-commits] [meta-openembedded] 08/24: libgnomekbd: 2.32 -> 3.22 In-Reply-To: <150062718292.2957.2424336847480361710@git.openembedded.org> References: <150062718292.2957.2424336847480361710@git.openembedded.org> Message-ID: <20170721085303.83BA7233625@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 6c94b9c74367899af76c4032a061e4c381ee2d19 Author: Hongxu Jia AuthorDate: Thu Jul 20 03:44:28 2017 -0400 libgnomekbd: 2.32 -> 3.22 Remove --disable-schemas-install: ... |QA Issue: libgnomekbd: configure was passed unrecognised options: --disable-schemas-install [unknown-configure-option] ... Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- .../gnome-settings-daemon_2.32.1.bb | 3 --- .../recipes-gnome/libgnome/libgnomekbd_2.32.0.bb | 20 -------------------- .../recipes-gnome/libgnome/libgnomekbd_3.22.0.bb | 17 +++++++++++++++++ 3 files changed, 17 insertions(+), 23 deletions(-) diff --git a/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_2.32.1.bb b/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_2.32.1.bb index c1db6d3..9a18972 100644 --- a/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_2.32.1.bb +++ b/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_2.32.1.bb @@ -40,7 +40,4 @@ FILES_${PN}-dbg += "${libdir}/gnome-settings-daemon-2.0/.debug" FILES_${PN}-dev += "${libdir}/gnome-settings-daemon-2.0/*.la" FILES_${PN}-staticdev += "${libdir}/gnome-settings-daemon-2.0/*.a" - -PNBLACKLIST[gnome-settings-daemon] ?= "Depends on blacklisted libgnomekbd - the recipe will be removed on 2017-09-01 unless the issue is fixed" - PNBLACKLIST[gnome-settings-daemon] ?= "Depends on blacklisted gnome-desktop - the recipe will be removed on 2017-09-01 unless the issue is fixed" diff --git a/meta-gnome/recipes-gnome/libgnome/libgnomekbd_2.32.0.bb b/meta-gnome/recipes-gnome/libgnome/libgnomekbd_2.32.0.bb deleted file mode 100644 index 852d8e1..0000000 --- a/meta-gnome/recipes-gnome/libgnome/libgnomekbd_2.32.0.bb +++ /dev/null @@ -1,20 +0,0 @@ -SUMMARY = "GNOME keyboard library" -LICENSE = "LGPLv2" -LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=6e29c688d912da12b66b73e32b03d812" - -SECTION = "x11/gnome/libs" - -DEPENDS = "gconf gtk+ glib-2.0 libxklavier intltool-native gnome-common-native" - -inherit gnome - -SRC_URI[archive.md5sum] = "de32a6e3e3464b566eecdc4332bf34bd" -SRC_URI[archive.sha256sum] = "ddd52c4cc7d83ad7ef964a1bcb4db87407e65b00ffc3e70c088ca4ee7383d256" -GNOME_COMPRESS_TYPE="bz2" - -do_configure_append() { - find ${B} -name Makefile | xargs sed -i s:'-I$(includedir)':'-I.':g - find ${B} -name Makefile | xargs sed -i s:'-I/usr/include':'-I${STAGING_INCDIR}':g -} - -PNBLACKLIST[libgnomekbd] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130608/ - the recipe will be removed on 2017-09-01 unless the issue is fixed" diff --git a/meta-gnome/recipes-gnome/libgnome/libgnomekbd_3.22.0.bb b/meta-gnome/recipes-gnome/libgnome/libgnomekbd_3.22.0.bb new file mode 100644 index 0000000..12ed81d --- /dev/null +++ b/meta-gnome/recipes-gnome/libgnome/libgnomekbd_3.22.0.bb @@ -0,0 +1,17 @@ +SUMMARY = "GNOME keyboard library" +LICENSE = "LGPLv2" +LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=6e29c688d912da12b66b73e32b03d812" + +SECTION = "x11/gnome/libs" + +DEPENDS = "gconf glib-2.0 libxklavier gtk+3 intltool-native" + +inherit gnome gobject-introspection gettext + +GNOME_COMPRESS_TYPE = "xz" + +SRC_URI[archive.md5sum] = "7b1ebf99f4254c99922163c262c7ff04" +SRC_URI[archive.sha256sum] = "340b30dabfebbd4e0e6c0fe34a378966dd5640b5d44595ab8a19b0be255d77df" + +EXTRA_OECONF_remove = "--disable-schemas-install" + -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 08:53:09 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 08:53:09 +0000 Subject: [oe-commits] [meta-openembedded] 07/24: zeroconf: Fix build with musl In-Reply-To: <150062718292.2957.2424336847480361710@git.openembedded.org> References: <150062718292.2957.2424336847480361710@git.openembedded.org> Message-ID: <20170721085303.7AF62233624@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 5877281639beb802b2fa6dd91601b7b73732ab87 Author: Khem Raj AuthorDate: Wed Jul 19 08:41:32 2017 -0700 zeroconf: Fix build with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...name-arp_op-to-avoid-namespace-conflicts-.patch | 69 ++++++++++++++++++++++ .../recipes-protocols/zeroconf/zeroconf_0.9.bb | 4 +- 2 files changed, 72 insertions(+), 1 deletion(-) diff --git a/meta-networking/recipes-protocols/zeroconf/zeroconf/0001-zeroconf-Rename-arp_op-to-avoid-namespace-conflicts-.patch b/meta-networking/recipes-protocols/zeroconf/zeroconf/0001-zeroconf-Rename-arp_op-to-avoid-namespace-conflicts-.patch new file mode 100644 index 0000000..b4d6d94 --- /dev/null +++ b/meta-networking/recipes-protocols/zeroconf/zeroconf/0001-zeroconf-Rename-arp_op-to-avoid-namespace-conflicts-.patch @@ -0,0 +1,69 @@ +From 549773fdaf1fb003b84f25df386a07d299cdeb3e Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 18 Jul 2017 21:25:33 -0700 +Subject: [PATCH] zeroconf: Rename arp_op to avoid namespace conflicts with C + library + +on musl e.g. we get +In file included from /mnt/a/oe/build/tmp/work/corei7-64-bec-linux-musl/zeroconf/0.9-r1/recipe-sysroot/usr/include/net/ethernet.h:10:0, + +This is because in musl arp_op is a define which is included +and causes the conflict + +Signed-off-by: Khem Raj +--- + zeroconf.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/zeroconf.c b/zeroconf.c +index 812d34b..f27e907 100644 +--- a/zeroconf.c ++++ b/zeroconf.c +@@ -14,8 +14,6 @@ + + #include + #include +-#include +-#include + #include + #include + #include +@@ -34,6 +32,8 @@ + #include + #include + #include ++#include ++#include + + #include "delay.h" + +@@ -108,7 +108,7 @@ int arp_conflict(struct intf *intf, struct arp_packet *pkt); + void arp_packet_dump(struct arp_packet *pkt); + void arp_packet_send(int as, + struct intf *intf, +- short int arp_op, ++ short int arpop, + int null_sender); + void arp_probe(int as, struct intf *intf); + void arp_claim(int as, struct intf *intf); +@@ -1591,7 +1591,7 @@ int arp_conflict(struct intf *intf, struct arp_packet *pkt) + + void arp_packet_send(int as, + struct intf *intf, +- short int arp_op, ++ short int arpop, + int null_sender) + { + +@@ -1605,7 +1605,7 @@ void arp_packet_send(int as, + ap.arp.ar_pro = htons(ARP_IP_PROTO); + ap.arp.ar_hln = ETH_ALEN; + ap.arp.ar_pln = 4; /* octets in IPv4 address */ +- ap.arp.ar_op = htons(arp_op); ++ ap.arp.ar_op = htons(arpop); + + /* filling with 0xff sets the destination to + * the broadcast link-layer address for free +-- +2.13.3 + diff --git a/meta-networking/recipes-protocols/zeroconf/zeroconf_0.9.bb b/meta-networking/recipes-protocols/zeroconf/zeroconf_0.9.bb index 13f9b9b..753d832 100644 --- a/meta-networking/recipes-protocols/zeroconf/zeroconf_0.9.bb +++ b/meta-networking/recipes-protocols/zeroconf/zeroconf_0.9.bb @@ -20,7 +20,9 @@ SRC_URI = "http://www.progsoc.org/~wildfire/zeroconf/download/${BPN}-${PV}.tar.g file://compilefix.patch \ file://makefile-add-ldflags.patch \ file://zeroconf-default \ - file://debian-zeroconf" + file://debian-zeroconf \ + file://0001-zeroconf-Rename-arp_op-to-avoid-namespace-conflicts-.patch \ + " SRC_URI[md5sum] = "bdafb16b008ebb5633e4e581f77821d2" SRC_URI[sha256sum] = "a8c74df127753e2310fa1e072f3c9ca44a404bb0bbce9cfec7a84c6dff8bec7b" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 08:53:15 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 08:53:15 +0000 Subject: [oe-commits] [meta-openembedded] 13/24: python-pytun: addition of recipe for python and python3 using pipy In-Reply-To: <150062718292.2957.2424336847480361710@git.openembedded.org> References: <150062718292.2957.2424336847480361710@git.openembedded.org> Message-ID: <20170721085303.AD3B323363A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 4420bd8a7e0bceaa18cf5d9aa2403abb8e47ed82 Author: Romain Bazile AuthorDate: Thu Jul 20 09:56:51 2017 +0200 python-pytun: addition of recipe for python and python3 using pipy Signed-off-by: Romain Bazile Signed-off-by: Martin Jansa --- meta-python/recipes-connectivity/python-pytun/python-pytun.inc | 10 ++++++++++ .../recipes-connectivity/python-pytun/python-pytun_2.2.1.bb | 2 ++ .../recipes-connectivity/python-pytun/python3-pytun_2.2.1.bb | 2 ++ 3 files changed, 14 insertions(+) diff --git a/meta-python/recipes-connectivity/python-pytun/python-pytun.inc b/meta-python/recipes-connectivity/python-pytun/python-pytun.inc new file mode 100644 index 0000000..79eddce --- /dev/null +++ b/meta-python/recipes-connectivity/python-pytun/python-pytun.inc @@ -0,0 +1,10 @@ + SUMMARY = "Python TUN/TAP tunnel module" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=13f7629e8e4989b66b4a913ab05a91de" + +SRC_URI[md5sum] = "5b35b1cf80a02cca7ec72eb95d6b0192" +SRC_URI[sha256sum] = "07595dadf85f5176eb08c8d4d9ba5b862a180e96633f670f91437c47a1bead0d" + +PYPI_PACKAGE = "python-pytun" + +inherit pypi diff --git a/meta-python/recipes-connectivity/python-pytun/python-pytun_2.2.1.bb b/meta-python/recipes-connectivity/python-pytun/python-pytun_2.2.1.bb new file mode 100644 index 0000000..3fc587f --- /dev/null +++ b/meta-python/recipes-connectivity/python-pytun/python-pytun_2.2.1.bb @@ -0,0 +1,2 @@ +require python-pytun.inc +inherit setuptools diff --git a/meta-python/recipes-connectivity/python-pytun/python3-pytun_2.2.1.bb b/meta-python/recipes-connectivity/python-pytun/python3-pytun_2.2.1.bb new file mode 100644 index 0000000..938d9d7 --- /dev/null +++ b/meta-python/recipes-connectivity/python-pytun/python3-pytun_2.2.1.bb @@ -0,0 +1,2 @@ +require python-pytun.inc +inherit setuptools3 -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 08:53:16 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 08:53:16 +0000 Subject: [oe-commits] [meta-openembedded] 14/24: netperf: change SRC_URI to git repository In-Reply-To: <150062718292.2957.2424336847480361710@git.openembedded.org> References: <150062718292.2957.2424336847480361710@git.openembedded.org> Message-ID: <20170721085303.B3D8B23363C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 27a0e7e56d2ff91bf95ab98426c479b11762c50d Author: Yue Tao AuthorDate: Thu Jul 20 16:17:47 2017 +0800 netperf: change SRC_URI to git repository netperf upstream has been migrated to GitHub. They no longer provide ftp and tar balls. Update the SRC_URI to point the GitHub repo instead of the ftp server address, still using the v2.6.0 version. Signed-off-by: Yue Tao Signed-off-by: Martin Jansa --- .../recipes-support/netperf/{netperf_2.6.0.bb => netperf_git.bb} | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/meta-networking/recipes-support/netperf/netperf_2.6.0.bb b/meta-networking/recipes-support/netperf/netperf_git.bb similarity index 89% rename from meta-networking/recipes-support/netperf/netperf_2.6.0.bb rename to meta-networking/recipes-support/netperf/netperf_git.bb index 650fdae..5a51477 100644 --- a/meta-networking/recipes-support/netperf/netperf_2.6.0.bb +++ b/meta-networking/recipes-support/netperf/netperf_git.bb @@ -5,19 +5,19 @@ HOMEPAGE = "http://www.netperf.org/" LICENSE = "netperf" LICENSE_FLAGS = "non-commercial" +PV = "2.6.0+git${SRCREV}" +SRCREV = "050accccc728f29344088f5e15eff36fd2e0bc8a" -SRC_URI="ftp://ftp.netperf.org/netperf/archive/netperf-${PV}.tar.bz2 \ +SRC_URI="git://github.com/HewlettPackard/netperf.git \ file://cpu_set.patch \ file://vfork.patch \ file://init" -SRC_URI[md5sum] = "9654ffdfd4c4f2c93ce3733cd9ed9236" -SRC_URI[sha256sum] = "cd8dac710d4273d29f70e8dbd09353a6362ac58a11926e0822233c0cb230323a" LIC_FILES_CHKSUM = "file://COPYING;md5=a0ab17253e7a3f318da85382c7d5d5d6" inherit update-rc.d autotools -S = "${WORKDIR}/netperf-${PV}" +S = "${WORKDIR}/git" # cpu_set.patch plus _GNU_SOURCE makes src/netlib.c compile with CPU_ macros CFLAGS_append = " -DDO_UNIX -DDO_IPV6 -D_GNU_SOURCE" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 08:53:13 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 08:53:13 +0000 Subject: [oe-commits] [meta-openembedded] 11/24: isomd5sum: add recipe 1.2.1 In-Reply-To: <150062718292.2957.2424336847480361710@git.openembedded.org> References: <150062718292.2957.2424336847480361710@git.openembedded.org> Message-ID: <20170721085303.9F457233638@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit c2729854cb02a2aaa990060ddfca7fcdc6fbe8b2 Author: Hongxu Jia AuthorDate: Thu Jul 20 03:44:32 2017 -0400 isomd5sum: add recipe 1.2.1 Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- .../files/0001-tweak-install-prefix.patch | 60 ++++++++++++++++++++++ .../isomd5sum/files/0002-fix-parallel-error.patch | 33 ++++++++++++ .../recipes-extended/isomd5sum/isomd5sum_1.2.1.bb | 35 +++++++++++++ 3 files changed, 128 insertions(+) diff --git a/meta-oe/recipes-extended/isomd5sum/files/0001-tweak-install-prefix.patch b/meta-oe/recipes-extended/isomd5sum/files/0001-tweak-install-prefix.patch new file mode 100644 index 0000000..bcfc117 --- /dev/null +++ b/meta-oe/recipes-extended/isomd5sum/files/0001-tweak-install-prefix.patch @@ -0,0 +1,60 @@ +From cffe4767f89ea0b54b57e8bf9065a08a9c38d46e Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Tue, 18 Jul 2017 21:53:00 -0400 +Subject: [PATCH] tweak install prefix + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Hongxu Jia +--- + Makefile | 28 ++++++++++++++-------------- + 1 file changed, 14 insertions(+), 14 deletions(-) + +diff --git a/Makefile b/Makefile +index df16a3b..fbdfcb4 100644 +--- a/Makefile ++++ b/Makefile +@@ -39,26 +39,26 @@ pyisomd5sum.so: $(PYOBJS) + install: all install-bin install-python install-devel + + install-bin: +- install -d -m 0755 $(DESTDIR)/usr/bin +- install -d -m 0755 $(DESTDIR)/usr/share/man/man1 +- install -m 0755 implantisomd5 $(DESTDIR)/usr/bin +- install -m 0755 checkisomd5 $(DESTDIR)/usr/bin +- install -m 0644 implantisomd5.1 $(DESTDIR)/usr/share/man/man1 +- install -m 0644 checkisomd5.1 $(DESTDIR)/usr/share/man/man1 ++ install -d -m 0755 $(DESTDIR)$(bindir) ++ install -d -m 0755 $(DESTDIR)$(mandir)/man1 ++ install -m 0755 implantisomd5 $(DESTDIR)$(bindir) ++ install -m 0755 checkisomd5 $(DESTDIR)$(bindir) ++ install -m 0644 implantisomd5.1 $(DESTDIR)$(mandir)/man1 ++ install -m 0644 checkisomd5.1 $(DESTDIR)$(mandir)/man1 + + install-python: + install -d -m 0755 $(DESTDIR)$(PYTHONSITEPACKAGES) + install -m 0755 pyisomd5sum.so $(DESTDIR)$(PYTHONSITEPACKAGES) + + install-devel: +- install -d -m 0755 $(DESTDIR)/usr/include +- install -d -m 0755 $(DESTDIR)/usr/$(LIBDIR) +- install -d -m 0755 $(DESTDIR)/usr/share/pkgconfig +- install -m 0644 libimplantisomd5.h $(DESTDIR)/usr/include/ +- install -m 0644 libcheckisomd5.h $(DESTDIR)/usr/include/ +- install -m 0644 libimplantisomd5.a $(DESTDIR)/usr/$(LIBDIR) +- install -m 0644 libcheckisomd5.a $(DESTDIR)/usr/$(LIBDIR) +- sed "s#@VERSION@#${VERSION}#g; s#@includedir@#${DESTDIR}/usr/include#g; s#@libdir@#${DESTDIR}/usr/${LIBDIR}#g" isomd5sum.pc.in > ${DESTDIR}/usr/share/pkgconfig/isomd5sum.pc ++ install -d -m 0755 $(DESTDIR)$(includedir) ++ install -d -m 0755 $(DESTDIR)$(libdir) ++ install -d -m 0755 $(DESTDIR)${datadir}/pkgconfig ++ install -m 0644 libimplantisomd5.h $(DESTDIR)$(includedir) ++ install -m 0644 libcheckisomd5.h $(DESTDIR)$(includedir) ++ install -m 0644 libimplantisomd5.a $(DESTDIR)$(libdir) ++ install -m 0644 libcheckisomd5.a $(DESTDIR)$(libdir) ++ sed "s#@VERSION@#${VERSION}#g; s#@includedir@#${DESTDIR}/usr/include#g; s#@libdir@#${DESTDIR}/usr/${LIBDIR}#g" isomd5sum.pc.in > ${DESTDIR}${datadir}/pkgconfig/isomd5sum.pc + + clean: + rm -f *.o *.so *.pyc *.a .depend *~ +-- +2.8.1 + diff --git a/meta-oe/recipes-extended/isomd5sum/files/0002-fix-parallel-error.patch b/meta-oe/recipes-extended/isomd5sum/files/0002-fix-parallel-error.patch new file mode 100644 index 0000000..7a33e42 --- /dev/null +++ b/meta-oe/recipes-extended/isomd5sum/files/0002-fix-parallel-error.patch @@ -0,0 +1,33 @@ +From 2acce7bc8ab7711e76c7765c84a198fe38f247f3 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Tue, 18 Jul 2017 23:06:41 -0400 +Subject: [PATCH] fix parallel error + +Upstream-Status: Pending + +Signed-off-by: Hongxu Jia +--- + Makefile | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/Makefile b/Makefile +index fbdfcb4..2ad3238 100644 +--- a/Makefile ++++ b/Makefile +@@ -29,9 +29,11 @@ implantisomd5: implantisomd5.o libimplantisomd5.a + checkisomd5: checkisomd5.o libcheckisomd5.a + $(CC) $(CPPFLAGS) $(CFLAGS) checkisomd5.o libcheckisomd5.a -lpopt $(LDFLAGS) -o checkisomd5 + +-libimplantisomd5.a: libimplantisomd5.a(libimplantisomd5.o md5.o utilities.o) ++libimplantisomd5.a: libimplantisomd5.o md5.o utilities.o ++ $(AR) rv $@ $^ + +-libcheckisomd5.a: libcheckisomd5.a(libcheckisomd5.o md5.o utilities.o) ++libcheckisomd5.a: libcheckisomd5.o md5.o utilities.o ++ $(AR) rv $@ $^ + + pyisomd5sum.so: $(PYOBJS) + $(CC) $(CPPFLAGS) $(CFLAGS) -shared -g -fpic $(PYOBJS) $(LDFLAGS) -o pyisomd5sum.so +-- +2.8.1 + diff --git a/meta-oe/recipes-extended/isomd5sum/isomd5sum_1.2.1.bb b/meta-oe/recipes-extended/isomd5sum/isomd5sum_1.2.1.bb new file mode 100644 index 0000000..815113e --- /dev/null +++ b/meta-oe/recipes-extended/isomd5sum/isomd5sum_1.2.1.bb @@ -0,0 +1,35 @@ +SUMMARY = "Tools for taking the MD5 sum of ISO images" +DESCRIPTION = "Tools for taking the MD5 sum of ISO images" + +DEPENDS = "popt python3 openssl curl popt-native" +RDEPENDS_${PN} = "openssl curl" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b" + +SRC_URI = "git://github.com/rhinstaller/isomd5sum.git;branch=master \ + file://0001-tweak-install-prefix.patch \ + file://0002-fix-parallel-error.patch \ +" + +S = "${WORKDIR}/git" +inherit python3native + +EXTRA_OEMAKE += " \ + DESTDIR='${D}' \ + PYTHONINCLUDE='-I${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI}' \ + PYTHONSITEPACKAGES='${PYTHON_SITEPACKAGES_DIR}' \ +" + +do_install () { + oe_runmake install +} + +PACKAGES += "${PYTHON_PN}-${PN} ${PYTHON_PN}-${PN}-dbg" + +FILES_${PYTHON_PN}-${PN} = "${PYTHON_SITEPACKAGES_DIR}/pyisomd5sum.so" +FILES_${PYTHON_PN}-${PN}-dbg = "${PYTHON_SITEPACKAGES_DIR}/.debug/pyisomd5sum.so" + +SRCREV = "69dc036d20761715b734ca9cc59ecc6dc8145026" + +BBCLASSEXTEND = "native" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 08:53:14 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 08:53:14 +0000 Subject: [oe-commits] [meta-openembedded] 12/24: libtar: add recipe 1.2.20 In-Reply-To: <150062718292.2957.2424336847480361710@git.openembedded.org> References: <150062718292.2957.2424336847480361710@git.openembedded.org> Message-ID: <20170721085303.A67AD233639@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit bb2d1274ee50112817da1b2e9ad057d29a6b5293 Author: Hongxu Jia AuthorDate: Thu Jul 20 03:44:34 2017 -0400 libtar: add recipe 1.2.20 Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- .../libtar/files/0002-Do-not-strip-libtar.patch | 25 ++++++++++++++++++++++ .../libtar/files/fix_libtool_sysroot.patch | 19 ++++++++++++++++ meta-oe/recipes-support/libtar/libtar_1.2.20.bb | 21 ++++++++++++++++++ 3 files changed, 65 insertions(+) diff --git a/meta-oe/recipes-support/libtar/files/0002-Do-not-strip-libtar.patch b/meta-oe/recipes-support/libtar/files/0002-Do-not-strip-libtar.patch new file mode 100644 index 0000000..31c0d29 --- /dev/null +++ b/meta-oe/recipes-support/libtar/files/0002-Do-not-strip-libtar.patch @@ -0,0 +1,25 @@ +From e9fee689430af7791b932a1ee3c2cc103ccf290f Mon Sep 17 00:00:00 2001 +From: Stefan Eichenberger +Date: Wed, 2 Nov 2016 05:43:43 -0400 +Subject: [PATCH] Do not strip libtar. + +--- + libtar/Makefile.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libtar/Makefile.in b/libtar/Makefile.in +index 7c6f1bc..80bb8d9 100644 +--- a/libtar/Makefile.in ++++ b/libtar/Makefile.in +@@ -20,7 +20,7 @@ SHELL = @SHELL@ + + ### Installation programs and flags + INSTALL = @INSTALL@ +-INSTALL_PROGRAM = @INSTALL_PROGRAM@ -s ++INSTALL_PROGRAM = @INSTALL_PROGRAM@ + INSTALL_DATA = @INSTALL_DATA@ + LN_S = @LN_S@ + MKDIR = @MKDIR@ +-- +2.8.1 + diff --git a/meta-oe/recipes-support/libtar/files/fix_libtool_sysroot.patch b/meta-oe/recipes-support/libtar/files/fix_libtool_sysroot.patch new file mode 100644 index 0000000..178a970 --- /dev/null +++ b/meta-oe/recipes-support/libtar/files/fix_libtool_sysroot.patch @@ -0,0 +1,19 @@ +--- + configure.ac | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/configure.ac b/configure.ac +index 4623100..1c6b43d 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -13,6 +13,7 @@ AC_CONFIG_MACRO_DIR([autoconf]) + AM_INIT_AUTOMAKE([dist-bzip2]) + ENCAP_PKG([], [postinstall-encap]) + ++LT_INIT + + dnl ### Load subdirectory modules. ################################## + PSG_MODULE([compat]) +-- +2.8.1 + diff --git a/meta-oe/recipes-support/libtar/libtar_1.2.20.bb b/meta-oe/recipes-support/libtar/libtar_1.2.20.bb new file mode 100644 index 0000000..60710f4 --- /dev/null +++ b/meta-oe/recipes-support/libtar/libtar_1.2.20.bb @@ -0,0 +1,21 @@ +SUMMARY = "libtar, tar manipulating library" +DESCRIPTION = "libtar is a library for manipulating POSIX tar files" +HOMEPAGE = "http://www.feep.net/libtar" +SECTION = "libs" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=61cbac6719ae682ce6cd45b5c11e21af" + +SRC_URI = "${DEBIAN_MIRROR}/main/libt/${BPN}/${BPN}_${PV}.orig.tar.gz \ + file://fix_libtool_sysroot.patch \ + file://0002-Do-not-strip-libtar.patch \ + " + +S = "${WORKDIR}/${BPN}" + +SRC_URI[md5sum] = "6ced95ab3a4b33fbfe2dfb231d156cdb" +SRC_URI[sha256sum] = "50f24c857a7ef1cb092e6508758b86d06f1188508f897f3e6b40c573e8879109" + +inherit autotools-brokensep + +PACKAGECONFIG ??= "zlib" +PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 08:53:19 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 08:53:19 +0000 Subject: [oe-commits] [meta-openembedded] 17/24: fribidi_0.19.7.bb: set CVE_PRODUCT to gnu_fribidi In-Reply-To: <150062718292.2957.2424336847480361710@git.openembedded.org> References: <150062718292.2957.2424336847480361710@git.openembedded.org> Message-ID: <20170721085303.C9DA0233641@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit fba8beb9d70c75bd2cbc1e7d1e5d1a4f1784d933 Author: Mikko Rapeli AuthorDate: Fri Jul 21 10:03:15 2017 +0300 fribidi_0.19.7.bb: set CVE_PRODUCT to gnu_fribidi gnu_fribidi is used in NVD for CVE's like: https://nvd.nist.gov/vuln/detail/CVE-2010-3444 Signed-off-by: Mikko Rapeli Signed-off-by: Martin Jansa --- meta-oe/recipes-devtools/libfribidi/fribidi_0.19.7.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta-oe/recipes-devtools/libfribidi/fribidi_0.19.7.bb b/meta-oe/recipes-devtools/libfribidi/fribidi_0.19.7.bb index e79de66..423a914 100644 --- a/meta-oe/recipes-devtools/libfribidi/fribidi_0.19.7.bb +++ b/meta-oe/recipes-devtools/libfribidi/fribidi_0.19.7.bb @@ -16,3 +16,5 @@ SRC_URI = "http://fribidi.org/download/fribidi-${PV}.tar.bz2" SRC_URI[md5sum] = "6c7e7cfdd39c908f7ac619351c1c5c23" SRC_URI[sha256sum] = "08222a6212bbc2276a2d55c3bf370109ae4a35b689acbc66571ad2a670595a8e" + +CVE_PRODUCT = "gnu_fribidi" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 08:53:20 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 08:53:20 +0000 Subject: [oe-commits] [meta-openembedded] 18/24: krb5_1.15.1.bb: set CVE_PRODUCT to kerberos In-Reply-To: <150062718292.2957.2424336847480361710@git.openembedded.org> References: <150062718292.2957.2424336847480361710@git.openembedded.org> Message-ID: <20170721085303.D03CD233648@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit e5b234eaf794c30c4325581ffc91eeaf45d142df Author: Mikko Rapeli AuthorDate: Fri Jul 21 10:03:16 2017 +0300 krb5_1.15.1.bb: set CVE_PRODUCT to kerberos It is used in NVD database for CVE's like: https://nvd.nist.gov/vuln/detail/CVE-2016-3120 Signed-off-by: Mikko Rapeli Signed-off-by: Martin Jansa --- meta-oe/recipes-connectivity/krb5/krb5_1.15.1.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta-oe/recipes-connectivity/krb5/krb5_1.15.1.bb b/meta-oe/recipes-connectivity/krb5/krb5_1.15.1.bb index 61cdd60..1de884d 100644 --- a/meta-oe/recipes-connectivity/krb5/krb5_1.15.1.bb +++ b/meta-oe/recipes-connectivity/krb5/krb5_1.15.1.bb @@ -34,6 +34,8 @@ SRC_URI = "http://web.mit.edu/kerberos/dist/${BPN}/${SHRT_VER}/${BP}.tar.gz \ SRC_URI[md5sum] = "8022f3a1cde8463e44fd35ef42731f85" SRC_URI[sha256sum] = "437c8831ddd5fde2a993fef425dedb48468109bb3d3261ef838295045a89eb45" +CVE_PRODUCT = "kerberos" + S = "${WORKDIR}/${BP}/src" PACKAGECONFIG ??= "openssl" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 08:53:17 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 08:53:17 +0000 Subject: [oe-commits] [meta-openembedded] 15/24: ippool: Fix build errors found with hardening flags In-Reply-To: <150062718292.2957.2424336847480361710@git.openembedded.org> References: <150062718292.2957.2424336847480361710@git.openembedded.org> Message-ID: <20170721085303.BCADE23363E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 442117da05b1cc46a400bd083b3ff562d227f9bd Author: Khem Raj AuthorDate: Thu Jul 20 03:35:26 2017 -0700 ippool: Fix build errors found with hardening flags Fix build with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../ippool/0001-Respect-flags-from-env.patch | 56 ++++ ...timer-Check-for-return-value-of-write-API.patch | 28 ++ .../ippool/ippool/0002-link-with-libtirpc.patch | 30 +++ .../ippool/ippool/0003-musl-fixes.patch | 283 +++++++++++++++++++++ .../recipes-daemons/ippool/ippool_1.3.bb | 31 ++- 5 files changed, 415 insertions(+), 13 deletions(-) diff --git a/meta-networking/recipes-daemons/ippool/ippool/0001-Respect-flags-from-env.patch b/meta-networking/recipes-daemons/ippool/ippool/0001-Respect-flags-from-env.patch new file mode 100644 index 0000000..e967621 --- /dev/null +++ b/meta-networking/recipes-daemons/ippool/ippool/0001-Respect-flags-from-env.patch @@ -0,0 +1,56 @@ +From 4848b9e4d516a9203c08432901a7b40419e8f43c Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 19 Jul 2017 15:54:35 -0700 +Subject: [PATCH 1/3] Respect flags from env + +Signed-off-by: Khem Raj +--- + Makefile | 4 ++-- + cli/Makefile | 2 +- + pppd/Makefile | 2 +- + 3 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/Makefile b/Makefile +index a05a000..439a978 100644 +--- a/Makefile ++++ b/Makefile +@@ -81,8 +81,8 @@ LIBS.dmalloc= -ldmalloc + export USE_DMALLOC + endif + +-CPPFLAGS= $(CPPFLAGS.ippooltest) +-CFLAGS= -I. -Iusl -Icli -MMD -Wall -g $(CPPFLAGS) $(CPPFLAGS.dmalloc) ++CPPFLAGS+= $(CPPFLAGS.ippooltest) ++CFLAGS+= -I. -Iusl -Icli -MMD -Wall -g $(CPPFLAGS) $(CPPFLAGS.dmalloc) + LDFLAGS.ippoold= $(LDFLAGS) -Wl,-E -L. -Lusl -lusl -lnsl -ldl $(LIBS.dmalloc) -lc + LDFLAGS.ippoolconfig= $(LDFLAGS) -Lcli -lcli -lreadline -lcurses -lnsl $(LIBS.dmalloc) -lc + +diff --git a/cli/Makefile b/cli/Makefile +index 4b5dd59..56fbf2f 100644 +--- a/cli/Makefile ++++ b/cli/Makefile +@@ -7,7 +7,7 @@ CLI_SRCS_TEST.o= $(CLI_SRCS_TEST.c:%.c=%.o) + + LDFLAGS.cli_test= -L.. -L. $(READLINE_LDFLAGS) -lcli -lusl -lreadline -lcurses -lc + +-CFLAGS= $(CFLAGS.optimize) -MMD -Wall -Werror -I.. $(READLINE_CFLAGS) ++CFLAGS= $(CFLAGS.optimize) -MMD -Wall -Werror -I.. $(READLINE_CFLAGS) $(CPPFLAGS) + + .PHONY: all test clean + +diff --git a/pppd/Makefile b/pppd/Makefile +index 106deca..7fd815f 100644 +--- a/pppd/Makefile ++++ b/pppd/Makefile +@@ -10,7 +10,7 @@ endif + + # END CONFIGURABLE SETTINGS + +-CFLAGS += -g -I.. -I/usr/include/pppd $(CFLAGS.pppd) -fPIC ++CFLAGS += -g -I.. -I=/usr/include/pppd $(CFLAGS.pppd) -fPIC + LDFLAGS += -shared + + all: ippool.so +-- +2.13.3 + diff --git a/meta-networking/recipes-daemons/ippool/ippool/0001-usl_timer-Check-for-return-value-of-write-API.patch b/meta-networking/recipes-daemons/ippool/ippool/0001-usl_timer-Check-for-return-value-of-write-API.patch new file mode 100644 index 0000000..6fb7cc5 --- /dev/null +++ b/meta-networking/recipes-daemons/ippool/ippool/0001-usl_timer-Check-for-return-value-of-write-API.patch @@ -0,0 +1,28 @@ +From 5d7f20c045b3c74dad2c53d65e30bd4840250082 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 27 Jun 2017 15:17:19 -0700 +Subject: [PATCH] usl_timer: Check for return value of write() API + +Signed-off-by: Khem Raj +--- + usl/usl_timer.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/usl/usl_timer.c b/usl/usl_timer.c +index fda752b..d8414a6 100644 +--- a/usl/usl_timer.c ++++ b/usl/usl_timer.c +@@ -94,7 +94,9 @@ void usl_timer_tick(void) + + if (!usl_tick_pending) { + usl_tick_pending = 1; +- write(usl_tick_pipe[1], &msg, sizeof(msg)); ++ if (write(usl_tick_pipe[1], &msg, sizeof(msg)) != sizeof(msg)) { ++ fprintf(stderr, "write to fd %i failed: %s\n", usl_tick_pipe[1], strerror(errno)); ++ } + } + } + +-- +2.13.2 + diff --git a/meta-networking/recipes-daemons/ippool/ippool/0002-link-with-libtirpc.patch b/meta-networking/recipes-daemons/ippool/ippool/0002-link-with-libtirpc.patch new file mode 100644 index 0000000..d80f7b4 --- /dev/null +++ b/meta-networking/recipes-daemons/ippool/ippool/0002-link-with-libtirpc.patch @@ -0,0 +1,30 @@ +From 47aef26198431f7ad568c2277dded158bda3e36f Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 19 Jul 2017 16:00:35 -0700 +Subject: [PATCH 2/3] link with libtirpc + +musl needs it + +Signed-off-by: Khem Raj +--- + Makefile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Makefile b/Makefile +index 439a978..ea821eb 100644 +--- a/Makefile ++++ b/Makefile +@@ -83,8 +83,8 @@ endif + + CPPFLAGS+= $(CPPFLAGS.ippooltest) + CFLAGS+= -I. -Iusl -Icli -MMD -Wall -g $(CPPFLAGS) $(CPPFLAGS.dmalloc) +-LDFLAGS.ippoold= $(LDFLAGS) -Wl,-E -L. -Lusl -lusl -lnsl -ldl $(LIBS.dmalloc) -lc +-LDFLAGS.ippoolconfig= $(LDFLAGS) -Lcli -lcli -lreadline -lcurses -lnsl $(LIBS.dmalloc) -lc ++LDFLAGS.ippoold= $(LDFLAGS) -Wl,-E -L. -Lusl -lusl -ldl $(LIBS.dmalloc) -lc -ltirpc ++LDFLAGS.ippoolconfig= $(LDFLAGS) -Lcli -lcli -lreadline -lcurses $(LIBS.dmalloc) -lc -ltirpc + + OPT_CFLAGS?= -O + +-- +2.13.3 + diff --git a/meta-networking/recipes-daemons/ippool/ippool/0003-musl-fixes.patch b/meta-networking/recipes-daemons/ippool/ippool/0003-musl-fixes.patch new file mode 100644 index 0000000..3cd5259 --- /dev/null +++ b/meta-networking/recipes-daemons/ippool/ippool/0003-musl-fixes.patch @@ -0,0 +1,283 @@ +From eb345047decba665e3f39908336a83f039e1ece2 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 19 Jul 2017 16:01:32 -0700 +Subject: [PATCH 3/3] musl fixes + +Signed-off-by: Khem Raj +--- + cli/cli_readline.c | 7 +- + ippool_api.c | 9 ++- + net/ppp_defs.h | 194 +++++++++++++++++++++++++++++++++++++++++++++++++++++ + usl/usl.h | 4 ++ + 4 files changed, 208 insertions(+), 6 deletions(-) + create mode 100644 net/ppp_defs.h + +diff --git a/cli/cli_readline.c b/cli/cli_readline.c +index 2812e6e..542935c 100644 +--- a/cli/cli_readline.c ++++ b/cli/cli_readline.c +@@ -17,13 +17,14 @@ + * Boston, MA 02110-1301 USA + * + *****************************************************************************/ +- ++#define _GNU_SOURCE + #include + #include + #include + #include + #include +-#include ++#include ++#include + #include + + #include +@@ -630,7 +631,7 @@ static void cli_rl_uninstall_signal_handlers(void) + + static int cli_rl_install_signal_handlers(void) + { +- __sighandler_t handler; ++ sighandler_t handler; + + rl_catch_signals = 0; + rl_clear_signals(); +diff --git a/ippool_api.c b/ippool_api.c +index 2c10c47..d1127a9 100644 +--- a/ippool_api.c ++++ b/ippool_api.c +@@ -181,10 +181,13 @@ int ippool_api_rpc_check_request(SVCXPRT *xprt) + * non-loopback interface, reject the request. + */ + if ((!ippool_opt_remote_rpc) && +- ((xprt->xp_raddr.sin_addr.s_addr != htonl(INADDR_LOOPBACK)) && +- (xprt->xp_raddr.sin_addr.s_addr != htonl(INADDR_ANY)))) { ++ ((xprt->xp_raddr.sin6_addr.s6_addr != htonl(INADDR_LOOPBACK)) && ++ (xprt->xp_raddr.sin6_addr.s6_addr != htonl(INADDR_ANY)))) { ++ char straddr[INET6_ADDRSTRLEN]; ++ inet_ntop(AF_INET6, &xprt->xp_raddr.sin6_addr, straddr, sizeof(straddr)); ++ + if (ippool_opt_debug) { +- ippool_log(LOG_ERR, "Rejecting RPC request from %s", inet_ntoa(xprt->xp_raddr.sin_addr)); ++ ippool_log(LOG_ERR, "Rejecting RPC request from %s", straddr); + } + svcerr_auth(xprt, AUTH_TOOWEAK); + return -EPERM; +diff --git a/net/ppp_defs.h b/net/ppp_defs.h +new file mode 100644 +index 0000000..b06eda5 +--- /dev/null ++++ b/net/ppp_defs.h +@@ -0,0 +1,194 @@ ++/* $Id: ppp_defs.h,v 1.17 2002/12/06 09:49:15 paulus Exp $ */ ++ ++/* ++ * ppp_defs.h - PPP definitions. ++ * ++ * Copyright (c) 1984 Paul Mackerras. All rights reserved. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * ++ * 1. Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * ++ * 2. Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in ++ * the documentation and/or other materials provided with the ++ * distribution. ++ * ++ * 3. The name(s) of the authors of this software must not be used to ++ * endorse or promote products derived from this software without ++ * prior written permission. ++ * ++ * 4. Redistributions of any form whatsoever must retain the following ++ * acknowledgment: ++ * "This product includes software developed by Paul Mackerras ++ * ". ++ * ++ * THE AUTHORS OF THIS SOFTWARE DISCLAIM ALL WARRANTIES WITH REGARD TO ++ * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY ++ * AND FITNESS, IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY ++ * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES ++ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN ++ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING ++ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ++ */ ++ ++#ifndef _PPP_DEFS_H_ ++#define _PPP_DEFS_H_ ++ ++/* ++ * The basic PPP frame. ++ */ ++#define PPP_HDRLEN 4 /* octets for standard ppp header */ ++#define PPP_FCSLEN 2 /* octets for FCS */ ++ ++/* ++ * Packet sizes ++ * ++ * Note - lcp shouldn't be allowed to negotiate stuff outside these ++ * limits. See lcp.h in the pppd directory. ++ * (XXX - these constants should simply be shared by lcp.c instead ++ * of living in lcp.h) ++ */ ++#define PPP_MTU 1500 /* Default MTU (size of Info field) */ ++#define PPP_MAXMTU 65535 - (PPP_HDRLEN + PPP_FCSLEN) ++#define PPP_MINMTU 64 ++#define PPP_MRU 1500 /* default MRU = max length of info field */ ++#define PPP_MAXMRU 65000 /* Largest MRU we allow */ ++#define PPP_MINMRU 128 ++ ++#define PPP_ADDRESS(p) (((u_char *)(p))[0]) ++#define PPP_CONTROL(p) (((u_char *)(p))[1]) ++#define PPP_PROTOCOL(p) ((((u_char *)(p))[2] << 8) + ((u_char *)(p))[3]) ++ ++/* ++ * Significant octet values. ++ */ ++#define PPP_ALLSTATIONS 0xff /* All-Stations broadcast address */ ++#define PPP_UI 0x03 /* Unnumbered Information */ ++#define PPP_FLAG 0x7e /* Flag Sequence */ ++#define PPP_ESCAPE 0x7d /* Asynchronous Control Escape */ ++#define PPP_TRANS 0x20 /* Asynchronous transparency modifier */ ++ ++/* ++ * Protocol field values. ++ */ ++#define PPP_IP 0x21 /* Internet Protocol */ ++#define PPP_AT 0x29 /* AppleTalk Protocol */ ++#define PPP_IPX 0x2b /* IPX protocol */ ++#define PPP_VJC_COMP 0x2d /* VJ compressed TCP */ ++#define PPP_VJC_UNCOMP 0x2f /* VJ uncompressed TCP */ ++#define PPP_IPV6 0x57 /* Internet Protocol Version 6 */ ++#define PPP_COMP 0xfd /* compressed packet */ ++#define PPP_IPCP 0x8021 /* IP Control Protocol */ ++#define PPP_ATCP 0x8029 /* AppleTalk Control Protocol */ ++#define PPP_IPXCP 0x802b /* IPX Control Protocol */ ++#define PPP_IPV6CP 0x8057 /* IPv6 Control Protocol */ ++#define PPP_CCP 0x80fd /* Compression Control Protocol */ ++#define PPP_ECP 0x8053 /* Encryption Control Protocol */ ++#define PPP_LCP 0xc021 /* Link Control Protocol */ ++#define PPP_PAP 0xc023 /* Password Authentication Protocol */ ++#define PPP_LQR 0xc025 /* Link Quality Report protocol */ ++#define PPP_CHAP 0xc223 /* Cryptographic Handshake Auth. Protocol */ ++#define PPP_CBCP 0xc029 /* Callback Control Protocol */ ++#define PPP_EAP 0xc227 /* Extensible Authentication Protocol */ ++ ++/* ++ * Values for FCS calculations. ++ */ ++#define PPP_INITFCS 0xffff /* Initial FCS value */ ++#define PPP_GOODFCS 0xf0b8 /* Good final FCS value */ ++#define PPP_FCS(fcs, c) (((fcs) >> 8) ^ fcstab[((fcs) ^ (c)) & 0xff]) ++ ++/* ++ * A 32-bit unsigned integral type. ++ */ ++ ++#if !defined(__BIT_TYPES_DEFINED__) && !defined(_BITYPES) \ ++ && !defined(__FreeBSD__) && (NS_TARGET < 40) ++#ifdef UINT32_T ++typedef UINT32_T u_int32_t; ++#else ++typedef unsigned int u_int32_t; ++typedef unsigned short u_int16_t; ++#endif ++#endif ++ ++/* ++ * Extended asyncmap - allows any character to be escaped. ++ */ ++typedef u_int32_t ext_accm[8]; ++ ++/* ++ * What to do with network protocol (NP) packets. ++ */ ++enum NPmode { ++ NPMODE_PASS, /* pass the packet through */ ++ NPMODE_DROP, /* silently drop the packet */ ++ NPMODE_ERROR, /* return an error */ ++ NPMODE_QUEUE /* save it up for later. */ ++}; ++ ++/* ++ * Statistics. ++ */ ++struct pppstat { ++ unsigned int ppp_ibytes; /* bytes received */ ++ unsigned int ppp_ipackets; /* packets received */ ++ unsigned int ppp_ierrors; /* receive errors */ ++ unsigned int ppp_obytes; /* bytes sent */ ++ unsigned int ppp_opackets; /* packets sent */ ++ unsigned int ppp_oerrors; /* transmit errors */ ++}; ++ ++struct vjstat { ++ unsigned int vjs_packets; /* outbound packets */ ++ unsigned int vjs_compressed; /* outbound compressed packets */ ++ unsigned int vjs_searches; /* searches for connection state */ ++ unsigned int vjs_misses; /* times couldn't find conn. state */ ++ unsigned int vjs_uncompressedin; /* inbound uncompressed packets */ ++ unsigned int vjs_compressedin; /* inbound compressed packets */ ++ unsigned int vjs_errorin; /* inbound unknown type packets */ ++ unsigned int vjs_tossed; /* inbound packets tossed because of error */ ++}; ++ ++struct ppp_stats { ++ struct pppstat p; /* basic PPP statistics */ ++ struct vjstat vj; /* VJ header compression statistics */ ++}; ++ ++struct compstat { ++ unsigned int unc_bytes; /* total uncompressed bytes */ ++ unsigned int unc_packets; /* total uncompressed packets */ ++ unsigned int comp_bytes; /* compressed bytes */ ++ unsigned int comp_packets; /* compressed packets */ ++ unsigned int inc_bytes; /* incompressible bytes */ ++ unsigned int inc_packets; /* incompressible packets */ ++ unsigned int ratio; /* recent compression ratio << 8 */ ++}; ++ ++struct ppp_comp_stats { ++ struct compstat c; /* packet compression statistics */ ++ struct compstat d; /* packet decompression statistics */ ++}; ++ ++/* ++ * The following structure records the time in seconds since ++ * the last NP packet was sent or received. ++ */ ++struct ppp_idle { ++ time_t xmit_idle; /* time since last NP packet sent */ ++ time_t recv_idle; /* time since last NP packet received */ ++}; ++ ++#ifndef __P ++#ifdef __STDC__ ++#define __P(x) x ++#else ++#define __P(x) () ++#endif ++#endif ++ ++#endif /* _PPP_DEFS_H_ */ +diff --git a/usl/usl.h b/usl/usl.h +index cdc16db..88d2714 100644 +--- a/usl/usl.h ++++ b/usl/usl.h +@@ -38,6 +38,10 @@ + #include "usl_fsm.h" + #include "usl_list.h" + ++#ifndef WAIT_ANY ++#define WAIT_ANY (-1) ++#endif ++ + #define USL_VERSION "0.6" + + #ifdef DEBUG +-- +2.13.3 + diff --git a/meta-networking/recipes-daemons/ippool/ippool_1.3.bb b/meta-networking/recipes-daemons/ippool/ippool_1.3.bb index 969f434..05921d5 100644 --- a/meta-networking/recipes-daemons/ippool/ippool_1.3.bb +++ b/meta-networking/recipes-daemons/ippool/ippool_1.3.bb @@ -11,16 +11,21 @@ HOMEPAGE = "http://www.openl2tp.org/" SECTION = "console/network" LICENSE = "GPLv2+" -SRC_URI = "\ - https://sourceforge.net/projects/openl2tp/files/${BPN}/${PV}/${BPN}-${PV}.tar.gz \ - file://ippool_usl_timer.patch \ - file://ippool_parallel_make_and_pic.patch \ - file://ippool_init.d.patch \ - file://always_syslog.patch \ - file://makefile-add-ldflags.patch \ - file://runtest.sh \ - file://ippool.service \ - " +SRC_URI = "https://sourceforge.net/projects/openl2tp/files/${BPN}/${PV}/${BPN}-${PV}.tar.gz \ + file://runtest.sh \ + file://ippool.service \ + file://ippool_usl_timer.patch \ + file://ippool_parallel_make_and_pic.patch \ + file://ippool_init.d.patch \ + file://always_syslog.patch \ + file://makefile-add-ldflags.patch \ + file://0001-usl_timer-Check-for-return-value-of-write-API.patch \ + file://0001-Respect-flags-from-env.patch \ +" +SRC_URI_append_libc-musl = "\ + file://0002-link-with-libtirpc.patch \ + file://0003-musl-fixes.patch \ + " LIC_FILES_CHKSUM = "file://LICENSE;md5=4c59283b82fc2b166455e0fc23c71c6f" SRC_URI[md5sum] = "e2401e65db26a3764585b97212888fae" @@ -29,6 +34,7 @@ SRC_URI[sha256sum] = "d3eab7d6cad5da8ccc9d1e31d5303e27a39622c07bdb8fa3618eea3144 inherit systemd DEPENDS = "readline ppp ncurses gzip-native" +DEPENDS_append_libc-musl = " libtirpc" RDEPENDS_${PN} = "rpcbind" EXTRA_OEMAKE = "CC='${CC}' AS='${AS}' LD='${LD}' AR='${AR}' NM='${NM}' STRIP='${STRIP}'" @@ -36,6 +42,8 @@ EXTRA_OEMAKE += "PPPD_VERSION=${PPPD_VERSION} SYS_LIBDIR=${libdir}" # enable self tests EXTRA_OEMAKE += "IPPOOL_TEST=y" +CPPFLAGS += "${SELECTED_OPTIMIZATION}" +CPPFLAGS_append_libc-musl = " -I${STAGING_INCDIR}/tirpc" SYSTEMD_SERVICE_${PN} = "ippool.service" SYSTEMD_AUTO_ENABLE = "disable" @@ -48,9 +56,6 @@ do_compile_prepend() { sed -i -e "s:-I/usr/include/pppd:-I=/usr/include/pppd:" ${S}/pppd/Makefile - # ignore the OPT_CFLAGS?= in Makefile, - # it should be in CFLAGS from env - export OPT_CFLAGS= } -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 08:53:21 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 08:53:21 +0000 Subject: [oe-commits] [meta-openembedded] 19/24: udisks2_2.1.8.bb: set CVE_PRODUCT to udisks In-Reply-To: <150062718292.2957.2424336847480361710@git.openembedded.org> References: <150062718292.2957.2424336847480361710@git.openembedded.org> Message-ID: <20170721085303.D7DBD23364A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 8d9fdaa5551782cf12ea58c04d504f6c3bdca731 Author: Mikko Rapeli AuthorDate: Fri Jul 21 10:03:17 2017 +0300 udisks2_2.1.8.bb: set CVE_PRODUCT to udisks It is used in NVD for CVE's like: https://nvd.nist.gov/vuln/detail/CVE-2014-0004 Signed-off-by: Mikko Rapeli Signed-off-by: Martin Jansa --- meta-oe/recipes-support/udisks/udisks2_2.1.8.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta-oe/recipes-support/udisks/udisks2_2.1.8.bb b/meta-oe/recipes-support/udisks/udisks2_2.1.8.bb index 6d90e49..a3efc51 100644 --- a/meta-oe/recipes-support/udisks/udisks2_2.1.8.bb +++ b/meta-oe/recipes-support/udisks/udisks2_2.1.8.bb @@ -13,6 +13,8 @@ SRC_URI = "http://udisks.freedesktop.org/releases/udisks-${PV}.tar.bz2 \ SRC_URI[md5sum] = "501d11c243bd8c6c00650474cd2afaab" SRC_URI[sha256sum] = "da416914812a77e5f4d82b81deb8c25799fd3228d27d52f7bf89a501b1857dda" +CVE_PRODUCT = "udisks" + inherit autotools systemd gtk-doc gobject-introspection S = "${WORKDIR}/udisks-${PV}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 08:53:22 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 08:53:22 +0000 Subject: [oe-commits] [meta-openembedded] 20/24: keybinder: add recipe 3.0 In-Reply-To: <150062718292.2957.2424336847480361710@git.openembedded.org> References: <150062718292.2957.2424336847480361710@git.openembedded.org> Message-ID: <20170721085303.DDE1323364E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit c397029ba826b1c9643e91cbb37c3d6d2167cc66 Author: Hongxu Jia AuthorDate: Fri Jul 21 03:34:38 2017 -0400 keybinder: add recipe 3.0 Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- .../recipes-support/keybinder/keybinder_3.0.bb | 26 ++++++++++++++++++++++ meta-oe/licenses/X11 | 23 +++++++++++++++++++ 2 files changed, 49 insertions(+) diff --git a/meta-gnome/recipes-support/keybinder/keybinder_3.0.bb b/meta-gnome/recipes-support/keybinder/keybinder_3.0.bb new file mode 100644 index 0000000..d6744a3 --- /dev/null +++ b/meta-gnome/recipes-support/keybinder/keybinder_3.0.bb @@ -0,0 +1,26 @@ +DESCRIPTION = "keybinder is a library for registering global key bindings, for gtk-based applications." +HOMEPAGE = "https://github.com/engla/keybinder" +LICENSE = "X11" +SECTION = "devel/lib" +DEPENDS = "gtk+3 gobject-introspection-native \ + gtk+ \ +" + +LIC_FILES_CHKSUM = "file://COPYING;md5=1f18f9c6d8b4cfcc7d7804a243a4c0b4" + +S = "${WORKDIR}/git" +B = "${S}" + +SRCREV = "736ccef40d39603b8111c8a3a0bca0319bbafdc0" +PV = "3.0+git${SRCPV}" +SRC_URI = "git://github.com/engla/keybinder.git;branch=keybinder-3.0 \ +" + +RDEPENDS_${PN} = "gtk+" + +inherit autotools gtk-doc gobject-introspection +do_configure_prepend() { + touch ${S}/ChangeLog +} + +SRC_DISTRIBUTE_LICENSES += "X11" diff --git a/meta-oe/licenses/X11 b/meta-oe/licenses/X11 new file mode 100644 index 0000000..da3e406 --- /dev/null +++ b/meta-oe/licenses/X11 @@ -0,0 +1,23 @@ +/* + * Copyright (C) 2008 Alex Graveley + * Copyright (C) 2010 Ulrik Sverdrup + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 08:53:18 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 08:53:18 +0000 Subject: [oe-commits] [meta-openembedded] 16/24: gimp: remove libart-lgpl build dependency In-Reply-To: <150062718292.2957.2424336847480361710@git.openembedded.org> References: <150062718292.2957.2424336847480361710@git.openembedded.org> Message-ID: <20170721085303.C3F1223363F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 992b216eee0ab064ec055478f6b69adecbf508b9 Author: Ross Burton AuthorDate: Thu Jul 20 16:35:08 2017 +0100 gimp: remove libart-lgpl build dependency This build dependency was removed in 2008 with the port to Cairo. Signed-off-by: Ross Burton Signed-off-by: Martin Jansa --- meta-oe/recipes-graphics/gimp/gimp_2.8.22.bb | 1 - 1 file changed, 1 deletion(-) diff --git a/meta-oe/recipes-graphics/gimp/gimp_2.8.22.bb b/meta-oe/recipes-graphics/gimp/gimp_2.8.22.bb index 1ecd2b7..cd7e27a 100644 --- a/meta-oe/recipes-graphics/gimp/gimp_2.8.22.bb +++ b/meta-oe/recipes-graphics/gimp/gimp_2.8.22.bb @@ -11,7 +11,6 @@ DEPENDS = " \ gtk+ \ babl \ gegl \ - libart-lgpl \ jpeg \ libpng \ libexif \ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 08:53:24 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 08:53:24 +0000 Subject: [oe-commits] [meta-openembedded] 22/24: usermode: add recipe 1.111 In-Reply-To: <150062718292.2957.2424336847480361710@git.openembedded.org> References: <150062718292.2957.2424336847480361710@git.openembedded.org> Message-ID: <20170721085303.E99E423361E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit b22a3b5fb799ab23e7e11015561c2b776bb52452 Author: Hongxu Jia AuthorDate: Fri Jul 21 03:34:43 2017 -0400 usermode: add recipe 1.111 Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- ...ix-compile-failure-against-musl-C-library.patch | 27 ++++++++++++++++++++++ .../recipes-support/usermode/usermode_1.111.bb | 27 ++++++++++++++++++++++ 2 files changed, 54 insertions(+) diff --git a/meta-gnome/recipes-support/usermode/usermode/0001-fix-compile-failure-against-musl-C-library.patch b/meta-gnome/recipes-support/usermode/usermode/0001-fix-compile-failure-against-musl-C-library.patch new file mode 100644 index 0000000..bf19f28 --- /dev/null +++ b/meta-gnome/recipes-support/usermode/usermode/0001-fix-compile-failure-against-musl-C-library.patch @@ -0,0 +1,27 @@ +From c77e3f0d4560797f7dc56549ae5ebcc035714a4d Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Thu, 20 Jul 2017 23:20:53 -0400 +Subject: [PATCH] fix compile failure against musl C library + +Upstream-Status: Pending + +Signed-off-by: Hongxu Jia +--- + usermount.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/usermount.c b/usermount.c +index 3aafadd..4107027 100644 +--- a/usermount.c ++++ b/usermount.c +@@ -46,6 +46,7 @@ + #include + #include + #include ++#include + #include + #include + #include +-- +2.8.1 + diff --git a/meta-gnome/recipes-support/usermode/usermode_1.111.bb b/meta-gnome/recipes-support/usermode/usermode_1.111.bb new file mode 100644 index 0000000..0411a12 --- /dev/null +++ b/meta-gnome/recipes-support/usermode/usermode_1.111.bb @@ -0,0 +1,27 @@ +DESCRIPTION = "The usermode contains the userhelper program, which can be used to allow configured \ +programs to be run with superuser privileges by ordinary users, and several \ +graphical tools for users: \ +* userinfo allows users to change their finger information. \ +* usermount lets users mount, unmount, and format filesystems. \ +* userpasswd allows users to change their passwords. \ +" +HOMEPAGE = "https://pagure.io/usermode" +LICENSE = "GPLv2+" +DEPENDS = "libuser ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)} \ + gtk+ desktop-file-utils-native \ + startup-notification intltool-native \ + util-linux \ +" + +SRC_URI = "https://releases.pagure.org/${BPN}/${BPN}-${PV}.tar.xz" +SRC_URI[md5sum] = "28ba510fbd8da9f4e86e57d6c31cff29" +SRC_URI[sha256sum] = "3dd0b9639b5bd396b7ea5fada6aaa694dbfdaa3ad06eb95a6eabcdfd02f875c6" + +SRC_URI_append_libc-musl = " file://0001-fix-compile-failure-against-musl-C-library.patch" + +LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" + +inherit autotools gettext pkgconfig + +EXTRA_OEMAKE += "INSTALL='install -p'" + -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 08:53:25 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 08:53:25 +0000 Subject: [oe-commits] [meta-openembedded] 23/24: xmlrpc-c: add recipe 1.31.0 In-Reply-To: <150062718292.2957.2424336847480361710@git.openembedded.org> References: <150062718292.2957.2424336847480361710@git.openembedded.org> Message-ID: <20170721085303.EFDA623361F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit b6e7a90f99e309ae2817863bf61cf9db73323233 Author: Hongxu Jia AuthorDate: Fri Jul 21 03:34:47 2017 -0400 xmlrpc-c: add recipe 1.31.0 Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- ...ix-compile-failure-against-musl-C-library.patch | 52 ++++++++++++++++++++++ .../recipes-devtools/xmlrpc-c/xmlrpc-c_1.31.0.bb | 23 ++++++++++ 2 files changed, 75 insertions(+) diff --git a/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-fix-compile-failure-against-musl-C-library.patch b/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-fix-compile-failure-against-musl-C-library.patch new file mode 100644 index 0000000..234d696 --- /dev/null +++ b/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-fix-compile-failure-against-musl-C-library.patch @@ -0,0 +1,52 @@ +From 950b27f8320b841490cafcb3e6e3b818c7174c0d Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Thu, 20 Jul 2017 22:32:50 -0400 +Subject: [PATCH] fix compile failure against musl C library + +Upstream-Status: Pending + +Signed-off-by: Hongxu Jia +--- + test/cpp/server_abyss.cpp | 2 +- + tools/xmlrpc_pstream/xmlrpc_pstream.cpp | 10 +++++++--- + 2 files changed, 8 insertions(+), 4 deletions(-) + +diff --git a/test/cpp/server_abyss.cpp b/test/cpp/server_abyss.cpp +index 2458a8f..82f91da 100644 +--- a/test/cpp/server_abyss.cpp ++++ b/test/cpp/server_abyss.cpp +@@ -18,7 +18,7 @@ + #ifdef WIN32 + #include + #else +- #include ++ #include + #include + #include + #include +diff --git a/tools/xmlrpc_pstream/xmlrpc_pstream.cpp b/tools/xmlrpc_pstream/xmlrpc_pstream.cpp +index d39e105..1fd8900 100644 +--- a/tools/xmlrpc_pstream/xmlrpc_pstream.cpp ++++ b/tools/xmlrpc_pstream/xmlrpc_pstream.cpp +@@ -15,11 +15,15 @@ + #include "xmlrpc-c/girerr.hpp" + using girerr::throwf; + +-#include // for __BEGIN_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif + +-__BEGIN_DECLS + #include "dumpvalue.h" /* An internal Xmlrpc-c header file ! */ +-__END_DECLS ++ ++#ifdef __cplusplus ++} ++#endif + + + #include +-- +2.8.1 + diff --git a/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.31.0.bb b/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.31.0.bb new file mode 100644 index 0000000..9050d66 --- /dev/null +++ b/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.31.0.bb @@ -0,0 +1,23 @@ +DESCRIPTION = "XML-RPC for C/C++ is programming libraries and related tools to help you \ +write an XML-RPC server or client in C or C++." + +HOMEPAGE = "http://xmlrpc-c.sourceforge.net/" +LICENSE = "BSD & MIT" +LIC_FILES_CHKSUM = "file://doc/COPYING;md5=aefbf81ba0750f02176b6f86752ea951" + +SRC_URI = "git://github.com/ensc/xmlrpc-c.git;branch=master \ + file://0001-fix-compile-failure-against-musl-C-library.patch \ +" +SRCREV = "81443a9dc234cc275449dbc17867ad77ae189124" +S = "${WORKDIR}/git" + +DEPENDS = "curl libxml2" +RDEPENDS_${PN} = "curl" + +inherit cmake + +EXTRA_OECMAKE = "-D_lib:STRING=${baselib}" + +BBCLASSEXTEND = "native" + +TARGET_CFLAGS += "-Wno-narrowing" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 08:53:26 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 08:53:26 +0000 Subject: [oe-commits] [meta-openembedded] 24/24: satyr: add recipe 0.23 In-Reply-To: <150062718292.2957.2424336847480361710@git.openembedded.org> References: <150062718292.2957.2424336847480361710@git.openembedded.org> Message-ID: <20170721085304.063A3233620@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 820cc9408bcb4ab2db7e83159d35cf8656daaf55 Author: Hongxu Jia AuthorDate: Fri Jul 21 03:34:45 2017 -0400 satyr: add recipe 0.23 Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- .../satyr/files/0001-do-not-support-python2.patch | 84 ++++++++++++++++++++++ ...ix-compile-failure-against-musl-C-library.patch | 28 ++++++++ meta-oe/recipes-support/satyr/satyr_0.23.bb | 33 +++++++++ 3 files changed, 145 insertions(+) diff --git a/meta-oe/recipes-support/satyr/files/0001-do-not-support-python2.patch b/meta-oe/recipes-support/satyr/files/0001-do-not-support-python2.patch new file mode 100644 index 0000000..9e95a3f --- /dev/null +++ b/meta-oe/recipes-support/satyr/files/0001-do-not-support-python2.patch @@ -0,0 +1,84 @@ +From 206f334d62da17093e784094c9d9e80c853f704f Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Fri, 12 May 2017 03:03:46 -0400 +Subject: [PATCH] do not support python2 + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Hongxu Jia +--- + configure.ac | 16 ---------------- + python/Makefile.am | 24 ------------------------ + 2 files changed, 40 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 200a7cc..8431c51 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -22,22 +22,6 @@ AM_MISSING_PROG([AUTOM4TE], [autom4te]) + # Needed by tests/atlocal.in. + AC_SUBST([O0CFLAGS], [`echo $CFLAGS | sed 's/-O[[0-9]] *//'`]) + +-AM_PATH_PYTHON +-AM_CONDITIONAL([HAVE_PYTHON], test -n "$PYTHON") +-[if test -z "$PYTHON"; then] +- [echo "The python interpreter was not found in the search path. The Python language bindings"] +- [echo "will not be built. If you want to build the Python language bindings, please ensure"] +- [echo "that python is installed and its directory is included in the search path."] +- [echo "Then run configure again before attempting to build Satyr."] +-[fi] +- +-# Just PKG_CHECK_MODULES([PYTHON], [python]) works only with python2.7+ +-# Below, if python is not found, we set up for python2.6 w/o checking: +-PKG_CHECK_MODULES([PYTHON], [python2],,[ +- PYTHON_LIBS='-L/usr/lib64 -lpython2.6' +- PYTHON_CFLAGS='-I/usr/include/python2.6' +-]) +- + AC_ARG_ENABLE([python-manpage], + [AS_HELP_STRING([--disable-python-manpage], + [Disable python bindings manpage build])], +diff --git a/python/Makefile.am b/python/Makefile.am +index 36fc2e9..0b73f66 100644 +--- a/python/Makefile.am ++++ b/python/Makefile.am +@@ -1,12 +1,5 @@ + SUBDIRS = . doc + +-py2satyrdir = $(pyexecdir)/satyr +- +-py2satyr_PYTHON = \ +- __init__.py +- +-py2satyr_LTLIBRARIES = _satyr.la +- + PYEXTFILES = \ + py_cluster.h \ + py_cluster.c \ +@@ -75,23 +68,6 @@ PYEXTLDFLAGS = \ + -module \ + -avoid-version + +-_satyr_la_SOURCES = $(PYEXTFILES) +-_satyr_la_CPPFLAGS = \ +- $(PYEXTCPPFLAGS) \ +- $(PYTHON_CFLAGS) +-_satyr_la_LDFLAGS = \ +- $(PYEXTLDFLAGS) \ +- -export-symbols-regex init_satyr +- +-# Depending on the configure option, we either link libsatyr.so dynamically (as +-# is usual), or directly include its object files (by including the +-# convenience library). +-if ENABLE_STATIC_PYTHON_MODULE +-_satyr_la_LIBADD = ../lib/libsatyr_conv.la +-else +-_satyr_la_LIBADD = ../lib/libsatyr.la +-endif +- + if WITH_PYTHON3 + py3satyrdir = $(py3execdir)/satyr + +-- +2.8.1 + diff --git a/meta-oe/recipes-support/satyr/files/0002-fix-compile-failure-against-musl-C-library.patch b/meta-oe/recipes-support/satyr/files/0002-fix-compile-failure-against-musl-C-library.patch new file mode 100644 index 0000000..5827eb4 --- /dev/null +++ b/meta-oe/recipes-support/satyr/files/0002-fix-compile-failure-against-musl-C-library.patch @@ -0,0 +1,28 @@ +From 23f827ea94284656972652f61f2c6aad96092cc8 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Thu, 20 Jul 2017 23:00:29 -0400 +Subject: [PATCH] fix compile failure against musl C library + +Upstream-Status: Pending + +Signed-off-by: Hongxu Jia +--- + lib/rpm.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/rpm.c b/lib/rpm.c +index 920e145..58140bf 100644 +--- a/lib/rpm.c ++++ b/lib/rpm.c +@@ -188,7 +188,7 @@ sr_rpm_package_sort(struct sr_rpm_package *packages) + } + + /* Sort the array. */ +- qsort(array, count, sizeof(struct sr_rpm_package*), (comparison_fn_t)cmp_nevra_qsort_wrapper); ++ qsort(array, count, sizeof(struct sr_rpm_package*), cmp_nevra_qsort_wrapper); + + /* Create a linked list from the sorted array. */ + for (size_t loop = 0; loop < count; ++loop) +-- +2.8.1 + diff --git a/meta-oe/recipes-support/satyr/satyr_0.23.bb b/meta-oe/recipes-support/satyr/satyr_0.23.bb new file mode 100644 index 0000000..f795c37 --- /dev/null +++ b/meta-oe/recipes-support/satyr/satyr_0.23.bb @@ -0,0 +1,33 @@ +DESCRIPTION = "Satyr is a collection of low-level algorithms for program \ +failure processing, analysis, and reporting supporting kernel space, user \ +space, Python, and Java programs" + +HOMEPAGE = "https://github.com/abrt/satyr" +LICENSE = "GPLv2" + +inherit autotools-brokensep python3native pkgconfig + +SRC_URI = "git://github.com/abrt/satyr.git \ + file://0001-do-not-support-python2.patch \ + file://0002-fix-compile-failure-against-musl-C-library.patch \ +" +SRCREV = "4742fd4857c446b96f712d52e2e4cd0b6cfe7398" +S = "${WORKDIR}/git" + +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" + +DEPENDS += " \ + gdb \ +" + +PACKAGES += "python3-${PN}" +FILES_python3-${PN} = "${PYTHON_SITEPACKAGES_DIR}/${BPN}" + +PACKAGECONFIG ??= "python3 rpm" +PACKAGECONFIG[python3] = "--with-python3, --without-python3,,python3" +PACKAGECONFIG[pythonmanpage] = "--enable-python-manpage, --disable-python-manpage" +PACKAGECONFIG[rpm] = "--with-rpm, --without-rpm, rpm" + +do_configure_prepend() { + ${S}/gen-version +} -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 08:53:23 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 08:53:23 +0000 Subject: [oe-commits] [meta-openembedded] 21/24: volume-key: add recipe 0.3.9 In-Reply-To: <150062718292.2957.2424336847480361710@git.openembedded.org> References: <150062718292.2957.2424336847480361710@git.openembedded.org> Message-ID: <20170721085303.E3A4F233650@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 0e72784bbf915ddeffdddad663a999ce8a4b63ca Author: Hongxu Jia AuthorDate: Fri Jul 21 03:34:39 2017 -0400 volume-key: add recipe 0.3.9 Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- ...-explicitly-support-python3-by-pkg-config.patch | 56 ++++++++++++++++++++++ .../volume_key/volume-key_0.3.9.bb | 34 +++++++++++++ 2 files changed, 90 insertions(+) diff --git a/meta-oe/recipes-extended/volume_key/files/0001-explicitly-support-python3-by-pkg-config.patch b/meta-oe/recipes-extended/volume_key/files/0001-explicitly-support-python3-by-pkg-config.patch new file mode 100644 index 0000000..03edb13 --- /dev/null +++ b/meta-oe/recipes-extended/volume_key/files/0001-explicitly-support-python3-by-pkg-config.patch @@ -0,0 +1,56 @@ +From 18415c0b4c6e50ed9b99dfdae8d210590d0ab72e Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Fri, 28 Apr 2017 04:50:30 -0400 +Subject: [PATCH] explicitly support python3 by pkg-config + +The PYTHON_CPPFLAGS and -lpython$(PYTHON_VERSION) is hardcoded, +use pkg-config to replace + +Upstream-Status: Inappropriate [wr-installer specific] + +Signed-off-by: Hongxu Jia +--- + Makefile.am | 5 ++--- + configure.ac | 2 ++ + 2 files changed, 4 insertions(+), 3 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index 4569bbf..7a8daf4 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -20,7 +20,6 @@ ACLOCAL_AMFLAGS = -I m4 + AM_CPPFLAGS = $(blkid_CFLAGS) $(glib_CFLAGS) $(GPGME_CFLAGS) \ + $(libcryptsetup_CFLAGS) $(nss_CFLAGS) + LOCALEDIR_CPPFLAGS = -DLOCALEDIR='"$(localedir)"' +-PYTHON_CPPFLAGS = -I/usr/include/python$(PYTHON_VERSION) + + ## Targets + SUBDIRS = po +@@ -63,9 +62,9 @@ lib_libvolume_key_la_LIBADD = $(blkid_LIBS) $(glib_LIBS) $(GPGME_LIBS) \ + $(LTLIBINTL) $(libcryptsetup_LIBS) $(nss_LIBS) + + python__volume_key_la_SOURCES = python/volume_key_wrap.c +-python__volume_key_la_CPPFLAGS = $(AM_CPPFLAGS) $(PYTHON_CPPFLAGS) ++python__volume_key_la_CPPFLAGS = $(AM_CPPFLAGS) $(python3_CFLAGS) + python__volume_key_la_LDFLAGS = -module -avoid-version $(glib_LIBS) +-python__volume_key_la_LIBADD = lib/libvolume_key.la -lpython$(PYTHON_VERSION) \ ++python__volume_key_la_LIBADD = lib/libvolume_key.la $(python3_LIBS) \ + $(glib_LIBS) $(nss_LIBS) + + src_volume_key_SOURCES = src/volume_key.c +diff --git a/configure.ac b/configure.ac +index ff35dd0..0928a6c 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -27,6 +27,8 @@ AM_INIT_AUTOMAKE([no-dist-gzip dist-xz no-define subdir-objects -Wall]) + AC_PROG_CC + AM_PROG_CC_C_O + LT_INIT([disable-static]) ++ ++PKG_CHECK_MODULES(python3, [python3]) + AM_PATH_PYTHON + + dnl Not gpg2, it cannot receive passphrases from gpgme +-- +2.8.1 + diff --git a/meta-oe/recipes-extended/volume_key/volume-key_0.3.9.bb b/meta-oe/recipes-extended/volume_key/volume-key_0.3.9.bb new file mode 100644 index 0000000..febf3f2 --- /dev/null +++ b/meta-oe/recipes-extended/volume_key/volume-key_0.3.9.bb @@ -0,0 +1,34 @@ +DESCRIPTION = "The volume_key project provides a libvolume_key, a library for manipulating \ +storage volume encryption keys and storing them separately from volumes, and an \ +associated command-line tool, named volume_key." +LICENSE = "GPLv2" +SECTION = "devel/lib" + +HOMEPAGE = "https://pagure.io/volume_key" + +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +SRC_URI = "https://releases.pagure.org/volume_key/volume_key-${PV}.tar.xz \ + file://0001-explicitly-support-python3-by-pkg-config.patch \ +" +SRC_URI[md5sum] = "a2d14931177c660e1f3ebbcf5f47d8e2" +SRC_URI[sha256sum] = "450a54fe9bf56acec6850c1e71371d3e4913c9ca1ef0cdc3a517b4b6910412a6" + +SRCNAME = "volume_key" +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit autotools python3native gettext + +DEPENDS += " \ + util-linux \ + glib-2.0 \ + cryptsetup \ + nss \ + gpgme \ +" + +RDEPENDS_python3-${PN} += "${PN}" + +PACKAGES += "python3-${PN}" +FILES_python3-${PN} = "${PYTHON_SITEPACKAGES_DIR}/*" + -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 10:11:16 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 10:11:16 +0000 Subject: [oe-commits] [meta-openembedded] 01/12: python-pytun: addition of recipe for python and python3 using pipy In-Reply-To: <150063187588.25124.13524066845063396006@git.openembedded.org> References: <150063187588.25124.13524066845063396006@git.openembedded.org> Message-ID: <20170721101116.0DD5D232821@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 1379141183a5749f64124fa8e274837f08183f78 Author: Romain Bazile AuthorDate: Thu Jul 20 09:56:51 2017 +0200 python-pytun: addition of recipe for python and python3 using pipy Signed-off-by: Romain Bazile Signed-off-by: Martin Jansa --- meta-python/recipes-connectivity/python-pytun/python-pytun.inc | 10 ++++++++++ .../recipes-connectivity/python-pytun/python-pytun_2.2.1.bb | 2 ++ .../recipes-connectivity/python-pytun/python3-pytun_2.2.1.bb | 2 ++ 3 files changed, 14 insertions(+) diff --git a/meta-python/recipes-connectivity/python-pytun/python-pytun.inc b/meta-python/recipes-connectivity/python-pytun/python-pytun.inc new file mode 100644 index 0000000..79a8bfb --- /dev/null +++ b/meta-python/recipes-connectivity/python-pytun/python-pytun.inc @@ -0,0 +1,10 @@ +SUMMARY = "Python TUN/TAP tunnel module" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=13f7629e8e4989b66b4a913ab05a91de" + +SRC_URI[md5sum] = "5b35b1cf80a02cca7ec72eb95d6b0192" +SRC_URI[sha256sum] = "07595dadf85f5176eb08c8d4d9ba5b862a180e96633f670f91437c47a1bead0d" + +PYPI_PACKAGE = "python-pytun" + +inherit pypi diff --git a/meta-python/recipes-connectivity/python-pytun/python-pytun_2.2.1.bb b/meta-python/recipes-connectivity/python-pytun/python-pytun_2.2.1.bb new file mode 100644 index 0000000..3fc587f --- /dev/null +++ b/meta-python/recipes-connectivity/python-pytun/python-pytun_2.2.1.bb @@ -0,0 +1,2 @@ +require python-pytun.inc +inherit setuptools diff --git a/meta-python/recipes-connectivity/python-pytun/python3-pytun_2.2.1.bb b/meta-python/recipes-connectivity/python-pytun/python3-pytun_2.2.1.bb new file mode 100644 index 0000000..938d9d7 --- /dev/null +++ b/meta-python/recipes-connectivity/python-pytun/python3-pytun_2.2.1.bb @@ -0,0 +1,2 @@ +require python-pytun.inc +inherit setuptools3 -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 10:11:17 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 10:11:17 +0000 Subject: [oe-commits] [meta-openembedded] 02/12: netperf: change SRC_URI to git repository In-Reply-To: <150063187588.25124.13524066845063396006@git.openembedded.org> References: <150063187588.25124.13524066845063396006@git.openembedded.org> Message-ID: <20170721101116.15ADE232822@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit cc7ab371b38113d6c22740a5974ba50869cef1e4 Author: Yue Tao AuthorDate: Thu Jul 20 16:17:47 2017 +0800 netperf: change SRC_URI to git repository netperf upstream has been migrated to GitHub. They no longer provide ftp and tar balls. Update the SRC_URI to point the GitHub repo instead of the ftp server address, still using the v2.6.0 version. Signed-off-by: Yue Tao Signed-off-by: Martin Jansa --- .../recipes-support/netperf/{netperf_2.6.0.bb => netperf_git.bb} | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/meta-networking/recipes-support/netperf/netperf_2.6.0.bb b/meta-networking/recipes-support/netperf/netperf_git.bb similarity index 89% rename from meta-networking/recipes-support/netperf/netperf_2.6.0.bb rename to meta-networking/recipes-support/netperf/netperf_git.bb index 650fdae..5a51477 100644 --- a/meta-networking/recipes-support/netperf/netperf_2.6.0.bb +++ b/meta-networking/recipes-support/netperf/netperf_git.bb @@ -5,19 +5,19 @@ HOMEPAGE = "http://www.netperf.org/" LICENSE = "netperf" LICENSE_FLAGS = "non-commercial" +PV = "2.6.0+git${SRCREV}" +SRCREV = "050accccc728f29344088f5e15eff36fd2e0bc8a" -SRC_URI="ftp://ftp.netperf.org/netperf/archive/netperf-${PV}.tar.bz2 \ +SRC_URI="git://github.com/HewlettPackard/netperf.git \ file://cpu_set.patch \ file://vfork.patch \ file://init" -SRC_URI[md5sum] = "9654ffdfd4c4f2c93ce3733cd9ed9236" -SRC_URI[sha256sum] = "cd8dac710d4273d29f70e8dbd09353a6362ac58a11926e0822233c0cb230323a" LIC_FILES_CHKSUM = "file://COPYING;md5=a0ab17253e7a3f318da85382c7d5d5d6" inherit update-rc.d autotools -S = "${WORKDIR}/netperf-${PV}" +S = "${WORKDIR}/git" # cpu_set.patch plus _GNU_SOURCE makes src/netlib.c compile with CPU_ macros CFLAGS_append = " -DDO_UNIX -DDO_IPV6 -D_GNU_SOURCE" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 10:11:19 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 10:11:19 +0000 Subject: [oe-commits] [meta-openembedded] 04/12: gimp: remove libart-lgpl build dependency In-Reply-To: <150063187588.25124.13524066845063396006@git.openembedded.org> References: <150063187588.25124.13524066845063396006@git.openembedded.org> Message-ID: <20170721101116.254E7232824@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 7e6cafbbd65165477ad4593d1a5db0348ac1c9b0 Author: Ross Burton AuthorDate: Thu Jul 20 16:35:08 2017 +0100 gimp: remove libart-lgpl build dependency This build dependency was removed in 2008 with the port to Cairo. Signed-off-by: Ross Burton Signed-off-by: Martin Jansa --- meta-oe/recipes-graphics/gimp/gimp_2.8.22.bb | 1 - 1 file changed, 1 deletion(-) diff --git a/meta-oe/recipes-graphics/gimp/gimp_2.8.22.bb b/meta-oe/recipes-graphics/gimp/gimp_2.8.22.bb index 1ecd2b7..cd7e27a 100644 --- a/meta-oe/recipes-graphics/gimp/gimp_2.8.22.bb +++ b/meta-oe/recipes-graphics/gimp/gimp_2.8.22.bb @@ -11,7 +11,6 @@ DEPENDS = " \ gtk+ \ babl \ gegl \ - libart-lgpl \ jpeg \ libpng \ libexif \ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 10:11:15 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 10:11:15 +0000 Subject: [oe-commits] [meta-openembedded] branch master-next updated (820cc94 -> 063a685) Message-ID: <150063187588.25124.13524066845063396006@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a change to branch master-next in repository meta-openembedded. discard 820cc94 satyr: add recipe 0.23 discard b6e7a90 xmlrpc-c: add recipe 1.31.0 discard b22a3b5 usermode: add recipe 1.111 discard 0e72784 volume-key: add recipe 0.3.9 discard c397029 keybinder: add recipe 3.0 discard 8d9fdaa udisks2_2.1.8.bb: set CVE_PRODUCT to udisks discard e5b234e krb5_1.15.1.bb: set CVE_PRODUCT to kerberos discard fba8beb fribidi_0.19.7.bb: set CVE_PRODUCT to gnu_fribidi discard 992b216 gimp: remove libart-lgpl build dependency discard 442117d ippool: Fix build errors found with hardening flags discard 27a0e7e netperf: change SRC_URI to git repository discard 4420bd8 python-pytun: addition of recipe for python and python3 using pipy new 1379141 python-pytun: addition of recipe for python and python3 using pipy new cc7ab37 netperf: change SRC_URI to git repository new d197b23 ippool: Fix build errors found with hardening flags new 7e6cafb gimp: remove libart-lgpl build dependency new bc3809c fribidi_0.19.7.bb: set CVE_PRODUCT to gnu_fribidi new 5999bf8 krb5_1.15.1.bb: set CVE_PRODUCT to kerberos new e81b260 udisks2_2.1.8.bb: set CVE_PRODUCT to udisks new 00a92c6 keybinder: add recipe 3.0 new 67f4765 volume-key: add recipe 0.3.9 new 2a1330c usermode: add recipe 1.111 new 9dcdbca xmlrpc-c: add recipe 1.31.0 new 063a685 satyr: add recipe 0.23 This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (820cc94) \ N -- N -- N refs/heads/master-next (063a685) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 12 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: meta-python/recipes-connectivity/python-pytun/python-pytun.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 10:11:18 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 10:11:18 +0000 Subject: [oe-commits] [meta-openembedded] 03/12: ippool: Fix build errors found with hardening flags In-Reply-To: <150063187588.25124.13524066845063396006@git.openembedded.org> References: <150063187588.25124.13524066845063396006@git.openembedded.org> Message-ID: <20170721101116.1E9C3232823@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit d197b236821263bcfe070e6d93098b1e5612b859 Author: Khem Raj AuthorDate: Thu Jul 20 03:35:26 2017 -0700 ippool: Fix build errors found with hardening flags Fix build with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../ippool/0001-Respect-flags-from-env.patch | 56 ++++ ...timer-Check-for-return-value-of-write-API.patch | 28 ++ .../ippool/ippool/0002-link-with-libtirpc.patch | 30 +++ .../ippool/ippool/0003-musl-fixes.patch | 283 +++++++++++++++++++++ .../recipes-daemons/ippool/ippool_1.3.bb | 31 ++- 5 files changed, 415 insertions(+), 13 deletions(-) diff --git a/meta-networking/recipes-daemons/ippool/ippool/0001-Respect-flags-from-env.patch b/meta-networking/recipes-daemons/ippool/ippool/0001-Respect-flags-from-env.patch new file mode 100644 index 0000000..e967621 --- /dev/null +++ b/meta-networking/recipes-daemons/ippool/ippool/0001-Respect-flags-from-env.patch @@ -0,0 +1,56 @@ +From 4848b9e4d516a9203c08432901a7b40419e8f43c Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 19 Jul 2017 15:54:35 -0700 +Subject: [PATCH 1/3] Respect flags from env + +Signed-off-by: Khem Raj +--- + Makefile | 4 ++-- + cli/Makefile | 2 +- + pppd/Makefile | 2 +- + 3 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/Makefile b/Makefile +index a05a000..439a978 100644 +--- a/Makefile ++++ b/Makefile +@@ -81,8 +81,8 @@ LIBS.dmalloc= -ldmalloc + export USE_DMALLOC + endif + +-CPPFLAGS= $(CPPFLAGS.ippooltest) +-CFLAGS= -I. -Iusl -Icli -MMD -Wall -g $(CPPFLAGS) $(CPPFLAGS.dmalloc) ++CPPFLAGS+= $(CPPFLAGS.ippooltest) ++CFLAGS+= -I. -Iusl -Icli -MMD -Wall -g $(CPPFLAGS) $(CPPFLAGS.dmalloc) + LDFLAGS.ippoold= $(LDFLAGS) -Wl,-E -L. -Lusl -lusl -lnsl -ldl $(LIBS.dmalloc) -lc + LDFLAGS.ippoolconfig= $(LDFLAGS) -Lcli -lcli -lreadline -lcurses -lnsl $(LIBS.dmalloc) -lc + +diff --git a/cli/Makefile b/cli/Makefile +index 4b5dd59..56fbf2f 100644 +--- a/cli/Makefile ++++ b/cli/Makefile +@@ -7,7 +7,7 @@ CLI_SRCS_TEST.o= $(CLI_SRCS_TEST.c:%.c=%.o) + + LDFLAGS.cli_test= -L.. -L. $(READLINE_LDFLAGS) -lcli -lusl -lreadline -lcurses -lc + +-CFLAGS= $(CFLAGS.optimize) -MMD -Wall -Werror -I.. $(READLINE_CFLAGS) ++CFLAGS= $(CFLAGS.optimize) -MMD -Wall -Werror -I.. $(READLINE_CFLAGS) $(CPPFLAGS) + + .PHONY: all test clean + +diff --git a/pppd/Makefile b/pppd/Makefile +index 106deca..7fd815f 100644 +--- a/pppd/Makefile ++++ b/pppd/Makefile +@@ -10,7 +10,7 @@ endif + + # END CONFIGURABLE SETTINGS + +-CFLAGS += -g -I.. -I/usr/include/pppd $(CFLAGS.pppd) -fPIC ++CFLAGS += -g -I.. -I=/usr/include/pppd $(CFLAGS.pppd) -fPIC + LDFLAGS += -shared + + all: ippool.so +-- +2.13.3 + diff --git a/meta-networking/recipes-daemons/ippool/ippool/0001-usl_timer-Check-for-return-value-of-write-API.patch b/meta-networking/recipes-daemons/ippool/ippool/0001-usl_timer-Check-for-return-value-of-write-API.patch new file mode 100644 index 0000000..6fb7cc5 --- /dev/null +++ b/meta-networking/recipes-daemons/ippool/ippool/0001-usl_timer-Check-for-return-value-of-write-API.patch @@ -0,0 +1,28 @@ +From 5d7f20c045b3c74dad2c53d65e30bd4840250082 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 27 Jun 2017 15:17:19 -0700 +Subject: [PATCH] usl_timer: Check for return value of write() API + +Signed-off-by: Khem Raj +--- + usl/usl_timer.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/usl/usl_timer.c b/usl/usl_timer.c +index fda752b..d8414a6 100644 +--- a/usl/usl_timer.c ++++ b/usl/usl_timer.c +@@ -94,7 +94,9 @@ void usl_timer_tick(void) + + if (!usl_tick_pending) { + usl_tick_pending = 1; +- write(usl_tick_pipe[1], &msg, sizeof(msg)); ++ if (write(usl_tick_pipe[1], &msg, sizeof(msg)) != sizeof(msg)) { ++ fprintf(stderr, "write to fd %i failed: %s\n", usl_tick_pipe[1], strerror(errno)); ++ } + } + } + +-- +2.13.2 + diff --git a/meta-networking/recipes-daemons/ippool/ippool/0002-link-with-libtirpc.patch b/meta-networking/recipes-daemons/ippool/ippool/0002-link-with-libtirpc.patch new file mode 100644 index 0000000..d80f7b4 --- /dev/null +++ b/meta-networking/recipes-daemons/ippool/ippool/0002-link-with-libtirpc.patch @@ -0,0 +1,30 @@ +From 47aef26198431f7ad568c2277dded158bda3e36f Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 19 Jul 2017 16:00:35 -0700 +Subject: [PATCH 2/3] link with libtirpc + +musl needs it + +Signed-off-by: Khem Raj +--- + Makefile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Makefile b/Makefile +index 439a978..ea821eb 100644 +--- a/Makefile ++++ b/Makefile +@@ -83,8 +83,8 @@ endif + + CPPFLAGS+= $(CPPFLAGS.ippooltest) + CFLAGS+= -I. -Iusl -Icli -MMD -Wall -g $(CPPFLAGS) $(CPPFLAGS.dmalloc) +-LDFLAGS.ippoold= $(LDFLAGS) -Wl,-E -L. -Lusl -lusl -lnsl -ldl $(LIBS.dmalloc) -lc +-LDFLAGS.ippoolconfig= $(LDFLAGS) -Lcli -lcli -lreadline -lcurses -lnsl $(LIBS.dmalloc) -lc ++LDFLAGS.ippoold= $(LDFLAGS) -Wl,-E -L. -Lusl -lusl -ldl $(LIBS.dmalloc) -lc -ltirpc ++LDFLAGS.ippoolconfig= $(LDFLAGS) -Lcli -lcli -lreadline -lcurses $(LIBS.dmalloc) -lc -ltirpc + + OPT_CFLAGS?= -O + +-- +2.13.3 + diff --git a/meta-networking/recipes-daemons/ippool/ippool/0003-musl-fixes.patch b/meta-networking/recipes-daemons/ippool/ippool/0003-musl-fixes.patch new file mode 100644 index 0000000..3cd5259 --- /dev/null +++ b/meta-networking/recipes-daemons/ippool/ippool/0003-musl-fixes.patch @@ -0,0 +1,283 @@ +From eb345047decba665e3f39908336a83f039e1ece2 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 19 Jul 2017 16:01:32 -0700 +Subject: [PATCH 3/3] musl fixes + +Signed-off-by: Khem Raj +--- + cli/cli_readline.c | 7 +- + ippool_api.c | 9 ++- + net/ppp_defs.h | 194 +++++++++++++++++++++++++++++++++++++++++++++++++++++ + usl/usl.h | 4 ++ + 4 files changed, 208 insertions(+), 6 deletions(-) + create mode 100644 net/ppp_defs.h + +diff --git a/cli/cli_readline.c b/cli/cli_readline.c +index 2812e6e..542935c 100644 +--- a/cli/cli_readline.c ++++ b/cli/cli_readline.c +@@ -17,13 +17,14 @@ + * Boston, MA 02110-1301 USA + * + *****************************************************************************/ +- ++#define _GNU_SOURCE + #include + #include + #include + #include + #include +-#include ++#include ++#include + #include + + #include +@@ -630,7 +631,7 @@ static void cli_rl_uninstall_signal_handlers(void) + + static int cli_rl_install_signal_handlers(void) + { +- __sighandler_t handler; ++ sighandler_t handler; + + rl_catch_signals = 0; + rl_clear_signals(); +diff --git a/ippool_api.c b/ippool_api.c +index 2c10c47..d1127a9 100644 +--- a/ippool_api.c ++++ b/ippool_api.c +@@ -181,10 +181,13 @@ int ippool_api_rpc_check_request(SVCXPRT *xprt) + * non-loopback interface, reject the request. + */ + if ((!ippool_opt_remote_rpc) && +- ((xprt->xp_raddr.sin_addr.s_addr != htonl(INADDR_LOOPBACK)) && +- (xprt->xp_raddr.sin_addr.s_addr != htonl(INADDR_ANY)))) { ++ ((xprt->xp_raddr.sin6_addr.s6_addr != htonl(INADDR_LOOPBACK)) && ++ (xprt->xp_raddr.sin6_addr.s6_addr != htonl(INADDR_ANY)))) { ++ char straddr[INET6_ADDRSTRLEN]; ++ inet_ntop(AF_INET6, &xprt->xp_raddr.sin6_addr, straddr, sizeof(straddr)); ++ + if (ippool_opt_debug) { +- ippool_log(LOG_ERR, "Rejecting RPC request from %s", inet_ntoa(xprt->xp_raddr.sin_addr)); ++ ippool_log(LOG_ERR, "Rejecting RPC request from %s", straddr); + } + svcerr_auth(xprt, AUTH_TOOWEAK); + return -EPERM; +diff --git a/net/ppp_defs.h b/net/ppp_defs.h +new file mode 100644 +index 0000000..b06eda5 +--- /dev/null ++++ b/net/ppp_defs.h +@@ -0,0 +1,194 @@ ++/* $Id: ppp_defs.h,v 1.17 2002/12/06 09:49:15 paulus Exp $ */ ++ ++/* ++ * ppp_defs.h - PPP definitions. ++ * ++ * Copyright (c) 1984 Paul Mackerras. All rights reserved. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * ++ * 1. Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * ++ * 2. Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in ++ * the documentation and/or other materials provided with the ++ * distribution. ++ * ++ * 3. The name(s) of the authors of this software must not be used to ++ * endorse or promote products derived from this software without ++ * prior written permission. ++ * ++ * 4. Redistributions of any form whatsoever must retain the following ++ * acknowledgment: ++ * "This product includes software developed by Paul Mackerras ++ * ". ++ * ++ * THE AUTHORS OF THIS SOFTWARE DISCLAIM ALL WARRANTIES WITH REGARD TO ++ * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY ++ * AND FITNESS, IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY ++ * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES ++ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN ++ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING ++ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ++ */ ++ ++#ifndef _PPP_DEFS_H_ ++#define _PPP_DEFS_H_ ++ ++/* ++ * The basic PPP frame. ++ */ ++#define PPP_HDRLEN 4 /* octets for standard ppp header */ ++#define PPP_FCSLEN 2 /* octets for FCS */ ++ ++/* ++ * Packet sizes ++ * ++ * Note - lcp shouldn't be allowed to negotiate stuff outside these ++ * limits. See lcp.h in the pppd directory. ++ * (XXX - these constants should simply be shared by lcp.c instead ++ * of living in lcp.h) ++ */ ++#define PPP_MTU 1500 /* Default MTU (size of Info field) */ ++#define PPP_MAXMTU 65535 - (PPP_HDRLEN + PPP_FCSLEN) ++#define PPP_MINMTU 64 ++#define PPP_MRU 1500 /* default MRU = max length of info field */ ++#define PPP_MAXMRU 65000 /* Largest MRU we allow */ ++#define PPP_MINMRU 128 ++ ++#define PPP_ADDRESS(p) (((u_char *)(p))[0]) ++#define PPP_CONTROL(p) (((u_char *)(p))[1]) ++#define PPP_PROTOCOL(p) ((((u_char *)(p))[2] << 8) + ((u_char *)(p))[3]) ++ ++/* ++ * Significant octet values. ++ */ ++#define PPP_ALLSTATIONS 0xff /* All-Stations broadcast address */ ++#define PPP_UI 0x03 /* Unnumbered Information */ ++#define PPP_FLAG 0x7e /* Flag Sequence */ ++#define PPP_ESCAPE 0x7d /* Asynchronous Control Escape */ ++#define PPP_TRANS 0x20 /* Asynchronous transparency modifier */ ++ ++/* ++ * Protocol field values. ++ */ ++#define PPP_IP 0x21 /* Internet Protocol */ ++#define PPP_AT 0x29 /* AppleTalk Protocol */ ++#define PPP_IPX 0x2b /* IPX protocol */ ++#define PPP_VJC_COMP 0x2d /* VJ compressed TCP */ ++#define PPP_VJC_UNCOMP 0x2f /* VJ uncompressed TCP */ ++#define PPP_IPV6 0x57 /* Internet Protocol Version 6 */ ++#define PPP_COMP 0xfd /* compressed packet */ ++#define PPP_IPCP 0x8021 /* IP Control Protocol */ ++#define PPP_ATCP 0x8029 /* AppleTalk Control Protocol */ ++#define PPP_IPXCP 0x802b /* IPX Control Protocol */ ++#define PPP_IPV6CP 0x8057 /* IPv6 Control Protocol */ ++#define PPP_CCP 0x80fd /* Compression Control Protocol */ ++#define PPP_ECP 0x8053 /* Encryption Control Protocol */ ++#define PPP_LCP 0xc021 /* Link Control Protocol */ ++#define PPP_PAP 0xc023 /* Password Authentication Protocol */ ++#define PPP_LQR 0xc025 /* Link Quality Report protocol */ ++#define PPP_CHAP 0xc223 /* Cryptographic Handshake Auth. Protocol */ ++#define PPP_CBCP 0xc029 /* Callback Control Protocol */ ++#define PPP_EAP 0xc227 /* Extensible Authentication Protocol */ ++ ++/* ++ * Values for FCS calculations. ++ */ ++#define PPP_INITFCS 0xffff /* Initial FCS value */ ++#define PPP_GOODFCS 0xf0b8 /* Good final FCS value */ ++#define PPP_FCS(fcs, c) (((fcs) >> 8) ^ fcstab[((fcs) ^ (c)) & 0xff]) ++ ++/* ++ * A 32-bit unsigned integral type. ++ */ ++ ++#if !defined(__BIT_TYPES_DEFINED__) && !defined(_BITYPES) \ ++ && !defined(__FreeBSD__) && (NS_TARGET < 40) ++#ifdef UINT32_T ++typedef UINT32_T u_int32_t; ++#else ++typedef unsigned int u_int32_t; ++typedef unsigned short u_int16_t; ++#endif ++#endif ++ ++/* ++ * Extended asyncmap - allows any character to be escaped. ++ */ ++typedef u_int32_t ext_accm[8]; ++ ++/* ++ * What to do with network protocol (NP) packets. ++ */ ++enum NPmode { ++ NPMODE_PASS, /* pass the packet through */ ++ NPMODE_DROP, /* silently drop the packet */ ++ NPMODE_ERROR, /* return an error */ ++ NPMODE_QUEUE /* save it up for later. */ ++}; ++ ++/* ++ * Statistics. ++ */ ++struct pppstat { ++ unsigned int ppp_ibytes; /* bytes received */ ++ unsigned int ppp_ipackets; /* packets received */ ++ unsigned int ppp_ierrors; /* receive errors */ ++ unsigned int ppp_obytes; /* bytes sent */ ++ unsigned int ppp_opackets; /* packets sent */ ++ unsigned int ppp_oerrors; /* transmit errors */ ++}; ++ ++struct vjstat { ++ unsigned int vjs_packets; /* outbound packets */ ++ unsigned int vjs_compressed; /* outbound compressed packets */ ++ unsigned int vjs_searches; /* searches for connection state */ ++ unsigned int vjs_misses; /* times couldn't find conn. state */ ++ unsigned int vjs_uncompressedin; /* inbound uncompressed packets */ ++ unsigned int vjs_compressedin; /* inbound compressed packets */ ++ unsigned int vjs_errorin; /* inbound unknown type packets */ ++ unsigned int vjs_tossed; /* inbound packets tossed because of error */ ++}; ++ ++struct ppp_stats { ++ struct pppstat p; /* basic PPP statistics */ ++ struct vjstat vj; /* VJ header compression statistics */ ++}; ++ ++struct compstat { ++ unsigned int unc_bytes; /* total uncompressed bytes */ ++ unsigned int unc_packets; /* total uncompressed packets */ ++ unsigned int comp_bytes; /* compressed bytes */ ++ unsigned int comp_packets; /* compressed packets */ ++ unsigned int inc_bytes; /* incompressible bytes */ ++ unsigned int inc_packets; /* incompressible packets */ ++ unsigned int ratio; /* recent compression ratio << 8 */ ++}; ++ ++struct ppp_comp_stats { ++ struct compstat c; /* packet compression statistics */ ++ struct compstat d; /* packet decompression statistics */ ++}; ++ ++/* ++ * The following structure records the time in seconds since ++ * the last NP packet was sent or received. ++ */ ++struct ppp_idle { ++ time_t xmit_idle; /* time since last NP packet sent */ ++ time_t recv_idle; /* time since last NP packet received */ ++}; ++ ++#ifndef __P ++#ifdef __STDC__ ++#define __P(x) x ++#else ++#define __P(x) () ++#endif ++#endif ++ ++#endif /* _PPP_DEFS_H_ */ +diff --git a/usl/usl.h b/usl/usl.h +index cdc16db..88d2714 100644 +--- a/usl/usl.h ++++ b/usl/usl.h +@@ -38,6 +38,10 @@ + #include "usl_fsm.h" + #include "usl_list.h" + ++#ifndef WAIT_ANY ++#define WAIT_ANY (-1) ++#endif ++ + #define USL_VERSION "0.6" + + #ifdef DEBUG +-- +2.13.3 + diff --git a/meta-networking/recipes-daemons/ippool/ippool_1.3.bb b/meta-networking/recipes-daemons/ippool/ippool_1.3.bb index 969f434..05921d5 100644 --- a/meta-networking/recipes-daemons/ippool/ippool_1.3.bb +++ b/meta-networking/recipes-daemons/ippool/ippool_1.3.bb @@ -11,16 +11,21 @@ HOMEPAGE = "http://www.openl2tp.org/" SECTION = "console/network" LICENSE = "GPLv2+" -SRC_URI = "\ - https://sourceforge.net/projects/openl2tp/files/${BPN}/${PV}/${BPN}-${PV}.tar.gz \ - file://ippool_usl_timer.patch \ - file://ippool_parallel_make_and_pic.patch \ - file://ippool_init.d.patch \ - file://always_syslog.patch \ - file://makefile-add-ldflags.patch \ - file://runtest.sh \ - file://ippool.service \ - " +SRC_URI = "https://sourceforge.net/projects/openl2tp/files/${BPN}/${PV}/${BPN}-${PV}.tar.gz \ + file://runtest.sh \ + file://ippool.service \ + file://ippool_usl_timer.patch \ + file://ippool_parallel_make_and_pic.patch \ + file://ippool_init.d.patch \ + file://always_syslog.patch \ + file://makefile-add-ldflags.patch \ + file://0001-usl_timer-Check-for-return-value-of-write-API.patch \ + file://0001-Respect-flags-from-env.patch \ +" +SRC_URI_append_libc-musl = "\ + file://0002-link-with-libtirpc.patch \ + file://0003-musl-fixes.patch \ + " LIC_FILES_CHKSUM = "file://LICENSE;md5=4c59283b82fc2b166455e0fc23c71c6f" SRC_URI[md5sum] = "e2401e65db26a3764585b97212888fae" @@ -29,6 +34,7 @@ SRC_URI[sha256sum] = "d3eab7d6cad5da8ccc9d1e31d5303e27a39622c07bdb8fa3618eea3144 inherit systemd DEPENDS = "readline ppp ncurses gzip-native" +DEPENDS_append_libc-musl = " libtirpc" RDEPENDS_${PN} = "rpcbind" EXTRA_OEMAKE = "CC='${CC}' AS='${AS}' LD='${LD}' AR='${AR}' NM='${NM}' STRIP='${STRIP}'" @@ -36,6 +42,8 @@ EXTRA_OEMAKE += "PPPD_VERSION=${PPPD_VERSION} SYS_LIBDIR=${libdir}" # enable self tests EXTRA_OEMAKE += "IPPOOL_TEST=y" +CPPFLAGS += "${SELECTED_OPTIMIZATION}" +CPPFLAGS_append_libc-musl = " -I${STAGING_INCDIR}/tirpc" SYSTEMD_SERVICE_${PN} = "ippool.service" SYSTEMD_AUTO_ENABLE = "disable" @@ -48,9 +56,6 @@ do_compile_prepend() { sed -i -e "s:-I/usr/include/pppd:-I=/usr/include/pppd:" ${S}/pppd/Makefile - # ignore the OPT_CFLAGS?= in Makefile, - # it should be in CFLAGS from env - export OPT_CFLAGS= } -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 10:11:23 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 10:11:23 +0000 Subject: [oe-commits] [meta-openembedded] 08/12: keybinder: add recipe 3.0 In-Reply-To: <150063187588.25124.13524066845063396006@git.openembedded.org> References: <150063187588.25124.13524066845063396006@git.openembedded.org> Message-ID: <20170721101116.400C3232828@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 00a92c68a940662274f67b36f3281e7a0bed6f96 Author: Hongxu Jia AuthorDate: Fri Jul 21 03:34:38 2017 -0400 keybinder: add recipe 3.0 Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- .../recipes-support/keybinder/keybinder_3.0.bb | 26 ++++++++++++++++++++++ meta-oe/licenses/X11 | 23 +++++++++++++++++++ 2 files changed, 49 insertions(+) diff --git a/meta-gnome/recipes-support/keybinder/keybinder_3.0.bb b/meta-gnome/recipes-support/keybinder/keybinder_3.0.bb new file mode 100644 index 0000000..d6744a3 --- /dev/null +++ b/meta-gnome/recipes-support/keybinder/keybinder_3.0.bb @@ -0,0 +1,26 @@ +DESCRIPTION = "keybinder is a library for registering global key bindings, for gtk-based applications." +HOMEPAGE = "https://github.com/engla/keybinder" +LICENSE = "X11" +SECTION = "devel/lib" +DEPENDS = "gtk+3 gobject-introspection-native \ + gtk+ \ +" + +LIC_FILES_CHKSUM = "file://COPYING;md5=1f18f9c6d8b4cfcc7d7804a243a4c0b4" + +S = "${WORKDIR}/git" +B = "${S}" + +SRCREV = "736ccef40d39603b8111c8a3a0bca0319bbafdc0" +PV = "3.0+git${SRCPV}" +SRC_URI = "git://github.com/engla/keybinder.git;branch=keybinder-3.0 \ +" + +RDEPENDS_${PN} = "gtk+" + +inherit autotools gtk-doc gobject-introspection +do_configure_prepend() { + touch ${S}/ChangeLog +} + +SRC_DISTRIBUTE_LICENSES += "X11" diff --git a/meta-oe/licenses/X11 b/meta-oe/licenses/X11 new file mode 100644 index 0000000..da3e406 --- /dev/null +++ b/meta-oe/licenses/X11 @@ -0,0 +1,23 @@ +/* + * Copyright (C) 2008 Alex Graveley + * Copyright (C) 2010 Ulrik Sverdrup + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 10:11:22 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 10:11:22 +0000 Subject: [oe-commits] [meta-openembedded] 07/12: udisks2_2.1.8.bb: set CVE_PRODUCT to udisks In-Reply-To: <150063187588.25124.13524066845063396006@git.openembedded.org> References: <150063187588.25124.13524066845063396006@git.openembedded.org> Message-ID: <20170721101116.38D4E232827@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit e81b260d5c5b0e05e2ed03afbb6ffef8b483584f Author: Mikko Rapeli AuthorDate: Fri Jul 21 10:03:17 2017 +0300 udisks2_2.1.8.bb: set CVE_PRODUCT to udisks It is used in NVD for CVE's like: https://nvd.nist.gov/vuln/detail/CVE-2014-0004 Signed-off-by: Mikko Rapeli Signed-off-by: Martin Jansa --- meta-oe/recipes-support/udisks/udisks2_2.1.8.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta-oe/recipes-support/udisks/udisks2_2.1.8.bb b/meta-oe/recipes-support/udisks/udisks2_2.1.8.bb index 6d90e49..a3efc51 100644 --- a/meta-oe/recipes-support/udisks/udisks2_2.1.8.bb +++ b/meta-oe/recipes-support/udisks/udisks2_2.1.8.bb @@ -13,6 +13,8 @@ SRC_URI = "http://udisks.freedesktop.org/releases/udisks-${PV}.tar.bz2 \ SRC_URI[md5sum] = "501d11c243bd8c6c00650474cd2afaab" SRC_URI[sha256sum] = "da416914812a77e5f4d82b81deb8c25799fd3228d27d52f7bf89a501b1857dda" +CVE_PRODUCT = "udisks" + inherit autotools systemd gtk-doc gobject-introspection S = "${WORKDIR}/udisks-${PV}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 10:11:21 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 10:11:21 +0000 Subject: [oe-commits] [meta-openembedded] 06/12: krb5_1.15.1.bb: set CVE_PRODUCT to kerberos In-Reply-To: <150063187588.25124.13524066845063396006@git.openembedded.org> References: <150063187588.25124.13524066845063396006@git.openembedded.org> Message-ID: <20170721101116.325C8232826@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 5999bf89f2bc920f2c33abe8619f809fb97eaa3d Author: Mikko Rapeli AuthorDate: Fri Jul 21 10:03:16 2017 +0300 krb5_1.15.1.bb: set CVE_PRODUCT to kerberos It is used in NVD database for CVE's like: https://nvd.nist.gov/vuln/detail/CVE-2016-3120 Signed-off-by: Mikko Rapeli Signed-off-by: Martin Jansa --- meta-oe/recipes-connectivity/krb5/krb5_1.15.1.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta-oe/recipes-connectivity/krb5/krb5_1.15.1.bb b/meta-oe/recipes-connectivity/krb5/krb5_1.15.1.bb index 61cdd60..1de884d 100644 --- a/meta-oe/recipes-connectivity/krb5/krb5_1.15.1.bb +++ b/meta-oe/recipes-connectivity/krb5/krb5_1.15.1.bb @@ -34,6 +34,8 @@ SRC_URI = "http://web.mit.edu/kerberos/dist/${BPN}/${SHRT_VER}/${BP}.tar.gz \ SRC_URI[md5sum] = "8022f3a1cde8463e44fd35ef42731f85" SRC_URI[sha256sum] = "437c8831ddd5fde2a993fef425dedb48468109bb3d3261ef838295045a89eb45" +CVE_PRODUCT = "kerberos" + S = "${WORKDIR}/${BP}/src" PACKAGECONFIG ??= "openssl" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 10:11:20 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 10:11:20 +0000 Subject: [oe-commits] [meta-openembedded] 05/12: fribidi_0.19.7.bb: set CVE_PRODUCT to gnu_fribidi In-Reply-To: <150063187588.25124.13524066845063396006@git.openembedded.org> References: <150063187588.25124.13524066845063396006@git.openembedded.org> Message-ID: <20170721101116.2BD93232825@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit bc3809cb9ccdeee609b9471738b19134af45f8ea Author: Mikko Rapeli AuthorDate: Fri Jul 21 10:03:15 2017 +0300 fribidi_0.19.7.bb: set CVE_PRODUCT to gnu_fribidi gnu_fribidi is used in NVD for CVE's like: https://nvd.nist.gov/vuln/detail/CVE-2010-3444 Signed-off-by: Mikko Rapeli Signed-off-by: Martin Jansa --- meta-oe/recipes-devtools/libfribidi/fribidi_0.19.7.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta-oe/recipes-devtools/libfribidi/fribidi_0.19.7.bb b/meta-oe/recipes-devtools/libfribidi/fribidi_0.19.7.bb index e79de66..423a914 100644 --- a/meta-oe/recipes-devtools/libfribidi/fribidi_0.19.7.bb +++ b/meta-oe/recipes-devtools/libfribidi/fribidi_0.19.7.bb @@ -16,3 +16,5 @@ SRC_URI = "http://fribidi.org/download/fribidi-${PV}.tar.bz2" SRC_URI[md5sum] = "6c7e7cfdd39c908f7ac619351c1c5c23" SRC_URI[sha256sum] = "08222a6212bbc2276a2d55c3bf370109ae4a35b689acbc66571ad2a670595a8e" + +CVE_PRODUCT = "gnu_fribidi" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 10:11:24 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 10:11:24 +0000 Subject: [oe-commits] [meta-openembedded] 09/12: volume-key: add recipe 0.3.9 In-Reply-To: <150063187588.25124.13524066845063396006@git.openembedded.org> References: <150063187588.25124.13524066845063396006@git.openembedded.org> Message-ID: <20170721101116.46A54232829@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 67f4765b65ce41661fddf46dcb6e7ec64d295f5a Author: Hongxu Jia AuthorDate: Fri Jul 21 03:34:39 2017 -0400 volume-key: add recipe 0.3.9 Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- ...-explicitly-support-python3-by-pkg-config.patch | 56 ++++++++++++++++++++++ .../volume_key/volume-key_0.3.9.bb | 34 +++++++++++++ 2 files changed, 90 insertions(+) diff --git a/meta-oe/recipes-extended/volume_key/files/0001-explicitly-support-python3-by-pkg-config.patch b/meta-oe/recipes-extended/volume_key/files/0001-explicitly-support-python3-by-pkg-config.patch new file mode 100644 index 0000000..03edb13 --- /dev/null +++ b/meta-oe/recipes-extended/volume_key/files/0001-explicitly-support-python3-by-pkg-config.patch @@ -0,0 +1,56 @@ +From 18415c0b4c6e50ed9b99dfdae8d210590d0ab72e Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Fri, 28 Apr 2017 04:50:30 -0400 +Subject: [PATCH] explicitly support python3 by pkg-config + +The PYTHON_CPPFLAGS and -lpython$(PYTHON_VERSION) is hardcoded, +use pkg-config to replace + +Upstream-Status: Inappropriate [wr-installer specific] + +Signed-off-by: Hongxu Jia +--- + Makefile.am | 5 ++--- + configure.ac | 2 ++ + 2 files changed, 4 insertions(+), 3 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index 4569bbf..7a8daf4 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -20,7 +20,6 @@ ACLOCAL_AMFLAGS = -I m4 + AM_CPPFLAGS = $(blkid_CFLAGS) $(glib_CFLAGS) $(GPGME_CFLAGS) \ + $(libcryptsetup_CFLAGS) $(nss_CFLAGS) + LOCALEDIR_CPPFLAGS = -DLOCALEDIR='"$(localedir)"' +-PYTHON_CPPFLAGS = -I/usr/include/python$(PYTHON_VERSION) + + ## Targets + SUBDIRS = po +@@ -63,9 +62,9 @@ lib_libvolume_key_la_LIBADD = $(blkid_LIBS) $(glib_LIBS) $(GPGME_LIBS) \ + $(LTLIBINTL) $(libcryptsetup_LIBS) $(nss_LIBS) + + python__volume_key_la_SOURCES = python/volume_key_wrap.c +-python__volume_key_la_CPPFLAGS = $(AM_CPPFLAGS) $(PYTHON_CPPFLAGS) ++python__volume_key_la_CPPFLAGS = $(AM_CPPFLAGS) $(python3_CFLAGS) + python__volume_key_la_LDFLAGS = -module -avoid-version $(glib_LIBS) +-python__volume_key_la_LIBADD = lib/libvolume_key.la -lpython$(PYTHON_VERSION) \ ++python__volume_key_la_LIBADD = lib/libvolume_key.la $(python3_LIBS) \ + $(glib_LIBS) $(nss_LIBS) + + src_volume_key_SOURCES = src/volume_key.c +diff --git a/configure.ac b/configure.ac +index ff35dd0..0928a6c 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -27,6 +27,8 @@ AM_INIT_AUTOMAKE([no-dist-gzip dist-xz no-define subdir-objects -Wall]) + AC_PROG_CC + AM_PROG_CC_C_O + LT_INIT([disable-static]) ++ ++PKG_CHECK_MODULES(python3, [python3]) + AM_PATH_PYTHON + + dnl Not gpg2, it cannot receive passphrases from gpgme +-- +2.8.1 + diff --git a/meta-oe/recipes-extended/volume_key/volume-key_0.3.9.bb b/meta-oe/recipes-extended/volume_key/volume-key_0.3.9.bb new file mode 100644 index 0000000..febf3f2 --- /dev/null +++ b/meta-oe/recipes-extended/volume_key/volume-key_0.3.9.bb @@ -0,0 +1,34 @@ +DESCRIPTION = "The volume_key project provides a libvolume_key, a library for manipulating \ +storage volume encryption keys and storing them separately from volumes, and an \ +associated command-line tool, named volume_key." +LICENSE = "GPLv2" +SECTION = "devel/lib" + +HOMEPAGE = "https://pagure.io/volume_key" + +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +SRC_URI = "https://releases.pagure.org/volume_key/volume_key-${PV}.tar.xz \ + file://0001-explicitly-support-python3-by-pkg-config.patch \ +" +SRC_URI[md5sum] = "a2d14931177c660e1f3ebbcf5f47d8e2" +SRC_URI[sha256sum] = "450a54fe9bf56acec6850c1e71371d3e4913c9ca1ef0cdc3a517b4b6910412a6" + +SRCNAME = "volume_key" +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit autotools python3native gettext + +DEPENDS += " \ + util-linux \ + glib-2.0 \ + cryptsetup \ + nss \ + gpgme \ +" + +RDEPENDS_python3-${PN} += "${PN}" + +PACKAGES += "python3-${PN}" +FILES_python3-${PN} = "${PYTHON_SITEPACKAGES_DIR}/*" + -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 10:11:27 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 10:11:27 +0000 Subject: [oe-commits] [meta-openembedded] 12/12: satyr: add recipe 0.23 In-Reply-To: <150063187588.25124.13524066845063396006@git.openembedded.org> References: <150063187588.25124.13524066845063396006@git.openembedded.org> Message-ID: <20170721101116.5B19F23282C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 063a6858985d9ba8438fe9b98ea89dc9784469d1 Author: Hongxu Jia AuthorDate: Fri Jul 21 03:34:45 2017 -0400 satyr: add recipe 0.23 Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- .../satyr/files/0001-do-not-support-python2.patch | 84 ++++++++++++++++++++++ ...ix-compile-failure-against-musl-C-library.patch | 28 ++++++++ meta-oe/recipes-support/satyr/satyr_0.23.bb | 33 +++++++++ 3 files changed, 145 insertions(+) diff --git a/meta-oe/recipes-support/satyr/files/0001-do-not-support-python2.patch b/meta-oe/recipes-support/satyr/files/0001-do-not-support-python2.patch new file mode 100644 index 0000000..9e95a3f --- /dev/null +++ b/meta-oe/recipes-support/satyr/files/0001-do-not-support-python2.patch @@ -0,0 +1,84 @@ +From 206f334d62da17093e784094c9d9e80c853f704f Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Fri, 12 May 2017 03:03:46 -0400 +Subject: [PATCH] do not support python2 + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Hongxu Jia +--- + configure.ac | 16 ---------------- + python/Makefile.am | 24 ------------------------ + 2 files changed, 40 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 200a7cc..8431c51 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -22,22 +22,6 @@ AM_MISSING_PROG([AUTOM4TE], [autom4te]) + # Needed by tests/atlocal.in. + AC_SUBST([O0CFLAGS], [`echo $CFLAGS | sed 's/-O[[0-9]] *//'`]) + +-AM_PATH_PYTHON +-AM_CONDITIONAL([HAVE_PYTHON], test -n "$PYTHON") +-[if test -z "$PYTHON"; then] +- [echo "The python interpreter was not found in the search path. The Python language bindings"] +- [echo "will not be built. If you want to build the Python language bindings, please ensure"] +- [echo "that python is installed and its directory is included in the search path."] +- [echo "Then run configure again before attempting to build Satyr."] +-[fi] +- +-# Just PKG_CHECK_MODULES([PYTHON], [python]) works only with python2.7+ +-# Below, if python is not found, we set up for python2.6 w/o checking: +-PKG_CHECK_MODULES([PYTHON], [python2],,[ +- PYTHON_LIBS='-L/usr/lib64 -lpython2.6' +- PYTHON_CFLAGS='-I/usr/include/python2.6' +-]) +- + AC_ARG_ENABLE([python-manpage], + [AS_HELP_STRING([--disable-python-manpage], + [Disable python bindings manpage build])], +diff --git a/python/Makefile.am b/python/Makefile.am +index 36fc2e9..0b73f66 100644 +--- a/python/Makefile.am ++++ b/python/Makefile.am +@@ -1,12 +1,5 @@ + SUBDIRS = . doc + +-py2satyrdir = $(pyexecdir)/satyr +- +-py2satyr_PYTHON = \ +- __init__.py +- +-py2satyr_LTLIBRARIES = _satyr.la +- + PYEXTFILES = \ + py_cluster.h \ + py_cluster.c \ +@@ -75,23 +68,6 @@ PYEXTLDFLAGS = \ + -module \ + -avoid-version + +-_satyr_la_SOURCES = $(PYEXTFILES) +-_satyr_la_CPPFLAGS = \ +- $(PYEXTCPPFLAGS) \ +- $(PYTHON_CFLAGS) +-_satyr_la_LDFLAGS = \ +- $(PYEXTLDFLAGS) \ +- -export-symbols-regex init_satyr +- +-# Depending on the configure option, we either link libsatyr.so dynamically (as +-# is usual), or directly include its object files (by including the +-# convenience library). +-if ENABLE_STATIC_PYTHON_MODULE +-_satyr_la_LIBADD = ../lib/libsatyr_conv.la +-else +-_satyr_la_LIBADD = ../lib/libsatyr.la +-endif +- + if WITH_PYTHON3 + py3satyrdir = $(py3execdir)/satyr + +-- +2.8.1 + diff --git a/meta-oe/recipes-support/satyr/files/0002-fix-compile-failure-against-musl-C-library.patch b/meta-oe/recipes-support/satyr/files/0002-fix-compile-failure-against-musl-C-library.patch new file mode 100644 index 0000000..5827eb4 --- /dev/null +++ b/meta-oe/recipes-support/satyr/files/0002-fix-compile-failure-against-musl-C-library.patch @@ -0,0 +1,28 @@ +From 23f827ea94284656972652f61f2c6aad96092cc8 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Thu, 20 Jul 2017 23:00:29 -0400 +Subject: [PATCH] fix compile failure against musl C library + +Upstream-Status: Pending + +Signed-off-by: Hongxu Jia +--- + lib/rpm.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/rpm.c b/lib/rpm.c +index 920e145..58140bf 100644 +--- a/lib/rpm.c ++++ b/lib/rpm.c +@@ -188,7 +188,7 @@ sr_rpm_package_sort(struct sr_rpm_package *packages) + } + + /* Sort the array. */ +- qsort(array, count, sizeof(struct sr_rpm_package*), (comparison_fn_t)cmp_nevra_qsort_wrapper); ++ qsort(array, count, sizeof(struct sr_rpm_package*), cmp_nevra_qsort_wrapper); + + /* Create a linked list from the sorted array. */ + for (size_t loop = 0; loop < count; ++loop) +-- +2.8.1 + diff --git a/meta-oe/recipes-support/satyr/satyr_0.23.bb b/meta-oe/recipes-support/satyr/satyr_0.23.bb new file mode 100644 index 0000000..f795c37 --- /dev/null +++ b/meta-oe/recipes-support/satyr/satyr_0.23.bb @@ -0,0 +1,33 @@ +DESCRIPTION = "Satyr is a collection of low-level algorithms for program \ +failure processing, analysis, and reporting supporting kernel space, user \ +space, Python, and Java programs" + +HOMEPAGE = "https://github.com/abrt/satyr" +LICENSE = "GPLv2" + +inherit autotools-brokensep python3native pkgconfig + +SRC_URI = "git://github.com/abrt/satyr.git \ + file://0001-do-not-support-python2.patch \ + file://0002-fix-compile-failure-against-musl-C-library.patch \ +" +SRCREV = "4742fd4857c446b96f712d52e2e4cd0b6cfe7398" +S = "${WORKDIR}/git" + +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" + +DEPENDS += " \ + gdb \ +" + +PACKAGES += "python3-${PN}" +FILES_python3-${PN} = "${PYTHON_SITEPACKAGES_DIR}/${BPN}" + +PACKAGECONFIG ??= "python3 rpm" +PACKAGECONFIG[python3] = "--with-python3, --without-python3,,python3" +PACKAGECONFIG[pythonmanpage] = "--enable-python-manpage, --disable-python-manpage" +PACKAGECONFIG[rpm] = "--with-rpm, --without-rpm, rpm" + +do_configure_prepend() { + ${S}/gen-version +} -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 10:11:25 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 10:11:25 +0000 Subject: [oe-commits] [meta-openembedded] 10/12: usermode: add recipe 1.111 In-Reply-To: <150063187588.25124.13524066845063396006@git.openembedded.org> References: <150063187588.25124.13524066845063396006@git.openembedded.org> Message-ID: <20170721101116.4D4F523282A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 2a1330c1670cafdbf872448323da5bdce50d309c Author: Hongxu Jia AuthorDate: Fri Jul 21 03:34:43 2017 -0400 usermode: add recipe 1.111 Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- ...ix-compile-failure-against-musl-C-library.patch | 27 ++++++++++++++++++++++ .../recipes-support/usermode/usermode_1.111.bb | 27 ++++++++++++++++++++++ 2 files changed, 54 insertions(+) diff --git a/meta-gnome/recipes-support/usermode/usermode/0001-fix-compile-failure-against-musl-C-library.patch b/meta-gnome/recipes-support/usermode/usermode/0001-fix-compile-failure-against-musl-C-library.patch new file mode 100644 index 0000000..bf19f28 --- /dev/null +++ b/meta-gnome/recipes-support/usermode/usermode/0001-fix-compile-failure-against-musl-C-library.patch @@ -0,0 +1,27 @@ +From c77e3f0d4560797f7dc56549ae5ebcc035714a4d Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Thu, 20 Jul 2017 23:20:53 -0400 +Subject: [PATCH] fix compile failure against musl C library + +Upstream-Status: Pending + +Signed-off-by: Hongxu Jia +--- + usermount.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/usermount.c b/usermount.c +index 3aafadd..4107027 100644 +--- a/usermount.c ++++ b/usermount.c +@@ -46,6 +46,7 @@ + #include + #include + #include ++#include + #include + #include + #include +-- +2.8.1 + diff --git a/meta-gnome/recipes-support/usermode/usermode_1.111.bb b/meta-gnome/recipes-support/usermode/usermode_1.111.bb new file mode 100644 index 0000000..0411a12 --- /dev/null +++ b/meta-gnome/recipes-support/usermode/usermode_1.111.bb @@ -0,0 +1,27 @@ +DESCRIPTION = "The usermode contains the userhelper program, which can be used to allow configured \ +programs to be run with superuser privileges by ordinary users, and several \ +graphical tools for users: \ +* userinfo allows users to change their finger information. \ +* usermount lets users mount, unmount, and format filesystems. \ +* userpasswd allows users to change their passwords. \ +" +HOMEPAGE = "https://pagure.io/usermode" +LICENSE = "GPLv2+" +DEPENDS = "libuser ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)} \ + gtk+ desktop-file-utils-native \ + startup-notification intltool-native \ + util-linux \ +" + +SRC_URI = "https://releases.pagure.org/${BPN}/${BPN}-${PV}.tar.xz" +SRC_URI[md5sum] = "28ba510fbd8da9f4e86e57d6c31cff29" +SRC_URI[sha256sum] = "3dd0b9639b5bd396b7ea5fada6aaa694dbfdaa3ad06eb95a6eabcdfd02f875c6" + +SRC_URI_append_libc-musl = " file://0001-fix-compile-failure-against-musl-C-library.patch" + +LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" + +inherit autotools gettext pkgconfig + +EXTRA_OEMAKE += "INSTALL='install -p'" + -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 10:11:26 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 10:11:26 +0000 Subject: [oe-commits] [meta-openembedded] 11/12: xmlrpc-c: add recipe 1.31.0 In-Reply-To: <150063187588.25124.13524066845063396006@git.openembedded.org> References: <150063187588.25124.13524066845063396006@git.openembedded.org> Message-ID: <20170721101116.5426023282B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 9dcdbca658eeaac363acdd1511e4e74b264138b5 Author: Hongxu Jia AuthorDate: Fri Jul 21 03:34:47 2017 -0400 xmlrpc-c: add recipe 1.31.0 Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- ...ix-compile-failure-against-musl-C-library.patch | 52 ++++++++++++++++++++++ .../recipes-devtools/xmlrpc-c/xmlrpc-c_1.31.0.bb | 23 ++++++++++ 2 files changed, 75 insertions(+) diff --git a/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-fix-compile-failure-against-musl-C-library.patch b/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-fix-compile-failure-against-musl-C-library.patch new file mode 100644 index 0000000..234d696 --- /dev/null +++ b/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-fix-compile-failure-against-musl-C-library.patch @@ -0,0 +1,52 @@ +From 950b27f8320b841490cafcb3e6e3b818c7174c0d Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Thu, 20 Jul 2017 22:32:50 -0400 +Subject: [PATCH] fix compile failure against musl C library + +Upstream-Status: Pending + +Signed-off-by: Hongxu Jia +--- + test/cpp/server_abyss.cpp | 2 +- + tools/xmlrpc_pstream/xmlrpc_pstream.cpp | 10 +++++++--- + 2 files changed, 8 insertions(+), 4 deletions(-) + +diff --git a/test/cpp/server_abyss.cpp b/test/cpp/server_abyss.cpp +index 2458a8f..82f91da 100644 +--- a/test/cpp/server_abyss.cpp ++++ b/test/cpp/server_abyss.cpp +@@ -18,7 +18,7 @@ + #ifdef WIN32 + #include + #else +- #include ++ #include + #include + #include + #include +diff --git a/tools/xmlrpc_pstream/xmlrpc_pstream.cpp b/tools/xmlrpc_pstream/xmlrpc_pstream.cpp +index d39e105..1fd8900 100644 +--- a/tools/xmlrpc_pstream/xmlrpc_pstream.cpp ++++ b/tools/xmlrpc_pstream/xmlrpc_pstream.cpp +@@ -15,11 +15,15 @@ + #include "xmlrpc-c/girerr.hpp" + using girerr::throwf; + +-#include // for __BEGIN_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif + +-__BEGIN_DECLS + #include "dumpvalue.h" /* An internal Xmlrpc-c header file ! */ +-__END_DECLS ++ ++#ifdef __cplusplus ++} ++#endif + + + #include +-- +2.8.1 + diff --git a/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.31.0.bb b/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.31.0.bb new file mode 100644 index 0000000..9050d66 --- /dev/null +++ b/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.31.0.bb @@ -0,0 +1,23 @@ +DESCRIPTION = "XML-RPC for C/C++ is programming libraries and related tools to help you \ +write an XML-RPC server or client in C or C++." + +HOMEPAGE = "http://xmlrpc-c.sourceforge.net/" +LICENSE = "BSD & MIT" +LIC_FILES_CHKSUM = "file://doc/COPYING;md5=aefbf81ba0750f02176b6f86752ea951" + +SRC_URI = "git://github.com/ensc/xmlrpc-c.git;branch=master \ + file://0001-fix-compile-failure-against-musl-C-library.patch \ +" +SRCREV = "81443a9dc234cc275449dbc17867ad77ae189124" +S = "${WORKDIR}/git" + +DEPENDS = "curl libxml2" +RDEPENDS_${PN} = "curl" + +inherit cmake + +EXTRA_OECMAKE = "-D_lib:STRING=${baselib}" + +BBCLASSEXTEND = "native" + +TARGET_CFLAGS += "-Wno-narrowing" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 10:13:10 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 10:13:10 +0000 Subject: [oe-commits] [openembedded-core] branch master updated (5212d88 -> 119dd08) Message-ID: <150063199052.25849.13159740725184390359@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master in repository openembedded-core. from 5212d88 subversion: Upgrade 1.9.5-> 1.9.6 new f9ccac5 bluez5: update patch status new 119dd08 bison: reduce local pending patches The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: ...01-hciattach-bcm43xx-fix-the-delay-timer-for-firmware-d.patch | 2 +- .../bison/bison/0001-src-local.mk-fix-parallel-issue.patch | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 10:13:11 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 10:13:11 +0000 Subject: [oe-commits] [openembedded-core] 01/02: bluez5: update patch status In-Reply-To: <150063199052.25849.13159740725184390359@git.openembedded.org> References: <150063199052.25849.13159740725184390359@git.openembedded.org> Message-ID: <20170721101310.9C803232821@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit f9ccac5dd359e9b874a39cd879ea23c841085eab Author: Maxin B. John AuthorDate: Fri Jul 21 12:09:52 2017 +0300 bluez5: update patch status Update the status of following patch from Pending to Accepted: a) 0001-hciattach-bcm43xx-fix-the-delay-timer-for-firmware-d.patch Signed-off-by: Maxin B. John Signed-off-by: Richard Purdie --- .../0001-hciattach-bcm43xx-fix-the-delay-timer-for-firmware-d.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-connectivity/bluez5/bluez5/0001-hciattach-bcm43xx-fix-the-delay-timer-for-firmware-d.patch b/meta/recipes-connectivity/bluez5/bluez5/0001-hciattach-bcm43xx-fix-the-delay-timer-for-firmware-d.patch index 7bd5bbc..4679438 100644 --- a/meta/recipes-connectivity/bluez5/bluez5/0001-hciattach-bcm43xx-fix-the-delay-timer-for-firmware-d.patch +++ b/meta/recipes-connectivity/bluez5/bluez5/0001-hciattach-bcm43xx-fix-the-delay-timer-for-firmware-d.patch @@ -9,7 +9,7 @@ From the log in .bcm43xx_load_firmware(): But timespec tm_mode is real is 50us. Correct the delayed timer count. -Upstream-Status: Pending +Upstream-Status: Accepted [https://git.kernel.org/pub/scm/bluetooth/bluez.git/commit/?id=76255f732d68aef2b90d36d9c7be51a9e1739ce7] Signed-off-by: Fugang Duan --- -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 10:13:12 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 10:13:12 +0000 Subject: [oe-commits] [openembedded-core] 02/02: bison: reduce local pending patches In-Reply-To: <150063199052.25849.13159740725184390359@git.openembedded.org> References: <150063199052.25849.13159740725184390359@git.openembedded.org> Message-ID: <20170721101310.A302D232822@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 119dd0889f34d88a5261383d743709db32bf3a1b Author: Dengke Du AuthorDate: Thu Jul 20 22:30:50 2017 -0400 bison: reduce local pending patches Signed-off-by: Dengke Du Signed-off-by: Richard Purdie --- .../bison/bison/0001-src-local.mk-fix-parallel-issue.patch | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/meta/recipes-devtools/bison/bison/0001-src-local.mk-fix-parallel-issue.patch b/meta/recipes-devtools/bison/bison/0001-src-local.mk-fix-parallel-issue.patch index 9543a56..1e86f55 100644 --- a/meta/recipes-devtools/bison/bison/0001-src-local.mk-fix-parallel-issue.patch +++ b/meta/recipes-devtools/bison/bison/0001-src-local.mk-fix-parallel-issue.patch @@ -1,4 +1,4 @@ -From 3a15f7c9ace6c0294edc313a1848cafcc31b2a92 Mon Sep 17 00:00:00 2001 +From 5b9204eee4b06b48d54ecc3ef3a0b56fc5cc84f8 Mon Sep 17 00:00:00 2001 From: Robert Yang Date: Fri, 24 Apr 2015 00:38:32 -0700 Subject: [PATCH] src/local.mk: fix parallel issue @@ -9,11 +9,12 @@ echo '#! /bin/sh' >src/yacc.tmp /bin/bash: src/yacc.tmp: No such file or directory Makefile:6670: recipe for target 'src/yacc' failed -Upstream-Status: Pending +Upstream-Status: Submitted [ http://lists.gnu.org/archive/html/bison-patches/2017-07/msg00000.html ] Signed-off-by: Robert Yang +Signed-off-by: Dengke Du --- - src/local.mk | 1 + + src/local.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/src/local.mk b/src/local.mk @@ -29,5 +30,5 @@ index 573ad00..28bfae4 100644 $(AM_V_at)echo "exec '$(bindir)/bison' -y "'"$$@"' >>$@.tmp $(AM_V_at)chmod a+x $@.tmp -- -1.7.9.5 +2.8.1 -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 10:13:16 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 10:13:16 +0000 Subject: [oe-commits] [openembedded-core] branch master-next updated (5212d88 -> 119dd08) Message-ID: <150063199640.26057.11292757803624704239@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master-next in repository openembedded-core. from 5212d88 subversion: Upgrade 1.9.5-> 1.9.6 add f9ccac5 bluez5: update patch status add 119dd08 bison: reduce local pending patches No new revisions were added by this update. Summary of changes: ...01-hciattach-bcm43xx-fix-the-delay-timer-for-firmware-d.patch | 2 +- .../bison/bison/0001-src-local.mk-fix-parallel-issue.patch | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 10:13:27 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 10:13:27 +0000 Subject: [oe-commits] [bitbake] branch master updated (eef7a1a -> 6fa0775) Message-ID: <150063200720.26242.5493012522751278358@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master in repository bitbake. from eef7a1a Update to version 1.35.0 (development version with server rework changes) new 485b328 toaster: include setscene in task progress new d25a308 toaster: set clone progress default to off new dd83c73 toaster: trim build target input new 6fa0775 fetch2/wget.py: improve error handling during sstate check The 4 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: lib/bb/fetch2/wget.py | 14 ++++++++++++++ lib/toaster/orm/migrations/0016_clone_progress.py | 4 ++-- lib/toaster/orm/models.py | 11 ++++++----- lib/toaster/toastergui/static/js/projecttopbar.js | 4 ++-- 4 files changed, 24 insertions(+), 9 deletions(-) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 10:13:28 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 10:13:28 +0000 Subject: [oe-commits] [bitbake] 01/04: toaster: include setscene in task progress In-Reply-To: <150063200720.26242.5493012522751278358@git.openembedded.org> References: <150063200720.26242.5493012522751278358@git.openembedded.org> Message-ID: <20170721101327.4B159232826@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository bitbake. commit 485b328430dcdfd0b52f09f01ebd490d09459ea3 Author: David Reyna AuthorDate: Tue Jul 11 14:56:08 2017 -0700 toaster: include setscene in task progress Change the task progress counting from the task order field which excludes setscene to the task completion field which counts all completed tasks regardless of type. [YOCTO #9971] Signed-off-by: David Reyna Signed-off-by: Richard Purdie --- lib/toaster/orm/models.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/toaster/orm/models.py b/lib/toaster/orm/models.py index 630e4a0..e9182c5 100644 --- a/lib/toaster/orm/models.py +++ b/lib/toaster/orm/models.py @@ -508,7 +508,7 @@ class Build(models.Model): tf = Task.objects.filter(build = self) tfc = tf.count() if tfc > 0: - completeper = tf.exclude(order__isnull=True).count()*100 // tfc + completeper = tf.exclude(outcome=Task.OUTCOME_NA).count()*100 // tfc else: completeper = 0 return completeper @@ -709,10 +709,11 @@ class Build(models.Model): tasks. Note that the mechanism for testing whether a Task is "done" is whether - its order field is set, as per the completeper() method. + its outcome field is set, as per the completeper() method. """ return self.outcome == Build.IN_PROGRESS and \ - self.task_build.filter(order__isnull=False).count() == 0 + self.task_build.exclude(outcome=Task.OUTCOME_NA).count() == 0 + def get_state(self): """ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 10:13:29 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 10:13:29 +0000 Subject: [oe-commits] [bitbake] 02/04: toaster: set clone progress default to off In-Reply-To: <150063200720.26242.5493012522751278358@git.openembedded.org> References: <150063200720.26242.5493012522751278358@git.openembedded.org> Message-ID: <20170721101327.524F4232827@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository bitbake. commit d25a3088150b2a277242027c12becdeb88c45517 Author: David Reyna AuthorDate: Tue Jul 11 14:56:09 2017 -0700 toaster: set clone progress default to off Set the clone progress to be off by default for the benefit of command line projects and 'Local Yocto' builds. For Toaster managed projects that do use the clone feature the clone progress status is already explicitly set by the existing code and thus displayed. [YOCTO #11744] Signed-off-by: David Reyna Signed-off-by: Richard Purdie --- lib/toaster/orm/migrations/0016_clone_progress.py | 4 ++-- lib/toaster/orm/models.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/toaster/orm/migrations/0016_clone_progress.py b/lib/toaster/orm/migrations/0016_clone_progress.py index 852b878..cd4023b 100644 --- a/lib/toaster/orm/migrations/0016_clone_progress.py +++ b/lib/toaster/orm/migrations/0016_clone_progress.py @@ -13,12 +13,12 @@ class Migration(migrations.Migration): migrations.AddField( model_name='build', name='repos_cloned', - field=models.IntegerField(default=0), + field=models.IntegerField(default=1), ), migrations.AddField( model_name='build', name='repos_to_clone', - field=models.IntegerField(default=1), + field=models.IntegerField(default=1), # (default off) ), ] diff --git a/lib/toaster/orm/models.py b/lib/toaster/orm/models.py index e9182c5..05cc5a8 100644 --- a/lib/toaster/orm/models.py +++ b/lib/toaster/orm/models.py @@ -456,8 +456,8 @@ class Build(models.Model): # number of repos to clone for this build repos_to_clone = models.IntegerField(default=1) - # number of repos cloned so far for this build - repos_cloned = models.IntegerField(default=0) + # number of repos cloned so far for this build (default off) + repos_cloned = models.IntegerField(default=1) @staticmethod def get_recent(project=None): -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 10:13:30 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 10:13:30 +0000 Subject: [oe-commits] [bitbake] 03/04: toaster: trim build target input In-Reply-To: <150063200720.26242.5493012522751278358@git.openembedded.org> References: <150063200720.26242.5493012522751278358@git.openembedded.org> Message-ID: <20170721101327.5A077232828@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository bitbake. commit dd83c732b945ba6f9b7cdf66f6e88cfd15a745a0 Author: David Reyna AuthorDate: Tue Jul 11 14:56:10 2017 -0700 toaster: trim build target input Trim the entered built target value so that Toaster is not confused with no real targets nor a ghost second target. [YOCTO #11727] Signed-off-by: David Reyna Signed-off-by: Richard Purdie --- lib/toaster/toastergui/static/js/projecttopbar.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/toaster/toastergui/static/js/projecttopbar.js b/lib/toaster/toastergui/static/js/projecttopbar.js index 92ab2d6..69220aa 100644 --- a/lib/toaster/toastergui/static/js/projecttopbar.js +++ b/lib/toaster/toastergui/static/js/projecttopbar.js @@ -73,14 +73,14 @@ function projectTopBarInit(ctx) { newBuildTargetBuildBtn.click(function (e) { e.preventDefault(); - if (!newBuildTargetInput.val()) { + if (!newBuildTargetInput.val().trim()) { return; } /* We use the value of the input field so as to maintain any command also * added e.g. core-image-minimal:clean and because we can build targets * that toaster doesn't yet know about */ - selectedTarget = { name: newBuildTargetInput.val() }; + selectedTarget = { name: newBuildTargetInput.val().trim() }; /* Fire off the build */ libtoaster.startABuild(null, selectedTarget.name, -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 10:13:31 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 10:13:31 +0000 Subject: [oe-commits] [bitbake] 04/04: fetch2/wget.py: improve error handling during sstate check In-Reply-To: <150063200720.26242.5493012522751278358@git.openembedded.org> References: <150063200720.26242.5493012522751278358@git.openembedded.org> Message-ID: <20170721101327.63BA3232829@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository bitbake. commit 6fa07752bbd3ac345cd8617da49a70e0b2dd565f Author: Patrick Ohly AuthorDate: Mon Jul 17 15:25:10 2017 +0200 fetch2/wget.py: improve error handling during sstate check When the sstate is accessed via HTTP, the existence check can fail due to network issues, in which case bitbake silently continues without sstate. One such network issue is an HTTP server like Python's own SimpleHTTP which closes the TCP connection despite an explicit "Keep-Alive" in the HTTP request header. The server does that without a "close" in the HTTP response header, so the socket remains in the connection cache, leading to "urlopen failed: " (only visible in "bitbake -D -D" output) when trying to use the cached connection again. The connection might also get closed for other reasons (proxy, timeouts, etc.), so this is something that the client should be able to handle. This is achieved by checking for the error, removing the bad connection, and letting the check_status() method try again with a new connection. It is necessary to let the second attempt fail permanently, because bad proxy setups have been observed to also lead to such broken connections. In that case, we need to abort for real after trying twice, otherwise a build would just hang forever. [YOCTO #11782] Signed-off-by: Patrick Ohly Signed-off-by: Richard Purdie --- lib/bb/fetch2/wget.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/lib/bb/fetch2/wget.py b/lib/bb/fetch2/wget.py index ae0ffa8..208ee9b 100644 --- a/lib/bb/fetch2/wget.py +++ b/lib/bb/fetch2/wget.py @@ -30,6 +30,7 @@ import tempfile import subprocess import os import logging +import errno import bb import bb.progress import urllib.request, urllib.parse, urllib.error @@ -206,8 +207,21 @@ class Wget(FetchMethod): h.request(req.get_method(), req.selector, req.data, headers) except socket.error as err: # XXX what error? # Don't close connection when cache is enabled. + # Instead, try to detect connections that are no longer + # usable (for example, closed unexpectedly) and remove + # them from the cache. if fetch.connection_cache is None: h.close() + elif isinstance(err, OSError) and err.errno == errno.EBADF: + # This happens when the server closes the connection despite the Keep-Alive. + # Apparently urllib then uses the file descriptor, expecting it to be + # connected, when in reality the connection is already gone. + # We let the request fail and expect it to be + # tried once more ("try_again" in check_status()), + # with the dead connection removed from the cache. + # If it still fails, we give up, which can happend for bad + # HTTP proxy settings. + fetch.connection_cache.remove_connection(h.host, h.port) raise urllib.error.URLError(err) else: try: -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 10:13:36 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 10:13:36 +0000 Subject: [oe-commits] [bitbake] branch master-next updated (db0679b -> c75990a) Message-ID: <150063201651.26503.15987268223605721950@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master-next in repository bitbake. discard db0679b bb/tinfoil: run_command handle busy status in bitbake server add 485b328 toaster: include setscene in task progress add d25a308 toaster: set clone progress default to off add dd83c73 toaster: trim build target input add 6fa0775 fetch2/wget.py: improve error handling during sstate check new c75990a bb/tinfoil: run_command handle busy status in bitbake server This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (db0679b) \ N -- N -- N refs/heads/master-next (c75990a) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: lib/bb/fetch2/wget.py | 14 ++++++++++++++ lib/toaster/orm/migrations/0016_clone_progress.py | 4 ++-- lib/toaster/orm/models.py | 11 ++++++----- lib/toaster/toastergui/static/js/projecttopbar.js | 4 ++-- 4 files changed, 24 insertions(+), 9 deletions(-) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 10:13:37 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 10:13:37 +0000 Subject: [oe-commits] [bitbake] 01/01: bb/tinfoil: run_command handle busy status in bitbake server In-Reply-To: <150063201651.26503.15987268223605721950@git.openembedded.org> References: <150063201651.26503.15987268223605721950@git.openembedded.org> Message-ID: <20170721101336.95EEE232828@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit c75990aa8c13305d0f3efeaa817fdc6fc563eb98 Author: An?bal Lim?n AuthorDate: Wed Jul 5 15:02:46 2017 -0500 bb/tinfoil: run_command handle busy status in bitbake server When tinfoil request a command to bitbake is handled in async manner [1], sometimes is this ends on return a Busy status. This is a workaround a needs to be fixed in proper manner inside bitbake code. For example when running clientComplete and buildFile is on progress, ERROR: Function failed: base_do_unpack Traceback (most recent call last): File "/home/alimon/repos/poky/scripts/lib/devtool/standard.py", line 797, in modify initial_rev = _extract_source(srctree, args.keep_temp, args.branch, False, rd, tinfoil) File "/home/alimon/repos/poky/scripts/lib/devtool/standard.py", line 562, in _extract_source runtask(fn, 'unpack') File "/home/alimon/repos/poky/scripts/lib/devtool/standard.py", line 552, in runtask raise DevtoolError('Task do_%s failed' % task) devtool.DevtoolError: Task do_unpack failed During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/alimon/repos/poky/scripts/devtool", line 351, in ret = main() File "/home/alimon/repos/poky/scripts/devtool", line 338, in main ret = args.func(args, config, basepath, workspace) File "/home/alimon/repos/poky/scripts/lib/devtool/standard.py", line 864, in modify tinfoil.shutdown() File "/home/alimon/repos/poky/bitbake/lib/bb/tinfoil.py", line 427, in shutdown self.run_command('clientComplete') File "/home/alimon/repos/poky/bitbake/lib/bb/tinfoil.py", line 320, in run_command raise TinfoilCommandFailed(result[1]) bb.tinfoil.TinfoilCommandFailed: Busy (buildFile in progress) Signed-off-by: An?bal Lim?n Signed-off-by: Richard Purdie --- lib/bb/tinfoil.py | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py index e246b3d..fea8915 100644 --- a/lib/bb/tinfoil.py +++ b/lib/bb/tinfoil.py @@ -22,6 +22,7 @@ import os import sys import atexit import re +import time from collections import OrderedDict, defaultdict import bb.cache @@ -444,7 +445,7 @@ class Tinfoil: self.run_actions(config_params) self.recipes_parsed = True - def run_command(self, command, *params): + def run_command(self, command, *params, ntries=0): """ Run a command on the server (as implemented in bb.command). Note that there are two types of command - synchronous and @@ -461,9 +462,22 @@ class Tinfoil: commandline = [command] if params: commandline.extend(params) - result = self.server_connection.connection.runCommand(commandline) - if result[1]: - raise TinfoilCommandFailed(result[1]) + + # XXX: Tinfoil commands are run by Cooker in async mode so gives + # some time to get done. + result = None + while True: + result = self.server_connection.connection.runCommand(commandline) + if not result[1]: + break + + if ntries == 0: + raise TinfoilCommandFailed(result[1]) + elif 'Busy' in result[1]: + ntries = ntries - 1 + time.sleep(1) + continue + return result[0] def set_event_mask(self, eventlist): @@ -805,7 +819,7 @@ class Tinfoil: the tinfoil object which will ensure that it gets called. """ if self.server_connection: - self.run_command('clientComplete') + self.run_command('clientComplete', ntries=1) _server_connections.remove(self.server_connection) bb.event.ui_queue = [] self.server_connection.terminate() -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 10:14:56 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 10:14:56 +0000 Subject: [oe-commits] [meta-openembedded] branch master-next updated: pidgin-otr: unblacklist Message-ID: <150063209694.26871.4155064411307483843@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. The following commit(s) were added to refs/heads/master-next by this push: new a1ec406 pidgin-otr: unblacklist a1ec406 is described below commit a1ec4067b020a7fcef37cdd767ef14ded098884f Author: Martin Jansa AuthorDate: Fri Jul 21 12:15:47 2017 +0200 pidgin-otr: unblacklist * pidgin was already unblacklisted * add dependency on glib2-native for glib-gettextize * remove manual -dbg definition * fix indentation Signed-off-by: Martin Jansa --- meta-oe/recipes-support/pidgin/pidgin-otr_4.0.0.bb | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/meta-oe/recipes-support/pidgin/pidgin-otr_4.0.0.bb b/meta-oe/recipes-support/pidgin/pidgin-otr_4.0.0.bb index 47cdc72..e8539c9 100644 --- a/meta-oe/recipes-support/pidgin/pidgin-otr_4.0.0.bb +++ b/meta-oe/recipes-support/pidgin/pidgin-otr_4.0.0.bb @@ -2,20 +2,15 @@ SUMMARY = "(OTR) Messaging allows you to have private conversations over instant HOMEPAGE = "http://www.cypherpunks.ca/otr/" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=92fe174bad6da3763f6e9e9eaff6df24" -DEPENDS = "libgcrypt libotr pidgin intltool-native" - -PNBLACKLIST[pidgin-otr] ?= "depends on blacklisted pidgin - the recipe will be removed on 2017-09-01 unless the issue is fixed" +DEPENDS = "libgcrypt libotr pidgin intltool-native glib-2.0-native" SRC_URI = "http://www.cypherpunks.ca/otr/${BP}.tar.gz \ - file://ignore_extra-portability_warnings.patch \ + file://ignore_extra-portability_warnings.patch \ " SRC_URI[md5sum] = "eadb953376acc474e56041d4c12aa2c8" SRC_URI[sha256sum] = "d56b3f092dbe9ee6597641c7d2dd294884dc04ba47aaf4ec571cd54977df4691" - FILES_${PN} = "${libdir}/pidgin/*" -FILES_${PN}-dbg = "${libdir}/pidgin/.debug" -FILES_${PN}-dbg += "${libdir}/pidgin/.debug/pidgin-otr.so" -FILES_${PN}-dbg += "/usr/src/debug/pidgin-otr/${PV}-${PR}/${P}/*" + inherit autotools pkgconfig -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 11:37:45 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 11:37:45 +0000 Subject: [oe-commits] [openembedded-core] 01/40: gnome-common: Remove as deprecated In-Reply-To: <150063706469.7801.1164299489424290804@git.openembedded.org> References: <150063706469.7801.1164299489424290804@git.openembedded.org> Message-ID: <20170721113745.06534232828@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 14b41d6ad6f582a229b6bd62fc4eb17f615d1ad7 Author: Jussi Kukkonen AuthorDate: Fri Jul 14 15:25:26 2017 +0300 gnome-common: Remove as deprecated Nothing in oe-core requires gnome-common and it is also deprecated upstream: Remove it. Signed-off-by: Jussi Kukkonen Signed-off-by: Ross Burton --- meta/recipes-gnome/gnome/gnome-common_3.18.0.bb | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/meta/recipes-gnome/gnome/gnome-common_3.18.0.bb b/meta/recipes-gnome/gnome/gnome-common_3.18.0.bb deleted file mode 100644 index 06f3bb3..0000000 --- a/meta/recipes-gnome/gnome/gnome-common_3.18.0.bb +++ /dev/null @@ -1,20 +0,0 @@ -SUMMARY = "Common macros for building GNOME applications" -HOMEPAGE = "http://www.gnome.org/" -BUGTRACKER = "https://bugzilla.gnome.org/" - -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -SECTION = "x11/gnome" -inherit gnomebase allarch - -SRC_URI[archive.md5sum] = "933258d9c23e218eb6eec9cc1951b053" -SRC_URI[archive.sha256sum] = "22569e370ae755e04527b76328befc4c73b62bfd4a572499fde116b8318af8cf" - -EXTRA_AUTORECONF = "" -DEPENDS = "" - -FILES_${PN} += "${datadir}/aclocal" -FILES_${PN}-dev = "" - -BBCLASSEXTEND = "native" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 11:37:47 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 11:37:47 +0000 Subject: [oe-commits] [openembedded-core] 03/40: u-boot: Upgrade to 2017.07 release In-Reply-To: <150063706469.7801.1164299489424290804@git.openembedded.org> References: <150063706469.7801.1164299489424290804@git.openembedded.org> Message-ID: <20170721113745.1463823282A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit b322e1b1cb4cd4d4cc53f868b53ca9b069772755 Author: Otavio Salvador AuthorDate: Sat Jul 15 14:07:30 2017 -0300 u-boot: Upgrade to 2017.07 release This patch upgrades the U-Boot to the 2017.07 release. Signed-off-by: Otavio Salvador Signed-off-by: Ross Burton --- .../u-boot/{u-boot-common_2017.05.inc => u-boot-common_2017.07.inc} | 2 +- .../u-boot/{u-boot-fw-utils_2017.05.bb => u-boot-fw-utils_2017.07.bb} | 0 .../u-boot/{u-boot-mkimage_2017.05.bb => u-boot-mkimage_2017.07.bb} | 0 meta/recipes-bsp/u-boot/{u-boot_2017.05.bb => u-boot_2017.07.bb} | 0 4 files changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-bsp/u-boot/u-boot-common_2017.05.inc b/meta/recipes-bsp/u-boot/u-boot-common_2017.07.inc similarity index 88% rename from meta/recipes-bsp/u-boot/u-boot-common_2017.05.inc rename to meta/recipes-bsp/u-boot/u-boot-common_2017.07.inc index 0e52f27..f27989d 100644 --- a/meta/recipes-bsp/u-boot/u-boot-common_2017.05.inc +++ b/meta/recipes-bsp/u-boot/u-boot-common_2017.07.inc @@ -7,7 +7,7 @@ PE = "1" # We use the revision in order to avoid having to fetch it from the # repo during parse -SRCREV = "64c4ffa9fa223f7ae8640f9c8f3044bfa0e3bfda" +SRCREV = "d85ca029f257b53a96da6c2fb421e78a003a9943" SRC_URI = "git://git.denx.de/u-boot.git \ file://MPC8315ERDB-enable-DHCP.patch \ diff --git a/meta/recipes-bsp/u-boot/u-boot-fw-utils_2017.05.bb b/meta/recipes-bsp/u-boot/u-boot-fw-utils_2017.07.bb similarity index 100% rename from meta/recipes-bsp/u-boot/u-boot-fw-utils_2017.05.bb rename to meta/recipes-bsp/u-boot/u-boot-fw-utils_2017.07.bb diff --git a/meta/recipes-bsp/u-boot/u-boot-mkimage_2017.05.bb b/meta/recipes-bsp/u-boot/u-boot-mkimage_2017.07.bb similarity index 100% rename from meta/recipes-bsp/u-boot/u-boot-mkimage_2017.05.bb rename to meta/recipes-bsp/u-boot/u-boot-mkimage_2017.07.bb diff --git a/meta/recipes-bsp/u-boot/u-boot_2017.05.bb b/meta/recipes-bsp/u-boot/u-boot_2017.07.bb similarity index 100% rename from meta/recipes-bsp/u-boot/u-boot_2017.05.bb rename to meta/recipes-bsp/u-boot/u-boot_2017.07.bb -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 11:37:44 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 11:37:44 +0000 Subject: [oe-commits] [openembedded-core] branch master-next updated (119dd08 -> fad843e) Message-ID: <150063706469.7801.1164299489424290804@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master-next in repository openembedded-core. from 119dd08 bison: reduce local pending patches new 14b41d6 gnome-common: Remove as deprecated new 8aaf09a python3: fix weakref spewing exceptions during interp finalization new b322e1b u-boot: Upgrade to 2017.07 release new 2720295 cryptodev: 1.8 -> 1.9 new 5689139 wic: fix calculation of partition number new 0417cc6 lsb: add checking for chkconfig existence when creating the symbolic new 13d675b image_types: use initrd from pre-sstate directory new 8a5890c ghostscript: remove legacy patch png_mak.patch new 35403ba systemd: workaround login failure on qemumips64 when 'pam' is enabled new c536ccf scriptutils: exit politely when no text editor available new 21f04b6 scriptutils: pass in logger as parameter new 5a16b3c devtool: find-recipe: enable new subcommand for devtool new 198bdde devtool: standard: enable options for PREMIRRORS and MIRRORS new 430194a initramfs-framework: module to support boot live image new d055aa6 initramfs-framework: include install-efi module in recipe for installation new 35f93dc logrotate: Bump to 3.12.3 new 1959cbb logrotate: Add systemd support new e76636d initscripts: start bootmisc.sh at 36 instead of 55 new a6ac030 licenses.conf: enable CDDLv1 license new 255423e icecc.bbclass: prevent nativesdk builds depending on target specific KERNEL_CC new 3c4451e populate_sdk_ext: Add variable to indicate running in eSDK new 31428ba pkgconfig: allow kernel to be build with esdk new 370ea8c wic: implement wks option --mkfs-extraopts new ccb98b1 wic: add description of --mkfs-extraopts new c9ba544 oe-selftest: wic: add test_mkfs_extraopts test case new a9213ba mesa: Upgrade to 17.1.5 release new d646a4e vulkan-demos: Rename ${bindir}/screenshot new 787476b at: reduce local pending patches new 1d70930 acl: reduce local pending patches new 4b65999 systemd-bootchart: Fix build with glibc 2.26 new 3ef6950 base.bbclass: Make .jar file depend on unzip-native new 8307aff screen: 4.5.1 -> 4.6.0 new e069ac3 libjpeg-turbo: upgrade to 1.5.2 new e4cc6b9 libsolv: upgrade to 0.6.28 new 5b77202 orc: upgrade to 0.4.27 new e19927b bluez5: upgrade to 5.46 new 7b6663a sqlite3: upgrade to 3.19.3 new 61e682f libtirpc: upgrade to 1.0.2 new df4442a python3-mako: update to 1.0.7 new fad843e python3-git: upgrade to 2.1.5 The 40 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: meta/classes/base.bbclass | 2 +- meta/classes/icecc.bbclass | 1 + meta/classes/image_types.bbclass | 2 +- meta/classes/populate_sdk_ext.bbclass | 3 + meta/conf/licenses.conf | 4 + meta/lib/oeqa/selftest/cases/wic.py | 19 + ...ommon_2017.05.inc => u-boot-common_2017.07.inc} | 2 +- ...utils_2017.05.bb => u-boot-fw-utils_2017.07.bb} | 0 ...kimage_2017.05.bb => u-boot-mkimage_2017.07.bb} | 0 .../{u-boot_2017.05.bb => u-boot_2017.07.bb} | 0 .../bluez5/{bluez5_5.45.bb => bluez5_5.46.bb} | 4 +- .../install-efi.sh} | 0 .../initrdscripts/initramfs-framework/setup-live | 66 ++ .../initrdscripts/initramfs-framework_1.0.bb | 22 +- meta/recipes-core/initscripts/initscripts_1.0.bb | 2 +- meta/recipes-core/systemd/systemd_232.bb | 3 + .../orc/{orc_0.4.26.bb => orc_0.4.27.bb} | 4 +- .../pkgconfig/pkgconfig/pkg-config-esdk.in | 24 + meta/recipes-devtools/pkgconfig/pkgconfig_git.bb | 16 + meta/recipes-devtools/python/python-git.inc | 4 +- meta/recipes-devtools/python/python-mako.inc | 4 +- .../{python3-git_2.1.3.bb => python3-git_2.1.5.bb} | 2 +- ...python3-mako_1.0.6.bb => python3-mako_1.0.7.bb} | 0 ...eakref-spewing-exceptions-during-interp-f.patch | 56 ++ meta/recipes-devtools/python/python3_3.5.3.bb | 1 + .../0001-parse-util-Don-t-use-xlocale.h.patch | 32 + .../systemd-bootchart/systemd-bootchart_231.bb | 4 +- .../at/at/0001-remove-glibc-assumption.patch | 12 +- .../ghostscript/ghostscript/png_mak.patch | 32 - .../ghostscript/ghostscript_9.21.bb | 1 - .../{libsolv_0.6.27.bb => libsolv_0.6.28.bb} | 2 +- .../libtirpc/0001-Fix-for-CVE-2017-8779.patch | 276 -------- .../libtirpc/libtirpc/libtirpc-0.2.1-fortify.patch | 26 - .../libtirpc/libtirpc/libtirpc-1.0.2-rc3.patch | 743 --------------------- .../{libtirpc_1.0.1.bb => libtirpc_1.0.2.bb} | 7 +- ...upport-system-dates-back-to-the-year-1970.patch | 27 - .../logrotate/act-as-mv-when-rotate.patch | 32 +- .../logrotate/logrotate/update-the-manual.patch | 16 +- .../{logrotate_3.9.1.bb => logrotate_3.12.3.bb} | 48 +- meta/recipes-extended/lsb/lsb_4.1.bb | 10 +- .../screen/{screen_4.5.1.bb => screen_4.6.0.bb} | 4 +- meta/recipes-gnome/gnome/gnome-common_3.18.0.bb | 20 - .../jpeg/libjpeg-turbo/fix-mips.patch | 45 -- ...bjpeg-turbo_1.5.1.bb => libjpeg-turbo_1.5.2.bb} | 8 +- .../files/etnaviv_fix-shader-miscompilation.patch | 220 ------ .../mesa/{mesa-gl_17.1.4.bb => mesa-gl_17.1.5.bb} | 0 .../mesa/{mesa_17.1.4.bb => mesa_17.1.5.bb} | 6 +- meta/recipes-graphics/vulkan/vulkan-demos_git.bb | 2 + ...yptodev-linux_1.8.bb => cryptodev-linux_1.9.bb} | 0 ...todev-module_1.8.bb => cryptodev-module_1.9.bb} | 0 ...yptodev-tests_1.8.bb => cryptodev-tests_1.9.bb} | 2 +- meta/recipes-kernel/cryptodev/cryptodev.inc | 10 +- ...st-to-another-change-in-the-user-page-API.patch | 40 -- ...talling-header-file-provided-by-another-p.patch | 18 +- .../06d6b560c6e45dc317dae47c74706fa43f4a31d8.patch | 54 -- .../cb186f682679383e8b5806240927903730ce85d9.patch | 279 -------- .../cryptodev/files/kernel-4-10-changes.patch | 57 -- .../attr/acl/test-fix-directory-permissions.patch | 17 +- .../{sqlite3_3.19.2.bb => sqlite3_3.19.3.bb} | 4 +- scripts/lib/devtool/standard.py | 3 + scripts/lib/devtool/utilcmds.py | 18 +- scripts/lib/recipetool/newappend.py | 2 +- scripts/lib/scriptutils.py | 6 +- scripts/lib/wic/help.py | 6 + scripts/lib/wic/ksparser.py | 1 + scripts/lib/wic/partition.py | 39 +- scripts/lib/wic/plugins/imager/direct.py | 2 +- 67 files changed, 424 insertions(+), 1948 deletions(-) rename meta/recipes-bsp/u-boot/{u-boot-common_2017.05.inc => u-boot-common_2017.07.inc} (88%) rename meta/recipes-bsp/u-boot/{u-boot-fw-utils_2017.05.bb => u-boot-fw-utils_2017.07.bb} (100%) rename meta/recipes-bsp/u-boot/{u-boot-mkimage_2017.05.bb => u-boot-mkimage_2017.07.bb} (100%) rename meta/recipes-bsp/u-boot/{u-boot_2017.05.bb => u-boot_2017.07.bb} (100%) rename meta/recipes-connectivity/bluez5/{bluez5_5.45.bb => bluez5_5.46.bb} (91%) copy meta/recipes-core/initrdscripts/{files/init-install-efi.sh => initramfs-framework/install-efi.sh} (100%) create mode 100644 meta/recipes-core/initrdscripts/initramfs-framework/setup-live rename meta/recipes-devtools/orc/{orc_0.4.26.bb => orc_0.4.27.bb} (84%) create mode 100644 meta/recipes-devtools/pkgconfig/pkgconfig/pkg-config-esdk.in rename meta/recipes-devtools/python/{python3-git_2.1.3.bb => python3-git_2.1.5.bb} (81%) rename meta/recipes-devtools/python/{python3-mako_1.0.6.bb => python3-mako_1.0.7.bb} (100%) create mode 100644 meta/recipes-devtools/python/python3/Fix-29519-weakref-spewing-exceptions-during-interp-f.patch create mode 100644 meta/recipes-devtools/systemd-bootchart/files/0001-parse-util-Don-t-use-xlocale.h.patch delete mode 100644 meta/recipes-extended/ghostscript/ghostscript/png_mak.patch rename meta/recipes-extended/libsolv/{libsolv_0.6.27.bb => libsolv_0.6.28.bb} (95%) delete mode 100644 meta/recipes-extended/libtirpc/libtirpc/0001-Fix-for-CVE-2017-8779.patch delete mode 100644 meta/recipes-extended/libtirpc/libtirpc/libtirpc-0.2.1-fortify.patch delete mode 100644 meta/recipes-extended/libtirpc/libtirpc/libtirpc-1.0.2-rc3.patch rename meta/recipes-extended/libtirpc/{libtirpc_1.0.1.bb => libtirpc_1.0.2.bb} (81%) delete mode 100644 meta/recipes-extended/logrotate/logrotate/0001-Support-system-dates-back-to-the-year-1970.patch rename meta/recipes-extended/logrotate/{logrotate_3.9.1.bb => logrotate_3.12.3.bb} (52%) rename meta/recipes-extended/screen/{screen_4.5.1.bb => screen_4.6.0.bb} (93%) delete mode 100644 meta/recipes-gnome/gnome/gnome-common_3.18.0.bb delete mode 100644 meta/recipes-graphics/jpeg/libjpeg-turbo/fix-mips.patch rename meta/recipes-graphics/jpeg/{libjpeg-turbo_1.5.1.bb => libjpeg-turbo_1.5.2.bb} (90%) delete mode 100644 meta/recipes-graphics/mesa/files/etnaviv_fix-shader-miscompilation.patch rename meta/recipes-graphics/mesa/{mesa-gl_17.1.4.bb => mesa-gl_17.1.5.bb} (100%) rename meta/recipes-graphics/mesa/{mesa_17.1.4.bb => mesa_17.1.5.bb} (80%) rename meta/recipes-kernel/cryptodev/{cryptodev-linux_1.8.bb => cryptodev-linux_1.9.bb} (100%) rename meta/recipes-kernel/cryptodev/{cryptodev-module_1.8.bb => cryptodev-module_1.9.bb} (100%) rename meta/recipes-kernel/cryptodev/{cryptodev-tests_1.8.bb => cryptodev-tests_1.9.bb} (88%) delete mode 100644 meta/recipes-kernel/cryptodev/files/0001-Adjust-to-another-change-in-the-user-page-API.patch delete mode 100644 meta/recipes-kernel/cryptodev/files/06d6b560c6e45dc317dae47c74706fa43f4a31d8.patch delete mode 100644 meta/recipes-kernel/cryptodev/files/cb186f682679383e8b5806240927903730ce85d9.patch delete mode 100644 meta/recipes-kernel/cryptodev/files/kernel-4-10-changes.patch rename meta/recipes-support/sqlite/{sqlite3_3.19.2.bb => sqlite3_3.19.3.bb} (59%) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 11:37:48 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 11:37:48 +0000 Subject: [oe-commits] [openembedded-core] 04/40: cryptodev: 1.8 -> 1.9 In-Reply-To: <150063706469.7801.1164299489424290804@git.openembedded.org> References: <150063706469.7801.1164299489424290804@git.openembedded.org> Message-ID: <20170721113745.1D27323282B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 27202954ce7abda22f7e81c2d72a80f0fa7006d8 Author: Robert Yang AuthorDate: Wed Jul 12 03:15:27 2017 -0700 cryptodev: 1.8 -> 1.9 * Remove backported patch: - 0001-Adjust-to-another-change-in-the-user-page-API.patch - 06d6b560c6e45dc317dae47c74706fa43f4a31d8.patch - cb186f682679383e8b5806240927903730ce85d9.patch - kernel-4-10-changes.patch * Update patch: - 0001-Disable-installing-header-file-provided-by-another-p.patch * Update FILES_${PN} since there are files in bindir: /usr/bin/hmac_comp /usr/bin/cipher_comp /usr/bin/async_hmac /usr/bin/cipher-aead-srtp /usr/bin/hash_comp /usr/bin/async_speed /usr/bin/async_cipher /usr/bin/sha_speed /usr/bin/hashcrypt_speed /usr/bin/hmac /usr/bin/cipher-gcm /usr/bin/cipher /usr/bin/fullspeed /usr/bin/speed /usr/bin/cipher-aead Signed-off-by: Robert Yang Signed-off-by: Ross Burton --- ...yptodev-linux_1.8.bb => cryptodev-linux_1.9.bb} | 0 ...todev-module_1.8.bb => cryptodev-module_1.9.bb} | 0 ...yptodev-tests_1.8.bb => cryptodev-tests_1.9.bb} | 2 +- meta/recipes-kernel/cryptodev/cryptodev.inc | 10 +- ...st-to-another-change-in-the-user-page-API.patch | 40 --- ...talling-header-file-provided-by-another-p.patch | 18 +- .../06d6b560c6e45dc317dae47c74706fa43f4a31d8.patch | 54 ---- .../cb186f682679383e8b5806240927903730ce85d9.patch | 279 --------------------- .../cryptodev/files/kernel-4-10-changes.patch | 57 ----- 9 files changed, 11 insertions(+), 449 deletions(-) diff --git a/meta/recipes-kernel/cryptodev/cryptodev-linux_1.8.bb b/meta/recipes-kernel/cryptodev/cryptodev-linux_1.9.bb similarity index 100% rename from meta/recipes-kernel/cryptodev/cryptodev-linux_1.8.bb rename to meta/recipes-kernel/cryptodev/cryptodev-linux_1.9.bb diff --git a/meta/recipes-kernel/cryptodev/cryptodev-module_1.8.bb b/meta/recipes-kernel/cryptodev/cryptodev-module_1.9.bb similarity index 100% rename from meta/recipes-kernel/cryptodev/cryptodev-module_1.8.bb rename to meta/recipes-kernel/cryptodev/cryptodev-module_1.9.bb diff --git a/meta/recipes-kernel/cryptodev/cryptodev-tests_1.8.bb b/meta/recipes-kernel/cryptodev/cryptodev-tests_1.9.bb similarity index 88% rename from meta/recipes-kernel/cryptodev/cryptodev-tests_1.8.bb rename to meta/recipes-kernel/cryptodev/cryptodev-tests_1.9.bb index c400524..9cb5dcb 100644 --- a/meta/recipes-kernel/cryptodev/cryptodev-tests_1.8.bb +++ b/meta/recipes-kernel/cryptodev/cryptodev-tests_1.9.bb @@ -18,4 +18,4 @@ do_install() { oe_runmake install_tests } -FILES_${PN} = "${bindir}/tests_cryptodev/*" +FILES_${PN} = "${bindir}/*" diff --git a/meta/recipes-kernel/cryptodev/cryptodev.inc b/meta/recipes-kernel/cryptodev/cryptodev.inc index 4ae0a2b..50366e7 100644 --- a/meta/recipes-kernel/cryptodev/cryptodev.inc +++ b/meta/recipes-kernel/cryptodev/cryptodev.inc @@ -3,14 +3,10 @@ HOMEPAGE = "http://cryptodev-linux.org/" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" -SRC_URI = "http://nwl.cc/pub/cryptodev-linux/cryptodev-linux-${PV}.tar.gz \ - file://06d6b560c6e45dc317dae47c74706fa43f4a31d8.patch \ - file://cb186f682679383e8b5806240927903730ce85d9.patch \ - file://0001-Adjust-to-another-change-in-the-user-page-API.patch \ - file://kernel-4-10-changes.patch" +SRC_URI = "http://nwl.cc/pub/cryptodev-linux/cryptodev-linux-${PV}.tar.gz" -SRC_URI[md5sum] = "02644cc4cd02301e0b503a332eb2f0b5" -SRC_URI[sha256sum] = "67fabde9fb67b286a96c4f45b594b0eccd0f761b495705c18f2ae9461b831376" +SRC_URI[md5sum] = "cb4e0ed9e5937716c7c8a7be84895b6d" +SRC_URI[sha256sum] = "9f4c0b49b30e267d776f79455d09c70cc9c12c86eee400a0d0a0cd1d8e467950" S = "${WORKDIR}/cryptodev-linux-${PV}" diff --git a/meta/recipes-kernel/cryptodev/files/0001-Adjust-to-another-change-in-the-user-page-API.patch b/meta/recipes-kernel/cryptodev/files/0001-Adjust-to-another-change-in-the-user-page-API.patch deleted file mode 100644 index fb75278..0000000 --- a/meta/recipes-kernel/cryptodev/files/0001-Adjust-to-another-change-in-the-user-page-API.patch +++ /dev/null @@ -1,40 +0,0 @@ -From f126e4837e6334d0464540995df7426fedf6b175 Mon Sep 17 00:00:00 2001 -From: Michael Weiser -Date: Fri, 11 Nov 2016 18:09:32 +0100 -Subject: [PATCH] Adjust to another change in the user page API - -4.9.0 will replace the write and force flags of get_user_pages_remote() -with a gup_flags parameter[1]. Distinguish the two APIs based on kernel -version we're compiling for. - -[1] https://github.com/torvalds/linux/commit/9beae1ea89305a9667ceaab6d0bf46a045ad71e7 - -Upstream-Status: Backport - -Signed-off-by: Daniel Schultz ---- - zc.c | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -diff --git a/zc.c b/zc.c -index a97b49f..e766ee3 100644 ---- a/zc.c -+++ b/zc.c -@@ -65,7 +65,13 @@ int __get_userbuf(uint8_t __user *addr, uint32_t len, int write, - ret = get_user_pages( - #endif - task, mm, -- (unsigned long)addr, pgcount, write, 0, pg, NULL); -+ (unsigned long)addr, pgcount, -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)) -+ write ? FOLL_WRITE : 0, -+#else -+ write, 0, -+#endif -+ pg, NULL); - up_read(&mm->mmap_sem); - if (ret != pgcount) - return -EINVAL; --- -1.9.1 - diff --git a/meta/recipes-kernel/cryptodev/files/0001-Disable-installing-header-file-provided-by-another-p.patch b/meta/recipes-kernel/cryptodev/files/0001-Disable-installing-header-file-provided-by-another-p.patch index a580fc6..885b582 100644 --- a/meta/recipes-kernel/cryptodev/files/0001-Disable-installing-header-file-provided-by-another-p.patch +++ b/meta/recipes-kernel/cryptodev/files/0001-Disable-installing-header-file-provided-by-another-p.patch @@ -7,22 +7,18 @@ Signed-off-by: Denys Dmytriyenko Upstream-Status: Inappropriate [ OE specific ] --- - Makefile | 2 -- - 1 file changed, 2 deletions(-) + Makefile | 1 - + 1 file changed, 1 deletion(-) diff --git a/Makefile b/Makefile -index d66ef26..8e97c6a 100644 +index 5a080e0..bf02396 100644 --- a/Makefile +++ b/Makefile -@@ -23,8 +23,6 @@ install: modules_install +@@ -33,7 +33,6 @@ install: modules_install modules_install: - make -C $(KERNEL_DIR) SUBDIRS=`pwd` modules_install -- @echo "Installing cryptodev.h in $(PREFIX)/usr/include/crypto ..." -- @install -D crypto/cryptodev.h $(PREFIX)/usr/include/crypto/cryptodev.h + $(MAKE) $(KERNEL_MAKE_OPTS) modules_install +- install -m 644 -D crypto/cryptodev.h $(DESTDIR)/$(includedir)/crypto/cryptodev.h clean: - make -C $(KERNEL_DIR) SUBDIRS=`pwd` clean --- -1.9.1 - + $(MAKE) $(KERNEL_MAKE_OPTS) clean diff --git a/meta/recipes-kernel/cryptodev/files/06d6b560c6e45dc317dae47c74706fa43f4a31d8.patch b/meta/recipes-kernel/cryptodev/files/06d6b560c6e45dc317dae47c74706fa43f4a31d8.patch deleted file mode 100644 index cb556e1..0000000 --- a/meta/recipes-kernel/cryptodev/files/06d6b560c6e45dc317dae47c74706fa43f4a31d8.patch +++ /dev/null @@ -1,54 +0,0 @@ -From f14b4706b0d04988e7e5bc8c4d2aefef9f029d9d Mon Sep 17 00:00:00 2001 -From: Michael Weiser -Date: Fri, 5 Aug 2016 18:43:55 +0200 -Subject: [PATCH] Adjust to recent user page API changes - -4.6.0 basically renamed get_user_pages() to get_user_pages_remote() and -introduced a new get_user_pages() that always works on the current -task.[1] Distinguish the two APIs based on kernel version we're -compiling for. - -Also, there seems to have been a massive cleansing of -page_cache_release(page) in favour of put_page(page)[2] which was an -alias for put_page(page)[3] since 2.6.0. Before that beginning with -2.4.0 both page_cache_release(page) and put_page(page) have been aliases -for __free_page(page). So using put_page() instead of -page_cache_release(page) will produce identical code for anything after -2.4.0. - -[1] https://lkml.org/lkml/2016/2/10/555 -[2] https://www.spinics.net/lists/linux-fsdevel/msg95923.html -[3] https://www.spinics.net/lists/linux-fsdevel/msg95922.html ---- - zc.c | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - -Upstream-Status: Backport [from master for 4.8 kernels] - -Index: cryptodev-linux-1.8/zc.c -=================================================================== ---- cryptodev-linux-1.8.orig/zc.c -+++ cryptodev-linux-1.8/zc.c -@@ -59,7 +59,12 @@ int __get_userbuf(uint8_t __user *addr, - } - - down_read(&mm->mmap_sem); -- ret = get_user_pages(task, mm, -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 6, 0)) -+ ret = get_user_pages_remote( -+#else -+ ret = get_user_pages( -+#endif -+ task, mm, - (unsigned long)addr, pgcount, write, 0, pg, NULL); - up_read(&mm->mmap_sem); - if (ret != pgcount) -@@ -119,7 +124,7 @@ void release_user_pages(struct csession - else - ses->readonly_pages--; - -- page_cache_release(ses->pages[i]); -+ put_page(ses->pages[i]); - } - ses->used_pages = 0; - } diff --git a/meta/recipes-kernel/cryptodev/files/cb186f682679383e8b5806240927903730ce85d9.patch b/meta/recipes-kernel/cryptodev/files/cb186f682679383e8b5806240927903730ce85d9.patch deleted file mode 100644 index eb0eab6..0000000 --- a/meta/recipes-kernel/cryptodev/files/cb186f682679383e8b5806240927903730ce85d9.patch +++ /dev/null @@ -1,279 +0,0 @@ -From cb186f682679383e8b5806240927903730ce85d9 Mon Sep 17 00:00:00 2001 -From: Michael Weiser -Date: Fri, 5 Aug 2016 17:26:27 +0200 -Subject: [PATCH] Support skcipher in addition to ablkcipher API - -The ablkcipher API is being phased out[1]. The unified skcipher API -seems to have made its entry with 4.3.[3, 4] By what can be seen from -migration patches[1.ff.], it's a drop-in replacement. - -Also, deallocators such as crypto_free_skcipher() are NULL-safe now[2]. - -Add a new header cipherapi.h to aid migration from ablkcipher to skcipher and -retain support for old kernels. Make it decide which API to use and provide -appropriate function calls and type definitions. Since the ablkcipher and -skcipher APIs are so similar, those are mainly defines for corresponding -pseudo-functions in namespace cryptodev_ derived directly from their API -counterparts. - -Compiles and works (i.e. checks pass) with Debian testing 4.6.4 kernel -as well as 4.8-rc2+ Linus git tree as of today. (Both require a fix for -changed page access API[5].) - -[1] https://www.spinics.net/lists/linux-crypto/msg18133.html -[2] https://www.spinics.net/lists/linux-crypto/msg18154.html, line 120 -[3] https://www.spinics.net/lists/linux-crypto/msg16373.html -[4] https://www.spinics.net/lists/linux-crypto/msg16294.html -[5] https://github.com/cryptodev-linux/cryptodev-linux/pull/14 ---- - cipherapi.h | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - cryptlib.c | 40 ++++++++++++++++++---------------------- - cryptlib.h | 6 ++++-- - ioctl.c | 4 ++-- - 4 files changed, 84 insertions(+), 26 deletions(-) - create mode 100644 cipherapi.h - -Upstream-Status: Backport [from master for 4.8 kernels] - -Index: cryptodev-linux-1.8/cipherapi.h -=================================================================== ---- /dev/null -+++ cryptodev-linux-1.8/cipherapi.h -@@ -0,0 +1,60 @@ -+#ifndef CIPHERAPI_H -+# define CIPHERAPI_H -+ -+#include -+ -+#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 8, 0)) -+# include -+ -+typedef struct ablkcipher_alg cryptodev_blkcipher_alg_t; -+typedef struct crypto_ablkcipher cryptodev_crypto_blkcipher_t; -+typedef struct ablkcipher_request cryptodev_blkcipher_request_t; -+ -+# define cryptodev_crypto_alloc_blkcipher crypto_alloc_ablkcipher -+# define cryptodev_crypto_blkcipher_alg crypto_ablkcipher_alg -+# define cryptodev_crypto_blkcipher_blocksize crypto_ablkcipher_blocksize -+# define cryptodev_crypto_blkcipher_ivsize crypto_ablkcipher_ivsize -+# define cryptodev_crypto_blkcipher_alignmask crypto_ablkcipher_alignmask -+# define cryptodev_crypto_blkcipher_setkey crypto_ablkcipher_setkey -+ -+static inline void cryptodev_crypto_free_blkcipher(cryptodev_crypto_blkcipher_t *c) { -+ if (c) -+ crypto_free_ablkcipher(c); -+} -+ -+# define cryptodev_blkcipher_request_alloc ablkcipher_request_alloc -+# define cryptodev_blkcipher_request_set_callback ablkcipher_request_set_callback -+ -+static inline void cryptodev_blkcipher_request_free(cryptodev_blkcipher_request_t *r) { -+ if (r) -+ ablkcipher_request_free(r); -+} -+ -+# define cryptodev_blkcipher_request_set_crypt ablkcipher_request_set_crypt -+# define cryptodev_crypto_blkcipher_encrypt crypto_ablkcipher_encrypt -+# define cryptodev_crypto_blkcipher_decrypt crypto_ablkcipher_decrypt -+# define cryptodev_crypto_blkcipher_tfm crypto_ablkcipher_tfm -+#else -+#include -+ -+typedef struct skcipher_alg cryptodev_blkcipher_alg_t; -+typedef struct crypto_skcipher cryptodev_crypto_blkcipher_t; -+typedef struct skcipher_request cryptodev_blkcipher_request_t; -+ -+# define cryptodev_crypto_alloc_blkcipher crypto_alloc_skcipher -+# define cryptodev_crypto_blkcipher_alg crypto_skcipher_alg -+# define cryptodev_crypto_blkcipher_blocksize crypto_skcipher_blocksize -+# define cryptodev_crypto_blkcipher_ivsize crypto_skcipher_ivsize -+# define cryptodev_crypto_blkcipher_alignmask crypto_skcipher_alignmask -+# define cryptodev_crypto_blkcipher_setkey crypto_skcipher_setkey -+# define cryptodev_crypto_free_blkcipher crypto_free_skcipher -+# define cryptodev_blkcipher_request_alloc skcipher_request_alloc -+# define cryptodev_blkcipher_request_set_callback skcipher_request_set_callback -+# define cryptodev_blkcipher_request_free skcipher_request_free -+# define cryptodev_blkcipher_request_set_crypt skcipher_request_set_crypt -+# define cryptodev_crypto_blkcipher_encrypt crypto_skcipher_encrypt -+# define cryptodev_crypto_blkcipher_decrypt crypto_skcipher_decrypt -+# define cryptodev_crypto_blkcipher_tfm crypto_skcipher_tfm -+#endif -+ -+#endif -Index: cryptodev-linux-1.8/cryptlib.c -=================================================================== ---- cryptodev-linux-1.8.orig/cryptlib.c -+++ cryptodev-linux-1.8/cryptlib.c -@@ -23,7 +23,6 @@ - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ - --#include - #include - #include - #include -@@ -37,6 +36,7 @@ - #include - #include - #include "cryptodev_int.h" -+#include "cipherapi.h" - - - struct cryptodev_result { -@@ -133,15 +133,15 @@ int cryptodev_cipher_init(struct cipher_ - int ret; - - if (aead == 0) { -- struct ablkcipher_alg *alg; -+ cryptodev_blkcipher_alg_t *alg; - -- out->async.s = crypto_alloc_ablkcipher(alg_name, 0, 0); -+ out->async.s = cryptodev_crypto_alloc_blkcipher(alg_name, 0, 0); - if (unlikely(IS_ERR(out->async.s))) { - ddebug(1, "Failed to load cipher %s", alg_name); - return -EINVAL; - } - -- alg = crypto_ablkcipher_alg(out->async.s); -+ alg = cryptodev_crypto_blkcipher_alg(out->async.s); - if (alg != NULL) { - /* Was correct key length supplied? */ - if (alg->max_keysize > 0 && -@@ -154,11 +154,11 @@ int cryptodev_cipher_init(struct cipher_ - } - } - -- out->blocksize = crypto_ablkcipher_blocksize(out->async.s); -- out->ivsize = crypto_ablkcipher_ivsize(out->async.s); -- out->alignmask = crypto_ablkcipher_alignmask(out->async.s); -+ out->blocksize = cryptodev_crypto_blkcipher_blocksize(out->async.s); -+ out->ivsize = cryptodev_crypto_blkcipher_ivsize(out->async.s); -+ out->alignmask = cryptodev_crypto_blkcipher_alignmask(out->async.s); - -- ret = crypto_ablkcipher_setkey(out->async.s, keyp, keylen); -+ ret = cryptodev_crypto_blkcipher_setkey(out->async.s, keyp, keylen); - } else { - out->async.as = crypto_alloc_aead(alg_name, 0, 0); - if (unlikely(IS_ERR(out->async.as))) { -@@ -191,14 +191,14 @@ int cryptodev_cipher_init(struct cipher_ - init_completion(&out->async.result->completion); - - if (aead == 0) { -- out->async.request = ablkcipher_request_alloc(out->async.s, GFP_KERNEL); -+ out->async.request = cryptodev_blkcipher_request_alloc(out->async.s, GFP_KERNEL); - if (unlikely(!out->async.request)) { - derr(1, "error allocating async crypto request"); - ret = -ENOMEM; - goto error; - } - -- ablkcipher_request_set_callback(out->async.request, -+ cryptodev_blkcipher_request_set_callback(out->async.request, - CRYPTO_TFM_REQ_MAY_BACKLOG, - cryptodev_complete, out->async.result); - } else { -@@ -218,10 +218,8 @@ int cryptodev_cipher_init(struct cipher_ - return 0; - error: - if (aead == 0) { -- if (out->async.request) -- ablkcipher_request_free(out->async.request); -- if (out->async.s) -- crypto_free_ablkcipher(out->async.s); -+ cryptodev_blkcipher_request_free(out->async.request); -+ cryptodev_crypto_free_blkcipher(out->async.s); - } else { - if (out->async.arequest) - aead_request_free(out->async.arequest); -@@ -237,10 +235,8 @@ void cryptodev_cipher_deinit(struct ciph - { - if (cdata->init) { - if (cdata->aead == 0) { -- if (cdata->async.request) -- ablkcipher_request_free(cdata->async.request); -- if (cdata->async.s) -- crypto_free_ablkcipher(cdata->async.s); -+ cryptodev_blkcipher_request_free(cdata->async.request); -+ cryptodev_crypto_free_blkcipher(cdata->async.s); - } else { - if (cdata->async.arequest) - aead_request_free(cdata->async.arequest); -@@ -289,10 +285,10 @@ ssize_t cryptodev_cipher_encrypt(struct - reinit_completion(&cdata->async.result->completion); - - if (cdata->aead == 0) { -- ablkcipher_request_set_crypt(cdata->async.request, -+ cryptodev_blkcipher_request_set_crypt(cdata->async.request, - (struct scatterlist *)src, dst, - len, cdata->async.iv); -- ret = crypto_ablkcipher_encrypt(cdata->async.request); -+ ret = cryptodev_crypto_blkcipher_encrypt(cdata->async.request); - } else { - aead_request_set_crypt(cdata->async.arequest, - (struct scatterlist *)src, dst, -@@ -311,10 +307,10 @@ ssize_t cryptodev_cipher_decrypt(struct - - reinit_completion(&cdata->async.result->completion); - if (cdata->aead == 0) { -- ablkcipher_request_set_crypt(cdata->async.request, -+ cryptodev_blkcipher_request_set_crypt(cdata->async.request, - (struct scatterlist *)src, dst, - len, cdata->async.iv); -- ret = crypto_ablkcipher_decrypt(cdata->async.request); -+ ret = cryptodev_crypto_blkcipher_decrypt(cdata->async.request); - } else { - aead_request_set_crypt(cdata->async.arequest, - (struct scatterlist *)src, dst, -Index: cryptodev-linux-1.8/cryptlib.h -=================================================================== ---- cryptodev-linux-1.8.orig/cryptlib.h -+++ cryptodev-linux-1.8/cryptlib.h -@@ -3,6 +3,8 @@ - - #include - -+#include "cipherapi.h" -+ - struct cipher_data { - int init; /* 0 uninitialized */ - int blocksize; -@@ -12,8 +14,8 @@ struct cipher_data { - int alignmask; - struct { - /* block ciphers */ -- struct crypto_ablkcipher *s; -- struct ablkcipher_request *request; -+ cryptodev_crypto_blkcipher_t *s; -+ cryptodev_blkcipher_request_t *request; - - /* AEAD ciphers */ - struct crypto_aead *as; -Index: cryptodev-linux-1.8/ioctl.c -=================================================================== ---- cryptodev-linux-1.8.orig/ioctl.c -+++ cryptodev-linux-1.8/ioctl.c -@@ -34,7 +34,6 @@ - */ - - #include --#include - #include - #include - #include -@@ -53,6 +52,7 @@ - #include "cryptodev_int.h" - #include "zc.h" - #include "version.h" -+#include "cipherapi.h" - - MODULE_AUTHOR("Nikos Mavrogiannopoulos "); - MODULE_DESCRIPTION("CryptoDev driver"); -@@ -765,7 +765,7 @@ static int get_session_info(struct fcryp - - if (ses_ptr->cdata.init) { - if (ses_ptr->cdata.aead == 0) -- tfm = crypto_ablkcipher_tfm(ses_ptr->cdata.async.s); -+ tfm = cryptodev_crypto_blkcipher_tfm(ses_ptr->cdata.async.s); - else - tfm = crypto_aead_tfm(ses_ptr->cdata.async.as); - tfm_info_to_alg_info(&siop->cipher_info, tfm); diff --git a/meta/recipes-kernel/cryptodev/files/kernel-4-10-changes.patch b/meta/recipes-kernel/cryptodev/files/kernel-4-10-changes.patch deleted file mode 100644 index 93d608b..0000000 --- a/meta/recipes-kernel/cryptodev/files/kernel-4-10-changes.patch +++ /dev/null @@ -1,57 +0,0 @@ -Upstream-Status: Backport -Signed-off-by: Ross Burton - -From 2b29be8ac41414ed19cb4f5d5626d9bd0d7b11a8 Mon Sep 17 00:00:00 2001 -From: Cristian Stoica -Date: Wed, 8 Feb 2017 12:11:04 +0200 -Subject: [PATCH] adjust to API changes in kernel >=4.10 - -There are many changes related to get_user_pages and the code is rewritten -for clarity. - -Signed-off-by: Cristian Stoica ---- - zc.c | 28 +++++++++++++++++----------- - 1 file changed, 17 insertions(+), 11 deletions(-) - -diff --git a/zc.c b/zc.c -index e766ee3..2f4ea99 100644 ---- a/zc.c -+++ b/zc.c -@@ -59,19 +59,25 @@ int __get_userbuf(uint8_t __user *addr, uint32_t len, int write, - } - - down_read(&mm->mmap_sem); --#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 6, 0)) -- ret = get_user_pages_remote( -+#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 6, 0)) -+ ret = get_user_pages(task, mm, -+ (unsigned long)addr, pgcount, write, 0, pg, NULL); - #else -- ret = get_user_pages( --#endif -- task, mm, -- (unsigned long)addr, pgcount, --#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)) -- write ? FOLL_WRITE : 0, --#else -- write, 0, --#endif -+# if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 9, 0)) -+ ret = get_user_pages_remote(task, mm, -+ (unsigned long)addr, pgcount, write, 0, pg, NULL); -+# else -+# if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0)) -+ ret = get_user_pages_remote(task, mm, -+ (unsigned long)addr, pgcount, write ? FOLL_WRITE : 0, - pg, NULL); -+# else -+ ret = get_user_pages_remote(task, mm, -+ (unsigned long)addr, pgcount, write ? FOLL_WRITE : 0, -+ pg, NULL, NULL); -+# endif -+# endif -+#endif - up_read(&mm->mmap_sem); - if (ret != pgcount) - return -EINVAL; -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 11:37:46 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 11:37:46 +0000 Subject: [oe-commits] [openembedded-core] 02/40: python3: fix weakref spewing exceptions during interp finalization In-Reply-To: <150063706469.7801.1164299489424290804@git.openembedded.org> References: <150063706469.7801.1164299489424290804@git.openembedded.org> Message-ID: <20170721113745.0D142232829@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 8aaf09a916a2f66f1a6a79cbddf45390ecefde4f Author: Mark Asselstine AuthorDate: Fri Jul 14 10:01:09 2017 -0400 python3: fix weakref spewing exceptions during interp finalization When py3 applications are exiting we often see errors similar to the following: Exception ignored in: .remove at 0x7fcb56b09400> Traceback (most recent call last): File "/usr/lib64/python3.5/weakref.py", line 117, in remove TypeError: 'NoneType' object is not callable After a quick search this was found to be a well reported issue upstream and had an appropriate fix which is backported here. Signed-off-by: Mark Asselstine Signed-off-by: Ross Burton --- ...eakref-spewing-exceptions-during-interp-f.patch | 56 ++++++++++++++++++++++ meta/recipes-devtools/python/python3_3.5.3.bb | 1 + 2 files changed, 57 insertions(+) diff --git a/meta/recipes-devtools/python/python3/Fix-29519-weakref-spewing-exceptions-during-interp-f.patch b/meta/recipes-devtools/python/python3/Fix-29519-weakref-spewing-exceptions-during-interp-f.patch new file mode 100644 index 0000000..7217c6e --- /dev/null +++ b/meta/recipes-devtools/python/python3/Fix-29519-weakref-spewing-exceptions-during-interp-f.patch @@ -0,0 +1,56 @@ +From 62dcf34987b680e95873eb947b3f4d802199c667 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=C5=81ukasz=20Langa?= +Date: Fri, 10 Feb 2017 00:14:55 -0800 +Subject: [PATCH] Fix #29519: weakref spewing exceptions during interp + finalization + +commit 9cd7e17640a49635d1c1f8c2989578a8fc2c1de6 +from https://github.com/python/cpython + +Upstream-Status: Backport + +Signed-off-by: Lukasz Langa +--- + Lib/weakref.py | 4 ++-- + Misc/NEWS | 3 +++ + 2 files changed, 5 insertions(+), 2 deletions(-) + +diff --git a/Lib/weakref.py b/Lib/weakref.py +index aaebd0c..787e33a 100644 +--- a/Lib/weakref.py ++++ b/Lib/weakref.py +@@ -106,7 +106,7 @@ class WeakValueDictionary(collections.MutableMapping): + self, *args = args + if len(args) > 1: + raise TypeError('expected at most 1 arguments, got %d' % len(args)) +- def remove(wr, selfref=ref(self)): ++ def remove(wr, selfref=ref(self), _atomic_removal=_remove_dead_weakref): + self = selfref() + if self is not None: + if self._iterating: +@@ -114,7 +114,7 @@ class WeakValueDictionary(collections.MutableMapping): + else: + # Atomic removal is necessary since this function + # can be called asynchronously by the GC +- _remove_dead_weakref(d, wr.key) ++ _atomic_removal(d, wr.key) + self._remove = remove + # A list of keys to be removed + self._pending_removals = [] +diff --git a/Misc/NEWS b/Misc/NEWS +index 41cfdba..6d89f52 100644 +--- a/Misc/NEWS ++++ b/Misc/NEWS +@@ -5719,6 +5719,9 @@ Core and Builtins + Library + ------- + ++- Issue #29519: Fix weakref spewing exceptions during interpreter shutdown ++ when used with a rare combination of multiprocessing and custom codecs. ++ + - Issue #20154: Deadlock in asyncio.StreamReader.readexactly(). + + - Issue #16113: Remove sha3 module again. +-- +2.7.4 + diff --git a/meta/recipes-devtools/python/python3_3.5.3.bb b/meta/recipes-devtools/python/python3_3.5.3.bb index d7c29f2..7419c71 100644 --- a/meta/recipes-devtools/python/python3_3.5.3.bb +++ b/meta/recipes-devtools/python/python3_3.5.3.bb @@ -37,6 +37,7 @@ SRC_URI += "\ file://configure.ac-fix-LIBPL.patch \ file://upstream-random-fixes.patch \ file://0001-Issue-21272-Use-_sysconfigdata.py-to-initialize-dist.patch \ + file://Fix-29519-weakref-spewing-exceptions-during-interp-f.patch \ " SRC_URI[md5sum] = "57d1f8bfbabf4f2500273fb0706e6f21" SRC_URI[sha256sum] = "eefe2ad6575855423ab630f5b51a8ef6e5556f774584c06beab4926f930ddbb0" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 11:37:49 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 11:37:49 +0000 Subject: [oe-commits] [openembedded-core] 05/40: wic: fix calculation of partition number In-Reply-To: <150063706469.7801.1164299489424290804@git.openembedded.org> References: <150063706469.7801.1164299489424290804@git.openembedded.org> Message-ID: <20170721113745.2587323282C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 5689139b3cd862e2df49f6b21171f513e8a46c60 Author: Ed Bartosh AuthorDate: Mon Jul 17 10:04:04 2017 +0300 wic: fix calculation of partition number Total number of partitions should be taken into account when calculating real partition number for msdos partition table. The number can be different for the 4th partition: it can be 4 if there are 4 partitions in the table and 5 if there are more than 4 partitions in the table. In the latter case number 4 is occupied by extended partition. [YOCTO #11790] Signed-off-by: Ed Bartosh Signed-off-by: Ross Burton --- scripts/lib/wic/plugins/imager/direct.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/lib/wic/plugins/imager/direct.py b/scripts/lib/wic/plugins/imager/direct.py index aa9cc9f..f20d843 100644 --- a/scripts/lib/wic/plugins/imager/direct.py +++ b/scripts/lib/wic/plugins/imager/direct.py @@ -313,7 +313,7 @@ class PartitionedImage(): part.realnum = 0 else: realnum += 1 - if self.ptable_format == 'msdos' and realnum > 3: + if self.ptable_format == 'msdos' and realnum > 3 and len(partitions) > 4: part.realnum = realnum + 1 continue part.realnum = realnum -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 11:37:50 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 11:37:50 +0000 Subject: [oe-commits] [openembedded-core] 06/40: lsb: add checking for chkconfig existence when creating the symbolic In-Reply-To: <150063706469.7801.1164299489424290804@git.openembedded.org> References: <150063706469.7801.1164299489424290804@git.openembedded.org> Message-ID: <20170721113745.2C09723282D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 0417cc64516c47fb4daddc80e41e3f9c6ab927fc Author: Zhenbo Gao AuthorDate: Mon Jul 17 17:13:08 2017 +0800 lsb: add checking for chkconfig existence when creating the symbolic remove_initd and remove_initd will be created as the symbolic file of chkconfig, which will be not existed when systemd is configured, so adding the check for the existence of chkconfig before creating the symbolic. Signed-off-by: Zhenbo Gao Signed-off-by: Ross Burton --- meta/recipes-extended/lsb/lsb_4.1.bb | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/meta/recipes-extended/lsb/lsb_4.1.bb b/meta/recipes-extended/lsb/lsb_4.1.bb index cedf39e..c8db1a8 100644 --- a/meta/recipes-extended/lsb/lsb_4.1.bb +++ b/meta/recipes-extended/lsb/lsb_4.1.bb @@ -90,11 +90,13 @@ do_install_append() { install -m 0755 ${WORKDIR}/init-functions ${D}${nonarch_base_libdir}/lsb # create links for LSB test - if [ "${nonarch_base_libdir}" != "${nonarch_libdir}" ] ; then - install -d ${D}${nonarch_libdir}/lsb + if [ -e ${sbindir}/chkconfig ]; then + if [ "${nonarch_base_libdir}" != "${nonarch_libdir}" ] ; then + install -d ${D}${nonarch_libdir}/lsb + fi + ln -sf ${sbindir}/chkconfig ${D}${nonarch_libdir}/lsb/install_initd + ln -sf ${sbindir}/chkconfig ${D}${nonarch_libdir}/lsb/remove_initd fi - ln -sf ${sbindir}/chkconfig ${D}${nonarch_libdir}/lsb/install_initd - ln -sf ${sbindir}/chkconfig ${D}${nonarch_libdir}/lsb/remove_initd if [ "${TARGET_ARCH}" = "x86_64" ]; then if [ "${base_libdir}" != "${base_prefix}/lib64" ]; then -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 11:37:51 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 11:37:51 +0000 Subject: [oe-commits] [openembedded-core] 07/40: image_types: use initrd from pre-sstate directory In-Reply-To: <150063706469.7801.1164299489424290804@git.openembedded.org> References: <150063706469.7801.1164299489424290804@git.openembedded.org> Message-ID: <20170721113745.3287F23282E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 13d675b0f8968bcfdf36035fd959be285e3da378 Author: Ed Bartosh AuthorDate: Mon Jul 17 11:35:00 2017 +0300 image_types: use initrd from pre-sstate directory mkelfImage was failing trying to use initrd from ${DEPLOY_DIR_IMAGE}: DEBUG: Python function extend_recipe_sysroot finished | DEBUG: Executing shell function do_image_elf | Cannot open `tmp/deploy/images/qemux86/core-image-minimal-qemux86.cpio.gz': No such file or directory As the images have only one deploy point it's not possible to reference something the images themselves are deploying. They need to reference it in the "pre-sstate" directory ${IMGDEPLOYDIR}, not the post sstate one ${DEPLOY_DIR_IMAGE}. Fixed by using ${IMGDEPLOYDIR} instead of ${DEPLOY_DIR_IMAGE} in mkelfImage command line. [YOCTO #11767] Signed-off-by: Ed Bartosh Signed-off-by: Ross Burton --- meta/classes/image_types.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/classes/image_types.bbclass b/meta/classes/image_types.bbclass index 8f8d79c..a0a516e 100644 --- a/meta/classes/image_types.bbclass +++ b/meta/classes/image_types.bbclass @@ -146,7 +146,7 @@ ELF_APPEND ?= "ramdisk_size=32768 root=/dev/ram0 rw console=" IMAGE_CMD_elf () { test -f ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.elf && rm -f ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.elf - mkelfImage --kernel=${ELF_KERNEL} --initrd=${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.cpio.gz --output=${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.elf --append='${ELF_APPEND}' ${EXTRA_IMAGECMD} + mkelfImage --kernel=${ELF_KERNEL} --initrd=${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.cpio.gz --output=${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.elf --append='${ELF_APPEND}' ${EXTRA_IMAGECMD} } IMAGE_TYPEDEP_elf = "cpio.gz" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 11:37:52 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 11:37:52 +0000 Subject: [oe-commits] [openembedded-core] 08/40: ghostscript: remove legacy patch png_mak.patch In-Reply-To: <150063706469.7801.1164299489424290804@git.openembedded.org> References: <150063706469.7801.1164299489424290804@git.openembedded.org> Message-ID: <20170721113745.396AA23282F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 8a5890cc0b0a6c110edb36aec3614c3ebeb54e24 Author: Kai Kang AuthorDate: Mon Jul 17 16:40:39 2017 +0800 ghostscript: remove legacy patch png_mak.patch png_mak.patch was created for ghostscript 9.16 and causes make circular dependency now. Check source code base/png.mak after apply png_mak.patch: Line 77: $(MAKEDIRS) : $(pnglibconf_h) Line 83: $(pnglibconf_h) : $(PNGSRC)scripts$(D)pnglibconf.h.prebuilt $(TOP_MAKEFILES) $(MAKEDIRS) So remove png_mak.patch. Signed-off-by: Kai Kang Signed-off-by: Ross Burton --- .../ghostscript/ghostscript/png_mak.patch | 32 ---------------------- .../ghostscript/ghostscript_9.21.bb | 1 - 2 files changed, 33 deletions(-) diff --git a/meta/recipes-extended/ghostscript/ghostscript/png_mak.patch b/meta/recipes-extended/ghostscript/ghostscript/png_mak.patch deleted file mode 100644 index 8b84986..0000000 --- a/meta/recipes-extended/ghostscript/ghostscript/png_mak.patch +++ /dev/null @@ -1,32 +0,0 @@ -ghostscript: add dependency for pnglibconf.h - -When using parallel make jobs, we need to be sure that -pnglibconf.h is created before we try to reference it, -so add a rule to png.mak. - -Upstream-Status: Pending - -Signed-off-by: Joe Slater - -Rebase to 9.19 -Signed-off-by: Hongxu Jia ---- - base/png.mak | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/base/png.mak b/base/png.mak -index fe5c6e2..8abb53a 100644 ---- a/base/png.mak -+++ b/base/png.mak -@@ -74,6 +74,8 @@ png.clean-not-config-clean : - - pnglibconf_h=$(PNGGENDIR)$(D)pnglibconf.h - -+$(MAKEDIRS) : $(pnglibconf_h) -+ - png.config-clean : - $(RM_) $(pnglibconf_h) - $(RM_) $(PNGGEN)lpg*.dev --- -2.8.1 - diff --git a/meta/recipes-extended/ghostscript/ghostscript_9.21.bb b/meta/recipes-extended/ghostscript/ghostscript_9.21.bb index fb36a13..adad9fd 100644 --- a/meta/recipes-extended/ghostscript/ghostscript_9.21.bb +++ b/meta/recipes-extended/ghostscript/ghostscript_9.21.bb @@ -22,7 +22,6 @@ UPSTREAM_CHECK_REGEX = "(?P\d+(\.\d+)+)\.tar" SRC_URI_BASE = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs921/${BPN}-${PV}.tar.gz \ file://ghostscript-9.15-parallel-make.patch \ file://ghostscript-9.16-Werror-return-type.patch \ - file://png_mak.patch \ file://do-not-check-local-libpng-source.patch \ file://avoid-host-contamination.patch \ file://mkdir-p.patch \ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 11:37:53 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 11:37:53 +0000 Subject: [oe-commits] [openembedded-core] 09/40: systemd: workaround login failure on qemumips64 when 'pam' is enabled In-Reply-To: <150063706469.7801.1164299489424290804@git.openembedded.org> References: <150063706469.7801.1164299489424290804@git.openembedded.org> Message-ID: <20170721113745.3FE5A232830@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 35403ba3707c3c8dd94bcc557eef6f7c66696bc5 Author: Chen Qi AuthorDate: Mon Jul 17 14:30:26 2017 +0800 systemd: workaround login failure on qemumips64 when 'pam' is enabled Append " -fno-tree-switch-conversion -fno-tree-tail-merge" to FULL_OPTIMIZATION to workaround login problem on qemumips64. Otherwise, user cannot login onto the target even username and password are provided. Signed-off-by: Chen Qi Signed-off-by: Ross Burton --- meta/recipes-core/systemd/systemd_232.bb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/meta/recipes-core/systemd/systemd_232.bb b/meta/recipes-core/systemd/systemd_232.bb index 9c533ea..a59ee74 100644 --- a/meta/recipes-core/systemd/systemd_232.bb +++ b/meta/recipes-core/systemd/systemd_232.bb @@ -159,6 +159,9 @@ CFLAGS .= "${@bb.utils.contains('PACKAGECONFIG', 'valgrind', ' -DVALGRIND=1', '' # disable problematic GCC 5.2 optimizations [YOCTO #8291] FULL_OPTIMIZATION_append_arm = " -fno-schedule-insns -fno-schedule-insns2" +# Avoid login failure on qemumips64 when pam is enabled +FULL_OPTIMIZATION_append_mips64 = " -fno-tree-switch-conversion -fno-tree-tail-merge" + COMPILER_NM ?= "${HOST_PREFIX}gcc-nm" COMPILER_AR ?= "${HOST_PREFIX}gcc-ar" COMPILER_RANLIB ?= "${HOST_PREFIX}gcc-ranlib" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 11:37:54 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 11:37:54 +0000 Subject: [oe-commits] [openembedded-core] 10/40: scriptutils: exit politely when no text editor available In-Reply-To: <150063706469.7801.1164299489424290804@git.openembedded.org> References: <150063706469.7801.1164299489424290804@git.openembedded.org> Message-ID: <20170721113745.4669D232831@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit c536ccfd162fc8871838fa229012c562e3f8e0d9 Author: Chang Rebecca Swee Fun AuthorDate: Wed Jun 28 09:59:17 2017 +0800 scriptutils: exit politely when no text editor available devtool edit-recipe now has ugly tracebacks if executed without an editor available. This happens in the build containers whenever no text editor is available. subprocess.check_call will run text editing command with recipe path provided. It will wait for command to complete. If the return code was zero then return, otherwise raise CalledProcessError exception. This enhancement will suppress the traceback by catching the exception and prompt the error messages in a proper manner shown below: pokyuser at 59c99c507238:/workdir/docker-dbg$ devtool edit-recipe ifupdown /bin/sh: 1: vi: not found ERROR: Execution of 'vi' failed: Command 'vi "/workdir/docker-dbg/workspace/recipes/ifupdown/ifupdown_0.8.16.bb"' returned non-zero exit status 127 [YOCTO #11434] Signed-off-by: Chang Rebecca Swee Fun Signed-off-by: Ross Burton --- scripts/lib/scriptutils.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/lib/scriptutils.py b/scripts/lib/scriptutils.py index 1005dd4..b6217dc 100644 --- a/scripts/lib/scriptutils.py +++ b/scripts/lib/scriptutils.py @@ -216,8 +216,8 @@ def run_editor(fn): editor = os.getenv('VISUAL', os.getenv('EDITOR', 'vi')) try: return subprocess.check_call('%s %s' % (editor, params), shell=True) - except OSError as exc: - logger.error("Execution of editor '%s' failed: %s", editor, exc) + except subprocess.CalledProcessError as exc: + logger.error("Execution of '%s' failed: %s" % (editor, exc)) return 1 def is_src_url(param): -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 11:37:57 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 11:37:57 +0000 Subject: [oe-commits] [openembedded-core] 13/40: devtool: standard: enable options for PREMIRRORS and MIRRORS In-Reply-To: <150063706469.7801.1164299489424290804@git.openembedded.org> References: <150063706469.7801.1164299489424290804@git.openembedded.org> Message-ID: <20170721113745.5A536232834@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 198bddeb928a318c3ad168bcb4f83b5cd9a604fb Author: Chang Rebecca Swee Fun AuthorDate: Thu Jul 13 11:33:55 2017 +0800 devtool: standard: enable options for PREMIRRORS and MIRRORS Since we have provide an option to manually enable PREMIRRORS and MIRRORS in recipetool, we need to make sure devtool is having the same options as devtool uses recipetool in creating new recipes. Signed-off-by: Chang Rebecca Swee Fun Signed-off-by: Ross Burton --- scripts/lib/devtool/standard.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/scripts/lib/devtool/standard.py b/scripts/lib/devtool/standard.py index 54558ce..22a9ec8 100644 --- a/scripts/lib/devtool/standard.py +++ b/scripts/lib/devtool/standard.py @@ -149,6 +149,8 @@ def add(args, config, basepath, workspace): extracmdopts += ' -a' if args.fetch_dev: extracmdopts += ' --fetch-dev' + if args.mirrors: + extracmdopts += ' --mirrors' tempdir = tempfile.mkdtemp(prefix='devtool') try: @@ -1797,6 +1799,7 @@ def register_commands(subparsers, context): parser_add.add_argument('--binary', '-b', help='Treat the source tree as something that should be installed verbatim (no compilation, same directory structure). Useful with binary packages e.g. RPMs.', action='store_true') parser_add.add_argument('--also-native', help='Also add native variant (i.e. support building recipe for the build host as well as the target machine)', action='store_true') parser_add.add_argument('--src-subdir', help='Specify subdirectory within source tree to use', metavar='SUBDIR') + parser_add.add_argument('--mirrors', help='Enable PREMIRRORS and MIRRORS for source tree fetching (disable by default).', action="store_true") parser_add.set_defaults(func=add, fixed_setup=context.fixed_setup) parser_modify = subparsers.add_parser('modify', help='Modify the source for an existing recipe', -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 11:37:55 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 11:37:55 +0000 Subject: [oe-commits] [openembedded-core] 11/40: scriptutils: pass in logger as parameter In-Reply-To: <150063706469.7801.1164299489424290804@git.openembedded.org> References: <150063706469.7801.1164299489424290804@git.openembedded.org> Message-ID: <20170721113745.4D4FC232832@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 21f04b61973dd9029f0e6bff5445e31cd762bf32 Author: Chang Rebecca Swee Fun AuthorDate: Wed Jun 28 09:59:18 2017 +0800 scriptutils: pass in logger as parameter logger was not defined in scriptutils.py based on the observation in python traceback. Traceback (most recent call last): File "/workdir/poky/scripts/devtool", line 351, in ret = main() File "/workdir/poky/scripts/devtool", line 338, in main ret = args.func(args, config, basepath, workspace) File "/workdir/poky/scripts/lib/devtool/utilcmds.py", line 55, in edit_recipe return scriptutils.run_editor(find_recipe(args, config, basepath, workspace)) File "/workdir/poky/scripts/lib/scriptutils.py", line 141, in run_editor logger.error("Execution of '%s' failed: %s" % (editor, exc)) NameError: name 'logger' is not defined We pass in logger as parameter to run_editor() from where it has been called (devtool/utilcmds.py and recipetool/newappend.py), which both modules already has logger setup. Signed-off-by: Chang Rebecca Swee Fun Signed-off-by: Ross Burton --- scripts/lib/devtool/utilcmds.py | 2 +- scripts/lib/recipetool/newappend.py | 2 +- scripts/lib/scriptutils.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/lib/devtool/utilcmds.py b/scripts/lib/devtool/utilcmds.py index 0437e64..938d88a 100644 --- a/scripts/lib/devtool/utilcmds.py +++ b/scripts/lib/devtool/utilcmds.py @@ -49,7 +49,7 @@ def edit_recipe(args, config, basepath, workspace): raise DevtoolError("Recipe file for %s is not under the workspace" % args.recipename) - return scriptutils.run_editor(recipefile) + return scriptutils.run_editor(recipefile, logger) def configure_help(args, config, basepath, workspace): diff --git a/scripts/lib/recipetool/newappend.py b/scripts/lib/recipetool/newappend.py index 0b63759..decce83 100644 --- a/scripts/lib/recipetool/newappend.py +++ b/scripts/lib/recipetool/newappend.py @@ -74,7 +74,7 @@ def newappend(args): return 1 if args.edit: - return scriptutils.run_editor([append_path, recipe_path]) + return scriptutils.run_editor([append_path, recipe_path], logger) else: print(append_path) diff --git a/scripts/lib/scriptutils.py b/scripts/lib/scriptutils.py index b6217dc..9785438 100644 --- a/scripts/lib/scriptutils.py +++ b/scripts/lib/scriptutils.py @@ -205,7 +205,7 @@ def fetch_url(tinfoil, srcuri, srcrev, destdir, logger, preserve_tmp=False): return checksums, tmpdir -def run_editor(fn): +def run_editor(fn, logger=None): if isinstance(fn, str): params = '"%s"' % fn else: -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 11:37:58 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 11:37:58 +0000 Subject: [oe-commits] [openembedded-core] 14/40: initramfs-framework: module to support boot live image In-Reply-To: <150063706469.7801.1164299489424290804@git.openembedded.org> References: <150063706469.7801.1164299489424290804@git.openembedded.org> Message-ID: <20170721113745.61173232835@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 430194ac59b2d2a57486848975e70fed7f55715e Author: Ng, Wei Tee AuthorDate: Wed Jul 12 12:29:35 2017 -0700 initramfs-framework: module to support boot live image setup-live module is a new module being introduced to integrate the functionality of init-live.sh into new scriptlet named setup-live in order to support the live boot image. The udev-extraconf rdepends is being added to perform automounting. It gets to run before the rootfs and finish module. The setup-live scriplet include the changes for: - Create a conditional loop for the bootparam_root variable. If it is not set, then it will boot from ROOT_IMAGE. Else, it will boot normally which is not from removable media. - Gives a standard path to the original boot disk mount which can be used to. While /media/sda is a good guess, it isn't always right, nor is it a good assumption that only one boot disk is in the system. - The current rootfs module has no support for rootfs images, currently it only support for rootfs partitions for wic image. Therefore, there is a need to assign the rootfs image for live image. [YOCTO #11701] Signed-off-by: Ng, Wei Tee Signed-off-by: Ross Burton --- .../initrdscripts/initramfs-framework/setup-live | 66 ++++++++++++++++++++++ .../initrdscripts/initramfs-framework_1.0.bb | 13 ++++- 2 files changed, 77 insertions(+), 2 deletions(-) diff --git a/meta/recipes-core/initrdscripts/initramfs-framework/setup-live b/meta/recipes-core/initrdscripts/initramfs-framework/setup-live new file mode 100644 index 0000000..ec4a139 --- /dev/null +++ b/meta/recipes-core/initrdscripts/initramfs-framework/setup-live @@ -0,0 +1,66 @@ +#/bin/sh +# Copyright (C) 2011 O.S. Systems Software LTDA. +# Licensed on MIT + +setup_enabled() { + return 0 +} + +setup_run() { +ROOT_IMAGE="rootfs.img" +ISOLINUX="" +ROOT_DISK="" +shelltimeout=30 + + if [ -z $bootparam_root ]; then + echo "Waiting for removable media..." + C=0 + while true + do + for i in `ls /run/media 2>/dev/null`; do + if [ -f /run/media/$i/$ROOT_IMAGE ] ; then + found="yes" + ROOT_DISK="$i" + break + elif [ -f /run/media/$i/isolinux/$ROOT_IMAGE ]; then + found="yes" + ISOLINUX="isolinux" + ROOT_DISK="$i" + break + fi + done + if [ "$found" = "yes" ]; then + break; + fi + # don't wait for more than $shelltimeout seconds, if it's set + if [ -n "$shelltimeout" ]; then + echo -n " " $(( $shelltimeout - $C )) + if [ $C -ge $shelltimeout ]; then + echo "..." + echo "Mounted filesystems" + mount | grep media + echo "Available block devices" + cat /proc/partitions + fatal "Cannot find $ROOT_IMAGE file in /run/media/* , dropping to a shell " + fi + C=$(( C + 1 )) + fi + sleep 1 + done + # The existing rootfs module has no support for rootfs images. Assign the rootfs image. + bootparam_root="/run/media/$ROOT_DISK/$ISOLINUX/$ROOT_IMAGE" + else + break + fi + + if [ "$bootparam_LABEL" != "boot" -a -f /init.d/$bootparam_LABEL.sh ] ; then + if [ -f /run/media/$i/$ISOLINUX/$ROOT_IMAGE ] ; then + ./init.d/$bootparam_LABEL.sh $i/$ISOLINUX $ROOT_IMAGE $video_mode $vga_mode $console_params + else + fatal "Could not find $bootparam_LABEL script" + fi + + # If we're getting here, we failed... + fatal "Target $bootparam_LABEL failed" + fi +} diff --git a/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb index 67a1b04..211e89d 100644 --- a/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb +++ b/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb @@ -13,7 +13,8 @@ SRC_URI = "file://init \ file://mdev \ file://udev \ file://e2fs \ - file://debug" + file://debug \ + file://setup-live" S = "${WORKDIR}" @@ -25,6 +26,9 @@ do_install() { install -m 0755 ${WORKDIR}/rootfs ${D}/init.d/90-rootfs install -m 0755 ${WORKDIR}/finish ${D}/init.d/99-finish + # setup-live + install -m 0755 ${WORKDIR}/setup-live ${D}/init.d/80-setup-live + # mdev install -m 0755 ${WORKDIR}/mdev ${D}/init.d/01-mdev @@ -48,7 +52,8 @@ PACKAGES = "${PN}-base \ initramfs-module-udev \ initramfs-module-e2fs \ initramfs-module-rootfs \ - initramfs-module-debug" + initramfs-module-debug \ + initramfs-module-setup-live" FILES_${PN}-base = "/init /init.d/99-finish /dev" @@ -68,6 +73,10 @@ SUMMARY_initramfs-module-udev = "initramfs support for udev" RDEPENDS_initramfs-module-udev = "${PN}-base udev" FILES_initramfs-module-udev = "/init.d/01-udev" +SUMMARY_initramfs-module-setup-live = "initramfs support for setup live" +RDEPENDS_initramfs-module-setup-live = "${PN}-base udev-extraconf" +FILES_initramfs-module-setup-live = "/init.d/80-setup-live" + SUMMARY_initramfs-module-e2fs = "initramfs support for ext4/ext3/ext2 filesystems" RDEPENDS_initramfs-module-e2fs = "${PN}-base" FILES_initramfs-module-e2fs = "/init.d/10-e2fs" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 11:37:56 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 11:37:56 +0000 Subject: [oe-commits] [openembedded-core] 12/40: devtool: find-recipe: enable new subcommand for devtool In-Reply-To: <150063706469.7801.1164299489424290804@git.openembedded.org> References: <150063706469.7801.1164299489424290804@git.openembedded.org> Message-ID: <20170721113745.539EE232833@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 5a16b3c804c5eca331a1c08a7ce31a54909af105 Author: Chang Rebecca Swee Fun AuthorDate: Wed Jun 28 09:59:19 2017 +0800 devtool: find-recipe: enable new subcommand for devtool devtool find-recipe will prints out the path to the recipe in a workspace. This subcommand can also help to find recipe outside of current workspace using "-a" or "--any-recipe" option. This enhancement helps developer to get the recipe path when working with devtool. [YOCTO #11434] Signed-off-by: Chang Rebecca Swee Fun Signed-off-by: Ross Burton --- scripts/lib/devtool/utilcmds.py | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/scripts/lib/devtool/utilcmds.py b/scripts/lib/devtool/utilcmds.py index 938d88a..c8cb760 100644 --- a/scripts/lib/devtool/utilcmds.py +++ b/scripts/lib/devtool/utilcmds.py @@ -30,9 +30,8 @@ from devtool import parse_recipe logger = logging.getLogger('devtool') - -def edit_recipe(args, config, basepath, workspace): - """Entry point for the devtool 'edit-recipe' subcommand""" +def find_recipe(args, config, basepath, workspace): + """Entry point for the devtool 'find-recipe' subcommand""" if args.any_recipe: tinfoil = setup_tinfoil(config_only=False, basepath=basepath) try: @@ -49,7 +48,10 @@ def edit_recipe(args, config, basepath, workspace): raise DevtoolError("Recipe file for %s is not under the workspace" % args.recipename) - return scriptutils.run_editor(recipefile, logger) + +def edit_recipe(args, config, basepath, workspace): + """Entry point for the devtool 'edit-recipe' subcommand""" + return scriptutils.run_editor(find_recipe(args, config, basepath, workspace), logger) def configure_help(args, config, basepath, workspace): @@ -220,6 +222,14 @@ def register_commands(subparsers, context): parser_edit_recipe.add_argument('--any-recipe', '-a', action="store_true", help='Edit any recipe, not just where the recipe file itself is in the workspace') parser_edit_recipe.set_defaults(func=edit_recipe) + # Find-recipe + parser_find_recipe = subparsers.add_parser('find-recipe', help='Find a recipe file in your workspace', + description='By default, this will find a recipe file in your workspace; you can override this with the -a/--any-recipe option.', + group='working') + parser_find_recipe.add_argument('recipename', help='Recipe to find') + parser_find_recipe.add_argument('--any-recipe', '-a', action="store_true", help='Find any recipe, not just where the recipe file itself is in the workspace') + parser_find_recipe.set_defaults(func=find_recipe) + # NOTE: Needed to override the usage string here since the default # gets the order wrong - recipename must come before --arg parser_configure_help = subparsers.add_parser('configure-help', help='Get help on configure script options', -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 11:38:02 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 11:38:02 +0000 Subject: [oe-commits] [openembedded-core] 18/40: initscripts: start bootmisc.sh at 36 instead of 55 In-Reply-To: <150063706469.7801.1164299489424290804@git.openembedded.org> References: <150063706469.7801.1164299489424290804@git.openembedded.org> Message-ID: <20170721113745.81609232839@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit e76636db16907d70545dad2ff1ce2c82213a8c97 Author: David Vincent AuthorDate: Mon Jul 10 12:45:33 2017 +0200 initscripts: start bootmisc.sh at 36 instead of 55 bootmisc.sh is responsible for setting the system date to a sane default. Currently, it is the last script to be run from the rcS runlevel. Problem is that the files created before appear to have been created on 1/1/1970. Most notably, /var/log/dmesg created in dmesg.sh cannot be properly rotated with logrotate which does not consider it a valid date and stops processing. There is no blocker on moving this script right before populating volatiles because it just requires the local and virtual filesystems to be mounted to work. Signed-off-by: David Vincent Signed-off-by: Ross Burton --- meta/recipes-core/initscripts/initscripts_1.0.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-core/initscripts/initscripts_1.0.bb b/meta/recipes-core/initscripts/initscripts_1.0.bb index 2e4f7e4..a65f1b2 100644 --- a/meta/recipes-core/initscripts/initscripts_1.0.bb +++ b/meta/recipes-core/initscripts/initscripts_1.0.bb @@ -134,7 +134,7 @@ do_install () { update-rc.d -r ${D} mountall.sh start 03 S . update-rc.d -r ${D} hostname.sh start 39 S . update-rc.d -r ${D} mountnfs.sh start 15 2 3 4 5 . - update-rc.d -r ${D} bootmisc.sh start 55 S . + update-rc.d -r ${D} bootmisc.sh start 36 S . update-rc.d -r ${D} sysfs.sh start 02 S . update-rc.d -r ${D} populate-volatile.sh start 37 S . update-rc.d -r ${D} read-only-rootfs-hook.sh start 29 S . -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 11:38:01 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 11:38:01 +0000 Subject: [oe-commits] [openembedded-core] 17/40: logrotate: Add systemd support In-Reply-To: <150063706469.7801.1164299489424290804@git.openembedded.org> References: <150063706469.7801.1164299489424290804@git.openembedded.org> Message-ID: <20170721113745.77A3D232838@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 1959cbb570c188e67e27122664127f8e046c9649 Author: Romain Perier AuthorDate: Tue Jul 11 08:46:06 2017 +0200 logrotate: Add systemd support Currently, this recipe only supports daily scheduling via a cron job. This commit adds support for systemd in the recipe, as the feature is already supported on upstream. When the corresponding distro feature is enabled the systemd variant will be used. The timer granularity and its accuracy are also configurable. Signed-off-by: Romain Perier Signed-off-by: Ross Burton --- .../recipes-extended/logrotate/logrotate_3.12.3.bb | 25 +++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/meta/recipes-extended/logrotate/logrotate_3.12.3.bb b/meta/recipes-extended/logrotate/logrotate_3.12.3.bb index 2033be1..05705be 100644 --- a/meta/recipes-extended/logrotate/logrotate_3.12.3.bb +++ b/meta/recipes-extended/logrotate/logrotate_3.12.3.bb @@ -53,14 +53,33 @@ EXTRA_OEMAKE = "\ # INSTALL=install and BASEDIR=/usr. OS_NAME = "Linux" -inherit autotools +inherit autotools systemd + +SYSTEMD_SERVICE_${PN} = "\ + ${PN}.service \ + ${PN}.timer \ +" + +LOGROTATE_SYSTEMD_TIMER_BASIS ?= "daily" +LOGROTATE_SYSTEMD_TIMER_ACCURACY ?= "12h" do_install(){ oe_runmake install DESTDIR=${D} PREFIX=${D} MANDIR=${mandir} mkdir -p ${D}${sysconfdir}/logrotate.d - mkdir -p ${D}${sysconfdir}/cron.daily mkdir -p ${D}${localstatedir}/lib install -p -m 644 ${S}/examples/logrotate-default ${D}${sysconfdir}/logrotate.conf - install -p -m 755 ${S}/examples/logrotate.cron ${D}${sysconfdir}/cron.daily/logrotate touch ${D}${localstatedir}/lib/logrotate.status + + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${systemd_system_unitdir} + install -m 0644 ${S}/examples/logrotate.service ${D}${systemd_system_unitdir}/logrotate.service + install -m 0644 ${S}/examples/logrotate.timer ${D}${systemd_system_unitdir}/logrotate.timer + sed -i -e 's,OnCalendar=.*$,OnCalendar=${LOGROTATE_SYSTEMD_TIMER_BASIS},g' ${D}${systemd_system_unitdir}/logrotate.timer + sed -i -e 's,AccuracySec=.*$,AccuracySec=${LOGROTATE_SYSTEMD_TIMER_ACCURACY},g' ${D}${systemd_system_unitdir}/logrotate.timer + fi + + if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then + mkdir -p ${D}${sysconfdir}/cron.daily + install -p -m 0755 ${S}/examples/logrotate.cron ${D}${sysconfdir}/cron.daily/logrotate + fi } -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 11:37:59 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 11:37:59 +0000 Subject: [oe-commits] [openembedded-core] 15/40: initramfs-framework: include install-efi module in recipe for installation In-Reply-To: <150063706469.7801.1164299489424290804@git.openembedded.org> References: <150063706469.7801.1164299489424290804@git.openembedded.org> Message-ID: <20170721113745.6815A232836@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit d055aa6b7c83c5a76aa369c7f8de3adedbe39c38 Author: Ng, Wei Tee AuthorDate: Sun Jul 16 12:29:04 2017 -0700 initramfs-framework: include install-efi module in recipe for installation Utilized the existing init-install-efi.sh script and renamed it to install-efi.sh to manage the installation process of images in initramfs-framework model. This script will be executed when "install" option is being chosen in the grub menu and install the image on the target platform. A new install-efi module is being added in the recipe to handle the installation process using initramfs-framework. [YOCTO #10989] Signed-off-by: Ng, Wei Tee Signed-off-by: Ross Burton --- .../initramfs-framework/install-efi.sh | 276 +++++++++++++++++++++ .../initrdscripts/initramfs-framework_1.0.bb | 13 +- 2 files changed, 287 insertions(+), 2 deletions(-) diff --git a/meta/recipes-core/initrdscripts/initramfs-framework/install-efi.sh b/meta/recipes-core/initrdscripts/initramfs-framework/install-efi.sh new file mode 100644 index 0000000..5ad3a60 --- /dev/null +++ b/meta/recipes-core/initrdscripts/initramfs-framework/install-efi.sh @@ -0,0 +1,276 @@ +#!/bin/sh -e +# +# Copyright (c) 2012, Intel Corporation. +# All rights reserved. +# +# install.sh [device_name] [rootfs_name] +# + +PATH=/sbin:/bin:/usr/sbin:/usr/bin + +# We need 20 Mb for the boot partition +boot_size=20 + +# 5% for swap +swap_ratio=5 + +# Get a list of hard drives +hdnamelist="" +live_dev_name=`cat /proc/mounts | grep ${1%/} | awk '{print $1}'` +live_dev_name=${live_dev_name#\/dev/} +# Only strip the digit identifier if the device is not an mmc +case $live_dev_name in + mmcblk*) + ;; + nvme*) + ;; + *) + live_dev_name=${live_dev_name%%[0-9]*} + ;; +esac + +echo "Searching for hard drives ..." + +# Some eMMC devices have special sub devices such as mmcblk0boot0 etc +# we're currently only interested in the root device so pick them wisely +devices=`ls /sys/block/ | grep -v mmcblk` || true +mmc_devices=`ls /sys/block/ | grep "mmcblk[0-9]\{1,\}$"` || true +devices="$devices $mmc_devices" + +for device in $devices; do + case $device in + loop*) + # skip loop device + ;; + sr*) + # skip CDROM device + ;; + ram*) + # skip ram device + ;; + *) + # skip the device LiveOS is on + # Add valid hard drive name to the list + case $device in + $live_dev_name*) + # skip the device we are running from + ;; + *) + hdnamelist="$hdnamelist $device" + ;; + esac + ;; + esac +done + +if [ -z "${hdnamelist}" ]; then + echo "You need another device (besides the live device /dev/${live_dev_name}) to install the image. Installation aborted." + exit 1 +fi + +TARGET_DEVICE_NAME="" +for hdname in $hdnamelist; do + # Display found hard drives and their basic info + echo "-------------------------------" + echo /dev/$hdname + if [ -r /sys/block/$hdname/device/vendor ]; then + echo -n "VENDOR=" + cat /sys/block/$hdname/device/vendor + fi + if [ -r /sys/block/$hdname/device/model ]; then + echo -n "MODEL=" + cat /sys/block/$hdname/device/model + fi + if [ -r /sys/block/$hdname/device/uevent ]; then + echo -n "UEVENT=" + cat /sys/block/$hdname/device/uevent + fi + echo +done + +# Get user choice +while true; do + echo "Please select an install target or press n to exit ($hdnamelist ): " + read answer + if [ "$answer" = "n" ]; then + echo "Installation manually aborted." + exit 1 + fi + for hdname in $hdnamelist; do + if [ "$answer" = "$hdname" ]; then + TARGET_DEVICE_NAME=$answer + break + fi + done + if [ -n "$TARGET_DEVICE_NAME" ]; then + break + fi +done + +if [ -n "$TARGET_DEVICE_NAME" ]; then + echo "Installing image on /dev/$TARGET_DEVICE_NAME ..." +else + echo "No hard drive selected. Installation aborted." + exit 1 +fi + +device=/dev/$TARGET_DEVICE_NAME + +# +# The udev automounter can cause pain here, kill it +# +rm -f /etc/udev/rules.d/automount.rules +rm -f /etc/udev/scripts/mount* + +# +# Unmount anything the automounter had mounted +# +umount ${device}* 2> /dev/null || /bin/true + +mkdir -p /tmp + +# Create /etc/mtab if not present +if [ ! -e /etc/mtab ] && [ -e /proc/mounts ]; then + ln -sf /proc/mounts /etc/mtab +fi + +disk_size=$(parted ${device} unit mb print | grep '^Disk .*: .*MB' | cut -d" " -f 3 | sed -e "s/MB//") + +swap_size=$((disk_size*swap_ratio/100)) +rootfs_size=$((disk_size-boot_size-swap_size)) + +rootfs_start=$((boot_size)) +rootfs_end=$((rootfs_start+rootfs_size)) +swap_start=$((rootfs_end)) + +# MMC devices are special in a couple of ways +# 1) they use a partition prefix character 'p' +# 2) they are detected asynchronously (need rootwait) +rootwait="" +part_prefix="" +if [ ! "${device#/dev/mmcblk}" = "${device}" ] || \ + [ ! "${device#/dev/nvme}" = "${device}" ]; then + part_prefix="p" + rootwait="rootwait" +fi + +# USB devices also require rootwait +if [ -n `readlink /dev/disk/by-id/usb* | grep $TARGET_DEVICE_NAME` ]; then + rootwait="rootwait" +fi + +bootfs=${device}${part_prefix}1 +rootfs=${device}${part_prefix}2 +swap=${device}${part_prefix}3 + +echo "*****************" +echo "Boot partition size: $boot_size MB ($bootfs)" +echo "Rootfs partition size: $rootfs_size MB ($rootfs)" +echo "Swap partition size: $swap_size MB ($swap)" +echo "*****************" +echo "Deleting partition table on ${device} ..." +dd if=/dev/zero of=${device} bs=512 count=35 + +echo "Creating new partition table on ${device} ..." +parted ${device} mklabel gpt + +echo "Creating boot partition on $bootfs" +parted ${device} mkpart boot fat32 0% $boot_size +parted ${device} set 1 boot on + +echo "Creating rootfs partition on $rootfs" +parted ${device} mkpart root ext3 $rootfs_start $rootfs_end + +echo "Creating swap partition on $swap" +parted ${device} mkpart swap linux-swap $swap_start 100% + +parted ${device} print + +echo "Formatting $bootfs to vfat..." +mkfs.vfat $bootfs + +echo "Formatting $rootfs to ext3..." +mkfs.ext3 $rootfs + +echo "Formatting swap partition...($swap)" +mkswap $swap + +mkdir /tgt_root +mkdir /src_root +mkdir -p /boot + +# Handling of the target root partition +mount $rootfs /tgt_root +mount -o rw,loop,noatime,nodiratime /run/media/$1/$2 /src_root +echo "Copying rootfs files..." +cp -a /src_root/* /tgt_root +if [ -d /tgt_root/etc/ ] ; then + boot_uuid=$(blkid -o value -s UUID ${bootfs}) + swap_part_uuid=$(blkid -o value -s PARTUUID ${swap}) + echo "/dev/disk/by-partuuid/$swap_part_uuid swap swap defaults 0 0" >> /tgt_root/etc/fstab + echo "UUID=$boot_uuid /boot vfat defaults 1 2" >> /tgt_root/etc/fstab + # We dont want udev to mount our root device while we're booting... + if [ -d /tgt_root/etc/udev/ ] ; then + echo "${device}" >> /tgt_root/etc/udev/mount.blacklist + fi +fi + +umount /src_root + +# Handling of the target boot partition +mount $bootfs /boot +echo "Preparing boot partition..." + +EFIDIR="/boot/EFI/BOOT" +mkdir -p $EFIDIR +# Copy the efi loader +cp /run/media/$1/EFI/BOOT/*.efi $EFIDIR + +if [ -f /run/media/$1/EFI/BOOT/grub.cfg ]; then + root_part_uuid=$(blkid -o value -s PARTUUID ${rootfs}) + GRUBCFG="$EFIDIR/grub.cfg" + cp /run/media/$1/EFI/BOOT/grub.cfg $GRUBCFG + # Update grub config for the installed image + # Delete the install entry + sed -i "/menuentry 'install'/,/^}/d" $GRUBCFG + # Delete the initrd lines + sed -i "/initrd /d" $GRUBCFG + # Delete any LABEL= strings + sed -i "s/ LABEL=[^ ]*/ /" $GRUBCFG + # Delete any root= strings + sed -i "s/ root=[^ ]*/ /g" $GRUBCFG + # Add the root= and other standard boot options + sed -i "s at linux /vmlinuz *@linux /vmlinuz root=PARTUUID=$root_part_uuid rw $rootwait quiet @" $GRUBCFG +fi + +if [ -d /run/media/$1/loader ]; then + rootuuid=$(blkid -o value -s PARTUUID ${rootfs}) + SYSTEMDBOOT_CFGS="/boot/loader/entries/*.conf" + # copy config files for systemd-boot + cp -dr /run/media/$1/loader /boot + # delete the install entry + rm -f /boot/loader/entries/install.conf + # delete the initrd lines + sed -i "/initrd /d" $SYSTEMDBOOT_CFGS + # delete any LABEL= strings + sed -i "s/ LABEL=[^ ]*/ /" $SYSTEMDBOOT_CFGS + # delete any root= strings + sed -i "s/ root=[^ ]*/ /" $SYSTEMDBOOT_CFGS + # add the root= and other standard boot options + sed -i "s at options *@options root=PARTUUID=$rootuuid rw $rootwait quiet @" $SYSTEMDBOOT_CFGS +fi + +umount /tgt_root + +cp /run/media/$1/vmlinuz /boot + +umount /boot + +sync + +echo "Remove your installation media, and press ENTER" + +read enter + +echo "Rebooting..." +reboot -f diff --git a/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb index 211e89d..2928e5d 100644 --- a/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb +++ b/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb @@ -14,7 +14,8 @@ SRC_URI = "file://init \ file://udev \ file://e2fs \ file://debug \ - file://setup-live" + file://setup-live \ + file://install-efi.sh" S = "${WORKDIR}" @@ -41,6 +42,9 @@ do_install() { # debug install -m 0755 ${WORKDIR}/debug ${D}/init.d/00-debug + # install-efi + install -m 0755 ${WORKDIR}/install-efi.sh ${D}/init.d/install-efi.sh + # Create device nodes expected by some kernels in initramfs # before even executing /init. install -d ${D}/dev @@ -53,7 +57,8 @@ PACKAGES = "${PN}-base \ initramfs-module-e2fs \ initramfs-module-rootfs \ initramfs-module-debug \ - initramfs-module-setup-live" + initramfs-module-setup-live \ + initramfs-module-install-efi" FILES_${PN}-base = "/init /init.d/99-finish /dev" @@ -88,3 +93,7 @@ FILES_initramfs-module-rootfs = "/init.d/90-rootfs" SUMMARY_initramfs-module-debug = "initramfs dynamic debug support" RDEPENDS_initramfs-module-debug = "${PN}-base" FILES_initramfs-module-debug = "/init.d/00-debug" + +SUMMARY_initramfs-module-install-efi = "initramfs support for installation option" +RDEPENDS_initramfs-module-install-efi = "${PN}-base parted e2fsprogs-mke2fs dosfstools util-linux-blkid" +FILES_initramfs-module-install-efi = "/init.d/install-efi.sh" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 11:38:04 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 11:38:04 +0000 Subject: [oe-commits] [openembedded-core] 20/40: icecc.bbclass: prevent nativesdk builds depending on target specific KERNEL_CC In-Reply-To: <150063706469.7801.1164299489424290804@git.openembedded.org> References: <150063706469.7801.1164299489424290804@git.openembedded.org> Message-ID: <20170721113745.93FC323283B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 255423e81ea5bc8030cec444476be880ed112e3b Author: Martin Jansa AuthorDate: Mon Jul 17 16:04:50 2017 +0200 icecc.bbclass: prevent nativesdk builds depending on target specific KERNEL_CC * without this we cause nativesdk-linux-libc-headers to depend on target specific KERNEL_CC (through icecc_get_tool -> icecc_is_kernel -> KERNEL_CC -> HOST_CC_KERNEL_ARCH -> TARGET_CC_KERNEL_ARCH -> TUNE_FEATURES(thumb) as shown by bitbake-diffsigs: OE qemux86@ ~/build/oe-core $ ls /OE/build/oe-core/tmp-glibc/sstate-diff/1499859497/qemu*/*sdk*/*/*do_configure.sigdata* /OE/build/oe-core/tmp-glibc/sstate-diff/1499859497/qemuarm/x86_64-nativesdk-oesdk-linux/nativesdk-linux-libc-headers/4.10-r0.do_configure.sigdata.3a9a423878d56524e0ee8e42eba1804f /OE/build/oe-core/tmp-glibc/sstate-diff/1499859497/qemux86/x86_64-nativesdk-oesdk-linux/nativesdk-linux-libc-headers/4.10-r0.do_configure.sigdata.401071dbaa88903ece37d35a47965ff2 OE qemux86@ ~/build/oe-core $ bitbake-diffsigs /OE/build/oe-core/tmp-glibc/sstate-diff/1499859497/qemu*/*sdk*/*/*do_configure.sigdata* basehash changed from 39774238b66763c598153132e87a2c1a to aa2d66e770bf533e312536eb0a401c4c Variable TARGET_CC_KERNEL_ARCH value changed from '${@bb.utils.contains('TUNE_FEATURES', 'thumb', '-mno-thumb-interwork-marm', '', d)} TUNE_FEATURES{thumb} = Set' to '' Signed-off-by: Martin Jansa Signed-off-by: Ross Burton --- meta/classes/icecc.bbclass | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/classes/icecc.bbclass b/meta/classes/icecc.bbclass index 8a3308b..1cc1c4d 100644 --- a/meta/classes/icecc.bbclass +++ b/meta/classes/icecc.bbclass @@ -42,6 +42,7 @@ def icecc_dep_prepend(d): DEPENDS_prepend += "${@icecc_dep_prepend(d)} " +get_cross_kernel_cc[vardepsexclude] += "KERNEL_CC" def get_cross_kernel_cc(bb,d): kernel_cc = d.getVar('KERNEL_CC', False) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 11:38:09 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 11:38:09 +0000 Subject: [oe-commits] [openembedded-core] 25/40: oe-selftest: wic: add test_mkfs_extraopts test case In-Reply-To: <150063706469.7801.1164299489424290804@git.openembedded.org> References: <150063706469.7801.1164299489424290804@git.openembedded.org> Message-ID: <20170721113745.C58AE23282B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit c9ba5440bc85aaa5bb767813f29b54c46581a299 Author: Ed Bartosh AuthorDate: Thu Jul 6 14:32:35 2017 +0300 oe-selftest: wic: add test_mkfs_extraopts test case Test new wks option --mkfs-extraopts with all filesystems supported by wic. Signed-off-by: Ed Bartosh Signed-off-by: Ross Burton --- meta/lib/oeqa/selftest/cases/wic.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/meta/lib/oeqa/selftest/cases/wic.py b/meta/lib/oeqa/selftest/cases/wic.py index 737fbc6..df205e8 100644 --- a/meta/lib/oeqa/selftest/cases/wic.py +++ b/meta/lib/oeqa/selftest/cases/wic.py @@ -919,3 +919,22 @@ part /etc --source rootfs --ondisk mmcblk0 --fstype=ext4 --exclude-path bin/ --r self.assertEqual(0, result.status) self.assertNotIn('\nBZIMAGE ', result.output) self.assertNotIn('\nEFI

', result.output) + + def test_mkfs_extraopts(self): + """Test wks option --mkfs-extraopts for empty and not empty partitions""" + img = 'core-image-minimal' + with NamedTemporaryFile("w", suffix=".wks") as wks: + wks.writelines( + ['part ext2 --fstype ext2 --source rootfs --mkfs-extraopts "-D -F -i 8192"\n', + 'part btrfs --fstype btrfs --source rootfs --size 40M --mkfs-extraopts "--mixed -K"\n', + 'part squash --fstype squashfs --source rootfs --mkfs-extraopts "-no-sparse -b 4096"\n', + 'part emptyvfat --fstype vfat --size 1M --mkfs-extraopts "-S 1024 -s 64"\n', + 'part emptymsdos --fstype msdos --size 1M --mkfs-extraopts "-S 1024 -s 64"\n', + 'part emptyext2 --fstype ext2 --size 1M --mkfs-extraopts "-D -F -i 8192"\n', + 'part emptybtrfs --fstype btrfs --size 100M --mkfs-extraopts "--mixed -K"\n']) + wks.flush() + cmd = "wic create %s -e %s -o %s" % (wks.name, img, self.resultdir) + self.assertEqual(0, runCmd(cmd).status) + wksname = os.path.splitext(os.path.basename(wks.name))[0] + out = glob(self.resultdir + "%s-*direct" % wksname) + self.assertEqual(1, len(out)) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 11:38:00 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 11:38:00 +0000 Subject: [oe-commits] [openembedded-core] 16/40: logrotate: Bump to 3.12.3 In-Reply-To: <150063706469.7801.1164299489424290804@git.openembedded.org> References: <150063706469.7801.1164299489424290804@git.openembedded.org> Message-ID: <20170721113745.71BB6232837@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 35f93dce8c09c6eaa4a8ce3cf9245fb75afd659b Author: Romain Perier AuthorDate: Tue Jul 11 08:46:05 2017 +0200 logrotate: Bump to 3.12.3 This commit updates the recipe to the last upstream tag. Then, as the tarball no longer contains the pre-generated Makefile, inherit from autotools Signed-off-by: Romain Perier Signed-off-by: Ross Burton --- ...upport-system-dates-back-to-the-year-1970.patch | 27 ------------------ .../logrotate/act-as-mv-when-rotate.patch | 32 ++++++++++++---------- .../logrotate/logrotate/update-the-manual.patch | 16 +++++------ .../{logrotate_3.9.1.bb => logrotate_3.12.3.bb} | 27 ++++++++---------- 4 files changed, 37 insertions(+), 65 deletions(-) diff --git a/meta/recipes-extended/logrotate/logrotate/0001-Support-system-dates-back-to-the-year-1970.patch b/meta/recipes-extended/logrotate/logrotate/0001-Support-system-dates-back-to-the-year-1970.patch deleted file mode 100644 index b544ec6..0000000 --- a/meta/recipes-extended/logrotate/logrotate/0001-Support-system-dates-back-to-the-year-1970.patch +++ /dev/null @@ -1,27 +0,0 @@ -Support system dates back to the year 1970 - -The system time on Linux can be set back as far as 1970 (the epoch time). -Currently logrotate stops working correctly if the time goes before 1996. -This value (1996) appears to have been hard coded since the code was written -back in 1996. Testing and code analysis shows this can simply be modified -to 1970. - -The patch is provided by Matt Bennett - -Upstream-Status: Backport + -Signed-off-by: Zhenbo Gao - -diff --git a/logrotate.c.orig b/logrotate.c -index cf8bf2c..a7dadfb 100644 ---- a/logrotate.c.orig -+++ b/logrotate.c -@@ -2381,7 +2381,7 @@ static int readState(char *stateFilename) - } - - /* Hack to hide earlier bug */ -- if ((year != 1900) && (year < 1996 || year > 2100)) { -+ if ((year != 1900) && (year < 1970 || year > 2100)) { - message(MESS_ERROR, - "bad year %d for file %s in state file %s\n", year, - argv[0], stateFilename); - diff --git a/meta/recipes-extended/logrotate/logrotate/act-as-mv-when-rotate.patch b/meta/recipes-extended/logrotate/logrotate/act-as-mv-when-rotate.patch index 2e931a2..04cb588 100644 --- a/meta/recipes-extended/logrotate/logrotate/act-as-mv-when-rotate.patch +++ b/meta/recipes-extended/logrotate/logrotate/act-as-mv-when-rotate.patch @@ -1,4 +1,4 @@ -From 68f29ab490cf987aa34b5f4caf1784b58a021308 Mon Sep 17 00:00:00 2001 +From 517cbff66c8bdbf455bc3b7c1a85a4f990d0f9a6 Mon Sep 17 00:00:00 2001 From: Robert Yang Date: Tue, 17 Feb 2015 21:08:07 -0800 Subject: [PATCH] Act as the "mv" command when rotate log @@ -10,14 +10,14 @@ Upstream-Status: Pending Signed-off-by: Robert Yang --- - logrotate.c | 71 +++++++++++++++++++++++++++++++++++++++++++++++++---------- - 1 file changed, 59 insertions(+), 12 deletions(-) + logrotate.c | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++----------- + 1 file changed, 60 insertions(+), 12 deletions(-) diff --git a/logrotate.c b/logrotate.c -index d3deb6a..cf8bf2c 100644 +index 4ad58d4..ba05884 100644 --- a/logrotate.c +++ b/logrotate.c -@@ -1157,6 +1157,53 @@ int findNeedRotating(struct logInfo *log, int logNum, int force) +@@ -1315,6 +1315,54 @@ static int findNeedRotating(struct logInfo *log, int logNum, int force) return 0; } @@ -68,10 +68,11 @@ index d3deb6a..cf8bf2c 100644 + return 1; +} + - int prerotateSingleLog(struct logInfo *log, int logNum, struct logState *state, - struct logNames *rotNames) ++ + static int prerotateSingleLog(struct logInfo *log, int logNum, + struct logState *state, struct logNames *rotNames) { -@@ -1523,15 +1570,15 @@ int prerotateSingleLog(struct logInfo *log, int logNum, struct logState *state, +@@ -1674,15 +1722,15 @@ static int prerotateSingleLog(struct logInfo *log, int logNum, } message(MESS_DEBUG, @@ -90,7 +91,7 @@ index d3deb6a..cf8bf2c 100644 oldName, newName, strerror(errno)); hasErrors = 1; } -@@ -1669,21 +1716,21 @@ int rotateSingleLog(struct logInfo *log, int logNum, struct logState *state, +@@ -1767,21 +1815,21 @@ static int rotateSingleLog(struct logInfo *log, int logNum, return 1; } @@ -115,19 +116,19 @@ index d3deb6a..cf8bf2c 100644 - message(MESS_ERROR, "failed to rename %s to %s: %s\n", + mvFile(log->files[logNum], rotNames->finalName, log, prev_acl)) { + message(MESS_ERROR, "failed to move %s to %s: %s\n", - log->files[logNum], tmpFilename, + log->files[logNum], rotNames->finalName, strerror(errno)); hasErrors = 1; -@@ -2063,7 +2110,7 @@ int rotateLogSet(struct logInfo *log, int force) +@@ -2170,7 +2218,7 @@ static int rotateLogSet(struct logInfo *log, int force) return hasErrors; } --static int writeState(char *stateFilename) +-static int writeState(const char *stateFilename) +static int writeState(struct logInfo *log, char *stateFilename) { struct logState *p; FILE *f; -@@ -2227,7 +2274,7 @@ static int writeState(char *stateFilename) +@@ -2322,7 +2370,7 @@ static int writeState(const char *stateFilename) fclose(f); if (error == 0) { @@ -136,7 +137,7 @@ index d3deb6a..cf8bf2c 100644 unlink(tmpFilename); error = 1; message(MESS_ERROR, "error renaming temp state file %s\n", -@@ -2525,7 +2572,7 @@ int main(int argc, const char **argv) +@@ -2648,7 +2696,7 @@ int main(int argc, const char **argv) rc |= rotateLogSet(log, force); if (!debug) @@ -145,3 +146,6 @@ index d3deb6a..cf8bf2c 100644 return (rc != 0); } +-- +1.8.3.1 + diff --git a/meta/recipes-extended/logrotate/logrotate/update-the-manual.patch b/meta/recipes-extended/logrotate/logrotate/update-the-manual.patch index 50d037d..725567e 100644 --- a/meta/recipes-extended/logrotate/logrotate/update-the-manual.patch +++ b/meta/recipes-extended/logrotate/logrotate/update-the-manual.patch @@ -1,4 +1,4 @@ -From e0b0fe30e9c49234994a20a86aacfaf80e690087 Mon Sep 17 00:00:00 2001 +From bf22e8805df69344f6f20cea390e829a22fa741b Mon Sep 17 00:00:00 2001 From: Robert Yang Date: Tue, 17 Feb 2015 21:14:37 -0800 Subject: [PATCH] Update the manual @@ -9,14 +9,14 @@ Upstream-Status: Pending Signed-off-by: Robert Yang --- - logrotate.8 | 10 ++++------ + logrotate.8.in | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) -diff --git a/logrotate.8 b/logrotate.8 -index e4e5f48..84407d0 100644 ---- a/logrotate.8 -+++ b/logrotate.8 -@@ -405,12 +405,10 @@ Do not rotate the log if it is empty (this overrides the \fBifempty\fR option). +diff --git a/logrotate.8.in b/logrotate.8.in +index 951e406..581bf48 100644 +--- a/logrotate.8.in ++++ b/logrotate.8.in +@@ -445,12 +445,10 @@ Do not rotate the log if it is empty (this overrides the \fBifempty\fR option). .TP \fBolddir \fIdirectory\fR @@ -34,5 +34,5 @@ index e4e5f48..84407d0 100644 .TP -- -1.7.9.5 +1.8.3.1 diff --git a/meta/recipes-extended/logrotate/logrotate_3.9.1.bb b/meta/recipes-extended/logrotate/logrotate_3.12.3.bb similarity index 67% rename from meta/recipes-extended/logrotate/logrotate_3.9.1.bb rename to meta/recipes-extended/logrotate/logrotate_3.12.3.bb index 7c73212..2033be1 100644 --- a/meta/recipes-extended/logrotate/logrotate_3.9.1.bb +++ b/meta/recipes-extended/logrotate/logrotate_3.12.3.bb @@ -3,32 +3,30 @@ SECTION = "console/utils" HOMEPAGE = "https://github.com/logrotate/logrotate/issues" LICENSE = "GPLv2" -# TODO: logrotate 3.8.8 adds autotools/automake support, update recipe to use it. # TODO: Document coreutils dependency. Why not RDEPENDS? Why not busybox? DEPENDS="coreutils popt" -LIC_FILES_CHKSUM = "file://COPYING;md5=18810669f13b87348459e611d31ab760" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" # When updating logrotate to latest upstream, SRC_URI should point to # a proper release tarball from https://github.com/logrotate/logrotate/releases # and we have to take the snapshot for now because there is no such # tarball available for 3.9.1. -S = "${WORKDIR}/${BPN}-r3-9-1" +S = "${WORKDIR}/${BPN}-${PV}" UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases" UPSTREAM_CHECK_REGEX = "logrotate-(?P\d+(\.\d+)+).tar" -SRC_URI = "https://github.com/${BPN}/${BPN}/archive/r3-9-1.tar.gz \ - file://act-as-mv-when-rotate.patch \ - file://update-the-manual.patch \ - file://disable-check-different-filesystems.patch \ - file://0001-Support-system-dates-back-to-the-year-1970.patch \ +SRC_URI = "https://github.com/${BPN}/${BPN}/archive/${PV}.tar.gz \ + file://act-as-mv-when-rotate.patch \ + file://update-the-manual.patch \ + file://disable-check-different-filesystems.patch \ " -SRC_URI[md5sum] = "8572b7c2cf9ade09a8a8e10098500fb3" -SRC_URI[sha256sum] = "5bf8e478c428e7744fefa465118f8296e7e771c981fb6dffb7527856a0ea3617" +SRC_URI[md5sum] = "d1c41bdf63b9993c8e4e8b48a7bd5b8b" +SRC_URI[sha256sum] = "683ccb7fff74082471aa6bd9e962ae7a3f4d55eea7df41fd97aa12ec6f55e657" PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'acl selinux', d)}" @@ -55,17 +53,14 @@ EXTRA_OEMAKE = "\ # INSTALL=install and BASEDIR=/usr. OS_NAME = "Linux" -do_compile_prepend() { - # Make sure the recompile is OK - rm -f ${B}/.depend -} +inherit autotools do_install(){ oe_runmake install DESTDIR=${D} PREFIX=${D} MANDIR=${mandir} mkdir -p ${D}${sysconfdir}/logrotate.d mkdir -p ${D}${sysconfdir}/cron.daily mkdir -p ${D}${localstatedir}/lib - install -p -m 644 examples/logrotate-default ${D}${sysconfdir}/logrotate.conf - install -p -m 755 examples/logrotate.cron ${D}${sysconfdir}/cron.daily/logrotate + install -p -m 644 ${S}/examples/logrotate-default ${D}${sysconfdir}/logrotate.conf + install -p -m 755 ${S}/examples/logrotate.cron ${D}${sysconfdir}/cron.daily/logrotate touch ${D}${localstatedir}/lib/logrotate.status } -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 11:38:10 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 11:38:10 +0000 Subject: [oe-commits] [openembedded-core] 26/40: mesa: Upgrade to 17.1.5 release In-Reply-To: <150063706469.7801.1164299489424290804@git.openembedded.org> References: <150063706469.7801.1164299489424290804@git.openembedded.org> Message-ID: <20170721113745.CF1B423283C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit a9213baac51d53a72f97ff46d862f967c4546348 Author: Otavio Salvador AuthorDate: Mon Jul 17 15:40:49 2017 -0300 mesa: Upgrade to 17.1.5 release This is a stable bugfix release. Following upstream bugs were fixed: Bug 100242 - radeon buffer allocation failure during startup of Factorio Bug 101657 - strtod.c:32:10: fatal error: xlocale.h: No such file or directory Bug 101666 - bitfieldExtract is marked as a built-in function on OpenGL ES 3.0, but was added in OpenGL ES 3.1 Bug 101703 - No stencil buffer allocated when requested by GLUT Also, the following patches were included in this release and as such deleted: - etnaviv_fix-shader-miscompilation.patch Signed-off-by: Otavio Salvador Signed-off-by: Ross Burton --- .../files/etnaviv_fix-shader-miscompilation.patch | 220 --------------------- .../mesa/{mesa-gl_17.1.4.bb => mesa-gl_17.1.5.bb} | 0 .../mesa/{mesa_17.1.4.bb => mesa_17.1.5.bb} | 6 +- 3 files changed, 2 insertions(+), 224 deletions(-) diff --git a/meta/recipes-graphics/mesa/files/etnaviv_fix-shader-miscompilation.patch b/meta/recipes-graphics/mesa/files/etnaviv_fix-shader-miscompilation.patch deleted file mode 100644 index 0354e2a..0000000 --- a/meta/recipes-graphics/mesa/files/etnaviv_fix-shader-miscompilation.patch +++ /dev/null @@ -1,220 +0,0 @@ -From ec43605189907fa327a4a7f457aa3c822cfdea5d Mon Sep 17 00:00:00 2001 -From: Lucas Stach -Date: Mon, 26 Jun 2017 18:24:31 +0200 -Subject: etnaviv: fix shader miscompilation with more than 16 labels - -The labels array may change its virtual address on a reallocation, so -it is invalid to cache pointers into the array. Rather than using the -pointer directly, remember the array index. - -Fixes miscompilation of shaders in glmark2 ideas, leading to GPU hangs. - -Fixes: c9e8b49b (etnaviv: gallium driver for Vivante GPUs) -Cc: mesa-stable at lists.freedesktop.org -Signed-off-by: Lucas Stach -Reviewed-by: Christian Gmeiner - -Upstream-Status: Backport [17.1.5] - -diff --git a/src/gallium/drivers/etnaviv/etnaviv_compiler.c b/src/gallium/drivers/etnaviv/etnaviv_compiler.c -index eafb511..af0f76b 100644 ---- a/src/gallium/drivers/etnaviv/etnaviv_compiler.c -+++ b/src/gallium/drivers/etnaviv/etnaviv_compiler.c -@@ -119,10 +119,10 @@ enum etna_compile_frame_type { - */ - struct etna_compile_frame { - enum etna_compile_frame_type type; -- struct etna_compile_label *lbl_else; -- struct etna_compile_label *lbl_endif; -- struct etna_compile_label *lbl_loop_bgn; -- struct etna_compile_label *lbl_loop_end; -+ int lbl_else_idx; -+ int lbl_endif_idx; -+ int lbl_loop_bgn_idx; -+ int lbl_loop_end_idx; - }; - - struct etna_compile_file { -@@ -178,7 +178,7 @@ struct etna_compile { - /* Fields for handling nested conditionals */ - struct etna_compile_frame frame_stack[ETNA_MAX_DEPTH]; - int frame_sp; -- struct etna_compile_label *lbl_usage[ETNA_MAX_INSTRUCTIONS]; -+ int lbl_usage[ETNA_MAX_INSTRUCTIONS]; - - unsigned labels_count, labels_sz; - struct etna_compile_label *labels; -@@ -990,7 +990,7 @@ etna_src_uniforms_conflict(struct etna_inst_src a, struct etna_inst_src b) - } - - /* create a new label */ --static struct etna_compile_label * -+static unsigned int - alloc_new_label(struct etna_compile *c) - { - struct etna_compile_label label = { -@@ -999,7 +999,7 @@ alloc_new_label(struct etna_compile *c) - - array_insert(c->labels, label); - -- return &c->labels[c->labels_count - 1]; -+ return c->labels_count - 1; - } - - /* place label at current instruction pointer */ -@@ -1015,10 +1015,10 @@ label_place(struct etna_compile *c, struct etna_compile_label *label) - * as the value becomes known. - */ - static void --label_mark_use(struct etna_compile *c, struct etna_compile_label *label) -+label_mark_use(struct etna_compile *c, int lbl_idx) - { - assert(c->inst_ptr < ETNA_MAX_INSTRUCTIONS); -- c->lbl_usage[c->inst_ptr] = label; -+ c->lbl_usage[c->inst_ptr] = lbl_idx; - } - - /* walk the frame stack and return first frame with matching type */ -@@ -1099,8 +1099,8 @@ trans_if(const struct instr_translater *t, struct etna_compile *c, - /* push IF to stack */ - f->type = ETNA_COMPILE_FRAME_IF; - /* create "else" label */ -- f->lbl_else = alloc_new_label(c); -- f->lbl_endif = NULL; -+ f->lbl_else_idx = alloc_new_label(c); -+ f->lbl_endif_idx = -1; - - /* We need to avoid the emit_inst() below becoming two instructions */ - if (etna_src_uniforms_conflict(src[0], imm_0)) -@@ -1108,7 +1108,7 @@ trans_if(const struct instr_translater *t, struct etna_compile *c, - - /* mark position in instruction stream of label reference so that it can be - * filled in in next pass */ -- label_mark_use(c, f->lbl_else); -+ label_mark_use(c, f->lbl_else_idx); - - /* create conditional branch to label if src0 EQ 0 */ - emit_inst(c, &(struct etna_inst){ -@@ -1129,8 +1129,8 @@ trans_else(const struct instr_translater *t, struct etna_compile *c, - assert(f->type == ETNA_COMPILE_FRAME_IF); - - /* create "endif" label, and branch to endif label */ -- f->lbl_endif = alloc_new_label(c); -- label_mark_use(c, f->lbl_endif); -+ f->lbl_endif_idx = alloc_new_label(c); -+ label_mark_use(c, f->lbl_endif_idx); - emit_inst(c, &(struct etna_inst) { - .opcode = INST_OPCODE_BRANCH, - .cond = INST_CONDITION_TRUE, -@@ -1138,7 +1138,7 @@ trans_else(const struct instr_translater *t, struct etna_compile *c, - }); - - /* mark "else" label at this position in instruction stream */ -- label_place(c, f->lbl_else); -+ label_place(c, &c->labels[f->lbl_else_idx]); - } - - static void -@@ -1151,10 +1151,10 @@ trans_endif(const struct instr_translater *t, struct etna_compile *c, - - /* assign "endif" or "else" (if no ELSE) label to current position in - * instruction stream, pop IF */ -- if (f->lbl_endif != NULL) -- label_place(c, f->lbl_endif); -+ if (f->lbl_endif_idx != -1) -+ label_place(c, &c->labels[f->lbl_endif_idx]); - else -- label_place(c, f->lbl_else); -+ label_place(c, &c->labels[f->lbl_else_idx]); - } - - static void -@@ -1166,10 +1166,10 @@ trans_loop_bgn(const struct instr_translater *t, struct etna_compile *c, - - /* push LOOP to stack */ - f->type = ETNA_COMPILE_FRAME_LOOP; -- f->lbl_loop_bgn = alloc_new_label(c); -- f->lbl_loop_end = alloc_new_label(c); -+ f->lbl_loop_bgn_idx = alloc_new_label(c); -+ f->lbl_loop_end_idx = alloc_new_label(c); - -- label_place(c, f->lbl_loop_bgn); -+ label_place(c, &c->labels[f->lbl_loop_bgn_idx]); - - c->num_loops++; - } -@@ -1185,7 +1185,7 @@ trans_loop_end(const struct instr_translater *t, struct etna_compile *c, - - /* mark position in instruction stream of label reference so that it can be - * filled in in next pass */ -- label_mark_use(c, f->lbl_loop_bgn); -+ label_mark_use(c, f->lbl_loop_bgn_idx); - - /* create branch to loop_bgn label */ - emit_inst(c, &(struct etna_inst) { -@@ -1195,7 +1195,7 @@ trans_loop_end(const struct instr_translater *t, struct etna_compile *c, - /* imm is filled in later */ - }); - -- label_place(c, f->lbl_loop_end); -+ label_place(c, &c->labels[f->lbl_loop_end_idx]); - } - - static void -@@ -1207,7 +1207,7 @@ trans_brk(const struct instr_translater *t, struct etna_compile *c, - - /* mark position in instruction stream of label reference so that it can be - * filled in in next pass */ -- label_mark_use(c, f->lbl_loop_end); -+ label_mark_use(c, f->lbl_loop_end_idx); - - /* create branch to loop_end label */ - emit_inst(c, &(struct etna_inst) { -@@ -1227,7 +1227,7 @@ trans_cont(const struct instr_translater *t, struct etna_compile *c, - - /* mark position in instruction stream of label reference so that it can be - * filled in in next pass */ -- label_mark_use(c, f->lbl_loop_bgn); -+ label_mark_use(c, f->lbl_loop_bgn_idx); - - /* create branch to loop_end label */ - emit_inst(c, &(struct etna_inst) { -@@ -1998,8 +1998,9 @@ static void - etna_compile_fill_in_labels(struct etna_compile *c) - { - for (int idx = 0; idx < c->inst_ptr; ++idx) { -- if (c->lbl_usage[idx]) -- etna_assemble_set_imm(&c->code[idx * 4], c->lbl_usage[idx]->inst_idx); -+ if (c->lbl_usage[idx] != -1) -+ etna_assemble_set_imm(&c->code[idx * 4], -+ c->labels[c->lbl_usage[idx]].inst_idx); - } - } - -@@ -2301,6 +2302,8 @@ etna_compile_shader(struct etna_shader_variant *v) - if (!c) - return false; - -+ memset(&c->lbl_usage, -1, ARRAY_SIZE(c->lbl_usage)); -+ - const struct tgsi_token *tokens = v->shader->tokens; - - c->specs = specs; -@@ -2430,12 +2433,13 @@ etna_compile_shader(struct etna_shader_variant *v) - etna_compile_add_z_div_if_needed(c); - etna_compile_frag_rb_swap(c); - etna_compile_add_nop_if_needed(c); -- etna_compile_fill_in_labels(c); - - ret = etna_compile_check_limits(c); - if (!ret) - goto out; - -+ etna_compile_fill_in_labels(c); -+ - /* fill in output structure */ - v->processor = c->info.processor; - v->code_size = c->inst_ptr * 4; --- -cgit v0.10.2 - diff --git a/meta/recipes-graphics/mesa/mesa-gl_17.1.4.bb b/meta/recipes-graphics/mesa/mesa-gl_17.1.5.bb similarity index 100% rename from meta/recipes-graphics/mesa/mesa-gl_17.1.4.bb rename to meta/recipes-graphics/mesa/mesa-gl_17.1.5.bb diff --git a/meta/recipes-graphics/mesa/mesa_17.1.4.bb b/meta/recipes-graphics/mesa/mesa_17.1.5.bb similarity index 80% rename from meta/recipes-graphics/mesa/mesa_17.1.4.bb rename to meta/recipes-graphics/mesa/mesa_17.1.5.bb index f0b634a..ddfcb37 100644 --- a/meta/recipes-graphics/mesa/mesa_17.1.4.bb +++ b/meta/recipes-graphics/mesa/mesa_17.1.5.bb @@ -3,15 +3,13 @@ require ${BPN}.inc SRC_URI = "https://mesa.freedesktop.org/archive/mesa-${PV}.tar.xz \ file://replace_glibc_check_with_linux.patch \ file://disable-asm-on-non-gcc.patch \ - file://etnaviv_fix-shader-miscompilation.patch \ file://0001-Use-wayland-scanner-in-the-path.patch \ file://0002-hardware-gloat.patch \ file://0001-mapi-Only-install-khrplatform.h-with-EGL-or-GLES.patch \ file://vulkan-mkdir.patch \ " - -SRC_URI[md5sum] = "be2ef7c9edec23b07f74f6512a6a6fa5" -SRC_URI[sha256sum] = "06f3b0e6a28f0d20b7f3391cf67fe89ae98ecd0a686cd545da76557b6cec9cad" +SRC_URI[md5sum] = "6cf936fbcaadd98924298a7009e8265d" +SRC_URI[sha256sum] = "378516b171712687aace4c7ea8b37c85895231d7a6d61e1e27362cf6034fded9" #because we cannot rely on the fact that all apps will use pkgconfig, #make eglplatform.h independent of MESA_EGL_NO_X11_HEADER -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 11:38:03 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 11:38:03 +0000 Subject: [oe-commits] [openembedded-core] 19/40: licenses.conf: enable CDDLv1 license In-Reply-To: <150063706469.7801.1164299489424290804@git.openembedded.org> References: <150063706469.7801.1164299489424290804@git.openembedded.org> Message-ID: <20170721113745.8C37723283A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit a6ac030b15f27e799648b9dee322d4dcd1804f49 Author: Martin Kelly AuthorDate: Mon Jul 10 15:18:33 2017 -0700 licenses.conf: enable CDDLv1 license The CDDL license is now used by open-vm-tools in meta-openembedded, so we need to add it in order to prevent warnings. Signed-off-by: Martin Kelly Signed-off-by: Ross Burton --- meta/conf/licenses.conf | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/meta/conf/licenses.conf b/meta/conf/licenses.conf index d210a0e..3e2d258 100644 --- a/meta/conf/licenses.conf +++ b/meta/conf/licenses.conf @@ -105,6 +105,10 @@ SPDXLICENSEMAP[AFL-1] = "AFL-1.2" SPDXLICENSEMAP[AFLv2] = "AFL-2.0" SPDXLICENSEMAP[AFLv1] = "AFL-1.2" +#CDDL variations +SPDXLICENSEMAP[CDDLv1] = "CDDL-1.0" +SPDXLICENSEMAP[CDDL-1] = "CDDL-1.0" + #Other variations SPDXLICENSEMAP[EPLv1.0] = "EPL-1.0" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 11:38:13 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 11:38:13 +0000 Subject: [oe-commits] [openembedded-core] 29/40: acl: reduce local pending patches In-Reply-To: <150063706469.7801.1164299489424290804@git.openembedded.org> References: <150063706469.7801.1164299489424290804@git.openembedded.org> Message-ID: <20170721113745.E993D23283F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 1d70930e19eb3cd6724e6ddb47e0c3f1d001e1bd Author: Dengke Du AuthorDate: Tue Jul 18 03:56:57 2017 -0400 acl: reduce local pending patches Signed-off-by: Dengke Du Signed-off-by: Ross Burton --- .../attr/acl/test-fix-directory-permissions.patch | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/meta/recipes-support/attr/acl/test-fix-directory-permissions.patch b/meta/recipes-support/attr/acl/test-fix-directory-permissions.patch index a76cbbe..e64990a 100644 --- a/meta/recipes-support/attr/acl/test-fix-directory-permissions.patch +++ b/meta/recipes-support/attr/acl/test-fix-directory-permissions.patch @@ -1,6 +1,9 @@ +From 311589fedf196168382d8f0db303ab328bcf9d83 Mon Sep 17 00:00:00 2001 +From: Peter Seebach +Date: Wed, 11 May 2016 15:16:06 -0500 +Subject: [PATCH] acl.inc, run-ptest: improve ptest functionality on limited + commit c45bae84817a70fef6c2b661a07a492a0d23ae85 -Author: Peter Seebach -Date: Wed May 11 15:16:06 2016 -0500 Fix permissions on temporary directory @@ -10,7 +13,12 @@ Date: Wed May 11 15:16:06 2016 -0500 Signed-off-by: Peter Seebach -Upstream-Status: Pending +Upstream-Status: Backport [ http://git.savannah.gnu.org/cgit/acl.git/commit/?id=c6772a958800de064482634f77c20a0faafc5af6 ] + +Signed-off-by: Dengke Du +--- + test/root/permissions.test | 1 + + 1 file changed, 1 insertion(+) diff --git a/test/root/permissions.test b/test/root/permissions.test index 42615f5..098b52a 100644 @@ -24,3 +32,6 @@ index 42615f5..098b52a 100644 $ mkdir d $ cd d $ umask 027 +-- +2.8.1 + -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 11:38:15 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 11:38:15 +0000 Subject: [oe-commits] [openembedded-core] 31/40: base.bbclass: Make .jar file depend on unzip-native In-Reply-To: <150063706469.7801.1164299489424290804@git.openembedded.org> References: <150063706469.7801.1164299489424290804@git.openembedded.org> Message-ID: <20170721113746.05A3B232841@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 3ef6950bdc2b5af1a31493cc2ed1ed766840f8d1 Author: Ricardo Ribalda Delgado AuthorDate: Tue Jul 18 13:01:53 2017 +0200 base.bbclass: Make .jar file depend on unzip-native Unzip is required for jar files. Without this patch: ERROR: junit4-4.3.1-r0 do_unpack: Unpack failure for URL: 'http://downloads.sourceforge.net/junit/junit-4.3.1-src.jar'. Unpack command PATH="/var/lib/jenkins/workspace/qt5122-dyspro/build/tmp/sysroots-uninative/x86_64-linux/usr/bin ......." unzip -q -o '/var/lib/yocto/downloads/junit-4.3.1-src.jar' failed with return value 127 Suggested-by: Ross Burton Signed-off-by: Ricardo Ribalda Delgado Signed-off-by: Ross Burton --- meta/classes/base.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass index 9c40e01..8c86977 100644 --- a/meta/classes/base.bbclass +++ b/meta/classes/base.bbclass @@ -628,7 +628,7 @@ python () { d.appendVarFlag('do_unpack', 'depends', ' xz-native:do_populate_sysroot') # .zip should DEPEND on unzip-native for unpacking - elif path.endswith('.zip'): + elif path.endswith('.zip') or path.endswith('.jar'): d.appendVarFlag('do_unpack', 'depends', ' unzip-native:do_populate_sysroot') # file is needed by rpm2cpio.sh -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 11:38:14 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 11:38:14 +0000 Subject: [oe-commits] [openembedded-core] 30/40: systemd-bootchart: Fix build with glibc 2.26 In-Reply-To: <150063706469.7801.1164299489424290804@git.openembedded.org> References: <150063706469.7801.1164299489424290804@git.openembedded.org> Message-ID: <20170721113745.F1F58232840@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 4b6599914fd1de79905beb6c43d11efec984921d Author: Jussi Kukkonen AuthorDate: Tue Jul 18 13:52:29 2017 +0300 systemd-bootchart: Fix build with glibc 2.26 xlocale.h is no more, don't include it. Signed-off-by: Jussi Kukkonen Signed-off-by: Ross Burton --- .../0001-parse-util-Don-t-use-xlocale.h.patch | 32 ++++++++++++++++++++++ .../systemd-bootchart/systemd-bootchart_231.bb | 4 ++- 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/meta/recipes-devtools/systemd-bootchart/files/0001-parse-util-Don-t-use-xlocale.h.patch b/meta/recipes-devtools/systemd-bootchart/files/0001-parse-util-Don-t-use-xlocale.h.patch new file mode 100644 index 0000000..5aa0463 --- /dev/null +++ b/meta/recipes-devtools/systemd-bootchart/files/0001-parse-util-Don-t-use-xlocale.h.patch @@ -0,0 +1,32 @@ +From d379126d56d0b6e935b2d97ca71579e6cc54d1bb Mon Sep 17 00:00:00 2001 +From: Jussi Kukkonen +Date: Tue, 18 Jul 2017 13:37:27 +0300 +Subject: [PATCH] parse-util: Don't use xlocale.h + +glibc 2.26 no longer contains the non-standard xlocale.h +(http://sourceware.org/glibc/wiki/Release/2.26#Removal_of_.27xlocale.h.27) + +This change shouldn't break anything as xlocale.h was a subset of +locale.h. + +Signed-off-by: Jussi Kukkonen +Upstream-Status: Submitted [https://github.com/systemd/systemd-bootchart/pull/35] +--- + src/parse-util.c | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/src/parse-util.c b/src/parse-util.c +index 5635a68..1b2169c 100644 +--- a/src/parse-util.c ++++ b/src/parse-util.c +@@ -21,7 +21,6 @@ + #include + #include + #include +-#include + + #include "macro.h" + #include "parse-util.h" +-- +2.13.2 + diff --git a/meta/recipes-devtools/systemd-bootchart/systemd-bootchart_231.bb b/meta/recipes-devtools/systemd-bootchart/systemd-bootchart_231.bb index 1d88036..4da000e 100644 --- a/meta/recipes-devtools/systemd-bootchart/systemd-bootchart_231.bb +++ b/meta/recipes-devtools/systemd-bootchart/systemd-bootchart_231.bb @@ -2,7 +2,9 @@ LICENSE = "LGPLv2.1 & GPLv2" LIC_FILES_CHKSUM = "file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c \ file://LICENSE.GPL2;md5=751419260aa954499f7abaabaa882bbe" -SRC_URI = "git://github.com/systemd/systemd-bootchart.git;protocol=https" +SRC_URI = "git://github.com/systemd/systemd-bootchart.git;protocol=https \ + file://0001-parse-util-Don-t-use-xlocale.h.patch \ +" # Modify these as desired PV = "231+git${SRCPV}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 11:38:05 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 11:38:05 +0000 Subject: [oe-commits] [openembedded-core] 21/40: populate_sdk_ext: Add variable to indicate running in eSDK In-Reply-To: <150063706469.7801.1164299489424290804@git.openembedded.org> References: <150063706469.7801.1164299489424290804@git.openembedded.org> Message-ID: <20170721113745.A1836232828@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 3c4451e2de1dfb947b03b954ce4c367399d2304a Author: Saul Wold AuthorDate: Mon Jul 17 09:20:14 2017 -0700 populate_sdk_ext: Add variable to indicate running in eSDK This allows for other scripts to know that they are being executed in the context of the eSDK in order to provide different behaviour as needed. [YOCTO #11155] Signed-off-by: Saul Wold Signed-off-by: Ross Burton --- meta/classes/populate_sdk_ext.bbclass | 3 +++ 1 file changed, 3 insertions(+) diff --git a/meta/classes/populate_sdk_ext.bbclass b/meta/classes/populate_sdk_ext.bbclass index e31ee37..08973a2 100644 --- a/meta/classes/populate_sdk_ext.bbclass +++ b/meta/classes/populate_sdk_ext.bbclass @@ -351,6 +351,9 @@ python copy_buildsystem () { # Hide the config information from bitbake output (since it's fixed within the SDK) f.write('BUILDCFG_HEADER = ""\n\n') + f.write('# Provide a flag to indicate we are in the EXT_SDK Context\n') + f.write('WITHIN_EXT_SDK = "1"\n\n') + # Map gcc-dependent uninative sstate cache for installer usage f.write('SSTATE_MIRRORS += " file://universal/(.*) file://universal-4.9/\\1 file://universal-4.9/(.*) file://universal-4.8/\\1"\n\n') -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 11:38:16 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 11:38:16 +0000 Subject: [oe-commits] [openembedded-core] 32/40: screen: 4.5.1 -> 4.6.0 In-Reply-To: <150063706469.7801.1164299489424290804@git.openembedded.org> References: <150063706469.7801.1164299489424290804@git.openembedded.org> Message-ID: <20170721113746.0DD16232842@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 8307aff62314ba2eb94148ee98464746f3e5e239 Author: Bian Yaqin AuthorDate: Tue Jul 18 08:48:28 2017 -0700 screen: 4.5.1 -> 4.6.0 Update screen from 4.5.1 to 4.6.0 Signed-off-by: Bian Yaqin Signed-off-by: Ross Burton --- meta/recipes-extended/screen/{screen_4.5.1.bb => screen_4.6.0.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-extended/screen/screen_4.5.1.bb b/meta/recipes-extended/screen/screen_4.6.0.bb similarity index 93% rename from meta/recipes-extended/screen/screen_4.5.1.bb rename to meta/recipes-extended/screen/screen_4.6.0.bb index 32c1a5a..a41efe9 100644 --- a/meta/recipes-extended/screen/screen_4.5.1.bb +++ b/meta/recipes-extended/screen/screen_4.6.0.bb @@ -26,8 +26,8 @@ SRC_URI = "${GNU_MIRROR}/screen/screen-${PV}.tar.gz \ file://0001-fix-for-multijob-build.patch \ " -SRC_URI[md5sum] = "a8c5da2f42f8a18fa4dada2419d1549b" -SRC_URI[sha256sum] = "97db2114dd963b016cd4ded34831955dcbe3251e5eee45ac2606e67e9f097b2d" +SRC_URI[md5sum] = "af60f716c4ec134712b923ef6cd93848" +SRC_URI[sha256sum] = "9433706b653e941cc4c745f28e252e57be2a141eded923e61cc2c4a09768fed4" inherit autotools texinfo -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 11:38:21 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 11:38:21 +0000 Subject: [oe-commits] [openembedded-core] 37/40: sqlite3: upgrade to 3.19.3 In-Reply-To: <150063706469.7801.1164299489424290804@git.openembedded.org> References: <150063706469.7801.1164299489424290804@git.openembedded.org> Message-ID: <20170721113746.3BFE7232830@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 7b6663ae7e3555423fc397aeaba68d369e4a535b Author: Maxin B. John AuthorDate: Wed Jul 19 18:01:24 2017 +0300 sqlite3: upgrade to 3.19.3 3.19.2 -> 3.19.3 Fixes a bug associated with auto_vacuum that can lead to database corruption. Signed-off-by: Maxin B. John Signed-off-by: Ross Burton --- meta/recipes-support/sqlite/{sqlite3_3.19.2.bb => sqlite3_3.19.3.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-support/sqlite/sqlite3_3.19.2.bb b/meta/recipes-support/sqlite/sqlite3_3.19.3.bb similarity index 59% rename from meta/recipes-support/sqlite/sqlite3_3.19.2.bb rename to meta/recipes-support/sqlite/sqlite3_3.19.3.bb index cf87073..89d4395 100644 --- a/meta/recipes-support/sqlite/sqlite3_3.19.2.bb +++ b/meta/recipes-support/sqlite/sqlite3_3.19.3.bb @@ -6,5 +6,5 @@ LIC_FILES_CHKSUM = "file://sqlite3.h;endline=11;md5=65f0a57ca6928710b418c094b357 SRC_URI = "\ http://www.sqlite.org/2017/sqlite-autoconf-${SQLITE_PV}.tar.gz \ " -SRC_URI[md5sum] = "9f006b16de2cd81f6bae9b40e91daabf" -SRC_URI[sha256sum] = "ca5361fb01cc3ad63d6fd4eb2cb0b6398e629595896d3558f7e121d37dac2ffc" +SRC_URI[md5sum] = "c93070d5bf136ce271db23d2dfbc2435" +SRC_URI[sha256sum] = "06129c03dced9f87733a8cba408871bd60673b8f93b920ba8d815efab0a06301" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 11:38:19 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 11:38:19 +0000 Subject: [oe-commits] [openembedded-core] 35/40: orc: upgrade to 0.4.27 In-Reply-To: <150063706469.7801.1164299489424290804@git.openembedded.org> References: <150063706469.7801.1164299489424290804@git.openembedded.org> Message-ID: <20170721113746.2BF8D23282E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 5b7720244c2b973046e15c31fac9c64f969346dd Author: Maxin B. John AuthorDate: Wed Jul 19 18:01:22 2017 +0300 orc: upgrade to 0.4.27 0.4.26 -> 0.4.27 Signed-off-by: Maxin B. John Signed-off-by: Ross Burton --- meta/recipes-devtools/orc/{orc_0.4.26.bb => orc_0.4.27.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-devtools/orc/orc_0.4.26.bb b/meta/recipes-devtools/orc/orc_0.4.27.bb similarity index 84% rename from meta/recipes-devtools/orc/orc_0.4.26.bb rename to meta/recipes-devtools/orc/orc_0.4.27.bb index e47342f..303f991 100644 --- a/meta/recipes-devtools/orc/orc_0.4.26.bb +++ b/meta/recipes-devtools/orc/orc_0.4.27.bb @@ -5,8 +5,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=1400bd9d09e8af56b9ec982b3d85797e" SRC_URI = "http://gstreamer.freedesktop.org/src/orc/orc-${PV}.tar.xz" -SRC_URI[md5sum] = "8e9bef677bae289d3324d81c337a4507" -SRC_URI[sha256sum] = "7d52fa80ef84988359c3434e1eea302d077a08987abdde6905678ebcad4fa649" +SRC_URI[md5sum] = "5837dc20dacb5b668935bbded10cbb61" +SRC_URI[sha256sum] = "51e53e58fc8158e5986a1f1a49a6d970c5b16493841cf7b9de2c2bde7ce36b93" inherit autotools pkgconfig gtk-doc -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 11:38:20 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 11:38:20 +0000 Subject: [oe-commits] [openembedded-core] 36/40: bluez5: upgrade to 5.46 In-Reply-To: <150063706469.7801.1164299489424290804@git.openembedded.org> References: <150063706469.7801.1164299489424290804@git.openembedded.org> Message-ID: <20170721113746.3245523282F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit e19927bf48335b5a43910a90ad354687b3466b97 Author: Maxin B. John AuthorDate: Wed Jul 19 18:01:23 2017 +0300 bluez5: upgrade to 5.46 5.45 -> 5.46 Signed-off-by: Maxin B. John Signed-off-by: Ross Burton --- meta/recipes-connectivity/bluez5/{bluez5_5.45.bb => bluez5_5.46.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-connectivity/bluez5/bluez5_5.45.bb b/meta/recipes-connectivity/bluez5/bluez5_5.46.bb similarity index 91% rename from meta/recipes-connectivity/bluez5/bluez5_5.45.bb rename to meta/recipes-connectivity/bluez5/bluez5_5.46.bb index d5f516c..93f4be3 100644 --- a/meta/recipes-connectivity/bluez5/bluez5_5.45.bb +++ b/meta/recipes-connectivity/bluez5/bluez5_5.46.bb @@ -2,8 +2,8 @@ require bluez5.inc REQUIRED_DISTRO_FEATURES = "bluez5" -SRC_URI[md5sum] = "20d936917afc7e1ffa091f5213081c55" -SRC_URI[sha256sum] = "4cacb00703a6bc149cb09502257d321597d43952374a16f3558766ffa85364e9" +SRC_URI[md5sum] = "913f35d6fa4ca5772c53adb936bf1947" +SRC_URI[sha256sum] = "ddab3d3837c1afb8ae228a94ba17709a4650bd4db24211b6771ab735c8908e28" # noinst programs in Makefile.tools that are conditional on READLINE # support -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 11:38:08 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 11:38:08 +0000 Subject: [oe-commits] [openembedded-core] 24/40: wic: add description of --mkfs-extraopts In-Reply-To: <150063706469.7801.1164299489424290804@git.openembedded.org> References: <150063706469.7801.1164299489424290804@git.openembedded.org> Message-ID: <20170721113745.BCA7B232829@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit ccb98b12942ab3ac90826624a8806c7303457152 Author: Ed Bartosh AuthorDate: Thu Jul 6 14:32:34 2017 +0300 wic: add description of --mkfs-extraopts Updated help contents with the description of new wks option --mkfs-extraopts Signed-off-by: Ed Bartosh Signed-off-by: Ross Burton --- scripts/lib/wic/help.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/scripts/lib/wic/help.py b/scripts/lib/wic/help.py index 23d943c..99912cd 100644 --- a/scripts/lib/wic/help.py +++ b/scripts/lib/wic/help.py @@ -943,6 +943,12 @@ DESCRIPTION for the harware that requires non-default partition system ids. The parameter in one byte long hex number either with 0x prefix or without it. + --mkfs-extraopts: This option specifies extra options to pass to mkfs utility. + NOTE, that wic uses default options for some filesystems, for example + '-S 512' for mkfs.fat or '-F -i 8192' for mkfs.ext. Those options will + not take effect when --mkfs-extraopts is used. This should be taken into + account when using --mkfs-extraopts. + * bootloader This command allows the user to specify various bootloader -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 11:38:11 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 11:38:11 +0000 Subject: [oe-commits] [openembedded-core] 27/40: vulkan-demos: Rename ${bindir}/screenshot In-Reply-To: <150063706469.7801.1164299489424290804@git.openembedded.org> References: <150063706469.7801.1164299489424290804@git.openembedded.org> Message-ID: <20170721113745.D710C23283D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit d646a4ea6dad29cab5a4e9c6306767b4ac13f52a Author: Jussi Kukkonen AuthorDate: Tue Jul 18 10:32:10 2017 +0300 vulkan-demos: Rename ${bindir}/screenshot This conflicts with sato-screenshot. Signed-off-by: Jussi Kukkonen Signed-off-by: Ross Burton --- meta/recipes-graphics/vulkan/vulkan-demos_git.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-graphics/vulkan/vulkan-demos_git.bb b/meta/recipes-graphics/vulkan/vulkan-demos_git.bb index fcd9e7b..e088277 100644 --- a/meta/recipes-graphics/vulkan/vulkan-demos_git.bb +++ b/meta/recipes-graphics/vulkan/vulkan-demos_git.bb @@ -24,6 +24,8 @@ do_install_append () { ${D}${datadir}/vulkan-demos/models/vulkanscene* \ ${D}${datadir}/vulkan-demos/models/plants.dae \ ${D}${datadir}/vulkan-demos/textures/texturearray_plants* + + mv ${D}${bindir}/screenshot ${D}${bindir}/vulkan-screenshot } EXTRA_OECMAKE = "-DRESOURCE_INSTALL_DIR=${datadir}/vulkan-demos" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 11:38:12 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 11:38:12 +0000 Subject: [oe-commits] [openembedded-core] 28/40: at: reduce local pending patches In-Reply-To: <150063706469.7801.1164299489424290804@git.openembedded.org> References: <150063706469.7801.1164299489424290804@git.openembedded.org> Message-ID: <20170721113745.E0FBF23283E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 787476ba807e87d332360954c503025a88fa4c10 Author: Dengke Du AuthorDate: Tue Jul 18 03:56:56 2017 -0400 at: reduce local pending patches Signed-off-by: Dengke Du Signed-off-by: Ross Burton --- .../at/at/0001-remove-glibc-assumption.patch | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/meta/recipes-extended/at/at/0001-remove-glibc-assumption.patch b/meta/recipes-extended/at/at/0001-remove-glibc-assumption.patch index 53ae28b..7fdecc7 100644 --- a/meta/recipes-extended/at/at/0001-remove-glibc-assumption.patch +++ b/meta/recipes-extended/at/at/0001-remove-glibc-assumption.patch @@ -1,6 +1,6 @@ -From 7f811d9c4ebc9444e613e251c31d6bf537a24dc1 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Mon, 13 Apr 2015 16:35:30 -0700 +From f446686916e503dfb9fb928252d1b72a07573b29 Mon Sep 17 00:00:00 2001 +From: Dengke Du +Date: Tue, 18 Jul 2017 03:42:56 -0400 Subject: [PATCH] remove glibc assumption glibc time.h header has an undocumented __isleap macro @@ -9,9 +9,11 @@ Since it is undocumented & does not appear on any other libc, stop using it and just define the macro in locally instead. -Upstream-Status: Pending +Upstream-Status: Submitted [ https://lists.debian.org/debian-accessibility/2017/07/msg00044.html ] Signed-off-by: Khem Raj + +Signed-off-by: Dengke Du --- parsetime.y | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) @@ -53,5 +55,5 @@ index 7005e88..324e6d3 100644 { yyerror("Error in day of month"); -- -2.1.4 +2.8.1 -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 11:38:06 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 11:38:06 +0000 Subject: [oe-commits] [openembedded-core] 22/40: pkgconfig: allow kernel to be build with esdk In-Reply-To: <150063706469.7801.1164299489424290804@git.openembedded.org> References: <150063706469.7801.1164299489424290804@git.openembedded.org> Message-ID: <20170721113745.A903E23282A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 31428bada8a43bf56b1079507385b15e827abfd5 Author: Saul Wold AuthorDate: Mon Jul 17 09:20:15 2017 -0700 pkgconfig: allow kernel to be build with esdk When the kernel's menuconfig target is called while using the esdk or an esdk-based container, the pkg-config info that is found is not correct. The pkg-config info is for the target, but we need the eSDK's information in order to build the host based menuconfig. The new pkg-config-esdk script checks both that it's in SDK and being called from the check-lxdialog script in order to limit the scope of when the pkg-config automagically switches to pkg-config-native. The pkg-config-esdk is only installed as pkg-config inside the eSDK, which is why we use the sstate post install script and check for if we are in the esdk environment using the WITHIN_EXT_SDK [YOCTO #11155] Signed-off-by: Saul Wold Signed-off-by: Ross Burton --- .../pkgconfig/pkgconfig/pkg-config-esdk.in | 24 ++++++++++++++++++++++ meta/recipes-devtools/pkgconfig/pkgconfig_git.bb | 16 +++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/meta/recipes-devtools/pkgconfig/pkgconfig/pkg-config-esdk.in b/meta/recipes-devtools/pkgconfig/pkgconfig/pkg-config-esdk.in new file mode 100644 index 0000000..4fc9b0a --- /dev/null +++ b/meta/recipes-devtools/pkgconfig/pkgconfig/pkg-config-esdk.in @@ -0,0 +1,24 @@ +#! /bin/sh + +# Orignal pkg-config-native action when called as pkg-config-native +# NO Change here +if [ "pkg-config-native" = "`basename $0`" ] ; then + PKG_CONFIG_PATH="@PATH_NATIVE@" + PKG_CONFIG_LIBDIR="@LIBDIR_NATIVE@" + unset PKG_CONFIG_SYSROOT_DIR +else + # in this case check if we are in the esdk + if [ "$OE_SKIP_SDK_CHECK" = "1" ] ; then + parentpid=`ps -o ppid= -p $$` + parentpid_info=`ps -wo comm= -o args= -p $parentpid` + + # check if we are being called from the kernel's make menuconfig + if ( echo $parentpid_info | grep -q check-lxdialog ) ; then + PKG_CONFIG_PATH="@PATH_NATIVE@" + PKG_CONFIG_LIBDIR="@LIBDIR_NATIVE@" + unset PKG_CONFIG_SYSROOT_DIR + fi + fi +fi + +pkg-config.real "$@" diff --git a/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb b/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb index e634021..52ef2a9 100644 --- a/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb +++ b/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb @@ -12,6 +12,7 @@ SRCREV = "edf8e6f0ea77ede073f07bff0d2ae1fc7a38103b" PV = "0.29.2+git${SRCPV}" SRC_URI = "git://anongit.freedesktop.org/pkg-config \ + file://pkg-config-esdk.in \ file://pkg-config-native.in \ file://fix-glib-configure-libtool-usage.patch \ file://0001-glib-gettext.m4-Update-AM_GLIB_GNU_GETTEXT-to-match-.patch \ @@ -54,4 +55,19 @@ do_install_append_class-native () { -e "s|@LIBDIR_NATIVE@|${PKG_CONFIG_LIBDIR}|" \ < ${WORKDIR}/pkg-config-native.in > ${B}/pkg-config-native install -m755 ${B}/pkg-config-native ${D}${bindir}/pkg-config-native + sed -e "s|@PATH_NATIVE@|${PKG_CONFIG_PATH}|" \ + -e "s|@LIBDIR_NATIVE@|${PKG_CONFIG_LIBDIR}|" \ + < ${WORKDIR}/pkg-config-esdk.in > ${B}/pkg-config-esdk + install -m755 ${B}/pkg-config-esdk ${D}${bindir}/pkg-config-esdk } + +pkgconfig_sstate_fixup_esdk () { + if [ "${BB_CURRENTTASK}" = "populate_sysroot_setscene" -a "${WITHIN_EXT_SDK}" = "1" ] ; then + pkgconfdir="${SSTATE_INSTDIR}/recipe-sysroot-native/${bindir_native}" + mv $pkgconfdir/pkg-config $pkgconfdir/pkg-config.real + lnr $pkgconfdir/pkg-config-esdk $pkgconfdir/pkg-config + sed -i -e "s|^pkg-config|pkg-config.real|" $pkgconfdir/pkg-config-native + fi +} + +SSTATEPOSTUNPACKFUNCS_append_class-native = " pkgconfig_sstate_fixup_esdk" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 11:38:07 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 11:38:07 +0000 Subject: [oe-commits] [openembedded-core] 23/40: wic: implement wks option --mkfs-extraopts In-Reply-To: <150063706469.7801.1164299489424290804@git.openembedded.org> References: <150063706469.7801.1164299489424290804@git.openembedded.org> Message-ID: <20170721113745.B4374232827@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 370ea8c8f6ae7382b73bd1081e83f97044b6e0c4 Author: Ed Bartosh AuthorDate: Thu Jul 6 14:32:33 2017 +0300 wic: implement wks option --mkfs-extraopts This option specifies extra options to pass to mkfs. utilities. [YOCTO #11709] Signed-off-by: Ed Bartosh Signed-off-by: Ross Burton --- scripts/lib/wic/ksparser.py | 1 + scripts/lib/wic/partition.py | 39 ++++++++++++++++++++++++--------------- 2 files changed, 25 insertions(+), 15 deletions(-) diff --git a/scripts/lib/wic/ksparser.py b/scripts/lib/wic/ksparser.py index 47afda4..99b66ee 100644 --- a/scripts/lib/wic/ksparser.py +++ b/scripts/lib/wic/ksparser.py @@ -139,6 +139,7 @@ class KickStart(): part.add_argument('--fstype', default='vfat', choices=('ext2', 'ext3', 'ext4', 'btrfs', 'squashfs', 'vfat', 'msdos', 'swap')) + part.add_argument('--mkfs-extraopts', default='') part.add_argument('--label') part.add_argument('--no-table', action='store_true') part.add_argument('--ondisk', '--ondrive', dest='disk', default='sda') diff --git a/scripts/lib/wic/partition.py b/scripts/lib/wic/partition.py index 5aa68c9..b623bb9 100644 --- a/scripts/lib/wic/partition.py +++ b/scripts/lib/wic/partition.py @@ -46,6 +46,7 @@ class Partition(): self.fsopts = args.fsopts self.fstype = args.fstype self.label = args.label + self.mkfs_extraopts = args.mkfs_extraopts self.mountpoint = args.mountpoint self.no_table = args.no_table self.num = None @@ -256,14 +257,14 @@ class Partition(): with open(rootfs, 'w') as sparse: os.ftruncate(sparse.fileno(), rootfs_size * 1024) - extra_imagecmd = "-i 8192" + extraopts = self.mkfs_extraopts or "-F -i 8192" label_str = "" if self.label: label_str = "-L %s" % self.label - mkfs_cmd = "mkfs.%s -F %s %s %s -d %s" % \ - (self.fstype, extra_imagecmd, rootfs, label_str, rootfs_dir) + mkfs_cmd = "mkfs.%s %s %s %s -d %s" % \ + (self.fstype, extraopts, rootfs, label_str, rootfs_dir) exec_native_cmd(mkfs_cmd, native_sysroot, pseudo=pseudo) mkfs_cmd = "fsck.%s -pvfD %s" % (self.fstype, rootfs) @@ -289,8 +290,9 @@ class Partition(): if self.label: label_str = "-L %s" % self.label - mkfs_cmd = "mkfs.%s -b %d -r %s %s %s" % \ - (self.fstype, rootfs_size * 1024, rootfs_dir, label_str, rootfs) + mkfs_cmd = "mkfs.%s -b %d -r %s %s %s %s" % \ + (self.fstype, rootfs_size * 1024, rootfs_dir, label_str, + self.mkfs_extraopts, rootfs) exec_native_cmd(mkfs_cmd, native_sysroot, pseudo=pseudo) def prepare_rootfs_msdos(self, rootfs, oe_builddir, rootfs_dir, @@ -312,8 +314,10 @@ class Partition(): if self.fstype == 'msdos': size_str = "-F 16" # FAT 16 - dosfs_cmd = "mkdosfs %s -S 512 %s -C %s %d" % (label_str, size_str, - rootfs, rootfs_size) + extraopts = self.mkfs_extraopts or '-S 512' + + dosfs_cmd = "mkdosfs %s %s %s -C %s %d" % \ + (label_str, size_str, extraopts, rootfs, rootfs_size) exec_native_cmd(dosfs_cmd, native_sysroot) mcopy_cmd = "mcopy -i %s -s %s/* ::/" % (rootfs, rootfs_dir) @@ -329,8 +333,9 @@ class Partition(): """ Prepare content for a squashfs rootfs partition. """ - squashfs_cmd = "mksquashfs %s %s -noappend" % \ - (rootfs_dir, rootfs) + extraopts = self.mkfs_extraopts or '-noappend' + squashfs_cmd = "mksquashfs %s %s %s" % \ + (rootfs_dir, rootfs, extraopts) exec_native_cmd(squashfs_cmd, native_sysroot, pseudo=pseudo) def prepare_empty_partition_ext(self, rootfs, oe_builddir, @@ -342,14 +347,14 @@ class Partition(): with open(rootfs, 'w') as sparse: os.ftruncate(sparse.fileno(), size * 1024) - extra_imagecmd = "-i 8192" + extraopts = self.mkfs_extraopts or "-i 8192" label_str = "" if self.label: label_str = "-L %s" % self.label mkfs_cmd = "mkfs.%s -F %s %s %s" % \ - (self.fstype, extra_imagecmd, label_str, rootfs) + (self.fstype, extraopts, label_str, rootfs) exec_native_cmd(mkfs_cmd, native_sysroot) def prepare_empty_partition_btrfs(self, rootfs, oe_builddir, @@ -365,8 +370,9 @@ class Partition(): if self.label: label_str = "-L %s" % self.label - mkfs_cmd = "mkfs.%s -b %d %s %s" % \ - (self.fstype, self.size * 1024, label_str, rootfs) + mkfs_cmd = "mkfs.%s -b %d %s %s %s" % \ + (self.fstype, self.size * 1024, label_str, + self.mkfs_extraopts, rootfs) exec_native_cmd(mkfs_cmd, native_sysroot) def prepare_empty_partition_msdos(self, rootfs, oe_builddir, @@ -384,8 +390,11 @@ class Partition(): if self.fstype == 'msdos': size_str = "-F 16" # FAT 16 - dosfs_cmd = "mkdosfs %s -S 512 %s -C %s %d" % (label_str, size_str, - rootfs, blocks) + extraopts = self.mkfs_extraopts or '-S 512' + + dosfs_cmd = "mkdosfs %s %s %s -C %s %d" % \ + (label_str, extraopts, size_str, rootfs, blocks) + exec_native_cmd(dosfs_cmd, native_sysroot) chmod_cmd = "chmod 644 %s" % rootfs -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 11:38:23 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 11:38:23 +0000 Subject: [oe-commits] [openembedded-core] 39/40: python3-mako: update to 1.0.7 In-Reply-To: <150063706469.7801.1164299489424290804@git.openembedded.org> References: <150063706469.7801.1164299489424290804@git.openembedded.org> Message-ID: <20170721113746.4B4D1232834@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit df4442abeb10a8a0393caa441df0e5b27053303b Author: Jose Lamego AuthorDate: Wed Jul 19 11:12:17 2017 -0500 python3-mako: update to 1.0.7 python3-mako need to be upgraded to latest upstream version. This change was tested using qemux86 with core-image-minimal Signed-off-by: Jose Lamego Signed-off-by: Ross Burton --- meta/recipes-devtools/python/python-mako.inc | 4 ++-- .../python/{python3-mako_1.0.6.bb => python3-mako_1.0.7.bb} | 0 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-devtools/python/python-mako.inc b/meta/recipes-devtools/python/python-mako.inc index 10364db..ba50675 100644 --- a/meta/recipes-devtools/python/python-mako.inc +++ b/meta/recipes-devtools/python/python-mako.inc @@ -5,8 +5,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=1bb21fa2d2f7a534c884b990430a6863" SRC_URI = "https://files.pythonhosted.org/packages/source/M/Mako/Mako-${PV}.tar.gz" -SRC_URI[md5sum] = "a28e22a339080316b2acc352b9ee631c" -SRC_URI[sha256sum] = "48559ebd872a8e77f92005884b3d88ffae552812cdf17db6768e5c3be5ebbe0d" +SRC_URI[md5sum] = "5836cc997b1b773ef389bf6629c30e65" +SRC_URI[sha256sum] = "4e02fde57bd4abb5ec400181e4c314f56ac3e49ba4fb8b0d50bba18cb27d25ae" UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/mako/" UPSTREAM_CHECK_REGEX = "/Mako/(?P(\d+[\.\-_]*)+)" diff --git a/meta/recipes-devtools/python/python3-mako_1.0.6.bb b/meta/recipes-devtools/python/python3-mako_1.0.7.bb similarity index 100% rename from meta/recipes-devtools/python/python3-mako_1.0.6.bb rename to meta/recipes-devtools/python/python3-mako_1.0.7.bb -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 11:38:24 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 11:38:24 +0000 Subject: [oe-commits] [openembedded-core] 40/40: python3-git: upgrade to 2.1.5 In-Reply-To: <150063706469.7801.1164299489424290804@git.openembedded.org> References: <150063706469.7801.1164299489424290804@git.openembedded.org> Message-ID: <20170721113746.52074232843@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit fad843e5c263bc562d0f0d34c34af2e75a0f9d83 Author: Jose Lamego AuthorDate: Wed Jul 19 11:50:02 2017 -0500 python3-git: upgrade to 2.1.5 python3-git needs to be upgraded to latest upstream version. "git" is added as RDEPENDS. These changes were tested using qemux86 with core-image-minimal. Signed-off-by: Jose Lamego Signed-off-by: Ross Burton --- meta/recipes-devtools/python/python-git.inc | 4 ++-- .../python/{python3-git_2.1.3.bb => python3-git_2.1.5.bb} | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/meta/recipes-devtools/python/python-git.inc b/meta/recipes-devtools/python/python-git.inc index 825e795d9..777608c 100644 --- a/meta/recipes-devtools/python/python-git.inc +++ b/meta/recipes-devtools/python/python-git.inc @@ -10,8 +10,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=8b8d26c37c1d5a04f9b0186edbebc183" SRC_URI = "https://files.pythonhosted.org/packages/source/G/GitPython/GitPython-${PV}.tar.gz" -SRC_URI[md5sum] = "6cd18008c03a767740f3bf6d89ef79bc" -SRC_URI[sha256sum] = "3826185b11e1fc372e7d31251e9b65e11ccb7c27f82c771d619048bdb5b66c81" +SRC_URI[md5sum] = "df94212b19d270a625b67b4c84ac9a41" +SRC_URI[sha256sum] = "5c00cbd256e2b1d039381d4f7d71fcb7ee5cc196ca10c101ff7191bd82ab5d9c" UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/GitPython/" UPSTREAM_CHECK_REGEX = "/GitPython/(?P(\d+[\.\-_]*)+)" diff --git a/meta/recipes-devtools/python/python3-git_2.1.3.bb b/meta/recipes-devtools/python/python3-git_2.1.5.bb similarity index 81% rename from meta/recipes-devtools/python/python3-git_2.1.3.bb rename to meta/recipes-devtools/python/python3-git_2.1.5.bb index 7a2d452..4ac2a0e 100644 --- a/meta/recipes-devtools/python/python3-git_2.1.3.bb +++ b/meta/recipes-devtools/python/python3-git_2.1.5.bb @@ -4,4 +4,4 @@ DEPENDS = "python3-gitdb" inherit setuptools3 -RDEPENDS_${PN} += "python3-gitdb python3-lang python3-io python3-shell python3-math python3-re python3-subprocess python3-stringold python3-unixadmin python3-enum python3-logging python3-datetime python3-netclient python3-unittest python3-argparse" +RDEPENDS_${PN} += "python3-gitdb python3-lang python3-io python3-shell python3-math python3-re python3-subprocess python3-stringold python3-unixadmin python3-enum python3-logging python3-datetime python3-netclient python3-unittest python3-argparse git" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 11:38:18 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 11:38:18 +0000 Subject: [oe-commits] [openembedded-core] 34/40: libsolv: upgrade to 0.6.28 In-Reply-To: <150063706469.7801.1164299489424290804@git.openembedded.org> References: <150063706469.7801.1164299489424290804@git.openembedded.org> Message-ID: <20170721113746.2441723282D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit e4cc6b937900fc2a75035661b08105ced0805379 Author: Maxin B. John AuthorDate: Wed Jul 19 18:01:21 2017 +0300 libsolv: upgrade to 0.6.28 0.6.27 -> 0.6.28 Signed-off-by: Maxin B. John Signed-off-by: Ross Burton --- meta/recipes-extended/libsolv/{libsolv_0.6.27.bb => libsolv_0.6.28.bb} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-extended/libsolv/libsolv_0.6.27.bb b/meta/recipes-extended/libsolv/libsolv_0.6.28.bb similarity index 95% rename from meta/recipes-extended/libsolv/libsolv_0.6.27.bb rename to meta/recipes-extended/libsolv/libsolv_0.6.28.bb index 7ddd533..3a48f22 100644 --- a/meta/recipes-extended/libsolv/libsolv_0.6.27.bb +++ b/meta/recipes-extended/libsolv/libsolv_0.6.28.bb @@ -13,7 +13,7 @@ SRC_URI_append_libc-musl = " file://0001-Add-fallback-fopencookie-implementation file://0002-Fixes-to-internal-fopencookie-implementation.patch \ " -SRCREV = "9fa1535e2fc60609c29633925e692603782b477b" +SRCREV = "b8a9ddd88eb4e0ab351eb55a53186b5dc5ac0825" UPSTREAM_CHECK_GITTAGREGEX = "(?P\d+(\.\d+)+)" S = "${WORKDIR}/git" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 11:38:17 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 11:38:17 +0000 Subject: [oe-commits] [openembedded-core] 33/40: libjpeg-turbo: upgrade to 1.5.2 In-Reply-To: <150063706469.7801.1164299489424290804@git.openembedded.org> References: <150063706469.7801.1164299489424290804@git.openembedded.org> Message-ID: <20170721113746.1D5F223282C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit e069ac3bc31901ef524e99d89bdc6f405cf9fc78 Author: Maxin B. John AuthorDate: Wed Jul 19 18:01:20 2017 +0300 libjpeg-turbo: upgrade to 1.5.2 1.5.1 -> 1.5.2 Remove this backported patch: 1. fix-mips.patch Signed-off-by: Maxin B. John Signed-off-by: Ross Burton --- .../jpeg/libjpeg-turbo/fix-mips.patch | 45 ---------------------- ...bjpeg-turbo_1.5.1.bb => libjpeg-turbo_1.5.2.bb} | 8 ++-- 2 files changed, 4 insertions(+), 49 deletions(-) diff --git a/meta/recipes-graphics/jpeg/libjpeg-turbo/fix-mips.patch b/meta/recipes-graphics/jpeg/libjpeg-turbo/fix-mips.patch deleted file mode 100644 index 4d41237..0000000 --- a/meta/recipes-graphics/jpeg/libjpeg-turbo/fix-mips.patch +++ /dev/null @@ -1,45 +0,0 @@ -Fix a regression that causes the MIPS code from building. - -Upstream-Status: Backport -Signed-off-by: Ross Burton - -From 7bfb22af123ac10798a9a4c9ec7b23e5065db35e Mon Sep 17 00:00:00 2001 -From: DRC -Date: Mon, 26 Sep 2016 17:59:14 -0500 -Subject: [PATCH] Fix broken MIPS build - -Regression introduced by 9055fb408dcb585ce9392d395e16630d51002152 - -Fixes #104 ---- - ChangeLog.md | 3 +++ - simd/jsimd_mips.c | 2 ++ - 2 files changed, 5 insertions(+) - -diff --git a/ChangeLog.md b/ChangeLog.md -index e2b9df3..71ddcaa 100644 ---- a/ChangeLog.md -+++ b/ChangeLog.md -@@ -6,6 +6,9 @@ - 1. Fixed a regression introduced by 1.5.1[7] that prevented libjpeg-turbo from - building with Android NDK platforms prior to android-21 (5.0). - -+2. Fixed a regression introduced by 1.5.1[1] that prevented the MIPS DSPR2 SIMD -+code in libjpeg-turbo from building. -+ - - 1.5.1 - ===== -diff --git a/simd/jsimd_mips.c b/simd/jsimd_mips.c -index 63b8115..02e90cd 100644 ---- a/simd/jsimd_mips.c -+++ b/simd/jsimd_mips.c -@@ -63,6 +63,8 @@ parse_proc_cpuinfo(const char* search_string) - LOCAL(void) - init_simd (void) - { -+ char *env = NULL; -+ - if (simd_support != ~0U) - return; - diff --git a/meta/recipes-graphics/jpeg/libjpeg-turbo_1.5.1.bb b/meta/recipes-graphics/jpeg/libjpeg-turbo_1.5.2.bb similarity index 90% rename from meta/recipes-graphics/jpeg/libjpeg-turbo_1.5.1.bb rename to meta/recipes-graphics/jpeg/libjpeg-turbo_1.5.2.bb index de2eeaf..58646d3 100644 --- a/meta/recipes-graphics/jpeg/libjpeg-turbo_1.5.1.bb +++ b/meta/recipes-graphics/jpeg/libjpeg-turbo_1.5.2.bb @@ -10,10 +10,10 @@ LIC_FILES_CHKSUM = "file://cdjpeg.h;endline=13;md5=05bab7c7ad899d85bfba60da1a127 DEPENDS_append_x86-64_class-target = " nasm-native" DEPENDS_append_x86_class-target = " nasm-native" -SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \ - file://fix-mips.patch" -SRC_URI[md5sum] = "55deb139b0cac3c8200b75d485fc13f3" -SRC_URI[sha256sum] = "41429d3d253017433f66e3d472b8c7d998491d2f41caa7306b8d9a6f2a2c666c" +SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz" + +SRC_URI[md5sum] = "6b4923e297a7eaa255f08511017a8818" +SRC_URI[sha256sum] = "9098943b270388727ae61de82adec73cf9f0dbb240b3bc8b172595ebf405b528" UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/libjpeg-turbo/files/" UPSTREAM_CHECK_REGEX = "/libjpeg-turbo/files/(?P(\d+[\.\-_]*)+)/" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 11:38:22 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 11:38:22 +0000 Subject: [oe-commits] [openembedded-core] 38/40: libtirpc: upgrade to 1.0.2 In-Reply-To: <150063706469.7801.1164299489424290804@git.openembedded.org> References: <150063706469.7801.1164299489424290804@git.openembedded.org> Message-ID: <20170721113746.44CD3232831@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 61e682fb50ba644fff6a6a09e5ac95fa572954f5 Author: Maxin B. John AuthorDate: Wed Jul 19 18:01:25 2017 +0300 libtirpc: upgrade to 1.0.2 1.0.1 -> 1.0.2 Remove these Backported and upstreamed patches: 1. 0001-Fix-for-CVE-2017-8779.patch 2. libtirpc-0.2.1-fortify.patch 3. libtirpc-1.0.2-rc3.patc Signed-off-by: Maxin B. John Signed-off-by: Ross Burton --- .../libtirpc/0001-Fix-for-CVE-2017-8779.patch | 276 -------- .../libtirpc/libtirpc/libtirpc-0.2.1-fortify.patch | 26 - .../libtirpc/libtirpc/libtirpc-1.0.2-rc3.patch | 743 --------------------- .../{libtirpc_1.0.1.bb => libtirpc_1.0.2.bb} | 7 +- 4 files changed, 2 insertions(+), 1050 deletions(-) diff --git a/meta/recipes-extended/libtirpc/libtirpc/0001-Fix-for-CVE-2017-8779.patch b/meta/recipes-extended/libtirpc/libtirpc/0001-Fix-for-CVE-2017-8779.patch deleted file mode 100644 index b3bae67..0000000 --- a/meta/recipes-extended/libtirpc/libtirpc/0001-Fix-for-CVE-2017-8779.patch +++ /dev/null @@ -1,276 +0,0 @@ -From dd9c7cf4f8f375c6d641b760d124650c418c2ce3 Mon Sep 17 00:00:00 2001 -From: Guido Vranken -Date: Mon, 15 May 2017 11:12:21 -0400 -Subject: [PATCH] Fix for CVE-2017-8779 - -Signed-off-by: Steve Dickson ---- - src/rpc_generic.c | 8 ++++++++ - src/rpcb_prot.c | 22 ++++++++++++++-------- - src/rpcb_st_xdr.c | 9 +++++---- - src/xdr.c | 30 +++++++++++++++++++++++++----- - 4 files changed, 52 insertions(+), 17 deletions(-) - -CVE: CVE-2017-8779 -Upstream-Status: Backport - -Signed-off-by: Fan Xin - -diff --git a/src/rpc_generic.c b/src/rpc_generic.c -index 2f09a8f..589cbd5 100644 ---- a/src/rpc_generic.c -+++ b/src/rpc_generic.c -@@ -615,6 +615,9 @@ __rpc_taddr2uaddr_af(int af, const struct netbuf *nbuf) - - switch (af) { - case AF_INET: -+ if (nbuf->len < sizeof(*sin)) { -+ return NULL; -+ } - sin = nbuf->buf; - if (inet_ntop(af, &sin->sin_addr, namebuf, sizeof namebuf) - == NULL) -@@ -626,6 +629,9 @@ __rpc_taddr2uaddr_af(int af, const struct netbuf *nbuf) - break; - #ifdef INET6 - case AF_INET6: -+ if (nbuf->len < sizeof(*sin6)) { -+ return NULL; -+ } - sin6 = nbuf->buf; - if (inet_ntop(af, &sin6->sin6_addr, namebuf6, sizeof namebuf6) - == NULL) -@@ -667,6 +673,8 @@ __rpc_uaddr2taddr_af(int af, const char *uaddr) - - port = 0; - sin = NULL; -+ if (uaddr == NULL) -+ return NULL; - addrstr = strdup(uaddr); - if (addrstr == NULL) - return NULL; -diff --git a/src/rpcb_prot.c b/src/rpcb_prot.c -index 43fd385..a923c8e 100644 ---- a/src/rpcb_prot.c -+++ b/src/rpcb_prot.c -@@ -41,6 +41,7 @@ - #include - #include - #include -+#include "rpc_com.h" - - bool_t - xdr_rpcb(xdrs, objp) -@@ -53,13 +54,13 @@ xdr_rpcb(xdrs, objp) - if (!xdr_u_int32_t(xdrs, &objp->r_vers)) { - return (FALSE); - } -- if (!xdr_string(xdrs, &objp->r_netid, (u_int)~0)) { -+ if (!xdr_string(xdrs, &objp->r_netid, RPC_MAXDATASIZE)) { - return (FALSE); - } -- if (!xdr_string(xdrs, &objp->r_addr, (u_int)~0)) { -+ if (!xdr_string(xdrs, &objp->r_addr, RPC_MAXDATASIZE)) { - return (FALSE); - } -- if (!xdr_string(xdrs, &objp->r_owner, (u_int)~0)) { -+ if (!xdr_string(xdrs, &objp->r_owner, RPC_MAXDATASIZE)) { - return (FALSE); - } - return (TRUE); -@@ -159,19 +160,19 @@ xdr_rpcb_entry(xdrs, objp) - XDR *xdrs; - rpcb_entry *objp; - { -- if (!xdr_string(xdrs, &objp->r_maddr, (u_int)~0)) { -+ if (!xdr_string(xdrs, &objp->r_maddr, RPC_MAXDATASIZE)) { - return (FALSE); - } -- if (!xdr_string(xdrs, &objp->r_nc_netid, (u_int)~0)) { -+ if (!xdr_string(xdrs, &objp->r_nc_netid, RPC_MAXDATASIZE)) { - return (FALSE); - } - if (!xdr_u_int32_t(xdrs, &objp->r_nc_semantics)) { - return (FALSE); - } -- if (!xdr_string(xdrs, &objp->r_nc_protofmly, (u_int)~0)) { -+ if (!xdr_string(xdrs, &objp->r_nc_protofmly, RPC_MAXDATASIZE)) { - return (FALSE); - } -- if (!xdr_string(xdrs, &objp->r_nc_proto, (u_int)~0)) { -+ if (!xdr_string(xdrs, &objp->r_nc_proto, RPC_MAXDATASIZE)) { - return (FALSE); - } - return (TRUE); -@@ -292,7 +293,7 @@ xdr_rpcb_rmtcallres(xdrs, p) - bool_t dummy; - struct r_rpcb_rmtcallres *objp = (struct r_rpcb_rmtcallres *)(void *)p; - -- if (!xdr_string(xdrs, &objp->addr, (u_int)~0)) { -+ if (!xdr_string(xdrs, &objp->addr, RPC_MAXDATASIZE)) { - return (FALSE); - } - if (!xdr_u_int(xdrs, &objp->results.results_len)) { -@@ -312,6 +313,11 @@ xdr_netbuf(xdrs, objp) - if (!xdr_u_int32_t(xdrs, (u_int32_t *) &objp->maxlen)) { - return (FALSE); - } -+ -+ if (objp->maxlen > RPC_MAXDATASIZE) { -+ return (FALSE); -+ } -+ - dummy = xdr_bytes(xdrs, (char **)&(objp->buf), - (u_int *)&(objp->len), objp->maxlen); - return (dummy); -diff --git a/src/rpcb_st_xdr.c b/src/rpcb_st_xdr.c -index 08db745..28e6a48 100644 ---- a/src/rpcb_st_xdr.c -+++ b/src/rpcb_st_xdr.c -@@ -37,6 +37,7 @@ - - - #include -+#include "rpc_com.h" - - /* Link list of all the stats about getport and getaddr */ - -@@ -58,7 +59,7 @@ xdr_rpcbs_addrlist(xdrs, objp) - if (!xdr_int(xdrs, &objp->failure)) { - return (FALSE); - } -- if (!xdr_string(xdrs, &objp->netid, (u_int)~0)) { -+ if (!xdr_string(xdrs, &objp->netid, RPC_MAXDATASIZE)) { - return (FALSE); - } - -@@ -109,7 +110,7 @@ xdr_rpcbs_rmtcalllist(xdrs, objp) - IXDR_PUT_INT32(buf, objp->failure); - IXDR_PUT_INT32(buf, objp->indirect); - } -- if (!xdr_string(xdrs, &objp->netid, (u_int)~0)) { -+ if (!xdr_string(xdrs, &objp->netid, RPC_MAXDATASIZE)) { - return (FALSE); - } - if (!xdr_pointer(xdrs, (char **)&objp->next, -@@ -147,7 +148,7 @@ xdr_rpcbs_rmtcalllist(xdrs, objp) - objp->failure = (int)IXDR_GET_INT32(buf); - objp->indirect = (int)IXDR_GET_INT32(buf); - } -- if (!xdr_string(xdrs, &objp->netid, (u_int)~0)) { -+ if (!xdr_string(xdrs, &objp->netid, RPC_MAXDATASIZE)) { - return (FALSE); - } - if (!xdr_pointer(xdrs, (char **)&objp->next, -@@ -175,7 +176,7 @@ xdr_rpcbs_rmtcalllist(xdrs, objp) - if (!xdr_int(xdrs, &objp->indirect)) { - return (FALSE); - } -- if (!xdr_string(xdrs, &objp->netid, (u_int)~0)) { -+ if (!xdr_string(xdrs, &objp->netid, RPC_MAXDATASIZE)) { - return (FALSE); - } - if (!xdr_pointer(xdrs, (char **)&objp->next, -diff --git a/src/xdr.c b/src/xdr.c -index f3fb9ad..b9a1558 100644 ---- a/src/xdr.c -+++ b/src/xdr.c -@@ -42,8 +42,10 @@ - #include - #include - -+#include - #include - #include -+#include - - typedef quad_t longlong_t; /* ANSI long long type */ - typedef u_quad_t u_longlong_t; /* ANSI unsigned long long type */ -@@ -53,7 +55,6 @@ typedef u_quad_t u_longlong_t; /* ANSI unsigned long long type */ - */ - #define XDR_FALSE ((long) 0) - #define XDR_TRUE ((long) 1) --#define LASTUNSIGNED ((u_int) 0-1) - - /* - * for unit alignment -@@ -629,6 +630,7 @@ xdr_bytes(xdrs, cpp, sizep, maxsize) - { - char *sp = *cpp; /* sp is the actual string pointer */ - u_int nodesize; -+ bool_t ret, allocated = FALSE; - - /* - * first deal with the length since xdr bytes are counted -@@ -652,6 +654,7 @@ xdr_bytes(xdrs, cpp, sizep, maxsize) - } - if (sp == NULL) { - *cpp = sp = mem_alloc(nodesize); -+ allocated = TRUE; - } - if (sp == NULL) { - warnx("xdr_bytes: out of memory"); -@@ -660,7 +663,14 @@ xdr_bytes(xdrs, cpp, sizep, maxsize) - /* FALLTHROUGH */ - - case XDR_ENCODE: -- return (xdr_opaque(xdrs, sp, nodesize)); -+ ret = xdr_opaque(xdrs, sp, nodesize); -+ if ((xdrs->x_op == XDR_DECODE) && (ret == FALSE)) { -+ if (allocated == TRUE) { -+ free(sp); -+ *cpp = NULL; -+ } -+ } -+ return (ret); - - case XDR_FREE: - if (sp != NULL) { -@@ -754,6 +764,7 @@ xdr_string(xdrs, cpp, maxsize) - char *sp = *cpp; /* sp is the actual string pointer */ - u_int size; - u_int nodesize; -+ bool_t ret, allocated = FALSE; - - /* - * first deal with the length since xdr strings are counted-strings -@@ -793,8 +804,10 @@ xdr_string(xdrs, cpp, maxsize) - switch (xdrs->x_op) { - - case XDR_DECODE: -- if (sp == NULL) -+ if (sp == NULL) { - *cpp = sp = mem_alloc(nodesize); -+ allocated = TRUE; -+ } - if (sp == NULL) { - warnx("xdr_string: out of memory"); - return (FALSE); -@@ -803,7 +816,14 @@ xdr_string(xdrs, cpp, maxsize) - /* FALLTHROUGH */ - - case XDR_ENCODE: -- return (xdr_opaque(xdrs, sp, size)); -+ ret = xdr_opaque(xdrs, sp, size); -+ if ((xdrs->x_op == XDR_DECODE) && (ret == FALSE)) { -+ if (allocated == TRUE) { -+ free(sp); -+ *cpp = NULL; -+ } -+ } -+ return (ret); - - case XDR_FREE: - mem_free(sp, nodesize); -@@ -823,7 +843,7 @@ xdr_wrapstring(xdrs, cpp) - XDR *xdrs; - char **cpp; - { -- return xdr_string(xdrs, cpp, LASTUNSIGNED); -+ return xdr_string(xdrs, cpp, RPC_MAXDATASIZE); - } - - /* --- -1.9.1 - diff --git a/meta/recipes-extended/libtirpc/libtirpc/libtirpc-0.2.1-fortify.patch b/meta/recipes-extended/libtirpc/libtirpc/libtirpc-0.2.1-fortify.patch deleted file mode 100644 index 4a785d3..0000000 --- a/meta/recipes-extended/libtirpc/libtirpc/libtirpc-0.2.1-fortify.patch +++ /dev/null @@ -1,26 +0,0 @@ -Fix a possible overflow (reported by _FORTIFY_SOURCE=2) - -Ported from Gentoo - -Upstream-Status: Pending - -Signed-off-by: Khem Raj - -Index: libtirpc-0.2.1/src/getrpcport.c -=================================================================== ---- libtirpc-0.2.1.orig/src/getrpcport.c -+++ libtirpc-0.2.1/src/getrpcport.c -@@ -54,11 +54,11 @@ getrpcport(host, prognum, versnum, proto - - if ((hp = gethostbyname(host)) == NULL) - return (0); -+ if (hp->h_length != sizeof(addr.sin_addr.s_addr)) -+ return (0); - memset(&addr, 0, sizeof(addr)); - addr.sin_family = AF_INET; - addr.sin_port = 0; -- if (hp->h_length > sizeof(addr)) -- hp->h_length = sizeof(addr); - memcpy(&addr.sin_addr.s_addr, hp->h_addr, (size_t)hp->h_length); - /* Inconsistent interfaces need casts! :-( */ - return (pmap_getport(&addr, (u_long)prognum, (u_long)versnum, diff --git a/meta/recipes-extended/libtirpc/libtirpc/libtirpc-1.0.2-rc3.patch b/meta/recipes-extended/libtirpc/libtirpc/libtirpc-1.0.2-rc3.patch deleted file mode 100644 index 113dabe..0000000 --- a/meta/recipes-extended/libtirpc/libtirpc/libtirpc-1.0.2-rc3.patch +++ /dev/null @@ -1,743 +0,0 @@ -Backport the 1.0.2 RC3 changes, this fixes issues with gcc7 - -Upstream-Status: Backport - -Signed-off-by: Khem Raj - -diff --git a/src/Makefile.am b/src/Makefile.am -index e4ed8aa..fba2aa4 100644 ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -24,7 +24,7 @@ libtirpc_la_SOURCES = auth_none.c auth_unix.c authunix_prot.c bindresvport.c cln - rpcb_st_xdr.c svc.c svc_auth.c svc_dg.c svc_auth_unix.c svc_auth_none.c \ - svc_auth_des.c \ - svc_generic.c svc_raw.c svc_run.c svc_simple.c svc_vc.c getpeereid.c \ -- auth_time.c auth_des.c authdes_prot.c debug.c -+ auth_time.c auth_des.c authdes_prot.c debug.c des_crypt.c des_impl.c - - ## XDR - libtirpc_la_SOURCES += xdr.c xdr_rec.c xdr_array.c xdr_float.c xdr_mem.c xdr_reference.c xdr_stdio.c xdr_sizeof.c -diff --git a/src/auth_des.c b/src/auth_des.c -index 4d3639e..af2f61f 100644 ---- a/src/auth_des.c -+++ b/src/auth_des.c -@@ -46,8 +46,8 @@ - #include - #include - #include --#undef NIS --#include -+ -+#include "nis.h" - - #if defined(LIBC_SCCS) && !defined(lint) - #endif -diff --git a/src/auth_gss.c b/src/auth_gss.c -index 9b88c38..5959893 100644 ---- a/src/auth_gss.c -+++ b/src/auth_gss.c -@@ -526,6 +526,14 @@ _rpc_gss_refresh(AUTH *auth, rpc_gss_options_ret_t *options_ret) - gr.gr_major != GSS_S_CONTINUE_NEEDED)) { - options_ret->major_status = gr.gr_major; - options_ret->minor_status = gr.gr_minor; -+ if (call_stat != RPC_SUCCESS) { -+ struct rpc_err err; -+ clnt_geterr(gd->clnt, &err); -+ LIBTIRPC_DEBUG(1, ("authgss_refresh: %s errno: %s", -+ clnt_sperrno(call_stat), strerror(err.re_errno))); -+ } else -+ gss_log_status("authgss_refresh:", -+ gr.gr_major, gr.gr_minor); - return FALSE; - } - -diff --git a/src/auth_time.c b/src/auth_time.c -index 10e58eb..7f83ab4 100644 ---- a/src/auth_time.c -+++ b/src/auth_time.c -@@ -44,8 +44,8 @@ - #include - //#include - #include --#undef NIS --#include -+ -+#include "nis.h" - - - #ifdef TESTING -diff --git a/src/des_impl.c b/src/des_impl.c -index c5b7ed6..9dbccaf 100644 ---- a/src/des_impl.c -+++ b/src/des_impl.c -@@ -6,7 +6,8 @@ - /* see to obtain a copy. */ - #include - #include --#include -+#include -+#include - - - static const uint32_t des_SPtrans[8][64] = -diff --git a/src/getpublickey.c b/src/getpublickey.c -index 764a5f9..8cf4dc2 100644 ---- a/src/getpublickey.c -+++ b/src/getpublickey.c -@@ -38,8 +38,10 @@ - #include - #include - #include -+#ifdef YP - #include - #include -+#endif - #include - #include - -diff --git a/src/nis.h b/src/nis.h -new file mode 100644 -index 0000000..588c041 ---- /dev/null -+++ b/src/nis.h -@@ -0,0 +1,70 @@ -+/* -+ * Copyright (c) 2010, Oracle America, Inc. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions are -+ * met: -+ * -+ * * Redistributions of source code must retain the above copyright -+ * notice, this list of conditions and the following disclaimer. -+ * * Redistributions in binary form must reproduce the above -+ * copyright notice, this list of conditions and the following -+ * disclaimer in the documentation and/or other materials -+ * provided with the distribution. -+ * * Neither the name of the "Oracle America, Inc." nor the names of its -+ * contributors may be used to endorse or promote products derived -+ * from this software without specific prior written permission. -+ * -+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -+ */ -+ -+#ifndef _INTERNAL_NIS_H -+#define _INTERNAL_NIS_H 1 -+ -+/* This file only contains the definition of nis_server, to be -+ able to compile libtirpc without the need to have a glibc -+ with sunrpc or a libnsl already installed. */ -+ -+#define NIS_PK_NONE 0 -+ -+struct nis_attr { -+ char *zattr_ndx; -+ struct { -+ u_int zattr_val_len; -+ char *zattr_val_val; -+ } zattr_val; -+}; -+typedef struct nis_attr nis_attr; -+ -+typedef char *nis_name; -+ -+struct endpoint { -+ char *uaddr; -+ char *family; -+ char *proto; -+}; -+typedef struct endpoint endpoint; -+ -+struct nis_server { -+ nis_name name; -+ struct { -+ u_int ep_len; -+ endpoint *ep_val; -+ } ep; -+ uint32_t key_type; -+ netobj pkey; -+}; -+typedef struct nis_server nis_server; -+ -+#endif /* ! _INTERNAL_NIS_H */ -diff --git a/src/rpc_dtablesize.c b/src/rpc_dtablesize.c -index 13d320c..3fe503a 100644 ---- a/src/rpc_dtablesize.c -+++ b/src/rpc_dtablesize.c -@@ -27,22 +27,14 @@ - */ - - #include -- - #include -- --int _rpc_dtablesize(void); /* XXX */ -+#include -+#include - - /* - * Cache the result of getdtablesize(), so we don't have to do an - * expensive system call every time. - */ --/* -- * XXX In FreeBSD 2.x, you can have the maximum number of open file -- * descriptors be greater than FD_SETSIZE (which us 256 by default). -- * -- * Since old programs tend to use this call to determine the first arg -- * for _select(), having this return > FD_SETSIZE is a Bad Idea(TM)! -- */ - int - _rpc_dtablesize(void) - { -diff --git a/src/rpc_soc.c b/src/rpc_soc.c -index 1ec7b3f..ed0892a 100644 ---- a/src/rpc_soc.c -+++ b/src/rpc_soc.c -@@ -61,8 +61,8 @@ - #include - #include - #include --#include - -+#include "nis.h" - #include "rpc_com.h" - - extern mutex_t rpcsoc_lock; -diff --git a/src/rtime.c b/src/rtime.c -index c34e0af..b642840 100644 ---- a/src/rtime.c -+++ b/src/rtime.c -@@ -46,6 +46,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -67,7 +68,8 @@ rtime(addrp, timep, timeout) - struct timeval *timeout; - { - int s; -- fd_set readfds; -+ struct pollfd fd; -+ int milliseconds; - int res; - unsigned long thetime; - struct sockaddr_in from; -@@ -94,31 +96,32 @@ rtime(addrp, timep, timeout) - addrp->sin_port = serv->s_port; - - if (type == SOCK_DGRAM) { -- res = sendto(s, (char *)&thetime, sizeof(thetime), 0, -+ res = sendto(s, (char *)&thetime, sizeof(thetime), 0, - (struct sockaddr *)addrp, sizeof(*addrp)); - if (res < 0) { - do_close(s); -- return(-1); -+ return(-1); - } -- do { -- FD_ZERO(&readfds); -- FD_SET(s, &readfds); -- res = select(_rpc_dtablesize(), &readfds, -- (fd_set *)NULL, (fd_set *)NULL, timeout); -- } while (res < 0 && errno == EINTR); -+ -+ milliseconds = (timeout->tv_sec * 1000) + (timeout->tv_usec / 1000); -+ fd.fd = s; -+ fd.events = POLLIN; -+ do -+ res = poll (&fd, 1, milliseconds); -+ while (res < 0 && errno == EINTR); - if (res <= 0) { - if (res == 0) { - errno = ETIMEDOUT; - } - do_close(s); -- return(-1); -+ return(-1); - } - fromlen = sizeof(from); -- res = recvfrom(s, (char *)&thetime, sizeof(thetime), 0, -+ res = recvfrom(s, (char *)&thetime, sizeof(thetime), 0, - (struct sockaddr *)&from, &fromlen); - do_close(s); - if (res < 0) { -- return(-1); -+ return(-1); - } - } else { - if (connect(s, (struct sockaddr *)addrp, sizeof(*addrp)) < 0) { -diff --git a/src/svc.c b/src/svc.c -index 9c41445..b59467b 100644 ---- a/src/svc.c -+++ b/src/svc.c -@@ -99,7 +99,7 @@ xprt_register (xprt) - { - __svc_xports = (SVCXPRT **) calloc (_rpc_dtablesize(), sizeof (SVCXPRT *)); - if (__svc_xports == NULL) -- return; -+ goto unlock; - } - if (sock < _rpc_dtablesize()) - { -@@ -120,14 +120,14 @@ xprt_register (xprt) - svc_pollfd[i].fd = sock; - svc_pollfd[i].events = (POLLIN | POLLPRI | - POLLRDNORM | POLLRDBAND); -- return; -+ goto unlock; - } - - new_svc_pollfd = (struct pollfd *) realloc (svc_pollfd, - sizeof (struct pollfd) - * (svc_max_pollfd + 1)); - if (new_svc_pollfd == NULL) /* Out of memory */ -- return; -+ goto unlock; - svc_pollfd = new_svc_pollfd; - ++svc_max_pollfd; - -@@ -135,6 +135,7 @@ xprt_register (xprt) - svc_pollfd[svc_max_pollfd - 1].events = (POLLIN | POLLPRI | - POLLRDNORM | POLLRDBAND); - } -+unlock: - rwlock_unlock (&svc_fd_lock); - } - -diff --git a/src/svc_auth_des.c b/src/svc_auth_des.c -index 5bc264c..2e90146 100644 ---- a/src/svc_auth_des.c -+++ b/src/svc_auth_des.c -@@ -86,13 +86,13 @@ static struct cache_entry *authdes_cache/* [AUTHDES_CACHESZ] */; - static short *authdes_lru/* [AUTHDES_CACHESZ] */; - - static void cache_init(); /* initialize the cache */ --static short cache_spot(); /* find an entry in the cache */ --static void cache_ref(/*short sid*/); /* note that sid was ref'd */ -+static short cache_spot(des_block *key, char *name, struct timeval *timestamp); /* find an entry in the cache */ -+static void cache_ref(short sid); /* note that sid was ref'd */ - --static void invalidate(); /* invalidate entry in cache */ -+static void invalidate(char *cred); /* invalidate entry in cache */ - - /* -- * cache statistics -+ * cache statistics - */ - static struct { - u_long ncachehits; /* times cache hit, and is not replay */ -diff --git a/src/svc_auth_gss.c b/src/svc_auth_gss.c -index b6aa407..bece46a 100644 ---- a/src/svc_auth_gss.c -+++ b/src/svc_auth_gss.c -@@ -129,6 +129,8 @@ struct svc_rpc_gss_data { - ((struct svc_rpc_gss_data *)(auth)->svc_ah_private) - - /* Global server credentials. */ -+static u_int _svcauth_req_time = 0; -+static gss_OID_set_desc _svcauth_oid_set = {1, GSS_C_NULL_OID }; - static gss_cred_id_t _svcauth_gss_creds; - static gss_name_t _svcauth_gss_name = GSS_C_NO_NAME; - static char * _svcauth_svc_name = NULL; -@@ -167,6 +169,7 @@ svcauth_gss_import_name(char *service) - gss_name_t name; - gss_buffer_desc namebuf; - OM_uint32 maj_stat, min_stat; -+ bool_t result; - - gss_log_debug("in svcauth_gss_import_name()"); - -@@ -181,22 +184,21 @@ svcauth_gss_import_name(char *service) - maj_stat, min_stat); - return (FALSE); - } -- if (svcauth_gss_set_svc_name(name) != TRUE) { -- gss_release_name(&min_stat, &name); -- return (FALSE); -- } -- return (TRUE); -+ result = svcauth_gss_set_svc_name(name); -+ gss_release_name(&min_stat, &name); -+ return result; - } - - static bool_t --svcauth_gss_acquire_cred(u_int req_time, gss_OID_set_desc *oid_set) -+svcauth_gss_acquire_cred(void) - { - OM_uint32 maj_stat, min_stat; - - gss_log_debug("in svcauth_gss_acquire_cred()"); - -- maj_stat = gss_acquire_cred(&min_stat, _svcauth_gss_name, req_time, -- oid_set, GSS_C_ACCEPT, -+ maj_stat = gss_acquire_cred(&min_stat, _svcauth_gss_name, -+ _svcauth_req_time, &_svcauth_oid_set, -+ GSS_C_ACCEPT, - &_svcauth_gss_creds, NULL, NULL); - - if (maj_stat != GSS_S_COMPLETE) { -@@ -300,6 +302,8 @@ svcauth_gss_accept_sec_context(struct svc_req *rqst, - NULL, - &gd->deleg); - -+ xdr_free((xdrproc_t)xdr_rpc_gss_init_args, (caddr_t)&recv_tok); -+ - if (gr->gr_major != GSS_S_COMPLETE && - gr->gr_major != GSS_S_CONTINUE_NEEDED) { - gss_log_status("svcauth_gss_accept_sec_context: accept_sec_context", -@@ -352,8 +356,11 @@ svcauth_gss_accept_sec_context(struct svc_req *rqst, - return (FALSE); - - rqst->rq_xprt->xp_verf.oa_flavor = RPCSEC_GSS; -- rqst->rq_xprt->xp_verf.oa_base = checksum.value; -+ memcpy(rqst->rq_xprt->xp_verf.oa_base, checksum.value, -+ checksum.length); - rqst->rq_xprt->xp_verf.oa_length = checksum.length; -+ -+ gss_release_buffer(&min_stat, &checksum); - } - return (TRUE); - } -@@ -435,10 +442,13 @@ svcauth_gss_nextverf(struct svc_req *rqst, u_int num) - maj_stat, min_stat); - return (FALSE); - } -+ - rqst->rq_xprt->xp_verf.oa_flavor = RPCSEC_GSS; -- rqst->rq_xprt->xp_verf.oa_base = (caddr_t)checksum.value; -+ memcpy(rqst->rq_xprt->xp_verf.oa_base, checksum.value, checksum.length); - rqst->rq_xprt->xp_verf.oa_length = (u_int)checksum.length; - -+ gss_release_buffer(&min_stat, &checksum); -+ - return (TRUE); - } - -@@ -568,6 +578,8 @@ _svcauth_gss(struct svc_req *rqst, struct rpc_msg *msg, bool_t *no_dispatch) - gss_qop_t qop; - struct svcauth_gss_cache_entry **ce; - time_t now; -+ enum auth_stat result = AUTH_OK; -+ OM_uint32 min_stat; - - gss_log_debug("in svcauth_gss()"); - -@@ -621,19 +633,25 @@ _svcauth_gss(struct svc_req *rqst, struct rpc_msg *msg, bool_t *no_dispatch) - XDR_DESTROY(&xdrs); - - /* Check version. */ -- if (gc->gc_v != RPCSEC_GSS_VERSION) -- return (AUTH_BADCRED); -+ if (gc->gc_v != RPCSEC_GSS_VERSION) { -+ result = AUTH_BADCRED; -+ goto out; -+ } - - /* Check RPCSEC_GSS service. */ - if (gc->gc_svc != RPCSEC_GSS_SVC_NONE && - gc->gc_svc != RPCSEC_GSS_SVC_INTEGRITY && -- gc->gc_svc != RPCSEC_GSS_SVC_PRIVACY) -- return (AUTH_BADCRED); -+ gc->gc_svc != RPCSEC_GSS_SVC_PRIVACY) { -+ result = AUTH_BADCRED; -+ goto out; -+ } - - /* Check sequence number. */ - if (gd->established) { -- if (gc->gc_seq > MAXSEQ) -- return (RPCSEC_GSS_CTXPROBLEM); -+ if (gc->gc_seq > MAXSEQ) { -+ result = RPCSEC_GSS_CTXPROBLEM; -+ goto out; -+ } - - if ((offset = gd->seqlast - gc->gc_seq) < 0) { - gd->seqlast = gc->gc_seq; -@@ -643,7 +661,8 @@ _svcauth_gss(struct svc_req *rqst, struct rpc_msg *msg, bool_t *no_dispatch) - } - else if (offset >= gd->win || (gd->seqmask & (1 << offset))) { - *no_dispatch = 1; -- return (RPCSEC_GSS_CTXPROBLEM); -+ result = RPCSEC_GSS_CTXPROBLEM; -+ goto out; - } - gd->seq = gc->gc_seq; - gd->seqmask |= (1 << offset); -@@ -654,35 +673,52 @@ _svcauth_gss(struct svc_req *rqst, struct rpc_msg *msg, bool_t *no_dispatch) - rqst->rq_svcname = (char *)gd->ctx; - } - -+ rqst->rq_xprt->xp_verf.oa_base = msg->rm_call.cb_verf.oa_base; -+ - /* Handle RPCSEC_GSS control procedure. */ - switch (gc->gc_proc) { - - case RPCSEC_GSS_INIT: - case RPCSEC_GSS_CONTINUE_INIT: -- if (rqst->rq_proc != NULLPROC) -- return (AUTH_FAILED); /* XXX ? */ -+ if (rqst->rq_proc != NULLPROC) { -+ result = AUTH_FAILED; /* XXX ? */ -+ break; -+ } - - if (_svcauth_gss_name == GSS_C_NO_NAME) { -- if (!svcauth_gss_import_name("nfs")) -- return (AUTH_FAILED); -+ if (!svcauth_gss_import_name("nfs")) { -+ result = AUTH_FAILED; -+ break; -+ } - } - -- if (!svcauth_gss_acquire_cred(0, GSS_C_NULL_OID_SET)) -- return (AUTH_FAILED); -+ if (!svcauth_gss_acquire_cred()) { -+ result = AUTH_FAILED; -+ break; -+ } - -- if (!svcauth_gss_accept_sec_context(rqst, &gr)) -- return (AUTH_REJECTEDCRED); -+ if (!svcauth_gss_accept_sec_context(rqst, &gr)) { -+ result = AUTH_REJECTEDCRED; -+ break; -+ } - -- if (!svcauth_gss_nextverf(rqst, htonl(gr.gr_win))) -- return (AUTH_FAILED); -+ if (!svcauth_gss_nextverf(rqst, htonl(gr.gr_win))) { -+ result = AUTH_FAILED; -+ break; -+ } - - *no_dispatch = TRUE; - - call_stat = svc_sendreply(rqst->rq_xprt, - (xdrproc_t)xdr_rpc_gss_init_res, (caddr_t)&gr); - -- if (!call_stat) -- return (AUTH_FAILED); -+ gss_release_buffer(&min_stat, &gr.gr_token); -+ free(gr.gr_ctx.value); -+ -+ if (!call_stat) { -+ result = AUTH_FAILED; -+ break; -+ } - - if (gr.gr_major == GSS_S_COMPLETE) - gd->established = TRUE; -@@ -690,27 +726,37 @@ _svcauth_gss(struct svc_req *rqst, struct rpc_msg *msg, bool_t *no_dispatch) - break; - - case RPCSEC_GSS_DATA: -- if (!svcauth_gss_validate(gd, msg, &qop)) -- return (RPCSEC_GSS_CREDPROBLEM); -+ if (!svcauth_gss_validate(gd, msg, &qop)) { -+ result = RPCSEC_GSS_CREDPROBLEM; -+ break; -+ } - -- if (!svcauth_gss_nextverf(rqst, htonl(gc->gc_seq))) -- return (AUTH_FAILED); -+ if (!svcauth_gss_nextverf(rqst, htonl(gc->gc_seq))) { -+ result = AUTH_FAILED; -+ break; -+ } - - if (!gd->callback_done) { - gd->callback_done = TRUE; - gd->sec.qop = qop; - (void)rpc_gss_num_to_qop(gd->rcred.mechanism, - gd->sec.qop, &gd->rcred.qop); -- if (!svcauth_gss_callback(rqst, gd)) -- return (AUTH_REJECTEDCRED); -+ if (!svcauth_gss_callback(rqst, gd)) { -+ result = AUTH_REJECTEDCRED; -+ break; -+ } - } - - if (gd->locked) { - if (gd->rcred.service != -- _rpc_gss_svc_to_service(gc->gc_svc)) -- return (AUTH_FAILED); -- if (gd->sec.qop != qop) -- return (AUTH_BADVERF); -+ _rpc_gss_svc_to_service(gc->gc_svc)) { -+ result = AUTH_FAILED; -+ break; -+ } -+ if (gd->sec.qop != qop) { -+ result = AUTH_BADVERF; -+ break; -+ } - } - - if (gd->sec.qop != qop) { -@@ -724,17 +770,25 @@ _svcauth_gss(struct svc_req *rqst, struct rpc_msg *msg, bool_t *no_dispatch) - break; - - case RPCSEC_GSS_DESTROY: -- if (rqst->rq_proc != NULLPROC) -- return (AUTH_FAILED); /* XXX ? */ -+ if (rqst->rq_proc != NULLPROC) { -+ result = AUTH_FAILED; /* XXX ? */ -+ break; -+ } - -- if (!svcauth_gss_validate(gd, msg, &qop)) -- return (RPCSEC_GSS_CREDPROBLEM); -+ if (!svcauth_gss_validate(gd, msg, &qop)) { -+ result = RPCSEC_GSS_CREDPROBLEM; -+ break; -+ } - -- if (!svcauth_gss_nextverf(rqst, htonl(gc->gc_seq))) -- return (AUTH_FAILED); -+ if (!svcauth_gss_nextverf(rqst, htonl(gc->gc_seq))) { -+ result = AUTH_FAILED; -+ break; -+ } - -- if (!svcauth_gss_release_cred()) -- return (AUTH_FAILED); -+ if (!svcauth_gss_release_cred()) { -+ result = AUTH_FAILED; -+ break; -+ } - - SVCAUTH_DESTROY(&SVC_XP_AUTH(rqst->rq_xprt)); - SVC_XP_AUTH(rqst->rq_xprt).svc_ah_ops = svc_auth_none.svc_ah_ops; -@@ -743,10 +797,12 @@ _svcauth_gss(struct svc_req *rqst, struct rpc_msg *msg, bool_t *no_dispatch) - break; - - default: -- return (AUTH_REJECTEDCRED); -+ result = AUTH_REJECTEDCRED; - break; - } -- return (AUTH_OK); -+out: -+ xdr_free((xdrproc_t)xdr_rpc_gss_cred, (caddr_t)gc); -+ return result; - } - - static bool_t -@@ -890,7 +946,6 @@ bool_t - rpc_gss_set_svc_name(char *principal, char *mechanism, u_int req_time, - u_int UNUSED(program), u_int UNUSED(version)) - { -- gss_OID_set_desc oid_set; - rpc_gss_OID oid; - char *save; - -@@ -902,14 +957,13 @@ rpc_gss_set_svc_name(char *principal, char *mechanism, u_int req_time, - - if (!rpc_gss_mech_to_oid(mechanism, &oid)) - goto out_err; -- oid_set.count = 1; -- oid_set.elements = (gss_OID)oid; - - if (!svcauth_gss_import_name(principal)) - goto out_err; -- if (!svcauth_gss_acquire_cred(req_time, &oid_set)) -- goto out_err; - -+ _svcauth_req_time = req_time; -+ _svcauth_oid_set.count = 1; -+ _svcauth_oid_set.elements = (gss_OID)oid; - free(_svcauth_svc_name); - _svcauth_svc_name = save; - return TRUE; -diff --git a/src/svc_vc.c b/src/svc_vc.c -index 6ae613d..97a76a3 100644 ---- a/src/svc_vc.c -+++ b/src/svc_vc.c -@@ -270,14 +270,8 @@ makefd_xprt(fd, sendsize, recvsize) - struct cf_conn *cd; - const char *netid; - struct __rpc_sockinfo si; -- -- assert(fd != -1); - -- if (fd >= FD_SETSIZE) { -- warnx("svc_vc: makefd_xprt: fd too high\n"); -- xprt = NULL; -- goto done; -- } -+ assert(fd != -1); - - xprt = mem_alloc(sizeof(SVCXPRT)); - if (xprt == NULL) { -@@ -338,22 +332,10 @@ rendezvous_request(xprt, msg) - r = (struct cf_rendezvous *)xprt->xp_p1; - again: - len = sizeof addr; -- if ((sock = accept(xprt->xp_fd, (struct sockaddr *)(void *)&addr, -- &len)) < 0) { -+ sock = accept(xprt->xp_fd, (struct sockaddr *)(void *)&addr, &len); -+ if (sock < 0) { - if (errno == EINTR) - goto again; -- -- if (errno == EMFILE || errno == ENFILE) { -- /* If there are no file descriptors available, then accept will fail. -- We want to delay here so the connection request can be dequeued; -- otherwise we can bounce between polling and accepting, never -- giving the request a chance to dequeue and eating an enormous -- amount of cpu time in svc_run if we're polling on many file -- descriptors. */ -- struct timespec ts = { .tv_sec = 0, .tv_nsec = 50000000 }; -- nanosleep (&ts, NULL); -- goto again; -- } - return (FALSE); - } - /* -diff --git a/tirpc/rpc/des.h b/tirpc/rpc/des.h -index d2881ad..018aa48 100644 ---- a/tirpc/rpc/des.h -+++ b/tirpc/rpc/des.h -@@ -82,6 +82,6 @@ struct desparams { - /* - * Software DES. - */ --extern int _des_crypt( char *, int, struct desparams * ); -+extern int _des_crypt( char *, unsigned, struct desparams * ); - - #endif -diff --git a/tirpc/rpc/rpcent.h b/tirpc/rpc/rpcent.h -index 147f909..e07503c 100644 ---- a/tirpc/rpc/rpcent.h -+++ b/tirpc/rpc/rpcent.h -@@ -60,10 +60,11 @@ struct rpcent { - extern struct rpcent *getrpcbyname(const char *); - extern struct rpcent *getrpcbynumber(int); - extern struct rpcent *getrpcent(void); --#endif - - extern void setrpcent(int); - extern void endrpcent(void); -+#endif -+ - #ifdef __cplusplus - } - #endif diff --git a/meta/recipes-extended/libtirpc/libtirpc_1.0.1.bb b/meta/recipes-extended/libtirpc/libtirpc_1.0.2.bb similarity index 81% rename from meta/recipes-extended/libtirpc/libtirpc_1.0.1.bb rename to meta/recipes-extended/libtirpc/libtirpc_1.0.2.bb index 7be8e10..f9718c5 100644 --- a/meta/recipes-extended/libtirpc/libtirpc_1.0.1.bb +++ b/meta/recipes-extended/libtirpc/libtirpc_1.0.2.bb @@ -11,20 +11,17 @@ PROVIDES = "virtual/librpc" SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.bz2;name=libtirpc \ ${GENTOO_MIRROR}/${BPN}-glibc-nfs.tar.xz;name=glibc-nfs \ - file://libtirpc-1.0.2-rc3.patch \ - file://libtirpc-0.2.1-fortify.patch \ file://export_key_secretkey_is_set.patch \ file://0001-replace-__bzero-with-memset-API.patch \ file://0001-include-stdint.h-for-uintptr_t.patch \ - file://0001-Fix-for-CVE-2017-8779.patch \ " SRC_URI_append_libc-musl = " \ file://Use-netbsd-queue.h.patch \ " -SRC_URI[libtirpc.md5sum] = "36ce1c0ff80863bb0839d54aa0b94014" -SRC_URI[libtirpc.sha256sum] = "5156974f31be7ccbc8ab1de37c4739af6d9d42c87b1d5caf4835dda75fcbb89e" +SRC_URI[libtirpc.md5sum] = "d5a37f1dccec484f9cabe2b97e54e9a6" +SRC_URI[libtirpc.sha256sum] = "723c5ce92706cbb601a8db09110df1b4b69391643158f20ff587e20e7c5f90f5" SRC_URI[glibc-nfs.md5sum] = "5ae500b9d0b6b72cb875bc04944b9445" SRC_URI[glibc-nfs.sha256sum] = "2677cfedf626f3f5a8f6e507aed5bb8f79a7453b589d684dbbc086e755170d83" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 21:36:28 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 21:36:28 +0000 Subject: [oe-commits] [openembedded-core] branch master-next updated (fad843e -> 8ad0458) Message-ID: <150067298853.14971.3226189565274630345@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master-next in repository openembedded-core. discard fad843e python3-git: upgrade to 2.1.5 discard df4442a python3-mako: update to 1.0.7 discard 61e682f libtirpc: upgrade to 1.0.2 discard 7b6663a sqlite3: upgrade to 3.19.3 discard e19927b bluez5: upgrade to 5.46 new a006f77 sqlite3: upgrade to 3.19.3 new c26b3c6 libtirpc: upgrade to 1.0.2 new 7642a7b python3-mako: update to 1.0.7 new 70c0d99 python3-git: upgrade to 2.1.5 new 8ad0458 bluez5: upgrade to 5.46 This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (fad843e) \ N -- N -- N refs/heads/master-next (8ad0458) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 5 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: meta/recipes-connectivity/bluez5/bluez5_5.46.bb | 1 + 1 file changed, 1 insertion(+) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 21:36:29 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 21:36:29 +0000 Subject: [oe-commits] [openembedded-core] 01/05: sqlite3: upgrade to 3.19.3 In-Reply-To: <150067298853.14971.3226189565274630345@git.openembedded.org> References: <150067298853.14971.3226189565274630345@git.openembedded.org> Message-ID: <20170721213628.A057323282C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit a006f771dbd451aff18a25958d24b3745d11d514 Author: Maxin B. John AuthorDate: Wed Jul 19 18:01:24 2017 +0300 sqlite3: upgrade to 3.19.3 3.19.2 -> 3.19.3 Fixes a bug associated with auto_vacuum that can lead to database corruption. Signed-off-by: Maxin B. John Signed-off-by: Ross Burton --- meta/recipes-support/sqlite/{sqlite3_3.19.2.bb => sqlite3_3.19.3.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-support/sqlite/sqlite3_3.19.2.bb b/meta/recipes-support/sqlite/sqlite3_3.19.3.bb similarity index 59% rename from meta/recipes-support/sqlite/sqlite3_3.19.2.bb rename to meta/recipes-support/sqlite/sqlite3_3.19.3.bb index cf87073..89d4395 100644 --- a/meta/recipes-support/sqlite/sqlite3_3.19.2.bb +++ b/meta/recipes-support/sqlite/sqlite3_3.19.3.bb @@ -6,5 +6,5 @@ LIC_FILES_CHKSUM = "file://sqlite3.h;endline=11;md5=65f0a57ca6928710b418c094b357 SRC_URI = "\ http://www.sqlite.org/2017/sqlite-autoconf-${SQLITE_PV}.tar.gz \ " -SRC_URI[md5sum] = "9f006b16de2cd81f6bae9b40e91daabf" -SRC_URI[sha256sum] = "ca5361fb01cc3ad63d6fd4eb2cb0b6398e629595896d3558f7e121d37dac2ffc" +SRC_URI[md5sum] = "c93070d5bf136ce271db23d2dfbc2435" +SRC_URI[sha256sum] = "06129c03dced9f87733a8cba408871bd60673b8f93b920ba8d815efab0a06301" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 21:36:32 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 21:36:32 +0000 Subject: [oe-commits] [openembedded-core] 04/05: python3-git: upgrade to 2.1.5 In-Reply-To: <150067298853.14971.3226189565274630345@git.openembedded.org> References: <150067298853.14971.3226189565274630345@git.openembedded.org> Message-ID: <20170721213628.BE30623282F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 70c0d99d6b877eac741ffa31c61c7dcfe9e73225 Author: Jose Lamego AuthorDate: Wed Jul 19 11:50:02 2017 -0500 python3-git: upgrade to 2.1.5 python3-git needs to be upgraded to latest upstream version. "git" is added as RDEPENDS. These changes were tested using qemux86 with core-image-minimal. Signed-off-by: Jose Lamego Signed-off-by: Ross Burton --- meta/recipes-devtools/python/python-git.inc | 4 ++-- .../python/{python3-git_2.1.3.bb => python3-git_2.1.5.bb} | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/meta/recipes-devtools/python/python-git.inc b/meta/recipes-devtools/python/python-git.inc index 825e795d9..777608c 100644 --- a/meta/recipes-devtools/python/python-git.inc +++ b/meta/recipes-devtools/python/python-git.inc @@ -10,8 +10,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=8b8d26c37c1d5a04f9b0186edbebc183" SRC_URI = "https://files.pythonhosted.org/packages/source/G/GitPython/GitPython-${PV}.tar.gz" -SRC_URI[md5sum] = "6cd18008c03a767740f3bf6d89ef79bc" -SRC_URI[sha256sum] = "3826185b11e1fc372e7d31251e9b65e11ccb7c27f82c771d619048bdb5b66c81" +SRC_URI[md5sum] = "df94212b19d270a625b67b4c84ac9a41" +SRC_URI[sha256sum] = "5c00cbd256e2b1d039381d4f7d71fcb7ee5cc196ca10c101ff7191bd82ab5d9c" UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/GitPython/" UPSTREAM_CHECK_REGEX = "/GitPython/(?P(\d+[\.\-_]*)+)" diff --git a/meta/recipes-devtools/python/python3-git_2.1.3.bb b/meta/recipes-devtools/python/python3-git_2.1.5.bb similarity index 81% rename from meta/recipes-devtools/python/python3-git_2.1.3.bb rename to meta/recipes-devtools/python/python3-git_2.1.5.bb index 7a2d452..4ac2a0e 100644 --- a/meta/recipes-devtools/python/python3-git_2.1.3.bb +++ b/meta/recipes-devtools/python/python3-git_2.1.5.bb @@ -4,4 +4,4 @@ DEPENDS = "python3-gitdb" inherit setuptools3 -RDEPENDS_${PN} += "python3-gitdb python3-lang python3-io python3-shell python3-math python3-re python3-subprocess python3-stringold python3-unixadmin python3-enum python3-logging python3-datetime python3-netclient python3-unittest python3-argparse" +RDEPENDS_${PN} += "python3-gitdb python3-lang python3-io python3-shell python3-math python3-re python3-subprocess python3-stringold python3-unixadmin python3-enum python3-logging python3-datetime python3-netclient python3-unittest python3-argparse git" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 21:36:31 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 21:36:31 +0000 Subject: [oe-commits] [openembedded-core] 03/05: python3-mako: update to 1.0.7 In-Reply-To: <150067298853.14971.3226189565274630345@git.openembedded.org> References: <150067298853.14971.3226189565274630345@git.openembedded.org> Message-ID: <20170721213628.B55AC23282E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 7642a7b65cbbb366e1f6c92c32c77cc74dfca13b Author: Jose Lamego AuthorDate: Wed Jul 19 11:12:17 2017 -0500 python3-mako: update to 1.0.7 python3-mako need to be upgraded to latest upstream version. This change was tested using qemux86 with core-image-minimal Signed-off-by: Jose Lamego Signed-off-by: Ross Burton --- meta/recipes-devtools/python/python-mako.inc | 4 ++-- .../python/{python3-mako_1.0.6.bb => python3-mako_1.0.7.bb} | 0 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-devtools/python/python-mako.inc b/meta/recipes-devtools/python/python-mako.inc index 10364db..ba50675 100644 --- a/meta/recipes-devtools/python/python-mako.inc +++ b/meta/recipes-devtools/python/python-mako.inc @@ -5,8 +5,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=1bb21fa2d2f7a534c884b990430a6863" SRC_URI = "https://files.pythonhosted.org/packages/source/M/Mako/Mako-${PV}.tar.gz" -SRC_URI[md5sum] = "a28e22a339080316b2acc352b9ee631c" -SRC_URI[sha256sum] = "48559ebd872a8e77f92005884b3d88ffae552812cdf17db6768e5c3be5ebbe0d" +SRC_URI[md5sum] = "5836cc997b1b773ef389bf6629c30e65" +SRC_URI[sha256sum] = "4e02fde57bd4abb5ec400181e4c314f56ac3e49ba4fb8b0d50bba18cb27d25ae" UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/mako/" UPSTREAM_CHECK_REGEX = "/Mako/(?P(\d+[\.\-_]*)+)" diff --git a/meta/recipes-devtools/python/python3-mako_1.0.6.bb b/meta/recipes-devtools/python/python3-mako_1.0.7.bb similarity index 100% rename from meta/recipes-devtools/python/python3-mako_1.0.6.bb rename to meta/recipes-devtools/python/python3-mako_1.0.7.bb -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 21:36:30 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 21:36:30 +0000 Subject: [oe-commits] [openembedded-core] 02/05: libtirpc: upgrade to 1.0.2 In-Reply-To: <150067298853.14971.3226189565274630345@git.openembedded.org> References: <150067298853.14971.3226189565274630345@git.openembedded.org> Message-ID: <20170721213628.AB15D23282D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit c26b3c67aabc0016850a78e53ef5c10c3e032aea Author: Maxin B. John AuthorDate: Wed Jul 19 18:01:25 2017 +0300 libtirpc: upgrade to 1.0.2 1.0.1 -> 1.0.2 Remove these Backported and upstreamed patches: 1. 0001-Fix-for-CVE-2017-8779.patch 2. libtirpc-0.2.1-fortify.patch 3. libtirpc-1.0.2-rc3.patc Signed-off-by: Maxin B. John Signed-off-by: Ross Burton --- .../libtirpc/0001-Fix-for-CVE-2017-8779.patch | 276 -------- .../libtirpc/libtirpc/libtirpc-0.2.1-fortify.patch | 26 - .../libtirpc/libtirpc/libtirpc-1.0.2-rc3.patch | 743 --------------------- .../{libtirpc_1.0.1.bb => libtirpc_1.0.2.bb} | 7 +- 4 files changed, 2 insertions(+), 1050 deletions(-) diff --git a/meta/recipes-extended/libtirpc/libtirpc/0001-Fix-for-CVE-2017-8779.patch b/meta/recipes-extended/libtirpc/libtirpc/0001-Fix-for-CVE-2017-8779.patch deleted file mode 100644 index b3bae67..0000000 --- a/meta/recipes-extended/libtirpc/libtirpc/0001-Fix-for-CVE-2017-8779.patch +++ /dev/null @@ -1,276 +0,0 @@ -From dd9c7cf4f8f375c6d641b760d124650c418c2ce3 Mon Sep 17 00:00:00 2001 -From: Guido Vranken -Date: Mon, 15 May 2017 11:12:21 -0400 -Subject: [PATCH] Fix for CVE-2017-8779 - -Signed-off-by: Steve Dickson ---- - src/rpc_generic.c | 8 ++++++++ - src/rpcb_prot.c | 22 ++++++++++++++-------- - src/rpcb_st_xdr.c | 9 +++++---- - src/xdr.c | 30 +++++++++++++++++++++++++----- - 4 files changed, 52 insertions(+), 17 deletions(-) - -CVE: CVE-2017-8779 -Upstream-Status: Backport - -Signed-off-by: Fan Xin - -diff --git a/src/rpc_generic.c b/src/rpc_generic.c -index 2f09a8f..589cbd5 100644 ---- a/src/rpc_generic.c -+++ b/src/rpc_generic.c -@@ -615,6 +615,9 @@ __rpc_taddr2uaddr_af(int af, const struct netbuf *nbuf) - - switch (af) { - case AF_INET: -+ if (nbuf->len < sizeof(*sin)) { -+ return NULL; -+ } - sin = nbuf->buf; - if (inet_ntop(af, &sin->sin_addr, namebuf, sizeof namebuf) - == NULL) -@@ -626,6 +629,9 @@ __rpc_taddr2uaddr_af(int af, const struct netbuf *nbuf) - break; - #ifdef INET6 - case AF_INET6: -+ if (nbuf->len < sizeof(*sin6)) { -+ return NULL; -+ } - sin6 = nbuf->buf; - if (inet_ntop(af, &sin6->sin6_addr, namebuf6, sizeof namebuf6) - == NULL) -@@ -667,6 +673,8 @@ __rpc_uaddr2taddr_af(int af, const char *uaddr) - - port = 0; - sin = NULL; -+ if (uaddr == NULL) -+ return NULL; - addrstr = strdup(uaddr); - if (addrstr == NULL) - return NULL; -diff --git a/src/rpcb_prot.c b/src/rpcb_prot.c -index 43fd385..a923c8e 100644 ---- a/src/rpcb_prot.c -+++ b/src/rpcb_prot.c -@@ -41,6 +41,7 @@ - #include - #include - #include -+#include "rpc_com.h" - - bool_t - xdr_rpcb(xdrs, objp) -@@ -53,13 +54,13 @@ xdr_rpcb(xdrs, objp) - if (!xdr_u_int32_t(xdrs, &objp->r_vers)) { - return (FALSE); - } -- if (!xdr_string(xdrs, &objp->r_netid, (u_int)~0)) { -+ if (!xdr_string(xdrs, &objp->r_netid, RPC_MAXDATASIZE)) { - return (FALSE); - } -- if (!xdr_string(xdrs, &objp->r_addr, (u_int)~0)) { -+ if (!xdr_string(xdrs, &objp->r_addr, RPC_MAXDATASIZE)) { - return (FALSE); - } -- if (!xdr_string(xdrs, &objp->r_owner, (u_int)~0)) { -+ if (!xdr_string(xdrs, &objp->r_owner, RPC_MAXDATASIZE)) { - return (FALSE); - } - return (TRUE); -@@ -159,19 +160,19 @@ xdr_rpcb_entry(xdrs, objp) - XDR *xdrs; - rpcb_entry *objp; - { -- if (!xdr_string(xdrs, &objp->r_maddr, (u_int)~0)) { -+ if (!xdr_string(xdrs, &objp->r_maddr, RPC_MAXDATASIZE)) { - return (FALSE); - } -- if (!xdr_string(xdrs, &objp->r_nc_netid, (u_int)~0)) { -+ if (!xdr_string(xdrs, &objp->r_nc_netid, RPC_MAXDATASIZE)) { - return (FALSE); - } - if (!xdr_u_int32_t(xdrs, &objp->r_nc_semantics)) { - return (FALSE); - } -- if (!xdr_string(xdrs, &objp->r_nc_protofmly, (u_int)~0)) { -+ if (!xdr_string(xdrs, &objp->r_nc_protofmly, RPC_MAXDATASIZE)) { - return (FALSE); - } -- if (!xdr_string(xdrs, &objp->r_nc_proto, (u_int)~0)) { -+ if (!xdr_string(xdrs, &objp->r_nc_proto, RPC_MAXDATASIZE)) { - return (FALSE); - } - return (TRUE); -@@ -292,7 +293,7 @@ xdr_rpcb_rmtcallres(xdrs, p) - bool_t dummy; - struct r_rpcb_rmtcallres *objp = (struct r_rpcb_rmtcallres *)(void *)p; - -- if (!xdr_string(xdrs, &objp->addr, (u_int)~0)) { -+ if (!xdr_string(xdrs, &objp->addr, RPC_MAXDATASIZE)) { - return (FALSE); - } - if (!xdr_u_int(xdrs, &objp->results.results_len)) { -@@ -312,6 +313,11 @@ xdr_netbuf(xdrs, objp) - if (!xdr_u_int32_t(xdrs, (u_int32_t *) &objp->maxlen)) { - return (FALSE); - } -+ -+ if (objp->maxlen > RPC_MAXDATASIZE) { -+ return (FALSE); -+ } -+ - dummy = xdr_bytes(xdrs, (char **)&(objp->buf), - (u_int *)&(objp->len), objp->maxlen); - return (dummy); -diff --git a/src/rpcb_st_xdr.c b/src/rpcb_st_xdr.c -index 08db745..28e6a48 100644 ---- a/src/rpcb_st_xdr.c -+++ b/src/rpcb_st_xdr.c -@@ -37,6 +37,7 @@ - - - #include -+#include "rpc_com.h" - - /* Link list of all the stats about getport and getaddr */ - -@@ -58,7 +59,7 @@ xdr_rpcbs_addrlist(xdrs, objp) - if (!xdr_int(xdrs, &objp->failure)) { - return (FALSE); - } -- if (!xdr_string(xdrs, &objp->netid, (u_int)~0)) { -+ if (!xdr_string(xdrs, &objp->netid, RPC_MAXDATASIZE)) { - return (FALSE); - } - -@@ -109,7 +110,7 @@ xdr_rpcbs_rmtcalllist(xdrs, objp) - IXDR_PUT_INT32(buf, objp->failure); - IXDR_PUT_INT32(buf, objp->indirect); - } -- if (!xdr_string(xdrs, &objp->netid, (u_int)~0)) { -+ if (!xdr_string(xdrs, &objp->netid, RPC_MAXDATASIZE)) { - return (FALSE); - } - if (!xdr_pointer(xdrs, (char **)&objp->next, -@@ -147,7 +148,7 @@ xdr_rpcbs_rmtcalllist(xdrs, objp) - objp->failure = (int)IXDR_GET_INT32(buf); - objp->indirect = (int)IXDR_GET_INT32(buf); - } -- if (!xdr_string(xdrs, &objp->netid, (u_int)~0)) { -+ if (!xdr_string(xdrs, &objp->netid, RPC_MAXDATASIZE)) { - return (FALSE); - } - if (!xdr_pointer(xdrs, (char **)&objp->next, -@@ -175,7 +176,7 @@ xdr_rpcbs_rmtcalllist(xdrs, objp) - if (!xdr_int(xdrs, &objp->indirect)) { - return (FALSE); - } -- if (!xdr_string(xdrs, &objp->netid, (u_int)~0)) { -+ if (!xdr_string(xdrs, &objp->netid, RPC_MAXDATASIZE)) { - return (FALSE); - } - if (!xdr_pointer(xdrs, (char **)&objp->next, -diff --git a/src/xdr.c b/src/xdr.c -index f3fb9ad..b9a1558 100644 ---- a/src/xdr.c -+++ b/src/xdr.c -@@ -42,8 +42,10 @@ - #include - #include - -+#include - #include - #include -+#include - - typedef quad_t longlong_t; /* ANSI long long type */ - typedef u_quad_t u_longlong_t; /* ANSI unsigned long long type */ -@@ -53,7 +55,6 @@ typedef u_quad_t u_longlong_t; /* ANSI unsigned long long type */ - */ - #define XDR_FALSE ((long) 0) - #define XDR_TRUE ((long) 1) --#define LASTUNSIGNED ((u_int) 0-1) - - /* - * for unit alignment -@@ -629,6 +630,7 @@ xdr_bytes(xdrs, cpp, sizep, maxsize) - { - char *sp = *cpp; /* sp is the actual string pointer */ - u_int nodesize; -+ bool_t ret, allocated = FALSE; - - /* - * first deal with the length since xdr bytes are counted -@@ -652,6 +654,7 @@ xdr_bytes(xdrs, cpp, sizep, maxsize) - } - if (sp == NULL) { - *cpp = sp = mem_alloc(nodesize); -+ allocated = TRUE; - } - if (sp == NULL) { - warnx("xdr_bytes: out of memory"); -@@ -660,7 +663,14 @@ xdr_bytes(xdrs, cpp, sizep, maxsize) - /* FALLTHROUGH */ - - case XDR_ENCODE: -- return (xdr_opaque(xdrs, sp, nodesize)); -+ ret = xdr_opaque(xdrs, sp, nodesize); -+ if ((xdrs->x_op == XDR_DECODE) && (ret == FALSE)) { -+ if (allocated == TRUE) { -+ free(sp); -+ *cpp = NULL; -+ } -+ } -+ return (ret); - - case XDR_FREE: - if (sp != NULL) { -@@ -754,6 +764,7 @@ xdr_string(xdrs, cpp, maxsize) - char *sp = *cpp; /* sp is the actual string pointer */ - u_int size; - u_int nodesize; -+ bool_t ret, allocated = FALSE; - - /* - * first deal with the length since xdr strings are counted-strings -@@ -793,8 +804,10 @@ xdr_string(xdrs, cpp, maxsize) - switch (xdrs->x_op) { - - case XDR_DECODE: -- if (sp == NULL) -+ if (sp == NULL) { - *cpp = sp = mem_alloc(nodesize); -+ allocated = TRUE; -+ } - if (sp == NULL) { - warnx("xdr_string: out of memory"); - return (FALSE); -@@ -803,7 +816,14 @@ xdr_string(xdrs, cpp, maxsize) - /* FALLTHROUGH */ - - case XDR_ENCODE: -- return (xdr_opaque(xdrs, sp, size)); -+ ret = xdr_opaque(xdrs, sp, size); -+ if ((xdrs->x_op == XDR_DECODE) && (ret == FALSE)) { -+ if (allocated == TRUE) { -+ free(sp); -+ *cpp = NULL; -+ } -+ } -+ return (ret); - - case XDR_FREE: - mem_free(sp, nodesize); -@@ -823,7 +843,7 @@ xdr_wrapstring(xdrs, cpp) - XDR *xdrs; - char **cpp; - { -- return xdr_string(xdrs, cpp, LASTUNSIGNED); -+ return xdr_string(xdrs, cpp, RPC_MAXDATASIZE); - } - - /* --- -1.9.1 - diff --git a/meta/recipes-extended/libtirpc/libtirpc/libtirpc-0.2.1-fortify.patch b/meta/recipes-extended/libtirpc/libtirpc/libtirpc-0.2.1-fortify.patch deleted file mode 100644 index 4a785d3..0000000 --- a/meta/recipes-extended/libtirpc/libtirpc/libtirpc-0.2.1-fortify.patch +++ /dev/null @@ -1,26 +0,0 @@ -Fix a possible overflow (reported by _FORTIFY_SOURCE=2) - -Ported from Gentoo - -Upstream-Status: Pending - -Signed-off-by: Khem Raj - -Index: libtirpc-0.2.1/src/getrpcport.c -=================================================================== ---- libtirpc-0.2.1.orig/src/getrpcport.c -+++ libtirpc-0.2.1/src/getrpcport.c -@@ -54,11 +54,11 @@ getrpcport(host, prognum, versnum, proto - - if ((hp = gethostbyname(host)) == NULL) - return (0); -+ if (hp->h_length != sizeof(addr.sin_addr.s_addr)) -+ return (0); - memset(&addr, 0, sizeof(addr)); - addr.sin_family = AF_INET; - addr.sin_port = 0; -- if (hp->h_length > sizeof(addr)) -- hp->h_length = sizeof(addr); - memcpy(&addr.sin_addr.s_addr, hp->h_addr, (size_t)hp->h_length); - /* Inconsistent interfaces need casts! :-( */ - return (pmap_getport(&addr, (u_long)prognum, (u_long)versnum, diff --git a/meta/recipes-extended/libtirpc/libtirpc/libtirpc-1.0.2-rc3.patch b/meta/recipes-extended/libtirpc/libtirpc/libtirpc-1.0.2-rc3.patch deleted file mode 100644 index 113dabe..0000000 --- a/meta/recipes-extended/libtirpc/libtirpc/libtirpc-1.0.2-rc3.patch +++ /dev/null @@ -1,743 +0,0 @@ -Backport the 1.0.2 RC3 changes, this fixes issues with gcc7 - -Upstream-Status: Backport - -Signed-off-by: Khem Raj - -diff --git a/src/Makefile.am b/src/Makefile.am -index e4ed8aa..fba2aa4 100644 ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -24,7 +24,7 @@ libtirpc_la_SOURCES = auth_none.c auth_unix.c authunix_prot.c bindresvport.c cln - rpcb_st_xdr.c svc.c svc_auth.c svc_dg.c svc_auth_unix.c svc_auth_none.c \ - svc_auth_des.c \ - svc_generic.c svc_raw.c svc_run.c svc_simple.c svc_vc.c getpeereid.c \ -- auth_time.c auth_des.c authdes_prot.c debug.c -+ auth_time.c auth_des.c authdes_prot.c debug.c des_crypt.c des_impl.c - - ## XDR - libtirpc_la_SOURCES += xdr.c xdr_rec.c xdr_array.c xdr_float.c xdr_mem.c xdr_reference.c xdr_stdio.c xdr_sizeof.c -diff --git a/src/auth_des.c b/src/auth_des.c -index 4d3639e..af2f61f 100644 ---- a/src/auth_des.c -+++ b/src/auth_des.c -@@ -46,8 +46,8 @@ - #include - #include - #include --#undef NIS --#include -+ -+#include "nis.h" - - #if defined(LIBC_SCCS) && !defined(lint) - #endif -diff --git a/src/auth_gss.c b/src/auth_gss.c -index 9b88c38..5959893 100644 ---- a/src/auth_gss.c -+++ b/src/auth_gss.c -@@ -526,6 +526,14 @@ _rpc_gss_refresh(AUTH *auth, rpc_gss_options_ret_t *options_ret) - gr.gr_major != GSS_S_CONTINUE_NEEDED)) { - options_ret->major_status = gr.gr_major; - options_ret->minor_status = gr.gr_minor; -+ if (call_stat != RPC_SUCCESS) { -+ struct rpc_err err; -+ clnt_geterr(gd->clnt, &err); -+ LIBTIRPC_DEBUG(1, ("authgss_refresh: %s errno: %s", -+ clnt_sperrno(call_stat), strerror(err.re_errno))); -+ } else -+ gss_log_status("authgss_refresh:", -+ gr.gr_major, gr.gr_minor); - return FALSE; - } - -diff --git a/src/auth_time.c b/src/auth_time.c -index 10e58eb..7f83ab4 100644 ---- a/src/auth_time.c -+++ b/src/auth_time.c -@@ -44,8 +44,8 @@ - #include - //#include - #include --#undef NIS --#include -+ -+#include "nis.h" - - - #ifdef TESTING -diff --git a/src/des_impl.c b/src/des_impl.c -index c5b7ed6..9dbccaf 100644 ---- a/src/des_impl.c -+++ b/src/des_impl.c -@@ -6,7 +6,8 @@ - /* see to obtain a copy. */ - #include - #include --#include -+#include -+#include - - - static const uint32_t des_SPtrans[8][64] = -diff --git a/src/getpublickey.c b/src/getpublickey.c -index 764a5f9..8cf4dc2 100644 ---- a/src/getpublickey.c -+++ b/src/getpublickey.c -@@ -38,8 +38,10 @@ - #include - #include - #include -+#ifdef YP - #include - #include -+#endif - #include - #include - -diff --git a/src/nis.h b/src/nis.h -new file mode 100644 -index 0000000..588c041 ---- /dev/null -+++ b/src/nis.h -@@ -0,0 +1,70 @@ -+/* -+ * Copyright (c) 2010, Oracle America, Inc. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions are -+ * met: -+ * -+ * * Redistributions of source code must retain the above copyright -+ * notice, this list of conditions and the following disclaimer. -+ * * Redistributions in binary form must reproduce the above -+ * copyright notice, this list of conditions and the following -+ * disclaimer in the documentation and/or other materials -+ * provided with the distribution. -+ * * Neither the name of the "Oracle America, Inc." nor the names of its -+ * contributors may be used to endorse or promote products derived -+ * from this software without specific prior written permission. -+ * -+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -+ */ -+ -+#ifndef _INTERNAL_NIS_H -+#define _INTERNAL_NIS_H 1 -+ -+/* This file only contains the definition of nis_server, to be -+ able to compile libtirpc without the need to have a glibc -+ with sunrpc or a libnsl already installed. */ -+ -+#define NIS_PK_NONE 0 -+ -+struct nis_attr { -+ char *zattr_ndx; -+ struct { -+ u_int zattr_val_len; -+ char *zattr_val_val; -+ } zattr_val; -+}; -+typedef struct nis_attr nis_attr; -+ -+typedef char *nis_name; -+ -+struct endpoint { -+ char *uaddr; -+ char *family; -+ char *proto; -+}; -+typedef struct endpoint endpoint; -+ -+struct nis_server { -+ nis_name name; -+ struct { -+ u_int ep_len; -+ endpoint *ep_val; -+ } ep; -+ uint32_t key_type; -+ netobj pkey; -+}; -+typedef struct nis_server nis_server; -+ -+#endif /* ! _INTERNAL_NIS_H */ -diff --git a/src/rpc_dtablesize.c b/src/rpc_dtablesize.c -index 13d320c..3fe503a 100644 ---- a/src/rpc_dtablesize.c -+++ b/src/rpc_dtablesize.c -@@ -27,22 +27,14 @@ - */ - - #include -- - #include -- --int _rpc_dtablesize(void); /* XXX */ -+#include -+#include - - /* - * Cache the result of getdtablesize(), so we don't have to do an - * expensive system call every time. - */ --/* -- * XXX In FreeBSD 2.x, you can have the maximum number of open file -- * descriptors be greater than FD_SETSIZE (which us 256 by default). -- * -- * Since old programs tend to use this call to determine the first arg -- * for _select(), having this return > FD_SETSIZE is a Bad Idea(TM)! -- */ - int - _rpc_dtablesize(void) - { -diff --git a/src/rpc_soc.c b/src/rpc_soc.c -index 1ec7b3f..ed0892a 100644 ---- a/src/rpc_soc.c -+++ b/src/rpc_soc.c -@@ -61,8 +61,8 @@ - #include - #include - #include --#include - -+#include "nis.h" - #include "rpc_com.h" - - extern mutex_t rpcsoc_lock; -diff --git a/src/rtime.c b/src/rtime.c -index c34e0af..b642840 100644 ---- a/src/rtime.c -+++ b/src/rtime.c -@@ -46,6 +46,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -67,7 +68,8 @@ rtime(addrp, timep, timeout) - struct timeval *timeout; - { - int s; -- fd_set readfds; -+ struct pollfd fd; -+ int milliseconds; - int res; - unsigned long thetime; - struct sockaddr_in from; -@@ -94,31 +96,32 @@ rtime(addrp, timep, timeout) - addrp->sin_port = serv->s_port; - - if (type == SOCK_DGRAM) { -- res = sendto(s, (char *)&thetime, sizeof(thetime), 0, -+ res = sendto(s, (char *)&thetime, sizeof(thetime), 0, - (struct sockaddr *)addrp, sizeof(*addrp)); - if (res < 0) { - do_close(s); -- return(-1); -+ return(-1); - } -- do { -- FD_ZERO(&readfds); -- FD_SET(s, &readfds); -- res = select(_rpc_dtablesize(), &readfds, -- (fd_set *)NULL, (fd_set *)NULL, timeout); -- } while (res < 0 && errno == EINTR); -+ -+ milliseconds = (timeout->tv_sec * 1000) + (timeout->tv_usec / 1000); -+ fd.fd = s; -+ fd.events = POLLIN; -+ do -+ res = poll (&fd, 1, milliseconds); -+ while (res < 0 && errno == EINTR); - if (res <= 0) { - if (res == 0) { - errno = ETIMEDOUT; - } - do_close(s); -- return(-1); -+ return(-1); - } - fromlen = sizeof(from); -- res = recvfrom(s, (char *)&thetime, sizeof(thetime), 0, -+ res = recvfrom(s, (char *)&thetime, sizeof(thetime), 0, - (struct sockaddr *)&from, &fromlen); - do_close(s); - if (res < 0) { -- return(-1); -+ return(-1); - } - } else { - if (connect(s, (struct sockaddr *)addrp, sizeof(*addrp)) < 0) { -diff --git a/src/svc.c b/src/svc.c -index 9c41445..b59467b 100644 ---- a/src/svc.c -+++ b/src/svc.c -@@ -99,7 +99,7 @@ xprt_register (xprt) - { - __svc_xports = (SVCXPRT **) calloc (_rpc_dtablesize(), sizeof (SVCXPRT *)); - if (__svc_xports == NULL) -- return; -+ goto unlock; - } - if (sock < _rpc_dtablesize()) - { -@@ -120,14 +120,14 @@ xprt_register (xprt) - svc_pollfd[i].fd = sock; - svc_pollfd[i].events = (POLLIN | POLLPRI | - POLLRDNORM | POLLRDBAND); -- return; -+ goto unlock; - } - - new_svc_pollfd = (struct pollfd *) realloc (svc_pollfd, - sizeof (struct pollfd) - * (svc_max_pollfd + 1)); - if (new_svc_pollfd == NULL) /* Out of memory */ -- return; -+ goto unlock; - svc_pollfd = new_svc_pollfd; - ++svc_max_pollfd; - -@@ -135,6 +135,7 @@ xprt_register (xprt) - svc_pollfd[svc_max_pollfd - 1].events = (POLLIN | POLLPRI | - POLLRDNORM | POLLRDBAND); - } -+unlock: - rwlock_unlock (&svc_fd_lock); - } - -diff --git a/src/svc_auth_des.c b/src/svc_auth_des.c -index 5bc264c..2e90146 100644 ---- a/src/svc_auth_des.c -+++ b/src/svc_auth_des.c -@@ -86,13 +86,13 @@ static struct cache_entry *authdes_cache/* [AUTHDES_CACHESZ] */; - static short *authdes_lru/* [AUTHDES_CACHESZ] */; - - static void cache_init(); /* initialize the cache */ --static short cache_spot(); /* find an entry in the cache */ --static void cache_ref(/*short sid*/); /* note that sid was ref'd */ -+static short cache_spot(des_block *key, char *name, struct timeval *timestamp); /* find an entry in the cache */ -+static void cache_ref(short sid); /* note that sid was ref'd */ - --static void invalidate(); /* invalidate entry in cache */ -+static void invalidate(char *cred); /* invalidate entry in cache */ - - /* -- * cache statistics -+ * cache statistics - */ - static struct { - u_long ncachehits; /* times cache hit, and is not replay */ -diff --git a/src/svc_auth_gss.c b/src/svc_auth_gss.c -index b6aa407..bece46a 100644 ---- a/src/svc_auth_gss.c -+++ b/src/svc_auth_gss.c -@@ -129,6 +129,8 @@ struct svc_rpc_gss_data { - ((struct svc_rpc_gss_data *)(auth)->svc_ah_private) - - /* Global server credentials. */ -+static u_int _svcauth_req_time = 0; -+static gss_OID_set_desc _svcauth_oid_set = {1, GSS_C_NULL_OID }; - static gss_cred_id_t _svcauth_gss_creds; - static gss_name_t _svcauth_gss_name = GSS_C_NO_NAME; - static char * _svcauth_svc_name = NULL; -@@ -167,6 +169,7 @@ svcauth_gss_import_name(char *service) - gss_name_t name; - gss_buffer_desc namebuf; - OM_uint32 maj_stat, min_stat; -+ bool_t result; - - gss_log_debug("in svcauth_gss_import_name()"); - -@@ -181,22 +184,21 @@ svcauth_gss_import_name(char *service) - maj_stat, min_stat); - return (FALSE); - } -- if (svcauth_gss_set_svc_name(name) != TRUE) { -- gss_release_name(&min_stat, &name); -- return (FALSE); -- } -- return (TRUE); -+ result = svcauth_gss_set_svc_name(name); -+ gss_release_name(&min_stat, &name); -+ return result; - } - - static bool_t --svcauth_gss_acquire_cred(u_int req_time, gss_OID_set_desc *oid_set) -+svcauth_gss_acquire_cred(void) - { - OM_uint32 maj_stat, min_stat; - - gss_log_debug("in svcauth_gss_acquire_cred()"); - -- maj_stat = gss_acquire_cred(&min_stat, _svcauth_gss_name, req_time, -- oid_set, GSS_C_ACCEPT, -+ maj_stat = gss_acquire_cred(&min_stat, _svcauth_gss_name, -+ _svcauth_req_time, &_svcauth_oid_set, -+ GSS_C_ACCEPT, - &_svcauth_gss_creds, NULL, NULL); - - if (maj_stat != GSS_S_COMPLETE) { -@@ -300,6 +302,8 @@ svcauth_gss_accept_sec_context(struct svc_req *rqst, - NULL, - &gd->deleg); - -+ xdr_free((xdrproc_t)xdr_rpc_gss_init_args, (caddr_t)&recv_tok); -+ - if (gr->gr_major != GSS_S_COMPLETE && - gr->gr_major != GSS_S_CONTINUE_NEEDED) { - gss_log_status("svcauth_gss_accept_sec_context: accept_sec_context", -@@ -352,8 +356,11 @@ svcauth_gss_accept_sec_context(struct svc_req *rqst, - return (FALSE); - - rqst->rq_xprt->xp_verf.oa_flavor = RPCSEC_GSS; -- rqst->rq_xprt->xp_verf.oa_base = checksum.value; -+ memcpy(rqst->rq_xprt->xp_verf.oa_base, checksum.value, -+ checksum.length); - rqst->rq_xprt->xp_verf.oa_length = checksum.length; -+ -+ gss_release_buffer(&min_stat, &checksum); - } - return (TRUE); - } -@@ -435,10 +442,13 @@ svcauth_gss_nextverf(struct svc_req *rqst, u_int num) - maj_stat, min_stat); - return (FALSE); - } -+ - rqst->rq_xprt->xp_verf.oa_flavor = RPCSEC_GSS; -- rqst->rq_xprt->xp_verf.oa_base = (caddr_t)checksum.value; -+ memcpy(rqst->rq_xprt->xp_verf.oa_base, checksum.value, checksum.length); - rqst->rq_xprt->xp_verf.oa_length = (u_int)checksum.length; - -+ gss_release_buffer(&min_stat, &checksum); -+ - return (TRUE); - } - -@@ -568,6 +578,8 @@ _svcauth_gss(struct svc_req *rqst, struct rpc_msg *msg, bool_t *no_dispatch) - gss_qop_t qop; - struct svcauth_gss_cache_entry **ce; - time_t now; -+ enum auth_stat result = AUTH_OK; -+ OM_uint32 min_stat; - - gss_log_debug("in svcauth_gss()"); - -@@ -621,19 +633,25 @@ _svcauth_gss(struct svc_req *rqst, struct rpc_msg *msg, bool_t *no_dispatch) - XDR_DESTROY(&xdrs); - - /* Check version. */ -- if (gc->gc_v != RPCSEC_GSS_VERSION) -- return (AUTH_BADCRED); -+ if (gc->gc_v != RPCSEC_GSS_VERSION) { -+ result = AUTH_BADCRED; -+ goto out; -+ } - - /* Check RPCSEC_GSS service. */ - if (gc->gc_svc != RPCSEC_GSS_SVC_NONE && - gc->gc_svc != RPCSEC_GSS_SVC_INTEGRITY && -- gc->gc_svc != RPCSEC_GSS_SVC_PRIVACY) -- return (AUTH_BADCRED); -+ gc->gc_svc != RPCSEC_GSS_SVC_PRIVACY) { -+ result = AUTH_BADCRED; -+ goto out; -+ } - - /* Check sequence number. */ - if (gd->established) { -- if (gc->gc_seq > MAXSEQ) -- return (RPCSEC_GSS_CTXPROBLEM); -+ if (gc->gc_seq > MAXSEQ) { -+ result = RPCSEC_GSS_CTXPROBLEM; -+ goto out; -+ } - - if ((offset = gd->seqlast - gc->gc_seq) < 0) { - gd->seqlast = gc->gc_seq; -@@ -643,7 +661,8 @@ _svcauth_gss(struct svc_req *rqst, struct rpc_msg *msg, bool_t *no_dispatch) - } - else if (offset >= gd->win || (gd->seqmask & (1 << offset))) { - *no_dispatch = 1; -- return (RPCSEC_GSS_CTXPROBLEM); -+ result = RPCSEC_GSS_CTXPROBLEM; -+ goto out; - } - gd->seq = gc->gc_seq; - gd->seqmask |= (1 << offset); -@@ -654,35 +673,52 @@ _svcauth_gss(struct svc_req *rqst, struct rpc_msg *msg, bool_t *no_dispatch) - rqst->rq_svcname = (char *)gd->ctx; - } - -+ rqst->rq_xprt->xp_verf.oa_base = msg->rm_call.cb_verf.oa_base; -+ - /* Handle RPCSEC_GSS control procedure. */ - switch (gc->gc_proc) { - - case RPCSEC_GSS_INIT: - case RPCSEC_GSS_CONTINUE_INIT: -- if (rqst->rq_proc != NULLPROC) -- return (AUTH_FAILED); /* XXX ? */ -+ if (rqst->rq_proc != NULLPROC) { -+ result = AUTH_FAILED; /* XXX ? */ -+ break; -+ } - - if (_svcauth_gss_name == GSS_C_NO_NAME) { -- if (!svcauth_gss_import_name("nfs")) -- return (AUTH_FAILED); -+ if (!svcauth_gss_import_name("nfs")) { -+ result = AUTH_FAILED; -+ break; -+ } - } - -- if (!svcauth_gss_acquire_cred(0, GSS_C_NULL_OID_SET)) -- return (AUTH_FAILED); -+ if (!svcauth_gss_acquire_cred()) { -+ result = AUTH_FAILED; -+ break; -+ } - -- if (!svcauth_gss_accept_sec_context(rqst, &gr)) -- return (AUTH_REJECTEDCRED); -+ if (!svcauth_gss_accept_sec_context(rqst, &gr)) { -+ result = AUTH_REJECTEDCRED; -+ break; -+ } - -- if (!svcauth_gss_nextverf(rqst, htonl(gr.gr_win))) -- return (AUTH_FAILED); -+ if (!svcauth_gss_nextverf(rqst, htonl(gr.gr_win))) { -+ result = AUTH_FAILED; -+ break; -+ } - - *no_dispatch = TRUE; - - call_stat = svc_sendreply(rqst->rq_xprt, - (xdrproc_t)xdr_rpc_gss_init_res, (caddr_t)&gr); - -- if (!call_stat) -- return (AUTH_FAILED); -+ gss_release_buffer(&min_stat, &gr.gr_token); -+ free(gr.gr_ctx.value); -+ -+ if (!call_stat) { -+ result = AUTH_FAILED; -+ break; -+ } - - if (gr.gr_major == GSS_S_COMPLETE) - gd->established = TRUE; -@@ -690,27 +726,37 @@ _svcauth_gss(struct svc_req *rqst, struct rpc_msg *msg, bool_t *no_dispatch) - break; - - case RPCSEC_GSS_DATA: -- if (!svcauth_gss_validate(gd, msg, &qop)) -- return (RPCSEC_GSS_CREDPROBLEM); -+ if (!svcauth_gss_validate(gd, msg, &qop)) { -+ result = RPCSEC_GSS_CREDPROBLEM; -+ break; -+ } - -- if (!svcauth_gss_nextverf(rqst, htonl(gc->gc_seq))) -- return (AUTH_FAILED); -+ if (!svcauth_gss_nextverf(rqst, htonl(gc->gc_seq))) { -+ result = AUTH_FAILED; -+ break; -+ } - - if (!gd->callback_done) { - gd->callback_done = TRUE; - gd->sec.qop = qop; - (void)rpc_gss_num_to_qop(gd->rcred.mechanism, - gd->sec.qop, &gd->rcred.qop); -- if (!svcauth_gss_callback(rqst, gd)) -- return (AUTH_REJECTEDCRED); -+ if (!svcauth_gss_callback(rqst, gd)) { -+ result = AUTH_REJECTEDCRED; -+ break; -+ } - } - - if (gd->locked) { - if (gd->rcred.service != -- _rpc_gss_svc_to_service(gc->gc_svc)) -- return (AUTH_FAILED); -- if (gd->sec.qop != qop) -- return (AUTH_BADVERF); -+ _rpc_gss_svc_to_service(gc->gc_svc)) { -+ result = AUTH_FAILED; -+ break; -+ } -+ if (gd->sec.qop != qop) { -+ result = AUTH_BADVERF; -+ break; -+ } - } - - if (gd->sec.qop != qop) { -@@ -724,17 +770,25 @@ _svcauth_gss(struct svc_req *rqst, struct rpc_msg *msg, bool_t *no_dispatch) - break; - - case RPCSEC_GSS_DESTROY: -- if (rqst->rq_proc != NULLPROC) -- return (AUTH_FAILED); /* XXX ? */ -+ if (rqst->rq_proc != NULLPROC) { -+ result = AUTH_FAILED; /* XXX ? */ -+ break; -+ } - -- if (!svcauth_gss_validate(gd, msg, &qop)) -- return (RPCSEC_GSS_CREDPROBLEM); -+ if (!svcauth_gss_validate(gd, msg, &qop)) { -+ result = RPCSEC_GSS_CREDPROBLEM; -+ break; -+ } - -- if (!svcauth_gss_nextverf(rqst, htonl(gc->gc_seq))) -- return (AUTH_FAILED); -+ if (!svcauth_gss_nextverf(rqst, htonl(gc->gc_seq))) { -+ result = AUTH_FAILED; -+ break; -+ } - -- if (!svcauth_gss_release_cred()) -- return (AUTH_FAILED); -+ if (!svcauth_gss_release_cred()) { -+ result = AUTH_FAILED; -+ break; -+ } - - SVCAUTH_DESTROY(&SVC_XP_AUTH(rqst->rq_xprt)); - SVC_XP_AUTH(rqst->rq_xprt).svc_ah_ops = svc_auth_none.svc_ah_ops; -@@ -743,10 +797,12 @@ _svcauth_gss(struct svc_req *rqst, struct rpc_msg *msg, bool_t *no_dispatch) - break; - - default: -- return (AUTH_REJECTEDCRED); -+ result = AUTH_REJECTEDCRED; - break; - } -- return (AUTH_OK); -+out: -+ xdr_free((xdrproc_t)xdr_rpc_gss_cred, (caddr_t)gc); -+ return result; - } - - static bool_t -@@ -890,7 +946,6 @@ bool_t - rpc_gss_set_svc_name(char *principal, char *mechanism, u_int req_time, - u_int UNUSED(program), u_int UNUSED(version)) - { -- gss_OID_set_desc oid_set; - rpc_gss_OID oid; - char *save; - -@@ -902,14 +957,13 @@ rpc_gss_set_svc_name(char *principal, char *mechanism, u_int req_time, - - if (!rpc_gss_mech_to_oid(mechanism, &oid)) - goto out_err; -- oid_set.count = 1; -- oid_set.elements = (gss_OID)oid; - - if (!svcauth_gss_import_name(principal)) - goto out_err; -- if (!svcauth_gss_acquire_cred(req_time, &oid_set)) -- goto out_err; - -+ _svcauth_req_time = req_time; -+ _svcauth_oid_set.count = 1; -+ _svcauth_oid_set.elements = (gss_OID)oid; - free(_svcauth_svc_name); - _svcauth_svc_name = save; - return TRUE; -diff --git a/src/svc_vc.c b/src/svc_vc.c -index 6ae613d..97a76a3 100644 ---- a/src/svc_vc.c -+++ b/src/svc_vc.c -@@ -270,14 +270,8 @@ makefd_xprt(fd, sendsize, recvsize) - struct cf_conn *cd; - const char *netid; - struct __rpc_sockinfo si; -- -- assert(fd != -1); - -- if (fd >= FD_SETSIZE) { -- warnx("svc_vc: makefd_xprt: fd too high\n"); -- xprt = NULL; -- goto done; -- } -+ assert(fd != -1); - - xprt = mem_alloc(sizeof(SVCXPRT)); - if (xprt == NULL) { -@@ -338,22 +332,10 @@ rendezvous_request(xprt, msg) - r = (struct cf_rendezvous *)xprt->xp_p1; - again: - len = sizeof addr; -- if ((sock = accept(xprt->xp_fd, (struct sockaddr *)(void *)&addr, -- &len)) < 0) { -+ sock = accept(xprt->xp_fd, (struct sockaddr *)(void *)&addr, &len); -+ if (sock < 0) { - if (errno == EINTR) - goto again; -- -- if (errno == EMFILE || errno == ENFILE) { -- /* If there are no file descriptors available, then accept will fail. -- We want to delay here so the connection request can be dequeued; -- otherwise we can bounce between polling and accepting, never -- giving the request a chance to dequeue and eating an enormous -- amount of cpu time in svc_run if we're polling on many file -- descriptors. */ -- struct timespec ts = { .tv_sec = 0, .tv_nsec = 50000000 }; -- nanosleep (&ts, NULL); -- goto again; -- } - return (FALSE); - } - /* -diff --git a/tirpc/rpc/des.h b/tirpc/rpc/des.h -index d2881ad..018aa48 100644 ---- a/tirpc/rpc/des.h -+++ b/tirpc/rpc/des.h -@@ -82,6 +82,6 @@ struct desparams { - /* - * Software DES. - */ --extern int _des_crypt( char *, int, struct desparams * ); -+extern int _des_crypt( char *, unsigned, struct desparams * ); - - #endif -diff --git a/tirpc/rpc/rpcent.h b/tirpc/rpc/rpcent.h -index 147f909..e07503c 100644 ---- a/tirpc/rpc/rpcent.h -+++ b/tirpc/rpc/rpcent.h -@@ -60,10 +60,11 @@ struct rpcent { - extern struct rpcent *getrpcbyname(const char *); - extern struct rpcent *getrpcbynumber(int); - extern struct rpcent *getrpcent(void); --#endif - - extern void setrpcent(int); - extern void endrpcent(void); -+#endif -+ - #ifdef __cplusplus - } - #endif diff --git a/meta/recipes-extended/libtirpc/libtirpc_1.0.1.bb b/meta/recipes-extended/libtirpc/libtirpc_1.0.2.bb similarity index 81% rename from meta/recipes-extended/libtirpc/libtirpc_1.0.1.bb rename to meta/recipes-extended/libtirpc/libtirpc_1.0.2.bb index 7be8e10..f9718c5 100644 --- a/meta/recipes-extended/libtirpc/libtirpc_1.0.1.bb +++ b/meta/recipes-extended/libtirpc/libtirpc_1.0.2.bb @@ -11,20 +11,17 @@ PROVIDES = "virtual/librpc" SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.bz2;name=libtirpc \ ${GENTOO_MIRROR}/${BPN}-glibc-nfs.tar.xz;name=glibc-nfs \ - file://libtirpc-1.0.2-rc3.patch \ - file://libtirpc-0.2.1-fortify.patch \ file://export_key_secretkey_is_set.patch \ file://0001-replace-__bzero-with-memset-API.patch \ file://0001-include-stdint.h-for-uintptr_t.patch \ - file://0001-Fix-for-CVE-2017-8779.patch \ " SRC_URI_append_libc-musl = " \ file://Use-netbsd-queue.h.patch \ " -SRC_URI[libtirpc.md5sum] = "36ce1c0ff80863bb0839d54aa0b94014" -SRC_URI[libtirpc.sha256sum] = "5156974f31be7ccbc8ab1de37c4739af6d9d42c87b1d5caf4835dda75fcbb89e" +SRC_URI[libtirpc.md5sum] = "d5a37f1dccec484f9cabe2b97e54e9a6" +SRC_URI[libtirpc.sha256sum] = "723c5ce92706cbb601a8db09110df1b4b69391643158f20ff587e20e7c5f90f5" SRC_URI[glibc-nfs.md5sum] = "5ae500b9d0b6b72cb875bc04944b9445" SRC_URI[glibc-nfs.sha256sum] = "2677cfedf626f3f5a8f6e507aed5bb8f79a7453b589d684dbbc086e755170d83" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 21:36:33 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 21:36:33 +0000 Subject: [oe-commits] [openembedded-core] 05/05: bluez5: upgrade to 5.46 In-Reply-To: <150067298853.14971.3226189565274630345@git.openembedded.org> References: <150067298853.14971.3226189565274630345@git.openembedded.org> Message-ID: <20170721213628.C70EE232830@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 8ad04588be0bfa463665769690879a17eac61fda Author: Maxin B. John AuthorDate: Thu Jul 20 15:22:35 2017 +0300 bluez5: upgrade to 5.46 5.45 -> 5.46 This includes the new testing utility "advtest" Signed-off-by: Maxin B. John Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- meta/recipes-connectivity/bluez5/{bluez5_5.45.bb => bluez5_5.46.bb} | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/meta/recipes-connectivity/bluez5/bluez5_5.45.bb b/meta/recipes-connectivity/bluez5/bluez5_5.46.bb similarity index 90% rename from meta/recipes-connectivity/bluez5/bluez5_5.45.bb rename to meta/recipes-connectivity/bluez5/bluez5_5.46.bb index d5f516c..e1f8587 100644 --- a/meta/recipes-connectivity/bluez5/bluez5_5.45.bb +++ b/meta/recipes-connectivity/bluez5/bluez5_5.46.bb @@ -2,8 +2,8 @@ require bluez5.inc REQUIRED_DISTRO_FEATURES = "bluez5" -SRC_URI[md5sum] = "20d936917afc7e1ffa091f5213081c55" -SRC_URI[sha256sum] = "4cacb00703a6bc149cb09502257d321597d43952374a16f3558766ffa85364e9" +SRC_URI[md5sum] = "913f35d6fa4ca5772c53adb936bf1947" +SRC_URI[sha256sum] = "ddab3d3837c1afb8ae228a94ba17709a4650bd4db24211b6771ab735c8908e28" # noinst programs in Makefile.tools that are conditional on READLINE # support @@ -54,6 +54,7 @@ NOINST_TOOLS_BT ?= " \ tools/mcaptest \ tools/cltest \ tools/oobtest \ + tools/advtest \ tools/seq2bseq \ tools/nokfw \ tools/create-image \ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 21:36:54 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 21:36:54 +0000 Subject: [oe-commits] [bitbake] branch 1.32 updated: codeparser.py: support deeply nested tokens Message-ID: <150067301454.15293.18134449067526788053@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch 1.32 in repository bitbake. The following commit(s) were added to refs/heads/1.32 by this push: new 887ea6d codeparser.py: support deeply nested tokens 887ea6d is described below commit 887ea6d25cee5114365dfbf1130603599e13ee80 Author: Patrick Ohly AuthorDate: Fri Nov 18 16:23:22 2016 +0100 codeparser.py: support deeply nested tokens For shell constructs like echo hello & wait $! the process_tokens() method ended up with a situation where "token" in the "name, value = token" assignment was a list of tuples and not the expected tuple, causing the assignment to fail. There were already two for loops (one in _parse_shell(), one in process_tokens()) which iterated over token lists. Apparently the actual nesting can also be deeper. Now there is just one such loop in process_token_list() which calls itself recursively when it detects that a list entry is another list. As a side effect (improvement?!) of the loop removal in _parse_shell(), the local function definitions in process_tokens() get executed less often. Fixes: [YOCTO #10668] Signed-off-by: Patrick Ohly Signed-off-by: Richard Purdie --- lib/bb/codeparser.py | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/lib/bb/codeparser.py b/lib/bb/codeparser.py index 25938d6..5d2d440 100644 --- a/lib/bb/codeparser.py +++ b/lib/bb/codeparser.py @@ -342,8 +342,7 @@ class ShellParser(): except pyshlex.NeedMore: raise sherrors.ShellSyntaxError("Unexpected EOF") - for token in tokens: - self.process_tokens(token) + self.process_tokens(tokens) def process_tokens(self, tokens): """Process a supplied portion of the syntax tree as returned by @@ -389,18 +388,24 @@ class ShellParser(): "case_clause": case_clause, } - for token in tokens: - name, value = token - try: - more_tokens, words = token_handlers[name](value) - except KeyError: - raise NotImplementedError("Unsupported token type " + name) + def process_token_list(tokens): + for token in tokens: + if isinstance(token, list): + process_token_list(token) + continue + name, value = token + try: + more_tokens, words = token_handlers[name](value) + except KeyError: + raise NotImplementedError("Unsupported token type " + name) + + if more_tokens: + self.process_tokens(more_tokens) - if more_tokens: - self.process_tokens(more_tokens) + if words: + self.process_words(words) - if words: - self.process_words(words) + process_token_list(tokens) def process_words(self, words): """Process a set of 'words' in pyshyacc parlance, which includes -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 21:52:38 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 21:52:38 +0000 Subject: [oe-commits] [openembedded-core] 03/25: initscripts: start bootmisc.sh at 36 instead of 55 In-Reply-To: <150067395520.18047.11295446703197525033@git.openembedded.org> References: <150067395520.18047.11295446703197525033@git.openembedded.org> Message-ID: <20170721215235.97837232830@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit a0f6508847a28a78cb0a1e9613b6e5cc3047d995 Author: David Vincent AuthorDate: Mon Jul 10 12:45:33 2017 +0200 initscripts: start bootmisc.sh at 36 instead of 55 bootmisc.sh is responsible for setting the system date to a sane default. Currently, it is the last script to be run from the rcS runlevel. Problem is that the files created before appear to have been created on 1/1/1970. Most notably, /var/log/dmesg created in dmesg.sh cannot be properly rotated with logrotate which does not consider it a valid date and stops processing. There is no blocker on moving this script right before populating volatiles because it just requires the local and virtual filesystems to be mounted to work. Signed-off-by: David Vincent Signed-off-by: Ross Burton --- meta/recipes-core/initscripts/initscripts_1.0.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-core/initscripts/initscripts_1.0.bb b/meta/recipes-core/initscripts/initscripts_1.0.bb index 2e4f7e4..a65f1b2 100644 --- a/meta/recipes-core/initscripts/initscripts_1.0.bb +++ b/meta/recipes-core/initscripts/initscripts_1.0.bb @@ -134,7 +134,7 @@ do_install () { update-rc.d -r ${D} mountall.sh start 03 S . update-rc.d -r ${D} hostname.sh start 39 S . update-rc.d -r ${D} mountnfs.sh start 15 2 3 4 5 . - update-rc.d -r ${D} bootmisc.sh start 55 S . + update-rc.d -r ${D} bootmisc.sh start 36 S . update-rc.d -r ${D} sysfs.sh start 02 S . update-rc.d -r ${D} populate-volatile.sh start 37 S . update-rc.d -r ${D} read-only-rootfs-hook.sh start 29 S . -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 21:52:37 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 21:52:37 +0000 Subject: [oe-commits] [openembedded-core] 02/25: logrotate: Add systemd support In-Reply-To: <150067395520.18047.11295446703197525033@git.openembedded.org> References: <150067395520.18047.11295446703197525033@git.openembedded.org> Message-ID: <20170721215235.9171D23282F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit b942d0b17cb6622b653283109307346dcfb4f205 Author: Romain Perier AuthorDate: Tue Jul 11 08:46:06 2017 +0200 logrotate: Add systemd support Currently, this recipe only supports daily scheduling via a cron job. This commit adds support for systemd in the recipe, as the feature is already supported on upstream. When the corresponding distro feature is enabled the systemd variant will be used. The timer granularity and its accuracy are also configurable. Signed-off-by: Romain Perier Signed-off-by: Ross Burton --- .../recipes-extended/logrotate/logrotate_3.12.3.bb | 25 +++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/meta/recipes-extended/logrotate/logrotate_3.12.3.bb b/meta/recipes-extended/logrotate/logrotate_3.12.3.bb index 2033be1..05705be 100644 --- a/meta/recipes-extended/logrotate/logrotate_3.12.3.bb +++ b/meta/recipes-extended/logrotate/logrotate_3.12.3.bb @@ -53,14 +53,33 @@ EXTRA_OEMAKE = "\ # INSTALL=install and BASEDIR=/usr. OS_NAME = "Linux" -inherit autotools +inherit autotools systemd + +SYSTEMD_SERVICE_${PN} = "\ + ${PN}.service \ + ${PN}.timer \ +" + +LOGROTATE_SYSTEMD_TIMER_BASIS ?= "daily" +LOGROTATE_SYSTEMD_TIMER_ACCURACY ?= "12h" do_install(){ oe_runmake install DESTDIR=${D} PREFIX=${D} MANDIR=${mandir} mkdir -p ${D}${sysconfdir}/logrotate.d - mkdir -p ${D}${sysconfdir}/cron.daily mkdir -p ${D}${localstatedir}/lib install -p -m 644 ${S}/examples/logrotate-default ${D}${sysconfdir}/logrotate.conf - install -p -m 755 ${S}/examples/logrotate.cron ${D}${sysconfdir}/cron.daily/logrotate touch ${D}${localstatedir}/lib/logrotate.status + + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${systemd_system_unitdir} + install -m 0644 ${S}/examples/logrotate.service ${D}${systemd_system_unitdir}/logrotate.service + install -m 0644 ${S}/examples/logrotate.timer ${D}${systemd_system_unitdir}/logrotate.timer + sed -i -e 's,OnCalendar=.*$,OnCalendar=${LOGROTATE_SYSTEMD_TIMER_BASIS},g' ${D}${systemd_system_unitdir}/logrotate.timer + sed -i -e 's,AccuracySec=.*$,AccuracySec=${LOGROTATE_SYSTEMD_TIMER_ACCURACY},g' ${D}${systemd_system_unitdir}/logrotate.timer + fi + + if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then + mkdir -p ${D}${sysconfdir}/cron.daily + install -p -m 0755 ${S}/examples/logrotate.cron ${D}${sysconfdir}/cron.daily/logrotate + fi } -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 21:52:39 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 21:52:39 +0000 Subject: [oe-commits] [openembedded-core] 04/25: licenses.conf: enable CDDLv1 license In-Reply-To: <150067395520.18047.11295446703197525033@git.openembedded.org> References: <150067395520.18047.11295446703197525033@git.openembedded.org> Message-ID: <20170721215235.9F199232831@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 0dd9db29e56c75181219bb0dbac88a91989b702b Author: Martin Kelly AuthorDate: Mon Jul 10 15:18:33 2017 -0700 licenses.conf: enable CDDLv1 license The CDDL license is now used by open-vm-tools in meta-openembedded, so we need to add it in order to prevent warnings. Signed-off-by: Martin Kelly Signed-off-by: Ross Burton --- meta/conf/licenses.conf | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/meta/conf/licenses.conf b/meta/conf/licenses.conf index d210a0e..3e2d258 100644 --- a/meta/conf/licenses.conf +++ b/meta/conf/licenses.conf @@ -105,6 +105,10 @@ SPDXLICENSEMAP[AFL-1] = "AFL-1.2" SPDXLICENSEMAP[AFLv2] = "AFL-2.0" SPDXLICENSEMAP[AFLv1] = "AFL-1.2" +#CDDL variations +SPDXLICENSEMAP[CDDLv1] = "CDDL-1.0" +SPDXLICENSEMAP[CDDL-1] = "CDDL-1.0" + #Other variations SPDXLICENSEMAP[EPLv1.0] = "EPL-1.0" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 21:52:35 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 21:52:35 +0000 Subject: [oe-commits] [openembedded-core] branch master updated (119dd08 -> 514e9be) Message-ID: <150067395520.18047.11295446703197525033@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master in repository openembedded-core. from 119dd08 bison: reduce local pending patches add 14b41d6 gnome-common: Remove as deprecated add 8aaf09a python3: fix weakref spewing exceptions during interp finalization add b322e1b u-boot: Upgrade to 2017.07 release add 2720295 cryptodev: 1.8 -> 1.9 add 5689139 wic: fix calculation of partition number add 0417cc6 lsb: add checking for chkconfig existence when creating the symbolic add 13d675b image_types: use initrd from pre-sstate directory add 8a5890c ghostscript: remove legacy patch png_mak.patch add 35403ba systemd: workaround login failure on qemumips64 when 'pam' is enabled add c536ccf scriptutils: exit politely when no text editor available add 21f04b6 scriptutils: pass in logger as parameter add 5a16b3c devtool: find-recipe: enable new subcommand for devtool add 198bdde devtool: standard: enable options for PREMIRRORS and MIRRORS new 72490b7 logrotate: Bump to 3.12.3 new b942d0b logrotate: Add systemd support new a0f6508 initscripts: start bootmisc.sh at 36 instead of 55 new 0dd9db2 licenses.conf: enable CDDLv1 license new aef5d60 icecc.bbclass: prevent nativesdk builds depending on target specific KERNEL_CC new ebdd9b5 populate_sdk_ext: Add variable to indicate running in eSDK new 0954452 pkgconfig: allow kernel to be build with esdk new 67b7c67 wic: implement wks option --mkfs-extraopts new 69c95f7 wic: add description of --mkfs-extraopts new 79e853c oe-selftest: wic: add test_mkfs_extraopts test case new 6e23b95 mesa: Upgrade to 17.1.5 release new 2cd6ef9 vulkan-demos: Rename ${bindir}/screenshot new 07d37b0 at: reduce local pending patches new e35a14b acl: reduce local pending patches new 4fdc784 systemd-bootchart: Fix build with glibc 2.26 new 96665f8 base.bbclass: Make .jar file depend on unzip-native new 422cfb9 screen: 4.5.1 -> 4.6.0 new 5b3c92a libjpeg-turbo: upgrade to 1.5.2 new dd4c896 libsolv: upgrade to 0.6.28 new d852730 orc: upgrade to 0.4.27 new 2635067 sqlite3: upgrade to 3.19.3 new 351a629 libtirpc: upgrade to 1.0.2 new 1a2bb95 python3-mako: update to 1.0.7 new 0b48514 python3-git: upgrade to 2.1.5 new 514e9be bluez5: upgrade to 5.46 The 25 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: meta/classes/base.bbclass | 2 +- meta/classes/icecc.bbclass | 1 + meta/classes/image_types.bbclass | 2 +- meta/classes/populate_sdk_ext.bbclass | 3 + meta/conf/licenses.conf | 4 + meta/lib/oeqa/selftest/cases/wic.py | 19 + ...ommon_2017.05.inc => u-boot-common_2017.07.inc} | 2 +- ...utils_2017.05.bb => u-boot-fw-utils_2017.07.bb} | 0 ...kimage_2017.05.bb => u-boot-mkimage_2017.07.bb} | 0 .../{u-boot_2017.05.bb => u-boot_2017.07.bb} | 0 .../bluez5/{bluez5_5.45.bb => bluez5_5.46.bb} | 5 +- meta/recipes-core/initscripts/initscripts_1.0.bb | 2 +- meta/recipes-core/systemd/systemd_232.bb | 3 + .../orc/{orc_0.4.26.bb => orc_0.4.27.bb} | 4 +- .../pkgconfig/pkgconfig/pkg-config-esdk.in | 24 + meta/recipes-devtools/pkgconfig/pkgconfig_git.bb | 16 + meta/recipes-devtools/python/python-git.inc | 4 +- meta/recipes-devtools/python/python-mako.inc | 4 +- .../{python3-git_2.1.3.bb => python3-git_2.1.5.bb} | 2 +- ...python3-mako_1.0.6.bb => python3-mako_1.0.7.bb} | 0 ...eakref-spewing-exceptions-during-interp-f.patch | 56 ++ meta/recipes-devtools/python/python3_3.5.3.bb | 1 + .../0001-parse-util-Don-t-use-xlocale.h.patch | 32 + .../systemd-bootchart/systemd-bootchart_231.bb | 4 +- .../at/at/0001-remove-glibc-assumption.patch | 12 +- .../ghostscript/ghostscript/png_mak.patch | 32 - .../ghostscript/ghostscript_9.21.bb | 1 - .../{libsolv_0.6.27.bb => libsolv_0.6.28.bb} | 2 +- .../libtirpc/0001-Fix-for-CVE-2017-8779.patch | 276 -------- .../libtirpc/libtirpc/libtirpc-0.2.1-fortify.patch | 26 - .../libtirpc/libtirpc/libtirpc-1.0.2-rc3.patch | 743 --------------------- .../{libtirpc_1.0.1.bb => libtirpc_1.0.2.bb} | 7 +- ...upport-system-dates-back-to-the-year-1970.patch | 27 - .../logrotate/act-as-mv-when-rotate.patch | 32 +- .../logrotate/logrotate/update-the-manual.patch | 16 +- .../{logrotate_3.9.1.bb => logrotate_3.12.3.bb} | 48 +- meta/recipes-extended/lsb/lsb_4.1.bb | 10 +- .../screen/{screen_4.5.1.bb => screen_4.6.0.bb} | 4 +- meta/recipes-gnome/gnome/gnome-common_3.18.0.bb | 20 - .../jpeg/libjpeg-turbo/fix-mips.patch | 45 -- ...bjpeg-turbo_1.5.1.bb => libjpeg-turbo_1.5.2.bb} | 8 +- .../files/etnaviv_fix-shader-miscompilation.patch | 220 ------ .../mesa/{mesa-gl_17.1.4.bb => mesa-gl_17.1.5.bb} | 0 .../mesa/{mesa_17.1.4.bb => mesa_17.1.5.bb} | 6 +- meta/recipes-graphics/vulkan/vulkan-demos_git.bb | 2 + ...yptodev-linux_1.8.bb => cryptodev-linux_1.9.bb} | 0 ...todev-module_1.8.bb => cryptodev-module_1.9.bb} | 0 ...yptodev-tests_1.8.bb => cryptodev-tests_1.9.bb} | 2 +- meta/recipes-kernel/cryptodev/cryptodev.inc | 10 +- ...st-to-another-change-in-the-user-page-API.patch | 40 -- ...talling-header-file-provided-by-another-p.patch | 18 +- .../06d6b560c6e45dc317dae47c74706fa43f4a31d8.patch | 54 -- .../cb186f682679383e8b5806240927903730ce85d9.patch | 279 -------- .../cryptodev/files/kernel-4-10-changes.patch | 57 -- .../attr/acl/test-fix-directory-permissions.patch | 17 +- .../{sqlite3_3.19.2.bb => sqlite3_3.19.3.bb} | 4 +- scripts/lib/devtool/standard.py | 3 + scripts/lib/devtool/utilcmds.py | 18 +- scripts/lib/recipetool/newappend.py | 2 +- scripts/lib/scriptutils.py | 6 +- scripts/lib/wic/help.py | 6 + scripts/lib/wic/ksparser.py | 1 + scripts/lib/wic/partition.py | 39 +- scripts/lib/wic/plugins/imager/direct.py | 2 +- 64 files changed, 339 insertions(+), 1946 deletions(-) rename meta/recipes-bsp/u-boot/{u-boot-common_2017.05.inc => u-boot-common_2017.07.inc} (88%) rename meta/recipes-bsp/u-boot/{u-boot-fw-utils_2017.05.bb => u-boot-fw-utils_2017.07.bb} (100%) rename meta/recipes-bsp/u-boot/{u-boot-mkimage_2017.05.bb => u-boot-mkimage_2017.07.bb} (100%) rename meta/recipes-bsp/u-boot/{u-boot_2017.05.bb => u-boot_2017.07.bb} (100%) rename meta/recipes-connectivity/bluez5/{bluez5_5.45.bb => bluez5_5.46.bb} (90%) rename meta/recipes-devtools/orc/{orc_0.4.26.bb => orc_0.4.27.bb} (84%) create mode 100644 meta/recipes-devtools/pkgconfig/pkgconfig/pkg-config-esdk.in rename meta/recipes-devtools/python/{python3-git_2.1.3.bb => python3-git_2.1.5.bb} (81%) rename meta/recipes-devtools/python/{python3-mako_1.0.6.bb => python3-mako_1.0.7.bb} (100%) create mode 100644 meta/recipes-devtools/python/python3/Fix-29519-weakref-spewing-exceptions-during-interp-f.patch create mode 100644 meta/recipes-devtools/systemd-bootchart/files/0001-parse-util-Don-t-use-xlocale.h.patch delete mode 100644 meta/recipes-extended/ghostscript/ghostscript/png_mak.patch rename meta/recipes-extended/libsolv/{libsolv_0.6.27.bb => libsolv_0.6.28.bb} (95%) delete mode 100644 meta/recipes-extended/libtirpc/libtirpc/0001-Fix-for-CVE-2017-8779.patch delete mode 100644 meta/recipes-extended/libtirpc/libtirpc/libtirpc-0.2.1-fortify.patch delete mode 100644 meta/recipes-extended/libtirpc/libtirpc/libtirpc-1.0.2-rc3.patch rename meta/recipes-extended/libtirpc/{libtirpc_1.0.1.bb => libtirpc_1.0.2.bb} (81%) delete mode 100644 meta/recipes-extended/logrotate/logrotate/0001-Support-system-dates-back-to-the-year-1970.patch rename meta/recipes-extended/logrotate/{logrotate_3.9.1.bb => logrotate_3.12.3.bb} (52%) rename meta/recipes-extended/screen/{screen_4.5.1.bb => screen_4.6.0.bb} (93%) delete mode 100644 meta/recipes-gnome/gnome/gnome-common_3.18.0.bb delete mode 100644 meta/recipes-graphics/jpeg/libjpeg-turbo/fix-mips.patch rename meta/recipes-graphics/jpeg/{libjpeg-turbo_1.5.1.bb => libjpeg-turbo_1.5.2.bb} (90%) delete mode 100644 meta/recipes-graphics/mesa/files/etnaviv_fix-shader-miscompilation.patch rename meta/recipes-graphics/mesa/{mesa-gl_17.1.4.bb => mesa-gl_17.1.5.bb} (100%) rename meta/recipes-graphics/mesa/{mesa_17.1.4.bb => mesa_17.1.5.bb} (80%) rename meta/recipes-kernel/cryptodev/{cryptodev-linux_1.8.bb => cryptodev-linux_1.9.bb} (100%) rename meta/recipes-kernel/cryptodev/{cryptodev-module_1.8.bb => cryptodev-module_1.9.bb} (100%) rename meta/recipes-kernel/cryptodev/{cryptodev-tests_1.8.bb => cryptodev-tests_1.9.bb} (88%) delete mode 100644 meta/recipes-kernel/cryptodev/files/0001-Adjust-to-another-change-in-the-user-page-API.patch delete mode 100644 meta/recipes-kernel/cryptodev/files/06d6b560c6e45dc317dae47c74706fa43f4a31d8.patch delete mode 100644 meta/recipes-kernel/cryptodev/files/cb186f682679383e8b5806240927903730ce85d9.patch delete mode 100644 meta/recipes-kernel/cryptodev/files/kernel-4-10-changes.patch rename meta/recipes-support/sqlite/{sqlite3_3.19.2.bb => sqlite3_3.19.3.bb} (59%) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 21:52:36 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 21:52:36 +0000 Subject: [oe-commits] [openembedded-core] 01/25: logrotate: Bump to 3.12.3 In-Reply-To: <150067395520.18047.11295446703197525033@git.openembedded.org> References: <150067395520.18047.11295446703197525033@git.openembedded.org> Message-ID: <20170721215235.8BCFF23282E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 72490b7a327867872987e63d340051c4980044b2 Author: Romain Perier AuthorDate: Tue Jul 11 08:46:05 2017 +0200 logrotate: Bump to 3.12.3 This commit updates the recipe to the last upstream tag. Then, as the tarball no longer contains the pre-generated Makefile, inherit from autotools Signed-off-by: Romain Perier Signed-off-by: Ross Burton --- ...upport-system-dates-back-to-the-year-1970.patch | 27 ------------------ .../logrotate/act-as-mv-when-rotate.patch | 32 ++++++++++++---------- .../logrotate/logrotate/update-the-manual.patch | 16 +++++------ .../{logrotate_3.9.1.bb => logrotate_3.12.3.bb} | 27 ++++++++---------- 4 files changed, 37 insertions(+), 65 deletions(-) diff --git a/meta/recipes-extended/logrotate/logrotate/0001-Support-system-dates-back-to-the-year-1970.patch b/meta/recipes-extended/logrotate/logrotate/0001-Support-system-dates-back-to-the-year-1970.patch deleted file mode 100644 index b544ec6..0000000 --- a/meta/recipes-extended/logrotate/logrotate/0001-Support-system-dates-back-to-the-year-1970.patch +++ /dev/null @@ -1,27 +0,0 @@ -Support system dates back to the year 1970 - -The system time on Linux can be set back as far as 1970 (the epoch time). -Currently logrotate stops working correctly if the time goes before 1996. -This value (1996) appears to have been hard coded since the code was written -back in 1996. Testing and code analysis shows this can simply be modified -to 1970. - -The patch is provided by Matt Bennett - -Upstream-Status: Backport + -Signed-off-by: Zhenbo Gao - -diff --git a/logrotate.c.orig b/logrotate.c -index cf8bf2c..a7dadfb 100644 ---- a/logrotate.c.orig -+++ b/logrotate.c -@@ -2381,7 +2381,7 @@ static int readState(char *stateFilename) - } - - /* Hack to hide earlier bug */ -- if ((year != 1900) && (year < 1996 || year > 2100)) { -+ if ((year != 1900) && (year < 1970 || year > 2100)) { - message(MESS_ERROR, - "bad year %d for file %s in state file %s\n", year, - argv[0], stateFilename); - diff --git a/meta/recipes-extended/logrotate/logrotate/act-as-mv-when-rotate.patch b/meta/recipes-extended/logrotate/logrotate/act-as-mv-when-rotate.patch index 2e931a2..04cb588 100644 --- a/meta/recipes-extended/logrotate/logrotate/act-as-mv-when-rotate.patch +++ b/meta/recipes-extended/logrotate/logrotate/act-as-mv-when-rotate.patch @@ -1,4 +1,4 @@ -From 68f29ab490cf987aa34b5f4caf1784b58a021308 Mon Sep 17 00:00:00 2001 +From 517cbff66c8bdbf455bc3b7c1a85a4f990d0f9a6 Mon Sep 17 00:00:00 2001 From: Robert Yang Date: Tue, 17 Feb 2015 21:08:07 -0800 Subject: [PATCH] Act as the "mv" command when rotate log @@ -10,14 +10,14 @@ Upstream-Status: Pending Signed-off-by: Robert Yang --- - logrotate.c | 71 +++++++++++++++++++++++++++++++++++++++++++++++++---------- - 1 file changed, 59 insertions(+), 12 deletions(-) + logrotate.c | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++----------- + 1 file changed, 60 insertions(+), 12 deletions(-) diff --git a/logrotate.c b/logrotate.c -index d3deb6a..cf8bf2c 100644 +index 4ad58d4..ba05884 100644 --- a/logrotate.c +++ b/logrotate.c -@@ -1157,6 +1157,53 @@ int findNeedRotating(struct logInfo *log, int logNum, int force) +@@ -1315,6 +1315,54 @@ static int findNeedRotating(struct logInfo *log, int logNum, int force) return 0; } @@ -68,10 +68,11 @@ index d3deb6a..cf8bf2c 100644 + return 1; +} + - int prerotateSingleLog(struct logInfo *log, int logNum, struct logState *state, - struct logNames *rotNames) ++ + static int prerotateSingleLog(struct logInfo *log, int logNum, + struct logState *state, struct logNames *rotNames) { -@@ -1523,15 +1570,15 @@ int prerotateSingleLog(struct logInfo *log, int logNum, struct logState *state, +@@ -1674,15 +1722,15 @@ static int prerotateSingleLog(struct logInfo *log, int logNum, } message(MESS_DEBUG, @@ -90,7 +91,7 @@ index d3deb6a..cf8bf2c 100644 oldName, newName, strerror(errno)); hasErrors = 1; } -@@ -1669,21 +1716,21 @@ int rotateSingleLog(struct logInfo *log, int logNum, struct logState *state, +@@ -1767,21 +1815,21 @@ static int rotateSingleLog(struct logInfo *log, int logNum, return 1; } @@ -115,19 +116,19 @@ index d3deb6a..cf8bf2c 100644 - message(MESS_ERROR, "failed to rename %s to %s: %s\n", + mvFile(log->files[logNum], rotNames->finalName, log, prev_acl)) { + message(MESS_ERROR, "failed to move %s to %s: %s\n", - log->files[logNum], tmpFilename, + log->files[logNum], rotNames->finalName, strerror(errno)); hasErrors = 1; -@@ -2063,7 +2110,7 @@ int rotateLogSet(struct logInfo *log, int force) +@@ -2170,7 +2218,7 @@ static int rotateLogSet(struct logInfo *log, int force) return hasErrors; } --static int writeState(char *stateFilename) +-static int writeState(const char *stateFilename) +static int writeState(struct logInfo *log, char *stateFilename) { struct logState *p; FILE *f; -@@ -2227,7 +2274,7 @@ static int writeState(char *stateFilename) +@@ -2322,7 +2370,7 @@ static int writeState(const char *stateFilename) fclose(f); if (error == 0) { @@ -136,7 +137,7 @@ index d3deb6a..cf8bf2c 100644 unlink(tmpFilename); error = 1; message(MESS_ERROR, "error renaming temp state file %s\n", -@@ -2525,7 +2572,7 @@ int main(int argc, const char **argv) +@@ -2648,7 +2696,7 @@ int main(int argc, const char **argv) rc |= rotateLogSet(log, force); if (!debug) @@ -145,3 +146,6 @@ index d3deb6a..cf8bf2c 100644 return (rc != 0); } +-- +1.8.3.1 + diff --git a/meta/recipes-extended/logrotate/logrotate/update-the-manual.patch b/meta/recipes-extended/logrotate/logrotate/update-the-manual.patch index 50d037d..725567e 100644 --- a/meta/recipes-extended/logrotate/logrotate/update-the-manual.patch +++ b/meta/recipes-extended/logrotate/logrotate/update-the-manual.patch @@ -1,4 +1,4 @@ -From e0b0fe30e9c49234994a20a86aacfaf80e690087 Mon Sep 17 00:00:00 2001 +From bf22e8805df69344f6f20cea390e829a22fa741b Mon Sep 17 00:00:00 2001 From: Robert Yang Date: Tue, 17 Feb 2015 21:14:37 -0800 Subject: [PATCH] Update the manual @@ -9,14 +9,14 @@ Upstream-Status: Pending Signed-off-by: Robert Yang --- - logrotate.8 | 10 ++++------ + logrotate.8.in | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) -diff --git a/logrotate.8 b/logrotate.8 -index e4e5f48..84407d0 100644 ---- a/logrotate.8 -+++ b/logrotate.8 -@@ -405,12 +405,10 @@ Do not rotate the log if it is empty (this overrides the \fBifempty\fR option). +diff --git a/logrotate.8.in b/logrotate.8.in +index 951e406..581bf48 100644 +--- a/logrotate.8.in ++++ b/logrotate.8.in +@@ -445,12 +445,10 @@ Do not rotate the log if it is empty (this overrides the \fBifempty\fR option). .TP \fBolddir \fIdirectory\fR @@ -34,5 +34,5 @@ index e4e5f48..84407d0 100644 .TP -- -1.7.9.5 +1.8.3.1 diff --git a/meta/recipes-extended/logrotate/logrotate_3.9.1.bb b/meta/recipes-extended/logrotate/logrotate_3.12.3.bb similarity index 67% rename from meta/recipes-extended/logrotate/logrotate_3.9.1.bb rename to meta/recipes-extended/logrotate/logrotate_3.12.3.bb index 7c73212..2033be1 100644 --- a/meta/recipes-extended/logrotate/logrotate_3.9.1.bb +++ b/meta/recipes-extended/logrotate/logrotate_3.12.3.bb @@ -3,32 +3,30 @@ SECTION = "console/utils" HOMEPAGE = "https://github.com/logrotate/logrotate/issues" LICENSE = "GPLv2" -# TODO: logrotate 3.8.8 adds autotools/automake support, update recipe to use it. # TODO: Document coreutils dependency. Why not RDEPENDS? Why not busybox? DEPENDS="coreutils popt" -LIC_FILES_CHKSUM = "file://COPYING;md5=18810669f13b87348459e611d31ab760" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" # When updating logrotate to latest upstream, SRC_URI should point to # a proper release tarball from https://github.com/logrotate/logrotate/releases # and we have to take the snapshot for now because there is no such # tarball available for 3.9.1. -S = "${WORKDIR}/${BPN}-r3-9-1" +S = "${WORKDIR}/${BPN}-${PV}" UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases" UPSTREAM_CHECK_REGEX = "logrotate-(?P\d+(\.\d+)+).tar" -SRC_URI = "https://github.com/${BPN}/${BPN}/archive/r3-9-1.tar.gz \ - file://act-as-mv-when-rotate.patch \ - file://update-the-manual.patch \ - file://disable-check-different-filesystems.patch \ - file://0001-Support-system-dates-back-to-the-year-1970.patch \ +SRC_URI = "https://github.com/${BPN}/${BPN}/archive/${PV}.tar.gz \ + file://act-as-mv-when-rotate.patch \ + file://update-the-manual.patch \ + file://disable-check-different-filesystems.patch \ " -SRC_URI[md5sum] = "8572b7c2cf9ade09a8a8e10098500fb3" -SRC_URI[sha256sum] = "5bf8e478c428e7744fefa465118f8296e7e771c981fb6dffb7527856a0ea3617" +SRC_URI[md5sum] = "d1c41bdf63b9993c8e4e8b48a7bd5b8b" +SRC_URI[sha256sum] = "683ccb7fff74082471aa6bd9e962ae7a3f4d55eea7df41fd97aa12ec6f55e657" PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'acl selinux', d)}" @@ -55,17 +53,14 @@ EXTRA_OEMAKE = "\ # INSTALL=install and BASEDIR=/usr. OS_NAME = "Linux" -do_compile_prepend() { - # Make sure the recompile is OK - rm -f ${B}/.depend -} +inherit autotools do_install(){ oe_runmake install DESTDIR=${D} PREFIX=${D} MANDIR=${mandir} mkdir -p ${D}${sysconfdir}/logrotate.d mkdir -p ${D}${sysconfdir}/cron.daily mkdir -p ${D}${localstatedir}/lib - install -p -m 644 examples/logrotate-default ${D}${sysconfdir}/logrotate.conf - install -p -m 755 examples/logrotate.cron ${D}${sysconfdir}/cron.daily/logrotate + install -p -m 644 ${S}/examples/logrotate-default ${D}${sysconfdir}/logrotate.conf + install -p -m 755 ${S}/examples/logrotate.cron ${D}${sysconfdir}/cron.daily/logrotate touch ${D}${localstatedir}/lib/logrotate.status } -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 21:52:41 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 21:52:41 +0000 Subject: [oe-commits] [openembedded-core] 06/25: populate_sdk_ext: Add variable to indicate running in eSDK In-Reply-To: <150067395520.18047.11295446703197525033@git.openembedded.org> References: <150067395520.18047.11295446703197525033@git.openembedded.org> Message-ID: <20170721215235.AC9B1232833@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit ebdd9b5a19eb6fb6c3249be4f0e2480a3de2aa8f Author: Saul Wold AuthorDate: Mon Jul 17 09:20:14 2017 -0700 populate_sdk_ext: Add variable to indicate running in eSDK This allows for other scripts to know that they are being executed in the context of the eSDK in order to provide different behaviour as needed. [YOCTO #11155] Signed-off-by: Saul Wold Signed-off-by: Ross Burton --- meta/classes/populate_sdk_ext.bbclass | 3 +++ 1 file changed, 3 insertions(+) diff --git a/meta/classes/populate_sdk_ext.bbclass b/meta/classes/populate_sdk_ext.bbclass index e31ee37..08973a2 100644 --- a/meta/classes/populate_sdk_ext.bbclass +++ b/meta/classes/populate_sdk_ext.bbclass @@ -351,6 +351,9 @@ python copy_buildsystem () { # Hide the config information from bitbake output (since it's fixed within the SDK) f.write('BUILDCFG_HEADER = ""\n\n') + f.write('# Provide a flag to indicate we are in the EXT_SDK Context\n') + f.write('WITHIN_EXT_SDK = "1"\n\n') + # Map gcc-dependent uninative sstate cache for installer usage f.write('SSTATE_MIRRORS += " file://universal/(.*) file://universal-4.9/\\1 file://universal-4.9/(.*) file://universal-4.8/\\1"\n\n') -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 21:52:40 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 21:52:40 +0000 Subject: [oe-commits] [openembedded-core] 05/25: icecc.bbclass: prevent nativesdk builds depending on target specific KERNEL_CC In-Reply-To: <150067395520.18047.11295446703197525033@git.openembedded.org> References: <150067395520.18047.11295446703197525033@git.openembedded.org> Message-ID: <20170721215235.A5660232832@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit aef5d6052a60f506e842110381a221aed042e054 Author: Martin Jansa AuthorDate: Mon Jul 17 16:04:50 2017 +0200 icecc.bbclass: prevent nativesdk builds depending on target specific KERNEL_CC * without this we cause nativesdk-linux-libc-headers to depend on target specific KERNEL_CC (through icecc_get_tool -> icecc_is_kernel -> KERNEL_CC -> HOST_CC_KERNEL_ARCH -> TARGET_CC_KERNEL_ARCH -> TUNE_FEATURES(thumb) as shown by bitbake-diffsigs: OE qemux86@ ~/build/oe-core $ ls /OE/build/oe-core/tmp-glibc/sstate-diff/1499859497/qemu*/*sdk*/*/*do_configure.sigdata* /OE/build/oe-core/tmp-glibc/sstate-diff/1499859497/qemuarm/x86_64-nativesdk-oesdk-linux/nativesdk-linux-libc-headers/4.10-r0.do_configure.sigdata.3a9a423878d56524e0ee8e42eba1804f /OE/build/oe-core/tmp-glibc/sstate-diff/1499859497/qemux86/x86_64-nativesdk-oesdk-linux/nativesdk-linux-libc-headers/4.10-r0.do_configure.sigdata.401071dbaa88903ece37d35a47965ff2 OE qemux86@ ~/build/oe-core $ bitbake-diffsigs /OE/build/oe-core/tmp-glibc/sstate-diff/1499859497/qemu*/*sdk*/*/*do_configure.sigdata* basehash changed from 39774238b66763c598153132e87a2c1a to aa2d66e770bf533e312536eb0a401c4c Variable TARGET_CC_KERNEL_ARCH value changed from '${@bb.utils.contains('TUNE_FEATURES', 'thumb', '-mno-thumb-interwork-marm', '', d)} TUNE_FEATURES{thumb} = Set' to '' Signed-off-by: Martin Jansa Signed-off-by: Ross Burton --- meta/classes/icecc.bbclass | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/classes/icecc.bbclass b/meta/classes/icecc.bbclass index 8a3308b..1cc1c4d 100644 --- a/meta/classes/icecc.bbclass +++ b/meta/classes/icecc.bbclass @@ -42,6 +42,7 @@ def icecc_dep_prepend(d): DEPENDS_prepend += "${@icecc_dep_prepend(d)} " +get_cross_kernel_cc[vardepsexclude] += "KERNEL_CC" def get_cross_kernel_cc(bb,d): kernel_cc = d.getVar('KERNEL_CC', False) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 21:52:47 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 21:52:47 +0000 Subject: [oe-commits] [openembedded-core] 12/25: vulkan-demos: Rename ${bindir}/screenshot In-Reply-To: <150067395520.18047.11295446703197525033@git.openembedded.org> References: <150067395520.18047.11295446703197525033@git.openembedded.org> Message-ID: <20170721215235.D32C6232839@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 2cd6ef9309541c625bc3c3bd48e06dcf4a6edd80 Author: Jussi Kukkonen AuthorDate: Tue Jul 18 10:32:10 2017 +0300 vulkan-demos: Rename ${bindir}/screenshot This conflicts with sato-screenshot. Signed-off-by: Jussi Kukkonen Signed-off-by: Ross Burton --- meta/recipes-graphics/vulkan/vulkan-demos_git.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-graphics/vulkan/vulkan-demos_git.bb b/meta/recipes-graphics/vulkan/vulkan-demos_git.bb index fcd9e7b..e088277 100644 --- a/meta/recipes-graphics/vulkan/vulkan-demos_git.bb +++ b/meta/recipes-graphics/vulkan/vulkan-demos_git.bb @@ -24,6 +24,8 @@ do_install_append () { ${D}${datadir}/vulkan-demos/models/vulkanscene* \ ${D}${datadir}/vulkan-demos/models/plants.dae \ ${D}${datadir}/vulkan-demos/textures/texturearray_plants* + + mv ${D}${bindir}/screenshot ${D}${bindir}/vulkan-screenshot } EXTRA_OECMAKE = "-DRESOURCE_INSTALL_DIR=${datadir}/vulkan-demos" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 21:52:44 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 21:52:44 +0000 Subject: [oe-commits] [openembedded-core] 09/25: wic: add description of --mkfs-extraopts In-Reply-To: <150067395520.18047.11295446703197525033@git.openembedded.org> References: <150067395520.18047.11295446703197525033@git.openembedded.org> Message-ID: <20170721215235.BFF78232836@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 69c95f74013d0d8b199abc38ba0d6f3ff952eed3 Author: Ed Bartosh AuthorDate: Thu Jul 6 14:32:34 2017 +0300 wic: add description of --mkfs-extraopts Updated help contents with the description of new wks option --mkfs-extraopts Signed-off-by: Ed Bartosh Signed-off-by: Ross Burton --- scripts/lib/wic/help.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/scripts/lib/wic/help.py b/scripts/lib/wic/help.py index 23d943c..99912cd 100644 --- a/scripts/lib/wic/help.py +++ b/scripts/lib/wic/help.py @@ -943,6 +943,12 @@ DESCRIPTION for the harware that requires non-default partition system ids. The parameter in one byte long hex number either with 0x prefix or without it. + --mkfs-extraopts: This option specifies extra options to pass to mkfs utility. + NOTE, that wic uses default options for some filesystems, for example + '-S 512' for mkfs.fat or '-F -i 8192' for mkfs.ext. Those options will + not take effect when --mkfs-extraopts is used. This should be taken into + account when using --mkfs-extraopts. + * bootloader This command allows the user to specify various bootloader -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 21:52:45 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 21:52:45 +0000 Subject: [oe-commits] [openembedded-core] 10/25: oe-selftest: wic: add test_mkfs_extraopts test case In-Reply-To: <150067395520.18047.11295446703197525033@git.openembedded.org> References: <150067395520.18047.11295446703197525033@git.openembedded.org> Message-ID: <20170721215235.C694A232837@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 79e853c450708e1e06684cf1216337cbad964770 Author: Ed Bartosh AuthorDate: Thu Jul 6 14:32:35 2017 +0300 oe-selftest: wic: add test_mkfs_extraopts test case Test new wks option --mkfs-extraopts with all filesystems supported by wic. Signed-off-by: Ed Bartosh Signed-off-by: Ross Burton --- meta/lib/oeqa/selftest/cases/wic.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/meta/lib/oeqa/selftest/cases/wic.py b/meta/lib/oeqa/selftest/cases/wic.py index 737fbc6..df205e8 100644 --- a/meta/lib/oeqa/selftest/cases/wic.py +++ b/meta/lib/oeqa/selftest/cases/wic.py @@ -919,3 +919,22 @@ part /etc --source rootfs --ondisk mmcblk0 --fstype=ext4 --exclude-path bin/ --r self.assertEqual(0, result.status) self.assertNotIn('\nBZIMAGE ', result.output) self.assertNotIn('\nEFI ', result.output) + + def test_mkfs_extraopts(self): + """Test wks option --mkfs-extraopts for empty and not empty partitions""" + img = 'core-image-minimal' + with NamedTemporaryFile("w", suffix=".wks") as wks: + wks.writelines( + ['part ext2 --fstype ext2 --source rootfs --mkfs-extraopts "-D -F -i 8192"\n', + 'part btrfs --fstype btrfs --source rootfs --size 40M --mkfs-extraopts "--mixed -K"\n', + 'part squash --fstype squashfs --source rootfs --mkfs-extraopts "-no-sparse -b 4096"\n', + 'part emptyvfat --fstype vfat --size 1M --mkfs-extraopts "-S 1024 -s 64"\n', + 'part emptymsdos --fstype msdos --size 1M --mkfs-extraopts "-S 1024 -s 64"\n', + 'part emptyext2 --fstype ext2 --size 1M --mkfs-extraopts "-D -F -i 8192"\n', + 'part emptybtrfs --fstype btrfs --size 100M --mkfs-extraopts "--mixed -K"\n']) + wks.flush() + cmd = "wic create %s -e %s -o %s" % (wks.name, img, self.resultdir) + self.assertEqual(0, runCmd(cmd).status) + wksname = os.path.splitext(os.path.basename(wks.name))[0] + out = glob(self.resultdir + "%s-*direct" % wksname) + self.assertEqual(1, len(out)) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 21:52:43 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 21:52:43 +0000 Subject: [oe-commits] [openembedded-core] 08/25: wic: implement wks option --mkfs-extraopts In-Reply-To: <150067395520.18047.11295446703197525033@git.openembedded.org> References: <150067395520.18047.11295446703197525033@git.openembedded.org> Message-ID: <20170721215235.B97D3232835@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 67b7c67edba305fbd31967baa10d27c2e603ec77 Author: Ed Bartosh AuthorDate: Thu Jul 6 14:32:33 2017 +0300 wic: implement wks option --mkfs-extraopts This option specifies extra options to pass to mkfs. utilities. [YOCTO #11709] Signed-off-by: Ed Bartosh Signed-off-by: Ross Burton --- scripts/lib/wic/ksparser.py | 1 + scripts/lib/wic/partition.py | 39 ++++++++++++++++++++++++--------------- 2 files changed, 25 insertions(+), 15 deletions(-) diff --git a/scripts/lib/wic/ksparser.py b/scripts/lib/wic/ksparser.py index 47afda4..99b66ee 100644 --- a/scripts/lib/wic/ksparser.py +++ b/scripts/lib/wic/ksparser.py @@ -139,6 +139,7 @@ class KickStart(): part.add_argument('--fstype', default='vfat', choices=('ext2', 'ext3', 'ext4', 'btrfs', 'squashfs', 'vfat', 'msdos', 'swap')) + part.add_argument('--mkfs-extraopts', default='') part.add_argument('--label') part.add_argument('--no-table', action='store_true') part.add_argument('--ondisk', '--ondrive', dest='disk', default='sda') diff --git a/scripts/lib/wic/partition.py b/scripts/lib/wic/partition.py index 5aa68c9..b623bb9 100644 --- a/scripts/lib/wic/partition.py +++ b/scripts/lib/wic/partition.py @@ -46,6 +46,7 @@ class Partition(): self.fsopts = args.fsopts self.fstype = args.fstype self.label = args.label + self.mkfs_extraopts = args.mkfs_extraopts self.mountpoint = args.mountpoint self.no_table = args.no_table self.num = None @@ -256,14 +257,14 @@ class Partition(): with open(rootfs, 'w') as sparse: os.ftruncate(sparse.fileno(), rootfs_size * 1024) - extra_imagecmd = "-i 8192" + extraopts = self.mkfs_extraopts or "-F -i 8192" label_str = "" if self.label: label_str = "-L %s" % self.label - mkfs_cmd = "mkfs.%s -F %s %s %s -d %s" % \ - (self.fstype, extra_imagecmd, rootfs, label_str, rootfs_dir) + mkfs_cmd = "mkfs.%s %s %s %s -d %s" % \ + (self.fstype, extraopts, rootfs, label_str, rootfs_dir) exec_native_cmd(mkfs_cmd, native_sysroot, pseudo=pseudo) mkfs_cmd = "fsck.%s -pvfD %s" % (self.fstype, rootfs) @@ -289,8 +290,9 @@ class Partition(): if self.label: label_str = "-L %s" % self.label - mkfs_cmd = "mkfs.%s -b %d -r %s %s %s" % \ - (self.fstype, rootfs_size * 1024, rootfs_dir, label_str, rootfs) + mkfs_cmd = "mkfs.%s -b %d -r %s %s %s %s" % \ + (self.fstype, rootfs_size * 1024, rootfs_dir, label_str, + self.mkfs_extraopts, rootfs) exec_native_cmd(mkfs_cmd, native_sysroot, pseudo=pseudo) def prepare_rootfs_msdos(self, rootfs, oe_builddir, rootfs_dir, @@ -312,8 +314,10 @@ class Partition(): if self.fstype == 'msdos': size_str = "-F 16" # FAT 16 - dosfs_cmd = "mkdosfs %s -S 512 %s -C %s %d" % (label_str, size_str, - rootfs, rootfs_size) + extraopts = self.mkfs_extraopts or '-S 512' + + dosfs_cmd = "mkdosfs %s %s %s -C %s %d" % \ + (label_str, size_str, extraopts, rootfs, rootfs_size) exec_native_cmd(dosfs_cmd, native_sysroot) mcopy_cmd = "mcopy -i %s -s %s/* ::/" % (rootfs, rootfs_dir) @@ -329,8 +333,9 @@ class Partition(): """ Prepare content for a squashfs rootfs partition. """ - squashfs_cmd = "mksquashfs %s %s -noappend" % \ - (rootfs_dir, rootfs) + extraopts = self.mkfs_extraopts or '-noappend' + squashfs_cmd = "mksquashfs %s %s %s" % \ + (rootfs_dir, rootfs, extraopts) exec_native_cmd(squashfs_cmd, native_sysroot, pseudo=pseudo) def prepare_empty_partition_ext(self, rootfs, oe_builddir, @@ -342,14 +347,14 @@ class Partition(): with open(rootfs, 'w') as sparse: os.ftruncate(sparse.fileno(), size * 1024) - extra_imagecmd = "-i 8192" + extraopts = self.mkfs_extraopts or "-i 8192" label_str = "" if self.label: label_str = "-L %s" % self.label mkfs_cmd = "mkfs.%s -F %s %s %s" % \ - (self.fstype, extra_imagecmd, label_str, rootfs) + (self.fstype, extraopts, label_str, rootfs) exec_native_cmd(mkfs_cmd, native_sysroot) def prepare_empty_partition_btrfs(self, rootfs, oe_builddir, @@ -365,8 +370,9 @@ class Partition(): if self.label: label_str = "-L %s" % self.label - mkfs_cmd = "mkfs.%s -b %d %s %s" % \ - (self.fstype, self.size * 1024, label_str, rootfs) + mkfs_cmd = "mkfs.%s -b %d %s %s %s" % \ + (self.fstype, self.size * 1024, label_str, + self.mkfs_extraopts, rootfs) exec_native_cmd(mkfs_cmd, native_sysroot) def prepare_empty_partition_msdos(self, rootfs, oe_builddir, @@ -384,8 +390,11 @@ class Partition(): if self.fstype == 'msdos': size_str = "-F 16" # FAT 16 - dosfs_cmd = "mkdosfs %s -S 512 %s -C %s %d" % (label_str, size_str, - rootfs, blocks) + extraopts = self.mkfs_extraopts or '-S 512' + + dosfs_cmd = "mkdosfs %s %s %s -C %s %d" % \ + (label_str, extraopts, size_str, rootfs, blocks) + exec_native_cmd(dosfs_cmd, native_sysroot) chmod_cmd = "chmod 644 %s" % rootfs -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 21:52:49 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 21:52:49 +0000 Subject: [oe-commits] [openembedded-core] 14/25: acl: reduce local pending patches In-Reply-To: <150067395520.18047.11295446703197525033@git.openembedded.org> References: <150067395520.18047.11295446703197525033@git.openembedded.org> Message-ID: <20170721215235.DF75123283B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit e35a14b28e021dc6db06e4471efbb7b25e45ee91 Author: Dengke Du AuthorDate: Tue Jul 18 03:56:57 2017 -0400 acl: reduce local pending patches Signed-off-by: Dengke Du Signed-off-by: Ross Burton --- .../attr/acl/test-fix-directory-permissions.patch | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/meta/recipes-support/attr/acl/test-fix-directory-permissions.patch b/meta/recipes-support/attr/acl/test-fix-directory-permissions.patch index a76cbbe..e64990a 100644 --- a/meta/recipes-support/attr/acl/test-fix-directory-permissions.patch +++ b/meta/recipes-support/attr/acl/test-fix-directory-permissions.patch @@ -1,6 +1,9 @@ +From 311589fedf196168382d8f0db303ab328bcf9d83 Mon Sep 17 00:00:00 2001 +From: Peter Seebach +Date: Wed, 11 May 2016 15:16:06 -0500 +Subject: [PATCH] acl.inc, run-ptest: improve ptest functionality on limited + commit c45bae84817a70fef6c2b661a07a492a0d23ae85 -Author: Peter Seebach -Date: Wed May 11 15:16:06 2016 -0500 Fix permissions on temporary directory @@ -10,7 +13,12 @@ Date: Wed May 11 15:16:06 2016 -0500 Signed-off-by: Peter Seebach -Upstream-Status: Pending +Upstream-Status: Backport [ http://git.savannah.gnu.org/cgit/acl.git/commit/?id=c6772a958800de064482634f77c20a0faafc5af6 ] + +Signed-off-by: Dengke Du +--- + test/root/permissions.test | 1 + + 1 file changed, 1 insertion(+) diff --git a/test/root/permissions.test b/test/root/permissions.test index 42615f5..098b52a 100644 @@ -24,3 +32,6 @@ index 42615f5..098b52a 100644 $ mkdir d $ cd d $ umask 027 +-- +2.8.1 + -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 21:52:48 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 21:52:48 +0000 Subject: [oe-commits] [openembedded-core] 13/25: at: reduce local pending patches In-Reply-To: <150067395520.18047.11295446703197525033@git.openembedded.org> References: <150067395520.18047.11295446703197525033@git.openembedded.org> Message-ID: <20170721215235.D96C223283A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 07d37b0065c60a9926002f713187ddc6bc26a146 Author: Dengke Du AuthorDate: Tue Jul 18 03:56:56 2017 -0400 at: reduce local pending patches Signed-off-by: Dengke Du Signed-off-by: Ross Burton --- .../at/at/0001-remove-glibc-assumption.patch | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/meta/recipes-extended/at/at/0001-remove-glibc-assumption.patch b/meta/recipes-extended/at/at/0001-remove-glibc-assumption.patch index 53ae28b..7fdecc7 100644 --- a/meta/recipes-extended/at/at/0001-remove-glibc-assumption.patch +++ b/meta/recipes-extended/at/at/0001-remove-glibc-assumption.patch @@ -1,6 +1,6 @@ -From 7f811d9c4ebc9444e613e251c31d6bf537a24dc1 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Mon, 13 Apr 2015 16:35:30 -0700 +From f446686916e503dfb9fb928252d1b72a07573b29 Mon Sep 17 00:00:00 2001 +From: Dengke Du +Date: Tue, 18 Jul 2017 03:42:56 -0400 Subject: [PATCH] remove glibc assumption glibc time.h header has an undocumented __isleap macro @@ -9,9 +9,11 @@ Since it is undocumented & does not appear on any other libc, stop using it and just define the macro in locally instead. -Upstream-Status: Pending +Upstream-Status: Submitted [ https://lists.debian.org/debian-accessibility/2017/07/msg00044.html ] Signed-off-by: Khem Raj + +Signed-off-by: Dengke Du --- parsetime.y | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) @@ -53,5 +55,5 @@ index 7005e88..324e6d3 100644 { yyerror("Error in day of month"); -- -2.1.4 +2.8.1 -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 21:52:42 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 21:52:42 +0000 Subject: [oe-commits] [openembedded-core] 07/25: pkgconfig: allow kernel to be build with esdk In-Reply-To: <150067395520.18047.11295446703197525033@git.openembedded.org> References: <150067395520.18047.11295446703197525033@git.openembedded.org> Message-ID: <20170721215235.B294F232834@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 0954452d151613fa758fbde8ee9469b30d80776b Author: Saul Wold AuthorDate: Mon Jul 17 09:20:15 2017 -0700 pkgconfig: allow kernel to be build with esdk When the kernel's menuconfig target is called while using the esdk or an esdk-based container, the pkg-config info that is found is not correct. The pkg-config info is for the target, but we need the eSDK's information in order to build the host based menuconfig. The new pkg-config-esdk script checks both that it's in SDK and being called from the check-lxdialog script in order to limit the scope of when the pkg-config automagically switches to pkg-config-native. The pkg-config-esdk is only installed as pkg-config inside the eSDK, which is why we use the sstate post install script and check for if we are in the esdk environment using the WITHIN_EXT_SDK [YOCTO #11155] Signed-off-by: Saul Wold Signed-off-by: Ross Burton --- .../pkgconfig/pkgconfig/pkg-config-esdk.in | 24 ++++++++++++++++++++++ meta/recipes-devtools/pkgconfig/pkgconfig_git.bb | 16 +++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/meta/recipes-devtools/pkgconfig/pkgconfig/pkg-config-esdk.in b/meta/recipes-devtools/pkgconfig/pkgconfig/pkg-config-esdk.in new file mode 100644 index 0000000..4fc9b0a --- /dev/null +++ b/meta/recipes-devtools/pkgconfig/pkgconfig/pkg-config-esdk.in @@ -0,0 +1,24 @@ +#! /bin/sh + +# Orignal pkg-config-native action when called as pkg-config-native +# NO Change here +if [ "pkg-config-native" = "`basename $0`" ] ; then + PKG_CONFIG_PATH="@PATH_NATIVE@" + PKG_CONFIG_LIBDIR="@LIBDIR_NATIVE@" + unset PKG_CONFIG_SYSROOT_DIR +else + # in this case check if we are in the esdk + if [ "$OE_SKIP_SDK_CHECK" = "1" ] ; then + parentpid=`ps -o ppid= -p $$` + parentpid_info=`ps -wo comm= -o args= -p $parentpid` + + # check if we are being called from the kernel's make menuconfig + if ( echo $parentpid_info | grep -q check-lxdialog ) ; then + PKG_CONFIG_PATH="@PATH_NATIVE@" + PKG_CONFIG_LIBDIR="@LIBDIR_NATIVE@" + unset PKG_CONFIG_SYSROOT_DIR + fi + fi +fi + +pkg-config.real "$@" diff --git a/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb b/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb index e634021..52ef2a9 100644 --- a/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb +++ b/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb @@ -12,6 +12,7 @@ SRCREV = "edf8e6f0ea77ede073f07bff0d2ae1fc7a38103b" PV = "0.29.2+git${SRCPV}" SRC_URI = "git://anongit.freedesktop.org/pkg-config \ + file://pkg-config-esdk.in \ file://pkg-config-native.in \ file://fix-glib-configure-libtool-usage.patch \ file://0001-glib-gettext.m4-Update-AM_GLIB_GNU_GETTEXT-to-match-.patch \ @@ -54,4 +55,19 @@ do_install_append_class-native () { -e "s|@LIBDIR_NATIVE@|${PKG_CONFIG_LIBDIR}|" \ < ${WORKDIR}/pkg-config-native.in > ${B}/pkg-config-native install -m755 ${B}/pkg-config-native ${D}${bindir}/pkg-config-native + sed -e "s|@PATH_NATIVE@|${PKG_CONFIG_PATH}|" \ + -e "s|@LIBDIR_NATIVE@|${PKG_CONFIG_LIBDIR}|" \ + < ${WORKDIR}/pkg-config-esdk.in > ${B}/pkg-config-esdk + install -m755 ${B}/pkg-config-esdk ${D}${bindir}/pkg-config-esdk } + +pkgconfig_sstate_fixup_esdk () { + if [ "${BB_CURRENTTASK}" = "populate_sysroot_setscene" -a "${WITHIN_EXT_SDK}" = "1" ] ; then + pkgconfdir="${SSTATE_INSTDIR}/recipe-sysroot-native/${bindir_native}" + mv $pkgconfdir/pkg-config $pkgconfdir/pkg-config.real + lnr $pkgconfdir/pkg-config-esdk $pkgconfdir/pkg-config + sed -i -e "s|^pkg-config|pkg-config.real|" $pkgconfdir/pkg-config-native + fi +} + +SSTATEPOSTUNPACKFUNCS_append_class-native = " pkgconfig_sstate_fixup_esdk" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 21:52:46 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 21:52:46 +0000 Subject: [oe-commits] [openembedded-core] 11/25: mesa: Upgrade to 17.1.5 release In-Reply-To: <150067395520.18047.11295446703197525033@git.openembedded.org> References: <150067395520.18047.11295446703197525033@git.openembedded.org> Message-ID: <20170721215235.CCEDF232838@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 6e23b9589cd2e35d865f5d5e3469ad251c263af1 Author: Otavio Salvador AuthorDate: Mon Jul 17 15:40:49 2017 -0300 mesa: Upgrade to 17.1.5 release This is a stable bugfix release. Following upstream bugs were fixed: Bug 100242 - radeon buffer allocation failure during startup of Factorio Bug 101657 - strtod.c:32:10: fatal error: xlocale.h: No such file or directory Bug 101666 - bitfieldExtract is marked as a built-in function on OpenGL ES 3.0, but was added in OpenGL ES 3.1 Bug 101703 - No stencil buffer allocated when requested by GLUT Also, the following patches were included in this release and as such deleted: - etnaviv_fix-shader-miscompilation.patch Signed-off-by: Otavio Salvador Signed-off-by: Ross Burton --- .../files/etnaviv_fix-shader-miscompilation.patch | 220 --------------------- .../mesa/{mesa-gl_17.1.4.bb => mesa-gl_17.1.5.bb} | 0 .../mesa/{mesa_17.1.4.bb => mesa_17.1.5.bb} | 6 +- 3 files changed, 2 insertions(+), 224 deletions(-) diff --git a/meta/recipes-graphics/mesa/files/etnaviv_fix-shader-miscompilation.patch b/meta/recipes-graphics/mesa/files/etnaviv_fix-shader-miscompilation.patch deleted file mode 100644 index 0354e2a..0000000 --- a/meta/recipes-graphics/mesa/files/etnaviv_fix-shader-miscompilation.patch +++ /dev/null @@ -1,220 +0,0 @@ -From ec43605189907fa327a4a7f457aa3c822cfdea5d Mon Sep 17 00:00:00 2001 -From: Lucas Stach -Date: Mon, 26 Jun 2017 18:24:31 +0200 -Subject: etnaviv: fix shader miscompilation with more than 16 labels - -The labels array may change its virtual address on a reallocation, so -it is invalid to cache pointers into the array. Rather than using the -pointer directly, remember the array index. - -Fixes miscompilation of shaders in glmark2 ideas, leading to GPU hangs. - -Fixes: c9e8b49b (etnaviv: gallium driver for Vivante GPUs) -Cc: mesa-stable at lists.freedesktop.org -Signed-off-by: Lucas Stach -Reviewed-by: Christian Gmeiner - -Upstream-Status: Backport [17.1.5] - -diff --git a/src/gallium/drivers/etnaviv/etnaviv_compiler.c b/src/gallium/drivers/etnaviv/etnaviv_compiler.c -index eafb511..af0f76b 100644 ---- a/src/gallium/drivers/etnaviv/etnaviv_compiler.c -+++ b/src/gallium/drivers/etnaviv/etnaviv_compiler.c -@@ -119,10 +119,10 @@ enum etna_compile_frame_type { - */ - struct etna_compile_frame { - enum etna_compile_frame_type type; -- struct etna_compile_label *lbl_else; -- struct etna_compile_label *lbl_endif; -- struct etna_compile_label *lbl_loop_bgn; -- struct etna_compile_label *lbl_loop_end; -+ int lbl_else_idx; -+ int lbl_endif_idx; -+ int lbl_loop_bgn_idx; -+ int lbl_loop_end_idx; - }; - - struct etna_compile_file { -@@ -178,7 +178,7 @@ struct etna_compile { - /* Fields for handling nested conditionals */ - struct etna_compile_frame frame_stack[ETNA_MAX_DEPTH]; - int frame_sp; -- struct etna_compile_label *lbl_usage[ETNA_MAX_INSTRUCTIONS]; -+ int lbl_usage[ETNA_MAX_INSTRUCTIONS]; - - unsigned labels_count, labels_sz; - struct etna_compile_label *labels; -@@ -990,7 +990,7 @@ etna_src_uniforms_conflict(struct etna_inst_src a, struct etna_inst_src b) - } - - /* create a new label */ --static struct etna_compile_label * -+static unsigned int - alloc_new_label(struct etna_compile *c) - { - struct etna_compile_label label = { -@@ -999,7 +999,7 @@ alloc_new_label(struct etna_compile *c) - - array_insert(c->labels, label); - -- return &c->labels[c->labels_count - 1]; -+ return c->labels_count - 1; - } - - /* place label at current instruction pointer */ -@@ -1015,10 +1015,10 @@ label_place(struct etna_compile *c, struct etna_compile_label *label) - * as the value becomes known. - */ - static void --label_mark_use(struct etna_compile *c, struct etna_compile_label *label) -+label_mark_use(struct etna_compile *c, int lbl_idx) - { - assert(c->inst_ptr < ETNA_MAX_INSTRUCTIONS); -- c->lbl_usage[c->inst_ptr] = label; -+ c->lbl_usage[c->inst_ptr] = lbl_idx; - } - - /* walk the frame stack and return first frame with matching type */ -@@ -1099,8 +1099,8 @@ trans_if(const struct instr_translater *t, struct etna_compile *c, - /* push IF to stack */ - f->type = ETNA_COMPILE_FRAME_IF; - /* create "else" label */ -- f->lbl_else = alloc_new_label(c); -- f->lbl_endif = NULL; -+ f->lbl_else_idx = alloc_new_label(c); -+ f->lbl_endif_idx = -1; - - /* We need to avoid the emit_inst() below becoming two instructions */ - if (etna_src_uniforms_conflict(src[0], imm_0)) -@@ -1108,7 +1108,7 @@ trans_if(const struct instr_translater *t, struct etna_compile *c, - - /* mark position in instruction stream of label reference so that it can be - * filled in in next pass */ -- label_mark_use(c, f->lbl_else); -+ label_mark_use(c, f->lbl_else_idx); - - /* create conditional branch to label if src0 EQ 0 */ - emit_inst(c, &(struct etna_inst){ -@@ -1129,8 +1129,8 @@ trans_else(const struct instr_translater *t, struct etna_compile *c, - assert(f->type == ETNA_COMPILE_FRAME_IF); - - /* create "endif" label, and branch to endif label */ -- f->lbl_endif = alloc_new_label(c); -- label_mark_use(c, f->lbl_endif); -+ f->lbl_endif_idx = alloc_new_label(c); -+ label_mark_use(c, f->lbl_endif_idx); - emit_inst(c, &(struct etna_inst) { - .opcode = INST_OPCODE_BRANCH, - .cond = INST_CONDITION_TRUE, -@@ -1138,7 +1138,7 @@ trans_else(const struct instr_translater *t, struct etna_compile *c, - }); - - /* mark "else" label at this position in instruction stream */ -- label_place(c, f->lbl_else); -+ label_place(c, &c->labels[f->lbl_else_idx]); - } - - static void -@@ -1151,10 +1151,10 @@ trans_endif(const struct instr_translater *t, struct etna_compile *c, - - /* assign "endif" or "else" (if no ELSE) label to current position in - * instruction stream, pop IF */ -- if (f->lbl_endif != NULL) -- label_place(c, f->lbl_endif); -+ if (f->lbl_endif_idx != -1) -+ label_place(c, &c->labels[f->lbl_endif_idx]); - else -- label_place(c, f->lbl_else); -+ label_place(c, &c->labels[f->lbl_else_idx]); - } - - static void -@@ -1166,10 +1166,10 @@ trans_loop_bgn(const struct instr_translater *t, struct etna_compile *c, - - /* push LOOP to stack */ - f->type = ETNA_COMPILE_FRAME_LOOP; -- f->lbl_loop_bgn = alloc_new_label(c); -- f->lbl_loop_end = alloc_new_label(c); -+ f->lbl_loop_bgn_idx = alloc_new_label(c); -+ f->lbl_loop_end_idx = alloc_new_label(c); - -- label_place(c, f->lbl_loop_bgn); -+ label_place(c, &c->labels[f->lbl_loop_bgn_idx]); - - c->num_loops++; - } -@@ -1185,7 +1185,7 @@ trans_loop_end(const struct instr_translater *t, struct etna_compile *c, - - /* mark position in instruction stream of label reference so that it can be - * filled in in next pass */ -- label_mark_use(c, f->lbl_loop_bgn); -+ label_mark_use(c, f->lbl_loop_bgn_idx); - - /* create branch to loop_bgn label */ - emit_inst(c, &(struct etna_inst) { -@@ -1195,7 +1195,7 @@ trans_loop_end(const struct instr_translater *t, struct etna_compile *c, - /* imm is filled in later */ - }); - -- label_place(c, f->lbl_loop_end); -+ label_place(c, &c->labels[f->lbl_loop_end_idx]); - } - - static void -@@ -1207,7 +1207,7 @@ trans_brk(const struct instr_translater *t, struct etna_compile *c, - - /* mark position in instruction stream of label reference so that it can be - * filled in in next pass */ -- label_mark_use(c, f->lbl_loop_end); -+ label_mark_use(c, f->lbl_loop_end_idx); - - /* create branch to loop_end label */ - emit_inst(c, &(struct etna_inst) { -@@ -1227,7 +1227,7 @@ trans_cont(const struct instr_translater *t, struct etna_compile *c, - - /* mark position in instruction stream of label reference so that it can be - * filled in in next pass */ -- label_mark_use(c, f->lbl_loop_bgn); -+ label_mark_use(c, f->lbl_loop_bgn_idx); - - /* create branch to loop_end label */ - emit_inst(c, &(struct etna_inst) { -@@ -1998,8 +1998,9 @@ static void - etna_compile_fill_in_labels(struct etna_compile *c) - { - for (int idx = 0; idx < c->inst_ptr; ++idx) { -- if (c->lbl_usage[idx]) -- etna_assemble_set_imm(&c->code[idx * 4], c->lbl_usage[idx]->inst_idx); -+ if (c->lbl_usage[idx] != -1) -+ etna_assemble_set_imm(&c->code[idx * 4], -+ c->labels[c->lbl_usage[idx]].inst_idx); - } - } - -@@ -2301,6 +2302,8 @@ etna_compile_shader(struct etna_shader_variant *v) - if (!c) - return false; - -+ memset(&c->lbl_usage, -1, ARRAY_SIZE(c->lbl_usage)); -+ - const struct tgsi_token *tokens = v->shader->tokens; - - c->specs = specs; -@@ -2430,12 +2433,13 @@ etna_compile_shader(struct etna_shader_variant *v) - etna_compile_add_z_div_if_needed(c); - etna_compile_frag_rb_swap(c); - etna_compile_add_nop_if_needed(c); -- etna_compile_fill_in_labels(c); - - ret = etna_compile_check_limits(c); - if (!ret) - goto out; - -+ etna_compile_fill_in_labels(c); -+ - /* fill in output structure */ - v->processor = c->info.processor; - v->code_size = c->inst_ptr * 4; --- -cgit v0.10.2 - diff --git a/meta/recipes-graphics/mesa/mesa-gl_17.1.4.bb b/meta/recipes-graphics/mesa/mesa-gl_17.1.5.bb similarity index 100% rename from meta/recipes-graphics/mesa/mesa-gl_17.1.4.bb rename to meta/recipes-graphics/mesa/mesa-gl_17.1.5.bb diff --git a/meta/recipes-graphics/mesa/mesa_17.1.4.bb b/meta/recipes-graphics/mesa/mesa_17.1.5.bb similarity index 80% rename from meta/recipes-graphics/mesa/mesa_17.1.4.bb rename to meta/recipes-graphics/mesa/mesa_17.1.5.bb index f0b634a..ddfcb37 100644 --- a/meta/recipes-graphics/mesa/mesa_17.1.4.bb +++ b/meta/recipes-graphics/mesa/mesa_17.1.5.bb @@ -3,15 +3,13 @@ require ${BPN}.inc SRC_URI = "https://mesa.freedesktop.org/archive/mesa-${PV}.tar.xz \ file://replace_glibc_check_with_linux.patch \ file://disable-asm-on-non-gcc.patch \ - file://etnaviv_fix-shader-miscompilation.patch \ file://0001-Use-wayland-scanner-in-the-path.patch \ file://0002-hardware-gloat.patch \ file://0001-mapi-Only-install-khrplatform.h-with-EGL-or-GLES.patch \ file://vulkan-mkdir.patch \ " - -SRC_URI[md5sum] = "be2ef7c9edec23b07f74f6512a6a6fa5" -SRC_URI[sha256sum] = "06f3b0e6a28f0d20b7f3391cf67fe89ae98ecd0a686cd545da76557b6cec9cad" +SRC_URI[md5sum] = "6cf936fbcaadd98924298a7009e8265d" +SRC_URI[sha256sum] = "378516b171712687aace4c7ea8b37c85895231d7a6d61e1e27362cf6034fded9" #because we cannot rely on the fact that all apps will use pkgconfig, #make eglplatform.h independent of MESA_EGL_NO_X11_HEADER -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 21:52:50 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 21:52:50 +0000 Subject: [oe-commits] [openembedded-core] 15/25: systemd-bootchart: Fix build with glibc 2.26 In-Reply-To: <150067395520.18047.11295446703197525033@git.openembedded.org> References: <150067395520.18047.11295446703197525033@git.openembedded.org> Message-ID: <20170721215235.E5F2A23283C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 4fdc7841a1ec5dfc0a3a3af5e630c9def7a66a24 Author: Jussi Kukkonen AuthorDate: Tue Jul 18 13:52:29 2017 +0300 systemd-bootchart: Fix build with glibc 2.26 xlocale.h is no more, don't include it. Signed-off-by: Jussi Kukkonen Signed-off-by: Ross Burton --- .../0001-parse-util-Don-t-use-xlocale.h.patch | 32 ++++++++++++++++++++++ .../systemd-bootchart/systemd-bootchart_231.bb | 4 ++- 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/meta/recipes-devtools/systemd-bootchart/files/0001-parse-util-Don-t-use-xlocale.h.patch b/meta/recipes-devtools/systemd-bootchart/files/0001-parse-util-Don-t-use-xlocale.h.patch new file mode 100644 index 0000000..5aa0463 --- /dev/null +++ b/meta/recipes-devtools/systemd-bootchart/files/0001-parse-util-Don-t-use-xlocale.h.patch @@ -0,0 +1,32 @@ +From d379126d56d0b6e935b2d97ca71579e6cc54d1bb Mon Sep 17 00:00:00 2001 +From: Jussi Kukkonen +Date: Tue, 18 Jul 2017 13:37:27 +0300 +Subject: [PATCH] parse-util: Don't use xlocale.h + +glibc 2.26 no longer contains the non-standard xlocale.h +(http://sourceware.org/glibc/wiki/Release/2.26#Removal_of_.27xlocale.h.27) + +This change shouldn't break anything as xlocale.h was a subset of +locale.h. + +Signed-off-by: Jussi Kukkonen +Upstream-Status: Submitted [https://github.com/systemd/systemd-bootchart/pull/35] +--- + src/parse-util.c | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/src/parse-util.c b/src/parse-util.c +index 5635a68..1b2169c 100644 +--- a/src/parse-util.c ++++ b/src/parse-util.c +@@ -21,7 +21,6 @@ + #include + #include + #include +-#include + + #include "macro.h" + #include "parse-util.h" +-- +2.13.2 + diff --git a/meta/recipes-devtools/systemd-bootchart/systemd-bootchart_231.bb b/meta/recipes-devtools/systemd-bootchart/systemd-bootchart_231.bb index 1d88036..4da000e 100644 --- a/meta/recipes-devtools/systemd-bootchart/systemd-bootchart_231.bb +++ b/meta/recipes-devtools/systemd-bootchart/systemd-bootchart_231.bb @@ -2,7 +2,9 @@ LICENSE = "LGPLv2.1 & GPLv2" LIC_FILES_CHKSUM = "file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c \ file://LICENSE.GPL2;md5=751419260aa954499f7abaabaa882bbe" -SRC_URI = "git://github.com/systemd/systemd-bootchart.git;protocol=https" +SRC_URI = "git://github.com/systemd/systemd-bootchart.git;protocol=https \ + file://0001-parse-util-Don-t-use-xlocale.h.patch \ +" # Modify these as desired PV = "231+git${SRCPV}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 21:52:52 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 21:52:52 +0000 Subject: [oe-commits] [openembedded-core] 17/25: screen: 4.5.1 -> 4.6.0 In-Reply-To: <150067395520.18047.11295446703197525033@git.openembedded.org> References: <150067395520.18047.11295446703197525033@git.openembedded.org> Message-ID: <20170721215235.F19C723283E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 422cfb92af8d7d2982dc76614388f22aeb658062 Author: Bian Yaqin AuthorDate: Tue Jul 18 08:48:28 2017 -0700 screen: 4.5.1 -> 4.6.0 Update screen from 4.5.1 to 4.6.0 Signed-off-by: Bian Yaqin Signed-off-by: Ross Burton --- meta/recipes-extended/screen/{screen_4.5.1.bb => screen_4.6.0.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-extended/screen/screen_4.5.1.bb b/meta/recipes-extended/screen/screen_4.6.0.bb similarity index 93% rename from meta/recipes-extended/screen/screen_4.5.1.bb rename to meta/recipes-extended/screen/screen_4.6.0.bb index 32c1a5a..a41efe9 100644 --- a/meta/recipes-extended/screen/screen_4.5.1.bb +++ b/meta/recipes-extended/screen/screen_4.6.0.bb @@ -26,8 +26,8 @@ SRC_URI = "${GNU_MIRROR}/screen/screen-${PV}.tar.gz \ file://0001-fix-for-multijob-build.patch \ " -SRC_URI[md5sum] = "a8c5da2f42f8a18fa4dada2419d1549b" -SRC_URI[sha256sum] = "97db2114dd963b016cd4ded34831955dcbe3251e5eee45ac2606e67e9f097b2d" +SRC_URI[md5sum] = "af60f716c4ec134712b923ef6cd93848" +SRC_URI[sha256sum] = "9433706b653e941cc4c745f28e252e57be2a141eded923e61cc2c4a09768fed4" inherit autotools texinfo -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 21:52:51 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 21:52:51 +0000 Subject: [oe-commits] [openembedded-core] 16/25: base.bbclass: Make .jar file depend on unzip-native In-Reply-To: <150067395520.18047.11295446703197525033@git.openembedded.org> References: <150067395520.18047.11295446703197525033@git.openembedded.org> Message-ID: <20170721215235.EC07E23283D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 96665f8b204b0f0ba571bb6634203aada5983f8a Author: Ricardo Ribalda Delgado AuthorDate: Tue Jul 18 13:01:53 2017 +0200 base.bbclass: Make .jar file depend on unzip-native Unzip is required for jar files. Without this patch: ERROR: junit4-4.3.1-r0 do_unpack: Unpack failure for URL: 'http://downloads.sourceforge.net/junit/junit-4.3.1-src.jar'. Unpack command PATH="/var/lib/jenkins/workspace/qt5122-dyspro/build/tmp/sysroots-uninative/x86_64-linux/usr/bin ......." unzip -q -o '/var/lib/yocto/downloads/junit-4.3.1-src.jar' failed with return value 127 Suggested-by: Ross Burton Signed-off-by: Ricardo Ribalda Delgado Signed-off-by: Ross Burton --- meta/classes/base.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass index 9c40e01..8c86977 100644 --- a/meta/classes/base.bbclass +++ b/meta/classes/base.bbclass @@ -628,7 +628,7 @@ python () { d.appendVarFlag('do_unpack', 'depends', ' xz-native:do_populate_sysroot') # .zip should DEPEND on unzip-native for unpacking - elif path.endswith('.zip'): + elif path.endswith('.zip') or path.endswith('.jar'): d.appendVarFlag('do_unpack', 'depends', ' unzip-native:do_populate_sysroot') # file is needed by rpm2cpio.sh -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 21:52:56 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 21:52:56 +0000 Subject: [oe-commits] [openembedded-core] 21/25: sqlite3: upgrade to 3.19.3 In-Reply-To: <150067395520.18047.11295446703197525033@git.openembedded.org> References: <150067395520.18047.11295446703197525033@git.openembedded.org> Message-ID: <20170721215236.1AC84232830@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 2635067901c932888a998ea0fbb45f5d4d3c7c24 Author: Maxin B. John AuthorDate: Wed Jul 19 18:01:24 2017 +0300 sqlite3: upgrade to 3.19.3 3.19.2 -> 3.19.3 Fixes a bug associated with auto_vacuum that can lead to database corruption. Signed-off-by: Maxin B. John Signed-off-by: Ross Burton --- meta/recipes-support/sqlite/{sqlite3_3.19.2.bb => sqlite3_3.19.3.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-support/sqlite/sqlite3_3.19.2.bb b/meta/recipes-support/sqlite/sqlite3_3.19.3.bb similarity index 59% rename from meta/recipes-support/sqlite/sqlite3_3.19.2.bb rename to meta/recipes-support/sqlite/sqlite3_3.19.3.bb index cf87073..89d4395 100644 --- a/meta/recipes-support/sqlite/sqlite3_3.19.2.bb +++ b/meta/recipes-support/sqlite/sqlite3_3.19.3.bb @@ -6,5 +6,5 @@ LIC_FILES_CHKSUM = "file://sqlite3.h;endline=11;md5=65f0a57ca6928710b418c094b357 SRC_URI = "\ http://www.sqlite.org/2017/sqlite-autoconf-${SQLITE_PV}.tar.gz \ " -SRC_URI[md5sum] = "9f006b16de2cd81f6bae9b40e91daabf" -SRC_URI[sha256sum] = "ca5361fb01cc3ad63d6fd4eb2cb0b6398e629595896d3558f7e121d37dac2ffc" +SRC_URI[md5sum] = "c93070d5bf136ce271db23d2dfbc2435" +SRC_URI[sha256sum] = "06129c03dced9f87733a8cba408871bd60673b8f93b920ba8d815efab0a06301" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 21:52:58 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 21:52:58 +0000 Subject: [oe-commits] [openembedded-core] 23/25: python3-mako: update to 1.0.7 In-Reply-To: <150067395520.18047.11295446703197525033@git.openembedded.org> References: <150067395520.18047.11295446703197525033@git.openembedded.org> Message-ID: <20170721215236.2F58E23282D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 1a2bb950b38035b842d120697d076cfdc832fa37 Author: Jose Lamego AuthorDate: Wed Jul 19 11:12:17 2017 -0500 python3-mako: update to 1.0.7 python3-mako need to be upgraded to latest upstream version. This change was tested using qemux86 with core-image-minimal Signed-off-by: Jose Lamego Signed-off-by: Ross Burton --- meta/recipes-devtools/python/python-mako.inc | 4 ++-- .../python/{python3-mako_1.0.6.bb => python3-mako_1.0.7.bb} | 0 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-devtools/python/python-mako.inc b/meta/recipes-devtools/python/python-mako.inc index 10364db..ba50675 100644 --- a/meta/recipes-devtools/python/python-mako.inc +++ b/meta/recipes-devtools/python/python-mako.inc @@ -5,8 +5,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=1bb21fa2d2f7a534c884b990430a6863" SRC_URI = "https://files.pythonhosted.org/packages/source/M/Mako/Mako-${PV}.tar.gz" -SRC_URI[md5sum] = "a28e22a339080316b2acc352b9ee631c" -SRC_URI[sha256sum] = "48559ebd872a8e77f92005884b3d88ffae552812cdf17db6768e5c3be5ebbe0d" +SRC_URI[md5sum] = "5836cc997b1b773ef389bf6629c30e65" +SRC_URI[sha256sum] = "4e02fde57bd4abb5ec400181e4c314f56ac3e49ba4fb8b0d50bba18cb27d25ae" UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/mako/" UPSTREAM_CHECK_REGEX = "/Mako/(?P(\d+[\.\-_]*)+)" diff --git a/meta/recipes-devtools/python/python3-mako_1.0.6.bb b/meta/recipes-devtools/python/python3-mako_1.0.7.bb similarity index 100% rename from meta/recipes-devtools/python/python3-mako_1.0.6.bb rename to meta/recipes-devtools/python/python3-mako_1.0.7.bb -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 21:52:57 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 21:52:57 +0000 Subject: [oe-commits] [openembedded-core] 22/25: libtirpc: upgrade to 1.0.2 In-Reply-To: <150067395520.18047.11295446703197525033@git.openembedded.org> References: <150067395520.18047.11295446703197525033@git.openembedded.org> Message-ID: <20170721215236.2698323282F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 351a629114c67691ba434a27ec42671474fdc605 Author: Maxin B. John AuthorDate: Wed Jul 19 18:01:25 2017 +0300 libtirpc: upgrade to 1.0.2 1.0.1 -> 1.0.2 Remove these Backported and upstreamed patches: 1. 0001-Fix-for-CVE-2017-8779.patch 2. libtirpc-0.2.1-fortify.patch 3. libtirpc-1.0.2-rc3.patc Signed-off-by: Maxin B. John Signed-off-by: Ross Burton --- .../libtirpc/0001-Fix-for-CVE-2017-8779.patch | 276 -------- .../libtirpc/libtirpc/libtirpc-0.2.1-fortify.patch | 26 - .../libtirpc/libtirpc/libtirpc-1.0.2-rc3.patch | 743 --------------------- .../{libtirpc_1.0.1.bb => libtirpc_1.0.2.bb} | 7 +- 4 files changed, 2 insertions(+), 1050 deletions(-) diff --git a/meta/recipes-extended/libtirpc/libtirpc/0001-Fix-for-CVE-2017-8779.patch b/meta/recipes-extended/libtirpc/libtirpc/0001-Fix-for-CVE-2017-8779.patch deleted file mode 100644 index b3bae67..0000000 --- a/meta/recipes-extended/libtirpc/libtirpc/0001-Fix-for-CVE-2017-8779.patch +++ /dev/null @@ -1,276 +0,0 @@ -From dd9c7cf4f8f375c6d641b760d124650c418c2ce3 Mon Sep 17 00:00:00 2001 -From: Guido Vranken -Date: Mon, 15 May 2017 11:12:21 -0400 -Subject: [PATCH] Fix for CVE-2017-8779 - -Signed-off-by: Steve Dickson ---- - src/rpc_generic.c | 8 ++++++++ - src/rpcb_prot.c | 22 ++++++++++++++-------- - src/rpcb_st_xdr.c | 9 +++++---- - src/xdr.c | 30 +++++++++++++++++++++++++----- - 4 files changed, 52 insertions(+), 17 deletions(-) - -CVE: CVE-2017-8779 -Upstream-Status: Backport - -Signed-off-by: Fan Xin - -diff --git a/src/rpc_generic.c b/src/rpc_generic.c -index 2f09a8f..589cbd5 100644 ---- a/src/rpc_generic.c -+++ b/src/rpc_generic.c -@@ -615,6 +615,9 @@ __rpc_taddr2uaddr_af(int af, const struct netbuf *nbuf) - - switch (af) { - case AF_INET: -+ if (nbuf->len < sizeof(*sin)) { -+ return NULL; -+ } - sin = nbuf->buf; - if (inet_ntop(af, &sin->sin_addr, namebuf, sizeof namebuf) - == NULL) -@@ -626,6 +629,9 @@ __rpc_taddr2uaddr_af(int af, const struct netbuf *nbuf) - break; - #ifdef INET6 - case AF_INET6: -+ if (nbuf->len < sizeof(*sin6)) { -+ return NULL; -+ } - sin6 = nbuf->buf; - if (inet_ntop(af, &sin6->sin6_addr, namebuf6, sizeof namebuf6) - == NULL) -@@ -667,6 +673,8 @@ __rpc_uaddr2taddr_af(int af, const char *uaddr) - - port = 0; - sin = NULL; -+ if (uaddr == NULL) -+ return NULL; - addrstr = strdup(uaddr); - if (addrstr == NULL) - return NULL; -diff --git a/src/rpcb_prot.c b/src/rpcb_prot.c -index 43fd385..a923c8e 100644 ---- a/src/rpcb_prot.c -+++ b/src/rpcb_prot.c -@@ -41,6 +41,7 @@ - #include - #include - #include -+#include "rpc_com.h" - - bool_t - xdr_rpcb(xdrs, objp) -@@ -53,13 +54,13 @@ xdr_rpcb(xdrs, objp) - if (!xdr_u_int32_t(xdrs, &objp->r_vers)) { - return (FALSE); - } -- if (!xdr_string(xdrs, &objp->r_netid, (u_int)~0)) { -+ if (!xdr_string(xdrs, &objp->r_netid, RPC_MAXDATASIZE)) { - return (FALSE); - } -- if (!xdr_string(xdrs, &objp->r_addr, (u_int)~0)) { -+ if (!xdr_string(xdrs, &objp->r_addr, RPC_MAXDATASIZE)) { - return (FALSE); - } -- if (!xdr_string(xdrs, &objp->r_owner, (u_int)~0)) { -+ if (!xdr_string(xdrs, &objp->r_owner, RPC_MAXDATASIZE)) { - return (FALSE); - } - return (TRUE); -@@ -159,19 +160,19 @@ xdr_rpcb_entry(xdrs, objp) - XDR *xdrs; - rpcb_entry *objp; - { -- if (!xdr_string(xdrs, &objp->r_maddr, (u_int)~0)) { -+ if (!xdr_string(xdrs, &objp->r_maddr, RPC_MAXDATASIZE)) { - return (FALSE); - } -- if (!xdr_string(xdrs, &objp->r_nc_netid, (u_int)~0)) { -+ if (!xdr_string(xdrs, &objp->r_nc_netid, RPC_MAXDATASIZE)) { - return (FALSE); - } - if (!xdr_u_int32_t(xdrs, &objp->r_nc_semantics)) { - return (FALSE); - } -- if (!xdr_string(xdrs, &objp->r_nc_protofmly, (u_int)~0)) { -+ if (!xdr_string(xdrs, &objp->r_nc_protofmly, RPC_MAXDATASIZE)) { - return (FALSE); - } -- if (!xdr_string(xdrs, &objp->r_nc_proto, (u_int)~0)) { -+ if (!xdr_string(xdrs, &objp->r_nc_proto, RPC_MAXDATASIZE)) { - return (FALSE); - } - return (TRUE); -@@ -292,7 +293,7 @@ xdr_rpcb_rmtcallres(xdrs, p) - bool_t dummy; - struct r_rpcb_rmtcallres *objp = (struct r_rpcb_rmtcallres *)(void *)p; - -- if (!xdr_string(xdrs, &objp->addr, (u_int)~0)) { -+ if (!xdr_string(xdrs, &objp->addr, RPC_MAXDATASIZE)) { - return (FALSE); - } - if (!xdr_u_int(xdrs, &objp->results.results_len)) { -@@ -312,6 +313,11 @@ xdr_netbuf(xdrs, objp) - if (!xdr_u_int32_t(xdrs, (u_int32_t *) &objp->maxlen)) { - return (FALSE); - } -+ -+ if (objp->maxlen > RPC_MAXDATASIZE) { -+ return (FALSE); -+ } -+ - dummy = xdr_bytes(xdrs, (char **)&(objp->buf), - (u_int *)&(objp->len), objp->maxlen); - return (dummy); -diff --git a/src/rpcb_st_xdr.c b/src/rpcb_st_xdr.c -index 08db745..28e6a48 100644 ---- a/src/rpcb_st_xdr.c -+++ b/src/rpcb_st_xdr.c -@@ -37,6 +37,7 @@ - - - #include -+#include "rpc_com.h" - - /* Link list of all the stats about getport and getaddr */ - -@@ -58,7 +59,7 @@ xdr_rpcbs_addrlist(xdrs, objp) - if (!xdr_int(xdrs, &objp->failure)) { - return (FALSE); - } -- if (!xdr_string(xdrs, &objp->netid, (u_int)~0)) { -+ if (!xdr_string(xdrs, &objp->netid, RPC_MAXDATASIZE)) { - return (FALSE); - } - -@@ -109,7 +110,7 @@ xdr_rpcbs_rmtcalllist(xdrs, objp) - IXDR_PUT_INT32(buf, objp->failure); - IXDR_PUT_INT32(buf, objp->indirect); - } -- if (!xdr_string(xdrs, &objp->netid, (u_int)~0)) { -+ if (!xdr_string(xdrs, &objp->netid, RPC_MAXDATASIZE)) { - return (FALSE); - } - if (!xdr_pointer(xdrs, (char **)&objp->next, -@@ -147,7 +148,7 @@ xdr_rpcbs_rmtcalllist(xdrs, objp) - objp->failure = (int)IXDR_GET_INT32(buf); - objp->indirect = (int)IXDR_GET_INT32(buf); - } -- if (!xdr_string(xdrs, &objp->netid, (u_int)~0)) { -+ if (!xdr_string(xdrs, &objp->netid, RPC_MAXDATASIZE)) { - return (FALSE); - } - if (!xdr_pointer(xdrs, (char **)&objp->next, -@@ -175,7 +176,7 @@ xdr_rpcbs_rmtcalllist(xdrs, objp) - if (!xdr_int(xdrs, &objp->indirect)) { - return (FALSE); - } -- if (!xdr_string(xdrs, &objp->netid, (u_int)~0)) { -+ if (!xdr_string(xdrs, &objp->netid, RPC_MAXDATASIZE)) { - return (FALSE); - } - if (!xdr_pointer(xdrs, (char **)&objp->next, -diff --git a/src/xdr.c b/src/xdr.c -index f3fb9ad..b9a1558 100644 ---- a/src/xdr.c -+++ b/src/xdr.c -@@ -42,8 +42,10 @@ - #include - #include - -+#include - #include - #include -+#include - - typedef quad_t longlong_t; /* ANSI long long type */ - typedef u_quad_t u_longlong_t; /* ANSI unsigned long long type */ -@@ -53,7 +55,6 @@ typedef u_quad_t u_longlong_t; /* ANSI unsigned long long type */ - */ - #define XDR_FALSE ((long) 0) - #define XDR_TRUE ((long) 1) --#define LASTUNSIGNED ((u_int) 0-1) - - /* - * for unit alignment -@@ -629,6 +630,7 @@ xdr_bytes(xdrs, cpp, sizep, maxsize) - { - char *sp = *cpp; /* sp is the actual string pointer */ - u_int nodesize; -+ bool_t ret, allocated = FALSE; - - /* - * first deal with the length since xdr bytes are counted -@@ -652,6 +654,7 @@ xdr_bytes(xdrs, cpp, sizep, maxsize) - } - if (sp == NULL) { - *cpp = sp = mem_alloc(nodesize); -+ allocated = TRUE; - } - if (sp == NULL) { - warnx("xdr_bytes: out of memory"); -@@ -660,7 +663,14 @@ xdr_bytes(xdrs, cpp, sizep, maxsize) - /* FALLTHROUGH */ - - case XDR_ENCODE: -- return (xdr_opaque(xdrs, sp, nodesize)); -+ ret = xdr_opaque(xdrs, sp, nodesize); -+ if ((xdrs->x_op == XDR_DECODE) && (ret == FALSE)) { -+ if (allocated == TRUE) { -+ free(sp); -+ *cpp = NULL; -+ } -+ } -+ return (ret); - - case XDR_FREE: - if (sp != NULL) { -@@ -754,6 +764,7 @@ xdr_string(xdrs, cpp, maxsize) - char *sp = *cpp; /* sp is the actual string pointer */ - u_int size; - u_int nodesize; -+ bool_t ret, allocated = FALSE; - - /* - * first deal with the length since xdr strings are counted-strings -@@ -793,8 +804,10 @@ xdr_string(xdrs, cpp, maxsize) - switch (xdrs->x_op) { - - case XDR_DECODE: -- if (sp == NULL) -+ if (sp == NULL) { - *cpp = sp = mem_alloc(nodesize); -+ allocated = TRUE; -+ } - if (sp == NULL) { - warnx("xdr_string: out of memory"); - return (FALSE); -@@ -803,7 +816,14 @@ xdr_string(xdrs, cpp, maxsize) - /* FALLTHROUGH */ - - case XDR_ENCODE: -- return (xdr_opaque(xdrs, sp, size)); -+ ret = xdr_opaque(xdrs, sp, size); -+ if ((xdrs->x_op == XDR_DECODE) && (ret == FALSE)) { -+ if (allocated == TRUE) { -+ free(sp); -+ *cpp = NULL; -+ } -+ } -+ return (ret); - - case XDR_FREE: - mem_free(sp, nodesize); -@@ -823,7 +843,7 @@ xdr_wrapstring(xdrs, cpp) - XDR *xdrs; - char **cpp; - { -- return xdr_string(xdrs, cpp, LASTUNSIGNED); -+ return xdr_string(xdrs, cpp, RPC_MAXDATASIZE); - } - - /* --- -1.9.1 - diff --git a/meta/recipes-extended/libtirpc/libtirpc/libtirpc-0.2.1-fortify.patch b/meta/recipes-extended/libtirpc/libtirpc/libtirpc-0.2.1-fortify.patch deleted file mode 100644 index 4a785d3..0000000 --- a/meta/recipes-extended/libtirpc/libtirpc/libtirpc-0.2.1-fortify.patch +++ /dev/null @@ -1,26 +0,0 @@ -Fix a possible overflow (reported by _FORTIFY_SOURCE=2) - -Ported from Gentoo - -Upstream-Status: Pending - -Signed-off-by: Khem Raj - -Index: libtirpc-0.2.1/src/getrpcport.c -=================================================================== ---- libtirpc-0.2.1.orig/src/getrpcport.c -+++ libtirpc-0.2.1/src/getrpcport.c -@@ -54,11 +54,11 @@ getrpcport(host, prognum, versnum, proto - - if ((hp = gethostbyname(host)) == NULL) - return (0); -+ if (hp->h_length != sizeof(addr.sin_addr.s_addr)) -+ return (0); - memset(&addr, 0, sizeof(addr)); - addr.sin_family = AF_INET; - addr.sin_port = 0; -- if (hp->h_length > sizeof(addr)) -- hp->h_length = sizeof(addr); - memcpy(&addr.sin_addr.s_addr, hp->h_addr, (size_t)hp->h_length); - /* Inconsistent interfaces need casts! :-( */ - return (pmap_getport(&addr, (u_long)prognum, (u_long)versnum, diff --git a/meta/recipes-extended/libtirpc/libtirpc/libtirpc-1.0.2-rc3.patch b/meta/recipes-extended/libtirpc/libtirpc/libtirpc-1.0.2-rc3.patch deleted file mode 100644 index 113dabe..0000000 --- a/meta/recipes-extended/libtirpc/libtirpc/libtirpc-1.0.2-rc3.patch +++ /dev/null @@ -1,743 +0,0 @@ -Backport the 1.0.2 RC3 changes, this fixes issues with gcc7 - -Upstream-Status: Backport - -Signed-off-by: Khem Raj - -diff --git a/src/Makefile.am b/src/Makefile.am -index e4ed8aa..fba2aa4 100644 ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -24,7 +24,7 @@ libtirpc_la_SOURCES = auth_none.c auth_unix.c authunix_prot.c bindresvport.c cln - rpcb_st_xdr.c svc.c svc_auth.c svc_dg.c svc_auth_unix.c svc_auth_none.c \ - svc_auth_des.c \ - svc_generic.c svc_raw.c svc_run.c svc_simple.c svc_vc.c getpeereid.c \ -- auth_time.c auth_des.c authdes_prot.c debug.c -+ auth_time.c auth_des.c authdes_prot.c debug.c des_crypt.c des_impl.c - - ## XDR - libtirpc_la_SOURCES += xdr.c xdr_rec.c xdr_array.c xdr_float.c xdr_mem.c xdr_reference.c xdr_stdio.c xdr_sizeof.c -diff --git a/src/auth_des.c b/src/auth_des.c -index 4d3639e..af2f61f 100644 ---- a/src/auth_des.c -+++ b/src/auth_des.c -@@ -46,8 +46,8 @@ - #include - #include - #include --#undef NIS --#include -+ -+#include "nis.h" - - #if defined(LIBC_SCCS) && !defined(lint) - #endif -diff --git a/src/auth_gss.c b/src/auth_gss.c -index 9b88c38..5959893 100644 ---- a/src/auth_gss.c -+++ b/src/auth_gss.c -@@ -526,6 +526,14 @@ _rpc_gss_refresh(AUTH *auth, rpc_gss_options_ret_t *options_ret) - gr.gr_major != GSS_S_CONTINUE_NEEDED)) { - options_ret->major_status = gr.gr_major; - options_ret->minor_status = gr.gr_minor; -+ if (call_stat != RPC_SUCCESS) { -+ struct rpc_err err; -+ clnt_geterr(gd->clnt, &err); -+ LIBTIRPC_DEBUG(1, ("authgss_refresh: %s errno: %s", -+ clnt_sperrno(call_stat), strerror(err.re_errno))); -+ } else -+ gss_log_status("authgss_refresh:", -+ gr.gr_major, gr.gr_minor); - return FALSE; - } - -diff --git a/src/auth_time.c b/src/auth_time.c -index 10e58eb..7f83ab4 100644 ---- a/src/auth_time.c -+++ b/src/auth_time.c -@@ -44,8 +44,8 @@ - #include - //#include - #include --#undef NIS --#include -+ -+#include "nis.h" - - - #ifdef TESTING -diff --git a/src/des_impl.c b/src/des_impl.c -index c5b7ed6..9dbccaf 100644 ---- a/src/des_impl.c -+++ b/src/des_impl.c -@@ -6,7 +6,8 @@ - /* see to obtain a copy. */ - #include - #include --#include -+#include -+#include - - - static const uint32_t des_SPtrans[8][64] = -diff --git a/src/getpublickey.c b/src/getpublickey.c -index 764a5f9..8cf4dc2 100644 ---- a/src/getpublickey.c -+++ b/src/getpublickey.c -@@ -38,8 +38,10 @@ - #include - #include - #include -+#ifdef YP - #include - #include -+#endif - #include - #include - -diff --git a/src/nis.h b/src/nis.h -new file mode 100644 -index 0000000..588c041 ---- /dev/null -+++ b/src/nis.h -@@ -0,0 +1,70 @@ -+/* -+ * Copyright (c) 2010, Oracle America, Inc. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions are -+ * met: -+ * -+ * * Redistributions of source code must retain the above copyright -+ * notice, this list of conditions and the following disclaimer. -+ * * Redistributions in binary form must reproduce the above -+ * copyright notice, this list of conditions and the following -+ * disclaimer in the documentation and/or other materials -+ * provided with the distribution. -+ * * Neither the name of the "Oracle America, Inc." nor the names of its -+ * contributors may be used to endorse or promote products derived -+ * from this software without specific prior written permission. -+ * -+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -+ */ -+ -+#ifndef _INTERNAL_NIS_H -+#define _INTERNAL_NIS_H 1 -+ -+/* This file only contains the definition of nis_server, to be -+ able to compile libtirpc without the need to have a glibc -+ with sunrpc or a libnsl already installed. */ -+ -+#define NIS_PK_NONE 0 -+ -+struct nis_attr { -+ char *zattr_ndx; -+ struct { -+ u_int zattr_val_len; -+ char *zattr_val_val; -+ } zattr_val; -+}; -+typedef struct nis_attr nis_attr; -+ -+typedef char *nis_name; -+ -+struct endpoint { -+ char *uaddr; -+ char *family; -+ char *proto; -+}; -+typedef struct endpoint endpoint; -+ -+struct nis_server { -+ nis_name name; -+ struct { -+ u_int ep_len; -+ endpoint *ep_val; -+ } ep; -+ uint32_t key_type; -+ netobj pkey; -+}; -+typedef struct nis_server nis_server; -+ -+#endif /* ! _INTERNAL_NIS_H */ -diff --git a/src/rpc_dtablesize.c b/src/rpc_dtablesize.c -index 13d320c..3fe503a 100644 ---- a/src/rpc_dtablesize.c -+++ b/src/rpc_dtablesize.c -@@ -27,22 +27,14 @@ - */ - - #include -- - #include -- --int _rpc_dtablesize(void); /* XXX */ -+#include -+#include - - /* - * Cache the result of getdtablesize(), so we don't have to do an - * expensive system call every time. - */ --/* -- * XXX In FreeBSD 2.x, you can have the maximum number of open file -- * descriptors be greater than FD_SETSIZE (which us 256 by default). -- * -- * Since old programs tend to use this call to determine the first arg -- * for _select(), having this return > FD_SETSIZE is a Bad Idea(TM)! -- */ - int - _rpc_dtablesize(void) - { -diff --git a/src/rpc_soc.c b/src/rpc_soc.c -index 1ec7b3f..ed0892a 100644 ---- a/src/rpc_soc.c -+++ b/src/rpc_soc.c -@@ -61,8 +61,8 @@ - #include - #include - #include --#include - -+#include "nis.h" - #include "rpc_com.h" - - extern mutex_t rpcsoc_lock; -diff --git a/src/rtime.c b/src/rtime.c -index c34e0af..b642840 100644 ---- a/src/rtime.c -+++ b/src/rtime.c -@@ -46,6 +46,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -67,7 +68,8 @@ rtime(addrp, timep, timeout) - struct timeval *timeout; - { - int s; -- fd_set readfds; -+ struct pollfd fd; -+ int milliseconds; - int res; - unsigned long thetime; - struct sockaddr_in from; -@@ -94,31 +96,32 @@ rtime(addrp, timep, timeout) - addrp->sin_port = serv->s_port; - - if (type == SOCK_DGRAM) { -- res = sendto(s, (char *)&thetime, sizeof(thetime), 0, -+ res = sendto(s, (char *)&thetime, sizeof(thetime), 0, - (struct sockaddr *)addrp, sizeof(*addrp)); - if (res < 0) { - do_close(s); -- return(-1); -+ return(-1); - } -- do { -- FD_ZERO(&readfds); -- FD_SET(s, &readfds); -- res = select(_rpc_dtablesize(), &readfds, -- (fd_set *)NULL, (fd_set *)NULL, timeout); -- } while (res < 0 && errno == EINTR); -+ -+ milliseconds = (timeout->tv_sec * 1000) + (timeout->tv_usec / 1000); -+ fd.fd = s; -+ fd.events = POLLIN; -+ do -+ res = poll (&fd, 1, milliseconds); -+ while (res < 0 && errno == EINTR); - if (res <= 0) { - if (res == 0) { - errno = ETIMEDOUT; - } - do_close(s); -- return(-1); -+ return(-1); - } - fromlen = sizeof(from); -- res = recvfrom(s, (char *)&thetime, sizeof(thetime), 0, -+ res = recvfrom(s, (char *)&thetime, sizeof(thetime), 0, - (struct sockaddr *)&from, &fromlen); - do_close(s); - if (res < 0) { -- return(-1); -+ return(-1); - } - } else { - if (connect(s, (struct sockaddr *)addrp, sizeof(*addrp)) < 0) { -diff --git a/src/svc.c b/src/svc.c -index 9c41445..b59467b 100644 ---- a/src/svc.c -+++ b/src/svc.c -@@ -99,7 +99,7 @@ xprt_register (xprt) - { - __svc_xports = (SVCXPRT **) calloc (_rpc_dtablesize(), sizeof (SVCXPRT *)); - if (__svc_xports == NULL) -- return; -+ goto unlock; - } - if (sock < _rpc_dtablesize()) - { -@@ -120,14 +120,14 @@ xprt_register (xprt) - svc_pollfd[i].fd = sock; - svc_pollfd[i].events = (POLLIN | POLLPRI | - POLLRDNORM | POLLRDBAND); -- return; -+ goto unlock; - } - - new_svc_pollfd = (struct pollfd *) realloc (svc_pollfd, - sizeof (struct pollfd) - * (svc_max_pollfd + 1)); - if (new_svc_pollfd == NULL) /* Out of memory */ -- return; -+ goto unlock; - svc_pollfd = new_svc_pollfd; - ++svc_max_pollfd; - -@@ -135,6 +135,7 @@ xprt_register (xprt) - svc_pollfd[svc_max_pollfd - 1].events = (POLLIN | POLLPRI | - POLLRDNORM | POLLRDBAND); - } -+unlock: - rwlock_unlock (&svc_fd_lock); - } - -diff --git a/src/svc_auth_des.c b/src/svc_auth_des.c -index 5bc264c..2e90146 100644 ---- a/src/svc_auth_des.c -+++ b/src/svc_auth_des.c -@@ -86,13 +86,13 @@ static struct cache_entry *authdes_cache/* [AUTHDES_CACHESZ] */; - static short *authdes_lru/* [AUTHDES_CACHESZ] */; - - static void cache_init(); /* initialize the cache */ --static short cache_spot(); /* find an entry in the cache */ --static void cache_ref(/*short sid*/); /* note that sid was ref'd */ -+static short cache_spot(des_block *key, char *name, struct timeval *timestamp); /* find an entry in the cache */ -+static void cache_ref(short sid); /* note that sid was ref'd */ - --static void invalidate(); /* invalidate entry in cache */ -+static void invalidate(char *cred); /* invalidate entry in cache */ - - /* -- * cache statistics -+ * cache statistics - */ - static struct { - u_long ncachehits; /* times cache hit, and is not replay */ -diff --git a/src/svc_auth_gss.c b/src/svc_auth_gss.c -index b6aa407..bece46a 100644 ---- a/src/svc_auth_gss.c -+++ b/src/svc_auth_gss.c -@@ -129,6 +129,8 @@ struct svc_rpc_gss_data { - ((struct svc_rpc_gss_data *)(auth)->svc_ah_private) - - /* Global server credentials. */ -+static u_int _svcauth_req_time = 0; -+static gss_OID_set_desc _svcauth_oid_set = {1, GSS_C_NULL_OID }; - static gss_cred_id_t _svcauth_gss_creds; - static gss_name_t _svcauth_gss_name = GSS_C_NO_NAME; - static char * _svcauth_svc_name = NULL; -@@ -167,6 +169,7 @@ svcauth_gss_import_name(char *service) - gss_name_t name; - gss_buffer_desc namebuf; - OM_uint32 maj_stat, min_stat; -+ bool_t result; - - gss_log_debug("in svcauth_gss_import_name()"); - -@@ -181,22 +184,21 @@ svcauth_gss_import_name(char *service) - maj_stat, min_stat); - return (FALSE); - } -- if (svcauth_gss_set_svc_name(name) != TRUE) { -- gss_release_name(&min_stat, &name); -- return (FALSE); -- } -- return (TRUE); -+ result = svcauth_gss_set_svc_name(name); -+ gss_release_name(&min_stat, &name); -+ return result; - } - - static bool_t --svcauth_gss_acquire_cred(u_int req_time, gss_OID_set_desc *oid_set) -+svcauth_gss_acquire_cred(void) - { - OM_uint32 maj_stat, min_stat; - - gss_log_debug("in svcauth_gss_acquire_cred()"); - -- maj_stat = gss_acquire_cred(&min_stat, _svcauth_gss_name, req_time, -- oid_set, GSS_C_ACCEPT, -+ maj_stat = gss_acquire_cred(&min_stat, _svcauth_gss_name, -+ _svcauth_req_time, &_svcauth_oid_set, -+ GSS_C_ACCEPT, - &_svcauth_gss_creds, NULL, NULL); - - if (maj_stat != GSS_S_COMPLETE) { -@@ -300,6 +302,8 @@ svcauth_gss_accept_sec_context(struct svc_req *rqst, - NULL, - &gd->deleg); - -+ xdr_free((xdrproc_t)xdr_rpc_gss_init_args, (caddr_t)&recv_tok); -+ - if (gr->gr_major != GSS_S_COMPLETE && - gr->gr_major != GSS_S_CONTINUE_NEEDED) { - gss_log_status("svcauth_gss_accept_sec_context: accept_sec_context", -@@ -352,8 +356,11 @@ svcauth_gss_accept_sec_context(struct svc_req *rqst, - return (FALSE); - - rqst->rq_xprt->xp_verf.oa_flavor = RPCSEC_GSS; -- rqst->rq_xprt->xp_verf.oa_base = checksum.value; -+ memcpy(rqst->rq_xprt->xp_verf.oa_base, checksum.value, -+ checksum.length); - rqst->rq_xprt->xp_verf.oa_length = checksum.length; -+ -+ gss_release_buffer(&min_stat, &checksum); - } - return (TRUE); - } -@@ -435,10 +442,13 @@ svcauth_gss_nextverf(struct svc_req *rqst, u_int num) - maj_stat, min_stat); - return (FALSE); - } -+ - rqst->rq_xprt->xp_verf.oa_flavor = RPCSEC_GSS; -- rqst->rq_xprt->xp_verf.oa_base = (caddr_t)checksum.value; -+ memcpy(rqst->rq_xprt->xp_verf.oa_base, checksum.value, checksum.length); - rqst->rq_xprt->xp_verf.oa_length = (u_int)checksum.length; - -+ gss_release_buffer(&min_stat, &checksum); -+ - return (TRUE); - } - -@@ -568,6 +578,8 @@ _svcauth_gss(struct svc_req *rqst, struct rpc_msg *msg, bool_t *no_dispatch) - gss_qop_t qop; - struct svcauth_gss_cache_entry **ce; - time_t now; -+ enum auth_stat result = AUTH_OK; -+ OM_uint32 min_stat; - - gss_log_debug("in svcauth_gss()"); - -@@ -621,19 +633,25 @@ _svcauth_gss(struct svc_req *rqst, struct rpc_msg *msg, bool_t *no_dispatch) - XDR_DESTROY(&xdrs); - - /* Check version. */ -- if (gc->gc_v != RPCSEC_GSS_VERSION) -- return (AUTH_BADCRED); -+ if (gc->gc_v != RPCSEC_GSS_VERSION) { -+ result = AUTH_BADCRED; -+ goto out; -+ } - - /* Check RPCSEC_GSS service. */ - if (gc->gc_svc != RPCSEC_GSS_SVC_NONE && - gc->gc_svc != RPCSEC_GSS_SVC_INTEGRITY && -- gc->gc_svc != RPCSEC_GSS_SVC_PRIVACY) -- return (AUTH_BADCRED); -+ gc->gc_svc != RPCSEC_GSS_SVC_PRIVACY) { -+ result = AUTH_BADCRED; -+ goto out; -+ } - - /* Check sequence number. */ - if (gd->established) { -- if (gc->gc_seq > MAXSEQ) -- return (RPCSEC_GSS_CTXPROBLEM); -+ if (gc->gc_seq > MAXSEQ) { -+ result = RPCSEC_GSS_CTXPROBLEM; -+ goto out; -+ } - - if ((offset = gd->seqlast - gc->gc_seq) < 0) { - gd->seqlast = gc->gc_seq; -@@ -643,7 +661,8 @@ _svcauth_gss(struct svc_req *rqst, struct rpc_msg *msg, bool_t *no_dispatch) - } - else if (offset >= gd->win || (gd->seqmask & (1 << offset))) { - *no_dispatch = 1; -- return (RPCSEC_GSS_CTXPROBLEM); -+ result = RPCSEC_GSS_CTXPROBLEM; -+ goto out; - } - gd->seq = gc->gc_seq; - gd->seqmask |= (1 << offset); -@@ -654,35 +673,52 @@ _svcauth_gss(struct svc_req *rqst, struct rpc_msg *msg, bool_t *no_dispatch) - rqst->rq_svcname = (char *)gd->ctx; - } - -+ rqst->rq_xprt->xp_verf.oa_base = msg->rm_call.cb_verf.oa_base; -+ - /* Handle RPCSEC_GSS control procedure. */ - switch (gc->gc_proc) { - - case RPCSEC_GSS_INIT: - case RPCSEC_GSS_CONTINUE_INIT: -- if (rqst->rq_proc != NULLPROC) -- return (AUTH_FAILED); /* XXX ? */ -+ if (rqst->rq_proc != NULLPROC) { -+ result = AUTH_FAILED; /* XXX ? */ -+ break; -+ } - - if (_svcauth_gss_name == GSS_C_NO_NAME) { -- if (!svcauth_gss_import_name("nfs")) -- return (AUTH_FAILED); -+ if (!svcauth_gss_import_name("nfs")) { -+ result = AUTH_FAILED; -+ break; -+ } - } - -- if (!svcauth_gss_acquire_cred(0, GSS_C_NULL_OID_SET)) -- return (AUTH_FAILED); -+ if (!svcauth_gss_acquire_cred()) { -+ result = AUTH_FAILED; -+ break; -+ } - -- if (!svcauth_gss_accept_sec_context(rqst, &gr)) -- return (AUTH_REJECTEDCRED); -+ if (!svcauth_gss_accept_sec_context(rqst, &gr)) { -+ result = AUTH_REJECTEDCRED; -+ break; -+ } - -- if (!svcauth_gss_nextverf(rqst, htonl(gr.gr_win))) -- return (AUTH_FAILED); -+ if (!svcauth_gss_nextverf(rqst, htonl(gr.gr_win))) { -+ result = AUTH_FAILED; -+ break; -+ } - - *no_dispatch = TRUE; - - call_stat = svc_sendreply(rqst->rq_xprt, - (xdrproc_t)xdr_rpc_gss_init_res, (caddr_t)&gr); - -- if (!call_stat) -- return (AUTH_FAILED); -+ gss_release_buffer(&min_stat, &gr.gr_token); -+ free(gr.gr_ctx.value); -+ -+ if (!call_stat) { -+ result = AUTH_FAILED; -+ break; -+ } - - if (gr.gr_major == GSS_S_COMPLETE) - gd->established = TRUE; -@@ -690,27 +726,37 @@ _svcauth_gss(struct svc_req *rqst, struct rpc_msg *msg, bool_t *no_dispatch) - break; - - case RPCSEC_GSS_DATA: -- if (!svcauth_gss_validate(gd, msg, &qop)) -- return (RPCSEC_GSS_CREDPROBLEM); -+ if (!svcauth_gss_validate(gd, msg, &qop)) { -+ result = RPCSEC_GSS_CREDPROBLEM; -+ break; -+ } - -- if (!svcauth_gss_nextverf(rqst, htonl(gc->gc_seq))) -- return (AUTH_FAILED); -+ if (!svcauth_gss_nextverf(rqst, htonl(gc->gc_seq))) { -+ result = AUTH_FAILED; -+ break; -+ } - - if (!gd->callback_done) { - gd->callback_done = TRUE; - gd->sec.qop = qop; - (void)rpc_gss_num_to_qop(gd->rcred.mechanism, - gd->sec.qop, &gd->rcred.qop); -- if (!svcauth_gss_callback(rqst, gd)) -- return (AUTH_REJECTEDCRED); -+ if (!svcauth_gss_callback(rqst, gd)) { -+ result = AUTH_REJECTEDCRED; -+ break; -+ } - } - - if (gd->locked) { - if (gd->rcred.service != -- _rpc_gss_svc_to_service(gc->gc_svc)) -- return (AUTH_FAILED); -- if (gd->sec.qop != qop) -- return (AUTH_BADVERF); -+ _rpc_gss_svc_to_service(gc->gc_svc)) { -+ result = AUTH_FAILED; -+ break; -+ } -+ if (gd->sec.qop != qop) { -+ result = AUTH_BADVERF; -+ break; -+ } - } - - if (gd->sec.qop != qop) { -@@ -724,17 +770,25 @@ _svcauth_gss(struct svc_req *rqst, struct rpc_msg *msg, bool_t *no_dispatch) - break; - - case RPCSEC_GSS_DESTROY: -- if (rqst->rq_proc != NULLPROC) -- return (AUTH_FAILED); /* XXX ? */ -+ if (rqst->rq_proc != NULLPROC) { -+ result = AUTH_FAILED; /* XXX ? */ -+ break; -+ } - -- if (!svcauth_gss_validate(gd, msg, &qop)) -- return (RPCSEC_GSS_CREDPROBLEM); -+ if (!svcauth_gss_validate(gd, msg, &qop)) { -+ result = RPCSEC_GSS_CREDPROBLEM; -+ break; -+ } - -- if (!svcauth_gss_nextverf(rqst, htonl(gc->gc_seq))) -- return (AUTH_FAILED); -+ if (!svcauth_gss_nextverf(rqst, htonl(gc->gc_seq))) { -+ result = AUTH_FAILED; -+ break; -+ } - -- if (!svcauth_gss_release_cred()) -- return (AUTH_FAILED); -+ if (!svcauth_gss_release_cred()) { -+ result = AUTH_FAILED; -+ break; -+ } - - SVCAUTH_DESTROY(&SVC_XP_AUTH(rqst->rq_xprt)); - SVC_XP_AUTH(rqst->rq_xprt).svc_ah_ops = svc_auth_none.svc_ah_ops; -@@ -743,10 +797,12 @@ _svcauth_gss(struct svc_req *rqst, struct rpc_msg *msg, bool_t *no_dispatch) - break; - - default: -- return (AUTH_REJECTEDCRED); -+ result = AUTH_REJECTEDCRED; - break; - } -- return (AUTH_OK); -+out: -+ xdr_free((xdrproc_t)xdr_rpc_gss_cred, (caddr_t)gc); -+ return result; - } - - static bool_t -@@ -890,7 +946,6 @@ bool_t - rpc_gss_set_svc_name(char *principal, char *mechanism, u_int req_time, - u_int UNUSED(program), u_int UNUSED(version)) - { -- gss_OID_set_desc oid_set; - rpc_gss_OID oid; - char *save; - -@@ -902,14 +957,13 @@ rpc_gss_set_svc_name(char *principal, char *mechanism, u_int req_time, - - if (!rpc_gss_mech_to_oid(mechanism, &oid)) - goto out_err; -- oid_set.count = 1; -- oid_set.elements = (gss_OID)oid; - - if (!svcauth_gss_import_name(principal)) - goto out_err; -- if (!svcauth_gss_acquire_cred(req_time, &oid_set)) -- goto out_err; - -+ _svcauth_req_time = req_time; -+ _svcauth_oid_set.count = 1; -+ _svcauth_oid_set.elements = (gss_OID)oid; - free(_svcauth_svc_name); - _svcauth_svc_name = save; - return TRUE; -diff --git a/src/svc_vc.c b/src/svc_vc.c -index 6ae613d..97a76a3 100644 ---- a/src/svc_vc.c -+++ b/src/svc_vc.c -@@ -270,14 +270,8 @@ makefd_xprt(fd, sendsize, recvsize) - struct cf_conn *cd; - const char *netid; - struct __rpc_sockinfo si; -- -- assert(fd != -1); - -- if (fd >= FD_SETSIZE) { -- warnx("svc_vc: makefd_xprt: fd too high\n"); -- xprt = NULL; -- goto done; -- } -+ assert(fd != -1); - - xprt = mem_alloc(sizeof(SVCXPRT)); - if (xprt == NULL) { -@@ -338,22 +332,10 @@ rendezvous_request(xprt, msg) - r = (struct cf_rendezvous *)xprt->xp_p1; - again: - len = sizeof addr; -- if ((sock = accept(xprt->xp_fd, (struct sockaddr *)(void *)&addr, -- &len)) < 0) { -+ sock = accept(xprt->xp_fd, (struct sockaddr *)(void *)&addr, &len); -+ if (sock < 0) { - if (errno == EINTR) - goto again; -- -- if (errno == EMFILE || errno == ENFILE) { -- /* If there are no file descriptors available, then accept will fail. -- We want to delay here so the connection request can be dequeued; -- otherwise we can bounce between polling and accepting, never -- giving the request a chance to dequeue and eating an enormous -- amount of cpu time in svc_run if we're polling on many file -- descriptors. */ -- struct timespec ts = { .tv_sec = 0, .tv_nsec = 50000000 }; -- nanosleep (&ts, NULL); -- goto again; -- } - return (FALSE); - } - /* -diff --git a/tirpc/rpc/des.h b/tirpc/rpc/des.h -index d2881ad..018aa48 100644 ---- a/tirpc/rpc/des.h -+++ b/tirpc/rpc/des.h -@@ -82,6 +82,6 @@ struct desparams { - /* - * Software DES. - */ --extern int _des_crypt( char *, int, struct desparams * ); -+extern int _des_crypt( char *, unsigned, struct desparams * ); - - #endif -diff --git a/tirpc/rpc/rpcent.h b/tirpc/rpc/rpcent.h -index 147f909..e07503c 100644 ---- a/tirpc/rpc/rpcent.h -+++ b/tirpc/rpc/rpcent.h -@@ -60,10 +60,11 @@ struct rpcent { - extern struct rpcent *getrpcbyname(const char *); - extern struct rpcent *getrpcbynumber(int); - extern struct rpcent *getrpcent(void); --#endif - - extern void setrpcent(int); - extern void endrpcent(void); -+#endif -+ - #ifdef __cplusplus - } - #endif diff --git a/meta/recipes-extended/libtirpc/libtirpc_1.0.1.bb b/meta/recipes-extended/libtirpc/libtirpc_1.0.2.bb similarity index 81% rename from meta/recipes-extended/libtirpc/libtirpc_1.0.1.bb rename to meta/recipes-extended/libtirpc/libtirpc_1.0.2.bb index 7be8e10..f9718c5 100644 --- a/meta/recipes-extended/libtirpc/libtirpc_1.0.1.bb +++ b/meta/recipes-extended/libtirpc/libtirpc_1.0.2.bb @@ -11,20 +11,17 @@ PROVIDES = "virtual/librpc" SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.bz2;name=libtirpc \ ${GENTOO_MIRROR}/${BPN}-glibc-nfs.tar.xz;name=glibc-nfs \ - file://libtirpc-1.0.2-rc3.patch \ - file://libtirpc-0.2.1-fortify.patch \ file://export_key_secretkey_is_set.patch \ file://0001-replace-__bzero-with-memset-API.patch \ file://0001-include-stdint.h-for-uintptr_t.patch \ - file://0001-Fix-for-CVE-2017-8779.patch \ " SRC_URI_append_libc-musl = " \ file://Use-netbsd-queue.h.patch \ " -SRC_URI[libtirpc.md5sum] = "36ce1c0ff80863bb0839d54aa0b94014" -SRC_URI[libtirpc.sha256sum] = "5156974f31be7ccbc8ab1de37c4739af6d9d42c87b1d5caf4835dda75fcbb89e" +SRC_URI[libtirpc.md5sum] = "d5a37f1dccec484f9cabe2b97e54e9a6" +SRC_URI[libtirpc.sha256sum] = "723c5ce92706cbb601a8db09110df1b4b69391643158f20ff587e20e7c5f90f5" SRC_URI[glibc-nfs.md5sum] = "5ae500b9d0b6b72cb875bc04944b9445" SRC_URI[glibc-nfs.sha256sum] = "2677cfedf626f3f5a8f6e507aed5bb8f79a7453b589d684dbbc086e755170d83" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 21:52:54 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 21:52:54 +0000 Subject: [oe-commits] [openembedded-core] 19/25: libsolv: upgrade to 0.6.28 In-Reply-To: <150067395520.18047.11295446703197525033@git.openembedded.org> References: <150067395520.18047.11295446703197525033@git.openembedded.org> Message-ID: <20170721215236.0B5BC232840@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit dd4c896a3248176c8d992a829d10e2ab135f6522 Author: Maxin B. John AuthorDate: Wed Jul 19 18:01:21 2017 +0300 libsolv: upgrade to 0.6.28 0.6.27 -> 0.6.28 Signed-off-by: Maxin B. John Signed-off-by: Ross Burton --- meta/recipes-extended/libsolv/{libsolv_0.6.27.bb => libsolv_0.6.28.bb} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-extended/libsolv/libsolv_0.6.27.bb b/meta/recipes-extended/libsolv/libsolv_0.6.28.bb similarity index 95% rename from meta/recipes-extended/libsolv/libsolv_0.6.27.bb rename to meta/recipes-extended/libsolv/libsolv_0.6.28.bb index 7ddd533..3a48f22 100644 --- a/meta/recipes-extended/libsolv/libsolv_0.6.27.bb +++ b/meta/recipes-extended/libsolv/libsolv_0.6.28.bb @@ -13,7 +13,7 @@ SRC_URI_append_libc-musl = " file://0001-Add-fallback-fopencookie-implementation file://0002-Fixes-to-internal-fopencookie-implementation.patch \ " -SRCREV = "9fa1535e2fc60609c29633925e692603782b477b" +SRCREV = "b8a9ddd88eb4e0ab351eb55a53186b5dc5ac0825" UPSTREAM_CHECK_GITTAGREGEX = "(?P\d+(\.\d+)+)" S = "${WORKDIR}/git" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 21:52:55 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 21:52:55 +0000 Subject: [oe-commits] [openembedded-core] 20/25: orc: upgrade to 0.4.27 In-Reply-To: <150067395520.18047.11295446703197525033@git.openembedded.org> References: <150067395520.18047.11295446703197525033@git.openembedded.org> Message-ID: <20170721215236.13231232841@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit d852730365183f835d4c580775f2393822d60b86 Author: Maxin B. John AuthorDate: Wed Jul 19 18:01:22 2017 +0300 orc: upgrade to 0.4.27 0.4.26 -> 0.4.27 Signed-off-by: Maxin B. John Signed-off-by: Ross Burton --- meta/recipes-devtools/orc/{orc_0.4.26.bb => orc_0.4.27.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-devtools/orc/orc_0.4.26.bb b/meta/recipes-devtools/orc/orc_0.4.27.bb similarity index 84% rename from meta/recipes-devtools/orc/orc_0.4.26.bb rename to meta/recipes-devtools/orc/orc_0.4.27.bb index e47342f..303f991 100644 --- a/meta/recipes-devtools/orc/orc_0.4.26.bb +++ b/meta/recipes-devtools/orc/orc_0.4.27.bb @@ -5,8 +5,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=1400bd9d09e8af56b9ec982b3d85797e" SRC_URI = "http://gstreamer.freedesktop.org/src/orc/orc-${PV}.tar.xz" -SRC_URI[md5sum] = "8e9bef677bae289d3324d81c337a4507" -SRC_URI[sha256sum] = "7d52fa80ef84988359c3434e1eea302d077a08987abdde6905678ebcad4fa649" +SRC_URI[md5sum] = "5837dc20dacb5b668935bbded10cbb61" +SRC_URI[sha256sum] = "51e53e58fc8158e5986a1f1a49a6d970c5b16493841cf7b9de2c2bde7ce36b93" inherit autotools pkgconfig gtk-doc -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 21:52:59 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 21:52:59 +0000 Subject: [oe-commits] [openembedded-core] 24/25: python3-git: upgrade to 2.1.5 In-Reply-To: <150067395520.18047.11295446703197525033@git.openembedded.org> References: <150067395520.18047.11295446703197525033@git.openembedded.org> Message-ID: <20170721215236.3759F23282E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 0b48514d1d26d234c158a4b72087a67d2478362a Author: Jose Lamego AuthorDate: Wed Jul 19 11:50:02 2017 -0500 python3-git: upgrade to 2.1.5 python3-git needs to be upgraded to latest upstream version. "git" is added as RDEPENDS. These changes were tested using qemux86 with core-image-minimal. Signed-off-by: Jose Lamego Signed-off-by: Ross Burton --- meta/recipes-devtools/python/python-git.inc | 4 ++-- .../python/{python3-git_2.1.3.bb => python3-git_2.1.5.bb} | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/meta/recipes-devtools/python/python-git.inc b/meta/recipes-devtools/python/python-git.inc index 825e795d9..777608c 100644 --- a/meta/recipes-devtools/python/python-git.inc +++ b/meta/recipes-devtools/python/python-git.inc @@ -10,8 +10,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=8b8d26c37c1d5a04f9b0186edbebc183" SRC_URI = "https://files.pythonhosted.org/packages/source/G/GitPython/GitPython-${PV}.tar.gz" -SRC_URI[md5sum] = "6cd18008c03a767740f3bf6d89ef79bc" -SRC_URI[sha256sum] = "3826185b11e1fc372e7d31251e9b65e11ccb7c27f82c771d619048bdb5b66c81" +SRC_URI[md5sum] = "df94212b19d270a625b67b4c84ac9a41" +SRC_URI[sha256sum] = "5c00cbd256e2b1d039381d4f7d71fcb7ee5cc196ca10c101ff7191bd82ab5d9c" UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/GitPython/" UPSTREAM_CHECK_REGEX = "/GitPython/(?P(\d+[\.\-_]*)+)" diff --git a/meta/recipes-devtools/python/python3-git_2.1.3.bb b/meta/recipes-devtools/python/python3-git_2.1.5.bb similarity index 81% rename from meta/recipes-devtools/python/python3-git_2.1.3.bb rename to meta/recipes-devtools/python/python3-git_2.1.5.bb index 7a2d452..4ac2a0e 100644 --- a/meta/recipes-devtools/python/python3-git_2.1.3.bb +++ b/meta/recipes-devtools/python/python3-git_2.1.5.bb @@ -4,4 +4,4 @@ DEPENDS = "python3-gitdb" inherit setuptools3 -RDEPENDS_${PN} += "python3-gitdb python3-lang python3-io python3-shell python3-math python3-re python3-subprocess python3-stringold python3-unixadmin python3-enum python3-logging python3-datetime python3-netclient python3-unittest python3-argparse" +RDEPENDS_${PN} += "python3-gitdb python3-lang python3-io python3-shell python3-math python3-re python3-subprocess python3-stringold python3-unixadmin python3-enum python3-logging python3-datetime python3-netclient python3-unittest python3-argparse git" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 21:53:00 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 21:53:00 +0000 Subject: [oe-commits] [openembedded-core] 25/25: bluez5: upgrade to 5.46 In-Reply-To: <150067395520.18047.11295446703197525033@git.openembedded.org> References: <150067395520.18047.11295446703197525033@git.openembedded.org> Message-ID: <20170721215236.3DC8D232831@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 514e9be6b00cd39bb8b2eaf117125109fba17910 Author: Maxin B. John AuthorDate: Thu Jul 20 15:22:35 2017 +0300 bluez5: upgrade to 5.46 5.45 -> 5.46 This includes the new testing utility "advtest" Signed-off-by: Maxin B. John Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- meta/recipes-connectivity/bluez5/{bluez5_5.45.bb => bluez5_5.46.bb} | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/meta/recipes-connectivity/bluez5/bluez5_5.45.bb b/meta/recipes-connectivity/bluez5/bluez5_5.46.bb similarity index 90% rename from meta/recipes-connectivity/bluez5/bluez5_5.45.bb rename to meta/recipes-connectivity/bluez5/bluez5_5.46.bb index d5f516c..e1f8587 100644 --- a/meta/recipes-connectivity/bluez5/bluez5_5.45.bb +++ b/meta/recipes-connectivity/bluez5/bluez5_5.46.bb @@ -2,8 +2,8 @@ require bluez5.inc REQUIRED_DISTRO_FEATURES = "bluez5" -SRC_URI[md5sum] = "20d936917afc7e1ffa091f5213081c55" -SRC_URI[sha256sum] = "4cacb00703a6bc149cb09502257d321597d43952374a16f3558766ffa85364e9" +SRC_URI[md5sum] = "913f35d6fa4ca5772c53adb936bf1947" +SRC_URI[sha256sum] = "ddab3d3837c1afb8ae228a94ba17709a4650bd4db24211b6771ab735c8908e28" # noinst programs in Makefile.tools that are conditional on READLINE # support @@ -54,6 +54,7 @@ NOINST_TOOLS_BT ?= " \ tools/mcaptest \ tools/cltest \ tools/oobtest \ + tools/advtest \ tools/seq2bseq \ tools/nokfw \ tools/create-image \ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 21:52:53 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 21:52:53 +0000 Subject: [oe-commits] [openembedded-core] 18/25: libjpeg-turbo: upgrade to 1.5.2 In-Reply-To: <150067395520.18047.11295446703197525033@git.openembedded.org> References: <150067395520.18047.11295446703197525033@git.openembedded.org> Message-ID: <20170721215236.04ACB23283F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 5b3c92af0cc7f12313d2e7ac02dc68f8e01b76a1 Author: Maxin B. John AuthorDate: Wed Jul 19 18:01:20 2017 +0300 libjpeg-turbo: upgrade to 1.5.2 1.5.1 -> 1.5.2 Remove this backported patch: 1. fix-mips.patch Signed-off-by: Maxin B. John Signed-off-by: Ross Burton --- .../jpeg/libjpeg-turbo/fix-mips.patch | 45 ---------------------- ...bjpeg-turbo_1.5.1.bb => libjpeg-turbo_1.5.2.bb} | 8 ++-- 2 files changed, 4 insertions(+), 49 deletions(-) diff --git a/meta/recipes-graphics/jpeg/libjpeg-turbo/fix-mips.patch b/meta/recipes-graphics/jpeg/libjpeg-turbo/fix-mips.patch deleted file mode 100644 index 4d41237..0000000 --- a/meta/recipes-graphics/jpeg/libjpeg-turbo/fix-mips.patch +++ /dev/null @@ -1,45 +0,0 @@ -Fix a regression that causes the MIPS code from building. - -Upstream-Status: Backport -Signed-off-by: Ross Burton - -From 7bfb22af123ac10798a9a4c9ec7b23e5065db35e Mon Sep 17 00:00:00 2001 -From: DRC -Date: Mon, 26 Sep 2016 17:59:14 -0500 -Subject: [PATCH] Fix broken MIPS build - -Regression introduced by 9055fb408dcb585ce9392d395e16630d51002152 - -Fixes #104 ---- - ChangeLog.md | 3 +++ - simd/jsimd_mips.c | 2 ++ - 2 files changed, 5 insertions(+) - -diff --git a/ChangeLog.md b/ChangeLog.md -index e2b9df3..71ddcaa 100644 ---- a/ChangeLog.md -+++ b/ChangeLog.md -@@ -6,6 +6,9 @@ - 1. Fixed a regression introduced by 1.5.1[7] that prevented libjpeg-turbo from - building with Android NDK platforms prior to android-21 (5.0). - -+2. Fixed a regression introduced by 1.5.1[1] that prevented the MIPS DSPR2 SIMD -+code in libjpeg-turbo from building. -+ - - 1.5.1 - ===== -diff --git a/simd/jsimd_mips.c b/simd/jsimd_mips.c -index 63b8115..02e90cd 100644 ---- a/simd/jsimd_mips.c -+++ b/simd/jsimd_mips.c -@@ -63,6 +63,8 @@ parse_proc_cpuinfo(const char* search_string) - LOCAL(void) - init_simd (void) - { -+ char *env = NULL; -+ - if (simd_support != ~0U) - return; - diff --git a/meta/recipes-graphics/jpeg/libjpeg-turbo_1.5.1.bb b/meta/recipes-graphics/jpeg/libjpeg-turbo_1.5.2.bb similarity index 90% rename from meta/recipes-graphics/jpeg/libjpeg-turbo_1.5.1.bb rename to meta/recipes-graphics/jpeg/libjpeg-turbo_1.5.2.bb index de2eeaf..58646d3 100644 --- a/meta/recipes-graphics/jpeg/libjpeg-turbo_1.5.1.bb +++ b/meta/recipes-graphics/jpeg/libjpeg-turbo_1.5.2.bb @@ -10,10 +10,10 @@ LIC_FILES_CHKSUM = "file://cdjpeg.h;endline=13;md5=05bab7c7ad899d85bfba60da1a127 DEPENDS_append_x86-64_class-target = " nasm-native" DEPENDS_append_x86_class-target = " nasm-native" -SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \ - file://fix-mips.patch" -SRC_URI[md5sum] = "55deb139b0cac3c8200b75d485fc13f3" -SRC_URI[sha256sum] = "41429d3d253017433f66e3d472b8c7d998491d2f41caa7306b8d9a6f2a2c666c" +SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz" + +SRC_URI[md5sum] = "6b4923e297a7eaa255f08511017a8818" +SRC_URI[sha256sum] = "9098943b270388727ae61de82adec73cf9f0dbb240b3bc8b172595ebf405b528" UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/libjpeg-turbo/files/" UPSTREAM_CHECK_REGEX = "/libjpeg-turbo/files/(?P(\d+[\.\-_]*)+)/" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 21:53:37 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 21:53:37 +0000 Subject: [oe-commits] [openembedded-core] branch master-next updated (8ad0458 -> 514e9be) Message-ID: <150067401782.19153.16819183697839649122@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master-next in repository openembedded-core. discard 8ad0458 bluez5: upgrade to 5.46 discard 70c0d99 python3-git: upgrade to 2.1.5 discard 7642a7b python3-mako: update to 1.0.7 discard c26b3c6 libtirpc: upgrade to 1.0.2 discard a006f77 sqlite3: upgrade to 3.19.3 discard 5b77202 orc: upgrade to 0.4.27 discard e4cc6b9 libsolv: upgrade to 0.6.28 discard e069ac3 libjpeg-turbo: upgrade to 1.5.2 discard 8307aff screen: 4.5.1 -> 4.6.0 discard 3ef6950 base.bbclass: Make .jar file depend on unzip-native discard 4b65999 systemd-bootchart: Fix build with glibc 2.26 discard 1d70930 acl: reduce local pending patches discard 787476b at: reduce local pending patches discard d646a4e vulkan-demos: Rename ${bindir}/screenshot discard a9213ba mesa: Upgrade to 17.1.5 release discard c9ba544 oe-selftest: wic: add test_mkfs_extraopts test case discard ccb98b1 wic: add description of --mkfs-extraopts discard 370ea8c wic: implement wks option --mkfs-extraopts discard 31428ba pkgconfig: allow kernel to be build with esdk discard 3c4451e populate_sdk_ext: Add variable to indicate running in eSDK discard 255423e icecc.bbclass: prevent nativesdk builds depending on target specific KERNEL_CC discard a6ac030 licenses.conf: enable CDDLv1 license discard e76636d initscripts: start bootmisc.sh at 36 instead of 55 discard 1959cbb logrotate: Add systemd support discard 35f93dc logrotate: Bump to 3.12.3 discard d055aa6 initramfs-framework: include install-efi module in recipe for installation discard 430194a initramfs-framework: module to support boot live image add 72490b7 logrotate: Bump to 3.12.3 add b942d0b logrotate: Add systemd support add a0f6508 initscripts: start bootmisc.sh at 36 instead of 55 add 0dd9db2 licenses.conf: enable CDDLv1 license add aef5d60 icecc.bbclass: prevent nativesdk builds depending on target specific KERNEL_CC add ebdd9b5 populate_sdk_ext: Add variable to indicate running in eSDK add 0954452 pkgconfig: allow kernel to be build with esdk add 67b7c67 wic: implement wks option --mkfs-extraopts add 69c95f7 wic: add description of --mkfs-extraopts add 79e853c oe-selftest: wic: add test_mkfs_extraopts test case add 6e23b95 mesa: Upgrade to 17.1.5 release add 2cd6ef9 vulkan-demos: Rename ${bindir}/screenshot add 07d37b0 at: reduce local pending patches add e35a14b acl: reduce local pending patches add 4fdc784 systemd-bootchart: Fix build with glibc 2.26 add 96665f8 base.bbclass: Make .jar file depend on unzip-native add 422cfb9 screen: 4.5.1 -> 4.6.0 add 5b3c92a libjpeg-turbo: upgrade to 1.5.2 add dd4c896 libsolv: upgrade to 0.6.28 add d852730 orc: upgrade to 0.4.27 add 2635067 sqlite3: upgrade to 3.19.3 add 351a629 libtirpc: upgrade to 1.0.2 add 1a2bb95 python3-mako: update to 1.0.7 add 0b48514 python3-git: upgrade to 2.1.5 add 514e9be bluez5: upgrade to 5.46 This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (8ad0458) \ N -- N -- N refs/heads/master-next (514e9be) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. No new revisions were added by this update. Summary of changes: .../initramfs-framework/install-efi.sh | 276 --------------------- .../initrdscripts/initramfs-framework/setup-live | 66 ----- .../initrdscripts/initramfs-framework_1.0.bb | 22 +- 3 files changed, 2 insertions(+), 362 deletions(-) delete mode 100644 meta/recipes-core/initrdscripts/initramfs-framework/install-efi.sh delete mode 100644 meta/recipes-core/initrdscripts/initramfs-framework/setup-live -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Fri Jul 21 21:54:12 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Fri, 21 Jul 2017 21:54:12 +0000 Subject: [oe-commits] [bitbake] branch master-next updated (c75990a -> 6fa0775) Message-ID: <150067405261.19767.17371943958528258271@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master-next in repository bitbake. discard c75990a bb/tinfoil: run_command handle busy status in bitbake server This update removed existing revisions from the reference, leaving the reference pointing at a previous point in the repository history. * -- * -- N refs/heads/master-next (6fa0775) \ O -- O -- O (c75990a) Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. No new revisions were added by this update. Summary of changes: lib/bb/tinfoil.py | 24 +++++------------------- 1 file changed, 5 insertions(+), 19 deletions(-) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 07:20:47 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 07:20:47 +0000 Subject: [oe-commits] [openembedded-core] 01/43: patchelf: change patch status In-Reply-To: <150070804626.9065.8463727520566698688@git.openembedded.org> References: <150070804626.9065.8463727520566698688@git.openembedded.org> Message-ID: <20170722072046.82D2C23282E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 4e9b1e9798e7b12664d4afc611e430a988b6b1ca Author: Ed Bartosh AuthorDate: Fri Jul 21 14:54:19 2017 +0300 patchelf: change patch status The patch has been accepted upstream. Changed patch status Pending -> Accepted. Signed-off-by: Ed Bartosh Signed-off-by: Richard Purdie --- meta/recipes-devtools/patchelf/patchelf/avoidholes.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-devtools/patchelf/patchelf/avoidholes.patch b/meta/recipes-devtools/patchelf/patchelf/avoidholes.patch index a273688..0b45c39 100644 --- a/meta/recipes-devtools/patchelf/patchelf/avoidholes.patch +++ b/meta/recipes-devtools/patchelf/patchelf/avoidholes.patch @@ -31,7 +31,7 @@ was good, the implementation wasn't correct and they've been rewritten here. RP 2017/3/7 -Upstream-Status: Pending +Upstream-Status: Accepted Index: patchelf-0.9/src/patchelf.cc =================================================================== -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 07:20:50 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 07:20:50 +0000 Subject: [oe-commits] [openembedded-core] 04/43: wic: use absolute paths in rootfs plugin In-Reply-To: <150070804626.9065.8463727520566698688@git.openembedded.org> References: <150070804626.9065.8463727520566698688@git.openembedded.org> Message-ID: <20170722072046.9A9F9232831@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 874ce743f2da38d7655fc136bb3adb9cb0cf875c Author: Ed Bartosh AuthorDate: Tue Jun 20 12:36:01 2017 +0300 wic: use absolute paths in rootfs plugin Using relative paths can cause copyhardlinktree API to fail as it changes current directory when working. Converted all paths to absolute paths using os.path.realpath. Signed-off-by: Ed Bartosh --- scripts/lib/wic/plugins/source/rootfs.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/lib/wic/plugins/source/rootfs.py b/scripts/lib/wic/plugins/source/rootfs.py index 4dc4cb8..c08f760 100644 --- a/scripts/lib/wic/plugins/source/rootfs.py +++ b/scripts/lib/wic/plugins/source/rootfs.py @@ -48,7 +48,7 @@ class RootfsPlugin(SourcePlugin): @staticmethod def __get_rootfs_dir(rootfs_dir): if os.path.isdir(rootfs_dir): - return rootfs_dir + return os.path.realpath(rootfs_dir) image_rootfs_dir = get_bitbake_var("IMAGE_ROOTFS", rootfs_dir) if not os.path.isdir(image_rootfs_dir): @@ -56,7 +56,7 @@ class RootfsPlugin(SourcePlugin): "named %s has been found at %s, exiting." % (rootfs_dir, image_rootfs_dir)) - return image_rootfs_dir + return os.path.realpath(image_rootfs_dir) @classmethod def do_prepare_partition(cls, part, source_params, cr, cr_workdir, -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 07:20:48 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 07:20:48 +0000 Subject: [oe-commits] [openembedded-core] 02/43: patchelf: fix segfault for binaries linked by gold In-Reply-To: <150070804626.9065.8463727520566698688@git.openembedded.org> References: <150070804626.9065.8463727520566698688@git.openembedded.org> Message-ID: <20170722072046.8D85E23282F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 4e4c96db4b1d2356b5d071cee6746a96eca20439 Author: Ed Bartosh AuthorDate: Fri Jul 21 14:48:13 2017 +0300 patchelf: fix segfault for binaries linked by gold Due to a bug in calculating adresses of modified program headers patchelf breaks executables linked by Gold linker causing them to segfault, e.g. $ tmp/sysroots-components/x86_64/m4-native/usr/bin/m4 --help Segmentation fault This is reproducible only in some cases and only for executables of ET_DYN type produced by Gold or by ld linked with pie. This should be solved by fix-adjusting-startPage.patch that fixes calculation logic. [YOCTO #11785] Signed-off-by: Ed Bartosh Signed-off-by: Richard Purdie --- .../patchelf/fix-adjusting-startPage.patch | 38 ++++++++++++++++++++++ meta/recipes-devtools/patchelf/patchelf_0.9.bb | 1 + 2 files changed, 39 insertions(+) diff --git a/meta/recipes-devtools/patchelf/patchelf/fix-adjusting-startPage.patch b/meta/recipes-devtools/patchelf/patchelf/fix-adjusting-startPage.patch new file mode 100644 index 0000000..f64cbed --- /dev/null +++ b/meta/recipes-devtools/patchelf/patchelf/fix-adjusting-startPage.patch @@ -0,0 +1,38 @@ +commit 1cc234fea5600190d872329aca60e2365cefc39e +Author: Ed Bartosh +Date: Fri Jul 21 12:33:53 2017 +0300 + +fix adjusting startPage + +startPage is adjusted unconditionally for all executables. +This results in incorrect addresses assigned to INTERP and LOAD +program headers, which breaks patched executable. + +Adjusting startPage variable only when startOffset > startPage +should fix this. + +This change is related to the issue NixOS#10 + +Signed-off-by: Ed Bartosh + +Github PR: https://github.com/NixOS/patchelf/pull/127 + +Upstream-Status: Submitted + +diff --git a/src/patchelf.cc b/src/patchelf.cc +index cbd36c0..e9d7ea5 100644 +--- a/src/patchelf.cc ++++ b/src/patchelf.cc +@@ -720,10 +720,8 @@ void ElfFile::rewriteSectionsLibrary() + since DYN executables tend to start at virtual address 0, so + rewriteSectionsExecutable() won't work because it doesn't have + any virtual address space to grow downwards into. */ +- if (isExecutable) { +- if (startOffset >= startPage) { +- debug("shifting new PT_LOAD segment by %d bytes to work around a Linux kernel bug\n", startOffset - startPage); +- } ++ if (isExecutable && startOffset > startPage) { ++ debug("shifting new PT_LOAD segment by %d bytes to work around a Linux kernel bug\n", startOffset - startPage); + startPage = startOffset; + } + diff --git a/meta/recipes-devtools/patchelf/patchelf_0.9.bb b/meta/recipes-devtools/patchelf/patchelf_0.9.bb index 01f0e62..d703039 100644 --- a/meta/recipes-devtools/patchelf/patchelf_0.9.bb +++ b/meta/recipes-devtools/patchelf/patchelf_0.9.bb @@ -3,6 +3,7 @@ SRC_URI = "http://nixos.org/releases/${BPN}/${BPN}-${PV}/${BPN}-${PV}.tar.bz2 \ file://handle-read-only-files.patch \ file://Increase-maxSize-to-64MB.patch \ file://avoidholes.patch \ + file://fix-adjusting-startPage.patch \ " LICENSE = "GPLv3" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 07:20:46 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 07:20:46 +0000 Subject: [oe-commits] [openembedded-core] branch master-next updated (514e9be -> 5fcc686) Message-ID: <150070804626.9065.8463727520566698688@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master-next in repository openembedded-core. from 514e9be bluez5: upgrade to 5.46 new 4e9b1e9 patchelf: change patch status new 4e4c96d patchelf: fix segfault for binaries linked by gold new b36502f wic: copy rootfs directory before changing fstab new 874ce74 wic: use absolute paths in rootfs plugin new c68a515 wic: rootfs: fix rootfs path reporting new cb37019 wic: rootfs: make copied rootfs unique new 35375e7 wic: add /boot mount point to fstab by default new 7bbecb3 oe-selftest: wic: fix test_qemu new 78bec81e gcc-7.inc: add new warning "Wnot-cross-compiler" new bbdd999 mkelfimage: Fix build on x86_64 with hardening new d10e671 python*-setuptools: upgrade to 36.2.0 new 0e283e4 openssl: Support musl-x32 build new c831c4a libffi: Support musl-x32 build new 280fdaa glibc: fix upstream-status tag in a patch new 94e73c6 dhcp: add dhclient.service new be42133 rpm/dnf: fix Upstream-Status to reflect upstream submission status new c04c21e glibc-package.inc: add support for armeb of multilib new 6432dd5 acpid.inc: set CVE_PRODUCT to acpid2 new e7c6b1e bluez5.inc: set CVE_PRODUCT to bluez new f024b0a eglinfo.inc: set CVE_PRODUCT to eglinfo new 005c0a4 flac_1.3.1.bb: set CVE_PRODUCT to libflac new 701f8aa gcc-common.inc: set CVE_PRODUCT to gcc new 76be507 glib.inc: set CVE_PRODUCT to glib new f211589 glibc-common.inc: set CVE_PRODUCT to glibc new c83f35c icu.inc: set CVE_PRODUCT to international_components_for_unicode new 8ce07da libpcre_8.40.bb: set CVE_PRODUCT to prce new acec852 libpcre2_10.23.bb: set CVE_PRODUCT to pcre2 new 2aa5c80 libsamplerate0_0.1.9.bb: set CVE_PRODUCT to libsamplerate new a31a3b9 libsndfile1_1.0.28.bb: set CVE_PRODUCT to libsndfile new 9afb6e3 nspr_4.14.bb: set CVE_PRODUCT to netscape_portable_runtime new 86b5e25 python.inc: set CVE_PRODUCT to python new d757dca lttng-ust_2.9.1.bb: set CVE_PRODUCT to ust new 9b1efbc quota_4.03.bb: set CVE_PRODUCT to linux_diskquota new 2f7b091 sqlite3.inc: set CVE_PRODUCT to sqlite new 50a7c64 wpa-supplicant_2.6.bb: set CVE_PRODUCT to wpa_supplicant new 8fedd85 cve-check.bbclass: use weak assignment for default CVE_PRODUCT new 9757dcd kernel.bbclass: set CVE_PRODUCT to linux_kernel if not set by recipe new d51c832 ffmpeg: add PACKAGECONFIG for sdl2 new 4d253d3 ovmf-shell-image.bb: simplify dependencies new c629377 ffmpeg: fix pkg-config utilization new 609fe4d gstreamer1.0-python: add new recipe new 595572d cve-check.bbclass: use "+git" as separator in PV instead of "git+" new 5fcc686 linux-yocto: only suggest default kernel type The 43 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: meta/classes/cve-check.bbclass | 4 +-- meta/classes/kernel.bbclass | 2 ++ meta/lib/oeqa/selftest/cases/wic.py | 2 +- meta/recipes-bsp/acpid/acpid.inc | 2 ++ meta/recipes-connectivity/bluez5/bluez5.inc | 2 ++ meta/recipes-connectivity/dhcp/dhcp.inc | 21 ++++++++++-- .../dhcp/files/dhclient-systemd-wrapper | 39 ++++++++++++++++++++++ .../dhcp/files/dhclient.service | 13 ++++++++ meta/recipes-connectivity/openssl/openssl.inc | 5 +-- .../wpa-supplicant/wpa-supplicant_2.6.bb | 2 ++ meta/recipes-core/glib-2.0/glib.inc | 2 ++ meta/recipes-core/glibc/glibc-common.inc | 1 + meta/recipes-core/glibc/glibc-package.inc | 4 +++ ...-locale-fix-hard-coded-reference-to-gcc-E.patch | 2 +- meta/recipes-core/ovmf/ovmf-shell-image.bb | 7 ++-- ...0001-Correctly-install-the-shared-library.patch | 2 +- ...ever-check-after-the-etc-dnf-vars-substit.patch | 2 +- meta/recipes-devtools/gcc/gcc-7.1.inc | 1 + .../gcc/gcc-7.1/0051-warn-not-cross-compiler.patch | 39 ++++++++++++++++++++++ meta/recipes-devtools/gcc/gcc-common.inc | 2 ++ ...2-Set-library-installation-path-correctly.patch | 2 +- ...cmake-drop-the-requirement-for-GTKDOC_SCA.patch | 2 +- ...ers-for-both-libsolv-and-libsolvext-libdn.patch | 2 +- ...-sysroot-path-to-introspection-tools-path.patch | 2 +- ...-library-installation-directory-correctly.patch | 2 +- ...-variables-with-pkg-config-cmake-s-own-mo.patch | 2 +- ...ly-set-the-library-installation-directory.patch | 2 +- ...-race-when-deleting-temporary-directories.patch | 2 +- ...ariables-with-pkg-config-not-with-cmake-m.patch | 2 +- meta/recipes-devtools/mkelfimage/mkelfimage_git.bb | 1 + .../patchelf/patchelf/avoidholes.patch | 2 +- .../patchelf/fix-adjusting-startPage.patch | 38 +++++++++++++++++++++ meta/recipes-devtools/patchelf/patchelf_0.9.bb | 1 + meta/recipes-devtools/python/python-setuptools.inc | 8 ++--- ...tools_32.1.1.bb => python-setuptools_36.2.0.bb} | 0 meta/recipes-devtools/python/python.inc | 2 ++ ...ools_32.1.1.bb => python3-setuptools_36.2.0.bb} | 0 ...code-lib-rpm-as-the-installation-path-for.patch | 2 +- .../files/0001-Fix-build-with-musl-C-library.patch | 2 +- meta/recipes-extended/quota/quota_4.03.bb | 2 ++ meta/recipes-graphics/eglinfo/eglinfo.inc | 2 ++ meta/recipes-kernel/linux/linux-yocto.inc | 3 +- meta/recipes-kernel/lttng/lttng-ust_2.9.1.bb | 2 ++ meta/recipes-multimedia/ffmpeg/ffmpeg_3.3.2.bb | 6 ++++ meta/recipes-multimedia/flac/flac_1.3.2.bb | 2 ++ .../gstreamer/gstreamer1.0-python.inc | 35 +++++++++++++++++++ .../gstreamer/gstreamer1.0-python_1.10.4.bb | 7 ++++ .../libsamplerate/libsamplerate0_0.1.9.bb | 2 ++ .../libsndfile/libsndfile1_1.0.28.bb | 2 ++ meta/recipes-support/icu/icu.inc | 2 ++ .../0001-libffi-Support-musl-x32-build.patch | 30 +++++++++++++++++ meta/recipes-support/libffi/libffi_3.2.1.bb | 1 + meta/recipes-support/libpcre/libpcre2_10.23.bb | 2 ++ meta/recipes-support/libpcre/libpcre_8.40.bb | 2 ++ meta/recipes-support/nspr/nspr_4.14.bb | 2 ++ meta/recipes-support/sqlite/sqlite3.inc | 2 ++ scripts/lib/wic/plugins/imager/direct.py | 24 +++++++------ scripts/lib/wic/plugins/source/rootfs.py | 16 ++++----- 58 files changed, 323 insertions(+), 49 deletions(-) create mode 100644 meta/recipes-connectivity/dhcp/files/dhclient-systemd-wrapper create mode 100644 meta/recipes-connectivity/dhcp/files/dhclient.service create mode 100644 meta/recipes-devtools/gcc/gcc-7.1/0051-warn-not-cross-compiler.patch create mode 100644 meta/recipes-devtools/patchelf/patchelf/fix-adjusting-startPage.patch rename meta/recipes-devtools/python/{python-setuptools_32.1.1.bb => python-setuptools_36.2.0.bb} (100%) rename meta/recipes-devtools/python/{python3-setuptools_32.1.1.bb => python3-setuptools_36.2.0.bb} (100%) create mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0-python.inc create mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.10.4.bb create mode 100644 meta/recipes-support/libffi/libffi/0001-libffi-Support-musl-x32-build.patch -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 07:20:49 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 07:20:49 +0000 Subject: [oe-commits] [openembedded-core] 03/43: wic: copy rootfs directory before changing fstab In-Reply-To: <150070804626.9065.8463727520566698688@git.openembedded.org> References: <150070804626.9065.8463727520566698688@git.openembedded.org> Message-ID: <20170722072046.93AC9232830@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit b36502f7102ff1ea59593207ef4f12fbccd833a9 Author: Ed Bartosh AuthorDate: Tue Jun 20 12:13:46 2017 +0300 wic: copy rootfs directory before changing fstab wic updates /etc/fstab on root partition if there are valid mount points in .wks When wic runs from bitbake this can cause incorrect results or even breakage of other tasks working with rootfs directory in parallel with do_image_wic. Implemented copying rootfs directory to a temporary location using copyhardlinktree before updating fstab to avoid conflicts with other tasks working with rootfs. Signed-off-by: Ed Bartosh --- scripts/lib/wic/plugins/imager/direct.py | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/scripts/lib/wic/plugins/imager/direct.py b/scripts/lib/wic/plugins/imager/direct.py index f20d843..1079c32 100644 --- a/scripts/lib/wic/plugins/imager/direct.py +++ b/scripts/lib/wic/plugins/imager/direct.py @@ -32,6 +32,8 @@ import uuid from time import strftime +from oe.path import copyhardlinktree + from wic import WicError from wic.filemap import sparse_copy from wic.ksparser import KickStart, KickStartError @@ -115,12 +117,16 @@ class DirectPlugin(ImagerPlugin): fstab_lines = fstab.readlines() if self._update_fstab(fstab_lines, self.parts): - shutil.copyfile(fstab_path, fstab_path + ".orig") + # copy rootfs dir to workdir to update fstab + # as rootfs can be used by other tasks and can't be modified + new_rootfs = os.path.realpath(os.path.join(self.workdir, "rootfs_copy")) + copyhardlinktree(image_rootfs, new_rootfs) + fstab_path = os.path.join(new_rootfs, 'etc/fstab') with open(fstab_path, "w") as fstab: fstab.writelines(fstab_lines) - return fstab_path + return new_rootfs def _update_fstab(self, fstab_lines, parts): """Assume partition order same as in wks""" @@ -156,7 +162,10 @@ class DirectPlugin(ImagerPlugin): filesystems from the artifacts directly and combine them into a partitioned image. """ - fstab_path = self._write_fstab(self.rootfs_dir.get("ROOTFS_DIR")) + new_rootfs = self._write_fstab(self.rootfs_dir.get("ROOTFS_DIR")) + if new_rootfs: + # rootfs was copied to update fstab + self.rootfs_dir['ROOTFS_DIR'] = new_rootfs for part in self.parts: # get rootfs size from bitbake variable if it's not set in .ks file @@ -172,12 +181,7 @@ class DirectPlugin(ImagerPlugin): if rsize_bb: part.size = int(round(float(rsize_bb))) - try: - self._image.prepare(self) - finally: - if fstab_path: - shutil.move(fstab_path + ".orig", fstab_path) - + self._image.prepare(self) self._image.layout_partitions() self._image.create() -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 07:20:51 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 07:20:51 +0000 Subject: [oe-commits] [openembedded-core] 05/43: wic: rootfs: fix rootfs path reporting In-Reply-To: <150070804626.9065.8463727520566698688@git.openembedded.org> References: <150070804626.9065.8463727520566698688@git.openembedded.org> Message-ID: <20170722072046.A1063232832@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit c68a515d70f7060694c5ce003c7d8d10945b2b66 Author: Ed Bartosh AuthorDate: Tue Jun 20 14:14:40 2017 +0300 wic: rootfs: fix rootfs path reporting wic gets rootfs paths from partition object property 'rootfs_dir' and shows them in final report. rootfs plugin sets this property to the temporary path, which causes temporary paths appearing in the report. Changed the code to prevent storing temporary rootfs path in part.rootfs_dir. This should fix the report. Signed-off-by: Ed Bartosh --- scripts/lib/wic/plugins/source/rootfs.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/scripts/lib/wic/plugins/source/rootfs.py b/scripts/lib/wic/plugins/source/rootfs.py index c08f760..e438158 100644 --- a/scripts/lib/wic/plugins/source/rootfs.py +++ b/scripts/lib/wic/plugins/source/rootfs.py @@ -81,8 +81,9 @@ class RootfsPlugin(SourcePlugin): raise WicError("Couldn't find --rootfs-dir=%s connection or " "it is not a valid path, exiting" % part.rootfs_dir) - real_rootfs_dir = cls.__get_rootfs_dir(rootfs_dir) + part.rootfs_dir = cls.__get_rootfs_dir(rootfs_dir) + new_rootfs = None # Handle excluded paths. if part.exclude_path is not None: # We need a new rootfs directory we can delete files from. Copy to @@ -92,9 +93,7 @@ class RootfsPlugin(SourcePlugin): if os.path.lexists(new_rootfs): shutil.rmtree(os.path.join(new_rootfs)) - copyhardlinktree(real_rootfs_dir, new_rootfs) - - real_rootfs_dir = new_rootfs + copyhardlinktree(part.rootfs_dir, new_rootfs) for orig_path in part.exclude_path: path = orig_path @@ -123,6 +122,5 @@ class RootfsPlugin(SourcePlugin): # Delete whole directory. shutil.rmtree(full_path) - part.rootfs_dir = real_rootfs_dir part.prepare_rootfs(cr_workdir, oe_builddir, - real_rootfs_dir, native_sysroot) + new_rootfs or part.rootfs_dir, native_sysroot) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 07:20:52 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 07:20:52 +0000 Subject: [oe-commits] [openembedded-core] 06/43: wic: rootfs: make copied rootfs unique In-Reply-To: <150070804626.9065.8463727520566698688@git.openembedded.org> References: <150070804626.9065.8463727520566698688@git.openembedded.org> Message-ID: <20170722072046.A75C1232833@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit cb370194ebac9509018d85d62bc888a2ffe0a6a4 Author: Ed Bartosh AuthorDate: Mon Jun 26 17:10:55 2017 +0300 wic: rootfs: make copied rootfs unique Used unique suffix (line number from .wks file) for the copied rootfs directory to avoid possible conflicts. Signed-off-by: Ed Bartosh --- scripts/lib/wic/plugins/source/rootfs.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/lib/wic/plugins/source/rootfs.py b/scripts/lib/wic/plugins/source/rootfs.py index e438158..aec720f 100644 --- a/scripts/lib/wic/plugins/source/rootfs.py +++ b/scripts/lib/wic/plugins/source/rootfs.py @@ -88,7 +88,7 @@ class RootfsPlugin(SourcePlugin): if part.exclude_path is not None: # We need a new rootfs directory we can delete files from. Copy to # workdir. - new_rootfs = os.path.realpath(os.path.join(cr_workdir, "rootfs")) + new_rootfs = os.path.realpath(os.path.join(cr_workdir, "rootfs%d" % part.lineno)) if os.path.lexists(new_rootfs): shutil.rmtree(os.path.join(new_rootfs)) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 07:20:53 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 07:20:53 +0000 Subject: [oe-commits] [openembedded-core] 07/43: wic: add /boot mount point to fstab by default In-Reply-To: <150070804626.9065.8463727520566698688@git.openembedded.org> References: <150070804626.9065.8463727520566698688@git.openembedded.org> Message-ID: <20170722072046.AD354232834@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 35375e7c08328a4e6165cbd32d896380766e961c Author: Ed Bartosh AuthorDate: Thu Jun 15 15:13:46 2017 +0300 wic: add /boot mount point to fstab by default wic avoided adding /boot to fstab for no reason. This exception was hardcoded in the wic code. There is no need for this as mountpoint in .wks file is an optional field. It can be used only if user wants to have partitions automatically mounted on system boot. [YOCTO #11662] Signed-off-by: Ed Bartosh --- scripts/lib/wic/plugins/imager/direct.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/lib/wic/plugins/imager/direct.py b/scripts/lib/wic/plugins/imager/direct.py index 1079c32..e4f39d6 100644 --- a/scripts/lib/wic/plugins/imager/direct.py +++ b/scripts/lib/wic/plugins/imager/direct.py @@ -133,7 +133,7 @@ class DirectPlugin(ImagerPlugin): updated = False for part in parts: if not part.realnum or not part.mountpoint \ - or part.mountpoint in ("/", "/boot"): + or part.mountpoint == "/": continue # mmc device partitions are named mmcblk0p1, mmcblk0p2.. -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 07:20:54 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 07:20:54 +0000 Subject: [oe-commits] [openembedded-core] 08/43: oe-selftest: wic: fix test_qemu In-Reply-To: <150070804626.9065.8463727520566698688@git.openembedded.org> References: <150070804626.9065.8463727520566698688@git.openembedded.org> Message-ID: <20170722072046.B3419232835@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 7bbecb3495d1513973f9614f5a0232099918f565 Author: Ed Bartosh AuthorDate: Tue Jun 27 12:36:44 2017 +0300 oe-selftest: wic: fix test_qemu This test case boots the image in qemu and checks for mounted partitions. As /boot is mounted automatically the test case fails. Fixed this by adding /boot to the list of mounted partitions. Signed-off-by: Ed Bartosh Signed-off-by: Ross Burton --- meta/lib/oeqa/selftest/cases/wic.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/lib/oeqa/selftest/cases/wic.py b/meta/lib/oeqa/selftest/cases/wic.py index df205e8..ceb92ae 100644 --- a/meta/lib/oeqa/selftest/cases/wic.py +++ b/meta/lib/oeqa/selftest/cases/wic.py @@ -637,7 +637,7 @@ part /etc --source rootfs --ondisk mmcblk0 --fstype=ext4 --exclude-path bin/ --r cmd = "mount |grep '^/dev/' | cut -f1,3 -d ' '" status, output = qemu.run_serial(cmd) self.assertEqual(1, status, 'Failed to run command "%s": %s' % (cmd, output)) - self.assertEqual(output, '/dev/root /\r\n/dev/sda3 /mnt') + self.assertEqual(output, '/dev/root /\r\n/dev/sda1 /boot\r\n/dev/sda3 /mnt') @only_for_arch(['i586', 'i686', 'x86_64']) @OETestID(1852) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 07:20:56 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 07:20:56 +0000 Subject: [oe-commits] [openembedded-core] 10/43: mkelfimage: Fix build on x86_64 with hardening In-Reply-To: <150070804626.9065.8463727520566698688@git.openembedded.org> References: <150070804626.9065.8463727520566698688@git.openembedded.org> Message-ID: <20170722072046.C14D2232837@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit bbdd999a534ebbff3ff2674d3305988e29edb2df Author: Khem Raj AuthorDate: Tue Jul 18 19:50:55 2017 -0700 mkelfimage: Fix build on x86_64 with hardening We get linking errors on some hosts like | ld -static --warn-multiple-gp --warn-common -T linux-i386/convert.lds -o objdir/linux-i386/convert ob jdir/linux-i386/head.o objdir/linux-i386/convert_params.o | objdir/linux-i386/convert_params.o: In function `printf': | convert_params.c:(.text+0x1fd): undefined reference to `__stack_chk_fail_local' This is because the build system is defaulting to host linker when building 32bit binaries and it may not have same defaults as OE toolchain and issue gets highlighted. fix it by using cross linker for 32bit links when building on x86_64 Signed-off-by: Khem Raj Signed-off-by: Ross Burton --- meta/recipes-devtools/mkelfimage/mkelfimage_git.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/recipes-devtools/mkelfimage/mkelfimage_git.bb b/meta/recipes-devtools/mkelfimage/mkelfimage_git.bb index 2bcc8d7..2ad4b49 100644 --- a/meta/recipes-devtools/mkelfimage/mkelfimage_git.bb +++ b/meta/recipes-devtools/mkelfimage/mkelfimage_git.bb @@ -29,6 +29,7 @@ CACHED_CONFIGUREVARS += "\ HOST_CFLAGS='${BUILD_CFLAGS}' \ HOST_CPPFLAGS='${BUILD_CPPFLAGS}' \ " +EXTRA_OECONF_append_x86-64 = " --with-i386=${HOST_SYS}" inherit autotools-brokensep -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 07:20:57 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 07:20:57 +0000 Subject: [oe-commits] [openembedded-core] 11/43: python*-setuptools: upgrade to 36.2.0 In-Reply-To: <150070804626.9065.8463727520566698688@git.openembedded.org> References: <150070804626.9065.8463727520566698688@git.openembedded.org> Message-ID: <20170722072046.C7105232838@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit d10e6713fe9c363c30d3335e7c5ae93789db4463 Author: Jose Lamego AuthorDate: Wed Jul 19 12:20:26 2017 -0500 python*-setuptools: upgrade to 36.2.0 Both python-setuptools and python3-setuptools need to be upgraded to latest upstream version. license checksum is now targeted to be performed over the actual license text at license file. These changes were tested using qemux86 with core-image-minimal. Signed-off-by: Jose Lamego Signed-off-by: Ross Burton --- meta/recipes-devtools/python/python-setuptools.inc | 8 ++++---- .../{python-setuptools_32.1.1.bb => python-setuptools_36.2.0.bb} | 0 ...{python3-setuptools_32.1.1.bb => python3-setuptools_36.2.0.bb} | 0 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/meta/recipes-devtools/python/python-setuptools.inc b/meta/recipes-devtools/python/python-setuptools.inc index 40f47d4..cd84233 100644 --- a/meta/recipes-devtools/python/python-setuptools.inc +++ b/meta/recipes-devtools/python/python-setuptools.inc @@ -3,14 +3,14 @@ HOMEPAGE = "https://pypi.python.org/pypi/setuptools" SECTION = "devel/python" LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://setup.py;beginline=146;endline=146;md5=3e8df024d6c1442d18e84acf8fbbc475" +LIC_FILES_CHKSUM = "file://LICENSE;beginline=1;endline=19;md5=9a33897f1bca1160d7aad3835152e158" SRCNAME = "setuptools" -SRC_URI = "https://files.pythonhosted.org/packages/source/s/${SRCNAME}/${SRCNAME}-${PV}.tar.gz" +SRC_URI = "https://files.pythonhosted.org/packages/source/s/${SRCNAME}/${SRCNAME}-${PV}.zip" -SRC_URI[md5sum] = "8b67868c3430e978833ebd0d1b766694" -SRC_URI[sha256sum] = "8303fb24306385f09bf8b0e5a385c1548e42e8efc08558d64049bc0d55ea012d" +SRC_URI[md5sum] = "60df703040ad8024d24727dc95483740" +SRC_URI[sha256sum] = "4c2bda3829c9dbbe9c2b33d89c4b1cb6d45813615ab8e248ad352e3697a96d81" UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/setuptools" diff --git a/meta/recipes-devtools/python/python-setuptools_32.1.1.bb b/meta/recipes-devtools/python/python-setuptools_36.2.0.bb similarity index 100% rename from meta/recipes-devtools/python/python-setuptools_32.1.1.bb rename to meta/recipes-devtools/python/python-setuptools_36.2.0.bb diff --git a/meta/recipes-devtools/python/python3-setuptools_32.1.1.bb b/meta/recipes-devtools/python/python3-setuptools_36.2.0.bb similarity index 100% rename from meta/recipes-devtools/python/python3-setuptools_32.1.1.bb rename to meta/recipes-devtools/python/python3-setuptools_36.2.0.bb -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 07:20:58 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 07:20:58 +0000 Subject: [oe-commits] [openembedded-core] 12/43: openssl: Support musl-x32 build In-Reply-To: <150070804626.9065.8463727520566698688@git.openembedded.org> References: <150070804626.9065.8463727520566698688@git.openembedded.org> Message-ID: <20170722072046.CD321232839@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 0e283e40177b6d6e06fddbe5450465b5c0bc05b7 Author: sweeaun AuthorDate: Wed Jul 19 13:29:41 2017 -0700 openssl: Support musl-x32 build Support musl-x32 build which to build openssl with 32 bits. Signed-off-by: sweeaun Signed-off-by: Ross Burton --- meta/recipes-connectivity/openssl/openssl.inc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/meta/recipes-connectivity/openssl/openssl.inc b/meta/recipes-connectivity/openssl/openssl.inc index ce295e8..a56bd6e 100644 --- a/meta/recipes-connectivity/openssl/openssl.inc +++ b/meta/recipes-connectivity/openssl/openssl.inc @@ -66,7 +66,8 @@ do_configure () { case $os in linux-gnueabi |\ linux-gnuspe |\ - linux-musl*) + linux-musleabi |\ + linux-muslspe) os=linux ;; *) @@ -98,7 +99,7 @@ do_configure () { linux-i686) target=debian-i386-i686/cmov ;; - linux-gnux32-x86_64) + linux-gnux32-x86_64 | linux-muslx32-x86_64 ) target=linux-x32 ;; linux-gnu64-x86_64) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 07:20:55 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 07:20:55 +0000 Subject: [oe-commits] [openembedded-core] 09/43: gcc-7.inc: add new warning "Wnot-cross-compiler" In-Reply-To: <150070804626.9065.8463727520566698688@git.openembedded.org> References: <150070804626.9065.8463727520566698688@git.openembedded.org> Message-ID: <20170722072046.BAA4F232836@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 78bec81eac226fb86c44c54ea5c5cc3185bc7448 Author: Juro Bystricky AuthorDate: Tue Jul 18 15:45:01 2017 -0700 gcc-7.inc: add new warning "Wnot-cross-compiler" Suppose we have an autotools project that looks like it is using the cross compiler but is actually reaching out to the host compiler instead. On an x86-64 build, you may not even notice. To be able to prevent this, this patch implements a new gcc warning "Wnot-cross-compiler". The intention here is to intentionally break a build if we are not using a cross-compiler when one is expected to be used. Expected usage: " -Wnot-cross-compiler -Werror=not-cross-compiler " [YOCTO #11587] Signed-off-by: Juro Bystricky Signed-off-by: Ross Burton --- meta/recipes-devtools/gcc/gcc-7.1.inc | 1 + .../gcc/gcc-7.1/0051-warn-not-cross-compiler.patch | 39 ++++++++++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/meta/recipes-devtools/gcc/gcc-7.1.inc b/meta/recipes-devtools/gcc/gcc-7.1.inc index 3f1c06d..e9b1f21 100644 --- a/meta/recipes-devtools/gcc/gcc-7.1.inc +++ b/meta/recipes-devtools/gcc/gcc-7.1.inc @@ -75,6 +75,7 @@ SRC_URI = "\ file://0048-gcc-Enable-static-PIE.patch \ file://0049-libsanitizer-Use-stack_t-instead-of-struct-sigaltsta.patch \ file://0050-replace-struct-ucontext-with-ucontext_t.patch \ + file://0051-warn-not-cross-compiler.patch \ ${BACKPORTS} \ " BACKPORTS = "\ diff --git a/meta/recipes-devtools/gcc/gcc-7.1/0051-warn-not-cross-compiler.patch b/meta/recipes-devtools/gcc/gcc-7.1/0051-warn-not-cross-compiler.patch new file mode 100644 index 0000000..78671ed --- /dev/null +++ b/meta/recipes-devtools/gcc/gcc-7.1/0051-warn-not-cross-compiler.patch @@ -0,0 +1,39 @@ + +This patch implements an additional gcc command line option warning +"Wnot-cross-compiler". The option (if specified) will simply generate +a warning if gcc being used is not a cross-compiler. + +Upstream-Status: Pending +Signed-off-by: Juro Bystricky + + +diff --git a/gcc/common.opt b/gcc/common.opt +--- a/gcc/common.opt ++++ b/gcc/common.opt +@@ -801,6 +801,10 @@ + Common Var(warn_vector_operation_performance) Warning + Warn when a vector operation is compiled outside the SIMD. + ++Wnot-cross-compiler ++Common Warning ++Warn when not-cross-compiling. ++ + Xassembler + Driver Separate + +diff --git a/gcc/opts.c b/gcc/opts.c +--- a/gcc/opts.c ++++ b/gcc/opts.c +@@ -2334,6 +2334,12 @@ + opts->x_flag_ipa_icf_variables = value; + break; + ++ case OPT_Wnot_cross_compiler: ++#ifndef CROSS_DIRECTORY_STRUCTURE ++ warning (OPT_Wnot_cross_compiler, "Not using cross-compiler!"); ++#endif ++ break; ++ + default: + /* If the flag was handled in a standard way, assume the lack of + processing here is intentional. */ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 07:20:59 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 07:20:59 +0000 Subject: [oe-commits] [openembedded-core] 13/43: libffi: Support musl-x32 build In-Reply-To: <150070804626.9065.8463727520566698688@git.openembedded.org> References: <150070804626.9065.8463727520566698688@git.openembedded.org> Message-ID: <20170722072046.D481F23283A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit c831c4a894dd5b98a54061783b139edee62987a4 Author: sweeaun AuthorDate: Wed Jul 19 13:29:42 2017 -0700 libffi: Support musl-x32 build Added target musl-x32 in configure.ac to support musl-x32 build in libffi. Signed-off-by: sweeaun Signed-off-by: Ross Burton --- .../0001-libffi-Support-musl-x32-build.patch | 30 ++++++++++++++++++++++ meta/recipes-support/libffi/libffi_3.2.1.bb | 1 + 2 files changed, 31 insertions(+) diff --git a/meta/recipes-support/libffi/libffi/0001-libffi-Support-musl-x32-build.patch b/meta/recipes-support/libffi/libffi/0001-libffi-Support-musl-x32-build.patch new file mode 100644 index 0000000..6b167c8 --- /dev/null +++ b/meta/recipes-support/libffi/libffi/0001-libffi-Support-musl-x32-build.patch @@ -0,0 +1,30 @@ +From 69c3906c85c791716bf650aa36d9361d22acf3fb Mon Sep 17 00:00:00 2001 +From: sweeaun +Date: Thu, 6 Jul 2017 16:32:46 -0700 +Subject: [PATCH] libffi: Support musl x32 build + +Support libffi build with target musl-x32. + +Upstream-Status: Pending + +Signed-off-by: sweeaun +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index a7bf5ee..8ebe99c 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -177,7 +177,7 @@ case "$host" in + TARGETDIR=x86 + if test $ac_cv_sizeof_size_t = 4; then + case "$host" in +- *-gnux32) ++ *-gnux32 | *-muslx32) + TARGET=X86_64 + ;; + *) +-- +2.7.4 + diff --git a/meta/recipes-support/libffi/libffi_3.2.1.bb b/meta/recipes-support/libffi/libffi_3.2.1.bb index 43eee8e..2a3f4b7 100644 --- a/meta/recipes-support/libffi/libffi_3.2.1.bb +++ b/meta/recipes-support/libffi/libffi_3.2.1.bb @@ -13,6 +13,7 @@ SRC_URI = "ftp://sourceware.org/pub/libffi/${BP}.tar.gz \ file://not-win32.patch \ file://0001-mips-Use-compiler-internal-define-for-linux.patch \ file://0001-mips-fix-MIPS-softfloat-build-issue.patch \ + file://0001-libffi-Support-musl-x32-build.patch \ " SRC_URI[md5sum] = "83b89587607e3eb65c70d361f13bab43" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 07:21:00 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 07:21:00 +0000 Subject: [oe-commits] [openembedded-core] 14/43: glibc: fix upstream-status tag in a patch In-Reply-To: <150070804626.9065.8463727520566698688@git.openembedded.org> References: <150070804626.9065.8463727520566698688@git.openembedded.org> Message-ID: <20170722072046.DA3B323283B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 280fdaa7b4fd8504178310c4c693b35e7b8d49b1 Author: Ross Burton AuthorDate: Thu Jul 20 13:36:40 2017 +0100 glibc: fix upstream-status tag in a patch Signed-off-by: Ross Burton --- .../glibc/glibc/0025-locale-fix-hard-coded-reference-to-gcc-E.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-core/glibc/glibc/0025-locale-fix-hard-coded-reference-to-gcc-E.patch b/meta/recipes-core/glibc/glibc/0025-locale-fix-hard-coded-reference-to-gcc-E.patch index f653077..09ad04a 100644 --- a/meta/recipes-core/glibc/glibc/0025-locale-fix-hard-coded-reference-to-gcc-E.patch +++ b/meta/recipes-core/glibc/glibc/0025-locale-fix-hard-coded-reference-to-gcc-E.patch @@ -17,7 +17,7 @@ environment. This patch replaces the hard-coded reference to the gcc binary with the proper environment variable, thus allowing a user to override it. -Upstream-Status : Submitted [https://sourceware.org/ml/libc-alpha/2016-08/msg00746.html] +Upstream-Status: Submitted [https://sourceware.org/ml/libc-alpha/2016-08/msg00746.html] --- locale/gen-translit.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 07:21:06 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 07:21:06 +0000 Subject: [oe-commits] [openembedded-core] 20/43: eglinfo.inc: set CVE_PRODUCT to eglinfo In-Reply-To: <150070804626.9065.8463727520566698688@git.openembedded.org> References: <150070804626.9065.8463727520566698688@git.openembedded.org> Message-ID: <20170722072047.0B0E4232841@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit f024b0ac0ef54be6641e8ee0a0227982874fee94 Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:22:53 2017 +0300 eglinfo.inc: set CVE_PRODUCT to eglinfo Upstream is called eglinfo no matter how the recipes are named. There are no existing CVE's for eglinfo in NVD yet. Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/recipes-graphics/eglinfo/eglinfo.inc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-graphics/eglinfo/eglinfo.inc b/meta/recipes-graphics/eglinfo/eglinfo.inc index d0c0c27..8e7d9bd 100644 --- a/meta/recipes-graphics/eglinfo/eglinfo.inc +++ b/meta/recipes-graphics/eglinfo/eglinfo.inc @@ -11,6 +11,8 @@ SRC_URI = "git://github.com/dv1/eglinfo.git;branch=master \ " SRCREV = "4b317648ec6cf39556a9e5d8078f605bc0edd5de" +CVE_PRODUCT = "eglinfo" + S = "${WORKDIR}/git" inherit waf distro_features_check -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 07:21:04 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 07:21:04 +0000 Subject: [oe-commits] [openembedded-core] 18/43: acpid.inc: set CVE_PRODUCT to acpid2 In-Reply-To: <150070804626.9065.8463727520566698688@git.openembedded.org> References: <150070804626.9065.8463727520566698688@git.openembedded.org> Message-ID: <20170722072046.F3DB423283F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 6432dd5b8fbf86cf70565df430dae56c3eea67b8 Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:22:51 2017 +0300 acpid.inc: set CVE_PRODUCT to acpid2 It is used in NVD database for CVE's like: https://nvd.nist.gov/vuln/detail/CVE-2011-4578 Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/recipes-bsp/acpid/acpid.inc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-bsp/acpid/acpid.inc b/meta/recipes-bsp/acpid/acpid.inc index 12ec19b..766ed4f 100644 --- a/meta/recipes-bsp/acpid/acpid.inc +++ b/meta/recipes-bsp/acpid/acpid.inc @@ -9,6 +9,8 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/acpid2/acpid-${PV}.tar.xz \ file://acpid.service \ " +CVE_PRODUCT = "acpid2" + inherit autotools update-rc.d systemd INITSCRIPT_NAME = "acpid" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 07:21:01 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 07:21:01 +0000 Subject: [oe-commits] [openembedded-core] 15/43: dhcp: add dhclient.service In-Reply-To: <150070804626.9065.8463727520566698688@git.openembedded.org> References: <150070804626.9065.8463727520566698688@git.openembedded.org> Message-ID: <20170722072046.E02BF23283C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 94e73c65a19e0e7d91cf2ba6625e1defc4e6fb29 Author: Chen Qi AuthorDate: Thu Jul 20 15:33:58 2017 +0800 dhcp: add dhclient.service Add dhclient.service. This service file mainly comes from meta-systemd, with modifications to take nfs boot into consideration. While using eth0 as the nfsboot interface, we'd like dhclient service to skip it like what ifup and connman do in sysvinit. Signed-off-by: Chen Qi Signed-off-by: Ross Burton --- meta/recipes-connectivity/dhcp/dhcp.inc | 21 ++++++++++-- .../dhcp/files/dhclient-systemd-wrapper | 39 ++++++++++++++++++++++ .../dhcp/files/dhclient.service | 13 ++++++++ 3 files changed, 70 insertions(+), 3 deletions(-) diff --git a/meta/recipes-connectivity/dhcp/dhcp.inc b/meta/recipes-connectivity/dhcp/dhcp.inc index 292f192..db4a963 100644 --- a/meta/recipes-connectivity/dhcp/dhcp.inc +++ b/meta/recipes-connectivity/dhcp/dhcp.inc @@ -17,6 +17,8 @@ SRC_URI = "http://ftp.isc.org/isc/dhcp/${PV}/dhcp-${PV}.tar.gz \ file://init-relay file://default-relay \ file://init-server file://default-server \ file://dhclient.conf file://dhcpd.conf \ + file://dhclient-systemd-wrapper \ + file://dhclient.service \ file://dhcpd.service file://dhcrelay.service \ file://dhcpd6.service \ file://search-for-libxml2.patch " @@ -29,13 +31,16 @@ inherit autotools systemd useradd update-rc.d USERADD_PACKAGES = "${PN}-server" USERADD_PARAM_${PN}-server = "--system --no-create-home --home-dir /var/run/${PN} --shell /bin/false --user-group ${PN}" -SYSTEMD_PACKAGES = "${PN}-server ${PN}-relay" +SYSTEMD_PACKAGES = "${PN}-server ${PN}-relay ${PN}-client" SYSTEMD_SERVICE_${PN}-server = "dhcpd.service dhcpd6.service" SYSTEMD_AUTO_ENABLE_${PN}-server = "disable" SYSTEMD_SERVICE_${PN}-relay = "dhcrelay.service" SYSTEMD_AUTO_ENABLE_${PN}-relay = "disable" +SYSTEMD_SERVICE_${PN}-client = "dhclient.service" +SYSTEMD_AUTO_ENABLE_${PN}-client = "disable" + INITSCRIPT_PACKAGES = "dhcp-server" INITSCRIPT_NAME_dhcp-server = "dhcp-server" INITSCRIPT_PARAMS_dhcp-server = "defaults" @@ -79,7 +84,13 @@ do_install_append () { sed -i -e 's, at SYSCONFDIR@,${sysconfdir},g' ${D}${systemd_unitdir}/system/dhcpd*.service sed -i -e 's, at base_bindir@,${base_bindir},g' ${D}${systemd_unitdir}/system/dhcpd*.service sed -i -e 's, at localstatedir@,${localstatedir},g' ${D}${systemd_unitdir}/system/dhcpd*.service - sed -i -e 's, at SYSCONFDIR@,${sysconfdir},g' ${D}${systemd_unitdir}/system/dhcrelay.service + sed -i -e 's, at SYSCONFDIR@,${sysconfdir},g' ${D}${systemd_unitdir}/system/dhcrelay.service + + install -d ${D}${base_sbindir} + install -m 0755 ${WORKDIR}/dhclient-systemd-wrapper ${D}${base_sbindir}/dhclient-systemd-wrapper + install -m 0644 ${WORKDIR}/dhclient.service ${D}${systemd_unitdir}/system + sed -i -e 's, at SYSCONFDIR@,${sysconfdir},g' ${D}${systemd_unitdir}/system/dhclient.service + sed -i -e 's, at BASE_SBINDIR@,${base_sbindir},g' ${D}${systemd_unitdir}/system/dhclient.service } PACKAGES += "dhcp-libs dhcp-server dhcp-server-config dhcp-client dhcp-relay dhcp-omshell" @@ -97,7 +108,11 @@ FILES_${PN}-server-config = "${sysconfdir}/default/dhcp-server ${sysconfdir}/dhc FILES_${PN}-relay = "${sbindir}/dhcrelay ${sysconfdir}/init.d/dhcp-relay ${sysconfdir}/default/dhcp-relay" -FILES_${PN}-client = "${base_sbindir}/dhclient ${base_sbindir}/dhclient-script ${sysconfdir}/dhcp/dhclient.conf" +FILES_${PN}-client = "${base_sbindir}/dhclient \ + ${base_sbindir}/dhclient-script \ + ${sysconfdir}/dhcp/dhclient.conf \ + ${base_sbindir}/dhclient-systemd-wrapper \ + " FILES_${PN}-omshell = "${bindir}/omshell" diff --git a/meta/recipes-connectivity/dhcp/files/dhclient-systemd-wrapper b/meta/recipes-connectivity/dhcp/files/dhclient-systemd-wrapper new file mode 100644 index 0000000..7d0e224 --- /dev/null +++ b/meta/recipes-connectivity/dhcp/files/dhclient-systemd-wrapper @@ -0,0 +1,39 @@ +#!/bin/sh + +# In case the interface is used for nfs, skip it. +nfsroot=0 +interfaces="" +exec 9<&0 < /proc/mounts +while read dev mtpt fstype rest; do + if test $mtpt = "/" ; then + case $fstype in + nfs | nfs4) + nfsroot=1 + nfs_addr=`echo $rest | sed -e 's/^.*addr=\([0-9.]*\).*$/\1/'` + break + ;; + *) + ;; + esac + fi +done +exec 0<&9 9<&- + +if [ $nfsroot -eq 0 ]; then + interfaces="$INTERFACES" +else + if [ -x /bin/ip -o -x /sbin/ip ] ; then + nfs_iface=`ip route get $nfs_addr | grep dev | sed -e 's/^.*dev \([-a-z0-9.]*\).*$/\1/'` + fi + for i in $INTERFACES; do + if test "x$i" = "x$nfs_iface"; then + echo "dhclient skipping nfsroot interface $i" + else + interfaces="$interfaces $i" + fi + done +fi + +if test "x$interfaces" != "x"; then + /sbin/dhclient -d -cf /etc/dhcp/dhclient.conf -q -lf /var/lib/dhcp/dhclient.leases $interfaces +fi diff --git a/meta/recipes-connectivity/dhcp/files/dhclient.service b/meta/recipes-connectivity/dhcp/files/dhclient.service new file mode 100644 index 0000000..9ddb4d1 --- /dev/null +++ b/meta/recipes-connectivity/dhcp/files/dhclient.service @@ -0,0 +1,13 @@ +[Unit] +Description=Dynamic Host Configuration Protocol (DHCP) +Wants=network.target +Before=network.target +After=systemd-udevd.service + +[Service] +EnvironmentFile=- at SYSCONFDIR@/default/dhcp-client +ExecStart=@BASE_SBINDIR@/dhclient-systemd-wrapper +RemainAfterExit=yes + +[Install] +WantedBy=multi-user.target -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 07:21:02 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 07:21:02 +0000 Subject: [oe-commits] [openembedded-core] 16/43: rpm/dnf: fix Upstream-Status to reflect upstream submission status In-Reply-To: <150070804626.9065.8463727520566698688@git.openembedded.org> References: <150070804626.9065.8463727520566698688@git.openembedded.org> Message-ID: <20170722072046.E744F23283D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit be42133013234d3a673bda5eaf0aa08fc1b16ff5 Author: Alexander Kanavin AuthorDate: Thu Jul 20 15:27:08 2017 +0300 rpm/dnf: fix Upstream-Status to reflect upstream submission status Signed-off-by: Alexander Kanavin Signed-off-by: Ross Burton --- .../createrepo-c/0001-Correctly-install-the-shared-library.patch | 2 +- .../dnf/0001-Move-releasever-check-after-the-etc-dnf-vars-substit.patch | 2 +- .../libcomps/0002-Set-library-installation-path-correctly.patch | 2 +- .../0001-FindGtkDoc.cmake-drop-the-requirement-for-GTKDOC_SCA.patch | 2 +- .../0001-Get-parameters-for-both-libsolv-and-libsolvext-libdn.patch | 2 +- .../libdnf/0002-Prefix-sysroot-path-to-introspection-tools-path.patch | 2 +- .../libdnf/0003-Set-the-library-installation-directory-correctly.patch | 2 +- .../0004-Set-libsolv-variables-with-pkg-config-cmake-s-own-mo.patch | 2 +- .../librepo/0001-Correctly-set-the-library-installation-directory.patch | 2 +- .../0003-tests-fix-a-race-when-deleting-temporary-directories.patch | 2 +- .../0004-Set-gpgme-variables-with-pkg-config-not-with-cmake-m.patch | 2 +- .../0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch | 2 +- .../recipes-devtools/rpm/files/0001-Fix-build-with-musl-C-library.patch | 2 +- 13 files changed, 13 insertions(+), 13 deletions(-) diff --git a/meta/recipes-devtools/createrepo-c/createrepo-c/0001-Correctly-install-the-shared-library.patch b/meta/recipes-devtools/createrepo-c/createrepo-c/0001-Correctly-install-the-shared-library.patch index 0127124..cd72084 100644 --- a/meta/recipes-devtools/createrepo-c/createrepo-c/0001-Correctly-install-the-shared-library.patch +++ b/meta/recipes-devtools/createrepo-c/createrepo-c/0001-Correctly-install-the-shared-library.patch @@ -3,7 +3,7 @@ From: Alexander Kanavin Date: Mon, 2 Jan 2017 17:23:59 +0200 Subject: [PATCH] Correctly install the shared library -Upstream-Status: Pending +Upstream-Status: Submitted [https://github.com/rpm-software-management/createrepo_c/pull/78] Signed-off-by: Alexander Kanavin --- src/CMakeLists.txt | 3 ++- diff --git a/meta/recipes-devtools/dnf/dnf/0001-Move-releasever-check-after-the-etc-dnf-vars-substit.patch b/meta/recipes-devtools/dnf/dnf/0001-Move-releasever-check-after-the-etc-dnf-vars-substit.patch index 0226d4f..daf058b 100644 --- a/meta/recipes-devtools/dnf/dnf/0001-Move-releasever-check-after-the-etc-dnf-vars-substit.patch +++ b/meta/recipes-devtools/dnf/dnf/0001-Move-releasever-check-after-the-etc-dnf-vars-substit.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Move releasever check after the etc/dnf/vars substitutions. The substitutions may actually set the releasever correctly, and so the check is premature. -Upstream-Status: Pending +Upstream-Status: Submitted [https://github.com/rpm-software-management/dnf/pull/868] Signed-off-by: Alexander Kanavin --- dnf/cli/cli.py | 6 +++--- diff --git a/meta/recipes-devtools/libcomps/libcomps/0002-Set-library-installation-path-correctly.patch b/meta/recipes-devtools/libcomps/libcomps/0002-Set-library-installation-path-correctly.patch index ec1fdc4..dc3d976 100644 --- a/meta/recipes-devtools/libcomps/libcomps/0002-Set-library-installation-path-correctly.patch +++ b/meta/recipes-devtools/libcomps/libcomps/0002-Set-library-installation-path-correctly.patch @@ -3,7 +3,7 @@ From: Alexander Kanavin Date: Fri, 30 Dec 2016 18:26:00 +0200 Subject: [PATCH 2/2] Set library installation path correctly -Upstream-Status: Pending +Upstream-Status: Submitted [https://github.com/rpm-software-management/libcomps/pull/32] Signed-off-by: Alexander Kanavin --- libcomps/src/CMakeLists.txt | 2 +- diff --git a/meta/recipes-devtools/libdnf/libdnf/0001-FindGtkDoc.cmake-drop-the-requirement-for-GTKDOC_SCA.patch b/meta/recipes-devtools/libdnf/libdnf/0001-FindGtkDoc.cmake-drop-the-requirement-for-GTKDOC_SCA.patch index 73acda6..791a32e 100644 --- a/meta/recipes-devtools/libdnf/libdnf/0001-FindGtkDoc.cmake-drop-the-requirement-for-GTKDOC_SCA.patch +++ b/meta/recipes-devtools/libdnf/libdnf/0001-FindGtkDoc.cmake-drop-the-requirement-for-GTKDOC_SCA.patch @@ -7,7 +7,7 @@ Subject: [PATCH 1/4] FindGtkDoc.cmake: drop the requirement for For some reason cmake is not able to find it when building in openembedded, and it's bundled with the source code anyway. -Upstream-Status: Pending +Upstream-Status: Submitted [https://github.com/rpm-software-management/libdnf/pull/312] Signed-off-by: Alexander Kanavin --- cmake/modules/FindGtkDoc.cmake | 2 +- diff --git a/meta/recipes-devtools/libdnf/libdnf/0001-Get-parameters-for-both-libsolv-and-libsolvext-libdn.patch b/meta/recipes-devtools/libdnf/libdnf/0001-Get-parameters-for-both-libsolv-and-libsolvext-libdn.patch index 77b20c2..280edb7 100644 --- a/meta/recipes-devtools/libdnf/libdnf/0001-Get-parameters-for-both-libsolv-and-libsolvext-libdn.patch +++ b/meta/recipes-devtools/libdnf/libdnf/0001-Get-parameters-for-both-libsolv-and-libsolvext-libdn.patch @@ -4,7 +4,7 @@ Date: Tue, 7 Feb 2017 12:16:03 +0200 Subject: [PATCH 5/5] Get parameters for both libsolv and libsolvext (libdnf is using both) -Upstream-Status: Pending [depends on whether https://github.com/openSUSE/libsolv/pull/177 is accepted] +Upstream-Status: Submitted [https://github.com/rpm-software-management/libdnf/pull/312] Signed-off-by: Alexander Kanavin --- diff --git a/meta/recipes-devtools/libdnf/libdnf/0002-Prefix-sysroot-path-to-introspection-tools-path.patch b/meta/recipes-devtools/libdnf/libdnf/0002-Prefix-sysroot-path-to-introspection-tools-path.patch index 3d772a5..7eecc3d 100644 --- a/meta/recipes-devtools/libdnf/libdnf/0002-Prefix-sysroot-path-to-introspection-tools-path.patch +++ b/meta/recipes-devtools/libdnf/libdnf/0002-Prefix-sysroot-path-to-introspection-tools-path.patch @@ -3,7 +3,7 @@ From: Alexander Kanavin Date: Fri, 30 Dec 2016 18:17:19 +0200 Subject: [PATCH 2/4] Prefix sysroot path to introspection tools path. -Upstream-Status: Pending +Upstream-Status: Submitted [https://github.com/rpm-software-management/libdnf/pull/312] Signed-off-by: Alexander Kanavin --- libdnf/CMakeLists.txt | 4 ++-- diff --git a/meta/recipes-devtools/libdnf/libdnf/0003-Set-the-library-installation-directory-correctly.patch b/meta/recipes-devtools/libdnf/libdnf/0003-Set-the-library-installation-directory-correctly.patch index d7e59d8..8126409 100644 --- a/meta/recipes-devtools/libdnf/libdnf/0003-Set-the-library-installation-directory-correctly.patch +++ b/meta/recipes-devtools/libdnf/libdnf/0003-Set-the-library-installation-directory-correctly.patch @@ -3,7 +3,7 @@ From: Alexander Kanavin Date: Fri, 30 Dec 2016 18:20:01 +0200 Subject: [PATCH 3/4] Set the library installation directory correctly. -Upstream-Status: Pending +Upstream-Status: Submitted [https://github.com/rpm-software-management/libdnf/pull/312] Signed-off-by: Alexander Kanavin --- CMakeLists.txt | 4 +++- diff --git a/meta/recipes-devtools/libdnf/libdnf/0004-Set-libsolv-variables-with-pkg-config-cmake-s-own-mo.patch b/meta/recipes-devtools/libdnf/libdnf/0004-Set-libsolv-variables-with-pkg-config-cmake-s-own-mo.patch index fc3b048..1ea9310 100644 --- a/meta/recipes-devtools/libdnf/libdnf/0004-Set-libsolv-variables-with-pkg-config-cmake-s-own-mo.patch +++ b/meta/recipes-devtools/libdnf/libdnf/0004-Set-libsolv-variables-with-pkg-config-cmake-s-own-mo.patch @@ -4,7 +4,7 @@ Date: Fri, 30 Dec 2016 18:24:50 +0200 Subject: [PATCH 4/5] Set libsolv variables with pkg-config (cmake's own module doesn't work properly). -Upstream-Status: Pending +Upstream-Status: Submitted [https://github.com/rpm-software-management/libdnf/pull/312] Signed-off-by: Alexander Kanavin --- diff --git a/meta/recipes-devtools/librepo/librepo/0001-Correctly-set-the-library-installation-directory.patch b/meta/recipes-devtools/librepo/librepo/0001-Correctly-set-the-library-installation-directory.patch index 01fea40..08a58f1 100644 --- a/meta/recipes-devtools/librepo/librepo/0001-Correctly-set-the-library-installation-directory.patch +++ b/meta/recipes-devtools/librepo/librepo/0001-Correctly-set-the-library-installation-directory.patch @@ -3,7 +3,7 @@ From: Alexander Kanavin Date: Fri, 30 Dec 2016 18:04:35 +0200 Subject: [PATCH 1/4] Correctly set the library installation directory -Upstream-Status: Pending +Upstream-Status: Submitted [https://github.com/rpm-software-management/librepo/pull/110] Signed-off-by: Alexander Kanavin --- librepo/CMakeLists.txt | 3 ++- diff --git a/meta/recipes-devtools/librepo/librepo/0003-tests-fix-a-race-when-deleting-temporary-directories.patch b/meta/recipes-devtools/librepo/librepo/0003-tests-fix-a-race-when-deleting-temporary-directories.patch index 0d2fae4..89ca60e 100644 --- a/meta/recipes-devtools/librepo/librepo/0003-tests-fix-a-race-when-deleting-temporary-directories.patch +++ b/meta/recipes-devtools/librepo/librepo/0003-tests-fix-a-race-when-deleting-temporary-directories.patch @@ -3,7 +3,7 @@ From: Alexander Kanavin Date: Fri, 30 Dec 2016 18:06:24 +0200 Subject: [PATCH 3/4] tests: fix a race when deleting temporary directories -Upstream-Status: Pending +Upstream-Status: Submitted [https://github.com/rpm-software-management/librepo/pull/110] Signed-off-by: Alexander Kanavin --- tests/python/tests/test_yum_repo_downloading.py | 2 +- diff --git a/meta/recipes-devtools/librepo/librepo/0004-Set-gpgme-variables-with-pkg-config-not-with-cmake-m.patch b/meta/recipes-devtools/librepo/librepo/0004-Set-gpgme-variables-with-pkg-config-not-with-cmake-m.patch index 6665b31..f7d7ab3 100644 --- a/meta/recipes-devtools/librepo/librepo/0004-Set-gpgme-variables-with-pkg-config-not-with-cmake-m.patch +++ b/meta/recipes-devtools/librepo/librepo/0004-Set-gpgme-variables-with-pkg-config-not-with-cmake-m.patch @@ -4,7 +4,7 @@ Date: Fri, 30 Dec 2016 18:23:27 +0200 Subject: [PATCH 4/4] Set gpgme variables with pkg-config, not with cmake module (which doesn't work properly) -Upstream-Status: Pending +Upstream-Status: Inappropriate [gpgme upstream does not have pkg-config support and is not interested in it] Signed-off-by: Alexander Kanavin --- CMakeLists.txt | 3 ++- diff --git a/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch b/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch index d99ddeb..1f61aca 100644 --- a/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch +++ b/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch @@ -4,7 +4,7 @@ Date: Mon, 27 Feb 2017 09:43:30 +0200 Subject: [PATCH] Do not hardcode "lib/rpm" as the installation path for default configuration and macros. -Upstream-Status: Inappropriate [oe-core specific] +Upstream-Status: Submitted [https://github.com/rpm-software-management/rpm/pull/263] Signed-off-by: Alexander Kanavin --- diff --git a/meta/recipes-devtools/rpm/files/0001-Fix-build-with-musl-C-library.patch b/meta/recipes-devtools/rpm/files/0001-Fix-build-with-musl-C-library.patch index 95c7013..edf9ec0 100644 --- a/meta/recipes-devtools/rpm/files/0001-Fix-build-with-musl-C-library.patch +++ b/meta/recipes-devtools/rpm/files/0001-Fix-build-with-musl-C-library.patch @@ -3,7 +3,7 @@ From: Alexander Kanavin Date: Mon, 27 Feb 2017 14:43:21 +0200 Subject: [PATCH] Fix build with musl C library. -Upstream-Status: Pending +Upstream-Status: Inappropriate [problem already solved in master branch] Signed-off-by: Alexander Kanavin -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 07:21:09 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 07:21:09 +0000 Subject: [oe-commits] [openembedded-core] 23/43: glib.inc: set CVE_PRODUCT to glib In-Reply-To: <150070804626.9065.8463727520566698688@git.openembedded.org> References: <150070804626.9065.8463727520566698688@git.openembedded.org> Message-ID: <20170722072047.1D1BA232844@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 76be5078c04ca5dd61fe945226652eb99cb9981d Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:22:56 2017 +0300 glib.inc: set CVE_PRODUCT to glib NVD uses product glib and vendor gnome for CVE's like: https://nvd.nist.gov/vuln/detail/CVE-2016-6855 Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/recipes-core/glib-2.0/glib.inc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-core/glib-2.0/glib.inc b/meta/recipes-core/glib-2.0/glib.inc index 4a145ae..d6ef4df 100644 --- a/meta/recipes-core/glib-2.0/glib.inc +++ b/meta/recipes-core/glib-2.0/glib.inc @@ -15,6 +15,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \ BUGTRACKER = "http://bugzilla.gnome.org" SECTION = "libs" +CVE_PRODUCT = "glib" + BBCLASSEXTEND = "native nativesdk" DEPENDS = "virtual/libiconv libffi zlib glib-2.0-native" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 07:21:10 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 07:21:10 +0000 Subject: [oe-commits] [openembedded-core] 24/43: glibc-common.inc: set CVE_PRODUCT to glibc In-Reply-To: <150070804626.9065.8463727520566698688@git.openembedded.org> References: <150070804626.9065.8463727520566698688@git.openembedded.org> Message-ID: <20170722072047.2506A23282E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit f21158985e50a2030d83fd582642cbddbf4427cc Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:22:57 2017 +0300 glibc-common.inc: set CVE_PRODUCT to glibc All recipes which include this .inc map to glibc NVD component. Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/recipes-core/glibc/glibc-common.inc | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/recipes-core/glibc/glibc-common.inc b/meta/recipes-core/glibc/glibc-common.inc index bba1568..b05e162 100644 --- a/meta/recipes-core/glibc/glibc-common.inc +++ b/meta/recipes-core/glibc/glibc-common.inc @@ -7,3 +7,4 @@ LIC_FILES_CHKSUM ?= "file://LICENSES;md5=07a394b26e0902b9ffdec03765209770 \ file://COPYING;md5=393a5ca445f6965873eca0259a17f833 \ file://posix/rxspencer/COPYRIGHT;md5=dc5485bb394a13b2332ec1c785f5d83a \ file://COPYING.LIB;md5=bbb461211a33b134d42ed5ee802b37ff " +CVE_PRODUCT = "glibc" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 07:21:12 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 07:21:12 +0000 Subject: [oe-commits] [openembedded-core] 26/43: libpcre_8.40.bb: set CVE_PRODUCT to prce In-Reply-To: <150070804626.9065.8463727520566698688@git.openembedded.org> References: <150070804626.9065.8463727520566698688@git.openembedded.org> Message-ID: <20170722072047.315FA23282D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 8ce07da48ee86223b97b37042140ef6946d3f5a2 Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:22:59 2017 +0300 libpcre_8.40.bb: set CVE_PRODUCT to prce It is used in NVD for CVE's like: https://nvd.nist.gov/vuln/detail/CVE-2017-7246 Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/recipes-support/libpcre/libpcre_8.40.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-support/libpcre/libpcre_8.40.bb b/meta/recipes-support/libpcre/libpcre_8.40.bb index 8563cd1..a897ac6 100644 --- a/meta/recipes-support/libpcre/libpcre_8.40.bb +++ b/meta/recipes-support/libpcre/libpcre_8.40.bb @@ -17,6 +17,8 @@ SRC_URI = "https://ftp.pcre.org/pub/pcre/pcre-${PV}.tar.bz2 \ SRC_URI[md5sum] = "41a842bf7dcecd6634219336e2167d1d" SRC_URI[sha256sum] = "00e27a29ead4267e3de8111fcaa59b132d0533cdfdbdddf4b0604279acbcf4f4" +CVE_PRODUCT = "pcre" + S = "${WORKDIR}/pcre-${PV}" PROVIDES += "pcre" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 07:21:15 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 07:21:15 +0000 Subject: [oe-commits] [openembedded-core] 29/43: libsndfile1_1.0.28.bb: set CVE_PRODUCT to libsndfile In-Reply-To: <150070804626.9065.8463727520566698688@git.openembedded.org> References: <150070804626.9065.8463727520566698688@git.openembedded.org> Message-ID: <20170722072047.44566232846@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit a31a3b94029d8e72921db13ee7f437e6b5e38eda Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:23:02 2017 +0300 libsndfile1_1.0.28.bb: set CVE_PRODUCT to libsndfile It is used in NVD to CVE's like: https://nvd.nist.gov/vuln/detail/CVE-2017-6892 Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/recipes-multimedia/libsndfile/libsndfile1_1.0.28.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-multimedia/libsndfile/libsndfile1_1.0.28.bb b/meta/recipes-multimedia/libsndfile/libsndfile1_1.0.28.bb index 6f242cfa..e6a92a2 100644 --- a/meta/recipes-multimedia/libsndfile/libsndfile1_1.0.28.bb +++ b/meta/recipes-multimedia/libsndfile/libsndfile1_1.0.28.bb @@ -14,6 +14,8 @@ SRC_URI[sha256sum] = "1ff33929f042fa333aed1e8923aa628c3ee9e1eb85512686c55092d1e5 LIC_FILES_CHKSUM = "file://COPYING;md5=e77fe93202736b47c07035910f47974a" +CVE_PRODUCT = "libsndfile" + S = "${WORKDIR}/libsndfile-${PV}" PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'alsa', d)}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 07:21:16 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 07:21:16 +0000 Subject: [oe-commits] [openembedded-core] 30/43: nspr_4.14.bb: set CVE_PRODUCT to netscape_portable_runtime In-Reply-To: <150070804626.9065.8463727520566698688@git.openembedded.org> References: <150070804626.9065.8463727520566698688@git.openembedded.org> Message-ID: <20170722072047.4A477232830@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 9afb6e335acd51620d4823c61c2133f79e7c41d0 Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:23:03 2017 +0300 nspr_4.14.bb: set CVE_PRODUCT to netscape_portable_runtime This is used in NVD database entries like CVE: https://nvd.nist.gov/vuln/detail/CVE-2016-1951 Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/recipes-support/nspr/nspr_4.14.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-support/nspr/nspr_4.14.bb b/meta/recipes-support/nspr/nspr_4.14.bb index 6b47820..b0892a1 100644 --- a/meta/recipes-support/nspr/nspr_4.14.bb +++ b/meta/recipes-support/nspr/nspr_4.14.bb @@ -25,6 +25,8 @@ UPSTREAM_CHECK_REGEX = "v(?P\d+(\.\d+)+)/" SRC_URI[md5sum] = "743f6b7888a614da9927400874054d8c" SRC_URI[sha256sum] = "64fc18826257403a9132240aa3c45193d577a84b08e96f7e7770a97c074d17d5" +CVE_PRODUCT = "netscape_portable_runtime" + S = "${WORKDIR}/nspr-${PV}/nspr" RDEPENDS_${PN}-dev += "perl" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 07:21:05 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 07:21:05 +0000 Subject: [oe-commits] [openembedded-core] 19/43: bluez5.inc: set CVE_PRODUCT to bluez In-Reply-To: <150070804626.9065.8463727520566698688@git.openembedded.org> References: <150070804626.9065.8463727520566698688@git.openembedded.org> Message-ID: <20170722072047.054B9232840@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit e7c6b1e47b517df65baeb5c565fddc4bd7e3ac71 Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:22:52 2017 +0300 bluez5.inc: set CVE_PRODUCT to bluez bluez is the product name in NVD database for CVE's like: https://nvd.nist.gov/vuln/detail/CVE-2016-7837 Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/recipes-connectivity/bluez5/bluez5.inc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-connectivity/bluez5/bluez5.inc b/meta/recipes-connectivity/bluez5/bluez5.inc index bf1b1ca..527e403 100644 --- a/meta/recipes-connectivity/bluez5/bluez5.inc +++ b/meta/recipes-connectivity/bluez5/bluez5.inc @@ -53,6 +53,8 @@ SRC_URI = "\ " S = "${WORKDIR}/bluez-${PV}" +CVE_PRODUCT = "bluez" + inherit autotools pkgconfig systemd update-rc.d distro_features_check ptest EXTRA_OECONF = "\ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 07:21:20 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 07:21:20 +0000 Subject: [oe-commits] [openembedded-core] 34/43: sqlite3.inc: set CVE_PRODUCT to sqlite In-Reply-To: <150070804626.9065.8463727520566698688@git.openembedded.org> References: <150070804626.9065.8463727520566698688@git.openembedded.org> Message-ID: <20170722072047.630E523284A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 2f7b0913d6a9d96aa6a94752afe8966566b1ca27 Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:23:07 2017 +0300 sqlite3.inc: set CVE_PRODUCT to sqlite It is used in NVD for CVE's like: https://nvd.nist.gov/vuln/detail/CVE-2016-6153 Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/recipes-support/sqlite/sqlite3.inc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-support/sqlite/sqlite3.inc b/meta/recipes-support/sqlite/sqlite3.inc index 42b534d..95ec89c 100644 --- a/meta/recipes-support/sqlite/sqlite3.inc +++ b/meta/recipes-support/sqlite/sqlite3.inc @@ -17,6 +17,8 @@ S = "${WORKDIR}/sqlite-autoconf-${SQLITE_PV}" UPSTREAM_CHECK_URI = "http://www.sqlite.org/" UPSTREAM_CHECK_REGEX = "releaselog/(?P(\d+[\.\-_]*)+)\.html" +CVE_PRODUCT = "sqlite" + inherit autotools pkgconfig PACKAGECONFIG ?= "" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 07:21:03 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 07:21:03 +0000 Subject: [oe-commits] [openembedded-core] 17/43: glibc-package.inc: add support for armeb of multilib In-Reply-To: <150070804626.9065.8463727520566698688@git.openembedded.org> References: <150070804626.9065.8463727520566698688@git.openembedded.org> Message-ID: <20170722072046.EDB2E23283E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit c04c21eb938553519e40e326579b7f5970945d57 Author: zhengrq AuthorDate: Thu Jul 20 23:03:47 2017 +0800 glibc-package.inc: add support for armeb of multilib Add support for armeb of multilib. Signed-off-by: zhengrq Signed-off-by: Ross Burton --- meta/recipes-core/glibc/glibc-package.inc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/meta/recipes-core/glibc/glibc-package.inc b/meta/recipes-core/glibc/glibc-package.inc index 0281251..a291148 100644 --- a/meta/recipes-core/glibc/glibc-package.inc +++ b/meta/recipes-core/glibc/glibc-package.inc @@ -131,6 +131,10 @@ do_install_append_arm () { do_install_armmultilib } +do_install_append_armeb () { + do_install_armmultilib +} + do_install_armmultilib () { oe_multilib_header bits/endian.h bits/fcntl.h bits/fenv.h bits/fp-fast.h bits/hwcap.h bits/ipc.h bits/link.h bits/wordsize.h -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 07:21:07 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 07:21:07 +0000 Subject: [oe-commits] [openembedded-core] 21/43: flac_1.3.1.bb: set CVE_PRODUCT to libflac In-Reply-To: <150070804626.9065.8463727520566698688@git.openembedded.org> References: <150070804626.9065.8463727520566698688@git.openembedded.org> Message-ID: <20170722072047.10F3E232842@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 005c0a48820cb2b2918b377c4abe25c62509a34a Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:22:54 2017 +0300 flac_1.3.1.bb: set CVE_PRODUCT to libflac NVD uses product name libflac for CVE's like: https://nvd.nist.gov/vuln/detail/CVE-2014-8962 Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/recipes-multimedia/flac/flac_1.3.2.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-multimedia/flac/flac_1.3.2.bb b/meta/recipes-multimedia/flac/flac_1.3.2.bb index 8a7fc5e..8315ab5 100644 --- a/meta/recipes-multimedia/flac/flac_1.3.2.bb +++ b/meta/recipes-multimedia/flac/flac_1.3.2.bb @@ -19,6 +19,8 @@ SRC_URI = "http://downloads.xiph.org/releases/flac/${BP}.tar.xz" SRC_URI[md5sum] = "454f1bfa3f93cc708098d7890d0499bd" SRC_URI[sha256sum] = "91cfc3ed61dc40f47f050a109b08610667d73477af6ef36dcad31c31a4a8d53f" +CVE_PRODUCT = "libflac" + inherit autotools gettext EXTRA_OECONF = "--disable-oggtest \ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 07:21:08 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 07:21:08 +0000 Subject: [oe-commits] [openembedded-core] 22/43: gcc-common.inc: set CVE_PRODUCT to gcc In-Reply-To: <150070804626.9065.8463727520566698688@git.openembedded.org> References: <150070804626.9065.8463727520566698688@git.openembedded.org> Message-ID: <20170722072047.16AA7232843@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 701f8aa98cd0d8ba5dce8ef2f68cf557981a7247 Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:22:55 2017 +0300 gcc-common.inc: set CVE_PRODUCT to gcc All recipes which include this are using gcc as product name in NVD like https://nvd.nist.gov/vuln/detail/CVE-2015-5276 Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/recipes-devtools/gcc/gcc-common.inc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-devtools/gcc/gcc-common.inc b/meta/recipes-devtools/gcc/gcc-common.inc index 3d484ef..b5975b5 100644 --- a/meta/recipes-devtools/gcc/gcc-common.inc +++ b/meta/recipes-devtools/gcc/gcc-common.inc @@ -5,6 +5,8 @@ LICENSE = "GPL" NATIVEDEPS = "" +CVE_PRODUCT = "gcc" + inherit autotools gettext texinfo BPN = "gcc" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 07:21:21 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 07:21:21 +0000 Subject: [oe-commits] [openembedded-core] 35/43: wpa-supplicant_2.6.bb: set CVE_PRODUCT to wpa_supplicant In-Reply-To: <150070804626.9065.8463727520566698688@git.openembedded.org> References: <150070804626.9065.8463727520566698688@git.openembedded.org> Message-ID: <20170722072047.69A5D23284B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 50a7c64db3940773d44e7d0e6273a092cb1ad598 Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:23:08 2017 +0300 wpa-supplicant_2.6.bb: set CVE_PRODUCT to wpa_supplicant It is used in NVD database CVE's like: https://nvd.nist.gov/vuln/detail/CVE-2015-1863 Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.6.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.6.bb b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.6.bb index 146bccf..5215b00 100644 --- a/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.6.bb +++ b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.6.bb @@ -28,6 +28,8 @@ SRC_URI = "http://w1.fi/releases/wpa_supplicant-${PV}.tar.gz \ SRC_URI[md5sum] = "091569eb4440b7d7f2b4276dbfc03c3c" SRC_URI[sha256sum] = "b4936d34c4e6cdd44954beba74296d964bc2c9668ecaa5255e499636fe2b1450" +CVE_PRODUCT = "wpa_supplicant" + S = "${WORKDIR}/wpa_supplicant-${PV}" PACKAGES_prepend = "wpa-supplicant-passphrase wpa-supplicant-cli " -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 07:21:11 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 07:21:11 +0000 Subject: [oe-commits] [openembedded-core] 25/43: icu.inc: set CVE_PRODUCT to international_components_for_unicode In-Reply-To: <150070804626.9065.8463727520566698688@git.openembedded.org> References: <150070804626.9065.8463727520566698688@git.openembedded.org> Message-ID: <20170722072047.2B24B232831@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit c83f35cc680c5c6d7c0a09961dc76575c26ccdf9 Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:22:58 2017 +0300 icu.inc: set CVE_PRODUCT to international_components_for_unicode NVD uses it for CVE's like: https://nvd.nist.gov/vuln/detail/CVE-2014-8146 Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/recipes-support/icu/icu.inc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-support/icu/icu.inc b/meta/recipes-support/icu/icu.inc index 5286274..a1ef9ec 100644 --- a/meta/recipes-support/icu/icu.inc +++ b/meta/recipes-support/icu/icu.inc @@ -9,6 +9,8 @@ LICENSE = "ICU" DEPENDS = "icu-native" DEPENDS_class-native = "" +CVE_PRODUCT = "international_components_for_unicode" + S = "${WORKDIR}/icu/source" SPDX_S = "${WORKDIR}/icu" STAGING_ICU_DIR_NATIVE = "${STAGING_DATADIR_NATIVE}/${BPN}/${PV}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 07:21:22 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 07:21:22 +0000 Subject: [oe-commits] [openembedded-core] 36/43: cve-check.bbclass: use weak assignment for default CVE_PRODUCT In-Reply-To: <150070804626.9065.8463727520566698688@git.openembedded.org> References: <150070804626.9065.8463727520566698688@git.openembedded.org> Message-ID: <20170722072047.7048523284C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 8fedd857278e7d2fde4dde5a1f67489fd3d84f97 Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:23:09 2017 +0300 cve-check.bbclass: use weak assignment for default CVE_PRODUCT This way also bbclasses can override it. For example kernel.bbclass could set CVE_PRODUCT to linux_kernel for all users of the class which compile Linux kernels. Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/classes/cve-check.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/classes/cve-check.bbclass b/meta/classes/cve-check.bbclass index 6f5b0f5..8dde4a2 100644 --- a/meta/classes/cve-check.bbclass +++ b/meta/classes/cve-check.bbclass @@ -22,7 +22,7 @@ # The product name that the CVE database uses. Defaults to BPN, but may need to # be overriden per recipe (for example tiff.bb sets CVE_PRODUCT=libtiff). -CVE_PRODUCT ?= "${BPN}" +CVE_PRODUCT ??= "${BPN}" CVE_CHECK_DB_DIR ?= "${DL_DIR}/CVE_CHECK" CVE_CHECK_DB_FILE ?= "${CVE_CHECK_DB_DIR}/nvd.db" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 07:21:13 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 07:21:13 +0000 Subject: [oe-commits] [openembedded-core] 27/43: libpcre2_10.23.bb: set CVE_PRODUCT to pcre2 In-Reply-To: <150070804626.9065.8463727520566698688@git.openembedded.org> References: <150070804626.9065.8463727520566698688@git.openembedded.org> Message-ID: <20170722072047.37FF7232845@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit acec8525aa845dedcdce29cfe20559761e9f0544 Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:23:00 2017 +0300 libpcre2_10.23.bb: set CVE_PRODUCT to pcre2 It is used in NVD as product name for CVE's like: https://nvd.nist.gov/vuln/detail/CVE-2017-8786 Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/recipes-support/libpcre/libpcre2_10.23.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-support/libpcre/libpcre2_10.23.bb b/meta/recipes-support/libpcre/libpcre2_10.23.bb index 17d397e..794d973 100644 --- a/meta/recipes-support/libpcre/libpcre2_10.23.bb +++ b/meta/recipes-support/libpcre/libpcre2_10.23.bb @@ -17,6 +17,8 @@ SRC_URI = "https://ftp.pcre.org/pub/pcre/pcre2-${PV}.tar.bz2 \ SRC_URI[md5sum] = "b2cd00ca7e24049040099b0a46bb3649" SRC_URI[sha256sum] = "dfc79b918771f02d33968bd34a749ad7487fa1014aeb787fad29dd392b78c56e" +CVE_PRODUCT = "pcre2" + S = "${WORKDIR}/pcre2-${PV}" PROVIDES += "pcre2" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 07:21:14 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 07:21:14 +0000 Subject: [oe-commits] [openembedded-core] 28/43: libsamplerate0_0.1.9.bb: set CVE_PRODUCT to libsamplerate In-Reply-To: <150070804626.9065.8463727520566698688@git.openembedded.org> References: <150070804626.9065.8463727520566698688@git.openembedded.org> Message-ID: <20170722072047.3E12B23282F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 2aa5c8087e153ca43294fa01a8cd65cbe296da62 Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:23:01 2017 +0300 libsamplerate0_0.1.9.bb: set CVE_PRODUCT to libsamplerate It is used in NVD for CVE's like: https://nvd.nist.gov/vuln/detail/CVE-2017-7697 Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/recipes-multimedia/libsamplerate/libsamplerate0_0.1.9.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-multimedia/libsamplerate/libsamplerate0_0.1.9.bb b/meta/recipes-multimedia/libsamplerate/libsamplerate0_0.1.9.bb index 5473bff..ae08189 100644 --- a/meta/recipes-multimedia/libsamplerate/libsamplerate0_0.1.9.bb +++ b/meta/recipes-multimedia/libsamplerate/libsamplerate0_0.1.9.bb @@ -14,6 +14,8 @@ SRC_URI = "http://www.mega-nerd.com/SRC/libsamplerate-${PV}.tar.gz \ SRC_URI[md5sum] = "2b78ae9fe63b36b9fbb6267fad93f259" SRC_URI[sha256sum] = "0a7eb168e2f21353fb6d84da152e4512126f7dc48ccb0be80578c565413444c1" +CVE_PRODUCT = "libsamplerate" + UPSTREAM_CHECK_URI = "http://www.mega-nerd.com/SRC/download.html" S = "${WORKDIR}/libsamplerate-${PV}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 07:21:23 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 07:21:23 +0000 Subject: [oe-commits] [openembedded-core] 37/43: kernel.bbclass: set CVE_PRODUCT to linux_kernel if not set by recipe In-Reply-To: <150070804626.9065.8463727520566698688@git.openembedded.org> References: <150070804626.9065.8463727520566698688@git.openembedded.org> Message-ID: <20170722072047.773D423284D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 9757dcd4e990edfd12d383745c28a03cc8fc1f88 Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:23:10 2017 +0300 kernel.bbclass: set CVE_PRODUCT to linux_kernel if not set by recipe It is used by NVD database CVE's like: https://nvd.nist.gov/vuln/detail/CVE-2017-7273 Setting this in kernel.bbclass fixes CVE reporting for all users of the class. Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/classes/kernel.bbclass | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass index 7670c71..ce2cab6 100644 --- a/meta/classes/kernel.bbclass +++ b/meta/classes/kernel.bbclass @@ -6,6 +6,8 @@ PACKAGE_WRITE_DEPS += "depmodwrapper-cross virtual/update-alternatives-native" do_deploy[depends] += "depmodwrapper-cross:do_populate_sysroot" +CVE_PRODUCT ?= "linux_kernel" + S = "${STAGING_KERNEL_DIR}" B = "${WORKDIR}/build" KBUILD_OUTPUT = "${B}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 07:21:25 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 07:21:25 +0000 Subject: [oe-commits] [openembedded-core] 39/43: ovmf-shell-image.bb: simplify dependencies In-Reply-To: <150070804626.9065.8463727520566698688@git.openembedded.org> References: <150070804626.9065.8463727520566698688@git.openembedded.org> Message-ID: <20170722072047.858C223284F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 4d253d3eef864a4c62d7673c0451b7e7a2346be2 Author: Patrick Ohly AuthorDate: Fri Jul 21 08:25:13 2017 +0200 ovmf-shell-image.bb: simplify dependencies The image consists only of the EFI system partition, therefore we can avoid depending on the default wic tools. Signed-off-by: Patrick Ohly Signed-off-by: Ross Burton --- meta/recipes-core/ovmf/ovmf-shell-image.bb | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/meta/recipes-core/ovmf/ovmf-shell-image.bb b/meta/recipes-core/ovmf/ovmf-shell-image.bb index 029547b..0d2b8bf 100644 --- a/meta/recipes-core/ovmf/ovmf-shell-image.bb +++ b/meta/recipes-core/ovmf/ovmf-shell-image.bb @@ -1,10 +1,13 @@ DESCRIPTION = "boot image with UEFI shell and tools" # For this image recipe, only the wic format with a -# single vfat partition makes sense. +# single vfat partition makes sense. Because we have no +# boot loader and no rootfs partition, not additional +# tools are needed for this .wks file. IMAGE_FSTYPES_forcevariable = 'wic' - WKS_FILE = "ovmf/ovmf-shell-image.wks" +WKS_FILE_DEPENDS = "" + inherit image # We want a minimal image with just ovmf-shell-efi unpacked in it. We -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 07:21:26 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 07:21:26 +0000 Subject: [oe-commits] [openembedded-core] 40/43: ffmpeg: fix pkg-config utilization In-Reply-To: <150070804626.9065.8463727520566698688@git.openembedded.org> References: <150070804626.9065.8463727520566698688@git.openembedded.org> Message-ID: <20170722072047.8DAD1232850@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit c629377122ab348846a3f7b35e93333782dcca8d Author: Nicolas Dechesne AuthorDate: Thu Jul 20 16:55:11 2017 +0200 ffmpeg: fix pkg-config utilization in config.log we can see: WARNING: aarch64-linaro-linux-pkg-config not found, library detection may fail. ffmpeg configure script is not looking for pkg-config at the rigt place since it is assuming cross compilation. let's force its value in the recipe. This patches 'fixes' library detection, so it also adds: --disable-libxcb --disable-libxcb-shm --disable-libxcb-xfixes --disable-libxcb-shape Which were dangling configure options, which started to be enabled after the pkg-config fix, so they need now to be explicitely disabled. Follow up patch will enable these options when DISTRO_FEATURES has x11. Signed-off-by: Nicolas Dechesne Signed-off-by: Ross Burton --- meta/recipes-multimedia/ffmpeg/ffmpeg_3.3.2.bb | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/meta/recipes-multimedia/ffmpeg/ffmpeg_3.3.2.bb b/meta/recipes-multimedia/ffmpeg/ffmpeg_3.3.2.bb index 73213cc..3c18367 100644 --- a/meta/recipes-multimedia/ffmpeg/ffmpeg_3.3.2.bb +++ b/meta/recipes-multimedia/ffmpeg/ffmpeg_3.3.2.bb @@ -88,6 +88,10 @@ EXTRA_OECONF = " \ --enable-pic \ --enable-shared \ --enable-pthreads \ + --disable-libxcb \ + --disable-libxcb-shm \ + --disable-libxcb-xfixes \ + --disable-libxcb-shape \ ${@bb.utils.contains('USE_NONFREE', 'yes', '--enable-nonfree', '', d)} \ \ --cross-prefix=${TARGET_PREFIX} \ @@ -108,6 +112,7 @@ EXTRA_OECONF = " \ --datadir=${datadir}/ffmpeg \ ${@bb.utils.contains('AVAILTUNES', 'mips32r2', '', '--disable-mipsdsp --disable-mipsdspr2', d)} \ --cpu=${@cpu(d)} \ + --pkg-config=pkg-config \ " EXTRA_OECONF_append_linux-gnux32 = " --disable-asm" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 07:21:24 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 07:21:24 +0000 Subject: [oe-commits] [openembedded-core] 38/43: ffmpeg: add PACKAGECONFIG for sdl2 In-Reply-To: <150070804626.9065.8463727520566698688@git.openembedded.org> References: <150070804626.9065.8463727520566698688@git.openembedded.org> Message-ID: <20170722072047.7D99823284E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit d51c8328b833e387b2197f363b1c2cbe72dd2ca9 Author: Nicolas Dechesne AuthorDate: Thu Jul 20 22:56:34 2017 +0200 ffmpeg: add PACKAGECONFIG for sdl2 Enabling sdl2 will bring ffplay applications, which can be handy when working with ffmpeg. Signed-off-by: Nicolas Dechesne Signed-off-by: Ross Burton --- meta/recipes-multimedia/ffmpeg/ffmpeg_3.3.2.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/recipes-multimedia/ffmpeg/ffmpeg_3.3.2.bb b/meta/recipes-multimedia/ffmpeg/ffmpeg_3.3.2.bb index f4bb2ba..73213cc 100644 --- a/meta/recipes-multimedia/ffmpeg/ffmpeg_3.3.2.bb +++ b/meta/recipes-multimedia/ffmpeg/ffmpeg_3.3.2.bb @@ -65,6 +65,7 @@ PACKAGECONFIG[lzma] = "--enable-lzma,--disable-lzma,xz" PACKAGECONFIG[mp3lame] = "--enable-libmp3lame,--disable-libmp3lame,lame" PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl" PACKAGECONFIG[schroedinger] = "--enable-libschroedinger,--disable-libschroedinger,schroedinger" +PACKAGECONFIG[sdl2] = "--enable-sdl2,--disable-sdl2,virtual/libsdl2" PACKAGECONFIG[speex] = "--enable-libspeex,--disable-libspeex,speex" PACKAGECONFIG[theora] = "--enable-libtheora,--disable-libtheora,libtheora" PACKAGECONFIG[vaapi] = "--enable-vaapi,--disable-vaapi,libva" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 07:21:28 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 07:21:28 +0000 Subject: [oe-commits] [openembedded-core] 42/43: cve-check.bbclass: use "+git" as separator in PV instead of "git+" In-Reply-To: <150070804626.9065.8463727520566698688@git.openembedded.org> References: <150070804626.9065.8463727520566698688@git.openembedded.org> Message-ID: <20170722072047.9FD61232833@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 595572dc770c9e43ffb4a0e19bf236d59ebe152c Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:23:11 2017 +0300 cve-check.bbclass: use "+git" as separator in PV instead of "git+" PV is the recipe major version number. cve-check tries to map that to NVD database release versions of the component. If the recipe sources are taken from git, the PV can be automatically modified to include git details, but the syntax is like 233+gitAUTOINC+a1e2ef7ec9. In CVE checks we want to remove the git details and just use the major version information, in this example 233. Thus use "+git" as the separator and use the first part before the separator as SW product version number in CVE check. Fixes version number for e.g. systemd recipe. If systemd PV is 233+gitAUTOINC+a1e2ef7ec9 there will be no matches from CVE database where latest release mentioned is plain 233. If the filter is set to +git, then CVE PV is 233 and issues like this are detected by do_cve_check: https://nvd.nist.gov/vuln/detail/CVE-2017-1000082 Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/classes/cve-check.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/classes/cve-check.bbclass b/meta/classes/cve-check.bbclass index 8dde4a2..f44bbed 100644 --- a/meta/classes/cve-check.bbclass +++ b/meta/classes/cve-check.bbclass @@ -155,7 +155,7 @@ def check_cves(d, patched_cves): cves_patched = [] cves_unpatched = [] bpn = d.getVar("CVE_PRODUCT") - pv = d.getVar("PV").split("git+")[0] + pv = d.getVar("PV").split("+git")[0] cves = " ".join(patched_cves) cve_db_dir = d.getVar("CVE_CHECK_DB_DIR") cve_whitelist = ast.literal_eval(d.getVar("CVE_CHECK_CVE_WHITELIST")) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 07:21:17 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 07:21:17 +0000 Subject: [oe-commits] [openembedded-core] 31/43: python.inc: set CVE_PRODUCT to python In-Reply-To: <150070804626.9065.8463727520566698688@git.openembedded.org> References: <150070804626.9065.8463727520566698688@git.openembedded.org> Message-ID: <20170722072047.5023C232847@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 86b5e251a4a608b6076a2588d2e59ae3e5193f2d Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:23:04 2017 +0300 python.inc: set CVE_PRODUCT to python All python versions are just python in NVD like this CVE for python 3.4.4: https://nvd.nist.gov/vuln/detail/CVE-2016-5699 Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/recipes-devtools/python/python.inc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-devtools/python/python.inc b/meta/recipes-devtools/python/python.inc index b4bce24..b40f551 100644 --- a/meta/recipes-devtools/python/python.inc +++ b/meta/recipes-devtools/python/python.inc @@ -16,6 +16,8 @@ SRC_URI[sha256sum] = "35d543986882f78261f97787fd3e06274bfa6df29fac9b4a94f73930ff # also, exclude pre-releases for both python 2.x and 3.x UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P2(\.\d+)+).tar" +CVE_PRODUCT = "python" + PYTHON_MAJMIN = "2.7" inherit autotools pkgconfig -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 07:21:18 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 07:21:18 +0000 Subject: [oe-commits] [openembedded-core] 32/43: lttng-ust_2.9.1.bb: set CVE_PRODUCT to ust In-Reply-To: <150070804626.9065.8463727520566698688@git.openembedded.org> References: <150070804626.9065.8463727520566698688@git.openembedded.org> Message-ID: <20170722072047.5635C232848@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit d757dcabc774f0bb7b9bbe5732100462b8a9e4c5 Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:23:05 2017 +0300 lttng-ust_2.9.1.bb: set CVE_PRODUCT to ust It is used in NVD for CVE's like: https://nvd.nist.gov/vuln/detail/CVE-2010-3386 Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/recipes-kernel/lttng/lttng-ust_2.9.1.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-kernel/lttng/lttng-ust_2.9.1.bb b/meta/recipes-kernel/lttng/lttng-ust_2.9.1.bb index f7e01bb..03da4ca 100644 --- a/meta/recipes-kernel/lttng/lttng-ust_2.9.1.bb +++ b/meta/recipes-kernel/lttng/lttng-ust_2.9.1.bb @@ -26,6 +26,8 @@ SRC_URI = "https://lttng.org/files/lttng-ust/lttng-ust-${PV}.tar.bz2 \ SRC_URI[md5sum] = "5a5636fc3d9aa370f65b25a802a79e6e" SRC_URI[sha256sum] = "b891d267cdbbbd11cf34751f66c21c4a7fdc0eec3c1b53be2c40dca073b7daa4" +CVE_PRODUCT = "ust" + PACKAGECONFIG[manpages] = "--enable-man-pages, --disable-man-pages, asciidoc-native xmlto-native libxslt-native" do_install_append() { -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 07:21:19 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 07:21:19 +0000 Subject: [oe-commits] [openembedded-core] 33/43: quota_4.03.bb: set CVE_PRODUCT to linux_diskquota In-Reply-To: <150070804626.9065.8463727520566698688@git.openembedded.org> References: <150070804626.9065.8463727520566698688@git.openembedded.org> Message-ID: <20170722072047.5C613232849@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 9b1efbcb81acdd156d38f27e22aef248d51d7801 Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:23:06 2017 +0300 quota_4.03.bb: set CVE_PRODUCT to linux_diskquota It is used in NVD for CVE's like: https://nvd.nist.gov/vuln/detail/CVE-2012-3417 Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/recipes-extended/quota/quota_4.03.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-extended/quota/quota_4.03.bb b/meta/recipes-extended/quota/quota_4.03.bb index 22aab41..28b3854 100644 --- a/meta/recipes-extended/quota/quota_4.03.bb +++ b/meta/recipes-extended/quota/quota_4.03.bb @@ -22,6 +22,8 @@ SRC_URI_append_libc-musl = " file://replace_getrpcbynumber_r.patch" SRC_URI[md5sum] = "6b09f9c93515c25a528be5754cdfb6f5" SRC_URI[sha256sum] = "9c6c4d9ae7bf30506dd2aa3d8056c4ff2f8d087930d7c721616f5c093bdc674b" +CVE_PRODUCT = "linux_diskquota" + UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/linuxquota/files/quota-tools/" UPSTREAM_CHECK_REGEX = "/quota-tools/(?P(\d+[\.\-_]*)+)/" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 07:21:29 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 07:21:29 +0000 Subject: [oe-commits] [openembedded-core] 43/43: linux-yocto: only suggest default kernel type In-Reply-To: <150070804626.9065.8463727520566698688@git.openembedded.org> References: <150070804626.9065.8463727520566698688@git.openembedded.org> Message-ID: <20170722072047.A63DA232834@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 5fcc6866a2e42400b5201c2784a2959769318f3b Author: Joe Slater AuthorDate: Thu Jul 20 16:19:51 2017 -0700 linux-yocto: only suggest default kernel type The distro should set a default kernel type (?=) which could be overriden by local.conf (=) or extensions (templates). The kernel itself should only use "??=" to provide a value which allows builds to succeed. Signed-off-by: Joe Slater Signed-off-by: Ross Burton --- meta/recipes-kernel/linux/linux-yocto.inc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meta/recipes-kernel/linux/linux-yocto.inc b/meta/recipes-kernel/linux/linux-yocto.inc index 637506a..aec06c2 100644 --- a/meta/recipes-kernel/linux/linux-yocto.inc +++ b/meta/recipes-kernel/linux/linux-yocto.inc @@ -33,7 +33,8 @@ KERNEL_FEATURES_append_qemuall=" features/debug/printk.scc" # and it can be specific to the machine or shared # KMACHINE = "UNDEFINED" -LINUX_KERNEL_TYPE ?= "standard" +# The distro or local.conf should set this, but if nobody cares... +LINUX_KERNEL_TYPE ??= "standard" # KMETA ?= "" KBRANCH ?= "master" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 07:21:27 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 07:21:27 +0000 Subject: [oe-commits] [openembedded-core] 41/43: gstreamer1.0-python: add new recipe In-Reply-To: <150070804626.9065.8463727520566698688@git.openembedded.org> References: <150070804626.9065.8463727520566698688@git.openembedded.org> Message-ID: <20170722072047.9784B232832@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 609fe4d3966a27f656613788dd6d51d52ef79083 Author: Martin Kelly AuthorDate: Tue Jul 18 11:46:54 2017 -0700 gstreamer1.0-python: add new recipe Previously, we had a gst-python recipe, but it supported only GStreamer 0.1. After GStreamer switched the Python bindings to use GObject introspection, we were no longer able to build the bindings, and they were dropped in this patch: https://patchwork.openembedded.org/patch/93793/ However, at this point, we have a gobject-introspection class, so we can use the bindings again, this time with GStreamer 1.0. Signed-off-by: Martin Kelly Signed-off-by: Ross Burton --- .../gstreamer/gstreamer1.0-python.inc | 35 ++++++++++++++++++++++ .../gstreamer/gstreamer1.0-python_1.10.4.bb | 7 +++++ 2 files changed, 42 insertions(+) diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-python.inc b/meta/recipes-multimedia/gstreamer/gstreamer1.0-python.inc new file mode 100644 index 0000000..961b930 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-python.inc @@ -0,0 +1,35 @@ +SUMMARY = "Python bindings for GStreamer 1.0" +HOMEPAGE = "http://cgit.freedesktop.org/gstreamer/gst-python/" +SECTION = "multimedia" +LICENSE = "LGPLv2.1" + +DEPENDS = "gstreamer1.0 python3-pygobject" +RDEPENDS_${PN} += "gstreamer1.0 python3-pygobject" + +PNREAL = "gst-python" + +SRC_URI = "http://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz" + +S = "${WORKDIR}/${PNREAL}-${PV}" + +inherit autotools pkgconfig distutils3-base upstream-version-is-even gobject-introspection + +do_install_append() { + # gstpythonplugin hardcodes the location of the libpython from the build + # workspace and then fails at runtime. We can override it using + # --with-libpython-dir=${libdir}, but it still fails because it looks for a + # symlinked library ending in .so instead of the actually library with + # LIBNAME.so.MAJOR.MINOR. Although we could patch the code to use the path + # we want, it will break again if the library version ever changes. We need + # to think about the best way of handling this and possibly consult + # upstream. + # + # Note that this particular find line is taken from the Debian packaging for + # gst-python1.0. + find "${D}" \ + -name '*.pyc' -o \ + -name '*.pyo' -o \ + -name '*.la' -o \ + -name 'libgstpythonplugin*' \ + -delete +} diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.10.4.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.10.4.bb new file mode 100644 index 0000000..1365f7c --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.10.4.bb @@ -0,0 +1,7 @@ +require gstreamer1.0-python.inc + +SRC_URI = "http://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz" +SRC_URI[md5sum] = "adcdb74f713e28d0b22a0a1e4f831573" +SRC_URI[sha256sum] = "59508174b8bc86c05290aa9a7c5d480ac556a6f36306ddbc1d0eacf4f7868212" + +LIC_FILES_CHKSUM = "file://COPYING;md5=c34deae4e395ca07e725ab0076a5f740" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 10:03:03 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 10:03:03 +0000 Subject: [oe-commits] [meta-openembedded] 02/42: sessreg: Fix build on musl In-Reply-To: <150071778187.4100.17147688793933494056@git.openembedded.org> References: <150071778187.4100.17147688793933494056@git.openembedded.org> Message-ID: <20170722100302.2ED9223282F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit efd75163e8aa1fe8855458c2cb3082cc5d376331 Author: Khem Raj AuthorDate: Mon Jul 17 20:10:08 2017 -0700 sessreg: Fix build on musl musl does not define _WTMPX_FILE or _UTMPX_FILE use versions without 'X' Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- meta-oe/recipes-graphics/xorg-app/sessreg_1.1.0.bb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.0.bb b/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.0.bb index 2e25b7d..3885d61 100644 --- a/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.0.bb +++ b/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.0.bb @@ -6,3 +6,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d938a70c8280c265a1ccd2954365d185" SRC_URI += "file://0001-Makefile.am-Error-Fix.patch" SRC_URI[md5sum] = "e238c89dabc566e1835e1ecb61b605b9" SRC_URI[sha256sum] = "551177657835e0902b5eee7b19713035beaa1581bbd3c6506baa553e751e017c" + +CFLAGS_append_libc-musl = " -D_WTMPX_FILE=WTMP_FILE -D_PATH_WTMPX=_PATH_WTMP -D_UTMPX_FILE=UTMP_FILE -D_PATH_UTMPX=_PATH_UTMP " + -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 10:03:04 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 10:03:04 +0000 Subject: [oe-commits] [meta-openembedded] 03/42: phonet-utils: Fix build with musl In-Reply-To: <150071778187.4100.17147688793933494056@git.openembedded.org> References: <150071778187.4100.17147688793933494056@git.openembedded.org> Message-ID: <20170722100302.36646232830@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit e66c242b65cb377b252497cd28dd909943beefb8 Author: Khem Raj AuthorDate: Mon Jul 17 20:10:09 2017 -0700 phonet-utils: Fix build with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../0001-Include-limits.h-for-PATH_MAX.patch | 25 ++++++++++++++++++++++ .../phonet-utils/phonet-utils_git.bb | 4 +++- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/meta-oe/recipes-connectivity/phonet-utils/phonet-utils/0001-Include-limits.h-for-PATH_MAX.patch b/meta-oe/recipes-connectivity/phonet-utils/phonet-utils/0001-Include-limits.h-for-PATH_MAX.patch new file mode 100644 index 0000000..8bb7e5a --- /dev/null +++ b/meta-oe/recipes-connectivity/phonet-utils/phonet-utils/0001-Include-limits.h-for-PATH_MAX.patch @@ -0,0 +1,25 @@ +From f7ad9a4471cee2324f216a0d82ba8097ec746c56 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 15 Jul 2017 11:48:12 -0700 +Subject: [PATCH] Include limits.h for PATH_MAX + +Signed-off-by: Khem Raj +--- + src/pnstat.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/pnstat.c b/src/pnstat.c +index 661a5bc..76068e6 100644 +--- a/src/pnstat.c ++++ b/src/pnstat.c +@@ -35,6 +35,7 @@ + #include + #include + #include ++#include + + struct fd + { +-- +2.13.3 + diff --git a/meta-oe/recipes-connectivity/phonet-utils/phonet-utils_git.bb b/meta-oe/recipes-connectivity/phonet-utils/phonet-utils_git.bb index 5589963..3c59995 100644 --- a/meta-oe/recipes-connectivity/phonet-utils/phonet-utils_git.bb +++ b/meta-oe/recipes-connectivity/phonet-utils/phonet-utils_git.bb @@ -2,7 +2,9 @@ SUMMARY = "This small package provides a few command line tools for Linux Phonet HOMEPAGE = "" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" -SRC_URI = "git://gitorious.org/meego-cellular/phonet-utils.git;branch=master" +SRC_URI = "git://gitorious.org/meego-cellular/phonet-utils.git;branch=master \ + file://0001-Include-limits.h-for-PATH_MAX.patch \ + " PR = "r2" S = "${WORKDIR}/git" SRCREV = "4acfa720fd37d178a048fc2be17180137d4a70ea" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 10:03:01 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 10:03:01 +0000 Subject: [oe-commits] [meta-openembedded] branch master-next updated (a1ec406 -> e2e1a76) Message-ID: <150071778187.4100.17147688793933494056@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a change to branch master-next in repository meta-openembedded. discard a1ec406 pidgin-otr: unblacklist discard 063a685 satyr: add recipe 0.23 discard 9dcdbca xmlrpc-c: add recipe 1.31.0 discard 2a1330c usermode: add recipe 1.111 discard 67f4765 volume-key: add recipe 0.3.9 discard 00a92c6 keybinder: add recipe 3.0 discard e81b260 udisks2_2.1.8.bb: set CVE_PRODUCT to udisks discard 5999bf8 krb5_1.15.1.bb: set CVE_PRODUCT to kerberos discard bc3809c fribidi_0.19.7.bb: set CVE_PRODUCT to gnu_fribidi discard 7e6cafb gimp: remove libart-lgpl build dependency discard d197b23 ippool: Fix build errors found with hardening flags discard cc7ab37 netperf: change SRC_URI to git repository discard 1379141 python-pytun: addition of recipe for python and python3 using pipy discard bb2d127 libtar: add recipe 1.2.20 discard c272985 isomd5sum: add recipe 1.2.1 discard eff717d python3-meh: add recipe 0.45 discard f4eeaee python3-pykickstart: add recipe 2.35 discard 6c94b9c libgnomekbd: 2.32 -> 3.22 discard 5877281 zeroconf: Fix build with musl discard 72601b6 postgresql: Do not link with libnsl on musl discard efeb099 flashrom: Upgrade to 0.9.9 discard e80b6e5 python-requests, python3-requests: update to 2.28.1 discard f0a1e0e python-paho-mqtt, python3-paho-mqtt: update to 1.3.0 discard 117e4bc python-sqlalchemy, python3-sqlalchemy: update to 1.1.11 discard 6e21f8e python-chardet.inc: update build dependency discard 3cb6d9f sg3-utils: add mirror discard ed410c0 sdparm: add mirror discard 370b9a3 python-unidiff: adds Python3 support discard 57eef0a xf86-video-nouveau: bump version to 1.0.15 discard 11e34bb python3-prctl: add recipe 1.6.1 discard bb5352a python3-pid: add recipe 2.1.1 discard 6bf7c58 python3-requests-ftp: add recipe 0.3.1 discard 61ee29c python3-requests-file: add recipe 1.4.2 discard 5062c4f python3-ordered-set: add recipe 2.0.2 discard e102b42 python3-ntplib: add recipe 0.3.3 discard 36bc780 python3-langtable: add recipe 0.0.37 discard 37a4e2c python3-coverage: add recipe 4.4.1 discard d0fa6e6 glade: add recipe 3.20.0 discard 06ce00d gperftools: Upgrade to 2.6.1 discard 7af1232 lm_sensors: Fix build on musl discard f6fca8a open-vm-tools: Fix build with musl discard 7053bb0 nicstat: Fix build on musl/x86_64 discard 1035819 phonet-utils: Fix build with musl discard a9f0c62 sessreg: Fix build on musl discard b15f25e linuxptp: Upgrade to 1.8 discard 938b9f6 efivar: Upgrade to 0.31 new ecf75bb linuxptp: Upgrade to 1.8 new efd7516 sessreg: Fix build on musl new e66c242 phonet-utils: Fix build with musl new a57b3f7 nicstat: Fix build on musl/x86_64 new 631a6e6 open-vm-tools: Fix build with musl new 07dddc0 lm_sensors: Fix build on musl new 783fb77 glade: add recipe 3.20.0 new 772ab78 python3-coverage: add recipe 4.4.1 new 7b76a5a python3-langtable: add recipe 0.0.37 new 722cf36 python3-ntplib: add recipe 0.3.3 new 67fbc50 python3-ordered-set: add recipe 2.0.2 new 69137b8 python3-requests-file: add recipe 1.4.2 new cb1c53b python3-requests-ftp: add recipe 0.3.1 new 3f29689 python3-pid: add recipe 2.1.1 new 9db3cd1 python3-prctl: add recipe 1.6.1 new 7869e13 xf86-video-nouveau: bump version to 1.0.15 new dabf8f5 python-unidiff: adds Python3 support new ca09e45 sdparm: add mirror new 4c3e2d5 sg3-utils: add mirror new d66655e python-chardet.inc: update build dependency new 8d131c0 python-sqlalchemy, python3-sqlalchemy: update to 1.1.11 new 7ed4f99 python-paho-mqtt, python3-paho-mqtt: update to 1.3.0 new 8207e9b python-requests, python3-requests: update to 2.28.1 new c6001eb flashrom: Upgrade to 0.9.9 new 53dde0f postgresql: Do not link with libnsl on musl new 03751ae zeroconf: Fix build with musl new 2d3efdf libgnomekbd: 2.32 -> 3.22 new f2775ce python3-pykickstart: add recipe 2.35 new 98dd47b python3-meh: add recipe 0.45 new 5791ae6 isomd5sum: add recipe 1.2.1 new ffda799 libtar: add recipe 1.2.20 new 29e24a6 python-pytun: addition of recipe for python and python3 using pipy new 4300ed8 netperf: change SRC_URI to git repository new e569f80 ippool: Fix build errors found with hardening flags new dd25bba gimp: remove libart-lgpl build dependency new dd3578a fribidi_0.19.7.bb: set CVE_PRODUCT to gnu_fribidi new d15c30d krb5_1.15.1.bb: set CVE_PRODUCT to kerberos new 7e878b1 udisks2_2.1.8.bb: set CVE_PRODUCT to udisks new 5e26bc7 keybinder: add recipe 3.0 new 8325255 volume-key: add recipe 0.3.9 new 790b086 satyr: add recipe 0.23 new e2e1a76 pidgin-otr: unblacklist This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (a1ec406) \ N -- N -- N refs/heads/master-next (e2e1a76) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 42 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: ...ix-compile-failure-against-musl-C-library.patch | 27 --------- .../recipes-support/usermode/usermode_1.111.bb | 27 --------- ...ix-compile-failure-against-musl-C-library.patch | 52 ----------------- .../recipes-devtools/xmlrpc-c/xmlrpc-c_1.31.0.bb | 23 -------- ...some-extra-const-that-gcc-complains-about.patch | 44 +++++++++++++++ ...Do-not-use-__bswap_constant_-16-32-macros.patch | 37 ------------ ...-version-new-way-symbol-versioning-breaks.patch | 66 ++++++++++++++++++++++ .../efivar/efivar/0002-disable-static-build.patch | 33 +++++++++++ .../fix-compile-failure-with-host-gcc-4.6.patch | 13 +++-- .../efivar/efivar/musl-strndupa.patch | 17 ------ .../efivar/{efivar_0.31.bb => efivar_0.24.bb} | 9 +-- .../0001-Fix-build-failure-for-ppc.patch | 28 +++++++++ .../gperftools/0001-fix-build-with-musl-libc.patch | 61 -------------------- ...001-include-fcntl.h-for-loff_t-definition.patch | 28 --------- .../{gperftools_2.6.1.bb => gperftools_2.5.bb} | 13 ++--- 15 files changed, 190 insertions(+), 288 deletions(-) delete mode 100644 meta-gnome/recipes-support/usermode/usermode/0001-fix-compile-failure-against-musl-C-library.patch delete mode 100644 meta-gnome/recipes-support/usermode/usermode_1.111.bb delete mode 100644 meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-fix-compile-failure-against-musl-C-library.patch delete mode 100644 meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.31.0.bb create mode 100644 meta-oe/recipes-extended/efivar/efivar/0001-Remove-some-extra-const-that-gcc-complains-about.patch delete mode 100644 meta-oe/recipes-extended/efivar/efivar/0001-makeguids-Do-not-use-__bswap_constant_-16-32-macros.patch create mode 100644 meta-oe/recipes-extended/efivar/efivar/0002-New-gcc-version-new-way-symbol-versioning-breaks.patch create mode 100644 meta-oe/recipes-extended/efivar/efivar/0002-disable-static-build.patch delete mode 100644 meta-oe/recipes-extended/efivar/efivar/musl-strndupa.patch rename meta-oe/recipes-extended/efivar/{efivar_0.31.bb => efivar_0.24.bb} (83%) create mode 100644 meta-oe/recipes-support/gperftools/gperftools/0001-Fix-build-failure-for-ppc.patch delete mode 100644 meta-oe/recipes-support/gperftools/gperftools/0001-fix-build-with-musl-libc.patch delete mode 100644 meta-oe/recipes-support/gperftools/gperftools/0001-include-fcntl.h-for-loff_t-definition.patch rename meta-oe/recipes-support/gperftools/{gperftools_2.6.1.bb => gperftools_2.5.bb} (67%) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 10:03:05 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 10:03:05 +0000 Subject: [oe-commits] [meta-openembedded] 04/42: nicstat: Fix build on musl/x86_64 In-Reply-To: <150071778187.4100.17147688793933494056@git.openembedded.org> References: <150071778187.4100.17147688793933494056@git.openembedded.org> Message-ID: <20170722100302.3EA77232831@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit a57b3f7f15d63dcf99b58c4e8488d22fca3e36bf Author: Khem Raj AuthorDate: Mon Jul 17 20:10:10 2017 -0700 nicstat: Fix build on musl/x86_64 Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...tat.c-Do-not-define-uint64_t-and-uint32_t.patch | 37 ++++++++++++++++++++++ meta-oe/recipes-extended/nicstat/nicstat_1.95.bb | 4 ++- 2 files changed, 40 insertions(+), 1 deletion(-) diff --git a/meta-oe/recipes-extended/nicstat/nicstat/0001-nicstat.c-Do-not-define-uint64_t-and-uint32_t.patch b/meta-oe/recipes-extended/nicstat/nicstat/0001-nicstat.c-Do-not-define-uint64_t-and-uint32_t.patch new file mode 100644 index 0000000..a208f97 --- /dev/null +++ b/meta-oe/recipes-extended/nicstat/nicstat/0001-nicstat.c-Do-not-define-uint64_t-and-uint32_t.patch @@ -0,0 +1,37 @@ +From 52590fbf735cef3fec85a042458aa89a02c52b57 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 15 Jul 2017 11:33:12 -0700 +Subject: [PATCH] nicstat.c: Do not define uint64_t and uint32_t + +Use the defines from platform + +Signed-off-by: Khem Raj + +--- + nicstat.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/nicstat.c b/nicstat.c +index 83ad557..2a6e0c1 100644 +--- a/nicstat.c ++++ b/nicstat.c +@@ -32,6 +32,7 @@ + + #include + #include ++#include + #include + #include + #include +@@ -88,8 +89,6 @@ + #define PROC_NET_BUFSIZ (128 * 1024) + #define PROC_UPTIME "/proc/uptime" + /* Needs to be fixed if not built under ILP32 */ +-typedef unsigned long long uint64_t; +-typedef unsigned int uint32_t; + extern char *optarg; + extern int optind, opterr, optopt; + #endif /* OS_LINUX */ +-- +2.13.3 + diff --git a/meta-oe/recipes-extended/nicstat/nicstat_1.95.bb b/meta-oe/recipes-extended/nicstat/nicstat_1.95.bb index 5126a31..3875f0f 100644 --- a/meta-oe/recipes-extended/nicstat/nicstat_1.95.bb +++ b/meta-oe/recipes-extended/nicstat/nicstat_1.95.bb @@ -5,7 +5,9 @@ HOMEPAGE = "http://nicstat.sourceforge.net" LICENSE = "Artistic-2.0" LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b4a94da2a1f918b217ef5156634fc9e0" -SRC_URI = "http://softlayer-sng.dl.sourceforge.net/project/${BPN}/${BP}.tar.gz" +SRC_URI = "http://softlayer-sng.dl.sourceforge.net/project/${BPN}/${BP}.tar.gz \ + file://0001-nicstat.c-Do-not-define-uint64_t-and-uint32_t.patch \ + " SRC_URI[md5sum] = "9a0b87bbc670c1e738e5b40c7afd184d" SRC_URI[sha256sum] = "c4cc33f8838f4523f27c3d7584eedbe59f4c587f0821612f5ac2201adc18b367" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 10:03:02 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 10:03:02 +0000 Subject: [oe-commits] [meta-openembedded] 01/42: linuxptp: Upgrade to 1.8 In-Reply-To: <150071778187.4100.17147688793933494056@git.openembedded.org> References: <150071778187.4100.17147688793933494056@git.openembedded.org> Message-ID: <20170722100302.27C7C23282E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit ecf75bbf169996558de3505831ab128799a1bae7 Author: Khem Raj AuthorDate: Mon Jul 17 20:10:07 2017 -0700 linuxptp: Upgrade to 1.8 Fix build on musl along way Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../0003-include-missing-time.h-for-time_t.patch | 26 ++++++++++++++++ ...ude-header-sequence-to-avoid-duplicate-de.patch | 36 ++++++++++++++++++++++ .../linuxptp/{linuxptp_1.6.bb => linuxptp_1.8.bb} | 9 ++++-- 3 files changed, 68 insertions(+), 3 deletions(-) diff --git a/meta-oe/recipes-connectivity/linuxptp/linuxptp/0003-include-missing-time.h-for-time_t.patch b/meta-oe/recipes-connectivity/linuxptp/linuxptp/0003-include-missing-time.h-for-time_t.patch new file mode 100644 index 0000000..96163f6 --- /dev/null +++ b/meta-oe/recipes-connectivity/linuxptp/linuxptp/0003-include-missing-time.h-for-time_t.patch @@ -0,0 +1,26 @@ +From b36cafdbcbe2193f5b669e703c608e19e23f80a3 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 15 Jul 2017 11:16:42 -0700 +Subject: [PATCH 3/4] include missing time.h for time_t + +Signed-off-by: Khem Raj +--- + util.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/util.h b/util.h +index e912f19..3c634c1 100644 +--- a/util.h ++++ b/util.h +@@ -22,7 +22,7 @@ + + #include "ddt.h" + #include "ether.h" +- ++#include + /** + * Table of human readable strings, one for each port state. + */ +-- +2.13.3 + diff --git a/meta-oe/recipes-connectivity/linuxptp/linuxptp/0004-Adjust-include-header-sequence-to-avoid-duplicate-de.patch b/meta-oe/recipes-connectivity/linuxptp/linuxptp/0004-Adjust-include-header-sequence-to-avoid-duplicate-de.patch new file mode 100644 index 0000000..e699275 --- /dev/null +++ b/meta-oe/recipes-connectivity/linuxptp/linuxptp/0004-Adjust-include-header-sequence-to-avoid-duplicate-de.patch @@ -0,0 +1,36 @@ +From 3cd28aa771934d9165ff0d7e19932cde65de3e52 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 15 Jul 2017 11:16:57 -0700 +Subject: [PATCH 4/4] Adjust include header sequence to avoid duplicate + definitions on musl + +Signed-off-by: Khem Raj +--- + raw.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/raw.c b/raw.c +index f51c829..494ea7f 100644 +--- a/raw.c ++++ b/raw.c +@@ -18,8 +18,6 @@ + */ + #include + #include +-#include +-#include + #include + #include + #include +@@ -32,6 +30,8 @@ + #include + #include + ++#include ++#include + #include + #include + #include +-- +2.13.3 + diff --git a/meta-oe/recipes-connectivity/linuxptp/linuxptp_1.6.bb b/meta-oe/recipes-connectivity/linuxptp/linuxptp_1.8.bb similarity index 66% rename from meta-oe/recipes-connectivity/linuxptp/linuxptp_1.6.bb rename to meta-oe/recipes-connectivity/linuxptp/linuxptp_1.8.bb index 2e28644..c7b8b29 100644 --- a/meta-oe/recipes-connectivity/linuxptp/linuxptp_1.6.bb +++ b/meta-oe/recipes-connectivity/linuxptp/linuxptp_1.8.bb @@ -4,10 +4,13 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" SRC_URI = "http://sourceforge.net/projects/linuxptp/files/v${PV}/linuxptp-${PV}.tgz \ file://build-Allow-CC-and-prefix-to-be-overriden.patch \ - file://no-incdefs-using-host-headers.patch" + file://no-incdefs-using-host-headers.patch \ + file://0003-include-missing-time.h-for-time_t.patch \ + file://0004-Adjust-include-header-sequence-to-avoid-duplicate-de.patch \ + " -SRC_URI[md5sum] = "6aa15d83f5a35f1fd076ba9adc4e7285" -SRC_URI[sha256sum] = "e7fd16a9f235b059be527bd512e86f0c1d9f2e7c36736e6d6d9727a4427ac14c" +SRC_URI[md5sum] = "5688cdfe57932273e1dbf35b3b97b9a0" +SRC_URI[sha256sum] = "fa8e00f6ec73cefa7bb313dce7f60dfe5eb9e2bde3353594e9ac18edc93e5165" EXTRA_OEMAKE = "ARCH=${TARGET_ARCH} \ EXTRA_CFLAGS='-D_GNU_SOURCE -DHAVE_CLOCK_ADJTIME -DHAVE_POSIX_SPAWN -DHAVE_ONESTEP_SYNC ${CFLAGS}'" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 10:03:10 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 10:03:10 +0000 Subject: [oe-commits] [meta-openembedded] 09/42: python3-langtable: add recipe 0.0.37 In-Reply-To: <150071778187.4100.17147688793933494056@git.openembedded.org> References: <150071778187.4100.17147688793933494056@git.openembedded.org> Message-ID: <20170722100302.6159C232836@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 7b76a5adde74bf7a6c6f59a24a94ce256d430621 Author: Hongxu Jia AuthorDate: Tue Jul 18 02:09:06 2017 -0400 python3-langtable: add recipe 0.0.37 Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- .../python/python3-langtable_0.0.37.bb | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/meta-python/recipes-devtools/python/python3-langtable_0.0.37.bb b/meta-python/recipes-devtools/python/python3-langtable_0.0.37.bb new file mode 100644 index 0000000..362ca1a --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-langtable_0.0.37.bb @@ -0,0 +1,22 @@ +DESCRIPTION = "langtable is used to guess reasonable defaults for locale,\ +keyboard, territory" +HOMEPAGE = "https://github.com/mike-fabian/langtable/" +LICENSE = "GPLv3+" +SECTION = "devel/python" + +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +S = "${WORKDIR}/git" +B = "${S}" + +SRCREV = "3f001eef027ba69ef2fdb35c670b7da26b79b5e2" +PV = "0.0.37+git${SRCPV}" +SRC_URI = "git://github.com/mike-fabian/langtable.git;branch=master \ +" + +inherit setuptools3 python3native + +DISTUTILS_INSTALL_ARGS = "--prefix=${D}/${prefix} \ + --install-data=${D}/${datadir}/langtable" + +FILES_${PN} += "${datadir}/*" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 10:03:11 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 10:03:11 +0000 Subject: [oe-commits] [meta-openembedded] 10/42: python3-ntplib: add recipe 0.3.3 In-Reply-To: <150071778187.4100.17147688793933494056@git.openembedded.org> References: <150071778187.4100.17147688793933494056@git.openembedded.org> Message-ID: <20170722100302.669CA232837@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 722cf36247452fe5bbaf2bb7e24595d274a77b31 Author: Hongxu Jia AuthorDate: Tue Jul 18 02:09:07 2017 -0400 python3-ntplib: add recipe 0.3.3 Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- meta-python/recipes-devtools/python/python3-ntplib_0.3.3.bb | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/meta-python/recipes-devtools/python/python3-ntplib_0.3.3.bb b/meta-python/recipes-devtools/python/python3-ntplib_0.3.3.bb new file mode 100644 index 0000000..35440bc --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-ntplib_0.3.3.bb @@ -0,0 +1,12 @@ +DESCRIPTION = "This module offers a simple interface to query NTP servers from Python." +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://ntplib.py;beginline=1;endline=23;md5=afa07338a9595257e94c205c3e72224d" + +SRCNAME = "ntplib" +SRC_URI[md5sum] = "c7cc8e9b09f40c84819859d70b7784ca" +SRC_URI[sha256sum] = "c4621b64d50be9461d9bd9a71ba0b4af06fbbf818bbd483752d95c1a4e273ede" + +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit setuptools3 python3native pypi -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 10:03:09 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 10:03:09 +0000 Subject: [oe-commits] [meta-openembedded] 08/42: python3-coverage: add recipe 4.4.1 In-Reply-To: <150071778187.4100.17147688793933494056@git.openembedded.org> References: <150071778187.4100.17147688793933494056@git.openembedded.org> Message-ID: <20170722100302.5C151232835@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 772ab7852f61f72aeef9f67d01d427a883555eb4 Author: Hongxu Jia AuthorDate: Tue Jul 18 02:09:05 2017 -0400 python3-coverage: add recipe 4.4.1 Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- meta-python/recipes-devtools/python/python3-coverage_4.4.1.bb | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/meta-python/recipes-devtools/python/python3-coverage_4.4.1.bb b/meta-python/recipes-devtools/python/python3-coverage_4.4.1.bb new file mode 100644 index 0000000..6aa5c59 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-coverage_4.4.1.bb @@ -0,0 +1,10 @@ +SUMMARY = "Code coverage measurement for Python" +HOMEPAGE = "https://coverage.readthedocs.io" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2ee41112a44fe7014dce33e26468ba93" + +SRC_URI[md5sum] = "4c4d997cb32be4703f1fde54e6cd1b1c" +SRC_URI[sha256sum] = "7a9c44400ee0f3b4546066e0710e1250fd75831adc02ab99dda176ad8726f424" + +inherit pypi setuptools3 + -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 10:03:13 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 10:03:13 +0000 Subject: [oe-commits] [meta-openembedded] 12/42: python3-requests-file: add recipe 1.4.2 In-Reply-To: <150071778187.4100.17147688793933494056@git.openembedded.org> References: <150071778187.4100.17147688793933494056@git.openembedded.org> Message-ID: <20170722100302.7222F232839@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 69137b82dfd785e75e8ddc5a60e7ca018aeeafaf Author: Hongxu Jia AuthorDate: Tue Jul 18 02:09:09 2017 -0400 python3-requests-file: add recipe 1.4.2 Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- .../recipes-devtools/python/python3-requests-file_1.4.2.bb | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/meta-python/recipes-devtools/python/python3-requests-file_1.4.2.bb b/meta-python/recipes-devtools/python/python3-requests-file_1.4.2.bb new file mode 100644 index 0000000..8652876 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-requests-file_1.4.2.bb @@ -0,0 +1,14 @@ +SUMMARY = "File transport adapter for Requests" +HOMEPAGE = "http://github.com/dashea/requests-file" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=9cc728d6087e43796227b0a31422de6b" + +SRC_URI[md5sum] = "a907efb75faf0ccbb1857432bf9d8c0f" +SRC_URI[sha256sum] = "f518e7cfe048e053fd1019dfb891b4c55b871c56c5a31693d733240c80b8f191" + +inherit pypi setuptools3 + +RDEPENDS_${PN} += " \ + python3-requests \ +" + -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 10:03:12 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 10:03:12 +0000 Subject: [oe-commits] [meta-openembedded] 11/42: python3-ordered-set: add recipe 2.0.2 In-Reply-To: <150071778187.4100.17147688793933494056@git.openembedded.org> References: <150071778187.4100.17147688793933494056@git.openembedded.org> Message-ID: <20170722100302.6C60A232838@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 67fbc50a133a2b2ad82180daea07387dee10def5 Author: Hongxu Jia AuthorDate: Tue Jul 18 02:09:08 2017 -0400 python3-ordered-set: add recipe 2.0.2 Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- .../recipes-devtools/python/python3-ordered-set_2.0.2.bb | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/meta-python/recipes-devtools/python/python3-ordered-set_2.0.2.bb b/meta-python/recipes-devtools/python/python3-ordered-set_2.0.2.bb new file mode 100644 index 0000000..be6d4e1 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-ordered-set_2.0.2.bb @@ -0,0 +1,10 @@ +SUMMARY = "A MutableSet that remembers its order, so that every entry has an index." +HOMEPAGE = "http://github.com/LuminosoInsight/ordered-set" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://MIT-LICENSE;md5=0feb0c85b722f488b87844fb5f81d2dc" + +SRC_URI[md5sum] = "7b8d73dc64fd3c783ecb48e050bfcc0d" +SRC_URI[sha256sum] = "942cad5d7d5b0760d5cbe93dfb385ac2ed402ca1d48c9f4e102d7d5cce3a90eb" + +inherit pypi setuptools3 + -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 10:03:08 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 10:03:08 +0000 Subject: [oe-commits] [meta-openembedded] 07/42: glade: add recipe 3.20.0 In-Reply-To: <150071778187.4100.17147688793933494056@git.openembedded.org> References: <150071778187.4100.17147688793933494056@git.openembedded.org> Message-ID: <20170722100302.556D5232834@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 783fb77431a59a2485357f56a37dbd0959116a17 Author: Hongxu Jia AuthorDate: Tue Jul 18 02:09:04 2017 -0400 glade: add recipe 3.20.0 The newly added glade is the original Glade codebase, and glade3 is a complete rewrite of it. Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- .../glade/glade/remove-yelp-help-rules-var.patch | 39 ++++++++++++++++++++++ ...gnome-doc-utils.make-sysrooted-pkg-config.patch | 0 .../{files => glade3}/0002-fix-gcc-6-build.patch | 0 meta-oe/recipes-devtools/glade/glade_3.20.0.bb | 27 +++++++++++++++ 4 files changed, 66 insertions(+) diff --git a/meta-oe/recipes-devtools/glade/glade/remove-yelp-help-rules-var.patch b/meta-oe/recipes-devtools/glade/glade/remove-yelp-help-rules-var.patch new file mode 100644 index 0000000..78a8719 --- /dev/null +++ b/meta-oe/recipes-devtools/glade/glade/remove-yelp-help-rules-var.patch @@ -0,0 +1,39 @@ +From 42efc94c11d510b41d8cf3407e1c3900eb52b600 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Thu, 4 Jun 2015 16:28:02 +0800 +Subject: [PATCH] Remove unused variable (YELP_HELP_RULES) + +Upstream-Status: Pending + +Signed-off-by: Hongxu Jia +--- + help/Makefile.am | 2 -- + help/Makefile.in | 2 -- + 2 files changed, 4 deletions(-) + +diff --git a/help/Makefile.am b/help/Makefile.am +index 50c0e84..5c5d2e9 100644 +--- a/help/Makefile.am ++++ b/help/Makefile.am +@@ -1,5 +1,3 @@ +- at YELP_HELP_RULES@ +- + HELP_ID = glade + + HELP_FILES = \ +diff --git a/help/Makefile.in b/help/Makefile.in +index 6978ea5..e1c7d3b 100644 +--- a/help/Makefile.in ++++ b/help/Makefile.in +@@ -521,8 +521,6 @@ uninstall-am: + + .PRECIOUS: Makefile + +- at YELP_HELP_RULES@ +- + # Tell versions [3.59,3.63) of GNU make to not export all variables. + # Otherwise a system limit (for SysV at least) may be exceeded. + .NOEXPORT: +-- +1.9.1 + diff --git a/meta-oe/recipes-devtools/glade/files/0001-gnome-doc-utils.make-sysrooted-pkg-config.patch b/meta-oe/recipes-devtools/glade/glade3/0001-gnome-doc-utils.make-sysrooted-pkg-config.patch similarity index 100% rename from meta-oe/recipes-devtools/glade/files/0001-gnome-doc-utils.make-sysrooted-pkg-config.patch rename to meta-oe/recipes-devtools/glade/glade3/0001-gnome-doc-utils.make-sysrooted-pkg-config.patch diff --git a/meta-oe/recipes-devtools/glade/files/0002-fix-gcc-6-build.patch b/meta-oe/recipes-devtools/glade/glade3/0002-fix-gcc-6-build.patch similarity index 100% rename from meta-oe/recipes-devtools/glade/files/0002-fix-gcc-6-build.patch rename to meta-oe/recipes-devtools/glade/glade3/0002-fix-gcc-6-build.patch diff --git a/meta-oe/recipes-devtools/glade/glade_3.20.0.bb b/meta-oe/recipes-devtools/glade/glade_3.20.0.bb new file mode 100644 index 0000000..8b35a9c --- /dev/null +++ b/meta-oe/recipes-devtools/glade/glade_3.20.0.bb @@ -0,0 +1,27 @@ +SUMMARY = "Glade - A User Interface Designer" +HOMEPAGE = "http://www.gnu.org/software/gnash" +LICENSE = "GPLv2 & LGPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=aabe87591cb8ae0f3c68be6977bb5522 \ + file://COPYING.GPL;md5=9ac2e7cff1ddaf48b6eab6028f23ef88 \ + file://COPYING.LGPL;md5=252890d9eee26aab7b432e8b8a616475" +DEPENDS = "gtk+ gtk+3 glib-2.0 libxml2 intltool-native \ + gnome-common-native \ +" + + +inherit autotools pkgconfig pythonnative gnomebase gobject-introspection + +SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/glade/3.20/glade-${PV}.tar.xz \ + file://remove-yelp-help-rules-var.patch \ + " +SRC_URI[md5sum] = "9964a2da14c5f845eae363889586ca43" +SRC_URI[sha256sum] = "82d96dca5dec40ee34e2f41d49c13b4ea50da8f32a3a49ca2da802ff14dc18fe" + +EXTRA_OECONF += "--disable-man-pages" + +FILES_${PN} += "${datadir}/* ${libdir}/glade/modules/libgladegtk.so" +FILES_${PN}-dev += "${libdir}/glade/modules/libgladegtk.la" +FILES_${PN}-dbg += "${libdir}/glade/modules/.debug/libgladegtk.so" + +PYTHON_PN = "python" + -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 10:03:15 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 10:03:15 +0000 Subject: [oe-commits] [meta-openembedded] 14/42: python3-pid: add recipe 2.1.1 In-Reply-To: <150071778187.4100.17147688793933494056@git.openembedded.org> References: <150071778187.4100.17147688793933494056@git.openembedded.org> Message-ID: <20170722100302.7FBA823283B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 3f29689e14e8aec8663a3d42ad02f69967251d91 Author: Hongxu Jia AuthorDate: Tue Jul 18 02:09:11 2017 -0400 python3-pid: add recipe 2.1.1 Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- .../0001-remove-requirement-of-nose.patch | 29 ++++++++++++++++++++++ .../recipes-devtools/python/python3-pid_2.1.1.bb | 14 +++++++++++ 2 files changed, 43 insertions(+) diff --git a/meta-python/recipes-devtools/python/python3-pid/0001-remove-requirement-of-nose.patch b/meta-python/recipes-devtools/python/python3-pid/0001-remove-requirement-of-nose.patch new file mode 100644 index 0000000..3beef07 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-pid/0001-remove-requirement-of-nose.patch @@ -0,0 +1,29 @@ +From 04d04a8fa1ef3d8dbdaebbaac9ae936e1c8234c1 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Wed, 28 Jun 2017 21:17:43 -0400 +Subject: [PATCH] remove requirement of nose + +The nose extends unittest to make testing easier. +Do not need the test suite, so remove requirement of nose. + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Hongxu Jia +--- + setup.py | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/setup.py b/setup.py +index 3f7c7cb..c42a546 100644 +--- a/setup.py ++++ b/setup.py +@@ -53,6 +53,4 @@ setup( + keywords='pid pidfile context manager decorator', + packages=["pid"], + install_requires=[], +- test_suite='nose.collector', +- setup_requires=['nose>=1.0'], + ) +-- +2.8.1 + diff --git a/meta-python/recipes-devtools/python/python3-pid_2.1.1.bb b/meta-python/recipes-devtools/python/python3-pid_2.1.1.bb new file mode 100644 index 0000000..c88d9a0 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-pid_2.1.1.bb @@ -0,0 +1,14 @@ +SUMMARY = "Pidfile featuring stale detection and file-locking, can also \ +be used as context-manager or decorator" +HOMEPAGE = "https://github.com/trbs/pid/" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=83d53cbd3105063f20305bc313464e29" + +SRC_URI[md5sum] = "9634b1e3d545544a9d496e25e4530d14" +SRC_URI[sha256sum] = "b443169d3dc21397695b4a82016fadb4cfdb0ed8b2ddb4aaa428e1701bb34e1f" + +inherit pypi setuptools3 + +SRC_URI += " \ + file://0001-remove-requirement-of-nose.patch \ +" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 10:03:07 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 10:03:07 +0000 Subject: [oe-commits] [meta-openembedded] 06/42: lm_sensors: Fix build on musl In-Reply-To: <150071778187.4100.17147688793933494056@git.openembedded.org> References: <150071778187.4100.17147688793933494056@git.openembedded.org> Message-ID: <20170722100302.4DF0A232833@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 07dddc0b63331844c4aef040900704aeae51dafb Author: Khem Raj AuthorDate: Mon Jul 17 20:10:12 2017 -0700 lm_sensors: Fix build on musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...-limit-sys-io.h-header-include-to-just-gl.patch | 88 ++++++++++++++++++++++ .../recipes-support/lm_sensors/lmsensors_3.4.0.bb | 6 ++ 2 files changed, 94 insertions(+) diff --git a/meta-oe/recipes-support/lm_sensors/lmsensors/0001-prog-Do-not-limit-sys-io.h-header-include-to-just-gl.patch b/meta-oe/recipes-support/lm_sensors/lmsensors/0001-prog-Do-not-limit-sys-io.h-header-include-to-just-gl.patch new file mode 100644 index 0000000..fb3878d --- /dev/null +++ b/meta-oe/recipes-support/lm_sensors/lmsensors/0001-prog-Do-not-limit-sys-io.h-header-include-to-just-gl.patch @@ -0,0 +1,88 @@ +From 727524453f115ddc05109e9bbb3d0e60a7db9185 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 16 Jul 2017 15:05:50 -0700 +Subject: [PATCH] prog: Do not limit sys/io.h header include to just glibc + +musl provides it too. + +Signed-off-by: Khem Raj +--- + prog/dump/isadump.c | 6 ------ + prog/dump/isaset.c | 6 ------ + prog/dump/superio.c | 5 ----- + prog/dump/util.c | 5 ----- + 4 files changed, 22 deletions(-) + +diff --git a/prog/dump/isadump.c b/prog/dump/isadump.c +index e0e6f00..8794537 100644 +--- a/prog/dump/isadump.c ++++ b/prog/dump/isadump.c +@@ -36,13 +36,7 @@ + #include "util.h" + #include "superio.h" + +- +-/* To keep glibc2 happy */ +-#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 0 + #include +-#else +-#include +-#endif + + #ifdef __powerpc__ + unsigned long isa_io_base = 0; /* XXX for now */ +diff --git a/prog/dump/isaset.c b/prog/dump/isaset.c +index e743755..85a4f64 100644 +--- a/prog/dump/isaset.c ++++ b/prog/dump/isaset.c +@@ -32,13 +32,7 @@ + #include + #include "util.h" + +- +-/* To keep glibc2 happy */ +-#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 0 + #include +-#else +-#include +-#endif + + #ifdef __powerpc__ + unsigned long isa_io_base = 0; /* XXX for now */ +diff --git a/prog/dump/superio.c b/prog/dump/superio.c +index 64ef27b..906fe55 100644 +--- a/prog/dump/superio.c ++++ b/prog/dump/superio.c +@@ -20,12 +20,7 @@ + */ + + #include +- +-#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 0 + #include +-#else +-#include +-#endif + + #include "superio.h" + +diff --git a/prog/dump/util.c b/prog/dump/util.c +index 874c1b9..197fa64 100644 +--- a/prog/dump/util.c ++++ b/prog/dump/util.c +@@ -11,12 +11,7 @@ + #include + #include "util.h" + +-/* To keep glibc2 happy */ +-#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 0 + #include +-#else +-#include +-#endif + + /* Return 1 if we should continue, 0 if we should abort */ + int user_ack(int def) +-- +2.13.3 + diff --git a/meta-oe/recipes-support/lm_sensors/lmsensors_3.4.0.bb b/meta-oe/recipes-support/lm_sensors/lmsensors_3.4.0.bb index dbc05a8..454a69f 100644 --- a/meta-oe/recipes-support/lm_sensors/lmsensors_3.4.0.bb +++ b/meta-oe/recipes-support/lm_sensors/lmsensors_3.4.0.bb @@ -11,6 +11,7 @@ SRC_URI = "https://github.com/groeck/lm-sensors/archive/V3-4-0.tar.gz \ file://fancontrol.init \ file://sensord.init \ file://0001-lmsensors-sensors-detect-print-a-special-message-whe.patch \ + file://0001-prog-Do-not-limit-sys-io.h-header-include-to-just-gl.patch \ " SRC_URI[md5sum] = "1e9f117cbfa11be1955adc96df71eadb" SRC_URI[sha256sum] = "e334c1c2b06f7290e3e66bdae330a5d36054701ffd47a5dde7a06f9a7402cb4e" @@ -37,6 +38,11 @@ EXTRA_OEMAKE = 'EXLDFLAGS="${LDFLAGS}" \ CC="${CC}" AR="${AR}"' do_compile() { + sed -i -e 's:^# \(PROG_EXTRA\):\1:' ${S}/Makefile + # Respect LDFLAGS + sed -i -e 's/\$(LIBDIR)$/\$(LIBDIR) \$(LDFLAGS)/g' ${S}/Makefile + sed -i -e 's/\$(LIBSHSONAME) -o/$(LIBSHSONAME) \$(LDFLAGS) -o/g' \ + ${S}/lib/Module.mk oe_runmake user PROG_EXTRA="sensors sensord" } -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 10:03:14 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 10:03:14 +0000 Subject: [oe-commits] [meta-openembedded] 13/42: python3-requests-ftp: add recipe 0.3.1 In-Reply-To: <150071778187.4100.17147688793933494056@git.openembedded.org> References: <150071778187.4100.17147688793933494056@git.openembedded.org> Message-ID: <20170722100302.796F323283A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit cb1c53b104e4842628a02cc35b56b11479c3638f Author: Hongxu Jia AuthorDate: Tue Jul 18 02:09:10 2017 -0400 python3-requests-ftp: add recipe 0.3.1 Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- .../recipes-devtools/python/python3-requests-ftp_0.3.1.bb | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/meta-python/recipes-devtools/python/python3-requests-ftp_0.3.1.bb b/meta-python/recipes-devtools/python/python3-requests-ftp_0.3.1.bb new file mode 100644 index 0000000..3f99ed6 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-requests-ftp_0.3.1.bb @@ -0,0 +1,14 @@ +SUMMARY = "FTP Transport Adapter for Requests" +HOMEPAGE = "http://github.com/Lukasa/requests-ftp" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=6683a23c9968b97709441dc884d46df6" + +SRC_URI[md5sum] = "1a52ad1219e696b5abd5449d1ccc0294" +SRC_URI[sha256sum] = "7504ceb5cba8a5c0135ed738596820a78c5f2be92d79b29f96ba99b183d8057a" + +inherit pypi setuptools3 + +RDEPENDS_${PN} += " \ + python3-requests \ +" + -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 10:03:06 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 10:03:06 +0000 Subject: [oe-commits] [meta-openembedded] 05/42: open-vm-tools: Fix build with musl In-Reply-To: <150071778187.4100.17147688793933494056@git.openembedded.org> References: <150071778187.4100.17147688793933494056@git.openembedded.org> Message-ID: <20170722100302.4766F232832@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 631a6e617ed6986c1d427e144fa299b225f36b89 Author: Khem Raj AuthorDate: Mon Jul 17 20:10:11 2017 -0700 open-vm-tools: Fix build with musl Use SPDX format for LICENSES Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...mptions-about-glibc-being-only-libc-imple.patch | 45 ++ ...ude-poll.h-instead-of-obsolete-sys-poll.h.patch | 24 + .../0003-Rename-poll.h-to-vm_poll.h.patch | 756 +++++++++++++++++++++ ...ompatible-pointer-types-and-Wno-error-add.patch | 31 + ...05-Use-configure-test-for-struct-timespec.patch | 45 ++ ...ix-definition-of-ALLPERMS-and-ACCESSPERMS.patch | 58 ++ ...re-to-test-for-feature-instead-of-platfor.patch | 144 ++++ .../0008-use-posix-strerror_r-unless-gnu.patch | 30 + ...support-for-building-with-system-libtirpc.patch | 342 ++++++++++ .../open-vm-tools/0010-gnu-ucontext.patch | 65 ++ ...Use-configure-test-for-sys-stat.h-include.patch | 25 + .../open-vm-tools/open-vm-tools_10.1.5.bb | 25 +- 12 files changed, 1584 insertions(+), 6 deletions(-) diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-Remove-assumptions-about-glibc-being-only-libc-imple.patch b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-Remove-assumptions-about-glibc-being-only-libc-imple.patch new file mode 100644 index 0000000..9773b4a --- /dev/null +++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-Remove-assumptions-about-glibc-being-only-libc-imple.patch @@ -0,0 +1,45 @@ +From a0983d84185f04c4e40778fe951fde4439894882 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 16 Jul 2017 07:37:03 -0700 +Subject: [PATCH 01/11] Remove assumptions about glibc being only libc + implementation on linux + +Signed-off-by: Khem Raj +--- + open-vm-tools/lib/file/fileIOPosix.c | 2 +- + open-vm-tools/lib/include/vm_basic_defs.h | 2 ++ + 2 files changed, 3 insertions(+), 1 deletion(-) + +Index: open-vm-tools/lib/file/fileIOPosix.c +=================================================================== +--- open-vm-tools.orig/lib/file/fileIOPosix.c ++++ open-vm-tools/lib/file/fileIOPosix.c +@@ -205,7 +205,7 @@ static AlignedPool alignedPool; + * are not available in any header file. + */ + +-#if defined(__linux__) && !defined(__ANDROID__) ++#if defined(__linux__) && defined(__GLIBC__) + #if defined(_FILE_OFFSET_BITS) && (_FILE_OFFSET_BITS == 64) + /* + * We want preadv/pwritev. But due to FOB=64, the symbols are -64. +Index: open-vm-tools/lib/include/vm_basic_defs.h +=================================================================== +--- open-vm-tools.orig/lib/include/vm_basic_defs.h ++++ open-vm-tools/lib/include/vm_basic_defs.h +@@ -571,6 +571,7 @@ typedef int pid_t; + #if defined __linux__ && !defined __KERNEL__ && !defined MODULE && \ + !defined VMM && !defined FROBOS && !defined __ANDROID__ + #include ++#if __GLIBC__ + #if __GLIBC_PREREQ(2, 1) && !defined GLIBC_VERSION_21 + #define GLIBC_VERSION_21 + #endif +@@ -590,6 +591,7 @@ typedef int pid_t; + #define GLIBC_VERSION_212 + #endif + #endif ++#endif + + /* + * Convenience definitions of unicode characters. diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-include-poll.h-instead-of-obsolete-sys-poll.h.patch b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-include-poll.h-instead-of-obsolete-sys-poll.h.patch new file mode 100644 index 0000000..d26bf2d --- /dev/null +++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-include-poll.h-instead-of-obsolete-sys-poll.h.patch @@ -0,0 +1,24 @@ +From d44c7c9de7380ad7b284231bd5b5c99b5c19758d Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 16 Jul 2017 07:37:59 -0700 +Subject: [PATCH 02/11] include poll.h instead of obsolete sys/poll.h + +Signed-off-by: Khem Raj +--- + open-vm-tools/lib/asyncsocket/asyncSocketInt.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: open-vm-tools/lib/asyncsocket/asyncSocketInt.h +=================================================================== +--- open-vm-tools.orig/lib/asyncsocket/asyncSocketInt.h ++++ open-vm-tools/lib/asyncsocket/asyncSocketInt.h +@@ -71,8 +71,8 @@ + #else + #include + #include ++#include + #include +-#include + #include + #include + #include diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0003-Rename-poll.h-to-vm_poll.h.patch b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0003-Rename-poll.h-to-vm_poll.h.patch new file mode 100644 index 0000000..8641778 --- /dev/null +++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0003-Rename-poll.h-to-vm_poll.h.patch @@ -0,0 +1,756 @@ +From 687fca20b3417ac885b6961e6fe1126d4a3fe7a4 Mon Sep 17 00:00:00 2001 +From: Natanael Copa +Date: Tue, 17 Nov 2015 10:57:31 +0000 +Subject: [PATCH 03/11] Rename poll.h to vm_poll.h + +musl libc's system headers pulls in open-vm-tools' poll.h. To avoid this +we rename poll.h to vm_poll.h. + +Signed-off-by: Natanael Copa +--- + open-vm-tools/lib/asyncsocket/asyncsocket.c | 2 +- + open-vm-tools/lib/hgfsServer/hgfsServer.c | 2 +- + open-vm-tools/lib/include/asyncsocket.h | 2 +- + open-vm-tools/lib/include/pollImpl.h | 2 +- + open-vm-tools/lib/include/{poll.h => vm_poll.h} | 0 + open-vm-tools/lib/rpcIn/rpcin.c | 2 +- + open-vm-tools/services/plugins/grabbitmqProxy/grabbitmqProxyPlugin.c | 2 +- + 7 files changed, 6 insertions(+), 6 deletions(-) + rename open-vm-tools/lib/include/{poll.h => vm_poll.h} (100%) + +Index: open-vm-tools/lib/asyncsocket/asyncsocket.c +=================================================================== +--- open-vm-tools.orig/lib/asyncsocket/asyncsocket.c ++++ open-vm-tools/lib/asyncsocket/asyncsocket.c +@@ -52,7 +52,7 @@ + #include "vmware.h" + #include "asyncsocket.h" + #include "asyncSocketInt.h" +-#include "poll.h" ++#include "vm_poll.h" + #include "log.h" + #include "err.h" + #include "hostinfo.h" +Index: open-vm-tools/lib/hgfsServer/hgfsServer.c +=================================================================== +--- open-vm-tools.orig/lib/hgfsServer/hgfsServer.c ++++ open-vm-tools/lib/hgfsServer/hgfsServer.c +@@ -48,7 +48,7 @@ + #include "hgfsServerOplock.h" + #include "hgfsDirNotify.h" + #include "userlock.h" +-#include "poll.h" ++#include "vm_poll.h" + #include "mutexRankLib.h" + #include "vm_basic_asm.h" + #include "unicodeOperations.h" +Index: open-vm-tools/lib/include/asyncsocket.h +=================================================================== +--- open-vm-tools.orig/lib/include/asyncsocket.h ++++ open-vm-tools/lib/include/asyncsocket.h +@@ -129,7 +129,7 @@ typedef struct AsyncSocket AsyncSocket; + * Or the client can specify its favorite poll class and locking behavior. + * Use of IVmdbPoll is only supported for regular sockets and for Attach. + */ +-#include "poll.h" ++#include "vm_poll.h" + struct IVmdbPoll; + typedef struct AsyncSocketPollParams { + int flags; /* Default 0, only POLL_FLAG_NO_BULL is valid */ +Index: open-vm-tools/lib/include/poll.h +=================================================================== +--- open-vm-tools.orig/lib/include/poll.h ++++ /dev/null +@@ -1,324 +0,0 @@ +-/********************************************************* +- * Copyright (C) 1998-2016 VMware, Inc. All rights reserved. +- * +- * This program is free software; you can redistribute it and/or modify it +- * under the terms of the GNU Lesser General Public License as published +- * by the Free Software Foundation version 2.1 and no later version. +- * +- * This program is distributed in the hope that it will be useful, but +- * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +- * or FITNESS FOR A PARTICULAR PURPOSE. See the Lesser GNU General Public +- * License for more details. +- * +- * You should have received a copy of the GNU Lesser General Public License +- * along with this program; if not, write to the Free Software Foundation, Inc., +- * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +- * +- *********************************************************/ +- +-/********************************************************* +- * The contents of this file are subject to the terms of the Common +- * Development and Distribution License (the "License") version 1.0 +- * and no later version. You may not use this file except in +- * compliance with the License. +- * +- * You can obtain a copy of the License at +- * http://www.opensource.org/licenses/cddl1.php +- * +- * See the License for the specific language governing permissions +- * and limitations under the License. +- * +- *********************************************************/ +- +- +-#ifndef _POLL_H_ +-#define _POLL_H_ +- +-#define INCLUDE_ALLOW_USERLEVEL +-#define INCLUDE_ALLOW_VMCORE +-#include "includeCheck.h" +- +-#include "vm_basic_types.h" +-#include "vm_basic_defs.h" +-#include "vmware.h" +-#include "userlock.h" +- +-#ifdef _WIN32 +-#define HZ 100 +-#elif defined linux +-#include +-#elif __APPLE__ +-#include +-/* +- * Old SDKs don't define TARGET_OS_IPHONE at all. +- * New ones define it to 0 on Mac OS X, 1 on iOS. +- */ +-#if !defined(TARGET_OS_IPHONE) || TARGET_OS_IPHONE == 0 +-#include +-#endif +-#include +-#define HZ 100 +-#endif +-#ifdef __ANDROID__ +-/* +- * of android should be included, but its name is same +- * with this file. So its content is put here to avoid conflict. +- */ +-#include +-#define HZ 100 +-typedef unsigned int nfds_t; +-int poll(struct pollfd *, nfds_t, long); +-#endif +- +- +-/* +- * Poll event types: each type has a different reason for firing, +- * or condition that must be met before firing. +- */ +- +-typedef enum { +- /* +- * Actual Poll queue types against which you can register callbacks. +- */ +- POLL_VIRTUALREALTIME = -1, /* Negative because it doesn't have its own Q */ +- POLL_VTIME = 0, +- POLL_REALTIME, +- POLL_DEVICE, +- POLL_MAIN_LOOP, +- POLL_NUM_QUEUES +-} PollEventType; +- +- +-/* +- * Classes of events +- * +- * These are the predefined classes. More can be declared +- * with Poll_AllocClass(). +- */ +- +-typedef enum PollClass { +- POLL_CLASS_MAIN, +- POLL_CLASS_PAUSE, +- POLL_CLASS_IPC, +- POLL_CLASS_CPT, +- POLL_CLASS_MKS, +- POLL_FIXED_CLASSES, +- POLL_MAX_CLASSES = 320 /* Size enum to maximum */ +-} PollClass; +- +- +-/* +- * Each callback is registered in a set of classes +- */ +- +-typedef struct PollClassSet { +- /* Type is uintptr_t to give best 32/64-bit code. */ +-#define _POLL_ELEMSIZE (sizeof (uintptr_t) * 8) +- uintptr_t bits[CEILING(POLL_MAX_CLASSES, _POLL_ELEMSIZE)]; +-} PollClassSet; +- +-/* An empty PollClassSet. */ +-static INLINE PollClassSet +-PollClassSet_Empty(void) +-{ +- PollClassSet set = { { 0 } }; +- return set; +-} +- +-/* A PollClassSet with the single member. */ +-static INLINE PollClassSet +-PollClassSet_Singleton(PollClass c) +-{ +- PollClassSet s = PollClassSet_Empty(); +- +- ASSERT_ON_COMPILE(sizeof s.bits[0] * 8 == _POLL_ELEMSIZE); /* Size correct */ +- ASSERT_ON_COMPILE((_POLL_ELEMSIZE & (_POLL_ELEMSIZE - 1)) == 0); /* power of 2 */ +- ASSERT_ON_COMPILE(POLL_MAX_CLASSES <= ARRAYSIZE(s.bits) * _POLL_ELEMSIZE); +- ASSERT(c < POLL_MAX_CLASSES); +- +- s.bits[c / _POLL_ELEMSIZE] = CONST3264U(1) << (c % _POLL_ELEMSIZE); +- return s; +-} +- +-/* Combine two PollClassSets. */ +-static INLINE PollClassSet +-PollClassSet_Union(PollClassSet lhs, PollClassSet rhs) +-{ +- PollClassSet u; +- unsigned i; +- +- for (i = 0; i < ARRAYSIZE(u.bits); i++) { +- u.bits[i] = lhs.bits[i] | rhs.bits[i]; +- } +- return u; +-} +- +-/* Add single class to PollClassSet. */ +-static INLINE PollClassSet +-PollClassSet_Include(PollClassSet set, PollClass c) +-{ +- return PollClassSet_Union(set, PollClassSet_Singleton(c)); +-} +- +- +-#define POLL_CS_MAIN PollClassSet_Singleton(POLL_CLASS_MAIN) +-#define POLL_CS_PAUSE PollClassSet_Union(POLL_CS_MAIN, \ +- PollClassSet_Singleton(POLL_CLASS_PAUSE)) +-#define POLL_CS_CPT PollClassSet_Union(POLL_CS_PAUSE, \ +- PollClassSet_Singleton(POLL_CLASS_CPT)) +-#define POLL_CS_IPC PollClassSet_Union(POLL_CS_CPT, \ +- PollClassSet_Singleton(POLL_CLASS_IPC)) +-#define POLL_CS_VMDB POLL_CS_PAUSE /* POLL_CLASS_VMDB is retired */ +-#define POLL_CS_MKS PollClassSet_Singleton(POLL_CLASS_MKS) +-/* +- * DANGER. You don't need POLL_CS_ALWAYS. Really. So don't use it. +- */ +-#define POLL_CS_ALWAYS PollClassSet_Union(POLL_CS_CPT, POLL_CS_IPC) +- +-/* +- * Poll class-set taxonomy: +- * POLL_CS_MAIN +- * - Unless you NEED another class, use POLL_CS_MAIN. +- * POLL_CS_PAUSE +- * - For callbacks that must occur even if the guest is paused. +- * Most VMDB or Foundry commands are in this category. +- * POLL_CS_CPT +- * - Only for callbacks which can trigger intermediate Checkpoint +- * transitions. +- * The ONLY such callback is Migrate. +- * POLL_CS_IPC +- * - Only for callbacks which can contain Msg_(Post|Hint|Question) +- * responses, and for signal handlers (why)? +- * Vigor, VMDB, and Foundry can contain Msg_* responses. +- * POLL_CS_MKS +- * - Callback runs in MKS thread. +- * POLL_CS_ALWAYS +- * - Only for events that must be processed immediately. +- * The ONLY such callback is OvhdMemVmxSizeCheck. +- */ +- +- +-/* +- * Poll_Callback flags +- */ +- +-#define POLL_FLAG_PERIODIC 0x01 // keep after firing +-#define POLL_FLAG_REMOVE_AT_POWEROFF 0x02 // self-explanatory +-#define POLL_FLAG_READ 0x04 // device is ready for reading +-#define POLL_FLAG_WRITE 0x08 // device is ready for writing +-#define POLL_FLAG_SOCKET 0x10 // device is a Windows socket +-#define POLL_FLAG_NO_BULL 0x20 // callback does its own locking +-#define POLL_FLAG_WINSOCK 0x40 // Winsock style write events +-#define POLL_FLAG_FD 0x80 // device is a Windows file descriptor. +-#define POLL_FLAG_ACCEPT_INVALID_FDS 0x100 // For broken 3rd party libs, e.g. curl +-#define POLL_FLAG_THUNK_TO_WND 0x200 // thunk callback to window message loop +- +- +-/* +- * Advisory minimum time period. +- * Users that want the fastest running real-time poll +- * should use TICKS_TO_USECS(1). +- */ +- +-#define TICKS_TO_USECS(_x) ((_x) * (1000000 / HZ)) +-#define USECS_TO_TICKS(_x) ((_x) / (1000000 / HZ)) +- +- +-typedef void (*PollerFunction)(void *clientData); +-typedef void (*PollerFireWrapper)(PollerFunction func, +- void *funcData, +- void *wrapperData); +-typedef Bool (*PollerErrorFn)(const char *errorStr); +- +-/* +- * Initialisers: +- * +- * For the sake of convenience, we declare the initialisers +- * for custom implmentations here, even though the actual +- * implementations are distinct from the core poll code. +- */ +- +-typedef struct PollOptions { +- Bool locked; // Use internal MXUser for locking +- Bool allowFullQueue; // Don't assert when device event queue is full. +- VThreadID windowsMsgThread; // thread that processes Windows messages +- PollerFireWrapper fireWrapperFn; // optional; may be useful for stats +- void *fireWrapperData; // optional +- PollerErrorFn errorFn; // optional; called upon unrecoverable error +-} PollOptions; +- +- +-void Poll_InitDefault(void); +-void Poll_InitDefaultEx(const PollOptions *opts); +-void Poll_InitGtk(void); // On top of glib for Linux +-void Poll_InitCF(void); // On top of CoreFoundation for OSX +- +- +-/* +- * Functions +- */ +-int Poll_SocketPair(Bool vmci, Bool stream, int fds[2]); +-void Poll_Loop(Bool loop, Bool *exit, PollClass c); +-void Poll_LoopTimeout(Bool loop, Bool *exit, PollClass c, int timeout); +-Bool Poll_LockingEnabled(void); +-void Poll_Exit(void); +- +- +-/* +- * Poll_Callback adds a callback regardless of whether an identical one exists. +- * +- * Likewise, Poll_CallbackRemove removes exactly one callback. +- */ +- +-VMwareStatus Poll_Callback(PollClassSet classSet, +- int flags, +- PollerFunction f, +- void *clientData, +- PollEventType type, +- PollDevHandle info, // fd/microsec delay +- MXUserRecLock *lck); +-Bool Poll_CallbackRemove(PollClassSet classSet, +- int flags, +- PollerFunction f, +- void *clientData, +- PollEventType type); +-Bool Poll_CallbackRemoveOneByCB(PollClassSet classSet, +- int flags, +- PollerFunction f, +- PollEventType type, +- void **clientData); +- +-void Poll_NotifyChange(PollClassSet classSet); +- +-/* +- * Wrappers for Poll_Callback and Poll_CallbackRemove that present +- * simpler subsets of those interfaces. +- */ +- +-VMwareStatus Poll_CB_Device(PollerFunction f, +- void *clientData, +- PollDevHandle device, +- Bool periodic); +- +-Bool Poll_CB_DeviceRemove(PollerFunction f, +- void *clientData, +- Bool periodic); +- +- +-VMwareStatus Poll_CB_RTime(PollerFunction f, +- void *clientData, +- int delay, // microseconds +- Bool periodic, +- MXUserRecLock *lock); +- +-Bool Poll_CB_RTimeRemove(PollerFunction f, +- void *clientData, +- Bool periodic); +- +- +-#ifdef _WIN32 +-void Poll_SetWindowMessageRecipient(HWND hWnd, UINT msg, Bool alwaysThunk); +-Bool Poll_FireWndCallback(void *lparam); +-#endif +- +-#endif // _POLL_H_ +Index: open-vm-tools/lib/include/pollImpl.h +=================================================================== +--- open-vm-tools.orig/lib/include/pollImpl.h ++++ open-vm-tools/lib/include/pollImpl.h +@@ -44,7 +44,7 @@ + #define INCLUDE_ALLOW_USERLEVEL + #include "includeCheck.h" + +-#include "poll.h" ++#include "vm_poll.h" + + /* + * PollImpl: +Index: open-vm-tools/lib/include/vm_poll.h +=================================================================== +--- /dev/null ++++ open-vm-tools/lib/include/vm_poll.h +@@ -0,0 +1,324 @@ ++/********************************************************* ++ * Copyright (C) 1998-2016 VMware, Inc. All rights reserved. ++ * ++ * This program is free software; you can redistribute it and/or modify it ++ * under the terms of the GNU Lesser General Public License as published ++ * by the Free Software Foundation version 2.1 and no later version. ++ * ++ * This program is distributed in the hope that it will be useful, but ++ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY ++ * or FITNESS FOR A PARTICULAR PURPOSE. See the Lesser GNU General Public ++ * License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General Public License ++ * along with this program; if not, write to the Free Software Foundation, Inc., ++ * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. ++ * ++ *********************************************************/ ++ ++/********************************************************* ++ * The contents of this file are subject to the terms of the Common ++ * Development and Distribution License (the "License") version 1.0 ++ * and no later version. You may not use this file except in ++ * compliance with the License. ++ * ++ * You can obtain a copy of the License at ++ * http://www.opensource.org/licenses/cddl1.php ++ * ++ * See the License for the specific language governing permissions ++ * and limitations under the License. ++ * ++ *********************************************************/ ++ ++ ++#ifndef _POLL_H_ ++#define _POLL_H_ ++ ++#define INCLUDE_ALLOW_USERLEVEL ++#define INCLUDE_ALLOW_VMCORE ++#include "includeCheck.h" ++ ++#include "vm_basic_types.h" ++#include "vm_basic_defs.h" ++#include "vmware.h" ++#include "userlock.h" ++ ++#ifdef _WIN32 ++#define HZ 100 ++#elif defined linux ++#include ++#elif __APPLE__ ++#include ++/* ++ * Old SDKs don't define TARGET_OS_IPHONE at all. ++ * New ones define it to 0 on Mac OS X, 1 on iOS. ++ */ ++#if !defined(TARGET_OS_IPHONE) || TARGET_OS_IPHONE == 0 ++#include ++#endif ++#include ++#define HZ 100 ++#endif ++#ifdef __ANDROID__ ++/* ++ * of android should be included, but its name is same ++ * with this file. So its content is put here to avoid conflict. ++ */ ++#include ++#define HZ 100 ++typedef unsigned int nfds_t; ++int poll(struct pollfd *, nfds_t, long); ++#endif ++ ++ ++/* ++ * Poll event types: each type has a different reason for firing, ++ * or condition that must be met before firing. ++ */ ++ ++typedef enum { ++ /* ++ * Actual Poll queue types against which you can register callbacks. ++ */ ++ POLL_VIRTUALREALTIME = -1, /* Negative because it doesn't have its own Q */ ++ POLL_VTIME = 0, ++ POLL_REALTIME, ++ POLL_DEVICE, ++ POLL_MAIN_LOOP, ++ POLL_NUM_QUEUES ++} PollEventType; ++ ++ ++/* ++ * Classes of events ++ * ++ * These are the predefined classes. More can be declared ++ * with Poll_AllocClass(). ++ */ ++ ++typedef enum PollClass { ++ POLL_CLASS_MAIN, ++ POLL_CLASS_PAUSE, ++ POLL_CLASS_IPC, ++ POLL_CLASS_CPT, ++ POLL_CLASS_MKS, ++ POLL_FIXED_CLASSES, ++ POLL_MAX_CLASSES = 320 /* Size enum to maximum */ ++} PollClass; ++ ++ ++/* ++ * Each callback is registered in a set of classes ++ */ ++ ++typedef struct PollClassSet { ++ /* Type is uintptr_t to give best 32/64-bit code. */ ++#define _POLL_ELEMSIZE (sizeof (uintptr_t) * 8) ++ uintptr_t bits[CEILING(POLL_MAX_CLASSES, _POLL_ELEMSIZE)]; ++} PollClassSet; ++ ++/* An empty PollClassSet. */ ++static INLINE PollClassSet ++PollClassSet_Empty(void) ++{ ++ PollClassSet set = { { 0 } }; ++ return set; ++} ++ ++/* A PollClassSet with the single member. */ ++static INLINE PollClassSet ++PollClassSet_Singleton(PollClass c) ++{ ++ PollClassSet s = PollClassSet_Empty(); ++ ++ ASSERT_ON_COMPILE(sizeof s.bits[0] * 8 == _POLL_ELEMSIZE); /* Size correct */ ++ ASSERT_ON_COMPILE((_POLL_ELEMSIZE & (_POLL_ELEMSIZE - 1)) == 0); /* power of 2 */ ++ ASSERT_ON_COMPILE(POLL_MAX_CLASSES <= ARRAYSIZE(s.bits) * _POLL_ELEMSIZE); ++ ASSERT(c < POLL_MAX_CLASSES); ++ ++ s.bits[c / _POLL_ELEMSIZE] = CONST3264U(1) << (c % _POLL_ELEMSIZE); ++ return s; ++} ++ ++/* Combine two PollClassSets. */ ++static INLINE PollClassSet ++PollClassSet_Union(PollClassSet lhs, PollClassSet rhs) ++{ ++ PollClassSet u; ++ unsigned i; ++ ++ for (i = 0; i < ARRAYSIZE(u.bits); i++) { ++ u.bits[i] = lhs.bits[i] | rhs.bits[i]; ++ } ++ return u; ++} ++ ++/* Add single class to PollClassSet. */ ++static INLINE PollClassSet ++PollClassSet_Include(PollClassSet set, PollClass c) ++{ ++ return PollClassSet_Union(set, PollClassSet_Singleton(c)); ++} ++ ++ ++#define POLL_CS_MAIN PollClassSet_Singleton(POLL_CLASS_MAIN) ++#define POLL_CS_PAUSE PollClassSet_Union(POLL_CS_MAIN, \ ++ PollClassSet_Singleton(POLL_CLASS_PAUSE)) ++#define POLL_CS_CPT PollClassSet_Union(POLL_CS_PAUSE, \ ++ PollClassSet_Singleton(POLL_CLASS_CPT)) ++#define POLL_CS_IPC PollClassSet_Union(POLL_CS_CPT, \ ++ PollClassSet_Singleton(POLL_CLASS_IPC)) ++#define POLL_CS_VMDB POLL_CS_PAUSE /* POLL_CLASS_VMDB is retired */ ++#define POLL_CS_MKS PollClassSet_Singleton(POLL_CLASS_MKS) ++/* ++ * DANGER. You don't need POLL_CS_ALWAYS. Really. So don't use it. ++ */ ++#define POLL_CS_ALWAYS PollClassSet_Union(POLL_CS_CPT, POLL_CS_IPC) ++ ++/* ++ * Poll class-set taxonomy: ++ * POLL_CS_MAIN ++ * - Unless you NEED another class, use POLL_CS_MAIN. ++ * POLL_CS_PAUSE ++ * - For callbacks that must occur even if the guest is paused. ++ * Most VMDB or Foundry commands are in this category. ++ * POLL_CS_CPT ++ * - Only for callbacks which can trigger intermediate Checkpoint ++ * transitions. ++ * The ONLY such callback is Migrate. ++ * POLL_CS_IPC ++ * - Only for callbacks which can contain Msg_(Post|Hint|Question) ++ * responses, and for signal handlers (why)? ++ * Vigor, VMDB, and Foundry can contain Msg_* responses. ++ * POLL_CS_MKS ++ * - Callback runs in MKS thread. ++ * POLL_CS_ALWAYS ++ * - Only for events that must be processed immediately. ++ * The ONLY such callback is OvhdMemVmxSizeCheck. ++ */ ++ ++ ++/* ++ * Poll_Callback flags ++ */ ++ ++#define POLL_FLAG_PERIODIC 0x01 // keep after firing ++#define POLL_FLAG_REMOVE_AT_POWEROFF 0x02 // self-explanatory ++#define POLL_FLAG_READ 0x04 // device is ready for reading ++#define POLL_FLAG_WRITE 0x08 // device is ready for writing ++#define POLL_FLAG_SOCKET 0x10 // device is a Windows socket ++#define POLL_FLAG_NO_BULL 0x20 // callback does its own locking ++#define POLL_FLAG_WINSOCK 0x40 // Winsock style write events ++#define POLL_FLAG_FD 0x80 // device is a Windows file descriptor. ++#define POLL_FLAG_ACCEPT_INVALID_FDS 0x100 // For broken 3rd party libs, e.g. curl ++#define POLL_FLAG_THUNK_TO_WND 0x200 // thunk callback to window message loop ++ ++ ++/* ++ * Advisory minimum time period. ++ * Users that want the fastest running real-time poll ++ * should use TICKS_TO_USECS(1). ++ */ ++ ++#define TICKS_TO_USECS(_x) ((_x) * (1000000 / HZ)) ++#define USECS_TO_TICKS(_x) ((_x) / (1000000 / HZ)) ++ ++ ++typedef void (*PollerFunction)(void *clientData); ++typedef void (*PollerFireWrapper)(PollerFunction func, ++ void *funcData, ++ void *wrapperData); ++typedef Bool (*PollerErrorFn)(const char *errorStr); ++ ++/* ++ * Initialisers: ++ * ++ * For the sake of convenience, we declare the initialisers ++ * for custom implmentations here, even though the actual ++ * implementations are distinct from the core poll code. ++ */ ++ ++typedef struct PollOptions { ++ Bool locked; // Use internal MXUser for locking ++ Bool allowFullQueue; // Don't assert when device event queue is full. ++ VThreadID windowsMsgThread; // thread that processes Windows messages ++ PollerFireWrapper fireWrapperFn; // optional; may be useful for stats ++ void *fireWrapperData; // optional ++ PollerErrorFn errorFn; // optional; called upon unrecoverable error ++} PollOptions; ++ ++ ++void Poll_InitDefault(void); ++void Poll_InitDefaultEx(const PollOptions *opts); ++void Poll_InitGtk(void); // On top of glib for Linux ++void Poll_InitCF(void); // On top of CoreFoundation for OSX ++ ++ ++/* ++ * Functions ++ */ ++int Poll_SocketPair(Bool vmci, Bool stream, int fds[2]); ++void Poll_Loop(Bool loop, Bool *exit, PollClass c); ++void Poll_LoopTimeout(Bool loop, Bool *exit, PollClass c, int timeout); ++Bool Poll_LockingEnabled(void); ++void Poll_Exit(void); ++ ++ ++/* ++ * Poll_Callback adds a callback regardless of whether an identical one exists. ++ * ++ * Likewise, Poll_CallbackRemove removes exactly one callback. ++ */ ++ ++VMwareStatus Poll_Callback(PollClassSet classSet, ++ int flags, ++ PollerFunction f, ++ void *clientData, ++ PollEventType type, ++ PollDevHandle info, // fd/microsec delay ++ MXUserRecLock *lck); ++Bool Poll_CallbackRemove(PollClassSet classSet, ++ int flags, ++ PollerFunction f, ++ void *clientData, ++ PollEventType type); ++Bool Poll_CallbackRemoveOneByCB(PollClassSet classSet, ++ int flags, ++ PollerFunction f, ++ PollEventType type, ++ void **clientData); ++ ++void Poll_NotifyChange(PollClassSet classSet); ++ ++/* ++ * Wrappers for Poll_Callback and Poll_CallbackRemove that present ++ * simpler subsets of those interfaces. ++ */ ++ ++VMwareStatus Poll_CB_Device(PollerFunction f, ++ void *clientData, ++ PollDevHandle device, ++ Bool periodic); ++ ++Bool Poll_CB_DeviceRemove(PollerFunction f, ++ void *clientData, ++ Bool periodic); ++ ++ ++VMwareStatus Poll_CB_RTime(PollerFunction f, ++ void *clientData, ++ int delay, // microseconds ++ Bool periodic, ++ MXUserRecLock *lock); ++ ++Bool Poll_CB_RTimeRemove(PollerFunction f, ++ void *clientData, ++ Bool periodic); ++ ++ ++#ifdef _WIN32 ++void Poll_SetWindowMessageRecipient(HWND hWnd, UINT msg, Bool alwaysThunk); ++Bool Poll_FireWndCallback(void *lparam); ++#endif ++ ++#endif // _POLL_H_ +Index: open-vm-tools/lib/rpcIn/rpcin.c +=================================================================== +--- open-vm-tools.orig/lib/rpcIn/rpcin.c ++++ open-vm-tools/lib/rpcIn/rpcin.c +@@ -57,7 +57,7 @@ + + #if defined(VMTOOLS_USE_VSOCKET) + # include +-# include "poll.h" ++# include "vm_poll.h" + # include "asyncsocket.h" + # include "vmci_defs.h" + #include "dataMap.h" +Index: open-vm-tools/services/plugins/grabbitmqProxy/grabbitmqProxyPlugin.c +=================================================================== +--- open-vm-tools.orig/services/plugins/grabbitmqProxy/grabbitmqProxyPlugin.c ++++ open-vm-tools/services/plugins/grabbitmqProxy/grabbitmqProxyPlugin.c +@@ -48,7 +48,7 @@ + #include "rpcout.h" + #include "rabbitmqProxyConst.h" + #include "vm_basic_types.h" +-#include "poll.h" ++#include "vm_poll.h" + #ifdef OPEN_VM_TOOLS + #include "vmci_sockets.h" + #include "sslDirect.h" diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0004-Add-Wno-incompatible-pointer-types-and-Wno-error-add.patch b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0004-Add-Wno-incompatible-pointer-types-and-Wno-error-add.patch new file mode 100644 index 0000000..0105167 --- /dev/null +++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0004-Add-Wno-incompatible-pointer-types-and-Wno-error-add.patch @@ -0,0 +1,31 @@ +From cdb0b3c898c6b6b6c8259d9ddb8b00163ac5e419 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 16 Jul 2017 09:43:18 -0700 +Subject: [PATCH 04/11] Add -Wno-incompatible-pointer-types and + -Wno-error=address + +Signed-off-by: Khem Raj +--- + open-vm-tools/lib/dynxdr/Makefile.am | 2 +- + open-vm-tools/lib/file/Makefile.am | 1 + + 2 files changed, 2 insertions(+), 1 deletion(-) + +Index: open-vm-tools/lib/dynxdr/Makefile.am +=================================================================== +--- open-vm-tools.orig/lib/dynxdr/Makefile.am ++++ open-vm-tools/lib/dynxdr/Makefile.am +@@ -20,4 +20,4 @@ noinst_LTLIBRARIES = libDynxdr.la + libDynxdr_la_SOURCES = + libDynxdr_la_SOURCES += dynxdr.c + libDynxdr_la_SOURCES += xdrutil.c +- ++libDynxdr_la_CPPFLAGS = -Wno-incompatible-pointer-types +Index: open-vm-tools/lib/file/Makefile.am +=================================================================== +--- open-vm-tools.orig/lib/file/Makefile.am ++++ open-vm-tools/lib/file/Makefile.am +@@ -27,3 +27,4 @@ libFile_la_SOURCES += fileLockPrimitive. + libFile_la_SOURCES += fileLockPosix.c + libFile_la_SOURCES += fileTempPosix.c + libFile_la_SOURCES += fileTemp.c ++libFile_la_CPPFLAGS = -Wno-error=address diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-test-for-struct-timespec.patch b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-test-for-struct-timespec.patch new file mode 100644 index 0000000..f02d00f --- /dev/null +++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-test-for-struct-timespec.patch @@ -0,0 +1,45 @@ +From bf1eafb07297711baf9320b1edcca8a3376f117d Mon Sep 17 00:00:00 2001 +From: Natanael Copa +Date: Wed, 18 Nov 2015 09:03:00 +0000 +Subject: [PATCH 05/11] Use configure test for struct timespec + +Use the configure script to test for struct time spec instead of trying +to keep track of what platforms has it. + +Signed-off-by: Natanael Copa +--- + open-vm-tools/configure.ac | 1 + + open-vm-tools/lib/include/hgfsUtil.h | 8 +------- + 2 files changed, 2 insertions(+), 7 deletions(-) + +Index: open-vm-tools/configure.ac +=================================================================== +--- open-vm-tools.orig/configure.ac ++++ open-vm-tools/configure.ac +@@ -1127,6 +1127,7 @@ AC_TYPE_OFF_T + AC_TYPE_PID_T + AC_TYPE_SIZE_T + AC_CHECK_MEMBERS([struct stat.st_rdev]) ++AC_CHECK_MEMBERS([struct timespec.tv_sec],[],[],[[#include ]]) + AC_HEADER_TIME + AC_STRUCT_TM + AC_C_VOLATILE +Index: open-vm-tools/lib/include/hgfsUtil.h +=================================================================== +--- open-vm-tools.orig/lib/include/hgfsUtil.h ++++ open-vm-tools/lib/include/hgfsUtil.h +@@ -53,13 +53,7 @@ + # include + # endif + # include "vm_basic_types.h" +-# if !defined _STRUCT_TIMESPEC && \ +- !defined _TIMESPEC_DECLARED && \ +- !defined __timespec_defined && \ +- !defined sun && \ +- !defined __FreeBSD__ && \ +- !__APPLE__ && \ +- !defined _WIN32 ++# if !defined HAVE_STRUCT_TIMESPEC_TV_SEC + struct timespec { + time_t tv_sec; + long tv_nsec; diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0006-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0006-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch new file mode 100644 index 0000000..d1f4eff --- /dev/null +++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0006-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch @@ -0,0 +1,58 @@ +From 31ae6f42458f90d4994a4ad8e2b7673691612c36 Mon Sep 17 00:00:00 2001 +From: Natanael Copa +Date: Wed, 18 Nov 2015 09:10:14 +0000 +Subject: [PATCH 06/11] Fix definition of ALLPERMS and ACCESSPERMS + +The ALLPERMS and ACCESSPERMS defines are not specified in POSIX so +assume it is not there instead of testing for specific implementations. + +This is needed for musl libc. + +Signed-off-by: Natanael Copa +--- + open-vm-tools/lib/hgfsServer/hgfsServerLinux.c | 8 +++++--- + open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c | 3 +-- + 2 files changed, 6 insertions(+), 5 deletions(-) + +Index: open-vm-tools/lib/hgfsServer/hgfsServerLinux.c +=================================================================== +--- open-vm-tools.orig/lib/hgfsServer/hgfsServerLinux.c ++++ open-vm-tools/lib/hgfsServer/hgfsServerLinux.c +@@ -107,11 +107,13 @@ typedef struct DirectoryEntry { + #endif + + /* +- * ALLPERMS (mode 07777) and ACCESSPERMS (mode 0777) are not defined in the +- * Solaris version of . ++ * ALLPERMS (mode 07777) and ACCESSPERMS (mode 0777) are not specified in ++ * POSIX. + */ +-#ifdef sun ++#ifndef ACCESSPERMS + # define ACCESSPERMS (S_IRWXU|S_IRWXG|S_IRWXO) ++#endif ++#ifndef ALLPERMS + # define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO) + #endif + +Index: open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c +=================================================================== +--- open-vm-tools.orig/services/plugins/dndcp/dnd/dndLinux.c ++++ open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c +@@ -51,7 +51,7 @@ + + #define DND_ROOTDIR_PERMS (S_IRWXU | S_IRWXG | S_IRWXO) + #define DND_STAGINGDIR_PERMS (S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH) +-#ifdef sun ++#ifndef ACCESSPERMS + #define ACCESSPERMS (S_IRWXU | S_IRWXG | S_IRWXO) + #endif + #ifdef __ANDROID__ +@@ -60,7 +60,6 @@ + */ + #define NO_SETMNTENT + #define NO_ENDMNTENT +-#define ACCESSPERMS (S_IRWXU | S_IRWXG | S_IRWXO) + #endif + + diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0007-Use-configure-to-test-for-feature-instead-of-platfor.patch b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0007-Use-configure-to-test-for-feature-instead-of-platfor.patch new file mode 100644 index 0000000..5adf9b0 --- /dev/null +++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0007-Use-configure-to-test-for-feature-instead-of-platfor.patch @@ -0,0 +1,144 @@ +From 6cc1c22cc30320f56da552a76bd956db8f255b6a Mon Sep 17 00:00:00 2001 +From: Natanael Copa +Date: Wed, 18 Nov 2015 10:05:07 +0000 +Subject: [PATCH 07/11] Use configure to test for feature instead of platform + +Test for various functions instead of trying to keep track of what +platform and what version of the given platform has support for what. + +This should make it easier to port to currently unknown platforms and +will solve the issue if a platform add support for a missing feature in +the future. + +The features we test for are: +- getifaddrs +- getauxval +- issetugid +- __secure_getenv + +This is needed for musl libc. + +Signed-off-by: Natanael Copa +--- + open-vm-tools/configure.ac | 4 ++++ + open-vm-tools/lib/misc/idLinux.c | 30 ++++++++++++++---------------- + open-vm-tools/lib/nicInfo/nicInfoPosix.c | 8 ++++++-- + 3 files changed, 24 insertions(+), 18 deletions(-) + +Index: open-vm-tools/configure.ac +=================================================================== +--- open-vm-tools.orig/configure.ac ++++ open-vm-tools/configure.ac +@@ -798,6 +798,7 @@ AC_CHECK_FUNCS( + + AC_CHECK_FUNCS([ecvt]) + AC_CHECK_FUNCS([fcvt]) ++AC_CHECK_FUNCS([getifaddrs getauxval issetugid __secure_getenv]) + + AC_CHECK_FUNC([mkdtemp], [have_mkdtemp=yes]) + +@@ -1063,10 +1064,13 @@ AC_PATH_PROG( + ### + + AC_CHECK_HEADERS([crypt.h]) ++AC_CHECK_HEADERS([ifaddrs.h]) + AC_CHECK_HEADERS([inttypes.h]) + AC_CHECK_HEADERS([stdint.h]) + AC_CHECK_HEADERS([stdlib.h]) + AC_CHECK_HEADERS([wchar.h]) ++AC_CHECK_HEADERS([net/if.h]) ++AC_CHECK_HEADERS([sys/auxv.h]) + AC_CHECK_HEADERS([sys/inttypes.h]) + AC_CHECK_HEADERS([sys/io.h]) + AC_CHECK_HEADERS([sys/param.h]) # Required to make the sys/user.h check work correctly on FreeBSD +Index: open-vm-tools/lib/misc/idLinux.c +=================================================================== +--- open-vm-tools.orig/lib/misc/idLinux.c ++++ open-vm-tools/lib/misc/idLinux.c +@@ -27,12 +27,9 @@ + #include + #include + #include +-#ifdef __linux__ +-#if defined(__GLIBC__) && \ +- (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 16)) ++#ifdef HAVE_SYS_AUXV_H + #include + #endif +-#endif + #ifdef __APPLE__ + #include + #include +@@ -997,31 +994,32 @@ Id_EndSuperUser(uid_t uid) // IN: + static Bool + IdIsSetUGid(void) + { +-#if defined(__ANDROID__) +- /* Android does not have a secure_getenv, so be conservative. */ +- return TRUE; +-#else + /* + * We use __secure_getenv, which returns NULL if the binary is +- * setuid or setgid. Alternatives include, ++ * setuid or setgid, when issetugid or getauxval(AT_SECURE) is not ++ * available. Alternatives include, + * +- * a) getauxval(AT_SECURE); not available until glibc 2.16. +- * b) __libc_enable_secure; may not be exported. ++ * a) issetugid(); not (yet?) available in glibc. ++ * b) getauxval(AT_SECURE); not available until glibc 2.16. ++ * c) __libc_enable_secure; may not be exported. + * +- * Use (a) when we are based on glibc 2.16, or newer. ++ * Use (b) when we are based on glibc 2.16, or newer. + */ + +-#if defined(__GLIBC__) && \ +- (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 16)) ++#if HAVE_ISSETUGID ++ return issetugid(); ++#elif HAVE_GETAUXVAL + return getauxval(AT_SECURE) != 0; +-#else ++#elif HAVE___SECURE_GETENV + static const char envName[] = "VMW_SETUGID_TEST"; + + if (setenv(envName, "1", TRUE) == -1) { + return TRUE; /* Conservative */ + } + return __secure_getenv(envName) == NULL; +-#endif ++#else ++ /* Android does not have a secure_getenv, so be conservative. */ ++ return TRUE; + #endif + } + #endif +Index: open-vm-tools/lib/nicInfo/nicInfoPosix.c +=================================================================== +--- open-vm-tools.orig/lib/nicInfo/nicInfoPosix.c ++++ open-vm-tools/lib/nicInfo/nicInfoPosix.c +@@ -34,9 +34,13 @@ + #include + #include + #include +-#if defined(__FreeBSD__) || defined(__APPLE__) ++#if HAVE_SYS_SYSCTL_H + # include ++#endif ++#if HAVE_IFADDRS_H + # include ++#endif ++#if HAVE_NET_IF_H + # include + #endif + #ifndef NO_DNET +@@ -348,7 +352,7 @@ GuestInfoGetNicInfo(NicInfoV3 *nicInfo) + * + ****************************************************************************** + */ +-#if defined(__FreeBSD__) || defined(__APPLE__) || defined(USERWORLD) ++#if defined(NO_DNET) && defined(HAVE_GETIFADDRS) + + char * + GuestInfoGetPrimaryIP(void) diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0008-use-posix-strerror_r-unless-gnu.patch b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0008-use-posix-strerror_r-unless-gnu.patch new file mode 100644 index 0000000..3d1291c --- /dev/null +++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0008-use-posix-strerror_r-unless-gnu.patch @@ -0,0 +1,30 @@ +From d4d1e7146ca2698089f6bd532f2fb8b9c1134ca7 Mon Sep 17 00:00:00 2001 +From: Natanael Copa +Date: Mon, 2 Jan 2017 14:39:27 +0000 +Subject: [PATCH 08/11] use posix strerror_r unless gnu + +--- + open-vm-tools/lib/err/errPosix.c | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +Index: open-vm-tools/lib/err/errPosix.c +=================================================================== +--- open-vm-tools.orig/lib/err/errPosix.c ++++ open-vm-tools/lib/err/errPosix.c +@@ -63,11 +63,13 @@ ErrErrno2String(Err_Number errorNumber, + { + char *p; + +-#if defined(linux) && !defined(N_PLAT_NLM) && !defined(__ANDROID__) ++#if defined(__GLIBC__) + p = strerror_r(errorNumber, buf, bufSize); + #else +- p = strerror(errorNumber); +-#endif ++ if (strerror_r(errorNumber, buf, bufSize) != 0) ++ snprintf(buf, bufSize, "unknown error %i", errorNumber); ++ p = buf; ++#endif /* defined __GLIBC__ */ + ASSERT(p != NULL); + return p; + } diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0009-Add-support-for-building-with-system-libtirpc.patch b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0009-Add-support-for-building-with-system-libtirpc.patch new file mode 100644 index 0000000..2bee5ac --- /dev/null +++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0009-Add-support-for-building-with-system-libtirpc.patch @@ -0,0 +1,342 @@ +From 5ae6c662fefa621f4600559e299a7d97c2254e69 Mon Sep 17 00:00:00 2001 +From: Natanael Copa +Date: Sun, 16 Jul 2017 10:20:10 -0700 +Subject: [PATCH 1/3] Add support for building with system libtirpc + +Signed-off-by: Natanael Copa +Signed-off-by: Khem Raj + +--- + open-vm-tools/configure.ac | 14 ++++++++++++++ + open-vm-tools/lib/dynxdr/Makefile.am | 8 ++++++-- + open-vm-tools/lib/err/errPosix.c | 1 + + open-vm-tools/lib/guestRpc/Makefile.am | 6 ++++++ + open-vm-tools/lib/misc/Makefile.am | 1 + + open-vm-tools/lib/netUtil/Makefile.am | 4 ++++ + open-vm-tools/lib/nicInfo/Makefile.am | 2 ++ + open-vm-tools/lib/rpcChannel/Makefile.am | 4 ++++ + open-vm-tools/lib/slashProc/Makefile.am | 4 ++++ + open-vm-tools/lib/string/bsd_output_shared.c | 2 +- + open-vm-tools/libguestlib/Makefile.am | 2 ++ + open-vm-tools/rpctool/Makefile.am | 3 +++ + open-vm-tools/rpctool/rpctool.c | 2 ++ + open-vm-tools/services/plugins/dndcp/Makefile.am | 2 ++ + open-vm-tools/services/plugins/guestInfo/Makefile.am | 1 + + open-vm-tools/services/plugins/resolutionSet/Makefile.am | 2 ++ + open-vm-tools/services/plugins/vix/Makefile.am | 2 ++ + open-vm-tools/services/plugins/vmbackup/Makefile.am | 2 ++ + open-vm-tools/toolbox/Makefile.am | 2 ++ + 19 files changed, 61 insertions(+), 3 deletions(-) + +Index: open-vm-tools/configure.ac +=================================================================== +--- open-vm-tools.orig/configure.ac ++++ open-vm-tools/configure.ac +@@ -405,6 +405,20 @@ AC_VMW_CHECK_LIB([fuse], + AC_MSG_WARN([Fuse is missing, vmblock-fuse/vmhgfs-fuse will be disabled.])]) + + # ++# Check for libtirpc ++# ++AC_VMW_CHECK_LIB([libtirpc], ++ [LIBTIRPC], ++ [libtirpc], ++ [], ++ [], ++ [rpc/xdr.h], ++ [xdr_void], ++ [have_libtirpc=yes], ++ [have_libtitirpc=no; ++ AC_MSG_WARN([libtirpc is missing.])]) ++ ++# + # Check for PAM. + # + AC_ARG_WITH([pam], +Index: open-vm-tools/lib/dynxdr/Makefile.am +=================================================================== +--- open-vm-tools.orig/lib/dynxdr/Makefile.am ++++ open-vm-tools/lib/dynxdr/Makefile.am +@@ -17,7 +17,11 @@ + + noinst_LTLIBRARIES = libDynxdr.la + +-libDynxdr_la_SOURCES = ++libDynxdr_la_SOURCES = + libDynxdr_la_SOURCES += dynxdr.c + libDynxdr_la_SOURCES += xdrutil.c +-libDynxdr_la_CPPFLAGS = -Wno-incompatible-pointer-types ++libDynxdr_la_CPPFLAGS = @LIBTIRPC_CPPFLAGS@ -Wno-incompatible-pointer-types ++ ++libDynxdr_la_LIBADD = ++libDynxdr_la_LIBADD += @LIBTIRPC_LIBS@ ++ +Index: open-vm-tools/lib/err/errPosix.c +=================================================================== +--- open-vm-tools.orig/lib/err/errPosix.c ++++ open-vm-tools/lib/err/errPosix.c +@@ -31,6 +31,7 @@ + #include + #include + #include ++#include + + #include "vmware.h" + #include "errInt.h" +Index: open-vm-tools/lib/guestRpc/Makefile.am +=================================================================== +--- open-vm-tools.orig/lib/guestRpc/Makefile.am ++++ open-vm-tools/lib/guestRpc/Makefile.am +@@ -20,6 +20,12 @@ noinst_LTLIBRARIES = libGuestRpc.la + libGuestRpc_la_SOURCES = + libGuestRpc_la_SOURCES += nicinfo_xdr.c + ++libGuestRpc_la_CPPFLAGS = ++libGuestRpc_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@ ++ ++libGuestRpc_la_LIBADD = ++libGuestRpc_la_LIBADD += @LIBTIRPC_LIBS@ ++ + # XXX: Autoreconf complains about this and recommends using AM_CFLAGS instead. + # Problem is, $(CFLAGS) is appended to the compiler command line after AM_CFLAGS + # and after libGuestRpc_la_CFLAGS, so "-Wall -Werror" will override this flag. +Index: open-vm-tools/lib/misc/Makefile.am +=================================================================== +--- open-vm-tools.orig/lib/misc/Makefile.am ++++ open-vm-tools/lib/misc/Makefile.am +@@ -52,4 +52,5 @@ libMisc_la_SOURCES += utilMem.c + libMisc_la_SOURCES += vmstdio.c + libMisc_la_SOURCES += strutil.c + libMisc_la_SOURCES += vthreadBase.c ++libMisc_la_CPPFLAGS = -Wno-error=int-conversion + +Index: open-vm-tools/lib/netUtil/Makefile.am +=================================================================== +--- open-vm-tools.orig/lib/netUtil/Makefile.am ++++ open-vm-tools/lib/netUtil/Makefile.am +@@ -20,3 +20,7 @@ noinst_LTLIBRARIES = libNetUtil.la + libNetUtil_la_SOURCES = + libNetUtil_la_SOURCES += netUtilLinux.c + ++libNetUtil_la_CPPFLAGS = ++libNetUtil_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@ ++ ++libNetUtil_la_LIBADD = @LIBTIRPC_LIBS@ +Index: open-vm-tools/lib/nicInfo/Makefile.am +=================================================================== +--- open-vm-tools.orig/lib/nicInfo/Makefile.am ++++ open-vm-tools/lib/nicInfo/Makefile.am +@@ -25,12 +25,14 @@ libNicInfo_la_SOURCES += nicInfoPosix.c + + libNicInfo_la_CPPFLAGS = + libNicInfo_la_CPPFLAGS += @GLIB2_CPPFLAGS@ ++libNicInfo_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@ + + AM_CFLAGS = $(DNET_CPPFLAGS) + if USE_SLASH_PROC + AM_CFLAGS += -DUSE_SLASH_PROC + endif + libNicInfo_la_LIBADD = ++libNicInfo_la_LIBADD += @LIBTIRPC_LIBS@ + if HAVE_DNET + libNicInfo_la_LIBADD += @DNET_LIBS@ + endif +Index: open-vm-tools/lib/rpcChannel/Makefile.am +=================================================================== +--- open-vm-tools.orig/lib/rpcChannel/Makefile.am ++++ open-vm-tools/lib/rpcChannel/Makefile.am +@@ -27,3 +27,7 @@ endif + + libRpcChannel_la_CPPFLAGS = + libRpcChannel_la_CPPFLAGS += @VMTOOLS_CPPFLAGS@ ++libRpcChannel_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@ ++ ++libRpcChannel_la_LIBADD = ++libRpcChannel_la_LIBADD += @LIBTIRPC_LIBS@ +Index: open-vm-tools/lib/slashProc/Makefile.am +=================================================================== +--- open-vm-tools.orig/lib/slashProc/Makefile.am ++++ open-vm-tools/lib/slashProc/Makefile.am +@@ -22,6 +22,10 @@ libSlashProc_la_SOURCES += net.c + + libSlashProc_la_CPPFLAGS = + libSlashProc_la_CPPFLAGS += @GLIB2_CPPFLAGS@ ++libSlashProc_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@ ++ ++libSlashProc_la_LIBADD = ++libSlashProc_la_LIBADD += @LIBTIRPC_LIBS@ + + AM_CFLAGS = $(DNET_CPPFLAGS) + +Index: open-vm-tools/lib/string/bsd_output_shared.c +=================================================================== +--- open-vm-tools.orig/lib/string/bsd_output_shared.c ++++ open-vm-tools/lib/string/bsd_output_shared.c +@@ -38,7 +38,7 @@ + //#include + + #if !defined(STR_NO_WIN32_LIBS) && !defined(__FreeBSD__) && !defined(__OpenBSD__) && !defined(__NetBSD__) && !defined(__ANDROID__) +- ++#define _GNU_SOURCE + #include + #include + #ifndef _WIN32 +Index: open-vm-tools/libguestlib/Makefile.am +=================================================================== +--- open-vm-tools.orig/libguestlib/Makefile.am ++++ open-vm-tools/libguestlib/Makefile.am +@@ -22,6 +22,7 @@ AM_CFLAGS += -I$(top_srcdir)/include + + libguestlib_la_LIBADD = + libguestlib_la_LIBADD += @VMTOOLS_LIBS@ ++libguestlib_la_LIBADD += @LIBTIRPC_LIBS@ + + libguestlib_la_SOURCES = + libguestlib_la_SOURCES += guestlibV3_xdr.c +@@ -56,6 +57,7 @@ CFLAGS += -Wno-unused + libguestlib_la_CPPFLAGS = + libguestlib_la_CPPFLAGS += -DVMTOOLS_USE_GLIB + libguestlib_la_CPPFLAGS += @GLIB2_CPPFLAGS@ ++libguestlib_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@ + + EXTRA_DIST = vmguestlib.pc.in + +Index: open-vm-tools/rpctool/Makefile.am +=================================================================== +--- open-vm-tools.orig/rpctool/Makefile.am ++++ open-vm-tools/rpctool/Makefile.am +@@ -17,10 +17,13 @@ + + bin_PROGRAMS = vmware-rpctool + ++vmware_rpctool_CFLAGS= @LIBTIRPC_LIBS@ ++ + vmware_rpctool_SOURCES = + vmware_rpctool_SOURCES += rpctool.c + + vmware_rpctool_LDADD = ++vmware_rpctool_LDADD += @LIBTIRPC_LIBS@ + vmware_rpctool_LDADD += ../lib/rpcOut/libRpcOut.la + vmware_rpctool_LDADD += ../lib/message/libMessage.la + vmware_rpctool_LDADD += ../lib/backdoor/libBackdoor.la +Index: open-vm-tools/rpctool/rpctool.c +=================================================================== +--- open-vm-tools.orig/rpctool/rpctool.c ++++ open-vm-tools/rpctool/rpctool.c +@@ -23,6 +23,8 @@ + */ + + #ifndef _WIN32 ++#define _GNU_SOURCE ++#include + #include "sigPosixRegs.h" + #include + #include +Index: open-vm-tools/services/plugins/dndcp/Makefile.am +=================================================================== +--- open-vm-tools.orig/services/plugins/dndcp/Makefile.am ++++ open-vm-tools/services/plugins/dndcp/Makefile.am +@@ -23,6 +23,7 @@ plugin_LTLIBRARIES = libdndcp.la + libdndcp_la_CPPFLAGS = + libdndcp_la_CPPFLAGS += @GTK_CPPFLAGS@ + libdndcp_la_CPPFLAGS += @PLUGIN_CPPFLAGS@ ++libdndcp_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@ + libdndcp_la_CPPFLAGS += -I$(top_srcdir)/services/plugins/dndcp/dnd + libdndcp_la_CPPFLAGS += -I$(top_srcdir)/services/plugins/dndcp/dndGuest + libdndcp_la_CPPFLAGS += -I$(top_srcdir)/services/plugins/dndcp/stringxx +@@ -44,6 +45,7 @@ libdndcp_la_LIBADD += @GTK_LIBS@ + libdndcp_la_LIBADD += @GTKMM_LIBS@ + libdndcp_la_LIBADD += @VMTOOLS_LIBS@ + libdndcp_la_LIBADD += @HGFS_LIBS@ ++libdndcp_la_LIBADD += @LIBTIRPC_LIBS@ + libdndcp_la_LIBADD += $(top_builddir)/lib/hgfsUri/hgfsUriPosix.lo + + libdndcp_la_SOURCES = +Index: open-vm-tools/services/plugins/guestInfo/Makefile.am +=================================================================== +--- open-vm-tools.orig/services/plugins/guestInfo/Makefile.am ++++ open-vm-tools/services/plugins/guestInfo/Makefile.am +@@ -22,6 +22,7 @@ plugin_LTLIBRARIES = libguestInfo.la + + libguestInfo_la_CPPFLAGS = + libguestInfo_la_CPPFLAGS += @PLUGIN_CPPFLAGS@ ++libguestInfo_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@ + + libguestInfo_la_LDFLAGS = + libguestInfo_la_LDFLAGS += @PLUGIN_LDFLAGS@ +Index: open-vm-tools/services/plugins/resolutionSet/Makefile.am +=================================================================== +--- open-vm-tools.orig/services/plugins/resolutionSet/Makefile.am ++++ open-vm-tools/services/plugins/resolutionSet/Makefile.am +@@ -21,6 +21,7 @@ plugin_LTLIBRARIES = libresolutionSet.la + libresolutionSet_la_CPPFLAGS = + libresolutionSet_la_CPPFLAGS += @GTK_CPPFLAGS@ + libresolutionSet_la_CPPFLAGS += @PLUGIN_CPPFLAGS@ ++libresolutionSet_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@ + libresolutionSet_la_CPPFLAGS += -DRESOLUTION_X11 + + libresolutionSet_la_LDFLAGS = +@@ -30,6 +31,7 @@ libresolutionSet_la_LIBADD = + libresolutionSet_la_LIBADD += @COMMON_XLIBS@ + libresolutionSet_la_LIBADD += @GTK_LIBS@ + libresolutionSet_la_LIBADD += @VMTOOLS_LIBS@ ++libresolutionSet_la_LIBADD += @LIBTIRPC_LIBS@ + + libresolutionSet_la_SOURCES = + libresolutionSet_la_SOURCES += libvmwarectrl.c +Index: open-vm-tools/services/plugins/vix/Makefile.am +=================================================================== +--- open-vm-tools.orig/services/plugins/vix/Makefile.am ++++ open-vm-tools/services/plugins/vix/Makefile.am +@@ -20,6 +20,7 @@ plugin_LTLIBRARIES = libvix.la + + libvix_la_CPPFLAGS = + libvix_la_CPPFLAGS += @PLUGIN_CPPFLAGS@ ++libvix_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@ + libvix_la_CPPFLAGS += -I$(top_srcdir)/vgauth/public + + libvix_la_LDFLAGS = +@@ -29,6 +30,7 @@ libvix_la_LIBADD = + libvix_la_LIBADD += @VIX_LIBADD@ + libvix_la_LIBADD += @VMTOOLS_LIBS@ + libvix_la_LIBADD += @HGFS_LIBS@ ++libvix_la_LIBADD += @LIBTIRPC_LIBS@ + libvix_la_LIBADD += $(top_builddir)/lib/auth/libAuth.la + libvix_la_LIBADD += $(top_builddir)/lib/foundryMsg/libFoundryMsg.la + libvix_la_LIBADD += $(top_builddir)/lib/impersonate/libImpersonate.la +Index: open-vm-tools/services/plugins/vmbackup/Makefile.am +=================================================================== +--- open-vm-tools.orig/services/plugins/vmbackup/Makefile.am ++++ open-vm-tools/services/plugins/vmbackup/Makefile.am +@@ -20,6 +20,7 @@ plugin_LTLIBRARIES = libvmbackup.la + + libvmbackup_la_CPPFLAGS = + libvmbackup_la_CPPFLAGS += @PLUGIN_CPPFLAGS@ ++libvmbackup_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@ + + libvmbackup_la_LDFLAGS = + libvmbackup_la_LDFLAGS += @PLUGIN_LDFLAGS@ +@@ -27,6 +28,7 @@ libvmbackup_la_LDFLAGS += @PLUGIN_LDFLAG + libvmbackup_la_LIBADD = + libvmbackup_la_LIBADD += @GOBJECT_LIBS@ + libvmbackup_la_LIBADD += @VMTOOLS_LIBS@ ++libvmbackup_la_LIBADD += @LIBTIRPC_LIBS@ + + libvmbackup_la_SOURCES = + libvmbackup_la_SOURCES += nullProvider.c +Index: open-vm-tools/toolbox/Makefile.am +=================================================================== +--- open-vm-tools.orig/toolbox/Makefile.am ++++ open-vm-tools/toolbox/Makefile.am +@@ -20,9 +20,11 @@ bin_PROGRAMS = vmware-toolbox-cmd + vmware_toolbox_cmd_LDADD = + vmware_toolbox_cmd_LDADD += ../libguestlib/libguestlib.la + vmware_toolbox_cmd_LDADD += @VMTOOLS_LIBS@ ++vmware_toolbox_cmd_LDADD += @LIBTIRPC_LIBS@ + + vmware_toolbox_cmd_CPPFLAGS = + vmware_toolbox_cmd_CPPFLAGS += @VMTOOLS_CPPFLAGS@ ++vmware_toolbox_cmd_CPPFLAGS += @LIBTIRPC_CPPFLAGS@ + + vmware_toolbox_cmd_SOURCES = + vmware_toolbox_cmd_SOURCES += toolbox-cmd.c diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0010-gnu-ucontext.patch b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0010-gnu-ucontext.patch new file mode 100644 index 0000000..c9beac1 --- /dev/null +++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0010-gnu-ucontext.patch @@ -0,0 +1,65 @@ +From 27442e2dd287d393d7b3f8bf164a887affef84df Mon Sep 17 00:00:00 2001 +From: Natanael Copa +Date: Wed, 18 Nov 2015 10:27:51 +0000 +Subject: [PATCH 10/11] gnu-ucontext + +--- + open-vm-tools/lib/include/sigPosixRegs.h | 24 ++++++++++++------------ + 1 file changed, 12 insertions(+), 12 deletions(-) + +Index: open-vm-tools/lib/include/sigPosixRegs.h +=================================================================== +--- open-vm-tools.orig/lib/include/sigPosixRegs.h ++++ open-vm-tools/lib/include/sigPosixRegs.h +@@ -33,7 +33,7 @@ + #include "includeCheck.h" + + +-#if __linux__ // We need the REG_foo offsets in the gregset_t; ++#if defined(__GLIBC__) // We need the REG_foo offsets in the gregset_t; + # define _GNU_SOURCE // _GNU_SOURCE maps to __USE_GNU + + /* And, the REG_foo definitions conflict with our own in x86.h */ +@@ -73,7 +73,7 @@ + #include + #endif + +-#if __linux__ ++#if defined(__GLIBC__) + # if defined(__x86_64__) + # undef REG_RAX + # undef REG_RBX +@@ -199,7 +199,7 @@ + #define SC_ESP(uc) ((unsigned long) (uc)->uc_mcontext.mc_esp) + #define SC_EIP(uc) ((unsigned long) (uc)->uc_mcontext.mc_eip) + #endif +-#elif defined (sun) ++#elif !defined (__GLIBC__) + #ifdef __x86_64__ + #define SC_EAX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_RAX]) + #define SC_EBX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_RBX]) +@@ -219,15 +219,15 @@ + #define SC_R14(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_R14]) + #define SC_R15(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_R15]) + #else +-#define SC_EAX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[EAX]) +-#define SC_EBX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[EBX]) +-#define SC_ECX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[ECX]) +-#define SC_EDX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[EDX]) +-#define SC_EDI(uc) ((unsigned long) (uc)->uc_mcontext.gregs[EDI]) +-#define SC_ESI(uc) ((unsigned long) (uc)->uc_mcontext.gregs[ESI]) +-#define SC_EBP(uc) ((unsigned long) (uc)->uc_mcontext.gregs[EBP]) +-#define SC_ESP(uc) ((unsigned long) (uc)->uc_mcontext.gregs[ESP]) +-#define SC_EIP(uc) ((unsigned long) (uc)->uc_mcontext.gregs[EIP]) ++#define SC_EAX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_EAX]) ++#define SC_EBX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_EBX]) ++#define SC_ECX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_ECX]) ++#define SC_EDX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_EDX]) ++#define SC_EDI(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_EDI]) ++#define SC_ESI(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_ESI]) ++#define SC_EBP(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_EBP]) ++#define SC_ESP(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_ESP]) ++#define SC_EIP(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_EIP]) + #endif + #elif defined(ANDROID_X86) + #define SC_EAX(uc) ((unsigned long) (uc)->uc_mcontext.eax) diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0011-Use-configure-test-for-sys-stat.h-include.patch b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0011-Use-configure-test-for-sys-stat.h-include.patch new file mode 100644 index 0000000..7872239 --- /dev/null +++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0011-Use-configure-test-for-sys-stat.h-include.patch @@ -0,0 +1,25 @@ +From 95c6184d9ff70a47c41768850923a96de9e544aa Mon Sep 17 00:00:00 2001 +From: Natanael Copa +Date: Wed, 18 Nov 2015 10:41:01 +0000 +Subject: [PATCH 11/11] Use configure test for sys/stat.h include + +This is needed for musl libc. + +Signed-off-by: Natanael Copa +--- + open-vm-tools/services/plugins/vix/vixTools.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: open-vm-tools/services/plugins/vix/vixTools.c +=================================================================== +--- open-vm-tools.orig/services/plugins/vix/vixTools.c ++++ open-vm-tools/services/plugins/vix/vixTools.c +@@ -66,7 +66,7 @@ + #include + #endif + +-#if defined(sun) || defined(__FreeBSD__) || defined(__APPLE__) ++#ifdef HAVE_SYS_STAT_H + #include + #endif + diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb b/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb index 5f93eb4..f7746c8 100644 --- a/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb +++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb @@ -13,26 +13,39 @@ SUMMARY = "Tools to enhance VMWare guest integration and performance" HOMEPAGE = "https://github.com/vmware/open-vm-tools" SECTION = "vmware-tools" -LICENSE = "LGPLv2.1 & GPLv2 & BSD & CDDLv1" +LICENSE = "LGPL-2.0 & GPL-2.0 & BSD & CDDL-1.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=b66ba4cb4fc017682c95efc300410e79" LICENSE_modules/freebsd/vmblock = "BSD" -LICENSE_modules/freebsd/vmmemctl = "GPLv2" -LICENSE_modules/freebsd/vmxnet = "GPLv2" -LICENSE_modules/linux = "GPLv2" -LICENSE_modules/solaris = "CDDLv1" +LICENSE_modules/freebsd/vmmemctl = "GPL-2.0" +LICENSE_modules/freebsd/vmxnet = "GPL-2.0" +LICENSE_modules/linux = "GPL-2.0" +LICENSE_modules/solaris = "CDDL-1.0" SRC_URI = "git://github.com/vmware/open-vm-tools.git;protocol=https \ file://tools.conf \ file://vmtoolsd.service \ file://0001-configure.ac-don-t-use-dnet-config.patch \ file://0002-add-include-sys-sysmacros.h.patch \ + file://0001-Remove-assumptions-about-glibc-being-only-libc-imple.patch \ + file://0002-include-poll.h-instead-of-obsolete-sys-poll.h.patch \ + file://0003-Rename-poll.h-to-vm_poll.h.patch \ + file://0004-Add-Wno-incompatible-pointer-types-and-Wno-error-add.patch \ + file://0005-Use-configure-test-for-struct-timespec.patch \ + file://0006-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch \ + file://0007-Use-configure-to-test-for-feature-instead-of-platfor.patch \ + file://0008-use-posix-strerror_r-unless-gnu.patch \ + file://0011-Use-configure-test-for-sys-stat.h-include.patch \ + " +SRC_URI_append_libc-musl = "\ + file://0009-Add-support-for-building-with-system-libtirpc.patch \ + file://0010-gnu-ucontext.patch \ " - SRCREV = "854c0bb374612f7e633b448ca273f970f154458b" S = "${WORKDIR}/git/open-vm-tools" DEPENDS = "glib-2.0 glib-2.0-native util-linux libdnet procps" +DEPENDS_append_libc-musl = " libtirpc" # open-vm-tools is supported only on x86. COMPATIBLE_HOST = '(x86_64.*|i.86.*)-linux' -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 10:03:18 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 10:03:18 +0000 Subject: [oe-commits] [meta-openembedded] 17/42: python-unidiff: adds Python3 support In-Reply-To: <150071778187.4100.17147688793933494056@git.openembedded.org> References: <150071778187.4100.17147688793933494056@git.openembedded.org> Message-ID: <20170722100302.9202023283E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit dabf8f53f549462947024860ad30bf0d28abb757 Author: Daniela Plascencia AuthorDate: Tue Jul 18 03:30:54 2017 -0700 python-unidiff: adds Python3 support Extend the recipe for Python3 support. Signed-off-by: Daniela Plascencia Signed-off-by: Martin Jansa --- .../python/{python-unidiff_0.5.4.bb => python-unidiff.inc} | 2 +- meta-python/recipes-devtools/python/python-unidiff_0.5.4.bb | 11 ++--------- meta-python/recipes-devtools/python/python3-unidiff_0.5.4.bb | 2 ++ 3 files changed, 5 insertions(+), 10 deletions(-) diff --git a/meta-python/recipes-devtools/python/python-unidiff_0.5.4.bb b/meta-python/recipes-devtools/python/python-unidiff.inc similarity index 93% copy from meta-python/recipes-devtools/python/python-unidiff_0.5.4.bb copy to meta-python/recipes-devtools/python/python-unidiff.inc index ceb80bd..0402550 100644 --- a/meta-python/recipes-devtools/python/python-unidiff_0.5.4.bb +++ b/meta-python/recipes-devtools/python/python-unidiff.inc @@ -6,4 +6,4 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=4c434b08ef42fea235bb019b5e5a97b3" SRC_URI[md5sum] = "c8099edf89d2e3bac16123766625a38b" SRC_URI[sha256sum] = "a7baf71846a68c5305a7d6005dfb5eca8798f13861176355a285cbda3206824d" -inherit pypi setuptools +inherit pypi diff --git a/meta-python/recipes-devtools/python/python-unidiff_0.5.4.bb b/meta-python/recipes-devtools/python/python-unidiff_0.5.4.bb index ceb80bd..bdb3d27 100644 --- a/meta-python/recipes-devtools/python/python-unidiff_0.5.4.bb +++ b/meta-python/recipes-devtools/python/python-unidiff_0.5.4.bb @@ -1,9 +1,2 @@ -SUMMARY = "Unified diff parsing/metadata extraction library" -HOMEPAGE = "http://github.com/matiasb/python-unidiff" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=4c434b08ef42fea235bb019b5e5a97b3" - -SRC_URI[md5sum] = "c8099edf89d2e3bac16123766625a38b" -SRC_URI[sha256sum] = "a7baf71846a68c5305a7d6005dfb5eca8798f13861176355a285cbda3206824d" - -inherit pypi setuptools +require python-unidiff.inc +inherit setuptools diff --git a/meta-python/recipes-devtools/python/python3-unidiff_0.5.4.bb b/meta-python/recipes-devtools/python/python3-unidiff_0.5.4.bb new file mode 100644 index 0000000..0ddc7e2 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-unidiff_0.5.4.bb @@ -0,0 +1,2 @@ +require python-unidiff.inc +inherit setuptools3 -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 10:03:19 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 10:03:19 +0000 Subject: [oe-commits] [meta-openembedded] 18/42: sdparm: add mirror In-Reply-To: <150071778187.4100.17147688793933494056@git.openembedded.org> References: <150071778187.4100.17147688793933494056@git.openembedded.org> Message-ID: <20170722100302.984D823283F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit ca09e45014de26caf91af6acdd63f4fb1ae3dd69 Author: Szombathelyi Gy?rgy AuthorDate: Wed Jul 19 10:31:50 2017 +0200 sdparm: add mirror Signed-off-by: Gyorgy Szombathelyi Signed-off-by: Martin Jansa --- meta-oe/recipes-support/sdparm/sdparm_1.10.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-oe/recipes-support/sdparm/sdparm_1.10.bb b/meta-oe/recipes-support/sdparm/sdparm_1.10.bb index 8ab2819..3299a77 100644 --- a/meta-oe/recipes-support/sdparm/sdparm_1.10.bb +++ b/meta-oe/recipes-support/sdparm/sdparm_1.10.bb @@ -10,6 +10,7 @@ DEPENDS="sg3-utils" SRC_URI = "http://sg.danny.cz/sg/p/${BPN}-${PV}.tgz \ file://make-sysroot-work.patch \ " +MIRRORS += "http://sg.danny.cz/sg/p https://fossies.org/linux/misc" PACKAGES =+ "${PN}-scripts" RDEPENDS_${PN}-scripts += "bash ${PN}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 10:03:20 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 10:03:20 +0000 Subject: [oe-commits] [meta-openembedded] 19/42: sg3-utils: add mirror In-Reply-To: <150071778187.4100.17147688793933494056@git.openembedded.org> References: <150071778187.4100.17147688793933494056@git.openembedded.org> Message-ID: <20170722100302.9E3A4232840@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 4c3e2d5dc890fc0663cf6e06b494768df6008fb4 Author: Szombathelyi Gy?rgy AuthorDate: Wed Jul 19 10:31:51 2017 +0200 sg3-utils: add mirror Signed-off-by: Gyorgy Szombathelyi Signed-off-by: Martin Jansa --- meta-oe/recipes-support/sg3-utils/sg3-utils_1.42.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-oe/recipes-support/sg3-utils/sg3-utils_1.42.bb b/meta-oe/recipes-support/sg3-utils/sg3-utils_1.42.bb index a11bd77..c7de057 100644 --- a/meta-oe/recipes-support/sg3-utils/sg3-utils_1.42.bb +++ b/meta-oe/recipes-support/sg3-utils/sg3-utils_1.42.bb @@ -9,6 +9,7 @@ LICENSE = "GPLv2+ & BSD" LIC_FILES_CHKSUM = "file://COPYING;md5=f90da7fc52172599dbf082d7620f18ca" SRC_URI = "http://sg.danny.cz/sg/p/sg3_utils-${PV}.tgz" +MIRRORS += "http://sg.danny.cz/sg/p https://fossies.org/linux/misc" SRC_URI[md5sum] = "28080de5bf2222f8b55a29093bec8aea" SRC_URI[sha256sum] = "1dcb7a0309bd0ba3d4a83acb526973b80106ee26cd9f7398186cd3f0633c9ef3" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 10:03:21 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 10:03:21 +0000 Subject: [oe-commits] [meta-openembedded] 20/42: python-chardet.inc: update build dependency In-Reply-To: <150071778187.4100.17147688793933494056@git.openembedded.org> References: <150071778187.4100.17147688793933494056@git.openembedded.org> Message-ID: <20170722100302.A515F232841@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit d66655ef30cf2376eba604c4033233cc2617ee02 Author: Maxin B. John AuthorDate: Wed Jul 19 17:32:34 2017 +0200 python-chardet.inc: update build dependency Update chardet's build dependency on pytest-runner-native Signed-off-by: Maxin B. John Signed-off-by: Pascal Bach Signed-off-by: Martin Jansa --- meta-python/recipes-devtools/python/python-chardet.inc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/meta-python/recipes-devtools/python/python-chardet.inc b/meta-python/recipes-devtools/python/python-chardet.inc index c5da1e1..25443f8 100644 --- a/meta-python/recipes-devtools/python/python-chardet.inc +++ b/meta-python/recipes-devtools/python/python-chardet.inc @@ -4,5 +4,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=a6f89e2100d9b6cdffcea4f398e37343" inherit pypi +# setup.py of chardet needs this. +DEPENDS += "${PYTHON_PN}-pytest-runner-native" + SRC_URI[md5sum] = "7dd1ba7f9c77e32351b0a0cfacf4055c" SRC_URI[sha256sum] = "84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 10:03:26 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 10:03:26 +0000 Subject: [oe-commits] [meta-openembedded] 25/42: postgresql: Do not link with libnsl on musl In-Reply-To: <150071778187.4100.17147688793933494056@git.openembedded.org> References: <150071778187.4100.17147688793933494056@git.openembedded.org> Message-ID: <20170722100302.C40B9232846@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 53dde0f5edd2511f05463b34d4f16b9685501c80 Author: Khem Raj AuthorDate: Wed Jul 19 08:41:31 2017 -0700 postgresql: Do not link with libnsl on musl libnsl is not available on musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- meta-oe/recipes-support/postgresql/postgresql_9.4.11.bb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/meta-oe/recipes-support/postgresql/postgresql_9.4.11.bb b/meta-oe/recipes-support/postgresql/postgresql_9.4.11.bb index e4d2eda..7043b27 100644 --- a/meta-oe/recipes-support/postgresql/postgresql_9.4.11.bb +++ b/meta-oe/recipes-support/postgresql/postgresql_9.4.11.bb @@ -7,5 +7,9 @@ SRC_URI += "\ file://not-check-libperl.patch \ " +do_compile_prepend_libc-musl() { + sed -i -e 's/\-lnsl//g' ${B}/src/Makefile.global +} + SRC_URI[md5sum] = "2fee03f2034034dbfcb3321a0bb0f829" SRC_URI[sha256sum] = "e3eb51d045c180b03d2de1f0c3af9356e10be49448e966ca01dfc2c6d1cc9d23" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 10:03:23 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 10:03:23 +0000 Subject: [oe-commits] [meta-openembedded] 22/42: python-paho-mqtt, python3-paho-mqtt: update to 1.3.0 In-Reply-To: <150071778187.4100.17147688793933494056@git.openembedded.org> References: <150071778187.4100.17147688793933494056@git.openembedded.org> Message-ID: <20170722100302.B106A232843@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 7ed4f99d4f82b9064b9b17f4236d0e3466ee5e61 Author: Pascal Bach AuthorDate: Wed Jul 19 17:33:16 2017 +0200 python-paho-mqtt, python3-paho-mqtt: update to 1.3.0 Signed-off-by: Pascal Bach Signed-off-by: Martin Jansa --- meta-python/recipes-devtools/python/python-paho-mqtt.inc | 4 ++-- .../python/{python-paho-mqtt_1.2.3.bb => python-paho-mqtt_1.3.0.bb} | 0 .../python/{python3-paho-mqtt_1.2.3.bb => python3-paho-mqtt_1.3.0.bb} | 0 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-python/recipes-devtools/python/python-paho-mqtt.inc b/meta-python/recipes-devtools/python/python-paho-mqtt.inc index 545985c..531fdf7 100644 --- a/meta-python/recipes-devtools/python/python-paho-mqtt.inc +++ b/meta-python/recipes-devtools/python/python-paho-mqtt.inc @@ -4,8 +4,8 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=eb48c6ee2cb9f5b8b9fe75e6f817bdfc" SRCNAME = "paho-mqtt" inherit pypi -SRC_URI[md5sum] = "4bd192ea24e7aa347f6d240101ef82f6" -SRC_URI[sha256sum] = "0fd746d8650563290f1bd0fec01e74cb57c3ab7406bdb58e5d9252bb5fa5ca44" +SRC_URI[md5sum] = "b9338236e2836e8579ef140956189cc4" +SRC_URI[sha256sum] = "2c9ef5494cfc1e41a9fff6544c5a2cd59ea5d401d9119a06ecf7fad6a2ffeb93" RDEPENDS_${PN} = "\ ${PYTHON_PN}-math \ diff --git a/meta-python/recipes-devtools/python/python-paho-mqtt_1.2.3.bb b/meta-python/recipes-devtools/python/python-paho-mqtt_1.3.0.bb similarity index 100% rename from meta-python/recipes-devtools/python/python-paho-mqtt_1.2.3.bb rename to meta-python/recipes-devtools/python/python-paho-mqtt_1.3.0.bb diff --git a/meta-python/recipes-devtools/python/python3-paho-mqtt_1.2.3.bb b/meta-python/recipes-devtools/python/python3-paho-mqtt_1.3.0.bb similarity index 100% rename from meta-python/recipes-devtools/python/python3-paho-mqtt_1.2.3.bb rename to meta-python/recipes-devtools/python/python3-paho-mqtt_1.3.0.bb -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 10:03:22 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 10:03:22 +0000 Subject: [oe-commits] [meta-openembedded] 21/42: python-sqlalchemy, python3-sqlalchemy: update to 1.1.11 In-Reply-To: <150071778187.4100.17147688793933494056@git.openembedded.org> References: <150071778187.4100.17147688793933494056@git.openembedded.org> Message-ID: <20170722100302.AAB09232842@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 8d131c07233c89efffcfcf26a9cb587d0ac53c34 Author: Pascal Bach AuthorDate: Wed Jul 19 17:32:59 2017 +0200 python-sqlalchemy, python3-sqlalchemy: update to 1.1.11 Signed-off-by: Pascal Bach Signed-off-by: Martin Jansa --- meta-python/recipes-devtools/python/python-sqlalchemy.inc | 4 ++-- .../{python-sqlalchemy_1.1.10.bb => python-sqlalchemy_1.1.11.bb} | 0 .../{python3-sqlalchemy_1.1.10.bb => python3-sqlalchemy_1.1.11.bb} | 0 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-python/recipes-devtools/python/python-sqlalchemy.inc b/meta-python/recipes-devtools/python/python-sqlalchemy.inc index d2a7be5..0a93dc4 100644 --- a/meta-python/recipes-devtools/python/python-sqlalchemy.inc +++ b/meta-python/recipes-devtools/python/python-sqlalchemy.inc @@ -7,8 +7,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=452f4b8adb0feba42e5be5f1fbfbf538" PYPI_PACKAGE = "SQLAlchemy" inherit pypi -SRC_URI[md5sum] = "64b9a3bf34e17944f844cbf460bd14e6" -SRC_URI[sha256sum] = "dbd92b8af2306d600efa98ed36262d73aad227440a758c8dc3a067ca30096bd3" +SRC_URI[md5sum] = "3de387eddb4012083a4562928c511e43" +SRC_URI[sha256sum] = "76f76965e9a968ba3aecd2a8bc0d991cea04fd9a182e6c95c81f1551487b0211" RDEPENDS_${PN} += " \ ${PYTHON_PN}-json \ diff --git a/meta-python/recipes-devtools/python/python-sqlalchemy_1.1.10.bb b/meta-python/recipes-devtools/python/python-sqlalchemy_1.1.11.bb similarity index 100% rename from meta-python/recipes-devtools/python/python-sqlalchemy_1.1.10.bb rename to meta-python/recipes-devtools/python/python-sqlalchemy_1.1.11.bb diff --git a/meta-python/recipes-devtools/python/python3-sqlalchemy_1.1.10.bb b/meta-python/recipes-devtools/python/python3-sqlalchemy_1.1.11.bb similarity index 100% rename from meta-python/recipes-devtools/python/python3-sqlalchemy_1.1.10.bb rename to meta-python/recipes-devtools/python/python3-sqlalchemy_1.1.11.bb -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 10:03:31 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 10:03:31 +0000 Subject: [oe-commits] [meta-openembedded] 30/42: isomd5sum: add recipe 1.2.1 In-Reply-To: <150071778187.4100.17147688793933494056@git.openembedded.org> References: <150071778187.4100.17147688793933494056@git.openembedded.org> Message-ID: <20170722100302.E640723284B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 5791ae645834d162cc767ab94ebc189e2fc13aa9 Author: Hongxu Jia AuthorDate: Thu Jul 20 03:44:32 2017 -0400 isomd5sum: add recipe 1.2.1 Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- .../files/0001-tweak-install-prefix.patch | 60 ++++++++++++++++++++++ .../isomd5sum/files/0002-fix-parallel-error.patch | 33 ++++++++++++ .../recipes-extended/isomd5sum/isomd5sum_1.2.1.bb | 35 +++++++++++++ 3 files changed, 128 insertions(+) diff --git a/meta-oe/recipes-extended/isomd5sum/files/0001-tweak-install-prefix.patch b/meta-oe/recipes-extended/isomd5sum/files/0001-tweak-install-prefix.patch new file mode 100644 index 0000000..bcfc117 --- /dev/null +++ b/meta-oe/recipes-extended/isomd5sum/files/0001-tweak-install-prefix.patch @@ -0,0 +1,60 @@ +From cffe4767f89ea0b54b57e8bf9065a08a9c38d46e Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Tue, 18 Jul 2017 21:53:00 -0400 +Subject: [PATCH] tweak install prefix + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Hongxu Jia +--- + Makefile | 28 ++++++++++++++-------------- + 1 file changed, 14 insertions(+), 14 deletions(-) + +diff --git a/Makefile b/Makefile +index df16a3b..fbdfcb4 100644 +--- a/Makefile ++++ b/Makefile +@@ -39,26 +39,26 @@ pyisomd5sum.so: $(PYOBJS) + install: all install-bin install-python install-devel + + install-bin: +- install -d -m 0755 $(DESTDIR)/usr/bin +- install -d -m 0755 $(DESTDIR)/usr/share/man/man1 +- install -m 0755 implantisomd5 $(DESTDIR)/usr/bin +- install -m 0755 checkisomd5 $(DESTDIR)/usr/bin +- install -m 0644 implantisomd5.1 $(DESTDIR)/usr/share/man/man1 +- install -m 0644 checkisomd5.1 $(DESTDIR)/usr/share/man/man1 ++ install -d -m 0755 $(DESTDIR)$(bindir) ++ install -d -m 0755 $(DESTDIR)$(mandir)/man1 ++ install -m 0755 implantisomd5 $(DESTDIR)$(bindir) ++ install -m 0755 checkisomd5 $(DESTDIR)$(bindir) ++ install -m 0644 implantisomd5.1 $(DESTDIR)$(mandir)/man1 ++ install -m 0644 checkisomd5.1 $(DESTDIR)$(mandir)/man1 + + install-python: + install -d -m 0755 $(DESTDIR)$(PYTHONSITEPACKAGES) + install -m 0755 pyisomd5sum.so $(DESTDIR)$(PYTHONSITEPACKAGES) + + install-devel: +- install -d -m 0755 $(DESTDIR)/usr/include +- install -d -m 0755 $(DESTDIR)/usr/$(LIBDIR) +- install -d -m 0755 $(DESTDIR)/usr/share/pkgconfig +- install -m 0644 libimplantisomd5.h $(DESTDIR)/usr/include/ +- install -m 0644 libcheckisomd5.h $(DESTDIR)/usr/include/ +- install -m 0644 libimplantisomd5.a $(DESTDIR)/usr/$(LIBDIR) +- install -m 0644 libcheckisomd5.a $(DESTDIR)/usr/$(LIBDIR) +- sed "s#@VERSION@#${VERSION}#g; s#@includedir@#${DESTDIR}/usr/include#g; s#@libdir@#${DESTDIR}/usr/${LIBDIR}#g" isomd5sum.pc.in > ${DESTDIR}/usr/share/pkgconfig/isomd5sum.pc ++ install -d -m 0755 $(DESTDIR)$(includedir) ++ install -d -m 0755 $(DESTDIR)$(libdir) ++ install -d -m 0755 $(DESTDIR)${datadir}/pkgconfig ++ install -m 0644 libimplantisomd5.h $(DESTDIR)$(includedir) ++ install -m 0644 libcheckisomd5.h $(DESTDIR)$(includedir) ++ install -m 0644 libimplantisomd5.a $(DESTDIR)$(libdir) ++ install -m 0644 libcheckisomd5.a $(DESTDIR)$(libdir) ++ sed "s#@VERSION@#${VERSION}#g; s#@includedir@#${DESTDIR}/usr/include#g; s#@libdir@#${DESTDIR}/usr/${LIBDIR}#g" isomd5sum.pc.in > ${DESTDIR}${datadir}/pkgconfig/isomd5sum.pc + + clean: + rm -f *.o *.so *.pyc *.a .depend *~ +-- +2.8.1 + diff --git a/meta-oe/recipes-extended/isomd5sum/files/0002-fix-parallel-error.patch b/meta-oe/recipes-extended/isomd5sum/files/0002-fix-parallel-error.patch new file mode 100644 index 0000000..7a33e42 --- /dev/null +++ b/meta-oe/recipes-extended/isomd5sum/files/0002-fix-parallel-error.patch @@ -0,0 +1,33 @@ +From 2acce7bc8ab7711e76c7765c84a198fe38f247f3 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Tue, 18 Jul 2017 23:06:41 -0400 +Subject: [PATCH] fix parallel error + +Upstream-Status: Pending + +Signed-off-by: Hongxu Jia +--- + Makefile | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/Makefile b/Makefile +index fbdfcb4..2ad3238 100644 +--- a/Makefile ++++ b/Makefile +@@ -29,9 +29,11 @@ implantisomd5: implantisomd5.o libimplantisomd5.a + checkisomd5: checkisomd5.o libcheckisomd5.a + $(CC) $(CPPFLAGS) $(CFLAGS) checkisomd5.o libcheckisomd5.a -lpopt $(LDFLAGS) -o checkisomd5 + +-libimplantisomd5.a: libimplantisomd5.a(libimplantisomd5.o md5.o utilities.o) ++libimplantisomd5.a: libimplantisomd5.o md5.o utilities.o ++ $(AR) rv $@ $^ + +-libcheckisomd5.a: libcheckisomd5.a(libcheckisomd5.o md5.o utilities.o) ++libcheckisomd5.a: libcheckisomd5.o md5.o utilities.o ++ $(AR) rv $@ $^ + + pyisomd5sum.so: $(PYOBJS) + $(CC) $(CPPFLAGS) $(CFLAGS) -shared -g -fpic $(PYOBJS) $(LDFLAGS) -o pyisomd5sum.so +-- +2.8.1 + diff --git a/meta-oe/recipes-extended/isomd5sum/isomd5sum_1.2.1.bb b/meta-oe/recipes-extended/isomd5sum/isomd5sum_1.2.1.bb new file mode 100644 index 0000000..815113e --- /dev/null +++ b/meta-oe/recipes-extended/isomd5sum/isomd5sum_1.2.1.bb @@ -0,0 +1,35 @@ +SUMMARY = "Tools for taking the MD5 sum of ISO images" +DESCRIPTION = "Tools for taking the MD5 sum of ISO images" + +DEPENDS = "popt python3 openssl curl popt-native" +RDEPENDS_${PN} = "openssl curl" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b" + +SRC_URI = "git://github.com/rhinstaller/isomd5sum.git;branch=master \ + file://0001-tweak-install-prefix.patch \ + file://0002-fix-parallel-error.patch \ +" + +S = "${WORKDIR}/git" +inherit python3native + +EXTRA_OEMAKE += " \ + DESTDIR='${D}' \ + PYTHONINCLUDE='-I${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI}' \ + PYTHONSITEPACKAGES='${PYTHON_SITEPACKAGES_DIR}' \ +" + +do_install () { + oe_runmake install +} + +PACKAGES += "${PYTHON_PN}-${PN} ${PYTHON_PN}-${PN}-dbg" + +FILES_${PYTHON_PN}-${PN} = "${PYTHON_SITEPACKAGES_DIR}/pyisomd5sum.so" +FILES_${PYTHON_PN}-${PN}-dbg = "${PYTHON_SITEPACKAGES_DIR}/.debug/pyisomd5sum.so" + +SRCREV = "69dc036d20761715b734ca9cc59ecc6dc8145026" + +BBCLASSEXTEND = "native" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 10:03:24 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 10:03:24 +0000 Subject: [oe-commits] [meta-openembedded] 23/42: python-requests, python3-requests: update to 2.28.1 In-Reply-To: <150071778187.4100.17147688793933494056@git.openembedded.org> References: <150071778187.4100.17147688793933494056@git.openembedded.org> Message-ID: <20170722100302.B6F89232844@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 8207e9b21a100f81fb4d141ab7bffa9d0329cb2a Author: Pascal Bach AuthorDate: Wed Jul 19 17:33:46 2017 +0200 python-requests, python3-requests: update to 2.28.1 The copyright year changed in the license file. Signed-off-by: Pascal Bach Signed-off-by: Martin Jansa --- meta-python/recipes-devtools/python/python-requests.inc | 10 +++++++--- .../{python-requests_2.13.0.bb => python-requests_2.18.1.bb} | 2 +- .../{python3-requests_2.13.0.bb => python3-requests_2.18.1.bb} | 2 +- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/meta-python/recipes-devtools/python/python-requests.inc b/meta-python/recipes-devtools/python/python-requests.inc index b66f66e..81819bf 100644 --- a/meta-python/recipes-devtools/python/python-requests.inc +++ b/meta-python/recipes-devtools/python/python-requests.inc @@ -1,10 +1,12 @@ DESCRIPTION = "Python HTTP for Humans." HOMEPAGE = "http://python-requests.org" LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=d9bb3515869c0f426cb8441c899ae7f5" +LIC_FILES_CHKSUM = "file://LICENSE;md5=979d6a23b143e13ea0e5e3aa81248820" -SRC_URI[md5sum] = "921ec6b48f2ddafc8bb6160957baf444" -SRC_URI[sha256sum] = "5722cd09762faa01276230270ff16af7acf7c5c45d623868d9ba116f15791ce8" +SRC_URI[md5sum] = "40f723ed01dddeaf990d0609d073f021" +SRC_URI[sha256sum] = "c6f3bdf4a4323ac7b45d01e04a6f6c20e32a052cd04de81e05103abc049ad9b9" + +inherit pypi RDEPENDS_${PN} += " \ ${PYTHON_PN}-email \ @@ -15,6 +17,8 @@ RDEPENDS_${PN} += " \ ${PYTHON_PN}-pyopenssl \ ${PYTHON_PN}-pysocks \ ${PYTHON_PN}-urllib3 \ + ${PYTHON_PN}-chardet \ + ${PYTHON_PN}-idna \ " BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python-requests_2.13.0.bb b/meta-python/recipes-devtools/python/python-requests_2.18.1.bb similarity index 73% rename from meta-python/recipes-devtools/python/python-requests_2.13.0.bb rename to meta-python/recipes-devtools/python/python-requests_2.18.1.bb index 627bc95..0d7a29f 100644 --- a/meta-python/recipes-devtools/python/python-requests_2.13.0.bb +++ b/meta-python/recipes-devtools/python/python-requests_2.18.1.bb @@ -1,4 +1,4 @@ -inherit pypi setuptools +inherit setuptools require python-requests.inc RDEPENDS_${PN} += "${PYTHON_PN}-zlib" diff --git a/meta-python/recipes-devtools/python/python3-requests_2.13.0.bb b/meta-python/recipes-devtools/python/python3-requests_2.18.1.bb similarity index 81% rename from meta-python/recipes-devtools/python/python3-requests_2.13.0.bb rename to meta-python/recipes-devtools/python/python3-requests_2.18.1.bb index 5e869b7..d91d993 100644 --- a/meta-python/recipes-devtools/python/python3-requests_2.13.0.bb +++ b/meta-python/recipes-devtools/python/python3-requests_2.18.1.bb @@ -1,4 +1,4 @@ -inherit pypi setuptools3 +inherit setuptools3 require python-requests.inc # Add the runtime depends for selectors.py -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 10:03:17 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 10:03:17 +0000 Subject: [oe-commits] [meta-openembedded] 16/42: xf86-video-nouveau: bump version to 1.0.15 In-Reply-To: <150071778187.4100.17147688793933494056@git.openembedded.org> References: <150071778187.4100.17147688793933494056@git.openembedded.org> Message-ID: <20170722100302.8B7E223283D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 7869e13b7681ad3ef3d1511b7b3b6cd41de9a513 Author: Szombathelyi Gy?rgy AuthorDate: Tue Jul 18 11:36:33 2017 +0200 xf86-video-nouveau: bump version to 1.0.15 Signed-off-by: Gyorgy Szombathelyi Signed-off-by: Martin Jansa --- .../{xf86-video-nouveau_1.0.12.bb => xf86-video-nouveau_1.0.15.bb} | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.12.bb b/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.15.bb similarity index 58% rename from meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.12.bb rename to meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.15.bb index 444189a..b10ee71 100644 --- a/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.12.bb +++ b/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.15.bb @@ -12,8 +12,5 @@ RDEPENDS_${PN} += "xserver-xorg-module-exa" COMPATIBLE_HOST = '(i.86|x86_64).*-linux' -SRC_URI[md5sum] = "dc79910c7b9e32321cefc7af250c7765" -SRC_URI[sha256sum] = "0ea057ad7fc31caba2d4e46c7e418fe2b3c762b04fb8d382f53383397fd8391e" - - -PNBLACKLIST[xf86-video-nouveau] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130657/ - the recipe will be removed on 2017-09-01 unless the issue is fixed" +SRC_URI[md5sum] = "717203cb87029cddcbccf7398f9ad8c3" +SRC_URI[sha256sum] = "aede10fd395610a328697adca3434fb14e9afbd79911d6c8545cfa2c0e541d4c" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 10:03:28 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 10:03:28 +0000 Subject: [oe-commits] [meta-openembedded] 27/42: libgnomekbd: 2.32 -> 3.22 In-Reply-To: <150071778187.4100.17147688793933494056@git.openembedded.org> References: <150071778187.4100.17147688793933494056@git.openembedded.org> Message-ID: <20170722100302.D22AB232848@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 2d3efdf5416171feeaf28f1beffc0a260104fb78 Author: Hongxu Jia AuthorDate: Thu Jul 20 03:44:28 2017 -0400 libgnomekbd: 2.32 -> 3.22 Remove --disable-schemas-install: ... |QA Issue: libgnomekbd: configure was passed unrecognised options: --disable-schemas-install [unknown-configure-option] ... Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- .../gnome-settings-daemon_2.32.1.bb | 3 --- .../recipes-gnome/libgnome/libgnomekbd_2.32.0.bb | 20 -------------------- .../recipes-gnome/libgnome/libgnomekbd_3.22.0.bb | 17 +++++++++++++++++ 3 files changed, 17 insertions(+), 23 deletions(-) diff --git a/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_2.32.1.bb b/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_2.32.1.bb index c1db6d3..9a18972 100644 --- a/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_2.32.1.bb +++ b/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_2.32.1.bb @@ -40,7 +40,4 @@ FILES_${PN}-dbg += "${libdir}/gnome-settings-daemon-2.0/.debug" FILES_${PN}-dev += "${libdir}/gnome-settings-daemon-2.0/*.la" FILES_${PN}-staticdev += "${libdir}/gnome-settings-daemon-2.0/*.a" - -PNBLACKLIST[gnome-settings-daemon] ?= "Depends on blacklisted libgnomekbd - the recipe will be removed on 2017-09-01 unless the issue is fixed" - PNBLACKLIST[gnome-settings-daemon] ?= "Depends on blacklisted gnome-desktop - the recipe will be removed on 2017-09-01 unless the issue is fixed" diff --git a/meta-gnome/recipes-gnome/libgnome/libgnomekbd_2.32.0.bb b/meta-gnome/recipes-gnome/libgnome/libgnomekbd_2.32.0.bb deleted file mode 100644 index 852d8e1..0000000 --- a/meta-gnome/recipes-gnome/libgnome/libgnomekbd_2.32.0.bb +++ /dev/null @@ -1,20 +0,0 @@ -SUMMARY = "GNOME keyboard library" -LICENSE = "LGPLv2" -LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=6e29c688d912da12b66b73e32b03d812" - -SECTION = "x11/gnome/libs" - -DEPENDS = "gconf gtk+ glib-2.0 libxklavier intltool-native gnome-common-native" - -inherit gnome - -SRC_URI[archive.md5sum] = "de32a6e3e3464b566eecdc4332bf34bd" -SRC_URI[archive.sha256sum] = "ddd52c4cc7d83ad7ef964a1bcb4db87407e65b00ffc3e70c088ca4ee7383d256" -GNOME_COMPRESS_TYPE="bz2" - -do_configure_append() { - find ${B} -name Makefile | xargs sed -i s:'-I$(includedir)':'-I.':g - find ${B} -name Makefile | xargs sed -i s:'-I/usr/include':'-I${STAGING_INCDIR}':g -} - -PNBLACKLIST[libgnomekbd] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130608/ - the recipe will be removed on 2017-09-01 unless the issue is fixed" diff --git a/meta-gnome/recipes-gnome/libgnome/libgnomekbd_3.22.0.bb b/meta-gnome/recipes-gnome/libgnome/libgnomekbd_3.22.0.bb new file mode 100644 index 0000000..12ed81d --- /dev/null +++ b/meta-gnome/recipes-gnome/libgnome/libgnomekbd_3.22.0.bb @@ -0,0 +1,17 @@ +SUMMARY = "GNOME keyboard library" +LICENSE = "LGPLv2" +LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=6e29c688d912da12b66b73e32b03d812" + +SECTION = "x11/gnome/libs" + +DEPENDS = "gconf glib-2.0 libxklavier gtk+3 intltool-native" + +inherit gnome gobject-introspection gettext + +GNOME_COMPRESS_TYPE = "xz" + +SRC_URI[archive.md5sum] = "7b1ebf99f4254c99922163c262c7ff04" +SRC_URI[archive.sha256sum] = "340b30dabfebbd4e0e6c0fe34a378966dd5640b5d44595ab8a19b0be255d77df" + +EXTRA_OECONF_remove = "--disable-schemas-install" + -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 10:03:37 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 10:03:37 +0000 Subject: [oe-commits] [meta-openembedded] 36/42: fribidi_0.19.7.bb: set CVE_PRODUCT to gnu_fribidi In-Reply-To: <150071778187.4100.17147688793933494056@git.openembedded.org> References: <150071778187.4100.17147688793933494056@git.openembedded.org> Message-ID: <20170722100303.245D523282D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit dd3578a1dc6f2e93a8ff6df785afa7fb610a49e5 Author: Mikko Rapeli AuthorDate: Fri Jul 21 10:03:15 2017 +0300 fribidi_0.19.7.bb: set CVE_PRODUCT to gnu_fribidi gnu_fribidi is used in NVD for CVE's like: https://nvd.nist.gov/vuln/detail/CVE-2010-3444 Signed-off-by: Mikko Rapeli Signed-off-by: Martin Jansa --- meta-oe/recipes-devtools/libfribidi/fribidi_0.19.7.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta-oe/recipes-devtools/libfribidi/fribidi_0.19.7.bb b/meta-oe/recipes-devtools/libfribidi/fribidi_0.19.7.bb index e79de66..423a914 100644 --- a/meta-oe/recipes-devtools/libfribidi/fribidi_0.19.7.bb +++ b/meta-oe/recipes-devtools/libfribidi/fribidi_0.19.7.bb @@ -16,3 +16,5 @@ SRC_URI = "http://fribidi.org/download/fribidi-${PV}.tar.bz2" SRC_URI[md5sum] = "6c7e7cfdd39c908f7ac619351c1c5c23" SRC_URI[sha256sum] = "08222a6212bbc2276a2d55c3bf370109ae4a35b689acbc66571ad2a670595a8e" + +CVE_PRODUCT = "gnu_fribidi" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 10:03:36 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 10:03:36 +0000 Subject: [oe-commits] [meta-openembedded] 35/42: gimp: remove libart-lgpl build dependency In-Reply-To: <150071778187.4100.17147688793933494056@git.openembedded.org> References: <150071778187.4100.17147688793933494056@git.openembedded.org> Message-ID: <20170722100303.1D3AA23282E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit dd25bba0910db4235d87258f01b7c853992f7fbe Author: Ross Burton AuthorDate: Thu Jul 20 16:35:08 2017 +0100 gimp: remove libart-lgpl build dependency This build dependency was removed in 2008 with the port to Cairo. Signed-off-by: Ross Burton Signed-off-by: Martin Jansa --- meta-oe/recipes-graphics/gimp/gimp_2.8.22.bb | 1 - 1 file changed, 1 deletion(-) diff --git a/meta-oe/recipes-graphics/gimp/gimp_2.8.22.bb b/meta-oe/recipes-graphics/gimp/gimp_2.8.22.bb index 1ecd2b7..cd7e27a 100644 --- a/meta-oe/recipes-graphics/gimp/gimp_2.8.22.bb +++ b/meta-oe/recipes-graphics/gimp/gimp_2.8.22.bb @@ -11,7 +11,6 @@ DEPENDS = " \ gtk+ \ babl \ gegl \ - libart-lgpl \ jpeg \ libpng \ libexif \ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 10:03:38 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 10:03:38 +0000 Subject: [oe-commits] [meta-openembedded] 37/42: krb5_1.15.1.bb: set CVE_PRODUCT to kerberos In-Reply-To: <150071778187.4100.17147688793933494056@git.openembedded.org> References: <150071778187.4100.17147688793933494056@git.openembedded.org> Message-ID: <20170722100303.2C786232831@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit d15c30de2a875d8b0b83d88225d22b7730796ed2 Author: Mikko Rapeli AuthorDate: Fri Jul 21 10:03:16 2017 +0300 krb5_1.15.1.bb: set CVE_PRODUCT to kerberos It is used in NVD database for CVE's like: https://nvd.nist.gov/vuln/detail/CVE-2016-3120 Signed-off-by: Mikko Rapeli Signed-off-by: Martin Jansa --- meta-oe/recipes-connectivity/krb5/krb5_1.15.1.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta-oe/recipes-connectivity/krb5/krb5_1.15.1.bb b/meta-oe/recipes-connectivity/krb5/krb5_1.15.1.bb index 61cdd60..1de884d 100644 --- a/meta-oe/recipes-connectivity/krb5/krb5_1.15.1.bb +++ b/meta-oe/recipes-connectivity/krb5/krb5_1.15.1.bb @@ -34,6 +34,8 @@ SRC_URI = "http://web.mit.edu/kerberos/dist/${BPN}/${SHRT_VER}/${BP}.tar.gz \ SRC_URI[md5sum] = "8022f3a1cde8463e44fd35ef42731f85" SRC_URI[sha256sum] = "437c8831ddd5fde2a993fef425dedb48468109bb3d3261ef838295045a89eb45" +CVE_PRODUCT = "kerberos" + S = "${WORKDIR}/${BP}/src" PACKAGECONFIG ??= "openssl" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 10:03:30 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 10:03:30 +0000 Subject: [oe-commits] [meta-openembedded] 29/42: python3-meh: add recipe 0.45 In-Reply-To: <150071778187.4100.17147688793933494056@git.openembedded.org> References: <150071778187.4100.17147688793933494056@git.openembedded.org> Message-ID: <20170722100302.E046B23284A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 98dd47b9fe869d5337324defca73a560e704925f Author: Hongxu Jia AuthorDate: Thu Jul 20 03:44:30 2017 -0400 python3-meh: add recipe 0.45 Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- .../files/tweak-native-language-support.patch | 44 ++++++++++++++++++++++ .../python-meh/python3-meh_0.45.bb | 17 +++++++++ 2 files changed, 61 insertions(+) diff --git a/meta-python/recipes-extended/python-meh/files/tweak-native-language-support.patch b/meta-python/recipes-extended/python-meh/files/tweak-native-language-support.patch new file mode 100644 index 0000000..41cfadd --- /dev/null +++ b/meta-python/recipes-extended/python-meh/files/tweak-native-language-support.patch @@ -0,0 +1,44 @@ +From 6e7689bced8ef56cfb5969560d23706f8e039807 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Mon, 11 Apr 2016 23:01:19 -0400 +Subject: [PATCH] tweak native language support + +- Only support en_GB only. + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Hongxu Jia +--- + Makefile | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index d0a9784..db152c4 100644 +--- a/Makefile ++++ b/Makefile +@@ -24,7 +24,7 @@ test: + PYTHONPATH=. python $(TESTSUITE) -v + + install: +- python setup.py install --root=$(DESTDIR) ++ python setup.py install --root=$(DESTDIR) --install-lib=${PYTHON_SITEPACKAGES_DIR} --prefix=${prefix} + $(MAKE) -C po install + + ChangeLog: +@@ -61,6 +61,13 @@ rpmlog: + @git log --pretty="format:- %s (%ae)" $(TAG).. |sed -e 's/@.*)/)/' + @echo + ++po-empty: ++ for lingua in "en_GB" ; do \ ++ [ -f po/$$lingua.po ] || \ ++ msginit -i po/$(PKGNAME).pot -o po/$$lingua.po -l $$lingua --no-translator || \ ++ exit 1 ; \ ++ done ++ + potfile: + $(MAKE) -C po potfile + +-- +1.9.1 + diff --git a/meta-python/recipes-extended/python-meh/python3-meh_0.45.bb b/meta-python/recipes-extended/python-meh/python3-meh_0.45.bb new file mode 100644 index 0000000..6ace497 --- /dev/null +++ b/meta-python/recipes-extended/python-meh/python3-meh_0.45.bb @@ -0,0 +1,17 @@ +SUMMARY = "A python library for handling exceptions" +DESCRIPTION = "The python-meh package is a python library for handling, saving, and reporting \ +exceptions." +HOMEPAGE = "http://git.fedorahosted.org/git/?p=python-meh.git" +LICENSE = "GPLv2+" + +inherit setuptools3 + +S = "${WORKDIR}/git" + +SRC_URI = "git://github.com/rhinstaller/python-meh.git;protocol=https;branch=master \ +" +SRCREV = "2bfc751fd680515d44f7096945a1e282a1f7d6aa" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +FILES_${PN} += "${datadir}/*" + -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 10:03:16 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 10:03:16 +0000 Subject: [oe-commits] [meta-openembedded] 15/42: python3-prctl: add recipe 1.6.1 In-Reply-To: <150071778187.4100.17147688793933494056@git.openembedded.org> References: <150071778187.4100.17147688793933494056@git.openembedded.org> Message-ID: <20170722100302.85E6023283C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 9db3cd149a9236f72106d9d812395032346d4dbc Author: Hongxu Jia AuthorDate: Tue Jul 18 02:09:12 2017 -0400 python3-prctl: add recipe 1.6.1 Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- .../0001-support-cross-complication.patch | 61 ++++++++++++++++++++++ .../recipes-devtools/python/python3-prctl_1.6.1.bb | 22 ++++++++ 2 files changed, 83 insertions(+) diff --git a/meta-python/recipes-devtools/python/python3-prctl/0001-support-cross-complication.patch b/meta-python/recipes-devtools/python/python3-prctl/0001-support-cross-complication.patch new file mode 100644 index 0000000..775ae1b --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-prctl/0001-support-cross-complication.patch @@ -0,0 +1,61 @@ +From 9a16800738547d117284354bbcad7dd77d9d0344 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Thu, 21 Apr 2016 03:05:57 -0400 +Subject: [PATCH] support cross-complication + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Hongxu Jia +--- + setup.py | 35 ----------------------------------- + 1 file changed, 35 deletions(-) + +diff --git a/setup.py b/setup.py +index 658d1a5..e8be7eb 100755 +--- a/setup.py ++++ b/setup.py +@@ -13,41 +13,6 @@ import sys + # - Need gcc + # - Need C headers + # - Need libcap headers +-if not sys.platform.startswith('linux'): +- sys.stderr.write("This module only works on linux\n") +- sys.exit(1) +- +-kvers = os.uname()[2] +-if kvers < '2.6.18' and not os.environ.get("PRCTL_SKIP_KERNEL_CHECK",False): +- sys.stderr.write("This module requires linux 2.6.18 or newer\n") +- sys.exit(1) +- +-if sys.version_info[:2] < (2,4): +- sys.stderr.write("This module requires python 2.4 or newer\n") +- sys.exit(1) +- +-exit = False +-try: +- subprocess.call(['gcc','-v'], stdout=subprocess.PIPE, stderr=subprocess.PIPE) +-except: +- sys.stderr.write("You need to install gcc to build this module\n") +- sys.exit(1) +- +-sp = subprocess.Popen(['cpp'], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE) +-sp.communicate('#include \n'.encode()) +-if sp.returncode: +- sys.stderr.write("You need to install libc development headers to build this module\n") +- exit = True +- +-sp = subprocess.Popen(['cpp'], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE) +-sp.communicate('#include \n'.encode()) +-if sp.returncode: +- sys.stderr.write("You need to install libcap development headers to build this module\n") +- exit = True +- +-if exit: +- sys.exit(1) +- + _prctl = Extension("_prctl", + sources = ['_prctlmodule.c'], + depends = ['securebits.h'], +-- +2.8.1 + diff --git a/meta-python/recipes-devtools/python/python3-prctl_1.6.1.bb b/meta-python/recipes-devtools/python/python3-prctl_1.6.1.bb new file mode 100644 index 0000000..5de83ce --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-prctl_1.6.1.bb @@ -0,0 +1,22 @@ +SUMMARY = "Control process attributes through prctl" +DESCRIPTION = "The linux prctl function allows you to control specific characteristics of a \ +process' behaviour. Usage of the function is fairly messy though, due to \ +limitations in C and linux. This module provides a nice non-messy python(ic) \ +interface." +SECTION = "devel/python" +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=5eb2f4bcd60326f83e5deb542372d52f" + +S = "${WORKDIR}/git" +B = "${S}" + +SRCREV = "1107d0be7bec4b28c85c62c454882d16844c930a" +PV = "1.6.1+git${SRCPV}" + +SRC_URI = "git://github.com/seveas/python-prctl;branch=master \ + file://0001-support-cross-complication.patch \ +" +inherit setuptools3 python3native + +DEPENDS += "libcap" + -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 10:03:39 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 10:03:39 +0000 Subject: [oe-commits] [meta-openembedded] 38/42: udisks2_2.1.8.bb: set CVE_PRODUCT to udisks In-Reply-To: <150071778187.4100.17147688793933494056@git.openembedded.org> References: <150071778187.4100.17147688793933494056@git.openembedded.org> Message-ID: <20170722100303.321CB23284E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 7e878b16821b0c13a3366afb01a831c901bd2c9c Author: Mikko Rapeli AuthorDate: Fri Jul 21 10:03:17 2017 +0300 udisks2_2.1.8.bb: set CVE_PRODUCT to udisks It is used in NVD for CVE's like: https://nvd.nist.gov/vuln/detail/CVE-2014-0004 Signed-off-by: Mikko Rapeli Signed-off-by: Martin Jansa --- meta-oe/recipes-support/udisks/udisks2_2.1.8.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta-oe/recipes-support/udisks/udisks2_2.1.8.bb b/meta-oe/recipes-support/udisks/udisks2_2.1.8.bb index 6d90e49..a3efc51 100644 --- a/meta-oe/recipes-support/udisks/udisks2_2.1.8.bb +++ b/meta-oe/recipes-support/udisks/udisks2_2.1.8.bb @@ -13,6 +13,8 @@ SRC_URI = "http://udisks.freedesktop.org/releases/udisks-${PV}.tar.bz2 \ SRC_URI[md5sum] = "501d11c243bd8c6c00650474cd2afaab" SRC_URI[sha256sum] = "da416914812a77e5f4d82b81deb8c25799fd3228d27d52f7bf89a501b1857dda" +CVE_PRODUCT = "udisks" + inherit autotools systemd gtk-doc gobject-introspection S = "${WORKDIR}/udisks-${PV}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 10:03:40 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 10:03:40 +0000 Subject: [oe-commits] [meta-openembedded] 39/42: keybinder: add recipe 3.0 In-Reply-To: <150071778187.4100.17147688793933494056@git.openembedded.org> References: <150071778187.4100.17147688793933494056@git.openembedded.org> Message-ID: <20170722100303.381A923284F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 5e26bc7a7d43ed19099251a066d65b2b496fe304 Author: Hongxu Jia AuthorDate: Fri Jul 21 03:34:38 2017 -0400 keybinder: add recipe 3.0 Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- .../recipes-support/keybinder/keybinder_3.0.bb | 26 ++++++++++++++++++++++ meta-oe/licenses/X11 | 23 +++++++++++++++++++ 2 files changed, 49 insertions(+) diff --git a/meta-gnome/recipes-support/keybinder/keybinder_3.0.bb b/meta-gnome/recipes-support/keybinder/keybinder_3.0.bb new file mode 100644 index 0000000..d6744a3 --- /dev/null +++ b/meta-gnome/recipes-support/keybinder/keybinder_3.0.bb @@ -0,0 +1,26 @@ +DESCRIPTION = "keybinder is a library for registering global key bindings, for gtk-based applications." +HOMEPAGE = "https://github.com/engla/keybinder" +LICENSE = "X11" +SECTION = "devel/lib" +DEPENDS = "gtk+3 gobject-introspection-native \ + gtk+ \ +" + +LIC_FILES_CHKSUM = "file://COPYING;md5=1f18f9c6d8b4cfcc7d7804a243a4c0b4" + +S = "${WORKDIR}/git" +B = "${S}" + +SRCREV = "736ccef40d39603b8111c8a3a0bca0319bbafdc0" +PV = "3.0+git${SRCPV}" +SRC_URI = "git://github.com/engla/keybinder.git;branch=keybinder-3.0 \ +" + +RDEPENDS_${PN} = "gtk+" + +inherit autotools gtk-doc gobject-introspection +do_configure_prepend() { + touch ${S}/ChangeLog +} + +SRC_DISTRIBUTE_LICENSES += "X11" diff --git a/meta-oe/licenses/X11 b/meta-oe/licenses/X11 new file mode 100644 index 0000000..da3e406 --- /dev/null +++ b/meta-oe/licenses/X11 @@ -0,0 +1,23 @@ +/* + * Copyright (C) 2008 Alex Graveley + * Copyright (C) 2010 Ulrik Sverdrup + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 10:03:34 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 10:03:34 +0000 Subject: [oe-commits] [meta-openembedded] 33/42: netperf: change SRC_URI to git repository In-Reply-To: <150071778187.4100.17147688793933494056@git.openembedded.org> References: <150071778187.4100.17147688793933494056@git.openembedded.org> Message-ID: <20170722100303.0CAAD23282F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 4300ed876fd572a7adc7913ec8327c79c9a428aa Author: Yue Tao AuthorDate: Thu Jul 20 16:17:47 2017 +0800 netperf: change SRC_URI to git repository netperf upstream has been migrated to GitHub. They no longer provide ftp and tar balls. Update the SRC_URI to point the GitHub repo instead of the ftp server address, still using the v2.6.0 version. Signed-off-by: Yue Tao Signed-off-by: Martin Jansa --- .../recipes-support/netperf/{netperf_2.6.0.bb => netperf_git.bb} | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/meta-networking/recipes-support/netperf/netperf_2.6.0.bb b/meta-networking/recipes-support/netperf/netperf_git.bb similarity index 89% rename from meta-networking/recipes-support/netperf/netperf_2.6.0.bb rename to meta-networking/recipes-support/netperf/netperf_git.bb index 650fdae..5a51477 100644 --- a/meta-networking/recipes-support/netperf/netperf_2.6.0.bb +++ b/meta-networking/recipes-support/netperf/netperf_git.bb @@ -5,19 +5,19 @@ HOMEPAGE = "http://www.netperf.org/" LICENSE = "netperf" LICENSE_FLAGS = "non-commercial" +PV = "2.6.0+git${SRCREV}" +SRCREV = "050accccc728f29344088f5e15eff36fd2e0bc8a" -SRC_URI="ftp://ftp.netperf.org/netperf/archive/netperf-${PV}.tar.bz2 \ +SRC_URI="git://github.com/HewlettPackard/netperf.git \ file://cpu_set.patch \ file://vfork.patch \ file://init" -SRC_URI[md5sum] = "9654ffdfd4c4f2c93ce3733cd9ed9236" -SRC_URI[sha256sum] = "cd8dac710d4273d29f70e8dbd09353a6362ac58a11926e0822233c0cb230323a" LIC_FILES_CHKSUM = "file://COPYING;md5=a0ab17253e7a3f318da85382c7d5d5d6" inherit update-rc.d autotools -S = "${WORKDIR}/netperf-${PV}" +S = "${WORKDIR}/git" # cpu_set.patch plus _GNU_SOURCE makes src/netlib.c compile with CPU_ macros CFLAGS_append = " -DDO_UNIX -DDO_IPV6 -D_GNU_SOURCE" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 10:03:33 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 10:03:33 +0000 Subject: [oe-commits] [meta-openembedded] 32/42: python-pytun: addition of recipe for python and python3 using pipy In-Reply-To: <150071778187.4100.17147688793933494056@git.openembedded.org> References: <150071778187.4100.17147688793933494056@git.openembedded.org> Message-ID: <20170722100303.00C9723284D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 29e24a631666bba3160ad6b50d77eec0c399892b Author: Romain Bazile AuthorDate: Thu Jul 20 09:56:51 2017 +0200 python-pytun: addition of recipe for python and python3 using pipy Signed-off-by: Romain Bazile Signed-off-by: Martin Jansa --- meta-python/recipes-connectivity/python-pytun/python-pytun.inc | 10 ++++++++++ .../recipes-connectivity/python-pytun/python-pytun_2.2.1.bb | 2 ++ .../recipes-connectivity/python-pytun/python3-pytun_2.2.1.bb | 2 ++ 3 files changed, 14 insertions(+) diff --git a/meta-python/recipes-connectivity/python-pytun/python-pytun.inc b/meta-python/recipes-connectivity/python-pytun/python-pytun.inc new file mode 100644 index 0000000..79a8bfb --- /dev/null +++ b/meta-python/recipes-connectivity/python-pytun/python-pytun.inc @@ -0,0 +1,10 @@ +SUMMARY = "Python TUN/TAP tunnel module" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=13f7629e8e4989b66b4a913ab05a91de" + +SRC_URI[md5sum] = "5b35b1cf80a02cca7ec72eb95d6b0192" +SRC_URI[sha256sum] = "07595dadf85f5176eb08c8d4d9ba5b862a180e96633f670f91437c47a1bead0d" + +PYPI_PACKAGE = "python-pytun" + +inherit pypi diff --git a/meta-python/recipes-connectivity/python-pytun/python-pytun_2.2.1.bb b/meta-python/recipes-connectivity/python-pytun/python-pytun_2.2.1.bb new file mode 100644 index 0000000..3fc587f --- /dev/null +++ b/meta-python/recipes-connectivity/python-pytun/python-pytun_2.2.1.bb @@ -0,0 +1,2 @@ +require python-pytun.inc +inherit setuptools diff --git a/meta-python/recipes-connectivity/python-pytun/python3-pytun_2.2.1.bb b/meta-python/recipes-connectivity/python-pytun/python3-pytun_2.2.1.bb new file mode 100644 index 0000000..938d9d7 --- /dev/null +++ b/meta-python/recipes-connectivity/python-pytun/python3-pytun_2.2.1.bb @@ -0,0 +1,2 @@ +require python-pytun.inc +inherit setuptools3 -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 10:03:29 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 10:03:29 +0000 Subject: [oe-commits] [meta-openembedded] 28/42: python3-pykickstart: add recipe 2.35 In-Reply-To: <150071778187.4100.17147688793933494056@git.openembedded.org> References: <150071778187.4100.17147688793933494056@git.openembedded.org> Message-ID: <20170722100302.DA17B232849@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit f2775ce1a49cdcb708c00c808e011aabb421b4d4 Author: Hongxu Jia AuthorDate: Thu Jul 20 03:44:29 2017 -0400 python3-pykickstart: add recipe 2.35 Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- ...0001-support-authentication-for-kickstart.patch | 151 +++++++++++++++++++++ ...-parser.py-add-lock-for-readKickstart-and.patch | 76 +++++++++++ ...-sections-shutdown-and-environment-in-gen.patch | 48 +++++++ ...d.py-retry-to-invoke-request-with-timeout.patch | 82 +++++++++++ .../python-pykickstart/python3-pykickstart_2.35.bb | 26 ++++ 5 files changed, 383 insertions(+) diff --git a/meta-python/recipes-extended/python-pykickstart/files/0001-support-authentication-for-kickstart.patch b/meta-python/recipes-extended/python-pykickstart/files/0001-support-authentication-for-kickstart.patch new file mode 100644 index 0000000..617699d --- /dev/null +++ b/meta-python/recipes-extended/python-pykickstart/files/0001-support-authentication-for-kickstart.patch @@ -0,0 +1,151 @@ +From d0d8890b5ef74c315381c9e1cff4b1d32892116b Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Thu, 1 Jun 2017 15:07:36 +0800 +Subject: [PATCH 1/4] support authentication for kickstart + +While download kickstart file from web server, +we support basic/digest authentication. + +Add KickstartAuthError to report authentication failure, +which the invoker could parse this specific error. + +Upstream-Status: inappropriate [oe specific] + +Signed-off-by: Hongxu Jia +--- + pykickstart/errors.py | 19 +++++++++++++++++++ + pykickstart/load.py | 32 +++++++++++++++++++++++++++----- + pykickstart/parser.py | 4 ++-- + 3 files changed, 48 insertions(+), 7 deletions(-) + +diff --git a/pykickstart/errors.py b/pykickstart/errors.py +index b76e84c..fd81bc8 100644 +--- a/pykickstart/errors.py ++++ b/pykickstart/errors.py +@@ -35,6 +35,10 @@ It also exports several exception classes: + + KickstartVersionError - An exception for errors relating to unsupported + syntax versions. ++ ++ KickstartAuthError - An exception for errors relating to authentication ++ failed while downloading kickstart from web server ++ + """ + import warnings + +@@ -103,3 +107,18 @@ class KickstartVersionError(KickstartError): + + def __str__ (self): + return self.value ++ ++class KickstartAuthError(KickstartError): ++ """An exception for errors relating to authentication failed while ++ downloading kickstart from web server ++ """ ++ def __init__(self, msg): ++ """Create a new KickstartAuthError exception instance with the ++ descriptive message val. val should be the return value of ++ formatErrorMsg. ++ """ ++ KickstartError.__init__(self, msg) ++ ++ def __str__(self): ++ return self.value ++ +diff --git a/pykickstart/load.py b/pykickstart/load.py +index 1f69b9c..0f5741b 100644 +--- a/pykickstart/load.py ++++ b/pykickstart/load.py +@@ -18,10 +18,13 @@ + # with the express permission of Red Hat, Inc. + # + import requests ++from requests.auth import HTTPDigestAuth ++from requests.auth import HTTPBasicAuth ++ + import shutil + import six + +-from pykickstart.errors import KickstartError ++from pykickstart.errors import KickstartError, KickstartAuthError + from pykickstart.i18n import _ + from requests.exceptions import SSLError, RequestException + +@@ -29,7 +32,7 @@ _is_url = lambda location: '://' in location # RFC 3986 + + SSL_VERIFY = True + +-def load_to_str(location): ++def load_to_str(location, user=None, passwd=None): + '''Load a destination URL or file into a string. + Type of input is inferred automatically. + +@@ -40,7 +43,7 @@ def load_to_str(location): + Raises: KickstartError on error reading''' + + if _is_url(location): +- return _load_url(location) ++ return _load_url(location, user=user, passwd=passwd) + else: + return _load_file(location) + +@@ -71,13 +74,32 @@ def load_to_file(location, destination): + _copy_file(location, destination) + return destination + ++def _get_auth(location, user=None, passwd=None): ++ ++ auth = None ++ request = requests.get(location, verify=SSL_VERIFY) ++ if request.status_code == requests.codes.unauthorized: ++ if user is None or passwd is None: ++ log.info("Require Authentication") ++ raise KickstartAuthError("Require Authentication.\nAppend 'ksuser= kspasswd=' to boot command") + ++ reasons = request.headers.get("WWW-Authenticate", "").split() ++ if reasons: ++ auth_type = reasons[0] ++ if auth_type == "Basic": ++ auth = HTTPBasicAuth(user, passwd) ++ elif auth_type == "Digest": ++ auth=HTTPDigestAuth(user, passwd) + +-def _load_url(location): ++ return auth ++ ++def _load_url(location, user=None, passwd=None): + '''Load a location (URL or filename) and return contents as string''' + ++ auth = _get_auth(location, user=user, passwd=passwd) ++ + try: +- request = requests.get(location, verify=SSL_VERIFY) ++ request = requests.get(location, verify=SSL_VERIFY, auth=auth) + except SSLError as e: + raise KickstartError(_('Error securely accessing URL "%s"') % location + ': {e}'.format(e=str(e))) + except RequestException as e: +diff --git a/pykickstart/parser.py b/pykickstart/parser.py +index d2b0fbe..26b5de9 100644 +--- a/pykickstart/parser.py ++++ b/pykickstart/parser.py +@@ -773,7 +773,7 @@ class KickstartParser(object): + i = PutBackIterator(s.splitlines(True) + [""]) + self._stateMachine (i) + +- def readKickstart(self, f, reset=True): ++ def readKickstart(self, f, reset=True, username=None, password=None): + """Process a kickstart file, given by the filename f.""" + if reset: + self._reset() +@@ -794,7 +794,7 @@ class KickstartParser(object): + self.currentdir[self._includeDepth] = cd + + try: +- s = load_to_str(f) ++ s = load_to_str(f, user=username, passwd=password) + except KickstartError as e: + raise KickstartError(formatErrorMsg(0, msg=_("Unable to open input kickstart file: %s") % str(e))) + +-- +2.7.4 + diff --git a/meta-python/recipes-extended/python-pykickstart/files/0002-pykickstart-parser.py-add-lock-for-readKickstart-and.patch b/meta-python/recipes-extended/python-pykickstart/files/0002-pykickstart-parser.py-add-lock-for-readKickstart-and.patch new file mode 100644 index 0000000..cb21235 --- /dev/null +++ b/meta-python/recipes-extended/python-pykickstart/files/0002-pykickstart-parser.py-add-lock-for-readKickstart-and.patch @@ -0,0 +1,76 @@ +From e6e747b883114bfad51ad93f823e65f5a4d6438a Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Thu, 1 Jun 2017 15:12:29 +0800 +Subject: [PATCH 2/4] pykickstart/parser.py: add lock for readKickstart and + support https without certification + +- Add lock for readKickstart to fix race issue + +- Support to download kickstart file through https without certification + +Upstream-Status: Inappropriate[oe specific] + +Signed-off-by: Hongxu Jia +--- + pykickstart/load.py | 2 +- + pykickstart/parser.py | 24 ++++++++++++++++++++++++ + 2 files changed, 25 insertions(+), 1 deletion(-) + +diff --git a/pykickstart/load.py b/pykickstart/load.py +index 0f5741b..48c8276 100644 +--- a/pykickstart/load.py ++++ b/pykickstart/load.py +@@ -30,7 +30,7 @@ from requests.exceptions import SSLError, RequestException + + _is_url = lambda location: '://' in location # RFC 3986 + +-SSL_VERIFY = True ++SSL_VERIFY = False + + def load_to_str(location, user=None, passwd=None): + '''Load a destination URL or file into a string. +diff --git a/pykickstart/parser.py b/pykickstart/parser.py +index 26b5de9..264ba05 100644 +--- a/pykickstart/parser.py ++++ b/pykickstart/parser.py +@@ -57,6 +57,26 @@ STATE_COMMANDS = "commands" + + ver = version.DEVEL + ++import logging ++log = logging.getLogger("anaconda") ++ ++import inspect ++import threading ++_private_ks_lock = threading.RLock() ++ ++class KsLock(object): ++ def __enter__(self): ++ log.info("%s %s" % (self.__class__.__name__, inspect.stack()[0][3])) ++ _private_ks_lock.acquire() ++ return _private_ks_lock ++ ++ def __exit__(self, exc_type, exc_val, exc_tb): ++ log.info("%s %s" % (self.__class__.__name__, inspect.stack()[0][3])) ++ _private_ks_lock.release() ++ ++ ++_ks_lock = KsLock() ++ + def _preprocessStateMachine (lineIter): + l = None + lineno = 0 +@@ -774,6 +794,10 @@ class KickstartParser(object): + self._stateMachine (i) + + def readKickstart(self, f, reset=True, username=None, password=None): ++ with _ks_lock: ++ self._readKickstart(f, reset=reset, username=username, password=password) ++ ++ def _readKickstart(self, f, reset=True, username=None, password=None): + """Process a kickstart file, given by the filename f.""" + if reset: + self._reset() +-- +2.7.4 + diff --git a/meta-python/recipes-extended/python-pykickstart/files/0003-comment-out-sections-shutdown-and-environment-in-gen.patch b/meta-python/recipes-extended/python-pykickstart/files/0003-comment-out-sections-shutdown-and-environment-in-gen.patch new file mode 100644 index 0000000..9fb25fb --- /dev/null +++ b/meta-python/recipes-extended/python-pykickstart/files/0003-comment-out-sections-shutdown-and-environment-in-gen.patch @@ -0,0 +1,48 @@ +From be6012a5dd49ae5e8ac035654ab1c6f37f0dc8f4 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Thu, 1 Jun 2017 15:15:15 +0800 +Subject: [PATCH 3/4] comment out sections shutdown and environment in + generated kickstart file + +Both of them is disabled by default. + +Upstream-Status: Inappropriate[oe specific] + +Signed-off-by: Hongxu Jia + +fixup! add comments of shutdown for user +--- + pykickstart/commands/reboot.py | 3 +++ + pykickstart/parser.py | 2 +- + 2 files changed, 4 insertions(+), 1 deletion(-) + +diff --git a/pykickstart/commands/reboot.py b/pykickstart/commands/reboot.py +index 88799ba..2d0cea9 100644 +--- a/pykickstart/commands/reboot.py ++++ b/pykickstart/commands/reboot.py +@@ -41,6 +41,9 @@ class FC3_Reboot(KickstartCommand): + elif self.action == KS_SHUTDOWN: + retval += "# Shutdown after installation\nshutdown" + retval += self._getArgsAsStr() + "\n" ++ else: ++ retval += "# Shutdown after installation\n#shutdown" ++ retval += self._getArgsAsStr() + "\n" + + return retval + +diff --git a/pykickstart/parser.py b/pykickstart/parser.py +index 264ba05..b3f33d7 100644 +--- a/pykickstart/parser.py ++++ b/pykickstart/parser.py +@@ -383,7 +383,7 @@ class Packages(KickstartObject): + + if not self.default: + if self.environment: +- pkgs += "@^%s\n" % self.environment ++ pkgs += "#@^%s\n" % self.environment + + grps = self.groupList + grps.sort() +-- +2.7.4 + diff --git a/meta-python/recipes-extended/python-pykickstart/files/0004-load.py-retry-to-invoke-request-with-timeout.patch b/meta-python/recipes-extended/python-pykickstart/files/0004-load.py-retry-to-invoke-request-with-timeout.patch new file mode 100644 index 0000000..70254f6 --- /dev/null +++ b/meta-python/recipes-extended/python-pykickstart/files/0004-load.py-retry-to-invoke-request-with-timeout.patch @@ -0,0 +1,82 @@ +From c0e63f0d3c09bdabb0ad2c88b7cc73e7618dd86a Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Thu, 15 Jun 2017 17:35:33 +0800 +Subject: [PATCH 4/4] load.py: retry to invoke request with timeout + +While networkless, use request to fetch kickstart file from +network, it failed and wait 300s to break, we should retry +to invoke request with timeout explicitly. So if it the +network is up, the fetch works. + +Upstream-Status: inappropriate [oe specific] + +Signed-off-by: Hongxu Jia +--- + pykickstart/load.py | 30 ++++++++++++++++++++++++++++++ + 1 file changed, 30 insertions(+) + +diff --git a/pykickstart/load.py b/pykickstart/load.py +index 48c8276..74b266b 100644 +--- a/pykickstart/load.py ++++ b/pykickstart/load.py +@@ -21,6 +21,7 @@ import requests + from requests.auth import HTTPDigestAuth + from requests.auth import HTTPBasicAuth + ++import time + import shutil + import six + +@@ -28,6 +29,9 @@ from pykickstart.errors import KickstartError, KickstartAuthError + from pykickstart.i18n import _ + from requests.exceptions import SSLError, RequestException + ++import logging ++log = logging.getLogger("anaconda") ++ + _is_url = lambda location: '://' in location # RFC 3986 + + SSL_VERIFY = False +@@ -74,6 +78,29 @@ def load_to_file(location, destination): + _copy_file(location, destination) + return destination + ++def _access_url(location): ++ status = False ++ ++ # Retry 45 times, wait 45s~135s ++ i = 0 ++ while i < 45: ++ ++ try: ++ request = requests.get(location, verify=SSL_VERIFY, timeout=2) ++ except RequestException as e: ++ log.info("Try '%s' %d times, %s" % (location, i, str(e))) ++ status = False ++ i += 1 ++ time.sleep(1) ++ continue ++ ++ else: ++ status = True ++ return status ++ ++ return status ++ ++ + def _get_auth(location, user=None, passwd=None): + + auth = None +@@ -96,6 +123,9 @@ def _get_auth(location, user=None, passwd=None): + def _load_url(location, user=None, passwd=None): + '''Load a location (URL or filename) and return contents as string''' + ++ if not _access_url(location): ++ raise KickstartError(_("Connection %s failed" % location)) ++ + auth = _get_auth(location, user=user, passwd=passwd) + + try: +-- +2.7.4 + diff --git a/meta-python/recipes-extended/python-pykickstart/python3-pykickstart_2.35.bb b/meta-python/recipes-extended/python-pykickstart/python3-pykickstart_2.35.bb new file mode 100644 index 0000000..e96af43 --- /dev/null +++ b/meta-python/recipes-extended/python-pykickstart/python3-pykickstart_2.35.bb @@ -0,0 +1,26 @@ +DESCRIPTION = "A python library for manipulating kickstart files" +HOMEPAGE = "http://fedoraproject.org/wiki/pykickstart" +LICENSE = "GPLv2+" + +LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b" +FILESEXTRAPATHS_prepend := "${THISDIR}/files:" + +DEPENDS = "python3" +RDEPENDS_${PN} = "python3 \ + python3-requests \ + python3-six \ +" + +S = "${WORKDIR}/git" +SRC_URI = "git://github.com/rhinstaller/pykickstart.git;protocol=https;branch=pykickstart-2 \ + file://0001-support-authentication-for-kickstart.patch \ + file://0002-pykickstart-parser.py-add-lock-for-readKickstart-and.patch \ + file://0003-comment-out-sections-shutdown-and-environment-in-gen.patch \ + file://0004-load.py-retry-to-invoke-request-with-timeout.patch \ + " +SRCREV = "b2787a818540e678c2f9c5dca0c6bbd65b8b55e5" + +inherit setuptools3 + +PROVIDES = "pykickstart" +RPROVIDES_${PN} = "pykickstart" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 10:03:27 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 10:03:27 +0000 Subject: [oe-commits] [meta-openembedded] 26/42: zeroconf: Fix build with musl In-Reply-To: <150071778187.4100.17147688793933494056@git.openembedded.org> References: <150071778187.4100.17147688793933494056@git.openembedded.org> Message-ID: <20170722100302.CB99B232847@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 03751aef88a0f85f6ff5f44d74e0356493fc56f6 Author: Khem Raj AuthorDate: Wed Jul 19 08:41:32 2017 -0700 zeroconf: Fix build with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...name-arp_op-to-avoid-namespace-conflicts-.patch | 69 ++++++++++++++++++++++ .../recipes-protocols/zeroconf/zeroconf_0.9.bb | 4 +- 2 files changed, 72 insertions(+), 1 deletion(-) diff --git a/meta-networking/recipes-protocols/zeroconf/zeroconf/0001-zeroconf-Rename-arp_op-to-avoid-namespace-conflicts-.patch b/meta-networking/recipes-protocols/zeroconf/zeroconf/0001-zeroconf-Rename-arp_op-to-avoid-namespace-conflicts-.patch new file mode 100644 index 0000000..b4d6d94 --- /dev/null +++ b/meta-networking/recipes-protocols/zeroconf/zeroconf/0001-zeroconf-Rename-arp_op-to-avoid-namespace-conflicts-.patch @@ -0,0 +1,69 @@ +From 549773fdaf1fb003b84f25df386a07d299cdeb3e Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 18 Jul 2017 21:25:33 -0700 +Subject: [PATCH] zeroconf: Rename arp_op to avoid namespace conflicts with C + library + +on musl e.g. we get +In file included from /mnt/a/oe/build/tmp/work/corei7-64-bec-linux-musl/zeroconf/0.9-r1/recipe-sysroot/usr/include/net/ethernet.h:10:0, + +This is because in musl arp_op is a define which is included +and causes the conflict + +Signed-off-by: Khem Raj +--- + zeroconf.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/zeroconf.c b/zeroconf.c +index 812d34b..f27e907 100644 +--- a/zeroconf.c ++++ b/zeroconf.c +@@ -14,8 +14,6 @@ + + #include + #include +-#include +-#include + #include + #include + #include +@@ -34,6 +32,8 @@ + #include + #include + #include ++#include ++#include + + #include "delay.h" + +@@ -108,7 +108,7 @@ int arp_conflict(struct intf *intf, struct arp_packet *pkt); + void arp_packet_dump(struct arp_packet *pkt); + void arp_packet_send(int as, + struct intf *intf, +- short int arp_op, ++ short int arpop, + int null_sender); + void arp_probe(int as, struct intf *intf); + void arp_claim(int as, struct intf *intf); +@@ -1591,7 +1591,7 @@ int arp_conflict(struct intf *intf, struct arp_packet *pkt) + + void arp_packet_send(int as, + struct intf *intf, +- short int arp_op, ++ short int arpop, + int null_sender) + { + +@@ -1605,7 +1605,7 @@ void arp_packet_send(int as, + ap.arp.ar_pro = htons(ARP_IP_PROTO); + ap.arp.ar_hln = ETH_ALEN; + ap.arp.ar_pln = 4; /* octets in IPv4 address */ +- ap.arp.ar_op = htons(arp_op); ++ ap.arp.ar_op = htons(arpop); + + /* filling with 0xff sets the destination to + * the broadcast link-layer address for free +-- +2.13.3 + diff --git a/meta-networking/recipes-protocols/zeroconf/zeroconf_0.9.bb b/meta-networking/recipes-protocols/zeroconf/zeroconf_0.9.bb index 13f9b9b..753d832 100644 --- a/meta-networking/recipes-protocols/zeroconf/zeroconf_0.9.bb +++ b/meta-networking/recipes-protocols/zeroconf/zeroconf_0.9.bb @@ -20,7 +20,9 @@ SRC_URI = "http://www.progsoc.org/~wildfire/zeroconf/download/${BPN}-${PV}.tar.g file://compilefix.patch \ file://makefile-add-ldflags.patch \ file://zeroconf-default \ - file://debian-zeroconf" + file://debian-zeroconf \ + file://0001-zeroconf-Rename-arp_op-to-avoid-namespace-conflicts-.patch \ + " SRC_URI[md5sum] = "bdafb16b008ebb5633e4e581f77821d2" SRC_URI[sha256sum] = "a8c74df127753e2310fa1e072f3c9ca44a404bb0bbce9cfec7a84c6dff8bec7b" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 10:03:25 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 10:03:25 +0000 Subject: [oe-commits] [meta-openembedded] 24/42: flashrom: Upgrade to 0.9.9 In-Reply-To: <150071778187.4100.17147688793933494056@git.openembedded.org> References: <150071778187.4100.17147688793933494056@git.openembedded.org> Message-ID: <20170722100302.BE063232845@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit c6001ebd68ea6680d2567262eb7ccf59364ea759 Author: Khem Raj AuthorDate: Wed Jul 19 08:41:30 2017 -0700 flashrom: Upgrade to 0.9.9 Fix build with musl along way Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../flashrom/0001-Fix-compilation-on-aarch64.patch | 62 ------- .../0001-ichspi.c-Fix-build-with-clang.patch | 29 --- ...fine-_XOPEN_SOURCE-to-enable-ffs-libc-API.patch | 28 +++ ...utological-pointer-compare-when-using-cla.patch | 35 ---- .../0003-remove-duplicate-const-qualifiers.patch | 71 -------- .../recipes-extended/flashrom/flashrom/sst26.patch | 198 +++++++++++++++++++++ .../recipes-extended/flashrom/flashrom_0.9.6.1.bb | 22 --- .../recipes-extended/flashrom/flashrom_0.9.9.bb | 19 ++ 8 files changed, 245 insertions(+), 219 deletions(-) diff --git a/meta-oe/recipes-extended/flashrom/flashrom/0001-Fix-compilation-on-aarch64.patch b/meta-oe/recipes-extended/flashrom/flashrom/0001-Fix-compilation-on-aarch64.patch deleted file mode 100644 index 6c2f64e..0000000 --- a/meta-oe/recipes-extended/flashrom/flashrom/0001-Fix-compilation-on-aarch64.patch +++ /dev/null @@ -1,62 +0,0 @@ -From d9e4dc750dc45e42b482d744829254a3672c11b3 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 19 Oct 2016 00:24:08 +0000 -Subject: [PATCH 1/3] Fix compilation on aarch64 - -Signed-off-by: Khem Raj ---- - arch.h | 2 +- - hwaccess.c | 2 +- - hwaccess.h | 6 +++--- - 3 files changed, 5 insertions(+), 5 deletions(-) - -Index: flashrom-0.9.6.1/arch.h -=================================================================== ---- flashrom-0.9.6.1.orig/arch.h -+++ flashrom-0.9.6.1/arch.h -@@ -27,7 +27,7 @@ - #define __FLASHROM_ARCH__ "mips" - #elif defined(__powerpc__) || defined(__powerpc64__) || defined(__ppc__) || defined(__ppc64__) - #define __FLASHROM_ARCH__ "ppc" --#elif defined(__arm__) -+#elif defined(__arm__) || defined(__aarch64__) - #define __FLASHROM_ARCH__ "arm" - #endif - __FLASHROM_ARCH__ -Index: flashrom-0.9.6.1/hwaccess.c -=================================================================== ---- flashrom-0.9.6.1.orig/hwaccess.c -+++ flashrom-0.9.6.1/hwaccess.c -@@ -121,7 +121,7 @@ int rget_io_perms(void) - return 0; - } - --#elif defined (__arm__) -+#elif defined (__arm__) || defined (__aarch64__) - - static inline void sync_primitive(void) - { -Index: flashrom-0.9.6.1/hwaccess.h -=================================================================== ---- flashrom-0.9.6.1.orig/hwaccess.h -+++ flashrom-0.9.6.1/hwaccess.h -@@ -68,8 +68,8 @@ - #error Little-endian PowerPC #defines are unknown - #endif - --#elif defined (__arm__) --#if defined (__ARMEL__) -+#elif defined (__arm__) || defined (__aarch64__) -+#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ - #define __FLASHROM_LITTLE_ENDIAN__ 1 - #else - #error Big-endian ARM #defines are unknown -@@ -337,7 +337,7 @@ int libpayload_wrmsr(int addr, msr_t msr - - /* PCI port I/O is not yet implemented on MIPS. */ - --#elif defined(__arm__) -+#elif defined(__arm__) || defined (__aarch64__) - - /* Non memory mapped I/O is not supported on ARM. */ - diff --git a/meta-oe/recipes-extended/flashrom/flashrom/0001-ichspi.c-Fix-build-with-clang.patch b/meta-oe/recipes-extended/flashrom/flashrom/0001-ichspi.c-Fix-build-with-clang.patch deleted file mode 100644 index ff16f0b..0000000 --- a/meta-oe/recipes-extended/flashrom/flashrom/0001-ichspi.c-Fix-build-with-clang.patch +++ /dev/null @@ -1,29 +0,0 @@ -From a2f603c54013cd0b04bb0103dc615644f315d5e8 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 15 Nov 2016 17:39:24 +0000 -Subject: [PATCH] ichspi.c: Fix build with clang - -ichspi.c:1130:24: error: duplicate 'const' declaration specifier [-Werror,-Wduplicate-decl-specifier] - static const uint32_t const dec_berase[4] = { - ^ -Signed-off-by: Khem Raj ---- - ichspi.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/ichspi.c b/ichspi.c -index 0223ae3..e47aebd 100644 ---- a/ichspi.c -+++ b/ichspi.c -@@ -1127,7 +1127,7 @@ static void ich_hwseq_set_addr(uint32_t addr) - static uint32_t ich_hwseq_get_erase_block_size(unsigned int addr) - { - uint8_t enc_berase; -- static const uint32_t const dec_berase[4] = { -+ static const uint32_t dec_berase[4] = { - 256, - 4 * 1024, - 8 * 1024, --- -1.9.1 - diff --git a/meta-oe/recipes-extended/flashrom/flashrom/0001-spi-Define-_XOPEN_SOURCE-to-enable-ffs-libc-API.patch b/meta-oe/recipes-extended/flashrom/flashrom/0001-spi-Define-_XOPEN_SOURCE-to-enable-ffs-libc-API.patch new file mode 100644 index 0000000..4170fef --- /dev/null +++ b/meta-oe/recipes-extended/flashrom/flashrom/0001-spi-Define-_XOPEN_SOURCE-to-enable-ffs-libc-API.patch @@ -0,0 +1,28 @@ +From 7c65a465a3ddeb7afb9a7c49d010ae7e5d5b1ad1 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 18 Jul 2017 20:25:49 -0700 +Subject: [PATCH] spi: Define _XOPEN_SOURCE to enable ffs() libc API + +musl exposes this issue + +Signed-off-by: Khem Raj +--- + spi.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/spi.c b/spi.c +index 894f73f..aeb6518 100644 +--- a/spi.c ++++ b/spi.c +@@ -21,7 +21,7 @@ + /* + * Contains the generic SPI framework + */ +- ++#define _XOPEN_SOURCE + #include + #include + #include "flash.h" +-- +2.13.3 + diff --git a/meta-oe/recipes-extended/flashrom/flashrom/0002-Disable-Wtautological-pointer-compare-when-using-cla.patch b/meta-oe/recipes-extended/flashrom/flashrom/0002-Disable-Wtautological-pointer-compare-when-using-cla.patch deleted file mode 100644 index aec11bf..0000000 --- a/meta-oe/recipes-extended/flashrom/flashrom/0002-Disable-Wtautological-pointer-compare-when-using-cla.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 9be0d152dfe8ac0f9b665d61aeb3f99dae533e0f Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 19 Oct 2016 00:25:09 +0000 -Subject: [PATCH 2/3] Disable Wtautological-pointer-compare when using clang - -Signed-off-by: Khem Raj ---- - flashrom.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/flashrom.c b/flashrom.c -index 04e9934..bf49104 100644 ---- a/flashrom.c -+++ b/flashrom.c -@@ -1569,6 +1569,9 @@ int selfcheck(void) - * For 'flashchips' we check the first element to be non-null. In the - * other cases there exist use cases where the first element can be - * null. */ -+#pragma clang diagnostic push -+#pragma clang diagnostic ignored "-Wtautological-pointer-compare" -+ - if (flashchips == NULL || flashchips[0].vendor == NULL) { - msg_gerr("Flashchips table miscompilation!\n"); - ret = 1; -@@ -1602,6 +1605,7 @@ int selfcheck(void) - msg_gerr("Known laptops table does not exist!\n"); - ret = 1; - } -+#pragma clang diagnostic pop - #endif - return ret; - } --- -1.9.1 - diff --git a/meta-oe/recipes-extended/flashrom/flashrom/0003-remove-duplicate-const-qualifiers.patch b/meta-oe/recipes-extended/flashrom/flashrom/0003-remove-duplicate-const-qualifiers.patch deleted file mode 100644 index 99283d3..0000000 --- a/meta-oe/recipes-extended/flashrom/flashrom/0003-remove-duplicate-const-qualifiers.patch +++ /dev/null @@ -1,71 +0,0 @@ -From 42ec9bd51e60aa38fe6e78f644e742d6989b6683 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 19 Oct 2016 00:25:23 +0000 -Subject: [PATCH 3/3] remove duplicate const qualifiers - -Signed-off-by: Khem Raj ---- - bitbang_spi.c | 12 ++++++------ - dummyflasher.c | 2 +- - 2 files changed, 7 insertions(+), 7 deletions(-) - -diff --git a/bitbang_spi.c b/bitbang_spi.c -index 11d2de1..508cf45 100644 ---- a/bitbang_spi.c -+++ b/bitbang_spi.c -@@ -26,33 +26,33 @@ - #include "spi.h" - - /* Note that CS# is active low, so val=0 means the chip is active. */ --static void bitbang_spi_set_cs(const const struct bitbang_spi_master *master, int val) -+static void bitbang_spi_set_cs(const struct bitbang_spi_master *master, int val) - { - master->set_cs(val); - } - --static void bitbang_spi_set_sck(const const struct bitbang_spi_master *master, int val) -+static void bitbang_spi_set_sck(const struct bitbang_spi_master *master, int val) - { - master->set_sck(val); - } - --static void bitbang_spi_set_mosi(const const struct bitbang_spi_master *master, int val) -+static void bitbang_spi_set_mosi(const struct bitbang_spi_master *master, int val) - { - master->set_mosi(val); - } - --static int bitbang_spi_get_miso(const const struct bitbang_spi_master *master) -+static int bitbang_spi_get_miso(const struct bitbang_spi_master *master) - { - return master->get_miso(); - } - --static void bitbang_spi_request_bus(const const struct bitbang_spi_master *master) -+static void bitbang_spi_request_bus(const struct bitbang_spi_master *master) - { - if (master->request_bus) - master->request_bus(); - } - --static void bitbang_spi_release_bus(const const struct bitbang_spi_master *master) -+static void bitbang_spi_release_bus(const struct bitbang_spi_master *master) - { - if (master->release_bus) - master->release_bus(); -diff --git a/dummyflasher.c b/dummyflasher.c -index 66d0df0..d0de41c 100644 ---- a/dummyflasher.c -+++ b/dummyflasher.c -@@ -66,7 +66,7 @@ int spi_ignorelist_size = 0; - static uint8_t emu_status = 0; - - /* A legit complete SFDP table based on the MX25L6436E (rev. 1.8) datasheet. */ --static const uint8_t const sfdp_table[] = { -+static const uint8_t sfdp_table[] = { - 0x53, 0x46, 0x44, 0x50, // @0x00: SFDP signature - 0x00, 0x01, 0x01, 0xFF, // @0x04: revision 1.0, 2 headers - 0x00, 0x00, 0x01, 0x09, // @0x08: JEDEC SFDP header rev. 1.0, 9 DW long --- -1.9.1 - diff --git a/meta-oe/recipes-extended/flashrom/flashrom/sst26.patch b/meta-oe/recipes-extended/flashrom/flashrom/sst26.patch new file mode 100644 index 0000000..46a0152 --- /dev/null +++ b/meta-oe/recipes-extended/flashrom/flashrom/sst26.patch @@ -0,0 +1,198 @@ +--- flashrom-0.9.9.orig/chipdrivers.h ++++ flashrom-0.9.9/chipdrivers.h +@@ -103,6 +103,7 @@ + int spi_prettyprint_status_register_sst25(struct flashctx *flash); + int spi_prettyprint_status_register_sst25vf016(struct flashctx *flash); + int spi_prettyprint_status_register_sst25vf040b(struct flashctx *flash); ++int spi_disable_blockprotect_sst26_global_unprotect(struct flashctx *flash); + + /* sfdp.c */ + int probe_spi_sfdp(struct flashctx *flash); +--- flashrom-0.9.9.orig/flashchips.c ++++ flashrom-0.9.9/flashchips.c +@@ -12564,6 +12564,120 @@ + + { + .vendor = "SST", ++ .name = "SST26VF016B(A)", ++ .bustype = BUS_SPI, ++ .manufacture_id = SST_ID, ++ .model_id = SST_SST26VF016B, ++ .total_size = 2048, ++ .page_size = 256, ++ .feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP, ++ .tested = TEST_OK_PREW, ++ .probe = probe_spi_rdid, ++ .probe_timing = TIMING_ZERO, ++ .block_erasers = ++ { ++ { ++ .eraseblocks = { {4 * 1024, 512} }, ++ .block_erase = spi_block_erase_20, ++ }, { ++ .eraseblocks = { ++ {8 * 1024, 4}, ++ {32 * 1024, 1}, ++ {64 * 1024, 30}, ++ {32 * 1024, 1}, ++ {8 * 1024, 4}, ++ }, ++ .block_erase = spi_block_erase_d8, ++ }, { ++ .eraseblocks = { {2 * 1024 * 1024, 1} }, ++ .block_erase = spi_block_erase_c7, ++ }, ++ }, ++ .printlock = spi_prettyprint_status_register_plain, /* TODO: improve */ ++ .unlock = spi_disable_blockprotect_sst26_global_unprotect, ++ .write = spi_chip_write_256, /* Multi I/O supported */ ++ .read = spi_chip_read, /* Fast read (0x0B) and multi I/O supported */ ++ .voltage = {2700, 3600}, ++ }, ++ { ++ .vendor = "SST", ++ .name = "SST26VF032B(A)", ++ .bustype = BUS_SPI, ++ .manufacture_id = SST_ID, ++ .model_id = SST_SST26VF032B, ++ .total_size = 4096, ++ .page_size = 256, ++ .feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP, ++ .tested = TEST_UNTESTED, ++ .probe = probe_spi_rdid, ++ .probe_timing = TIMING_ZERO, ++ .block_erasers = ++ { ++ { ++ .eraseblocks = { {4 * 1024, 1024} }, ++ .block_erase = spi_block_erase_20, ++ }, { ++ .eraseblocks = { ++ {8 * 1024, 4}, ++ {32 * 1024, 1}, ++ {64 * 1024, 62}, ++ {32 * 1024, 1}, ++ {8 * 1024, 4}, ++ }, ++ .block_erase = spi_block_erase_d8, ++ }, { ++ .eraseblocks = { {4 * 1024 * 1024, 1} }, ++ .block_erase = spi_block_erase_c7, ++ }, ++ }, ++ .printlock = spi_prettyprint_status_register_plain, /* TODO: improve */ ++ .unlock = spi_disable_blockprotect_sst26_global_unprotect, ++ .write = spi_chip_write_256, /* Multi I/O supported */ ++ .read = spi_chip_read, /* Fast read (0x0B) and multi I/O supported */ ++ .voltage = {2700, 3600}, ++ }, ++ ++ ++ { ++ .vendor = "SST", ++ .name = "SST26VF064B(A)", ++ .bustype = BUS_SPI, ++ .manufacture_id = SST_ID, ++ .model_id = SST_SST26VF064B, ++ .total_size = 8192, ++ .page_size = 256, ++ .feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP, ++ .tested = TEST_OK_PREW, ++ .probe = probe_spi_rdid, ++ .probe_timing = TIMING_ZERO, ++ .block_erasers = ++ { ++ { ++ .eraseblocks = { {4 * 1024, 2048} }, ++ .block_erase = spi_block_erase_20, ++ }, { ++ .eraseblocks = { ++ {8 * 1024, 4}, ++ {32 * 1024, 1}, ++ {64 * 1024, 126}, ++ {32 * 1024, 1}, ++ {8 * 1024, 4}, ++ }, ++ .block_erase = spi_block_erase_d8, ++ }, { ++ .eraseblocks = { {8 * 1024 * 1024, 1} }, ++ .block_erase = spi_block_erase_c7, ++ }, ++ }, ++ .printlock = spi_prettyprint_status_register_plain, /* TODO: improve */ ++ .unlock = spi_disable_blockprotect_sst26_global_unprotect, ++ .write = spi_chip_write_256, /* Multi I/O supported */ ++ .read = spi_chip_read, /* Fast read (0x0B) and multi I/O supported */ ++ .voltage = {2700, 3600}, ++ }, ++ ++ { ++ .vendor = "SST", + .name = "SST25WF512", + .bustype = BUS_SPI, + .manufacture_id = SST_ID, +--- flashrom-0.9.9.orig/flashchips.h ++++ flashrom-0.9.9/flashchips.h +@@ -697,6 +697,8 @@ + #define SST_SST25VF064C 0x254B + #define SST_SST26VF016 0x2601 + #define SST_SST26VF032 0x2602 ++#define SST_SST26VF016B 0x2641 ++#define SST_SST26VF032B 0x2642 + #define SST_SST26VF064B 0x2643 + #define SST_SST27SF512 0xA4 + #define SST_SST27SF010 0xA5 +--- flashrom-0.9.9.orig/linux_spi.c ++++ flashrom-0.9.9/linux_spi.c +@@ -141,6 +141,16 @@ + return 0; + } + ++static void print_hex(const char *msg, const void *buf, size_t len) ++{ ++ size_t i; ++ msg_pspew("%s:\n", msg); ++ for (i = 0; i < len; i++) { ++ msg_pspew(" %02x", ((uint8_t *)buf)[i]); ++ } ++ msg_pspew("\n"); ++} ++ + static int linux_spi_send_command(struct flashctx *flash, unsigned int writecnt, + unsigned int readcnt, + const unsigned char *txbuf, +@@ -172,10 +182,12 @@ + else + iocontrol_code = SPI_IOC_MESSAGE(2); + ++ print_hex("Write", txbuf, writecnt); + if (ioctl(fd, iocontrol_code, msg) == -1) { + msg_cerr("%s: ioctl: %s\n", __func__, strerror(errno)); + return -1; + } ++ if (readcnt) print_hex("Got", rxbuf, readcnt); + return 0; + } + +--- flashrom-0.9.9.orig/spi25_statusreg.c ++++ flashrom-0.9.9/spi25_statusreg.c +@@ -196,6 +196,19 @@ + return spi_disable_blockprotect_generic(flash, 0x3C, 0, 0, 0xFF); + } + ++int spi_disable_blockprotect_sst26_global_unprotect(struct flashctx *flash) ++{ ++ int result = spi_write_enable(flash); ++ if (result) ++ return result; ++ ++ static const unsigned char cmd[] = { 0x98 }; /* ULBPR */ ++ result = spi_send_command(flash, sizeof(cmd), 0, cmd, NULL); ++ if (result) ++ msg_cerr("ULBPR failed\n"); ++ return result; ++} ++ + /* A common block protection disable that tries to unset the status register bits masked by 0x0C (BP0-1) and + * protected/locked by bit #7. Useful when bits 4-5 may be non-0). */ + int spi_disable_blockprotect_bp1_srwd(struct flashctx *flash) diff --git a/meta-oe/recipes-extended/flashrom/flashrom_0.9.6.1.bb b/meta-oe/recipes-extended/flashrom/flashrom_0.9.6.1.bb deleted file mode 100644 index 0edc688..0000000 --- a/meta-oe/recipes-extended/flashrom/flashrom_0.9.6.1.bb +++ /dev/null @@ -1,22 +0,0 @@ -DESCRIPTION = "flashrom is a utility for identifying, reading, writing, verifying and erasing flash chips" -LICENSE = "GPLv2" -HOMEPAGE = "http://flashrom.org" - -LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" -DEPENDS = "pciutils" - -SRC_URI = "http://download.flashrom.org/releases/flashrom-${PV}.tar.bz2 \ - file://0001-Fix-compilation-on-aarch64.patch \ - file://0002-Disable-Wtautological-pointer-compare-when-using-cla.patch \ - file://0003-remove-duplicate-const-qualifiers.patch \ - file://0001-ichspi.c-Fix-build-with-clang.patch \ - " - -SRC_URI[md5sum] = "407e836c0a2b17ec76583cb6809f65e5" -SRC_URI[sha256sum] = "6f7b588cce74c90b4fe9c9c794de105de76e0323442fb5770b1aeab81e9d560a" - -CFLAGS += "-Wno-error=unknown-pragmas" - -do_install() { - oe_runmake PREFIX=${prefix} DESTDIR=${D} install -} diff --git a/meta-oe/recipes-extended/flashrom/flashrom_0.9.9.bb b/meta-oe/recipes-extended/flashrom/flashrom_0.9.9.bb new file mode 100644 index 0000000..1bd9792 --- /dev/null +++ b/meta-oe/recipes-extended/flashrom/flashrom_0.9.9.bb @@ -0,0 +1,19 @@ +DESCRIPTION = "flashrom is a utility for identifying, reading, writing, verifying and erasing flash chips" +LICENSE = "GPLv2" +HOMEPAGE = "http://flashrom.org" + +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" +DEPENDS = "pciutils libusb" + +SRC_URI = "http://download.flashrom.org/releases/flashrom-${PV}.tar.bz2 \ + file://0001-spi-Define-_XOPEN_SOURCE-to-enable-ffs-libc-API.patch \ + file://sst26.patch \ + " +SRC_URI[md5sum] = "aab9c98925d9cfb5ffb28b67a6112530" +SRC_URI[sha256sum] = "cb3156b0f63eb192024b76c0814135930297aac41f80761a5d293de769783c45" + +inherit pkgconfig + +do_install() { + oe_runmake PREFIX=${prefix} DESTDIR=${D} install +} -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 10:03:32 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 10:03:32 +0000 Subject: [oe-commits] [meta-openembedded] 31/42: libtar: add recipe 1.2.20 In-Reply-To: <150071778187.4100.17147688793933494056@git.openembedded.org> References: <150071778187.4100.17147688793933494056@git.openembedded.org> Message-ID: <20170722100302.ED8B723284C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit ffda799133f31385cb0e9a14d6cc09e669e13d79 Author: Hongxu Jia AuthorDate: Thu Jul 20 03:44:34 2017 -0400 libtar: add recipe 1.2.20 Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- .../libtar/files/0002-Do-not-strip-libtar.patch | 25 ++++++++++++++++++++++ .../libtar/files/fix_libtool_sysroot.patch | 19 ++++++++++++++++ meta-oe/recipes-support/libtar/libtar_1.2.20.bb | 21 ++++++++++++++++++ 3 files changed, 65 insertions(+) diff --git a/meta-oe/recipes-support/libtar/files/0002-Do-not-strip-libtar.patch b/meta-oe/recipes-support/libtar/files/0002-Do-not-strip-libtar.patch new file mode 100644 index 0000000..31c0d29 --- /dev/null +++ b/meta-oe/recipes-support/libtar/files/0002-Do-not-strip-libtar.patch @@ -0,0 +1,25 @@ +From e9fee689430af7791b932a1ee3c2cc103ccf290f Mon Sep 17 00:00:00 2001 +From: Stefan Eichenberger +Date: Wed, 2 Nov 2016 05:43:43 -0400 +Subject: [PATCH] Do not strip libtar. + +--- + libtar/Makefile.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libtar/Makefile.in b/libtar/Makefile.in +index 7c6f1bc..80bb8d9 100644 +--- a/libtar/Makefile.in ++++ b/libtar/Makefile.in +@@ -20,7 +20,7 @@ SHELL = @SHELL@ + + ### Installation programs and flags + INSTALL = @INSTALL@ +-INSTALL_PROGRAM = @INSTALL_PROGRAM@ -s ++INSTALL_PROGRAM = @INSTALL_PROGRAM@ + INSTALL_DATA = @INSTALL_DATA@ + LN_S = @LN_S@ + MKDIR = @MKDIR@ +-- +2.8.1 + diff --git a/meta-oe/recipes-support/libtar/files/fix_libtool_sysroot.patch b/meta-oe/recipes-support/libtar/files/fix_libtool_sysroot.patch new file mode 100644 index 0000000..178a970 --- /dev/null +++ b/meta-oe/recipes-support/libtar/files/fix_libtool_sysroot.patch @@ -0,0 +1,19 @@ +--- + configure.ac | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/configure.ac b/configure.ac +index 4623100..1c6b43d 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -13,6 +13,7 @@ AC_CONFIG_MACRO_DIR([autoconf]) + AM_INIT_AUTOMAKE([dist-bzip2]) + ENCAP_PKG([], [postinstall-encap]) + ++LT_INIT + + dnl ### Load subdirectory modules. ################################## + PSG_MODULE([compat]) +-- +2.8.1 + diff --git a/meta-oe/recipes-support/libtar/libtar_1.2.20.bb b/meta-oe/recipes-support/libtar/libtar_1.2.20.bb new file mode 100644 index 0000000..60710f4 --- /dev/null +++ b/meta-oe/recipes-support/libtar/libtar_1.2.20.bb @@ -0,0 +1,21 @@ +SUMMARY = "libtar, tar manipulating library" +DESCRIPTION = "libtar is a library for manipulating POSIX tar files" +HOMEPAGE = "http://www.feep.net/libtar" +SECTION = "libs" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=61cbac6719ae682ce6cd45b5c11e21af" + +SRC_URI = "${DEBIAN_MIRROR}/main/libt/${BPN}/${BPN}_${PV}.orig.tar.gz \ + file://fix_libtool_sysroot.patch \ + file://0002-Do-not-strip-libtar.patch \ + " + +S = "${WORKDIR}/${BPN}" + +SRC_URI[md5sum] = "6ced95ab3a4b33fbfe2dfb231d156cdb" +SRC_URI[sha256sum] = "50f24c857a7ef1cb092e6508758b86d06f1188508f897f3e6b40c573e8879109" + +inherit autotools-brokensep + +PACKAGECONFIG ??= "zlib" +PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 10:03:43 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 10:03:43 +0000 Subject: [oe-commits] [meta-openembedded] 42/42: pidgin-otr: unblacklist In-Reply-To: <150071778187.4100.17147688793933494056@git.openembedded.org> References: <150071778187.4100.17147688793933494056@git.openembedded.org> Message-ID: <20170722100303.4EBFB232852@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit e2e1a76311f601ee93d3421237dff05a1306f61e Author: Martin Jansa AuthorDate: Fri Jul 21 12:15:47 2017 +0200 pidgin-otr: unblacklist * pidgin was already unblacklisted * add dependency on glib2-native for glib-gettextize * remove manual -dbg definition * fix indentation Signed-off-by: Martin Jansa --- meta-oe/recipes-support/pidgin/pidgin-otr_4.0.0.bb | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/meta-oe/recipes-support/pidgin/pidgin-otr_4.0.0.bb b/meta-oe/recipes-support/pidgin/pidgin-otr_4.0.0.bb index 47cdc72..e8539c9 100644 --- a/meta-oe/recipes-support/pidgin/pidgin-otr_4.0.0.bb +++ b/meta-oe/recipes-support/pidgin/pidgin-otr_4.0.0.bb @@ -2,20 +2,15 @@ SUMMARY = "(OTR) Messaging allows you to have private conversations over instant HOMEPAGE = "http://www.cypherpunks.ca/otr/" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=92fe174bad6da3763f6e9e9eaff6df24" -DEPENDS = "libgcrypt libotr pidgin intltool-native" - -PNBLACKLIST[pidgin-otr] ?= "depends on blacklisted pidgin - the recipe will be removed on 2017-09-01 unless the issue is fixed" +DEPENDS = "libgcrypt libotr pidgin intltool-native glib-2.0-native" SRC_URI = "http://www.cypherpunks.ca/otr/${BP}.tar.gz \ - file://ignore_extra-portability_warnings.patch \ + file://ignore_extra-portability_warnings.patch \ " SRC_URI[md5sum] = "eadb953376acc474e56041d4c12aa2c8" SRC_URI[sha256sum] = "d56b3f092dbe9ee6597641c7d2dd294884dc04ba47aaf4ec571cd54977df4691" - FILES_${PN} = "${libdir}/pidgin/*" -FILES_${PN}-dbg = "${libdir}/pidgin/.debug" -FILES_${PN}-dbg += "${libdir}/pidgin/.debug/pidgin-otr.so" -FILES_${PN}-dbg += "/usr/src/debug/pidgin-otr/${PV}-${PR}/${P}/*" + inherit autotools pkgconfig -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 10:03:42 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 10:03:42 +0000 Subject: [oe-commits] [meta-openembedded] 41/42: satyr: add recipe 0.23 In-Reply-To: <150071778187.4100.17147688793933494056@git.openembedded.org> References: <150071778187.4100.17147688793933494056@git.openembedded.org> Message-ID: <20170722100303.47267232851@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 790b0861a496e7a1aec8b7d3db20079e0cc271fb Author: Hongxu Jia AuthorDate: Fri Jul 21 03:34:45 2017 -0400 satyr: add recipe 0.23 Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- .../satyr/files/0001-do-not-support-python2.patch | 84 ++++++++++++++++++++++ ...ix-compile-failure-against-musl-C-library.patch | 28 ++++++++ meta-oe/recipes-support/satyr/satyr_0.23.bb | 33 +++++++++ 3 files changed, 145 insertions(+) diff --git a/meta-oe/recipes-support/satyr/files/0001-do-not-support-python2.patch b/meta-oe/recipes-support/satyr/files/0001-do-not-support-python2.patch new file mode 100644 index 0000000..9e95a3f --- /dev/null +++ b/meta-oe/recipes-support/satyr/files/0001-do-not-support-python2.patch @@ -0,0 +1,84 @@ +From 206f334d62da17093e784094c9d9e80c853f704f Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Fri, 12 May 2017 03:03:46 -0400 +Subject: [PATCH] do not support python2 + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Hongxu Jia +--- + configure.ac | 16 ---------------- + python/Makefile.am | 24 ------------------------ + 2 files changed, 40 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 200a7cc..8431c51 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -22,22 +22,6 @@ AM_MISSING_PROG([AUTOM4TE], [autom4te]) + # Needed by tests/atlocal.in. + AC_SUBST([O0CFLAGS], [`echo $CFLAGS | sed 's/-O[[0-9]] *//'`]) + +-AM_PATH_PYTHON +-AM_CONDITIONAL([HAVE_PYTHON], test -n "$PYTHON") +-[if test -z "$PYTHON"; then] +- [echo "The python interpreter was not found in the search path. The Python language bindings"] +- [echo "will not be built. If you want to build the Python language bindings, please ensure"] +- [echo "that python is installed and its directory is included in the search path."] +- [echo "Then run configure again before attempting to build Satyr."] +-[fi] +- +-# Just PKG_CHECK_MODULES([PYTHON], [python]) works only with python2.7+ +-# Below, if python is not found, we set up for python2.6 w/o checking: +-PKG_CHECK_MODULES([PYTHON], [python2],,[ +- PYTHON_LIBS='-L/usr/lib64 -lpython2.6' +- PYTHON_CFLAGS='-I/usr/include/python2.6' +-]) +- + AC_ARG_ENABLE([python-manpage], + [AS_HELP_STRING([--disable-python-manpage], + [Disable python bindings manpage build])], +diff --git a/python/Makefile.am b/python/Makefile.am +index 36fc2e9..0b73f66 100644 +--- a/python/Makefile.am ++++ b/python/Makefile.am +@@ -1,12 +1,5 @@ + SUBDIRS = . doc + +-py2satyrdir = $(pyexecdir)/satyr +- +-py2satyr_PYTHON = \ +- __init__.py +- +-py2satyr_LTLIBRARIES = _satyr.la +- + PYEXTFILES = \ + py_cluster.h \ + py_cluster.c \ +@@ -75,23 +68,6 @@ PYEXTLDFLAGS = \ + -module \ + -avoid-version + +-_satyr_la_SOURCES = $(PYEXTFILES) +-_satyr_la_CPPFLAGS = \ +- $(PYEXTCPPFLAGS) \ +- $(PYTHON_CFLAGS) +-_satyr_la_LDFLAGS = \ +- $(PYEXTLDFLAGS) \ +- -export-symbols-regex init_satyr +- +-# Depending on the configure option, we either link libsatyr.so dynamically (as +-# is usual), or directly include its object files (by including the +-# convenience library). +-if ENABLE_STATIC_PYTHON_MODULE +-_satyr_la_LIBADD = ../lib/libsatyr_conv.la +-else +-_satyr_la_LIBADD = ../lib/libsatyr.la +-endif +- + if WITH_PYTHON3 + py3satyrdir = $(py3execdir)/satyr + +-- +2.8.1 + diff --git a/meta-oe/recipes-support/satyr/files/0002-fix-compile-failure-against-musl-C-library.patch b/meta-oe/recipes-support/satyr/files/0002-fix-compile-failure-against-musl-C-library.patch new file mode 100644 index 0000000..5827eb4 --- /dev/null +++ b/meta-oe/recipes-support/satyr/files/0002-fix-compile-failure-against-musl-C-library.patch @@ -0,0 +1,28 @@ +From 23f827ea94284656972652f61f2c6aad96092cc8 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Thu, 20 Jul 2017 23:00:29 -0400 +Subject: [PATCH] fix compile failure against musl C library + +Upstream-Status: Pending + +Signed-off-by: Hongxu Jia +--- + lib/rpm.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/rpm.c b/lib/rpm.c +index 920e145..58140bf 100644 +--- a/lib/rpm.c ++++ b/lib/rpm.c +@@ -188,7 +188,7 @@ sr_rpm_package_sort(struct sr_rpm_package *packages) + } + + /* Sort the array. */ +- qsort(array, count, sizeof(struct sr_rpm_package*), (comparison_fn_t)cmp_nevra_qsort_wrapper); ++ qsort(array, count, sizeof(struct sr_rpm_package*), cmp_nevra_qsort_wrapper); + + /* Create a linked list from the sorted array. */ + for (size_t loop = 0; loop < count; ++loop) +-- +2.8.1 + diff --git a/meta-oe/recipes-support/satyr/satyr_0.23.bb b/meta-oe/recipes-support/satyr/satyr_0.23.bb new file mode 100644 index 0000000..f795c37 --- /dev/null +++ b/meta-oe/recipes-support/satyr/satyr_0.23.bb @@ -0,0 +1,33 @@ +DESCRIPTION = "Satyr is a collection of low-level algorithms for program \ +failure processing, analysis, and reporting supporting kernel space, user \ +space, Python, and Java programs" + +HOMEPAGE = "https://github.com/abrt/satyr" +LICENSE = "GPLv2" + +inherit autotools-brokensep python3native pkgconfig + +SRC_URI = "git://github.com/abrt/satyr.git \ + file://0001-do-not-support-python2.patch \ + file://0002-fix-compile-failure-against-musl-C-library.patch \ +" +SRCREV = "4742fd4857c446b96f712d52e2e4cd0b6cfe7398" +S = "${WORKDIR}/git" + +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" + +DEPENDS += " \ + gdb \ +" + +PACKAGES += "python3-${PN}" +FILES_python3-${PN} = "${PYTHON_SITEPACKAGES_DIR}/${BPN}" + +PACKAGECONFIG ??= "python3 rpm" +PACKAGECONFIG[python3] = "--with-python3, --without-python3,,python3" +PACKAGECONFIG[pythonmanpage] = "--enable-python-manpage, --disable-python-manpage" +PACKAGECONFIG[rpm] = "--with-rpm, --without-rpm, rpm" + +do_configure_prepend() { + ${S}/gen-version +} -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 10:03:41 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 10:03:41 +0000 Subject: [oe-commits] [meta-openembedded] 40/42: volume-key: add recipe 0.3.9 In-Reply-To: <150071778187.4100.17147688793933494056@git.openembedded.org> References: <150071778187.4100.17147688793933494056@git.openembedded.org> Message-ID: <20170722100303.3FA30232850@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 83252556dcdcce5a622ddfc23d39aee09096ca1f Author: Hongxu Jia AuthorDate: Fri Jul 21 03:34:39 2017 -0400 volume-key: add recipe 0.3.9 Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- ...-explicitly-support-python3-by-pkg-config.patch | 56 ++++++++++++++++++++++ .../volume_key/volume-key_0.3.9.bb | 34 +++++++++++++ 2 files changed, 90 insertions(+) diff --git a/meta-oe/recipes-extended/volume_key/files/0001-explicitly-support-python3-by-pkg-config.patch b/meta-oe/recipes-extended/volume_key/files/0001-explicitly-support-python3-by-pkg-config.patch new file mode 100644 index 0000000..03edb13 --- /dev/null +++ b/meta-oe/recipes-extended/volume_key/files/0001-explicitly-support-python3-by-pkg-config.patch @@ -0,0 +1,56 @@ +From 18415c0b4c6e50ed9b99dfdae8d210590d0ab72e Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Fri, 28 Apr 2017 04:50:30 -0400 +Subject: [PATCH] explicitly support python3 by pkg-config + +The PYTHON_CPPFLAGS and -lpython$(PYTHON_VERSION) is hardcoded, +use pkg-config to replace + +Upstream-Status: Inappropriate [wr-installer specific] + +Signed-off-by: Hongxu Jia +--- + Makefile.am | 5 ++--- + configure.ac | 2 ++ + 2 files changed, 4 insertions(+), 3 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index 4569bbf..7a8daf4 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -20,7 +20,6 @@ ACLOCAL_AMFLAGS = -I m4 + AM_CPPFLAGS = $(blkid_CFLAGS) $(glib_CFLAGS) $(GPGME_CFLAGS) \ + $(libcryptsetup_CFLAGS) $(nss_CFLAGS) + LOCALEDIR_CPPFLAGS = -DLOCALEDIR='"$(localedir)"' +-PYTHON_CPPFLAGS = -I/usr/include/python$(PYTHON_VERSION) + + ## Targets + SUBDIRS = po +@@ -63,9 +62,9 @@ lib_libvolume_key_la_LIBADD = $(blkid_LIBS) $(glib_LIBS) $(GPGME_LIBS) \ + $(LTLIBINTL) $(libcryptsetup_LIBS) $(nss_LIBS) + + python__volume_key_la_SOURCES = python/volume_key_wrap.c +-python__volume_key_la_CPPFLAGS = $(AM_CPPFLAGS) $(PYTHON_CPPFLAGS) ++python__volume_key_la_CPPFLAGS = $(AM_CPPFLAGS) $(python3_CFLAGS) + python__volume_key_la_LDFLAGS = -module -avoid-version $(glib_LIBS) +-python__volume_key_la_LIBADD = lib/libvolume_key.la -lpython$(PYTHON_VERSION) \ ++python__volume_key_la_LIBADD = lib/libvolume_key.la $(python3_LIBS) \ + $(glib_LIBS) $(nss_LIBS) + + src_volume_key_SOURCES = src/volume_key.c +diff --git a/configure.ac b/configure.ac +index ff35dd0..0928a6c 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -27,6 +27,8 @@ AM_INIT_AUTOMAKE([no-dist-gzip dist-xz no-define subdir-objects -Wall]) + AC_PROG_CC + AM_PROG_CC_C_O + LT_INIT([disable-static]) ++ ++PKG_CHECK_MODULES(python3, [python3]) + AM_PATH_PYTHON + + dnl Not gpg2, it cannot receive passphrases from gpgme +-- +2.8.1 + diff --git a/meta-oe/recipes-extended/volume_key/volume-key_0.3.9.bb b/meta-oe/recipes-extended/volume_key/volume-key_0.3.9.bb new file mode 100644 index 0000000..febf3f2 --- /dev/null +++ b/meta-oe/recipes-extended/volume_key/volume-key_0.3.9.bb @@ -0,0 +1,34 @@ +DESCRIPTION = "The volume_key project provides a libvolume_key, a library for manipulating \ +storage volume encryption keys and storing them separately from volumes, and an \ +associated command-line tool, named volume_key." +LICENSE = "GPLv2" +SECTION = "devel/lib" + +HOMEPAGE = "https://pagure.io/volume_key" + +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +SRC_URI = "https://releases.pagure.org/volume_key/volume_key-${PV}.tar.xz \ + file://0001-explicitly-support-python3-by-pkg-config.patch \ +" +SRC_URI[md5sum] = "a2d14931177c660e1f3ebbcf5f47d8e2" +SRC_URI[sha256sum] = "450a54fe9bf56acec6850c1e71371d3e4913c9ca1ef0cdc3a517b4b6910412a6" + +SRCNAME = "volume_key" +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit autotools python3native gettext + +DEPENDS += " \ + util-linux \ + glib-2.0 \ + cryptsetup \ + nss \ + gpgme \ +" + +RDEPENDS_python3-${PN} += "${PN}" + +PACKAGES += "python3-${PN}" +FILES_python3-${PN} = "${PYTHON_SITEPACKAGES_DIR}/*" + -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sat Jul 22 10:03:35 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sat, 22 Jul 2017 10:03:35 +0000 Subject: [oe-commits] [meta-openembedded] 34/42: ippool: Fix build errors found with hardening flags In-Reply-To: <150071778187.4100.17147688793933494056@git.openembedded.org> References: <150071778187.4100.17147688793933494056@git.openembedded.org> Message-ID: <20170722100303.15F6F232830@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit e569f80cc8a02df915a6a01013762a5dc9d1eab1 Author: Khem Raj AuthorDate: Thu Jul 20 03:35:26 2017 -0700 ippool: Fix build errors found with hardening flags Fix build with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../ippool/0001-Respect-flags-from-env.patch | 56 ++++ ...timer-Check-for-return-value-of-write-API.patch | 28 ++ .../ippool/ippool/0002-link-with-libtirpc.patch | 30 +++ .../ippool/ippool/0003-musl-fixes.patch | 283 +++++++++++++++++++++ .../recipes-daemons/ippool/ippool_1.3.bb | 31 ++- 5 files changed, 415 insertions(+), 13 deletions(-) diff --git a/meta-networking/recipes-daemons/ippool/ippool/0001-Respect-flags-from-env.patch b/meta-networking/recipes-daemons/ippool/ippool/0001-Respect-flags-from-env.patch new file mode 100644 index 0000000..e967621 --- /dev/null +++ b/meta-networking/recipes-daemons/ippool/ippool/0001-Respect-flags-from-env.patch @@ -0,0 +1,56 @@ +From 4848b9e4d516a9203c08432901a7b40419e8f43c Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 19 Jul 2017 15:54:35 -0700 +Subject: [PATCH 1/3] Respect flags from env + +Signed-off-by: Khem Raj +--- + Makefile | 4 ++-- + cli/Makefile | 2 +- + pppd/Makefile | 2 +- + 3 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/Makefile b/Makefile +index a05a000..439a978 100644 +--- a/Makefile ++++ b/Makefile +@@ -81,8 +81,8 @@ LIBS.dmalloc= -ldmalloc + export USE_DMALLOC + endif + +-CPPFLAGS= $(CPPFLAGS.ippooltest) +-CFLAGS= -I. -Iusl -Icli -MMD -Wall -g $(CPPFLAGS) $(CPPFLAGS.dmalloc) ++CPPFLAGS+= $(CPPFLAGS.ippooltest) ++CFLAGS+= -I. -Iusl -Icli -MMD -Wall -g $(CPPFLAGS) $(CPPFLAGS.dmalloc) + LDFLAGS.ippoold= $(LDFLAGS) -Wl,-E -L. -Lusl -lusl -lnsl -ldl $(LIBS.dmalloc) -lc + LDFLAGS.ippoolconfig= $(LDFLAGS) -Lcli -lcli -lreadline -lcurses -lnsl $(LIBS.dmalloc) -lc + +diff --git a/cli/Makefile b/cli/Makefile +index 4b5dd59..56fbf2f 100644 +--- a/cli/Makefile ++++ b/cli/Makefile +@@ -7,7 +7,7 @@ CLI_SRCS_TEST.o= $(CLI_SRCS_TEST.c:%.c=%.o) + + LDFLAGS.cli_test= -L.. -L. $(READLINE_LDFLAGS) -lcli -lusl -lreadline -lcurses -lc + +-CFLAGS= $(CFLAGS.optimize) -MMD -Wall -Werror -I.. $(READLINE_CFLAGS) ++CFLAGS= $(CFLAGS.optimize) -MMD -Wall -Werror -I.. $(READLINE_CFLAGS) $(CPPFLAGS) + + .PHONY: all test clean + +diff --git a/pppd/Makefile b/pppd/Makefile +index 106deca..7fd815f 100644 +--- a/pppd/Makefile ++++ b/pppd/Makefile +@@ -10,7 +10,7 @@ endif + + # END CONFIGURABLE SETTINGS + +-CFLAGS += -g -I.. -I/usr/include/pppd $(CFLAGS.pppd) -fPIC ++CFLAGS += -g -I.. -I=/usr/include/pppd $(CFLAGS.pppd) -fPIC + LDFLAGS += -shared + + all: ippool.so +-- +2.13.3 + diff --git a/meta-networking/recipes-daemons/ippool/ippool/0001-usl_timer-Check-for-return-value-of-write-API.patch b/meta-networking/recipes-daemons/ippool/ippool/0001-usl_timer-Check-for-return-value-of-write-API.patch new file mode 100644 index 0000000..6fb7cc5 --- /dev/null +++ b/meta-networking/recipes-daemons/ippool/ippool/0001-usl_timer-Check-for-return-value-of-write-API.patch @@ -0,0 +1,28 @@ +From 5d7f20c045b3c74dad2c53d65e30bd4840250082 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 27 Jun 2017 15:17:19 -0700 +Subject: [PATCH] usl_timer: Check for return value of write() API + +Signed-off-by: Khem Raj +--- + usl/usl_timer.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/usl/usl_timer.c b/usl/usl_timer.c +index fda752b..d8414a6 100644 +--- a/usl/usl_timer.c ++++ b/usl/usl_timer.c +@@ -94,7 +94,9 @@ void usl_timer_tick(void) + + if (!usl_tick_pending) { + usl_tick_pending = 1; +- write(usl_tick_pipe[1], &msg, sizeof(msg)); ++ if (write(usl_tick_pipe[1], &msg, sizeof(msg)) != sizeof(msg)) { ++ fprintf(stderr, "write to fd %i failed: %s\n", usl_tick_pipe[1], strerror(errno)); ++ } + } + } + +-- +2.13.2 + diff --git a/meta-networking/recipes-daemons/ippool/ippool/0002-link-with-libtirpc.patch b/meta-networking/recipes-daemons/ippool/ippool/0002-link-with-libtirpc.patch new file mode 100644 index 0000000..d80f7b4 --- /dev/null +++ b/meta-networking/recipes-daemons/ippool/ippool/0002-link-with-libtirpc.patch @@ -0,0 +1,30 @@ +From 47aef26198431f7ad568c2277dded158bda3e36f Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 19 Jul 2017 16:00:35 -0700 +Subject: [PATCH 2/3] link with libtirpc + +musl needs it + +Signed-off-by: Khem Raj +--- + Makefile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Makefile b/Makefile +index 439a978..ea821eb 100644 +--- a/Makefile ++++ b/Makefile +@@ -83,8 +83,8 @@ endif + + CPPFLAGS+= $(CPPFLAGS.ippooltest) + CFLAGS+= -I. -Iusl -Icli -MMD -Wall -g $(CPPFLAGS) $(CPPFLAGS.dmalloc) +-LDFLAGS.ippoold= $(LDFLAGS) -Wl,-E -L. -Lusl -lusl -lnsl -ldl $(LIBS.dmalloc) -lc +-LDFLAGS.ippoolconfig= $(LDFLAGS) -Lcli -lcli -lreadline -lcurses -lnsl $(LIBS.dmalloc) -lc ++LDFLAGS.ippoold= $(LDFLAGS) -Wl,-E -L. -Lusl -lusl -ldl $(LIBS.dmalloc) -lc -ltirpc ++LDFLAGS.ippoolconfig= $(LDFLAGS) -Lcli -lcli -lreadline -lcurses $(LIBS.dmalloc) -lc -ltirpc + + OPT_CFLAGS?= -O + +-- +2.13.3 + diff --git a/meta-networking/recipes-daemons/ippool/ippool/0003-musl-fixes.patch b/meta-networking/recipes-daemons/ippool/ippool/0003-musl-fixes.patch new file mode 100644 index 0000000..3cd5259 --- /dev/null +++ b/meta-networking/recipes-daemons/ippool/ippool/0003-musl-fixes.patch @@ -0,0 +1,283 @@ +From eb345047decba665e3f39908336a83f039e1ece2 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 19 Jul 2017 16:01:32 -0700 +Subject: [PATCH 3/3] musl fixes + +Signed-off-by: Khem Raj +--- + cli/cli_readline.c | 7 +- + ippool_api.c | 9 ++- + net/ppp_defs.h | 194 +++++++++++++++++++++++++++++++++++++++++++++++++++++ + usl/usl.h | 4 ++ + 4 files changed, 208 insertions(+), 6 deletions(-) + create mode 100644 net/ppp_defs.h + +diff --git a/cli/cli_readline.c b/cli/cli_readline.c +index 2812e6e..542935c 100644 +--- a/cli/cli_readline.c ++++ b/cli/cli_readline.c +@@ -17,13 +17,14 @@ + * Boston, MA 02110-1301 USA + * + *****************************************************************************/ +- ++#define _GNU_SOURCE + #include + #include + #include + #include + #include +-#include ++#include ++#include + #include + + #include +@@ -630,7 +631,7 @@ static void cli_rl_uninstall_signal_handlers(void) + + static int cli_rl_install_signal_handlers(void) + { +- __sighandler_t handler; ++ sighandler_t handler; + + rl_catch_signals = 0; + rl_clear_signals(); +diff --git a/ippool_api.c b/ippool_api.c +index 2c10c47..d1127a9 100644 +--- a/ippool_api.c ++++ b/ippool_api.c +@@ -181,10 +181,13 @@ int ippool_api_rpc_check_request(SVCXPRT *xprt) + * non-loopback interface, reject the request. + */ + if ((!ippool_opt_remote_rpc) && +- ((xprt->xp_raddr.sin_addr.s_addr != htonl(INADDR_LOOPBACK)) && +- (xprt->xp_raddr.sin_addr.s_addr != htonl(INADDR_ANY)))) { ++ ((xprt->xp_raddr.sin6_addr.s6_addr != htonl(INADDR_LOOPBACK)) && ++ (xprt->xp_raddr.sin6_addr.s6_addr != htonl(INADDR_ANY)))) { ++ char straddr[INET6_ADDRSTRLEN]; ++ inet_ntop(AF_INET6, &xprt->xp_raddr.sin6_addr, straddr, sizeof(straddr)); ++ + if (ippool_opt_debug) { +- ippool_log(LOG_ERR, "Rejecting RPC request from %s", inet_ntoa(xprt->xp_raddr.sin_addr)); ++ ippool_log(LOG_ERR, "Rejecting RPC request from %s", straddr); + } + svcerr_auth(xprt, AUTH_TOOWEAK); + return -EPERM; +diff --git a/net/ppp_defs.h b/net/ppp_defs.h +new file mode 100644 +index 0000000..b06eda5 +--- /dev/null ++++ b/net/ppp_defs.h +@@ -0,0 +1,194 @@ ++/* $Id: ppp_defs.h,v 1.17 2002/12/06 09:49:15 paulus Exp $ */ ++ ++/* ++ * ppp_defs.h - PPP definitions. ++ * ++ * Copyright (c) 1984 Paul Mackerras. All rights reserved. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * ++ * 1. Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * ++ * 2. Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in ++ * the documentation and/or other materials provided with the ++ * distribution. ++ * ++ * 3. The name(s) of the authors of this software must not be used to ++ * endorse or promote products derived from this software without ++ * prior written permission. ++ * ++ * 4. Redistributions of any form whatsoever must retain the following ++ * acknowledgment: ++ * "This product includes software developed by Paul Mackerras ++ * ". ++ * ++ * THE AUTHORS OF THIS SOFTWARE DISCLAIM ALL WARRANTIES WITH REGARD TO ++ * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY ++ * AND FITNESS, IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY ++ * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES ++ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN ++ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING ++ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ++ */ ++ ++#ifndef _PPP_DEFS_H_ ++#define _PPP_DEFS_H_ ++ ++/* ++ * The basic PPP frame. ++ */ ++#define PPP_HDRLEN 4 /* octets for standard ppp header */ ++#define PPP_FCSLEN 2 /* octets for FCS */ ++ ++/* ++ * Packet sizes ++ * ++ * Note - lcp shouldn't be allowed to negotiate stuff outside these ++ * limits. See lcp.h in the pppd directory. ++ * (XXX - these constants should simply be shared by lcp.c instead ++ * of living in lcp.h) ++ */ ++#define PPP_MTU 1500 /* Default MTU (size of Info field) */ ++#define PPP_MAXMTU 65535 - (PPP_HDRLEN + PPP_FCSLEN) ++#define PPP_MINMTU 64 ++#define PPP_MRU 1500 /* default MRU = max length of info field */ ++#define PPP_MAXMRU 65000 /* Largest MRU we allow */ ++#define PPP_MINMRU 128 ++ ++#define PPP_ADDRESS(p) (((u_char *)(p))[0]) ++#define PPP_CONTROL(p) (((u_char *)(p))[1]) ++#define PPP_PROTOCOL(p) ((((u_char *)(p))[2] << 8) + ((u_char *)(p))[3]) ++ ++/* ++ * Significant octet values. ++ */ ++#define PPP_ALLSTATIONS 0xff /* All-Stations broadcast address */ ++#define PPP_UI 0x03 /* Unnumbered Information */ ++#define PPP_FLAG 0x7e /* Flag Sequence */ ++#define PPP_ESCAPE 0x7d /* Asynchronous Control Escape */ ++#define PPP_TRANS 0x20 /* Asynchronous transparency modifier */ ++ ++/* ++ * Protocol field values. ++ */ ++#define PPP_IP 0x21 /* Internet Protocol */ ++#define PPP_AT 0x29 /* AppleTalk Protocol */ ++#define PPP_IPX 0x2b /* IPX protocol */ ++#define PPP_VJC_COMP 0x2d /* VJ compressed TCP */ ++#define PPP_VJC_UNCOMP 0x2f /* VJ uncompressed TCP */ ++#define PPP_IPV6 0x57 /* Internet Protocol Version 6 */ ++#define PPP_COMP 0xfd /* compressed packet */ ++#define PPP_IPCP 0x8021 /* IP Control Protocol */ ++#define PPP_ATCP 0x8029 /* AppleTalk Control Protocol */ ++#define PPP_IPXCP 0x802b /* IPX Control Protocol */ ++#define PPP_IPV6CP 0x8057 /* IPv6 Control Protocol */ ++#define PPP_CCP 0x80fd /* Compression Control Protocol */ ++#define PPP_ECP 0x8053 /* Encryption Control Protocol */ ++#define PPP_LCP 0xc021 /* Link Control Protocol */ ++#define PPP_PAP 0xc023 /* Password Authentication Protocol */ ++#define PPP_LQR 0xc025 /* Link Quality Report protocol */ ++#define PPP_CHAP 0xc223 /* Cryptographic Handshake Auth. Protocol */ ++#define PPP_CBCP 0xc029 /* Callback Control Protocol */ ++#define PPP_EAP 0xc227 /* Extensible Authentication Protocol */ ++ ++/* ++ * Values for FCS calculations. ++ */ ++#define PPP_INITFCS 0xffff /* Initial FCS value */ ++#define PPP_GOODFCS 0xf0b8 /* Good final FCS value */ ++#define PPP_FCS(fcs, c) (((fcs) >> 8) ^ fcstab[((fcs) ^ (c)) & 0xff]) ++ ++/* ++ * A 32-bit unsigned integral type. ++ */ ++ ++#if !defined(__BIT_TYPES_DEFINED__) && !defined(_BITYPES) \ ++ && !defined(__FreeBSD__) && (NS_TARGET < 40) ++#ifdef UINT32_T ++typedef UINT32_T u_int32_t; ++#else ++typedef unsigned int u_int32_t; ++typedef unsigned short u_int16_t; ++#endif ++#endif ++ ++/* ++ * Extended asyncmap - allows any character to be escaped. ++ */ ++typedef u_int32_t ext_accm[8]; ++ ++/* ++ * What to do with network protocol (NP) packets. ++ */ ++enum NPmode { ++ NPMODE_PASS, /* pass the packet through */ ++ NPMODE_DROP, /* silently drop the packet */ ++ NPMODE_ERROR, /* return an error */ ++ NPMODE_QUEUE /* save it up for later. */ ++}; ++ ++/* ++ * Statistics. ++ */ ++struct pppstat { ++ unsigned int ppp_ibytes; /* bytes received */ ++ unsigned int ppp_ipackets; /* packets received */ ++ unsigned int ppp_ierrors; /* receive errors */ ++ unsigned int ppp_obytes; /* bytes sent */ ++ unsigned int ppp_opackets; /* packets sent */ ++ unsigned int ppp_oerrors; /* transmit errors */ ++}; ++ ++struct vjstat { ++ unsigned int vjs_packets; /* outbound packets */ ++ unsigned int vjs_compressed; /* outbound compressed packets */ ++ unsigned int vjs_searches; /* searches for connection state */ ++ unsigned int vjs_misses; /* times couldn't find conn. state */ ++ unsigned int vjs_uncompressedin; /* inbound uncompressed packets */ ++ unsigned int vjs_compressedin; /* inbound compressed packets */ ++ unsigned int vjs_errorin; /* inbound unknown type packets */ ++ unsigned int vjs_tossed; /* inbound packets tossed because of error */ ++}; ++ ++struct ppp_stats { ++ struct pppstat p; /* basic PPP statistics */ ++ struct vjstat vj; /* VJ header compression statistics */ ++}; ++ ++struct compstat { ++ unsigned int unc_bytes; /* total uncompressed bytes */ ++ unsigned int unc_packets; /* total uncompressed packets */ ++ unsigned int comp_bytes; /* compressed bytes */ ++ unsigned int comp_packets; /* compressed packets */ ++ unsigned int inc_bytes; /* incompressible bytes */ ++ unsigned int inc_packets; /* incompressible packets */ ++ unsigned int ratio; /* recent compression ratio << 8 */ ++}; ++ ++struct ppp_comp_stats { ++ struct compstat c; /* packet compression statistics */ ++ struct compstat d; /* packet decompression statistics */ ++}; ++ ++/* ++ * The following structure records the time in seconds since ++ * the last NP packet was sent or received. ++ */ ++struct ppp_idle { ++ time_t xmit_idle; /* time since last NP packet sent */ ++ time_t recv_idle; /* time since last NP packet received */ ++}; ++ ++#ifndef __P ++#ifdef __STDC__ ++#define __P(x) x ++#else ++#define __P(x) () ++#endif ++#endif ++ ++#endif /* _PPP_DEFS_H_ */ +diff --git a/usl/usl.h b/usl/usl.h +index cdc16db..88d2714 100644 +--- a/usl/usl.h ++++ b/usl/usl.h +@@ -38,6 +38,10 @@ + #include "usl_fsm.h" + #include "usl_list.h" + ++#ifndef WAIT_ANY ++#define WAIT_ANY (-1) ++#endif ++ + #define USL_VERSION "0.6" + + #ifdef DEBUG +-- +2.13.3 + diff --git a/meta-networking/recipes-daemons/ippool/ippool_1.3.bb b/meta-networking/recipes-daemons/ippool/ippool_1.3.bb index 969f434..05921d5 100644 --- a/meta-networking/recipes-daemons/ippool/ippool_1.3.bb +++ b/meta-networking/recipes-daemons/ippool/ippool_1.3.bb @@ -11,16 +11,21 @@ HOMEPAGE = "http://www.openl2tp.org/" SECTION = "console/network" LICENSE = "GPLv2+" -SRC_URI = "\ - https://sourceforge.net/projects/openl2tp/files/${BPN}/${PV}/${BPN}-${PV}.tar.gz \ - file://ippool_usl_timer.patch \ - file://ippool_parallel_make_and_pic.patch \ - file://ippool_init.d.patch \ - file://always_syslog.patch \ - file://makefile-add-ldflags.patch \ - file://runtest.sh \ - file://ippool.service \ - " +SRC_URI = "https://sourceforge.net/projects/openl2tp/files/${BPN}/${PV}/${BPN}-${PV}.tar.gz \ + file://runtest.sh \ + file://ippool.service \ + file://ippool_usl_timer.patch \ + file://ippool_parallel_make_and_pic.patch \ + file://ippool_init.d.patch \ + file://always_syslog.patch \ + file://makefile-add-ldflags.patch \ + file://0001-usl_timer-Check-for-return-value-of-write-API.patch \ + file://0001-Respect-flags-from-env.patch \ +" +SRC_URI_append_libc-musl = "\ + file://0002-link-with-libtirpc.patch \ + file://0003-musl-fixes.patch \ + " LIC_FILES_CHKSUM = "file://LICENSE;md5=4c59283b82fc2b166455e0fc23c71c6f" SRC_URI[md5sum] = "e2401e65db26a3764585b97212888fae" @@ -29,6 +34,7 @@ SRC_URI[sha256sum] = "d3eab7d6cad5da8ccc9d1e31d5303e27a39622c07bdb8fa3618eea3144 inherit systemd DEPENDS = "readline ppp ncurses gzip-native" +DEPENDS_append_libc-musl = " libtirpc" RDEPENDS_${PN} = "rpcbind" EXTRA_OEMAKE = "CC='${CC}' AS='${AS}' LD='${LD}' AR='${AR}' NM='${NM}' STRIP='${STRIP}'" @@ -36,6 +42,8 @@ EXTRA_OEMAKE += "PPPD_VERSION=${PPPD_VERSION} SYS_LIBDIR=${libdir}" # enable self tests EXTRA_OEMAKE += "IPPOOL_TEST=y" +CPPFLAGS += "${SELECTED_OPTIMIZATION}" +CPPFLAGS_append_libc-musl = " -I${STAGING_INCDIR}/tirpc" SYSTEMD_SERVICE_${PN} = "ippool.service" SYSTEMD_AUTO_ENABLE = "disable" @@ -48,9 +56,6 @@ do_compile_prepend() { sed -i -e "s:-I/usr/include/pppd:-I=/usr/include/pppd:" ${S}/pppd/Makefile - # ignore the OPT_CFLAGS?= in Makefile, - # it should be in CFLAGS from env - export OPT_CFLAGS= } -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sun Jul 23 07:02:41 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sun, 23 Jul 2017 07:02:41 +0000 Subject: [oe-commits] [openembedded-core] 01/31: libffi: Support musl-x32 build In-Reply-To: <150079336062.14193.5720692037730834667@git.openembedded.org> References: <150079336062.14193.5720692037730834667@git.openembedded.org> Message-ID: <20170723070240.C16BC23282E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 77cc53f9f5bf5fcb60fcc413aadf4bbf7a655834 Author: sweeaun AuthorDate: Wed Jul 19 13:29:42 2017 -0700 libffi: Support musl-x32 build Added target musl-x32 in configure.ac to support musl-x32 build in libffi. Signed-off-by: sweeaun Signed-off-by: Ross Burton --- .../0001-libffi-Support-musl-x32-build.patch | 30 ++++++++++++++++++++++ meta/recipes-support/libffi/libffi_3.2.1.bb | 1 + 2 files changed, 31 insertions(+) diff --git a/meta/recipes-support/libffi/libffi/0001-libffi-Support-musl-x32-build.patch b/meta/recipes-support/libffi/libffi/0001-libffi-Support-musl-x32-build.patch new file mode 100644 index 0000000..6b167c8 --- /dev/null +++ b/meta/recipes-support/libffi/libffi/0001-libffi-Support-musl-x32-build.patch @@ -0,0 +1,30 @@ +From 69c3906c85c791716bf650aa36d9361d22acf3fb Mon Sep 17 00:00:00 2001 +From: sweeaun +Date: Thu, 6 Jul 2017 16:32:46 -0700 +Subject: [PATCH] libffi: Support musl x32 build + +Support libffi build with target musl-x32. + +Upstream-Status: Pending + +Signed-off-by: sweeaun +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index a7bf5ee..8ebe99c 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -177,7 +177,7 @@ case "$host" in + TARGETDIR=x86 + if test $ac_cv_sizeof_size_t = 4; then + case "$host" in +- *-gnux32) ++ *-gnux32 | *-muslx32) + TARGET=X86_64 + ;; + *) +-- +2.7.4 + diff --git a/meta/recipes-support/libffi/libffi_3.2.1.bb b/meta/recipes-support/libffi/libffi_3.2.1.bb index 43eee8e..2a3f4b7 100644 --- a/meta/recipes-support/libffi/libffi_3.2.1.bb +++ b/meta/recipes-support/libffi/libffi_3.2.1.bb @@ -13,6 +13,7 @@ SRC_URI = "ftp://sourceware.org/pub/libffi/${BP}.tar.gz \ file://not-win32.patch \ file://0001-mips-Use-compiler-internal-define-for-linux.patch \ file://0001-mips-fix-MIPS-softfloat-build-issue.patch \ + file://0001-libffi-Support-musl-x32-build.patch \ " SRC_URI[md5sum] = "83b89587607e3eb65c70d361f13bab43" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sun Jul 23 07:02:42 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sun, 23 Jul 2017 07:02:42 +0000 Subject: [oe-commits] [openembedded-core] 02/31: glibc: fix upstream-status tag in a patch In-Reply-To: <150079336062.14193.5720692037730834667@git.openembedded.org> References: <150079336062.14193.5720692037730834667@git.openembedded.org> Message-ID: <20170723070240.CF37D23282F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 9ccc46690f2428814468b4ac30acd9e6ecd57eae Author: Ross Burton AuthorDate: Thu Jul 20 13:36:40 2017 +0100 glibc: fix upstream-status tag in a patch Signed-off-by: Ross Burton --- .../glibc/glibc/0025-locale-fix-hard-coded-reference-to-gcc-E.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-core/glibc/glibc/0025-locale-fix-hard-coded-reference-to-gcc-E.patch b/meta/recipes-core/glibc/glibc/0025-locale-fix-hard-coded-reference-to-gcc-E.patch index f653077..09ad04a 100644 --- a/meta/recipes-core/glibc/glibc/0025-locale-fix-hard-coded-reference-to-gcc-E.patch +++ b/meta/recipes-core/glibc/glibc/0025-locale-fix-hard-coded-reference-to-gcc-E.patch @@ -17,7 +17,7 @@ environment. This patch replaces the hard-coded reference to the gcc binary with the proper environment variable, thus allowing a user to override it. -Upstream-Status : Submitted [https://sourceware.org/ml/libc-alpha/2016-08/msg00746.html] +Upstream-Status: Submitted [https://sourceware.org/ml/libc-alpha/2016-08/msg00746.html] --- locale/gen-translit.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sun Jul 23 07:02:40 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sun, 23 Jul 2017 07:02:40 +0000 Subject: [oe-commits] [openembedded-core] branch master-next updated (5fcc686 -> c1a4ce3) Message-ID: <150079336062.14193.5720692037730834667@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master-next in repository openembedded-core. discard 5fcc686 linux-yocto: only suggest default kernel type discard 595572d cve-check.bbclass: use "+git" as separator in PV instead of "git+" discard 609fe4d gstreamer1.0-python: add new recipe discard c629377 ffmpeg: fix pkg-config utilization discard 4d253d3 ovmf-shell-image.bb: simplify dependencies discard d51c832 ffmpeg: add PACKAGECONFIG for sdl2 discard 9757dcd kernel.bbclass: set CVE_PRODUCT to linux_kernel if not set by recipe discard 8fedd85 cve-check.bbclass: use weak assignment for default CVE_PRODUCT discard 50a7c64 wpa-supplicant_2.6.bb: set CVE_PRODUCT to wpa_supplicant discard 2f7b091 sqlite3.inc: set CVE_PRODUCT to sqlite discard 9b1efbc quota_4.03.bb: set CVE_PRODUCT to linux_diskquota discard d757dca lttng-ust_2.9.1.bb: set CVE_PRODUCT to ust discard 86b5e25 python.inc: set CVE_PRODUCT to python discard 9afb6e3 nspr_4.14.bb: set CVE_PRODUCT to netscape_portable_runtime discard a31a3b9 libsndfile1_1.0.28.bb: set CVE_PRODUCT to libsndfile discard 2aa5c80 libsamplerate0_0.1.9.bb: set CVE_PRODUCT to libsamplerate discard acec852 libpcre2_10.23.bb: set CVE_PRODUCT to pcre2 discard 8ce07da libpcre_8.40.bb: set CVE_PRODUCT to prce discard c83f35c icu.inc: set CVE_PRODUCT to international_components_for_unicode discard f211589 glibc-common.inc: set CVE_PRODUCT to glibc discard 76be507 glib.inc: set CVE_PRODUCT to glib discard 701f8aa gcc-common.inc: set CVE_PRODUCT to gcc discard 005c0a4 flac_1.3.1.bb: set CVE_PRODUCT to libflac discard f024b0a eglinfo.inc: set CVE_PRODUCT to eglinfo discard e7c6b1e bluez5.inc: set CVE_PRODUCT to bluez discard 6432dd5 acpid.inc: set CVE_PRODUCT to acpid2 discard c04c21e glibc-package.inc: add support for armeb of multilib discard be42133 rpm/dnf: fix Upstream-Status to reflect upstream submission status discard 94e73c6 dhcp: add dhclient.service discard 280fdaa glibc: fix upstream-status tag in a patch discard c831c4a libffi: Support musl-x32 build discard 0e283e4 openssl: Support musl-x32 build new 77cc53f libffi: Support musl-x32 build new 9ccc466 glibc: fix upstream-status tag in a patch new 1e24d4d dhcp: add dhclient.service new 0f479fb rpm/dnf: fix Upstream-Status to reflect upstream submission status new 158d5f2 glibc-package.inc: add support for armeb of multilib new 029fa35 acpid.inc: set CVE_PRODUCT to acpid2 new e986f6c bluez5.inc: set CVE_PRODUCT to bluez new 4146907 eglinfo.inc: set CVE_PRODUCT to eglinfo new 490eea6 flac_1.3.1.bb: set CVE_PRODUCT to libflac new 82af87e gcc-common.inc: set CVE_PRODUCT to gcc new 9bacb0b glib.inc: set CVE_PRODUCT to glib new 443dcc1 glibc-common.inc: set CVE_PRODUCT to glibc new 85d6295 icu.inc: set CVE_PRODUCT to international_components_for_unicode new d4ada8b libpcre_8.40.bb: set CVE_PRODUCT to prce new f7e1371 libpcre2_10.23.bb: set CVE_PRODUCT to pcre2 new 0fa49a0 libsamplerate0_0.1.9.bb: set CVE_PRODUCT to libsamplerate new a1c3430 libsndfile1_1.0.28.bb: set CVE_PRODUCT to libsndfile new d317def nspr_4.14.bb: set CVE_PRODUCT to netscape_portable_runtime new 5e22bc4 python.inc: set CVE_PRODUCT to python new a20c139 lttng-ust_2.9.1.bb: set CVE_PRODUCT to ust new 347f71a quota_4.03.bb: set CVE_PRODUCT to linux_diskquota new 8a0b681 sqlite3.inc: set CVE_PRODUCT to sqlite new d85eef9 wpa-supplicant_2.6.bb: set CVE_PRODUCT to wpa_supplicant new b2bc6e9 cve-check.bbclass: use weak assignment for default CVE_PRODUCT new f2e1c3b kernel.bbclass: set CVE_PRODUCT to linux_kernel if not set by recipe new 2e65a64 ffmpeg: add PACKAGECONFIG for sdl2 new 8b234ce ovmf-shell-image.bb: simplify dependencies new c4656c6 ffmpeg: fix pkg-config utilization new 5ff9c2f gstreamer1.0-python: add new recipe new c30adc6 cve-check.bbclass: use "+git" as separator in PV instead of "git+" new c1a4ce3 linux-yocto: only suggest default kernel type This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (5fcc686) \ N -- N -- N refs/heads/master-next (c1a4ce3) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 31 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: meta/recipes-connectivity/openssl/openssl.inc | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sun Jul 23 07:02:43 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sun, 23 Jul 2017 07:02:43 +0000 Subject: [oe-commits] [openembedded-core] 03/31: dhcp: add dhclient.service In-Reply-To: <150079336062.14193.5720692037730834667@git.openembedded.org> References: <150079336062.14193.5720692037730834667@git.openembedded.org> Message-ID: <20170723070240.D9C5F232830@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 1e24d4d19e66d3562e587f3d890dee12ebc07947 Author: Chen Qi AuthorDate: Thu Jul 20 15:33:58 2017 +0800 dhcp: add dhclient.service Add dhclient.service. This service file mainly comes from meta-systemd, with modifications to take nfs boot into consideration. While using eth0 as the nfsboot interface, we'd like dhclient service to skip it like what ifup and connman do in sysvinit. Signed-off-by: Chen Qi Signed-off-by: Ross Burton --- meta/recipes-connectivity/dhcp/dhcp.inc | 21 ++++++++++-- .../dhcp/files/dhclient-systemd-wrapper | 39 ++++++++++++++++++++++ .../dhcp/files/dhclient.service | 13 ++++++++ 3 files changed, 70 insertions(+), 3 deletions(-) diff --git a/meta/recipes-connectivity/dhcp/dhcp.inc b/meta/recipes-connectivity/dhcp/dhcp.inc index 292f192..db4a963 100644 --- a/meta/recipes-connectivity/dhcp/dhcp.inc +++ b/meta/recipes-connectivity/dhcp/dhcp.inc @@ -17,6 +17,8 @@ SRC_URI = "http://ftp.isc.org/isc/dhcp/${PV}/dhcp-${PV}.tar.gz \ file://init-relay file://default-relay \ file://init-server file://default-server \ file://dhclient.conf file://dhcpd.conf \ + file://dhclient-systemd-wrapper \ + file://dhclient.service \ file://dhcpd.service file://dhcrelay.service \ file://dhcpd6.service \ file://search-for-libxml2.patch " @@ -29,13 +31,16 @@ inherit autotools systemd useradd update-rc.d USERADD_PACKAGES = "${PN}-server" USERADD_PARAM_${PN}-server = "--system --no-create-home --home-dir /var/run/${PN} --shell /bin/false --user-group ${PN}" -SYSTEMD_PACKAGES = "${PN}-server ${PN}-relay" +SYSTEMD_PACKAGES = "${PN}-server ${PN}-relay ${PN}-client" SYSTEMD_SERVICE_${PN}-server = "dhcpd.service dhcpd6.service" SYSTEMD_AUTO_ENABLE_${PN}-server = "disable" SYSTEMD_SERVICE_${PN}-relay = "dhcrelay.service" SYSTEMD_AUTO_ENABLE_${PN}-relay = "disable" +SYSTEMD_SERVICE_${PN}-client = "dhclient.service" +SYSTEMD_AUTO_ENABLE_${PN}-client = "disable" + INITSCRIPT_PACKAGES = "dhcp-server" INITSCRIPT_NAME_dhcp-server = "dhcp-server" INITSCRIPT_PARAMS_dhcp-server = "defaults" @@ -79,7 +84,13 @@ do_install_append () { sed -i -e 's, at SYSCONFDIR@,${sysconfdir},g' ${D}${systemd_unitdir}/system/dhcpd*.service sed -i -e 's, at base_bindir@,${base_bindir},g' ${D}${systemd_unitdir}/system/dhcpd*.service sed -i -e 's, at localstatedir@,${localstatedir},g' ${D}${systemd_unitdir}/system/dhcpd*.service - sed -i -e 's, at SYSCONFDIR@,${sysconfdir},g' ${D}${systemd_unitdir}/system/dhcrelay.service + sed -i -e 's, at SYSCONFDIR@,${sysconfdir},g' ${D}${systemd_unitdir}/system/dhcrelay.service + + install -d ${D}${base_sbindir} + install -m 0755 ${WORKDIR}/dhclient-systemd-wrapper ${D}${base_sbindir}/dhclient-systemd-wrapper + install -m 0644 ${WORKDIR}/dhclient.service ${D}${systemd_unitdir}/system + sed -i -e 's, at SYSCONFDIR@,${sysconfdir},g' ${D}${systemd_unitdir}/system/dhclient.service + sed -i -e 's, at BASE_SBINDIR@,${base_sbindir},g' ${D}${systemd_unitdir}/system/dhclient.service } PACKAGES += "dhcp-libs dhcp-server dhcp-server-config dhcp-client dhcp-relay dhcp-omshell" @@ -97,7 +108,11 @@ FILES_${PN}-server-config = "${sysconfdir}/default/dhcp-server ${sysconfdir}/dhc FILES_${PN}-relay = "${sbindir}/dhcrelay ${sysconfdir}/init.d/dhcp-relay ${sysconfdir}/default/dhcp-relay" -FILES_${PN}-client = "${base_sbindir}/dhclient ${base_sbindir}/dhclient-script ${sysconfdir}/dhcp/dhclient.conf" +FILES_${PN}-client = "${base_sbindir}/dhclient \ + ${base_sbindir}/dhclient-script \ + ${sysconfdir}/dhcp/dhclient.conf \ + ${base_sbindir}/dhclient-systemd-wrapper \ + " FILES_${PN}-omshell = "${bindir}/omshell" diff --git a/meta/recipes-connectivity/dhcp/files/dhclient-systemd-wrapper b/meta/recipes-connectivity/dhcp/files/dhclient-systemd-wrapper new file mode 100644 index 0000000..7d0e224 --- /dev/null +++ b/meta/recipes-connectivity/dhcp/files/dhclient-systemd-wrapper @@ -0,0 +1,39 @@ +#!/bin/sh + +# In case the interface is used for nfs, skip it. +nfsroot=0 +interfaces="" +exec 9<&0 < /proc/mounts +while read dev mtpt fstype rest; do + if test $mtpt = "/" ; then + case $fstype in + nfs | nfs4) + nfsroot=1 + nfs_addr=`echo $rest | sed -e 's/^.*addr=\([0-9.]*\).*$/\1/'` + break + ;; + *) + ;; + esac + fi +done +exec 0<&9 9<&- + +if [ $nfsroot -eq 0 ]; then + interfaces="$INTERFACES" +else + if [ -x /bin/ip -o -x /sbin/ip ] ; then + nfs_iface=`ip route get $nfs_addr | grep dev | sed -e 's/^.*dev \([-a-z0-9.]*\).*$/\1/'` + fi + for i in $INTERFACES; do + if test "x$i" = "x$nfs_iface"; then + echo "dhclient skipping nfsroot interface $i" + else + interfaces="$interfaces $i" + fi + done +fi + +if test "x$interfaces" != "x"; then + /sbin/dhclient -d -cf /etc/dhcp/dhclient.conf -q -lf /var/lib/dhcp/dhclient.leases $interfaces +fi diff --git a/meta/recipes-connectivity/dhcp/files/dhclient.service b/meta/recipes-connectivity/dhcp/files/dhclient.service new file mode 100644 index 0000000..9ddb4d1 --- /dev/null +++ b/meta/recipes-connectivity/dhcp/files/dhclient.service @@ -0,0 +1,13 @@ +[Unit] +Description=Dynamic Host Configuration Protocol (DHCP) +Wants=network.target +Before=network.target +After=systemd-udevd.service + +[Service] +EnvironmentFile=- at SYSCONFDIR@/default/dhcp-client +ExecStart=@BASE_SBINDIR@/dhclient-systemd-wrapper +RemainAfterExit=yes + +[Install] +WantedBy=multi-user.target -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sun Jul 23 07:02:44 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sun, 23 Jul 2017 07:02:44 +0000 Subject: [oe-commits] [openembedded-core] 04/31: rpm/dnf: fix Upstream-Status to reflect upstream submission status In-Reply-To: <150079336062.14193.5720692037730834667@git.openembedded.org> References: <150079336062.14193.5720692037730834667@git.openembedded.org> Message-ID: <20170723070240.E60AC232831@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 0f479fb23e3fc9725a125cd794a50d20903a0ce6 Author: Alexander Kanavin AuthorDate: Thu Jul 20 15:27:08 2017 +0300 rpm/dnf: fix Upstream-Status to reflect upstream submission status Signed-off-by: Alexander Kanavin Signed-off-by: Ross Burton --- .../createrepo-c/0001-Correctly-install-the-shared-library.patch | 2 +- .../dnf/0001-Move-releasever-check-after-the-etc-dnf-vars-substit.patch | 2 +- .../libcomps/0002-Set-library-installation-path-correctly.patch | 2 +- .../0001-FindGtkDoc.cmake-drop-the-requirement-for-GTKDOC_SCA.patch | 2 +- .../0001-Get-parameters-for-both-libsolv-and-libsolvext-libdn.patch | 2 +- .../libdnf/0002-Prefix-sysroot-path-to-introspection-tools-path.patch | 2 +- .../libdnf/0003-Set-the-library-installation-directory-correctly.patch | 2 +- .../0004-Set-libsolv-variables-with-pkg-config-cmake-s-own-mo.patch | 2 +- .../librepo/0001-Correctly-set-the-library-installation-directory.patch | 2 +- .../0003-tests-fix-a-race-when-deleting-temporary-directories.patch | 2 +- .../0004-Set-gpgme-variables-with-pkg-config-not-with-cmake-m.patch | 2 +- .../0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch | 2 +- .../recipes-devtools/rpm/files/0001-Fix-build-with-musl-C-library.patch | 2 +- 13 files changed, 13 insertions(+), 13 deletions(-) diff --git a/meta/recipes-devtools/createrepo-c/createrepo-c/0001-Correctly-install-the-shared-library.patch b/meta/recipes-devtools/createrepo-c/createrepo-c/0001-Correctly-install-the-shared-library.patch index 0127124..cd72084 100644 --- a/meta/recipes-devtools/createrepo-c/createrepo-c/0001-Correctly-install-the-shared-library.patch +++ b/meta/recipes-devtools/createrepo-c/createrepo-c/0001-Correctly-install-the-shared-library.patch @@ -3,7 +3,7 @@ From: Alexander Kanavin Date: Mon, 2 Jan 2017 17:23:59 +0200 Subject: [PATCH] Correctly install the shared library -Upstream-Status: Pending +Upstream-Status: Submitted [https://github.com/rpm-software-management/createrepo_c/pull/78] Signed-off-by: Alexander Kanavin --- src/CMakeLists.txt | 3 ++- diff --git a/meta/recipes-devtools/dnf/dnf/0001-Move-releasever-check-after-the-etc-dnf-vars-substit.patch b/meta/recipes-devtools/dnf/dnf/0001-Move-releasever-check-after-the-etc-dnf-vars-substit.patch index 0226d4f..daf058b 100644 --- a/meta/recipes-devtools/dnf/dnf/0001-Move-releasever-check-after-the-etc-dnf-vars-substit.patch +++ b/meta/recipes-devtools/dnf/dnf/0001-Move-releasever-check-after-the-etc-dnf-vars-substit.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Move releasever check after the etc/dnf/vars substitutions. The substitutions may actually set the releasever correctly, and so the check is premature. -Upstream-Status: Pending +Upstream-Status: Submitted [https://github.com/rpm-software-management/dnf/pull/868] Signed-off-by: Alexander Kanavin --- dnf/cli/cli.py | 6 +++--- diff --git a/meta/recipes-devtools/libcomps/libcomps/0002-Set-library-installation-path-correctly.patch b/meta/recipes-devtools/libcomps/libcomps/0002-Set-library-installation-path-correctly.patch index ec1fdc4..dc3d976 100644 --- a/meta/recipes-devtools/libcomps/libcomps/0002-Set-library-installation-path-correctly.patch +++ b/meta/recipes-devtools/libcomps/libcomps/0002-Set-library-installation-path-correctly.patch @@ -3,7 +3,7 @@ From: Alexander Kanavin Date: Fri, 30 Dec 2016 18:26:00 +0200 Subject: [PATCH 2/2] Set library installation path correctly -Upstream-Status: Pending +Upstream-Status: Submitted [https://github.com/rpm-software-management/libcomps/pull/32] Signed-off-by: Alexander Kanavin --- libcomps/src/CMakeLists.txt | 2 +- diff --git a/meta/recipes-devtools/libdnf/libdnf/0001-FindGtkDoc.cmake-drop-the-requirement-for-GTKDOC_SCA.patch b/meta/recipes-devtools/libdnf/libdnf/0001-FindGtkDoc.cmake-drop-the-requirement-for-GTKDOC_SCA.patch index 73acda6..791a32e 100644 --- a/meta/recipes-devtools/libdnf/libdnf/0001-FindGtkDoc.cmake-drop-the-requirement-for-GTKDOC_SCA.patch +++ b/meta/recipes-devtools/libdnf/libdnf/0001-FindGtkDoc.cmake-drop-the-requirement-for-GTKDOC_SCA.patch @@ -7,7 +7,7 @@ Subject: [PATCH 1/4] FindGtkDoc.cmake: drop the requirement for For some reason cmake is not able to find it when building in openembedded, and it's bundled with the source code anyway. -Upstream-Status: Pending +Upstream-Status: Submitted [https://github.com/rpm-software-management/libdnf/pull/312] Signed-off-by: Alexander Kanavin --- cmake/modules/FindGtkDoc.cmake | 2 +- diff --git a/meta/recipes-devtools/libdnf/libdnf/0001-Get-parameters-for-both-libsolv-and-libsolvext-libdn.patch b/meta/recipes-devtools/libdnf/libdnf/0001-Get-parameters-for-both-libsolv-and-libsolvext-libdn.patch index 77b20c2..280edb7 100644 --- a/meta/recipes-devtools/libdnf/libdnf/0001-Get-parameters-for-both-libsolv-and-libsolvext-libdn.patch +++ b/meta/recipes-devtools/libdnf/libdnf/0001-Get-parameters-for-both-libsolv-and-libsolvext-libdn.patch @@ -4,7 +4,7 @@ Date: Tue, 7 Feb 2017 12:16:03 +0200 Subject: [PATCH 5/5] Get parameters for both libsolv and libsolvext (libdnf is using both) -Upstream-Status: Pending [depends on whether https://github.com/openSUSE/libsolv/pull/177 is accepted] +Upstream-Status: Submitted [https://github.com/rpm-software-management/libdnf/pull/312] Signed-off-by: Alexander Kanavin --- diff --git a/meta/recipes-devtools/libdnf/libdnf/0002-Prefix-sysroot-path-to-introspection-tools-path.patch b/meta/recipes-devtools/libdnf/libdnf/0002-Prefix-sysroot-path-to-introspection-tools-path.patch index 3d772a5..7eecc3d 100644 --- a/meta/recipes-devtools/libdnf/libdnf/0002-Prefix-sysroot-path-to-introspection-tools-path.patch +++ b/meta/recipes-devtools/libdnf/libdnf/0002-Prefix-sysroot-path-to-introspection-tools-path.patch @@ -3,7 +3,7 @@ From: Alexander Kanavin Date: Fri, 30 Dec 2016 18:17:19 +0200 Subject: [PATCH 2/4] Prefix sysroot path to introspection tools path. -Upstream-Status: Pending +Upstream-Status: Submitted [https://github.com/rpm-software-management/libdnf/pull/312] Signed-off-by: Alexander Kanavin --- libdnf/CMakeLists.txt | 4 ++-- diff --git a/meta/recipes-devtools/libdnf/libdnf/0003-Set-the-library-installation-directory-correctly.patch b/meta/recipes-devtools/libdnf/libdnf/0003-Set-the-library-installation-directory-correctly.patch index d7e59d8..8126409 100644 --- a/meta/recipes-devtools/libdnf/libdnf/0003-Set-the-library-installation-directory-correctly.patch +++ b/meta/recipes-devtools/libdnf/libdnf/0003-Set-the-library-installation-directory-correctly.patch @@ -3,7 +3,7 @@ From: Alexander Kanavin Date: Fri, 30 Dec 2016 18:20:01 +0200 Subject: [PATCH 3/4] Set the library installation directory correctly. -Upstream-Status: Pending +Upstream-Status: Submitted [https://github.com/rpm-software-management/libdnf/pull/312] Signed-off-by: Alexander Kanavin --- CMakeLists.txt | 4 +++- diff --git a/meta/recipes-devtools/libdnf/libdnf/0004-Set-libsolv-variables-with-pkg-config-cmake-s-own-mo.patch b/meta/recipes-devtools/libdnf/libdnf/0004-Set-libsolv-variables-with-pkg-config-cmake-s-own-mo.patch index fc3b048..1ea9310 100644 --- a/meta/recipes-devtools/libdnf/libdnf/0004-Set-libsolv-variables-with-pkg-config-cmake-s-own-mo.patch +++ b/meta/recipes-devtools/libdnf/libdnf/0004-Set-libsolv-variables-with-pkg-config-cmake-s-own-mo.patch @@ -4,7 +4,7 @@ Date: Fri, 30 Dec 2016 18:24:50 +0200 Subject: [PATCH 4/5] Set libsolv variables with pkg-config (cmake's own module doesn't work properly). -Upstream-Status: Pending +Upstream-Status: Submitted [https://github.com/rpm-software-management/libdnf/pull/312] Signed-off-by: Alexander Kanavin --- diff --git a/meta/recipes-devtools/librepo/librepo/0001-Correctly-set-the-library-installation-directory.patch b/meta/recipes-devtools/librepo/librepo/0001-Correctly-set-the-library-installation-directory.patch index 01fea40..08a58f1 100644 --- a/meta/recipes-devtools/librepo/librepo/0001-Correctly-set-the-library-installation-directory.patch +++ b/meta/recipes-devtools/librepo/librepo/0001-Correctly-set-the-library-installation-directory.patch @@ -3,7 +3,7 @@ From: Alexander Kanavin Date: Fri, 30 Dec 2016 18:04:35 +0200 Subject: [PATCH 1/4] Correctly set the library installation directory -Upstream-Status: Pending +Upstream-Status: Submitted [https://github.com/rpm-software-management/librepo/pull/110] Signed-off-by: Alexander Kanavin --- librepo/CMakeLists.txt | 3 ++- diff --git a/meta/recipes-devtools/librepo/librepo/0003-tests-fix-a-race-when-deleting-temporary-directories.patch b/meta/recipes-devtools/librepo/librepo/0003-tests-fix-a-race-when-deleting-temporary-directories.patch index 0d2fae4..89ca60e 100644 --- a/meta/recipes-devtools/librepo/librepo/0003-tests-fix-a-race-when-deleting-temporary-directories.patch +++ b/meta/recipes-devtools/librepo/librepo/0003-tests-fix-a-race-when-deleting-temporary-directories.patch @@ -3,7 +3,7 @@ From: Alexander Kanavin Date: Fri, 30 Dec 2016 18:06:24 +0200 Subject: [PATCH 3/4] tests: fix a race when deleting temporary directories -Upstream-Status: Pending +Upstream-Status: Submitted [https://github.com/rpm-software-management/librepo/pull/110] Signed-off-by: Alexander Kanavin --- tests/python/tests/test_yum_repo_downloading.py | 2 +- diff --git a/meta/recipes-devtools/librepo/librepo/0004-Set-gpgme-variables-with-pkg-config-not-with-cmake-m.patch b/meta/recipes-devtools/librepo/librepo/0004-Set-gpgme-variables-with-pkg-config-not-with-cmake-m.patch index 6665b31..f7d7ab3 100644 --- a/meta/recipes-devtools/librepo/librepo/0004-Set-gpgme-variables-with-pkg-config-not-with-cmake-m.patch +++ b/meta/recipes-devtools/librepo/librepo/0004-Set-gpgme-variables-with-pkg-config-not-with-cmake-m.patch @@ -4,7 +4,7 @@ Date: Fri, 30 Dec 2016 18:23:27 +0200 Subject: [PATCH 4/4] Set gpgme variables with pkg-config, not with cmake module (which doesn't work properly) -Upstream-Status: Pending +Upstream-Status: Inappropriate [gpgme upstream does not have pkg-config support and is not interested in it] Signed-off-by: Alexander Kanavin --- CMakeLists.txt | 3 ++- diff --git a/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch b/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch index d99ddeb..1f61aca 100644 --- a/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch +++ b/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch @@ -4,7 +4,7 @@ Date: Mon, 27 Feb 2017 09:43:30 +0200 Subject: [PATCH] Do not hardcode "lib/rpm" as the installation path for default configuration and macros. -Upstream-Status: Inappropriate [oe-core specific] +Upstream-Status: Submitted [https://github.com/rpm-software-management/rpm/pull/263] Signed-off-by: Alexander Kanavin --- diff --git a/meta/recipes-devtools/rpm/files/0001-Fix-build-with-musl-C-library.patch b/meta/recipes-devtools/rpm/files/0001-Fix-build-with-musl-C-library.patch index 95c7013..edf9ec0 100644 --- a/meta/recipes-devtools/rpm/files/0001-Fix-build-with-musl-C-library.patch +++ b/meta/recipes-devtools/rpm/files/0001-Fix-build-with-musl-C-library.patch @@ -3,7 +3,7 @@ From: Alexander Kanavin Date: Mon, 27 Feb 2017 14:43:21 +0200 Subject: [PATCH] Fix build with musl C library. -Upstream-Status: Pending +Upstream-Status: Inappropriate [problem already solved in master branch] Signed-off-by: Alexander Kanavin -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sun Jul 23 07:02:45 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sun, 23 Jul 2017 07:02:45 +0000 Subject: [oe-commits] [openembedded-core] 05/31: glibc-package.inc: add support for armeb of multilib In-Reply-To: <150079336062.14193.5720692037730834667@git.openembedded.org> References: <150079336062.14193.5720692037730834667@git.openembedded.org> Message-ID: <20170723070240.EDA09232832@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 158d5f28fa183ef3e7f10a173341e23b0ef027c6 Author: zhengrq AuthorDate: Thu Jul 20 23:03:47 2017 +0800 glibc-package.inc: add support for armeb of multilib Add support for armeb of multilib. Signed-off-by: zhengrq Signed-off-by: Ross Burton --- meta/recipes-core/glibc/glibc-package.inc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/meta/recipes-core/glibc/glibc-package.inc b/meta/recipes-core/glibc/glibc-package.inc index 0281251..a291148 100644 --- a/meta/recipes-core/glibc/glibc-package.inc +++ b/meta/recipes-core/glibc/glibc-package.inc @@ -131,6 +131,10 @@ do_install_append_arm () { do_install_armmultilib } +do_install_append_armeb () { + do_install_armmultilib +} + do_install_armmultilib () { oe_multilib_header bits/endian.h bits/fcntl.h bits/fenv.h bits/fp-fast.h bits/hwcap.h bits/ipc.h bits/link.h bits/wordsize.h -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sun Jul 23 07:02:46 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sun, 23 Jul 2017 07:02:46 +0000 Subject: [oe-commits] [openembedded-core] 06/31: acpid.inc: set CVE_PRODUCT to acpid2 In-Reply-To: <150079336062.14193.5720692037730834667@git.openembedded.org> References: <150079336062.14193.5720692037730834667@git.openembedded.org> Message-ID: <20170723070241.01122232833@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 029fa3545c586eb9534af080d4a9d0fc2cdadf92 Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:22:51 2017 +0300 acpid.inc: set CVE_PRODUCT to acpid2 It is used in NVD database for CVE's like: https://nvd.nist.gov/vuln/detail/CVE-2011-4578 Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/recipes-bsp/acpid/acpid.inc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-bsp/acpid/acpid.inc b/meta/recipes-bsp/acpid/acpid.inc index 12ec19b..766ed4f 100644 --- a/meta/recipes-bsp/acpid/acpid.inc +++ b/meta/recipes-bsp/acpid/acpid.inc @@ -9,6 +9,8 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/acpid2/acpid-${PV}.tar.xz \ file://acpid.service \ " +CVE_PRODUCT = "acpid2" + inherit autotools update-rc.d systemd INITSCRIPT_NAME = "acpid" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sun Jul 23 07:02:47 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sun, 23 Jul 2017 07:02:47 +0000 Subject: [oe-commits] [openembedded-core] 07/31: bluez5.inc: set CVE_PRODUCT to bluez In-Reply-To: <150079336062.14193.5720692037730834667@git.openembedded.org> References: <150079336062.14193.5720692037730834667@git.openembedded.org> Message-ID: <20170723070241.09AF2232834@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit e986f6c7c6bc5c2d9049713d4e476951e0ff12fa Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:22:52 2017 +0300 bluez5.inc: set CVE_PRODUCT to bluez bluez is the product name in NVD database for CVE's like: https://nvd.nist.gov/vuln/detail/CVE-2016-7837 Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/recipes-connectivity/bluez5/bluez5.inc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-connectivity/bluez5/bluez5.inc b/meta/recipes-connectivity/bluez5/bluez5.inc index bf1b1ca..527e403 100644 --- a/meta/recipes-connectivity/bluez5/bluez5.inc +++ b/meta/recipes-connectivity/bluez5/bluez5.inc @@ -53,6 +53,8 @@ SRC_URI = "\ " S = "${WORKDIR}/bluez-${PV}" +CVE_PRODUCT = "bluez" + inherit autotools pkgconfig systemd update-rc.d distro_features_check ptest EXTRA_OECONF = "\ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sun Jul 23 07:02:48 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sun, 23 Jul 2017 07:02:48 +0000 Subject: [oe-commits] [openembedded-core] 08/31: eglinfo.inc: set CVE_PRODUCT to eglinfo In-Reply-To: <150079336062.14193.5720692037730834667@git.openembedded.org> References: <150079336062.14193.5720692037730834667@git.openembedded.org> Message-ID: <20170723070241.12894232835@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 4146907e7c85437ecaae5dcbb878bf2f41a62953 Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:22:53 2017 +0300 eglinfo.inc: set CVE_PRODUCT to eglinfo Upstream is called eglinfo no matter how the recipes are named. There are no existing CVE's for eglinfo in NVD yet. Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/recipes-graphics/eglinfo/eglinfo.inc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-graphics/eglinfo/eglinfo.inc b/meta/recipes-graphics/eglinfo/eglinfo.inc index d0c0c27..8e7d9bd 100644 --- a/meta/recipes-graphics/eglinfo/eglinfo.inc +++ b/meta/recipes-graphics/eglinfo/eglinfo.inc @@ -11,6 +11,8 @@ SRC_URI = "git://github.com/dv1/eglinfo.git;branch=master \ " SRCREV = "4b317648ec6cf39556a9e5d8078f605bc0edd5de" +CVE_PRODUCT = "eglinfo" + S = "${WORKDIR}/git" inherit waf distro_features_check -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sun Jul 23 07:02:49 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sun, 23 Jul 2017 07:02:49 +0000 Subject: [oe-commits] [openembedded-core] 09/31: flac_1.3.1.bb: set CVE_PRODUCT to libflac In-Reply-To: <150079336062.14193.5720692037730834667@git.openembedded.org> References: <150079336062.14193.5720692037730834667@git.openembedded.org> Message-ID: <20170723070241.1A49A232836@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 490eea6a452e02e37f79f2a6ca7e793b93de5335 Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:22:54 2017 +0300 flac_1.3.1.bb: set CVE_PRODUCT to libflac NVD uses product name libflac for CVE's like: https://nvd.nist.gov/vuln/detail/CVE-2014-8962 Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/recipes-multimedia/flac/flac_1.3.2.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-multimedia/flac/flac_1.3.2.bb b/meta/recipes-multimedia/flac/flac_1.3.2.bb index 8a7fc5e..8315ab5 100644 --- a/meta/recipes-multimedia/flac/flac_1.3.2.bb +++ b/meta/recipes-multimedia/flac/flac_1.3.2.bb @@ -19,6 +19,8 @@ SRC_URI = "http://downloads.xiph.org/releases/flac/${BP}.tar.xz" SRC_URI[md5sum] = "454f1bfa3f93cc708098d7890d0499bd" SRC_URI[sha256sum] = "91cfc3ed61dc40f47f050a109b08610667d73477af6ef36dcad31c31a4a8d53f" +CVE_PRODUCT = "libflac" + inherit autotools gettext EXTRA_OECONF = "--disable-oggtest \ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sun Jul 23 07:02:50 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sun, 23 Jul 2017 07:02:50 +0000 Subject: [oe-commits] [openembedded-core] 10/31: gcc-common.inc: set CVE_PRODUCT to gcc In-Reply-To: <150079336062.14193.5720692037730834667@git.openembedded.org> References: <150079336062.14193.5720692037730834667@git.openembedded.org> Message-ID: <20170723070241.22498232837@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 82af87e067f5e0a2c050d2cc9b9dc41fc4594650 Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:22:55 2017 +0300 gcc-common.inc: set CVE_PRODUCT to gcc All recipes which include this are using gcc as product name in NVD like https://nvd.nist.gov/vuln/detail/CVE-2015-5276 Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/recipes-devtools/gcc/gcc-common.inc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-devtools/gcc/gcc-common.inc b/meta/recipes-devtools/gcc/gcc-common.inc index 3d484ef..b5975b5 100644 --- a/meta/recipes-devtools/gcc/gcc-common.inc +++ b/meta/recipes-devtools/gcc/gcc-common.inc @@ -5,6 +5,8 @@ LICENSE = "GPL" NATIVEDEPS = "" +CVE_PRODUCT = "gcc" + inherit autotools gettext texinfo BPN = "gcc" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sun Jul 23 07:02:51 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sun, 23 Jul 2017 07:02:51 +0000 Subject: [oe-commits] [openembedded-core] 11/31: glib.inc: set CVE_PRODUCT to glib In-Reply-To: <150079336062.14193.5720692037730834667@git.openembedded.org> References: <150079336062.14193.5720692037730834667@git.openembedded.org> Message-ID: <20170723070241.2C9C3232838@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 9bacb0b78b2884d83dbdad659e19404b35156a35 Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:22:56 2017 +0300 glib.inc: set CVE_PRODUCT to glib NVD uses product glib and vendor gnome for CVE's like: https://nvd.nist.gov/vuln/detail/CVE-2016-6855 Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/recipes-core/glib-2.0/glib.inc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-core/glib-2.0/glib.inc b/meta/recipes-core/glib-2.0/glib.inc index 4a145ae..d6ef4df 100644 --- a/meta/recipes-core/glib-2.0/glib.inc +++ b/meta/recipes-core/glib-2.0/glib.inc @@ -15,6 +15,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \ BUGTRACKER = "http://bugzilla.gnome.org" SECTION = "libs" +CVE_PRODUCT = "glib" + BBCLASSEXTEND = "native nativesdk" DEPENDS = "virtual/libiconv libffi zlib glib-2.0-native" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sun Jul 23 07:02:52 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sun, 23 Jul 2017 07:02:52 +0000 Subject: [oe-commits] [openembedded-core] 12/31: glibc-common.inc: set CVE_PRODUCT to glibc In-Reply-To: <150079336062.14193.5720692037730834667@git.openembedded.org> References: <150079336062.14193.5720692037730834667@git.openembedded.org> Message-ID: <20170723070241.36C51232839@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 443dcc1f944f9a77d970b69a39ca4324fb187d54 Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:22:57 2017 +0300 glibc-common.inc: set CVE_PRODUCT to glibc All recipes which include this .inc map to glibc NVD component. Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/recipes-core/glibc/glibc-common.inc | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/recipes-core/glibc/glibc-common.inc b/meta/recipes-core/glibc/glibc-common.inc index bba1568..b05e162 100644 --- a/meta/recipes-core/glibc/glibc-common.inc +++ b/meta/recipes-core/glibc/glibc-common.inc @@ -7,3 +7,4 @@ LIC_FILES_CHKSUM ?= "file://LICENSES;md5=07a394b26e0902b9ffdec03765209770 \ file://COPYING;md5=393a5ca445f6965873eca0259a17f833 \ file://posix/rxspencer/COPYRIGHT;md5=dc5485bb394a13b2332ec1c785f5d83a \ file://COPYING.LIB;md5=bbb461211a33b134d42ed5ee802b37ff " +CVE_PRODUCT = "glibc" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sun Jul 23 07:02:54 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sun, 23 Jul 2017 07:02:54 +0000 Subject: [oe-commits] [openembedded-core] 14/31: libpcre_8.40.bb: set CVE_PRODUCT to prce In-Reply-To: <150079336062.14193.5720692037730834667@git.openembedded.org> References: <150079336062.14193.5720692037730834667@git.openembedded.org> Message-ID: <20170723070241.46FCF23283B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit d4ada8b9662f6317a0c504cbdea45f6c13fb2ee8 Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:22:59 2017 +0300 libpcre_8.40.bb: set CVE_PRODUCT to prce It is used in NVD for CVE's like: https://nvd.nist.gov/vuln/detail/CVE-2017-7246 Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/recipes-support/libpcre/libpcre_8.40.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-support/libpcre/libpcre_8.40.bb b/meta/recipes-support/libpcre/libpcre_8.40.bb index 8563cd1..a897ac6 100644 --- a/meta/recipes-support/libpcre/libpcre_8.40.bb +++ b/meta/recipes-support/libpcre/libpcre_8.40.bb @@ -17,6 +17,8 @@ SRC_URI = "https://ftp.pcre.org/pub/pcre/pcre-${PV}.tar.bz2 \ SRC_URI[md5sum] = "41a842bf7dcecd6634219336e2167d1d" SRC_URI[sha256sum] = "00e27a29ead4267e3de8111fcaa59b132d0533cdfdbdddf4b0604279acbcf4f4" +CVE_PRODUCT = "pcre" + S = "${WORKDIR}/pcre-${PV}" PROVIDES += "pcre" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sun Jul 23 07:02:53 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sun, 23 Jul 2017 07:02:53 +0000 Subject: [oe-commits] [openembedded-core] 13/31: icu.inc: set CVE_PRODUCT to international_components_for_unicode In-Reply-To: <150079336062.14193.5720692037730834667@git.openembedded.org> References: <150079336062.14193.5720692037730834667@git.openembedded.org> Message-ID: <20170723070241.3EAF923283A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 85d629503962373e719393f6222c1df0e552ff1a Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:22:58 2017 +0300 icu.inc: set CVE_PRODUCT to international_components_for_unicode NVD uses it for CVE's like: https://nvd.nist.gov/vuln/detail/CVE-2014-8146 Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/recipes-support/icu/icu.inc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-support/icu/icu.inc b/meta/recipes-support/icu/icu.inc index 5286274..a1ef9ec 100644 --- a/meta/recipes-support/icu/icu.inc +++ b/meta/recipes-support/icu/icu.inc @@ -9,6 +9,8 @@ LICENSE = "ICU" DEPENDS = "icu-native" DEPENDS_class-native = "" +CVE_PRODUCT = "international_components_for_unicode" + S = "${WORKDIR}/icu/source" SPDX_S = "${WORKDIR}/icu" STAGING_ICU_DIR_NATIVE = "${STAGING_DATADIR_NATIVE}/${BPN}/${PV}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sun Jul 23 07:02:55 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sun, 23 Jul 2017 07:02:55 +0000 Subject: [oe-commits] [openembedded-core] 15/31: libpcre2_10.23.bb: set CVE_PRODUCT to pcre2 In-Reply-To: <150079336062.14193.5720692037730834667@git.openembedded.org> References: <150079336062.14193.5720692037730834667@git.openembedded.org> Message-ID: <20170723070241.4D80623283C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit f7e1371782ef664375dfe15ce3b22f3c494dca7a Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:23:00 2017 +0300 libpcre2_10.23.bb: set CVE_PRODUCT to pcre2 It is used in NVD as product name for CVE's like: https://nvd.nist.gov/vuln/detail/CVE-2017-8786 Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/recipes-support/libpcre/libpcre2_10.23.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-support/libpcre/libpcre2_10.23.bb b/meta/recipes-support/libpcre/libpcre2_10.23.bb index 17d397e..794d973 100644 --- a/meta/recipes-support/libpcre/libpcre2_10.23.bb +++ b/meta/recipes-support/libpcre/libpcre2_10.23.bb @@ -17,6 +17,8 @@ SRC_URI = "https://ftp.pcre.org/pub/pcre/pcre2-${PV}.tar.bz2 \ SRC_URI[md5sum] = "b2cd00ca7e24049040099b0a46bb3649" SRC_URI[sha256sum] = "dfc79b918771f02d33968bd34a749ad7487fa1014aeb787fad29dd392b78c56e" +CVE_PRODUCT = "pcre2" + S = "${WORKDIR}/pcre2-${PV}" PROVIDES += "pcre2" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sun Jul 23 07:02:57 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sun, 23 Jul 2017 07:02:57 +0000 Subject: [oe-commits] [openembedded-core] 17/31: libsndfile1_1.0.28.bb: set CVE_PRODUCT to libsndfile In-Reply-To: <150079336062.14193.5720692037730834667@git.openembedded.org> References: <150079336062.14193.5720692037730834667@git.openembedded.org> Message-ID: <20170723070241.5BA2923282E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit a1c34302bce953a9583ef32321b6ae89789d1a4a Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:23:02 2017 +0300 libsndfile1_1.0.28.bb: set CVE_PRODUCT to libsndfile It is used in NVD to CVE's like: https://nvd.nist.gov/vuln/detail/CVE-2017-6892 Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/recipes-multimedia/libsndfile/libsndfile1_1.0.28.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-multimedia/libsndfile/libsndfile1_1.0.28.bb b/meta/recipes-multimedia/libsndfile/libsndfile1_1.0.28.bb index 6f242cfa..e6a92a2 100644 --- a/meta/recipes-multimedia/libsndfile/libsndfile1_1.0.28.bb +++ b/meta/recipes-multimedia/libsndfile/libsndfile1_1.0.28.bb @@ -14,6 +14,8 @@ SRC_URI[sha256sum] = "1ff33929f042fa333aed1e8923aa628c3ee9e1eb85512686c55092d1e5 LIC_FILES_CHKSUM = "file://COPYING;md5=e77fe93202736b47c07035910f47974a" +CVE_PRODUCT = "libsndfile" + S = "${WORKDIR}/libsndfile-${PV}" PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'alsa', d)}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sun Jul 23 07:02:56 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sun, 23 Jul 2017 07:02:56 +0000 Subject: [oe-commits] [openembedded-core] 16/31: libsamplerate0_0.1.9.bb: set CVE_PRODUCT to libsamplerate In-Reply-To: <150079336062.14193.5720692037730834667@git.openembedded.org> References: <150079336062.14193.5720692037730834667@git.openembedded.org> Message-ID: <20170723070241.5352C23283D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 0fa49a09b20ada11d0ee928076417dc5e1bb6566 Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:23:01 2017 +0300 libsamplerate0_0.1.9.bb: set CVE_PRODUCT to libsamplerate It is used in NVD for CVE's like: https://nvd.nist.gov/vuln/detail/CVE-2017-7697 Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/recipes-multimedia/libsamplerate/libsamplerate0_0.1.9.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-multimedia/libsamplerate/libsamplerate0_0.1.9.bb b/meta/recipes-multimedia/libsamplerate/libsamplerate0_0.1.9.bb index 5473bff..ae08189 100644 --- a/meta/recipes-multimedia/libsamplerate/libsamplerate0_0.1.9.bb +++ b/meta/recipes-multimedia/libsamplerate/libsamplerate0_0.1.9.bb @@ -14,6 +14,8 @@ SRC_URI = "http://www.mega-nerd.com/SRC/libsamplerate-${PV}.tar.gz \ SRC_URI[md5sum] = "2b78ae9fe63b36b9fbb6267fad93f259" SRC_URI[sha256sum] = "0a7eb168e2f21353fb6d84da152e4512126f7dc48ccb0be80578c565413444c1" +CVE_PRODUCT = "libsamplerate" + UPSTREAM_CHECK_URI = "http://www.mega-nerd.com/SRC/download.html" S = "${WORKDIR}/libsamplerate-${PV}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sun Jul 23 07:02:59 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sun, 23 Jul 2017 07:02:59 +0000 Subject: [oe-commits] [openembedded-core] 19/31: python.inc: set CVE_PRODUCT to python In-Reply-To: <150079336062.14193.5720692037730834667@git.openembedded.org> References: <150079336062.14193.5720692037730834667@git.openembedded.org> Message-ID: <20170723070241.6890E23282F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 5e22bc4fcc0dbcddd68b3331a9d557fa0dc77cf7 Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:23:04 2017 +0300 python.inc: set CVE_PRODUCT to python All python versions are just python in NVD like this CVE for python 3.4.4: https://nvd.nist.gov/vuln/detail/CVE-2016-5699 Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/recipes-devtools/python/python.inc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-devtools/python/python.inc b/meta/recipes-devtools/python/python.inc index b4bce24..b40f551 100644 --- a/meta/recipes-devtools/python/python.inc +++ b/meta/recipes-devtools/python/python.inc @@ -16,6 +16,8 @@ SRC_URI[sha256sum] = "35d543986882f78261f97787fd3e06274bfa6df29fac9b4a94f73930ff # also, exclude pre-releases for both python 2.x and 3.x UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P2(\.\d+)+).tar" +CVE_PRODUCT = "python" + PYTHON_MAJMIN = "2.7" inherit autotools pkgconfig -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sun Jul 23 07:03:00 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sun, 23 Jul 2017 07:03:00 +0000 Subject: [oe-commits] [openembedded-core] 20/31: lttng-ust_2.9.1.bb: set CVE_PRODUCT to ust In-Reply-To: <150079336062.14193.5720692037730834667@git.openembedded.org> References: <150079336062.14193.5720692037730834667@git.openembedded.org> Message-ID: <20170723070241.7609923282D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit a20c139f1abc49e44ccf14855394abd558b0ce48 Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:23:05 2017 +0300 lttng-ust_2.9.1.bb: set CVE_PRODUCT to ust It is used in NVD for CVE's like: https://nvd.nist.gov/vuln/detail/CVE-2010-3386 Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/recipes-kernel/lttng/lttng-ust_2.9.1.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-kernel/lttng/lttng-ust_2.9.1.bb b/meta/recipes-kernel/lttng/lttng-ust_2.9.1.bb index f7e01bb..03da4ca 100644 --- a/meta/recipes-kernel/lttng/lttng-ust_2.9.1.bb +++ b/meta/recipes-kernel/lttng/lttng-ust_2.9.1.bb @@ -26,6 +26,8 @@ SRC_URI = "https://lttng.org/files/lttng-ust/lttng-ust-${PV}.tar.bz2 \ SRC_URI[md5sum] = "5a5636fc3d9aa370f65b25a802a79e6e" SRC_URI[sha256sum] = "b891d267cdbbbd11cf34751f66c21c4a7fdc0eec3c1b53be2c40dca073b7daa4" +CVE_PRODUCT = "ust" + PACKAGECONFIG[manpages] = "--enable-man-pages, --disable-man-pages, asciidoc-native xmlto-native libxslt-native" do_install_append() { -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sun Jul 23 07:03:03 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sun, 23 Jul 2017 07:03:03 +0000 Subject: [oe-commits] [openembedded-core] 23/31: wpa-supplicant_2.6.bb: set CVE_PRODUCT to wpa_supplicant In-Reply-To: <150079336062.14193.5720692037730834667@git.openembedded.org> References: <150079336062.14193.5720692037730834667@git.openembedded.org> Message-ID: <20170723070241.8E3DA232831@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit d85eef9c2d2a3e7d77bdef2c1559b4db780ce098 Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:23:08 2017 +0300 wpa-supplicant_2.6.bb: set CVE_PRODUCT to wpa_supplicant It is used in NVD database CVE's like: https://nvd.nist.gov/vuln/detail/CVE-2015-1863 Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.6.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.6.bb b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.6.bb index 146bccf..5215b00 100644 --- a/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.6.bb +++ b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.6.bb @@ -28,6 +28,8 @@ SRC_URI = "http://w1.fi/releases/wpa_supplicant-${PV}.tar.gz \ SRC_URI[md5sum] = "091569eb4440b7d7f2b4276dbfc03c3c" SRC_URI[sha256sum] = "b4936d34c4e6cdd44954beba74296d964bc2c9668ecaa5255e499636fe2b1450" +CVE_PRODUCT = "wpa_supplicant" + S = "${WORKDIR}/wpa_supplicant-${PV}" PACKAGES_prepend = "wpa-supplicant-passphrase wpa-supplicant-cli " -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sun Jul 23 07:03:08 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sun, 23 Jul 2017 07:03:08 +0000 Subject: [oe-commits] [openembedded-core] 28/31: ffmpeg: fix pkg-config utilization In-Reply-To: <150079336062.14193.5720692037730834667@git.openembedded.org> References: <150079336062.14193.5720692037730834667@git.openembedded.org> Message-ID: <20170723070241.AFD3B232844@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit c4656c6b7db134d9ad5552b0c277e581b02895c4 Author: Nicolas Dechesne AuthorDate: Thu Jul 20 16:55:11 2017 +0200 ffmpeg: fix pkg-config utilization in config.log we can see: WARNING: aarch64-linaro-linux-pkg-config not found, library detection may fail. ffmpeg configure script is not looking for pkg-config at the rigt place since it is assuming cross compilation. let's force its value in the recipe. This patches 'fixes' library detection, so it also adds: --disable-libxcb --disable-libxcb-shm --disable-libxcb-xfixes --disable-libxcb-shape Which were dangling configure options, which started to be enabled after the pkg-config fix, so they need now to be explicitely disabled. Follow up patch will enable these options when DISTRO_FEATURES has x11. Signed-off-by: Nicolas Dechesne Signed-off-by: Ross Burton --- meta/recipes-multimedia/ffmpeg/ffmpeg_3.3.2.bb | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/meta/recipes-multimedia/ffmpeg/ffmpeg_3.3.2.bb b/meta/recipes-multimedia/ffmpeg/ffmpeg_3.3.2.bb index 73213cc..3c18367 100644 --- a/meta/recipes-multimedia/ffmpeg/ffmpeg_3.3.2.bb +++ b/meta/recipes-multimedia/ffmpeg/ffmpeg_3.3.2.bb @@ -88,6 +88,10 @@ EXTRA_OECONF = " \ --enable-pic \ --enable-shared \ --enable-pthreads \ + --disable-libxcb \ + --disable-libxcb-shm \ + --disable-libxcb-xfixes \ + --disable-libxcb-shape \ ${@bb.utils.contains('USE_NONFREE', 'yes', '--enable-nonfree', '', d)} \ \ --cross-prefix=${TARGET_PREFIX} \ @@ -108,6 +112,7 @@ EXTRA_OECONF = " \ --datadir=${datadir}/ffmpeg \ ${@bb.utils.contains('AVAILTUNES', 'mips32r2', '', '--disable-mipsdsp --disable-mipsdspr2', d)} \ --cpu=${@cpu(d)} \ + --pkg-config=pkg-config \ " EXTRA_OECONF_append_linux-gnux32 = " --disable-asm" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sun Jul 23 07:03:07 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sun, 23 Jul 2017 07:03:07 +0000 Subject: [oe-commits] [openembedded-core] 27/31: ovmf-shell-image.bb: simplify dependencies In-Reply-To: <150079336062.14193.5720692037730834667@git.openembedded.org> References: <150079336062.14193.5720692037730834667@git.openembedded.org> Message-ID: <20170723070241.A84DD232843@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 8b234ce4216dea94516f94829fcfe1c4ceb7e4ad Author: Patrick Ohly AuthorDate: Fri Jul 21 08:25:13 2017 +0200 ovmf-shell-image.bb: simplify dependencies The image consists only of the EFI system partition, therefore we can avoid depending on the default wic tools. Signed-off-by: Patrick Ohly Signed-off-by: Ross Burton --- meta/recipes-core/ovmf/ovmf-shell-image.bb | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/meta/recipes-core/ovmf/ovmf-shell-image.bb b/meta/recipes-core/ovmf/ovmf-shell-image.bb index 029547b..0d2b8bf 100644 --- a/meta/recipes-core/ovmf/ovmf-shell-image.bb +++ b/meta/recipes-core/ovmf/ovmf-shell-image.bb @@ -1,10 +1,13 @@ DESCRIPTION = "boot image with UEFI shell and tools" # For this image recipe, only the wic format with a -# single vfat partition makes sense. +# single vfat partition makes sense. Because we have no +# boot loader and no rootfs partition, not additional +# tools are needed for this .wks file. IMAGE_FSTYPES_forcevariable = 'wic' - WKS_FILE = "ovmf/ovmf-shell-image.wks" +WKS_FILE_DEPENDS = "" + inherit image # We want a minimal image with just ovmf-shell-efi unpacked in it. We -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sun Jul 23 07:03:11 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sun, 23 Jul 2017 07:03:11 +0000 Subject: [oe-commits] [openembedded-core] 31/31: linux-yocto: only suggest default kernel type In-Reply-To: <150079336062.14193.5720692037730834667@git.openembedded.org> References: <150079336062.14193.5720692037730834667@git.openembedded.org> Message-ID: <20170723070241.CB0EC232847@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit c1a4ce33b09dd9a92a73b04a62b2cc1ddbd46b6a Author: Joe Slater AuthorDate: Thu Jul 20 16:19:51 2017 -0700 linux-yocto: only suggest default kernel type The distro should set a default kernel type (?=) which could be overriden by local.conf (=) or extensions (templates). The kernel itself should only use "??=" to provide a value which allows builds to succeed. Signed-off-by: Joe Slater Signed-off-by: Ross Burton --- meta/recipes-kernel/linux/linux-yocto.inc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meta/recipes-kernel/linux/linux-yocto.inc b/meta/recipes-kernel/linux/linux-yocto.inc index 637506a..aec06c2 100644 --- a/meta/recipes-kernel/linux/linux-yocto.inc +++ b/meta/recipes-kernel/linux/linux-yocto.inc @@ -33,7 +33,8 @@ KERNEL_FEATURES_append_qemuall=" features/debug/printk.scc" # and it can be specific to the machine or shared # KMACHINE = "UNDEFINED" -LINUX_KERNEL_TYPE ?= "standard" +# The distro or local.conf should set this, but if nobody cares... +LINUX_KERNEL_TYPE ??= "standard" # KMETA ?= "" KBRANCH ?= "master" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sun Jul 23 07:02:58 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sun, 23 Jul 2017 07:02:58 +0000 Subject: [oe-commits] [openembedded-core] 18/31: nspr_4.14.bb: set CVE_PRODUCT to netscape_portable_runtime In-Reply-To: <150079336062.14193.5720692037730834667@git.openembedded.org> References: <150079336062.14193.5720692037730834667@git.openembedded.org> Message-ID: <20170723070241.61EA623283E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit d317defaa155c58733746f5bdfcc99d4d36248c5 Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:23:03 2017 +0300 nspr_4.14.bb: set CVE_PRODUCT to netscape_portable_runtime This is used in NVD database entries like CVE: https://nvd.nist.gov/vuln/detail/CVE-2016-1951 Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/recipes-support/nspr/nspr_4.14.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-support/nspr/nspr_4.14.bb b/meta/recipes-support/nspr/nspr_4.14.bb index 6b47820..b0892a1 100644 --- a/meta/recipes-support/nspr/nspr_4.14.bb +++ b/meta/recipes-support/nspr/nspr_4.14.bb @@ -25,6 +25,8 @@ UPSTREAM_CHECK_REGEX = "v(?P\d+(\.\d+)+)/" SRC_URI[md5sum] = "743f6b7888a614da9927400874054d8c" SRC_URI[sha256sum] = "64fc18826257403a9132240aa3c45193d577a84b08e96f7e7770a97c074d17d5" +CVE_PRODUCT = "netscape_portable_runtime" + S = "${WORKDIR}/nspr-${PV}/nspr" RDEPENDS_${PN}-dev += "perl" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sun Jul 23 07:03:01 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sun, 23 Jul 2017 07:03:01 +0000 Subject: [oe-commits] [openembedded-core] 21/31: quota_4.03.bb: set CVE_PRODUCT to linux_diskquota In-Reply-To: <150079336062.14193.5720692037730834667@git.openembedded.org> References: <150079336062.14193.5720692037730834667@git.openembedded.org> Message-ID: <20170723070241.7FD9823283F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 347f71ad52ecfb66327bb662cd0d2a4b60829144 Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:23:06 2017 +0300 quota_4.03.bb: set CVE_PRODUCT to linux_diskquota It is used in NVD for CVE's like: https://nvd.nist.gov/vuln/detail/CVE-2012-3417 Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/recipes-extended/quota/quota_4.03.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-extended/quota/quota_4.03.bb b/meta/recipes-extended/quota/quota_4.03.bb index 22aab41..28b3854 100644 --- a/meta/recipes-extended/quota/quota_4.03.bb +++ b/meta/recipes-extended/quota/quota_4.03.bb @@ -22,6 +22,8 @@ SRC_URI_append_libc-musl = " file://replace_getrpcbynumber_r.patch" SRC_URI[md5sum] = "6b09f9c93515c25a528be5754cdfb6f5" SRC_URI[sha256sum] = "9c6c4d9ae7bf30506dd2aa3d8056c4ff2f8d087930d7c721616f5c093bdc674b" +CVE_PRODUCT = "linux_diskquota" + UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/linuxquota/files/quota-tools/" UPSTREAM_CHECK_REGEX = "/quota-tools/(?P(\d+[\.\-_]*)+)/" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sun Jul 23 07:03:02 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sun, 23 Jul 2017 07:03:02 +0000 Subject: [oe-commits] [openembedded-core] 22/31: sqlite3.inc: set CVE_PRODUCT to sqlite In-Reply-To: <150079336062.14193.5720692037730834667@git.openembedded.org> References: <150079336062.14193.5720692037730834667@git.openembedded.org> Message-ID: <20170723070241.86F8E232830@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 8a0b681acdd6a1d3cc8e98ed99d49c7852a684cc Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:23:07 2017 +0300 sqlite3.inc: set CVE_PRODUCT to sqlite It is used in NVD for CVE's like: https://nvd.nist.gov/vuln/detail/CVE-2016-6153 Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/recipes-support/sqlite/sqlite3.inc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-support/sqlite/sqlite3.inc b/meta/recipes-support/sqlite/sqlite3.inc index 42b534d..95ec89c 100644 --- a/meta/recipes-support/sqlite/sqlite3.inc +++ b/meta/recipes-support/sqlite/sqlite3.inc @@ -17,6 +17,8 @@ S = "${WORKDIR}/sqlite-autoconf-${SQLITE_PV}" UPSTREAM_CHECK_URI = "http://www.sqlite.org/" UPSTREAM_CHECK_REGEX = "releaselog/(?P(\d+[\.\-_]*)+)\.html" +CVE_PRODUCT = "sqlite" + inherit autotools pkgconfig PACKAGECONFIG ?= "" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sun Jul 23 07:03:09 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sun, 23 Jul 2017 07:03:09 +0000 Subject: [oe-commits] [openembedded-core] 29/31: gstreamer1.0-python: add new recipe In-Reply-To: <150079336062.14193.5720692037730834667@git.openembedded.org> References: <150079336062.14193.5720692037730834667@git.openembedded.org> Message-ID: <20170723070241.B92DD232845@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 5ff9c2f4f4687e55125f4e4f77745160f4420ad7 Author: Martin Kelly AuthorDate: Tue Jul 18 11:46:54 2017 -0700 gstreamer1.0-python: add new recipe Previously, we had a gst-python recipe, but it supported only GStreamer 0.1. After GStreamer switched the Python bindings to use GObject introspection, we were no longer able to build the bindings, and they were dropped in this patch: https://patchwork.openembedded.org/patch/93793/ However, at this point, we have a gobject-introspection class, so we can use the bindings again, this time with GStreamer 1.0. Signed-off-by: Martin Kelly Signed-off-by: Ross Burton --- .../gstreamer/gstreamer1.0-python.inc | 35 ++++++++++++++++++++++ .../gstreamer/gstreamer1.0-python_1.10.4.bb | 7 +++++ 2 files changed, 42 insertions(+) diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-python.inc b/meta/recipes-multimedia/gstreamer/gstreamer1.0-python.inc new file mode 100644 index 0000000..961b930 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-python.inc @@ -0,0 +1,35 @@ +SUMMARY = "Python bindings for GStreamer 1.0" +HOMEPAGE = "http://cgit.freedesktop.org/gstreamer/gst-python/" +SECTION = "multimedia" +LICENSE = "LGPLv2.1" + +DEPENDS = "gstreamer1.0 python3-pygobject" +RDEPENDS_${PN} += "gstreamer1.0 python3-pygobject" + +PNREAL = "gst-python" + +SRC_URI = "http://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz" + +S = "${WORKDIR}/${PNREAL}-${PV}" + +inherit autotools pkgconfig distutils3-base upstream-version-is-even gobject-introspection + +do_install_append() { + # gstpythonplugin hardcodes the location of the libpython from the build + # workspace and then fails at runtime. We can override it using + # --with-libpython-dir=${libdir}, but it still fails because it looks for a + # symlinked library ending in .so instead of the actually library with + # LIBNAME.so.MAJOR.MINOR. Although we could patch the code to use the path + # we want, it will break again if the library version ever changes. We need + # to think about the best way of handling this and possibly consult + # upstream. + # + # Note that this particular find line is taken from the Debian packaging for + # gst-python1.0. + find "${D}" \ + -name '*.pyc' -o \ + -name '*.pyo' -o \ + -name '*.la' -o \ + -name 'libgstpythonplugin*' \ + -delete +} diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.10.4.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.10.4.bb new file mode 100644 index 0000000..1365f7c --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.10.4.bb @@ -0,0 +1,7 @@ +require gstreamer1.0-python.inc + +SRC_URI = "http://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz" +SRC_URI[md5sum] = "adcdb74f713e28d0b22a0a1e4f831573" +SRC_URI[sha256sum] = "59508174b8bc86c05290aa9a7c5d480ac556a6f36306ddbc1d0eacf4f7868212" + +LIC_FILES_CHKSUM = "file://COPYING;md5=c34deae4e395ca07e725ab0076a5f740" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sun Jul 23 07:03:05 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sun, 23 Jul 2017 07:03:05 +0000 Subject: [oe-commits] [openembedded-core] 25/31: kernel.bbclass: set CVE_PRODUCT to linux_kernel if not set by recipe In-Reply-To: <150079336062.14193.5720692037730834667@git.openembedded.org> References: <150079336062.14193.5720692037730834667@git.openembedded.org> Message-ID: <20170723070241.9B3F9232841@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit f2e1c3b648dd7b99a7e53b0fde92948acfc67a83 Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:23:10 2017 +0300 kernel.bbclass: set CVE_PRODUCT to linux_kernel if not set by recipe It is used by NVD database CVE's like: https://nvd.nist.gov/vuln/detail/CVE-2017-7273 Setting this in kernel.bbclass fixes CVE reporting for all users of the class. Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/classes/kernel.bbclass | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass index 7670c71..ce2cab6 100644 --- a/meta/classes/kernel.bbclass +++ b/meta/classes/kernel.bbclass @@ -6,6 +6,8 @@ PACKAGE_WRITE_DEPS += "depmodwrapper-cross virtual/update-alternatives-native" do_deploy[depends] += "depmodwrapper-cross:do_populate_sysroot" +CVE_PRODUCT ?= "linux_kernel" + S = "${STAGING_KERNEL_DIR}" B = "${WORKDIR}/build" KBUILD_OUTPUT = "${B}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sun Jul 23 07:03:04 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sun, 23 Jul 2017 07:03:04 +0000 Subject: [oe-commits] [openembedded-core] 24/31: cve-check.bbclass: use weak assignment for default CVE_PRODUCT In-Reply-To: <150079336062.14193.5720692037730834667@git.openembedded.org> References: <150079336062.14193.5720692037730834667@git.openembedded.org> Message-ID: <20170723070241.944BB232840@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit b2bc6e9ba43da06b5ff7fa4eaccc3417f456413f Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:23:09 2017 +0300 cve-check.bbclass: use weak assignment for default CVE_PRODUCT This way also bbclasses can override it. For example kernel.bbclass could set CVE_PRODUCT to linux_kernel for all users of the class which compile Linux kernels. Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/classes/cve-check.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/classes/cve-check.bbclass b/meta/classes/cve-check.bbclass index 6f5b0f5..8dde4a2 100644 --- a/meta/classes/cve-check.bbclass +++ b/meta/classes/cve-check.bbclass @@ -22,7 +22,7 @@ # The product name that the CVE database uses. Defaults to BPN, but may need to # be overriden per recipe (for example tiff.bb sets CVE_PRODUCT=libtiff). -CVE_PRODUCT ?= "${BPN}" +CVE_PRODUCT ??= "${BPN}" CVE_CHECK_DB_DIR ?= "${DL_DIR}/CVE_CHECK" CVE_CHECK_DB_FILE ?= "${CVE_CHECK_DB_DIR}/nvd.db" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sun Jul 23 07:03:06 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sun, 23 Jul 2017 07:03:06 +0000 Subject: [oe-commits] [openembedded-core] 26/31: ffmpeg: add PACKAGECONFIG for sdl2 In-Reply-To: <150079336062.14193.5720692037730834667@git.openembedded.org> References: <150079336062.14193.5720692037730834667@git.openembedded.org> Message-ID: <20170723070241.A14D1232842@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 2e65a649e8666c5005175192b6797a606668fcb5 Author: Nicolas Dechesne AuthorDate: Thu Jul 20 22:56:34 2017 +0200 ffmpeg: add PACKAGECONFIG for sdl2 Enabling sdl2 will bring ffplay applications, which can be handy when working with ffmpeg. Signed-off-by: Nicolas Dechesne Signed-off-by: Ross Burton --- meta/recipes-multimedia/ffmpeg/ffmpeg_3.3.2.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/recipes-multimedia/ffmpeg/ffmpeg_3.3.2.bb b/meta/recipes-multimedia/ffmpeg/ffmpeg_3.3.2.bb index f4bb2ba..73213cc 100644 --- a/meta/recipes-multimedia/ffmpeg/ffmpeg_3.3.2.bb +++ b/meta/recipes-multimedia/ffmpeg/ffmpeg_3.3.2.bb @@ -65,6 +65,7 @@ PACKAGECONFIG[lzma] = "--enable-lzma,--disable-lzma,xz" PACKAGECONFIG[mp3lame] = "--enable-libmp3lame,--disable-libmp3lame,lame" PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl" PACKAGECONFIG[schroedinger] = "--enable-libschroedinger,--disable-libschroedinger,schroedinger" +PACKAGECONFIG[sdl2] = "--enable-sdl2,--disable-sdl2,virtual/libsdl2" PACKAGECONFIG[speex] = "--enable-libspeex,--disable-libspeex,speex" PACKAGECONFIG[theora] = "--enable-libtheora,--disable-libtheora,libtheora" PACKAGECONFIG[vaapi] = "--enable-vaapi,--disable-vaapi,libva" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Sun Jul 23 07:03:10 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Sun, 23 Jul 2017 07:03:10 +0000 Subject: [oe-commits] [openembedded-core] 30/31: cve-check.bbclass: use "+git" as separator in PV instead of "git+" In-Reply-To: <150079336062.14193.5720692037730834667@git.openembedded.org> References: <150079336062.14193.5720692037730834667@git.openembedded.org> Message-ID: <20170723070241.C1EC7232846@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit c30adc6bb5b7425c83e639b22ed35346e4c6c375 Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:23:11 2017 +0300 cve-check.bbclass: use "+git" as separator in PV instead of "git+" PV is the recipe major version number. cve-check tries to map that to NVD database release versions of the component. If the recipe sources are taken from git, the PV can be automatically modified to include git details, but the syntax is like 233+gitAUTOINC+a1e2ef7ec9. In CVE checks we want to remove the git details and just use the major version information, in this example 233. Thus use "+git" as the separator and use the first part before the separator as SW product version number in CVE check. Fixes version number for e.g. systemd recipe. If systemd PV is 233+gitAUTOINC+a1e2ef7ec9 there will be no matches from CVE database where latest release mentioned is plain 233. If the filter is set to +git, then CVE PV is 233 and issues like this are detected by do_cve_check: https://nvd.nist.gov/vuln/detail/CVE-2017-1000082 Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/classes/cve-check.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/classes/cve-check.bbclass b/meta/classes/cve-check.bbclass index 8dde4a2..f44bbed 100644 --- a/meta/classes/cve-check.bbclass +++ b/meta/classes/cve-check.bbclass @@ -155,7 +155,7 @@ def check_cves(d, patched_cves): cves_patched = [] cves_unpatched = [] bpn = d.getVar("CVE_PRODUCT") - pv = d.getVar("PV").split("git+")[0] + pv = d.getVar("PV").split("+git")[0] cves = " ".join(patched_cves) cve_db_dir = d.getVar("CVE_CHECK_DB_DIR") cve_whitelist = ast.literal_eval(d.getVar("CVE_CHECK_CVE_WHITELIST")) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 08:14:20 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 08:14:20 +0000 Subject: [oe-commits] [openembedded-core] 02/33: python*-setuptools: upgrade to 36.2.0 In-Reply-To: <150088405837.31328.281087139160305298@git.openembedded.org> References: <150088405837.31328.281087139160305298@git.openembedded.org> Message-ID: <20170724081418.AB87923282F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 6ad635a33b5a49fa51165b6ac7606b27438f5d96 Author: Jose Lamego AuthorDate: Wed Jul 19 12:20:26 2017 -0500 python*-setuptools: upgrade to 36.2.0 Both python-setuptools and python3-setuptools need to be upgraded to latest upstream version. license checksum is now targeted to be performed over the actual license text at license file. These changes were tested using qemux86 with core-image-minimal. Signed-off-by: Jose Lamego Signed-off-by: Ross Burton --- meta/recipes-devtools/python/python-setuptools.inc | 8 ++++---- .../{python-setuptools_32.1.1.bb => python-setuptools_36.2.0.bb} | 0 ...{python3-setuptools_32.1.1.bb => python3-setuptools_36.2.0.bb} | 0 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/meta/recipes-devtools/python/python-setuptools.inc b/meta/recipes-devtools/python/python-setuptools.inc index 40f47d4..cd84233 100644 --- a/meta/recipes-devtools/python/python-setuptools.inc +++ b/meta/recipes-devtools/python/python-setuptools.inc @@ -3,14 +3,14 @@ HOMEPAGE = "https://pypi.python.org/pypi/setuptools" SECTION = "devel/python" LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://setup.py;beginline=146;endline=146;md5=3e8df024d6c1442d18e84acf8fbbc475" +LIC_FILES_CHKSUM = "file://LICENSE;beginline=1;endline=19;md5=9a33897f1bca1160d7aad3835152e158" SRCNAME = "setuptools" -SRC_URI = "https://files.pythonhosted.org/packages/source/s/${SRCNAME}/${SRCNAME}-${PV}.tar.gz" +SRC_URI = "https://files.pythonhosted.org/packages/source/s/${SRCNAME}/${SRCNAME}-${PV}.zip" -SRC_URI[md5sum] = "8b67868c3430e978833ebd0d1b766694" -SRC_URI[sha256sum] = "8303fb24306385f09bf8b0e5a385c1548e42e8efc08558d64049bc0d55ea012d" +SRC_URI[md5sum] = "60df703040ad8024d24727dc95483740" +SRC_URI[sha256sum] = "4c2bda3829c9dbbe9c2b33d89c4b1cb6d45813615ab8e248ad352e3697a96d81" UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/setuptools" diff --git a/meta/recipes-devtools/python/python-setuptools_32.1.1.bb b/meta/recipes-devtools/python/python-setuptools_36.2.0.bb similarity index 100% rename from meta/recipes-devtools/python/python-setuptools_32.1.1.bb rename to meta/recipes-devtools/python/python-setuptools_36.2.0.bb diff --git a/meta/recipes-devtools/python/python3-setuptools_32.1.1.bb b/meta/recipes-devtools/python/python3-setuptools_36.2.0.bb similarity index 100% rename from meta/recipes-devtools/python/python3-setuptools_32.1.1.bb rename to meta/recipes-devtools/python/python3-setuptools_36.2.0.bb -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 08:14:19 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 08:14:19 +0000 Subject: [oe-commits] [openembedded-core] 01/33: mkelfimage: Fix build on x86_64 with hardening In-Reply-To: <150088405837.31328.281087139160305298@git.openembedded.org> References: <150088405837.31328.281087139160305298@git.openembedded.org> Message-ID: <20170724081418.A460523282E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 470c8a0fb5f51a626a194c8fd3aabd448b50ebfa Author: Khem Raj AuthorDate: Tue Jul 18 19:50:55 2017 -0700 mkelfimage: Fix build on x86_64 with hardening We get linking errors on some hosts like | ld -static --warn-multiple-gp --warn-common -T linux-i386/convert.lds -o objdir/linux-i386/convert ob jdir/linux-i386/head.o objdir/linux-i386/convert_params.o | objdir/linux-i386/convert_params.o: In function `printf': | convert_params.c:(.text+0x1fd): undefined reference to `__stack_chk_fail_local' This is because the build system is defaulting to host linker when building 32bit binaries and it may not have same defaults as OE toolchain and issue gets highlighted. fix it by using cross linker for 32bit links when building on x86_64 Signed-off-by: Khem Raj Signed-off-by: Ross Burton --- meta/recipes-devtools/mkelfimage/mkelfimage_git.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/recipes-devtools/mkelfimage/mkelfimage_git.bb b/meta/recipes-devtools/mkelfimage/mkelfimage_git.bb index 2bcc8d7..2ad4b49 100644 --- a/meta/recipes-devtools/mkelfimage/mkelfimage_git.bb +++ b/meta/recipes-devtools/mkelfimage/mkelfimage_git.bb @@ -29,6 +29,7 @@ CACHED_CONFIGUREVARS += "\ HOST_CFLAGS='${BUILD_CFLAGS}' \ HOST_CPPFLAGS='${BUILD_CPPFLAGS}' \ " +EXTRA_OECONF_append_x86-64 = " --with-i386=${HOST_SYS}" inherit autotools-brokensep -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 08:14:21 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 08:14:21 +0000 Subject: [oe-commits] [openembedded-core] 03/33: libffi: Support musl-x32 build In-Reply-To: <150088405837.31328.281087139160305298@git.openembedded.org> References: <150088405837.31328.281087139160305298@git.openembedded.org> Message-ID: <20170724081418.B333D232830@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 318e33a708378652edcf61ce7d9d7f3a07743000 Author: sweeaun AuthorDate: Wed Jul 19 13:29:42 2017 -0700 libffi: Support musl-x32 build Added target musl-x32 in configure.ac to support musl-x32 build in libffi. Signed-off-by: sweeaun Signed-off-by: Ross Burton --- .../0001-libffi-Support-musl-x32-build.patch | 30 ++++++++++++++++++++++ meta/recipes-support/libffi/libffi_3.2.1.bb | 1 + 2 files changed, 31 insertions(+) diff --git a/meta/recipes-support/libffi/libffi/0001-libffi-Support-musl-x32-build.patch b/meta/recipes-support/libffi/libffi/0001-libffi-Support-musl-x32-build.patch new file mode 100644 index 0000000..6b167c8 --- /dev/null +++ b/meta/recipes-support/libffi/libffi/0001-libffi-Support-musl-x32-build.patch @@ -0,0 +1,30 @@ +From 69c3906c85c791716bf650aa36d9361d22acf3fb Mon Sep 17 00:00:00 2001 +From: sweeaun +Date: Thu, 6 Jul 2017 16:32:46 -0700 +Subject: [PATCH] libffi: Support musl x32 build + +Support libffi build with target musl-x32. + +Upstream-Status: Pending + +Signed-off-by: sweeaun +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index a7bf5ee..8ebe99c 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -177,7 +177,7 @@ case "$host" in + TARGETDIR=x86 + if test $ac_cv_sizeof_size_t = 4; then + case "$host" in +- *-gnux32) ++ *-gnux32 | *-muslx32) + TARGET=X86_64 + ;; + *) +-- +2.7.4 + diff --git a/meta/recipes-support/libffi/libffi_3.2.1.bb b/meta/recipes-support/libffi/libffi_3.2.1.bb index 43eee8e..2a3f4b7 100644 --- a/meta/recipes-support/libffi/libffi_3.2.1.bb +++ b/meta/recipes-support/libffi/libffi_3.2.1.bb @@ -13,6 +13,7 @@ SRC_URI = "ftp://sourceware.org/pub/libffi/${BP}.tar.gz \ file://not-win32.patch \ file://0001-mips-Use-compiler-internal-define-for-linux.patch \ file://0001-mips-fix-MIPS-softfloat-build-issue.patch \ + file://0001-libffi-Support-musl-x32-build.patch \ " SRC_URI[md5sum] = "83b89587607e3eb65c70d361f13bab43" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 08:14:22 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 08:14:22 +0000 Subject: [oe-commits] [openembedded-core] 04/33: glibc: fix upstream-status tag in a patch In-Reply-To: <150088405837.31328.281087139160305298@git.openembedded.org> References: <150088405837.31328.281087139160305298@git.openembedded.org> Message-ID: <20170724081418.BA6D8232831@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 76c824fa3b43fd8902fb89c575b2954e8b1a6ab8 Author: Ross Burton AuthorDate: Thu Jul 20 13:36:40 2017 +0100 glibc: fix upstream-status tag in a patch Signed-off-by: Ross Burton --- .../glibc/glibc/0025-locale-fix-hard-coded-reference-to-gcc-E.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-core/glibc/glibc/0025-locale-fix-hard-coded-reference-to-gcc-E.patch b/meta/recipes-core/glibc/glibc/0025-locale-fix-hard-coded-reference-to-gcc-E.patch index f653077..09ad04a 100644 --- a/meta/recipes-core/glibc/glibc/0025-locale-fix-hard-coded-reference-to-gcc-E.patch +++ b/meta/recipes-core/glibc/glibc/0025-locale-fix-hard-coded-reference-to-gcc-E.patch @@ -17,7 +17,7 @@ environment. This patch replaces the hard-coded reference to the gcc binary with the proper environment variable, thus allowing a user to override it. -Upstream-Status : Submitted [https://sourceware.org/ml/libc-alpha/2016-08/msg00746.html] +Upstream-Status: Submitted [https://sourceware.org/ml/libc-alpha/2016-08/msg00746.html] --- locale/gen-translit.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 08:14:18 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 08:14:18 +0000 Subject: [oe-commits] [openembedded-core] branch master updated (514e9be -> d3a41fb) Message-ID: <150088405837.31328.281087139160305298@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master in repository openembedded-core. from 514e9be bluez5: upgrade to 5.46 add 4e9b1e9 patchelf: change patch status add 4e4c96d patchelf: fix segfault for binaries linked by gold new 470c8a0 mkelfimage: Fix build on x86_64 with hardening new 6ad635a python*-setuptools: upgrade to 36.2.0 new 318e33a libffi: Support musl-x32 build new 76c824f glibc: fix upstream-status tag in a patch new faa8d0f dhcp: add dhclient.service new 1ed4b84 rpm/dnf: fix Upstream-Status to reflect upstream submission status new ac3acdc glibc-package.inc: add support for armeb of multilib new 966052d acpid.inc: set CVE_PRODUCT to acpid2 new aade84a bluez5.inc: set CVE_PRODUCT to bluez new 0b8e2a0 eglinfo.inc: set CVE_PRODUCT to eglinfo new e09bd27 flac_1.3.1.bb: set CVE_PRODUCT to libflac new bd6f143 gcc-common.inc: set CVE_PRODUCT to gcc new 69d6342 glib.inc: set CVE_PRODUCT to glib new 613a137 glibc-common.inc: set CVE_PRODUCT to glibc new eaac391 icu.inc: set CVE_PRODUCT to international_components_for_unicode new 523e823 libpcre_8.40.bb: set CVE_PRODUCT to prce new ce32c5b libpcre2_10.23.bb: set CVE_PRODUCT to pcre2 new baafa21 libsamplerate0_0.1.9.bb: set CVE_PRODUCT to libsamplerate new adfb1c7 libsndfile1_1.0.28.bb: set CVE_PRODUCT to libsndfile new c75e5d3 nspr_4.14.bb: set CVE_PRODUCT to netscape_portable_runtime new 848e1be python.inc: set CVE_PRODUCT to python new 1c6643f lttng-ust_2.9.1.bb: set CVE_PRODUCT to ust new 07be7cb quota_4.03.bb: set CVE_PRODUCT to linux_diskquota new cec6f26 sqlite3.inc: set CVE_PRODUCT to sqlite new cc3882c wpa-supplicant_2.6.bb: set CVE_PRODUCT to wpa_supplicant new 74672a7 cve-check.bbclass: use weak assignment for default CVE_PRODUCT new 2e3d325 kernel.bbclass: set CVE_PRODUCT to linux_kernel if not set by recipe new 5c880eb ffmpeg: add PACKAGECONFIG for sdl2 new f147b25 ovmf-shell-image.bb: simplify dependencies new 3d5f11f ffmpeg: fix pkg-config utilization new 6650bd1 gstreamer1.0-python: add new recipe new db8815a cve-check.bbclass: use "+git" as separator in PV instead of "git+" new d3a41fb linux-yocto: only suggest default kernel type The 33 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: meta/classes/cve-check.bbclass | 4 +-- meta/classes/kernel.bbclass | 2 ++ meta/recipes-bsp/acpid/acpid.inc | 2 ++ meta/recipes-connectivity/bluez5/bluez5.inc | 2 ++ meta/recipes-connectivity/dhcp/dhcp.inc | 21 ++++++++++-- .../dhcp/files/dhclient-systemd-wrapper | 39 ++++++++++++++++++++++ .../dhcp/files/dhclient.service | 13 ++++++++ .../wpa-supplicant/wpa-supplicant_2.6.bb | 2 ++ meta/recipes-core/glib-2.0/glib.inc | 2 ++ meta/recipes-core/glibc/glibc-common.inc | 1 + meta/recipes-core/glibc/glibc-package.inc | 4 +++ ...-locale-fix-hard-coded-reference-to-gcc-E.patch | 2 +- meta/recipes-core/ovmf/ovmf-shell-image.bb | 7 ++-- ...0001-Correctly-install-the-shared-library.patch | 2 +- ...ever-check-after-the-etc-dnf-vars-substit.patch | 2 +- meta/recipes-devtools/gcc/gcc-common.inc | 2 ++ ...2-Set-library-installation-path-correctly.patch | 2 +- ...cmake-drop-the-requirement-for-GTKDOC_SCA.patch | 2 +- ...ers-for-both-libsolv-and-libsolvext-libdn.patch | 2 +- ...-sysroot-path-to-introspection-tools-path.patch | 2 +- ...-library-installation-directory-correctly.patch | 2 +- ...-variables-with-pkg-config-cmake-s-own-mo.patch | 2 +- ...ly-set-the-library-installation-directory.patch | 2 +- ...-race-when-deleting-temporary-directories.patch | 2 +- ...ariables-with-pkg-config-not-with-cmake-m.patch | 2 +- meta/recipes-devtools/mkelfimage/mkelfimage_git.bb | 1 + .../patchelf/patchelf/avoidholes.patch | 2 +- .../patchelf/fix-adjusting-startPage.patch | 38 +++++++++++++++++++++ meta/recipes-devtools/patchelf/patchelf_0.9.bb | 1 + meta/recipes-devtools/python/python-setuptools.inc | 8 ++--- ...tools_32.1.1.bb => python-setuptools_36.2.0.bb} | 0 meta/recipes-devtools/python/python.inc | 2 ++ ...ools_32.1.1.bb => python3-setuptools_36.2.0.bb} | 0 ...code-lib-rpm-as-the-installation-path-for.patch | 2 +- .../files/0001-Fix-build-with-musl-C-library.patch | 2 +- meta/recipes-extended/quota/quota_4.03.bb | 2 ++ meta/recipes-graphics/eglinfo/eglinfo.inc | 2 ++ meta/recipes-kernel/linux/linux-yocto.inc | 3 +- meta/recipes-kernel/lttng/lttng-ust_2.9.1.bb | 2 ++ meta/recipes-multimedia/ffmpeg/ffmpeg_3.3.2.bb | 6 ++++ meta/recipes-multimedia/flac/flac_1.3.2.bb | 2 ++ .../gstreamer/gstreamer1.0-python.inc | 35 +++++++++++++++++++ .../gstreamer/gstreamer1.0-python_1.10.4.bb | 7 ++++ .../libsamplerate/libsamplerate0_0.1.9.bb | 2 ++ .../libsndfile/libsndfile1_1.0.28.bb | 2 ++ meta/recipes-support/icu/icu.inc | 2 ++ .../0001-libffi-Support-musl-x32-build.patch | 30 +++++++++++++++++ meta/recipes-support/libffi/libffi_3.2.1.bb | 1 + meta/recipes-support/libpcre/libpcre2_10.23.bb | 2 ++ meta/recipes-support/libpcre/libpcre_8.40.bb | 2 ++ meta/recipes-support/nspr/nspr_4.14.bb | 2 ++ meta/recipes-support/sqlite/sqlite3.inc | 2 ++ 52 files changed, 258 insertions(+), 27 deletions(-) create mode 100644 meta/recipes-connectivity/dhcp/files/dhclient-systemd-wrapper create mode 100644 meta/recipes-connectivity/dhcp/files/dhclient.service create mode 100644 meta/recipes-devtools/patchelf/patchelf/fix-adjusting-startPage.patch rename meta/recipes-devtools/python/{python-setuptools_32.1.1.bb => python-setuptools_36.2.0.bb} (100%) rename meta/recipes-devtools/python/{python3-setuptools_32.1.1.bb => python3-setuptools_36.2.0.bb} (100%) create mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0-python.inc create mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.10.4.bb create mode 100644 meta/recipes-support/libffi/libffi/0001-libffi-Support-musl-x32-build.patch -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 08:14:27 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 08:14:27 +0000 Subject: [oe-commits] [openembedded-core] 09/33: bluez5.inc: set CVE_PRODUCT to bluez In-Reply-To: <150088405837.31328.281087139160305298@git.openembedded.org> References: <150088405837.31328.281087139160305298@git.openembedded.org> Message-ID: <20170724081418.DF067232836@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit aade84aa54bb2f958572623ed6464184efd19862 Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:22:52 2017 +0300 bluez5.inc: set CVE_PRODUCT to bluez bluez is the product name in NVD database for CVE's like: https://nvd.nist.gov/vuln/detail/CVE-2016-7837 Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/recipes-connectivity/bluez5/bluez5.inc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-connectivity/bluez5/bluez5.inc b/meta/recipes-connectivity/bluez5/bluez5.inc index bf1b1ca..527e403 100644 --- a/meta/recipes-connectivity/bluez5/bluez5.inc +++ b/meta/recipes-connectivity/bluez5/bluez5.inc @@ -53,6 +53,8 @@ SRC_URI = "\ " S = "${WORKDIR}/bluez-${PV}" +CVE_PRODUCT = "bluez" + inherit autotools pkgconfig systemd update-rc.d distro_features_check ptest EXTRA_OECONF = "\ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 08:14:26 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 08:14:26 +0000 Subject: [oe-commits] [openembedded-core] 08/33: acpid.inc: set CVE_PRODUCT to acpid2 In-Reply-To: <150088405837.31328.281087139160305298@git.openembedded.org> References: <150088405837.31328.281087139160305298@git.openembedded.org> Message-ID: <20170724081418.D83F5232835@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 966052df79df0f68565ebc40887170322d3f85b8 Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:22:51 2017 +0300 acpid.inc: set CVE_PRODUCT to acpid2 It is used in NVD database for CVE's like: https://nvd.nist.gov/vuln/detail/CVE-2011-4578 Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/recipes-bsp/acpid/acpid.inc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-bsp/acpid/acpid.inc b/meta/recipes-bsp/acpid/acpid.inc index 12ec19b..766ed4f 100644 --- a/meta/recipes-bsp/acpid/acpid.inc +++ b/meta/recipes-bsp/acpid/acpid.inc @@ -9,6 +9,8 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/acpid2/acpid-${PV}.tar.xz \ file://acpid.service \ " +CVE_PRODUCT = "acpid2" + inherit autotools update-rc.d systemd INITSCRIPT_NAME = "acpid" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 08:14:25 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 08:14:25 +0000 Subject: [oe-commits] [openembedded-core] 07/33: glibc-package.inc: add support for armeb of multilib In-Reply-To: <150088405837.31328.281087139160305298@git.openembedded.org> References: <150088405837.31328.281087139160305298@git.openembedded.org> Message-ID: <20170724081418.D1626232834@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit ac3acdcdc313ee13739d378e88b907b31765cfee Author: zhengrq AuthorDate: Thu Jul 20 23:03:47 2017 +0800 glibc-package.inc: add support for armeb of multilib Add support for armeb of multilib. Signed-off-by: zhengrq Signed-off-by: Ross Burton --- meta/recipes-core/glibc/glibc-package.inc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/meta/recipes-core/glibc/glibc-package.inc b/meta/recipes-core/glibc/glibc-package.inc index 0281251..a291148 100644 --- a/meta/recipes-core/glibc/glibc-package.inc +++ b/meta/recipes-core/glibc/glibc-package.inc @@ -131,6 +131,10 @@ do_install_append_arm () { do_install_armmultilib } +do_install_append_armeb () { + do_install_armmultilib +} + do_install_armmultilib () { oe_multilib_header bits/endian.h bits/fcntl.h bits/fenv.h bits/fp-fast.h bits/hwcap.h bits/ipc.h bits/link.h bits/wordsize.h -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 08:14:28 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 08:14:28 +0000 Subject: [oe-commits] [openembedded-core] 10/33: eglinfo.inc: set CVE_PRODUCT to eglinfo In-Reply-To: <150088405837.31328.281087139160305298@git.openembedded.org> References: <150088405837.31328.281087139160305298@git.openembedded.org> Message-ID: <20170724081418.E6B49232837@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 0b8e2a017e117810c83039a316a11da66fe148b1 Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:22:53 2017 +0300 eglinfo.inc: set CVE_PRODUCT to eglinfo Upstream is called eglinfo no matter how the recipes are named. There are no existing CVE's for eglinfo in NVD yet. Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/recipes-graphics/eglinfo/eglinfo.inc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-graphics/eglinfo/eglinfo.inc b/meta/recipes-graphics/eglinfo/eglinfo.inc index d0c0c27..8e7d9bd 100644 --- a/meta/recipes-graphics/eglinfo/eglinfo.inc +++ b/meta/recipes-graphics/eglinfo/eglinfo.inc @@ -11,6 +11,8 @@ SRC_URI = "git://github.com/dv1/eglinfo.git;branch=master \ " SRCREV = "4b317648ec6cf39556a9e5d8078f605bc0edd5de" +CVE_PRODUCT = "eglinfo" + S = "${WORKDIR}/git" inherit waf distro_features_check -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 08:14:23 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 08:14:23 +0000 Subject: [oe-commits] [openembedded-core] 05/33: dhcp: add dhclient.service In-Reply-To: <150088405837.31328.281087139160305298@git.openembedded.org> References: <150088405837.31328.281087139160305298@git.openembedded.org> Message-ID: <20170724081418.C1C19232832@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit faa8d0f5e8db4a99367d42ba8c8de5b2e339d8d2 Author: Chen Qi AuthorDate: Thu Jul 20 15:33:58 2017 +0800 dhcp: add dhclient.service Add dhclient.service. This service file mainly comes from meta-systemd, with modifications to take nfs boot into consideration. While using eth0 as the nfsboot interface, we'd like dhclient service to skip it like what ifup and connman do in sysvinit. Signed-off-by: Chen Qi Signed-off-by: Ross Burton --- meta/recipes-connectivity/dhcp/dhcp.inc | 21 ++++++++++-- .../dhcp/files/dhclient-systemd-wrapper | 39 ++++++++++++++++++++++ .../dhcp/files/dhclient.service | 13 ++++++++ 3 files changed, 70 insertions(+), 3 deletions(-) diff --git a/meta/recipes-connectivity/dhcp/dhcp.inc b/meta/recipes-connectivity/dhcp/dhcp.inc index 292f192..db4a963 100644 --- a/meta/recipes-connectivity/dhcp/dhcp.inc +++ b/meta/recipes-connectivity/dhcp/dhcp.inc @@ -17,6 +17,8 @@ SRC_URI = "http://ftp.isc.org/isc/dhcp/${PV}/dhcp-${PV}.tar.gz \ file://init-relay file://default-relay \ file://init-server file://default-server \ file://dhclient.conf file://dhcpd.conf \ + file://dhclient-systemd-wrapper \ + file://dhclient.service \ file://dhcpd.service file://dhcrelay.service \ file://dhcpd6.service \ file://search-for-libxml2.patch " @@ -29,13 +31,16 @@ inherit autotools systemd useradd update-rc.d USERADD_PACKAGES = "${PN}-server" USERADD_PARAM_${PN}-server = "--system --no-create-home --home-dir /var/run/${PN} --shell /bin/false --user-group ${PN}" -SYSTEMD_PACKAGES = "${PN}-server ${PN}-relay" +SYSTEMD_PACKAGES = "${PN}-server ${PN}-relay ${PN}-client" SYSTEMD_SERVICE_${PN}-server = "dhcpd.service dhcpd6.service" SYSTEMD_AUTO_ENABLE_${PN}-server = "disable" SYSTEMD_SERVICE_${PN}-relay = "dhcrelay.service" SYSTEMD_AUTO_ENABLE_${PN}-relay = "disable" +SYSTEMD_SERVICE_${PN}-client = "dhclient.service" +SYSTEMD_AUTO_ENABLE_${PN}-client = "disable" + INITSCRIPT_PACKAGES = "dhcp-server" INITSCRIPT_NAME_dhcp-server = "dhcp-server" INITSCRIPT_PARAMS_dhcp-server = "defaults" @@ -79,7 +84,13 @@ do_install_append () { sed -i -e 's, at SYSCONFDIR@,${sysconfdir},g' ${D}${systemd_unitdir}/system/dhcpd*.service sed -i -e 's, at base_bindir@,${base_bindir},g' ${D}${systemd_unitdir}/system/dhcpd*.service sed -i -e 's, at localstatedir@,${localstatedir},g' ${D}${systemd_unitdir}/system/dhcpd*.service - sed -i -e 's, at SYSCONFDIR@,${sysconfdir},g' ${D}${systemd_unitdir}/system/dhcrelay.service + sed -i -e 's, at SYSCONFDIR@,${sysconfdir},g' ${D}${systemd_unitdir}/system/dhcrelay.service + + install -d ${D}${base_sbindir} + install -m 0755 ${WORKDIR}/dhclient-systemd-wrapper ${D}${base_sbindir}/dhclient-systemd-wrapper + install -m 0644 ${WORKDIR}/dhclient.service ${D}${systemd_unitdir}/system + sed -i -e 's, at SYSCONFDIR@,${sysconfdir},g' ${D}${systemd_unitdir}/system/dhclient.service + sed -i -e 's, at BASE_SBINDIR@,${base_sbindir},g' ${D}${systemd_unitdir}/system/dhclient.service } PACKAGES += "dhcp-libs dhcp-server dhcp-server-config dhcp-client dhcp-relay dhcp-omshell" @@ -97,7 +108,11 @@ FILES_${PN}-server-config = "${sysconfdir}/default/dhcp-server ${sysconfdir}/dhc FILES_${PN}-relay = "${sbindir}/dhcrelay ${sysconfdir}/init.d/dhcp-relay ${sysconfdir}/default/dhcp-relay" -FILES_${PN}-client = "${base_sbindir}/dhclient ${base_sbindir}/dhclient-script ${sysconfdir}/dhcp/dhclient.conf" +FILES_${PN}-client = "${base_sbindir}/dhclient \ + ${base_sbindir}/dhclient-script \ + ${sysconfdir}/dhcp/dhclient.conf \ + ${base_sbindir}/dhclient-systemd-wrapper \ + " FILES_${PN}-omshell = "${bindir}/omshell" diff --git a/meta/recipes-connectivity/dhcp/files/dhclient-systemd-wrapper b/meta/recipes-connectivity/dhcp/files/dhclient-systemd-wrapper new file mode 100644 index 0000000..7d0e224 --- /dev/null +++ b/meta/recipes-connectivity/dhcp/files/dhclient-systemd-wrapper @@ -0,0 +1,39 @@ +#!/bin/sh + +# In case the interface is used for nfs, skip it. +nfsroot=0 +interfaces="" +exec 9<&0 < /proc/mounts +while read dev mtpt fstype rest; do + if test $mtpt = "/" ; then + case $fstype in + nfs | nfs4) + nfsroot=1 + nfs_addr=`echo $rest | sed -e 's/^.*addr=\([0-9.]*\).*$/\1/'` + break + ;; + *) + ;; + esac + fi +done +exec 0<&9 9<&- + +if [ $nfsroot -eq 0 ]; then + interfaces="$INTERFACES" +else + if [ -x /bin/ip -o -x /sbin/ip ] ; then + nfs_iface=`ip route get $nfs_addr | grep dev | sed -e 's/^.*dev \([-a-z0-9.]*\).*$/\1/'` + fi + for i in $INTERFACES; do + if test "x$i" = "x$nfs_iface"; then + echo "dhclient skipping nfsroot interface $i" + else + interfaces="$interfaces $i" + fi + done +fi + +if test "x$interfaces" != "x"; then + /sbin/dhclient -d -cf /etc/dhcp/dhclient.conf -q -lf /var/lib/dhcp/dhclient.leases $interfaces +fi diff --git a/meta/recipes-connectivity/dhcp/files/dhclient.service b/meta/recipes-connectivity/dhcp/files/dhclient.service new file mode 100644 index 0000000..9ddb4d1 --- /dev/null +++ b/meta/recipes-connectivity/dhcp/files/dhclient.service @@ -0,0 +1,13 @@ +[Unit] +Description=Dynamic Host Configuration Protocol (DHCP) +Wants=network.target +Before=network.target +After=systemd-udevd.service + +[Service] +EnvironmentFile=- at SYSCONFDIR@/default/dhcp-client +ExecStart=@BASE_SBINDIR@/dhclient-systemd-wrapper +RemainAfterExit=yes + +[Install] +WantedBy=multi-user.target -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 08:14:24 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 08:14:24 +0000 Subject: [oe-commits] [openembedded-core] 06/33: rpm/dnf: fix Upstream-Status to reflect upstream submission status In-Reply-To: <150088405837.31328.281087139160305298@git.openembedded.org> References: <150088405837.31328.281087139160305298@git.openembedded.org> Message-ID: <20170724081418.CA7C1232833@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 1ed4b8438087fe6d61203ffbe9737ac382e0d6eb Author: Alexander Kanavin AuthorDate: Thu Jul 20 15:27:08 2017 +0300 rpm/dnf: fix Upstream-Status to reflect upstream submission status Signed-off-by: Alexander Kanavin Signed-off-by: Ross Burton --- .../createrepo-c/0001-Correctly-install-the-shared-library.patch | 2 +- .../dnf/0001-Move-releasever-check-after-the-etc-dnf-vars-substit.patch | 2 +- .../libcomps/0002-Set-library-installation-path-correctly.patch | 2 +- .../0001-FindGtkDoc.cmake-drop-the-requirement-for-GTKDOC_SCA.patch | 2 +- .../0001-Get-parameters-for-both-libsolv-and-libsolvext-libdn.patch | 2 +- .../libdnf/0002-Prefix-sysroot-path-to-introspection-tools-path.patch | 2 +- .../libdnf/0003-Set-the-library-installation-directory-correctly.patch | 2 +- .../0004-Set-libsolv-variables-with-pkg-config-cmake-s-own-mo.patch | 2 +- .../librepo/0001-Correctly-set-the-library-installation-directory.patch | 2 +- .../0003-tests-fix-a-race-when-deleting-temporary-directories.patch | 2 +- .../0004-Set-gpgme-variables-with-pkg-config-not-with-cmake-m.patch | 2 +- .../0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch | 2 +- .../recipes-devtools/rpm/files/0001-Fix-build-with-musl-C-library.patch | 2 +- 13 files changed, 13 insertions(+), 13 deletions(-) diff --git a/meta/recipes-devtools/createrepo-c/createrepo-c/0001-Correctly-install-the-shared-library.patch b/meta/recipes-devtools/createrepo-c/createrepo-c/0001-Correctly-install-the-shared-library.patch index 0127124..cd72084 100644 --- a/meta/recipes-devtools/createrepo-c/createrepo-c/0001-Correctly-install-the-shared-library.patch +++ b/meta/recipes-devtools/createrepo-c/createrepo-c/0001-Correctly-install-the-shared-library.patch @@ -3,7 +3,7 @@ From: Alexander Kanavin Date: Mon, 2 Jan 2017 17:23:59 +0200 Subject: [PATCH] Correctly install the shared library -Upstream-Status: Pending +Upstream-Status: Submitted [https://github.com/rpm-software-management/createrepo_c/pull/78] Signed-off-by: Alexander Kanavin --- src/CMakeLists.txt | 3 ++- diff --git a/meta/recipes-devtools/dnf/dnf/0001-Move-releasever-check-after-the-etc-dnf-vars-substit.patch b/meta/recipes-devtools/dnf/dnf/0001-Move-releasever-check-after-the-etc-dnf-vars-substit.patch index 0226d4f..daf058b 100644 --- a/meta/recipes-devtools/dnf/dnf/0001-Move-releasever-check-after-the-etc-dnf-vars-substit.patch +++ b/meta/recipes-devtools/dnf/dnf/0001-Move-releasever-check-after-the-etc-dnf-vars-substit.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Move releasever check after the etc/dnf/vars substitutions. The substitutions may actually set the releasever correctly, and so the check is premature. -Upstream-Status: Pending +Upstream-Status: Submitted [https://github.com/rpm-software-management/dnf/pull/868] Signed-off-by: Alexander Kanavin --- dnf/cli/cli.py | 6 +++--- diff --git a/meta/recipes-devtools/libcomps/libcomps/0002-Set-library-installation-path-correctly.patch b/meta/recipes-devtools/libcomps/libcomps/0002-Set-library-installation-path-correctly.patch index ec1fdc4..dc3d976 100644 --- a/meta/recipes-devtools/libcomps/libcomps/0002-Set-library-installation-path-correctly.patch +++ b/meta/recipes-devtools/libcomps/libcomps/0002-Set-library-installation-path-correctly.patch @@ -3,7 +3,7 @@ From: Alexander Kanavin Date: Fri, 30 Dec 2016 18:26:00 +0200 Subject: [PATCH 2/2] Set library installation path correctly -Upstream-Status: Pending +Upstream-Status: Submitted [https://github.com/rpm-software-management/libcomps/pull/32] Signed-off-by: Alexander Kanavin --- libcomps/src/CMakeLists.txt | 2 +- diff --git a/meta/recipes-devtools/libdnf/libdnf/0001-FindGtkDoc.cmake-drop-the-requirement-for-GTKDOC_SCA.patch b/meta/recipes-devtools/libdnf/libdnf/0001-FindGtkDoc.cmake-drop-the-requirement-for-GTKDOC_SCA.patch index 73acda6..791a32e 100644 --- a/meta/recipes-devtools/libdnf/libdnf/0001-FindGtkDoc.cmake-drop-the-requirement-for-GTKDOC_SCA.patch +++ b/meta/recipes-devtools/libdnf/libdnf/0001-FindGtkDoc.cmake-drop-the-requirement-for-GTKDOC_SCA.patch @@ -7,7 +7,7 @@ Subject: [PATCH 1/4] FindGtkDoc.cmake: drop the requirement for For some reason cmake is not able to find it when building in openembedded, and it's bundled with the source code anyway. -Upstream-Status: Pending +Upstream-Status: Submitted [https://github.com/rpm-software-management/libdnf/pull/312] Signed-off-by: Alexander Kanavin --- cmake/modules/FindGtkDoc.cmake | 2 +- diff --git a/meta/recipes-devtools/libdnf/libdnf/0001-Get-parameters-for-both-libsolv-and-libsolvext-libdn.patch b/meta/recipes-devtools/libdnf/libdnf/0001-Get-parameters-for-both-libsolv-and-libsolvext-libdn.patch index 77b20c2..280edb7 100644 --- a/meta/recipes-devtools/libdnf/libdnf/0001-Get-parameters-for-both-libsolv-and-libsolvext-libdn.patch +++ b/meta/recipes-devtools/libdnf/libdnf/0001-Get-parameters-for-both-libsolv-and-libsolvext-libdn.patch @@ -4,7 +4,7 @@ Date: Tue, 7 Feb 2017 12:16:03 +0200 Subject: [PATCH 5/5] Get parameters for both libsolv and libsolvext (libdnf is using both) -Upstream-Status: Pending [depends on whether https://github.com/openSUSE/libsolv/pull/177 is accepted] +Upstream-Status: Submitted [https://github.com/rpm-software-management/libdnf/pull/312] Signed-off-by: Alexander Kanavin --- diff --git a/meta/recipes-devtools/libdnf/libdnf/0002-Prefix-sysroot-path-to-introspection-tools-path.patch b/meta/recipes-devtools/libdnf/libdnf/0002-Prefix-sysroot-path-to-introspection-tools-path.patch index 3d772a5..7eecc3d 100644 --- a/meta/recipes-devtools/libdnf/libdnf/0002-Prefix-sysroot-path-to-introspection-tools-path.patch +++ b/meta/recipes-devtools/libdnf/libdnf/0002-Prefix-sysroot-path-to-introspection-tools-path.patch @@ -3,7 +3,7 @@ From: Alexander Kanavin Date: Fri, 30 Dec 2016 18:17:19 +0200 Subject: [PATCH 2/4] Prefix sysroot path to introspection tools path. -Upstream-Status: Pending +Upstream-Status: Submitted [https://github.com/rpm-software-management/libdnf/pull/312] Signed-off-by: Alexander Kanavin --- libdnf/CMakeLists.txt | 4 ++-- diff --git a/meta/recipes-devtools/libdnf/libdnf/0003-Set-the-library-installation-directory-correctly.patch b/meta/recipes-devtools/libdnf/libdnf/0003-Set-the-library-installation-directory-correctly.patch index d7e59d8..8126409 100644 --- a/meta/recipes-devtools/libdnf/libdnf/0003-Set-the-library-installation-directory-correctly.patch +++ b/meta/recipes-devtools/libdnf/libdnf/0003-Set-the-library-installation-directory-correctly.patch @@ -3,7 +3,7 @@ From: Alexander Kanavin Date: Fri, 30 Dec 2016 18:20:01 +0200 Subject: [PATCH 3/4] Set the library installation directory correctly. -Upstream-Status: Pending +Upstream-Status: Submitted [https://github.com/rpm-software-management/libdnf/pull/312] Signed-off-by: Alexander Kanavin --- CMakeLists.txt | 4 +++- diff --git a/meta/recipes-devtools/libdnf/libdnf/0004-Set-libsolv-variables-with-pkg-config-cmake-s-own-mo.patch b/meta/recipes-devtools/libdnf/libdnf/0004-Set-libsolv-variables-with-pkg-config-cmake-s-own-mo.patch index fc3b048..1ea9310 100644 --- a/meta/recipes-devtools/libdnf/libdnf/0004-Set-libsolv-variables-with-pkg-config-cmake-s-own-mo.patch +++ b/meta/recipes-devtools/libdnf/libdnf/0004-Set-libsolv-variables-with-pkg-config-cmake-s-own-mo.patch @@ -4,7 +4,7 @@ Date: Fri, 30 Dec 2016 18:24:50 +0200 Subject: [PATCH 4/5] Set libsolv variables with pkg-config (cmake's own module doesn't work properly). -Upstream-Status: Pending +Upstream-Status: Submitted [https://github.com/rpm-software-management/libdnf/pull/312] Signed-off-by: Alexander Kanavin --- diff --git a/meta/recipes-devtools/librepo/librepo/0001-Correctly-set-the-library-installation-directory.patch b/meta/recipes-devtools/librepo/librepo/0001-Correctly-set-the-library-installation-directory.patch index 01fea40..08a58f1 100644 --- a/meta/recipes-devtools/librepo/librepo/0001-Correctly-set-the-library-installation-directory.patch +++ b/meta/recipes-devtools/librepo/librepo/0001-Correctly-set-the-library-installation-directory.patch @@ -3,7 +3,7 @@ From: Alexander Kanavin Date: Fri, 30 Dec 2016 18:04:35 +0200 Subject: [PATCH 1/4] Correctly set the library installation directory -Upstream-Status: Pending +Upstream-Status: Submitted [https://github.com/rpm-software-management/librepo/pull/110] Signed-off-by: Alexander Kanavin --- librepo/CMakeLists.txt | 3 ++- diff --git a/meta/recipes-devtools/librepo/librepo/0003-tests-fix-a-race-when-deleting-temporary-directories.patch b/meta/recipes-devtools/librepo/librepo/0003-tests-fix-a-race-when-deleting-temporary-directories.patch index 0d2fae4..89ca60e 100644 --- a/meta/recipes-devtools/librepo/librepo/0003-tests-fix-a-race-when-deleting-temporary-directories.patch +++ b/meta/recipes-devtools/librepo/librepo/0003-tests-fix-a-race-when-deleting-temporary-directories.patch @@ -3,7 +3,7 @@ From: Alexander Kanavin Date: Fri, 30 Dec 2016 18:06:24 +0200 Subject: [PATCH 3/4] tests: fix a race when deleting temporary directories -Upstream-Status: Pending +Upstream-Status: Submitted [https://github.com/rpm-software-management/librepo/pull/110] Signed-off-by: Alexander Kanavin --- tests/python/tests/test_yum_repo_downloading.py | 2 +- diff --git a/meta/recipes-devtools/librepo/librepo/0004-Set-gpgme-variables-with-pkg-config-not-with-cmake-m.patch b/meta/recipes-devtools/librepo/librepo/0004-Set-gpgme-variables-with-pkg-config-not-with-cmake-m.patch index 6665b31..f7d7ab3 100644 --- a/meta/recipes-devtools/librepo/librepo/0004-Set-gpgme-variables-with-pkg-config-not-with-cmake-m.patch +++ b/meta/recipes-devtools/librepo/librepo/0004-Set-gpgme-variables-with-pkg-config-not-with-cmake-m.patch @@ -4,7 +4,7 @@ Date: Fri, 30 Dec 2016 18:23:27 +0200 Subject: [PATCH 4/4] Set gpgme variables with pkg-config, not with cmake module (which doesn't work properly) -Upstream-Status: Pending +Upstream-Status: Inappropriate [gpgme upstream does not have pkg-config support and is not interested in it] Signed-off-by: Alexander Kanavin --- CMakeLists.txt | 3 ++- diff --git a/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch b/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch index d99ddeb..1f61aca 100644 --- a/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch +++ b/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch @@ -4,7 +4,7 @@ Date: Mon, 27 Feb 2017 09:43:30 +0200 Subject: [PATCH] Do not hardcode "lib/rpm" as the installation path for default configuration and macros. -Upstream-Status: Inappropriate [oe-core specific] +Upstream-Status: Submitted [https://github.com/rpm-software-management/rpm/pull/263] Signed-off-by: Alexander Kanavin --- diff --git a/meta/recipes-devtools/rpm/files/0001-Fix-build-with-musl-C-library.patch b/meta/recipes-devtools/rpm/files/0001-Fix-build-with-musl-C-library.patch index 95c7013..edf9ec0 100644 --- a/meta/recipes-devtools/rpm/files/0001-Fix-build-with-musl-C-library.patch +++ b/meta/recipes-devtools/rpm/files/0001-Fix-build-with-musl-C-library.patch @@ -3,7 +3,7 @@ From: Alexander Kanavin Date: Mon, 27 Feb 2017 14:43:21 +0200 Subject: [PATCH] Fix build with musl C library. -Upstream-Status: Pending +Upstream-Status: Inappropriate [problem already solved in master branch] Signed-off-by: Alexander Kanavin -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 08:14:30 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 08:14:30 +0000 Subject: [oe-commits] [openembedded-core] 12/33: gcc-common.inc: set CVE_PRODUCT to gcc In-Reply-To: <150088405837.31328.281087139160305298@git.openembedded.org> References: <150088405837.31328.281087139160305298@git.openembedded.org> Message-ID: <20170724081419.0236D232839@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit bd6f1430334412588c143d8029be39fe814672cd Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:22:55 2017 +0300 gcc-common.inc: set CVE_PRODUCT to gcc All recipes which include this are using gcc as product name in NVD like https://nvd.nist.gov/vuln/detail/CVE-2015-5276 Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/recipes-devtools/gcc/gcc-common.inc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-devtools/gcc/gcc-common.inc b/meta/recipes-devtools/gcc/gcc-common.inc index 3d484ef..b5975b5 100644 --- a/meta/recipes-devtools/gcc/gcc-common.inc +++ b/meta/recipes-devtools/gcc/gcc-common.inc @@ -5,6 +5,8 @@ LICENSE = "GPL" NATIVEDEPS = "" +CVE_PRODUCT = "gcc" + inherit autotools gettext texinfo BPN = "gcc" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 08:14:29 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 08:14:29 +0000 Subject: [oe-commits] [openembedded-core] 11/33: flac_1.3.1.bb: set CVE_PRODUCT to libflac In-Reply-To: <150088405837.31328.281087139160305298@git.openembedded.org> References: <150088405837.31328.281087139160305298@git.openembedded.org> Message-ID: <20170724081418.EE083232838@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit e09bd27059b26affddf466f4e55a7f4c719c3b17 Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:22:54 2017 +0300 flac_1.3.1.bb: set CVE_PRODUCT to libflac NVD uses product name libflac for CVE's like: https://nvd.nist.gov/vuln/detail/CVE-2014-8962 Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/recipes-multimedia/flac/flac_1.3.2.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-multimedia/flac/flac_1.3.2.bb b/meta/recipes-multimedia/flac/flac_1.3.2.bb index 8a7fc5e..8315ab5 100644 --- a/meta/recipes-multimedia/flac/flac_1.3.2.bb +++ b/meta/recipes-multimedia/flac/flac_1.3.2.bb @@ -19,6 +19,8 @@ SRC_URI = "http://downloads.xiph.org/releases/flac/${BP}.tar.xz" SRC_URI[md5sum] = "454f1bfa3f93cc708098d7890d0499bd" SRC_URI[sha256sum] = "91cfc3ed61dc40f47f050a109b08610667d73477af6ef36dcad31c31a4a8d53f" +CVE_PRODUCT = "libflac" + inherit autotools gettext EXTRA_OECONF = "--disable-oggtest \ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 08:14:32 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 08:14:32 +0000 Subject: [oe-commits] [openembedded-core] 14/33: glibc-common.inc: set CVE_PRODUCT to glibc In-Reply-To: <150088405837.31328.281087139160305298@git.openembedded.org> References: <150088405837.31328.281087139160305298@git.openembedded.org> Message-ID: <20170724081419.193FD23283B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 613a13725db4e05539974cc7c66584a287d7b4bd Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:22:57 2017 +0300 glibc-common.inc: set CVE_PRODUCT to glibc All recipes which include this .inc map to glibc NVD component. Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/recipes-core/glibc/glibc-common.inc | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/recipes-core/glibc/glibc-common.inc b/meta/recipes-core/glibc/glibc-common.inc index bba1568..b05e162 100644 --- a/meta/recipes-core/glibc/glibc-common.inc +++ b/meta/recipes-core/glibc/glibc-common.inc @@ -7,3 +7,4 @@ LIC_FILES_CHKSUM ?= "file://LICENSES;md5=07a394b26e0902b9ffdec03765209770 \ file://COPYING;md5=393a5ca445f6965873eca0259a17f833 \ file://posix/rxspencer/COPYRIGHT;md5=dc5485bb394a13b2332ec1c785f5d83a \ file://COPYING.LIB;md5=bbb461211a33b134d42ed5ee802b37ff " +CVE_PRODUCT = "glibc" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 08:14:31 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 08:14:31 +0000 Subject: [oe-commits] [openembedded-core] 13/33: glib.inc: set CVE_PRODUCT to glib In-Reply-To: <150088405837.31328.281087139160305298@git.openembedded.org> References: <150088405837.31328.281087139160305298@git.openembedded.org> Message-ID: <20170724081419.0E79523283A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 69d6342d45316389afb4b062088919689db0a6dd Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:22:56 2017 +0300 glib.inc: set CVE_PRODUCT to glib NVD uses product glib and vendor gnome for CVE's like: https://nvd.nist.gov/vuln/detail/CVE-2016-6855 Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/recipes-core/glib-2.0/glib.inc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-core/glib-2.0/glib.inc b/meta/recipes-core/glib-2.0/glib.inc index 4a145ae..d6ef4df 100644 --- a/meta/recipes-core/glib-2.0/glib.inc +++ b/meta/recipes-core/glib-2.0/glib.inc @@ -15,6 +15,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \ BUGTRACKER = "http://bugzilla.gnome.org" SECTION = "libs" +CVE_PRODUCT = "glib" + BBCLASSEXTEND = "native nativesdk" DEPENDS = "virtual/libiconv libffi zlib glib-2.0-native" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 08:14:36 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 08:14:36 +0000 Subject: [oe-commits] [openembedded-core] 18/33: libsamplerate0_0.1.9.bb: set CVE_PRODUCT to libsamplerate In-Reply-To: <150088405837.31328.281087139160305298@git.openembedded.org> References: <150088405837.31328.281087139160305298@git.openembedded.org> Message-ID: <20170724081419.3866C23283F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit baafa21919082a8b61af3345c35922d205b254c6 Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:23:01 2017 +0300 libsamplerate0_0.1.9.bb: set CVE_PRODUCT to libsamplerate It is used in NVD for CVE's like: https://nvd.nist.gov/vuln/detail/CVE-2017-7697 Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/recipes-multimedia/libsamplerate/libsamplerate0_0.1.9.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-multimedia/libsamplerate/libsamplerate0_0.1.9.bb b/meta/recipes-multimedia/libsamplerate/libsamplerate0_0.1.9.bb index 5473bff..ae08189 100644 --- a/meta/recipes-multimedia/libsamplerate/libsamplerate0_0.1.9.bb +++ b/meta/recipes-multimedia/libsamplerate/libsamplerate0_0.1.9.bb @@ -14,6 +14,8 @@ SRC_URI = "http://www.mega-nerd.com/SRC/libsamplerate-${PV}.tar.gz \ SRC_URI[md5sum] = "2b78ae9fe63b36b9fbb6267fad93f259" SRC_URI[sha256sum] = "0a7eb168e2f21353fb6d84da152e4512126f7dc48ccb0be80578c565413444c1" +CVE_PRODUCT = "libsamplerate" + UPSTREAM_CHECK_URI = "http://www.mega-nerd.com/SRC/download.html" S = "${WORKDIR}/libsamplerate-${PV}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 08:14:34 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 08:14:34 +0000 Subject: [oe-commits] [openembedded-core] 16/33: libpcre_8.40.bb: set CVE_PRODUCT to prce In-Reply-To: <150088405837.31328.281087139160305298@git.openembedded.org> References: <150088405837.31328.281087139160305298@git.openembedded.org> Message-ID: <20170724081419.2A58923283D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 523e823988f08679a384a14c4e768b2819f8a6bf Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:22:59 2017 +0300 libpcre_8.40.bb: set CVE_PRODUCT to prce It is used in NVD for CVE's like: https://nvd.nist.gov/vuln/detail/CVE-2017-7246 Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/recipes-support/libpcre/libpcre_8.40.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-support/libpcre/libpcre_8.40.bb b/meta/recipes-support/libpcre/libpcre_8.40.bb index 8563cd1..a897ac6 100644 --- a/meta/recipes-support/libpcre/libpcre_8.40.bb +++ b/meta/recipes-support/libpcre/libpcre_8.40.bb @@ -17,6 +17,8 @@ SRC_URI = "https://ftp.pcre.org/pub/pcre/pcre-${PV}.tar.bz2 \ SRC_URI[md5sum] = "41a842bf7dcecd6634219336e2167d1d" SRC_URI[sha256sum] = "00e27a29ead4267e3de8111fcaa59b132d0533cdfdbdddf4b0604279acbcf4f4" +CVE_PRODUCT = "pcre" + S = "${WORKDIR}/pcre-${PV}" PROVIDES += "pcre" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 08:14:37 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 08:14:37 +0000 Subject: [oe-commits] [openembedded-core] 19/33: libsndfile1_1.0.28.bb: set CVE_PRODUCT to libsndfile In-Reply-To: <150088405837.31328.281087139160305298@git.openembedded.org> References: <150088405837.31328.281087139160305298@git.openembedded.org> Message-ID: <20170724081419.3F413232840@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit adfb1c7fe28a6ef2bcf698f7415fd86b01bdc489 Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:23:02 2017 +0300 libsndfile1_1.0.28.bb: set CVE_PRODUCT to libsndfile It is used in NVD to CVE's like: https://nvd.nist.gov/vuln/detail/CVE-2017-6892 Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/recipes-multimedia/libsndfile/libsndfile1_1.0.28.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-multimedia/libsndfile/libsndfile1_1.0.28.bb b/meta/recipes-multimedia/libsndfile/libsndfile1_1.0.28.bb index 6f242cfa..e6a92a2 100644 --- a/meta/recipes-multimedia/libsndfile/libsndfile1_1.0.28.bb +++ b/meta/recipes-multimedia/libsndfile/libsndfile1_1.0.28.bb @@ -14,6 +14,8 @@ SRC_URI[sha256sum] = "1ff33929f042fa333aed1e8923aa628c3ee9e1eb85512686c55092d1e5 LIC_FILES_CHKSUM = "file://COPYING;md5=e77fe93202736b47c07035910f47974a" +CVE_PRODUCT = "libsndfile" + S = "${WORKDIR}/libsndfile-${PV}" PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'alsa', d)}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 08:14:40 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 08:14:40 +0000 Subject: [oe-commits] [openembedded-core] 22/33: lttng-ust_2.9.1.bb: set CVE_PRODUCT to ust In-Reply-To: <150088405837.31328.281087139160305298@git.openembedded.org> References: <150088405837.31328.281087139160305298@git.openembedded.org> Message-ID: <20170724081419.5B04E23282E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 1c6643f139911ab27618d20f9d4ca609235a680b Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:23:05 2017 +0300 lttng-ust_2.9.1.bb: set CVE_PRODUCT to ust It is used in NVD for CVE's like: https://nvd.nist.gov/vuln/detail/CVE-2010-3386 Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/recipes-kernel/lttng/lttng-ust_2.9.1.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-kernel/lttng/lttng-ust_2.9.1.bb b/meta/recipes-kernel/lttng/lttng-ust_2.9.1.bb index f7e01bb..03da4ca 100644 --- a/meta/recipes-kernel/lttng/lttng-ust_2.9.1.bb +++ b/meta/recipes-kernel/lttng/lttng-ust_2.9.1.bb @@ -26,6 +26,8 @@ SRC_URI = "https://lttng.org/files/lttng-ust/lttng-ust-${PV}.tar.bz2 \ SRC_URI[md5sum] = "5a5636fc3d9aa370f65b25a802a79e6e" SRC_URI[sha256sum] = "b891d267cdbbbd11cf34751f66c21c4a7fdc0eec3c1b53be2c40dca073b7daa4" +CVE_PRODUCT = "ust" + PACKAGECONFIG[manpages] = "--enable-man-pages, --disable-man-pages, asciidoc-native xmlto-native libxslt-native" do_install_append() { -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 08:14:41 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 08:14:41 +0000 Subject: [oe-commits] [openembedded-core] 23/33: quota_4.03.bb: set CVE_PRODUCT to linux_diskquota In-Reply-To: <150088405837.31328.281087139160305298@git.openembedded.org> References: <150088405837.31328.281087139160305298@git.openembedded.org> Message-ID: <20170724081419.625C923282F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 07be7cb9405e4a6289edad8afb3a50c1f8651620 Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:23:06 2017 +0300 quota_4.03.bb: set CVE_PRODUCT to linux_diskquota It is used in NVD for CVE's like: https://nvd.nist.gov/vuln/detail/CVE-2012-3417 Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/recipes-extended/quota/quota_4.03.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-extended/quota/quota_4.03.bb b/meta/recipes-extended/quota/quota_4.03.bb index 22aab41..28b3854 100644 --- a/meta/recipes-extended/quota/quota_4.03.bb +++ b/meta/recipes-extended/quota/quota_4.03.bb @@ -22,6 +22,8 @@ SRC_URI_append_libc-musl = " file://replace_getrpcbynumber_r.patch" SRC_URI[md5sum] = "6b09f9c93515c25a528be5754cdfb6f5" SRC_URI[sha256sum] = "9c6c4d9ae7bf30506dd2aa3d8056c4ff2f8d087930d7c721616f5c093bdc674b" +CVE_PRODUCT = "linux_diskquota" + UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/linuxquota/files/quota-tools/" UPSTREAM_CHECK_REGEX = "/quota-tools/(?P(\d+[\.\-_]*)+)/" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 08:14:39 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 08:14:39 +0000 Subject: [oe-commits] [openembedded-core] 21/33: python.inc: set CVE_PRODUCT to python In-Reply-To: <150088405837.31328.281087139160305298@git.openembedded.org> References: <150088405837.31328.281087139160305298@git.openembedded.org> Message-ID: <20170724081419.5099D232842@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 848e1be494e8ea10c729f95f02acb366e1843d75 Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:23:04 2017 +0300 python.inc: set CVE_PRODUCT to python All python versions are just python in NVD like this CVE for python 3.4.4: https://nvd.nist.gov/vuln/detail/CVE-2016-5699 Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/recipes-devtools/python/python.inc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-devtools/python/python.inc b/meta/recipes-devtools/python/python.inc index b4bce24..b40f551 100644 --- a/meta/recipes-devtools/python/python.inc +++ b/meta/recipes-devtools/python/python.inc @@ -16,6 +16,8 @@ SRC_URI[sha256sum] = "35d543986882f78261f97787fd3e06274bfa6df29fac9b4a94f73930ff # also, exclude pre-releases for both python 2.x and 3.x UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P2(\.\d+)+).tar" +CVE_PRODUCT = "python" + PYTHON_MAJMIN = "2.7" inherit autotools pkgconfig -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 08:14:44 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 08:14:44 +0000 Subject: [oe-commits] [openembedded-core] 26/33: cve-check.bbclass: use weak assignment for default CVE_PRODUCT In-Reply-To: <150088405837.31328.281087139160305298@git.openembedded.org> References: <150088405837.31328.281087139160305298@git.openembedded.org> Message-ID: <20170724081419.7AA56232831@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 74672a7de5ada45ab8e25b89cbdea3ec33b63b7f Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:23:09 2017 +0300 cve-check.bbclass: use weak assignment for default CVE_PRODUCT This way also bbclasses can override it. For example kernel.bbclass could set CVE_PRODUCT to linux_kernel for all users of the class which compile Linux kernels. Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/classes/cve-check.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/classes/cve-check.bbclass b/meta/classes/cve-check.bbclass index 6f5b0f5..8dde4a2 100644 --- a/meta/classes/cve-check.bbclass +++ b/meta/classes/cve-check.bbclass @@ -22,7 +22,7 @@ # The product name that the CVE database uses. Defaults to BPN, but may need to # be overriden per recipe (for example tiff.bb sets CVE_PRODUCT=libtiff). -CVE_PRODUCT ?= "${BPN}" +CVE_PRODUCT ??= "${BPN}" CVE_CHECK_DB_DIR ?= "${DL_DIR}/CVE_CHECK" CVE_CHECK_DB_FILE ?= "${CVE_CHECK_DB_DIR}/nvd.db" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 08:14:43 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 08:14:43 +0000 Subject: [oe-commits] [openembedded-core] 25/33: wpa-supplicant_2.6.bb: set CVE_PRODUCT to wpa_supplicant In-Reply-To: <150088405837.31328.281087139160305298@git.openembedded.org> References: <150088405837.31328.281087139160305298@git.openembedded.org> Message-ID: <20170724081419.70579232830@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit cc3882ca2fea2c5a8830311eeb7840ae98da9b3c Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:23:08 2017 +0300 wpa-supplicant_2.6.bb: set CVE_PRODUCT to wpa_supplicant It is used in NVD database CVE's like: https://nvd.nist.gov/vuln/detail/CVE-2015-1863 Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.6.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.6.bb b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.6.bb index 146bccf..5215b00 100644 --- a/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.6.bb +++ b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.6.bb @@ -28,6 +28,8 @@ SRC_URI = "http://w1.fi/releases/wpa_supplicant-${PV}.tar.gz \ SRC_URI[md5sum] = "091569eb4440b7d7f2b4276dbfc03c3c" SRC_URI[sha256sum] = "b4936d34c4e6cdd44954beba74296d964bc2c9668ecaa5255e499636fe2b1450" +CVE_PRODUCT = "wpa_supplicant" + S = "${WORKDIR}/wpa_supplicant-${PV}" PACKAGES_prepend = "wpa-supplicant-passphrase wpa-supplicant-cli " -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 08:14:45 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 08:14:45 +0000 Subject: [oe-commits] [openembedded-core] 27/33: kernel.bbclass: set CVE_PRODUCT to linux_kernel if not set by recipe In-Reply-To: <150088405837.31328.281087139160305298@git.openembedded.org> References: <150088405837.31328.281087139160305298@git.openembedded.org> Message-ID: <20170724081419.82460232843@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 2e3d325440a50265c73f7d2e782530a02458bc33 Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:23:10 2017 +0300 kernel.bbclass: set CVE_PRODUCT to linux_kernel if not set by recipe It is used by NVD database CVE's like: https://nvd.nist.gov/vuln/detail/CVE-2017-7273 Setting this in kernel.bbclass fixes CVE reporting for all users of the class. Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/classes/kernel.bbclass | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass index 7670c71..ce2cab6 100644 --- a/meta/classes/kernel.bbclass +++ b/meta/classes/kernel.bbclass @@ -6,6 +6,8 @@ PACKAGE_WRITE_DEPS += "depmodwrapper-cross virtual/update-alternatives-native" do_deploy[depends] += "depmodwrapper-cross:do_populate_sysroot" +CVE_PRODUCT ?= "linux_kernel" + S = "${STAGING_KERNEL_DIR}" B = "${WORKDIR}/build" KBUILD_OUTPUT = "${B}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 08:14:48 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 08:14:48 +0000 Subject: [oe-commits] [openembedded-core] 30/33: ffmpeg: fix pkg-config utilization In-Reply-To: <150088405837.31328.281087139160305298@git.openembedded.org> References: <150088405837.31328.281087139160305298@git.openembedded.org> Message-ID: <20170724081419.9ABFA232846@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 3d5f11f0a1fd036e28a1d3f0c3169d8e21cc1358 Author: Nicolas Dechesne AuthorDate: Thu Jul 20 16:55:11 2017 +0200 ffmpeg: fix pkg-config utilization in config.log we can see: WARNING: aarch64-linaro-linux-pkg-config not found, library detection may fail. ffmpeg configure script is not looking for pkg-config at the rigt place since it is assuming cross compilation. let's force its value in the recipe. This patches 'fixes' library detection, so it also adds: --disable-libxcb --disable-libxcb-shm --disable-libxcb-xfixes --disable-libxcb-shape Which were dangling configure options, which started to be enabled after the pkg-config fix, so they need now to be explicitely disabled. Follow up patch will enable these options when DISTRO_FEATURES has x11. Signed-off-by: Nicolas Dechesne Signed-off-by: Ross Burton --- meta/recipes-multimedia/ffmpeg/ffmpeg_3.3.2.bb | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/meta/recipes-multimedia/ffmpeg/ffmpeg_3.3.2.bb b/meta/recipes-multimedia/ffmpeg/ffmpeg_3.3.2.bb index 73213cc..3c18367 100644 --- a/meta/recipes-multimedia/ffmpeg/ffmpeg_3.3.2.bb +++ b/meta/recipes-multimedia/ffmpeg/ffmpeg_3.3.2.bb @@ -88,6 +88,10 @@ EXTRA_OECONF = " \ --enable-pic \ --enable-shared \ --enable-pthreads \ + --disable-libxcb \ + --disable-libxcb-shm \ + --disable-libxcb-xfixes \ + --disable-libxcb-shape \ ${@bb.utils.contains('USE_NONFREE', 'yes', '--enable-nonfree', '', d)} \ \ --cross-prefix=${TARGET_PREFIX} \ @@ -108,6 +112,7 @@ EXTRA_OECONF = " \ --datadir=${datadir}/ffmpeg \ ${@bb.utils.contains('AVAILTUNES', 'mips32r2', '', '--disable-mipsdsp --disable-mipsdspr2', d)} \ --cpu=${@cpu(d)} \ + --pkg-config=pkg-config \ " EXTRA_OECONF_append_linux-gnux32 = " --disable-asm" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 08:14:33 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 08:14:33 +0000 Subject: [oe-commits] [openembedded-core] 15/33: icu.inc: set CVE_PRODUCT to international_components_for_unicode In-Reply-To: <150088405837.31328.281087139160305298@git.openembedded.org> References: <150088405837.31328.281087139160305298@git.openembedded.org> Message-ID: <20170724081419.22E0A23283C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit eaac39100cadc81c89e6eb5ab389cd684699aa90 Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:22:58 2017 +0300 icu.inc: set CVE_PRODUCT to international_components_for_unicode NVD uses it for CVE's like: https://nvd.nist.gov/vuln/detail/CVE-2014-8146 Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/recipes-support/icu/icu.inc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-support/icu/icu.inc b/meta/recipes-support/icu/icu.inc index 5286274..a1ef9ec 100644 --- a/meta/recipes-support/icu/icu.inc +++ b/meta/recipes-support/icu/icu.inc @@ -9,6 +9,8 @@ LICENSE = "ICU" DEPENDS = "icu-native" DEPENDS_class-native = "" +CVE_PRODUCT = "international_components_for_unicode" + S = "${WORKDIR}/icu/source" SPDX_S = "${WORKDIR}/icu" STAGING_ICU_DIR_NATIVE = "${STAGING_DATADIR_NATIVE}/${BPN}/${PV}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 08:14:38 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 08:14:38 +0000 Subject: [oe-commits] [openembedded-core] 20/33: nspr_4.14.bb: set CVE_PRODUCT to netscape_portable_runtime In-Reply-To: <150088405837.31328.281087139160305298@git.openembedded.org> References: <150088405837.31328.281087139160305298@git.openembedded.org> Message-ID: <20170724081419.46B15232841@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit c75e5d3f4b9293cf2f2ebdd3a23743b3df7aa3df Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:23:03 2017 +0300 nspr_4.14.bb: set CVE_PRODUCT to netscape_portable_runtime This is used in NVD database entries like CVE: https://nvd.nist.gov/vuln/detail/CVE-2016-1951 Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/recipes-support/nspr/nspr_4.14.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-support/nspr/nspr_4.14.bb b/meta/recipes-support/nspr/nspr_4.14.bb index 6b47820..b0892a1 100644 --- a/meta/recipes-support/nspr/nspr_4.14.bb +++ b/meta/recipes-support/nspr/nspr_4.14.bb @@ -25,6 +25,8 @@ UPSTREAM_CHECK_REGEX = "v(?P\d+(\.\d+)+)/" SRC_URI[md5sum] = "743f6b7888a614da9927400874054d8c" SRC_URI[sha256sum] = "64fc18826257403a9132240aa3c45193d577a84b08e96f7e7770a97c074d17d5" +CVE_PRODUCT = "netscape_portable_runtime" + S = "${WORKDIR}/nspr-${PV}/nspr" RDEPENDS_${PN}-dev += "perl" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 08:14:35 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 08:14:35 +0000 Subject: [oe-commits] [openembedded-core] 17/33: libpcre2_10.23.bb: set CVE_PRODUCT to pcre2 In-Reply-To: <150088405837.31328.281087139160305298@git.openembedded.org> References: <150088405837.31328.281087139160305298@git.openembedded.org> Message-ID: <20170724081419.3197B23283E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit ce32c5b8ee77012b36c74323f298dc561741aebd Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:23:00 2017 +0300 libpcre2_10.23.bb: set CVE_PRODUCT to pcre2 It is used in NVD as product name for CVE's like: https://nvd.nist.gov/vuln/detail/CVE-2017-8786 Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/recipes-support/libpcre/libpcre2_10.23.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-support/libpcre/libpcre2_10.23.bb b/meta/recipes-support/libpcre/libpcre2_10.23.bb index 17d397e..794d973 100644 --- a/meta/recipes-support/libpcre/libpcre2_10.23.bb +++ b/meta/recipes-support/libpcre/libpcre2_10.23.bb @@ -17,6 +17,8 @@ SRC_URI = "https://ftp.pcre.org/pub/pcre/pcre2-${PV}.tar.bz2 \ SRC_URI[md5sum] = "b2cd00ca7e24049040099b0a46bb3649" SRC_URI[sha256sum] = "dfc79b918771f02d33968bd34a749ad7487fa1014aeb787fad29dd392b78c56e" +CVE_PRODUCT = "pcre2" + S = "${WORKDIR}/pcre2-${PV}" PROVIDES += "pcre2" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 08:14:47 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 08:14:47 +0000 Subject: [oe-commits] [openembedded-core] 29/33: ovmf-shell-image.bb: simplify dependencies In-Reply-To: <150088405837.31328.281087139160305298@git.openembedded.org> References: <150088405837.31328.281087139160305298@git.openembedded.org> Message-ID: <20170724081419.929C3232845@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit f147b2502ae53d63a884a46e994ae18e12ec4ef6 Author: Patrick Ohly AuthorDate: Fri Jul 21 08:25:13 2017 +0200 ovmf-shell-image.bb: simplify dependencies The image consists only of the EFI system partition, therefore we can avoid depending on the default wic tools. Signed-off-by: Patrick Ohly Signed-off-by: Ross Burton --- meta/recipes-core/ovmf/ovmf-shell-image.bb | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/meta/recipes-core/ovmf/ovmf-shell-image.bb b/meta/recipes-core/ovmf/ovmf-shell-image.bb index 029547b..0d2b8bf 100644 --- a/meta/recipes-core/ovmf/ovmf-shell-image.bb +++ b/meta/recipes-core/ovmf/ovmf-shell-image.bb @@ -1,10 +1,13 @@ DESCRIPTION = "boot image with UEFI shell and tools" # For this image recipe, only the wic format with a -# single vfat partition makes sense. +# single vfat partition makes sense. Because we have no +# boot loader and no rootfs partition, not additional +# tools are needed for this .wks file. IMAGE_FSTYPES_forcevariable = 'wic' - WKS_FILE = "ovmf/ovmf-shell-image.wks" +WKS_FILE_DEPENDS = "" + inherit image # We want a minimal image with just ovmf-shell-efi unpacked in it. We -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 08:14:42 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 08:14:42 +0000 Subject: [oe-commits] [openembedded-core] 24/33: sqlite3.inc: set CVE_PRODUCT to sqlite In-Reply-To: <150088405837.31328.281087139160305298@git.openembedded.org> References: <150088405837.31328.281087139160305298@git.openembedded.org> Message-ID: <20170724081419.6860723282D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit cec6f26f4d2f16c9a58fac5a6344e3d43b36ed09 Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:23:07 2017 +0300 sqlite3.inc: set CVE_PRODUCT to sqlite It is used in NVD for CVE's like: https://nvd.nist.gov/vuln/detail/CVE-2016-6153 Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/recipes-support/sqlite/sqlite3.inc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-support/sqlite/sqlite3.inc b/meta/recipes-support/sqlite/sqlite3.inc index 42b534d..95ec89c 100644 --- a/meta/recipes-support/sqlite/sqlite3.inc +++ b/meta/recipes-support/sqlite/sqlite3.inc @@ -17,6 +17,8 @@ S = "${WORKDIR}/sqlite-autoconf-${SQLITE_PV}" UPSTREAM_CHECK_URI = "http://www.sqlite.org/" UPSTREAM_CHECK_REGEX = "releaselog/(?P(\d+[\.\-_]*)+)\.html" +CVE_PRODUCT = "sqlite" + inherit autotools pkgconfig PACKAGECONFIG ?= "" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 08:14:46 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 08:14:46 +0000 Subject: [oe-commits] [openembedded-core] 28/33: ffmpeg: add PACKAGECONFIG for sdl2 In-Reply-To: <150088405837.31328.281087139160305298@git.openembedded.org> References: <150088405837.31328.281087139160305298@git.openembedded.org> Message-ID: <20170724081419.89C8B232844@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 5c880eb08ec29e169b9f6b7d6f2e0598a0395d30 Author: Nicolas Dechesne AuthorDate: Thu Jul 20 22:56:34 2017 +0200 ffmpeg: add PACKAGECONFIG for sdl2 Enabling sdl2 will bring ffplay applications, which can be handy when working with ffmpeg. Signed-off-by: Nicolas Dechesne Signed-off-by: Ross Burton --- meta/recipes-multimedia/ffmpeg/ffmpeg_3.3.2.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/recipes-multimedia/ffmpeg/ffmpeg_3.3.2.bb b/meta/recipes-multimedia/ffmpeg/ffmpeg_3.3.2.bb index f4bb2ba..73213cc 100644 --- a/meta/recipes-multimedia/ffmpeg/ffmpeg_3.3.2.bb +++ b/meta/recipes-multimedia/ffmpeg/ffmpeg_3.3.2.bb @@ -65,6 +65,7 @@ PACKAGECONFIG[lzma] = "--enable-lzma,--disable-lzma,xz" PACKAGECONFIG[mp3lame] = "--enable-libmp3lame,--disable-libmp3lame,lame" PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl" PACKAGECONFIG[schroedinger] = "--enable-libschroedinger,--disable-libschroedinger,schroedinger" +PACKAGECONFIG[sdl2] = "--enable-sdl2,--disable-sdl2,virtual/libsdl2" PACKAGECONFIG[speex] = "--enable-libspeex,--disable-libspeex,speex" PACKAGECONFIG[theora] = "--enable-libtheora,--disable-libtheora,libtheora" PACKAGECONFIG[vaapi] = "--enable-vaapi,--disable-vaapi,libva" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 08:14:51 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 08:14:51 +0000 Subject: [oe-commits] [openembedded-core] 33/33: linux-yocto: only suggest default kernel type In-Reply-To: <150088405837.31328.281087139160305298@git.openembedded.org> References: <150088405837.31328.281087139160305298@git.openembedded.org> Message-ID: <20170724081419.B13DE232849@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit d3a41fbd94462efc8c6f1b55f6fb54001b447c45 Author: Joe Slater AuthorDate: Thu Jul 20 16:19:51 2017 -0700 linux-yocto: only suggest default kernel type The distro should set a default kernel type (?=) which could be overriden by local.conf (=) or extensions (templates). The kernel itself should only use "??=" to provide a value which allows builds to succeed. Signed-off-by: Joe Slater Signed-off-by: Ross Burton --- meta/recipes-kernel/linux/linux-yocto.inc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meta/recipes-kernel/linux/linux-yocto.inc b/meta/recipes-kernel/linux/linux-yocto.inc index 637506a..aec06c2 100644 --- a/meta/recipes-kernel/linux/linux-yocto.inc +++ b/meta/recipes-kernel/linux/linux-yocto.inc @@ -33,7 +33,8 @@ KERNEL_FEATURES_append_qemuall=" features/debug/printk.scc" # and it can be specific to the machine or shared # KMACHINE = "UNDEFINED" -LINUX_KERNEL_TYPE ?= "standard" +# The distro or local.conf should set this, but if nobody cares... +LINUX_KERNEL_TYPE ??= "standard" # KMETA ?= "" KBRANCH ?= "master" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 08:14:50 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 08:14:50 +0000 Subject: [oe-commits] [openembedded-core] 32/33: cve-check.bbclass: use "+git" as separator in PV instead of "git+" In-Reply-To: <150088405837.31328.281087139160305298@git.openembedded.org> References: <150088405837.31328.281087139160305298@git.openembedded.org> Message-ID: <20170724081419.AA13E232848@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit db8815abe3db60b0510fb378bf6d82172c2f2768 Author: Mikko Rapeli AuthorDate: Thu Jul 20 16:23:11 2017 +0300 cve-check.bbclass: use "+git" as separator in PV instead of "git+" PV is the recipe major version number. cve-check tries to map that to NVD database release versions of the component. If the recipe sources are taken from git, the PV can be automatically modified to include git details, but the syntax is like 233+gitAUTOINC+a1e2ef7ec9. In CVE checks we want to remove the git details and just use the major version information, in this example 233. Thus use "+git" as the separator and use the first part before the separator as SW product version number in CVE check. Fixes version number for e.g. systemd recipe. If systemd PV is 233+gitAUTOINC+a1e2ef7ec9 there will be no matches from CVE database where latest release mentioned is plain 233. If the filter is set to +git, then CVE PV is 233 and issues like this are detected by do_cve_check: https://nvd.nist.gov/vuln/detail/CVE-2017-1000082 Signed-off-by: Mikko Rapeli Signed-off-by: Ross Burton --- meta/classes/cve-check.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/classes/cve-check.bbclass b/meta/classes/cve-check.bbclass index 8dde4a2..f44bbed 100644 --- a/meta/classes/cve-check.bbclass +++ b/meta/classes/cve-check.bbclass @@ -155,7 +155,7 @@ def check_cves(d, patched_cves): cves_patched = [] cves_unpatched = [] bpn = d.getVar("CVE_PRODUCT") - pv = d.getVar("PV").split("git+")[0] + pv = d.getVar("PV").split("+git")[0] cves = " ".join(patched_cves) cve_db_dir = d.getVar("CVE_CHECK_DB_DIR") cve_whitelist = ast.literal_eval(d.getVar("CVE_CHECK_CVE_WHITELIST")) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 08:14:49 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 08:14:49 +0000 Subject: [oe-commits] [openembedded-core] 31/33: gstreamer1.0-python: add new recipe In-Reply-To: <150088405837.31328.281087139160305298@git.openembedded.org> References: <150088405837.31328.281087139160305298@git.openembedded.org> Message-ID: <20170724081419.A269A232847@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 6650bd1b9c770b01525356f9a1fabd758360ee8f Author: Martin Kelly AuthorDate: Tue Jul 18 11:46:54 2017 -0700 gstreamer1.0-python: add new recipe Previously, we had a gst-python recipe, but it supported only GStreamer 0.1. After GStreamer switched the Python bindings to use GObject introspection, we were no longer able to build the bindings, and they were dropped in this patch: https://patchwork.openembedded.org/patch/93793/ However, at this point, we have a gobject-introspection class, so we can use the bindings again, this time with GStreamer 1.0. Signed-off-by: Martin Kelly Signed-off-by: Ross Burton --- .../gstreamer/gstreamer1.0-python.inc | 35 ++++++++++++++++++++++ .../gstreamer/gstreamer1.0-python_1.10.4.bb | 7 +++++ 2 files changed, 42 insertions(+) diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-python.inc b/meta/recipes-multimedia/gstreamer/gstreamer1.0-python.inc new file mode 100644 index 0000000..961b930 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-python.inc @@ -0,0 +1,35 @@ +SUMMARY = "Python bindings for GStreamer 1.0" +HOMEPAGE = "http://cgit.freedesktop.org/gstreamer/gst-python/" +SECTION = "multimedia" +LICENSE = "LGPLv2.1" + +DEPENDS = "gstreamer1.0 python3-pygobject" +RDEPENDS_${PN} += "gstreamer1.0 python3-pygobject" + +PNREAL = "gst-python" + +SRC_URI = "http://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz" + +S = "${WORKDIR}/${PNREAL}-${PV}" + +inherit autotools pkgconfig distutils3-base upstream-version-is-even gobject-introspection + +do_install_append() { + # gstpythonplugin hardcodes the location of the libpython from the build + # workspace and then fails at runtime. We can override it using + # --with-libpython-dir=${libdir}, but it still fails because it looks for a + # symlinked library ending in .so instead of the actually library with + # LIBNAME.so.MAJOR.MINOR. Although we could patch the code to use the path + # we want, it will break again if the library version ever changes. We need + # to think about the best way of handling this and possibly consult + # upstream. + # + # Note that this particular find line is taken from the Debian packaging for + # gst-python1.0. + find "${D}" \ + -name '*.pyc' -o \ + -name '*.pyo' -o \ + -name '*.la' -o \ + -name 'libgstpythonplugin*' \ + -delete +} diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.10.4.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.10.4.bb new file mode 100644 index 0000000..1365f7c --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.10.4.bb @@ -0,0 +1,7 @@ +require gstreamer1.0-python.inc + +SRC_URI = "http://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz" +SRC_URI[md5sum] = "adcdb74f713e28d0b22a0a1e4f831573" +SRC_URI[sha256sum] = "59508174b8bc86c05290aa9a7c5d480ac556a6f36306ddbc1d0eacf4f7868212" + +LIC_FILES_CHKSUM = "file://COPYING;md5=c34deae4e395ca07e725ab0076a5f740" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 08:15:22 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 08:15:22 +0000 Subject: [oe-commits] [openembedded-core] 03/07: wic: rootfs: fix rootfs path reporting In-Reply-To: <150088411899.32642.15148338329669838704@git.openembedded.org> References: <150088411899.32642.15148338329669838704@git.openembedded.org> Message-ID: <20170724081519.2F349232830@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 7e49cae549dd9c97e5a52280d6230eb60c64ec6e Author: Ed Bartosh AuthorDate: Tue Jun 20 14:14:40 2017 +0300 wic: rootfs: fix rootfs path reporting wic gets rootfs paths from partition object property 'rootfs_dir' and shows them in final report. rootfs plugin sets this property to the temporary path, which causes temporary paths appearing in the report. Changed the code to prevent storing temporary rootfs path in part.rootfs_dir. This should fix the report. Signed-off-by: Ed Bartosh --- scripts/lib/wic/plugins/source/rootfs.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/scripts/lib/wic/plugins/source/rootfs.py b/scripts/lib/wic/plugins/source/rootfs.py index c08f760..e438158 100644 --- a/scripts/lib/wic/plugins/source/rootfs.py +++ b/scripts/lib/wic/plugins/source/rootfs.py @@ -81,8 +81,9 @@ class RootfsPlugin(SourcePlugin): raise WicError("Couldn't find --rootfs-dir=%s connection or " "it is not a valid path, exiting" % part.rootfs_dir) - real_rootfs_dir = cls.__get_rootfs_dir(rootfs_dir) + part.rootfs_dir = cls.__get_rootfs_dir(rootfs_dir) + new_rootfs = None # Handle excluded paths. if part.exclude_path is not None: # We need a new rootfs directory we can delete files from. Copy to @@ -92,9 +93,7 @@ class RootfsPlugin(SourcePlugin): if os.path.lexists(new_rootfs): shutil.rmtree(os.path.join(new_rootfs)) - copyhardlinktree(real_rootfs_dir, new_rootfs) - - real_rootfs_dir = new_rootfs + copyhardlinktree(part.rootfs_dir, new_rootfs) for orig_path in part.exclude_path: path = orig_path @@ -123,6 +122,5 @@ class RootfsPlugin(SourcePlugin): # Delete whole directory. shutil.rmtree(full_path) - part.rootfs_dir = real_rootfs_dir part.prepare_rootfs(cr_workdir, oe_builddir, - real_rootfs_dir, native_sysroot) + new_rootfs or part.rootfs_dir, native_sysroot) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 08:15:21 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 08:15:21 +0000 Subject: [oe-commits] [openembedded-core] 02/07: wic: use absolute paths in rootfs plugin In-Reply-To: <150088411899.32642.15148338329669838704@git.openembedded.org> References: <150088411899.32642.15148338329669838704@git.openembedded.org> Message-ID: <20170724081519.26BD123282F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit bcc3d10b924a89e902109857c3c2c1c4b4ab000a Author: Ed Bartosh AuthorDate: Tue Jun 20 12:36:01 2017 +0300 wic: use absolute paths in rootfs plugin Using relative paths can cause copyhardlinktree API to fail as it changes current directory when working. Converted all paths to absolute paths using os.path.realpath. Signed-off-by: Ed Bartosh --- scripts/lib/wic/plugins/source/rootfs.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/lib/wic/plugins/source/rootfs.py b/scripts/lib/wic/plugins/source/rootfs.py index 4dc4cb8..c08f760 100644 --- a/scripts/lib/wic/plugins/source/rootfs.py +++ b/scripts/lib/wic/plugins/source/rootfs.py @@ -48,7 +48,7 @@ class RootfsPlugin(SourcePlugin): @staticmethod def __get_rootfs_dir(rootfs_dir): if os.path.isdir(rootfs_dir): - return rootfs_dir + return os.path.realpath(rootfs_dir) image_rootfs_dir = get_bitbake_var("IMAGE_ROOTFS", rootfs_dir) if not os.path.isdir(image_rootfs_dir): @@ -56,7 +56,7 @@ class RootfsPlugin(SourcePlugin): "named %s has been found at %s, exiting." % (rootfs_dir, image_rootfs_dir)) - return image_rootfs_dir + return os.path.realpath(image_rootfs_dir) @classmethod def do_prepare_partition(cls, part, source_params, cr, cr_workdir, -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 08:15:20 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 08:15:20 +0000 Subject: [oe-commits] [openembedded-core] 01/07: wic: copy rootfs directory before changing fstab In-Reply-To: <150088411899.32642.15148338329669838704@git.openembedded.org> References: <150088411899.32642.15148338329669838704@git.openembedded.org> Message-ID: <20170724081519.1D02223282E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 918d3a4810ce3ac8014bb5e35f5c31bd38024d6a Author: Ed Bartosh AuthorDate: Tue Jun 20 12:13:46 2017 +0300 wic: copy rootfs directory before changing fstab wic updates /etc/fstab on root partition if there are valid mount points in .wks When wic runs from bitbake this can cause incorrect results or even breakage of other tasks working with rootfs directory in parallel with do_image_wic. Implemented copying rootfs directory to a temporary location using copyhardlinktree before updating fstab to avoid conflicts with other tasks working with rootfs. Signed-off-by: Ed Bartosh --- scripts/lib/wic/plugins/imager/direct.py | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/scripts/lib/wic/plugins/imager/direct.py b/scripts/lib/wic/plugins/imager/direct.py index f20d843..1079c32 100644 --- a/scripts/lib/wic/plugins/imager/direct.py +++ b/scripts/lib/wic/plugins/imager/direct.py @@ -32,6 +32,8 @@ import uuid from time import strftime +from oe.path import copyhardlinktree + from wic import WicError from wic.filemap import sparse_copy from wic.ksparser import KickStart, KickStartError @@ -115,12 +117,16 @@ class DirectPlugin(ImagerPlugin): fstab_lines = fstab.readlines() if self._update_fstab(fstab_lines, self.parts): - shutil.copyfile(fstab_path, fstab_path + ".orig") + # copy rootfs dir to workdir to update fstab + # as rootfs can be used by other tasks and can't be modified + new_rootfs = os.path.realpath(os.path.join(self.workdir, "rootfs_copy")) + copyhardlinktree(image_rootfs, new_rootfs) + fstab_path = os.path.join(new_rootfs, 'etc/fstab') with open(fstab_path, "w") as fstab: fstab.writelines(fstab_lines) - return fstab_path + return new_rootfs def _update_fstab(self, fstab_lines, parts): """Assume partition order same as in wks""" @@ -156,7 +162,10 @@ class DirectPlugin(ImagerPlugin): filesystems from the artifacts directly and combine them into a partitioned image. """ - fstab_path = self._write_fstab(self.rootfs_dir.get("ROOTFS_DIR")) + new_rootfs = self._write_fstab(self.rootfs_dir.get("ROOTFS_DIR")) + if new_rootfs: + # rootfs was copied to update fstab + self.rootfs_dir['ROOTFS_DIR'] = new_rootfs for part in self.parts: # get rootfs size from bitbake variable if it's not set in .ks file @@ -172,12 +181,7 @@ class DirectPlugin(ImagerPlugin): if rsize_bb: part.size = int(round(float(rsize_bb))) - try: - self._image.prepare(self) - finally: - if fstab_path: - shutil.move(fstab_path + ".orig", fstab_path) - + self._image.prepare(self) self._image.layout_partitions() self._image.create() -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 08:15:19 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 08:15:19 +0000 Subject: [oe-commits] [openembedded-core] branch master-next updated (c1a4ce3 -> 8ecba5a) Message-ID: <150088411899.32642.15148338329669838704@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master-next in repository openembedded-core. discard c1a4ce3 linux-yocto: only suggest default kernel type discard c30adc6 cve-check.bbclass: use "+git" as separator in PV instead of "git+" discard 5ff9c2f gstreamer1.0-python: add new recipe discard c4656c6 ffmpeg: fix pkg-config utilization discard 8b234ce ovmf-shell-image.bb: simplify dependencies discard 2e65a64 ffmpeg: add PACKAGECONFIG for sdl2 discard f2e1c3b kernel.bbclass: set CVE_PRODUCT to linux_kernel if not set by recipe discard b2bc6e9 cve-check.bbclass: use weak assignment for default CVE_PRODUCT discard d85eef9 wpa-supplicant_2.6.bb: set CVE_PRODUCT to wpa_supplicant discard 8a0b681 sqlite3.inc: set CVE_PRODUCT to sqlite discard 347f71a quota_4.03.bb: set CVE_PRODUCT to linux_diskquota discard a20c139 lttng-ust_2.9.1.bb: set CVE_PRODUCT to ust discard 5e22bc4 python.inc: set CVE_PRODUCT to python discard d317def nspr_4.14.bb: set CVE_PRODUCT to netscape_portable_runtime discard a1c3430 libsndfile1_1.0.28.bb: set CVE_PRODUCT to libsndfile discard 0fa49a0 libsamplerate0_0.1.9.bb: set CVE_PRODUCT to libsamplerate discard f7e1371 libpcre2_10.23.bb: set CVE_PRODUCT to pcre2 discard d4ada8b libpcre_8.40.bb: set CVE_PRODUCT to prce discard 85d6295 icu.inc: set CVE_PRODUCT to international_components_for_unicode discard 443dcc1 glibc-common.inc: set CVE_PRODUCT to glibc discard 9bacb0b glib.inc: set CVE_PRODUCT to glib discard 82af87e gcc-common.inc: set CVE_PRODUCT to gcc discard 490eea6 flac_1.3.1.bb: set CVE_PRODUCT to libflac discard 4146907 eglinfo.inc: set CVE_PRODUCT to eglinfo discard e986f6c bluez5.inc: set CVE_PRODUCT to bluez discard 029fa35 acpid.inc: set CVE_PRODUCT to acpid2 discard 158d5f2 glibc-package.inc: add support for armeb of multilib discard 0f479fb rpm/dnf: fix Upstream-Status to reflect upstream submission status discard 1e24d4d dhcp: add dhclient.service discard 9ccc466 glibc: fix upstream-status tag in a patch discard 77cc53f libffi: Support musl-x32 build discard d10e671 python*-setuptools: upgrade to 36.2.0 discard bbdd999 mkelfimage: Fix build on x86_64 with hardening discard 78bec81e gcc-7.inc: add new warning "Wnot-cross-compiler" discard 7bbecb3 oe-selftest: wic: fix test_qemu discard 35375e7 wic: add /boot mount point to fstab by default discard cb37019 wic: rootfs: make copied rootfs unique discard c68a515 wic: rootfs: fix rootfs path reporting discard 874ce74 wic: use absolute paths in rootfs plugin discard b36502f wic: copy rootfs directory before changing fstab add 470c8a0 mkelfimage: Fix build on x86_64 with hardening add 6ad635a python*-setuptools: upgrade to 36.2.0 add 318e33a libffi: Support musl-x32 build add 76c824f glibc: fix upstream-status tag in a patch add faa8d0f dhcp: add dhclient.service add 1ed4b84 rpm/dnf: fix Upstream-Status to reflect upstream submission status add ac3acdc glibc-package.inc: add support for armeb of multilib add 966052d acpid.inc: set CVE_PRODUCT to acpid2 add aade84a bluez5.inc: set CVE_PRODUCT to bluez add 0b8e2a0 eglinfo.inc: set CVE_PRODUCT to eglinfo add e09bd27 flac_1.3.1.bb: set CVE_PRODUCT to libflac add bd6f143 gcc-common.inc: set CVE_PRODUCT to gcc add 69d6342 glib.inc: set CVE_PRODUCT to glib add 613a137 glibc-common.inc: set CVE_PRODUCT to glibc add eaac391 icu.inc: set CVE_PRODUCT to international_components_for_unicode add 523e823 libpcre_8.40.bb: set CVE_PRODUCT to prce add ce32c5b libpcre2_10.23.bb: set CVE_PRODUCT to pcre2 add baafa21 libsamplerate0_0.1.9.bb: set CVE_PRODUCT to libsamplerate add adfb1c7 libsndfile1_1.0.28.bb: set CVE_PRODUCT to libsndfile add c75e5d3 nspr_4.14.bb: set CVE_PRODUCT to netscape_portable_runtime add 848e1be python.inc: set CVE_PRODUCT to python add 1c6643f lttng-ust_2.9.1.bb: set CVE_PRODUCT to ust add 07be7cb quota_4.03.bb: set CVE_PRODUCT to linux_diskquota add cec6f26 sqlite3.inc: set CVE_PRODUCT to sqlite add cc3882c wpa-supplicant_2.6.bb: set CVE_PRODUCT to wpa_supplicant add 74672a7 cve-check.bbclass: use weak assignment for default CVE_PRODUCT add 2e3d325 kernel.bbclass: set CVE_PRODUCT to linux_kernel if not set by recipe add 5c880eb ffmpeg: add PACKAGECONFIG for sdl2 add f147b25 ovmf-shell-image.bb: simplify dependencies add 3d5f11f ffmpeg: fix pkg-config utilization add 6650bd1 gstreamer1.0-python: add new recipe add db8815a cve-check.bbclass: use "+git" as separator in PV instead of "git+" add d3a41fb linux-yocto: only suggest default kernel type new 918d3a4 wic: copy rootfs directory before changing fstab new bcc3d10 wic: use absolute paths in rootfs plugin new 7e49cae wic: rootfs: fix rootfs path reporting new 896a54f wic: rootfs: make copied rootfs unique new 35fe8a6 wic: add /boot mount point to fstab by default new b209f4f oe-selftest: wic: fix test_qemu new 8ecba5a gcc-7.inc: add new warning "Wnot-cross-compiler" This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (c1a4ce3) \ N -- N -- N refs/heads/master-next (8ecba5a) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 7 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 08:15:23 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 08:15:23 +0000 Subject: [oe-commits] [openembedded-core] 04/07: wic: rootfs: make copied rootfs unique In-Reply-To: <150088411899.32642.15148338329669838704@git.openembedded.org> References: <150088411899.32642.15148338329669838704@git.openembedded.org> Message-ID: <20170724081519.38400232831@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 896a54fafd4294aa295cf0ffeb96982b93a6ed5a Author: Ed Bartosh AuthorDate: Mon Jun 26 17:10:55 2017 +0300 wic: rootfs: make copied rootfs unique Used unique suffix (line number from .wks file) for the copied rootfs directory to avoid possible conflicts. Signed-off-by: Ed Bartosh --- scripts/lib/wic/plugins/source/rootfs.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/lib/wic/plugins/source/rootfs.py b/scripts/lib/wic/plugins/source/rootfs.py index e438158..aec720f 100644 --- a/scripts/lib/wic/plugins/source/rootfs.py +++ b/scripts/lib/wic/plugins/source/rootfs.py @@ -88,7 +88,7 @@ class RootfsPlugin(SourcePlugin): if part.exclude_path is not None: # We need a new rootfs directory we can delete files from. Copy to # workdir. - new_rootfs = os.path.realpath(os.path.join(cr_workdir, "rootfs")) + new_rootfs = os.path.realpath(os.path.join(cr_workdir, "rootfs%d" % part.lineno)) if os.path.lexists(new_rootfs): shutil.rmtree(os.path.join(new_rootfs)) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 08:15:25 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 08:15:25 +0000 Subject: [oe-commits] [openembedded-core] 06/07: oe-selftest: wic: fix test_qemu In-Reply-To: <150088411899.32642.15148338329669838704@git.openembedded.org> References: <150088411899.32642.15148338329669838704@git.openembedded.org> Message-ID: <20170724081519.50C8C232833@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit b209f4f0a354c411ed9f62b86fb680d59f0e2924 Author: Ed Bartosh AuthorDate: Tue Jun 27 12:36:44 2017 +0300 oe-selftest: wic: fix test_qemu This test case boots the image in qemu and checks for mounted partitions. As /boot is mounted automatically the test case fails. Fixed this by adding /boot to the list of mounted partitions. Signed-off-by: Ed Bartosh Signed-off-by: Ross Burton --- meta/lib/oeqa/selftest/cases/wic.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/lib/oeqa/selftest/cases/wic.py b/meta/lib/oeqa/selftest/cases/wic.py index df205e8..ceb92ae 100644 --- a/meta/lib/oeqa/selftest/cases/wic.py +++ b/meta/lib/oeqa/selftest/cases/wic.py @@ -637,7 +637,7 @@ part /etc --source rootfs --ondisk mmcblk0 --fstype=ext4 --exclude-path bin/ --r cmd = "mount |grep '^/dev/' | cut -f1,3 -d ' '" status, output = qemu.run_serial(cmd) self.assertEqual(1, status, 'Failed to run command "%s": %s' % (cmd, output)) - self.assertEqual(output, '/dev/root /\r\n/dev/sda3 /mnt') + self.assertEqual(output, '/dev/root /\r\n/dev/sda1 /boot\r\n/dev/sda3 /mnt') @only_for_arch(['i586', 'i686', 'x86_64']) @OETestID(1852) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 08:15:24 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 08:15:24 +0000 Subject: [oe-commits] [openembedded-core] 05/07: wic: add /boot mount point to fstab by default In-Reply-To: <150088411899.32642.15148338329669838704@git.openembedded.org> References: <150088411899.32642.15148338329669838704@git.openembedded.org> Message-ID: <20170724081519.45E90232832@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 35fe8a65a723c265f5268a71ec9d88d3d6b54bcd Author: Ed Bartosh AuthorDate: Thu Jun 15 15:13:46 2017 +0300 wic: add /boot mount point to fstab by default wic avoided adding /boot to fstab for no reason. This exception was hardcoded in the wic code. There is no need for this as mountpoint in .wks file is an optional field. It can be used only if user wants to have partitions automatically mounted on system boot. [YOCTO #11662] Signed-off-by: Ed Bartosh --- scripts/lib/wic/plugins/imager/direct.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/lib/wic/plugins/imager/direct.py b/scripts/lib/wic/plugins/imager/direct.py index 1079c32..e4f39d6 100644 --- a/scripts/lib/wic/plugins/imager/direct.py +++ b/scripts/lib/wic/plugins/imager/direct.py @@ -133,7 +133,7 @@ class DirectPlugin(ImagerPlugin): updated = False for part in parts: if not part.realnum or not part.mountpoint \ - or part.mountpoint in ("/", "/boot"): + or part.mountpoint == "/": continue # mmc device partitions are named mmcblk0p1, mmcblk0p2.. -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 08:15:26 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 08:15:26 +0000 Subject: [oe-commits] [openembedded-core] 07/07: gcc-7.inc: add new warning "Wnot-cross-compiler" In-Reply-To: <150088411899.32642.15148338329669838704@git.openembedded.org> References: <150088411899.32642.15148338329669838704@git.openembedded.org> Message-ID: <20170724081519.5AD9C232834@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 8ecba5a8028351035343ca22b95a8519e9f25106 Author: Juro Bystricky AuthorDate: Tue Jul 18 15:45:01 2017 -0700 gcc-7.inc: add new warning "Wnot-cross-compiler" Suppose we have an autotools project that looks like it is using the cross compiler but is actually reaching out to the host compiler instead. On an x86-64 build, you may not even notice. To be able to prevent this, this patch implements a new gcc warning "Wnot-cross-compiler". The intention here is to intentionally break a build if we are not using a cross-compiler when one is expected to be used. Expected usage: " -Wnot-cross-compiler -Werror=not-cross-compiler " [YOCTO #11587] Signed-off-by: Juro Bystricky Signed-off-by: Ross Burton --- meta/recipes-devtools/gcc/gcc-7.1.inc | 1 + .../gcc/gcc-7.1/0051-warn-not-cross-compiler.patch | 39 ++++++++++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/meta/recipes-devtools/gcc/gcc-7.1.inc b/meta/recipes-devtools/gcc/gcc-7.1.inc index 3f1c06d..e9b1f21 100644 --- a/meta/recipes-devtools/gcc/gcc-7.1.inc +++ b/meta/recipes-devtools/gcc/gcc-7.1.inc @@ -75,6 +75,7 @@ SRC_URI = "\ file://0048-gcc-Enable-static-PIE.patch \ file://0049-libsanitizer-Use-stack_t-instead-of-struct-sigaltsta.patch \ file://0050-replace-struct-ucontext-with-ucontext_t.patch \ + file://0051-warn-not-cross-compiler.patch \ ${BACKPORTS} \ " BACKPORTS = "\ diff --git a/meta/recipes-devtools/gcc/gcc-7.1/0051-warn-not-cross-compiler.patch b/meta/recipes-devtools/gcc/gcc-7.1/0051-warn-not-cross-compiler.patch new file mode 100644 index 0000000..78671ed --- /dev/null +++ b/meta/recipes-devtools/gcc/gcc-7.1/0051-warn-not-cross-compiler.patch @@ -0,0 +1,39 @@ + +This patch implements an additional gcc command line option warning +"Wnot-cross-compiler". The option (if specified) will simply generate +a warning if gcc being used is not a cross-compiler. + +Upstream-Status: Pending +Signed-off-by: Juro Bystricky + + +diff --git a/gcc/common.opt b/gcc/common.opt +--- a/gcc/common.opt ++++ b/gcc/common.opt +@@ -801,6 +801,10 @@ + Common Var(warn_vector_operation_performance) Warning + Warn when a vector operation is compiled outside the SIMD. + ++Wnot-cross-compiler ++Common Warning ++Warn when not-cross-compiling. ++ + Xassembler + Driver Separate + +diff --git a/gcc/opts.c b/gcc/opts.c +--- a/gcc/opts.c ++++ b/gcc/opts.c +@@ -2334,6 +2334,12 @@ + opts->x_flag_ipa_icf_variables = value; + break; + ++ case OPT_Wnot_cross_compiler: ++#ifndef CROSS_DIRECTORY_STRUCTURE ++ warning (OPT_Wnot_cross_compiler, "Not using cross-compiler!"); ++#endif ++ break; ++ + default: + /* If the flag was handled in a standard way, assume the lack of + processing here is intentional. */ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 13:00:37 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 13:00:37 +0000 Subject: [oe-commits] [bitbake] branch master-next updated (6fa0775 -> c0ddde7) Message-ID: <150090123764.18744.5615435242264290965@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master-next in repository bitbake. from 6fa0775 fetch2/wget.py: improve error handling during sstate check new 0b5a837 prserv/serv: Improve process exit handling new c0ddde7 cooker/process: Drop server_main function The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: lib/bb/cooker.py | 22 ---------------------- lib/bb/server/process.py | 22 +++++++++++++++++++++- lib/prserv/serv.py | 19 +++++++++++++++++-- 3 files changed, 38 insertions(+), 25 deletions(-) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 13:00:38 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 13:00:38 +0000 Subject: [oe-commits] [bitbake] 01/02: prserv/serv: Improve process exit handling In-Reply-To: <150090123764.18744.5615435242264290965@git.openembedded.org> References: <150090123764.18744.5615435242264290965@git.openembedded.org> Message-ID: <20170724130037.B7435234F0D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 0b5a837477d18442caf97dd0fa14a806c54f5842 Author: Richard Purdie AuthorDate: Mon Jul 24 13:39:12 2017 +0100 prserv/serv: Improve process exit handling The server shutdown is currenlty laggy and race prone. This patch: * adds a waitpid so that no zombie server is left around if its not running in daemon mode. * adds a quit "sentinal" using a pipe so that we're not sitting in a socket poll() until timeout in order just to quit. * use a select() call to poll the socket and the pipe for a quit signal. The net result of this change is that the prserv exits with the cooker server and it does so immediately and doesn't wait for the select/poll calls to timeout. This makes bitbake a lot more responsive for startup/shutdown and doesn't cause UI timeout errors as often when prserv is used. Signed-off-by: Richard Purdie --- lib/prserv/serv.py | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/lib/prserv/serv.py b/lib/prserv/serv.py index 5f061c2..3145689 100644 --- a/lib/prserv/serv.py +++ b/lib/prserv/serv.py @@ -10,6 +10,7 @@ import bb.server.xmlrpcclient import prserv import prserv.db import errno +import select logger = logging.getLogger("BitBake.PRserv") @@ -59,6 +60,8 @@ class PRServer(SimpleXMLRPCServer): self.register_function(self.importone, "importone") self.register_introspection_functions() + self.quitpipein, self.quitpipeout = os.pipe() + self.requestqueue = queue.Queue() self.handlerthread = threading.Thread(target = self.process_request_thread) self.handlerthread.daemon = False @@ -153,11 +156,16 @@ class PRServer(SimpleXMLRPCServer): def quit(self): self.quit=True + os.write(self.quitpipeout, b"q") + os.close(self.quitpipeout) return def work_forever(self,): self.quit = False - self.timeout = 0.5 + # This timeout applies to the poll in TCPServer, we need the select + # below to wake on our quit pipe closing. We only ever call into handle_request + # if there is data there. + self.timeout = 0.01 bb.utils.set_process_name("PRServ") @@ -170,11 +178,16 @@ class PRServer(SimpleXMLRPCServer): self.handlerthread.start() while not self.quit: - self.handle_request() + ready = select.select([self.fileno(), self.quitpipein], [], [], 30) + if self.quit: + break + if self.fileno() in ready[0]: + self.handle_request() self.handlerthread.join() self.db.disconnect() logger.info("PRServer: stopping...") self.server_close() + os.close(self.quitpipein) return def start(self): @@ -182,6 +195,7 @@ class PRServer(SimpleXMLRPCServer): pid = self.daemonize() else: pid = self.fork() + self.pid = pid # Ensure both the parent sees this and the child from the work_forever log entry above logger.info("Started PRServer with DBfile: %s, IP: %s, PORT: %s, PID: %s" % @@ -472,6 +486,7 @@ def auto_shutdown(d=None): PRServerConnection(host, port).terminate() except: logger.critical("Stop PRService %s:%d failed" % (host,port)) + os.waitpid(singleton.prserv.pid, 0) singleton = None def ping(host, port): -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 13:00:39 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 13:00:39 +0000 Subject: [oe-commits] [bitbake] 02/02: cooker/process: Drop server_main function In-Reply-To: <150090123764.18744.5615435242264290965@git.openembedded.org> References: <150090123764.18744.5615435242264290965@git.openembedded.org> Message-ID: <20170724130037.BEB6F234F0E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit c0ddde7cf680225127d6285685652b905ed176c3 Author: Richard Purdie AuthorDate: Mon Jul 24 13:44:05 2017 +0100 cooker/process: Drop server_main function Now that there is only one server, this abstraction is no longer needed and causes indrection/confusion. The server shutdown is also broken with the cooker post_server calls happening too late, leading to "lock held" warnings in the logs if PRServ is enabled. Remove the abstraction and put the shutdown calls in the right order with respect to the locking. Signed-off-by: Richard Purdie --- lib/bb/cooker.py | 22 ---------------------- lib/bb/server/process.py | 22 +++++++++++++++++++++- 2 files changed, 21 insertions(+), 23 deletions(-) diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py index 1625d3c..d6e6919 100644 --- a/lib/bb/cooker.py +++ b/lib/bb/cooker.py @@ -1585,28 +1585,6 @@ class BBCooker: self.databuilder.reset() self.data = self.databuilder.data -def server_main(cooker, func, *args): - cooker.pre_serve() - - if cooker.configuration.profile: - try: - import cProfile as profile - except: - import profile - prof = profile.Profile() - - ret = profile.Profile.runcall(prof, func, *args) - - prof.dump_stats("profile.log") - bb.utils.process_profilelog("profile.log") - print("Raw profiling information saved to profile.log and processed statistics to profile.log.processed") - - else: - ret = func(*args) - - cooker.post_serve() - - return ret class CookerExit(bb.event.Event): """ diff --git a/lib/bb/server/process.py b/lib/bb/server/process.py index 01d9f2f..85beaae 100644 --- a/lib/bb/server/process.py +++ b/lib/bb/server/process.py @@ -103,9 +103,27 @@ class ProcessServer(multiprocessing.Process): except: pass - bb.cooker.server_main(self.cooker, self.main) + if self.cooker.configuration.profile: + try: + import cProfile as profile + except: + import profile + prof = profile.Profile() + + ret = profile.Profile.runcall(prof, self.main) + + prof.dump_stats("profile.log") + bb.utils.process_profilelog("profile.log") + print("Raw profiling information saved to profile.log and processed statistics to profile.log.processed") + + else: + ret = self.main() + + return ret def main(self): + self.cooker.pre_serve() + bb.utils.set_process_name("Cooker") ready = [] @@ -184,6 +202,8 @@ class ProcessServer(multiprocessing.Process): except: pass + self.cooker.post_serve() + # Remove the socket file so we don't get any more connections to avoid races os.unlink(self.sockname) self.sock.close() -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:02:31 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:02:31 +0000 Subject: [oe-commits] [meta-openembedded] 04/75: klibc: Fix build issue when default ISA is not thumb In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170227.64451234F10@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit cafe21e8a20610deffa3b79af223b939518ef9a8 Author: Khem Raj AuthorDate: Thu Jul 13 22:39:56 2017 -0700 klibc: Fix build issue when default ISA is not thumb We were passing empty string '' to make as option when ISA was not thumb this breaks build for machines/distros which do not use ARM_INSTRUCTION_SET = thumb Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- meta-initramfs/recipes-devtools/klibc/klibc.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-initramfs/recipes-devtools/klibc/klibc.inc b/meta-initramfs/recipes-devtools/klibc/klibc.inc index c4c3e00..cd3f398 100644 --- a/meta-initramfs/recipes-devtools/klibc/klibc.inc +++ b/meta-initramfs/recipes-devtools/klibc/klibc.inc @@ -42,7 +42,7 @@ EXTRA_OEMAKE = "'KLIBCARCH=${KLIBC_ARCH}' \ " export FIX_ARMV4_EABI_BX = "${FIX_V4BX}" -KLIBCTHUMB = "${@['', 'CONFIG_KLIBC_THUMB=y'][(d.getVar('ARM_INSTRUCTION_SET') == 'thumb')]}" +KLIBCTHUMB = "${@['CONFIG_KLIBC_THUMB=n', 'CONFIG_KLIBC_THUMB=y'][(d.getVar('ARM_INSTRUCTION_SET') == 'thumb')]}" do_configure () { ln -sf "${STAGING_DIR_TARGET}${exec_prefix}" linux -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:02:29 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:02:29 +0000 Subject: [oe-commits] [meta-openembedded] 02/75: fuse: Correct runlevels and startup order In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170227.55A32234F0E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit a246dd26a5af8f9b23a98756ce0bcfc21d91a17e Author: Alex Stewart AuthorDate: Thu Jul 13 13:43:28 2017 -0500 fuse: Correct runlevels and startup order :**/fuse*.bb * Assert INITSCRIPT_PARAMS to install the fuse initscript according to its LSB header instead of defaults. Script now starts only during runlevel 'S'. * Also set priority to 03 such that fuse is loaded before udev. This enables systems which utilize udev to mount exfat and other fuse-provided filesystems as a part of the boot process. Natinst-CAR-ID: 630632 Signed-off-by: Alex Stewart Signed-off-by: Martin Jansa --- meta-filesystems/recipes-support/fuse/fuse_2.9.7.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-filesystems/recipes-support/fuse/fuse_2.9.7.bb b/meta-filesystems/recipes-support/fuse/fuse_2.9.7.bb index 000a6e2..202d4c3 100644 --- a/meta-filesystems/recipes-support/fuse/fuse_2.9.7.bb +++ b/meta-filesystems/recipes-support/fuse/fuse_2.9.7.bb @@ -22,6 +22,7 @@ SRC_URI[sha256sum] = "832432d1ad4f833c20e13b57cf40ce5277a9d33e483205fc63c78111b3 inherit autotools pkgconfig update-rc.d systemd INITSCRIPT_NAME = "fuse" +INITSCRIPT_PARAMS = "start 3 S . stop 20 0 6 ." SYSTEMD_SERVICE_${PN} = "" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:02:27 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:02:27 +0000 Subject: [oe-commits] [meta-openembedded] branch master updated (1cbd1bc -> a8b54e3) Message-ID: <150091574711.27575.16580566054617062461@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a change to branch master in repository meta-openembedded. from 1cbd1bc unionfs-fuse: 0.26 -> 2.0 new 0dbf4e8 librcf: RDEPENDS on protobuf, json-spirit new a246dd2 fuse: Correct runlevels and startup order new 00eacac recipes-utils: Add recipe for udevil new cafe21e klibc: Fix build issue when default ISA is not thumb new 77c757f libteam: Upgrade to 1.27 new 07ab8e1 sox: Fix build with musl new 3fa862b webrtc-audio-processing: Link with libexecinfo on musl new 102f98c cdparanoia: Fix build with musl new 4ff2e26 lightmediascanner: Define comparison_fn_t if undefined new 68b6fbf lmbench: Fix build with musl new 43022b7 xfce4-netload-plugin: Do not include sys/sysctl.h new 0cb5343 imsettings: Fix build with musl new 94f9280 gedit: Define ACCESSPERMS if not defined already new ecd6044 onboard: Fix build with musl new 9dfecec libgtop: Fix build with musl new aa57c0f netdata: Upgrade to 1.6.0 new 66c632a can-utils: Update to tip of master new b97358d kexec-tools-klibc: Fix build with musl new 606e9b2 dracut: Upgrade to 045 new 3581467 yaffs2-utils: Fix build with musl new 50a3d4e logfsprogs: Rename setkey API to _setkey to not conflict with libc new e16fef4 unionfs-fuse: Fix build with musl new 222db35 xfsdump: Fix build with musl new 92d9eab nmon: Upgrade to 16g new 83814eb metacity: Fix build with musl by defining _GNU_SOURCE new 11e8768 monkey: Link in libexecinfo on musl new 1039afb aufs-util: Upgrade to 4.4 release new d6a1c0e uftrace: add recipe new 85d4fe7 iperf3: Fix missing stdint.h and do not link with -pg new 0f55207 v4l-utils: Fix build with musl new 77ff128 open-vm-tools: remove custom procps logic new 3868f2d multipath-tools: Include limits.h for PATH_MAX new 567e48c a2jmidid: Link with libexecinfo on musl new b455bfd zlog: Fix build on 64bit targets and musl new d45db2d grubby: Link with libexecinfo on musl new b9d8854 numactl: Update to latest from github new a8b542f linuxptp: Upgrade to 1.8 new d96940a sessreg: Fix build on musl new caf460d phonet-utils: Fix build with musl new 4022026 nicstat: Fix build on musl/x86_64 new 94670cc open-vm-tools: Fix build with musl new 7414f34 lm_sensors: Fix build on musl new f9ccdeb glade: add recipe 3.20.0 new 32a6076 python3-coverage: add recipe 4.4.1 new 7e9c128 python3-langtable: add recipe 0.0.37 new 6866c4f python3-ntplib: add recipe 0.3.3 new 6e5a7ea python3-ordered-set: add recipe 2.0.2 new 044847f python3-requests-file: add recipe 1.4.2 new 6220deb python3-requests-ftp: add recipe 0.3.1 new e81db05 python3-pid: add recipe 2.1.1 new b344ce3 python3-prctl: add recipe 1.6.1 new 7c550fd xf86-video-nouveau: bump version to 1.0.15 new 1e6c70d python-unidiff: adds Python3 support new 78f9100 sdparm: add mirror new 2212154 sg3-utils: add mirror new 4ae7707 python-chardet.inc: update build dependency new f2f7532 python-sqlalchemy, python3-sqlalchemy: update to 1.1.11 new 1864ea6 python-paho-mqtt, python3-paho-mqtt: update to 1.3.0 new c00f87f python-requests, python3-requests: update to 2.28.1 new 5fed64b flashrom: Upgrade to 0.9.9 new e5fd08c postgresql: Do not link with libnsl on musl new baa7758 libgnomekbd: 2.32 -> 3.22 new 6e445ba python3-pykickstart: add recipe 2.35 new cccb69c python3-meh: add recipe 0.45 new 85718e3 isomd5sum: add recipe 1.2.1 new b12b09d libtar: add recipe 1.2.20 new 5da6266 python-pytun: addition of recipe for python and python3 using pipy new 4563f6d gimp: remove libart-lgpl build dependency new 854b98c fribidi_0.19.7.bb: set CVE_PRODUCT to gnu_fribidi new 236ca5e krb5_1.15.1.bb: set CVE_PRODUCT to kerberos new 57fac9d udisks2_2.1.8.bb: set CVE_PRODUCT to udisks new d973a83 keybinder: add recipe 3.0 new b268e84 volume-key: add recipe 0.3.9 new c83e733 satyr: add recipe 0.23 new a8b54e3 pidgin-otr: unblacklist The 75 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: ...ine-comparison_fn_t-for-non-glibc-systems.patch | 33 + .../lightmediascanner/lightmediascanner_0.5.1.bb | 1 + ...-conflicts-with-libc-namespace-about-setk.patch | 135 ++++ .../logfsprogs/logfsprogs_git.bb | 3 +- ...1-unionfs-Define-IOCPARM_LEN-if-undefined.patch | 62 ++ .../unionfs-fuse/unionfs-fuse_2.0.bb | 3 +- ...0001-define-loff_t-if-not-already-defined.patch | 30 + .../recipes-filesystems/yaffs2/yaffs2-utils_git.bb | 3 +- .../recipes-support/fuse/fuse_2.9.7.bb | 1 + .../recipes-utils/aufs-util/aufs-util/aufs_type.h | 419 ------------ .../recipes-utils/aufs-util/aufs-util_git.bb | 17 +- .../0001-udevil-0.4.3-fix-compile-with-gcc6.patch | 12 + ...e.am-Use-systemd_unitdir-instead-of-libdi.patch | 32 + .../recipes-utils/udevil/udevil_0.4.4.bb | 28 + .../files/0001-Include-fcntl.h-for-O_EXCL.patch | 28 + .../0002-Replace-__uint32_t-with-uint32_t.patch | 122 ++++ .../0003-replace-use-of-SIGCLD-with-SIGCHLD.patch | 40 ++ .../files/0004-include-limit.h-for-PATH_MAX.patch | 29 + ...-types.h-for-u_int32_t-in-attr-attributes.patch | 27 + .../recipes-utils/xfsdump/xfsdump_3.1.6.bb | 9 +- ...ent-saver.c-Define-ACCESSPERMS-if-not-def.patch | 31 + meta-gnome/recipes-gnome/gedit/gedit_2.30.4.bb | 11 +- .../gnome-settings-daemon_2.32.1.bb | 3 - .../recipes-gnome/libgnome/libgnomekbd_2.32.0.bb | 20 - .../recipes-gnome/libgnome/libgnomekbd_3.22.0.bb | 17 + ...-Include-libc-net-headers-unconditionally.patch | 46 ++ meta-gnome/recipes-gnome/libgtop/libgtop_2.30.0.bb | 3 + .../metacity/0001-ui-Define-_GNU_SOURCE.patch | 27 + .../recipes-gnome/metacity/metacity_2.34.13.bb | 5 +- .../recipes-support/keybinder/keybinder_3.0.bb | 26 + ...m-Define-error-API-if-platform-does-not-h.patch | 67 ++ .../recipes-support/onboard/onboard_1.4.1.bb | 4 +- ...-util.h-include-sys-reg.h-when-libc-glibc.patch | 33 + .../recipes-devtools/dracut/dracut_git.bb | 19 +- ...-variable-LIBS-to-provides-libraries-from.patch | 26 + .../0002-include-paths.h-for-_PATH_MOUNTED.patch | 25 + .../recipes-devtools/grubby/grubby_8.40.bb | 9 +- meta-initramfs/recipes-devtools/klibc/klibc.inc | 2 +- ...he-order-of-headers-to-fix-build-for-musl.patch | 30 + .../kexec/kexec-tools-klibc_2.0.2.bb | 1 + .../cdparanoia/cdparanoia_10.2.bb | 1 + ...-utils-Use-c99-compiler-independent-types.patch | 49 ++ ...error-line-and-live-without-file-type-det.patch | 28 + .../recipes-multimedia/sox/sox_14.4.0.bb | 4 +- .../webrtc-audio-processing_0.3.bb | 3 + meta-oe/licenses/X11 | 23 + ...de-stdint.h-for-various-std-c99-int-types.patch | 39 ++ .../0002-Remove-pg-from-profile_CFLAGS.patch | 31 + meta-oe/recipes-benchmark/iperf3/iperf3_git.bb | 11 +- ...usl-define-guard-before-redefining-sockle.patch | 29 + ...t-CFLAGS-LDFLAGS-to-append-values-passed-.patch | 76 +++ .../recipes-benchmark/lmbench/lmbench_3.0-a9.bb | 8 +- meta-oe/recipes-connectivity/krb5/krb5_1.15.1.bb | 2 + .../0003-include-missing-time.h-for-time_t.patch | 26 + ...ude-header-sequence-to-avoid-duplicate-de.patch | 36 + .../linuxptp/{linuxptp_1.6.bb => linuxptp_1.8.bb} | 9 +- .../0001-Include-limits.h-for-PATH_MAX.patch | 25 + .../phonet-utils/phonet-utils_git.bb | 4 +- .../glade/glade/remove-yelp-help-rules-var.patch | 39 ++ ...gnome-doc-utils.make-sysrooted-pkg-config.patch | 0 .../{files => glade3}/0002-fix-gcc-6-build.patch | 0 meta-oe/recipes-devtools/glade/glade_3.20.0.bb | 27 + .../recipes-devtools/libfribidi/fribidi_0.19.7.bb | 2 + meta-oe/recipes-devtools/librcf/librcf_2.2.0.0.bb | 4 +- .../0001-Makefile-Add-LDFLAGS-in-export.patch | 31 + ...tils-Add-limits-header-to-fix-build-error.patch | 31 + meta-oe/recipes-devtools/uftrace/uftrace_0.7.bb | 35 + .../flashrom/0001-Fix-compilation-on-aarch64.patch | 62 -- .../0001-ichspi.c-Fix-build-with-clang.patch | 29 - ...fine-_XOPEN_SOURCE-to-enable-ffs-libc-API.patch | 28 + ...utological-pointer-compare-when-using-cla.patch | 35 - .../0003-remove-duplicate-const-qualifiers.patch | 71 -- .../recipes-extended/flashrom/flashrom/sst26.patch | 198 ++++++ .../recipes-extended/flashrom/flashrom_0.9.6.1.bb | 22 - .../recipes-extended/flashrom/flashrom_0.9.9.bb | 19 + .../files/0001-tweak-install-prefix.patch | 60 ++ .../isomd5sum/files/0002-fix-parallel-error.patch | 33 + .../recipes-extended/isomd5sum/isomd5sum_1.2.1.bb | 35 + ...tat.c-Do-not-define-uint64_t-and-uint32_t.patch | 37 + meta-oe/recipes-extended/nicstat/nicstat_1.95.bb | 4 +- .../recipes-extended/socketcan/can-utils_git.bb | 2 +- ...-explicitly-support-python3-by-pkg-config.patch | 56 ++ .../volume_key/volume-key_0.3.9.bb | 34 + ...t-pthread_t-to-unsigned-long-instead-of-u.patch | 32 + meta-oe/recipes-extended/zlog/zlog_git.bb | 4 +- meta-oe/recipes-graphics/gimp/gimp_2.8.22.bb | 1 - meta-oe/recipes-graphics/xorg-app/sessreg_1.1.0.bb | 3 + ...veau_1.0.12.bb => xf86-video-nouveau_1.0.15.bb} | 7 +- meta-oe/recipes-multimedia/jack/a2jmidid_8.bb | 3 + ...tl-Define-TEMP_FAILURE_RETRY-if-undefined.patch | 55 ++ ...t-Link-mc_nextgen_test-with-libargp-if-ne.patch | 28 + .../0003-v4l2-ctl-Do-not-use-getsubopt.patch | 49 ++ .../v4l2apps/v4l-utils_1.12.3.bb | 5 +- .../libtar/files/0002-Do-not-strip-libtar.patch | 25 + .../libtar/files/fix_libtool_sysroot.patch | 19 + meta-oe/recipes-support/libtar/libtar_1.2.20.bb | 21 + ...nclude-sys-select.h-for-fd_set-definition.patch | 28 + ...0002-teamd-Re-adjust-include-header-order.patch | 40 ++ .../libteam/{libteam_1.26.bb => libteam_1.27.bb} | 7 +- ...-limit-sys-io.h-header-include-to-just-gl.patch | 88 +++ .../recipes-support/lm_sensors/lmsensors_3.4.0.bb | 6 + ...0001-kpartx-include-limits.h-for-PATH_MAX.patch | 29 + .../multipath-tools/multipath-tools_0.7.1.bb | 1 + .../0001-lmon16g.c-Adjust-system-headers.patch | 46 ++ .../nmon/{nmon_13g.bb => nmon_16g.bb} | 16 +- .../numactl/{numactl_2.0.11.bb => numactl_git.bb} | 9 +- ...mptions-about-glibc-being-only-libc-imple.patch | 45 ++ ...ude-poll.h-instead-of-obsolete-sys-poll.h.patch | 24 + .../0003-Rename-poll.h-to-vm_poll.h.patch | 756 +++++++++++++++++++++ ...ompatible-pointer-types-and-Wno-error-add.patch | 31 + ...05-Use-configure-test-for-struct-timespec.patch | 45 ++ ...ix-definition-of-ALLPERMS-and-ACCESSPERMS.patch | 58 ++ ...re-to-test-for-feature-instead-of-platfor.patch | 144 ++++ .../0008-use-posix-strerror_r-unless-gnu.patch | 30 + ...support-for-building-with-system-libtirpc.patch | 342 ++++++++++ .../open-vm-tools/0010-gnu-ucontext.patch | 65 ++ ...Use-configure-test-for-sys-stat.h-include.patch | 25 + .../open-vm-tools/open-vm-tools_10.1.5.bb | 27 +- meta-oe/recipes-support/pidgin/pidgin-otr_4.0.0.bb | 11 +- .../postgresql/postgresql_9.4.11.bb | 4 + .../satyr/files/0001-do-not-support-python2.patch | 84 +++ ...ix-compile-failure-against-musl-C-library.patch | 28 + meta-oe/recipes-support/satyr/satyr_0.23.bb | 33 + meta-oe/recipes-support/sdparm/sdparm_1.10.bb | 1 + .../recipes-support/sg3-utils/sg3-utils_1.42.bb | 1 + meta-oe/recipes-support/udisks/udisks2_2.1.8.bb | 2 + .../python-pytun/python-pytun.inc | 10 + .../python-pytun/python-pytun_2.2.1.bb | 2 + .../python-pytun/python3-pytun_2.2.1.bb | 2 + .../recipes-devtools/python/python-chardet.inc | 3 + .../recipes-devtools/python/python-paho-mqtt.inc | 4 +- ...aho-mqtt_1.2.3.bb => python-paho-mqtt_1.3.0.bb} | 0 .../recipes-devtools/python/python-requests.inc | 10 +- ...equests_2.13.0.bb => python-requests_2.18.1.bb} | 2 +- .../recipes-devtools/python/python-sqlalchemy.inc | 4 +- ...chemy_1.1.10.bb => python-sqlalchemy_1.1.11.bb} | 0 ...{python-unidiff_0.5.4.bb => python-unidiff.inc} | 2 +- .../python/python-unidiff_0.5.4.bb | 11 +- .../python/python3-coverage_4.4.1.bb | 10 + .../python/python3-langtable_0.0.37.bb | 22 + .../python/python3-ntplib_0.3.3.bb | 12 + .../python/python3-ordered-set_2.0.2.bb | 10 + ...ho-mqtt_1.2.3.bb => python3-paho-mqtt_1.3.0.bb} | 0 .../0001-remove-requirement-of-nose.patch | 29 + .../recipes-devtools/python/python3-pid_2.1.1.bb | 14 + .../0001-support-cross-complication.patch | 61 ++ .../recipes-devtools/python/python3-prctl_1.6.1.bb | 22 + .../python/python3-requests-file_1.4.2.bb | 14 + .../python/python3-requests-ftp_0.3.1.bb | 14 + ...quests_2.13.0.bb => python3-requests_2.18.1.bb} | 2 +- ...hemy_1.1.10.bb => python3-sqlalchemy_1.1.11.bb} | 0 .../python/python3-unidiff_0.5.4.bb | 2 + .../files/tweak-native-language-support.patch | 44 ++ .../python-meh/python3-meh_0.45.bb | 17 + ...0001-support-authentication-for-kickstart.patch | 151 ++++ ...-parser.py-add-lock-for-readKickstart-and.patch | 76 +++ ...-sections-shutdown-and-environment-in-gen.patch | 48 ++ ...d.py-retry-to-invoke-request-with-timeout.patch | 82 +++ .../python-pykickstart/python3-pykickstart_2.35.bb | 26 + ...-configure-Respect-LIBS-variable-from-env.patch | 29 + .../recipes-httpd/monkey/monkey_1.5.6.bb | 9 + .../netdata/0001-Correct-Timeout-issue.patch | 32 +- .../0001-makefile-Do-not-build-contrib-dir.patch | 27 + .../recipes-webadmin/netdata/netdata_git.bb | 14 +- .../0001-Rename-use-of-stdout-and-stderr.patch | 72 ++ .../imsettings/imsettings_1.7.2.bb | 4 +- ...ude-sys-sysctl.h-its-unused-on-linux-port.patch | 25 + .../netload/xfce4-netload-plugin_1.3.1.bb | 3 + 168 files changed, 5157 insertions(+), 779 deletions(-) create mode 100644 meta-efl/recipes-multimedia/lightmediascanner/files/0001-Define-comparison_fn_t-for-non-glibc-systems.patch create mode 100644 meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs/0001-btree-Avoid-conflicts-with-libc-namespace-about-setk.patch create mode 100644 meta-filesystems/recipes-filesystems/unionfs-fuse/files/0001-unionfs-Define-IOCPARM_LEN-if-undefined.patch create mode 100644 meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils/0001-define-loff_t-if-not-already-defined.patch delete mode 100644 meta-filesystems/recipes-utils/aufs-util/aufs-util/aufs_type.h create mode 100644 meta-filesystems/recipes-utils/udevil/files/0001-udevil-0.4.3-fix-compile-with-gcc6.patch create mode 100644 meta-filesystems/recipes-utils/udevil/files/0002-etc-Makefile.am-Use-systemd_unitdir-instead-of-libdi.patch create mode 100644 meta-filesystems/recipes-utils/udevil/udevil_0.4.4.bb create mode 100644 meta-filesystems/recipes-utils/xfsdump/files/0001-Include-fcntl.h-for-O_EXCL.patch create mode 100644 meta-filesystems/recipes-utils/xfsdump/files/0002-Replace-__uint32_t-with-uint32_t.patch create mode 100644 meta-filesystems/recipes-utils/xfsdump/files/0003-replace-use-of-SIGCLD-with-SIGCHLD.patch create mode 100644 meta-filesystems/recipes-utils/xfsdump/files/0004-include-limit.h-for-PATH_MAX.patch create mode 100644 meta-filesystems/recipes-utils/xfsdump/files/0005-include-sys-types.h-for-u_int32_t-in-attr-attributes.patch create mode 100644 meta-gnome/recipes-gnome/gedit/files/0001-tests-document-saver.c-Define-ACCESSPERMS-if-not-def.patch delete mode 100644 meta-gnome/recipes-gnome/libgnome/libgnomekbd_2.32.0.bb create mode 100644 meta-gnome/recipes-gnome/libgnome/libgnomekbd_3.22.0.bb create mode 100644 meta-gnome/recipes-gnome/libgtop/libgtop/0001-netload-Include-libc-net-headers-unconditionally.patch create mode 100644 meta-gnome/recipes-gnome/metacity/metacity/0001-ui-Define-_GNU_SOURCE.patch create mode 100644 meta-gnome/recipes-support/keybinder/keybinder_3.0.bb create mode 100644 meta-gnome/recipes-support/onboard/onboard/0001-pypredict-lm-Define-error-API-if-platform-does-not-h.patch create mode 100644 meta-initramfs/recipes-devtools/dracut/dracut/0001-util.h-include-sys-reg.h-when-libc-glibc.patch create mode 100644 meta-initramfs/recipes-devtools/grubby/grubby/0001-Add-another-variable-LIBS-to-provides-libraries-from.patch create mode 100644 meta-initramfs/recipes-devtools/grubby/grubby/0002-include-paths.h-for-_PATH_MOUNTED.patch create mode 100644 meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/0001-Adjust-the-order-of-headers-to-fix-build-for-musl.patch create mode 100644 meta-multimedia/recipes-multimedia/cdparanoia/files/0001-utils-Use-c99-compiler-independent-types.patch create mode 100644 meta-multimedia/recipes-multimedia/sox/sox/0001-remove-the-error-line-and-live-without-file-type-det.patch create mode 100644 meta-oe/licenses/X11 create mode 100644 meta-oe/recipes-benchmark/iperf3/iperf3/0001-include-stdint.h-for-various-std-c99-int-types.patch create mode 100644 meta-oe/recipes-benchmark/iperf3/iperf3/0002-Remove-pg-from-profile_CFLAGS.patch create mode 100644 meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-Check-for-musl-define-guard-before-redefining-sockle.patch create mode 100644 meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0002-build-Adjust-CFLAGS-LDFLAGS-to-append-values-passed-.patch create mode 100644 meta-oe/recipes-connectivity/linuxptp/linuxptp/0003-include-missing-time.h-for-time_t.patch create mode 100644 meta-oe/recipes-connectivity/linuxptp/linuxptp/0004-Adjust-include-header-sequence-to-avoid-duplicate-de.patch rename meta-oe/recipes-connectivity/linuxptp/{linuxptp_1.6.bb => linuxptp_1.8.bb} (66%) create mode 100644 meta-oe/recipes-connectivity/phonet-utils/phonet-utils/0001-Include-limits.h-for-PATH_MAX.patch create mode 100644 meta-oe/recipes-devtools/glade/glade/remove-yelp-help-rules-var.patch rename meta-oe/recipes-devtools/glade/{files => glade3}/0001-gnome-doc-utils.make-sysrooted-pkg-config.patch (100%) rename meta-oe/recipes-devtools/glade/{files => glade3}/0002-fix-gcc-6-build.patch (100%) create mode 100644 meta-oe/recipes-devtools/glade/glade_3.20.0.bb create mode 100644 meta-oe/recipes-devtools/uftrace/uftrace/0001-Makefile-Add-LDFLAGS-in-export.patch create mode 100644 meta-oe/recipes-devtools/uftrace/uftrace/0002-utils-Add-limits-header-to-fix-build-error.patch create mode 100644 meta-oe/recipes-devtools/uftrace/uftrace_0.7.bb delete mode 100644 meta-oe/recipes-extended/flashrom/flashrom/0001-Fix-compilation-on-aarch64.patch delete mode 100644 meta-oe/recipes-extended/flashrom/flashrom/0001-ichspi.c-Fix-build-with-clang.patch create mode 100644 meta-oe/recipes-extended/flashrom/flashrom/0001-spi-Define-_XOPEN_SOURCE-to-enable-ffs-libc-API.patch delete mode 100644 meta-oe/recipes-extended/flashrom/flashrom/0002-Disable-Wtautological-pointer-compare-when-using-cla.patch delete mode 100644 meta-oe/recipes-extended/flashrom/flashrom/0003-remove-duplicate-const-qualifiers.patch create mode 100644 meta-oe/recipes-extended/flashrom/flashrom/sst26.patch delete mode 100644 meta-oe/recipes-extended/flashrom/flashrom_0.9.6.1.bb create mode 100644 meta-oe/recipes-extended/flashrom/flashrom_0.9.9.bb create mode 100644 meta-oe/recipes-extended/isomd5sum/files/0001-tweak-install-prefix.patch create mode 100644 meta-oe/recipes-extended/isomd5sum/files/0002-fix-parallel-error.patch create mode 100644 meta-oe/recipes-extended/isomd5sum/isomd5sum_1.2.1.bb create mode 100644 meta-oe/recipes-extended/nicstat/nicstat/0001-nicstat.c-Do-not-define-uint64_t-and-uint32_t.patch create mode 100644 meta-oe/recipes-extended/volume_key/files/0001-explicitly-support-python3-by-pkg-config.patch create mode 100644 meta-oe/recipes-extended/volume_key/volume-key_0.3.9.bb create mode 100644 meta-oe/recipes-extended/zlog/zlog/0001-event.c-Cast-pthread_t-to-unsigned-long-instead-of-u.patch rename meta-oe/recipes-graphics/xorg-driver/{xf86-video-nouveau_1.0.12.bb => xf86-video-nouveau_1.0.15.bb} (58%) create mode 100644 meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-ir-ctl-Define-TEMP_FAILURE_RETRY-if-undefined.patch create mode 100644 meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0002-contrib-test-Link-mc_nextgen_test-with-libargp-if-ne.patch create mode 100644 meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0003-v4l2-ctl-Do-not-use-getsubopt.patch create mode 100644 meta-oe/recipes-support/libtar/files/0002-Do-not-strip-libtar.patch create mode 100644 meta-oe/recipes-support/libtar/files/fix_libtool_sysroot.patch create mode 100644 meta-oe/recipes-support/libtar/libtar_1.2.20.bb create mode 100644 meta-oe/recipes-support/libteam/libteam/0001-include-sys-select.h-for-fd_set-definition.patch create mode 100644 meta-oe/recipes-support/libteam/libteam/0002-teamd-Re-adjust-include-header-order.patch rename meta-oe/recipes-support/libteam/{libteam_1.26.bb => libteam_1.27.bb} (75%) create mode 100644 meta-oe/recipes-support/lm_sensors/lmsensors/0001-prog-Do-not-limit-sys-io.h-header-include-to-just-gl.patch create mode 100644 meta-oe/recipes-support/multipath-tools/files/0001-kpartx-include-limits.h-for-PATH_MAX.patch create mode 100644 meta-oe/recipes-support/nmon/nmon/0001-lmon16g.c-Adjust-system-headers.patch rename meta-oe/recipes-support/nmon/{nmon_13g.bb => nmon_16g.bb} (59%) rename meta-oe/recipes-support/numactl/{numactl_2.0.11.bb => numactl_git.bb} (88%) create mode 100644 meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-Remove-assumptions-about-glibc-being-only-libc-imple.patch create mode 100644 meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-include-poll.h-instead-of-obsolete-sys-poll.h.patch create mode 100644 meta-oe/recipes-support/open-vm-tools/open-vm-tools/0003-Rename-poll.h-to-vm_poll.h.patch create mode 100644 meta-oe/recipes-support/open-vm-tools/open-vm-tools/0004-Add-Wno-incompatible-pointer-types-and-Wno-error-add.patch create mode 100644 meta-oe/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-test-for-struct-timespec.patch create mode 100644 meta-oe/recipes-support/open-vm-tools/open-vm-tools/0006-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch create mode 100644 meta-oe/recipes-support/open-vm-tools/open-vm-tools/0007-Use-configure-to-test-for-feature-instead-of-platfor.patch create mode 100644 meta-oe/recipes-support/open-vm-tools/open-vm-tools/0008-use-posix-strerror_r-unless-gnu.patch create mode 100644 meta-oe/recipes-support/open-vm-tools/open-vm-tools/0009-Add-support-for-building-with-system-libtirpc.patch create mode 100644 meta-oe/recipes-support/open-vm-tools/open-vm-tools/0010-gnu-ucontext.patch create mode 100644 meta-oe/recipes-support/open-vm-tools/open-vm-tools/0011-Use-configure-test-for-sys-stat.h-include.patch create mode 100644 meta-oe/recipes-support/satyr/files/0001-do-not-support-python2.patch create mode 100644 meta-oe/recipes-support/satyr/files/0002-fix-compile-failure-against-musl-C-library.patch create mode 100644 meta-oe/recipes-support/satyr/satyr_0.23.bb create mode 100644 meta-python/recipes-connectivity/python-pytun/python-pytun.inc create mode 100644 meta-python/recipes-connectivity/python-pytun/python-pytun_2.2.1.bb create mode 100644 meta-python/recipes-connectivity/python-pytun/python3-pytun_2.2.1.bb rename meta-python/recipes-devtools/python/{python-paho-mqtt_1.2.3.bb => python-paho-mqtt_1.3.0.bb} (100%) rename meta-python/recipes-devtools/python/{python-requests_2.13.0.bb => python-requests_2.18.1.bb} (73%) rename meta-python/recipes-devtools/python/{python-sqlalchemy_1.1.10.bb => python-sqlalchemy_1.1.11.bb} (100%) copy meta-python/recipes-devtools/python/{python-unidiff_0.5.4.bb => python-unidiff.inc} (93%) create mode 100644 meta-python/recipes-devtools/python/python3-coverage_4.4.1.bb create mode 100644 meta-python/recipes-devtools/python/python3-langtable_0.0.37.bb create mode 100644 meta-python/recipes-devtools/python/python3-ntplib_0.3.3.bb create mode 100644 meta-python/recipes-devtools/python/python3-ordered-set_2.0.2.bb rename meta-python/recipes-devtools/python/{python3-paho-mqtt_1.2.3.bb => python3-paho-mqtt_1.3.0.bb} (100%) create mode 100644 meta-python/recipes-devtools/python/python3-pid/0001-remove-requirement-of-nose.patch create mode 100644 meta-python/recipes-devtools/python/python3-pid_2.1.1.bb create mode 100644 meta-python/recipes-devtools/python/python3-prctl/0001-support-cross-complication.patch create mode 100644 meta-python/recipes-devtools/python/python3-prctl_1.6.1.bb create mode 100644 meta-python/recipes-devtools/python/python3-requests-file_1.4.2.bb create mode 100644 meta-python/recipes-devtools/python/python3-requests-ftp_0.3.1.bb rename meta-python/recipes-devtools/python/{python3-requests_2.13.0.bb => python3-requests_2.18.1.bb} (81%) rename meta-python/recipes-devtools/python/{python3-sqlalchemy_1.1.10.bb => python3-sqlalchemy_1.1.11.bb} (100%) create mode 100644 meta-python/recipes-devtools/python/python3-unidiff_0.5.4.bb create mode 100644 meta-python/recipes-extended/python-meh/files/tweak-native-language-support.patch create mode 100644 meta-python/recipes-extended/python-meh/python3-meh_0.45.bb create mode 100644 meta-python/recipes-extended/python-pykickstart/files/0001-support-authentication-for-kickstart.patch create mode 100644 meta-python/recipes-extended/python-pykickstart/files/0002-pykickstart-parser.py-add-lock-for-readKickstart-and.patch create mode 100644 meta-python/recipes-extended/python-pykickstart/files/0003-comment-out-sections-shutdown-and-environment-in-gen.patch create mode 100644 meta-python/recipes-extended/python-pykickstart/files/0004-load.py-retry-to-invoke-request-with-timeout.patch create mode 100644 meta-python/recipes-extended/python-pykickstart/python3-pykickstart_2.35.bb create mode 100644 meta-webserver/recipes-httpd/monkey/files/0001-configure-Respect-LIBS-variable-from-env.patch create mode 100644 meta-webserver/recipes-webadmin/netdata/netdata/0001-makefile-Do-not-build-contrib-dir.patch create mode 100644 meta-xfce/recipes-extended/imsettings/imsettings/0001-Rename-use-of-stdout-and-stderr.patch create mode 100644 meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin/0001-Do-not-include-sys-sysctl.h-its-unused-on-linux-port.patch -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:02:28 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:02:28 +0000 Subject: [oe-commits] [meta-openembedded] 01/75: librcf: RDEPENDS on protobuf, json-spirit In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170227.4CE4C234F0D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 0dbf4e876d3bc086a05f762894a8878b64d3c5d2 Author: Ming Liu AuthorDate: Wed Jul 12 17:56:04 2017 +0200 librcf: RDEPENDS on protobuf, json-spirit librcf only refers some functions defined in protobuf and json-spirit headers, but does not link to any protobuf or json-spirit libraries, so technically librcf does not have runtime dependencies on protobuf or json-spirit. But we still need set it, or else we are missing do_package* task dependencies between them, hence will lead protobuf-dev and json-spirit-dev would not be installed during SDK populating, when building from sstate(do_package* dependencies skipped by setscene_depvalid optimization). Signed-off-by: Ming Liu Signed-off-by: Martin Jansa --- meta-oe/recipes-devtools/librcf/librcf_2.2.0.0.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-oe/recipes-devtools/librcf/librcf_2.2.0.0.bb b/meta-oe/recipes-devtools/librcf/librcf_2.2.0.0.bb index dee7427..43eff72 100644 --- a/meta-oe/recipes-devtools/librcf/librcf_2.2.0.0.bb +++ b/meta-oe/recipes-devtools/librcf/librcf_2.2.0.0.bb @@ -34,8 +34,8 @@ PACKAGECONFIG[sf-serialization] = "-DLIBRCF_USE_SF_SERIALIZATION=ON,-DLIBRCF_USE PACKAGECONFIG[boost-serialization] = "-DLIBRCF_USE_BOOST_SERIALIZATION=ON,-DLIBRCF_USE_BOOST_SERIALIZATION=OFF,boost," PACKAGECONFIG[boost-filesystem] = "-DLIBRCF_USE_BOOST_FILESYSTEM=ON,-DLIBRCF_USE_BOOST_FILESYSTEM=OFF,boost," PACKAGECONFIG[boost-asio] = "-DLIBRCF_USE_BOOST_ASIO=ON,-DLIBRCF_USE_BOOST_ASIO=OFF,boost," -PACKAGECONFIG[protobuf] = "-DLIBRCF_USE_PROTOBUF=ON,-DLIBRCF_USE_PROTOBUF=OFF,protobuf," -PACKAGECONFIG[json] = "-DLIBRCF_USE_JSON=ON,-DLIBRCF_USE_JSON=OFF,json-spirit," +PACKAGECONFIG[protobuf] = "-DLIBRCF_USE_PROTOBUF=ON,-DLIBRCF_USE_PROTOBUF=OFF,protobuf,protobuf" +PACKAGECONFIG[json] = "-DLIBRCF_USE_JSON=ON,-DLIBRCF_USE_JSON=OFF,json-spirit,json-spirit" PACKAGECONFIG[ipv6] = "-DLIBRCF_USE_IPV6=ON,-DLIBRCF_USE_IPV6=OFF," PACKAGECONFIG[custom-allocator] = "-DLIBRCF_USE_CUSTOM_ALLOCATOR=ON,-DLIBRCF_USE_CUSTOM_ALLOCATOR=OFF," PACKAGECONFIG[dll] = "-DLIBRCF_BUILD_DLL=ON,-DLIBRCF_BUILD_DLL=OFF," -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:02:30 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:02:30 +0000 Subject: [oe-commits] [meta-openembedded] 03/75: recipes-utils: Add recipe for udevil In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170227.5DE9C234F0F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 00eacac42f3b676022d6a0585bb9b375f8da3f06 Author: Krzysztof Kozlowski AuthorDate: Thu Jul 13 22:59:55 2017 +0200 recipes-utils: Add recipe for udevil udevil is a command line Linux program which mounts and unmounts removable devices without a password. Signed-off-by: Krzysztof Kozlowski Signed-off-by: Martin Jansa --- .../0001-udevil-0.4.3-fix-compile-with-gcc6.patch | 12 ++++++++ ...e.am-Use-systemd_unitdir-instead-of-libdi.patch | 32 ++++++++++++++++++++++ .../recipes-utils/udevil/udevil_0.4.4.bb | 28 +++++++++++++++++++ 3 files changed, 72 insertions(+) diff --git a/meta-filesystems/recipes-utils/udevil/files/0001-udevil-0.4.3-fix-compile-with-gcc6.patch b/meta-filesystems/recipes-utils/udevil/files/0001-udevil-0.4.3-fix-compile-with-gcc6.patch new file mode 100644 index 0000000..355e93a --- /dev/null +++ b/meta-filesystems/recipes-utils/udevil/files/0001-udevil-0.4.3-fix-compile-with-gcc6.patch @@ -0,0 +1,12 @@ +Fix compilation with GCC6 + +--- a/src/device-info.c 2013-12-09 14:59:27.000000000 +0100 ++++ b/src/device-info.c 2017-03-13 07:06:25.506666680 +0100 +@@ -3,6 +3,7 @@ + * contains code excerpts from udisks v1.0.4 + ************************************************************************** */ + ++#include + #include "device-info.h" + + static char * diff --git a/meta-filesystems/recipes-utils/udevil/files/0002-etc-Makefile.am-Use-systemd_unitdir-instead-of-libdi.patch b/meta-filesystems/recipes-utils/udevil/files/0002-etc-Makefile.am-Use-systemd_unitdir-instead-of-libdi.patch new file mode 100644 index 0000000..f014a0f --- /dev/null +++ b/meta-filesystems/recipes-utils/udevil/files/0002-etc-Makefile.am-Use-systemd_unitdir-instead-of-libdi.patch @@ -0,0 +1,32 @@ +From 80b087193698632e525b90d45b4a49e61e343e1c Mon Sep 17 00:00:00 2001 +From: Krzysztof Kozlowski +Date: Thu, 13 Jul 2017 21:30:35 +0200 +Subject: [PATCH] etc: Makefile.am: Use systemd_unitdir instead of libdir + +Proper directory for installing systemd services is systemd_unitdir, not +libdir. + +Signed-off-by: Krzysztof Kozlowski +--- + etc/Makefile.am | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/etc/Makefile.am b/etc/Makefile.am +index 9b6e7522c20f..6d663241a72f 100644 +--- a/etc/Makefile.am ++++ b/etc/Makefile.am +@@ -16,8 +16,8 @@ if ADD_SYSTEMD + test -f $(DESTDIR)/$(sysconfdir)/conf.d/devmon || $(INSTALL_DATA) \ + $(srcdir)/systemd/devmon \ + $(DESTDIR)/$(sysconfdir)/conf.d/devmon +- test -d $(DESTDIR)/$(libdir)/systemd/system || \ +- mkdir -p -- $(DESTDIR)/$(libdir)/systemd/system ++ test -d $(DESTDIR)/$(systemd_unitdir)/system || \ ++ mkdir -p -- $(DESTDIR)/$(systemd_unitdir)/system + $(INSTALL_DATA) $(srcdir)/systemd/devmon at .service \ +- $(DESTDIR)/$(libdir)/systemd/system/devmon at .service ++ $(DESTDIR)/$(systemd_unitdir)/system/devmon at .service + endif +-- +2.11.0 + diff --git a/meta-filesystems/recipes-utils/udevil/udevil_0.4.4.bb b/meta-filesystems/recipes-utils/udevil/udevil_0.4.4.bb new file mode 100644 index 0000000..c432e85 --- /dev/null +++ b/meta-filesystems/recipes-utils/udevil/udevil_0.4.4.bb @@ -0,0 +1,28 @@ +SUMMARY = "A command line Linux program which mounts and unmounts removable devices" +HOMEPAGE = "http://ignorantguru.github.io/udevil/" + +DEPENDS = "glib-2.0 \ + glib-2.0-native \ + intltool-native \ + udev \ +" +RDEPENDS_${PN} = "udev" + +LICENSE = "GPL-3.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +inherit autotools systemd + +SRC_URI = "https://github.com/IgnorantGuru/udevil/raw/pkg/${PV}/udevil-${PV}.tar.xz \ + file://0001-udevil-0.4.3-fix-compile-with-gcc6.patch \ + file://0002-etc-Makefile.am-Use-systemd_unitdir-instead-of-libdi.patch \ +" + +SRC_URI[md5sum] = "dc1c489b603a0500a04dc7e1805ac1d9" +SRC_URI[sha256sum] = "ce8c51fd4d589cda7be56e75b42188deeb258c66fc911a9b3a70a3945c157739" + +PACKAGECONFIG = "${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','',d)}" +PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd" + +SYSTEMD_SERVICE_${PN} = "devmon at .service" +SYSTEMD_AUTO_ENABLE = "disable" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:02:38 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:02:38 +0000 Subject: [oe-commits] [meta-openembedded] 11/75: xfce4-netload-plugin: Do not include sys/sysctl.h In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170227.9EA05234F17@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 43022b71013e4fd992a7b381d70dea2df59de127 Author: Khem Raj AuthorDate: Thu Jul 13 22:40:03 2017 -0700 xfce4-netload-plugin: Do not include sys/sysctl.h Its unused, moreover it helps it compile with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...ude-sys-sysctl.h-its-unused-on-linux-port.patch | 25 ++++++++++++++++++++++ .../netload/xfce4-netload-plugin_1.3.1.bb | 3 +++ 2 files changed, 28 insertions(+) diff --git a/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin/0001-Do-not-include-sys-sysctl.h-its-unused-on-linux-port.patch b/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin/0001-Do-not-include-sys-sysctl.h-its-unused-on-linux-port.patch new file mode 100644 index 0000000..e354181 --- /dev/null +++ b/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin/0001-Do-not-include-sys-sysctl.h-its-unused-on-linux-port.patch @@ -0,0 +1,25 @@ +From 7fcc7352ec11644ac8be4e9ec1584a5be3333684 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 12 Jul 2017 18:18:30 -0700 +Subject: [PATCH] Do not include sys/sysctl.h its unused on linux port + +Signed-off-by: Khem Raj +--- + panel-plugin/os.h | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/panel-plugin/os.h b/panel-plugin/os.h +index 473c2a4..9a5c544 100644 +--- a/panel-plugin/os.h ++++ b/panel-plugin/os.h +@@ -170,7 +170,6 @@ + #elif __linux__ /* L I N U X */ + # include + # include +-# include + # include + # include + # include +-- +2.13.2 + diff --git a/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin_1.3.1.bb b/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin_1.3.1.bb index 7d77782..35c8861 100644 --- a/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin_1.3.1.bb +++ b/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin_1.3.1.bb @@ -5,5 +5,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=35a7203c41b86d15546dddc05995f97f" inherit xfce-panel-plugin +SRC_URI = "http://archive.xfce.org/src/panel-plugins/${BPN}/${@'${PV}'[0:3]}/${BPN}-${PV}.tar.bz2 \ + file://0001-Do-not-include-sys-sysctl.h-its-unused-on-linux-port.patch \ + " SRC_URI[md5sum] = "f25aa3242e3119b49f259a3e4a1af08b" SRC_URI[sha256sum] = "99762781099d1e0ab9aa6a7b30c2bd94d8f658dbe61c760410d5d42d0766391c" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:02:36 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:02:36 +0000 Subject: [oe-commits] [meta-openembedded] 09/75: lightmediascanner: Define comparison_fn_t if undefined In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170227.8BFC2234F15@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 4ff2e26dedff9caa14ffef57a7002b0fd021c17d Author: Khem Raj AuthorDate: Thu Jul 13 22:40:01 2017 -0700 lightmediascanner: Define comparison_fn_t if undefined Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...ine-comparison_fn_t-for-non-glibc-systems.patch | 33 ++++++++++++++++++++++ .../lightmediascanner/lightmediascanner_0.5.1.bb | 1 + 2 files changed, 34 insertions(+) diff --git a/meta-efl/recipes-multimedia/lightmediascanner/files/0001-Define-comparison_fn_t-for-non-glibc-systems.patch b/meta-efl/recipes-multimedia/lightmediascanner/files/0001-Define-comparison_fn_t-for-non-glibc-systems.patch new file mode 100644 index 0000000..15d4b3f --- /dev/null +++ b/meta-efl/recipes-multimedia/lightmediascanner/files/0001-Define-comparison_fn_t-for-non-glibc-systems.patch @@ -0,0 +1,33 @@ +From 5bc5b8c5dad3edec6736fd7e7ce61250c4ce3725 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 12 Jul 2017 17:13:19 -0700 +Subject: [PATCH] Define comparison_fn_t for non-glibc systems + +lightmediascanner.c:324:12: error: 'comparison_fn_t' undeclared (first use in this function) + (comparison_fn_t)_plugin_sort); + ^~~~~~~~~~~~~~~ + +Signed-off-by: Khem Raj +--- + src/lib/lightmediascanner.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/src/lib/lightmediascanner.c b/src/lib/lightmediascanner.c +index 344b247..b866883 100644 +--- a/src/lib/lightmediascanner.c ++++ b/src/lib/lightmediascanner.c +@@ -37,6 +37,11 @@ + #define DEFAULT_SLAVE_TIMEOUT 1000 + #define DEFAULT_COMMIT_INTERVAL 100 + ++#if !defined(__GLIBC__) ++typedef int (*__compar_fn_t) (const void*, const void*); ++typedef __compar_fn_t comparison_fn_t; ++#endif ++ + #ifdef HAVE_MAGIC_H + static magic_t _magic_handle; + +-- +2.13.2 + diff --git a/meta-efl/recipes-multimedia/lightmediascanner/lightmediascanner_0.5.1.bb b/meta-efl/recipes-multimedia/lightmediascanner/lightmediascanner_0.5.1.bb index d8c6dbb..f215876 100644 --- a/meta-efl/recipes-multimedia/lightmediascanner/lightmediascanner_0.5.1.bb +++ b/meta-efl/recipes-multimedia/lightmediascanner/lightmediascanner_0.5.1.bb @@ -12,6 +12,7 @@ PV = "0.5.1+git${SRCPV}" SRCREV = "adfddb3486276a5ed2f5008c9e43a811e1271cc9" SRC_URI = "git://github.com/profusion/lightmediascanner.git \ file://id3-plugin-support-out-of-tree-build.patch \ + file://0001-Define-comparison_fn_t-for-non-glibc-systems.patch \ " S = "${WORKDIR}/git" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:02:34 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:02:34 +0000 Subject: [oe-commits] [meta-openembedded] 07/75: webrtc-audio-processing: Link with libexecinfo on musl In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170227.7D570234F13@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 3fa862b3f29424c446b5c533804a0938e93047bc Author: Khem Raj AuthorDate: Thu Jul 13 22:39:59 2017 -0700 webrtc-audio-processing: Link with libexecinfo on musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../webrtc-audio-processing/webrtc-audio-processing_0.3.bb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing_0.3.bb b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing_0.3.bb index eb9a304..2b0f7c6 100644 --- a/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing_0.3.bb +++ b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing_0.3.bb @@ -2,6 +2,8 @@ DESCRIPTION = "Audio processing bits of the WebRTC reference implementation" HOMEPAGE = "https://www.freedesktop.org/software/pulseaudio/webrtc-audio-processing/" SECTION = "audio" +DEPENDS_append_libc-musl = " libexecinfo" + LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM = "file://COPYING;md5=da08a38a32a340c5d91e13ee86a118f2 \ file://webrtc/common.h;beginline=1;endline=9;md5=41f7322d91deabaf0acbbd0b8d0bc548 \ @@ -22,4 +24,5 @@ SRC_URI = "http://freedesktop.org/software/pulseaudio/webrtc-audio-processing/${ SRC_URI[md5sum] = "336ae032f608e65808ac577cde0ab72c" SRC_URI[sha256sum] = "756e291d4f557d88cd50c4fe3b8454ec238362d22cedb3e6173240d90f0a80fa" +LDFLAGS_append_libc-musl = " -lexecinfo" inherit autotools -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:02:37 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:02:37 +0000 Subject: [oe-commits] [meta-openembedded] 10/75: lmbench: Fix build with musl In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170227.9588C234F16@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 68b6fbf28a368ec34c51c8e6a7003fb5c1083554 Author: Khem Raj AuthorDate: Thu Jul 13 22:40:02 2017 -0700 lmbench: Fix build with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...usl-define-guard-before-redefining-sockle.patch | 29 +++++++++ ...t-CFLAGS-LDFLAGS-to-append-values-passed-.patch | 76 ++++++++++++++++++++++ .../recipes-benchmark/lmbench/lmbench_3.0-a9.bb | 8 ++- 3 files changed, 112 insertions(+), 1 deletion(-) diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-Check-for-musl-define-guard-before-redefining-sockle.patch b/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-Check-for-musl-define-guard-before-redefining-sockle.patch new file mode 100644 index 0000000..20791bf --- /dev/null +++ b/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-Check-for-musl-define-guard-before-redefining-sockle.patch @@ -0,0 +1,29 @@ +From 31d58ed7e6552781f415501e96d7cc74f83b910d Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 12 Jul 2017 18:08:51 -0700 +Subject: [PATCH 1/2] Check for musl define guard before redefining socklen_t + +musl uses __DEFINED_socklen_t so check for that as well +along with HAVE_socklen_t + +Signed-off-by: Khem Raj +--- + src/bench.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/bench.h b/src/bench.h +index 597d068..2ebdf5a 100644 +--- a/src/bench.h ++++ b/src/bench.h +@@ -77,7 +77,7 @@ typedef long long int64; + #endif /* HAVE_int64_t */ + #endif /* HAVE_int64 */ + +-#ifndef HAVE_socklen_t ++#if !defined(HAVE_socklen_t) && !defined(__DEFINED_socklen_t) + typedef int socklen_t; + #endif + +-- +2.13.2 + diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0002-build-Adjust-CFLAGS-LDFLAGS-to-append-values-passed-.patch b/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0002-build-Adjust-CFLAGS-LDFLAGS-to-append-values-passed-.patch new file mode 100644 index 0000000..d5c8f5f --- /dev/null +++ b/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0002-build-Adjust-CFLAGS-LDFLAGS-to-append-values-passed-.patch @@ -0,0 +1,76 @@ +From 76f3a9abc2ff96155425ef97d8c5520cfbc8fe6a Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 12 Jul 2017 18:09:46 -0700 +Subject: [PATCH 2/2] build: Adjust CFLAGS/LDFLAGS to append values passed from + env + +For musl we have to pass additional arguments via cflags and ldflags +to link in librirpc, make room for those changes to take effect + +Signed-off-by: Khem Raj +--- + scripts/build | 2 +- + src/Makefile | 14 +++++++------- + 2 files changed, 8 insertions(+), 8 deletions(-) + +diff --git a/scripts/build b/scripts/build +index 34a1371..3786741 100755 +--- a/scripts/build ++++ b/scripts/build +@@ -18,7 +18,7 @@ done + + trap 'rm -f ${BASE}$$.s ${BASE}$$.c ${BASE}$$.o ${BASE}$$; exit 1' 1 2 15 + +-LDLIBS=-lm ++LDLIBS+=-lm + + # check for HP-UX's ANSI compiler + echo "main(int ac, char *av[]) { int i; }" > ${BASE}$$.c +diff --git a/src/Makefile b/src/Makefile +index d9efd54..96467d7 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -112,8 +112,8 @@ LIBOBJS= $O/lib_tcp.o $O/lib_udp.o $O/lib_unix.o $O/lib_timing.o \ + $O/lib_sched.o + + lmbench: $(UTILS) +- @env CFLAGS=-O MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" CC="$(CC)" OS="$(OS)" ../scripts/build all +- - at env CFLAGS=-O MAKE="$(MAKE)" MAKEFLAGS="k$(MAKEFLAGS)" CC="$(CC)" OS="$(OS)" ../scripts/build opt ++ @env CFLAGS+=-O MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" CC="$(CC)" OS="$(OS)" ../scripts/build all ++ - at env CFLAGS+=-O MAKE="$(MAKE)" MAKEFLAGS="k$(MAKEFLAGS)" CC="$(CC)" OS="$(OS)" ../scripts/build opt + + results: lmbench + @env OS="${OS}" ../scripts/config-run +@@ -137,7 +137,7 @@ os: lmbench + @env OS="${OS}" BENCHMARK_HARDWARE=NO BENCHMARK_OS=YES ../scripts/results + + install: lmbench +- @env CFLAGS=-O MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" CC="${CC}" OS="${OS}" ../scripts/build install-target ++ @env CFLAGS+=-O MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" CC="${CC}" OS="${OS}" ../scripts/build install-target + + install-target: + if [ ! -d $(BASE) ]; then mkdir $(BASE); fi +@@ -155,16 +155,16 @@ all: $(EXES) $O/lmbench + opt: $(OPT_EXES) + asm: $(ASMS) + $(ASMS): +- $(CC) -S $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $@ `basename $@ .s`.c ++ $(CC) -S $(CFLAGS) $(CPPFLAGS) -o $@ `basename $@ .s`.c $(LDFLAGS) + + Wall: +- @env CFLAGS="-g -O -Wall" MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" CC="${CC}" OS="${OS}" ../scripts/build all opt ++ @env CFLAGS+="-g -O -Wall" MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" CC="${CC}" OS="${OS}" ../scripts/build all opt + + debug: +- @env CFLAGS="-g -O -DDEBUG" MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" CC="${CC}" OS="${OS}" ../scripts/build all opt ++ @env CFLAGS+="-g -O -DDEBUG" MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" CC="${CC}" OS="${OS}" ../scripts/build all opt + + assembler: +- @env CFLAGS=-O MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" CC="${CC}" OS="${OS}" ../scripts/build asm ++ @env CFLAGS+=-O MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" CC="${CC}" OS="${OS}" ../scripts/build asm + + + tag: +-- +2.13.2 + diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb b/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb index 43ac1d0..03b3721 100644 --- a/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb +++ b/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb @@ -7,6 +7,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b \ inherit autotools-brokensep +DEPENDS_append_libc-musl = " libtirpc" +CFLAGS_append_libc-musl = " -I${STAGING_INCDIR}/tirpc" +LDLIBS_append_libc-musl = " -ltirpc " + PR = "r2" SRC_URI = "${SOURCEFORGE_MIRROR}/lmbench/lmbench-${PV}.tgz \ @@ -20,12 +24,14 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/lmbench/lmbench-${PV}.tgz \ file://fix-lmbench-memory-check-failure.patch \ file://0001-avoid-gcc-optimize-away-the-loops.patch \ file://0001-lat_http.c-Add-printf-format.patch \ + file://0001-Check-for-musl-define-guard-before-redefining-sockle.patch \ + file://0002-build-Adjust-CFLAGS-LDFLAGS-to-append-values-passed-.patch \ " SRC_URI[md5sum] = "b3351a3294db66a72e2864a199d37cbf" SRC_URI[sha256sum] = "cbd5777d15f44eab7666dcac418054c3c09df99826961a397d9acf43d8a2a551" EXTRA_OEMAKE = 'CC="${CC}" AR="${AR}" RANLIB="${RANLIB}" CFLAGS="${CFLAGS}" \ - LDFLAGS="${LDFLAGS}" LD="${LD}" OS="${TARGET_SYS}" \ + LDFLAGS="${LDFLAGS}" LDLIBS="${LDLIBS}" LD="${LD}" OS="${TARGET_SYS}" \ TARGET="${TARGET_OS}" BASE="${prefix}" MANDIR="${mandir}"' do_configure() { -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:02:32 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:02:32 +0000 Subject: [oe-commits] [meta-openembedded] 05/75: libteam: Upgrade to 1.27 In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170227.6D112234F11@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 77c757f414ac89742a5e7bc76ceecedd7a2eb01f Author: Khem Raj AuthorDate: Thu Jul 13 22:39:57 2017 -0700 libteam: Upgrade to 1.27 Fix build with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...nclude-sys-select.h-for-fd_set-definition.patch | 28 +++++++++++++++ ...0002-teamd-Re-adjust-include-header-order.patch | 40 ++++++++++++++++++++++ .../libteam/{libteam_1.26.bb => libteam_1.27.bb} | 7 ++-- 3 files changed, 73 insertions(+), 2 deletions(-) diff --git a/meta-oe/recipes-support/libteam/libteam/0001-include-sys-select.h-for-fd_set-definition.patch b/meta-oe/recipes-support/libteam/libteam/0001-include-sys-select.h-for-fd_set-definition.patch new file mode 100644 index 0000000..a4a17ed --- /dev/null +++ b/meta-oe/recipes-support/libteam/libteam/0001-include-sys-select.h-for-fd_set-definition.patch @@ -0,0 +1,28 @@ +From 0ab69dc18a2057ff5bf41abcdf2b983b72d5a903 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 12 Jul 2017 15:34:49 -0700 +Subject: [PATCH 1/2] include sys/select.h for fd_set definition + +Fixes +teamnl.c:160:2: error: unknown type name 'fd_set'; did you mean 'fpos_t'? + +Signed-off-by: Khem Raj +--- + utils/teamnl.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/utils/teamnl.c b/utils/teamnl.c +index e8de7e2..25129e8 100644 +--- a/utils/teamnl.c ++++ b/utils/teamnl.c +@@ -24,6 +24,7 @@ + #include + #include + #include ++#include + #include + #include + #include +-- +2.13.2 + diff --git a/meta-oe/recipes-support/libteam/libteam/0002-teamd-Re-adjust-include-header-order.patch b/meta-oe/recipes-support/libteam/libteam/0002-teamd-Re-adjust-include-header-order.patch new file mode 100644 index 0000000..beabf63 --- /dev/null +++ b/meta-oe/recipes-support/libteam/libteam/0002-teamd-Re-adjust-include-header-order.patch @@ -0,0 +1,40 @@ +From a5b945cb3c62a18dcd7047f62707c09076c4e48b Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 12 Jul 2017 15:35:51 -0700 +Subject: [PATCH 2/2] teamd: Re-adjust include header order + +So it gets the library definition before kernel definition + +usr/include/ne +tinet/if_ether.h:101:8: error: redefinition of 'struct ethhdr' + struct ethhdr { + ^~~~~~ + +Signed-off-by: Khem Raj +--- + teamd/teamd_runner_lacp.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/teamd/teamd_runner_lacp.c b/teamd/teamd_runner_lacp.c +index 9c77fae..8800854 100644 +--- a/teamd/teamd_runner_lacp.c ++++ b/teamd/teamd_runner_lacp.c +@@ -23,6 +23,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -30,7 +31,6 @@ + #include + #include + #include +-#include + + #include "teamd.h" + #include "teamd_config.h" +-- +2.13.2 + diff --git a/meta-oe/recipes-support/libteam/libteam_1.26.bb b/meta-oe/recipes-support/libteam/libteam_1.27.bb similarity index 75% rename from meta-oe/recipes-support/libteam/libteam_1.26.bb rename to meta-oe/recipes-support/libteam/libteam_1.27.bb index 2cb9e8f..3222700 100644 --- a/meta-oe/recipes-support/libteam/libteam_1.26.bb +++ b/meta-oe/recipes-support/libteam/libteam_1.27.bb @@ -7,8 +7,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" DEPENDS = "libnl libdaemon jansson" -SRC_URI = "git://github.com/jpirko/libteam" -SRCREV = "8c1cea00a21950089058e4e33ea1f7bf4deaddeb" +SRC_URI = "git://github.com/jpirko/libteam \ + file://0001-include-sys-select.h-for-fd_set-definition.patch \ + file://0002-teamd-Re-adjust-include-header-order.patch \ + " +SRCREV = "91a928a56a501daac5ce8b3c16bd9943661f1d16" SRC_URI[md5sum] = "565114d70c41bff6093d8e57be284e8a" SRC_URI[sha256sum] = "d65286379141db141bea33424ec0507bb0f827a0bf03d9c65004bb593e3d5545" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:02:33 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:02:33 +0000 Subject: [oe-commits] [meta-openembedded] 06/75: sox: Fix build with musl In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170227.7474E234F12@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 07ab8e107124d32c0229d2f40dd38caf1464722f Author: Khem Raj AuthorDate: Thu Jul 13 22:39:58 2017 -0700 sox: Fix build with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...error-line-and-live-without-file-type-det.patch | 28 ++++++++++++++++++++++ .../recipes-multimedia/sox/sox_14.4.0.bb | 4 +++- 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/meta-multimedia/recipes-multimedia/sox/sox/0001-remove-the-error-line-and-live-without-file-type-det.patch b/meta-multimedia/recipes-multimedia/sox/sox/0001-remove-the-error-line-and-live-without-file-type-det.patch new file mode 100644 index 0000000..605863a --- /dev/null +++ b/meta-multimedia/recipes-multimedia/sox/sox/0001-remove-the-error-line-and-live-without-file-type-det.patch @@ -0,0 +1,28 @@ +From c2aed28e3e14329ad0a8c4371fdcce9934013f21 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 12 Jul 2017 16:36:06 -0700 +Subject: [PATCH] remove the #error line and live without file-type detection + with pipes + +this fallback is executed with musl + +Signed-off-by: Khem Raj +--- + src/formats.c | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/src/formats.c b/src/formats.c +index 7e231ca..b13f0d5 100644 +--- a/src/formats.c ++++ b/src/formats.c +@@ -416,7 +416,6 @@ static void UNUSED rewind_pipe(FILE * fp) + /* To fix this #error, either simply remove the #error line and live without + * file-type detection with pipes, or add support for your compiler in the + * lines above. Test with cat monkey.au | ./sox --info - */ +- #error FIX NEEDED HERE + #define NO_REWIND_PIPE + (void)fp; + #endif +-- +2.13.2 + diff --git a/meta-multimedia/recipes-multimedia/sox/sox_14.4.0.bb b/meta-multimedia/recipes-multimedia/sox/sox_14.4.0.bb index ada958b..e115f1c 100644 --- a/meta-multimedia/recipes-multimedia/sox/sox_14.4.0.bb +++ b/meta-multimedia/recipes-multimedia/sox/sox_14.4.0.bb @@ -27,7 +27,9 @@ LICENSE = "GPLv2 & LGPLv2.1" LIC_FILES_CHKSUM = "file://LICENSE.GPL;md5=751419260aa954499f7abaabaa882bbe \ file://LICENSE.LGPL;md5=fbc093901857fcd118f065f900982c24" -SRC_URI = "${SOURCEFORGE_MIRROR}/sox/sox-${PV}.tar.gz" +SRC_URI = "${SOURCEFORGE_MIRROR}/sox/sox-${PV}.tar.gz \ + file://0001-remove-the-error-line-and-live-without-file-type-det.patch \ + " SRC_URI[md5sum] = "b0c15cff7a4ba0ec17fdc74e6a1f9cf1" SRC_URI[sha256sum] = "3ee34b14dd267de378e8a117aae81ec4cae330772342e6a55bbf6520a0a88aa3" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:02:40 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:02:40 +0000 Subject: [oe-commits] [meta-openembedded] 13/75: gedit: Define ACCESSPERMS if not defined already In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170227.ADA24234F19@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 94f92801d6731790c40af69a37b0f3ec471a407f Author: Khem Raj AuthorDate: Thu Jul 13 22:40:05 2017 -0700 gedit: Define ACCESSPERMS if not defined already Fixes build on musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...ent-saver.c-Define-ACCESSPERMS-if-not-def.patch | 31 ++++++++++++++++++++++ meta-gnome/recipes-gnome/gedit/gedit_2.30.4.bb | 11 ++++---- 2 files changed, 37 insertions(+), 5 deletions(-) diff --git a/meta-gnome/recipes-gnome/gedit/files/0001-tests-document-saver.c-Define-ACCESSPERMS-if-not-def.patch b/meta-gnome/recipes-gnome/gedit/files/0001-tests-document-saver.c-Define-ACCESSPERMS-if-not-def.patch new file mode 100644 index 0000000..11afe75 --- /dev/null +++ b/meta-gnome/recipes-gnome/gedit/files/0001-tests-document-saver.c-Define-ACCESSPERMS-if-not-def.patch @@ -0,0 +1,31 @@ +From ee43bcc3c8d69fe56a64c3487e2d3c780ea5d25e Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 13 Jul 2017 06:53:35 -0700 +Subject: [PATCH] tests/document-saver.c: Define ACCESSPERMS if not defined + already + +Helps compile with musl + +Signed-off-by: Khem Raj +--- + tests/document-saver.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/tests/document-saver.c b/tests/document-saver.c +index 9f44d5a..811ade6 100644 +--- a/tests/document-saver.c ++++ b/tests/document-saver.c +@@ -41,6 +41,10 @@ + #define UNOWNED_GROUP_LOCAL_URI "/tmp/gedit-document-saver-unowned-group.txt" + #define UNOWNED_GROUP_REMOTE_URI "sftp://localhost/tmp/gedit-document-saver-unowned-group.txt" + ++#if !defined(ACCESSPERMS) ++#define ACCESSPERMS (S_IRWXU|S_IRWXG|S_IRWXO) /* 0777 */ ++#endif ++ + static gboolean test_completed; + static gboolean mount_completed; + static gboolean mount_success; +-- +2.13.2 + diff --git a/meta-gnome/recipes-gnome/gedit/gedit_2.30.4.bb b/meta-gnome/recipes-gnome/gedit/gedit_2.30.4.bb index 03d7fa4..4352b5e 100644 --- a/meta-gnome/recipes-gnome/gedit/gedit_2.30.4.bb +++ b/meta-gnome/recipes-gnome/gedit/gedit_2.30.4.bb @@ -8,11 +8,12 @@ DEPENDS = "gvfs enchant gconf gnome-doc-utils glib-2.0 gtk+ gtksourceview2 iso-c LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" inherit gnome gettext pythonnative -SRC_URI+= " \ - file://0001-workaround-void-pointer-arithmetic.patch \ - file://0001-Remove-help-directory-from-build.patch \ - file://0002-suppress-string-format-literal-warning-to-fix-build-.patch \ -" +SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@gnome_verdir("${PV}")}/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive \ + file://0001-workaround-void-pointer-arithmetic.patch \ + file://0001-Remove-help-directory-from-build.patch \ + file://0002-suppress-string-format-literal-warning-to-fix-build-.patch \ + file://0001-tests-document-saver.c-Define-ACCESSPERMS-if-not-def.patch \ + " SRC_URI[archive.md5sum] = "e1eecb0a92a1a363b3d375ec5ac0fb3b" SRC_URI[archive.sha256sum] = "a561fe3dd1d199baede1bd07c4ee65f06fc7c494dd4d3327117f04149a608e3c" GNOME_COMPRESS_TYPE="bz2" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:02:39 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:02:39 +0000 Subject: [oe-commits] [meta-openembedded] 12/75: imsettings: Fix build with musl In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170227.A620B234F18@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 0cb5343932bdd4df2629d41f16a471a611fdfa2e Author: Khem Raj AuthorDate: Thu Jul 13 22:40:04 2017 -0700 imsettings: Fix build with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../0001-Rename-use-of-stdout-and-stderr.patch | 72 ++++++++++++++++++++++ .../imsettings/imsettings_1.7.2.bb | 4 +- 2 files changed, 75 insertions(+), 1 deletion(-) diff --git a/meta-xfce/recipes-extended/imsettings/imsettings/0001-Rename-use-of-stdout-and-stderr.patch b/meta-xfce/recipes-extended/imsettings/imsettings/0001-Rename-use-of-stdout-and-stderr.patch new file mode 100644 index 0000000..d77ce4d --- /dev/null +++ b/meta-xfce/recipes-extended/imsettings/imsettings/0001-Rename-use-of-stdout-and-stderr.patch @@ -0,0 +1,72 @@ +From 7ee62ef0083844ab2fffcd106e3ee2e5f29b2a91 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 12 Jul 2017 18:53:56 -0700 +Subject: [PATCH] Rename use of stdout and stderr + +Since it shadow the standard definitions especially +seen on musl where libc defines these as macros they +cause all short of compilation errors on musl, using +a leading underscore makes it unique + +Signed-off-by: Khem Raj +--- + imsettings-daemon/imsettings-proc.c | 28 ++++++++++++++-------------- + 1 file changed, 14 insertions(+), 14 deletions(-) + +diff --git a/imsettings-daemon/imsettings-proc.c b/imsettings-daemon/imsettings-proc.c +index 915e78b..b78fcff 100644 +--- a/imsettings-daemon/imsettings-proc.c ++++ b/imsettings-daemon/imsettings-proc.c +@@ -39,8 +39,8 @@ + #define MAXRESTART 3 + + typedef struct _IMSettingsProcInfo { +- GIOChannel *stdout; +- GIOChannel *stderr; ++ GIOChannel *_stdout; ++ GIOChannel *_stderr; + GPid pid; + GTimeVal started_time; + guint id; +@@ -368,12 +368,12 @@ _start_process(IMSettingsProc *proc, + &ofd, &efd, + error)) { + pinfo->pid = pid; +- pinfo->stdout = g_io_channel_unix_new(ofd); +- pinfo->stderr = g_io_channel_unix_new(efd); +- g_io_channel_set_close_on_unref(pinfo->stdout, TRUE); +- g_io_channel_set_close_on_unref(pinfo->stderr, TRUE); +- pinfo->oid = g_io_add_watch(pinfo->stdout, G_IO_IN, _log_write_cb, proc); +- pinfo->eid = g_io_add_watch(pinfo->stderr, G_IO_IN, _log_write_cb, proc); ++ pinfo->_stdout = g_io_channel_unix_new(ofd); ++ pinfo->_stderr = g_io_channel_unix_new(efd); ++ g_io_channel_set_close_on_unref(pinfo->_stdout, TRUE); ++ g_io_channel_set_close_on_unref(pinfo->_stderr, TRUE); ++ pinfo->oid = g_io_add_watch(pinfo->_stdout, G_IO_IN, _log_write_cb, proc); ++ pinfo->eid = g_io_add_watch(pinfo->_stderr, G_IO_IN, _log_write_cb, proc); + g_get_current_time(&pinfo->started_time); + pinfo->id = g_child_watch_add(pid, _watch_im_status_cb, proc); + +@@ -521,13 +521,13 @@ imsettings_proc_get_property(GObject *object, + static void + imsettings_proc_info_finalize(IMSettingsProcInfo *pinfo) + { +- if (pinfo->stdout) { +- g_io_channel_unref(pinfo->stdout); +- pinfo->stdout = NULL; ++ if (pinfo->_stdout) { ++ g_io_channel_unref(pinfo->_stdout); ++ pinfo->_stdout = NULL; + } +- if (pinfo->stderr) { +- g_io_channel_unref(pinfo->stderr); +- pinfo->stderr = NULL; ++ if (pinfo->_stderr) { ++ g_io_channel_unref(pinfo->_stderr); ++ pinfo->_stderr = NULL; + } + if (pinfo->oid > 0) { + g_source_remove(pinfo->oid); +-- +2.13.2 + diff --git a/meta-xfce/recipes-extended/imsettings/imsettings_1.7.2.bb b/meta-xfce/recipes-extended/imsettings/imsettings_1.7.2.bb index 4b2ca49..7a4ce05 100644 --- a/meta-xfce/recipes-extended/imsettings/imsettings_1.7.2.bb +++ b/meta-xfce/recipes-extended/imsettings/imsettings_1.7.2.bb @@ -11,7 +11,9 @@ inherit autotools gtk-doc gobject-introspection SRC_URI = "https://bitbucket.org/tagoh/imsettings/downloads/${BPN}-${PV}.tar.bz2 \ file://gtk-is-required-by-notify.patch \ - file://multi-line-ACLOCAL_AMFLAGS-isnot-supported-by-autoreconf.patch" + file://multi-line-ACLOCAL_AMFLAGS-isnot-supported-by-autoreconf.patch \ + file://0001-Rename-use-of-stdout-and-stderr.patch \ + " SRC_URI[md5sum] = "8153b0583a9f47d8a62af1f92fb9d3bf" SRC_URI[sha256sum] = "41addf0458f760212b6b6100835066e16deb3a8a50eb005a0fc17fbac0a2ae66" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:02:35 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:02:35 +0000 Subject: [oe-commits] [meta-openembedded] 08/75: cdparanoia: Fix build with musl In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170227.8479F234F14@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 102f98c142edadb1424f214a027cec986e713eef Author: Khem Raj AuthorDate: Thu Jul 13 22:40:00 2017 -0700 cdparanoia: Fix build with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../cdparanoia/cdparanoia_10.2.bb | 1 + ...-utils-Use-c99-compiler-independent-types.patch | 49 ++++++++++++++++++++++ 2 files changed, 50 insertions(+) diff --git a/meta-multimedia/recipes-multimedia/cdparanoia/cdparanoia_10.2.bb b/meta-multimedia/recipes-multimedia/cdparanoia/cdparanoia_10.2.bb index 30d71ff..27fa0e5 100644 --- a/meta-multimedia/recipes-multimedia/cdparanoia/cdparanoia_10.2.bb +++ b/meta-multimedia/recipes-multimedia/cdparanoia/cdparanoia_10.2.bb @@ -15,6 +15,7 @@ SRC_URI = "http://downloads.xiph.org/releases/cdparanoia/cdparanoia-III-${PV}.sr file://out-of-tree-build.patch \ file://0001-check-for-null-buffer-before-trying-a-byteswap.patch \ file://0002-Fix-printf-format-errors.patch \ + file://0001-utils-Use-c99-compiler-independent-types.patch \ " SRC_URI[md5sum] = "b304bbe8ab63373924a744eac9ebc652" SRC_URI[sha256sum] = "005db45ef4ee017f5c32ec124f913a0546e77014266c6a1c50df902a55fe64df" diff --git a/meta-multimedia/recipes-multimedia/cdparanoia/files/0001-utils-Use-c99-compiler-independent-types.patch b/meta-multimedia/recipes-multimedia/cdparanoia/files/0001-utils-Use-c99-compiler-independent-types.patch new file mode 100644 index 0000000..7699017 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/cdparanoia/files/0001-utils-Use-c99-compiler-independent-types.patch @@ -0,0 +1,49 @@ +From 89071cbc8d3ab9a15503f397580b7590338e5e91 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 12 Jul 2017 17:23:45 -0700 +Subject: [PATCH] utils: Use c99 compiler independent types + +Make it portable across different platforms + +Signed-off-by: Khem Raj +--- + utils.h | 13 +++++++------ + 1 file changed, 7 insertions(+), 6 deletions(-) + +diff --git a/utils.h b/utils.h +index 10dce58..73bba92 100644 +--- a/utils.h ++++ b/utils.h +@@ -3,6 +3,7 @@ + #include + #include + #include ++#include + + extern long buffering_write(int outf, char *buffer, long num); + extern int buffering_close(int fd); +@@ -18,15 +19,15 @@ static inline int bigendianp(void){ + } + + static inline int32_t swap32(int32_t x){ +- return((((u_int32_t)x & 0x000000ffU) << 24) | +- (((u_int32_t)x & 0x0000ff00U) << 8) | +- (((u_int32_t)x & 0x00ff0000U) >> 8) | +- (((u_int32_t)x & 0xff000000U) >> 24)); ++ return((((uint32_t)x & 0x000000ffU) << 24) | ++ (((uint32_t)x & 0x0000ff00U) << 8) | ++ (((uint32_t)x & 0x00ff0000U) >> 8) | ++ (((uint32_t)x & 0xff000000U) >> 24)); + } + + static inline int16_t swap16(int16_t x){ +- return((((u_int16_t)x & 0x00ffU) << 8) | +- (((u_int16_t)x & 0xff00U) >> 8)); ++ return((((uint16_t)x & 0x00ffU) << 8) | ++ (((uint16_t)x & 0xff00U) >> 8)); + } + + #if BYTE_ORDER == LITTLE_ENDIAN +-- +2.13.2 + -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:02:41 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:02:41 +0000 Subject: [oe-commits] [meta-openembedded] 14/75: onboard: Fix build with musl In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170227.B5733234F1A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit ecd60444b50b06f6fd234fea33c614c23950d5bc Author: Khem Raj AuthorDate: Thu Jul 13 22:40:06 2017 -0700 onboard: Fix build with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...m-Define-error-API-if-platform-does-not-h.patch | 67 ++++++++++++++++++++++ .../recipes-support/onboard/onboard_1.4.1.bb | 4 +- 2 files changed, 70 insertions(+), 1 deletion(-) diff --git a/meta-gnome/recipes-support/onboard/onboard/0001-pypredict-lm-Define-error-API-if-platform-does-not-h.patch b/meta-gnome/recipes-support/onboard/onboard/0001-pypredict-lm-Define-error-API-if-platform-does-not-h.patch new file mode 100644 index 0000000..fda3789 --- /dev/null +++ b/meta-gnome/recipes-support/onboard/onboard/0001-pypredict-lm-Define-error-API-if-platform-does-not-h.patch @@ -0,0 +1,67 @@ +From 1c95f64aa342147387ce4b1b7269a5c8b34bd898 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 13 Jul 2017 09:01:04 -0700 +Subject: [PATCH] pypredict/lm: Define error API if platform does not have it + +error() API is not implemented across all libcs on linux +e.g. musl does not provide it. + +Signed-off-by: Khem Raj +--- + Onboard/pypredict/lm/lm.cpp | 1 - + Onboard/pypredict/lm/lm.h | 13 +++++++++++++ + Onboard/pypredict/lm/lm_dynamic.cpp | 2 -- + 3 files changed, 13 insertions(+), 3 deletions(-) + +diff --git a/Onboard/pypredict/lm/lm.cpp b/Onboard/pypredict/lm/lm.cpp +index 2e64296..37ae241 100644 +--- a/Onboard/pypredict/lm/lm.cpp ++++ b/Onboard/pypredict/lm/lm.cpp +@@ -19,7 +19,6 @@ + + #include + #include +-#include + #include + #include + #include +diff --git a/Onboard/pypredict/lm/lm.h b/Onboard/pypredict/lm/lm.h +index ed4164a..b8b63ee 100644 +--- a/Onboard/pypredict/lm/lm.h ++++ b/Onboard/pypredict/lm/lm.h +@@ -32,6 +32,19 @@ + #include + #include + ++#if defined(HAVE_ERROR_H) ++#include ++#else ++#include ++#define _onboard_error(S, E, F, ...) do { \ ++ if (E) \ ++ err(S, F ": %s", ##__VA_ARGS__, strerror(E)); \ ++ else \ ++ err(S, F, ##__VA_ARGS__); \ ++} while(0) ++ ++#define error _onboard_error ++#endif + + // break into debugger + // step twice to come back out of the raise() call into known code +diff --git a/Onboard/pypredict/lm/lm_dynamic.cpp b/Onboard/pypredict/lm/lm_dynamic.cpp +index 7c62824..e7c7f40 100644 +--- a/Onboard/pypredict/lm/lm_dynamic.cpp ++++ b/Onboard/pypredict/lm/lm_dynamic.cpp +@@ -17,8 +17,6 @@ + * along with this program. If not, see . + */ + +-#include +- + #include "lm_dynamic.h" + + using namespace std; +-- +2.13.2 + diff --git a/meta-gnome/recipes-support/onboard/onboard_1.4.1.bb b/meta-gnome/recipes-support/onboard/onboard_1.4.1.bb index 3a4f189..10765ee 100644 --- a/meta-gnome/recipes-support/onboard/onboard_1.4.1.bb +++ b/meta-gnome/recipes-support/onboard/onboard_1.4.1.bb @@ -4,7 +4,9 @@ LIC_FILES_CHKSUM = "file://COPYING.GPL3;md5=8521fa4dd51909b407c5150498d34f4e" DEPENDS += "gtk+3 hunspell libcanberra libxkbfile dconf python3-distutils-extra-native intltool-native" -SRC_URI = "https://launchpad.net/onboard/1.4/${PV}/+download/${BPN}-${PV}.tar.gz" +SRC_URI = "https://launchpad.net/onboard/1.4/${PV}/+download/${BPN}-${PV}.tar.gz \ + file://0001-pypredict-lm-Define-error-API-if-platform-does-not-h.patch \ + " SRC_URI[md5sum] = "1a2fbe82e934f5b37841d17ff51e80e8" SRC_URI[sha256sum] = "01cae1ac5b1ef1ab985bd2d2d79ded6fc99ee04b1535cc1bb191e43a231a3865" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:02:47 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:02:47 +0000 Subject: [oe-commits] [meta-openembedded] 20/75: yaffs2-utils: Fix build with musl In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170227.E1D25234F20@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 35814672e7176d6d19db690cc9823bed271820fa Author: Khem Raj AuthorDate: Thu Jul 13 22:40:12 2017 -0700 yaffs2-utils: Fix build with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...0001-define-loff_t-if-not-already-defined.patch | 30 ++++++++++++++++++++++ .../recipes-filesystems/yaffs2/yaffs2-utils_git.bb | 3 ++- 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils/0001-define-loff_t-if-not-already-defined.patch b/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils/0001-define-loff_t-if-not-already-defined.patch new file mode 100644 index 0000000..df202c8 --- /dev/null +++ b/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils/0001-define-loff_t-if-not-already-defined.patch @@ -0,0 +1,30 @@ +From 848717da4a28d33f8aa8f889377e61e6b1b8ae67 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 13 Jul 2017 18:29:52 -0700 +Subject: [PATCH] define loff_t if not already defined + +Helps to build with musl + +Signed-off-by: Khem Raj +--- + yaffs_guts.h | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/yaffs_guts.h b/yaffs_guts.h +index 6bcf12d..4af17ce 100644 +--- a/yaffs_guts.h ++++ b/yaffs_guts.h +@@ -18,6 +18,10 @@ + + #include "yportenv.h" + ++#ifndef loff_t ++#define loff_t off_t ++#endif ++ + #define YAFFS_OK 1 + #define YAFFS_FAIL 0 + +-- +2.13.2 + diff --git a/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils_git.bb b/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils_git.bb index e8d1873..67c926b 100644 --- a/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils_git.bb +++ b/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils_git.bb @@ -14,7 +14,8 @@ DEPENDS = "mtd-utils" # Source is the HEAD of master branch at the time of writing this recipe SRC_URI = "git://www.aleph1.co.uk/yaffs2;protocol=git;branch=master \ file://makefile-add-ldflags.patch \ - " + file://0001-define-loff_t-if-not-already-defined.patch \ + " SRCREV = "bc76682d93955cfb33051beb503ad9f8a5450578" S = "${WORKDIR}/git" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:02:45 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:02:45 +0000 Subject: [oe-commits] [meta-openembedded] 18/75: kexec-tools-klibc: Fix build with musl In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170227.D59DD234F1E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit b97358d5a3568deb2a5e939019bb2acef053e53f Author: Khem Raj AuthorDate: Thu Jul 13 22:40:10 2017 -0700 kexec-tools-klibc: Fix build with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...he-order-of-headers-to-fix-build-for-musl.patch | 30 ++++++++++++++++++++++ .../kexec/kexec-tools-klibc_2.0.2.bb | 1 + 2 files changed, 31 insertions(+) diff --git a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/0001-Adjust-the-order-of-headers-to-fix-build-for-musl.patch b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/0001-Adjust-the-order-of-headers-to-fix-build-for-musl.patch new file mode 100644 index 0000000..a7600b3 --- /dev/null +++ b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/0001-Adjust-the-order-of-headers-to-fix-build-for-musl.patch @@ -0,0 +1,30 @@ +From 86b962e7c0de43b20b6210d059e4855ce87078bc Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 13 Jul 2017 16:20:08 -0700 +Subject: [PATCH] Adjust the order of headers to fix build for musl + +Fixes +kexec/ifdown.c:33:16: error: storage size of 'ifc' isn't known + +Signed-off-by: Khem Raj +--- + kexec/ifdown.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/kexec/ifdown.c b/kexec/ifdown.c +index 2215798..e13f777 100644 +--- a/kexec/ifdown.c ++++ b/kexec/ifdown.c +@@ -16,8 +16,8 @@ char *v_ifdown = "@(#)ifdown.c 1.11 02-Jun-1998 miquels at cistron.nl"; + #include + #include + +-#include + #include ++#include + + #define MAX_IFS 64 + +-- +2.13.2 + diff --git a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc_2.0.2.bb b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc_2.0.2.bb index c9fec25..49c53a3 100644 --- a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc_2.0.2.bb +++ b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc_2.0.2.bb @@ -20,6 +20,7 @@ SRC_URI += " \ file://sha256.patch \ file://sysconf_nrprocessors.patch \ file://fix-out-of-tree-build.patch \ + file://0001-Adjust-the-order-of-headers-to-fix-build-for-musl.patch \ " SRC_URI_append_arm = " file://arm_crashdump.patch" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:02:43 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:02:43 +0000 Subject: [oe-commits] [meta-openembedded] 16/75: netdata: Upgrade to 1.6.0 In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170227.C43D6234F1C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit aa57c0f3b9707d4f340b2bf43d29b29f88bef50b Author: Khem Raj AuthorDate: Thu Jul 13 22:40:08 2017 -0700 netdata: Upgrade to 1.6.0 Licence files has gotten cosmetic changes additionally checksum COPYING file. Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../netdata/0001-Correct-Timeout-issue.patch | 32 ++++++++++++---------- .../0001-makefile-Do-not-build-contrib-dir.patch | 27 ++++++++++++++++++ .../recipes-webadmin/netdata/netdata_git.bb | 14 ++++++---- 3 files changed, 53 insertions(+), 20 deletions(-) diff --git a/meta-webserver/recipes-webadmin/netdata/netdata/0001-Correct-Timeout-issue.patch b/meta-webserver/recipes-webadmin/netdata/netdata/0001-Correct-Timeout-issue.patch index d5529a2..abea0d6 100644 --- a/meta-webserver/recipes-webadmin/netdata/netdata/0001-Correct-Timeout-issue.patch +++ b/meta-webserver/recipes-webadmin/netdata/netdata/0001-Correct-Timeout-issue.patch @@ -1,19 +1,21 @@ -diff --git a/plugins.d/charts.d.plugin b/plugins.d/charts.d.plugin -index 40c0356..bca57b3 100755 ---- a/plugins.d/charts.d.plugin -+++ b/plugins.d/charts.d.plugin -@@ -184,10 +184,10 @@ fi - # timeout command we use, providing a function that - # can emulate the timeout command we need: - # > timeout SECONDS command ... +Index: git/plugins.d/charts.d.plugin +=================================================================== +--- git.orig/plugins.d/charts.d.plugin ++++ git/plugins.d/charts.d.plugin +@@ -246,16 +246,6 @@ else + info "configuration file '$myconfig' not found. Using defaults." + fi + +-# we check for the timeout command, after we load our +-# configuration, so that the user may overwrite the +-# timeout command we use, providing a function that +-# can emulate the timeout command we need: +-# > timeout SECONDS command ... -if [ $check_for_timeout -eq 1 ] -- then -- require_cmd timeout || exit 1 +- then +- require_cmd timeout || exit 1 -fi -+#if [ $check_for_timeout -eq 1 ] -+# then -+# require_cmd timeout || exit 1 -+#fi - +- # ----------------------------------------------------------------------------- # internal checks + diff --git a/meta-webserver/recipes-webadmin/netdata/netdata/0001-makefile-Do-not-build-contrib-dir.patch b/meta-webserver/recipes-webadmin/netdata/netdata/0001-makefile-Do-not-build-contrib-dir.patch new file mode 100644 index 0000000..9a3a4a5 --- /dev/null +++ b/meta-webserver/recipes-webadmin/netdata/netdata/0001-makefile-Do-not-build-contrib-dir.patch @@ -0,0 +1,27 @@ +From 87f868918a9ae1dcf93e01f3e177d185c19a149a Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 13 Jul 2017 14:32:09 -0700 +Subject: [PATCH] makefile: Do not build contrib dir + +It contains debian build iteams anyway + +Signed-off-by: Khem Raj +--- + Makefile.am | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/Makefile.am b/Makefile.am +index 3ccf82f8..a852e529 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -52,7 +52,6 @@ SUBDIRS = \ + src \ + system \ + web \ +- contrib \ + $(NULL) + + dist_noinst_DATA= \ +-- +2.13.2 + diff --git a/meta-webserver/recipes-webadmin/netdata/netdata_git.bb b/meta-webserver/recipes-webadmin/netdata/netdata_git.bb index de14064..1003662 100644 --- a/meta-webserver/recipes-webadmin/netdata/netdata_git.bb +++ b/meta-webserver/recipes-webadmin/netdata/netdata_git.bb @@ -1,11 +1,15 @@ HOMEPAGE = "https://github.com/firehol/netdata/" SUMMARY = "Real-time performance monitoring" LICENSE = "GPLv3" -LIC_FILES_CHKSUM = "file://LICENSE.md;md5=747afe070ea9d6c2be0a31353609a35b" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=a4a3b650ea3f74269cdfd45a3550e219 \ + file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ + " -SRC_URI = "git://github.com/firehol/netdata.git;protocol=https" -SRCREV = "36c1304e37094174ea51001903058e65053107ca" -PV = "1.0.1+git${SRCPV}" +SRC_URI = "git://github.com/firehol/netdata.git;protocol=https \ + file://0001-makefile-Do-not-build-contrib-dir.patch \ +" +SRCREV = "f5fa346a188e906a8f2cce3c2cf32a88ce81c666" +PV = "1.6.0+git${SRCPV}" # patch to disable timeout because timeout are not available with actual version # of core-utils @@ -19,7 +23,7 @@ SRC_URI += "file://netdata.service" S = "${WORKDIR}/git" -DEPENDS += "zlib" +DEPENDS += "zlib util-linux" inherit pkgconfig autotools useradd systemd -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:02:53 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:02:53 +0000 Subject: [oe-commits] [meta-openembedded] 26/75: monkey: Link in libexecinfo on musl In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170228.1B6EF234F21@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 11e8768c21f489fdd231865a5fc9def88f8da121 Author: Khem Raj AuthorDate: Fri Jul 14 18:55:38 2017 -0700 monkey: Link in libexecinfo on musl Needed for backtrace() APIs Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...-configure-Respect-LIBS-variable-from-env.patch | 29 ++++++++++++++++++++++ .../recipes-httpd/monkey/monkey_1.5.6.bb | 9 +++++++ 2 files changed, 38 insertions(+) diff --git a/meta-webserver/recipes-httpd/monkey/files/0001-configure-Respect-LIBS-variable-from-env.patch b/meta-webserver/recipes-httpd/monkey/files/0001-configure-Respect-LIBS-variable-from-env.patch new file mode 100644 index 0000000..7a22951 --- /dev/null +++ b/meta-webserver/recipes-httpd/monkey/files/0001-configure-Respect-LIBS-variable-from-env.patch @@ -0,0 +1,29 @@ +From b0526a9b5325bd4758dad8d14efd85c98ef2ebff Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 14 Jul 2017 18:25:23 -0700 +Subject: [PATCH] configure: Respect LIBS variable from env + +For musl we need to pass -lexecinfo from env +this change accomodates that + +Signed-off-by: Khem Raj +--- + configure | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure b/configure +index 4286c34..f1c65db 100755 +--- a/configure ++++ b/configure +@@ -620,7 +620,7 @@ LIBDEFS = -DSHAREDLIB -fPIC \$(DEFS) + INCDIR = ./include + LDFLAGS = $LDFLAGS + DESTDIR = ../bin/monkey +-LIBS = -ldl $libs ++LIBS = -ldl $libs ${LIBS} + OBJ = monkey.o mk_method.o mk_mimetype.o mk_vhost.o mk_request.o \\ + mk_header.o mk_config.o mk_signals.o \\ + mk_user.o mk_utils.o mk_epoll.o mk_scheduler.o \\ +-- +2.13.3 + diff --git a/meta-webserver/recipes-httpd/monkey/monkey_1.5.6.bb b/meta-webserver/recipes-httpd/monkey/monkey_1.5.6.bb index be8ed37..97dc276 100644 --- a/meta-webserver/recipes-httpd/monkey/monkey_1.5.6.bb +++ b/meta-webserver/recipes-httpd/monkey/monkey_1.5.6.bb @@ -7,7 +7,10 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93" SECTION = "net" +DEPENDS_append_libc-musl = " libexecinfo" + SRC_URI = "http://monkey-project.com/releases/1.5/monkey-${PV}.tar.gz \ + file://0001-configure-Respect-LIBS-variable-from-env.patch \ file://monkey.service \ file://monkey.init" @@ -24,7 +27,13 @@ EXTRA_OECONF = "--plugdir=${libdir}/monkey/ \ --disable-plugins=mbedtls \ --debug \ --malloc-libc" + +do_configure_prepend_libc-musl() { + export LIBS="-lexecinfo" +} + DISABLE_STATIC = "" +CLEANBROKEN = "1" inherit autotools-brokensep pkgconfig update-rc.d systemd -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:02:48 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:02:48 +0000 Subject: [oe-commits] [meta-openembedded] 21/75: logfsprogs: Rename setkey API to _setkey to not conflict with libc In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170227.EA773234F0D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 50a3d4e5d3f457356180ad088bd54f7ae48e870a Author: Khem Raj AuthorDate: Thu Jul 13 22:40:13 2017 -0700 logfsprogs: Rename setkey API to _setkey to not conflict with libc Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...-conflicts-with-libc-namespace-about-setk.patch | 135 +++++++++++++++++++++ .../logfsprogs/logfsprogs_git.bb | 3 +- 2 files changed, 137 insertions(+), 1 deletion(-) diff --git a/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs/0001-btree-Avoid-conflicts-with-libc-namespace-about-setk.patch b/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs/0001-btree-Avoid-conflicts-with-libc-namespace-about-setk.patch new file mode 100644 index 0000000..dbf7ae0 --- /dev/null +++ b/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs/0001-btree-Avoid-conflicts-with-libc-namespace-about-setk.patch @@ -0,0 +1,135 @@ +From 5a8e26157d9642f022587cc1ca7525213c7a5379 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 13 Jul 2017 18:41:53 -0700 +Subject: [PATCH] btree: Avoid conflicts with libc namespace about setkey() + +This issue is highlighted with musl mainly because the +function signature from stdlib.h does not match the local +static function + +Signed-off-by: Khem Raj +--- + btree.c | 32 ++++++++++++++++---------------- + 1 file changed, 16 insertions(+), 16 deletions(-) + +diff --git a/btree.c b/btree.c +index eddc33b..dd3fef9 100644 +--- a/btree.c ++++ b/btree.c +@@ -123,7 +123,7 @@ static unsigned long bval(struct btree_geo *geo, unsigned long *node, int n) + return node[geo->no_pairs * geo->keylen + n]; + } + +-static void setkey(struct btree_geo *geo, unsigned long *node, ++static void _setkey(struct btree_geo *geo, unsigned long *node, + unsigned long *key, int n) + { + longcpy(bkey(geo, node, n), key, geo->keylen); +@@ -292,7 +292,7 @@ static unsigned long *find_level(struct btree_head *head, struct btree_geo *geo, + /* FIXME: If the right-most key on higher levels is + * always zero, this wouldn't be necessary. */ + i--; +- setkey(geo, node, key, i); ++ _setkey(geo, node, key, i); + } + BUG_ON(i < 0); + node = (unsigned long *)bval(geo, node, i); +@@ -311,7 +311,7 @@ static int btree_grow(struct btree_head *head, struct btree_geo *geo) + return -ENOMEM; + if (head->node) { + fill = getfill(geo, head->node, 0); +- setkey(geo, node, bkey(geo, head->node, fill - 1), 0); ++ _setkey(geo, node, bkey(geo, head->node, fill - 1), 0); + setval(geo, node, (unsigned long)head->node, 0); + } + head->node = node; +@@ -342,16 +342,16 @@ static void steal_l(struct btree_head *head, struct btree_geo *geo, int level, + + for (i = rfill - 1; i >= 0; i--) { + /* Shift entries on the right */ +- setkey(geo, right, bkey(geo, right, i), i + no_entries); ++ _setkey(geo, right, bkey(geo, right, i), i + no_entries); + setval(geo, right, bval(geo, right, i), i + no_entries); + } + for (i = 0; i < no_entries; i++) { + /* Move some entries to the right */ +- setkey(geo, right, bkey(geo, left, lfill - no_entries + i), i); ++ _setkey(geo, right, bkey(geo, left, lfill - no_entries + i), i); + setval(geo, right, bval(geo, left, lfill - no_entries + i), i); + } + /* Set parent key */ +- setkey(geo, parent, bkey(geo, left, lfill - no_entries - 1), lpos); ++ _setkey(geo, parent, bkey(geo, left, lfill - no_entries - 1), lpos); + for (i = lfill - no_entries; i < lfill; i++) + clearpair(geo, left, i); + } +@@ -366,14 +366,14 @@ static void steal_r(struct btree_head *head, struct btree_geo *geo, int level, + + for (i = 0; i < no_entries; i++) { + /* Move some entries to the left */ +- setkey(geo, left, bkey(geo, right, i), lfill + i); ++ _setkey(geo, left, bkey(geo, right, i), lfill + i); + setval(geo, left, bval(geo, right, i), lfill + i); + } + /* Set parent key */ +- setkey(geo, parent, bkey(geo, right, no_entries - 1), lpos); ++ _setkey(geo, parent, bkey(geo, right, no_entries - 1), lpos); + /* Shift entries on the right */ + for ( ; i < rfill; i++) { +- setkey(geo, right, bkey(geo, right, i), i - no_entries); ++ _setkey(geo, right, bkey(geo, right, i), i - no_entries); + setval(geo, right, bval(geo, right, i), i - no_entries); + } + for (i = rfill - no_entries; i < rfill; i++) +@@ -399,14 +399,14 @@ static int split(struct btree_head *head, struct btree_geo *geo, + return err; + } + for (i = 0; i < fill / 2; i++) { +- setkey(geo, new, bkey(geo, node, i), i); ++ _setkey(geo, new, bkey(geo, node, i), i); + setval(geo, new, bval(geo, node, i), i); +- setkey(geo, node, bkey(geo, node, i + fill / 2), i); ++ _setkey(geo, node, bkey(geo, node, i + fill / 2), i); + setval(geo, node, bval(geo, node, i + fill / 2), i); + clearpair(geo, node, i + fill / 2); + } + if (fill & 1) { +- setkey(geo, node, bkey(geo, node, fill - 1), i); ++ _setkey(geo, node, bkey(geo, node, fill - 1), i); + setval(geo, node, bval(geo, node, fill - 1), i); + clearpair(geo, node, fill - 1); + } +@@ -487,10 +487,10 @@ retry: + + /* shift and insert */ + for (i = fill; i > pos; i--) { +- setkey(geo, node, bkey(geo, node, i - 1), i); ++ _setkey(geo, node, bkey(geo, node, i - 1), i); + setval(geo, node, bval(geo, node, i - 1), i); + } +- setkey(geo, node, key, pos); ++ _setkey(geo, node, key, pos); + setval(geo, node, val, pos); + + return 0; +@@ -513,7 +513,7 @@ static void merge(struct btree_head *head, struct btree_geo *geo, int level, + + for (i = 0; i < rfill; i++) { + /* Move all entries to the left */ +- setkey(geo, left, bkey(geo, right, i), lfill + i); ++ _setkey(geo, left, bkey(geo, right, i), lfill + i); + setval(geo, left, bval(geo, right, i), lfill + i); + } + /* Exchange left and right child in parent */ +@@ -615,7 +615,7 @@ static void *btree_remove_level(struct btree_head *head, struct btree_geo *geo, + + /* remove and shift */ + for (i = pos; i < fill - 1; i++) { +- setkey(geo, node, bkey(geo, node, i + 1), i); ++ _setkey(geo, node, bkey(geo, node, i + 1), i); + setval(geo, node, bval(geo, node, i + 1), i); + } + clearpair(geo, node, fill - 1); +-- +2.13.2 + diff --git a/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs_git.bb b/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs_git.bb index c41f0ea..1b4d97d 100644 --- a/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs_git.bb +++ b/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs_git.bb @@ -13,7 +13,8 @@ DEPENDS = "zlib" SRC_URI = "git://github.com/prasad-joshi/logfsprogs.git \ file://0001-Add-LDFLAGS-to-linker-cmdline.patch \ -" + file://0001-btree-Avoid-conflicts-with-libc-namespace-about-setk.patch \ + " SRCREV = "45b72c81ce3c6fa17ca19bafc207ea93e76312f4" S = "${WORKDIR}/git" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:02:49 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:02:49 +0000 Subject: [oe-commits] [meta-openembedded] 22/75: unionfs-fuse: Fix build with musl In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170227.F103A234F0E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit e16fef4f4d1ea2ec0fab8d0f3c898e4fcc687343 Author: Khem Raj AuthorDate: Fri Jul 14 11:34:51 2017 -0700 unionfs-fuse: Fix build with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...1-unionfs-Define-IOCPARM_LEN-if-undefined.patch | 62 ++++++++++++++++++++++ .../unionfs-fuse/unionfs-fuse_2.0.bb | 3 +- 2 files changed, 64 insertions(+), 1 deletion(-) diff --git a/meta-filesystems/recipes-filesystems/unionfs-fuse/files/0001-unionfs-Define-IOCPARM_LEN-if-undefined.patch b/meta-filesystems/recipes-filesystems/unionfs-fuse/files/0001-unionfs-Define-IOCPARM_LEN-if-undefined.patch new file mode 100644 index 0000000..8f991cd --- /dev/null +++ b/meta-filesystems/recipes-filesystems/unionfs-fuse/files/0001-unionfs-Define-IOCPARM_LEN-if-undefined.patch @@ -0,0 +1,62 @@ +From 10411fa8658621822ae394160daffaced4a4cd7f Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 13 Jul 2017 23:07:29 -0700 +Subject: [PATCH] unionfs: Define IOCPARM_LEN if undefined + +musl does not have sysctl.h which defines this +for glibc + +Signed-off-by: Khem Raj +--- + src/unionfs.c | 8 -------- + src/unionfs.h | 15 +++++++++++++++ + 2 files changed, 15 insertions(+), 8 deletions(-) + +diff --git a/src/unionfs.c b/src/unionfs.c +index a34d34e..51684a7 100644 +--- a/src/unionfs.c ++++ b/src/unionfs.c +@@ -21,14 +21,6 @@ + #include "opts.h" + #include "usyslog.h" + +-#ifndef _IOC_SIZE +-#ifdef IOCPARM_LEN +-#define _IOC_SIZE(x) IOCPARM_LEN(x) +-#else +-#error "No mechanism for determining ioctl length found." +-#endif +-#endif +- + static struct fuse_opt unionfs_opts[] = { + FUSE_OPT_KEY("chroot=%s,", KEY_CHROOT), + FUSE_OPT_KEY("cow", KEY_COW), +diff --git a/src/unionfs.h b/src/unionfs.h +index 8f5e0bf..b02de5a 100644 +--- a/src/unionfs.h ++++ b/src/unionfs.h +@@ -17,6 +17,21 @@ + #define FUSE_META_FILE ".fuse_hidden" + #define FUSE_META_LENGTH 12 + ++#ifndef IOCPARM_MASK ++#define IOCPARM_MASK 0x1FFF ++#endif ++#ifndef IOCPARM_LEN ++#define IOCPARM_LEN(a) (((a) >> 16) & IOCPARM_MASK) ++#endif ++ ++#ifndef _IOC_SIZE ++#ifdef IOCPARM_LEN ++#define _IOC_SIZE(x) IOCPARM_LEN(x) ++#else ++#error "No mechanism for determining ioctl length found." ++#endif ++#endif ++ + // file access protection mask + #define S_PROT_MASK (S_ISUID| S_ISGID | S_ISVTX | S_IRWXU | S_IRWXG | S_IRWXO) + +-- +2.13.2 + diff --git a/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_2.0.bb b/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_2.0.bb index b89d8db..6bedf16 100644 --- a/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_2.0.bb +++ b/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_2.0.bb @@ -8,7 +8,8 @@ LIC_FILES_CHKSUM = "file://src/unionfs.c;beginline=3;endline=8;md5=30fa8de70fd8a SRC_URI = "git://github.com/rpodgorny/${BPN}.git;branch=master \ file://0001-support-cross-compiling.patch \ -" + file://0001-unionfs-Define-IOCPARM_LEN-if-undefined.patch \ + " SRCREV = "c8d23a9a75f1a62988593671839e8a168a79f3e5" DEPENDS = "fuse" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:02:58 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:02:58 +0000 Subject: [oe-commits] [meta-openembedded] 31/75: open-vm-tools: remove custom procps logic In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170228.3C8AE234F26@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 77ff128358bcd5d30fe4ce4c961caed926c99810 Author: Martin Kelly AuthorDate: Mon Jul 17 11:21:25 2017 -0700 open-vm-tools: remove custom procps logic procps is picked up by pkgconfig without issue, so we no longer need this logic. Signed-off-by: Martin Kelly Signed-off-by: Martin Jansa --- meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb | 2 -- 1 file changed, 2 deletions(-) diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb b/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb index 65fbfc9..5f93eb4 100644 --- a/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb +++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb @@ -77,8 +77,6 @@ do_install_append() { } do_configure_prepend() { - export CUSTOM_PROCPS_NAME=procps - export CUSTOM_PROCPS_LIBS=-L${STAGING_LIBDIR}/libprocps.so export CUSTOM_DNET_NAME=dnet export CUSTOM_DNET_LIBS=-L${STAGING_LIBDIR}/libdnet.so } -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:02:59 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:02:59 +0000 Subject: [oe-commits] [meta-openembedded] 32/75: multipath-tools: Include limits.h for PATH_MAX In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170228.45EE8234F27@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 3868f2d1ad4b92feafc5feeac802858da439dd81 Author: Khem Raj AuthorDate: Mon Jul 17 20:09:59 2017 -0700 multipath-tools: Include limits.h for PATH_MAX Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...0001-kpartx-include-limits.h-for-PATH_MAX.patch | 29 ++++++++++++++++++++++ .../multipath-tools/multipath-tools_0.7.1.bb | 1 + 2 files changed, 30 insertions(+) diff --git a/meta-oe/recipes-support/multipath-tools/files/0001-kpartx-include-limits.h-for-PATH_MAX.patch b/meta-oe/recipes-support/multipath-tools/files/0001-kpartx-include-limits.h-for-PATH_MAX.patch new file mode 100644 index 0000000..46dd8e2 --- /dev/null +++ b/meta-oe/recipes-support/multipath-tools/files/0001-kpartx-include-limits.h-for-PATH_MAX.patch @@ -0,0 +1,29 @@ +From 330028a5a904a0da3788141030e614569dc5aaa7 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 14 Jul 2017 23:28:12 -0700 +Subject: [PATCH] kpartx: include limits.h for PATH_MAX + +lopart.c:76:12: error: 'PATH_MAX' undeclared (first use in this function); did you mean 'INT8_MAX'? + char path[PATH_MAX]; + ^~~~~~~~ + +Signed-off-by: Khem Raj +--- + kpartx/lopart.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/kpartx/lopart.c b/kpartx/lopart.c +index 7005445..5efe5dc 100644 +--- a/kpartx/lopart.c ++++ b/kpartx/lopart.c +@@ -22,6 +22,7 @@ + #include + #include + #include ++#include + #include + #include + #include +-- +2.13.3 + diff --git a/meta-oe/recipes-support/multipath-tools/multipath-tools_0.7.1.bb b/meta-oe/recipes-support/multipath-tools/multipath-tools_0.7.1.bb index 9331211..610ba7a 100644 --- a/meta-oe/recipes-support/multipath-tools/multipath-tools_0.7.1.bb +++ b/meta-oe/recipes-support/multipath-tools/multipath-tools_0.7.1.bb @@ -45,6 +45,7 @@ SRC_URI = "git://git.opensvc.com/multipath-tools/.git;protocol=http \ file://0012-multipath-tools-modify-Makefile.inc-for-cross-compil.patch \ file://0013-Always-use-devmapper.patch \ file://0014-Always-use-devmapper-for-kpartx.patch \ + file://0001-kpartx-include-limits.h-for-PATH_MAX.patch \ " LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:02:44 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:02:44 +0000 Subject: [oe-commits] [meta-openembedded] 17/75: can-utils: Update to tip of master In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170227.CBA52234F1D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 66c632a320bc3b5fca09c7124bd6512803f95280 Author: Khem Raj AuthorDate: Thu Jul 13 22:40:09 2017 -0700 can-utils: Update to tip of master Fixes build issues with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- meta-oe/recipes-extended/socketcan/can-utils_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-oe/recipes-extended/socketcan/can-utils_git.bb b/meta-oe/recipes-extended/socketcan/can-utils_git.bb index 931e332..a2d62c3 100644 --- a/meta-oe/recipes-extended/socketcan/can-utils_git.bb +++ b/meta-oe/recipes-extended/socketcan/can-utils_git.bb @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://include/linux/can.h;endline=43;md5=390a2c9a3c5e3595a0 DEPENDS = "libsocketcan" SRC_URI = "git://github.com/linux-can/${BPN}.git;protocol=git;branch=master" -SRCREV = "67a2bdcd336e6becfa5784742e18c88dbeddc973" +SRCREV = "4c8fb05cb4d6ddcd67299008db54af423f86fd05" PV = "0.0+gitr${SRCPV}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:02:55 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:02:55 +0000 Subject: [oe-commits] [meta-openembedded] 28/75: uftrace: add recipe In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170228.282C9234F23@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit d6a1c0e7b7ceaeffa111c259ef95b6f1f3831e52 Author: Changhyeok Bae AuthorDate: Fri Jul 14 23:59:59 2017 +0000 uftrace: add recipe - Add recipe for uftrace v0.7. - Support x86_64, arm (v6 or later), and aarch64. - Disable for armv4 and armv5 in arm architecture which is only supported armv6 or later. - Attached 2 patches is merged to upstream. Signed-off-by: Changhyeok Bae Signed-off-by: Martin Jansa --- .../0001-Makefile-Add-LDFLAGS-in-export.patch | 31 +++++++++++++++++++ ...tils-Add-limits-header-to-fix-build-error.patch | 31 +++++++++++++++++++ meta-oe/recipes-devtools/uftrace/uftrace_0.7.bb | 35 ++++++++++++++++++++++ 3 files changed, 97 insertions(+) diff --git a/meta-oe/recipes-devtools/uftrace/uftrace/0001-Makefile-Add-LDFLAGS-in-export.patch b/meta-oe/recipes-devtools/uftrace/uftrace/0001-Makefile-Add-LDFLAGS-in-export.patch new file mode 100644 index 0000000..f665051 --- /dev/null +++ b/meta-oe/recipes-devtools/uftrace/uftrace/0001-Makefile-Add-LDFLAGS-in-export.patch @@ -0,0 +1,31 @@ +From ec794945475d5792f2ae85afe461e64266613640 Mon Sep 17 00:00:00 2001 +From: Changhyeok Bae +Date: Thu, 13 Jul 2017 16:44:52 +0900 +Subject: [PATCH 1/2] Makefile: Add LDFLAGS in export + +To use build with musl, need to argp library. +So need to add LDFLAGS from outside. + +Upstream-Status: Accepted + +Signed-off-by: +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 67be2da..0ca649a 100644 +--- a/Makefile ++++ b/Makefile +@@ -48,7 +48,7 @@ endif + RM = rm -f + INSTALL = install + +-export ARCH CC AR LD RM srcdir objdir ++export ARCH CC AR LD RM srcdir objdir LDFLAGS + + COMMON_CFLAGS := -O2 -g -D_GNU_SOURCE $(CFLAGS) $(CPPFLAGS) + COMMON_CFLAGS += -iquote $(srcdir) -iquote $(objdir) -iquote $(srcdir)/arch/$(ARCH) +-- +1.9.1 + diff --git a/meta-oe/recipes-devtools/uftrace/uftrace/0002-utils-Add-limits-header-to-fix-build-error.patch b/meta-oe/recipes-devtools/uftrace/uftrace/0002-utils-Add-limits-header-to-fix-build-error.patch new file mode 100644 index 0000000..2690011 --- /dev/null +++ b/meta-oe/recipes-devtools/uftrace/uftrace/0002-utils-Add-limits-header-to-fix-build-error.patch @@ -0,0 +1,31 @@ +From 3bda554766150705160fe2191d8761c7881e2433 Mon Sep 17 00:00:00 2001 +From: Changhyeok Bae +Date: Thu, 13 Jul 2017 16:46:20 +0900 +Subject: [PATCH 2/2] utils: Add limits header to fix build error + +[Error] +error: 'PATH_MAX' undeclared (first use in this function); did you mean +'INT8_MAX'? + +Upstream-Status: Accepted + +Signed-off-by: Changhyeok Bae +--- + utils/utils.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/utils/utils.c b/utils/utils.c +index 03522c9..30f9e81 100644 +--- a/utils/utils.c ++++ b/utils/utils.c +@@ -6,6 +6,7 @@ + #include + #include + #include ++#include + + #include "utils/utils.h" + +-- +1.9.1 + diff --git a/meta-oe/recipes-devtools/uftrace/uftrace_0.7.bb b/meta-oe/recipes-devtools/uftrace/uftrace_0.7.bb new file mode 100644 index 0000000..821d0bb --- /dev/null +++ b/meta-oe/recipes-devtools/uftrace/uftrace_0.7.bb @@ -0,0 +1,35 @@ +SUMMARY = "Trace and analyze execution of a program written in C/C++" +HOMEPAGE = "https://github.com/namhyung/uftrace" +BUGTRACKER = "https://github.com/namhyung/uftrace/issues" +SECTION = "devel" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +DEPENDS = "elfutils" +DEPENDS_append_libc-musl = " argp-standalone" + +inherit autotools + +SRCREV = "712ad01fdde57893936d7e254451eec67ab41ca6" +SRC_URI = "\ + git://github.com/namhyung/${BPN} \ + file://0001-Makefile-Add-LDFLAGS-in-export.patch \ + file://0002-utils-Add-limits-header-to-fix-build-error.patch \ +" +S = "${WORKDIR}/git" + +LDFLAGS_append_libc-musl = " -largp" +EXTRA_OECONF = "ARCH=${TARGET_ARCH}" + +do_configure() { + ${S}/configure ${EXTRA_OECONF} +} + +FILES_SOLIBSDEV = "" +FILES_${PN} += "${libdir}/*.so" + +COMPATIBLE_HOST = "(x86_64|aarch64|arm)" + +# uftrace supports armv6 and above +COMPATIBLE_HOST_armv4 = 'null' +COMPATIBLE_HOST_armv5 = 'null' -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:02:54 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:02:54 +0000 Subject: [oe-commits] [meta-openembedded] 27/75: aufs-util: Upgrade to 4.4 release In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170228.21C47234F22@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 1039afb073575d83fba4c5f488390b314d2c8dfe Author: Khem Raj AuthorDate: Fri Jul 14 11:34:56 2017 -0700 aufs-util: Upgrade to 4.4 release - Download aufs_type.h instead of housing a local copy - Build uses paste utility from coreutils-native - Replace hardcoded strip command with STRIP env varible helps in cross compiling Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../recipes-utils/aufs-util/aufs-util/aufs_type.h | 419 --------------------- .../recipes-utils/aufs-util/aufs-util_git.bb | 17 +- 2 files changed, 10 insertions(+), 426 deletions(-) diff --git a/meta-filesystems/recipes-utils/aufs-util/aufs-util/aufs_type.h b/meta-filesystems/recipes-utils/aufs-util/aufs-util/aufs_type.h deleted file mode 100644 index c948033..0000000 --- a/meta-filesystems/recipes-utils/aufs-util/aufs-util/aufs_type.h +++ /dev/null @@ -1,419 +0,0 @@ -/* - * Copyright (C) 2005-2015 Junjiro R. Okajima - * - * This program, aufs is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#ifndef __AUFS_TYPE_H__ -#define __AUFS_TYPE_H__ - -#define AUFS_NAME "aufs" - -#ifdef __KERNEL__ -/* - * define it before including all other headers. - * sched.h may use pr_* macros before defining "current", so define the - * no-current version first, and re-define later. - */ -#define pr_fmt(fmt) AUFS_NAME " %s:%d: " fmt, __func__, __LINE__ -#include -#undef pr_fmt -#define pr_fmt(fmt) \ - AUFS_NAME " %s:%d:%.*s[%d]: " fmt, __func__, __LINE__, \ - (int)sizeof(current->comm), current->comm, current->pid -#else -#include -#include -#endif /* __KERNEL__ */ - -#include - -#define AUFS_VERSION "3.18-20150406" - -/* todo? move this to linux-2.6.19/include/magic.h */ -#define AUFS_SUPER_MAGIC ('a' << 24 | 'u' << 16 | 'f' << 8 | 's') - -/* ---------------------------------------------------------------------- */ - -#ifdef CONFIG_AUFS_BRANCH_MAX_127 -typedef int8_t aufs_bindex_t; -#define AUFS_BRANCH_MAX 127 -#else -typedef int16_t aufs_bindex_t; -#ifdef CONFIG_AUFS_BRANCH_MAX_511 -#define AUFS_BRANCH_MAX 511 -#elif defined(CONFIG_AUFS_BRANCH_MAX_1023) -#define AUFS_BRANCH_MAX 1023 -#elif defined(CONFIG_AUFS_BRANCH_MAX_32767) -#define AUFS_BRANCH_MAX 32767 -#endif -#endif - -#ifdef __KERNEL__ -#ifndef AUFS_BRANCH_MAX -#error unknown CONFIG_AUFS_BRANCH_MAX value -#endif -#endif /* __KERNEL__ */ - -/* ---------------------------------------------------------------------- */ - -#define AUFS_FSTYPE AUFS_NAME - -#define AUFS_ROOT_INO 2 -#define AUFS_FIRST_INO 11 - -#define AUFS_WH_PFX ".wh." -#define AUFS_WH_PFX_LEN ((int)sizeof(AUFS_WH_PFX) - 1) -#define AUFS_WH_TMP_LEN 4 -/* a limit for rmdir/rename a dir and copyup */ -#define AUFS_MAX_NAMELEN (NAME_MAX \ - - AUFS_WH_PFX_LEN * 2 /* doubly whiteouted */\ - - 1 /* dot */\ - - AUFS_WH_TMP_LEN) /* hex */ -#define AUFS_XINO_FNAME "." AUFS_NAME ".xino" -#define AUFS_XINO_DEFPATH "/tmp/" AUFS_XINO_FNAME -#define AUFS_XINO_DEF_SEC 30 /* seconds */ -#define AUFS_XINO_DEF_TRUNC 45 /* percentage */ -#define AUFS_DIRWH_DEF 3 -#define AUFS_RDCACHE_DEF 10 /* seconds */ -#define AUFS_RDCACHE_MAX 3600 /* seconds */ -#define AUFS_RDBLK_DEF 512 /* bytes */ -#define AUFS_RDHASH_DEF 32 -#define AUFS_WKQ_NAME AUFS_NAME "d" -#define AUFS_MFS_DEF_SEC 30 /* seconds */ -#define AUFS_MFS_MAX_SEC 3600 /* seconds */ -#define AUFS_FHSM_CACHE_DEF_SEC 30 /* seconds */ -#define AUFS_PLINK_WARN 50 /* number of plinks in a single bucket */ - -/* pseudo-link maintenace under /proc */ -#define AUFS_PLINK_MAINT_NAME "plink_maint" -#define AUFS_PLINK_MAINT_DIR "fs/" AUFS_NAME -#define AUFS_PLINK_MAINT_PATH AUFS_PLINK_MAINT_DIR "/" AUFS_PLINK_MAINT_NAME - -#define AUFS_DIROPQ_NAME AUFS_WH_PFX ".opq" /* whiteouted doubly */ -#define AUFS_WH_DIROPQ AUFS_WH_PFX AUFS_DIROPQ_NAME - -#define AUFS_BASE_NAME AUFS_WH_PFX AUFS_NAME -#define AUFS_PLINKDIR_NAME AUFS_WH_PFX "plnk" -#define AUFS_ORPHDIR_NAME AUFS_WH_PFX "orph" - -/* doubly whiteouted */ -#define AUFS_WH_BASE AUFS_WH_PFX AUFS_BASE_NAME -#define AUFS_WH_PLINKDIR AUFS_WH_PFX AUFS_PLINKDIR_NAME -#define AUFS_WH_ORPHDIR AUFS_WH_PFX AUFS_ORPHDIR_NAME - -/* branch permissions and attributes */ -#define AUFS_BRPERM_RW "rw" -#define AUFS_BRPERM_RO "ro" -#define AUFS_BRPERM_RR "rr" -#define AUFS_BRATTR_COO_REG "coo_reg" -#define AUFS_BRATTR_COO_ALL "coo_all" -#define AUFS_BRATTR_FHSM "fhsm" -#define AUFS_BRATTR_UNPIN "unpin" -#define AUFS_BRATTR_ICEX "icex" -#define AUFS_BRATTR_ICEX_SEC "icexsec" -#define AUFS_BRATTR_ICEX_SYS "icexsys" -#define AUFS_BRATTR_ICEX_TR "icextr" -#define AUFS_BRATTR_ICEX_USR "icexusr" -#define AUFS_BRATTR_ICEX_OTH "icexoth" -#define AUFS_BRRATTR_WH "wh" -#define AUFS_BRWATTR_NLWH "nolwh" -#define AUFS_BRWATTR_MOO "moo" - -#define AuBrPerm_RW 1 /* writable, hardlinkable wh */ -#define AuBrPerm_RO (1 << 1) /* readonly */ -#define AuBrPerm_RR (1 << 2) /* natively readonly */ -#define AuBrPerm_Mask (AuBrPerm_RW | AuBrPerm_RO | AuBrPerm_RR) - -#define AuBrAttr_COO_REG (1 << 3) /* copy-up on open */ -#define AuBrAttr_COO_ALL (1 << 4) -#define AuBrAttr_COO_Mask (AuBrAttr_COO_REG | AuBrAttr_COO_ALL) - -#define AuBrAttr_FHSM (1 << 5) /* file-based hsm */ -#define AuBrAttr_UNPIN (1 << 6) /* rename-able top dir of - branch. meaningless since - linux-3.18-rc1 */ - -/* ignore error in copying XATTR */ -#define AuBrAttr_ICEX_SEC (1 << 7) -#define AuBrAttr_ICEX_SYS (1 << 8) -#define AuBrAttr_ICEX_TR (1 << 9) -#define AuBrAttr_ICEX_USR (1 << 10) -#define AuBrAttr_ICEX_OTH (1 << 11) -#define AuBrAttr_ICEX (AuBrAttr_ICEX_SEC \ - | AuBrAttr_ICEX_SYS \ - | AuBrAttr_ICEX_TR \ - | AuBrAttr_ICEX_USR \ - | AuBrAttr_ICEX_OTH) - -#define AuBrRAttr_WH (1 << 12) /* whiteout-able */ -#define AuBrRAttr_Mask AuBrRAttr_WH - -#define AuBrWAttr_NoLinkWH (1 << 13) /* un-hardlinkable whiteouts */ -#define AuBrWAttr_MOO (1 << 14) /* move-up on open */ -#define AuBrWAttr_Mask (AuBrWAttr_NoLinkWH | AuBrWAttr_MOO) - -#define AuBrAttr_CMOO_Mask (AuBrAttr_COO_Mask | AuBrWAttr_MOO) - -/* #warning test userspace */ -#ifdef __KERNEL__ -#ifndef CONFIG_AUFS_FHSM -#undef AuBrAttr_FHSM -#define AuBrAttr_FHSM 0 -#endif -#ifndef CONFIG_AUFS_XATTR -#undef AuBrAttr_ICEX -#define AuBrAttr_ICEX 0 -#undef AuBrAttr_ICEX_SEC -#define AuBrAttr_ICEX_SEC 0 -#undef AuBrAttr_ICEX_SYS -#define AuBrAttr_ICEX_SYS 0 -#undef AuBrAttr_ICEX_TR -#define AuBrAttr_ICEX_TR 0 -#undef AuBrAttr_ICEX_USR -#define AuBrAttr_ICEX_USR 0 -#undef AuBrAttr_ICEX_OTH -#define AuBrAttr_ICEX_OTH 0 -#endif -#endif - -/* the longest combination */ -/* AUFS_BRATTR_ICEX and AUFS_BRATTR_ICEX_TR don't affect here */ -#define AuBrPermStrSz sizeof(AUFS_BRPERM_RW \ - "+" AUFS_BRATTR_COO_REG \ - "+" AUFS_BRATTR_FHSM \ - "+" AUFS_BRATTR_UNPIN \ - "+" AUFS_BRATTR_ICEX_SEC \ - "+" AUFS_BRATTR_ICEX_SYS \ - "+" AUFS_BRATTR_ICEX_USR \ - "+" AUFS_BRATTR_ICEX_OTH \ - "+" AUFS_BRWATTR_NLWH) - -typedef struct { - char a[AuBrPermStrSz]; -} au_br_perm_str_t; - -static inline int au_br_writable(int brperm) -{ - return brperm & AuBrPerm_RW; -} - -static inline int au_br_whable(int brperm) -{ - return brperm & (AuBrPerm_RW | AuBrRAttr_WH); -} - -static inline int au_br_wh_linkable(int brperm) -{ - return !(brperm & AuBrWAttr_NoLinkWH); -} - -static inline int au_br_cmoo(int brperm) -{ - return brperm & AuBrAttr_CMOO_Mask; -} - -static inline int au_br_fhsm(int brperm) -{ - return brperm & AuBrAttr_FHSM; -} - -/* ---------------------------------------------------------------------- */ - -/* ioctl */ -enum { - /* readdir in userspace */ - AuCtl_RDU, - AuCtl_RDU_INO, - - AuCtl_WBR_FD, /* pathconf wrapper */ - AuCtl_IBUSY, /* busy inode */ - AuCtl_MVDOWN, /* move-down */ - AuCtl_BR, /* info about branches */ - AuCtl_FHSM_FD /* connection for fhsm */ -}; - -/* borrowed from linux/include/linux/kernel.h */ -#ifndef ALIGN -#define ALIGN(x, a) __ALIGN_MASK(x, (typeof(x))(a)-1) -#define __ALIGN_MASK(x, mask) (((x)+(mask))&~(mask)) -#endif - -/* borrowed from linux/include/linux/compiler-gcc3.h */ -#ifndef __aligned -#define __aligned(x) __attribute__((aligned(x))) -#endif - -#ifdef __KERNEL__ -#ifndef __packed -#define __packed __attribute__((packed)) -#endif -#endif - -struct au_rdu_cookie { - uint64_t h_pos; - int16_t bindex; - uint8_t flags; - uint8_t pad; - uint32_t generation; -} __aligned(8); - -struct au_rdu_ent { - uint64_t ino; - int16_t bindex; - uint8_t type; - uint8_t nlen; - uint8_t wh; - char name[0]; -} __aligned(8); - -static inline int au_rdu_len(int nlen) -{ - /* include the terminating NULL */ - return ALIGN(sizeof(struct au_rdu_ent) + nlen + 1, - sizeof(uint64_t)); -} - -union au_rdu_ent_ul { - struct au_rdu_ent *e; - uint64_t ul; -}; - -enum { - AufsCtlRduV_SZ, - AufsCtlRduV_End -}; - -struct aufs_rdu { - /* input */ - union { - uint64_t sz; /* AuCtl_RDU */ - uint64_t nent; /* AuCtl_RDU_INO */ - }; - union au_rdu_ent_ul ent; - uint16_t verify[AufsCtlRduV_End]; - - /* input/output */ - uint32_t blk; - - /* output */ - union au_rdu_ent_ul tail; - /* number of entries which were added in a single call */ - uint64_t rent; - uint8_t full; - uint8_t shwh; - - struct au_rdu_cookie cookie; -} __aligned(8); - -/* ---------------------------------------------------------------------- */ - -struct aufs_wbr_fd { - uint32_t oflags; - int16_t brid; -} __aligned(8); - -/* ---------------------------------------------------------------------- */ - -struct aufs_ibusy { - uint64_t ino, h_ino; - int16_t bindex; -} __aligned(8); - -/* ---------------------------------------------------------------------- */ - -/* error code for move-down */ -/* the actual message strings are implemented in aufs-util.git */ -enum { - EAU_MVDOWN_OPAQUE = 1, - EAU_MVDOWN_WHITEOUT, - EAU_MVDOWN_UPPER, - EAU_MVDOWN_BOTTOM, - EAU_MVDOWN_NOUPPER, - EAU_MVDOWN_NOLOWERBR, - EAU_Last -}; - -/* flags for move-down */ -#define AUFS_MVDOWN_DMSG 1 -#define AUFS_MVDOWN_OWLOWER (1 << 1) /* overwrite lower */ -#define AUFS_MVDOWN_KUPPER (1 << 2) /* keep upper */ -#define AUFS_MVDOWN_ROLOWER (1 << 3) /* do even if lower is RO */ -#define AUFS_MVDOWN_ROLOWER_R (1 << 4) /* did on lower RO */ -#define AUFS_MVDOWN_ROUPPER (1 << 5) /* do even if upper is RO */ -#define AUFS_MVDOWN_ROUPPER_R (1 << 6) /* did on upper RO */ -#define AUFS_MVDOWN_BRID_UPPER (1 << 7) /* upper brid */ -#define AUFS_MVDOWN_BRID_LOWER (1 << 8) /* lower brid */ -#define AUFS_MVDOWN_FHSM_LOWER (1 << 9) /* find fhsm attr for lower */ -#define AUFS_MVDOWN_STFS (1 << 10) /* req. stfs */ -#define AUFS_MVDOWN_STFS_FAILED (1 << 11) /* output: stfs is unusable */ -#define AUFS_MVDOWN_BOTTOM (1 << 12) /* output: no more lowers */ - -/* index for move-down */ -enum { - AUFS_MVDOWN_UPPER, - AUFS_MVDOWN_LOWER, - AUFS_MVDOWN_NARRAY -}; - -/* - * additional info of move-down - * number of free blocks and inodes. - * subset of struct kstatfs, but smaller and always 64bit. - */ -struct aufs_stfs { - uint64_t f_blocks; - uint64_t f_bavail; - uint64_t f_files; - uint64_t f_ffree; -}; - -struct aufs_stbr { - int16_t brid; /* optional input */ - int16_t bindex; /* output */ - struct aufs_stfs stfs; /* output when AUFS_MVDOWN_STFS set */ -} __aligned(8); - -struct aufs_mvdown { - uint32_t flags; /* input/output */ - struct aufs_stbr stbr[AUFS_MVDOWN_NARRAY]; /* input/output */ - int8_t au_errno; /* output */ -} __aligned(8); - -/* ---------------------------------------------------------------------- */ - -union aufs_brinfo { - /* PATH_MAX may differ between kernel-space and user-space */ - char _spacer[4096]; - struct { - int16_t id; - int perm; - char path[0]; - }; -} __aligned(8); - -/* ---------------------------------------------------------------------- */ - -#define AuCtlType 'A' -#define AUFS_CTL_RDU _IOWR(AuCtlType, AuCtl_RDU, struct aufs_rdu) -#define AUFS_CTL_RDU_INO _IOWR(AuCtlType, AuCtl_RDU_INO, struct aufs_rdu) -#define AUFS_CTL_WBR_FD _IOW(AuCtlType, AuCtl_WBR_FD, \ - struct aufs_wbr_fd) -#define AUFS_CTL_IBUSY _IOWR(AuCtlType, AuCtl_IBUSY, struct aufs_ibusy) -#define AUFS_CTL_MVDOWN _IOWR(AuCtlType, AuCtl_MVDOWN, \ - struct aufs_mvdown) -#define AUFS_CTL_BRINFO _IOW(AuCtlType, AuCtl_BR, union aufs_brinfo) -#define AUFS_CTL_FHSM_FD _IOW(AuCtlType, AuCtl_FHSM_FD, int) - -#endif /* __AUFS_TYPE_H__ */ diff --git a/meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb b/meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb index 1e86775..66f560c 100644 --- a/meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb +++ b/meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb @@ -4,37 +4,40 @@ HOMEPAGE = "http://aufs.sourceforge.net/" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=892f569a555ba9c07a568a7c0c4fa63a" -DEPENDS = "aufs-util-native" +DEPENDS = "coreutils-native aufs-util-native" DEPENDS_class-native = "" -SRCREV = "bdfcc0dcfc6113146e928f85145dbd2cf9b0e080" -SRC_URI = "git://git.code.sf.net/p/aufs/aufs-util;protocol=git;branch=aufs3.18 \ +SRCREV = "89afb1806c3d2eed8db2666ae254b77518ae3ceb" +SRC_URI = "git://git.code.sf.net/p/aufs/aufs-util;protocol=git;branch=aufs4.4 \ + https://raw.githubusercontent.com/sfjro/aufs4-linux/aufs4.4/include/uapi/linux/aufs_type.h;name=aufs_type \ file://aufs-util-don-t-strip-executables.patch \ file://aufs-util-add-tool-concept-to-Makefile-for-cross-com.patch \ - file://aufs_type.h \ " +SRC_URI[aufs_type.md5sum] = "f7b4a255dcb55fe7b0967f5f59b44f19" +SRC_URI[aufs_type.sha256sum] = "85bc8e4c1a94a7d526c382e4b047b4256cab8c4a65fc0396291707ad9a327a18" -PV = "3.14+git${SRCPV}" +PV = "4.4+git${SRCPV}" S = "${WORKDIR}/git" export HOSTCC = "${BUILD_CC}" - do_configure_prepend() { # Replace sbin,bin paths with bitbake environment sed -i -e 's;install_sbin: Tgt = ${DESTDIR}/sbin;install_sbin: Tgt = ${DESTDIR}/${base_sbindir};' \ -e 's;install_ubin: Tgt = ${DESTDIR}/usr/sbin;install_sbin: Tgt = ${DESTDIR}/${bindir};' \ ${S}/Makefile + sed -i -e 's;strip -R;${STRIP} -R;' ${S}/libau/Makefile } do_configure_append () { install -d ${S}/include/linux/ cp ${WORKDIR}/aufs_type.h ${S}/include/linux/ + sed -i -e 's;__user;;' ${S}/include/linux/aufs_type.h } do_configure_append_class-target () { for i in ver c2sh c2tmac; do - cp ${STAGING_BINDIR_NATIVE}/aufs-util-*/$i ${B} + cp ${STAGING_BINDIR_NATIVE}/aufs-util-${PV}/$i ${B} done } -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:03:03 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:03:03 +0000 Subject: [oe-commits] [meta-openembedded] 36/75: numactl: Update to latest from github In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170228.5E146234F2B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit b9d8854ec0450a19b2dd6f54fb9f01201fd004d9 Author: Khem Raj AuthorDate: Mon Jul 17 20:10:05 2017 -0700 numactl: Update to latest from github There are patches to compile it on musl upstream therefore switch the SRC_URI to fetch from github Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../numactl/{numactl_2.0.11.bb => numactl_git.bb} | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/meta-oe/recipes-support/numactl/numactl_2.0.11.bb b/meta-oe/recipes-support/numactl/numactl_git.bb similarity index 88% rename from meta-oe/recipes-support/numactl/numactl_2.0.11.bb rename to meta-oe/recipes-support/numactl/numactl_git.bb index dd159a3..f2d9a17 100644 --- a/meta-oe/recipes-support/numactl/numactl_2.0.11.bb +++ b/meta-oe/recipes-support/numactl/numactl_git.bb @@ -10,15 +10,18 @@ inherit autotools-brokensep ptest LIC_FILES_CHKSUM = "file://README;beginline=19;endline=32;md5=5644cc3851cb2499f6c48e52fe198bd9" -SRC_URI = "ftp://oss.sgi.com/www/projects/libnuma/download/${BPN}-${PV}.tar.gz \ +SRCREV = "ea3a70681c2f523fe58e1d44527f478ca76db74e" +PV = "2.0.11+git${SRCPV}" + +SRC_URI = "git://github.com/numactl/numactl \ file://fix-null-pointer.patch \ file://Fix-the-test-output-format.patch \ file://Makefile \ file://run-ptest \ file://0001-define-run-test-target.patch \ " -SRC_URI[md5sum] = "d3bc88b7ddb9f06d60898f4816ae9127" -SRC_URI[sha256sum] = "450c091235f891ee874a8651b179c30f57a1391ca5c4673354740ba65e527861" + +S = "${WORKDIR}/git" # ARM does not currently support NUMA COMPATIBLE_HOST = "^((?!arm).*)$" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:02:52 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:02:52 +0000 Subject: [oe-commits] [meta-openembedded] 25/75: metacity: Fix build with musl by defining _GNU_SOURCE In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170228.14E2C234F10@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 83814ebd809f2686a5580bf4e73e31a6607c9340 Author: Khem Raj AuthorDate: Fri Jul 14 18:55:37 2017 -0700 metacity: Fix build with musl by defining _GNU_SOURCE Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../metacity/0001-ui-Define-_GNU_SOURCE.patch | 27 ++++++++++++++++++++++ .../recipes-gnome/metacity/metacity_2.34.13.bb | 5 +++- 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/meta-gnome/recipes-gnome/metacity/metacity/0001-ui-Define-_GNU_SOURCE.patch b/meta-gnome/recipes-gnome/metacity/metacity/0001-ui-Define-_GNU_SOURCE.patch new file mode 100644 index 0000000..539d756 --- /dev/null +++ b/meta-gnome/recipes-gnome/metacity/metacity/0001-ui-Define-_GNU_SOURCE.patch @@ -0,0 +1,27 @@ +From e7fd072f0df968f342878b77098e97ff07ed28d7 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 14 Jul 2017 10:26:31 -0700 +Subject: [PATCH] ui: Define _GNU_SOURCE + +it becomes portable across musl and glibc + +Signed-off-by: Khem Raj +--- + src/ui/theme.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/ui/theme.c b/src/ui/theme.c +index 84b57a0..c7eafc8 100644 +--- a/src/ui/theme.c ++++ b/src/ui/theme.c +@@ -60,6 +60,7 @@ + #include + #include + #include ++#define _GNU_SOURCE + #define __USE_XOPEN + #include + +-- +2.13.3 + diff --git a/meta-gnome/recipes-gnome/metacity/metacity_2.34.13.bb b/meta-gnome/recipes-gnome/metacity/metacity_2.34.13.bb index 662c90d..370de70 100644 --- a/meta-gnome/recipes-gnome/metacity/metacity_2.34.13.bb +++ b/meta-gnome/recipes-gnome/metacity/metacity_2.34.13.bb @@ -13,7 +13,10 @@ REQUIRED_DISTRO_FEATURES = "x11" GNOME_COMPRESS_TYPE = "xz" -SRC_URI += "file://remove-yelp-help-rules-var.patch" +SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@gnome_verdir("${PV}")}/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive \ + file://remove-yelp-help-rules-var.patch \ + file://0001-ui-Define-_GNU_SOURCE.patch \ + " SRC_URI[archive.md5sum] = "6d89b71672d4fa49fc87f83d610d0ef6" SRC_URI[archive.sha256sum] = "8cf4dbf0da0a6f36357ce7db7f829ec685908a7792453c662fb8184572b91075" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:02:42 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:02:42 +0000 Subject: [oe-commits] [meta-openembedded] 15/75: libgtop: Fix build with musl In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170227.BCFF0234F1B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 9dfececc96801e2e06d6140848bf21c92db1d2f9 Author: Khem Raj AuthorDate: Thu Jul 13 22:40:07 2017 -0700 libgtop: Fix build with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...-Include-libc-net-headers-unconditionally.patch | 46 ++++++++++++++++++++++ meta-gnome/recipes-gnome/libgtop/libgtop_2.30.0.bb | 3 ++ 2 files changed, 49 insertions(+) diff --git a/meta-gnome/recipes-gnome/libgtop/libgtop/0001-netload-Include-libc-net-headers-unconditionally.patch b/meta-gnome/recipes-gnome/libgtop/libgtop/0001-netload-Include-libc-net-headers-unconditionally.patch new file mode 100644 index 0000000..c4f7da4 --- /dev/null +++ b/meta-gnome/recipes-gnome/libgtop/libgtop/0001-netload-Include-libc-net-headers-unconditionally.patch @@ -0,0 +1,46 @@ +From 3c6f70e50cb586ac4add4dea627c316242691040 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 13 Jul 2017 09:17:29 -0700 +Subject: [PATCH] netload: Include libc net headers unconditionally + +This fixes compile with musl, and this conditional +is not needed now a days if we are still using glibc < 1.0 +we have other bigger problems + +Signed-off-by: Khem Raj +--- + sysdeps/linux/netload.c | 11 ----------- + 1 file changed, 11 deletions(-) + +diff --git a/sysdeps/linux/netload.c b/sysdeps/linux/netload.c +index c275db2..446bddd 100644 +--- a/sysdeps/linux/netload.c ++++ b/sysdeps/linux/netload.c +@@ -34,8 +34,6 @@ + #include + #include + +-#if !defined (_LIBC) && defined (__GNU_LIBRARY__) && __GNU_LIBRARY__ > 1 +-/* GNU LibC */ + #include + #include + #include +@@ -43,15 +41,6 @@ + #include + #include + #include +-#else /* Libc 5 */ +-#include +-#include +-#include +-#include +-#include +-#include +-#endif +- + + #ifdef HAVE_IFADDRS_H + /* needed for IPV6 support */ +-- +2.13.2 + diff --git a/meta-gnome/recipes-gnome/libgtop/libgtop_2.30.0.bb b/meta-gnome/recipes-gnome/libgtop/libgtop_2.30.0.bb index d79b9e5..946d118 100644 --- a/meta-gnome/recipes-gnome/libgtop/libgtop_2.30.0.bb +++ b/meta-gnome/recipes-gnome/libgtop/libgtop_2.30.0.bb @@ -6,6 +6,9 @@ inherit gnomebase lib_package gtk-doc distro_features_check gobject-introspectio # depends on libxau REQUIRED_DISTRO_FEATURES = "x11" +SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@gnome_verdir("${PV}")}/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive \ + file://0001-netload-Include-libc-net-headers-unconditionally.patch \ + " SRC_URI[archive.md5sum] = "ee29a9ef60659ebf4b075ac281f71cb2" SRC_URI[archive.sha256sum] = "463bcbe5737b1b93f3345ee34abf601e8eb864f507c49ff1921c2737abafc1e5" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:03:04 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:03:04 +0000 Subject: [oe-commits] [meta-openembedded] 37/75: linuxptp: Upgrade to 1.8 In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170228.641E1234F2C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit a8b542f399330dda088f1a27fde4851dec7407d5 Author: Khem Raj AuthorDate: Mon Jul 17 20:10:07 2017 -0700 linuxptp: Upgrade to 1.8 Fix build on musl along way Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../0003-include-missing-time.h-for-time_t.patch | 26 ++++++++++++++++ ...ude-header-sequence-to-avoid-duplicate-de.patch | 36 ++++++++++++++++++++++ .../linuxptp/{linuxptp_1.6.bb => linuxptp_1.8.bb} | 9 ++++-- 3 files changed, 68 insertions(+), 3 deletions(-) diff --git a/meta-oe/recipes-connectivity/linuxptp/linuxptp/0003-include-missing-time.h-for-time_t.patch b/meta-oe/recipes-connectivity/linuxptp/linuxptp/0003-include-missing-time.h-for-time_t.patch new file mode 100644 index 0000000..96163f6 --- /dev/null +++ b/meta-oe/recipes-connectivity/linuxptp/linuxptp/0003-include-missing-time.h-for-time_t.patch @@ -0,0 +1,26 @@ +From b36cafdbcbe2193f5b669e703c608e19e23f80a3 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 15 Jul 2017 11:16:42 -0700 +Subject: [PATCH 3/4] include missing time.h for time_t + +Signed-off-by: Khem Raj +--- + util.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/util.h b/util.h +index e912f19..3c634c1 100644 +--- a/util.h ++++ b/util.h +@@ -22,7 +22,7 @@ + + #include "ddt.h" + #include "ether.h" +- ++#include + /** + * Table of human readable strings, one for each port state. + */ +-- +2.13.3 + diff --git a/meta-oe/recipes-connectivity/linuxptp/linuxptp/0004-Adjust-include-header-sequence-to-avoid-duplicate-de.patch b/meta-oe/recipes-connectivity/linuxptp/linuxptp/0004-Adjust-include-header-sequence-to-avoid-duplicate-de.patch new file mode 100644 index 0000000..e699275 --- /dev/null +++ b/meta-oe/recipes-connectivity/linuxptp/linuxptp/0004-Adjust-include-header-sequence-to-avoid-duplicate-de.patch @@ -0,0 +1,36 @@ +From 3cd28aa771934d9165ff0d7e19932cde65de3e52 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 15 Jul 2017 11:16:57 -0700 +Subject: [PATCH 4/4] Adjust include header sequence to avoid duplicate + definitions on musl + +Signed-off-by: Khem Raj +--- + raw.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/raw.c b/raw.c +index f51c829..494ea7f 100644 +--- a/raw.c ++++ b/raw.c +@@ -18,8 +18,6 @@ + */ + #include + #include +-#include +-#include + #include + #include + #include +@@ -32,6 +30,8 @@ + #include + #include + ++#include ++#include + #include + #include + #include +-- +2.13.3 + diff --git a/meta-oe/recipes-connectivity/linuxptp/linuxptp_1.6.bb b/meta-oe/recipes-connectivity/linuxptp/linuxptp_1.8.bb similarity index 66% rename from meta-oe/recipes-connectivity/linuxptp/linuxptp_1.6.bb rename to meta-oe/recipes-connectivity/linuxptp/linuxptp_1.8.bb index 2e28644..c7b8b29 100644 --- a/meta-oe/recipes-connectivity/linuxptp/linuxptp_1.6.bb +++ b/meta-oe/recipes-connectivity/linuxptp/linuxptp_1.8.bb @@ -4,10 +4,13 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" SRC_URI = "http://sourceforge.net/projects/linuxptp/files/v${PV}/linuxptp-${PV}.tgz \ file://build-Allow-CC-and-prefix-to-be-overriden.patch \ - file://no-incdefs-using-host-headers.patch" + file://no-incdefs-using-host-headers.patch \ + file://0003-include-missing-time.h-for-time_t.patch \ + file://0004-Adjust-include-header-sequence-to-avoid-duplicate-de.patch \ + " -SRC_URI[md5sum] = "6aa15d83f5a35f1fd076ba9adc4e7285" -SRC_URI[sha256sum] = "e7fd16a9f235b059be527bd512e86f0c1d9f2e7c36736e6d6d9727a4427ac14c" +SRC_URI[md5sum] = "5688cdfe57932273e1dbf35b3b97b9a0" +SRC_URI[sha256sum] = "fa8e00f6ec73cefa7bb313dce7f60dfe5eb9e2bde3353594e9ac18edc93e5165" EXTRA_OEMAKE = "ARCH=${TARGET_ARCH} \ EXTRA_CFLAGS='-D_GNU_SOURCE -DHAVE_CLOCK_ADJTIME -DHAVE_POSIX_SPAWN -DHAVE_ONESTEP_SYNC ${CFLAGS}'" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:02:46 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:02:46 +0000 Subject: [oe-commits] [meta-openembedded] 19/75: dracut: Upgrade to 045 In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170227.DBB38234F1F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 606e9b29eccfc5a61d8f58ef460da5e93119dd9c Author: Khem Raj AuthorDate: Thu Jul 13 22:40:11 2017 -0700 dracut: Upgrade to 045 Fix build on musl while here Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...-util.h-include-sys-reg.h-when-libc-glibc.patch | 33 ++++++++++++++++++++++ .../recipes-devtools/dracut/dracut_git.bb | 19 +++++++++---- 2 files changed, 46 insertions(+), 6 deletions(-) diff --git a/meta-initramfs/recipes-devtools/dracut/dracut/0001-util.h-include-sys-reg.h-when-libc-glibc.patch b/meta-initramfs/recipes-devtools/dracut/dracut/0001-util.h-include-sys-reg.h-when-libc-glibc.patch new file mode 100644 index 0000000..3271403 --- /dev/null +++ b/meta-initramfs/recipes-devtools/dracut/dracut/0001-util.h-include-sys-reg.h-when-libc-glibc.patch @@ -0,0 +1,33 @@ +From 06011ce55b1e892e863568a73d64eebc6389544f Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 13 Jul 2017 17:14:05 -0700 +Subject: [PATCH] util.h: include when libc != glibc + +For musl libc it is required to include to +have __WORDSIZE defined to e.g. 32 for arm*-musl. + +Taken from void-linux +https://github.com/voidlinux/void-packages/blob/master/srcpkgs/dracut/patches/musl-__wordsize.patch + +Signed-off-by: Khem Raj +--- + install/util.h | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/install/util.h b/install/util.h +index 2ad3254d..062626ec 100644 +--- a/install/util.h ++++ b/install/util.h +@@ -36,6 +36,9 @@ + #include + #include + #include ++#if !defined(__GLIBC__) ++#include ++#endif + + #include "macro.h" + +-- +2.13.2 + diff --git a/meta-initramfs/recipes-devtools/dracut/dracut_git.bb b/meta-initramfs/recipes-devtools/dracut/dracut_git.bb index b91f3fa..09c86d0 100644 --- a/meta-initramfs/recipes-devtools/dracut/dracut_git.bb +++ b/meta-initramfs/recipes-devtools/dracut/dracut_git.bb @@ -5,13 +5,18 @@ LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" PE = "1" -PV = "044+git${SRCREV}" +PV = "045+git${SRCREV}" -# v044 tag -SRCREV = "1bc3e733f96033a508841e97fe08da7a12851782" -SRC_URI = "git://git.kernel.org/pub/scm/boot/dracut/dracut.git;protocol=http" +# v045 tag +SRCREV = "39c9b67f86145953aa30def9d77c68597a4ccfe8" +SRC_URI = "git://git.kernel.org/pub/scm/boot/dracut/dracut.git;protocol=http \ + file://0001-util.h-include-sys-reg.h-when-libc-glibc.patch \ + " -inherit bash-completion +DEPENDS += "kmod" +DEPENDS_append_libc-musl = " fts" + +inherit bash-completion pkgconfig S = "${WORKDIR}/git" @@ -30,7 +35,9 @@ EXTRA_OECONF = "--prefix=${prefix} \ PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,,,systemd" -EXTRA_OEMAKE += 'libdir=${prefix}/lib' +EXTRA_OEMAKE += 'libdir=${prefix}/lib LDLIBS="${LDLIBS}"' + +LDLIBS_append_libc-musl = " -lfts" do_configure() { ./configure ${EXTRA_OECONF} -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:03:05 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:03:05 +0000 Subject: [oe-commits] [meta-openembedded] 38/75: sessreg: Fix build on musl In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170228.6A049234F2D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit d96940ac54e0d6197f83d3183e9da6d21a7dcdd9 Author: Khem Raj AuthorDate: Mon Jul 17 20:10:08 2017 -0700 sessreg: Fix build on musl musl does not define _WTMPX_FILE or _UTMPX_FILE use versions without 'X' Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- meta-oe/recipes-graphics/xorg-app/sessreg_1.1.0.bb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.0.bb b/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.0.bb index 2e25b7d..3885d61 100644 --- a/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.0.bb +++ b/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.0.bb @@ -6,3 +6,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d938a70c8280c265a1ccd2954365d185" SRC_URI += "file://0001-Makefile.am-Error-Fix.patch" SRC_URI[md5sum] = "e238c89dabc566e1835e1ecb61b605b9" SRC_URI[sha256sum] = "551177657835e0902b5eee7b19713035beaa1581bbd3c6506baa553e751e017c" + +CFLAGS_append_libc-musl = " -D_WTMPX_FILE=WTMP_FILE -D_PATH_WTMPX=_PATH_WTMP -D_UTMPX_FILE=UTMP_FILE -D_PATH_UTMPX=_PATH_UTMP " + -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:03:06 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:03:06 +0000 Subject: [oe-commits] [meta-openembedded] 39/75: phonet-utils: Fix build with musl In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170228.74F87234F12@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit caf460d7fc1b6e22e23504a52dd1ba5ed9194791 Author: Khem Raj AuthorDate: Mon Jul 17 20:10:09 2017 -0700 phonet-utils: Fix build with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../0001-Include-limits.h-for-PATH_MAX.patch | 25 ++++++++++++++++++++++ .../phonet-utils/phonet-utils_git.bb | 4 +++- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/meta-oe/recipes-connectivity/phonet-utils/phonet-utils/0001-Include-limits.h-for-PATH_MAX.patch b/meta-oe/recipes-connectivity/phonet-utils/phonet-utils/0001-Include-limits.h-for-PATH_MAX.patch new file mode 100644 index 0000000..8bb7e5a --- /dev/null +++ b/meta-oe/recipes-connectivity/phonet-utils/phonet-utils/0001-Include-limits.h-for-PATH_MAX.patch @@ -0,0 +1,25 @@ +From f7ad9a4471cee2324f216a0d82ba8097ec746c56 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 15 Jul 2017 11:48:12 -0700 +Subject: [PATCH] Include limits.h for PATH_MAX + +Signed-off-by: Khem Raj +--- + src/pnstat.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/pnstat.c b/src/pnstat.c +index 661a5bc..76068e6 100644 +--- a/src/pnstat.c ++++ b/src/pnstat.c +@@ -35,6 +35,7 @@ + #include + #include + #include ++#include + + struct fd + { +-- +2.13.3 + diff --git a/meta-oe/recipes-connectivity/phonet-utils/phonet-utils_git.bb b/meta-oe/recipes-connectivity/phonet-utils/phonet-utils_git.bb index 5589963..3c59995 100644 --- a/meta-oe/recipes-connectivity/phonet-utils/phonet-utils_git.bb +++ b/meta-oe/recipes-connectivity/phonet-utils/phonet-utils_git.bb @@ -2,7 +2,9 @@ SUMMARY = "This small package provides a few command line tools for Linux Phonet HOMEPAGE = "" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" -SRC_URI = "git://gitorious.org/meego-cellular/phonet-utils.git;branch=master" +SRC_URI = "git://gitorious.org/meego-cellular/phonet-utils.git;branch=master \ + file://0001-Include-limits.h-for-PATH_MAX.patch \ + " PR = "r2" S = "${WORKDIR}/git" SRCREV = "4acfa720fd37d178a048fc2be17180137d4a70ea" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:03:02 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:03:02 +0000 Subject: [oe-commits] [meta-openembedded] 35/75: grubby: Link with libexecinfo on musl In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170228.57C4A234F2A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit d45db2d6ec8ed5b4dbdd9c3de480ad7ac8ec0d83 Author: Khem Raj AuthorDate: Mon Jul 17 20:10:04 2017 -0700 grubby: Link with libexecinfo on musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...-variable-LIBS-to-provides-libraries-from.patch | 26 ++++++++++++++++++++++ .../0002-include-paths.h-for-_PATH_MOUNTED.patch | 25 +++++++++++++++++++++ .../recipes-devtools/grubby/grubby_8.40.bb | 9 ++++++-- 3 files changed, 58 insertions(+), 2 deletions(-) diff --git a/meta-initramfs/recipes-devtools/grubby/grubby/0001-Add-another-variable-LIBS-to-provides-libraries-from.patch b/meta-initramfs/recipes-devtools/grubby/grubby/0001-Add-another-variable-LIBS-to-provides-libraries-from.patch new file mode 100644 index 0000000..1b1a993 --- /dev/null +++ b/meta-initramfs/recipes-devtools/grubby/grubby/0001-Add-another-variable-LIBS-to-provides-libraries-from.patch @@ -0,0 +1,26 @@ +From 22afaa21b4b258082be591e54c99e1ba6fbd7748 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 15 Jul 2017 10:19:22 -0700 +Subject: [PATCH 1/2] Add another variable LIBS to provides libraries from env + +Signed-off-by: Khem Raj +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index ac14404..92a8e73 100644 +--- a/Makefile ++++ b/Makefile +@@ -27,7 +27,7 @@ RPM_OPT_FLAGS ?= -O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector + CFLAGS += $(RPM_OPT_FLAGS) -std=gnu99 -Wall -Werror -Wno-error=unused-function -Wno-unused-function -ggdb + LDFLAGS := + +-grubby_LIBS = -lblkid -lpopt ++grubby_LIBS = -lblkid -lpopt ${LIBS} + + all: grubby + +-- +2.13.3 + diff --git a/meta-initramfs/recipes-devtools/grubby/grubby/0002-include-paths.h-for-_PATH_MOUNTED.patch b/meta-initramfs/recipes-devtools/grubby/grubby/0002-include-paths.h-for-_PATH_MOUNTED.patch new file mode 100644 index 0000000..de8133a --- /dev/null +++ b/meta-initramfs/recipes-devtools/grubby/grubby/0002-include-paths.h-for-_PATH_MOUNTED.patch @@ -0,0 +1,25 @@ +From 8f844ac7f44b8dc428d06cd6958c5f32d383d01c Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 15 Jul 2017 10:19:50 -0700 +Subject: [PATCH 2/2] include paths.h for _PATH_MOUNTED + +Signed-off-by: Khem Raj +--- + grubby.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/grubby.c b/grubby.c +index 47a1a15..59f74a9 100644 +--- a/grubby.c ++++ b/grubby.c +@@ -34,6 +34,7 @@ + #include + #include + #include ++#include + #include + + #include "log.h" +-- +2.13.3 + diff --git a/meta-initramfs/recipes-devtools/grubby/grubby_8.40.bb b/meta-initramfs/recipes-devtools/grubby/grubby_8.40.bb index 0e93790..5a99824 100644 --- a/meta-initramfs/recipes-devtools/grubby/grubby_8.40.bb +++ b/meta-initramfs/recipes-devtools/grubby/grubby_8.40.bb @@ -9,11 +9,14 @@ LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=892f569a555ba9c07a568a7c0c4fa63a" DEPENDS = "popt util-linux" +DEPENDS_append_libc-musl = " libexecinfo" SRC_URI = "https://github.com/rhinstaller/${BPN}/archive/${PV}-1.tar.gz;downloadfilename=${BPN}-${PV}-1.tar.gz \ file://grubby-rename-grub2-editenv-to-grub-editenv.patch \ file://run-ptest \ -" + file://0001-Add-another-variable-LIBS-to-provides-libraries-from.patch \ + file://0002-include-paths.h-for-_PATH_MOUNTED.patch \ + " SRC_URI[md5sum] = "1005907b275d6d93368d045274537d86" SRC_URI[sha256sum] = "85f1c678484f74c8978e8643451594967defce463a86c35cb1ee56d12767a9df" @@ -24,8 +27,10 @@ RDEPENDS_${PN} += "dracut" inherit autotools-brokensep ptest -EXTRA_OEMAKE = "-e 'CC=${CC}' 'LDFLAGS=${LDFLAGS}'" +EXTRA_OEMAKE = "-e 'CC=${CC}' 'LDFLAGS=${LDFLAGS}' LIBS='${LIBS}'" +LIBS_libc-musl = "-lexecinfo" +LIBS ?= "" do_install_ptest() { install -d ${D}${PTEST_PATH} cp -r ${S}/test ${S}/test.sh ${D}${PTEST_PATH} -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:02:50 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:02:50 +0000 Subject: [oe-commits] [meta-openembedded] 23/75: xfsdump: Fix build with musl In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170228.06397234F0F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 222db35a89fa12badfc3e3339eae0ab6d47459e9 Author: Khem Raj AuthorDate: Fri Jul 14 11:34:52 2017 -0700 xfsdump: Fix build with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../files/0001-Include-fcntl.h-for-O_EXCL.patch | 28 +++++ .../0002-Replace-__uint32_t-with-uint32_t.patch | 122 +++++++++++++++++++++ .../0003-replace-use-of-SIGCLD-with-SIGCHLD.patch | 40 +++++++ .../files/0004-include-limit.h-for-PATH_MAX.patch | 29 +++++ ...-types.h-for-u_int32_t-in-attr-attributes.patch | 27 +++++ .../recipes-utils/xfsdump/xfsdump_3.1.6.bb | 9 +- 6 files changed, 253 insertions(+), 2 deletions(-) diff --git a/meta-filesystems/recipes-utils/xfsdump/files/0001-Include-fcntl.h-for-O_EXCL.patch b/meta-filesystems/recipes-utils/xfsdump/files/0001-Include-fcntl.h-for-O_EXCL.patch new file mode 100644 index 0000000..660468d --- /dev/null +++ b/meta-filesystems/recipes-utils/xfsdump/files/0001-Include-fcntl.h-for-O_EXCL.patch @@ -0,0 +1,28 @@ +From 8cf48da5f645dd7bbb1ccbeab5bb0964f40f17f7 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 13 Jul 2017 23:18:47 -0700 +Subject: [PATCH 1/5] Include fcntl.h for O_EXCL + +Fix +error: 'O_CREAT' undeclared (first use in this function) + +Signed-off-by: Khem Raj +--- + invutil/invidx.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/invutil/invidx.c b/invutil/invidx.c +index 67efdf7..325a9a1 100644 +--- a/invutil/invidx.c ++++ b/invutil/invidx.c +@@ -27,6 +27,7 @@ + #include + #include + #include ++#include + + #include "types.h" + #include "mlog.h" +-- +2.13.2 + diff --git a/meta-filesystems/recipes-utils/xfsdump/files/0002-Replace-__uint32_t-with-uint32_t.patch b/meta-filesystems/recipes-utils/xfsdump/files/0002-Replace-__uint32_t-with-uint32_t.patch new file mode 100644 index 0000000..ed3e0a9 --- /dev/null +++ b/meta-filesystems/recipes-utils/xfsdump/files/0002-Replace-__uint32_t-with-uint32_t.patch @@ -0,0 +1,122 @@ +From f76d2142905f0e5bd830d5d576c235af1171c6ac Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 13 Jul 2017 23:23:31 -0700 +Subject: [PATCH 2/5] Replace __uint32_t with uint32_t + +Signed-off-by: Khem Raj +--- + common/content_inode.h | 4 ++-- + doc/xfsdump.html | 8 ++++---- + inventory/inv_oref.h | 2 +- + inventory/inv_priv.h | 4 ++-- + inventory/inventory.h | 2 +- + 5 files changed, 10 insertions(+), 10 deletions(-) + +diff --git a/common/content_inode.h b/common/content_inode.h +index a69a9a0..6936e05 100644 +--- a/common/content_inode.h ++++ b/common/content_inode.h +@@ -191,10 +191,10 @@ typedef struct bstat bstat_t; + * and using two 16bit values to hold new 32bit projid was choosen + * to retain compatibility with "old" filesystems). + */ +-static inline __uint32_t ++static inline uint32_t + bstat_projid(struct bstat *bs) + { +- return (__uint32_t)bs->bs_projid_hi << 16 | bs->bs_projid_lo; ++ return (uint32_t)bs->bs_projid_hi << 16 | bs->bs_projid_lo; + } + + +diff --git a/doc/xfsdump.html b/doc/xfsdump.html +index 9c6722e..f85128f 100644 +--- a/doc/xfsdump.html ++++ b/doc/xfsdump.html +@@ -1935,7 +1935,7 @@ The files are constructed like so: +
+ typedef struct invt_counter {
+     INVT_COUNTER_FIELDS
+-        __uint32_t    ic_vernum;/* on disk version number for posterity */\
++        uint32_t    ic_vernum;/* on disk version number for posterity */\
+         u_int         ic_curnum;/* number of sessions/invindices recorded \
+                                    so far */                              \
+         u_int         ic_maxnum;/* maximum number of sessions/inv_indices \
+@@ -1975,7 +1975,7 @@ typedef struct invt_fstab {
+ 
+ typedef struct invt_counter {
+     INVT_COUNTER_FIELDS
+-        __uint32_t    ic_vernum;/* on disk version number for posterity */\
++        uint32_t    ic_vernum;/* on disk version number for posterity */\
+         u_int         ic_curnum;/* number of sessions/invindices recorded \
+                                    so far */                              \
+         u_int         ic_maxnum;/* maximum number of sessions/inv_indices \
+@@ -2012,7 +2012,7 @@ typedef struct invt_entry {
+ 
+ typedef struct invt_sescounter {
+     INVT_COUNTER_FIELDS
+-        __uint32_t    ic_vernum;/* on disk version number for posterity */\
++        uint32_t    ic_vernum;/* on disk version number for posterity */\
+         u_int         ic_curnum;/* number of sessions/invindices recorded \
+                                    so far */                              \
+         u_int         ic_maxnum;/* maximum number of sessions/inv_indices \
+@@ -2034,7 +2034,7 @@ typedef struct invt_seshdr {
+     off64_t    sh_streams_off; /* offset to start of the set of
+                                   stream hdrs */
+     time_t     sh_time;        /* time of the dump */
+-    __uint32_t sh_flag;        /* for misc flags */
++    uint32_t sh_flag;        /* for misc flags */
+     u_char     sh_level;       /* dump level */
+     u_char     sh_pruned;      /* pruned by invutil flag */
+     char       sh_padding[22];
+diff --git a/inventory/inv_oref.h b/inventory/inv_oref.h
+index e16684d..38303a4 100644
+--- a/inventory/inv_oref.h
++++ b/inventory/inv_oref.h
+@@ -46,7 +46,7 @@
+ 
+ 
+ 
+-typedef __uint32_t	invt_objtype_t;
++typedef uint32_t	invt_objtype_t;
+ 
+ #define INVT_LOCKED		0x0001
+ 
+diff --git a/inventory/inv_priv.h b/inventory/inv_priv.h
+index 1690271..364ffbc 100644
+--- a/inventory/inv_priv.h
++++ b/inventory/inv_priv.h
+@@ -120,7 +120,7 @@ typedef struct invt_seshdr {
+ 	off64_t		sh_streams_off; /* offset to start of the set of 
+ 					   stream hdrs */
+ 	time32_t	sh_time;        /* time of the dump */
+-	__uint32_t	sh_flag;        /* for misc flags */
++	uint32_t	sh_flag;        /* for misc flags */
+ 	u_char		sh_level;       /* dump level */
+ 	u_char		sh_pruned;      /* pruned by invutil flag */
+ 	char		sh_padding[22];
+@@ -184,7 +184,7 @@ typedef struct invt_entry {
+ 
+ /* Cheap Inheritance, and an attempt to avoid a nested type */
+ #define INVT_COUNTER_FIELDS  \
+-        __uint32_t    ic_vernum;/* on disk version number for posterity */\
++        uint32_t    ic_vernum;/* on disk version number for posterity */\
+ 	uint	      ic_curnum;/* number of sessions/invindices recorded \
+ 				   so far */				  \
+ 	uint	      ic_maxnum;/* maximum number of sessions/inv_indices \
+diff --git a/inventory/inventory.h b/inventory/inventory.h
+index 134b9ba..c1d7403 100644
+--- a/inventory/inventory.h
++++ b/inventory/inventory.h
+@@ -43,7 +43,7 @@
+ /* length of labels, mntpts, etc */
+ #define INV_STRLEN              GLOBAL_HDR_STRING_SZ
+ 
+-typedef __uint32_t		inv_version_t;
++typedef uint32_t		inv_version_t;
+ 
+ /* This is the general inventory version. 
+  */
+-- 
+2.13.2
+
diff --git a/meta-filesystems/recipes-utils/xfsdump/files/0003-replace-use-of-SIGCLD-with-SIGCHLD.patch b/meta-filesystems/recipes-utils/xfsdump/files/0003-replace-use-of-SIGCLD-with-SIGCHLD.patch
new file mode 100644
index 0000000..31303d8
--- /dev/null
+++ b/meta-filesystems/recipes-utils/xfsdump/files/0003-replace-use-of-SIGCLD-with-SIGCHLD.patch
@@ -0,0 +1,40 @@
+From fcc0cf15a309947103a0695b8a1f4865b820eb5c Mon Sep 17 00:00:00 2001
+From: Khem Raj 
+Date: Thu, 13 Jul 2017 23:26:03 -0700
+Subject: [PATCH 3/5] replace use of SIGCLD with SIGCHLD
+
+Signed-off-by: Khem Raj 
+---
+ common/main.c    | 2 +-
+ doc/xfsdump.html | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/common/main.c b/common/main.c
+index 3848499..faa66ee 100644
+--- a/common/main.c
++++ b/common/main.c
+@@ -2225,7 +2225,7 @@ static sig_printmap_t sig_printmap[ ] = {
+ 	{SIGTERM,	"SIGTERM"},
+ 	{SIGUSR1,	"SIGUSR1"},
+ 	{SIGUSR2,	"SIGUSR2"},
+-	{SIGCLD,	"SIGCLD"},
++	{SIGCHLD,	"SIGCHLD"},
+ 	{SIGPWR,	"SIGPWR"},
+ 	{SIGURG,	"SIGURG"},
+ 	{SIGPOLL,	"SIGPOLL"},
+diff --git a/doc/xfsdump.html b/doc/xfsdump.html
+index f85128f..d96f037 100644
+--- a/doc/xfsdump.html
++++ b/doc/xfsdump.html
+@@ -334,7 +334,7 @@ the ring buffer. It ignores signals and does not terminate until it
+ receives a RING_OP_DIE message. It then exits 0.
+ 

+ The main process sleeps waiting for any of its children to die +-(ie. waiting for a SIGCLD). All children that it cares about (stream ++(ie. waiting for a SIGCHLD). All children that it cares about (stream + managers and ring buffer slaves) are registered through the child + manager abstraction. When a child dies wait status and other info is + stored with its entry in the child manager. main() ignores the deaths +-- +2.13.2 + diff --git a/meta-filesystems/recipes-utils/xfsdump/files/0004-include-limit.h-for-PATH_MAX.patch b/meta-filesystems/recipes-utils/xfsdump/files/0004-include-limit.h-for-PATH_MAX.patch new file mode 100644 index 0000000..62ea15b --- /dev/null +++ b/meta-filesystems/recipes-utils/xfsdump/files/0004-include-limit.h-for-PATH_MAX.patch @@ -0,0 +1,29 @@ +From 98c7d96f0f2c6eddf60aa4a1a08d7d4467645930 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 13 Jul 2017 23:28:10 -0700 +Subject: [PATCH 4/5] include limit.h for PATH_MAX + +fixed +var.c:42:12: error: 'PATH_MAX' undeclared (first use in this function); did you mean 'RAND_MAX'? + char path[PATH_MAX];` + +Signed-off-by: Khem Raj +--- + dump/var.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/dump/var.c b/dump/var.c +index 645caab..8156d37 100644 +--- a/dump/var.c ++++ b/dump/var.c +@@ -16,6 +16,7 @@ + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + ++#include + #include + #include + #include +-- +2.13.2 + diff --git a/meta-filesystems/recipes-utils/xfsdump/files/0005-include-sys-types.h-for-u_int32_t-in-attr-attributes.patch b/meta-filesystems/recipes-utils/xfsdump/files/0005-include-sys-types.h-for-u_int32_t-in-attr-attributes.patch new file mode 100644 index 0000000..fb6e467 --- /dev/null +++ b/meta-filesystems/recipes-utils/xfsdump/files/0005-include-sys-types.h-for-u_int32_t-in-attr-attributes.patch @@ -0,0 +1,27 @@ +From d95f494de1aa8123c74170ffebaed8ea89649da2 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 13 Jul 2017 23:33:44 -0700 +Subject: [PATCH 5/5] include sys/types.h for u_int32_t in attr/attributes.h + +error: unknown type name 'u_int32_t' + +Signed-off-by: Khem Raj +--- + restore/content.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/restore/content.c b/restore/content.c +index 7c4a81f..1d5de1b 100644 +--- a/restore/content.c ++++ b/restore/content.c +@@ -24,6 +24,7 @@ + #include + #include + #include ++#include + #include + #include + #include +-- +2.13.2 + diff --git a/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.6.bb b/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.6.bb index ecc7468..d1033cf 100644 --- a/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.6.bb +++ b/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.6.bb @@ -11,8 +11,13 @@ LIC_FILES_CHKSUM = "file://doc/COPYING;md5=15c832894d10ddd00dfcf57bee490ecc" DEPENDS = "xfsprogs attr" SRC_URI = "ftp://oss.sgi.com/projects/xfs/cmd_tars/${BPN}-${PV}.tar.gz \ - file://remove-install-as-user.patch \ -" + file://remove-install-as-user.patch \ + file://0001-Include-fcntl.h-for-O_EXCL.patch \ + file://0002-Replace-__uint32_t-with-uint32_t.patch \ + file://0003-replace-use-of-SIGCLD-with-SIGCHLD.patch \ + file://0004-include-limit.h-for-PATH_MAX.patch \ + file://0005-include-sys-types.h-for-u_int32_t-in-attr-attributes.patch \ + " SRC_URI[md5sum] = "50353cd4f4b435685955363e6044f4d1" SRC_URI[sha256sum] = "7f78c11ca527477d90e5e62b0778f3ad96f2b71c19173044e9aca9515fff42d0" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:02:51 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:02:51 +0000 Subject: [oe-commits] [meta-openembedded] 24/75: nmon: Upgrade to 16g In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170228.0E9F7234F0C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 92d9eabbf6b0f866f2402be5cdedddb25a55163a Author: Khem Raj AuthorDate: Fri Jul 14 18:55:36 2017 -0700 nmon: Upgrade to 16g Fix build with musl while here. link with libm for ceilf API Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../0001-lmon16g.c-Adjust-system-headers.patch | 46 ++++++++++++++++++++++ .../nmon/{nmon_13g.bb => nmon_16g.bb} | 16 ++++---- 2 files changed, 55 insertions(+), 7 deletions(-) diff --git a/meta-oe/recipes-support/nmon/nmon/0001-lmon16g.c-Adjust-system-headers.patch b/meta-oe/recipes-support/nmon/nmon/0001-lmon16g.c-Adjust-system-headers.patch new file mode 100644 index 0000000..e8debe5 --- /dev/null +++ b/meta-oe/recipes-support/nmon/nmon/0001-lmon16g.c-Adjust-system-headers.patch @@ -0,0 +1,46 @@ +From d977b5170027926eb97ab9742ddc51d2a5555a34 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 14 Jul 2017 10:06:49 -0700 +Subject: [PATCH] lmon16g.c: Adjust system headers + +fstab.h is unused +errno.h is in /usr/include +defines from sys/cdefs.h is used + +Signed-off-by: Khem Raj +--- + lmon16g.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/lmon16g.c b/lmon16g.c +index cb27e09..d2a11c5 100644 +--- a/lmon16g.c ++++ b/lmon16g.c +@@ -63,7 +63,7 @@ static char *SccsId = "nmon " VERSION; + #include + #include + #include +-#include ++#include + #include + #include + #include +@@ -71,6 +71,7 @@ static char *SccsId = "nmon " VERSION; + #include + #include + #include ++#include + + /* Windows moved here so they can be cleared when the screen mode changes */ + WINDOW *padwelcome = NULL; +@@ -576,7 +577,6 @@ struct procsinfo { + int isroot = 0; + + #include +-#include + #include + #include + #include +-- +2.13.3 + diff --git a/meta-oe/recipes-support/nmon/nmon_13g.bb b/meta-oe/recipes-support/nmon/nmon_16g.bb similarity index 59% rename from meta-oe/recipes-support/nmon/nmon_13g.bb rename to meta-oe/recipes-support/nmon/nmon_16g.bb index 1f75189..e77faa3 100644 --- a/meta-oe/recipes-support/nmon/nmon_13g.bb +++ b/meta-oe/recipes-support/nmon/nmon_16g.bb @@ -4,23 +4,25 @@ SECTION = "console/utils" LICENSE = "GPLv3" LIC_FILES_CHKSUM = "file://${WORKDIR}/Documentation.txt;md5=dbb13658cf55d687c4f2ff771a696d4a" DEPENDS = "ncurses" -PR = "r2" +DEPENDS_append_libc-musl = " bsd-headers" -SRC_URI = "${SOURCEFORGE_MIRROR}/nmon/lmon13g.c;name=lmon \ +SRC_URI = "${SOURCEFORGE_MIRROR}/nmon/lmon${PV}.c;name=lmon \ ${SOURCEFORGE_MIRROR}/nmon/Documentation.txt;name=doc \ + file://0001-lmon16g.c-Adjust-system-headers.patch \ " - -SRC_URI[lmon.md5sum] = "b1b8e6c0123ad232394991f2d4f40494" -SRC_URI[lmon.sha256sum] = "456ab2a342b31d1a352d0d940af5962fa65a12ae8757ff73e6e73210832ae8b5" +SRC_URI[lmon.md5sum] = "246ccfc74d5af55d992601fc4d3d4a72" +SRC_URI[lmon.sha256sum] = "da82dd693b503b062854dfe7dbb5d36b347872ab44a4aa05b97e9d577747f688" SRC_URI[doc.md5sum] = "dbb13658cf55d687c4f2ff771a696d4a" SRC_URI[doc.sha256sum] = "1f7f83afe62a7210be5e83cd24157adb854c14599efe0b377a7ecca933869278" CFLAGS += "-D JFS -D GETUSER -Wall -D LARGEMEM" -LDFLAGS += "-ltinfo -lncursesw" +LDFLAGS += "-ltinfo -lncursesw -lm" ASNEEDED_pn-nmon = "" +S = "${WORKDIR}" + do_compile() { - ${CC} ${CFLAGS} ${LDFLAGS} ${WORKDIR}/lmon13g.c -o nmon + ${CC} ${CFLAGS} ${LDFLAGS} lmon${PV}.c -o nmon } do_install() { -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:03:01 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:03:01 +0000 Subject: [oe-commits] [meta-openembedded] 34/75: zlog: Fix build on 64bit targets and musl In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170228.52391234F29@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit b455bfd77f3587167eb67d86926c6a5c788e07fa Author: Khem Raj AuthorDate: Mon Jul 17 20:10:03 2017 -0700 zlog: Fix build on 64bit targets and musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...t-pthread_t-to-unsigned-long-instead-of-u.patch | 32 ++++++++++++++++++++++ meta-oe/recipes-extended/zlog/zlog_git.bb | 4 ++- 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/meta-oe/recipes-extended/zlog/zlog/0001-event.c-Cast-pthread_t-to-unsigned-long-instead-of-u.patch b/meta-oe/recipes-extended/zlog/zlog/0001-event.c-Cast-pthread_t-to-unsigned-long-instead-of-u.patch new file mode 100644 index 0000000..71a9891 --- /dev/null +++ b/meta-oe/recipes-extended/zlog/zlog/0001-event.c-Cast-pthread_t-to-unsigned-long-instead-of-u.patch @@ -0,0 +1,32 @@ +From b97f62fdf3b78eb5cfcb3a1b12c6fd62f735717b Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 15 Jul 2017 09:29:33 -0700 +Subject: [PATCH] event.c: Cast pthread_t to unsigned long instead of unsigned + int + +On 64bit machines it ends up in errors + +event.c:85:67: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast] + a_event->tid_hex_str_len = sprintf(a_event->tid_hex_str, "0x%x", (unsigned int)a_event->tid); + +Signed-off-by: Khem Raj +--- + src/event.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/event.c b/src/event.c +index 8f988b5..c632c33 100644 +--- a/src/event.c ++++ b/src/event.c +@@ -82,7 +82,7 @@ zlog_event_t *zlog_event_new(int time_cache_count) + a_event->tid = pthread_self(); + + a_event->tid_str_len = sprintf(a_event->tid_str, "%lu", (unsigned long)a_event->tid); +- a_event->tid_hex_str_len = sprintf(a_event->tid_hex_str, "0x%x", (unsigned int)a_event->tid); ++ a_event->tid_hex_str_len = sprintf(a_event->tid_hex_str, "0x%lu", (unsigned long)a_event->tid); + + //zlog_event_profile(a_event, ZC_DEBUG); + return a_event; +-- +2.13.3 + diff --git a/meta-oe/recipes-extended/zlog/zlog_git.bb b/meta-oe/recipes-extended/zlog/zlog_git.bb index 51c746f..86e6d30 100644 --- a/meta-oe/recipes-extended/zlog/zlog_git.bb +++ b/meta-oe/recipes-extended/zlog/zlog_git.bb @@ -6,7 +6,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" PV = "1.2.12+git${SRCPV}" SRCREV = "13904dab2878aa2654d0c20fb8600a3dc5f2dd68" -SRC_URI = "git://github.com/HardySimpson/zlog" +SRC_URI = "git://github.com/HardySimpson/zlog \ + file://0001-event.c-Cast-pthread_t-to-unsigned-long-instead-of-u.patch \ + " S = "${WORKDIR}/git" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:03:07 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:03:07 +0000 Subject: [oe-commits] [meta-openembedded] 40/75: nicstat: Fix build on musl/x86_64 In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170228.7B5FD234F15@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 4022026b7ed9eb2e521c3c47b06f12cfb721dabf Author: Khem Raj AuthorDate: Mon Jul 17 20:10:10 2017 -0700 nicstat: Fix build on musl/x86_64 Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...tat.c-Do-not-define-uint64_t-and-uint32_t.patch | 37 ++++++++++++++++++++++ meta-oe/recipes-extended/nicstat/nicstat_1.95.bb | 4 ++- 2 files changed, 40 insertions(+), 1 deletion(-) diff --git a/meta-oe/recipes-extended/nicstat/nicstat/0001-nicstat.c-Do-not-define-uint64_t-and-uint32_t.patch b/meta-oe/recipes-extended/nicstat/nicstat/0001-nicstat.c-Do-not-define-uint64_t-and-uint32_t.patch new file mode 100644 index 0000000..a208f97 --- /dev/null +++ b/meta-oe/recipes-extended/nicstat/nicstat/0001-nicstat.c-Do-not-define-uint64_t-and-uint32_t.patch @@ -0,0 +1,37 @@ +From 52590fbf735cef3fec85a042458aa89a02c52b57 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 15 Jul 2017 11:33:12 -0700 +Subject: [PATCH] nicstat.c: Do not define uint64_t and uint32_t + +Use the defines from platform + +Signed-off-by: Khem Raj + +--- + nicstat.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/nicstat.c b/nicstat.c +index 83ad557..2a6e0c1 100644 +--- a/nicstat.c ++++ b/nicstat.c +@@ -32,6 +32,7 @@ + + #include + #include ++#include + #include + #include + #include +@@ -88,8 +89,6 @@ + #define PROC_NET_BUFSIZ (128 * 1024) + #define PROC_UPTIME "/proc/uptime" + /* Needs to be fixed if not built under ILP32 */ +-typedef unsigned long long uint64_t; +-typedef unsigned int uint32_t; + extern char *optarg; + extern int optind, opterr, optopt; + #endif /* OS_LINUX */ +-- +2.13.3 + diff --git a/meta-oe/recipes-extended/nicstat/nicstat_1.95.bb b/meta-oe/recipes-extended/nicstat/nicstat_1.95.bb index 5126a31..3875f0f 100644 --- a/meta-oe/recipes-extended/nicstat/nicstat_1.95.bb +++ b/meta-oe/recipes-extended/nicstat/nicstat_1.95.bb @@ -5,7 +5,9 @@ HOMEPAGE = "http://nicstat.sourceforge.net" LICENSE = "Artistic-2.0" LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b4a94da2a1f918b217ef5156634fc9e0" -SRC_URI = "http://softlayer-sng.dl.sourceforge.net/project/${BPN}/${BP}.tar.gz" +SRC_URI = "http://softlayer-sng.dl.sourceforge.net/project/${BPN}/${BP}.tar.gz \ + file://0001-nicstat.c-Do-not-define-uint64_t-and-uint32_t.patch \ + " SRC_URI[md5sum] = "9a0b87bbc670c1e738e5b40c7afd184d" SRC_URI[sha256sum] = "c4cc33f8838f4523f27c3d7584eedbe59f4c587f0821612f5ac2201adc18b367" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:03:00 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:03:00 +0000 Subject: [oe-commits] [meta-openembedded] 33/75: a2jmidid: Link with libexecinfo on musl In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170228.4D1DB234F28@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 567e48cc76d0f383d95dfde55c9ce0a05a44993a Author: Khem Raj AuthorDate: Mon Jul 17 20:10:00 2017 -0700 a2jmidid: Link with libexecinfo on musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- meta-oe/recipes-multimedia/jack/a2jmidid_8.bb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/meta-oe/recipes-multimedia/jack/a2jmidid_8.bb b/meta-oe/recipes-multimedia/jack/a2jmidid_8.bb index a520f98..59b73f8 100644 --- a/meta-oe/recipes-multimedia/jack/a2jmidid_8.bb +++ b/meta-oe/recipes-multimedia/jack/a2jmidid_8.bb @@ -7,6 +7,7 @@ LIC_FILES_CHKSUM = " \ " DEPENDS = "alsa-lib jack dbus" +DEPENDS_append_libc-musl = " libexecinfo" SRC_URI = " \ http://download.gna.org/${BPN}/${BPN}-${PV}.tar.bz2 \ @@ -18,6 +19,8 @@ SRC_URI[sha256sum] = "2a9635f62aabc59edb54ada07048dd47e896b90caff94bcee710d35826 inherit waf pkgconfig +LDFLAGS_append_libc-musl = " -lexecinfo" + export LINKFLAGS="${LDFLAGS}" FILES_${PN} += "${datadir}/dbus-1/services" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:02:57 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:02:57 +0000 Subject: [oe-commits] [meta-openembedded] 30/75: v4l-utils: Fix build with musl In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170228.364FD234F25@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 0f55207ad2be1ce6cd3577afa6d1ce869665743b Author: Khem Raj AuthorDate: Fri Jul 14 18:55:35 2017 -0700 v4l-utils: Fix build with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...tl-Define-TEMP_FAILURE_RETRY-if-undefined.patch | 55 ++++++++++++++++++++++ ...t-Link-mc_nextgen_test-with-libargp-if-ne.patch | 28 +++++++++++ .../0003-v4l2-ctl-Do-not-use-getsubopt.patch | 49 +++++++++++++++++++ .../v4l2apps/v4l-utils_1.12.3.bb | 5 +- 4 files changed, 136 insertions(+), 1 deletion(-) diff --git a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-ir-ctl-Define-TEMP_FAILURE_RETRY-if-undefined.patch b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-ir-ctl-Define-TEMP_FAILURE_RETRY-if-undefined.patch new file mode 100644 index 0000000..f1e11da --- /dev/null +++ b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-ir-ctl-Define-TEMP_FAILURE_RETRY-if-undefined.patch @@ -0,0 +1,55 @@ +From e60aea50e41ae8a17672beb5859beecb66e7a305 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 14 Jul 2017 13:11:25 -0700 +Subject: [PATCH 1/3] ir-ctl: Define TEMP_FAILURE_RETRY if undefined + +use strndup() instead of strndupa() which is not +universally available in C libraries + +Taken from AlpineLinux + +Signed-off-by: Khem Raj +--- + utils/ir-ctl/ir-ctl.c | 14 +++++++++++++- + 1 file changed, 13 insertions(+), 1 deletion(-) + +diff --git a/utils/ir-ctl/ir-ctl.c b/utils/ir-ctl/ir-ctl.c +index bc58cee..1a44011 100644 +--- a/utils/ir-ctl/ir-ctl.c ++++ b/utils/ir-ctl/ir-ctl.c +@@ -42,6 +42,16 @@ + # define _(string) string + #endif + ++/* taken from glibc unistd.h */ ++#ifndef TEMP_FAILURE_RETRY ++#define TEMP_FAILURE_RETRY(expression) \ ++ (__extension__ \ ++ ({ long int __result; \ ++ do __result = (long int) (expression); \ ++ while (__result == -1L && errno == EINTR); \ ++ __result; })) ++#endif ++ + # define N_(string) string + + +@@ -344,12 +354,14 @@ static struct file *read_scancode(const char *name) + return NULL; + } + +- pstr = strndupa(name, p - name); ++ pstr = strndup(name, p - name); + + if (!protocol_match(pstr, &proto)) { + fprintf(stderr, _("error: protocol '%s' not found\n"), pstr); ++ free(pstr); + return NULL; + } ++ free(pstr); + + if (!strtoscancode(p + 1, &scancode)) { + fprintf(stderr, _("error: invalid scancode '%s'\n"), p + 1); +-- +2.13.3 + diff --git a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0002-contrib-test-Link-mc_nextgen_test-with-libargp-if-ne.patch b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0002-contrib-test-Link-mc_nextgen_test-with-libargp-if-ne.patch new file mode 100644 index 0000000..2fb4057 --- /dev/null +++ b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0002-contrib-test-Link-mc_nextgen_test-with-libargp-if-ne.patch @@ -0,0 +1,28 @@ +From b3acc4c6407f9553f32582a9aee6a11b5fcd1d8a Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 14 Jul 2017 13:17:19 -0700 +Subject: [PATCH 2/3] contrib/test: Link mc_nextgen_test with libargp if needed + +musl depends on external argp implementation e.g. + +Signed-off-by: Khem Raj +--- + contrib/test/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/contrib/test/Makefile.am b/contrib/test/Makefile.am +index 4641e21..e47b948 100644 +--- a/contrib/test/Makefile.am ++++ b/contrib/test/Makefile.am +@@ -32,7 +32,7 @@ v4l2gl_LDFLAGS = $(X11_LIBS) $(GL_LIBS) $(GLU_LIBS) $(ARGP_LIBS) + v4l2gl_LDADD = ../../lib/libv4l2/libv4l2.la ../../lib/libv4lconvert/libv4lconvert.la + + mc_nextgen_test_CFLAGS = $(LIBUDEV_CFLAGS) +-mc_nextgen_test_LDFLAGS = $(LIBUDEV_LIBS) ++mc_nextgen_test_LDFLAGS = $(ARGP_LIBS) $(LIBUDEV_LIBS) + + + ioctl_test_SOURCES = ioctl-test.c ioctl-test.h ioctl_32.h ioctl_64.h +-- +2.13.3 + diff --git a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0003-v4l2-ctl-Do-not-use-getsubopt.patch b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0003-v4l2-ctl-Do-not-use-getsubopt.patch new file mode 100644 index 0000000..0a986ae --- /dev/null +++ b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0003-v4l2-ctl-Do-not-use-getsubopt.patch @@ -0,0 +1,49 @@ +From d04aa6866cbea57c4a81b033cd60586a9436ac6b Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 14 Jul 2017 13:20:05 -0700 +Subject: [PATCH 3/3] v4l2-ctl: Do not use getsubopt + +POSIX says that behavior when subopts list is empty is undefined. +musl libs will set value to NULL which leads to crash. + +Taken from AlpineLinux + +Signed-off-by: Khem Raj +--- + utils/v4l2-ctl/v4l2-ctl-common.cpp | 19 ++++++++++--------- + 1 file changed, 10 insertions(+), 9 deletions(-) + +diff --git a/utils/v4l2-ctl/v4l2-ctl-common.cpp b/utils/v4l2-ctl/v4l2-ctl-common.cpp +index 3ea6cd3..291fb3e 100644 +--- a/utils/v4l2-ctl/v4l2-ctl-common.cpp ++++ b/utils/v4l2-ctl/v4l2-ctl-common.cpp +@@ -692,16 +692,17 @@ static bool parse_subset(char *optarg) + + static bool parse_next_subopt(char **subs, char **value) + { +- static char *const subopts[] = { +- NULL +- }; +- int opt = getsubopt(subs, subopts, value); ++ char *p = *subs; ++ *value = *subs; + +- if (opt < 0 || *value) +- return false; +- fprintf(stderr, "No value given to suboption <%s>\n", +- subopts[opt]); +- return true; ++ while (*p && *p != ',') ++ p++; ++ ++ if (*p) ++ *p++ = '\0'; ++ ++ *subs = p; ++ return false; + } + + void common_cmd(int ch, char *optarg) +-- +2.13.3 + diff --git a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.12.3.bb b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.12.3.bb index 42da5cc..b408bb0 100644 --- a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.12.3.bb +++ b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.12.3.bb @@ -18,7 +18,10 @@ SRC_URI = "http://linuxtv.org/downloads/v4l-utils/v4l-utils-${PV}.tar.bz2 \ file://0001-buildsystem-do-not-assume-building-in-source-tree.patch \ file://mediactl-pkgconfig.patch \ file://export-mediactl-headers.patch \ - " + file://0001-ir-ctl-Define-TEMP_FAILURE_RETRY-if-undefined.patch \ + file://0002-contrib-test-Link-mc_nextgen_test-with-libargp-if-ne.patch \ + file://0003-v4l2-ctl-Do-not-use-getsubopt.patch \ + " SRC_URI[md5sum] = "89e1ed6c69c94e0489dc0a638c7841aa" SRC_URI[sha256sum] = "5a47dd6f0e7dfe902d94605c01d385a4a4e87583ff5856d6f181900ea81cf46e" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:03:11 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:03:11 +0000 Subject: [oe-commits] [meta-openembedded] 44/75: python3-coverage: add recipe 4.4.1 In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170228.A3420234F14@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 32a607692c65afdbc29ff74cd98db6a098b37331 Author: Hongxu Jia AuthorDate: Tue Jul 18 02:09:05 2017 -0400 python3-coverage: add recipe 4.4.1 Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- meta-python/recipes-devtools/python/python3-coverage_4.4.1.bb | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/meta-python/recipes-devtools/python/python3-coverage_4.4.1.bb b/meta-python/recipes-devtools/python/python3-coverage_4.4.1.bb new file mode 100644 index 0000000..6aa5c59 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-coverage_4.4.1.bb @@ -0,0 +1,10 @@ +SUMMARY = "Code coverage measurement for Python" +HOMEPAGE = "https://coverage.readthedocs.io" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2ee41112a44fe7014dce33e26468ba93" + +SRC_URI[md5sum] = "4c4d997cb32be4703f1fde54e6cd1b1c" +SRC_URI[sha256sum] = "7a9c44400ee0f3b4546066e0710e1250fd75831adc02ab99dda176ad8726f424" + +inherit pypi setuptools3 + -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:03:12 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:03:12 +0000 Subject: [oe-commits] [meta-openembedded] 45/75: python3-langtable: add recipe 0.0.37 In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170228.AF78C234F17@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 7e9c128ed0239a4a476f49dcb69bb8e8c49d4c2f Author: Hongxu Jia AuthorDate: Tue Jul 18 02:09:06 2017 -0400 python3-langtable: add recipe 0.0.37 Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- .../python/python3-langtable_0.0.37.bb | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/meta-python/recipes-devtools/python/python3-langtable_0.0.37.bb b/meta-python/recipes-devtools/python/python3-langtable_0.0.37.bb new file mode 100644 index 0000000..362ca1a --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-langtable_0.0.37.bb @@ -0,0 +1,22 @@ +DESCRIPTION = "langtable is used to guess reasonable defaults for locale,\ +keyboard, territory" +HOMEPAGE = "https://github.com/mike-fabian/langtable/" +LICENSE = "GPLv3+" +SECTION = "devel/python" + +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +S = "${WORKDIR}/git" +B = "${S}" + +SRCREV = "3f001eef027ba69ef2fdb35c670b7da26b79b5e2" +PV = "0.0.37+git${SRCPV}" +SRC_URI = "git://github.com/mike-fabian/langtable.git;branch=master \ +" + +inherit setuptools3 python3native + +DISTUTILS_INSTALL_ARGS = "--prefix=${D}/${prefix} \ + --install-data=${D}/${datadir}/langtable" + +FILES_${PN} += "${datadir}/*" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:02:56 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:02:56 +0000 Subject: [oe-commits] [meta-openembedded] 29/75: iperf3: Fix missing stdint.h and do not link with -pg In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170228.2E66D234F24@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 85d4fe73352886b4d22a77d8ab5163d267d21fa2 Author: Khem Raj AuthorDate: Fri Jul 14 18:55:34 2017 -0700 iperf3: Fix missing stdint.h and do not link with -pg Helps compile with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...de-stdint.h-for-various-std-c99-int-types.patch | 39 ++++++++++++++++++++++ .../0002-Remove-pg-from-profile_CFLAGS.patch | 31 +++++++++++++++++ meta-oe/recipes-benchmark/iperf3/iperf3_git.bb | 11 +++--- 3 files changed, 77 insertions(+), 4 deletions(-) diff --git a/meta-oe/recipes-benchmark/iperf3/iperf3/0001-include-stdint.h-for-various-std-c99-int-types.patch b/meta-oe/recipes-benchmark/iperf3/iperf3/0001-include-stdint.h-for-various-std-c99-int-types.patch new file mode 100644 index 0000000..ae36208 --- /dev/null +++ b/meta-oe/recipes-benchmark/iperf3/iperf3/0001-include-stdint.h-for-various-std-c99-int-types.patch @@ -0,0 +1,39 @@ +From be653711fb92d2430b3ecc546b4e3ad927d19ec5 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 14 Jul 2017 12:59:42 -0700 +Subject: [PATCH 1/2] include stdint.h for various std c99 int types + +Signed-off-by: Khem Raj +--- + src/cjson.h | 2 ++ + src/timer.h | 1 + + 2 files changed, 3 insertions(+) + +diff --git a/src/cjson.h b/src/cjson.h +index fb8cd3b..69cd272 100644 +--- a/src/cjson.h ++++ b/src/cjson.h +@@ -23,6 +23,8 @@ + #ifndef cJSON__h + #define cJSON__h + ++#include ++ + #ifdef __cplusplus + extern "C" + { +diff --git a/src/timer.h b/src/timer.h +index 0f9c5eb..0b195be 100644 +--- a/src/timer.h ++++ b/src/timer.h +@@ -31,6 +31,7 @@ + #define __TIMER_H + + #include ++#include + + /* TimerClientData is an opaque value that tags along with a timer. The + ** client can use it for whatever, and it gets passed to the callback when +-- +2.13.3 + diff --git a/meta-oe/recipes-benchmark/iperf3/iperf3/0002-Remove-pg-from-profile_CFLAGS.patch b/meta-oe/recipes-benchmark/iperf3/iperf3/0002-Remove-pg-from-profile_CFLAGS.patch new file mode 100644 index 0000000..06eb41a --- /dev/null +++ b/meta-oe/recipes-benchmark/iperf3/iperf3/0002-Remove-pg-from-profile_CFLAGS.patch @@ -0,0 +1,31 @@ +From 6db0e28f906bc3784019dfb5bb011237a8034fda Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 14 Jul 2017 13:00:16 -0700 +Subject: [PATCH 2/2] Remove -pg from profile_CFLAGS + +musl fails to link with missing gcrt1.o + +Signed-off-by: Khem Raj +--- + src/Makefile.am | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/Makefile.am b/src/Makefile.am +index 23b0c72..6268145 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -49,9 +49,9 @@ iperf3_LDFLAGS = -g + iperf3_profile_SOURCES = main.c \ + $(libiperf_la_SOURCES) + +-iperf3_profile_CFLAGS = -pg -g ++iperf3_profile_CFLAGS = -g + iperf3_profile_LDADD = libiperf.la +-iperf3_profile_LDFLAGS = -pg -g ++iperf3_profile_LDFLAGS = -g + + # Specify the sources and various flags for the test cases + t_timer_SOURCES = t_timer.c +-- +2.13.3 + diff --git a/meta-oe/recipes-benchmark/iperf3/iperf3_git.bb b/meta-oe/recipes-benchmark/iperf3/iperf3_git.bb index d19aa1e..4a01896 100644 --- a/meta-oe/recipes-benchmark/iperf3/iperf3_git.bb +++ b/meta-oe/recipes-benchmark/iperf3/iperf3_git.bb @@ -11,10 +11,11 @@ AUTHOR = "ESNET , Lawrence Berkeley National Laboratory References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170228.B7AA4234F18@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 6866c4fd0b4c26652282d741401d826617e93e4a Author: Hongxu Jia AuthorDate: Tue Jul 18 02:09:07 2017 -0400 python3-ntplib: add recipe 0.3.3 Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- meta-python/recipes-devtools/python/python3-ntplib_0.3.3.bb | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/meta-python/recipes-devtools/python/python3-ntplib_0.3.3.bb b/meta-python/recipes-devtools/python/python3-ntplib_0.3.3.bb new file mode 100644 index 0000000..35440bc --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-ntplib_0.3.3.bb @@ -0,0 +1,12 @@ +DESCRIPTION = "This module offers a simple interface to query NTP servers from Python." +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://ntplib.py;beginline=1;endline=23;md5=afa07338a9595257e94c205c3e72224d" + +SRCNAME = "ntplib" +SRC_URI[md5sum] = "c7cc8e9b09f40c84819859d70b7784ca" +SRC_URI[sha256sum] = "c4621b64d50be9461d9bd9a71ba0b4af06fbbf818bbd483752d95c1a4e273ede" + +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit setuptools3 python3native pypi -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:03:14 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:03:14 +0000 Subject: [oe-commits] [meta-openembedded] 47/75: python3-ordered-set: add recipe 2.0.2 In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170228.C03EC234F19@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 6e5a7ea18fb48ff0e514b2842afd9cead44820d9 Author: Hongxu Jia AuthorDate: Tue Jul 18 02:09:08 2017 -0400 python3-ordered-set: add recipe 2.0.2 Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- .../recipes-devtools/python/python3-ordered-set_2.0.2.bb | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/meta-python/recipes-devtools/python/python3-ordered-set_2.0.2.bb b/meta-python/recipes-devtools/python/python3-ordered-set_2.0.2.bb new file mode 100644 index 0000000..be6d4e1 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-ordered-set_2.0.2.bb @@ -0,0 +1,10 @@ +SUMMARY = "A MutableSet that remembers its order, so that every entry has an index." +HOMEPAGE = "http://github.com/LuminosoInsight/ordered-set" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://MIT-LICENSE;md5=0feb0c85b722f488b87844fb5f81d2dc" + +SRC_URI[md5sum] = "7b8d73dc64fd3c783ecb48e050bfcc0d" +SRC_URI[sha256sum] = "942cad5d7d5b0760d5cbe93dfb385ac2ed402ca1d48c9f4e102d7d5cce3a90eb" + +inherit pypi setuptools3 + -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:03:09 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:03:09 +0000 Subject: [oe-commits] [meta-openembedded] 42/75: lm_sensors: Fix build on musl In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170228.9094C234F13@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 7414f34c9a5968b7a807eec72b3fc4b54a20fd1c Author: Khem Raj AuthorDate: Mon Jul 17 20:10:12 2017 -0700 lm_sensors: Fix build on musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...-limit-sys-io.h-header-include-to-just-gl.patch | 88 ++++++++++++++++++++++ .../recipes-support/lm_sensors/lmsensors_3.4.0.bb | 6 ++ 2 files changed, 94 insertions(+) diff --git a/meta-oe/recipes-support/lm_sensors/lmsensors/0001-prog-Do-not-limit-sys-io.h-header-include-to-just-gl.patch b/meta-oe/recipes-support/lm_sensors/lmsensors/0001-prog-Do-not-limit-sys-io.h-header-include-to-just-gl.patch new file mode 100644 index 0000000..fb3878d --- /dev/null +++ b/meta-oe/recipes-support/lm_sensors/lmsensors/0001-prog-Do-not-limit-sys-io.h-header-include-to-just-gl.patch @@ -0,0 +1,88 @@ +From 727524453f115ddc05109e9bbb3d0e60a7db9185 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 16 Jul 2017 15:05:50 -0700 +Subject: [PATCH] prog: Do not limit sys/io.h header include to just glibc + +musl provides it too. + +Signed-off-by: Khem Raj +--- + prog/dump/isadump.c | 6 ------ + prog/dump/isaset.c | 6 ------ + prog/dump/superio.c | 5 ----- + prog/dump/util.c | 5 ----- + 4 files changed, 22 deletions(-) + +diff --git a/prog/dump/isadump.c b/prog/dump/isadump.c +index e0e6f00..8794537 100644 +--- a/prog/dump/isadump.c ++++ b/prog/dump/isadump.c +@@ -36,13 +36,7 @@ + #include "util.h" + #include "superio.h" + +- +-/* To keep glibc2 happy */ +-#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 0 + #include +-#else +-#include +-#endif + + #ifdef __powerpc__ + unsigned long isa_io_base = 0; /* XXX for now */ +diff --git a/prog/dump/isaset.c b/prog/dump/isaset.c +index e743755..85a4f64 100644 +--- a/prog/dump/isaset.c ++++ b/prog/dump/isaset.c +@@ -32,13 +32,7 @@ + #include + #include "util.h" + +- +-/* To keep glibc2 happy */ +-#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 0 + #include +-#else +-#include +-#endif + + #ifdef __powerpc__ + unsigned long isa_io_base = 0; /* XXX for now */ +diff --git a/prog/dump/superio.c b/prog/dump/superio.c +index 64ef27b..906fe55 100644 +--- a/prog/dump/superio.c ++++ b/prog/dump/superio.c +@@ -20,12 +20,7 @@ + */ + + #include +- +-#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 0 + #include +-#else +-#include +-#endif + + #include "superio.h" + +diff --git a/prog/dump/util.c b/prog/dump/util.c +index 874c1b9..197fa64 100644 +--- a/prog/dump/util.c ++++ b/prog/dump/util.c +@@ -11,12 +11,7 @@ + #include + #include "util.h" + +-/* To keep glibc2 happy */ +-#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 0 + #include +-#else +-#include +-#endif + + /* Return 1 if we should continue, 0 if we should abort */ + int user_ack(int def) +-- +2.13.3 + diff --git a/meta-oe/recipes-support/lm_sensors/lmsensors_3.4.0.bb b/meta-oe/recipes-support/lm_sensors/lmsensors_3.4.0.bb index dbc05a8..454a69f 100644 --- a/meta-oe/recipes-support/lm_sensors/lmsensors_3.4.0.bb +++ b/meta-oe/recipes-support/lm_sensors/lmsensors_3.4.0.bb @@ -11,6 +11,7 @@ SRC_URI = "https://github.com/groeck/lm-sensors/archive/V3-4-0.tar.gz \ file://fancontrol.init \ file://sensord.init \ file://0001-lmsensors-sensors-detect-print-a-special-message-whe.patch \ + file://0001-prog-Do-not-limit-sys-io.h-header-include-to-just-gl.patch \ " SRC_URI[md5sum] = "1e9f117cbfa11be1955adc96df71eadb" SRC_URI[sha256sum] = "e334c1c2b06f7290e3e66bdae330a5d36054701ffd47a5dde7a06f9a7402cb4e" @@ -37,6 +38,11 @@ EXTRA_OEMAKE = 'EXLDFLAGS="${LDFLAGS}" \ CC="${CC}" AR="${AR}"' do_compile() { + sed -i -e 's:^# \(PROG_EXTRA\):\1:' ${S}/Makefile + # Respect LDFLAGS + sed -i -e 's/\$(LIBDIR)$/\$(LIBDIR) \$(LDFLAGS)/g' ${S}/Makefile + sed -i -e 's/\$(LIBSHSONAME) -o/$(LIBSHSONAME) \$(LDFLAGS) -o/g' \ + ${S}/lib/Module.mk oe_runmake user PROG_EXTRA="sensors sensord" } -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:03:15 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:03:15 +0000 Subject: [oe-commits] [meta-openembedded] 48/75: python3-requests-file: add recipe 1.4.2 In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170228.C7E2C234F1A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 044847f94af3a46b8e48760032f77b781027cf45 Author: Hongxu Jia AuthorDate: Tue Jul 18 02:09:09 2017 -0400 python3-requests-file: add recipe 1.4.2 Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- .../recipes-devtools/python/python3-requests-file_1.4.2.bb | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/meta-python/recipes-devtools/python/python3-requests-file_1.4.2.bb b/meta-python/recipes-devtools/python/python3-requests-file_1.4.2.bb new file mode 100644 index 0000000..8652876 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-requests-file_1.4.2.bb @@ -0,0 +1,14 @@ +SUMMARY = "File transport adapter for Requests" +HOMEPAGE = "http://github.com/dashea/requests-file" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=9cc728d6087e43796227b0a31422de6b" + +SRC_URI[md5sum] = "a907efb75faf0ccbb1857432bf9d8c0f" +SRC_URI[sha256sum] = "f518e7cfe048e053fd1019dfb891b4c55b871c56c5a31693d733240c80b8f191" + +inherit pypi setuptools3 + +RDEPENDS_${PN} += " \ + python3-requests \ +" + -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:03:10 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:03:10 +0000 Subject: [oe-commits] [meta-openembedded] 43/75: glade: add recipe 3.20.0 In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170228.984A4234F16@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit f9ccdeb9d82aaa1300a993824a8d7cfe4e84aad1 Author: Hongxu Jia AuthorDate: Tue Jul 18 02:09:04 2017 -0400 glade: add recipe 3.20.0 The newly added glade is the original Glade codebase, and glade3 is a complete rewrite of it. Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- .../glade/glade/remove-yelp-help-rules-var.patch | 39 ++++++++++++++++++++++ ...gnome-doc-utils.make-sysrooted-pkg-config.patch | 0 .../{files => glade3}/0002-fix-gcc-6-build.patch | 0 meta-oe/recipes-devtools/glade/glade_3.20.0.bb | 27 +++++++++++++++ 4 files changed, 66 insertions(+) diff --git a/meta-oe/recipes-devtools/glade/glade/remove-yelp-help-rules-var.patch b/meta-oe/recipes-devtools/glade/glade/remove-yelp-help-rules-var.patch new file mode 100644 index 0000000..78a8719 --- /dev/null +++ b/meta-oe/recipes-devtools/glade/glade/remove-yelp-help-rules-var.patch @@ -0,0 +1,39 @@ +From 42efc94c11d510b41d8cf3407e1c3900eb52b600 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Thu, 4 Jun 2015 16:28:02 +0800 +Subject: [PATCH] Remove unused variable (YELP_HELP_RULES) + +Upstream-Status: Pending + +Signed-off-by: Hongxu Jia +--- + help/Makefile.am | 2 -- + help/Makefile.in | 2 -- + 2 files changed, 4 deletions(-) + +diff --git a/help/Makefile.am b/help/Makefile.am +index 50c0e84..5c5d2e9 100644 +--- a/help/Makefile.am ++++ b/help/Makefile.am +@@ -1,5 +1,3 @@ +- at YELP_HELP_RULES@ +- + HELP_ID = glade + + HELP_FILES = \ +diff --git a/help/Makefile.in b/help/Makefile.in +index 6978ea5..e1c7d3b 100644 +--- a/help/Makefile.in ++++ b/help/Makefile.in +@@ -521,8 +521,6 @@ uninstall-am: + + .PRECIOUS: Makefile + +- at YELP_HELP_RULES@ +- + # Tell versions [3.59,3.63) of GNU make to not export all variables. + # Otherwise a system limit (for SysV at least) may be exceeded. + .NOEXPORT: +-- +1.9.1 + diff --git a/meta-oe/recipes-devtools/glade/files/0001-gnome-doc-utils.make-sysrooted-pkg-config.patch b/meta-oe/recipes-devtools/glade/glade3/0001-gnome-doc-utils.make-sysrooted-pkg-config.patch similarity index 100% rename from meta-oe/recipes-devtools/glade/files/0001-gnome-doc-utils.make-sysrooted-pkg-config.patch rename to meta-oe/recipes-devtools/glade/glade3/0001-gnome-doc-utils.make-sysrooted-pkg-config.patch diff --git a/meta-oe/recipes-devtools/glade/files/0002-fix-gcc-6-build.patch b/meta-oe/recipes-devtools/glade/glade3/0002-fix-gcc-6-build.patch similarity index 100% rename from meta-oe/recipes-devtools/glade/files/0002-fix-gcc-6-build.patch rename to meta-oe/recipes-devtools/glade/glade3/0002-fix-gcc-6-build.patch diff --git a/meta-oe/recipes-devtools/glade/glade_3.20.0.bb b/meta-oe/recipes-devtools/glade/glade_3.20.0.bb new file mode 100644 index 0000000..8b35a9c --- /dev/null +++ b/meta-oe/recipes-devtools/glade/glade_3.20.0.bb @@ -0,0 +1,27 @@ +SUMMARY = "Glade - A User Interface Designer" +HOMEPAGE = "http://www.gnu.org/software/gnash" +LICENSE = "GPLv2 & LGPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=aabe87591cb8ae0f3c68be6977bb5522 \ + file://COPYING.GPL;md5=9ac2e7cff1ddaf48b6eab6028f23ef88 \ + file://COPYING.LGPL;md5=252890d9eee26aab7b432e8b8a616475" +DEPENDS = "gtk+ gtk+3 glib-2.0 libxml2 intltool-native \ + gnome-common-native \ +" + + +inherit autotools pkgconfig pythonnative gnomebase gobject-introspection + +SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/glade/3.20/glade-${PV}.tar.xz \ + file://remove-yelp-help-rules-var.patch \ + " +SRC_URI[md5sum] = "9964a2da14c5f845eae363889586ca43" +SRC_URI[sha256sum] = "82d96dca5dec40ee34e2f41d49c13b4ea50da8f32a3a49ca2da802ff14dc18fe" + +EXTRA_OECONF += "--disable-man-pages" + +FILES_${PN} += "${datadir}/* ${libdir}/glade/modules/libgladegtk.so" +FILES_${PN}-dev += "${libdir}/glade/modules/libgladegtk.la" +FILES_${PN}-dbg += "${libdir}/glade/modules/.debug/libgladegtk.so" + +PYTHON_PN = "python" + -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:03:19 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:03:19 +0000 Subject: [oe-commits] [meta-openembedded] 52/75: xf86-video-nouveau: bump version to 1.0.15 In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170228.ED9FB234F1D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 7c550fd3008eb2edc443b212084ab4d744e0275b Author: Szombathelyi Gy?rgy AuthorDate: Tue Jul 18 11:36:33 2017 +0200 xf86-video-nouveau: bump version to 1.0.15 Signed-off-by: Gyorgy Szombathelyi Signed-off-by: Martin Jansa --- .../{xf86-video-nouveau_1.0.12.bb => xf86-video-nouveau_1.0.15.bb} | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.12.bb b/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.15.bb similarity index 58% rename from meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.12.bb rename to meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.15.bb index 444189a..b10ee71 100644 --- a/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.12.bb +++ b/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.15.bb @@ -12,8 +12,5 @@ RDEPENDS_${PN} += "xserver-xorg-module-exa" COMPATIBLE_HOST = '(i.86|x86_64).*-linux' -SRC_URI[md5sum] = "dc79910c7b9e32321cefc7af250c7765" -SRC_URI[sha256sum] = "0ea057ad7fc31caba2d4e46c7e418fe2b3c762b04fb8d382f53383397fd8391e" - - -PNBLACKLIST[xf86-video-nouveau] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130657/ - the recipe will be removed on 2017-09-01 unless the issue is fixed" +SRC_URI[md5sum] = "717203cb87029cddcbccf7398f9ad8c3" +SRC_URI[sha256sum] = "aede10fd395610a328697adca3434fb14e9afbd79911d6c8545cfa2c0e541d4c" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:03:20 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:03:20 +0000 Subject: [oe-commits] [meta-openembedded] 53/75: python-unidiff: adds Python3 support In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170229.019D2234F1E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 1e6c70dd042b72727e974519ff49b68820305718 Author: Daniela Plascencia AuthorDate: Tue Jul 18 03:30:54 2017 -0700 python-unidiff: adds Python3 support Extend the recipe for Python3 support. Signed-off-by: Daniela Plascencia Signed-off-by: Martin Jansa --- .../python/{python-unidiff_0.5.4.bb => python-unidiff.inc} | 2 +- meta-python/recipes-devtools/python/python-unidiff_0.5.4.bb | 11 ++--------- meta-python/recipes-devtools/python/python3-unidiff_0.5.4.bb | 2 ++ 3 files changed, 5 insertions(+), 10 deletions(-) diff --git a/meta-python/recipes-devtools/python/python-unidiff_0.5.4.bb b/meta-python/recipes-devtools/python/python-unidiff.inc similarity index 93% copy from meta-python/recipes-devtools/python/python-unidiff_0.5.4.bb copy to meta-python/recipes-devtools/python/python-unidiff.inc index ceb80bd..0402550 100644 --- a/meta-python/recipes-devtools/python/python-unidiff_0.5.4.bb +++ b/meta-python/recipes-devtools/python/python-unidiff.inc @@ -6,4 +6,4 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=4c434b08ef42fea235bb019b5e5a97b3" SRC_URI[md5sum] = "c8099edf89d2e3bac16123766625a38b" SRC_URI[sha256sum] = "a7baf71846a68c5305a7d6005dfb5eca8798f13861176355a285cbda3206824d" -inherit pypi setuptools +inherit pypi diff --git a/meta-python/recipes-devtools/python/python-unidiff_0.5.4.bb b/meta-python/recipes-devtools/python/python-unidiff_0.5.4.bb index ceb80bd..bdb3d27 100644 --- a/meta-python/recipes-devtools/python/python-unidiff_0.5.4.bb +++ b/meta-python/recipes-devtools/python/python-unidiff_0.5.4.bb @@ -1,9 +1,2 @@ -SUMMARY = "Unified diff parsing/metadata extraction library" -HOMEPAGE = "http://github.com/matiasb/python-unidiff" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=4c434b08ef42fea235bb019b5e5a97b3" - -SRC_URI[md5sum] = "c8099edf89d2e3bac16123766625a38b" -SRC_URI[sha256sum] = "a7baf71846a68c5305a7d6005dfb5eca8798f13861176355a285cbda3206824d" - -inherit pypi setuptools +require python-unidiff.inc +inherit setuptools diff --git a/meta-python/recipes-devtools/python/python3-unidiff_0.5.4.bb b/meta-python/recipes-devtools/python/python3-unidiff_0.5.4.bb new file mode 100644 index 0000000..0ddc7e2 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-unidiff_0.5.4.bb @@ -0,0 +1,2 @@ +require python-unidiff.inc +inherit setuptools3 -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:03:21 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:03:21 +0000 Subject: [oe-commits] [meta-openembedded] 54/75: sdparm: add mirror In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170229.0B924234F20@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 78f910012ee205b77b216944d370d878d6ce92f5 Author: Szombathelyi Gy?rgy AuthorDate: Wed Jul 19 10:31:50 2017 +0200 sdparm: add mirror Signed-off-by: Gyorgy Szombathelyi Signed-off-by: Martin Jansa --- meta-oe/recipes-support/sdparm/sdparm_1.10.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-oe/recipes-support/sdparm/sdparm_1.10.bb b/meta-oe/recipes-support/sdparm/sdparm_1.10.bb index 8ab2819..3299a77 100644 --- a/meta-oe/recipes-support/sdparm/sdparm_1.10.bb +++ b/meta-oe/recipes-support/sdparm/sdparm_1.10.bb @@ -10,6 +10,7 @@ DEPENDS="sg3-utils" SRC_URI = "http://sg.danny.cz/sg/p/${BPN}-${PV}.tgz \ file://make-sysroot-work.patch \ " +MIRRORS += "http://sg.danny.cz/sg/p https://fossies.org/linux/misc" PACKAGES =+ "${PN}-scripts" RDEPENDS_${PN}-scripts += "bash ${PN}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:03:16 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:03:16 +0000 Subject: [oe-commits] [meta-openembedded] 49/75: python3-requests-ftp: add recipe 0.3.1 In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170228.D10E8234F1C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 6220deb3bf0daf00b16adf44f1311c77f91c9602 Author: Hongxu Jia AuthorDate: Tue Jul 18 02:09:10 2017 -0400 python3-requests-ftp: add recipe 0.3.1 Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- .../recipes-devtools/python/python3-requests-ftp_0.3.1.bb | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/meta-python/recipes-devtools/python/python3-requests-ftp_0.3.1.bb b/meta-python/recipes-devtools/python/python3-requests-ftp_0.3.1.bb new file mode 100644 index 0000000..3f99ed6 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-requests-ftp_0.3.1.bb @@ -0,0 +1,14 @@ +SUMMARY = "FTP Transport Adapter for Requests" +HOMEPAGE = "http://github.com/Lukasa/requests-ftp" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=6683a23c9968b97709441dc884d46df6" + +SRC_URI[md5sum] = "1a52ad1219e696b5abd5449d1ccc0294" +SRC_URI[sha256sum] = "7504ceb5cba8a5c0135ed738596820a78c5f2be92d79b29f96ba99b183d8057a" + +inherit pypi setuptools3 + +RDEPENDS_${PN} += " \ + python3-requests \ +" + -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:03:17 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:03:17 +0000 Subject: [oe-commits] [meta-openembedded] 50/75: python3-pid: add recipe 2.1.1 In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170228.D92F3234F0D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit e81db0521ad7270846c1d0507caa4e4c0071e517 Author: Hongxu Jia AuthorDate: Tue Jul 18 02:09:11 2017 -0400 python3-pid: add recipe 2.1.1 Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- .../0001-remove-requirement-of-nose.patch | 29 ++++++++++++++++++++++ .../recipes-devtools/python/python3-pid_2.1.1.bb | 14 +++++++++++ 2 files changed, 43 insertions(+) diff --git a/meta-python/recipes-devtools/python/python3-pid/0001-remove-requirement-of-nose.patch b/meta-python/recipes-devtools/python/python3-pid/0001-remove-requirement-of-nose.patch new file mode 100644 index 0000000..3beef07 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-pid/0001-remove-requirement-of-nose.patch @@ -0,0 +1,29 @@ +From 04d04a8fa1ef3d8dbdaebbaac9ae936e1c8234c1 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Wed, 28 Jun 2017 21:17:43 -0400 +Subject: [PATCH] remove requirement of nose + +The nose extends unittest to make testing easier. +Do not need the test suite, so remove requirement of nose. + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Hongxu Jia +--- + setup.py | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/setup.py b/setup.py +index 3f7c7cb..c42a546 100644 +--- a/setup.py ++++ b/setup.py +@@ -53,6 +53,4 @@ setup( + keywords='pid pidfile context manager decorator', + packages=["pid"], + install_requires=[], +- test_suite='nose.collector', +- setup_requires=['nose>=1.0'], + ) +-- +2.8.1 + diff --git a/meta-python/recipes-devtools/python/python3-pid_2.1.1.bb b/meta-python/recipes-devtools/python/python3-pid_2.1.1.bb new file mode 100644 index 0000000..c88d9a0 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-pid_2.1.1.bb @@ -0,0 +1,14 @@ +SUMMARY = "Pidfile featuring stale detection and file-locking, can also \ +be used as context-manager or decorator" +HOMEPAGE = "https://github.com/trbs/pid/" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=83d53cbd3105063f20305bc313464e29" + +SRC_URI[md5sum] = "9634b1e3d545544a9d496e25e4530d14" +SRC_URI[sha256sum] = "b443169d3dc21397695b4a82016fadb4cfdb0ed8b2ddb4aaa428e1701bb34e1f" + +inherit pypi setuptools3 + +SRC_URI += " \ + file://0001-remove-requirement-of-nose.patch \ +" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:03:23 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:03:23 +0000 Subject: [oe-commits] [meta-openembedded] 56/75: python-chardet.inc: update build dependency In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170229.184AB234F10@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 4ae770745d472caad26a0ea4ba8ae785101069c3 Author: Maxin B. John AuthorDate: Wed Jul 19 17:32:34 2017 +0200 python-chardet.inc: update build dependency Update chardet's build dependency on pytest-runner-native Signed-off-by: Maxin B. John Signed-off-by: Pascal Bach Signed-off-by: Martin Jansa --- meta-python/recipes-devtools/python/python-chardet.inc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/meta-python/recipes-devtools/python/python-chardet.inc b/meta-python/recipes-devtools/python/python-chardet.inc index c5da1e1..25443f8 100644 --- a/meta-python/recipes-devtools/python/python-chardet.inc +++ b/meta-python/recipes-devtools/python/python-chardet.inc @@ -4,5 +4,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=a6f89e2100d9b6cdffcea4f398e37343" inherit pypi +# setup.py of chardet needs this. +DEPENDS += "${PYTHON_PN}-pytest-runner-native" + SRC_URI[md5sum] = "7dd1ba7f9c77e32351b0a0cfacf4055c" SRC_URI[sha256sum] = "84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:03:08 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:03:08 +0000 Subject: [oe-commits] [meta-openembedded] 41/75: open-vm-tools: Fix build with musl In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170228.88ACB234F11@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 94670cce6b0aa7c9aa59715b967d2bc28bc122a5 Author: Khem Raj AuthorDate: Mon Jul 17 20:10:11 2017 -0700 open-vm-tools: Fix build with musl Use SPDX format for LICENSES Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...mptions-about-glibc-being-only-libc-imple.patch | 45 ++ ...ude-poll.h-instead-of-obsolete-sys-poll.h.patch | 24 + .../0003-Rename-poll.h-to-vm_poll.h.patch | 756 +++++++++++++++++++++ ...ompatible-pointer-types-and-Wno-error-add.patch | 31 + ...05-Use-configure-test-for-struct-timespec.patch | 45 ++ ...ix-definition-of-ALLPERMS-and-ACCESSPERMS.patch | 58 ++ ...re-to-test-for-feature-instead-of-platfor.patch | 144 ++++ .../0008-use-posix-strerror_r-unless-gnu.patch | 30 + ...support-for-building-with-system-libtirpc.patch | 342 ++++++++++ .../open-vm-tools/0010-gnu-ucontext.patch | 65 ++ ...Use-configure-test-for-sys-stat.h-include.patch | 25 + .../open-vm-tools/open-vm-tools_10.1.5.bb | 25 +- 12 files changed, 1584 insertions(+), 6 deletions(-) diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-Remove-assumptions-about-glibc-being-only-libc-imple.patch b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-Remove-assumptions-about-glibc-being-only-libc-imple.patch new file mode 100644 index 0000000..9773b4a --- /dev/null +++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-Remove-assumptions-about-glibc-being-only-libc-imple.patch @@ -0,0 +1,45 @@ +From a0983d84185f04c4e40778fe951fde4439894882 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 16 Jul 2017 07:37:03 -0700 +Subject: [PATCH 01/11] Remove assumptions about glibc being only libc + implementation on linux + +Signed-off-by: Khem Raj +--- + open-vm-tools/lib/file/fileIOPosix.c | 2 +- + open-vm-tools/lib/include/vm_basic_defs.h | 2 ++ + 2 files changed, 3 insertions(+), 1 deletion(-) + +Index: open-vm-tools/lib/file/fileIOPosix.c +=================================================================== +--- open-vm-tools.orig/lib/file/fileIOPosix.c ++++ open-vm-tools/lib/file/fileIOPosix.c +@@ -205,7 +205,7 @@ static AlignedPool alignedPool; + * are not available in any header file. + */ + +-#if defined(__linux__) && !defined(__ANDROID__) ++#if defined(__linux__) && defined(__GLIBC__) + #if defined(_FILE_OFFSET_BITS) && (_FILE_OFFSET_BITS == 64) + /* + * We want preadv/pwritev. But due to FOB=64, the symbols are -64. +Index: open-vm-tools/lib/include/vm_basic_defs.h +=================================================================== +--- open-vm-tools.orig/lib/include/vm_basic_defs.h ++++ open-vm-tools/lib/include/vm_basic_defs.h +@@ -571,6 +571,7 @@ typedef int pid_t; + #if defined __linux__ && !defined __KERNEL__ && !defined MODULE && \ + !defined VMM && !defined FROBOS && !defined __ANDROID__ + #include ++#if __GLIBC__ + #if __GLIBC_PREREQ(2, 1) && !defined GLIBC_VERSION_21 + #define GLIBC_VERSION_21 + #endif +@@ -590,6 +591,7 @@ typedef int pid_t; + #define GLIBC_VERSION_212 + #endif + #endif ++#endif + + /* + * Convenience definitions of unicode characters. diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-include-poll.h-instead-of-obsolete-sys-poll.h.patch b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-include-poll.h-instead-of-obsolete-sys-poll.h.patch new file mode 100644 index 0000000..d26bf2d --- /dev/null +++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-include-poll.h-instead-of-obsolete-sys-poll.h.patch @@ -0,0 +1,24 @@ +From d44c7c9de7380ad7b284231bd5b5c99b5c19758d Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 16 Jul 2017 07:37:59 -0700 +Subject: [PATCH 02/11] include poll.h instead of obsolete sys/poll.h + +Signed-off-by: Khem Raj +--- + open-vm-tools/lib/asyncsocket/asyncSocketInt.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: open-vm-tools/lib/asyncsocket/asyncSocketInt.h +=================================================================== +--- open-vm-tools.orig/lib/asyncsocket/asyncSocketInt.h ++++ open-vm-tools/lib/asyncsocket/asyncSocketInt.h +@@ -71,8 +71,8 @@ + #else + #include + #include ++#include + #include +-#include + #include + #include + #include diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0003-Rename-poll.h-to-vm_poll.h.patch b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0003-Rename-poll.h-to-vm_poll.h.patch new file mode 100644 index 0000000..8641778 --- /dev/null +++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0003-Rename-poll.h-to-vm_poll.h.patch @@ -0,0 +1,756 @@ +From 687fca20b3417ac885b6961e6fe1126d4a3fe7a4 Mon Sep 17 00:00:00 2001 +From: Natanael Copa +Date: Tue, 17 Nov 2015 10:57:31 +0000 +Subject: [PATCH 03/11] Rename poll.h to vm_poll.h + +musl libc's system headers pulls in open-vm-tools' poll.h. To avoid this +we rename poll.h to vm_poll.h. + +Signed-off-by: Natanael Copa +--- + open-vm-tools/lib/asyncsocket/asyncsocket.c | 2 +- + open-vm-tools/lib/hgfsServer/hgfsServer.c | 2 +- + open-vm-tools/lib/include/asyncsocket.h | 2 +- + open-vm-tools/lib/include/pollImpl.h | 2 +- + open-vm-tools/lib/include/{poll.h => vm_poll.h} | 0 + open-vm-tools/lib/rpcIn/rpcin.c | 2 +- + open-vm-tools/services/plugins/grabbitmqProxy/grabbitmqProxyPlugin.c | 2 +- + 7 files changed, 6 insertions(+), 6 deletions(-) + rename open-vm-tools/lib/include/{poll.h => vm_poll.h} (100%) + +Index: open-vm-tools/lib/asyncsocket/asyncsocket.c +=================================================================== +--- open-vm-tools.orig/lib/asyncsocket/asyncsocket.c ++++ open-vm-tools/lib/asyncsocket/asyncsocket.c +@@ -52,7 +52,7 @@ + #include "vmware.h" + #include "asyncsocket.h" + #include "asyncSocketInt.h" +-#include "poll.h" ++#include "vm_poll.h" + #include "log.h" + #include "err.h" + #include "hostinfo.h" +Index: open-vm-tools/lib/hgfsServer/hgfsServer.c +=================================================================== +--- open-vm-tools.orig/lib/hgfsServer/hgfsServer.c ++++ open-vm-tools/lib/hgfsServer/hgfsServer.c +@@ -48,7 +48,7 @@ + #include "hgfsServerOplock.h" + #include "hgfsDirNotify.h" + #include "userlock.h" +-#include "poll.h" ++#include "vm_poll.h" + #include "mutexRankLib.h" + #include "vm_basic_asm.h" + #include "unicodeOperations.h" +Index: open-vm-tools/lib/include/asyncsocket.h +=================================================================== +--- open-vm-tools.orig/lib/include/asyncsocket.h ++++ open-vm-tools/lib/include/asyncsocket.h +@@ -129,7 +129,7 @@ typedef struct AsyncSocket AsyncSocket; + * Or the client can specify its favorite poll class and locking behavior. + * Use of IVmdbPoll is only supported for regular sockets and for Attach. + */ +-#include "poll.h" ++#include "vm_poll.h" + struct IVmdbPoll; + typedef struct AsyncSocketPollParams { + int flags; /* Default 0, only POLL_FLAG_NO_BULL is valid */ +Index: open-vm-tools/lib/include/poll.h +=================================================================== +--- open-vm-tools.orig/lib/include/poll.h ++++ /dev/null +@@ -1,324 +0,0 @@ +-/********************************************************* +- * Copyright (C) 1998-2016 VMware, Inc. All rights reserved. +- * +- * This program is free software; you can redistribute it and/or modify it +- * under the terms of the GNU Lesser General Public License as published +- * by the Free Software Foundation version 2.1 and no later version. +- * +- * This program is distributed in the hope that it will be useful, but +- * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +- * or FITNESS FOR A PARTICULAR PURPOSE. See the Lesser GNU General Public +- * License for more details. +- * +- * You should have received a copy of the GNU Lesser General Public License +- * along with this program; if not, write to the Free Software Foundation, Inc., +- * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +- * +- *********************************************************/ +- +-/********************************************************* +- * The contents of this file are subject to the terms of the Common +- * Development and Distribution License (the "License") version 1.0 +- * and no later version. You may not use this file except in +- * compliance with the License. +- * +- * You can obtain a copy of the License at +- * http://www.opensource.org/licenses/cddl1.php +- * +- * See the License for the specific language governing permissions +- * and limitations under the License. +- * +- *********************************************************/ +- +- +-#ifndef _POLL_H_ +-#define _POLL_H_ +- +-#define INCLUDE_ALLOW_USERLEVEL +-#define INCLUDE_ALLOW_VMCORE +-#include "includeCheck.h" +- +-#include "vm_basic_types.h" +-#include "vm_basic_defs.h" +-#include "vmware.h" +-#include "userlock.h" +- +-#ifdef _WIN32 +-#define HZ 100 +-#elif defined linux +-#include +-#elif __APPLE__ +-#include +-/* +- * Old SDKs don't define TARGET_OS_IPHONE at all. +- * New ones define it to 0 on Mac OS X, 1 on iOS. +- */ +-#if !defined(TARGET_OS_IPHONE) || TARGET_OS_IPHONE == 0 +-#include +-#endif +-#include +-#define HZ 100 +-#endif +-#ifdef __ANDROID__ +-/* +- * of android should be included, but its name is same +- * with this file. So its content is put here to avoid conflict. +- */ +-#include +-#define HZ 100 +-typedef unsigned int nfds_t; +-int poll(struct pollfd *, nfds_t, long); +-#endif +- +- +-/* +- * Poll event types: each type has a different reason for firing, +- * or condition that must be met before firing. +- */ +- +-typedef enum { +- /* +- * Actual Poll queue types against which you can register callbacks. +- */ +- POLL_VIRTUALREALTIME = -1, /* Negative because it doesn't have its own Q */ +- POLL_VTIME = 0, +- POLL_REALTIME, +- POLL_DEVICE, +- POLL_MAIN_LOOP, +- POLL_NUM_QUEUES +-} PollEventType; +- +- +-/* +- * Classes of events +- * +- * These are the predefined classes. More can be declared +- * with Poll_AllocClass(). +- */ +- +-typedef enum PollClass { +- POLL_CLASS_MAIN, +- POLL_CLASS_PAUSE, +- POLL_CLASS_IPC, +- POLL_CLASS_CPT, +- POLL_CLASS_MKS, +- POLL_FIXED_CLASSES, +- POLL_MAX_CLASSES = 320 /* Size enum to maximum */ +-} PollClass; +- +- +-/* +- * Each callback is registered in a set of classes +- */ +- +-typedef struct PollClassSet { +- /* Type is uintptr_t to give best 32/64-bit code. */ +-#define _POLL_ELEMSIZE (sizeof (uintptr_t) * 8) +- uintptr_t bits[CEILING(POLL_MAX_CLASSES, _POLL_ELEMSIZE)]; +-} PollClassSet; +- +-/* An empty PollClassSet. */ +-static INLINE PollClassSet +-PollClassSet_Empty(void) +-{ +- PollClassSet set = { { 0 } }; +- return set; +-} +- +-/* A PollClassSet with the single member. */ +-static INLINE PollClassSet +-PollClassSet_Singleton(PollClass c) +-{ +- PollClassSet s = PollClassSet_Empty(); +- +- ASSERT_ON_COMPILE(sizeof s.bits[0] * 8 == _POLL_ELEMSIZE); /* Size correct */ +- ASSERT_ON_COMPILE((_POLL_ELEMSIZE & (_POLL_ELEMSIZE - 1)) == 0); /* power of 2 */ +- ASSERT_ON_COMPILE(POLL_MAX_CLASSES <= ARRAYSIZE(s.bits) * _POLL_ELEMSIZE); +- ASSERT(c < POLL_MAX_CLASSES); +- +- s.bits[c / _POLL_ELEMSIZE] = CONST3264U(1) << (c % _POLL_ELEMSIZE); +- return s; +-} +- +-/* Combine two PollClassSets. */ +-static INLINE PollClassSet +-PollClassSet_Union(PollClassSet lhs, PollClassSet rhs) +-{ +- PollClassSet u; +- unsigned i; +- +- for (i = 0; i < ARRAYSIZE(u.bits); i++) { +- u.bits[i] = lhs.bits[i] | rhs.bits[i]; +- } +- return u; +-} +- +-/* Add single class to PollClassSet. */ +-static INLINE PollClassSet +-PollClassSet_Include(PollClassSet set, PollClass c) +-{ +- return PollClassSet_Union(set, PollClassSet_Singleton(c)); +-} +- +- +-#define POLL_CS_MAIN PollClassSet_Singleton(POLL_CLASS_MAIN) +-#define POLL_CS_PAUSE PollClassSet_Union(POLL_CS_MAIN, \ +- PollClassSet_Singleton(POLL_CLASS_PAUSE)) +-#define POLL_CS_CPT PollClassSet_Union(POLL_CS_PAUSE, \ +- PollClassSet_Singleton(POLL_CLASS_CPT)) +-#define POLL_CS_IPC PollClassSet_Union(POLL_CS_CPT, \ +- PollClassSet_Singleton(POLL_CLASS_IPC)) +-#define POLL_CS_VMDB POLL_CS_PAUSE /* POLL_CLASS_VMDB is retired */ +-#define POLL_CS_MKS PollClassSet_Singleton(POLL_CLASS_MKS) +-/* +- * DANGER. You don't need POLL_CS_ALWAYS. Really. So don't use it. +- */ +-#define POLL_CS_ALWAYS PollClassSet_Union(POLL_CS_CPT, POLL_CS_IPC) +- +-/* +- * Poll class-set taxonomy: +- * POLL_CS_MAIN +- * - Unless you NEED another class, use POLL_CS_MAIN. +- * POLL_CS_PAUSE +- * - For callbacks that must occur even if the guest is paused. +- * Most VMDB or Foundry commands are in this category. +- * POLL_CS_CPT +- * - Only for callbacks which can trigger intermediate Checkpoint +- * transitions. +- * The ONLY such callback is Migrate. +- * POLL_CS_IPC +- * - Only for callbacks which can contain Msg_(Post|Hint|Question) +- * responses, and for signal handlers (why)? +- * Vigor, VMDB, and Foundry can contain Msg_* responses. +- * POLL_CS_MKS +- * - Callback runs in MKS thread. +- * POLL_CS_ALWAYS +- * - Only for events that must be processed immediately. +- * The ONLY such callback is OvhdMemVmxSizeCheck. +- */ +- +- +-/* +- * Poll_Callback flags +- */ +- +-#define POLL_FLAG_PERIODIC 0x01 // keep after firing +-#define POLL_FLAG_REMOVE_AT_POWEROFF 0x02 // self-explanatory +-#define POLL_FLAG_READ 0x04 // device is ready for reading +-#define POLL_FLAG_WRITE 0x08 // device is ready for writing +-#define POLL_FLAG_SOCKET 0x10 // device is a Windows socket +-#define POLL_FLAG_NO_BULL 0x20 // callback does its own locking +-#define POLL_FLAG_WINSOCK 0x40 // Winsock style write events +-#define POLL_FLAG_FD 0x80 // device is a Windows file descriptor. +-#define POLL_FLAG_ACCEPT_INVALID_FDS 0x100 // For broken 3rd party libs, e.g. curl +-#define POLL_FLAG_THUNK_TO_WND 0x200 // thunk callback to window message loop +- +- +-/* +- * Advisory minimum time period. +- * Users that want the fastest running real-time poll +- * should use TICKS_TO_USECS(1). +- */ +- +-#define TICKS_TO_USECS(_x) ((_x) * (1000000 / HZ)) +-#define USECS_TO_TICKS(_x) ((_x) / (1000000 / HZ)) +- +- +-typedef void (*PollerFunction)(void *clientData); +-typedef void (*PollerFireWrapper)(PollerFunction func, +- void *funcData, +- void *wrapperData); +-typedef Bool (*PollerErrorFn)(const char *errorStr); +- +-/* +- * Initialisers: +- * +- * For the sake of convenience, we declare the initialisers +- * for custom implmentations here, even though the actual +- * implementations are distinct from the core poll code. +- */ +- +-typedef struct PollOptions { +- Bool locked; // Use internal MXUser for locking +- Bool allowFullQueue; // Don't assert when device event queue is full. +- VThreadID windowsMsgThread; // thread that processes Windows messages +- PollerFireWrapper fireWrapperFn; // optional; may be useful for stats +- void *fireWrapperData; // optional +- PollerErrorFn errorFn; // optional; called upon unrecoverable error +-} PollOptions; +- +- +-void Poll_InitDefault(void); +-void Poll_InitDefaultEx(const PollOptions *opts); +-void Poll_InitGtk(void); // On top of glib for Linux +-void Poll_InitCF(void); // On top of CoreFoundation for OSX +- +- +-/* +- * Functions +- */ +-int Poll_SocketPair(Bool vmci, Bool stream, int fds[2]); +-void Poll_Loop(Bool loop, Bool *exit, PollClass c); +-void Poll_LoopTimeout(Bool loop, Bool *exit, PollClass c, int timeout); +-Bool Poll_LockingEnabled(void); +-void Poll_Exit(void); +- +- +-/* +- * Poll_Callback adds a callback regardless of whether an identical one exists. +- * +- * Likewise, Poll_CallbackRemove removes exactly one callback. +- */ +- +-VMwareStatus Poll_Callback(PollClassSet classSet, +- int flags, +- PollerFunction f, +- void *clientData, +- PollEventType type, +- PollDevHandle info, // fd/microsec delay +- MXUserRecLock *lck); +-Bool Poll_CallbackRemove(PollClassSet classSet, +- int flags, +- PollerFunction f, +- void *clientData, +- PollEventType type); +-Bool Poll_CallbackRemoveOneByCB(PollClassSet classSet, +- int flags, +- PollerFunction f, +- PollEventType type, +- void **clientData); +- +-void Poll_NotifyChange(PollClassSet classSet); +- +-/* +- * Wrappers for Poll_Callback and Poll_CallbackRemove that present +- * simpler subsets of those interfaces. +- */ +- +-VMwareStatus Poll_CB_Device(PollerFunction f, +- void *clientData, +- PollDevHandle device, +- Bool periodic); +- +-Bool Poll_CB_DeviceRemove(PollerFunction f, +- void *clientData, +- Bool periodic); +- +- +-VMwareStatus Poll_CB_RTime(PollerFunction f, +- void *clientData, +- int delay, // microseconds +- Bool periodic, +- MXUserRecLock *lock); +- +-Bool Poll_CB_RTimeRemove(PollerFunction f, +- void *clientData, +- Bool periodic); +- +- +-#ifdef _WIN32 +-void Poll_SetWindowMessageRecipient(HWND hWnd, UINT msg, Bool alwaysThunk); +-Bool Poll_FireWndCallback(void *lparam); +-#endif +- +-#endif // _POLL_H_ +Index: open-vm-tools/lib/include/pollImpl.h +=================================================================== +--- open-vm-tools.orig/lib/include/pollImpl.h ++++ open-vm-tools/lib/include/pollImpl.h +@@ -44,7 +44,7 @@ + #define INCLUDE_ALLOW_USERLEVEL + #include "includeCheck.h" + +-#include "poll.h" ++#include "vm_poll.h" + + /* + * PollImpl: +Index: open-vm-tools/lib/include/vm_poll.h +=================================================================== +--- /dev/null ++++ open-vm-tools/lib/include/vm_poll.h +@@ -0,0 +1,324 @@ ++/********************************************************* ++ * Copyright (C) 1998-2016 VMware, Inc. All rights reserved. ++ * ++ * This program is free software; you can redistribute it and/or modify it ++ * under the terms of the GNU Lesser General Public License as published ++ * by the Free Software Foundation version 2.1 and no later version. ++ * ++ * This program is distributed in the hope that it will be useful, but ++ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY ++ * or FITNESS FOR A PARTICULAR PURPOSE. See the Lesser GNU General Public ++ * License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General Public License ++ * along with this program; if not, write to the Free Software Foundation, Inc., ++ * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. ++ * ++ *********************************************************/ ++ ++/********************************************************* ++ * The contents of this file are subject to the terms of the Common ++ * Development and Distribution License (the "License") version 1.0 ++ * and no later version. You may not use this file except in ++ * compliance with the License. ++ * ++ * You can obtain a copy of the License at ++ * http://www.opensource.org/licenses/cddl1.php ++ * ++ * See the License for the specific language governing permissions ++ * and limitations under the License. ++ * ++ *********************************************************/ ++ ++ ++#ifndef _POLL_H_ ++#define _POLL_H_ ++ ++#define INCLUDE_ALLOW_USERLEVEL ++#define INCLUDE_ALLOW_VMCORE ++#include "includeCheck.h" ++ ++#include "vm_basic_types.h" ++#include "vm_basic_defs.h" ++#include "vmware.h" ++#include "userlock.h" ++ ++#ifdef _WIN32 ++#define HZ 100 ++#elif defined linux ++#include ++#elif __APPLE__ ++#include ++/* ++ * Old SDKs don't define TARGET_OS_IPHONE at all. ++ * New ones define it to 0 on Mac OS X, 1 on iOS. ++ */ ++#if !defined(TARGET_OS_IPHONE) || TARGET_OS_IPHONE == 0 ++#include ++#endif ++#include ++#define HZ 100 ++#endif ++#ifdef __ANDROID__ ++/* ++ * of android should be included, but its name is same ++ * with this file. So its content is put here to avoid conflict. ++ */ ++#include ++#define HZ 100 ++typedef unsigned int nfds_t; ++int poll(struct pollfd *, nfds_t, long); ++#endif ++ ++ ++/* ++ * Poll event types: each type has a different reason for firing, ++ * or condition that must be met before firing. ++ */ ++ ++typedef enum { ++ /* ++ * Actual Poll queue types against which you can register callbacks. ++ */ ++ POLL_VIRTUALREALTIME = -1, /* Negative because it doesn't have its own Q */ ++ POLL_VTIME = 0, ++ POLL_REALTIME, ++ POLL_DEVICE, ++ POLL_MAIN_LOOP, ++ POLL_NUM_QUEUES ++} PollEventType; ++ ++ ++/* ++ * Classes of events ++ * ++ * These are the predefined classes. More can be declared ++ * with Poll_AllocClass(). ++ */ ++ ++typedef enum PollClass { ++ POLL_CLASS_MAIN, ++ POLL_CLASS_PAUSE, ++ POLL_CLASS_IPC, ++ POLL_CLASS_CPT, ++ POLL_CLASS_MKS, ++ POLL_FIXED_CLASSES, ++ POLL_MAX_CLASSES = 320 /* Size enum to maximum */ ++} PollClass; ++ ++ ++/* ++ * Each callback is registered in a set of classes ++ */ ++ ++typedef struct PollClassSet { ++ /* Type is uintptr_t to give best 32/64-bit code. */ ++#define _POLL_ELEMSIZE (sizeof (uintptr_t) * 8) ++ uintptr_t bits[CEILING(POLL_MAX_CLASSES, _POLL_ELEMSIZE)]; ++} PollClassSet; ++ ++/* An empty PollClassSet. */ ++static INLINE PollClassSet ++PollClassSet_Empty(void) ++{ ++ PollClassSet set = { { 0 } }; ++ return set; ++} ++ ++/* A PollClassSet with the single member. */ ++static INLINE PollClassSet ++PollClassSet_Singleton(PollClass c) ++{ ++ PollClassSet s = PollClassSet_Empty(); ++ ++ ASSERT_ON_COMPILE(sizeof s.bits[0] * 8 == _POLL_ELEMSIZE); /* Size correct */ ++ ASSERT_ON_COMPILE((_POLL_ELEMSIZE & (_POLL_ELEMSIZE - 1)) == 0); /* power of 2 */ ++ ASSERT_ON_COMPILE(POLL_MAX_CLASSES <= ARRAYSIZE(s.bits) * _POLL_ELEMSIZE); ++ ASSERT(c < POLL_MAX_CLASSES); ++ ++ s.bits[c / _POLL_ELEMSIZE] = CONST3264U(1) << (c % _POLL_ELEMSIZE); ++ return s; ++} ++ ++/* Combine two PollClassSets. */ ++static INLINE PollClassSet ++PollClassSet_Union(PollClassSet lhs, PollClassSet rhs) ++{ ++ PollClassSet u; ++ unsigned i; ++ ++ for (i = 0; i < ARRAYSIZE(u.bits); i++) { ++ u.bits[i] = lhs.bits[i] | rhs.bits[i]; ++ } ++ return u; ++} ++ ++/* Add single class to PollClassSet. */ ++static INLINE PollClassSet ++PollClassSet_Include(PollClassSet set, PollClass c) ++{ ++ return PollClassSet_Union(set, PollClassSet_Singleton(c)); ++} ++ ++ ++#define POLL_CS_MAIN PollClassSet_Singleton(POLL_CLASS_MAIN) ++#define POLL_CS_PAUSE PollClassSet_Union(POLL_CS_MAIN, \ ++ PollClassSet_Singleton(POLL_CLASS_PAUSE)) ++#define POLL_CS_CPT PollClassSet_Union(POLL_CS_PAUSE, \ ++ PollClassSet_Singleton(POLL_CLASS_CPT)) ++#define POLL_CS_IPC PollClassSet_Union(POLL_CS_CPT, \ ++ PollClassSet_Singleton(POLL_CLASS_IPC)) ++#define POLL_CS_VMDB POLL_CS_PAUSE /* POLL_CLASS_VMDB is retired */ ++#define POLL_CS_MKS PollClassSet_Singleton(POLL_CLASS_MKS) ++/* ++ * DANGER. You don't need POLL_CS_ALWAYS. Really. So don't use it. ++ */ ++#define POLL_CS_ALWAYS PollClassSet_Union(POLL_CS_CPT, POLL_CS_IPC) ++ ++/* ++ * Poll class-set taxonomy: ++ * POLL_CS_MAIN ++ * - Unless you NEED another class, use POLL_CS_MAIN. ++ * POLL_CS_PAUSE ++ * - For callbacks that must occur even if the guest is paused. ++ * Most VMDB or Foundry commands are in this category. ++ * POLL_CS_CPT ++ * - Only for callbacks which can trigger intermediate Checkpoint ++ * transitions. ++ * The ONLY such callback is Migrate. ++ * POLL_CS_IPC ++ * - Only for callbacks which can contain Msg_(Post|Hint|Question) ++ * responses, and for signal handlers (why)? ++ * Vigor, VMDB, and Foundry can contain Msg_* responses. ++ * POLL_CS_MKS ++ * - Callback runs in MKS thread. ++ * POLL_CS_ALWAYS ++ * - Only for events that must be processed immediately. ++ * The ONLY such callback is OvhdMemVmxSizeCheck. ++ */ ++ ++ ++/* ++ * Poll_Callback flags ++ */ ++ ++#define POLL_FLAG_PERIODIC 0x01 // keep after firing ++#define POLL_FLAG_REMOVE_AT_POWEROFF 0x02 // self-explanatory ++#define POLL_FLAG_READ 0x04 // device is ready for reading ++#define POLL_FLAG_WRITE 0x08 // device is ready for writing ++#define POLL_FLAG_SOCKET 0x10 // device is a Windows socket ++#define POLL_FLAG_NO_BULL 0x20 // callback does its own locking ++#define POLL_FLAG_WINSOCK 0x40 // Winsock style write events ++#define POLL_FLAG_FD 0x80 // device is a Windows file descriptor. ++#define POLL_FLAG_ACCEPT_INVALID_FDS 0x100 // For broken 3rd party libs, e.g. curl ++#define POLL_FLAG_THUNK_TO_WND 0x200 // thunk callback to window message loop ++ ++ ++/* ++ * Advisory minimum time period. ++ * Users that want the fastest running real-time poll ++ * should use TICKS_TO_USECS(1). ++ */ ++ ++#define TICKS_TO_USECS(_x) ((_x) * (1000000 / HZ)) ++#define USECS_TO_TICKS(_x) ((_x) / (1000000 / HZ)) ++ ++ ++typedef void (*PollerFunction)(void *clientData); ++typedef void (*PollerFireWrapper)(PollerFunction func, ++ void *funcData, ++ void *wrapperData); ++typedef Bool (*PollerErrorFn)(const char *errorStr); ++ ++/* ++ * Initialisers: ++ * ++ * For the sake of convenience, we declare the initialisers ++ * for custom implmentations here, even though the actual ++ * implementations are distinct from the core poll code. ++ */ ++ ++typedef struct PollOptions { ++ Bool locked; // Use internal MXUser for locking ++ Bool allowFullQueue; // Don't assert when device event queue is full. ++ VThreadID windowsMsgThread; // thread that processes Windows messages ++ PollerFireWrapper fireWrapperFn; // optional; may be useful for stats ++ void *fireWrapperData; // optional ++ PollerErrorFn errorFn; // optional; called upon unrecoverable error ++} PollOptions; ++ ++ ++void Poll_InitDefault(void); ++void Poll_InitDefaultEx(const PollOptions *opts); ++void Poll_InitGtk(void); // On top of glib for Linux ++void Poll_InitCF(void); // On top of CoreFoundation for OSX ++ ++ ++/* ++ * Functions ++ */ ++int Poll_SocketPair(Bool vmci, Bool stream, int fds[2]); ++void Poll_Loop(Bool loop, Bool *exit, PollClass c); ++void Poll_LoopTimeout(Bool loop, Bool *exit, PollClass c, int timeout); ++Bool Poll_LockingEnabled(void); ++void Poll_Exit(void); ++ ++ ++/* ++ * Poll_Callback adds a callback regardless of whether an identical one exists. ++ * ++ * Likewise, Poll_CallbackRemove removes exactly one callback. ++ */ ++ ++VMwareStatus Poll_Callback(PollClassSet classSet, ++ int flags, ++ PollerFunction f, ++ void *clientData, ++ PollEventType type, ++ PollDevHandle info, // fd/microsec delay ++ MXUserRecLock *lck); ++Bool Poll_CallbackRemove(PollClassSet classSet, ++ int flags, ++ PollerFunction f, ++ void *clientData, ++ PollEventType type); ++Bool Poll_CallbackRemoveOneByCB(PollClassSet classSet, ++ int flags, ++ PollerFunction f, ++ PollEventType type, ++ void **clientData); ++ ++void Poll_NotifyChange(PollClassSet classSet); ++ ++/* ++ * Wrappers for Poll_Callback and Poll_CallbackRemove that present ++ * simpler subsets of those interfaces. ++ */ ++ ++VMwareStatus Poll_CB_Device(PollerFunction f, ++ void *clientData, ++ PollDevHandle device, ++ Bool periodic); ++ ++Bool Poll_CB_DeviceRemove(PollerFunction f, ++ void *clientData, ++ Bool periodic); ++ ++ ++VMwareStatus Poll_CB_RTime(PollerFunction f, ++ void *clientData, ++ int delay, // microseconds ++ Bool periodic, ++ MXUserRecLock *lock); ++ ++Bool Poll_CB_RTimeRemove(PollerFunction f, ++ void *clientData, ++ Bool periodic); ++ ++ ++#ifdef _WIN32 ++void Poll_SetWindowMessageRecipient(HWND hWnd, UINT msg, Bool alwaysThunk); ++Bool Poll_FireWndCallback(void *lparam); ++#endif ++ ++#endif // _POLL_H_ +Index: open-vm-tools/lib/rpcIn/rpcin.c +=================================================================== +--- open-vm-tools.orig/lib/rpcIn/rpcin.c ++++ open-vm-tools/lib/rpcIn/rpcin.c +@@ -57,7 +57,7 @@ + + #if defined(VMTOOLS_USE_VSOCKET) + # include +-# include "poll.h" ++# include "vm_poll.h" + # include "asyncsocket.h" + # include "vmci_defs.h" + #include "dataMap.h" +Index: open-vm-tools/services/plugins/grabbitmqProxy/grabbitmqProxyPlugin.c +=================================================================== +--- open-vm-tools.orig/services/plugins/grabbitmqProxy/grabbitmqProxyPlugin.c ++++ open-vm-tools/services/plugins/grabbitmqProxy/grabbitmqProxyPlugin.c +@@ -48,7 +48,7 @@ + #include "rpcout.h" + #include "rabbitmqProxyConst.h" + #include "vm_basic_types.h" +-#include "poll.h" ++#include "vm_poll.h" + #ifdef OPEN_VM_TOOLS + #include "vmci_sockets.h" + #include "sslDirect.h" diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0004-Add-Wno-incompatible-pointer-types-and-Wno-error-add.patch b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0004-Add-Wno-incompatible-pointer-types-and-Wno-error-add.patch new file mode 100644 index 0000000..0105167 --- /dev/null +++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0004-Add-Wno-incompatible-pointer-types-and-Wno-error-add.patch @@ -0,0 +1,31 @@ +From cdb0b3c898c6b6b6c8259d9ddb8b00163ac5e419 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 16 Jul 2017 09:43:18 -0700 +Subject: [PATCH 04/11] Add -Wno-incompatible-pointer-types and + -Wno-error=address + +Signed-off-by: Khem Raj +--- + open-vm-tools/lib/dynxdr/Makefile.am | 2 +- + open-vm-tools/lib/file/Makefile.am | 1 + + 2 files changed, 2 insertions(+), 1 deletion(-) + +Index: open-vm-tools/lib/dynxdr/Makefile.am +=================================================================== +--- open-vm-tools.orig/lib/dynxdr/Makefile.am ++++ open-vm-tools/lib/dynxdr/Makefile.am +@@ -20,4 +20,4 @@ noinst_LTLIBRARIES = libDynxdr.la + libDynxdr_la_SOURCES = + libDynxdr_la_SOURCES += dynxdr.c + libDynxdr_la_SOURCES += xdrutil.c +- ++libDynxdr_la_CPPFLAGS = -Wno-incompatible-pointer-types +Index: open-vm-tools/lib/file/Makefile.am +=================================================================== +--- open-vm-tools.orig/lib/file/Makefile.am ++++ open-vm-tools/lib/file/Makefile.am +@@ -27,3 +27,4 @@ libFile_la_SOURCES += fileLockPrimitive. + libFile_la_SOURCES += fileLockPosix.c + libFile_la_SOURCES += fileTempPosix.c + libFile_la_SOURCES += fileTemp.c ++libFile_la_CPPFLAGS = -Wno-error=address diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-test-for-struct-timespec.patch b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-test-for-struct-timespec.patch new file mode 100644 index 0000000..f02d00f --- /dev/null +++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-test-for-struct-timespec.patch @@ -0,0 +1,45 @@ +From bf1eafb07297711baf9320b1edcca8a3376f117d Mon Sep 17 00:00:00 2001 +From: Natanael Copa +Date: Wed, 18 Nov 2015 09:03:00 +0000 +Subject: [PATCH 05/11] Use configure test for struct timespec + +Use the configure script to test for struct time spec instead of trying +to keep track of what platforms has it. + +Signed-off-by: Natanael Copa +--- + open-vm-tools/configure.ac | 1 + + open-vm-tools/lib/include/hgfsUtil.h | 8 +------- + 2 files changed, 2 insertions(+), 7 deletions(-) + +Index: open-vm-tools/configure.ac +=================================================================== +--- open-vm-tools.orig/configure.ac ++++ open-vm-tools/configure.ac +@@ -1127,6 +1127,7 @@ AC_TYPE_OFF_T + AC_TYPE_PID_T + AC_TYPE_SIZE_T + AC_CHECK_MEMBERS([struct stat.st_rdev]) ++AC_CHECK_MEMBERS([struct timespec.tv_sec],[],[],[[#include ]]) + AC_HEADER_TIME + AC_STRUCT_TM + AC_C_VOLATILE +Index: open-vm-tools/lib/include/hgfsUtil.h +=================================================================== +--- open-vm-tools.orig/lib/include/hgfsUtil.h ++++ open-vm-tools/lib/include/hgfsUtil.h +@@ -53,13 +53,7 @@ + # include + # endif + # include "vm_basic_types.h" +-# if !defined _STRUCT_TIMESPEC && \ +- !defined _TIMESPEC_DECLARED && \ +- !defined __timespec_defined && \ +- !defined sun && \ +- !defined __FreeBSD__ && \ +- !__APPLE__ && \ +- !defined _WIN32 ++# if !defined HAVE_STRUCT_TIMESPEC_TV_SEC + struct timespec { + time_t tv_sec; + long tv_nsec; diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0006-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0006-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch new file mode 100644 index 0000000..d1f4eff --- /dev/null +++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0006-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch @@ -0,0 +1,58 @@ +From 31ae6f42458f90d4994a4ad8e2b7673691612c36 Mon Sep 17 00:00:00 2001 +From: Natanael Copa +Date: Wed, 18 Nov 2015 09:10:14 +0000 +Subject: [PATCH 06/11] Fix definition of ALLPERMS and ACCESSPERMS + +The ALLPERMS and ACCESSPERMS defines are not specified in POSIX so +assume it is not there instead of testing for specific implementations. + +This is needed for musl libc. + +Signed-off-by: Natanael Copa +--- + open-vm-tools/lib/hgfsServer/hgfsServerLinux.c | 8 +++++--- + open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c | 3 +-- + 2 files changed, 6 insertions(+), 5 deletions(-) + +Index: open-vm-tools/lib/hgfsServer/hgfsServerLinux.c +=================================================================== +--- open-vm-tools.orig/lib/hgfsServer/hgfsServerLinux.c ++++ open-vm-tools/lib/hgfsServer/hgfsServerLinux.c +@@ -107,11 +107,13 @@ typedef struct DirectoryEntry { + #endif + + /* +- * ALLPERMS (mode 07777) and ACCESSPERMS (mode 0777) are not defined in the +- * Solaris version of . ++ * ALLPERMS (mode 07777) and ACCESSPERMS (mode 0777) are not specified in ++ * POSIX. + */ +-#ifdef sun ++#ifndef ACCESSPERMS + # define ACCESSPERMS (S_IRWXU|S_IRWXG|S_IRWXO) ++#endif ++#ifndef ALLPERMS + # define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO) + #endif + +Index: open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c +=================================================================== +--- open-vm-tools.orig/services/plugins/dndcp/dnd/dndLinux.c ++++ open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c +@@ -51,7 +51,7 @@ + + #define DND_ROOTDIR_PERMS (S_IRWXU | S_IRWXG | S_IRWXO) + #define DND_STAGINGDIR_PERMS (S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH) +-#ifdef sun ++#ifndef ACCESSPERMS + #define ACCESSPERMS (S_IRWXU | S_IRWXG | S_IRWXO) + #endif + #ifdef __ANDROID__ +@@ -60,7 +60,6 @@ + */ + #define NO_SETMNTENT + #define NO_ENDMNTENT +-#define ACCESSPERMS (S_IRWXU | S_IRWXG | S_IRWXO) + #endif + + diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0007-Use-configure-to-test-for-feature-instead-of-platfor.patch b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0007-Use-configure-to-test-for-feature-instead-of-platfor.patch new file mode 100644 index 0000000..5adf9b0 --- /dev/null +++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0007-Use-configure-to-test-for-feature-instead-of-platfor.patch @@ -0,0 +1,144 @@ +From 6cc1c22cc30320f56da552a76bd956db8f255b6a Mon Sep 17 00:00:00 2001 +From: Natanael Copa +Date: Wed, 18 Nov 2015 10:05:07 +0000 +Subject: [PATCH 07/11] Use configure to test for feature instead of platform + +Test for various functions instead of trying to keep track of what +platform and what version of the given platform has support for what. + +This should make it easier to port to currently unknown platforms and +will solve the issue if a platform add support for a missing feature in +the future. + +The features we test for are: +- getifaddrs +- getauxval +- issetugid +- __secure_getenv + +This is needed for musl libc. + +Signed-off-by: Natanael Copa +--- + open-vm-tools/configure.ac | 4 ++++ + open-vm-tools/lib/misc/idLinux.c | 30 ++++++++++++++---------------- + open-vm-tools/lib/nicInfo/nicInfoPosix.c | 8 ++++++-- + 3 files changed, 24 insertions(+), 18 deletions(-) + +Index: open-vm-tools/configure.ac +=================================================================== +--- open-vm-tools.orig/configure.ac ++++ open-vm-tools/configure.ac +@@ -798,6 +798,7 @@ AC_CHECK_FUNCS( + + AC_CHECK_FUNCS([ecvt]) + AC_CHECK_FUNCS([fcvt]) ++AC_CHECK_FUNCS([getifaddrs getauxval issetugid __secure_getenv]) + + AC_CHECK_FUNC([mkdtemp], [have_mkdtemp=yes]) + +@@ -1063,10 +1064,13 @@ AC_PATH_PROG( + ### + + AC_CHECK_HEADERS([crypt.h]) ++AC_CHECK_HEADERS([ifaddrs.h]) + AC_CHECK_HEADERS([inttypes.h]) + AC_CHECK_HEADERS([stdint.h]) + AC_CHECK_HEADERS([stdlib.h]) + AC_CHECK_HEADERS([wchar.h]) ++AC_CHECK_HEADERS([net/if.h]) ++AC_CHECK_HEADERS([sys/auxv.h]) + AC_CHECK_HEADERS([sys/inttypes.h]) + AC_CHECK_HEADERS([sys/io.h]) + AC_CHECK_HEADERS([sys/param.h]) # Required to make the sys/user.h check work correctly on FreeBSD +Index: open-vm-tools/lib/misc/idLinux.c +=================================================================== +--- open-vm-tools.orig/lib/misc/idLinux.c ++++ open-vm-tools/lib/misc/idLinux.c +@@ -27,12 +27,9 @@ + #include + #include + #include +-#ifdef __linux__ +-#if defined(__GLIBC__) && \ +- (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 16)) ++#ifdef HAVE_SYS_AUXV_H + #include + #endif +-#endif + #ifdef __APPLE__ + #include + #include +@@ -997,31 +994,32 @@ Id_EndSuperUser(uid_t uid) // IN: + static Bool + IdIsSetUGid(void) + { +-#if defined(__ANDROID__) +- /* Android does not have a secure_getenv, so be conservative. */ +- return TRUE; +-#else + /* + * We use __secure_getenv, which returns NULL if the binary is +- * setuid or setgid. Alternatives include, ++ * setuid or setgid, when issetugid or getauxval(AT_SECURE) is not ++ * available. Alternatives include, + * +- * a) getauxval(AT_SECURE); not available until glibc 2.16. +- * b) __libc_enable_secure; may not be exported. ++ * a) issetugid(); not (yet?) available in glibc. ++ * b) getauxval(AT_SECURE); not available until glibc 2.16. ++ * c) __libc_enable_secure; may not be exported. + * +- * Use (a) when we are based on glibc 2.16, or newer. ++ * Use (b) when we are based on glibc 2.16, or newer. + */ + +-#if defined(__GLIBC__) && \ +- (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 16)) ++#if HAVE_ISSETUGID ++ return issetugid(); ++#elif HAVE_GETAUXVAL + return getauxval(AT_SECURE) != 0; +-#else ++#elif HAVE___SECURE_GETENV + static const char envName[] = "VMW_SETUGID_TEST"; + + if (setenv(envName, "1", TRUE) == -1) { + return TRUE; /* Conservative */ + } + return __secure_getenv(envName) == NULL; +-#endif ++#else ++ /* Android does not have a secure_getenv, so be conservative. */ ++ return TRUE; + #endif + } + #endif +Index: open-vm-tools/lib/nicInfo/nicInfoPosix.c +=================================================================== +--- open-vm-tools.orig/lib/nicInfo/nicInfoPosix.c ++++ open-vm-tools/lib/nicInfo/nicInfoPosix.c +@@ -34,9 +34,13 @@ + #include + #include + #include +-#if defined(__FreeBSD__) || defined(__APPLE__) ++#if HAVE_SYS_SYSCTL_H + # include ++#endif ++#if HAVE_IFADDRS_H + # include ++#endif ++#if HAVE_NET_IF_H + # include + #endif + #ifndef NO_DNET +@@ -348,7 +352,7 @@ GuestInfoGetNicInfo(NicInfoV3 *nicInfo) + * + ****************************************************************************** + */ +-#if defined(__FreeBSD__) || defined(__APPLE__) || defined(USERWORLD) ++#if defined(NO_DNET) && defined(HAVE_GETIFADDRS) + + char * + GuestInfoGetPrimaryIP(void) diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0008-use-posix-strerror_r-unless-gnu.patch b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0008-use-posix-strerror_r-unless-gnu.patch new file mode 100644 index 0000000..3d1291c --- /dev/null +++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0008-use-posix-strerror_r-unless-gnu.patch @@ -0,0 +1,30 @@ +From d4d1e7146ca2698089f6bd532f2fb8b9c1134ca7 Mon Sep 17 00:00:00 2001 +From: Natanael Copa +Date: Mon, 2 Jan 2017 14:39:27 +0000 +Subject: [PATCH 08/11] use posix strerror_r unless gnu + +--- + open-vm-tools/lib/err/errPosix.c | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +Index: open-vm-tools/lib/err/errPosix.c +=================================================================== +--- open-vm-tools.orig/lib/err/errPosix.c ++++ open-vm-tools/lib/err/errPosix.c +@@ -63,11 +63,13 @@ ErrErrno2String(Err_Number errorNumber, + { + char *p; + +-#if defined(linux) && !defined(N_PLAT_NLM) && !defined(__ANDROID__) ++#if defined(__GLIBC__) + p = strerror_r(errorNumber, buf, bufSize); + #else +- p = strerror(errorNumber); +-#endif ++ if (strerror_r(errorNumber, buf, bufSize) != 0) ++ snprintf(buf, bufSize, "unknown error %i", errorNumber); ++ p = buf; ++#endif /* defined __GLIBC__ */ + ASSERT(p != NULL); + return p; + } diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0009-Add-support-for-building-with-system-libtirpc.patch b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0009-Add-support-for-building-with-system-libtirpc.patch new file mode 100644 index 0000000..2bee5ac --- /dev/null +++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0009-Add-support-for-building-with-system-libtirpc.patch @@ -0,0 +1,342 @@ +From 5ae6c662fefa621f4600559e299a7d97c2254e69 Mon Sep 17 00:00:00 2001 +From: Natanael Copa +Date: Sun, 16 Jul 2017 10:20:10 -0700 +Subject: [PATCH 1/3] Add support for building with system libtirpc + +Signed-off-by: Natanael Copa +Signed-off-by: Khem Raj + +--- + open-vm-tools/configure.ac | 14 ++++++++++++++ + open-vm-tools/lib/dynxdr/Makefile.am | 8 ++++++-- + open-vm-tools/lib/err/errPosix.c | 1 + + open-vm-tools/lib/guestRpc/Makefile.am | 6 ++++++ + open-vm-tools/lib/misc/Makefile.am | 1 + + open-vm-tools/lib/netUtil/Makefile.am | 4 ++++ + open-vm-tools/lib/nicInfo/Makefile.am | 2 ++ + open-vm-tools/lib/rpcChannel/Makefile.am | 4 ++++ + open-vm-tools/lib/slashProc/Makefile.am | 4 ++++ + open-vm-tools/lib/string/bsd_output_shared.c | 2 +- + open-vm-tools/libguestlib/Makefile.am | 2 ++ + open-vm-tools/rpctool/Makefile.am | 3 +++ + open-vm-tools/rpctool/rpctool.c | 2 ++ + open-vm-tools/services/plugins/dndcp/Makefile.am | 2 ++ + open-vm-tools/services/plugins/guestInfo/Makefile.am | 1 + + open-vm-tools/services/plugins/resolutionSet/Makefile.am | 2 ++ + open-vm-tools/services/plugins/vix/Makefile.am | 2 ++ + open-vm-tools/services/plugins/vmbackup/Makefile.am | 2 ++ + open-vm-tools/toolbox/Makefile.am | 2 ++ + 19 files changed, 61 insertions(+), 3 deletions(-) + +Index: open-vm-tools/configure.ac +=================================================================== +--- open-vm-tools.orig/configure.ac ++++ open-vm-tools/configure.ac +@@ -405,6 +405,20 @@ AC_VMW_CHECK_LIB([fuse], + AC_MSG_WARN([Fuse is missing, vmblock-fuse/vmhgfs-fuse will be disabled.])]) + + # ++# Check for libtirpc ++# ++AC_VMW_CHECK_LIB([libtirpc], ++ [LIBTIRPC], ++ [libtirpc], ++ [], ++ [], ++ [rpc/xdr.h], ++ [xdr_void], ++ [have_libtirpc=yes], ++ [have_libtitirpc=no; ++ AC_MSG_WARN([libtirpc is missing.])]) ++ ++# + # Check for PAM. + # + AC_ARG_WITH([pam], +Index: open-vm-tools/lib/dynxdr/Makefile.am +=================================================================== +--- open-vm-tools.orig/lib/dynxdr/Makefile.am ++++ open-vm-tools/lib/dynxdr/Makefile.am +@@ -17,7 +17,11 @@ + + noinst_LTLIBRARIES = libDynxdr.la + +-libDynxdr_la_SOURCES = ++libDynxdr_la_SOURCES = + libDynxdr_la_SOURCES += dynxdr.c + libDynxdr_la_SOURCES += xdrutil.c +-libDynxdr_la_CPPFLAGS = -Wno-incompatible-pointer-types ++libDynxdr_la_CPPFLAGS = @LIBTIRPC_CPPFLAGS@ -Wno-incompatible-pointer-types ++ ++libDynxdr_la_LIBADD = ++libDynxdr_la_LIBADD += @LIBTIRPC_LIBS@ ++ +Index: open-vm-tools/lib/err/errPosix.c +=================================================================== +--- open-vm-tools.orig/lib/err/errPosix.c ++++ open-vm-tools/lib/err/errPosix.c +@@ -31,6 +31,7 @@ + #include + #include + #include ++#include + + #include "vmware.h" + #include "errInt.h" +Index: open-vm-tools/lib/guestRpc/Makefile.am +=================================================================== +--- open-vm-tools.orig/lib/guestRpc/Makefile.am ++++ open-vm-tools/lib/guestRpc/Makefile.am +@@ -20,6 +20,12 @@ noinst_LTLIBRARIES = libGuestRpc.la + libGuestRpc_la_SOURCES = + libGuestRpc_la_SOURCES += nicinfo_xdr.c + ++libGuestRpc_la_CPPFLAGS = ++libGuestRpc_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@ ++ ++libGuestRpc_la_LIBADD = ++libGuestRpc_la_LIBADD += @LIBTIRPC_LIBS@ ++ + # XXX: Autoreconf complains about this and recommends using AM_CFLAGS instead. + # Problem is, $(CFLAGS) is appended to the compiler command line after AM_CFLAGS + # and after libGuestRpc_la_CFLAGS, so "-Wall -Werror" will override this flag. +Index: open-vm-tools/lib/misc/Makefile.am +=================================================================== +--- open-vm-tools.orig/lib/misc/Makefile.am ++++ open-vm-tools/lib/misc/Makefile.am +@@ -52,4 +52,5 @@ libMisc_la_SOURCES += utilMem.c + libMisc_la_SOURCES += vmstdio.c + libMisc_la_SOURCES += strutil.c + libMisc_la_SOURCES += vthreadBase.c ++libMisc_la_CPPFLAGS = -Wno-error=int-conversion + +Index: open-vm-tools/lib/netUtil/Makefile.am +=================================================================== +--- open-vm-tools.orig/lib/netUtil/Makefile.am ++++ open-vm-tools/lib/netUtil/Makefile.am +@@ -20,3 +20,7 @@ noinst_LTLIBRARIES = libNetUtil.la + libNetUtil_la_SOURCES = + libNetUtil_la_SOURCES += netUtilLinux.c + ++libNetUtil_la_CPPFLAGS = ++libNetUtil_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@ ++ ++libNetUtil_la_LIBADD = @LIBTIRPC_LIBS@ +Index: open-vm-tools/lib/nicInfo/Makefile.am +=================================================================== +--- open-vm-tools.orig/lib/nicInfo/Makefile.am ++++ open-vm-tools/lib/nicInfo/Makefile.am +@@ -25,12 +25,14 @@ libNicInfo_la_SOURCES += nicInfoPosix.c + + libNicInfo_la_CPPFLAGS = + libNicInfo_la_CPPFLAGS += @GLIB2_CPPFLAGS@ ++libNicInfo_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@ + + AM_CFLAGS = $(DNET_CPPFLAGS) + if USE_SLASH_PROC + AM_CFLAGS += -DUSE_SLASH_PROC + endif + libNicInfo_la_LIBADD = ++libNicInfo_la_LIBADD += @LIBTIRPC_LIBS@ + if HAVE_DNET + libNicInfo_la_LIBADD += @DNET_LIBS@ + endif +Index: open-vm-tools/lib/rpcChannel/Makefile.am +=================================================================== +--- open-vm-tools.orig/lib/rpcChannel/Makefile.am ++++ open-vm-tools/lib/rpcChannel/Makefile.am +@@ -27,3 +27,7 @@ endif + + libRpcChannel_la_CPPFLAGS = + libRpcChannel_la_CPPFLAGS += @VMTOOLS_CPPFLAGS@ ++libRpcChannel_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@ ++ ++libRpcChannel_la_LIBADD = ++libRpcChannel_la_LIBADD += @LIBTIRPC_LIBS@ +Index: open-vm-tools/lib/slashProc/Makefile.am +=================================================================== +--- open-vm-tools.orig/lib/slashProc/Makefile.am ++++ open-vm-tools/lib/slashProc/Makefile.am +@@ -22,6 +22,10 @@ libSlashProc_la_SOURCES += net.c + + libSlashProc_la_CPPFLAGS = + libSlashProc_la_CPPFLAGS += @GLIB2_CPPFLAGS@ ++libSlashProc_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@ ++ ++libSlashProc_la_LIBADD = ++libSlashProc_la_LIBADD += @LIBTIRPC_LIBS@ + + AM_CFLAGS = $(DNET_CPPFLAGS) + +Index: open-vm-tools/lib/string/bsd_output_shared.c +=================================================================== +--- open-vm-tools.orig/lib/string/bsd_output_shared.c ++++ open-vm-tools/lib/string/bsd_output_shared.c +@@ -38,7 +38,7 @@ + //#include + + #if !defined(STR_NO_WIN32_LIBS) && !defined(__FreeBSD__) && !defined(__OpenBSD__) && !defined(__NetBSD__) && !defined(__ANDROID__) +- ++#define _GNU_SOURCE + #include + #include + #ifndef _WIN32 +Index: open-vm-tools/libguestlib/Makefile.am +=================================================================== +--- open-vm-tools.orig/libguestlib/Makefile.am ++++ open-vm-tools/libguestlib/Makefile.am +@@ -22,6 +22,7 @@ AM_CFLAGS += -I$(top_srcdir)/include + + libguestlib_la_LIBADD = + libguestlib_la_LIBADD += @VMTOOLS_LIBS@ ++libguestlib_la_LIBADD += @LIBTIRPC_LIBS@ + + libguestlib_la_SOURCES = + libguestlib_la_SOURCES += guestlibV3_xdr.c +@@ -56,6 +57,7 @@ CFLAGS += -Wno-unused + libguestlib_la_CPPFLAGS = + libguestlib_la_CPPFLAGS += -DVMTOOLS_USE_GLIB + libguestlib_la_CPPFLAGS += @GLIB2_CPPFLAGS@ ++libguestlib_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@ + + EXTRA_DIST = vmguestlib.pc.in + +Index: open-vm-tools/rpctool/Makefile.am +=================================================================== +--- open-vm-tools.orig/rpctool/Makefile.am ++++ open-vm-tools/rpctool/Makefile.am +@@ -17,10 +17,13 @@ + + bin_PROGRAMS = vmware-rpctool + ++vmware_rpctool_CFLAGS= @LIBTIRPC_LIBS@ ++ + vmware_rpctool_SOURCES = + vmware_rpctool_SOURCES += rpctool.c + + vmware_rpctool_LDADD = ++vmware_rpctool_LDADD += @LIBTIRPC_LIBS@ + vmware_rpctool_LDADD += ../lib/rpcOut/libRpcOut.la + vmware_rpctool_LDADD += ../lib/message/libMessage.la + vmware_rpctool_LDADD += ../lib/backdoor/libBackdoor.la +Index: open-vm-tools/rpctool/rpctool.c +=================================================================== +--- open-vm-tools.orig/rpctool/rpctool.c ++++ open-vm-tools/rpctool/rpctool.c +@@ -23,6 +23,8 @@ + */ + + #ifndef _WIN32 ++#define _GNU_SOURCE ++#include + #include "sigPosixRegs.h" + #include + #include +Index: open-vm-tools/services/plugins/dndcp/Makefile.am +=================================================================== +--- open-vm-tools.orig/services/plugins/dndcp/Makefile.am ++++ open-vm-tools/services/plugins/dndcp/Makefile.am +@@ -23,6 +23,7 @@ plugin_LTLIBRARIES = libdndcp.la + libdndcp_la_CPPFLAGS = + libdndcp_la_CPPFLAGS += @GTK_CPPFLAGS@ + libdndcp_la_CPPFLAGS += @PLUGIN_CPPFLAGS@ ++libdndcp_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@ + libdndcp_la_CPPFLAGS += -I$(top_srcdir)/services/plugins/dndcp/dnd + libdndcp_la_CPPFLAGS += -I$(top_srcdir)/services/plugins/dndcp/dndGuest + libdndcp_la_CPPFLAGS += -I$(top_srcdir)/services/plugins/dndcp/stringxx +@@ -44,6 +45,7 @@ libdndcp_la_LIBADD += @GTK_LIBS@ + libdndcp_la_LIBADD += @GTKMM_LIBS@ + libdndcp_la_LIBADD += @VMTOOLS_LIBS@ + libdndcp_la_LIBADD += @HGFS_LIBS@ ++libdndcp_la_LIBADD += @LIBTIRPC_LIBS@ + libdndcp_la_LIBADD += $(top_builddir)/lib/hgfsUri/hgfsUriPosix.lo + + libdndcp_la_SOURCES = +Index: open-vm-tools/services/plugins/guestInfo/Makefile.am +=================================================================== +--- open-vm-tools.orig/services/plugins/guestInfo/Makefile.am ++++ open-vm-tools/services/plugins/guestInfo/Makefile.am +@@ -22,6 +22,7 @@ plugin_LTLIBRARIES = libguestInfo.la + + libguestInfo_la_CPPFLAGS = + libguestInfo_la_CPPFLAGS += @PLUGIN_CPPFLAGS@ ++libguestInfo_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@ + + libguestInfo_la_LDFLAGS = + libguestInfo_la_LDFLAGS += @PLUGIN_LDFLAGS@ +Index: open-vm-tools/services/plugins/resolutionSet/Makefile.am +=================================================================== +--- open-vm-tools.orig/services/plugins/resolutionSet/Makefile.am ++++ open-vm-tools/services/plugins/resolutionSet/Makefile.am +@@ -21,6 +21,7 @@ plugin_LTLIBRARIES = libresolutionSet.la + libresolutionSet_la_CPPFLAGS = + libresolutionSet_la_CPPFLAGS += @GTK_CPPFLAGS@ + libresolutionSet_la_CPPFLAGS += @PLUGIN_CPPFLAGS@ ++libresolutionSet_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@ + libresolutionSet_la_CPPFLAGS += -DRESOLUTION_X11 + + libresolutionSet_la_LDFLAGS = +@@ -30,6 +31,7 @@ libresolutionSet_la_LIBADD = + libresolutionSet_la_LIBADD += @COMMON_XLIBS@ + libresolutionSet_la_LIBADD += @GTK_LIBS@ + libresolutionSet_la_LIBADD += @VMTOOLS_LIBS@ ++libresolutionSet_la_LIBADD += @LIBTIRPC_LIBS@ + + libresolutionSet_la_SOURCES = + libresolutionSet_la_SOURCES += libvmwarectrl.c +Index: open-vm-tools/services/plugins/vix/Makefile.am +=================================================================== +--- open-vm-tools.orig/services/plugins/vix/Makefile.am ++++ open-vm-tools/services/plugins/vix/Makefile.am +@@ -20,6 +20,7 @@ plugin_LTLIBRARIES = libvix.la + + libvix_la_CPPFLAGS = + libvix_la_CPPFLAGS += @PLUGIN_CPPFLAGS@ ++libvix_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@ + libvix_la_CPPFLAGS += -I$(top_srcdir)/vgauth/public + + libvix_la_LDFLAGS = +@@ -29,6 +30,7 @@ libvix_la_LIBADD = + libvix_la_LIBADD += @VIX_LIBADD@ + libvix_la_LIBADD += @VMTOOLS_LIBS@ + libvix_la_LIBADD += @HGFS_LIBS@ ++libvix_la_LIBADD += @LIBTIRPC_LIBS@ + libvix_la_LIBADD += $(top_builddir)/lib/auth/libAuth.la + libvix_la_LIBADD += $(top_builddir)/lib/foundryMsg/libFoundryMsg.la + libvix_la_LIBADD += $(top_builddir)/lib/impersonate/libImpersonate.la +Index: open-vm-tools/services/plugins/vmbackup/Makefile.am +=================================================================== +--- open-vm-tools.orig/services/plugins/vmbackup/Makefile.am ++++ open-vm-tools/services/plugins/vmbackup/Makefile.am +@@ -20,6 +20,7 @@ plugin_LTLIBRARIES = libvmbackup.la + + libvmbackup_la_CPPFLAGS = + libvmbackup_la_CPPFLAGS += @PLUGIN_CPPFLAGS@ ++libvmbackup_la_CPPFLAGS += @LIBTIRPC_CPPFLAGS@ + + libvmbackup_la_LDFLAGS = + libvmbackup_la_LDFLAGS += @PLUGIN_LDFLAGS@ +@@ -27,6 +28,7 @@ libvmbackup_la_LDFLAGS += @PLUGIN_LDFLAG + libvmbackup_la_LIBADD = + libvmbackup_la_LIBADD += @GOBJECT_LIBS@ + libvmbackup_la_LIBADD += @VMTOOLS_LIBS@ ++libvmbackup_la_LIBADD += @LIBTIRPC_LIBS@ + + libvmbackup_la_SOURCES = + libvmbackup_la_SOURCES += nullProvider.c +Index: open-vm-tools/toolbox/Makefile.am +=================================================================== +--- open-vm-tools.orig/toolbox/Makefile.am ++++ open-vm-tools/toolbox/Makefile.am +@@ -20,9 +20,11 @@ bin_PROGRAMS = vmware-toolbox-cmd + vmware_toolbox_cmd_LDADD = + vmware_toolbox_cmd_LDADD += ../libguestlib/libguestlib.la + vmware_toolbox_cmd_LDADD += @VMTOOLS_LIBS@ ++vmware_toolbox_cmd_LDADD += @LIBTIRPC_LIBS@ + + vmware_toolbox_cmd_CPPFLAGS = + vmware_toolbox_cmd_CPPFLAGS += @VMTOOLS_CPPFLAGS@ ++vmware_toolbox_cmd_CPPFLAGS += @LIBTIRPC_CPPFLAGS@ + + vmware_toolbox_cmd_SOURCES = + vmware_toolbox_cmd_SOURCES += toolbox-cmd.c diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0010-gnu-ucontext.patch b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0010-gnu-ucontext.patch new file mode 100644 index 0000000..c9beac1 --- /dev/null +++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0010-gnu-ucontext.patch @@ -0,0 +1,65 @@ +From 27442e2dd287d393d7b3f8bf164a887affef84df Mon Sep 17 00:00:00 2001 +From: Natanael Copa +Date: Wed, 18 Nov 2015 10:27:51 +0000 +Subject: [PATCH 10/11] gnu-ucontext + +--- + open-vm-tools/lib/include/sigPosixRegs.h | 24 ++++++++++++------------ + 1 file changed, 12 insertions(+), 12 deletions(-) + +Index: open-vm-tools/lib/include/sigPosixRegs.h +=================================================================== +--- open-vm-tools.orig/lib/include/sigPosixRegs.h ++++ open-vm-tools/lib/include/sigPosixRegs.h +@@ -33,7 +33,7 @@ + #include "includeCheck.h" + + +-#if __linux__ // We need the REG_foo offsets in the gregset_t; ++#if defined(__GLIBC__) // We need the REG_foo offsets in the gregset_t; + # define _GNU_SOURCE // _GNU_SOURCE maps to __USE_GNU + + /* And, the REG_foo definitions conflict with our own in x86.h */ +@@ -73,7 +73,7 @@ + #include + #endif + +-#if __linux__ ++#if defined(__GLIBC__) + # if defined(__x86_64__) + # undef REG_RAX + # undef REG_RBX +@@ -199,7 +199,7 @@ + #define SC_ESP(uc) ((unsigned long) (uc)->uc_mcontext.mc_esp) + #define SC_EIP(uc) ((unsigned long) (uc)->uc_mcontext.mc_eip) + #endif +-#elif defined (sun) ++#elif !defined (__GLIBC__) + #ifdef __x86_64__ + #define SC_EAX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_RAX]) + #define SC_EBX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_RBX]) +@@ -219,15 +219,15 @@ + #define SC_R14(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_R14]) + #define SC_R15(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_R15]) + #else +-#define SC_EAX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[EAX]) +-#define SC_EBX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[EBX]) +-#define SC_ECX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[ECX]) +-#define SC_EDX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[EDX]) +-#define SC_EDI(uc) ((unsigned long) (uc)->uc_mcontext.gregs[EDI]) +-#define SC_ESI(uc) ((unsigned long) (uc)->uc_mcontext.gregs[ESI]) +-#define SC_EBP(uc) ((unsigned long) (uc)->uc_mcontext.gregs[EBP]) +-#define SC_ESP(uc) ((unsigned long) (uc)->uc_mcontext.gregs[ESP]) +-#define SC_EIP(uc) ((unsigned long) (uc)->uc_mcontext.gregs[EIP]) ++#define SC_EAX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_EAX]) ++#define SC_EBX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_EBX]) ++#define SC_ECX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_ECX]) ++#define SC_EDX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_EDX]) ++#define SC_EDI(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_EDI]) ++#define SC_ESI(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_ESI]) ++#define SC_EBP(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_EBP]) ++#define SC_ESP(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_ESP]) ++#define SC_EIP(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_EIP]) + #endif + #elif defined(ANDROID_X86) + #define SC_EAX(uc) ((unsigned long) (uc)->uc_mcontext.eax) diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0011-Use-configure-test-for-sys-stat.h-include.patch b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0011-Use-configure-test-for-sys-stat.h-include.patch new file mode 100644 index 0000000..7872239 --- /dev/null +++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0011-Use-configure-test-for-sys-stat.h-include.patch @@ -0,0 +1,25 @@ +From 95c6184d9ff70a47c41768850923a96de9e544aa Mon Sep 17 00:00:00 2001 +From: Natanael Copa +Date: Wed, 18 Nov 2015 10:41:01 +0000 +Subject: [PATCH 11/11] Use configure test for sys/stat.h include + +This is needed for musl libc. + +Signed-off-by: Natanael Copa +--- + open-vm-tools/services/plugins/vix/vixTools.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: open-vm-tools/services/plugins/vix/vixTools.c +=================================================================== +--- open-vm-tools.orig/services/plugins/vix/vixTools.c ++++ open-vm-tools/services/plugins/vix/vixTools.c +@@ -66,7 +66,7 @@ + #include + #endif + +-#if defined(sun) || defined(__FreeBSD__) || defined(__APPLE__) ++#ifdef HAVE_SYS_STAT_H + #include + #endif + diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb b/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb index 5f93eb4..f7746c8 100644 --- a/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb +++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb @@ -13,26 +13,39 @@ SUMMARY = "Tools to enhance VMWare guest integration and performance" HOMEPAGE = "https://github.com/vmware/open-vm-tools" SECTION = "vmware-tools" -LICENSE = "LGPLv2.1 & GPLv2 & BSD & CDDLv1" +LICENSE = "LGPL-2.0 & GPL-2.0 & BSD & CDDL-1.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=b66ba4cb4fc017682c95efc300410e79" LICENSE_modules/freebsd/vmblock = "BSD" -LICENSE_modules/freebsd/vmmemctl = "GPLv2" -LICENSE_modules/freebsd/vmxnet = "GPLv2" -LICENSE_modules/linux = "GPLv2" -LICENSE_modules/solaris = "CDDLv1" +LICENSE_modules/freebsd/vmmemctl = "GPL-2.0" +LICENSE_modules/freebsd/vmxnet = "GPL-2.0" +LICENSE_modules/linux = "GPL-2.0" +LICENSE_modules/solaris = "CDDL-1.0" SRC_URI = "git://github.com/vmware/open-vm-tools.git;protocol=https \ file://tools.conf \ file://vmtoolsd.service \ file://0001-configure.ac-don-t-use-dnet-config.patch \ file://0002-add-include-sys-sysmacros.h.patch \ + file://0001-Remove-assumptions-about-glibc-being-only-libc-imple.patch \ + file://0002-include-poll.h-instead-of-obsolete-sys-poll.h.patch \ + file://0003-Rename-poll.h-to-vm_poll.h.patch \ + file://0004-Add-Wno-incompatible-pointer-types-and-Wno-error-add.patch \ + file://0005-Use-configure-test-for-struct-timespec.patch \ + file://0006-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch \ + file://0007-Use-configure-to-test-for-feature-instead-of-platfor.patch \ + file://0008-use-posix-strerror_r-unless-gnu.patch \ + file://0011-Use-configure-test-for-sys-stat.h-include.patch \ + " +SRC_URI_append_libc-musl = "\ + file://0009-Add-support-for-building-with-system-libtirpc.patch \ + file://0010-gnu-ucontext.patch \ " - SRCREV = "854c0bb374612f7e633b448ca273f970f154458b" S = "${WORKDIR}/git/open-vm-tools" DEPENDS = "glib-2.0 glib-2.0-native util-linux libdnet procps" +DEPENDS_append_libc-musl = " libtirpc" # open-vm-tools is supported only on x86. COMPATIBLE_HOST = '(x86_64.*|i.86.*)-linux' -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:03:22 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:03:22 +0000 Subject: [oe-commits] [meta-openembedded] 55/75: sg3-utils: add mirror In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170229.124A1234F21@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 2212154db94b0bafd184c73db43681db5be1fe12 Author: Szombathelyi Gy?rgy AuthorDate: Wed Jul 19 10:31:51 2017 +0200 sg3-utils: add mirror Signed-off-by: Gyorgy Szombathelyi Signed-off-by: Martin Jansa --- meta-oe/recipes-support/sg3-utils/sg3-utils_1.42.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-oe/recipes-support/sg3-utils/sg3-utils_1.42.bb b/meta-oe/recipes-support/sg3-utils/sg3-utils_1.42.bb index a11bd77..c7de057 100644 --- a/meta-oe/recipes-support/sg3-utils/sg3-utils_1.42.bb +++ b/meta-oe/recipes-support/sg3-utils/sg3-utils_1.42.bb @@ -9,6 +9,7 @@ LICENSE = "GPLv2+ & BSD" LIC_FILES_CHKSUM = "file://COPYING;md5=f90da7fc52172599dbf082d7620f18ca" SRC_URI = "http://sg.danny.cz/sg/p/sg3_utils-${PV}.tgz" +MIRRORS += "http://sg.danny.cz/sg/p https://fossies.org/linux/misc" SRC_URI[md5sum] = "28080de5bf2222f8b55a29093bec8aea" SRC_URI[sha256sum] = "1dcb7a0309bd0ba3d4a83acb526973b80106ee26cd9f7398186cd3f0633c9ef3" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:03:24 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:03:24 +0000 Subject: [oe-commits] [meta-openembedded] 57/75: python-sqlalchemy, python3-sqlalchemy: update to 1.1.11 In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170229.1E58E234F1B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit f2f7532eb37487c0c373c088e6962dd8aef0a09a Author: Pascal Bach AuthorDate: Wed Jul 19 17:32:59 2017 +0200 python-sqlalchemy, python3-sqlalchemy: update to 1.1.11 Signed-off-by: Pascal Bach Signed-off-by: Martin Jansa --- meta-python/recipes-devtools/python/python-sqlalchemy.inc | 4 ++-- .../{python-sqlalchemy_1.1.10.bb => python-sqlalchemy_1.1.11.bb} | 0 .../{python3-sqlalchemy_1.1.10.bb => python3-sqlalchemy_1.1.11.bb} | 0 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-python/recipes-devtools/python/python-sqlalchemy.inc b/meta-python/recipes-devtools/python/python-sqlalchemy.inc index d2a7be5..0a93dc4 100644 --- a/meta-python/recipes-devtools/python/python-sqlalchemy.inc +++ b/meta-python/recipes-devtools/python/python-sqlalchemy.inc @@ -7,8 +7,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=452f4b8adb0feba42e5be5f1fbfbf538" PYPI_PACKAGE = "SQLAlchemy" inherit pypi -SRC_URI[md5sum] = "64b9a3bf34e17944f844cbf460bd14e6" -SRC_URI[sha256sum] = "dbd92b8af2306d600efa98ed36262d73aad227440a758c8dc3a067ca30096bd3" +SRC_URI[md5sum] = "3de387eddb4012083a4562928c511e43" +SRC_URI[sha256sum] = "76f76965e9a968ba3aecd2a8bc0d991cea04fd9a182e6c95c81f1551487b0211" RDEPENDS_${PN} += " \ ${PYTHON_PN}-json \ diff --git a/meta-python/recipes-devtools/python/python-sqlalchemy_1.1.10.bb b/meta-python/recipes-devtools/python/python-sqlalchemy_1.1.11.bb similarity index 100% rename from meta-python/recipes-devtools/python/python-sqlalchemy_1.1.10.bb rename to meta-python/recipes-devtools/python/python-sqlalchemy_1.1.11.bb diff --git a/meta-python/recipes-devtools/python/python3-sqlalchemy_1.1.10.bb b/meta-python/recipes-devtools/python/python3-sqlalchemy_1.1.11.bb similarity index 100% rename from meta-python/recipes-devtools/python/python3-sqlalchemy_1.1.10.bb rename to meta-python/recipes-devtools/python/python3-sqlalchemy_1.1.11.bb -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:03:25 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:03:25 +0000 Subject: [oe-commits] [meta-openembedded] 58/75: python-paho-mqtt, python3-paho-mqtt: update to 1.3.0 In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170229.271D5234F0F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 1864ea6ee95ec03fb5876df21f7e9a0d166efe42 Author: Pascal Bach AuthorDate: Wed Jul 19 17:33:16 2017 +0200 python-paho-mqtt, python3-paho-mqtt: update to 1.3.0 Signed-off-by: Pascal Bach Signed-off-by: Martin Jansa --- meta-python/recipes-devtools/python/python-paho-mqtt.inc | 4 ++-- .../python/{python-paho-mqtt_1.2.3.bb => python-paho-mqtt_1.3.0.bb} | 0 .../python/{python3-paho-mqtt_1.2.3.bb => python3-paho-mqtt_1.3.0.bb} | 0 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-python/recipes-devtools/python/python-paho-mqtt.inc b/meta-python/recipes-devtools/python/python-paho-mqtt.inc index 545985c..531fdf7 100644 --- a/meta-python/recipes-devtools/python/python-paho-mqtt.inc +++ b/meta-python/recipes-devtools/python/python-paho-mqtt.inc @@ -4,8 +4,8 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=eb48c6ee2cb9f5b8b9fe75e6f817bdfc" SRCNAME = "paho-mqtt" inherit pypi -SRC_URI[md5sum] = "4bd192ea24e7aa347f6d240101ef82f6" -SRC_URI[sha256sum] = "0fd746d8650563290f1bd0fec01e74cb57c3ab7406bdb58e5d9252bb5fa5ca44" +SRC_URI[md5sum] = "b9338236e2836e8579ef140956189cc4" +SRC_URI[sha256sum] = "2c9ef5494cfc1e41a9fff6544c5a2cd59ea5d401d9119a06ecf7fad6a2ffeb93" RDEPENDS_${PN} = "\ ${PYTHON_PN}-math \ diff --git a/meta-python/recipes-devtools/python/python-paho-mqtt_1.2.3.bb b/meta-python/recipes-devtools/python/python-paho-mqtt_1.3.0.bb similarity index 100% rename from meta-python/recipes-devtools/python/python-paho-mqtt_1.2.3.bb rename to meta-python/recipes-devtools/python/python-paho-mqtt_1.3.0.bb diff --git a/meta-python/recipes-devtools/python/python3-paho-mqtt_1.2.3.bb b/meta-python/recipes-devtools/python/python3-paho-mqtt_1.3.0.bb similarity index 100% rename from meta-python/recipes-devtools/python/python3-paho-mqtt_1.2.3.bb rename to meta-python/recipes-devtools/python/python3-paho-mqtt_1.3.0.bb -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:03:18 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:03:18 +0000 Subject: [oe-commits] [meta-openembedded] 51/75: python3-prctl: add recipe 1.6.1 In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170228.E35A6234F0E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit b344ce38db1f434b93bb981d3e4fc39144492ef1 Author: Hongxu Jia AuthorDate: Tue Jul 18 02:09:12 2017 -0400 python3-prctl: add recipe 1.6.1 Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- .../0001-support-cross-complication.patch | 61 ++++++++++++++++++++++ .../recipes-devtools/python/python3-prctl_1.6.1.bb | 22 ++++++++ 2 files changed, 83 insertions(+) diff --git a/meta-python/recipes-devtools/python/python3-prctl/0001-support-cross-complication.patch b/meta-python/recipes-devtools/python/python3-prctl/0001-support-cross-complication.patch new file mode 100644 index 0000000..775ae1b --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-prctl/0001-support-cross-complication.patch @@ -0,0 +1,61 @@ +From 9a16800738547d117284354bbcad7dd77d9d0344 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Thu, 21 Apr 2016 03:05:57 -0400 +Subject: [PATCH] support cross-complication + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Hongxu Jia +--- + setup.py | 35 ----------------------------------- + 1 file changed, 35 deletions(-) + +diff --git a/setup.py b/setup.py +index 658d1a5..e8be7eb 100755 +--- a/setup.py ++++ b/setup.py +@@ -13,41 +13,6 @@ import sys + # - Need gcc + # - Need C headers + # - Need libcap headers +-if not sys.platform.startswith('linux'): +- sys.stderr.write("This module only works on linux\n") +- sys.exit(1) +- +-kvers = os.uname()[2] +-if kvers < '2.6.18' and not os.environ.get("PRCTL_SKIP_KERNEL_CHECK",False): +- sys.stderr.write("This module requires linux 2.6.18 or newer\n") +- sys.exit(1) +- +-if sys.version_info[:2] < (2,4): +- sys.stderr.write("This module requires python 2.4 or newer\n") +- sys.exit(1) +- +-exit = False +-try: +- subprocess.call(['gcc','-v'], stdout=subprocess.PIPE, stderr=subprocess.PIPE) +-except: +- sys.stderr.write("You need to install gcc to build this module\n") +- sys.exit(1) +- +-sp = subprocess.Popen(['cpp'], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE) +-sp.communicate('#include \n'.encode()) +-if sp.returncode: +- sys.stderr.write("You need to install libc development headers to build this module\n") +- exit = True +- +-sp = subprocess.Popen(['cpp'], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE) +-sp.communicate('#include \n'.encode()) +-if sp.returncode: +- sys.stderr.write("You need to install libcap development headers to build this module\n") +- exit = True +- +-if exit: +- sys.exit(1) +- + _prctl = Extension("_prctl", + sources = ['_prctlmodule.c'], + depends = ['securebits.h'], +-- +2.8.1 + diff --git a/meta-python/recipes-devtools/python/python3-prctl_1.6.1.bb b/meta-python/recipes-devtools/python/python3-prctl_1.6.1.bb new file mode 100644 index 0000000..5de83ce --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-prctl_1.6.1.bb @@ -0,0 +1,22 @@ +SUMMARY = "Control process attributes through prctl" +DESCRIPTION = "The linux prctl function allows you to control specific characteristics of a \ +process' behaviour. Usage of the function is fairly messy though, due to \ +limitations in C and linux. This module provides a nice non-messy python(ic) \ +interface." +SECTION = "devel/python" +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=5eb2f4bcd60326f83e5deb542372d52f" + +S = "${WORKDIR}/git" +B = "${S}" + +SRCREV = "1107d0be7bec4b28c85c62c454882d16844c930a" +PV = "1.6.1+git${SRCPV}" + +SRC_URI = "git://github.com/seveas/python-prctl;branch=master \ + file://0001-support-cross-complication.patch \ +" +inherit setuptools3 python3native + +DEPENDS += "libcap" + -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:03:28 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:03:28 +0000 Subject: [oe-commits] [meta-openembedded] 61/75: postgresql: Do not link with libnsl on musl In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170229.3F49E234F15@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit e5fd08cc4b230efd2c9564853a17cff873ab98d2 Author: Khem Raj AuthorDate: Wed Jul 19 08:41:31 2017 -0700 postgresql: Do not link with libnsl on musl libnsl is not available on musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- meta-oe/recipes-support/postgresql/postgresql_9.4.11.bb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/meta-oe/recipes-support/postgresql/postgresql_9.4.11.bb b/meta-oe/recipes-support/postgresql/postgresql_9.4.11.bb index e4d2eda..7043b27 100644 --- a/meta-oe/recipes-support/postgresql/postgresql_9.4.11.bb +++ b/meta-oe/recipes-support/postgresql/postgresql_9.4.11.bb @@ -7,5 +7,9 @@ SRC_URI += "\ file://not-check-libperl.patch \ " +do_compile_prepend_libc-musl() { + sed -i -e 's/\-lnsl//g' ${B}/src/Makefile.global +} + SRC_URI[md5sum] = "2fee03f2034034dbfcb3321a0bb0f829" SRC_URI[sha256sum] = "e3eb51d045c180b03d2de1f0c3af9356e10be49448e966ca01dfc2c6d1cc9d23" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:03:31 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:03:31 +0000 Subject: [oe-commits] [meta-openembedded] 64/75: python3-meh: add recipe 0.45 In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170229.550E1234F18@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit cccb69cd94a962758bdcc9b0c8e02c3ac5b7536f Author: Hongxu Jia AuthorDate: Thu Jul 20 03:44:30 2017 -0400 python3-meh: add recipe 0.45 Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- .../files/tweak-native-language-support.patch | 44 ++++++++++++++++++++++ .../python-meh/python3-meh_0.45.bb | 17 +++++++++ 2 files changed, 61 insertions(+) diff --git a/meta-python/recipes-extended/python-meh/files/tweak-native-language-support.patch b/meta-python/recipes-extended/python-meh/files/tweak-native-language-support.patch new file mode 100644 index 0000000..41cfadd --- /dev/null +++ b/meta-python/recipes-extended/python-meh/files/tweak-native-language-support.patch @@ -0,0 +1,44 @@ +From 6e7689bced8ef56cfb5969560d23706f8e039807 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Mon, 11 Apr 2016 23:01:19 -0400 +Subject: [PATCH] tweak native language support + +- Only support en_GB only. + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Hongxu Jia +--- + Makefile | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index d0a9784..db152c4 100644 +--- a/Makefile ++++ b/Makefile +@@ -24,7 +24,7 @@ test: + PYTHONPATH=. python $(TESTSUITE) -v + + install: +- python setup.py install --root=$(DESTDIR) ++ python setup.py install --root=$(DESTDIR) --install-lib=${PYTHON_SITEPACKAGES_DIR} --prefix=${prefix} + $(MAKE) -C po install + + ChangeLog: +@@ -61,6 +61,13 @@ rpmlog: + @git log --pretty="format:- %s (%ae)" $(TAG).. |sed -e 's/@.*)/)/' + @echo + ++po-empty: ++ for lingua in "en_GB" ; do \ ++ [ -f po/$$lingua.po ] || \ ++ msginit -i po/$(PKGNAME).pot -o po/$$lingua.po -l $$lingua --no-translator || \ ++ exit 1 ; \ ++ done ++ + potfile: + $(MAKE) -C po potfile + +-- +1.9.1 + diff --git a/meta-python/recipes-extended/python-meh/python3-meh_0.45.bb b/meta-python/recipes-extended/python-meh/python3-meh_0.45.bb new file mode 100644 index 0000000..6ace497 --- /dev/null +++ b/meta-python/recipes-extended/python-meh/python3-meh_0.45.bb @@ -0,0 +1,17 @@ +SUMMARY = "A python library for handling exceptions" +DESCRIPTION = "The python-meh package is a python library for handling, saving, and reporting \ +exceptions." +HOMEPAGE = "http://git.fedorahosted.org/git/?p=python-meh.git" +LICENSE = "GPLv2+" + +inherit setuptools3 + +S = "${WORKDIR}/git" + +SRC_URI = "git://github.com/rhinstaller/python-meh.git;protocol=https;branch=master \ +" +SRCREV = "2bfc751fd680515d44f7096945a1e282a1f7d6aa" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +FILES_${PN} += "${datadir}/*" + -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:03:27 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:03:27 +0000 Subject: [oe-commits] [meta-openembedded] 60/75: flashrom: Upgrade to 0.9.9 In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170229.381C5234F12@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 5fed64bb1e974ac022807016b98577907aae18c8 Author: Khem Raj AuthorDate: Wed Jul 19 08:41:30 2017 -0700 flashrom: Upgrade to 0.9.9 Fix build with musl along way Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../flashrom/0001-Fix-compilation-on-aarch64.patch | 62 ------- .../0001-ichspi.c-Fix-build-with-clang.patch | 29 --- ...fine-_XOPEN_SOURCE-to-enable-ffs-libc-API.patch | 28 +++ ...utological-pointer-compare-when-using-cla.patch | 35 ---- .../0003-remove-duplicate-const-qualifiers.patch | 71 -------- .../recipes-extended/flashrom/flashrom/sst26.patch | 198 +++++++++++++++++++++ .../recipes-extended/flashrom/flashrom_0.9.6.1.bb | 22 --- .../recipes-extended/flashrom/flashrom_0.9.9.bb | 19 ++ 8 files changed, 245 insertions(+), 219 deletions(-) diff --git a/meta-oe/recipes-extended/flashrom/flashrom/0001-Fix-compilation-on-aarch64.patch b/meta-oe/recipes-extended/flashrom/flashrom/0001-Fix-compilation-on-aarch64.patch deleted file mode 100644 index 6c2f64e..0000000 --- a/meta-oe/recipes-extended/flashrom/flashrom/0001-Fix-compilation-on-aarch64.patch +++ /dev/null @@ -1,62 +0,0 @@ -From d9e4dc750dc45e42b482d744829254a3672c11b3 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 19 Oct 2016 00:24:08 +0000 -Subject: [PATCH 1/3] Fix compilation on aarch64 - -Signed-off-by: Khem Raj ---- - arch.h | 2 +- - hwaccess.c | 2 +- - hwaccess.h | 6 +++--- - 3 files changed, 5 insertions(+), 5 deletions(-) - -Index: flashrom-0.9.6.1/arch.h -=================================================================== ---- flashrom-0.9.6.1.orig/arch.h -+++ flashrom-0.9.6.1/arch.h -@@ -27,7 +27,7 @@ - #define __FLASHROM_ARCH__ "mips" - #elif defined(__powerpc__) || defined(__powerpc64__) || defined(__ppc__) || defined(__ppc64__) - #define __FLASHROM_ARCH__ "ppc" --#elif defined(__arm__) -+#elif defined(__arm__) || defined(__aarch64__) - #define __FLASHROM_ARCH__ "arm" - #endif - __FLASHROM_ARCH__ -Index: flashrom-0.9.6.1/hwaccess.c -=================================================================== ---- flashrom-0.9.6.1.orig/hwaccess.c -+++ flashrom-0.9.6.1/hwaccess.c -@@ -121,7 +121,7 @@ int rget_io_perms(void) - return 0; - } - --#elif defined (__arm__) -+#elif defined (__arm__) || defined (__aarch64__) - - static inline void sync_primitive(void) - { -Index: flashrom-0.9.6.1/hwaccess.h -=================================================================== ---- flashrom-0.9.6.1.orig/hwaccess.h -+++ flashrom-0.9.6.1/hwaccess.h -@@ -68,8 +68,8 @@ - #error Little-endian PowerPC #defines are unknown - #endif - --#elif defined (__arm__) --#if defined (__ARMEL__) -+#elif defined (__arm__) || defined (__aarch64__) -+#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ - #define __FLASHROM_LITTLE_ENDIAN__ 1 - #else - #error Big-endian ARM #defines are unknown -@@ -337,7 +337,7 @@ int libpayload_wrmsr(int addr, msr_t msr - - /* PCI port I/O is not yet implemented on MIPS. */ - --#elif defined(__arm__) -+#elif defined(__arm__) || defined (__aarch64__) - - /* Non memory mapped I/O is not supported on ARM. */ - diff --git a/meta-oe/recipes-extended/flashrom/flashrom/0001-ichspi.c-Fix-build-with-clang.patch b/meta-oe/recipes-extended/flashrom/flashrom/0001-ichspi.c-Fix-build-with-clang.patch deleted file mode 100644 index ff16f0b..0000000 --- a/meta-oe/recipes-extended/flashrom/flashrom/0001-ichspi.c-Fix-build-with-clang.patch +++ /dev/null @@ -1,29 +0,0 @@ -From a2f603c54013cd0b04bb0103dc615644f315d5e8 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 15 Nov 2016 17:39:24 +0000 -Subject: [PATCH] ichspi.c: Fix build with clang - -ichspi.c:1130:24: error: duplicate 'const' declaration specifier [-Werror,-Wduplicate-decl-specifier] - static const uint32_t const dec_berase[4] = { - ^ -Signed-off-by: Khem Raj ---- - ichspi.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/ichspi.c b/ichspi.c -index 0223ae3..e47aebd 100644 ---- a/ichspi.c -+++ b/ichspi.c -@@ -1127,7 +1127,7 @@ static void ich_hwseq_set_addr(uint32_t addr) - static uint32_t ich_hwseq_get_erase_block_size(unsigned int addr) - { - uint8_t enc_berase; -- static const uint32_t const dec_berase[4] = { -+ static const uint32_t dec_berase[4] = { - 256, - 4 * 1024, - 8 * 1024, --- -1.9.1 - diff --git a/meta-oe/recipes-extended/flashrom/flashrom/0001-spi-Define-_XOPEN_SOURCE-to-enable-ffs-libc-API.patch b/meta-oe/recipes-extended/flashrom/flashrom/0001-spi-Define-_XOPEN_SOURCE-to-enable-ffs-libc-API.patch new file mode 100644 index 0000000..4170fef --- /dev/null +++ b/meta-oe/recipes-extended/flashrom/flashrom/0001-spi-Define-_XOPEN_SOURCE-to-enable-ffs-libc-API.patch @@ -0,0 +1,28 @@ +From 7c65a465a3ddeb7afb9a7c49d010ae7e5d5b1ad1 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 18 Jul 2017 20:25:49 -0700 +Subject: [PATCH] spi: Define _XOPEN_SOURCE to enable ffs() libc API + +musl exposes this issue + +Signed-off-by: Khem Raj +--- + spi.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/spi.c b/spi.c +index 894f73f..aeb6518 100644 +--- a/spi.c ++++ b/spi.c +@@ -21,7 +21,7 @@ + /* + * Contains the generic SPI framework + */ +- ++#define _XOPEN_SOURCE + #include + #include + #include "flash.h" +-- +2.13.3 + diff --git a/meta-oe/recipes-extended/flashrom/flashrom/0002-Disable-Wtautological-pointer-compare-when-using-cla.patch b/meta-oe/recipes-extended/flashrom/flashrom/0002-Disable-Wtautological-pointer-compare-when-using-cla.patch deleted file mode 100644 index aec11bf..0000000 --- a/meta-oe/recipes-extended/flashrom/flashrom/0002-Disable-Wtautological-pointer-compare-when-using-cla.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 9be0d152dfe8ac0f9b665d61aeb3f99dae533e0f Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 19 Oct 2016 00:25:09 +0000 -Subject: [PATCH 2/3] Disable Wtautological-pointer-compare when using clang - -Signed-off-by: Khem Raj ---- - flashrom.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/flashrom.c b/flashrom.c -index 04e9934..bf49104 100644 ---- a/flashrom.c -+++ b/flashrom.c -@@ -1569,6 +1569,9 @@ int selfcheck(void) - * For 'flashchips' we check the first element to be non-null. In the - * other cases there exist use cases where the first element can be - * null. */ -+#pragma clang diagnostic push -+#pragma clang diagnostic ignored "-Wtautological-pointer-compare" -+ - if (flashchips == NULL || flashchips[0].vendor == NULL) { - msg_gerr("Flashchips table miscompilation!\n"); - ret = 1; -@@ -1602,6 +1605,7 @@ int selfcheck(void) - msg_gerr("Known laptops table does not exist!\n"); - ret = 1; - } -+#pragma clang diagnostic pop - #endif - return ret; - } --- -1.9.1 - diff --git a/meta-oe/recipes-extended/flashrom/flashrom/0003-remove-duplicate-const-qualifiers.patch b/meta-oe/recipes-extended/flashrom/flashrom/0003-remove-duplicate-const-qualifiers.patch deleted file mode 100644 index 99283d3..0000000 --- a/meta-oe/recipes-extended/flashrom/flashrom/0003-remove-duplicate-const-qualifiers.patch +++ /dev/null @@ -1,71 +0,0 @@ -From 42ec9bd51e60aa38fe6e78f644e742d6989b6683 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 19 Oct 2016 00:25:23 +0000 -Subject: [PATCH 3/3] remove duplicate const qualifiers - -Signed-off-by: Khem Raj ---- - bitbang_spi.c | 12 ++++++------ - dummyflasher.c | 2 +- - 2 files changed, 7 insertions(+), 7 deletions(-) - -diff --git a/bitbang_spi.c b/bitbang_spi.c -index 11d2de1..508cf45 100644 ---- a/bitbang_spi.c -+++ b/bitbang_spi.c -@@ -26,33 +26,33 @@ - #include "spi.h" - - /* Note that CS# is active low, so val=0 means the chip is active. */ --static void bitbang_spi_set_cs(const const struct bitbang_spi_master *master, int val) -+static void bitbang_spi_set_cs(const struct bitbang_spi_master *master, int val) - { - master->set_cs(val); - } - --static void bitbang_spi_set_sck(const const struct bitbang_spi_master *master, int val) -+static void bitbang_spi_set_sck(const struct bitbang_spi_master *master, int val) - { - master->set_sck(val); - } - --static void bitbang_spi_set_mosi(const const struct bitbang_spi_master *master, int val) -+static void bitbang_spi_set_mosi(const struct bitbang_spi_master *master, int val) - { - master->set_mosi(val); - } - --static int bitbang_spi_get_miso(const const struct bitbang_spi_master *master) -+static int bitbang_spi_get_miso(const struct bitbang_spi_master *master) - { - return master->get_miso(); - } - --static void bitbang_spi_request_bus(const const struct bitbang_spi_master *master) -+static void bitbang_spi_request_bus(const struct bitbang_spi_master *master) - { - if (master->request_bus) - master->request_bus(); - } - --static void bitbang_spi_release_bus(const const struct bitbang_spi_master *master) -+static void bitbang_spi_release_bus(const struct bitbang_spi_master *master) - { - if (master->release_bus) - master->release_bus(); -diff --git a/dummyflasher.c b/dummyflasher.c -index 66d0df0..d0de41c 100644 ---- a/dummyflasher.c -+++ b/dummyflasher.c -@@ -66,7 +66,7 @@ int spi_ignorelist_size = 0; - static uint8_t emu_status = 0; - - /* A legit complete SFDP table based on the MX25L6436E (rev. 1.8) datasheet. */ --static const uint8_t const sfdp_table[] = { -+static const uint8_t sfdp_table[] = { - 0x53, 0x46, 0x44, 0x50, // @0x00: SFDP signature - 0x00, 0x01, 0x01, 0xFF, // @0x04: revision 1.0, 2 headers - 0x00, 0x00, 0x01, 0x09, // @0x08: JEDEC SFDP header rev. 1.0, 9 DW long --- -1.9.1 - diff --git a/meta-oe/recipes-extended/flashrom/flashrom/sst26.patch b/meta-oe/recipes-extended/flashrom/flashrom/sst26.patch new file mode 100644 index 0000000..46a0152 --- /dev/null +++ b/meta-oe/recipes-extended/flashrom/flashrom/sst26.patch @@ -0,0 +1,198 @@ +--- flashrom-0.9.9.orig/chipdrivers.h ++++ flashrom-0.9.9/chipdrivers.h +@@ -103,6 +103,7 @@ + int spi_prettyprint_status_register_sst25(struct flashctx *flash); + int spi_prettyprint_status_register_sst25vf016(struct flashctx *flash); + int spi_prettyprint_status_register_sst25vf040b(struct flashctx *flash); ++int spi_disable_blockprotect_sst26_global_unprotect(struct flashctx *flash); + + /* sfdp.c */ + int probe_spi_sfdp(struct flashctx *flash); +--- flashrom-0.9.9.orig/flashchips.c ++++ flashrom-0.9.9/flashchips.c +@@ -12564,6 +12564,120 @@ + + { + .vendor = "SST", ++ .name = "SST26VF016B(A)", ++ .bustype = BUS_SPI, ++ .manufacture_id = SST_ID, ++ .model_id = SST_SST26VF016B, ++ .total_size = 2048, ++ .page_size = 256, ++ .feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP, ++ .tested = TEST_OK_PREW, ++ .probe = probe_spi_rdid, ++ .probe_timing = TIMING_ZERO, ++ .block_erasers = ++ { ++ { ++ .eraseblocks = { {4 * 1024, 512} }, ++ .block_erase = spi_block_erase_20, ++ }, { ++ .eraseblocks = { ++ {8 * 1024, 4}, ++ {32 * 1024, 1}, ++ {64 * 1024, 30}, ++ {32 * 1024, 1}, ++ {8 * 1024, 4}, ++ }, ++ .block_erase = spi_block_erase_d8, ++ }, { ++ .eraseblocks = { {2 * 1024 * 1024, 1} }, ++ .block_erase = spi_block_erase_c7, ++ }, ++ }, ++ .printlock = spi_prettyprint_status_register_plain, /* TODO: improve */ ++ .unlock = spi_disable_blockprotect_sst26_global_unprotect, ++ .write = spi_chip_write_256, /* Multi I/O supported */ ++ .read = spi_chip_read, /* Fast read (0x0B) and multi I/O supported */ ++ .voltage = {2700, 3600}, ++ }, ++ { ++ .vendor = "SST", ++ .name = "SST26VF032B(A)", ++ .bustype = BUS_SPI, ++ .manufacture_id = SST_ID, ++ .model_id = SST_SST26VF032B, ++ .total_size = 4096, ++ .page_size = 256, ++ .feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP, ++ .tested = TEST_UNTESTED, ++ .probe = probe_spi_rdid, ++ .probe_timing = TIMING_ZERO, ++ .block_erasers = ++ { ++ { ++ .eraseblocks = { {4 * 1024, 1024} }, ++ .block_erase = spi_block_erase_20, ++ }, { ++ .eraseblocks = { ++ {8 * 1024, 4}, ++ {32 * 1024, 1}, ++ {64 * 1024, 62}, ++ {32 * 1024, 1}, ++ {8 * 1024, 4}, ++ }, ++ .block_erase = spi_block_erase_d8, ++ }, { ++ .eraseblocks = { {4 * 1024 * 1024, 1} }, ++ .block_erase = spi_block_erase_c7, ++ }, ++ }, ++ .printlock = spi_prettyprint_status_register_plain, /* TODO: improve */ ++ .unlock = spi_disable_blockprotect_sst26_global_unprotect, ++ .write = spi_chip_write_256, /* Multi I/O supported */ ++ .read = spi_chip_read, /* Fast read (0x0B) and multi I/O supported */ ++ .voltage = {2700, 3600}, ++ }, ++ ++ ++ { ++ .vendor = "SST", ++ .name = "SST26VF064B(A)", ++ .bustype = BUS_SPI, ++ .manufacture_id = SST_ID, ++ .model_id = SST_SST26VF064B, ++ .total_size = 8192, ++ .page_size = 256, ++ .feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP, ++ .tested = TEST_OK_PREW, ++ .probe = probe_spi_rdid, ++ .probe_timing = TIMING_ZERO, ++ .block_erasers = ++ { ++ { ++ .eraseblocks = { {4 * 1024, 2048} }, ++ .block_erase = spi_block_erase_20, ++ }, { ++ .eraseblocks = { ++ {8 * 1024, 4}, ++ {32 * 1024, 1}, ++ {64 * 1024, 126}, ++ {32 * 1024, 1}, ++ {8 * 1024, 4}, ++ }, ++ .block_erase = spi_block_erase_d8, ++ }, { ++ .eraseblocks = { {8 * 1024 * 1024, 1} }, ++ .block_erase = spi_block_erase_c7, ++ }, ++ }, ++ .printlock = spi_prettyprint_status_register_plain, /* TODO: improve */ ++ .unlock = spi_disable_blockprotect_sst26_global_unprotect, ++ .write = spi_chip_write_256, /* Multi I/O supported */ ++ .read = spi_chip_read, /* Fast read (0x0B) and multi I/O supported */ ++ .voltage = {2700, 3600}, ++ }, ++ ++ { ++ .vendor = "SST", + .name = "SST25WF512", + .bustype = BUS_SPI, + .manufacture_id = SST_ID, +--- flashrom-0.9.9.orig/flashchips.h ++++ flashrom-0.9.9/flashchips.h +@@ -697,6 +697,8 @@ + #define SST_SST25VF064C 0x254B + #define SST_SST26VF016 0x2601 + #define SST_SST26VF032 0x2602 ++#define SST_SST26VF016B 0x2641 ++#define SST_SST26VF032B 0x2642 + #define SST_SST26VF064B 0x2643 + #define SST_SST27SF512 0xA4 + #define SST_SST27SF010 0xA5 +--- flashrom-0.9.9.orig/linux_spi.c ++++ flashrom-0.9.9/linux_spi.c +@@ -141,6 +141,16 @@ + return 0; + } + ++static void print_hex(const char *msg, const void *buf, size_t len) ++{ ++ size_t i; ++ msg_pspew("%s:\n", msg); ++ for (i = 0; i < len; i++) { ++ msg_pspew(" %02x", ((uint8_t *)buf)[i]); ++ } ++ msg_pspew("\n"); ++} ++ + static int linux_spi_send_command(struct flashctx *flash, unsigned int writecnt, + unsigned int readcnt, + const unsigned char *txbuf, +@@ -172,10 +182,12 @@ + else + iocontrol_code = SPI_IOC_MESSAGE(2); + ++ print_hex("Write", txbuf, writecnt); + if (ioctl(fd, iocontrol_code, msg) == -1) { + msg_cerr("%s: ioctl: %s\n", __func__, strerror(errno)); + return -1; + } ++ if (readcnt) print_hex("Got", rxbuf, readcnt); + return 0; + } + +--- flashrom-0.9.9.orig/spi25_statusreg.c ++++ flashrom-0.9.9/spi25_statusreg.c +@@ -196,6 +196,19 @@ + return spi_disable_blockprotect_generic(flash, 0x3C, 0, 0, 0xFF); + } + ++int spi_disable_blockprotect_sst26_global_unprotect(struct flashctx *flash) ++{ ++ int result = spi_write_enable(flash); ++ if (result) ++ return result; ++ ++ static const unsigned char cmd[] = { 0x98 }; /* ULBPR */ ++ result = spi_send_command(flash, sizeof(cmd), 0, cmd, NULL); ++ if (result) ++ msg_cerr("ULBPR failed\n"); ++ return result; ++} ++ + /* A common block protection disable that tries to unset the status register bits masked by 0x0C (BP0-1) and + * protected/locked by bit #7. Useful when bits 4-5 may be non-0). */ + int spi_disable_blockprotect_bp1_srwd(struct flashctx *flash) diff --git a/meta-oe/recipes-extended/flashrom/flashrom_0.9.6.1.bb b/meta-oe/recipes-extended/flashrom/flashrom_0.9.6.1.bb deleted file mode 100644 index 0edc688..0000000 --- a/meta-oe/recipes-extended/flashrom/flashrom_0.9.6.1.bb +++ /dev/null @@ -1,22 +0,0 @@ -DESCRIPTION = "flashrom is a utility for identifying, reading, writing, verifying and erasing flash chips" -LICENSE = "GPLv2" -HOMEPAGE = "http://flashrom.org" - -LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" -DEPENDS = "pciutils" - -SRC_URI = "http://download.flashrom.org/releases/flashrom-${PV}.tar.bz2 \ - file://0001-Fix-compilation-on-aarch64.patch \ - file://0002-Disable-Wtautological-pointer-compare-when-using-cla.patch \ - file://0003-remove-duplicate-const-qualifiers.patch \ - file://0001-ichspi.c-Fix-build-with-clang.patch \ - " - -SRC_URI[md5sum] = "407e836c0a2b17ec76583cb6809f65e5" -SRC_URI[sha256sum] = "6f7b588cce74c90b4fe9c9c794de105de76e0323442fb5770b1aeab81e9d560a" - -CFLAGS += "-Wno-error=unknown-pragmas" - -do_install() { - oe_runmake PREFIX=${prefix} DESTDIR=${D} install -} diff --git a/meta-oe/recipes-extended/flashrom/flashrom_0.9.9.bb b/meta-oe/recipes-extended/flashrom/flashrom_0.9.9.bb new file mode 100644 index 0000000..1bd9792 --- /dev/null +++ b/meta-oe/recipes-extended/flashrom/flashrom_0.9.9.bb @@ -0,0 +1,19 @@ +DESCRIPTION = "flashrom is a utility for identifying, reading, writing, verifying and erasing flash chips" +LICENSE = "GPLv2" +HOMEPAGE = "http://flashrom.org" + +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" +DEPENDS = "pciutils libusb" + +SRC_URI = "http://download.flashrom.org/releases/flashrom-${PV}.tar.bz2 \ + file://0001-spi-Define-_XOPEN_SOURCE-to-enable-ffs-libc-API.patch \ + file://sst26.patch \ + " +SRC_URI[md5sum] = "aab9c98925d9cfb5ffb28b67a6112530" +SRC_URI[sha256sum] = "cb3156b0f63eb192024b76c0814135930297aac41f80761a5d293de769783c45" + +inherit pkgconfig + +do_install() { + oe_runmake PREFIX=${prefix} DESTDIR=${D} install +} -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:03:26 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:03:26 +0000 Subject: [oe-commits] [meta-openembedded] 59/75: python-requests, python3-requests: update to 2.28.1 In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170229.303C0234F0C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit c00f87f211b7cbf196d314e356ce982073723a87 Author: Pascal Bach AuthorDate: Wed Jul 19 17:33:46 2017 +0200 python-requests, python3-requests: update to 2.28.1 The copyright year changed in the license file. Signed-off-by: Pascal Bach Signed-off-by: Martin Jansa --- meta-python/recipes-devtools/python/python-requests.inc | 10 +++++++--- .../{python-requests_2.13.0.bb => python-requests_2.18.1.bb} | 2 +- .../{python3-requests_2.13.0.bb => python3-requests_2.18.1.bb} | 2 +- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/meta-python/recipes-devtools/python/python-requests.inc b/meta-python/recipes-devtools/python/python-requests.inc index b66f66e..81819bf 100644 --- a/meta-python/recipes-devtools/python/python-requests.inc +++ b/meta-python/recipes-devtools/python/python-requests.inc @@ -1,10 +1,12 @@ DESCRIPTION = "Python HTTP for Humans." HOMEPAGE = "http://python-requests.org" LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=d9bb3515869c0f426cb8441c899ae7f5" +LIC_FILES_CHKSUM = "file://LICENSE;md5=979d6a23b143e13ea0e5e3aa81248820" -SRC_URI[md5sum] = "921ec6b48f2ddafc8bb6160957baf444" -SRC_URI[sha256sum] = "5722cd09762faa01276230270ff16af7acf7c5c45d623868d9ba116f15791ce8" +SRC_URI[md5sum] = "40f723ed01dddeaf990d0609d073f021" +SRC_URI[sha256sum] = "c6f3bdf4a4323ac7b45d01e04a6f6c20e32a052cd04de81e05103abc049ad9b9" + +inherit pypi RDEPENDS_${PN} += " \ ${PYTHON_PN}-email \ @@ -15,6 +17,8 @@ RDEPENDS_${PN} += " \ ${PYTHON_PN}-pyopenssl \ ${PYTHON_PN}-pysocks \ ${PYTHON_PN}-urllib3 \ + ${PYTHON_PN}-chardet \ + ${PYTHON_PN}-idna \ " BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python-requests_2.13.0.bb b/meta-python/recipes-devtools/python/python-requests_2.18.1.bb similarity index 73% rename from meta-python/recipes-devtools/python/python-requests_2.13.0.bb rename to meta-python/recipes-devtools/python/python-requests_2.18.1.bb index 627bc95..0d7a29f 100644 --- a/meta-python/recipes-devtools/python/python-requests_2.13.0.bb +++ b/meta-python/recipes-devtools/python/python-requests_2.18.1.bb @@ -1,4 +1,4 @@ -inherit pypi setuptools +inherit setuptools require python-requests.inc RDEPENDS_${PN} += "${PYTHON_PN}-zlib" diff --git a/meta-python/recipes-devtools/python/python3-requests_2.13.0.bb b/meta-python/recipes-devtools/python/python3-requests_2.18.1.bb similarity index 81% rename from meta-python/recipes-devtools/python/python3-requests_2.13.0.bb rename to meta-python/recipes-devtools/python/python3-requests_2.18.1.bb index 5e869b7..d91d993 100644 --- a/meta-python/recipes-devtools/python/python3-requests_2.13.0.bb +++ b/meta-python/recipes-devtools/python/python3-requests_2.18.1.bb @@ -1,4 +1,4 @@ -inherit pypi setuptools3 +inherit setuptools3 require python-requests.inc # Add the runtime depends for selectors.py -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:03:30 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:03:30 +0000 Subject: [oe-commits] [meta-openembedded] 63/75: python3-pykickstart: add recipe 2.35 In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170229.4DAEA234F17@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 6e445ba8291d58f20e6a6b61afeabed85bd7b953 Author: Hongxu Jia AuthorDate: Thu Jul 20 03:44:29 2017 -0400 python3-pykickstart: add recipe 2.35 Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- ...0001-support-authentication-for-kickstart.patch | 151 +++++++++++++++++++++ ...-parser.py-add-lock-for-readKickstart-and.patch | 76 +++++++++++ ...-sections-shutdown-and-environment-in-gen.patch | 48 +++++++ ...d.py-retry-to-invoke-request-with-timeout.patch | 82 +++++++++++ .../python-pykickstart/python3-pykickstart_2.35.bb | 26 ++++ 5 files changed, 383 insertions(+) diff --git a/meta-python/recipes-extended/python-pykickstart/files/0001-support-authentication-for-kickstart.patch b/meta-python/recipes-extended/python-pykickstart/files/0001-support-authentication-for-kickstart.patch new file mode 100644 index 0000000..617699d --- /dev/null +++ b/meta-python/recipes-extended/python-pykickstart/files/0001-support-authentication-for-kickstart.patch @@ -0,0 +1,151 @@ +From d0d8890b5ef74c315381c9e1cff4b1d32892116b Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Thu, 1 Jun 2017 15:07:36 +0800 +Subject: [PATCH 1/4] support authentication for kickstart + +While download kickstart file from web server, +we support basic/digest authentication. + +Add KickstartAuthError to report authentication failure, +which the invoker could parse this specific error. + +Upstream-Status: inappropriate [oe specific] + +Signed-off-by: Hongxu Jia +--- + pykickstart/errors.py | 19 +++++++++++++++++++ + pykickstart/load.py | 32 +++++++++++++++++++++++++++----- + pykickstart/parser.py | 4 ++-- + 3 files changed, 48 insertions(+), 7 deletions(-) + +diff --git a/pykickstart/errors.py b/pykickstart/errors.py +index b76e84c..fd81bc8 100644 +--- a/pykickstart/errors.py ++++ b/pykickstart/errors.py +@@ -35,6 +35,10 @@ It also exports several exception classes: + + KickstartVersionError - An exception for errors relating to unsupported + syntax versions. ++ ++ KickstartAuthError - An exception for errors relating to authentication ++ failed while downloading kickstart from web server ++ + """ + import warnings + +@@ -103,3 +107,18 @@ class KickstartVersionError(KickstartError): + + def __str__ (self): + return self.value ++ ++class KickstartAuthError(KickstartError): ++ """An exception for errors relating to authentication failed while ++ downloading kickstart from web server ++ """ ++ def __init__(self, msg): ++ """Create a new KickstartAuthError exception instance with the ++ descriptive message val. val should be the return value of ++ formatErrorMsg. ++ """ ++ KickstartError.__init__(self, msg) ++ ++ def __str__(self): ++ return self.value ++ +diff --git a/pykickstart/load.py b/pykickstart/load.py +index 1f69b9c..0f5741b 100644 +--- a/pykickstart/load.py ++++ b/pykickstart/load.py +@@ -18,10 +18,13 @@ + # with the express permission of Red Hat, Inc. + # + import requests ++from requests.auth import HTTPDigestAuth ++from requests.auth import HTTPBasicAuth ++ + import shutil + import six + +-from pykickstart.errors import KickstartError ++from pykickstart.errors import KickstartError, KickstartAuthError + from pykickstart.i18n import _ + from requests.exceptions import SSLError, RequestException + +@@ -29,7 +32,7 @@ _is_url = lambda location: '://' in location # RFC 3986 + + SSL_VERIFY = True + +-def load_to_str(location): ++def load_to_str(location, user=None, passwd=None): + '''Load a destination URL or file into a string. + Type of input is inferred automatically. + +@@ -40,7 +43,7 @@ def load_to_str(location): + Raises: KickstartError on error reading''' + + if _is_url(location): +- return _load_url(location) ++ return _load_url(location, user=user, passwd=passwd) + else: + return _load_file(location) + +@@ -71,13 +74,32 @@ def load_to_file(location, destination): + _copy_file(location, destination) + return destination + ++def _get_auth(location, user=None, passwd=None): ++ ++ auth = None ++ request = requests.get(location, verify=SSL_VERIFY) ++ if request.status_code == requests.codes.unauthorized: ++ if user is None or passwd is None: ++ log.info("Require Authentication") ++ raise KickstartAuthError("Require Authentication.\nAppend 'ksuser= kspasswd=' to boot command") + ++ reasons = request.headers.get("WWW-Authenticate", "").split() ++ if reasons: ++ auth_type = reasons[0] ++ if auth_type == "Basic": ++ auth = HTTPBasicAuth(user, passwd) ++ elif auth_type == "Digest": ++ auth=HTTPDigestAuth(user, passwd) + +-def _load_url(location): ++ return auth ++ ++def _load_url(location, user=None, passwd=None): + '''Load a location (URL or filename) and return contents as string''' + ++ auth = _get_auth(location, user=user, passwd=passwd) ++ + try: +- request = requests.get(location, verify=SSL_VERIFY) ++ request = requests.get(location, verify=SSL_VERIFY, auth=auth) + except SSLError as e: + raise KickstartError(_('Error securely accessing URL "%s"') % location + ': {e}'.format(e=str(e))) + except RequestException as e: +diff --git a/pykickstart/parser.py b/pykickstart/parser.py +index d2b0fbe..26b5de9 100644 +--- a/pykickstart/parser.py ++++ b/pykickstart/parser.py +@@ -773,7 +773,7 @@ class KickstartParser(object): + i = PutBackIterator(s.splitlines(True) + [""]) + self._stateMachine (i) + +- def readKickstart(self, f, reset=True): ++ def readKickstart(self, f, reset=True, username=None, password=None): + """Process a kickstart file, given by the filename f.""" + if reset: + self._reset() +@@ -794,7 +794,7 @@ class KickstartParser(object): + self.currentdir[self._includeDepth] = cd + + try: +- s = load_to_str(f) ++ s = load_to_str(f, user=username, passwd=password) + except KickstartError as e: + raise KickstartError(formatErrorMsg(0, msg=_("Unable to open input kickstart file: %s") % str(e))) + +-- +2.7.4 + diff --git a/meta-python/recipes-extended/python-pykickstart/files/0002-pykickstart-parser.py-add-lock-for-readKickstart-and.patch b/meta-python/recipes-extended/python-pykickstart/files/0002-pykickstart-parser.py-add-lock-for-readKickstart-and.patch new file mode 100644 index 0000000..cb21235 --- /dev/null +++ b/meta-python/recipes-extended/python-pykickstart/files/0002-pykickstart-parser.py-add-lock-for-readKickstart-and.patch @@ -0,0 +1,76 @@ +From e6e747b883114bfad51ad93f823e65f5a4d6438a Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Thu, 1 Jun 2017 15:12:29 +0800 +Subject: [PATCH 2/4] pykickstart/parser.py: add lock for readKickstart and + support https without certification + +- Add lock for readKickstart to fix race issue + +- Support to download kickstart file through https without certification + +Upstream-Status: Inappropriate[oe specific] + +Signed-off-by: Hongxu Jia +--- + pykickstart/load.py | 2 +- + pykickstart/parser.py | 24 ++++++++++++++++++++++++ + 2 files changed, 25 insertions(+), 1 deletion(-) + +diff --git a/pykickstart/load.py b/pykickstart/load.py +index 0f5741b..48c8276 100644 +--- a/pykickstart/load.py ++++ b/pykickstart/load.py +@@ -30,7 +30,7 @@ from requests.exceptions import SSLError, RequestException + + _is_url = lambda location: '://' in location # RFC 3986 + +-SSL_VERIFY = True ++SSL_VERIFY = False + + def load_to_str(location, user=None, passwd=None): + '''Load a destination URL or file into a string. +diff --git a/pykickstart/parser.py b/pykickstart/parser.py +index 26b5de9..264ba05 100644 +--- a/pykickstart/parser.py ++++ b/pykickstart/parser.py +@@ -57,6 +57,26 @@ STATE_COMMANDS = "commands" + + ver = version.DEVEL + ++import logging ++log = logging.getLogger("anaconda") ++ ++import inspect ++import threading ++_private_ks_lock = threading.RLock() ++ ++class KsLock(object): ++ def __enter__(self): ++ log.info("%s %s" % (self.__class__.__name__, inspect.stack()[0][3])) ++ _private_ks_lock.acquire() ++ return _private_ks_lock ++ ++ def __exit__(self, exc_type, exc_val, exc_tb): ++ log.info("%s %s" % (self.__class__.__name__, inspect.stack()[0][3])) ++ _private_ks_lock.release() ++ ++ ++_ks_lock = KsLock() ++ + def _preprocessStateMachine (lineIter): + l = None + lineno = 0 +@@ -774,6 +794,10 @@ class KickstartParser(object): + self._stateMachine (i) + + def readKickstart(self, f, reset=True, username=None, password=None): ++ with _ks_lock: ++ self._readKickstart(f, reset=reset, username=username, password=password) ++ ++ def _readKickstart(self, f, reset=True, username=None, password=None): + """Process a kickstart file, given by the filename f.""" + if reset: + self._reset() +-- +2.7.4 + diff --git a/meta-python/recipes-extended/python-pykickstart/files/0003-comment-out-sections-shutdown-and-environment-in-gen.patch b/meta-python/recipes-extended/python-pykickstart/files/0003-comment-out-sections-shutdown-and-environment-in-gen.patch new file mode 100644 index 0000000..9fb25fb --- /dev/null +++ b/meta-python/recipes-extended/python-pykickstart/files/0003-comment-out-sections-shutdown-and-environment-in-gen.patch @@ -0,0 +1,48 @@ +From be6012a5dd49ae5e8ac035654ab1c6f37f0dc8f4 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Thu, 1 Jun 2017 15:15:15 +0800 +Subject: [PATCH 3/4] comment out sections shutdown and environment in + generated kickstart file + +Both of them is disabled by default. + +Upstream-Status: Inappropriate[oe specific] + +Signed-off-by: Hongxu Jia + +fixup! add comments of shutdown for user +--- + pykickstart/commands/reboot.py | 3 +++ + pykickstart/parser.py | 2 +- + 2 files changed, 4 insertions(+), 1 deletion(-) + +diff --git a/pykickstart/commands/reboot.py b/pykickstart/commands/reboot.py +index 88799ba..2d0cea9 100644 +--- a/pykickstart/commands/reboot.py ++++ b/pykickstart/commands/reboot.py +@@ -41,6 +41,9 @@ class FC3_Reboot(KickstartCommand): + elif self.action == KS_SHUTDOWN: + retval += "# Shutdown after installation\nshutdown" + retval += self._getArgsAsStr() + "\n" ++ else: ++ retval += "# Shutdown after installation\n#shutdown" ++ retval += self._getArgsAsStr() + "\n" + + return retval + +diff --git a/pykickstart/parser.py b/pykickstart/parser.py +index 264ba05..b3f33d7 100644 +--- a/pykickstart/parser.py ++++ b/pykickstart/parser.py +@@ -383,7 +383,7 @@ class Packages(KickstartObject): + + if not self.default: + if self.environment: +- pkgs += "@^%s\n" % self.environment ++ pkgs += "#@^%s\n" % self.environment + + grps = self.groupList + grps.sort() +-- +2.7.4 + diff --git a/meta-python/recipes-extended/python-pykickstart/files/0004-load.py-retry-to-invoke-request-with-timeout.patch b/meta-python/recipes-extended/python-pykickstart/files/0004-load.py-retry-to-invoke-request-with-timeout.patch new file mode 100644 index 0000000..70254f6 --- /dev/null +++ b/meta-python/recipes-extended/python-pykickstart/files/0004-load.py-retry-to-invoke-request-with-timeout.patch @@ -0,0 +1,82 @@ +From c0e63f0d3c09bdabb0ad2c88b7cc73e7618dd86a Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Thu, 15 Jun 2017 17:35:33 +0800 +Subject: [PATCH 4/4] load.py: retry to invoke request with timeout + +While networkless, use request to fetch kickstart file from +network, it failed and wait 300s to break, we should retry +to invoke request with timeout explicitly. So if it the +network is up, the fetch works. + +Upstream-Status: inappropriate [oe specific] + +Signed-off-by: Hongxu Jia +--- + pykickstart/load.py | 30 ++++++++++++++++++++++++++++++ + 1 file changed, 30 insertions(+) + +diff --git a/pykickstart/load.py b/pykickstart/load.py +index 48c8276..74b266b 100644 +--- a/pykickstart/load.py ++++ b/pykickstart/load.py +@@ -21,6 +21,7 @@ import requests + from requests.auth import HTTPDigestAuth + from requests.auth import HTTPBasicAuth + ++import time + import shutil + import six + +@@ -28,6 +29,9 @@ from pykickstart.errors import KickstartError, KickstartAuthError + from pykickstart.i18n import _ + from requests.exceptions import SSLError, RequestException + ++import logging ++log = logging.getLogger("anaconda") ++ + _is_url = lambda location: '://' in location # RFC 3986 + + SSL_VERIFY = False +@@ -74,6 +78,29 @@ def load_to_file(location, destination): + _copy_file(location, destination) + return destination + ++def _access_url(location): ++ status = False ++ ++ # Retry 45 times, wait 45s~135s ++ i = 0 ++ while i < 45: ++ ++ try: ++ request = requests.get(location, verify=SSL_VERIFY, timeout=2) ++ except RequestException as e: ++ log.info("Try '%s' %d times, %s" % (location, i, str(e))) ++ status = False ++ i += 1 ++ time.sleep(1) ++ continue ++ ++ else: ++ status = True ++ return status ++ ++ return status ++ ++ + def _get_auth(location, user=None, passwd=None): + + auth = None +@@ -96,6 +123,9 @@ def _get_auth(location, user=None, passwd=None): + def _load_url(location, user=None, passwd=None): + '''Load a location (URL or filename) and return contents as string''' + ++ if not _access_url(location): ++ raise KickstartError(_("Connection %s failed" % location)) ++ + auth = _get_auth(location, user=user, passwd=passwd) + + try: +-- +2.7.4 + diff --git a/meta-python/recipes-extended/python-pykickstart/python3-pykickstart_2.35.bb b/meta-python/recipes-extended/python-pykickstart/python3-pykickstart_2.35.bb new file mode 100644 index 0000000..e96af43 --- /dev/null +++ b/meta-python/recipes-extended/python-pykickstart/python3-pykickstart_2.35.bb @@ -0,0 +1,26 @@ +DESCRIPTION = "A python library for manipulating kickstart files" +HOMEPAGE = "http://fedoraproject.org/wiki/pykickstart" +LICENSE = "GPLv2+" + +LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b" +FILESEXTRAPATHS_prepend := "${THISDIR}/files:" + +DEPENDS = "python3" +RDEPENDS_${PN} = "python3 \ + python3-requests \ + python3-six \ +" + +S = "${WORKDIR}/git" +SRC_URI = "git://github.com/rhinstaller/pykickstart.git;protocol=https;branch=pykickstart-2 \ + file://0001-support-authentication-for-kickstart.patch \ + file://0002-pykickstart-parser.py-add-lock-for-readKickstart-and.patch \ + file://0003-comment-out-sections-shutdown-and-environment-in-gen.patch \ + file://0004-load.py-retry-to-invoke-request-with-timeout.patch \ + " +SRCREV = "b2787a818540e678c2f9c5dca0c6bbd65b8b55e5" + +inherit setuptools3 + +PROVIDES = "pykickstart" +RPROVIDES_${PN} = "pykickstart" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:03:29 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:03:29 +0000 Subject: [oe-commits] [meta-openembedded] 62/75: libgnomekbd: 2.32 -> 3.22 In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170229.45CD1234F14@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit baa7758845df8c6adc445ace7c025f691a243d31 Author: Hongxu Jia AuthorDate: Thu Jul 20 03:44:28 2017 -0400 libgnomekbd: 2.32 -> 3.22 Remove --disable-schemas-install: ... |QA Issue: libgnomekbd: configure was passed unrecognised options: --disable-schemas-install [unknown-configure-option] ... Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- .../gnome-settings-daemon_2.32.1.bb | 3 --- .../recipes-gnome/libgnome/libgnomekbd_2.32.0.bb | 20 -------------------- .../recipes-gnome/libgnome/libgnomekbd_3.22.0.bb | 17 +++++++++++++++++ 3 files changed, 17 insertions(+), 23 deletions(-) diff --git a/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_2.32.1.bb b/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_2.32.1.bb index c1db6d3..9a18972 100644 --- a/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_2.32.1.bb +++ b/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_2.32.1.bb @@ -40,7 +40,4 @@ FILES_${PN}-dbg += "${libdir}/gnome-settings-daemon-2.0/.debug" FILES_${PN}-dev += "${libdir}/gnome-settings-daemon-2.0/*.la" FILES_${PN}-staticdev += "${libdir}/gnome-settings-daemon-2.0/*.a" - -PNBLACKLIST[gnome-settings-daemon] ?= "Depends on blacklisted libgnomekbd - the recipe will be removed on 2017-09-01 unless the issue is fixed" - PNBLACKLIST[gnome-settings-daemon] ?= "Depends on blacklisted gnome-desktop - the recipe will be removed on 2017-09-01 unless the issue is fixed" diff --git a/meta-gnome/recipes-gnome/libgnome/libgnomekbd_2.32.0.bb b/meta-gnome/recipes-gnome/libgnome/libgnomekbd_2.32.0.bb deleted file mode 100644 index 852d8e1..0000000 --- a/meta-gnome/recipes-gnome/libgnome/libgnomekbd_2.32.0.bb +++ /dev/null @@ -1,20 +0,0 @@ -SUMMARY = "GNOME keyboard library" -LICENSE = "LGPLv2" -LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=6e29c688d912da12b66b73e32b03d812" - -SECTION = "x11/gnome/libs" - -DEPENDS = "gconf gtk+ glib-2.0 libxklavier intltool-native gnome-common-native" - -inherit gnome - -SRC_URI[archive.md5sum] = "de32a6e3e3464b566eecdc4332bf34bd" -SRC_URI[archive.sha256sum] = "ddd52c4cc7d83ad7ef964a1bcb4db87407e65b00ffc3e70c088ca4ee7383d256" -GNOME_COMPRESS_TYPE="bz2" - -do_configure_append() { - find ${B} -name Makefile | xargs sed -i s:'-I$(includedir)':'-I.':g - find ${B} -name Makefile | xargs sed -i s:'-I/usr/include':'-I${STAGING_INCDIR}':g -} - -PNBLACKLIST[libgnomekbd] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130608/ - the recipe will be removed on 2017-09-01 unless the issue is fixed" diff --git a/meta-gnome/recipes-gnome/libgnome/libgnomekbd_3.22.0.bb b/meta-gnome/recipes-gnome/libgnome/libgnomekbd_3.22.0.bb new file mode 100644 index 0000000..12ed81d --- /dev/null +++ b/meta-gnome/recipes-gnome/libgnome/libgnomekbd_3.22.0.bb @@ -0,0 +1,17 @@ +SUMMARY = "GNOME keyboard library" +LICENSE = "LGPLv2" +LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=6e29c688d912da12b66b73e32b03d812" + +SECTION = "x11/gnome/libs" + +DEPENDS = "gconf glib-2.0 libxklavier gtk+3 intltool-native" + +inherit gnome gobject-introspection gettext + +GNOME_COMPRESS_TYPE = "xz" + +SRC_URI[archive.md5sum] = "7b1ebf99f4254c99922163c262c7ff04" +SRC_URI[archive.sha256sum] = "340b30dabfebbd4e0e6c0fe34a378966dd5640b5d44595ab8a19b0be255d77df" + +EXTRA_OECONF_remove = "--disable-schemas-install" + -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:03:34 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:03:34 +0000 Subject: [oe-commits] [meta-openembedded] 67/75: python-pytun: addition of recipe for python and python3 using pipy In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170229.6CBC3234F16@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 5da62661fa183c656fefd9e172f044314e0ee83b Author: Romain Bazile AuthorDate: Thu Jul 20 09:56:51 2017 +0200 python-pytun: addition of recipe for python and python3 using pipy Signed-off-by: Romain Bazile Signed-off-by: Martin Jansa --- meta-python/recipes-connectivity/python-pytun/python-pytun.inc | 10 ++++++++++ .../recipes-connectivity/python-pytun/python-pytun_2.2.1.bb | 2 ++ .../recipes-connectivity/python-pytun/python3-pytun_2.2.1.bb | 2 ++ 3 files changed, 14 insertions(+) diff --git a/meta-python/recipes-connectivity/python-pytun/python-pytun.inc b/meta-python/recipes-connectivity/python-pytun/python-pytun.inc new file mode 100644 index 0000000..79a8bfb --- /dev/null +++ b/meta-python/recipes-connectivity/python-pytun/python-pytun.inc @@ -0,0 +1,10 @@ +SUMMARY = "Python TUN/TAP tunnel module" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=13f7629e8e4989b66b4a913ab05a91de" + +SRC_URI[md5sum] = "5b35b1cf80a02cca7ec72eb95d6b0192" +SRC_URI[sha256sum] = "07595dadf85f5176eb08c8d4d9ba5b862a180e96633f670f91437c47a1bead0d" + +PYPI_PACKAGE = "python-pytun" + +inherit pypi diff --git a/meta-python/recipes-connectivity/python-pytun/python-pytun_2.2.1.bb b/meta-python/recipes-connectivity/python-pytun/python-pytun_2.2.1.bb new file mode 100644 index 0000000..3fc587f --- /dev/null +++ b/meta-python/recipes-connectivity/python-pytun/python-pytun_2.2.1.bb @@ -0,0 +1,2 @@ +require python-pytun.inc +inherit setuptools diff --git a/meta-python/recipes-connectivity/python-pytun/python3-pytun_2.2.1.bb b/meta-python/recipes-connectivity/python-pytun/python3-pytun_2.2.1.bb new file mode 100644 index 0000000..938d9d7 --- /dev/null +++ b/meta-python/recipes-connectivity/python-pytun/python3-pytun_2.2.1.bb @@ -0,0 +1,2 @@ +require python-pytun.inc +inherit setuptools3 -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:03:35 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:03:35 +0000 Subject: [oe-commits] [meta-openembedded] 68/75: gimp: remove libart-lgpl build dependency In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170229.730F0234F10@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 4563f6dd6aa9b7bb6f1469303797e1cc9e5d3741 Author: Ross Burton AuthorDate: Thu Jul 20 16:35:08 2017 +0100 gimp: remove libart-lgpl build dependency This build dependency was removed in 2008 with the port to Cairo. Signed-off-by: Ross Burton Signed-off-by: Martin Jansa --- meta-oe/recipes-graphics/gimp/gimp_2.8.22.bb | 1 - 1 file changed, 1 deletion(-) diff --git a/meta-oe/recipes-graphics/gimp/gimp_2.8.22.bb b/meta-oe/recipes-graphics/gimp/gimp_2.8.22.bb index 1ecd2b7..cd7e27a 100644 --- a/meta-oe/recipes-graphics/gimp/gimp_2.8.22.bb +++ b/meta-oe/recipes-graphics/gimp/gimp_2.8.22.bb @@ -11,7 +11,6 @@ DEPENDS = " \ gtk+ \ babl \ gegl \ - libart-lgpl \ jpeg \ libpng \ libexif \ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:03:32 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:03:32 +0000 Subject: [oe-commits] [meta-openembedded] 65/75: isomd5sum: add recipe 1.2.1 In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170229.5EBDB234F13@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 85718e3767d53bf36b743da6cfc87575e0f29c1b Author: Hongxu Jia AuthorDate: Thu Jul 20 03:44:32 2017 -0400 isomd5sum: add recipe 1.2.1 Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- .../files/0001-tweak-install-prefix.patch | 60 ++++++++++++++++++++++ .../isomd5sum/files/0002-fix-parallel-error.patch | 33 ++++++++++++ .../recipes-extended/isomd5sum/isomd5sum_1.2.1.bb | 35 +++++++++++++ 3 files changed, 128 insertions(+) diff --git a/meta-oe/recipes-extended/isomd5sum/files/0001-tweak-install-prefix.patch b/meta-oe/recipes-extended/isomd5sum/files/0001-tweak-install-prefix.patch new file mode 100644 index 0000000..bcfc117 --- /dev/null +++ b/meta-oe/recipes-extended/isomd5sum/files/0001-tweak-install-prefix.patch @@ -0,0 +1,60 @@ +From cffe4767f89ea0b54b57e8bf9065a08a9c38d46e Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Tue, 18 Jul 2017 21:53:00 -0400 +Subject: [PATCH] tweak install prefix + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Hongxu Jia +--- + Makefile | 28 ++++++++++++++-------------- + 1 file changed, 14 insertions(+), 14 deletions(-) + +diff --git a/Makefile b/Makefile +index df16a3b..fbdfcb4 100644 +--- a/Makefile ++++ b/Makefile +@@ -39,26 +39,26 @@ pyisomd5sum.so: $(PYOBJS) + install: all install-bin install-python install-devel + + install-bin: +- install -d -m 0755 $(DESTDIR)/usr/bin +- install -d -m 0755 $(DESTDIR)/usr/share/man/man1 +- install -m 0755 implantisomd5 $(DESTDIR)/usr/bin +- install -m 0755 checkisomd5 $(DESTDIR)/usr/bin +- install -m 0644 implantisomd5.1 $(DESTDIR)/usr/share/man/man1 +- install -m 0644 checkisomd5.1 $(DESTDIR)/usr/share/man/man1 ++ install -d -m 0755 $(DESTDIR)$(bindir) ++ install -d -m 0755 $(DESTDIR)$(mandir)/man1 ++ install -m 0755 implantisomd5 $(DESTDIR)$(bindir) ++ install -m 0755 checkisomd5 $(DESTDIR)$(bindir) ++ install -m 0644 implantisomd5.1 $(DESTDIR)$(mandir)/man1 ++ install -m 0644 checkisomd5.1 $(DESTDIR)$(mandir)/man1 + + install-python: + install -d -m 0755 $(DESTDIR)$(PYTHONSITEPACKAGES) + install -m 0755 pyisomd5sum.so $(DESTDIR)$(PYTHONSITEPACKAGES) + + install-devel: +- install -d -m 0755 $(DESTDIR)/usr/include +- install -d -m 0755 $(DESTDIR)/usr/$(LIBDIR) +- install -d -m 0755 $(DESTDIR)/usr/share/pkgconfig +- install -m 0644 libimplantisomd5.h $(DESTDIR)/usr/include/ +- install -m 0644 libcheckisomd5.h $(DESTDIR)/usr/include/ +- install -m 0644 libimplantisomd5.a $(DESTDIR)/usr/$(LIBDIR) +- install -m 0644 libcheckisomd5.a $(DESTDIR)/usr/$(LIBDIR) +- sed "s#@VERSION@#${VERSION}#g; s#@includedir@#${DESTDIR}/usr/include#g; s#@libdir@#${DESTDIR}/usr/${LIBDIR}#g" isomd5sum.pc.in > ${DESTDIR}/usr/share/pkgconfig/isomd5sum.pc ++ install -d -m 0755 $(DESTDIR)$(includedir) ++ install -d -m 0755 $(DESTDIR)$(libdir) ++ install -d -m 0755 $(DESTDIR)${datadir}/pkgconfig ++ install -m 0644 libimplantisomd5.h $(DESTDIR)$(includedir) ++ install -m 0644 libcheckisomd5.h $(DESTDIR)$(includedir) ++ install -m 0644 libimplantisomd5.a $(DESTDIR)$(libdir) ++ install -m 0644 libcheckisomd5.a $(DESTDIR)$(libdir) ++ sed "s#@VERSION@#${VERSION}#g; s#@includedir@#${DESTDIR}/usr/include#g; s#@libdir@#${DESTDIR}/usr/${LIBDIR}#g" isomd5sum.pc.in > ${DESTDIR}${datadir}/pkgconfig/isomd5sum.pc + + clean: + rm -f *.o *.so *.pyc *.a .depend *~ +-- +2.8.1 + diff --git a/meta-oe/recipes-extended/isomd5sum/files/0002-fix-parallel-error.patch b/meta-oe/recipes-extended/isomd5sum/files/0002-fix-parallel-error.patch new file mode 100644 index 0000000..7a33e42 --- /dev/null +++ b/meta-oe/recipes-extended/isomd5sum/files/0002-fix-parallel-error.patch @@ -0,0 +1,33 @@ +From 2acce7bc8ab7711e76c7765c84a198fe38f247f3 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Tue, 18 Jul 2017 23:06:41 -0400 +Subject: [PATCH] fix parallel error + +Upstream-Status: Pending + +Signed-off-by: Hongxu Jia +--- + Makefile | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/Makefile b/Makefile +index fbdfcb4..2ad3238 100644 +--- a/Makefile ++++ b/Makefile +@@ -29,9 +29,11 @@ implantisomd5: implantisomd5.o libimplantisomd5.a + checkisomd5: checkisomd5.o libcheckisomd5.a + $(CC) $(CPPFLAGS) $(CFLAGS) checkisomd5.o libcheckisomd5.a -lpopt $(LDFLAGS) -o checkisomd5 + +-libimplantisomd5.a: libimplantisomd5.a(libimplantisomd5.o md5.o utilities.o) ++libimplantisomd5.a: libimplantisomd5.o md5.o utilities.o ++ $(AR) rv $@ $^ + +-libcheckisomd5.a: libcheckisomd5.a(libcheckisomd5.o md5.o utilities.o) ++libcheckisomd5.a: libcheckisomd5.o md5.o utilities.o ++ $(AR) rv $@ $^ + + pyisomd5sum.so: $(PYOBJS) + $(CC) $(CPPFLAGS) $(CFLAGS) -shared -g -fpic $(PYOBJS) $(LDFLAGS) -o pyisomd5sum.so +-- +2.8.1 + diff --git a/meta-oe/recipes-extended/isomd5sum/isomd5sum_1.2.1.bb b/meta-oe/recipes-extended/isomd5sum/isomd5sum_1.2.1.bb new file mode 100644 index 0000000..815113e --- /dev/null +++ b/meta-oe/recipes-extended/isomd5sum/isomd5sum_1.2.1.bb @@ -0,0 +1,35 @@ +SUMMARY = "Tools for taking the MD5 sum of ISO images" +DESCRIPTION = "Tools for taking the MD5 sum of ISO images" + +DEPENDS = "popt python3 openssl curl popt-native" +RDEPENDS_${PN} = "openssl curl" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b" + +SRC_URI = "git://github.com/rhinstaller/isomd5sum.git;branch=master \ + file://0001-tweak-install-prefix.patch \ + file://0002-fix-parallel-error.patch \ +" + +S = "${WORKDIR}/git" +inherit python3native + +EXTRA_OEMAKE += " \ + DESTDIR='${D}' \ + PYTHONINCLUDE='-I${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI}' \ + PYTHONSITEPACKAGES='${PYTHON_SITEPACKAGES_DIR}' \ +" + +do_install () { + oe_runmake install +} + +PACKAGES += "${PYTHON_PN}-${PN} ${PYTHON_PN}-${PN}-dbg" + +FILES_${PYTHON_PN}-${PN} = "${PYTHON_SITEPACKAGES_DIR}/pyisomd5sum.so" +FILES_${PYTHON_PN}-${PN}-dbg = "${PYTHON_SITEPACKAGES_DIR}/.debug/pyisomd5sum.so" + +SRCREV = "69dc036d20761715b734ca9cc59ecc6dc8145026" + +BBCLASSEXTEND = "native" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:03:36 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:03:36 +0000 Subject: [oe-commits] [meta-openembedded] 69/75: fribidi_0.19.7.bb: set CVE_PRODUCT to gnu_fribidi In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170229.78D35234F0F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 854b98c05acb416f46846428425c97b53e87d987 Author: Mikko Rapeli AuthorDate: Fri Jul 21 10:03:15 2017 +0300 fribidi_0.19.7.bb: set CVE_PRODUCT to gnu_fribidi gnu_fribidi is used in NVD for CVE's like: https://nvd.nist.gov/vuln/detail/CVE-2010-3444 Signed-off-by: Mikko Rapeli Signed-off-by: Martin Jansa --- meta-oe/recipes-devtools/libfribidi/fribidi_0.19.7.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta-oe/recipes-devtools/libfribidi/fribidi_0.19.7.bb b/meta-oe/recipes-devtools/libfribidi/fribidi_0.19.7.bb index e79de66..423a914 100644 --- a/meta-oe/recipes-devtools/libfribidi/fribidi_0.19.7.bb +++ b/meta-oe/recipes-devtools/libfribidi/fribidi_0.19.7.bb @@ -16,3 +16,5 @@ SRC_URI = "http://fribidi.org/download/fribidi-${PV}.tar.bz2" SRC_URI[md5sum] = "6c7e7cfdd39c908f7ac619351c1c5c23" SRC_URI[sha256sum] = "08222a6212bbc2276a2d55c3bf370109ae4a35b689acbc66571ad2a670595a8e" + +CVE_PRODUCT = "gnu_fribidi" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:03:37 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:03:37 +0000 Subject: [oe-commits] [meta-openembedded] 70/75: krb5_1.15.1.bb: set CVE_PRODUCT to kerberos In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170229.7EE2A234F0E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 236ca5e37c5368cdaf95e02d395f6e2479cd98b3 Author: Mikko Rapeli AuthorDate: Fri Jul 21 10:03:16 2017 +0300 krb5_1.15.1.bb: set CVE_PRODUCT to kerberos It is used in NVD database for CVE's like: https://nvd.nist.gov/vuln/detail/CVE-2016-3120 Signed-off-by: Mikko Rapeli Signed-off-by: Martin Jansa --- meta-oe/recipes-connectivity/krb5/krb5_1.15.1.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta-oe/recipes-connectivity/krb5/krb5_1.15.1.bb b/meta-oe/recipes-connectivity/krb5/krb5_1.15.1.bb index 61cdd60..1de884d 100644 --- a/meta-oe/recipes-connectivity/krb5/krb5_1.15.1.bb +++ b/meta-oe/recipes-connectivity/krb5/krb5_1.15.1.bb @@ -34,6 +34,8 @@ SRC_URI = "http://web.mit.edu/kerberos/dist/${BPN}/${SHRT_VER}/${BP}.tar.gz \ SRC_URI[md5sum] = "8022f3a1cde8463e44fd35ef42731f85" SRC_URI[sha256sum] = "437c8831ddd5fde2a993fef425dedb48468109bb3d3261ef838295045a89eb45" +CVE_PRODUCT = "kerberos" + S = "${WORKDIR}/${BP}/src" PACKAGECONFIG ??= "openssl" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:03:38 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:03:38 +0000 Subject: [oe-commits] [meta-openembedded] 71/75: udisks2_2.1.8.bb: set CVE_PRODUCT to udisks In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170229.84F56234F11@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit 57fac9d8ac44a6f9dce38b47224aba639eec3b8d Author: Mikko Rapeli AuthorDate: Fri Jul 21 10:03:17 2017 +0300 udisks2_2.1.8.bb: set CVE_PRODUCT to udisks It is used in NVD for CVE's like: https://nvd.nist.gov/vuln/detail/CVE-2014-0004 Signed-off-by: Mikko Rapeli Signed-off-by: Martin Jansa --- meta-oe/recipes-support/udisks/udisks2_2.1.8.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta-oe/recipes-support/udisks/udisks2_2.1.8.bb b/meta-oe/recipes-support/udisks/udisks2_2.1.8.bb index 6d90e49..a3efc51 100644 --- a/meta-oe/recipes-support/udisks/udisks2_2.1.8.bb +++ b/meta-oe/recipes-support/udisks/udisks2_2.1.8.bb @@ -13,6 +13,8 @@ SRC_URI = "http://udisks.freedesktop.org/releases/udisks-${PV}.tar.bz2 \ SRC_URI[md5sum] = "501d11c243bd8c6c00650474cd2afaab" SRC_URI[sha256sum] = "da416914812a77e5f4d82b81deb8c25799fd3228d27d52f7bf89a501b1857dda" +CVE_PRODUCT = "udisks" + inherit autotools systemd gtk-doc gobject-introspection S = "${WORKDIR}/udisks-${PV}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:03:33 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:03:33 +0000 Subject: [oe-commits] [meta-openembedded] 66/75: libtar: add recipe 1.2.20 In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170229.66873234F0D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit b12b09dc369d1abd42c4bd0854145188052c5f22 Author: Hongxu Jia AuthorDate: Thu Jul 20 03:44:34 2017 -0400 libtar: add recipe 1.2.20 Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- .../libtar/files/0002-Do-not-strip-libtar.patch | 25 ++++++++++++++++++++++ .../libtar/files/fix_libtool_sysroot.patch | 19 ++++++++++++++++ meta-oe/recipes-support/libtar/libtar_1.2.20.bb | 21 ++++++++++++++++++ 3 files changed, 65 insertions(+) diff --git a/meta-oe/recipes-support/libtar/files/0002-Do-not-strip-libtar.patch b/meta-oe/recipes-support/libtar/files/0002-Do-not-strip-libtar.patch new file mode 100644 index 0000000..31c0d29 --- /dev/null +++ b/meta-oe/recipes-support/libtar/files/0002-Do-not-strip-libtar.patch @@ -0,0 +1,25 @@ +From e9fee689430af7791b932a1ee3c2cc103ccf290f Mon Sep 17 00:00:00 2001 +From: Stefan Eichenberger +Date: Wed, 2 Nov 2016 05:43:43 -0400 +Subject: [PATCH] Do not strip libtar. + +--- + libtar/Makefile.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libtar/Makefile.in b/libtar/Makefile.in +index 7c6f1bc..80bb8d9 100644 +--- a/libtar/Makefile.in ++++ b/libtar/Makefile.in +@@ -20,7 +20,7 @@ SHELL = @SHELL@ + + ### Installation programs and flags + INSTALL = @INSTALL@ +-INSTALL_PROGRAM = @INSTALL_PROGRAM@ -s ++INSTALL_PROGRAM = @INSTALL_PROGRAM@ + INSTALL_DATA = @INSTALL_DATA@ + LN_S = @LN_S@ + MKDIR = @MKDIR@ +-- +2.8.1 + diff --git a/meta-oe/recipes-support/libtar/files/fix_libtool_sysroot.patch b/meta-oe/recipes-support/libtar/files/fix_libtool_sysroot.patch new file mode 100644 index 0000000..178a970 --- /dev/null +++ b/meta-oe/recipes-support/libtar/files/fix_libtool_sysroot.patch @@ -0,0 +1,19 @@ +--- + configure.ac | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/configure.ac b/configure.ac +index 4623100..1c6b43d 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -13,6 +13,7 @@ AC_CONFIG_MACRO_DIR([autoconf]) + AM_INIT_AUTOMAKE([dist-bzip2]) + ENCAP_PKG([], [postinstall-encap]) + ++LT_INIT + + dnl ### Load subdirectory modules. ################################## + PSG_MODULE([compat]) +-- +2.8.1 + diff --git a/meta-oe/recipes-support/libtar/libtar_1.2.20.bb b/meta-oe/recipes-support/libtar/libtar_1.2.20.bb new file mode 100644 index 0000000..60710f4 --- /dev/null +++ b/meta-oe/recipes-support/libtar/libtar_1.2.20.bb @@ -0,0 +1,21 @@ +SUMMARY = "libtar, tar manipulating library" +DESCRIPTION = "libtar is a library for manipulating POSIX tar files" +HOMEPAGE = "http://www.feep.net/libtar" +SECTION = "libs" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=61cbac6719ae682ce6cd45b5c11e21af" + +SRC_URI = "${DEBIAN_MIRROR}/main/libt/${BPN}/${BPN}_${PV}.orig.tar.gz \ + file://fix_libtool_sysroot.patch \ + file://0002-Do-not-strip-libtar.patch \ + " + +S = "${WORKDIR}/${BPN}" + +SRC_URI[md5sum] = "6ced95ab3a4b33fbfe2dfb231d156cdb" +SRC_URI[sha256sum] = "50f24c857a7ef1cb092e6508758b86d06f1188508f897f3e6b40c573e8879109" + +inherit autotools-brokensep + +PACKAGECONFIG ??= "zlib" +PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:03:39 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:03:39 +0000 Subject: [oe-commits] [meta-openembedded] 72/75: keybinder: add recipe 3.0 In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170229.8B813234F15@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit d973a83c36f5efe878a542270ad994f16059cee0 Author: Hongxu Jia AuthorDate: Fri Jul 21 03:34:38 2017 -0400 keybinder: add recipe 3.0 Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- .../recipes-support/keybinder/keybinder_3.0.bb | 26 ++++++++++++++++++++++ meta-oe/licenses/X11 | 23 +++++++++++++++++++ 2 files changed, 49 insertions(+) diff --git a/meta-gnome/recipes-support/keybinder/keybinder_3.0.bb b/meta-gnome/recipes-support/keybinder/keybinder_3.0.bb new file mode 100644 index 0000000..d6744a3 --- /dev/null +++ b/meta-gnome/recipes-support/keybinder/keybinder_3.0.bb @@ -0,0 +1,26 @@ +DESCRIPTION = "keybinder is a library for registering global key bindings, for gtk-based applications." +HOMEPAGE = "https://github.com/engla/keybinder" +LICENSE = "X11" +SECTION = "devel/lib" +DEPENDS = "gtk+3 gobject-introspection-native \ + gtk+ \ +" + +LIC_FILES_CHKSUM = "file://COPYING;md5=1f18f9c6d8b4cfcc7d7804a243a4c0b4" + +S = "${WORKDIR}/git" +B = "${S}" + +SRCREV = "736ccef40d39603b8111c8a3a0bca0319bbafdc0" +PV = "3.0+git${SRCPV}" +SRC_URI = "git://github.com/engla/keybinder.git;branch=keybinder-3.0 \ +" + +RDEPENDS_${PN} = "gtk+" + +inherit autotools gtk-doc gobject-introspection +do_configure_prepend() { + touch ${S}/ChangeLog +} + +SRC_DISTRIBUTE_LICENSES += "X11" diff --git a/meta-oe/licenses/X11 b/meta-oe/licenses/X11 new file mode 100644 index 0000000..da3e406 --- /dev/null +++ b/meta-oe/licenses/X11 @@ -0,0 +1,23 @@ +/* + * Copyright (C) 2008 Alex Graveley + * Copyright (C) 2010 Ulrik Sverdrup + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:03:42 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:03:42 +0000 Subject: [oe-commits] [meta-openembedded] 75/75: pidgin-otr: unblacklist In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170229.9D98F234F12@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit a8b54e300be027fefe8a774ca1861d0fb8e80d99 Author: Martin Jansa AuthorDate: Fri Jul 21 12:15:47 2017 +0200 pidgin-otr: unblacklist * pidgin was already unblacklisted * add dependency on glib2-native for glib-gettextize * remove manual -dbg definition * fix indentation Signed-off-by: Martin Jansa --- meta-oe/recipes-support/pidgin/pidgin-otr_4.0.0.bb | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/meta-oe/recipes-support/pidgin/pidgin-otr_4.0.0.bb b/meta-oe/recipes-support/pidgin/pidgin-otr_4.0.0.bb index 47cdc72..e8539c9 100644 --- a/meta-oe/recipes-support/pidgin/pidgin-otr_4.0.0.bb +++ b/meta-oe/recipes-support/pidgin/pidgin-otr_4.0.0.bb @@ -2,20 +2,15 @@ SUMMARY = "(OTR) Messaging allows you to have private conversations over instant HOMEPAGE = "http://www.cypherpunks.ca/otr/" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=92fe174bad6da3763f6e9e9eaff6df24" -DEPENDS = "libgcrypt libotr pidgin intltool-native" - -PNBLACKLIST[pidgin-otr] ?= "depends on blacklisted pidgin - the recipe will be removed on 2017-09-01 unless the issue is fixed" +DEPENDS = "libgcrypt libotr pidgin intltool-native glib-2.0-native" SRC_URI = "http://www.cypherpunks.ca/otr/${BP}.tar.gz \ - file://ignore_extra-portability_warnings.patch \ + file://ignore_extra-portability_warnings.patch \ " SRC_URI[md5sum] = "eadb953376acc474e56041d4c12aa2c8" SRC_URI[sha256sum] = "d56b3f092dbe9ee6597641c7d2dd294884dc04ba47aaf4ec571cd54977df4691" - FILES_${PN} = "${libdir}/pidgin/*" -FILES_${PN}-dbg = "${libdir}/pidgin/.debug" -FILES_${PN}-dbg += "${libdir}/pidgin/.debug/pidgin-otr.so" -FILES_${PN}-dbg += "/usr/src/debug/pidgin-otr/${PV}-${PR}/${P}/*" + inherit autotools pkgconfig -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:03:41 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:03:41 +0000 Subject: [oe-commits] [meta-openembedded] 74/75: satyr: add recipe 0.23 In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170229.97F51234F18@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit c83e7339e02c51eb38ff6d940a8f6bc6cc4f7284 Author: Hongxu Jia AuthorDate: Fri Jul 21 03:34:45 2017 -0400 satyr: add recipe 0.23 Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- .../satyr/files/0001-do-not-support-python2.patch | 84 ++++++++++++++++++++++ ...ix-compile-failure-against-musl-C-library.patch | 28 ++++++++ meta-oe/recipes-support/satyr/satyr_0.23.bb | 33 +++++++++ 3 files changed, 145 insertions(+) diff --git a/meta-oe/recipes-support/satyr/files/0001-do-not-support-python2.patch b/meta-oe/recipes-support/satyr/files/0001-do-not-support-python2.patch new file mode 100644 index 0000000..9e95a3f --- /dev/null +++ b/meta-oe/recipes-support/satyr/files/0001-do-not-support-python2.patch @@ -0,0 +1,84 @@ +From 206f334d62da17093e784094c9d9e80c853f704f Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Fri, 12 May 2017 03:03:46 -0400 +Subject: [PATCH] do not support python2 + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Hongxu Jia +--- + configure.ac | 16 ---------------- + python/Makefile.am | 24 ------------------------ + 2 files changed, 40 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 200a7cc..8431c51 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -22,22 +22,6 @@ AM_MISSING_PROG([AUTOM4TE], [autom4te]) + # Needed by tests/atlocal.in. + AC_SUBST([O0CFLAGS], [`echo $CFLAGS | sed 's/-O[[0-9]] *//'`]) + +-AM_PATH_PYTHON +-AM_CONDITIONAL([HAVE_PYTHON], test -n "$PYTHON") +-[if test -z "$PYTHON"; then] +- [echo "The python interpreter was not found in the search path. The Python language bindings"] +- [echo "will not be built. If you want to build the Python language bindings, please ensure"] +- [echo "that python is installed and its directory is included in the search path."] +- [echo "Then run configure again before attempting to build Satyr."] +-[fi] +- +-# Just PKG_CHECK_MODULES([PYTHON], [python]) works only with python2.7+ +-# Below, if python is not found, we set up for python2.6 w/o checking: +-PKG_CHECK_MODULES([PYTHON], [python2],,[ +- PYTHON_LIBS='-L/usr/lib64 -lpython2.6' +- PYTHON_CFLAGS='-I/usr/include/python2.6' +-]) +- + AC_ARG_ENABLE([python-manpage], + [AS_HELP_STRING([--disable-python-manpage], + [Disable python bindings manpage build])], +diff --git a/python/Makefile.am b/python/Makefile.am +index 36fc2e9..0b73f66 100644 +--- a/python/Makefile.am ++++ b/python/Makefile.am +@@ -1,12 +1,5 @@ + SUBDIRS = . doc + +-py2satyrdir = $(pyexecdir)/satyr +- +-py2satyr_PYTHON = \ +- __init__.py +- +-py2satyr_LTLIBRARIES = _satyr.la +- + PYEXTFILES = \ + py_cluster.h \ + py_cluster.c \ +@@ -75,23 +68,6 @@ PYEXTLDFLAGS = \ + -module \ + -avoid-version + +-_satyr_la_SOURCES = $(PYEXTFILES) +-_satyr_la_CPPFLAGS = \ +- $(PYEXTCPPFLAGS) \ +- $(PYTHON_CFLAGS) +-_satyr_la_LDFLAGS = \ +- $(PYEXTLDFLAGS) \ +- -export-symbols-regex init_satyr +- +-# Depending on the configure option, we either link libsatyr.so dynamically (as +-# is usual), or directly include its object files (by including the +-# convenience library). +-if ENABLE_STATIC_PYTHON_MODULE +-_satyr_la_LIBADD = ../lib/libsatyr_conv.la +-else +-_satyr_la_LIBADD = ../lib/libsatyr.la +-endif +- + if WITH_PYTHON3 + py3satyrdir = $(py3execdir)/satyr + +-- +2.8.1 + diff --git a/meta-oe/recipes-support/satyr/files/0002-fix-compile-failure-against-musl-C-library.patch b/meta-oe/recipes-support/satyr/files/0002-fix-compile-failure-against-musl-C-library.patch new file mode 100644 index 0000000..5827eb4 --- /dev/null +++ b/meta-oe/recipes-support/satyr/files/0002-fix-compile-failure-against-musl-C-library.patch @@ -0,0 +1,28 @@ +From 23f827ea94284656972652f61f2c6aad96092cc8 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Thu, 20 Jul 2017 23:00:29 -0400 +Subject: [PATCH] fix compile failure against musl C library + +Upstream-Status: Pending + +Signed-off-by: Hongxu Jia +--- + lib/rpm.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/rpm.c b/lib/rpm.c +index 920e145..58140bf 100644 +--- a/lib/rpm.c ++++ b/lib/rpm.c +@@ -188,7 +188,7 @@ sr_rpm_package_sort(struct sr_rpm_package *packages) + } + + /* Sort the array. */ +- qsort(array, count, sizeof(struct sr_rpm_package*), (comparison_fn_t)cmp_nevra_qsort_wrapper); ++ qsort(array, count, sizeof(struct sr_rpm_package*), cmp_nevra_qsort_wrapper); + + /* Create a linked list from the sorted array. */ + for (size_t loop = 0; loop < count; ++loop) +-- +2.8.1 + diff --git a/meta-oe/recipes-support/satyr/satyr_0.23.bb b/meta-oe/recipes-support/satyr/satyr_0.23.bb new file mode 100644 index 0000000..f795c37 --- /dev/null +++ b/meta-oe/recipes-support/satyr/satyr_0.23.bb @@ -0,0 +1,33 @@ +DESCRIPTION = "Satyr is a collection of low-level algorithms for program \ +failure processing, analysis, and reporting supporting kernel space, user \ +space, Python, and Java programs" + +HOMEPAGE = "https://github.com/abrt/satyr" +LICENSE = "GPLv2" + +inherit autotools-brokensep python3native pkgconfig + +SRC_URI = "git://github.com/abrt/satyr.git \ + file://0001-do-not-support-python2.patch \ + file://0002-fix-compile-failure-against-musl-C-library.patch \ +" +SRCREV = "4742fd4857c446b96f712d52e2e4cd0b6cfe7398" +S = "${WORKDIR}/git" + +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" + +DEPENDS += " \ + gdb \ +" + +PACKAGES += "python3-${PN}" +FILES_python3-${PN} = "${PYTHON_SITEPACKAGES_DIR}/${BPN}" + +PACKAGECONFIG ??= "python3 rpm" +PACKAGECONFIG[python3] = "--with-python3, --without-python3,,python3" +PACKAGECONFIG[pythonmanpage] = "--enable-python-manpage, --disable-python-manpage" +PACKAGECONFIG[rpm] = "--with-rpm, --without-rpm, rpm" + +do_configure_prepend() { + ${S}/gen-version +} -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:03:40 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:03:40 +0000 Subject: [oe-commits] [meta-openembedded] 73/75: volume-key: add recipe 0.3.9 In-Reply-To: <150091574711.27575.16580566054617062461@git.openembedded.org> References: <150091574711.27575.16580566054617062461@git.openembedded.org> Message-ID: <20170724170229.90DDE234F19@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master in repository meta-openembedded. commit b268e84f04a1d1e6c6924fdec031294fea215e6d Author: Hongxu Jia AuthorDate: Fri Jul 21 03:34:39 2017 -0400 volume-key: add recipe 0.3.9 Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- ...-explicitly-support-python3-by-pkg-config.patch | 56 ++++++++++++++++++++++ .../volume_key/volume-key_0.3.9.bb | 34 +++++++++++++ 2 files changed, 90 insertions(+) diff --git a/meta-oe/recipes-extended/volume_key/files/0001-explicitly-support-python3-by-pkg-config.patch b/meta-oe/recipes-extended/volume_key/files/0001-explicitly-support-python3-by-pkg-config.patch new file mode 100644 index 0000000..03edb13 --- /dev/null +++ b/meta-oe/recipes-extended/volume_key/files/0001-explicitly-support-python3-by-pkg-config.patch @@ -0,0 +1,56 @@ +From 18415c0b4c6e50ed9b99dfdae8d210590d0ab72e Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Fri, 28 Apr 2017 04:50:30 -0400 +Subject: [PATCH] explicitly support python3 by pkg-config + +The PYTHON_CPPFLAGS and -lpython$(PYTHON_VERSION) is hardcoded, +use pkg-config to replace + +Upstream-Status: Inappropriate [wr-installer specific] + +Signed-off-by: Hongxu Jia +--- + Makefile.am | 5 ++--- + configure.ac | 2 ++ + 2 files changed, 4 insertions(+), 3 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index 4569bbf..7a8daf4 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -20,7 +20,6 @@ ACLOCAL_AMFLAGS = -I m4 + AM_CPPFLAGS = $(blkid_CFLAGS) $(glib_CFLAGS) $(GPGME_CFLAGS) \ + $(libcryptsetup_CFLAGS) $(nss_CFLAGS) + LOCALEDIR_CPPFLAGS = -DLOCALEDIR='"$(localedir)"' +-PYTHON_CPPFLAGS = -I/usr/include/python$(PYTHON_VERSION) + + ## Targets + SUBDIRS = po +@@ -63,9 +62,9 @@ lib_libvolume_key_la_LIBADD = $(blkid_LIBS) $(glib_LIBS) $(GPGME_LIBS) \ + $(LTLIBINTL) $(libcryptsetup_LIBS) $(nss_LIBS) + + python__volume_key_la_SOURCES = python/volume_key_wrap.c +-python__volume_key_la_CPPFLAGS = $(AM_CPPFLAGS) $(PYTHON_CPPFLAGS) ++python__volume_key_la_CPPFLAGS = $(AM_CPPFLAGS) $(python3_CFLAGS) + python__volume_key_la_LDFLAGS = -module -avoid-version $(glib_LIBS) +-python__volume_key_la_LIBADD = lib/libvolume_key.la -lpython$(PYTHON_VERSION) \ ++python__volume_key_la_LIBADD = lib/libvolume_key.la $(python3_LIBS) \ + $(glib_LIBS) $(nss_LIBS) + + src_volume_key_SOURCES = src/volume_key.c +diff --git a/configure.ac b/configure.ac +index ff35dd0..0928a6c 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -27,6 +27,8 @@ AM_INIT_AUTOMAKE([no-dist-gzip dist-xz no-define subdir-objects -Wall]) + AC_PROG_CC + AM_PROG_CC_C_O + LT_INIT([disable-static]) ++ ++PKG_CHECK_MODULES(python3, [python3]) + AM_PATH_PYTHON + + dnl Not gpg2, it cannot receive passphrases from gpgme +-- +2.8.1 + diff --git a/meta-oe/recipes-extended/volume_key/volume-key_0.3.9.bb b/meta-oe/recipes-extended/volume_key/volume-key_0.3.9.bb new file mode 100644 index 0000000..febf3f2 --- /dev/null +++ b/meta-oe/recipes-extended/volume_key/volume-key_0.3.9.bb @@ -0,0 +1,34 @@ +DESCRIPTION = "The volume_key project provides a libvolume_key, a library for manipulating \ +storage volume encryption keys and storing them separately from volumes, and an \ +associated command-line tool, named volume_key." +LICENSE = "GPLv2" +SECTION = "devel/lib" + +HOMEPAGE = "https://pagure.io/volume_key" + +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +SRC_URI = "https://releases.pagure.org/volume_key/volume_key-${PV}.tar.xz \ + file://0001-explicitly-support-python3-by-pkg-config.patch \ +" +SRC_URI[md5sum] = "a2d14931177c660e1f3ebbcf5f47d8e2" +SRC_URI[sha256sum] = "450a54fe9bf56acec6850c1e71371d3e4913c9ca1ef0cdc3a517b4b6910412a6" + +SRCNAME = "volume_key" +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit autotools python3native gettext + +DEPENDS += " \ + util-linux \ + glib-2.0 \ + cryptsetup \ + nss \ + gpgme \ +" + +RDEPENDS_python3-${PN} += "${PN}" + +PACKAGES += "python3-${PN}" +FILES_python3-${PN} = "${PYTHON_SITEPACKAGES_DIR}/*" + -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:06:50 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:06:50 +0000 Subject: [oe-commits] [meta-openembedded] 02/34: rdate: Fix build with hardening In-Reply-To: <150091600853.30166.6329496400942370990@git.openembedded.org> References: <150091600853.30166.6329496400942370990@git.openembedded.org> Message-ID: <20170724170649.1584E234F0E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 1c0b20d74596d5203c29bd4b2b5f6f23946ec3f2 Author: Khem Raj AuthorDate: Mon Jun 26 22:57:09 2017 -0700 rdate: Fix build with hardening Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../0001-src-rdate-Fix-printf-format-errors.patch | 33 ++++++++++++++++++++++ .../recipes-connectivity/rdate/rdate_1.5.bb | 4 ++- 2 files changed, 36 insertions(+), 1 deletion(-) diff --git a/meta-networking/recipes-connectivity/rdate/rdate/0001-src-rdate-Fix-printf-format-errors.patch b/meta-networking/recipes-connectivity/rdate/rdate/0001-src-rdate-Fix-printf-format-errors.patch new file mode 100644 index 0000000..2f65189 --- /dev/null +++ b/meta-networking/recipes-connectivity/rdate/rdate/0001-src-rdate-Fix-printf-format-errors.patch @@ -0,0 +1,33 @@ +From f58bcb43c31d08de58853b088681cbe4df36cbf9 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 26 Jun 2017 22:50:56 -0700 +Subject: [PATCH] src/rdate: Fix printf format errors + +Fixes + +rdate.c:85:41: error: format not a string literal and no format arguments [-Werror=format-security] +| syslog(is_error?LOG_WARNING:LOG_INFO, buf); + +Signed-off-by: Khem Raj +--- +Upstream-Status: Submitted + + src/rdate.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/rdate.c b/src/rdate.c +index 5c3e829..943d481 100644 +--- a/src/rdate.c ++++ b/src/rdate.c +@@ -82,7 +82,7 @@ write_log(int is_error, char *format, ...) + return; /* Error, which we can't report because this _is_ the error + reporting mechanism */ + if(log_mode) +- syslog(is_error?LOG_WARNING:LOG_INFO, buf); ++ syslog(is_error?LOG_WARNING:LOG_INFO, "%s", buf); + if(is_error || print_mode) + fprintf(is_error?stderr:stdout, "%s: %s\n", argv0, buf); + } +-- +2.13.2 + diff --git a/meta-networking/recipes-connectivity/rdate/rdate_1.5.bb b/meta-networking/recipes-connectivity/rdate/rdate_1.5.bb index 818f16a..b3af927 100644 --- a/meta-networking/recipes-connectivity/rdate/rdate_1.5.bb +++ b/meta-networking/recipes-connectivity/rdate/rdate_1.5.bb @@ -11,7 +11,9 @@ SECTION = "Applications/System" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3" -SRC_URI= "https://www.aelius.com/njh/${BPN}/${BP}.tar.gz" +SRC_URI = "https://www.aelius.com/njh/${BPN}/${BP}.tar.gz \ + file://0001-src-rdate-Fix-printf-format-errors.patch \ + " SRC_URI[md5sum] = "0a4f612480777fdf25264ac03c57eae6" SRC_URI[sha256sum] = "6e800053eaac2b21ff4486ec42f0aca7214941c7e5fceedd593fa0be99b9227d" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:06:49 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:06:49 +0000 Subject: [oe-commits] [meta-openembedded] 01/34: dnsmasq: disable the service by default In-Reply-To: <150091600853.30166.6329496400942370990@git.openembedded.org> References: <150091600853.30166.6329496400942370990@git.openembedded.org> Message-ID: <20170724170649.0DBD1234F0D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 627c0dad66ab14f715977565db5567a5df55c871 Author: Jackie Huang AuthorDate: Mon Feb 27 16:09:59 2017 +0800 dnsmasq: disable the service by default The service will fail to start/stop when dnsmasq and bind (provides named) are both installed since they are using the same port 53: | dnsmasq: failed to create listening socket for port 53: Address already in use So disable the service by default, if the user really want to use two dns servives, the config needs to be changed to use different interfaces or ports. As reference, other distro like centos/fedora also disables the services by default on installation. Signed-off-by: Jackie Huang Signed-off-by: Jackie Huang > Signed-off-by: Martin Jansa --- meta-networking/recipes-support/dnsmasq/dnsmasq.inc | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-networking/recipes-support/dnsmasq/dnsmasq.inc b/meta-networking/recipes-support/dnsmasq/dnsmasq.inc index ef79c5f..3d0386b 100644 --- a/meta-networking/recipes-support/dnsmasq/dnsmasq.inc +++ b/meta-networking/recipes-support/dnsmasq/dnsmasq.inc @@ -81,3 +81,4 @@ RPROVIDES_${PN} += "${PN}-systemd" RREPLACES_${PN} += "${PN}-systemd" RCONFLICTS_${PN} += "${PN}-systemd" SYSTEMD_SERVICE_${PN} = "dnsmasq.service" +SYSTEMD_AUTO_ENABLE ?= "disable" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:06:51 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:06:51 +0000 Subject: [oe-commits] [meta-openembedded] 03/34: strongswan: Include stdint.h for uintptr_t In-Reply-To: <150091600853.30166.6329496400942370990@git.openembedded.org> References: <150091600853.30166.6329496400942370990@git.openembedded.org> Message-ID: <20170724170649.1F3DD234F0F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 812b1de544f334a75bd6953b66131d8203928991 Author: Khem Raj AuthorDate: Tue Jun 27 19:08:09 2017 -0700 strongswan: Include stdint.h for uintptr_t Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...1-memory.h-Include-stdint.h-for-uintptr_t.patch | 26 ++++++++++++++++++++++ .../recipes-support/strongswan/strongswan_5.5.3.bb | 5 +++-- 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/meta-networking/recipes-support/strongswan/files/0001-memory.h-Include-stdint.h-for-uintptr_t.patch b/meta-networking/recipes-support/strongswan/files/0001-memory.h-Include-stdint.h-for-uintptr_t.patch new file mode 100644 index 0000000..7ebc398 --- /dev/null +++ b/meta-networking/recipes-support/strongswan/files/0001-memory.h-Include-stdint.h-for-uintptr_t.patch @@ -0,0 +1,26 @@ +From 2a3ab04bbdc4624792886aa51579eadb427ef99e Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 27 Jun 2017 07:42:11 -0700 +Subject: [PATCH] memory.h: Include stdint.h for uintptr_t + +Signed-off-by: Khem Raj +--- + src/libstrongswan/utils/utils/memory.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/libstrongswan/utils/utils/memory.h b/src/libstrongswan/utils/utils/memory.h +index b978e7c..55aaaf5 100644 +--- a/src/libstrongswan/utils/utils/memory.h ++++ b/src/libstrongswan/utils/utils/memory.h +@@ -22,6 +22,8 @@ + #ifndef MEMORY_H_ + #define MEMORY_H_ + ++#include ++ + /** + * Helper function that compares two binary blobs for equality + */ +-- +2.13.2 + diff --git a/meta-networking/recipes-support/strongswan/strongswan_5.5.3.bb b/meta-networking/recipes-support/strongswan/strongswan_5.5.3.bb index 9215233..3fb56bc 100644 --- a/meta-networking/recipes-support/strongswan/strongswan_5.5.3.bb +++ b/meta-networking/recipes-support/strongswan/strongswan_5.5.3.bb @@ -8,8 +8,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" DEPENDS = "gmp openssl flex-native flex bison-native" SRC_URI = "http://download.strongswan.org/strongswan-${PV}.tar.bz2 \ - file://fix-funtion-parameter.patch \ -" + file://fix-funtion-parameter.patch \ + file://0001-memory.h-Include-stdint.h-for-uintptr_t.patch \ + " SRC_URI[md5sum] = "4afffe3c219bb2e04f09510905af836b" SRC_URI[sha256sum] = "c5ea54b199174708de11af9b8f4ecf28b5b0743d4bc0e380e741f25b28c0f8d4" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:06:48 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:06:48 +0000 Subject: [oe-commits] [meta-openembedded] branch master-next updated (e2e1a76 -> 066e474) Message-ID: <150091600853.30166.6329496400942370990@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a change to branch master-next in repository meta-openembedded. discard e2e1a76 pidgin-otr: unblacklist discard 790b086 satyr: add recipe 0.23 discard 8325255 volume-key: add recipe 0.3.9 discard 5e26bc7 keybinder: add recipe 3.0 discard 7e878b1 udisks2_2.1.8.bb: set CVE_PRODUCT to udisks discard d15c30d krb5_1.15.1.bb: set CVE_PRODUCT to kerberos discard dd3578a fribidi_0.19.7.bb: set CVE_PRODUCT to gnu_fribidi discard dd25bba gimp: remove libart-lgpl build dependency discard e569f80 ippool: Fix build errors found with hardening flags discard 4300ed8 netperf: change SRC_URI to git repository discard 29e24a6 python-pytun: addition of recipe for python and python3 using pipy discard ffda799 libtar: add recipe 1.2.20 discard 5791ae6 isomd5sum: add recipe 1.2.1 discard 98dd47b python3-meh: add recipe 0.45 discard f2775ce python3-pykickstart: add recipe 2.35 discard 2d3efdf libgnomekbd: 2.32 -> 3.22 discard 03751ae zeroconf: Fix build with musl discard 53dde0f postgresql: Do not link with libnsl on musl discard c6001eb flashrom: Upgrade to 0.9.9 discard 8207e9b python-requests, python3-requests: update to 2.28.1 discard 7ed4f99 python-paho-mqtt, python3-paho-mqtt: update to 1.3.0 discard 8d131c0 python-sqlalchemy, python3-sqlalchemy: update to 1.1.11 discard d66655e python-chardet.inc: update build dependency discard 4c3e2d5 sg3-utils: add mirror discard ca09e45 sdparm: add mirror discard dabf8f5 python-unidiff: adds Python3 support discard 7869e13 xf86-video-nouveau: bump version to 1.0.15 discard 9db3cd1 python3-prctl: add recipe 1.6.1 discard 3f29689 python3-pid: add recipe 2.1.1 discard cb1c53b python3-requests-ftp: add recipe 0.3.1 discard 69137b8 python3-requests-file: add recipe 1.4.2 discard 67fbc50 python3-ordered-set: add recipe 2.0.2 discard 722cf36 python3-ntplib: add recipe 0.3.3 discard 7b76a5a python3-langtable: add recipe 0.0.37 discard 772ab78 python3-coverage: add recipe 4.4.1 discard 783fb77 glade: add recipe 3.20.0 discard 07dddc0 lm_sensors: Fix build on musl discard 631a6e6 open-vm-tools: Fix build with musl discard a57b3f7 nicstat: Fix build on musl/x86_64 discard e66c242 phonet-utils: Fix build with musl discard efd7516 sessreg: Fix build on musl discard ecf75bb linuxptp: Upgrade to 1.8 discard 63c27fe numactl: Update to latest from github discard 9d5d5e8 grubby: Link with libexecinfo on musl discard ef74904 zlog: Fix build on 64bit targets and musl discard 95603b0 postfix: Disable nis support on musl discard dfd5938 netkit-ftp: Include sys/types.h for u_long definition discard 5b9cbfe a2jmidid: Link with libexecinfo on musl discard e9f8295 multipath-tools: Include limits.h for PATH_MAX discard 1135955 rdate: Define logwtmp if libc != glibc discard 9dcf556 igmpproxy: Include missing sys/tupes.h and define _GNU_SOURCE discard a65b93f open-vm-tools: remove custom procps logic discard fec482c pimd: Upgrade to 2.3.2 discard e3261a5 v4l-utils: Fix build with musl discard 28d5c2e iperf3: Fix missing stdint.h and do not link with -pg discard 21f69db uftrace: add recipe discard aba1895 aufs-util: Upgrade to 4.4 release discard 304791e monkey: Link in libexecinfo on musl discard 5fdec50 metacity: Fix build with musl by defining _GNU_SOURCE discard 6d04761 nmon: Upgrade to 16g discard 068cf71 xfsdump: Fix build with musl discard d26539d unionfs-fuse: Fix build with musl discard 8c600a5 logfsprogs: Rename setkey API to _setkey to not conflict with libc discard 30aa7d8 yaffs2-utils: Fix build with musl discard 704a8e6 dracut: Upgrade to 045 discard f33bcba kexec-tools-klibc: Fix build with musl discard f8428d5 can-utils: Update to tip of master discard 4c7c04c netdata: Upgrade to 1.6.0 discard 99877d3 libgtop: Fix build with musl discard df54a90 onboard: Fix build with musl discard 46eddb4 gedit: Define ACCESSPERMS if not defined already discard c6e5aa1 imsettings: Fix build with musl discard 49ccdec xfce4-netload-plugin: Do not include sys/sysctl.h discard f35bbef lmbench: Fix build with musl discard cd075a5 lightmediascanner: Define comparison_fn_t if undefined discard b421475 cdparanoia: Fix build with musl discard 04f66db webrtc-audio-processing: Link with libexecinfo on musl discard 5dec350 sox: Fix build with musl discard d6ea68d libteam: Upgrade to 1.27 discard e502443 klibc: Fix build issue when default ISA is not thumb discard d687f2c recipes-utils: Add recipe for udevil discard 86f9649 fuse: Correct runlevels and startup order discard 157ce32 librcf: RDEPENDS on protobuf, json-spirit discard 82c41b3 ebtables: replace ebtables-save perl script with bash rewrite discard bab9f81 pptp-linux: Upgrade to 1.9.0 discard 4e2ff96 security_flags.inc: Delete discard 91ac8b7 openhpi: Fix build on 64bit platforms e.g. aarch64 discard 0388514 autofs: Add build dependency on libnsl2 discard 933f271 ncftp: Upgrade to 3.2.6 discard caf0d05 netkit-telnet: Fix build with hardening discard 046d96d netkit-rpc: Fix build with hardening flags discard cb4a014 strongswan: Include stdint.h for uintptr_t discard ba5e474 rdate: Fix build with hardening discard c6d4c7a dnsmasq: disable the service by default add 0dbf4e8 librcf: RDEPENDS on protobuf, json-spirit add a246dd2 fuse: Correct runlevels and startup order add 00eacac recipes-utils: Add recipe for udevil add cafe21e klibc: Fix build issue when default ISA is not thumb add 77c757f libteam: Upgrade to 1.27 add 07ab8e1 sox: Fix build with musl add 3fa862b webrtc-audio-processing: Link with libexecinfo on musl add 102f98c cdparanoia: Fix build with musl add 4ff2e26 lightmediascanner: Define comparison_fn_t if undefined add 68b6fbf lmbench: Fix build with musl add 43022b7 xfce4-netload-plugin: Do not include sys/sysctl.h add 0cb5343 imsettings: Fix build with musl add 94f9280 gedit: Define ACCESSPERMS if not defined already add ecd6044 onboard: Fix build with musl add 9dfecec libgtop: Fix build with musl add aa57c0f netdata: Upgrade to 1.6.0 add 66c632a can-utils: Update to tip of master add b97358d kexec-tools-klibc: Fix build with musl add 606e9b2 dracut: Upgrade to 045 add 3581467 yaffs2-utils: Fix build with musl add 50a3d4e logfsprogs: Rename setkey API to _setkey to not conflict with libc add e16fef4 unionfs-fuse: Fix build with musl add 222db35 xfsdump: Fix build with musl add 92d9eab nmon: Upgrade to 16g add 83814eb metacity: Fix build with musl by defining _GNU_SOURCE add 11e8768 monkey: Link in libexecinfo on musl add 1039afb aufs-util: Upgrade to 4.4 release add d6a1c0e uftrace: add recipe add 85d4fe7 iperf3: Fix missing stdint.h and do not link with -pg add 0f55207 v4l-utils: Fix build with musl add 77ff128 open-vm-tools: remove custom procps logic add 3868f2d multipath-tools: Include limits.h for PATH_MAX add 567e48c a2jmidid: Link with libexecinfo on musl add b455bfd zlog: Fix build on 64bit targets and musl add d45db2d grubby: Link with libexecinfo on musl add b9d8854 numactl: Update to latest from github add a8b542f linuxptp: Upgrade to 1.8 add d96940a sessreg: Fix build on musl add caf460d phonet-utils: Fix build with musl add 4022026 nicstat: Fix build on musl/x86_64 add 94670cc open-vm-tools: Fix build with musl add 7414f34 lm_sensors: Fix build on musl add f9ccdeb glade: add recipe 3.20.0 add 32a6076 python3-coverage: add recipe 4.4.1 add 7e9c128 python3-langtable: add recipe 0.0.37 add 6866c4f python3-ntplib: add recipe 0.3.3 add 6e5a7ea python3-ordered-set: add recipe 2.0.2 add 044847f python3-requests-file: add recipe 1.4.2 add 6220deb python3-requests-ftp: add recipe 0.3.1 add e81db05 python3-pid: add recipe 2.1.1 add b344ce3 python3-prctl: add recipe 1.6.1 add 7c550fd xf86-video-nouveau: bump version to 1.0.15 add 1e6c70d python-unidiff: adds Python3 support add 78f9100 sdparm: add mirror add 2212154 sg3-utils: add mirror add 4ae7707 python-chardet.inc: update build dependency add f2f7532 python-sqlalchemy, python3-sqlalchemy: update to 1.1.11 add 1864ea6 python-paho-mqtt, python3-paho-mqtt: update to 1.3.0 add c00f87f python-requests, python3-requests: update to 2.28.1 add 5fed64b flashrom: Upgrade to 0.9.9 add e5fd08c postgresql: Do not link with libnsl on musl add baa7758 libgnomekbd: 2.32 -> 3.22 add 6e445ba python3-pykickstart: add recipe 2.35 add cccb69c python3-meh: add recipe 0.45 add 85718e3 isomd5sum: add recipe 1.2.1 add b12b09d libtar: add recipe 1.2.20 add 5da6266 python-pytun: addition of recipe for python and python3 using pipy add 4563f6d gimp: remove libart-lgpl build dependency add 854b98c fribidi_0.19.7.bb: set CVE_PRODUCT to gnu_fribidi add 236ca5e krb5_1.15.1.bb: set CVE_PRODUCT to kerberos add 57fac9d udisks2_2.1.8.bb: set CVE_PRODUCT to udisks add d973a83 keybinder: add recipe 3.0 add b268e84 volume-key: add recipe 0.3.9 add c83e733 satyr: add recipe 0.23 add a8b54e3 pidgin-otr: unblacklist new 627c0da dnsmasq: disable the service by default new 1c0b20d rdate: Fix build with hardening new 812b1de strongswan: Include stdint.h for uintptr_t new e887307 netkit-rpc: Fix build with hardening flags new 25bab80 netkit-telnet: Fix build with hardening new d053851 ncftp: Upgrade to 3.2.6 new ef1f2d3 autofs: Add build dependency on libnsl2 new 45cb3ea openhpi: Fix build on 64bit platforms e.g. aarch64 new 0ca1629 security_flags.inc: Delete new 908965b pptp-linux: Upgrade to 1.9.0 new ac540aa ebtables: replace ebtables-save perl script with bash rewrite new ed3f7a2 pimd: Upgrade to 2.3.2 new 156dc7d igmpproxy: Include missing sys/tupes.h and define _GNU_SOURCE new 2019e68 rdate: Define logwtmp if libc != glibc new 469326a netkit-ftp: Include sys/types.h for u_long definition new 4e5a633 postfix: Disable nis support on musl new 55cd330 zeroconf: Fix build with musl new 6f5c1da netperf: change SRC_URI to git repository new 78d47b6 ippool: Fix build errors found with hardening flags new 37512ff openflow: Fix build with musl new 9dc9218 xl2tpd: Update to 1.3.9 new 59b96d9 wvstreams: Fix build with musl new 059f5ee meson: set needs_exe_wrapper new 38057f5 gperftools: Upgrade to 2.6.1 new 18d3bb8 c-ares: update 1.12.0 -> 1.13.0 new 3a87637 radvd: 2.14 -> 2.17 new 07a6fad pam-ssh-agent-auth: add new recipe new 83d63ef libpwquality: add recipe 1.4.0 new 4d2bf05 libbytesize: add recipe 0.10 new 47b5268 libtimezonemap: add recipe 0.4.5 new c9eab81 xmlrpc-c: add recipe 1.31.0 new f5adce0 usermode: add recipe 1.111 new 33bf82a syslog-ng: provide correct PID directory location to restart/stop syslog-ng daemon new 066e474 python-pyserial: update to version 3.4 This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (e2e1a76) \ N -- N -- N refs/heads/master-next (066e474) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 34 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../libtimezonemap/libtimezonemap_0.4.5.bb | 22 ++++ ...ix-compile-failure-against-musl-C-library.patch | 27 +++++ .../usermode/usermode/0001-formatting-issues.patch | 34 ++++++ .../recipes-support/usermode/usermode_1.111.bb | 29 +++++ .../recipes-daemons/radvd/radvd_2.14.bb | 5 - .../recipes-daemons/radvd/radvd_2.17.bb | 5 + .../recipes-protocols/openflow/openflow.inc | 3 +- ...use-strlcpy-from-libc-before-defining-own.patch | 64 ++++++++++ ...lib-netdev-Adjust-header-include-sequence.patch | 59 +++++++++ .../recipes-protocols/openflow/openflow_git.bb | 5 + .../recipes-protocols/xl2tpd/xl2tpd.inc | 5 +- .../fix-inline-functions-errors-with-gcc-5.x.patch | 134 -------------------- .../recipes-protocols/xl2tpd/xl2tpd_git.bb | 4 +- ...configure.ac-don-t-override-passed-cflags.patch | 26 ---- .../recipes-support/c-ares/c-ares_1.12.0.bb | 15 --- .../recipes-support/c-ares/c-ares_1.13.0.bb | 16 +++ meta-oe/classes/meson.bbclass | 1 + .../0001-Check-for-limits.h-during-configure.patch | 26 ++++ ...sk-Dont-use-ucontext-on-non-glibc-systems.patch | 135 +++++++++++++++++++++ ...k-for-HAVE_LIBC_STACK_END-only-on-glibc-s.patch | 27 +++++ .../0004-wvcrash-Replace-use-of-basename-API.patch | 28 +++++ ...05-check-for-libexecinfo-during-configure.patch | 30 +++++ .../wvdial/wvstreams/argp.patch | 37 ++++++ .../recipes-connectivity/wvdial/wvstreams_4.6.1.bb | 9 +- ...ix-compile-failure-against-musl-C-library.patch | 52 ++++++++ .../xmlrpc-c/0002-fix-formatting-issues.patch | 34 ++++++ .../recipes-devtools/xmlrpc-c/xmlrpc-c_1.31.0.bb | 24 ++++ .../add-missing-python-include-dir-for-cross.patch | 48 ++++++++ .../libpwquality/libpwquality_1.4.0.bb | 45 +++++++ .../pam/pam-ssh-agent-auth_0.10.3.bb | 46 +++++++ .../0001-Fix-build-failure-for-ppc.patch | 28 ----- .../gperftools/0001-fix-build-with-musl-libc.patch | 61 ++++++++++ ...001-include-fcntl.h-for-loff_t-definition.patch | 28 +++++ .../{gperftools_2.5.bb => gperftools_2.6.1.bb} | 19 ++- .../files/0001-remove-python2-support.patch | 30 +++++ .../libbytesize/libbytesize_0.10.bb | 34 ++++++ meta-oe/recipes-support/syslog-ng/syslog-ng.inc | 1 + .../recipes-devtools/python/python-pyserial.inc | 4 +- ...thon-pyserial_3.3.bb => python-pyserial_3.4.bb} | 0 ...on3-pyserial_3.3.bb => python3-pyserial_3.4.bb} | 0 40 files changed, 975 insertions(+), 225 deletions(-) create mode 100644 meta-gnome/recipes-gnome/libtimezonemap/libtimezonemap_0.4.5.bb create mode 100644 meta-gnome/recipes-support/usermode/usermode/0001-fix-compile-failure-against-musl-C-library.patch create mode 100644 meta-gnome/recipes-support/usermode/usermode/0001-formatting-issues.patch create mode 100644 meta-gnome/recipes-support/usermode/usermode_1.111.bb delete mode 100644 meta-networking/recipes-daemons/radvd/radvd_2.14.bb create mode 100644 meta-networking/recipes-daemons/radvd/radvd_2.17.bb create mode 100644 meta-networking/recipes-protocols/openflow/openflow/0001-Check-and-use-strlcpy-from-libc-before-defining-own.patch create mode 100644 meta-networking/recipes-protocols/openflow/openflow/0002-lib-netdev-Adjust-header-include-sequence.patch delete mode 100644 meta-networking/recipes-protocols/xl2tpd/xl2tpd/fix-inline-functions-errors-with-gcc-5.x.patch delete mode 100644 meta-networking/recipes-support/c-ares/c-ares/0001-configure.ac-don-t-override-passed-cflags.patch delete mode 100644 meta-networking/recipes-support/c-ares/c-ares_1.12.0.bb create mode 100644 meta-networking/recipes-support/c-ares/c-ares_1.13.0.bb create mode 100644 meta-oe/recipes-connectivity/wvdial/wvstreams/0001-Check-for-limits.h-during-configure.patch create mode 100644 meta-oe/recipes-connectivity/wvdial/wvstreams/0002-wvtask-Dont-use-ucontext-on-non-glibc-systems.patch create mode 100644 meta-oe/recipes-connectivity/wvdial/wvstreams/0003-wvtask-Check-for-HAVE_LIBC_STACK_END-only-on-glibc-s.patch create mode 100644 meta-oe/recipes-connectivity/wvdial/wvstreams/0004-wvcrash-Replace-use-of-basename-API.patch create mode 100644 meta-oe/recipes-connectivity/wvdial/wvstreams/0005-check-for-libexecinfo-during-configure.patch create mode 100644 meta-oe/recipes-connectivity/wvdial/wvstreams/argp.patch create mode 100644 meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-fix-compile-failure-against-musl-C-library.patch create mode 100644 meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0002-fix-formatting-issues.patch create mode 100644 meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.31.0.bb create mode 100644 meta-oe/recipes-extended/libpwquality/files/add-missing-python-include-dir-for-cross.patch create mode 100644 meta-oe/recipes-extended/libpwquality/libpwquality_1.4.0.bb create mode 100644 meta-oe/recipes-extended/pam/pam-ssh-agent-auth_0.10.3.bb delete mode 100644 meta-oe/recipes-support/gperftools/gperftools/0001-Fix-build-failure-for-ppc.patch create mode 100644 meta-oe/recipes-support/gperftools/gperftools/0001-fix-build-with-musl-libc.patch create mode 100644 meta-oe/recipes-support/gperftools/gperftools/0001-include-fcntl.h-for-loff_t-definition.patch rename meta-oe/recipes-support/gperftools/{gperftools_2.5.bb => gperftools_2.6.1.bb} (58%) create mode 100644 meta-oe/recipes-support/libbytesize/files/0001-remove-python2-support.patch create mode 100644 meta-oe/recipes-support/libbytesize/libbytesize_0.10.bb rename meta-python/recipes-devtools/python/{python-pyserial_3.3.bb => python-pyserial_3.4.bb} (100%) rename meta-python/recipes-devtools/python/{python3-pyserial_3.3.bb => python3-pyserial_3.4.bb} (100%) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:06:52 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:06:52 +0000 Subject: [oe-commits] [meta-openembedded] 04/34: netkit-rpc: Fix build with hardening flags In-Reply-To: <150091600853.30166.6329496400942370990@git.openembedded.org> References: <150091600853.30166.6329496400942370990@git.openembedded.org> Message-ID: <20170724170649.2AAE6234F10@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit e8873074116d5e50e9b4eddc8c1d71c360eef935 Author: Khem Raj AuthorDate: Tue Jun 27 19:08:13 2017 -0700 netkit-rpc: Fix build with hardening flags Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../0001-rpcgen-Fix-printf-formats.patch | 51 ++++++++++++++++++++++ .../recipes-netkit/netkit-rpc/netkit-rpc_0.17.bb | 4 +- 2 files changed, 54 insertions(+), 1 deletion(-) diff --git a/meta-networking/recipes-netkit/netkit-rpc/netkit-rpc/0001-rpcgen-Fix-printf-formats.patch b/meta-networking/recipes-netkit/netkit-rpc/netkit-rpc/0001-rpcgen-Fix-printf-formats.patch new file mode 100644 index 0000000..8bd77d2 --- /dev/null +++ b/meta-networking/recipes-netkit/netkit-rpc/netkit-rpc/0001-rpcgen-Fix-printf-formats.patch @@ -0,0 +1,51 @@ +From 439e3e35f7fcbff1abb782de4b19b31e43ae3449 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 27 Jun 2017 09:59:19 -0700 +Subject: [PATCH] rpcgen: Fix printf formats + +Fixes build with hardening flags + +Signed-off-by: Khem Raj +--- + rpcgen/rpc_hout.c | 2 +- + rpcgen/rpc_tblout.c | 4 ++-- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/rpcgen/rpc_hout.c b/rpcgen/rpc_hout.c +index 0ef52df..09a7b57 100644 +--- a/rpcgen/rpc_hout.c ++++ b/rpcgen/rpc_hout.c +@@ -474,7 +474,7 @@ pdeclaration(const char *name, declaration *dec, int tab, + break; + } + } +- f_print(fout, separator ); ++ f_print(fout, "%s", separator ); + } + + static int +diff --git a/rpcgen/rpc_tblout.c b/rpcgen/rpc_tblout.c +index d64bfde..fd62a52 100644 +--- a/rpcgen/rpc_tblout.c ++++ b/rpcgen/rpc_tblout.c +@@ -99,7 +99,7 @@ write_table(const definition *def) + } + else { + expected = 1; +- f_print(fout, null_entry); ++ f_print(fout, "%s", null_entry); + } + for (proc = vp->procs; proc != NULL; proc = proc->next) { + current = atoi(proc->proc_num); +@@ -139,7 +139,7 @@ write_table(const definition *def) + } + + /* print the table trailer */ +- f_print(fout, tbl_end); ++ f_print(fout, "%s", tbl_end); + f_print(fout, tbl_nproc, progvers, progvers, progvers); + } + } +-- +2.13.2 + diff --git a/meta-networking/recipes-netkit/netkit-rpc/netkit-rpc_0.17.bb b/meta-networking/recipes-netkit/netkit-rpc/netkit-rpc_0.17.bb index abc9d88..75ec07c 100644 --- a/meta-networking/recipes-netkit/netkit-rpc/netkit-rpc_0.17.bb +++ b/meta-networking/recipes-netkit/netkit-rpc/netkit-rpc_0.17.bb @@ -5,7 +5,9 @@ LICENSE = "SPL-1.0" LIC_FILES_CHKSUM = "file://rpcinfo/rpcinfo.c;beginline=2;endline=3;md5=3e6339e3ce266e1122c5ba293e04bc89" SRC_URI = "http://sources.openembedded.org/${BPN}-${PV}.tar.gz \ - file://gcc4.patch" + file://gcc4.patch \ + file://0001-rpcgen-Fix-printf-formats.patch \ + " SRC_URI[md5sum] = "67212720482ea1aea9182a98653a9642" SRC_URI[sha256sum] = "421d63b414162237a72867061f1bd3e3752a0d962cd5d30b5e933ddad8a14d3b" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:06:55 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:06:55 +0000 Subject: [oe-commits] [meta-openembedded] 07/34: autofs: Add build dependency on libnsl2 In-Reply-To: <150091600853.30166.6329496400942370990@git.openembedded.org> References: <150091600853.30166.6329496400942370990@git.openembedded.org> Message-ID: <20170724170649.4AC6B234F13@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit ef1f2d392f9e75c4012f4b07a0202b507e937b9c Author: Khem Raj AuthorDate: Fri Jun 30 05:59:41 2017 -0700 autofs: Add build dependency on libnsl2 this is needed with glibc 2.26 where libnsl is deprecated and is provided using separate recipe building it from external sources now. Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- meta-networking/recipes-daemons/autofs/autofs_5.1.2.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-networking/recipes-daemons/autofs/autofs_5.1.2.bb b/meta-networking/recipes-daemons/autofs/autofs_5.1.2.bb index eea7c4b..ccd8a7f 100644 --- a/meta-networking/recipes-daemons/autofs/autofs_5.1.2.bb +++ b/meta-networking/recipes-daemons/autofs/autofs_5.1.2.bb @@ -3,7 +3,7 @@ SECTION = "utils" LICENSE = "GPL-2.0" LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3" -DEPENDS += "libtirpc flex-native bison-native e2fsprogs openssl libxml2 util-linux cyrus-sasl" +DEPENDS += "libtirpc flex-native bison-native e2fsprogs openssl libxml2 util-linux cyrus-sasl libnsl2" CFLAGS += "-I${STAGING_INCDIR}/tirpc" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:06:56 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:06:56 +0000 Subject: [oe-commits] [meta-openembedded] 08/34: openhpi: Fix build on 64bit platforms e.g. aarch64 In-Reply-To: <150091600853.30166.6329496400942370990@git.openembedded.org> References: <150091600853.30166.6329496400942370990@git.openembedded.org> Message-ID: <20170724170649.539FB234F14@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 45cb3ea825c7c69a48913cfa5a006cb6ac165b0f Author: Khem Raj AuthorDate: Fri Jun 30 05:59:57 2017 -0700 openhpi: Fix build on 64bit platforms e.g. aarch64 Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- meta-networking/recipes-daemons/openhpi/openhpi_3.6.1.bb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meta-networking/recipes-daemons/openhpi/openhpi_3.6.1.bb b/meta-networking/recipes-daemons/openhpi/openhpi_3.6.1.bb index db2a24a..16e58dc 100644 --- a/meta-networking/recipes-daemons/openhpi/openhpi_3.6.1.bb +++ b/meta-networking/recipes-daemons/openhpi/openhpi_3.6.1.bb @@ -54,9 +54,10 @@ FILES_${PN}-libs = "${libdir}/${BPN}/*.so /usr/lib/${BPN}/*.so" INSANE_SKIP_${PN}-libs = "dev-so" RDEPENDS_${PN} += "${PN}-libs" -PACKAGECONFIG ??= "libgcrypt" +PACKAGECONFIG ??= "libgcrypt non32bit" PACKAGECONFIG[sysfs] = "--enable-sysfs,--disable-sysfs,sysfsutils," PACKAGECONFIG[libgcrypt] = "--enable-encryption,--disable-encryption,libgcrypt," +PACKAGECONFIG[non32bit] = "--enable-non32bit-int,--disable-non32bit-int,," do_install_append () { install -m 0755 -d ${D}${sysconfdir}/${BPN} -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:06:57 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:06:57 +0000 Subject: [oe-commits] [meta-openembedded] 09/34: security_flags.inc: Delete In-Reply-To: <150091600853.30166.6329496400942370990@git.openembedded.org> References: <150091600853.30166.6329496400942370990@git.openembedded.org> Message-ID: <20170724170649.5C42C234F15@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 0ca16291358488025f084a52dc030d833bdc36d6 Author: Khem Raj AuthorDate: Sat Jul 8 06:17:41 2017 -0700 security_flags.inc: Delete OE-Core has now reworked the PIE flags, where they are implicitly passed by compiler when security flags are enabled None of these pinnings are needed anymore, since these packages compile fine with security flags enabled Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../include/meta_networking_security_flags.inc | 10 -------- meta-networking/conf/layer.conf | 3 --- .../conf/distro/include/meta_oe_security_flags.inc | 28 ---------------------- meta-oe/conf/layer.conf | 3 --- 4 files changed, 44 deletions(-) diff --git a/meta-networking/conf/distro/include/meta_networking_security_flags.inc b/meta-networking/conf/distro/include/meta_networking_security_flags.inc deleted file mode 100644 index 19e13ea..0000000 --- a/meta-networking/conf/distro/include/meta_networking_security_flags.inc +++ /dev/null @@ -1,10 +0,0 @@ -# configure righteously complains: -# | configure:3479: using CFLAGS: -O2 -pipe -g -feliminate-unused-debug-types -fstack-protector-strong -pie -fpie -D_FORTIFY_SOURCE=2 -# | configure:3485: CFLAGS error: CFLAGS may only be used to specify C compiler flags, not macro definitions. Use CPPFLAGS for: -D_FORTIFY_SOURCE=2 -# | configure:3516: error: Can not continue. Fix errors mentioned immediately above this line. - -# Make sure it's at least empty in builds which don't include -# conf/distro/include/security_flags.inc -lcl_maybe_fortify ?= "" -TARGET_CFLAGS_remove_pn-c-ares = "${lcl_maybe_fortify}" -TARGET_CPPFLAGS_append_pn-c-ares = "${lcl_maybe_fortify}" diff --git a/meta-networking/conf/layer.conf b/meta-networking/conf/layer.conf index b5aa159..2dfde4b 100644 --- a/meta-networking/conf/layer.conf +++ b/meta-networking/conf/layer.conf @@ -19,9 +19,6 @@ LAYERDEPENDS_networking-layer += "meta-python" LICENSE_PATH += "${LAYERDIR}/licenses" -# Override security flags -require conf/distro/include/meta_networking_security_flags.inc - SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \ wireguard-tools->wireguard-module \ " diff --git a/meta-oe/conf/distro/include/meta_oe_security_flags.inc b/meta-oe/conf/distro/include/meta_oe_security_flags.inc deleted file mode 100644 index 03868bf..0000000 --- a/meta-oe/conf/distro/include/meta_oe_security_flags.inc +++ /dev/null @@ -1,28 +0,0 @@ -# Build errors with the pie options enabled -SECURITY_CFLAGS_pn-libdbus-c++ = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-libdevmapper = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-lvm2 = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-rrdtool = "${SECURITY_NO_PIE_CFLAGS}" - -# This has text reloc errors with the pie options enabled -SECURITY_CFLAGS_pn-llvm3.3 = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-mozjs = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-openldap = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-s3c64xx-gpio = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-s3c24xx-gpio = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-cpufrequtils = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-libcec = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-libmodplug = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-libcdio = "${SECURITY_NO_PIE_CFLAGS}" - -#| /mnt/b/build/tmp-glibc/sysroots/intel-corei7-64/usr/lib/libc_nonshared.a(elf-init.oS): In function `__libc_csu_init': -#| /usr/src/debug/glibc/2.24-r0/git/csu/elf-init.c:86: undefined reference to `__init_array_start' - -SECURITY_CFLAGS_pn-libvdpau = "${SECURITY_NO_PIE_CFLAGS}" - -#| /mnt/a/build/tmp-glibc/sysroots/x86_64-linux/usr/libexec/x86_64-oe-linux/gcc/x86_64-oe-linux/6.2.0/ld: lj_err_dyn.o: relocation R_X86_64_TPOFF32 against `static_uex' can not be used when making a shared object; recompile with -fPIC -#| /mnt/a/build/tmp-glibc/sysroots/x86_64-linux/usr/libexec/x86_64-oe-linux/gcc/x86_64-oe-linux/6.2.0/ld: final link failed: Nonrepresentable section on output -#| collect2: error: ld returned 1 exit status -#| make[1]: *** [Makefile:675: libluajit.so] Error 1 -SECURITY_CFLAGS_pn-luajit = "${SECURITY_NO_PIE_CFLAGS}" - diff --git a/meta-oe/conf/layer.conf b/meta-oe/conf/layer.conf index 54425c6..f0d21ed 100644 --- a/meta-oe/conf/layer.conf +++ b/meta-oe/conf/layer.conf @@ -77,7 +77,4 @@ SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \ FREESMARTPHONE_GIT = "git://git.freesmartphone.org" -# Override security flags -require conf/distro/include/meta_oe_security_flags.inc - HOSTTOOLS += "id" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:06:54 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:06:54 +0000 Subject: [oe-commits] [meta-openembedded] 06/34: ncftp: Upgrade to 3.2.6 In-Reply-To: <150091600853.30166.6329496400942370990@git.openembedded.org> References: <150091600853.30166.6329496400942370990@git.openembedded.org> Message-ID: <20170724170649.44534234F12@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit d053851314fcf5a1a3b172f496fe2115eb50851f Author: Khem Raj AuthorDate: Tue Jun 27 19:08:15 2017 -0700 ncftp: Upgrade to 3.2.6 Fix build with hardening flags Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../recipes-daemons/ncftp/ncftp/unistd.patch | 32 ++++++++++++++++++++++ .../ncftp/{ncftp_3.2.5.bb => ncftp_3.2.6.bb} | 16 ++++++++--- 2 files changed, 44 insertions(+), 4 deletions(-) diff --git a/meta-networking/recipes-daemons/ncftp/ncftp/unistd.patch b/meta-networking/recipes-daemons/ncftp/ncftp/unistd.patch new file mode 100644 index 0000000..1c8146e --- /dev/null +++ b/meta-networking/recipes-daemons/ncftp/ncftp/unistd.patch @@ -0,0 +1,32 @@ +This patch is needed to avoid double definitions of functions +especially when building with security flags turned on. The double +definitions causes the sed.sh script in configure to fail since it +starts to spit out double outputs e.g. + +wi_cv_gethostname_size_t size_t size_t + +which then caused almost all subsequent compile time tests to fail since +this gets into confdefs.h file + +removing this include causes only one definitions to be emitted into +the genrated protos.h file and thus avoiding the above failure. + +Other solution would to fix sed.sh to ignore double definitions + +Upstream-Status: Pending + +Signed-of-by: Khem Raj + + +Index: ncftp-3.2.6/configure +=================================================================== +--- ncftp-3.2.6.orig/configure ++++ ncftp-3.2.6/configure +@@ -7859,7 +7859,6 @@ chmod 755 "$wi_tmpdir/prpp.pl" + cat << 'EOF' > "$wi_tmpdir/unistd.c" + #include + +-#include + #include + #include + #include diff --git a/meta-networking/recipes-daemons/ncftp/ncftp_3.2.5.bb b/meta-networking/recipes-daemons/ncftp/ncftp_3.2.6.bb similarity index 53% rename from meta-networking/recipes-daemons/ncftp/ncftp_3.2.5.bb rename to meta-networking/recipes-daemons/ncftp/ncftp_3.2.6.bb index 893eacb..5f92f27 100644 --- a/meta-networking/recipes-daemons/ncftp/ncftp_3.2.5.bb +++ b/meta-networking/recipes-daemons/ncftp/ncftp_3.2.6.bb @@ -2,21 +2,29 @@ DESCRIPTION = "A sophisticated console ftp client" HOMEPAGE = "http://ncftp.com/" SECTION = "net" LICENSE = "ClArtistic" -LIC_FILES_CHKSUM = "file://ncftp/cmds.c;beginline=3;endline=4;md5=9de76faeaedc4f908082e3f8142715f4" +LIC_FILES_CHKSUM = "file://ncftp/cmds.c;beginline=3;endline=4;md5=9c2390809f71465aa7ff76e03dc14d91" DEPENDS = "ncurses" -SRC_URI = "${DEBIAN_MIRROR}/main/n/${BPN}/${BPN}_${PV}.orig.tar.gz \ +SRC_URI = "ftp://ftp.ncftp.com/${BPN}/${BP}-src.tar.xz \ file://ncftp-configure-use-BUILD_CC-for-ccdv.patch \ + file://unistd.patch \ " -SRC_URI[md5sum] = "685e45f60ac11c89442c572c28af4228" -SRC_URI[sha256sum] = "ac111b71112382853b2835c42ebe7bd59acb7f85dd00d44b2c19fbd074a436c4" +SRC_URI[md5sum] = "42d0f896d69a4d603ec097546444245f" +SRC_URI[sha256sum] = "5f200687c05d0807690d9fb770327b226f02dd86155b49e750853fce4e31098d" inherit autotools-brokensep pkgconfig +CFLAGS += "-DNO_SSLv2 -D_FILE_OFFSET_BITS=64 -Wall" + PACKAGECONFIG ??= "" PACKAGECONFIG[ccdv] = "--enable-ccdv,--disable-ccdv,," +EXTRA_OECONF = "--disable-precomp" +TARGET_CC_ARCH_append = " ${SELECTED_OPTIMIZATION}" + do_configure() { + install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S} + install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S} oe_runconf } do_install () { -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:06:53 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:06:53 +0000 Subject: [oe-commits] [meta-openembedded] 05/34: netkit-telnet: Fix build with hardening In-Reply-To: <150091600853.30166.6329496400942370990@git.openembedded.org> References: <150091600853.30166.6329496400942370990@git.openembedded.org> Message-ID: <20170724170649.37319234F11@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 25bab80dffc42d77f95bf8aa59f3f1df75ebb986 Author: Khem Raj AuthorDate: Tue Jun 27 19:08:14 2017 -0700 netkit-telnet: Fix build with hardening Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...1-telnet-telnetd-Fix-print-format-strings.patch | 66 ++++++++++++++++++++++ .../netkit-telnet/netkit-telnet_0.17.bb | 11 ++-- 2 files changed, 72 insertions(+), 5 deletions(-) diff --git a/meta-networking/recipes-netkit/netkit-telnet/files/0001-telnet-telnetd-Fix-print-format-strings.patch b/meta-networking/recipes-netkit/netkit-telnet/files/0001-telnet-telnetd-Fix-print-format-strings.patch new file mode 100644 index 0000000..f2f1b12 --- /dev/null +++ b/meta-networking/recipes-netkit/netkit-telnet/files/0001-telnet-telnetd-Fix-print-format-strings.patch @@ -0,0 +1,66 @@ +From 7a3095d1e9b7c73f9dca56250f433bcfc7cb660e Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 27 Jun 2017 10:15:34 -0700 +Subject: [PATCH] telnet/telnetd: Fix print format strings + +Fixes build with hardening flags + +Signed-off-by: Khem Raj +--- + telnet/utilities.cc | 6 +++--- + telnetd/utility.c | 6 +++--- + 2 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/telnet/utilities.cc b/telnet/utilities.cc +index 66839ab..36f0731 100644 +--- a/telnet/utilities.cc ++++ b/telnet/utilities.cc +@@ -583,17 +583,17 @@ void printsub(int direction, unsigned char *pointer, int length) { + case ENV_VAR: + if (pointer[1] == TELQUAL_SEND) + goto def_case; +- fprintf(NetTrace, "\" VAR " + noquote); ++ fprintf(NetTrace, "%s", "\" VAR " + noquote); + noquote = 2; + break; + + case ENV_VALUE: +- fprintf(NetTrace, "\" VALUE " + noquote); ++ fprintf(NetTrace, "%s", "\" VALUE " + noquote); + noquote = 2; + break; + + case ENV_ESC: +- fprintf(NetTrace, "\" ESC " + noquote); ++ fprintf(NetTrace, "%s", "\" ESC " + noquote); + noquote = 2; + break; + +diff --git a/telnetd/utility.c b/telnetd/utility.c +index 29b7da1..75314cb 100644 +--- a/telnetd/utility.c ++++ b/telnetd/utility.c +@@ -909,17 +909,17 @@ printsub(char direction, unsigned char *pointer, int length) + case ENV_VAR: + if (pointer[1] == TELQUAL_SEND) + goto def_case; +- netoprintf("\" VAR " + noquote); ++ netoprintf("%s", "\" VAR " + noquote); + noquote = 2; + break; + + case ENV_VALUE: +- netoprintf("\" VALUE " + noquote); ++ netoprintf("%s", "\" VALUE " + noquote); + noquote = 2; + break; + + case ENV_ESC: +- netoprintf("\" ESC " + noquote); ++ netoprintf("%s", "\" ESC " + noquote); + noquote = 2; + break; + +-- +2.13.2 + diff --git a/meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb b/meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb index 9438adc..54a58c8 100644 --- a/meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb +++ b/meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb @@ -5,11 +5,12 @@ LICENSE = "BSD" LIC_FILES_CHKSUM = "file://telnet/telnet.cc;beginline=2;endline=3;md5=780868e7b566313e70cb701560ca95ef" SRC_URI = "ftp://ftp.uk.linux.org/pub/linux/Networking/netkit/${BP}.tar.gz \ - file://To-aviod-buffer-overflow-in-telnet.patch \ - file://Warning-fix-in-the-step-of-install.patch \ - file://telnet-xinetd \ - file://cross-compile.patch \ -" + file://To-aviod-buffer-overflow-in-telnet.patch \ + file://Warning-fix-in-the-step-of-install.patch \ + file://telnet-xinetd \ + file://cross-compile.patch \ + file://0001-telnet-telnetd-Fix-print-format-strings.patch \ + " EXTRA_OEMAKE = "INSTALLROOT=${D} SBINDIR=${sbindir} DAEMONMODE=755 \ MANMODE=644 MANDIR=${mandir}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:06:59 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:06:59 +0000 Subject: [oe-commits] [meta-openembedded] 11/34: ebtables: replace ebtables-save perl script with bash rewrite In-Reply-To: <150091600853.30166.6329496400942370990@git.openembedded.org> References: <150091600853.30166.6329496400942370990@git.openembedded.org> Message-ID: <20170724170649.6EE8D234F17@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit ac540aaa5bea7961ab513c0583c810d860a3db17 Author: Andre McCurdy AuthorDate: Tue Jul 11 10:09:11 2017 -0700 ebtables: replace ebtables-save perl script with bash rewrite Fedora provides a bash replacement for the default ebtables-save perl script. Using it allows the ebtables run-time dependency on perl to be replaced with a runtime dependency on bash - which is lower overhead and more likely to be present on typical embedded systems already. https://bugzilla.redhat.com/show_bug.cgi?id=746040 http://pkgs.fedoraproject.org/cgit/rpms/ebtables.git/tree/ebtables-save Since ebtables-save no longer contains a references to /usr, the previous QA issue workaround of moving it from ${base_sbindir} to ${sbindir} is no longer required. http://git.openembedded.org/meta-openembedded/commit/?id=a7c6fcebee7d9f86c356ea92de445d89e714ff62 Signed-off-by: Andre McCurdy Signed-off-by: Martin Jansa --- .../ebtables/ebtables-2.0.10-4/ebtables-save | 43 ++++++++++++++++++++++ .../recipes-filter/ebtables/ebtables_2.0.10-4.bb | 15 ++++---- 2 files changed, 50 insertions(+), 8 deletions(-) diff --git a/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/ebtables-save b/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/ebtables-save new file mode 100755 index 0000000..2d7fc4e --- /dev/null +++ b/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/ebtables-save @@ -0,0 +1,43 @@ +#!/bin/bash + +EBTABLES="/sbin/ebtables" + +[ -x "$EBTABLES" ] || exit 1 + +echo "# Generated by ebtables-save v1.0 on $(date)" + +cnt="" +[ "x$EBTABLES_SAVE_COUNTER" = "xyes" ] && cnt="--Lc" + +for table_name in $(grep -E '^ebtable_' /proc/modules | cut -f1 -d' ' | sed s/ebtable_//); do + table=$($EBTABLES -t $table_name -L $cnt) + [ $? -eq 0 ] || { echo "$table"; exit -1; } + + chain="" + rules="" + while read line; do + [ -z "$line" ] && continue + + case "$line" in + Bridge\ table:\ *) + echo "*${line:14}" + ;; + Bridge\ chain:\ *) + chain="${line:14}" + chain="${chain%%,*}" + policy="${line##*policy: }" + echo ":$chain $policy" + ;; + *) + if [ "$cnt" = "--Lc" ]; then + line=${line/, pcnt \=/ -c} + line=${line/-- bcnt \=/} + fi + rules="$rules-A $chain $line\n" + ;; + esac + done < References: <150091600853.30166.6329496400942370990@git.openembedded.org> Message-ID: <20170724170649.7F7F9234F19@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 156dc7de3b7e256f9c1b9074a51acf7d46a13aea Author: Khem Raj AuthorDate: Mon Jul 17 20:09:57 2017 -0700 igmpproxy: Include missing sys/tupes.h and define _GNU_SOURCE Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...xy.h-Include-sys-types.h-for-u_short-u_in.patch | 25 ++++++++++++++++++++++ .../recipes-daemons/igmpproxy/igmpproxy_0.1.bb | 5 ++++- 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/meta-networking/recipes-daemons/igmpproxy/igmpproxy/0001-src-igmpproxy.h-Include-sys-types.h-for-u_short-u_in.patch b/meta-networking/recipes-daemons/igmpproxy/igmpproxy/0001-src-igmpproxy.h-Include-sys-types.h-for-u_short-u_in.patch new file mode 100644 index 0000000..82cdc36 --- /dev/null +++ b/meta-networking/recipes-daemons/igmpproxy/igmpproxy/0001-src-igmpproxy.h-Include-sys-types.h-for-u_short-u_in.patch @@ -0,0 +1,25 @@ +From a557651a08e21e3c7c7f5eca9f5405f86624903f Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 14 Jul 2017 22:42:51 -0700 +Subject: [PATCH] src/igmpproxy.h: Include sys/types.h for u_short/u_init + +Signed-off-by: Khem Raj +--- + src/igmpproxy.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/igmpproxy.h b/src/igmpproxy.h +index 4dabd1c..4454729 100644 +--- a/src/igmpproxy.h ++++ b/src/igmpproxy.h +@@ -46,6 +46,7 @@ + #include + + #include ++#include + #include + #include + #include +-- +2.13.3 + diff --git a/meta-networking/recipes-daemons/igmpproxy/igmpproxy_0.1.bb b/meta-networking/recipes-daemons/igmpproxy/igmpproxy_0.1.bb index c3d2f1a..5424dc4 100644 --- a/meta-networking/recipes-daemons/igmpproxy/igmpproxy_0.1.bb +++ b/meta-networking/recipes-daemons/igmpproxy/igmpproxy_0.1.bb @@ -5,9 +5,12 @@ LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=1e995e2799bb0d27d63069b97f805420" SRC_URI = "http://sourceforge.net/projects/igmpproxy/files/${BPN}/${PV}/${BPN}-${PV}.tar.gz \ - " + file://0001-src-igmpproxy.h-Include-sys-types.h-for-u_short-u_in.patch \ + " SRC_URI[md5sum] = "c56f41ec195bc1fe016369bf74efc5a1" SRC_URI[sha256sum] = "ee18ff3d8c3ae3a29dccb7e5eedf332337330020168bd95a11cece8d7d7ee6ae" inherit autotools pkgconfig + +CFLAGS += "-D_GNU_SOURCE" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:07:02 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:07:02 +0000 Subject: [oe-commits] [meta-openembedded] 14/34: rdate: Define logwtmp if libc != glibc In-Reply-To: <150091600853.30166.6329496400942370990@git.openembedded.org> References: <150091600853.30166.6329496400942370990@git.openembedded.org> Message-ID: <20170724170649.876E7234F1A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 2019e68d54371b7282ab667585c49b73651733fa Author: Khem Raj AuthorDate: Mon Jul 17 20:09:58 2017 -0700 rdate: Define logwtmp if libc != glibc Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../0001-rdate-define-logwtmp-on-libc-glibc.patch | 40 ++++++++++++++++++++++ .../recipes-connectivity/rdate/rdate_1.5.bb | 1 + 2 files changed, 41 insertions(+) diff --git a/meta-networking/recipes-connectivity/rdate/rdate/0001-rdate-define-logwtmp-on-libc-glibc.patch b/meta-networking/recipes-connectivity/rdate/rdate/0001-rdate-define-logwtmp-on-libc-glibc.patch new file mode 100644 index 0000000..08ba2c3 --- /dev/null +++ b/meta-networking/recipes-connectivity/rdate/rdate/0001-rdate-define-logwtmp-on-libc-glibc.patch @@ -0,0 +1,40 @@ +From e0c690acfcddd3c3421f6eb0182c54815fd70f8f Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 14 Jul 2017 23:21:08 -0700 +Subject: [PATCH] rdate: define logwtmp on libc != glibc + +Signed-off-by: Khem Raj +--- + src/rdate.c | 15 +++++++++++++++ + 1 file changed, 15 insertions(+) + +diff --git a/src/rdate.c b/src/rdate.c +index 943d481..685b1b8 100644 +--- a/src/rdate.c ++++ b/src/rdate.c +@@ -41,7 +41,22 @@ static int print_mode = 0; // display the time + static int timeout = 10; // timeout for each connection attempt + static char *service = DEFAULT_SERVICE; + ++#ifndef __GLIBC__ ++static void logwtmp(const char * line, const char * name, const char * host) ++{ ++ struct utmp u; ++ memset(&u, 0, sizeof(u)); ++ ++ u.ut_pid = getpid(); ++ u.ut_type = name[0] ? USER_PROCESS : DEAD_PROCESS; ++ strncpy(u.ut_line, line, sizeof(u.ut_line)); ++ strncpy(u.ut_name, name, sizeof(u.ut_name)); ++ strncpy(u.ut_host, host, sizeof(u.ut_host)); ++ gettimeofday(&(u.ut_tv), NULL); + ++ updwtmp(_PATH_WTMP, &u); ++} ++#endif /* __GLIBC__ */ + + // Returns string from address info pointer + static char* +-- +2.13.3 + diff --git a/meta-networking/recipes-connectivity/rdate/rdate_1.5.bb b/meta-networking/recipes-connectivity/rdate/rdate_1.5.bb index b3af927..cd4db12 100644 --- a/meta-networking/recipes-connectivity/rdate/rdate_1.5.bb +++ b/meta-networking/recipes-connectivity/rdate/rdate_1.5.bb @@ -13,6 +13,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3" SRC_URI = "https://www.aelius.com/njh/${BPN}/${BP}.tar.gz \ file://0001-src-rdate-Fix-printf-format-errors.patch \ + file://0001-rdate-define-logwtmp-on-libc-glibc.patch \ " SRC_URI[md5sum] = "0a4f612480777fdf25264ac03c57eae6" SRC_URI[sha256sum] = "6e800053eaac2b21ff4486ec42f0aca7214941c7e5fceedd593fa0be99b9227d" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:07:00 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:07:00 +0000 Subject: [oe-commits] [meta-openembedded] 12/34: pimd: Upgrade to 2.3.2 In-Reply-To: <150091600853.30166.6329496400942370990@git.openembedded.org> References: <150091600853.30166.6329496400942370990@git.openembedded.org> Message-ID: <20170724170649.765F5234F18@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit ed3f7a2e74ebf239d825667315e66bae40e3254a Author: Khem Raj AuthorDate: Fri Jul 14 18:55:39 2017 -0700 pimd: Upgrade to 2.3.2 Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...ure-Dont-use-uname-to-determine-target-OS.patch | 28 ++++++++++++++++++++++ meta-networking/recipes-support/pimd/pimd_2.1.8.bb | 19 --------------- meta-networking/recipes-support/pimd/pimd_2.3.2.bb | 20 ++++++++++++++++ 3 files changed, 48 insertions(+), 19 deletions(-) diff --git a/meta-networking/recipes-support/pimd/pimd/0001-configure-Dont-use-uname-to-determine-target-OS.patch b/meta-networking/recipes-support/pimd/pimd/0001-configure-Dont-use-uname-to-determine-target-OS.patch new file mode 100644 index 0000000..eb549de --- /dev/null +++ b/meta-networking/recipes-support/pimd/pimd/0001-configure-Dont-use-uname-to-determine-target-OS.patch @@ -0,0 +1,28 @@ +From f3e04281bad361249a8dad0cde150a801d720f67 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 14 Jul 2017 18:46:52 -0700 +Subject: [PATCH] configure: Dont use uname to determine target OS + +Helps with cross-compiling + +Signed-off-by: Khem Raj +--- + configure | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure b/configure +index 6c35a72..f9714e2 100755 +--- a/configure ++++ b/configure +@@ -31,7 +31,7 @@ + #DEFS += -DSCOPED_ACL + # + +-OS=`uname` ++OS="Linux" + CFG=config.mk + TMP=`mktemp /tmp/XXXXXX` + BUGREPORT_URL="https://github.com/troglobit/pimd/issues" +-- +2.13.3 + diff --git a/meta-networking/recipes-support/pimd/pimd_2.1.8.bb b/meta-networking/recipes-support/pimd/pimd_2.1.8.bb deleted file mode 100644 index 7edb642..0000000 --- a/meta-networking/recipes-support/pimd/pimd_2.1.8.bb +++ /dev/null @@ -1,19 +0,0 @@ -SUMMARY = "pimd is a lightweight stand-alone PIM-SM v2 multicast routing daemon." -HOMEPAGE = "http://troglobit.com/pimd.html" -SECTION = "net" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=94f108f91fab720d62425770b70dd790" - -SRC_URI = "ftp://ftp.troglobit.com/pimd/${BP}.tar.bz2" -SRC_URI[md5sum] = "a12448bc7c9bfcebf51a13ebf1ffa962" -SRC_URI[sha256sum] = "01016940543a0a6131d4e6c91b595d47e187012c59a298eec14c3dbc38564b3a" - -EXTRA_OEMAKE = "-e MAKEFLAGS=" -CFLAGS += "-I ${S}/include " - -do_install() { - unset datadir - unset mandir - oe_runmake 'DESTDIR=${D}' install -} - diff --git a/meta-networking/recipes-support/pimd/pimd_2.3.2.bb b/meta-networking/recipes-support/pimd/pimd_2.3.2.bb new file mode 100644 index 0000000..2faa7cb --- /dev/null +++ b/meta-networking/recipes-support/pimd/pimd_2.3.2.bb @@ -0,0 +1,20 @@ +SUMMARY = "pimd is a lightweight stand-alone PIM-SM v2 multicast routing daemon." +HOMEPAGE = "http://troglobit.com/pimd.html" +SECTION = "net" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=94f108f91fab720d62425770b70dd790" + +SRC_URI = "ftp://ftp.troglobit.com/pimd/${BP}.tar.gz \ + file://0001-configure-Dont-use-uname-to-determine-target-OS.patch \ + " +SRC_URI[md5sum] = "a3c03e40540980b2c06e265a17988e60" +SRC_URI[sha256sum] = "c77a9812751f114490a28a6839b16aac8b020c8d9fd6aa22bf3880c054e19f1d" + +EXTRA_OECONF_append_libc-musl = " --embedded-libc" + +inherit autotools-brokensep + +do_configure() { + oe_runconf +} + -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:07:11 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:07:11 +0000 Subject: [oe-commits] [meta-openembedded] 23/34: meson: set needs_exe_wrapper In-Reply-To: <150091600853.30166.6329496400942370990@git.openembedded.org> References: <150091600853.30166.6329496400942370990@git.openembedded.org> Message-ID: <20170724170649.D2C8D234F1E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 059f5ee659812131409f71e8b5986cf4062292ec Author: Ross Burton AuthorDate: Fri Jul 21 13:31:59 2017 +0100 meson: set needs_exe_wrapper Tell Meson that even if it looks like the architectures are compatible, not to bother executing binaries: differences in tunes, C libraries and so on mean binaries may not work. Signed-off-by: Ross Burton Signed-off-by: Martin Jansa --- meta-oe/classes/meson.bbclass | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-oe/classes/meson.bbclass b/meta-oe/classes/meson.bbclass index 7eeff42..a09bc24 100644 --- a/meta-oe/classes/meson.bbclass +++ b/meta-oe/classes/meson.bbclass @@ -65,6 +65,7 @@ readelf = '${HOST_PREFIX}readelf' pkgconfig = 'pkg-config' [properties] +needs_exe_wrapper = true c_args = [${@meson_array('MESON_C_ARGS', d)}] c_link_args = [${@meson_array('MESON_LINK_ARGS', d)}] cpp_args = [${@meson_array('MESON_C_ARGS', d)}] -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:07:04 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:07:04 +0000 Subject: [oe-commits] [meta-openembedded] 16/34: postfix: Disable nis support on musl In-Reply-To: <150091600853.30166.6329496400942370990@git.openembedded.org> References: <150091600853.30166.6329496400942370990@git.openembedded.org> Message-ID: <20170724170649.99F79234F0E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 4e5a633eb75effe9e7454c9df3f9c0d72cefd255 Author: Khem Raj AuthorDate: Mon Jul 17 20:10:02 2017 -0700 postfix: Disable nis support on musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...libc-before-setting-CANT_USE_SEND_RECV_MS.patch | 26 ++++++++++++++++++++++ .../recipes-daemons/postfix/postfix.inc | 6 ++++- .../recipes-daemons/postfix/postfix_3.1.1.bb | 11 +++++++++ 3 files changed, 42 insertions(+), 1 deletion(-) diff --git a/meta-networking/recipes-daemons/postfix/files/0001-Check-for-glibc-before-setting-CANT_USE_SEND_RECV_MS.patch b/meta-networking/recipes-daemons/postfix/files/0001-Check-for-glibc-before-setting-CANT_USE_SEND_RECV_MS.patch new file mode 100644 index 0000000..6b86e39 --- /dev/null +++ b/meta-networking/recipes-daemons/postfix/files/0001-Check-for-glibc-before-setting-CANT_USE_SEND_RECV_MS.patch @@ -0,0 +1,26 @@ +From 63619acf25151d4dade6d65732722ec4a710a5ac Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 15 Jul 2017 09:54:25 -0700 +Subject: [PATCH] Check for glibc before setting CANT_USE_SEND_RECV_MSG + +Signed-off-by: Khem Raj +--- + src/util/sys_defs.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/util/sys_defs.h b/src/util/sys_defs.h +index f720e2a..7314c63 100644 +--- a/src/util/sys_defs.h ++++ b/src/util/sys_defs.h +@@ -813,7 +813,7 @@ extern int initgroups(const char *, int); + #define KERNEL_VERSION(a,b,c) (LINUX_VERSION_CODE + 1) + #endif + #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,2,0)) \ +- || (__GLIBC__ < 2) ++ || (defined(__GLIBC__) && (__GLIBC__ < 2)) + #define CANT_USE_SEND_RECV_MSG + #define DEF_SMTP_CACHE_DEMAND 0 + #else +-- +2.13.3 + diff --git a/meta-networking/recipes-daemons/postfix/postfix.inc b/meta-networking/recipes-daemons/postfix/postfix.inc index 4c794ff..0ec182a 100644 --- a/meta-networking/recipes-daemons/postfix/postfix.inc +++ b/meta-networking/recipes-daemons/postfix/postfix.inc @@ -60,6 +60,9 @@ export AUXLIBS-ldap = "\ export CCARGS-ldap_class-native = "" export AUXLIBS-ldap_class-native = "" +export CCARGS-nonis_libc-musl = "-DNO_NIS" +export CCARGS-nonis = "" + # SASL support -DUSE_LDAP_SASL -DUSE_SASL_AUTH # current openldap didn't enable SASL export CCARGS-sasl = "\ @@ -70,10 +73,11 @@ export CCARGS-sasl_class-native = "" export AUXLIBS-sasl_class-native = "" # PCRE, TLS support default -export CCARGS = "${CFLAGS} -DHAS_PCRE -DUSE_TLS ${CCARGS-ldap} ${CCARGS-sasl}" +export CCARGS = "${CFLAGS} -DHAS_PCRE -DUSE_TLS ${CCARGS-ldap} ${CCARGS-sasl} ${CCARGS-nonis}" export AUXLIBS = "-lpcre -lssl -lcrypto ${AUXLIBS-sasl} ${AUXLIBS-ldap}" export POSTCONF = "${STAGING_DIR_NATIVE}${sbindir_native}/postconf" +export CCARGS-nonis_libc-musl = "-DNO_NIS" # OPT,DEBUG is aready in CFLAGS # ignore the OPTS="CC=$CC" in Makefile it will not use the CC=$CC $CCARGS EXTRA_OEMAKE += "OPT= DEBUG= OPTS= " diff --git a/meta-networking/recipes-daemons/postfix/postfix_3.1.1.bb b/meta-networking/recipes-daemons/postfix/postfix_3.1.1.bb index dbbe24c..839317d 100644 --- a/meta-networking/recipes-daemons/postfix/postfix_3.1.1.bb +++ b/meta-networking/recipes-daemons/postfix/postfix_3.1.1.bb @@ -1,4 +1,15 @@ require postfix.inc +SRC_URI = "ftp://ftp.porcupine.org/mirrors/postfix-release/official/postfix-${PV}.tar.gz \ + file://makedefs.patch \ + file://install.patch \ + file://main.cf_2.0 \ + file://postfix \ + file://internal_recipient \ + file://postfix.service \ + file://aliasesdb \ + file://check_hostname.sh \ + file://0001-Check-for-glibc-before-setting-CANT_USE_SEND_RECV_MS.patch \ + " SRC_URI[md5sum] = "40d72ea143af7ab0038c2cee1f483707" SRC_URI[sha256sum] = "3deda4c34631970490b1b5fbb559905f93531bf1c7eb00e38b0d0deb1dba9982" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:07:05 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:07:05 +0000 Subject: [oe-commits] [meta-openembedded] 17/34: zeroconf: Fix build with musl In-Reply-To: <150091600853.30166.6329496400942370990@git.openembedded.org> References: <150091600853.30166.6329496400942370990@git.openembedded.org> Message-ID: <20170724170649.A1DCB234F0C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 55cd330d017ee8cd3db7012a0cc5dd1436e07a27 Author: Khem Raj AuthorDate: Wed Jul 19 08:41:32 2017 -0700 zeroconf: Fix build with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...name-arp_op-to-avoid-namespace-conflicts-.patch | 69 ++++++++++++++++++++++ .../recipes-protocols/zeroconf/zeroconf_0.9.bb | 4 +- 2 files changed, 72 insertions(+), 1 deletion(-) diff --git a/meta-networking/recipes-protocols/zeroconf/zeroconf/0001-zeroconf-Rename-arp_op-to-avoid-namespace-conflicts-.patch b/meta-networking/recipes-protocols/zeroconf/zeroconf/0001-zeroconf-Rename-arp_op-to-avoid-namespace-conflicts-.patch new file mode 100644 index 0000000..b4d6d94 --- /dev/null +++ b/meta-networking/recipes-protocols/zeroconf/zeroconf/0001-zeroconf-Rename-arp_op-to-avoid-namespace-conflicts-.patch @@ -0,0 +1,69 @@ +From 549773fdaf1fb003b84f25df386a07d299cdeb3e Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 18 Jul 2017 21:25:33 -0700 +Subject: [PATCH] zeroconf: Rename arp_op to avoid namespace conflicts with C + library + +on musl e.g. we get +In file included from /mnt/a/oe/build/tmp/work/corei7-64-bec-linux-musl/zeroconf/0.9-r1/recipe-sysroot/usr/include/net/ethernet.h:10:0, + +This is because in musl arp_op is a define which is included +and causes the conflict + +Signed-off-by: Khem Raj +--- + zeroconf.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/zeroconf.c b/zeroconf.c +index 812d34b..f27e907 100644 +--- a/zeroconf.c ++++ b/zeroconf.c +@@ -14,8 +14,6 @@ + + #include + #include +-#include +-#include + #include + #include + #include +@@ -34,6 +32,8 @@ + #include + #include + #include ++#include ++#include + + #include "delay.h" + +@@ -108,7 +108,7 @@ int arp_conflict(struct intf *intf, struct arp_packet *pkt); + void arp_packet_dump(struct arp_packet *pkt); + void arp_packet_send(int as, + struct intf *intf, +- short int arp_op, ++ short int arpop, + int null_sender); + void arp_probe(int as, struct intf *intf); + void arp_claim(int as, struct intf *intf); +@@ -1591,7 +1591,7 @@ int arp_conflict(struct intf *intf, struct arp_packet *pkt) + + void arp_packet_send(int as, + struct intf *intf, +- short int arp_op, ++ short int arpop, + int null_sender) + { + +@@ -1605,7 +1605,7 @@ void arp_packet_send(int as, + ap.arp.ar_pro = htons(ARP_IP_PROTO); + ap.arp.ar_hln = ETH_ALEN; + ap.arp.ar_pln = 4; /* octets in IPv4 address */ +- ap.arp.ar_op = htons(arp_op); ++ ap.arp.ar_op = htons(arpop); + + /* filling with 0xff sets the destination to + * the broadcast link-layer address for free +-- +2.13.3 + diff --git a/meta-networking/recipes-protocols/zeroconf/zeroconf_0.9.bb b/meta-networking/recipes-protocols/zeroconf/zeroconf_0.9.bb index 13f9b9b..753d832 100644 --- a/meta-networking/recipes-protocols/zeroconf/zeroconf_0.9.bb +++ b/meta-networking/recipes-protocols/zeroconf/zeroconf_0.9.bb @@ -20,7 +20,9 @@ SRC_URI = "http://www.progsoc.org/~wildfire/zeroconf/download/${BPN}-${PV}.tar.g file://compilefix.patch \ file://makefile-add-ldflags.patch \ file://zeroconf-default \ - file://debian-zeroconf" + file://debian-zeroconf \ + file://0001-zeroconf-Rename-arp_op-to-avoid-namespace-conflicts-.patch \ + " SRC_URI[md5sum] = "bdafb16b008ebb5633e4e581f77821d2" SRC_URI[sha256sum] = "a8c74df127753e2310fa1e072f3c9ca44a404bb0bbce9cfec7a84c6dff8bec7b" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:07:07 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:07:07 +0000 Subject: [oe-commits] [meta-openembedded] 19/34: ippool: Fix build errors found with hardening flags In-Reply-To: <150091600853.30166.6329496400942370990@git.openembedded.org> References: <150091600853.30166.6329496400942370990@git.openembedded.org> Message-ID: <20170724170649.B1602234F1B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 78d47b610d9e7fd0db97d035cceec8a99dc38e1e Author: Khem Raj AuthorDate: Thu Jul 20 03:35:26 2017 -0700 ippool: Fix build errors found with hardening flags Fix build with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../ippool/0001-Respect-flags-from-env.patch | 56 ++++ ...timer-Check-for-return-value-of-write-API.patch | 28 ++ .../ippool/ippool/0002-link-with-libtirpc.patch | 30 +++ .../ippool/ippool/0003-musl-fixes.patch | 283 +++++++++++++++++++++ .../recipes-daemons/ippool/ippool_1.3.bb | 31 ++- 5 files changed, 415 insertions(+), 13 deletions(-) diff --git a/meta-networking/recipes-daemons/ippool/ippool/0001-Respect-flags-from-env.patch b/meta-networking/recipes-daemons/ippool/ippool/0001-Respect-flags-from-env.patch new file mode 100644 index 0000000..e967621 --- /dev/null +++ b/meta-networking/recipes-daemons/ippool/ippool/0001-Respect-flags-from-env.patch @@ -0,0 +1,56 @@ +From 4848b9e4d516a9203c08432901a7b40419e8f43c Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 19 Jul 2017 15:54:35 -0700 +Subject: [PATCH 1/3] Respect flags from env + +Signed-off-by: Khem Raj +--- + Makefile | 4 ++-- + cli/Makefile | 2 +- + pppd/Makefile | 2 +- + 3 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/Makefile b/Makefile +index a05a000..439a978 100644 +--- a/Makefile ++++ b/Makefile +@@ -81,8 +81,8 @@ LIBS.dmalloc= -ldmalloc + export USE_DMALLOC + endif + +-CPPFLAGS= $(CPPFLAGS.ippooltest) +-CFLAGS= -I. -Iusl -Icli -MMD -Wall -g $(CPPFLAGS) $(CPPFLAGS.dmalloc) ++CPPFLAGS+= $(CPPFLAGS.ippooltest) ++CFLAGS+= -I. -Iusl -Icli -MMD -Wall -g $(CPPFLAGS) $(CPPFLAGS.dmalloc) + LDFLAGS.ippoold= $(LDFLAGS) -Wl,-E -L. -Lusl -lusl -lnsl -ldl $(LIBS.dmalloc) -lc + LDFLAGS.ippoolconfig= $(LDFLAGS) -Lcli -lcli -lreadline -lcurses -lnsl $(LIBS.dmalloc) -lc + +diff --git a/cli/Makefile b/cli/Makefile +index 4b5dd59..56fbf2f 100644 +--- a/cli/Makefile ++++ b/cli/Makefile +@@ -7,7 +7,7 @@ CLI_SRCS_TEST.o= $(CLI_SRCS_TEST.c:%.c=%.o) + + LDFLAGS.cli_test= -L.. -L. $(READLINE_LDFLAGS) -lcli -lusl -lreadline -lcurses -lc + +-CFLAGS= $(CFLAGS.optimize) -MMD -Wall -Werror -I.. $(READLINE_CFLAGS) ++CFLAGS= $(CFLAGS.optimize) -MMD -Wall -Werror -I.. $(READLINE_CFLAGS) $(CPPFLAGS) + + .PHONY: all test clean + +diff --git a/pppd/Makefile b/pppd/Makefile +index 106deca..7fd815f 100644 +--- a/pppd/Makefile ++++ b/pppd/Makefile +@@ -10,7 +10,7 @@ endif + + # END CONFIGURABLE SETTINGS + +-CFLAGS += -g -I.. -I/usr/include/pppd $(CFLAGS.pppd) -fPIC ++CFLAGS += -g -I.. -I=/usr/include/pppd $(CFLAGS.pppd) -fPIC + LDFLAGS += -shared + + all: ippool.so +-- +2.13.3 + diff --git a/meta-networking/recipes-daemons/ippool/ippool/0001-usl_timer-Check-for-return-value-of-write-API.patch b/meta-networking/recipes-daemons/ippool/ippool/0001-usl_timer-Check-for-return-value-of-write-API.patch new file mode 100644 index 0000000..6fb7cc5 --- /dev/null +++ b/meta-networking/recipes-daemons/ippool/ippool/0001-usl_timer-Check-for-return-value-of-write-API.patch @@ -0,0 +1,28 @@ +From 5d7f20c045b3c74dad2c53d65e30bd4840250082 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 27 Jun 2017 15:17:19 -0700 +Subject: [PATCH] usl_timer: Check for return value of write() API + +Signed-off-by: Khem Raj +--- + usl/usl_timer.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/usl/usl_timer.c b/usl/usl_timer.c +index fda752b..d8414a6 100644 +--- a/usl/usl_timer.c ++++ b/usl/usl_timer.c +@@ -94,7 +94,9 @@ void usl_timer_tick(void) + + if (!usl_tick_pending) { + usl_tick_pending = 1; +- write(usl_tick_pipe[1], &msg, sizeof(msg)); ++ if (write(usl_tick_pipe[1], &msg, sizeof(msg)) != sizeof(msg)) { ++ fprintf(stderr, "write to fd %i failed: %s\n", usl_tick_pipe[1], strerror(errno)); ++ } + } + } + +-- +2.13.2 + diff --git a/meta-networking/recipes-daemons/ippool/ippool/0002-link-with-libtirpc.patch b/meta-networking/recipes-daemons/ippool/ippool/0002-link-with-libtirpc.patch new file mode 100644 index 0000000..d80f7b4 --- /dev/null +++ b/meta-networking/recipes-daemons/ippool/ippool/0002-link-with-libtirpc.patch @@ -0,0 +1,30 @@ +From 47aef26198431f7ad568c2277dded158bda3e36f Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 19 Jul 2017 16:00:35 -0700 +Subject: [PATCH 2/3] link with libtirpc + +musl needs it + +Signed-off-by: Khem Raj +--- + Makefile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Makefile b/Makefile +index 439a978..ea821eb 100644 +--- a/Makefile ++++ b/Makefile +@@ -83,8 +83,8 @@ endif + + CPPFLAGS+= $(CPPFLAGS.ippooltest) + CFLAGS+= -I. -Iusl -Icli -MMD -Wall -g $(CPPFLAGS) $(CPPFLAGS.dmalloc) +-LDFLAGS.ippoold= $(LDFLAGS) -Wl,-E -L. -Lusl -lusl -lnsl -ldl $(LIBS.dmalloc) -lc +-LDFLAGS.ippoolconfig= $(LDFLAGS) -Lcli -lcli -lreadline -lcurses -lnsl $(LIBS.dmalloc) -lc ++LDFLAGS.ippoold= $(LDFLAGS) -Wl,-E -L. -Lusl -lusl -ldl $(LIBS.dmalloc) -lc -ltirpc ++LDFLAGS.ippoolconfig= $(LDFLAGS) -Lcli -lcli -lreadline -lcurses $(LIBS.dmalloc) -lc -ltirpc + + OPT_CFLAGS?= -O + +-- +2.13.3 + diff --git a/meta-networking/recipes-daemons/ippool/ippool/0003-musl-fixes.patch b/meta-networking/recipes-daemons/ippool/ippool/0003-musl-fixes.patch new file mode 100644 index 0000000..3cd5259 --- /dev/null +++ b/meta-networking/recipes-daemons/ippool/ippool/0003-musl-fixes.patch @@ -0,0 +1,283 @@ +From eb345047decba665e3f39908336a83f039e1ece2 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 19 Jul 2017 16:01:32 -0700 +Subject: [PATCH 3/3] musl fixes + +Signed-off-by: Khem Raj +--- + cli/cli_readline.c | 7 +- + ippool_api.c | 9 ++- + net/ppp_defs.h | 194 +++++++++++++++++++++++++++++++++++++++++++++++++++++ + usl/usl.h | 4 ++ + 4 files changed, 208 insertions(+), 6 deletions(-) + create mode 100644 net/ppp_defs.h + +diff --git a/cli/cli_readline.c b/cli/cli_readline.c +index 2812e6e..542935c 100644 +--- a/cli/cli_readline.c ++++ b/cli/cli_readline.c +@@ -17,13 +17,14 @@ + * Boston, MA 02110-1301 USA + * + *****************************************************************************/ +- ++#define _GNU_SOURCE + #include + #include + #include + #include + #include +-#include ++#include ++#include + #include + + #include +@@ -630,7 +631,7 @@ static void cli_rl_uninstall_signal_handlers(void) + + static int cli_rl_install_signal_handlers(void) + { +- __sighandler_t handler; ++ sighandler_t handler; + + rl_catch_signals = 0; + rl_clear_signals(); +diff --git a/ippool_api.c b/ippool_api.c +index 2c10c47..d1127a9 100644 +--- a/ippool_api.c ++++ b/ippool_api.c +@@ -181,10 +181,13 @@ int ippool_api_rpc_check_request(SVCXPRT *xprt) + * non-loopback interface, reject the request. + */ + if ((!ippool_opt_remote_rpc) && +- ((xprt->xp_raddr.sin_addr.s_addr != htonl(INADDR_LOOPBACK)) && +- (xprt->xp_raddr.sin_addr.s_addr != htonl(INADDR_ANY)))) { ++ ((xprt->xp_raddr.sin6_addr.s6_addr != htonl(INADDR_LOOPBACK)) && ++ (xprt->xp_raddr.sin6_addr.s6_addr != htonl(INADDR_ANY)))) { ++ char straddr[INET6_ADDRSTRLEN]; ++ inet_ntop(AF_INET6, &xprt->xp_raddr.sin6_addr, straddr, sizeof(straddr)); ++ + if (ippool_opt_debug) { +- ippool_log(LOG_ERR, "Rejecting RPC request from %s", inet_ntoa(xprt->xp_raddr.sin_addr)); ++ ippool_log(LOG_ERR, "Rejecting RPC request from %s", straddr); + } + svcerr_auth(xprt, AUTH_TOOWEAK); + return -EPERM; +diff --git a/net/ppp_defs.h b/net/ppp_defs.h +new file mode 100644 +index 0000000..b06eda5 +--- /dev/null ++++ b/net/ppp_defs.h +@@ -0,0 +1,194 @@ ++/* $Id: ppp_defs.h,v 1.17 2002/12/06 09:49:15 paulus Exp $ */ ++ ++/* ++ * ppp_defs.h - PPP definitions. ++ * ++ * Copyright (c) 1984 Paul Mackerras. All rights reserved. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * ++ * 1. Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * ++ * 2. Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in ++ * the documentation and/or other materials provided with the ++ * distribution. ++ * ++ * 3. The name(s) of the authors of this software must not be used to ++ * endorse or promote products derived from this software without ++ * prior written permission. ++ * ++ * 4. Redistributions of any form whatsoever must retain the following ++ * acknowledgment: ++ * "This product includes software developed by Paul Mackerras ++ * ". ++ * ++ * THE AUTHORS OF THIS SOFTWARE DISCLAIM ALL WARRANTIES WITH REGARD TO ++ * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY ++ * AND FITNESS, IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY ++ * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES ++ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN ++ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING ++ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ++ */ ++ ++#ifndef _PPP_DEFS_H_ ++#define _PPP_DEFS_H_ ++ ++/* ++ * The basic PPP frame. ++ */ ++#define PPP_HDRLEN 4 /* octets for standard ppp header */ ++#define PPP_FCSLEN 2 /* octets for FCS */ ++ ++/* ++ * Packet sizes ++ * ++ * Note - lcp shouldn't be allowed to negotiate stuff outside these ++ * limits. See lcp.h in the pppd directory. ++ * (XXX - these constants should simply be shared by lcp.c instead ++ * of living in lcp.h) ++ */ ++#define PPP_MTU 1500 /* Default MTU (size of Info field) */ ++#define PPP_MAXMTU 65535 - (PPP_HDRLEN + PPP_FCSLEN) ++#define PPP_MINMTU 64 ++#define PPP_MRU 1500 /* default MRU = max length of info field */ ++#define PPP_MAXMRU 65000 /* Largest MRU we allow */ ++#define PPP_MINMRU 128 ++ ++#define PPP_ADDRESS(p) (((u_char *)(p))[0]) ++#define PPP_CONTROL(p) (((u_char *)(p))[1]) ++#define PPP_PROTOCOL(p) ((((u_char *)(p))[2] << 8) + ((u_char *)(p))[3]) ++ ++/* ++ * Significant octet values. ++ */ ++#define PPP_ALLSTATIONS 0xff /* All-Stations broadcast address */ ++#define PPP_UI 0x03 /* Unnumbered Information */ ++#define PPP_FLAG 0x7e /* Flag Sequence */ ++#define PPP_ESCAPE 0x7d /* Asynchronous Control Escape */ ++#define PPP_TRANS 0x20 /* Asynchronous transparency modifier */ ++ ++/* ++ * Protocol field values. ++ */ ++#define PPP_IP 0x21 /* Internet Protocol */ ++#define PPP_AT 0x29 /* AppleTalk Protocol */ ++#define PPP_IPX 0x2b /* IPX protocol */ ++#define PPP_VJC_COMP 0x2d /* VJ compressed TCP */ ++#define PPP_VJC_UNCOMP 0x2f /* VJ uncompressed TCP */ ++#define PPP_IPV6 0x57 /* Internet Protocol Version 6 */ ++#define PPP_COMP 0xfd /* compressed packet */ ++#define PPP_IPCP 0x8021 /* IP Control Protocol */ ++#define PPP_ATCP 0x8029 /* AppleTalk Control Protocol */ ++#define PPP_IPXCP 0x802b /* IPX Control Protocol */ ++#define PPP_IPV6CP 0x8057 /* IPv6 Control Protocol */ ++#define PPP_CCP 0x80fd /* Compression Control Protocol */ ++#define PPP_ECP 0x8053 /* Encryption Control Protocol */ ++#define PPP_LCP 0xc021 /* Link Control Protocol */ ++#define PPP_PAP 0xc023 /* Password Authentication Protocol */ ++#define PPP_LQR 0xc025 /* Link Quality Report protocol */ ++#define PPP_CHAP 0xc223 /* Cryptographic Handshake Auth. Protocol */ ++#define PPP_CBCP 0xc029 /* Callback Control Protocol */ ++#define PPP_EAP 0xc227 /* Extensible Authentication Protocol */ ++ ++/* ++ * Values for FCS calculations. ++ */ ++#define PPP_INITFCS 0xffff /* Initial FCS value */ ++#define PPP_GOODFCS 0xf0b8 /* Good final FCS value */ ++#define PPP_FCS(fcs, c) (((fcs) >> 8) ^ fcstab[((fcs) ^ (c)) & 0xff]) ++ ++/* ++ * A 32-bit unsigned integral type. ++ */ ++ ++#if !defined(__BIT_TYPES_DEFINED__) && !defined(_BITYPES) \ ++ && !defined(__FreeBSD__) && (NS_TARGET < 40) ++#ifdef UINT32_T ++typedef UINT32_T u_int32_t; ++#else ++typedef unsigned int u_int32_t; ++typedef unsigned short u_int16_t; ++#endif ++#endif ++ ++/* ++ * Extended asyncmap - allows any character to be escaped. ++ */ ++typedef u_int32_t ext_accm[8]; ++ ++/* ++ * What to do with network protocol (NP) packets. ++ */ ++enum NPmode { ++ NPMODE_PASS, /* pass the packet through */ ++ NPMODE_DROP, /* silently drop the packet */ ++ NPMODE_ERROR, /* return an error */ ++ NPMODE_QUEUE /* save it up for later. */ ++}; ++ ++/* ++ * Statistics. ++ */ ++struct pppstat { ++ unsigned int ppp_ibytes; /* bytes received */ ++ unsigned int ppp_ipackets; /* packets received */ ++ unsigned int ppp_ierrors; /* receive errors */ ++ unsigned int ppp_obytes; /* bytes sent */ ++ unsigned int ppp_opackets; /* packets sent */ ++ unsigned int ppp_oerrors; /* transmit errors */ ++}; ++ ++struct vjstat { ++ unsigned int vjs_packets; /* outbound packets */ ++ unsigned int vjs_compressed; /* outbound compressed packets */ ++ unsigned int vjs_searches; /* searches for connection state */ ++ unsigned int vjs_misses; /* times couldn't find conn. state */ ++ unsigned int vjs_uncompressedin; /* inbound uncompressed packets */ ++ unsigned int vjs_compressedin; /* inbound compressed packets */ ++ unsigned int vjs_errorin; /* inbound unknown type packets */ ++ unsigned int vjs_tossed; /* inbound packets tossed because of error */ ++}; ++ ++struct ppp_stats { ++ struct pppstat p; /* basic PPP statistics */ ++ struct vjstat vj; /* VJ header compression statistics */ ++}; ++ ++struct compstat { ++ unsigned int unc_bytes; /* total uncompressed bytes */ ++ unsigned int unc_packets; /* total uncompressed packets */ ++ unsigned int comp_bytes; /* compressed bytes */ ++ unsigned int comp_packets; /* compressed packets */ ++ unsigned int inc_bytes; /* incompressible bytes */ ++ unsigned int inc_packets; /* incompressible packets */ ++ unsigned int ratio; /* recent compression ratio << 8 */ ++}; ++ ++struct ppp_comp_stats { ++ struct compstat c; /* packet compression statistics */ ++ struct compstat d; /* packet decompression statistics */ ++}; ++ ++/* ++ * The following structure records the time in seconds since ++ * the last NP packet was sent or received. ++ */ ++struct ppp_idle { ++ time_t xmit_idle; /* time since last NP packet sent */ ++ time_t recv_idle; /* time since last NP packet received */ ++}; ++ ++#ifndef __P ++#ifdef __STDC__ ++#define __P(x) x ++#else ++#define __P(x) () ++#endif ++#endif ++ ++#endif /* _PPP_DEFS_H_ */ +diff --git a/usl/usl.h b/usl/usl.h +index cdc16db..88d2714 100644 +--- a/usl/usl.h ++++ b/usl/usl.h +@@ -38,6 +38,10 @@ + #include "usl_fsm.h" + #include "usl_list.h" + ++#ifndef WAIT_ANY ++#define WAIT_ANY (-1) ++#endif ++ + #define USL_VERSION "0.6" + + #ifdef DEBUG +-- +2.13.3 + diff --git a/meta-networking/recipes-daemons/ippool/ippool_1.3.bb b/meta-networking/recipes-daemons/ippool/ippool_1.3.bb index 969f434..05921d5 100644 --- a/meta-networking/recipes-daemons/ippool/ippool_1.3.bb +++ b/meta-networking/recipes-daemons/ippool/ippool_1.3.bb @@ -11,16 +11,21 @@ HOMEPAGE = "http://www.openl2tp.org/" SECTION = "console/network" LICENSE = "GPLv2+" -SRC_URI = "\ - https://sourceforge.net/projects/openl2tp/files/${BPN}/${PV}/${BPN}-${PV}.tar.gz \ - file://ippool_usl_timer.patch \ - file://ippool_parallel_make_and_pic.patch \ - file://ippool_init.d.patch \ - file://always_syslog.patch \ - file://makefile-add-ldflags.patch \ - file://runtest.sh \ - file://ippool.service \ - " +SRC_URI = "https://sourceforge.net/projects/openl2tp/files/${BPN}/${PV}/${BPN}-${PV}.tar.gz \ + file://runtest.sh \ + file://ippool.service \ + file://ippool_usl_timer.patch \ + file://ippool_parallel_make_and_pic.patch \ + file://ippool_init.d.patch \ + file://always_syslog.patch \ + file://makefile-add-ldflags.patch \ + file://0001-usl_timer-Check-for-return-value-of-write-API.patch \ + file://0001-Respect-flags-from-env.patch \ +" +SRC_URI_append_libc-musl = "\ + file://0002-link-with-libtirpc.patch \ + file://0003-musl-fixes.patch \ + " LIC_FILES_CHKSUM = "file://LICENSE;md5=4c59283b82fc2b166455e0fc23c71c6f" SRC_URI[md5sum] = "e2401e65db26a3764585b97212888fae" @@ -29,6 +34,7 @@ SRC_URI[sha256sum] = "d3eab7d6cad5da8ccc9d1e31d5303e27a39622c07bdb8fa3618eea3144 inherit systemd DEPENDS = "readline ppp ncurses gzip-native" +DEPENDS_append_libc-musl = " libtirpc" RDEPENDS_${PN} = "rpcbind" EXTRA_OEMAKE = "CC='${CC}' AS='${AS}' LD='${LD}' AR='${AR}' NM='${NM}' STRIP='${STRIP}'" @@ -36,6 +42,8 @@ EXTRA_OEMAKE += "PPPD_VERSION=${PPPD_VERSION} SYS_LIBDIR=${libdir}" # enable self tests EXTRA_OEMAKE += "IPPOOL_TEST=y" +CPPFLAGS += "${SELECTED_OPTIMIZATION}" +CPPFLAGS_append_libc-musl = " -I${STAGING_INCDIR}/tirpc" SYSTEMD_SERVICE_${PN} = "ippool.service" SYSTEMD_AUTO_ENABLE = "disable" @@ -48,9 +56,6 @@ do_compile_prepend() { sed -i -e "s:-I/usr/include/pppd:-I=/usr/include/pppd:" ${S}/pppd/Makefile - # ignore the OPT_CFLAGS?= in Makefile, - # it should be in CFLAGS from env - export OPT_CFLAGS= } -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:07:08 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:07:08 +0000 Subject: [oe-commits] [meta-openembedded] 20/34: openflow: Fix build with musl In-Reply-To: <150091600853.30166.6329496400942370990@git.openembedded.org> References: <150091600853.30166.6329496400942370990@git.openembedded.org> Message-ID: <20170724170649.B969A234F1C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 37512ff91e7a7159bd1228be23382b8b409dd3d9 Author: Khem Raj AuthorDate: Fri Jul 21 04:16:00 2017 -0700 openflow: Fix build with musl Regenerate configure before running oe_runconf Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../recipes-protocols/openflow/openflow.inc | 3 +- ...use-strlcpy-from-libc-before-defining-own.patch | 64 ++++++++++++++++++++++ ...lib-netdev-Adjust-header-include-sequence.patch | 59 ++++++++++++++++++++ .../recipes-protocols/openflow/openflow_git.bb | 5 ++ 4 files changed, 129 insertions(+), 2 deletions(-) diff --git a/meta-networking/recipes-protocols/openflow/openflow.inc b/meta-networking/recipes-protocols/openflow/openflow.inc index 0ae2d1f..cccbfa1 100644 --- a/meta-networking/recipes-protocols/openflow/openflow.inc +++ b/meta-networking/recipes-protocols/openflow/openflow.inc @@ -27,9 +27,8 @@ S = "${WORKDIR}/git" inherit autotools-brokensep pkgconfig -do_configure() { +do_configure_prepend() { ./boot.sh - oe_runconf } do_install_append() { diff --git a/meta-networking/recipes-protocols/openflow/openflow/0001-Check-and-use-strlcpy-from-libc-before-defining-own.patch b/meta-networking/recipes-protocols/openflow/openflow/0001-Check-and-use-strlcpy-from-libc-before-defining-own.patch new file mode 100644 index 0000000..952274b --- /dev/null +++ b/meta-networking/recipes-protocols/openflow/openflow/0001-Check-and-use-strlcpy-from-libc-before-defining-own.patch @@ -0,0 +1,64 @@ +From 7b62e5884353b247f542844d1e4687d0e9211999 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 20 Jul 2017 04:27:32 -0700 +Subject: [PATCH 1/2] Check and use strlcpy from libc before defining own + +This is required especially on musl where +function prototype conflicts and causes build +failures. + +Signed-off-by: Khem Raj +--- + configure.ac | 2 +- + lib/util.c | 2 ++ + lib/util.h | 1 + + 3 files changed, 4 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 13064f6..596c43f 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -57,7 +57,7 @@ OFP_CHECK_HWTABLES + OFP_CHECK_HWLIBS + AC_SYS_LARGEFILE + +-AC_CHECK_FUNCS([strsignal]) ++AC_CHECK_FUNCS([strlcpy strsignal]) + + AC_ARG_VAR(KARCH, [Kernel Architecture String]) + AC_SUBST(KARCH) +diff --git a/lib/util.c b/lib/util.c +index 21cc28d..1f341b1 100644 +--- a/lib/util.c ++++ b/lib/util.c +@@ -138,6 +138,7 @@ xasprintf(const char *format, ...) + return s; + } + ++#ifndef HAVE_STRLCPY + void + strlcpy(char *dst, const char *src, size_t size) + { +@@ -148,6 +149,7 @@ strlcpy(char *dst, const char *src, size_t size) + dst[n_copy] = '\0'; + } + } ++#endif + + void + ofp_fatal(int err_no, const char *format, ...) +diff --git a/lib/util.h b/lib/util.h +index fde681f..9e45ea9 100644 +--- a/lib/util.h ++++ b/lib/util.h +@@ -41,6 +41,7 @@ + #include + #include + #include "compiler.h" ++#include "config.h" + + #ifndef va_copy + #ifdef __va_copy +-- +2.13.3 + diff --git a/meta-networking/recipes-protocols/openflow/openflow/0002-lib-netdev-Adjust-header-include-sequence.patch b/meta-networking/recipes-protocols/openflow/openflow/0002-lib-netdev-Adjust-header-include-sequence.patch new file mode 100644 index 0000000..75180fe --- /dev/null +++ b/meta-networking/recipes-protocols/openflow/openflow/0002-lib-netdev-Adjust-header-include-sequence.patch @@ -0,0 +1,59 @@ +From 5bba224edea38607e8732081f86679ffd8b218ab Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 20 Jul 2017 04:29:04 -0700 +Subject: [PATCH 2/2] lib/netdev: Adjust header include sequence + +Specify libc headers before kernel UAPIs +this helps compiling with musl where otherwise +it uses the definition from kernel and complains +about double definition in libc headers + +Signed-off-by: Khem Raj +--- + lib/netdev.c | 11 +++++------ + 1 file changed, 5 insertions(+), 6 deletions(-) + +diff --git a/lib/netdev.c b/lib/netdev.c +index 3b6fbc5..c7de25e 100644 +--- a/lib/netdev.c ++++ b/lib/netdev.c +@@ -39,7 +39,6 @@ + #include + #include + #include +-#include + + /* Fix for some compile issues we were experiencing when setting up openwrt + * with the 2.4 kernel. linux/ethtool.h seems to use kernel-style inttypes, +@@ -57,10 +56,6 @@ + #define s64 __s64 + #endif + +-#include +-#include +-#include +-#include + #include + #include + #include +@@ -68,12 +63,16 @@ + #include + #include + #include +-#include + #include + #include + #include + #include + #include ++#include ++#include ++#include ++#include ++#include + + #include "fatal-signal.h" + #include "list.h" +-- +2.13.3 + diff --git a/meta-networking/recipes-protocols/openflow/openflow_git.bb b/meta-networking/recipes-protocols/openflow/openflow_git.bb index 6403bfb..eceb45e 100644 --- a/meta-networking/recipes-protocols/openflow/openflow_git.bb +++ b/meta-networking/recipes-protocols/openflow/openflow_git.bb @@ -2,3 +2,8 @@ include ${BPN}.inc SRCREV = "c84f33f09d5dbcfc9b489f64cb30475bf36f653a" PV = "1.0+git${SRCPV}" + +SRC_URI += "\ + file://0001-Check-and-use-strlcpy-from-libc-before-defining-own.patch \ + file://0002-lib-netdev-Adjust-header-include-sequence.patch \ + " -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:07:15 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:07:15 +0000 Subject: [oe-commits] [meta-openembedded] 27/34: pam-ssh-agent-auth: add new recipe In-Reply-To: <150091600853.30166.6329496400942370990@git.openembedded.org> References: <150091600853.30166.6329496400942370990@git.openembedded.org> Message-ID: <20170724170650.040C4234F22@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 07a6fad3984da2b800cb1f18f944e811c132d81e Author: Jackie Huang AuthorDate: Mon Jul 24 14:49:22 2017 +0800 pam-ssh-agent-auth: add new recipe A PAM module which permits authentication via ssh-agent. Signed-off-by: Jackie Huang Signed-off-by: Martin Jansa --- .../pam/pam-ssh-agent-auth_0.10.3.bb | 46 ++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/meta-oe/recipes-extended/pam/pam-ssh-agent-auth_0.10.3.bb b/meta-oe/recipes-extended/pam/pam-ssh-agent-auth_0.10.3.bb new file mode 100644 index 0000000..42b648e --- /dev/null +++ b/meta-oe/recipes-extended/pam/pam-ssh-agent-auth_0.10.3.bb @@ -0,0 +1,46 @@ +SUMMARY = "pam-ssh-agent-auth" +DESCRIPTION = "A PAM module which permits authentication via ssh-agent." +HOMEPAGE = "http://sourceforge.net/projects/pamsshagentauth/" +SECTION = "libs" +LICENSE = "openssl & BSD" +LIC_FILES_CHKSUM = "file://LICENSE.OpenSSL;md5=8ab01146141ded59b75f8ba7811ed05a \ + file://OPENSSH_LICENSE;md5=7ae09218173be1643c998a4b71027f9b \ +" + +SRC_URI = "http://sourceforge.net/projects/pamsshagentauth/files/pam_ssh_agent_auth/v${PV}/pam_ssh_agent_auth-${PV}.tar.bz2" +SRC_URI[md5sum] = "8dbe90ab3625e545036333e6f51ccf1d" +SRC_URI[sha256sum] = "3c53d358d6eaed1b211239df017c27c6f9970995d14102ae67bae16d4f47a763" + +DEPENDS += "libpam openssl" + +# This gets us ssh-agent, which we are almost certain to want. +# +RDEPENDS_${PN} += "openssh-misc" + +# Kind of unfortunate to have underscores in the name. +# +S = "${WORKDIR}/pam_ssh_agent_auth-${PV}" + +inherit autotools-brokensep + +# Avoid autoreconf. Override the --libexec oe_runconf specifies so that +# the module is put with the other pam modules. Because it cannot, in general, +# do a runtime test, configure wants to use rpl_malloc() and rpl_realloc() +# instead of malloc() and realloc(). We set variables to tell it not to because +# these functions do not exist. +# +do_configure () { + oe_runconf --without-openssl-header-check --libexecdir=${base_libdir}/security \ + ac_cv_func_malloc_0_nonnull=yes ac_cv_func_realloc_0_nonnull=yes +} + +# Link with CC. Configure cannot figure out the correct AR. +# +do_compile () { + oe_runmake LD="${CC}" AR="${AR}" +} + +# This stuff is not any place looked at by default. +# +FILES_${PN} += "${base_libdir}/security/pam*" +FILES_${PN}-dbg += "${base_libdir}/security/.debug" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:07:18 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:07:18 +0000 Subject: [oe-commits] [meta-openembedded] 30/34: libtimezonemap: add recipe 0.4.5 In-Reply-To: <150091600853.30166.6329496400942370990@git.openembedded.org> References: <150091600853.30166.6329496400942370990@git.openembedded.org> Message-ID: <20170724170650.1ED45234F23@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 47b526814547b4f730e19f47ca76088b5866e001 Author: Hongxu Jia AuthorDate: Mon Jul 24 03:04:06 2017 -0400 libtimezonemap: add recipe 0.4.5 Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- .../libtimezonemap/libtimezonemap_0.4.5.bb | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/meta-gnome/recipes-gnome/libtimezonemap/libtimezonemap_0.4.5.bb b/meta-gnome/recipes-gnome/libtimezonemap/libtimezonemap_0.4.5.bb new file mode 100644 index 0000000..d6aeed3 --- /dev/null +++ b/meta-gnome/recipes-gnome/libtimezonemap/libtimezonemap_0.4.5.bb @@ -0,0 +1,22 @@ +DESCRIPTION = "Time zone map widget for Gtk+" +HOMEPAGE = "https://launchpad.net/timezonemap" +SECTION = "devel/lib" +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +SRC_URI = "http://archive.ubuntu.com/ubuntu/pool/main/libt/${BPN}/${BPN}_${PV}.tar.gz \ +" +SRC_URI[md5sum] = "054306fa998fe580f17b68aa1e16551b" +SRC_URI[sha256sum] = "327e64a17c676c1bcda3b6ba3394d3d01250e5ac9a49222b9ff5737d90b15383" + + +DEPENDS = "gtk+3 gdk-pixbuf libsoup-2.4 json-glib gnome-common-native \ +" + +B = "${S}" + +inherit autotools pkgconfig gobject-introspection + +do_configure_prepend() { + (cd ${S}; NOCONFIGURE="yes" . ${S}/autogen.sh) +} -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:07:03 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:07:03 +0000 Subject: [oe-commits] [meta-openembedded] 15/34: netkit-ftp: Include sys/types.h for u_long definition In-Reply-To: <150091600853.30166.6329496400942370990@git.openembedded.org> References: <150091600853.30166.6329496400942370990@git.openembedded.org> Message-ID: <20170724170649.8F9EB234F0D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 469326a6b530b2f5912eb1a2389f1966365378aa Author: Khem Raj AuthorDate: Mon Jul 17 20:10:01 2017 -0700 netkit-ftp: Include sys/types.h for u_long definition Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../0001-ftp-include-sys-types.h-for-u_long.patch | 30 ++++++++++++++++++++++ .../recipes-netkit/netkit-ftp/netkit-ftp_0.17.bb | 7 ++--- 2 files changed, 34 insertions(+), 3 deletions(-) diff --git a/meta-networking/recipes-netkit/netkit-ftp/netkit-ftp/0001-ftp-include-sys-types.h-for-u_long.patch b/meta-networking/recipes-netkit/netkit-ftp/netkit-ftp/0001-ftp-include-sys-types.h-for-u_long.patch new file mode 100644 index 0000000..8376603 --- /dev/null +++ b/meta-networking/recipes-netkit/netkit-ftp/netkit-ftp/0001-ftp-include-sys-types.h-for-u_long.patch @@ -0,0 +1,30 @@ +From 2ee0c51d81a0a08d64b64ab624074e5f7cd9615a Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 15 Jul 2017 00:07:32 -0700 +Subject: [PATCH] ftp: include sys/types.h for u_long + +fixes +ftp.c:1091:2: error: unknown type name 'u_long'; did you mean 'long'? + u_long a1,a2,a3,a4,p1,p2; + ^~~~~~ + +Signed-off-by: Khem Raj +--- + ftp/ftp.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/ftp/ftp.c b/ftp/ftp.c +index 7a56af6..5dcb513 100644 +--- a/ftp/ftp.c ++++ b/ftp/ftp.c +@@ -43,6 +43,7 @@ char ftp_rcsid[] = + #include + #include + #include ++#include + + #include + #include +-- +2.13.3 + diff --git a/meta-networking/recipes-netkit/netkit-ftp/netkit-ftp_0.17.bb b/meta-networking/recipes-netkit/netkit-ftp/netkit-ftp_0.17.bb index 37f5bc7..394a69e 100644 --- a/meta-networking/recipes-netkit/netkit-ftp/netkit-ftp_0.17.bb +++ b/meta-networking/recipes-netkit/netkit-ftp/netkit-ftp_0.17.bb @@ -6,9 +6,10 @@ LICENSE = "BSD" LIC_FILES_CHKSUM = "file://ftp/ftp.c;beginline=2;endline=3;md5=2d40a75a50d83b8f6317b3f53db72bfa" SRC_URI = "${DEBIAN_MIRROR}/main/n/netkit-ftp/netkit-ftp_${PV}.orig.tar.gz;name=archive \ - ${DEBIAN_MIRROR}/main/n/netkit-ftp/netkit-ftp_${PV}-31.debian.tar.xz;name=patch31 \ - file://Add_ARG_MAX_define.patch \ -" + ${DEBIAN_MIRROR}/main/n/netkit-ftp/netkit-ftp_${PV}-31.debian.tar.xz;name=patch31 \ + file://Add_ARG_MAX_define.patch \ + file://0001-ftp-include-sys-types.h-for-u_long.patch \ + " SRC_URI[archive.md5sum] = "94441610c9b86ef45c4c6ec609444060" SRC_URI[archive.sha256sum] = "61c913299b81a4671ff089aac821329f7db9bc111aa812993dd585798b700349" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:07:09 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:07:09 +0000 Subject: [oe-commits] [meta-openembedded] 21/34: xl2tpd: Update to 1.3.9 In-Reply-To: <150091600853.30166.6329496400942370990@git.openembedded.org> References: <150091600853.30166.6329496400942370990@git.openembedded.org> Message-ID: <20170724170649.C30F4234F10@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 9dc92181e6631f4f76eb0cde1954d04ab8131115 Author: Khem Raj AuthorDate: Fri Jul 21 04:16:01 2017 -0700 xl2tpd: Update to 1.3.9 License changes are cosmetic https://github.com/xelerance/xl2tpd/commit/1611d6f028fe30da4cee5b026fd1de81d97cba48 Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../recipes-protocols/xl2tpd/xl2tpd.inc | 5 +- .../fix-inline-functions-errors-with-gcc-5.x.patch | 134 --------------------- .../recipes-protocols/xl2tpd/xl2tpd_git.bb | 4 +- 3 files changed, 3 insertions(+), 140 deletions(-) diff --git a/meta-networking/recipes-protocols/xl2tpd/xl2tpd.inc b/meta-networking/recipes-protocols/xl2tpd/xl2tpd.inc index 6f7f693..d037c7c 100644 --- a/meta-networking/recipes-protocols/xl2tpd/xl2tpd.inc +++ b/meta-networking/recipes-protocols/xl2tpd/xl2tpd.inc @@ -6,12 +6,9 @@ DEPENDS = "ppp virtual/kernel" PACKAGE_ARCH = "${MACHINE_ARCH}" LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://LICENSE;md5=0636e73ff0215e8d672dc4c32c317bb3" - -INC_PR = "r0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263" SRC_URI = "git://github.com/xelerance/xl2tpd.git \ - file://fix-inline-functions-errors-with-gcc-5.x.patch \ " S = "${WORKDIR}/git" diff --git a/meta-networking/recipes-protocols/xl2tpd/xl2tpd/fix-inline-functions-errors-with-gcc-5.x.patch b/meta-networking/recipes-protocols/xl2tpd/xl2tpd/fix-inline-functions-errors-with-gcc-5.x.patch deleted file mode 100644 index b75c912..0000000 --- a/meta-networking/recipes-protocols/xl2tpd/xl2tpd/fix-inline-functions-errors-with-gcc-5.x.patch +++ /dev/null @@ -1,134 +0,0 @@ -Upstream-Status: Backport - -Backport from https://github.com/xelerance/xl2tpd/commit/9098f64950eb22cf049058d40f647bafdb822174 - -Signed-off-by: Kai Kang ---- -From 9098f64950eb22cf049058d40f647bafdb822174 Mon Sep 17 00:00:00 2001 -From: Kai Kang -Date: Wed, 23 Sep 2015 10:41:05 +0800 -Subject: [PATCH] Fix build errors caused by inline function with gcc 5 - -GCC 5 defaults to -std=gnu11 instead of -std=gnu89. And -std=gnu89 -employs the GNU89 inline semantics, -std=gnu11 uses the C99 inline -semantics. - -For 'inline' fuction, it is NOT exported by C99. So error messages such as: - -| control.c:1717: undefined reference to `check_control' - -For these functions which is not referred by other compile units, make -them 'static inline'. - -For 'extern inline' function, it fails such as: - -| misc.h:68:20: warning: inline function 'swaps' declared but never defined -| extern inline void swaps (void *, int); -| ^ - -Because function swaps() is referred by other compile units, it must be -exported. The semantics of 'extern inline' are not same between GNU89 -and C99, so remove 'inline' attribute for compatible with GNU89. - -Ref: -https://gcc.gnu.org/gcc-5/porting_to.html - -Signed-off-by: Kai Kang ---- - control.c | 8 ++++---- - misc.c | 2 +- - misc.h | 2 +- - network.c | 4 ++-- - 4 files changed, 8 insertions(+), 8 deletions(-) - -diff --git a/control.c b/control.c -index b2891a9..c4a39b5 100644 ---- a/control.c -+++ b/control.c -@@ -1140,7 +1140,7 @@ int control_finish (struct tunnel *t, struct call *c) - return 0; - } - --inline int check_control (const struct buffer *buf, struct tunnel *t, -+static inline int check_control (const struct buffer *buf, struct tunnel *t, - struct call *c) - { - /* -@@ -1276,7 +1276,7 @@ inline int check_control (const struct buffer *buf, struct tunnel *t, - return 0; - } - --inline int check_payload (struct buffer *buf, struct tunnel *t, -+static inline int check_payload (struct buffer *buf, struct tunnel *t, - struct call *c) - { - /* -@@ -1382,7 +1382,7 @@ inline int check_payload (struct buffer *buf, struct tunnel *t, - #endif - return 0; - } --inline int expand_payload (struct buffer *buf, struct tunnel *t, -+static inline int expand_payload (struct buffer *buf, struct tunnel *t, - struct call *c) - { - /* -@@ -1562,7 +1562,7 @@ void send_zlb (void *data) - toss (buf); - } - --inline int write_packet (struct buffer *buf, struct tunnel *t, struct call *c, -+static inline int write_packet (struct buffer *buf, struct tunnel *t, struct call *c, - int convert) - { - /* -diff --git a/misc.c b/misc.c -index 3092401..af90dbf 100644 ---- a/misc.c -+++ b/misc.c -@@ -170,7 +170,7 @@ void do_packet_dump (struct buffer *buf) - printf ("}\n"); - } - --inline void swaps (void *buf_v, int len) -+void swaps (void *buf_v, int len) - { - #ifdef __alpha - /* Reverse byte order alpha is little endian so lest save a step. -diff --git a/misc.h b/misc.h -index aafdc62..caab7a1 100644 ---- a/misc.h -+++ b/misc.h -@@ -65,7 +65,7 @@ extern void l2tp_log (int level, const char *fmt, ...); - extern struct buffer *new_buf (int); - extern void udppush_handler (int); - extern int addfcs (struct buffer *buf); --extern inline void swaps (void *, int); -+extern void swaps (void *, int); - extern void do_packet_dump (struct buffer *); - extern void status (const char *fmt, ...); - extern void status_handler (int signal); -diff --git a/network.c b/network.c -index b1268c6..d324a71 100644 ---- a/network.c -+++ b/network.c -@@ -135,7 +135,7 @@ int init_network (void) - return 0; - } - --inline void extract (void *buf, int *tunnel, int *call) -+static inline void extract (void *buf, int *tunnel, int *call) - { - /* - * Extract the tunnel and call #'s, and fix the order of the -@@ -155,7 +155,7 @@ inline void extract (void *buf, int *tunnel, int *call) - } - } - --inline void fix_hdr (void *buf) -+static inline void fix_hdr (void *buf) - { - /* - * Fix the byte order of the header --- -2.6.1 - diff --git a/meta-networking/recipes-protocols/xl2tpd/xl2tpd_git.bb b/meta-networking/recipes-protocols/xl2tpd/xl2tpd_git.bb index 42bc398..88ae5d6 100644 --- a/meta-networking/recipes-protocols/xl2tpd/xl2tpd_git.bb +++ b/meta-networking/recipes-protocols/xl2tpd/xl2tpd_git.bb @@ -2,7 +2,7 @@ require xl2tpd.inc # This is v1.3.6 plus some commits. There is no tag for this commit. # -PV = "1.3.6+git${SRCPV}" +PV = "1.3.9+git${SRCPV}" -SRCREV = "a96b345962622ea58490924130675df6db062d11" +SRCREV = "f114c10ac532051badeca0132b144a2f1596f047" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:07:06 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:07:06 +0000 Subject: [oe-commits] [meta-openembedded] 18/34: netperf: change SRC_URI to git repository In-Reply-To: <150091600853.30166.6329496400942370990@git.openembedded.org> References: <150091600853.30166.6329496400942370990@git.openembedded.org> Message-ID: <20170724170649.A97A2234F0F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 6f5c1da9875c1576e079cf0c1ffc09c8a58d25ab Author: Yue Tao AuthorDate: Thu Jul 20 16:17:47 2017 +0800 netperf: change SRC_URI to git repository netperf upstream has been migrated to GitHub. They no longer provide ftp and tar balls. Update the SRC_URI to point the GitHub repo instead of the ftp server address, still using the v2.6.0 version. Signed-off-by: Yue Tao Signed-off-by: Martin Jansa --- .../recipes-support/netperf/{netperf_2.6.0.bb => netperf_git.bb} | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/meta-networking/recipes-support/netperf/netperf_2.6.0.bb b/meta-networking/recipes-support/netperf/netperf_git.bb similarity index 89% rename from meta-networking/recipes-support/netperf/netperf_2.6.0.bb rename to meta-networking/recipes-support/netperf/netperf_git.bb index 650fdae..5a51477 100644 --- a/meta-networking/recipes-support/netperf/netperf_2.6.0.bb +++ b/meta-networking/recipes-support/netperf/netperf_git.bb @@ -5,19 +5,19 @@ HOMEPAGE = "http://www.netperf.org/" LICENSE = "netperf" LICENSE_FLAGS = "non-commercial" +PV = "2.6.0+git${SRCREV}" +SRCREV = "050accccc728f29344088f5e15eff36fd2e0bc8a" -SRC_URI="ftp://ftp.netperf.org/netperf/archive/netperf-${PV}.tar.bz2 \ +SRC_URI="git://github.com/HewlettPackard/netperf.git \ file://cpu_set.patch \ file://vfork.patch \ file://init" -SRC_URI[md5sum] = "9654ffdfd4c4f2c93ce3733cd9ed9236" -SRC_URI[sha256sum] = "cd8dac710d4273d29f70e8dbd09353a6362ac58a11926e0822233c0cb230323a" LIC_FILES_CHKSUM = "file://COPYING;md5=a0ab17253e7a3f318da85382c7d5d5d6" inherit update-rc.d autotools -S = "${WORKDIR}/netperf-${PV}" +S = "${WORKDIR}/git" # cpu_set.patch plus _GNU_SOURCE makes src/netlib.c compile with CPU_ macros CFLAGS_append = " -DDO_UNIX -DDO_IPV6 -D_GNU_SOURCE" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:07:19 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:07:19 +0000 Subject: [oe-commits] [meta-openembedded] 31/34: xmlrpc-c: add recipe 1.31.0 In-Reply-To: <150091600853.30166.6329496400942370990@git.openembedded.org> References: <150091600853.30166.6329496400942370990@git.openembedded.org> Message-ID: <20170724170650.2E088234F11@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit c9eab81895730ac89170d1f0a140376932fa43b2 Author: Hongxu Jia AuthorDate: Mon Jul 24 03:04:07 2017 -0400 xmlrpc-c: add recipe 1.31.0 - Fix compile failure against musl C library - Fixed when compile with "-Wformat -Wformat-security -Werror=format-security" Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- ...ix-compile-failure-against-musl-C-library.patch | 52 ++++++++++++++++++++++ .../xmlrpc-c/0002-fix-formatting-issues.patch | 34 ++++++++++++++ .../recipes-devtools/xmlrpc-c/xmlrpc-c_1.31.0.bb | 24 ++++++++++ 3 files changed, 110 insertions(+) diff --git a/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-fix-compile-failure-against-musl-C-library.patch b/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-fix-compile-failure-against-musl-C-library.patch new file mode 100644 index 0000000..234d696 --- /dev/null +++ b/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-fix-compile-failure-against-musl-C-library.patch @@ -0,0 +1,52 @@ +From 950b27f8320b841490cafcb3e6e3b818c7174c0d Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Thu, 20 Jul 2017 22:32:50 -0400 +Subject: [PATCH] fix compile failure against musl C library + +Upstream-Status: Pending + +Signed-off-by: Hongxu Jia +--- + test/cpp/server_abyss.cpp | 2 +- + tools/xmlrpc_pstream/xmlrpc_pstream.cpp | 10 +++++++--- + 2 files changed, 8 insertions(+), 4 deletions(-) + +diff --git a/test/cpp/server_abyss.cpp b/test/cpp/server_abyss.cpp +index 2458a8f..82f91da 100644 +--- a/test/cpp/server_abyss.cpp ++++ b/test/cpp/server_abyss.cpp +@@ -18,7 +18,7 @@ + #ifdef WIN32 + #include + #else +- #include ++ #include + #include + #include + #include +diff --git a/tools/xmlrpc_pstream/xmlrpc_pstream.cpp b/tools/xmlrpc_pstream/xmlrpc_pstream.cpp +index d39e105..1fd8900 100644 +--- a/tools/xmlrpc_pstream/xmlrpc_pstream.cpp ++++ b/tools/xmlrpc_pstream/xmlrpc_pstream.cpp +@@ -15,11 +15,15 @@ + #include "xmlrpc-c/girerr.hpp" + using girerr::throwf; + +-#include // for __BEGIN_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif + +-__BEGIN_DECLS + #include "dumpvalue.h" /* An internal Xmlrpc-c header file ! */ +-__END_DECLS ++ ++#ifdef __cplusplus ++} ++#endif + + + #include +-- +2.8.1 + diff --git a/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0002-fix-formatting-issues.patch b/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0002-fix-formatting-issues.patch new file mode 100644 index 0000000..9d92e47 --- /dev/null +++ b/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0002-fix-formatting-issues.patch @@ -0,0 +1,34 @@ +From 14f15cb0f03defa8efb4c8e2fece58e50655be6b Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Sun, 23 Jul 2017 22:20:29 -0400 +Subject: [PATCH] src/xmlrpc_server_abyss.c: fix formatting issues + +Fixed when compile with "-Wformat -Wformat-security -Werror=format-security": +|src/xmlrpc_server_abyss.c:771:13: error: format not a string literal +and no format arguments [-Werror=format-security] +| xmlrpc_faultf(envP, error); +| ^~~~~~~~~~~~~ + +Upstream-Status: Pending + +Signed-off-by: Hongxu Jia +--- + src/xmlrpc_server_abyss.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/xmlrpc_server_abyss.c b/src/xmlrpc_server_abyss.c +index 2388652..3843f10 100644 +--- a/src/xmlrpc_server_abyss.c ++++ b/src/xmlrpc_server_abyss.c +@@ -768,7 +768,7 @@ createServer(xmlrpc_env * const envP, + ServerInit2(abyssServerP, &error); + + if (error) { +- xmlrpc_faultf(envP, error); ++ xmlrpc_faultf(envP, "%s", error); + xmlrpc_strfree(error); + } + } +-- +2.8.1 + diff --git a/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.31.0.bb b/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.31.0.bb new file mode 100644 index 0000000..70bd9e8 --- /dev/null +++ b/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.31.0.bb @@ -0,0 +1,24 @@ +DESCRIPTION = "XML-RPC for C/C++ is programming libraries and related tools to help you \ +write an XML-RPC server or client in C or C++." + +HOMEPAGE = "http://xmlrpc-c.sourceforge.net/" +LICENSE = "BSD & MIT" +LIC_FILES_CHKSUM = "file://doc/COPYING;md5=aefbf81ba0750f02176b6f86752ea951" + +SRC_URI = "git://github.com/ensc/xmlrpc-c.git;branch=master \ + file://0001-fix-compile-failure-against-musl-C-library.patch \ + file://0002-fix-formatting-issues.patch \ +" +SRCREV = "81443a9dc234cc275449dbc17867ad77ae189124" +S = "${WORKDIR}/git" + +DEPENDS = "curl libxml2" +RDEPENDS_${PN} = "curl" + +inherit cmake + +EXTRA_OECMAKE = "-D_lib:STRING=${baselib}" + +BBCLASSEXTEND = "native" + +TARGET_CFLAGS += "-Wno-narrowing" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:07:16 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:07:16 +0000 Subject: [oe-commits] [meta-openembedded] 28/34: libpwquality: add recipe 1.4.0 In-Reply-To: <150091600853.30166.6329496400942370990@git.openembedded.org> References: <150091600853.30166.6329496400942370990@git.openembedded.org> Message-ID: <20170724170650.0EA2E234F13@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 83d63efac16e6c36e58f858aec06d4530cee9c46 Author: Hongxu Jia AuthorDate: Mon Jul 24 03:04:04 2017 -0400 libpwquality: add recipe 1.4.0 Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- .../add-missing-python-include-dir-for-cross.patch | 48 ++++++++++++++++++++++ .../libpwquality/libpwquality_1.4.0.bb | 45 ++++++++++++++++++++ 2 files changed, 93 insertions(+) diff --git a/meta-oe/recipes-extended/libpwquality/files/add-missing-python-include-dir-for-cross.patch b/meta-oe/recipes-extended/libpwquality/files/add-missing-python-include-dir-for-cross.patch new file mode 100644 index 0000000..d12492f --- /dev/null +++ b/meta-oe/recipes-extended/libpwquality/files/add-missing-python-include-dir-for-cross.patch @@ -0,0 +1,48 @@ +From 1ea09e09ab2387c326bb7170835361ece6e25477 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Mon, 3 Aug 2015 13:43:14 +0800 +Subject: [PATCH] setup.py.in: add missing python include dir for cross + compiling + +Upstream-Status: inappropriate [oe-core specific] + +Signed-off-by: Hongxu Jia +--- + python/Makefile.am | 2 +- + python/setup.py.in | 3 ++- + 2 files changed, 3 insertions(+), 2 deletions(-) + +diff --git a/python/Makefile.am b/python/Makefile.am +index abc5cd3..e35ba71 100644 +--- a/python/Makefile.am ++++ b/python/Makefile.am +@@ -14,4 +14,4 @@ all-local: + CFLAGS="${CFLAGS} -fno-strict-aliasing" @PYTHONBINARY@ setup.py build --build-lib=. + + install-exec-local: +- CFLAGS="${CFLAGS} -fno-strict-aliasing" @PYTHONBINARY@ setup.py install --prefix=${DESTDIR}${prefix} ++ CFLAGS="${CFLAGS} -fno-strict-aliasing" @PYTHONBINARY@ setup.py install --prefix=${DESTDIR}${prefix} --install-lib=${DESTDIR}/${PYTHONSITEDIR} +diff --git a/python/setup.py.in b/python/setup.py.in +index 6457595..d3db0e5 100755 +--- a/python/setup.py.in ++++ b/python/setup.py.in +@@ -6,6 +6,7 @@ + + from distutils.core import setup, Extension + from distutils.command.build_ext import build_ext as _build_ext ++import os + + class build_ext(_build_ext): + def genconstants(self, headerfile, outputfile): +@@ -23,7 +24,7 @@ class build_ext(_build_ext): + + pwqmodule = Extension('pwquality', + sources = ['pwquality.c'], +- include_dirs = ['../src'], ++ include_dirs = ['../src', os.path.join(os.environ['STAGING_INCDIR'], os.environ['PYTHON_DIR'])], + library_dirs = ['../src/.libs'], + libraries = ['pwquality']) + +-- +1.9.1 + diff --git a/meta-oe/recipes-extended/libpwquality/libpwquality_1.4.0.bb b/meta-oe/recipes-extended/libpwquality/libpwquality_1.4.0.bb new file mode 100644 index 0000000..4f5ec14 --- /dev/null +++ b/meta-oe/recipes-extended/libpwquality/libpwquality_1.4.0.bb @@ -0,0 +1,45 @@ +DESCRIPTION = "Library for password quality checking and generating random passwords" +HOMEPAGE = "https://github.com/libpwquality/libpwquality" +SECTION = "devel/lib" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=6bd2f1386df813a459a0c34fde676fc2" + +SRCNAME = "libpwquality" +SRC_URI = "https://github.com/${SRCNAME}/${SRCNAME}/releases/download/${SRCNAME}-${PV}/${SRCNAME}-${PV}.tar.bz2 \ + file://add-missing-python-include-dir-for-cross.patch \ +" + +SRC_URI[md5sum] = "b8defcc7280a90e9400d6689c93a279c" +SRC_URI[sha256sum] = "1de6ff046cf2172d265a2cb6f8da439d894f3e4e8157b056c515515232fade6b" + +S = "${WORKDIR}/${SRCNAME}-${PV}" + +DEPENDS = "cracklib virtual/gettext python3" +RDEPENDS_python3-${PN} = "${PN}" + +inherit autotools python3native + +B = "${S}" + +export PYTHON_DIR +export BUILD_SYS +export HOST_SYS +export STAGING_LIBDIR +export STAGING_INCDIR + +EXTRA_OECONF += "--with-python-rev=${PYTHON_BASEVERSION} \ + --with-python-binary=${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} \ + --with-pythonsitedir=${PYTHON_SITEPACKAGES_DIR} \ + --libdir=${libdir} \ +" + +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}" +PACKAGECONFIG[pam] = "--enable-pam, --disable-pam, libpam" + +PACKAGES += "python3-${PN} python3-${PN}-dbg" +FILES_${PN} += "${libdir}/security/pam_pwquality.so" +FILES_${PN}-dbg += "${libdir}/security/.debug" +FILES_${PN}-staticdev += "${libdir}/security/pam_pwquality.a" +FILES_${PN}-dev += "${libdir}/security/pam_pwquality.la" +FILES_python3-${PN} = "${PYTHON_SITEPACKAGES_DIR}/*" +FILES_python3-${PN}-dbg = "${PYTHON_SITEPACKAGES_DIR}/.debug" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:07:14 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:07:14 +0000 Subject: [oe-commits] [meta-openembedded] 26/34: radvd: 2.14 -> 2.17 In-Reply-To: <150091600853.30166.6329496400942370990@git.openembedded.org> References: <150091600853.30166.6329496400942370990@git.openembedded.org> Message-ID: <20170724170649.EE60A234F21@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 3a87637ac69d8a066fbf8ba20737e0a8e2fb2865 Author: Huang Qiyu AuthorDate: Mon Jul 24 14:22:35 2017 +0800 radvd: 2.14 -> 2.17 Update radvd from 2.14 to 2.17 Signed-off-by: Huang Qiyu Signed-off-by: Martin Jansa --- meta-networking/recipes-daemons/radvd/radvd_2.14.bb | 5 ----- meta-networking/recipes-daemons/radvd/radvd_2.17.bb | 5 +++++ 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/meta-networking/recipes-daemons/radvd/radvd_2.14.bb b/meta-networking/recipes-daemons/radvd/radvd_2.14.bb deleted file mode 100644 index 2525249..0000000 --- a/meta-networking/recipes-daemons/radvd/radvd_2.14.bb +++ /dev/null @@ -1,5 +0,0 @@ - -require radvd.inc - -SRC_URI[md5sum] = "acd3883dece2c7888d15596b05c9fae4" -SRC_URI[sha256sum] = "46d31c05daea11c3d1e3dc092997d3631b3bc72b20a4f279b05304b83dbd7aa8" diff --git a/meta-networking/recipes-daemons/radvd/radvd_2.17.bb b/meta-networking/recipes-daemons/radvd/radvd_2.17.bb new file mode 100644 index 0000000..4baea01 --- /dev/null +++ b/meta-networking/recipes-daemons/radvd/radvd_2.17.bb @@ -0,0 +1,5 @@ + +require radvd.inc + +SRC_URI[md5sum] = "64ee3fdb5544bcddef1c6cd80d77fa0a" +SRC_URI[sha256sum] = "53757e7f2164899e1145482f1ae91829600a6e2f6fec29cfb3b350a3bb45bd5d" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:07:10 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:07:10 +0000 Subject: [oe-commits] [meta-openembedded] 22/34: wvstreams: Fix build with musl In-Reply-To: <150091600853.30166.6329496400942370990@git.openembedded.org> References: <150091600853.30166.6329496400942370990@git.openembedded.org> Message-ID: <20170724170649.CABC1234F1D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 59b96d94b32983fd69304a858abd82160a773bcd Author: Khem Raj AuthorDate: Fri Jul 21 04:16:02 2017 -0700 wvstreams: Fix build with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../0001-Check-for-limits.h-during-configure.patch | 26 ++++ ...sk-Dont-use-ucontext-on-non-glibc-systems.patch | 135 +++++++++++++++++++++ ...k-for-HAVE_LIBC_STACK_END-only-on-glibc-s.patch | 27 +++++ .../0004-wvcrash-Replace-use-of-basename-API.patch | 28 +++++ ...05-check-for-libexecinfo-during-configure.patch | 30 +++++ .../wvdial/wvstreams/argp.patch | 37 ++++++ .../recipes-connectivity/wvdial/wvstreams_4.6.1.bb | 9 +- 7 files changed, 291 insertions(+), 1 deletion(-) diff --git a/meta-oe/recipes-connectivity/wvdial/wvstreams/0001-Check-for-limits.h-during-configure.patch b/meta-oe/recipes-connectivity/wvdial/wvstreams/0001-Check-for-limits.h-during-configure.patch new file mode 100644 index 0000000..b092ba2 --- /dev/null +++ b/meta-oe/recipes-connectivity/wvdial/wvstreams/0001-Check-for-limits.h-during-configure.patch @@ -0,0 +1,26 @@ +From 7deaf836d1f1b9e4426818584b4267f8c4a095aa Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 20 Jul 2017 21:04:07 -0700 +Subject: [PATCH 1/5] Check for limits.h during configure + +Signed-off-by: Khem Raj +--- + configure.ac | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/configure.ac b/configure.ac +index fe0fa2b..188adfe 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -139,6 +139,8 @@ int main() + [Compiler warning on deprecated functions])]) + CPPFLAGS="$CPPFLAGS_save" + ++AC_CHECK_HEADERS(limits.h) ++ + # argp + USE_WVSTREAMS_ARGP=0 + AC_CHECK_HEADERS(argp.h) +-- +2.13.3 + diff --git a/meta-oe/recipes-connectivity/wvdial/wvstreams/0002-wvtask-Dont-use-ucontext-on-non-glibc-systems.patch b/meta-oe/recipes-connectivity/wvdial/wvstreams/0002-wvtask-Dont-use-ucontext-on-non-glibc-systems.patch new file mode 100644 index 0000000..232db9e --- /dev/null +++ b/meta-oe/recipes-connectivity/wvdial/wvstreams/0002-wvtask-Dont-use-ucontext-on-non-glibc-systems.patch @@ -0,0 +1,135 @@ +From 0e054339c1422168a7f4a9dcf090268053a33b1f Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 20 Jul 2017 21:05:37 -0700 +Subject: [PATCH 2/5] wvtask: Dont use ucontext on non-glibc systems + +Signed-off-by: Khem Raj +--- + utils/wvtask.cc | 24 ++++++++++++++++++++++++ + 1 file changed, 24 insertions(+) + +diff --git a/utils/wvtask.cc b/utils/wvtask.cc +index cdcd544..c0bff7d 100644 +--- a/utils/wvtask.cc ++++ b/utils/wvtask.cc +@@ -199,7 +199,9 @@ WvTaskMan::WvTaskMan() + stacktop = (char *)alloca(0); + + context_return = 0; ++#ifdef __GLIBC__ + assert(getcontext(&get_stack_return) == 0); ++#endif + if (context_return == 0) + { + // initial setup - start the stackmaster() task (never returns!) +@@ -265,13 +267,17 @@ int WvTaskMan::run(WvTask &task, int val) + state = &old_task->mystate; + + context_return = 0; ++#ifdef __GLIBC__ + assert(getcontext(state) == 0); ++#endif + int newval = context_return; + if (newval == 0) + { + // saved the state, now run the task. + context_return = val; ++#ifdef __GLIBC__ + setcontext(&task.mystate); ++#endif + return -1; + } + else +@@ -319,13 +325,17 @@ int WvTaskMan::yield(int val) + #endif + + context_return = 0; ++#ifdef __GLIBC__ + assert(getcontext(¤t_task->mystate) == 0); ++#endif + int newval = context_return; + if (newval == 0) + { + // saved the task state; now yield to the toplevel. + context_return = val; ++#ifdef __GLIBC__ + setcontext(&toplevel); ++#endif + return -1; + } + else +@@ -341,7 +351,9 @@ int WvTaskMan::yield(int val) + void WvTaskMan::get_stack(WvTask &task, size_t size) + { + context_return = 0; ++#ifdef __GLIBC__ + assert(getcontext(&get_stack_return) == 0); ++#endif + if (context_return == 0) + { + assert(magic_number == -WVTASK_MAGIC); +@@ -371,7 +383,9 @@ void WvTaskMan::get_stack(WvTask &task, size_t size) + // initial setup + stack_target = &task; + context_return = size/1024 + (size%1024 > 0); ++#ifdef __GLIBC__ + setcontext(&stackmaster_task); ++#endif + } + else + { +@@ -409,7 +423,9 @@ void WvTaskMan::_stackmaster() + assert(magic_number == -WVTASK_MAGIC); + + context_return = 0; ++#ifdef __GLIBC__ + assert(getcontext(&stackmaster_task) == 0); ++#endif + val = context_return; + if (val == 0) + { +@@ -419,7 +435,9 @@ void WvTaskMan::_stackmaster() + // all current stack allocations) and go back to get_stack + // (or the constructor, if that's what called us) + context_return = 1; ++#ifdef __GLIBC__ + setcontext(&get_stack_return); ++#endif + } + else + { +@@ -474,7 +492,9 @@ void WvTaskMan::do_task() + + // back here from longjmp; someone wants stack space. + context_return = 0; ++#ifdef __GLIBC__ + assert(getcontext(&task->mystate) == 0); ++#endif + if (context_return == 0) + { + // done the setjmp; that means the target task now has +@@ -510,7 +530,9 @@ void WvTaskMan::do_task() + } + else + { ++#ifdef __GLIBC__ + assert(getcontext(&task->func_call) == 0); ++#endif + task->func_call.uc_stack.ss_size = task->stacksize; + task->func_call.uc_stack.ss_sp = task->stack; + task->func_call.uc_stack.ss_flags = 0; +@@ -521,9 +543,11 @@ void WvTaskMan::do_task() + (void (*)(void))call_func, 1, task); + + context_return = 0; ++#ifdef __GLIBC__ + assert(getcontext(&task->func_return) == 0); + if (context_return == 0) + setcontext(&task->func_call); ++#endif + } + + // the task's function terminated. +-- +2.13.3 + diff --git a/meta-oe/recipes-connectivity/wvdial/wvstreams/0003-wvtask-Check-for-HAVE_LIBC_STACK_END-only-on-glibc-s.patch b/meta-oe/recipes-connectivity/wvdial/wvstreams/0003-wvtask-Check-for-HAVE_LIBC_STACK_END-only-on-glibc-s.patch new file mode 100644 index 0000000..f930419 --- /dev/null +++ b/meta-oe/recipes-connectivity/wvdial/wvstreams/0003-wvtask-Check-for-HAVE_LIBC_STACK_END-only-on-glibc-s.patch @@ -0,0 +1,27 @@ +From f1fc9f4d523dd8b773a4535176547b0619ec05c6 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 20 Jul 2017 21:08:57 -0700 +Subject: [PATCH 3/5] wvtask: Check for HAVE_LIBC_STACK_END only on glibc + systems + +Signed-off-by: Khem Raj +--- + utils/wvtask.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/utils/wvtask.cc b/utils/wvtask.cc +index c0bff7d..716344b 100644 +--- a/utils/wvtask.cc ++++ b/utils/wvtask.cc +@@ -563,7 +563,7 @@ void WvTaskMan::do_task() + + const void *WvTaskMan::current_top_of_stack() + { +-#ifdef HAVE_LIBC_STACK_END ++#if defined(HAVE_LIBC_STACK_END) && defined(__GLIBC__) + extern const void *__libc_stack_end; + if (use_shared_stack() || current_task == NULL) + return __libc_stack_end; +-- +2.13.3 + diff --git a/meta-oe/recipes-connectivity/wvdial/wvstreams/0004-wvcrash-Replace-use-of-basename-API.patch b/meta-oe/recipes-connectivity/wvdial/wvstreams/0004-wvcrash-Replace-use-of-basename-API.patch new file mode 100644 index 0000000..6f3fbff --- /dev/null +++ b/meta-oe/recipes-connectivity/wvdial/wvstreams/0004-wvcrash-Replace-use-of-basename-API.patch @@ -0,0 +1,28 @@ +From bfe68126693f9159f7ac66a69217e0b5f43e5781 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 20 Jul 2017 21:11:21 -0700 +Subject: [PATCH 4/5] wvcrash: Replace use of basename API + +musl does not have this API + +Signed-off-by: Khem Raj +--- + utils/wvcrash.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/utils/wvcrash.cc b/utils/wvcrash.cc +index 0417759..3d160b7 100644 +--- a/utils/wvcrash.cc ++++ b/utils/wvcrash.cc +@@ -404,7 +404,7 @@ extern void __wvcrash_init_buffers(const char *program_name); + void wvcrash_setup(const char *_argv0, const char *_desc) + { + if (_argv0) +- argv0 = basename(_argv0); ++ argv0 = strrchr(_argv0, '/') ? strrchr(_argv0, '/')+1 : _argv0; + __wvcrash_init_buffers(argv0); + if (_desc) + { +-- +2.13.3 + diff --git a/meta-oe/recipes-connectivity/wvdial/wvstreams/0005-check-for-libexecinfo-during-configure.patch b/meta-oe/recipes-connectivity/wvdial/wvstreams/0005-check-for-libexecinfo-during-configure.patch new file mode 100644 index 0000000..25e9ee2 --- /dev/null +++ b/meta-oe/recipes-connectivity/wvdial/wvstreams/0005-check-for-libexecinfo-during-configure.patch @@ -0,0 +1,30 @@ +From fd9515f08dcdafea6ae03413fbe5a43a6438fe3e Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 20 Jul 2017 21:25:48 -0700 +Subject: [PATCH 5/5] check for libexecinfo during configure + +Signed-off-by: Khem Raj +--- + configure.ac | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/configure.ac b/configure.ac +index 188adfe..1ab4d3c 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -159,6 +159,12 @@ AC_SEARCH_LIBS([argp_parse], [argp c], [], [ + USE_WVSTREAMS_ARGP=1 + fi + ]) ++ ++USE_LIBEXECINFO=0 ++AC_SEARCH_LIBS([backtrace], [execinfo], [], [ ++USE_LIBEXECINFO=1 ++]) ++ + # Function checks + AC_HEADER_DIRENT + +-- +2.13.3 + diff --git a/meta-oe/recipes-connectivity/wvdial/wvstreams/argp.patch b/meta-oe/recipes-connectivity/wvdial/wvstreams/argp.patch new file mode 100644 index 0000000..e857213 --- /dev/null +++ b/meta-oe/recipes-connectivity/wvdial/wvstreams/argp.patch @@ -0,0 +1,37 @@ +Check for argp_parse in libargp and then in libc before using internal version + +Index: wvstreams-4.6.1/configure.ac +=================================================================== +--- wvstreams-4.6.1.orig/configure.ac ++++ wvstreams-4.6.1/configure.ac +@@ -142,20 +142,21 @@ CPPFLAGS="$CPPFLAGS_save" + # argp + USE_WVSTREAMS_ARGP=0 + AC_CHECK_HEADERS(argp.h) +-AC_CHECK_FUNC(argp_parse) +-if test "$ac_cv_func_argp_parse" != yes \ +- -o "$ac_cv_header_argp_h" != yes ; then +- ( +- echo ++AC_SEARCH_LIBS([argp_parse], [argp c], [], [ ++ ++ if test "$ac_cv_func_argp_parse" != yes \ ++ -o "$ac_cv_header_argp_h" != yes ; then ++ ( ++ echo + echo 'configuring argp...' + cd argp + ./configure --host=$host_cpu-$host_os || exit $? + echo 'argp configured.' + echo +- ) || exit $? +- USE_WVSTREAMS_ARGP=1 +-fi +- ++ ) || exit $? ++ USE_WVSTREAMS_ARGP=1 ++ fi ++]) + # Function checks + AC_HEADER_DIRENT + diff --git a/meta-oe/recipes-connectivity/wvdial/wvstreams_4.6.1.bb b/meta-oe/recipes-connectivity/wvdial/wvstreams_4.6.1.bb index 607a617..0ac1752 100644 --- a/meta-oe/recipes-connectivity/wvdial/wvstreams_4.6.1.bb +++ b/meta-oe/recipes-connectivity/wvdial/wvstreams_4.6.1.bb @@ -5,6 +5,7 @@ LICENSE = "LGPLv2" LIC_FILES_CHKSUM = "file://LICENSE;md5=55ca817ccb7d5b5b66355690e9abc605" DEPENDS = "zlib openssl (>= 0.9.8) dbus readline" +DEPENDS_append_libc-musl = " argp-standalone libexecinfo" SRC_URI = "http://${BPN}.googlecode.com/files/${BP}.tar.gz \ file://04_signed_request.diff \ @@ -12,7 +13,13 @@ SRC_URI = "http://${BPN}.googlecode.com/files/${BP}.tar.gz \ file://06_gcc-4.7.diff \ file://07_buildflags.diff \ file://gcc-6.patch \ - " + file://argp.patch \ + file://0001-Check-for-limits.h-during-configure.patch \ + file://0002-wvtask-Dont-use-ucontext-on-non-glibc-systems.patch \ + file://0003-wvtask-Check-for-HAVE_LIBC_STACK_END-only-on-glibc-s.patch \ + file://0004-wvcrash-Replace-use-of-basename-API.patch \ + file://0005-check-for-libexecinfo-during-configure.patch \ + " SRC_URI[md5sum] = "2760dac31a43d452a19a3147bfde571c" SRC_URI[sha256sum] = "8403f5fbf83aa9ac0c6ce15d97fd85607488152aa84e007b7d0621b8ebc07633" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:07:12 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:07:12 +0000 Subject: [oe-commits] [meta-openembedded] 24/34: gperftools: Upgrade to 2.6.1 In-Reply-To: <150091600853.30166.6329496400942370990@git.openembedded.org> References: <150091600853.30166.6329496400942370990@git.openembedded.org> Message-ID: <20170724170649.DBCC6234F1F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 38057f5ae133b480414ae5d0c4224fb7103d2060 Author: Khem Raj AuthorDate: Sat Jul 22 09:50:42 2017 -0700 gperftools: Upgrade to 2.6.1 Fix build with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../0001-Fix-build-failure-for-ppc.patch | 28 ---------- .../gperftools/0001-fix-build-with-musl-libc.patch | 61 ++++++++++++++++++++++ ...001-include-fcntl.h-for-loff_t-definition.patch | 28 ++++++++++ .../{gperftools_2.5.bb => gperftools_2.6.1.bb} | 19 ++++--- 4 files changed, 102 insertions(+), 34 deletions(-) diff --git a/meta-oe/recipes-support/gperftools/gperftools/0001-Fix-build-failure-for-ppc.patch b/meta-oe/recipes-support/gperftools/gperftools/0001-Fix-build-failure-for-ppc.patch deleted file mode 100644 index 27f855d..0000000 --- a/meta-oe/recipes-support/gperftools/gperftools/0001-Fix-build-failure-for-ppc.patch +++ /dev/null @@ -1,28 +0,0 @@ -Subject: Fix build failure for ppc - -Upstream-Status: Pending - -Fix the following build failure. - - error: 'siginfo_t' does not name a type - -Signed-off-by: Chen Qi ---- - src/stacktrace_powerpc-linux-inl.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/stacktrace_powerpc-linux-inl.h b/src/stacktrace_powerpc-linux-inl.h -index 5d16fa1..a9bf775 100644 ---- a/src/stacktrace_powerpc-linux-inl.h -+++ b/src/stacktrace_powerpc-linux-inl.h -@@ -44,6 +44,7 @@ - - #include // for uintptr_t - #include // for NULL -+#include // for siginfo_t - #include - #include - --- -2.8.3 - diff --git a/meta-oe/recipes-support/gperftools/gperftools/0001-fix-build-with-musl-libc.patch b/meta-oe/recipes-support/gperftools/gperftools/0001-fix-build-with-musl-libc.patch new file mode 100644 index 0000000..78621c7 --- /dev/null +++ b/meta-oe/recipes-support/gperftools/gperftools/0001-fix-build-with-musl-libc.patch @@ -0,0 +1,61 @@ +From 157914941bd38f1a38bb6bd7294ca6c2bc1b8dcb Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 16 Jul 2017 15:51:28 -0700 +Subject: [PATCH] fix build with musl libc + +Patch from https://github.com/gperftools/gperftools/pull/765/ + +Signed-off-by: Khem Raj +--- + configure.ac | 1 + + src/malloc_hook_mmap_linux.h | 8 ++++++-- + 2 files changed, 7 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index b42fea3..70b49a3 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -188,6 +188,7 @@ AC_HEADER_STDC + AC_CHECK_TYPES([__int64]) # defined in some windows platforms + AC_CHECK_TYPES([struct mallinfo],,, [#include ]) + AC_CHECK_TYPES([Elf32_Versym],,, [#include ]) # for vdso_support.h ++AC_CHECK_FUNCS(__sbrk) # for intercepting glibc memory allocator + AC_CHECK_FUNCS(sbrk) # for tcmalloc to get memory + AC_CHECK_FUNCS(geteuid) # for turning off services when run as root + AC_CHECK_FUNCS(fork) # for the pthread_atfork setup +diff --git a/src/malloc_hook_mmap_linux.h b/src/malloc_hook_mmap_linux.h +index 79ac4e3..d444635 100755 +--- a/src/malloc_hook_mmap_linux.h ++++ b/src/malloc_hook_mmap_linux.h +@@ -46,6 +46,10 @@ + #include + #include "base/linux_syscall_support.h" + ++#ifndef __GLIBC__ ++typedef off64_t __off64_t; ++#endif ++ + // The x86-32 case and the x86-64 case differ: + // 32b has a mmap2() syscall, 64b does not. + // 64b and 32b have different calling conventions for mmap(). +@@ -168,7 +172,7 @@ extern "C" void* mmap64(void *start, size_t length, int prot, int flags, + return result; + } + +-# if !defined(__USE_FILE_OFFSET64) || !defined(__REDIRECT_NTH) ++# if defined(__GLIBC__) && (!defined(__USE_FILE_OFFSET64) || !defined(__REDIRECT_NTH)) + + extern "C" void* mmap(void *start, size_t length, int prot, int flags, + int fd, off_t offset) __THROW { +@@ -206,7 +210,7 @@ extern "C" void* mremap(void* old_addr, size_t old_size, size_t new_size, + return result; + } + +-#ifndef __UCLIBC__ ++#if HAVE___SBRK + // libc's version: + extern "C" void* __sbrk(ptrdiff_t increment); + +-- +2.13.3 + diff --git a/meta-oe/recipes-support/gperftools/gperftools/0001-include-fcntl.h-for-loff_t-definition.patch b/meta-oe/recipes-support/gperftools/gperftools/0001-include-fcntl.h-for-loff_t-definition.patch new file mode 100644 index 0000000..667008a --- /dev/null +++ b/meta-oe/recipes-support/gperftools/gperftools/0001-include-fcntl.h-for-loff_t-definition.patch @@ -0,0 +1,28 @@ +From 04ea8e001501931f4dbf20288aca78469617b08a Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 16 Jul 2017 19:28:17 -0700 +Subject: [PATCH] include fcntl.h for loff_t definition + +Fixes +linux_syscall_support.h:2641:26: error: 'loff_t' has not been declared + +Signed-off-by: Khem Raj +--- + src/base/linux_syscall_support.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/base/linux_syscall_support.h b/src/base/linux_syscall_support.h +index 85347a2..70431ca 100644 +--- a/src/base/linux_syscall_support.h ++++ b/src/base/linux_syscall_support.h +@@ -162,6 +162,7 @@ extern "C" { + #include + #include + #include ++#include + + #ifdef __mips__ + /* Include definitions of the ABI currently in use. */ +-- +2.13.3 + diff --git a/meta-oe/recipes-support/gperftools/gperftools_2.5.bb b/meta-oe/recipes-support/gperftools/gperftools_2.6.1.bb similarity index 58% rename from meta-oe/recipes-support/gperftools/gperftools_2.5.bb rename to meta-oe/recipes-support/gperftools/gperftools_2.6.1.bb index 43780a5..6c29a61 100644 --- a/meta-oe/recipes-support/gperftools/gperftools_2.5.bb +++ b/meta-oe/recipes-support/gperftools/gperftools_2.6.1.bb @@ -2,22 +2,29 @@ SUMMARY = "Fast, multi-threaded malloc() and nifty performance analysis tools" HOMEPAGE = "http://code.google.com/p/gperftools/" LICENSE = "BSD" LIC_FILES_CHKSUM = "file://COPYING;md5=762732742c73dc6c7fbe8632f06c059a" -DEPENDS = "libunwind" +DEPENDS += "libunwind" -SRC_URI = "http://pkgs.fedoraproject.org/repo/pkgs/gperftools/gperftools-2.5.tar.gz/aa1eaf95dbe2c9828d0bd3a00f770f50/gperftools-2.5.tar.gz \ +SRCREV = "bf840dec0495e17f5c8403e68e10b9d6bf05c559" +SRC_URI = "git://github.com/gperftools/gperftools \ file://0001-Support-Atomic-ops-on-clang.patch \ - file://0001-Fix-build-failure-for-ppc.patch \ file://0001-Use-ucontext_t-instead-of-struct-ucontext.patch \ + file://0001-fix-build-with-musl-libc.patch \ + file://0001-include-fcntl.h-for-loff_t-definition.patch \ " -SRC_URI[md5sum] = "aa1eaf95dbe2c9828d0bd3a00f770f50" -SRC_URI[sha256sum] = "6fa2748f1acdf44d750253e160cf6e2e72571329b42e563b455bde09e9e85173" - inherit autotools +S = "${WORKDIR}/git" + # On mips, we have the following error. # do_page_fault(): sending SIGSEGV to ls for invalid read access from 00000008 # Segmentation fault (core dumped) COMPATIBLE_HOST = "(i.86|x86_64|powerpc|powerpc64|arm|aarch64).*-linux*" # On aarch64, add this option to avoid system hanging when using libtcmalloc.so. EXTRA_OECONF_aarch64 += "--disable-libunwind" +# Disable thumb1 +# {standard input}: Assembler messages: +# {standard input}:434: Error: lo register required -- `ldr pc,[sp]' +# Makefile:4538: recipe for target 'src/base/libtcmalloc_la-linuxthreads.lo' failed +ARM_INSTRUCTION_SET_armv5 = "arm" + -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:07:13 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:07:13 +0000 Subject: [oe-commits] [meta-openembedded] 25/34: c-ares: update 1.12.0 -> 1.13.0 In-Reply-To: <150091600853.30166.6329496400942370990@git.openembedded.org> References: <150091600853.30166.6329496400942370990@git.openembedded.org> Message-ID: <20170724170649.E408C234F20@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 18d3bb8480294705ce5e68bd792bd071641987ac Author: Alexey Firago AuthorDate: Sun Jul 23 20:43:43 2017 +0300 c-ares: update 1.12.0 -> 1.13.0 Update to c-ares version 1.13.0 from June 20 2017 Recipe updates: * Change SRC_URI to github, because tarball at https://c-ares.haxx.se/download/c-ares-1.13.0.tar.gz does not include all required files (cmake related). * Change build method to cmake. Library now supports cmake build system and installs *.cmake config files. These files can be used by several libraries/packages, such as gRPC, curl. Highlights of library changes and bug fixes: * cmake build system support added * Add virtual function set for socket IO: ares_set_socket_functions * CVE-2017-1000381: c-ares NAPTR parser out of bounds access Full changelog - https://c-ares.haxx.se/changelog.html Signed-off-by: Alexey Firago Signed-off-by: Martin Jansa --- ...configure.ac-don-t-override-passed-cflags.patch | 26 ---------------------- .../recipes-support/c-ares/c-ares_1.12.0.bb | 15 ------------- .../recipes-support/c-ares/c-ares_1.13.0.bb | 16 +++++++++++++ 3 files changed, 16 insertions(+), 41 deletions(-) diff --git a/meta-networking/recipes-support/c-ares/c-ares/0001-configure.ac-don-t-override-passed-cflags.patch b/meta-networking/recipes-support/c-ares/c-ares/0001-configure.ac-don-t-override-passed-cflags.patch deleted file mode 100644 index 10fad4e..0000000 --- a/meta-networking/recipes-support/c-ares/c-ares/0001-configure.ac-don-t-override-passed-cflags.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 2a7236d2a7bb9c3d3c3f44ebf59404bf7134fcb3 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andr=C3=A9=20Draszik?= -Date: Tue, 12 Apr 2016 11:37:28 +0100 -Subject: [PATCH] configure.ac: don't override passed cflags - -We are controlling debug and optimiser flags from OE ---- - configure.ac | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 5c02450..3cf9fcd 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -147,8 +147,6 @@ dnl ********************************************************************** - - CARES_CHECK_COMPILER - CARES_SET_COMPILER_BASIC_OPTS --CARES_SET_COMPILER_DEBUG_OPTS --CARES_SET_COMPILER_OPTIMIZE_OPTS - CARES_SET_COMPILER_WARNING_OPTS - - if test "$compiler_id" = "INTEL_UNIX_C"; then --- -2.8.0.rc3 - diff --git a/meta-networking/recipes-support/c-ares/c-ares_1.12.0.bb b/meta-networking/recipes-support/c-ares/c-ares_1.12.0.bb deleted file mode 100644 index 4e28d6a..0000000 --- a/meta-networking/recipes-support/c-ares/c-ares_1.12.0.bb +++ /dev/null @@ -1,15 +0,0 @@ -# Copyright (c) 2012-2014 LG Electronics, Inc. - -SUMMARY = "c-ares is a C library that resolves names asynchronously." -HOMEPAGE = "http://daniel.haxx.se/projects/c-ares/" -SECTION = "libs" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE.md;md5=f4b026880834eb01c035c5e5cb47ccac" - -SRC_URI = "http://c-ares.haxx.se/download/${BP}.tar.gz \ - file://0001-configure.ac-don-t-override-passed-cflags.patch \ -" -SRC_URI[md5sum] = "2ca44be1715cd2c5666a165d35788424" -SRC_URI[sha256sum] = "8692f9403cdcdf936130e045c84021665118ee9bfea905d1a76f04d4e6f365fb" - -inherit autotools pkgconfig diff --git a/meta-networking/recipes-support/c-ares/c-ares_1.13.0.bb b/meta-networking/recipes-support/c-ares/c-ares_1.13.0.bb new file mode 100644 index 0000000..46f0198 --- /dev/null +++ b/meta-networking/recipes-support/c-ares/c-ares_1.13.0.bb @@ -0,0 +1,16 @@ +# Copyright (c) 2012-2014 LG Electronics, Inc. +SUMMARY = "c-ares is a C library that resolves names asynchronously." +HOMEPAGE = "http://daniel.haxx.se/projects/c-ares/" +SECTION = "libs" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=f4b026880834eb01c035c5e5cb47ccac" +SRCREV = "3be1924221e1326df520f8498d704a5c4c8d0cce" +PV = "1.13.0+gitr${SRCPV}" + +SRC_URI = "git://github.com/c-ares/c-ares.git" + +S = "${WORKDIR}/git" + +inherit cmake pkgconfig + +FILES_${PN}-dev += "${libdir}/cmake" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:07:21 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:07:21 +0000 Subject: [oe-commits] [meta-openembedded] 33/34: syslog-ng: provide correct PID directory location to restart/stop syslog-ng daemon In-Reply-To: <150091600853.30166.6329496400942370990@git.openembedded.org> References: <150091600853.30166.6329496400942370990@git.openembedded.org> Message-ID: <20170724170650.4442D234F15@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 33bf82aac7ee2dbfd845983a2cf3f49f82d7170e Author: Jagadeesh Krishnanjanappa AuthorDate: Mon Jul 24 14:01:11 2017 +0530 syslog-ng: provide correct PID directory location to restart/stop syslog-ng daemon If "--with-pidfile-dir" configure option is not specified, then the syslog-ng configure script assigns PID directory to /var/lib/syslog-ng; which is where the PID file of syslog-ng process is created. But the syslog-ng initscript (/etc/init.d/syslog-ng) uses /var/lib/syslog-ng/ as PID directory, this results in not stopping/restarting syslog-ng daemons when it was requested to do so. For example: -- snip -- root at qemux86:~# /etc/init.d/syslog status /usr/sbin/syslog-ng (pid 345 344) is running... root at qemux86:~# /etc/init.d/syslog stop Stopping syslog-ng:. root at qemux86:~# /etc/init.d/syslog status /usr/sbin/syslog-ng (pid 345 344) is running... root at qemux86:~# -- snip -- Hence set --with-pidfile-dir to "/var/run/syslog-ng", so that syslog-ng daemon can be stopped/restarted via initscript. Signed-off-by: Jagadeesh Krishnanjanappa Signed-off-by: Martin Jansa --- meta-oe/recipes-support/syslog-ng/syslog-ng.inc | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-oe/recipes-support/syslog-ng/syslog-ng.inc b/meta-oe/recipes-support/syslog-ng/syslog-ng.inc index 0977f7e..f1bf9b0 100644 --- a/meta-oe/recipes-support/syslog-ng/syslog-ng.inc +++ b/meta-oe/recipes-support/syslog-ng/syslog-ng.inc @@ -36,6 +36,7 @@ EXTRA_OECONF = " \ --with-librabbitmq-client=no \ --disable-python \ --disable-java --disable-java-modules \ + --with-pidfile-dir=${localstatedir}/run/${BPN} \ ${CONFIG_TLS} \ " -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:07:22 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:07:22 +0000 Subject: [oe-commits] [meta-openembedded] 34/34: python-pyserial: update to version 3.4 In-Reply-To: <150091600853.30166.6329496400942370990@git.openembedded.org> References: <150091600853.30166.6329496400942370990@git.openembedded.org> Message-ID: <20170724170650.4B5A1234F16@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 066e474abb23bbc49b608aa4309186fc5c2f54e1 Author: Derek Straka AuthorDate: Mon Jul 24 10:39:18 2017 -0400 python-pyserial: update to version 3.4 Signed-off-by: Derek Straka Signed-off-by: Martin Jansa --- meta-python/recipes-devtools/python/python-pyserial.inc | 4 ++-- .../python/{python-pyserial_3.3.bb => python-pyserial_3.4.bb} | 0 .../python/{python3-pyserial_3.3.bb => python3-pyserial_3.4.bb} | 0 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-python/recipes-devtools/python/python-pyserial.inc b/meta-python/recipes-devtools/python/python-pyserial.inc index 2508e76..99c6fc4 100644 --- a/meta-python/recipes-devtools/python/python-pyserial.inc +++ b/meta-python/recipes-devtools/python/python-pyserial.inc @@ -13,8 +13,8 @@ RDEPENDS_${PN} = "\ ${PYTHON_PN}-threading \ " -RSRC_URI[md5sum] = "6afe4c2e47bcec6eb7051b8c1ce19d52" -SRC_URI[sha256sum] = "2949cddffc2b05683065a3cd2345114b1a49b08df8cb843d69ba99dc3e19edc2" +SRC_URI[md5sum] = "ed6183b15519a0ae96675e9c3330c69b" +SRC_URI[sha256sum] = "6e2d401fdee0eab996cf734e67773a0143b932772ca8b42451440cfed942c627" inherit pypi diff --git a/meta-python/recipes-devtools/python/python-pyserial_3.3.bb b/meta-python/recipes-devtools/python/python-pyserial_3.4.bb similarity index 100% rename from meta-python/recipes-devtools/python/python-pyserial_3.3.bb rename to meta-python/recipes-devtools/python/python-pyserial_3.4.bb diff --git a/meta-python/recipes-devtools/python/python3-pyserial_3.3.bb b/meta-python/recipes-devtools/python/python3-pyserial_3.4.bb similarity index 100% rename from meta-python/recipes-devtools/python/python3-pyserial_3.3.bb rename to meta-python/recipes-devtools/python/python3-pyserial_3.4.bb -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:07:20 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:07:20 +0000 Subject: [oe-commits] [meta-openembedded] 32/34: usermode: add recipe 1.111 In-Reply-To: <150091600853.30166.6329496400942370990@git.openembedded.org> References: <150091600853.30166.6329496400942370990@git.openembedded.org> Message-ID: <20170724170650.38210234F12@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit f5adce072309f5c4bf4ebb093ff1485818e36237 Author: Hongxu Jia AuthorDate: Mon Jul 24 03:04:08 2017 -0400 usermode: add recipe 1.111 - Fix compile failure against musl C library - Fixed when compile with "-Wformat -Wformat-security -Werror=format-security" Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- ...ix-compile-failure-against-musl-C-library.patch | 27 +++++++++++++++++ .../usermode/usermode/0001-formatting-issues.patch | 34 ++++++++++++++++++++++ .../recipes-support/usermode/usermode_1.111.bb | 29 ++++++++++++++++++ 3 files changed, 90 insertions(+) diff --git a/meta-gnome/recipes-support/usermode/usermode/0001-fix-compile-failure-against-musl-C-library.patch b/meta-gnome/recipes-support/usermode/usermode/0001-fix-compile-failure-against-musl-C-library.patch new file mode 100644 index 0000000..bf19f28 --- /dev/null +++ b/meta-gnome/recipes-support/usermode/usermode/0001-fix-compile-failure-against-musl-C-library.patch @@ -0,0 +1,27 @@ +From c77e3f0d4560797f7dc56549ae5ebcc035714a4d Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Thu, 20 Jul 2017 23:20:53 -0400 +Subject: [PATCH] fix compile failure against musl C library + +Upstream-Status: Pending + +Signed-off-by: Hongxu Jia +--- + usermount.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/usermount.c b/usermount.c +index 3aafadd..4107027 100644 +--- a/usermount.c ++++ b/usermount.c +@@ -46,6 +46,7 @@ + #include + #include + #include ++#include + #include + #include + #include +-- +2.8.1 + diff --git a/meta-gnome/recipes-support/usermode/usermode/0001-formatting-issues.patch b/meta-gnome/recipes-support/usermode/usermode/0001-formatting-issues.patch new file mode 100644 index 0000000..9d512d4 --- /dev/null +++ b/meta-gnome/recipes-support/usermode/usermode/0001-formatting-issues.patch @@ -0,0 +1,34 @@ +From 7a316dad0697af2ef4e8079a5af51565a8195aa6 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Mon, 24 Jul 2017 01:42:30 -0400 +Subject: [PATCH] userhelper.c: fix formatting issues + +Fixed when compile with "-Wformat -Wformat-security -Werror=format-security": +|../usermode-1.111/userhelper.c:585:4: error: format not a string +literal and no format arguments [-Werror=format-security] +| text = g_strdup_printf(dgettext(data->domain, data->banner)); +| ^~~~ + +Upstream-Status: Pending + +Signed-off-by: Hongxu Jia +--- + userhelper.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/userhelper.c b/userhelper.c +index 76ad492..ee0da49 100644 +--- a/userhelper.c ++++ b/userhelper.c +@@ -582,7 +582,7 @@ converse_console(int num_msg, const struct pam_message **msg, + + if (banner == 0) { + if ((data->banner != NULL) && (data->domain != NULL)) { +- text = g_strdup_printf(dgettext(data->domain, data->banner)); ++ text = g_strdup_printf("%s", dgettext(data->domain, data->banner)); + } else { + if ((service != NULL) && (strlen(service) > 0)) { + if (data->fallback_allowed) { +-- +2.8.1 + diff --git a/meta-gnome/recipes-support/usermode/usermode_1.111.bb b/meta-gnome/recipes-support/usermode/usermode_1.111.bb new file mode 100644 index 0000000..06e400e --- /dev/null +++ b/meta-gnome/recipes-support/usermode/usermode_1.111.bb @@ -0,0 +1,29 @@ +DESCRIPTION = "The usermode contains the userhelper program, which can be used to allow configured \ +programs to be run with superuser privileges by ordinary users, and several \ +graphical tools for users: \ +* userinfo allows users to change their finger information. \ +* usermount lets users mount, unmount, and format filesystems. \ +* userpasswd allows users to change their passwords. \ +" +HOMEPAGE = "https://pagure.io/usermode" +LICENSE = "GPLv2+" +DEPENDS = "libuser ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)} \ + gtk+ desktop-file-utils-native \ + startup-notification intltool-native \ + util-linux \ +" + +SRC_URI = "https://releases.pagure.org/${BPN}/${BPN}-${PV}.tar.xz \ + file://0001-formatting-issues.patch \ +" +SRC_URI[md5sum] = "28ba510fbd8da9f4e86e57d6c31cff29" +SRC_URI[sha256sum] = "3dd0b9639b5bd396b7ea5fada6aaa694dbfdaa3ad06eb95a6eabcdfd02f875c6" + +SRC_URI_append_libc-musl = " file://0001-fix-compile-failure-against-musl-C-library.patch" + +LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" + +inherit autotools gettext pkgconfig + +EXTRA_OEMAKE += "INSTALL='install -p'" + -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:07:17 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:07:17 +0000 Subject: [oe-commits] [meta-openembedded] 29/34: libbytesize: add recipe 0.10 In-Reply-To: <150091600853.30166.6329496400942370990@git.openembedded.org> References: <150091600853.30166.6329496400942370990@git.openembedded.org> Message-ID: <20170724170650.16B97234F14@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 4d2bf0543c257770df416599c602a45fab8a2970 Author: Hongxu Jia AuthorDate: Mon Jul 24 03:04:05 2017 -0400 libbytesize: add recipe 0.10 Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- .../files/0001-remove-python2-support.patch | 30 +++++++++++++++++++ .../libbytesize/libbytesize_0.10.bb | 34 ++++++++++++++++++++++ 2 files changed, 64 insertions(+) diff --git a/meta-oe/recipes-support/libbytesize/files/0001-remove-python2-support.patch b/meta-oe/recipes-support/libbytesize/files/0001-remove-python2-support.patch new file mode 100644 index 0000000..b57e39f --- /dev/null +++ b/meta-oe/recipes-support/libbytesize/files/0001-remove-python2-support.patch @@ -0,0 +1,30 @@ +From 2ddc97b30792817d162f51ec3818376aefbf184e Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Wed, 3 May 2017 02:05:33 -0400 +Subject: [PATCH] remove python2 support + +We use python3 rather than python2 support + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Hongxu Jia +--- + src/python/Makefile.am | 5 ----- + 1 file changed, 5 deletions(-) + +diff --git a/src/python/Makefile.am b/src/python/Makefile.am +index 567d0d7..8d9f446 100644 +--- a/src/python/Makefile.am ++++ b/src/python/Makefile.am +@@ -1,8 +1,3 @@ +-pylibdir = $(shell python -c "import distutils.sysconfig; print(distutils.sysconfig.get_python_lib(1,0,prefix='${exec_prefix}'))") +- +-pybytesizedir = $(pylibdir)/bytesize +-dist_pybytesize_DATA = bytesize.py __init__.py +- + if WITH_PYTHON3 + py3libdir = $(shell python3 -c "import distutils.sysconfig; print(distutils.sysconfig.get_python_lib(1,0,prefix='${exec_prefix}'))") + py3bytesizedir = $(py3libdir)/bytesize +-- +2.8.1 + diff --git a/meta-oe/recipes-support/libbytesize/libbytesize_0.10.bb b/meta-oe/recipes-support/libbytesize/libbytesize_0.10.bb new file mode 100644 index 0000000..6903021 --- /dev/null +++ b/meta-oe/recipes-support/libbytesize/libbytesize_0.10.bb @@ -0,0 +1,34 @@ +DESCRIPTION = "The goal of this project is to provide a tiny library that would \ +facilitate the common operations with sizes in bytes." +HOMEPAGE = "https://github.com/rhinstaller/libbytesize" +LICENSE = "LGPLv2+" +SECTION = "devel/lib" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=c07cb499d259452f324bb90c3067d85c" + +S = "${WORKDIR}/git" +B = "${S}" + +SRCREV = "369127c0edbba7d1a4e2e02486375dd9d379524f" +PV = "0.10+git${SRCPV}" +SRC_URI = "git://github.com/rhinstaller/libbytesize;branch=master \ + file://0001-remove-python2-support.patch \ +" + +inherit gettext autotools python3native + +DEPENDS += " \ + libpcre \ + gmp \ + mpfr \ +" + +FILES_${PN} += "${PYTHON_SITEPACKAGES_DIR}/bytesize" + +PACKAGECONFIG ??= "python3" +PACKAGECONFIG[python3] = "--with-python3, --without-python3,,python3" +PACKAGECONFIG[doc] = "--with-gtk-doc, --without-gtk-doc, gtk-doc-native" + +EXTRA_OEMAKE = "py3libdir=${PYTHON_SITEPACKAGES_DIR}" + + -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:16:47 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:16:47 +0000 Subject: [oe-commits] [meta-openembedded] branch master-next updated (066e474 -> 4e132a3) Message-ID: <150091660713.1159.8313055819081263245@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a change to branch master-next in repository meta-openembedded. discard 066e474 python-pyserial: update to version 3.4 discard 33bf82a syslog-ng: provide correct PID directory location to restart/stop syslog-ng daemon discard f5adce0 usermode: add recipe 1.111 discard c9eab81 xmlrpc-c: add recipe 1.31.0 discard 47b5268 libtimezonemap: add recipe 0.4.5 discard 4d2bf05 libbytesize: add recipe 0.10 discard 83d63ef libpwquality: add recipe 1.4.0 discard 07a6fad pam-ssh-agent-auth: add new recipe discard 3a87637 radvd: 2.14 -> 2.17 discard 18d3bb8 c-ares: update 1.12.0 -> 1.13.0 discard 38057f5 gperftools: Upgrade to 2.6.1 discard 059f5ee meson: set needs_exe_wrapper discard 59b96d9 wvstreams: Fix build with musl discard 9dc9218 xl2tpd: Update to 1.3.9 discard 37512ff openflow: Fix build with musl new 1635d50 openflow: Fix build with musl new dc71c92 xl2tpd: Update to 1.3.9 new c688bd7 wvstreams: Fix build with musl new 2e691cd meson: set needs_exe_wrapper new ce6c02b gperftools: Upgrade to 2.6.1 new 97b7e8f c-ares: update 1.12.0 -> 1.13.0 new 11537f3 radvd: 2.14 -> 2.17 new ea2a594 pam-ssh-agent-auth: add new recipe new 18666bd libpwquality: add recipe 1.4.0 new b4d181c libbytesize: add recipe 0.10 new bbdebb3 libtimezonemap: add recipe 0.4.5 new a519ff1 xmlrpc-c: add recipe 1.31.0 new a3f5ca2 usermode: add recipe 1.111 new af2ed39 syslog-ng: provide correct PID directory location to restart/stop syslog-ng daemon new 4e132a3 python-pyserial: update to version 3.4 This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (066e474) \ N -- N -- N refs/heads/master-next (4e132a3) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 15 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:16:51 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:16:51 +0000 Subject: [oe-commits] [meta-openembedded] 04/15: meson: set needs_exe_wrapper In-Reply-To: <150091660713.1159.8313055819081263245@git.openembedded.org> References: <150091660713.1159.8313055819081263245@git.openembedded.org> Message-ID: <20170724171647.5968C234F10@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 2e691cd836ad285dcd249ed50435d62832b9b981 Author: Ross Burton AuthorDate: Fri Jul 21 13:31:59 2017 +0100 meson: set needs_exe_wrapper Tell Meson that even if it looks like the architectures are compatible, not to bother executing binaries: differences in tunes, C libraries and so on mean binaries may not work. Signed-off-by: Ross Burton Signed-off-by: Martin Jansa --- meta-oe/classes/meson.bbclass | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-oe/classes/meson.bbclass b/meta-oe/classes/meson.bbclass index 7eeff42..a09bc24 100644 --- a/meta-oe/classes/meson.bbclass +++ b/meta-oe/classes/meson.bbclass @@ -65,6 +65,7 @@ readelf = '${HOST_PREFIX}readelf' pkgconfig = 'pkg-config' [properties] +needs_exe_wrapper = true c_args = [${@meson_array('MESON_C_ARGS', d)}] c_link_args = [${@meson_array('MESON_LINK_ARGS', d)}] cpp_args = [${@meson_array('MESON_C_ARGS', d)}] -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:16:50 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:16:50 +0000 Subject: [oe-commits] [meta-openembedded] 03/15: wvstreams: Fix build with musl In-Reply-To: <150091660713.1159.8313055819081263245@git.openembedded.org> References: <150091660713.1159.8313055819081263245@git.openembedded.org> Message-ID: <20170724171647.51290234F0F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit c688bd7180179edcb3b9b68e825fe70b3af7816b Author: Khem Raj AuthorDate: Sat Jul 22 09:50:45 2017 -0700 wvstreams: Fix build with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../0001-Check-for-limits.h-during-configure.patch | 26 ++++ ...sk-Dont-use-ucontext-on-non-glibc-systems.patch | 135 +++++++++++++++++++++ ...k-for-HAVE_LIBC_STACK_END-only-on-glibc-s.patch | 27 +++++ .../0004-wvcrash-Replace-use-of-basename-API.patch | 28 +++++ ...05-check-for-libexecinfo-during-configure.patch | 30 +++++ .../wvdial/wvstreams/argp.patch | 37 ++++++ .../recipes-connectivity/wvdial/wvstreams_4.6.1.bb | 9 +- 7 files changed, 291 insertions(+), 1 deletion(-) diff --git a/meta-oe/recipes-connectivity/wvdial/wvstreams/0001-Check-for-limits.h-during-configure.patch b/meta-oe/recipes-connectivity/wvdial/wvstreams/0001-Check-for-limits.h-during-configure.patch new file mode 100644 index 0000000..b092ba2 --- /dev/null +++ b/meta-oe/recipes-connectivity/wvdial/wvstreams/0001-Check-for-limits.h-during-configure.patch @@ -0,0 +1,26 @@ +From 7deaf836d1f1b9e4426818584b4267f8c4a095aa Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 20 Jul 2017 21:04:07 -0700 +Subject: [PATCH 1/5] Check for limits.h during configure + +Signed-off-by: Khem Raj +--- + configure.ac | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/configure.ac b/configure.ac +index fe0fa2b..188adfe 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -139,6 +139,8 @@ int main() + [Compiler warning on deprecated functions])]) + CPPFLAGS="$CPPFLAGS_save" + ++AC_CHECK_HEADERS(limits.h) ++ + # argp + USE_WVSTREAMS_ARGP=0 + AC_CHECK_HEADERS(argp.h) +-- +2.13.3 + diff --git a/meta-oe/recipes-connectivity/wvdial/wvstreams/0002-wvtask-Dont-use-ucontext-on-non-glibc-systems.patch b/meta-oe/recipes-connectivity/wvdial/wvstreams/0002-wvtask-Dont-use-ucontext-on-non-glibc-systems.patch new file mode 100644 index 0000000..232db9e --- /dev/null +++ b/meta-oe/recipes-connectivity/wvdial/wvstreams/0002-wvtask-Dont-use-ucontext-on-non-glibc-systems.patch @@ -0,0 +1,135 @@ +From 0e054339c1422168a7f4a9dcf090268053a33b1f Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 20 Jul 2017 21:05:37 -0700 +Subject: [PATCH 2/5] wvtask: Dont use ucontext on non-glibc systems + +Signed-off-by: Khem Raj +--- + utils/wvtask.cc | 24 ++++++++++++++++++++++++ + 1 file changed, 24 insertions(+) + +diff --git a/utils/wvtask.cc b/utils/wvtask.cc +index cdcd544..c0bff7d 100644 +--- a/utils/wvtask.cc ++++ b/utils/wvtask.cc +@@ -199,7 +199,9 @@ WvTaskMan::WvTaskMan() + stacktop = (char *)alloca(0); + + context_return = 0; ++#ifdef __GLIBC__ + assert(getcontext(&get_stack_return) == 0); ++#endif + if (context_return == 0) + { + // initial setup - start the stackmaster() task (never returns!) +@@ -265,13 +267,17 @@ int WvTaskMan::run(WvTask &task, int val) + state = &old_task->mystate; + + context_return = 0; ++#ifdef __GLIBC__ + assert(getcontext(state) == 0); ++#endif + int newval = context_return; + if (newval == 0) + { + // saved the state, now run the task. + context_return = val; ++#ifdef __GLIBC__ + setcontext(&task.mystate); ++#endif + return -1; + } + else +@@ -319,13 +325,17 @@ int WvTaskMan::yield(int val) + #endif + + context_return = 0; ++#ifdef __GLIBC__ + assert(getcontext(¤t_task->mystate) == 0); ++#endif + int newval = context_return; + if (newval == 0) + { + // saved the task state; now yield to the toplevel. + context_return = val; ++#ifdef __GLIBC__ + setcontext(&toplevel); ++#endif + return -1; + } + else +@@ -341,7 +351,9 @@ int WvTaskMan::yield(int val) + void WvTaskMan::get_stack(WvTask &task, size_t size) + { + context_return = 0; ++#ifdef __GLIBC__ + assert(getcontext(&get_stack_return) == 0); ++#endif + if (context_return == 0) + { + assert(magic_number == -WVTASK_MAGIC); +@@ -371,7 +383,9 @@ void WvTaskMan::get_stack(WvTask &task, size_t size) + // initial setup + stack_target = &task; + context_return = size/1024 + (size%1024 > 0); ++#ifdef __GLIBC__ + setcontext(&stackmaster_task); ++#endif + } + else + { +@@ -409,7 +423,9 @@ void WvTaskMan::_stackmaster() + assert(magic_number == -WVTASK_MAGIC); + + context_return = 0; ++#ifdef __GLIBC__ + assert(getcontext(&stackmaster_task) == 0); ++#endif + val = context_return; + if (val == 0) + { +@@ -419,7 +435,9 @@ void WvTaskMan::_stackmaster() + // all current stack allocations) and go back to get_stack + // (or the constructor, if that's what called us) + context_return = 1; ++#ifdef __GLIBC__ + setcontext(&get_stack_return); ++#endif + } + else + { +@@ -474,7 +492,9 @@ void WvTaskMan::do_task() + + // back here from longjmp; someone wants stack space. + context_return = 0; ++#ifdef __GLIBC__ + assert(getcontext(&task->mystate) == 0); ++#endif + if (context_return == 0) + { + // done the setjmp; that means the target task now has +@@ -510,7 +530,9 @@ void WvTaskMan::do_task() + } + else + { ++#ifdef __GLIBC__ + assert(getcontext(&task->func_call) == 0); ++#endif + task->func_call.uc_stack.ss_size = task->stacksize; + task->func_call.uc_stack.ss_sp = task->stack; + task->func_call.uc_stack.ss_flags = 0; +@@ -521,9 +543,11 @@ void WvTaskMan::do_task() + (void (*)(void))call_func, 1, task); + + context_return = 0; ++#ifdef __GLIBC__ + assert(getcontext(&task->func_return) == 0); + if (context_return == 0) + setcontext(&task->func_call); ++#endif + } + + // the task's function terminated. +-- +2.13.3 + diff --git a/meta-oe/recipes-connectivity/wvdial/wvstreams/0003-wvtask-Check-for-HAVE_LIBC_STACK_END-only-on-glibc-s.patch b/meta-oe/recipes-connectivity/wvdial/wvstreams/0003-wvtask-Check-for-HAVE_LIBC_STACK_END-only-on-glibc-s.patch new file mode 100644 index 0000000..f930419 --- /dev/null +++ b/meta-oe/recipes-connectivity/wvdial/wvstreams/0003-wvtask-Check-for-HAVE_LIBC_STACK_END-only-on-glibc-s.patch @@ -0,0 +1,27 @@ +From f1fc9f4d523dd8b773a4535176547b0619ec05c6 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 20 Jul 2017 21:08:57 -0700 +Subject: [PATCH 3/5] wvtask: Check for HAVE_LIBC_STACK_END only on glibc + systems + +Signed-off-by: Khem Raj +--- + utils/wvtask.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/utils/wvtask.cc b/utils/wvtask.cc +index c0bff7d..716344b 100644 +--- a/utils/wvtask.cc ++++ b/utils/wvtask.cc +@@ -563,7 +563,7 @@ void WvTaskMan::do_task() + + const void *WvTaskMan::current_top_of_stack() + { +-#ifdef HAVE_LIBC_STACK_END ++#if defined(HAVE_LIBC_STACK_END) && defined(__GLIBC__) + extern const void *__libc_stack_end; + if (use_shared_stack() || current_task == NULL) + return __libc_stack_end; +-- +2.13.3 + diff --git a/meta-oe/recipes-connectivity/wvdial/wvstreams/0004-wvcrash-Replace-use-of-basename-API.patch b/meta-oe/recipes-connectivity/wvdial/wvstreams/0004-wvcrash-Replace-use-of-basename-API.patch new file mode 100644 index 0000000..6f3fbff --- /dev/null +++ b/meta-oe/recipes-connectivity/wvdial/wvstreams/0004-wvcrash-Replace-use-of-basename-API.patch @@ -0,0 +1,28 @@ +From bfe68126693f9159f7ac66a69217e0b5f43e5781 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 20 Jul 2017 21:11:21 -0700 +Subject: [PATCH 4/5] wvcrash: Replace use of basename API + +musl does not have this API + +Signed-off-by: Khem Raj +--- + utils/wvcrash.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/utils/wvcrash.cc b/utils/wvcrash.cc +index 0417759..3d160b7 100644 +--- a/utils/wvcrash.cc ++++ b/utils/wvcrash.cc +@@ -404,7 +404,7 @@ extern void __wvcrash_init_buffers(const char *program_name); + void wvcrash_setup(const char *_argv0, const char *_desc) + { + if (_argv0) +- argv0 = basename(_argv0); ++ argv0 = strrchr(_argv0, '/') ? strrchr(_argv0, '/')+1 : _argv0; + __wvcrash_init_buffers(argv0); + if (_desc) + { +-- +2.13.3 + diff --git a/meta-oe/recipes-connectivity/wvdial/wvstreams/0005-check-for-libexecinfo-during-configure.patch b/meta-oe/recipes-connectivity/wvdial/wvstreams/0005-check-for-libexecinfo-during-configure.patch new file mode 100644 index 0000000..25e9ee2 --- /dev/null +++ b/meta-oe/recipes-connectivity/wvdial/wvstreams/0005-check-for-libexecinfo-during-configure.patch @@ -0,0 +1,30 @@ +From fd9515f08dcdafea6ae03413fbe5a43a6438fe3e Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 20 Jul 2017 21:25:48 -0700 +Subject: [PATCH 5/5] check for libexecinfo during configure + +Signed-off-by: Khem Raj +--- + configure.ac | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/configure.ac b/configure.ac +index 188adfe..1ab4d3c 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -159,6 +159,12 @@ AC_SEARCH_LIBS([argp_parse], [argp c], [], [ + USE_WVSTREAMS_ARGP=1 + fi + ]) ++ ++USE_LIBEXECINFO=0 ++AC_SEARCH_LIBS([backtrace], [execinfo], [], [ ++USE_LIBEXECINFO=1 ++]) ++ + # Function checks + AC_HEADER_DIRENT + +-- +2.13.3 + diff --git a/meta-oe/recipes-connectivity/wvdial/wvstreams/argp.patch b/meta-oe/recipes-connectivity/wvdial/wvstreams/argp.patch new file mode 100644 index 0000000..e857213 --- /dev/null +++ b/meta-oe/recipes-connectivity/wvdial/wvstreams/argp.patch @@ -0,0 +1,37 @@ +Check for argp_parse in libargp and then in libc before using internal version + +Index: wvstreams-4.6.1/configure.ac +=================================================================== +--- wvstreams-4.6.1.orig/configure.ac ++++ wvstreams-4.6.1/configure.ac +@@ -142,20 +142,21 @@ CPPFLAGS="$CPPFLAGS_save" + # argp + USE_WVSTREAMS_ARGP=0 + AC_CHECK_HEADERS(argp.h) +-AC_CHECK_FUNC(argp_parse) +-if test "$ac_cv_func_argp_parse" != yes \ +- -o "$ac_cv_header_argp_h" != yes ; then +- ( +- echo ++AC_SEARCH_LIBS([argp_parse], [argp c], [], [ ++ ++ if test "$ac_cv_func_argp_parse" != yes \ ++ -o "$ac_cv_header_argp_h" != yes ; then ++ ( ++ echo + echo 'configuring argp...' + cd argp + ./configure --host=$host_cpu-$host_os || exit $? + echo 'argp configured.' + echo +- ) || exit $? +- USE_WVSTREAMS_ARGP=1 +-fi +- ++ ) || exit $? ++ USE_WVSTREAMS_ARGP=1 ++ fi ++]) + # Function checks + AC_HEADER_DIRENT + diff --git a/meta-oe/recipes-connectivity/wvdial/wvstreams_4.6.1.bb b/meta-oe/recipes-connectivity/wvdial/wvstreams_4.6.1.bb index 607a617..0ac1752 100644 --- a/meta-oe/recipes-connectivity/wvdial/wvstreams_4.6.1.bb +++ b/meta-oe/recipes-connectivity/wvdial/wvstreams_4.6.1.bb @@ -5,6 +5,7 @@ LICENSE = "LGPLv2" LIC_FILES_CHKSUM = "file://LICENSE;md5=55ca817ccb7d5b5b66355690e9abc605" DEPENDS = "zlib openssl (>= 0.9.8) dbus readline" +DEPENDS_append_libc-musl = " argp-standalone libexecinfo" SRC_URI = "http://${BPN}.googlecode.com/files/${BP}.tar.gz \ file://04_signed_request.diff \ @@ -12,7 +13,13 @@ SRC_URI = "http://${BPN}.googlecode.com/files/${BP}.tar.gz \ file://06_gcc-4.7.diff \ file://07_buildflags.diff \ file://gcc-6.patch \ - " + file://argp.patch \ + file://0001-Check-for-limits.h-during-configure.patch \ + file://0002-wvtask-Dont-use-ucontext-on-non-glibc-systems.patch \ + file://0003-wvtask-Check-for-HAVE_LIBC_STACK_END-only-on-glibc-s.patch \ + file://0004-wvcrash-Replace-use-of-basename-API.patch \ + file://0005-check-for-libexecinfo-during-configure.patch \ + " SRC_URI[md5sum] = "2760dac31a43d452a19a3147bfde571c" SRC_URI[sha256sum] = "8403f5fbf83aa9ac0c6ce15d97fd85607488152aa84e007b7d0621b8ebc07633" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:16:49 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:16:49 +0000 Subject: [oe-commits] [meta-openembedded] 02/15: xl2tpd: Update to 1.3.9 In-Reply-To: <150091660713.1159.8313055819081263245@git.openembedded.org> References: <150091660713.1159.8313055819081263245@git.openembedded.org> Message-ID: <20170724171647.45760234F0E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit dc71c92a1bf5a2cc3cafe92037a64a3de794246a Author: Khem Raj AuthorDate: Sat Jul 22 09:50:44 2017 -0700 xl2tpd: Update to 1.3.9 License changes are cosmetic https://github.com/xelerance/xl2tpd/commit/1611d6f028fe30da4cee5b026fd1de81d97cba48 Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../recipes-protocols/xl2tpd/xl2tpd.inc | 5 +- .../fix-inline-functions-errors-with-gcc-5.x.patch | 134 --------------------- .../recipes-protocols/xl2tpd/xl2tpd_git.bb | 4 +- 3 files changed, 3 insertions(+), 140 deletions(-) diff --git a/meta-networking/recipes-protocols/xl2tpd/xl2tpd.inc b/meta-networking/recipes-protocols/xl2tpd/xl2tpd.inc index 6f7f693..d037c7c 100644 --- a/meta-networking/recipes-protocols/xl2tpd/xl2tpd.inc +++ b/meta-networking/recipes-protocols/xl2tpd/xl2tpd.inc @@ -6,12 +6,9 @@ DEPENDS = "ppp virtual/kernel" PACKAGE_ARCH = "${MACHINE_ARCH}" LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://LICENSE;md5=0636e73ff0215e8d672dc4c32c317bb3" - -INC_PR = "r0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263" SRC_URI = "git://github.com/xelerance/xl2tpd.git \ - file://fix-inline-functions-errors-with-gcc-5.x.patch \ " S = "${WORKDIR}/git" diff --git a/meta-networking/recipes-protocols/xl2tpd/xl2tpd/fix-inline-functions-errors-with-gcc-5.x.patch b/meta-networking/recipes-protocols/xl2tpd/xl2tpd/fix-inline-functions-errors-with-gcc-5.x.patch deleted file mode 100644 index b75c912..0000000 --- a/meta-networking/recipes-protocols/xl2tpd/xl2tpd/fix-inline-functions-errors-with-gcc-5.x.patch +++ /dev/null @@ -1,134 +0,0 @@ -Upstream-Status: Backport - -Backport from https://github.com/xelerance/xl2tpd/commit/9098f64950eb22cf049058d40f647bafdb822174 - -Signed-off-by: Kai Kang ---- -From 9098f64950eb22cf049058d40f647bafdb822174 Mon Sep 17 00:00:00 2001 -From: Kai Kang -Date: Wed, 23 Sep 2015 10:41:05 +0800 -Subject: [PATCH] Fix build errors caused by inline function with gcc 5 - -GCC 5 defaults to -std=gnu11 instead of -std=gnu89. And -std=gnu89 -employs the GNU89 inline semantics, -std=gnu11 uses the C99 inline -semantics. - -For 'inline' fuction, it is NOT exported by C99. So error messages such as: - -| control.c:1717: undefined reference to `check_control' - -For these functions which is not referred by other compile units, make -them 'static inline'. - -For 'extern inline' function, it fails such as: - -| misc.h:68:20: warning: inline function 'swaps' declared but never defined -| extern inline void swaps (void *, int); -| ^ - -Because function swaps() is referred by other compile units, it must be -exported. The semantics of 'extern inline' are not same between GNU89 -and C99, so remove 'inline' attribute for compatible with GNU89. - -Ref: -https://gcc.gnu.org/gcc-5/porting_to.html - -Signed-off-by: Kai Kang ---- - control.c | 8 ++++---- - misc.c | 2 +- - misc.h | 2 +- - network.c | 4 ++-- - 4 files changed, 8 insertions(+), 8 deletions(-) - -diff --git a/control.c b/control.c -index b2891a9..c4a39b5 100644 ---- a/control.c -+++ b/control.c -@@ -1140,7 +1140,7 @@ int control_finish (struct tunnel *t, struct call *c) - return 0; - } - --inline int check_control (const struct buffer *buf, struct tunnel *t, -+static inline int check_control (const struct buffer *buf, struct tunnel *t, - struct call *c) - { - /* -@@ -1276,7 +1276,7 @@ inline int check_control (const struct buffer *buf, struct tunnel *t, - return 0; - } - --inline int check_payload (struct buffer *buf, struct tunnel *t, -+static inline int check_payload (struct buffer *buf, struct tunnel *t, - struct call *c) - { - /* -@@ -1382,7 +1382,7 @@ inline int check_payload (struct buffer *buf, struct tunnel *t, - #endif - return 0; - } --inline int expand_payload (struct buffer *buf, struct tunnel *t, -+static inline int expand_payload (struct buffer *buf, struct tunnel *t, - struct call *c) - { - /* -@@ -1562,7 +1562,7 @@ void send_zlb (void *data) - toss (buf); - } - --inline int write_packet (struct buffer *buf, struct tunnel *t, struct call *c, -+static inline int write_packet (struct buffer *buf, struct tunnel *t, struct call *c, - int convert) - { - /* -diff --git a/misc.c b/misc.c -index 3092401..af90dbf 100644 ---- a/misc.c -+++ b/misc.c -@@ -170,7 +170,7 @@ void do_packet_dump (struct buffer *buf) - printf ("}\n"); - } - --inline void swaps (void *buf_v, int len) -+void swaps (void *buf_v, int len) - { - #ifdef __alpha - /* Reverse byte order alpha is little endian so lest save a step. -diff --git a/misc.h b/misc.h -index aafdc62..caab7a1 100644 ---- a/misc.h -+++ b/misc.h -@@ -65,7 +65,7 @@ extern void l2tp_log (int level, const char *fmt, ...); - extern struct buffer *new_buf (int); - extern void udppush_handler (int); - extern int addfcs (struct buffer *buf); --extern inline void swaps (void *, int); -+extern void swaps (void *, int); - extern void do_packet_dump (struct buffer *); - extern void status (const char *fmt, ...); - extern void status_handler (int signal); -diff --git a/network.c b/network.c -index b1268c6..d324a71 100644 ---- a/network.c -+++ b/network.c -@@ -135,7 +135,7 @@ int init_network (void) - return 0; - } - --inline void extract (void *buf, int *tunnel, int *call) -+static inline void extract (void *buf, int *tunnel, int *call) - { - /* - * Extract the tunnel and call #'s, and fix the order of the -@@ -155,7 +155,7 @@ inline void extract (void *buf, int *tunnel, int *call) - } - } - --inline void fix_hdr (void *buf) -+static inline void fix_hdr (void *buf) - { - /* - * Fix the byte order of the header --- -2.6.1 - diff --git a/meta-networking/recipes-protocols/xl2tpd/xl2tpd_git.bb b/meta-networking/recipes-protocols/xl2tpd/xl2tpd_git.bb index 42bc398..88ae5d6 100644 --- a/meta-networking/recipes-protocols/xl2tpd/xl2tpd_git.bb +++ b/meta-networking/recipes-protocols/xl2tpd/xl2tpd_git.bb @@ -2,7 +2,7 @@ require xl2tpd.inc # This is v1.3.6 plus some commits. There is no tag for this commit. # -PV = "1.3.6+git${SRCPV}" +PV = "1.3.9+git${SRCPV}" -SRCREV = "a96b345962622ea58490924130675df6db062d11" +SRCREV = "f114c10ac532051badeca0132b144a2f1596f047" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:16:48 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:16:48 +0000 Subject: [oe-commits] [meta-openembedded] 01/15: openflow: Fix build with musl In-Reply-To: <150091660713.1159.8313055819081263245@git.openembedded.org> References: <150091660713.1159.8313055819081263245@git.openembedded.org> Message-ID: <20170724171647.3D8F4234F0D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 1635d50a8ad3b5df26cb9c6525bb9e9073b2f7ca Author: Khem Raj AuthorDate: Sat Jul 22 09:50:43 2017 -0700 openflow: Fix build with musl Regenerate configure before running oe_runconf Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../recipes-protocols/openflow/openflow.inc | 3 +- ...use-strlcpy-from-libc-before-defining-own.patch | 64 ++++++++++++++++++++++ ...lib-netdev-Adjust-header-include-sequence.patch | 59 ++++++++++++++++++++ .../recipes-protocols/openflow/openflow_git.bb | 5 ++ 4 files changed, 129 insertions(+), 2 deletions(-) diff --git a/meta-networking/recipes-protocols/openflow/openflow.inc b/meta-networking/recipes-protocols/openflow/openflow.inc index 0ae2d1f..cccbfa1 100644 --- a/meta-networking/recipes-protocols/openflow/openflow.inc +++ b/meta-networking/recipes-protocols/openflow/openflow.inc @@ -27,9 +27,8 @@ S = "${WORKDIR}/git" inherit autotools-brokensep pkgconfig -do_configure() { +do_configure_prepend() { ./boot.sh - oe_runconf } do_install_append() { diff --git a/meta-networking/recipes-protocols/openflow/openflow/0001-Check-and-use-strlcpy-from-libc-before-defining-own.patch b/meta-networking/recipes-protocols/openflow/openflow/0001-Check-and-use-strlcpy-from-libc-before-defining-own.patch new file mode 100644 index 0000000..952274b --- /dev/null +++ b/meta-networking/recipes-protocols/openflow/openflow/0001-Check-and-use-strlcpy-from-libc-before-defining-own.patch @@ -0,0 +1,64 @@ +From 7b62e5884353b247f542844d1e4687d0e9211999 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 20 Jul 2017 04:27:32 -0700 +Subject: [PATCH 1/2] Check and use strlcpy from libc before defining own + +This is required especially on musl where +function prototype conflicts and causes build +failures. + +Signed-off-by: Khem Raj +--- + configure.ac | 2 +- + lib/util.c | 2 ++ + lib/util.h | 1 + + 3 files changed, 4 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 13064f6..596c43f 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -57,7 +57,7 @@ OFP_CHECK_HWTABLES + OFP_CHECK_HWLIBS + AC_SYS_LARGEFILE + +-AC_CHECK_FUNCS([strsignal]) ++AC_CHECK_FUNCS([strlcpy strsignal]) + + AC_ARG_VAR(KARCH, [Kernel Architecture String]) + AC_SUBST(KARCH) +diff --git a/lib/util.c b/lib/util.c +index 21cc28d..1f341b1 100644 +--- a/lib/util.c ++++ b/lib/util.c +@@ -138,6 +138,7 @@ xasprintf(const char *format, ...) + return s; + } + ++#ifndef HAVE_STRLCPY + void + strlcpy(char *dst, const char *src, size_t size) + { +@@ -148,6 +149,7 @@ strlcpy(char *dst, const char *src, size_t size) + dst[n_copy] = '\0'; + } + } ++#endif + + void + ofp_fatal(int err_no, const char *format, ...) +diff --git a/lib/util.h b/lib/util.h +index fde681f..9e45ea9 100644 +--- a/lib/util.h ++++ b/lib/util.h +@@ -41,6 +41,7 @@ + #include + #include + #include "compiler.h" ++#include "config.h" + + #ifndef va_copy + #ifdef __va_copy +-- +2.13.3 + diff --git a/meta-networking/recipes-protocols/openflow/openflow/0002-lib-netdev-Adjust-header-include-sequence.patch b/meta-networking/recipes-protocols/openflow/openflow/0002-lib-netdev-Adjust-header-include-sequence.patch new file mode 100644 index 0000000..75180fe --- /dev/null +++ b/meta-networking/recipes-protocols/openflow/openflow/0002-lib-netdev-Adjust-header-include-sequence.patch @@ -0,0 +1,59 @@ +From 5bba224edea38607e8732081f86679ffd8b218ab Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 20 Jul 2017 04:29:04 -0700 +Subject: [PATCH 2/2] lib/netdev: Adjust header include sequence + +Specify libc headers before kernel UAPIs +this helps compiling with musl where otherwise +it uses the definition from kernel and complains +about double definition in libc headers + +Signed-off-by: Khem Raj +--- + lib/netdev.c | 11 +++++------ + 1 file changed, 5 insertions(+), 6 deletions(-) + +diff --git a/lib/netdev.c b/lib/netdev.c +index 3b6fbc5..c7de25e 100644 +--- a/lib/netdev.c ++++ b/lib/netdev.c +@@ -39,7 +39,6 @@ + #include + #include + #include +-#include + + /* Fix for some compile issues we were experiencing when setting up openwrt + * with the 2.4 kernel. linux/ethtool.h seems to use kernel-style inttypes, +@@ -57,10 +56,6 @@ + #define s64 __s64 + #endif + +-#include +-#include +-#include +-#include + #include + #include + #include +@@ -68,12 +63,16 @@ + #include + #include + #include +-#include + #include + #include + #include + #include + #include ++#include ++#include ++#include ++#include ++#include + + #include "fatal-signal.h" + #include "list.h" +-- +2.13.3 + diff --git a/meta-networking/recipes-protocols/openflow/openflow_git.bb b/meta-networking/recipes-protocols/openflow/openflow_git.bb index 6403bfb..eceb45e 100644 --- a/meta-networking/recipes-protocols/openflow/openflow_git.bb +++ b/meta-networking/recipes-protocols/openflow/openflow_git.bb @@ -2,3 +2,8 @@ include ${BPN}.inc SRCREV = "c84f33f09d5dbcfc9b489f64cb30475bf36f653a" PV = "1.0+git${SRCPV}" + +SRC_URI += "\ + file://0001-Check-and-use-strlcpy-from-libc-before-defining-own.patch \ + file://0002-lib-netdev-Adjust-header-include-sequence.patch \ + " -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:16:55 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:16:55 +0000 Subject: [oe-commits] [meta-openembedded] 08/15: pam-ssh-agent-auth: add new recipe In-Reply-To: <150091660713.1159.8313055819081263245@git.openembedded.org> References: <150091660713.1159.8313055819081263245@git.openembedded.org> Message-ID: <20170724171647.78C7D234F14@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit ea2a59496e5d19e138f7de8028e1854bc6c2b26d Author: Jackie Huang AuthorDate: Mon Jul 24 14:49:22 2017 +0800 pam-ssh-agent-auth: add new recipe A PAM module which permits authentication via ssh-agent. Signed-off-by: Jackie Huang Signed-off-by: Martin Jansa --- .../pam/pam-ssh-agent-auth_0.10.3.bb | 46 ++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/meta-oe/recipes-extended/pam/pam-ssh-agent-auth_0.10.3.bb b/meta-oe/recipes-extended/pam/pam-ssh-agent-auth_0.10.3.bb new file mode 100644 index 0000000..42b648e --- /dev/null +++ b/meta-oe/recipes-extended/pam/pam-ssh-agent-auth_0.10.3.bb @@ -0,0 +1,46 @@ +SUMMARY = "pam-ssh-agent-auth" +DESCRIPTION = "A PAM module which permits authentication via ssh-agent." +HOMEPAGE = "http://sourceforge.net/projects/pamsshagentauth/" +SECTION = "libs" +LICENSE = "openssl & BSD" +LIC_FILES_CHKSUM = "file://LICENSE.OpenSSL;md5=8ab01146141ded59b75f8ba7811ed05a \ + file://OPENSSH_LICENSE;md5=7ae09218173be1643c998a4b71027f9b \ +" + +SRC_URI = "http://sourceforge.net/projects/pamsshagentauth/files/pam_ssh_agent_auth/v${PV}/pam_ssh_agent_auth-${PV}.tar.bz2" +SRC_URI[md5sum] = "8dbe90ab3625e545036333e6f51ccf1d" +SRC_URI[sha256sum] = "3c53d358d6eaed1b211239df017c27c6f9970995d14102ae67bae16d4f47a763" + +DEPENDS += "libpam openssl" + +# This gets us ssh-agent, which we are almost certain to want. +# +RDEPENDS_${PN} += "openssh-misc" + +# Kind of unfortunate to have underscores in the name. +# +S = "${WORKDIR}/pam_ssh_agent_auth-${PV}" + +inherit autotools-brokensep + +# Avoid autoreconf. Override the --libexec oe_runconf specifies so that +# the module is put with the other pam modules. Because it cannot, in general, +# do a runtime test, configure wants to use rpl_malloc() and rpl_realloc() +# instead of malloc() and realloc(). We set variables to tell it not to because +# these functions do not exist. +# +do_configure () { + oe_runconf --without-openssl-header-check --libexecdir=${base_libdir}/security \ + ac_cv_func_malloc_0_nonnull=yes ac_cv_func_realloc_0_nonnull=yes +} + +# Link with CC. Configure cannot figure out the correct AR. +# +do_compile () { + oe_runmake LD="${CC}" AR="${AR}" +} + +# This stuff is not any place looked at by default. +# +FILES_${PN} += "${base_libdir}/security/pam*" +FILES_${PN}-dbg += "${base_libdir}/security/.debug" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:16:58 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:16:58 +0000 Subject: [oe-commits] [meta-openembedded] 11/15: libtimezonemap: add recipe 0.4.5 In-Reply-To: <150091660713.1159.8313055819081263245@git.openembedded.org> References: <150091660713.1159.8313055819081263245@git.openembedded.org> Message-ID: <20170724171647.8CD55234F17@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit bbdebb395a29910bec7a19f7eaddc2fe9d40937f Author: Hongxu Jia AuthorDate: Mon Jul 24 03:04:06 2017 -0400 libtimezonemap: add recipe 0.4.5 Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- .../libtimezonemap/libtimezonemap_0.4.5.bb | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/meta-gnome/recipes-gnome/libtimezonemap/libtimezonemap_0.4.5.bb b/meta-gnome/recipes-gnome/libtimezonemap/libtimezonemap_0.4.5.bb new file mode 100644 index 0000000..d6aeed3 --- /dev/null +++ b/meta-gnome/recipes-gnome/libtimezonemap/libtimezonemap_0.4.5.bb @@ -0,0 +1,22 @@ +DESCRIPTION = "Time zone map widget for Gtk+" +HOMEPAGE = "https://launchpad.net/timezonemap" +SECTION = "devel/lib" +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +SRC_URI = "http://archive.ubuntu.com/ubuntu/pool/main/libt/${BPN}/${BPN}_${PV}.tar.gz \ +" +SRC_URI[md5sum] = "054306fa998fe580f17b68aa1e16551b" +SRC_URI[sha256sum] = "327e64a17c676c1bcda3b6ba3394d3d01250e5ac9a49222b9ff5737d90b15383" + + +DEPENDS = "gtk+3 gdk-pixbuf libsoup-2.4 json-glib gnome-common-native \ +" + +B = "${S}" + +inherit autotools pkgconfig gobject-introspection + +do_configure_prepend() { + (cd ${S}; NOCONFIGURE="yes" . ${S}/autogen.sh) +} -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:16:54 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:16:54 +0000 Subject: [oe-commits] [meta-openembedded] 07/15: radvd: 2.14 -> 2.17 In-Reply-To: <150091660713.1159.8313055819081263245@git.openembedded.org> References: <150091660713.1159.8313055819081263245@git.openembedded.org> Message-ID: <20170724171647.70B69234F13@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 11537f34232816edede0665c857eb77c990cdbb1 Author: Huang Qiyu AuthorDate: Mon Jul 24 14:22:35 2017 +0800 radvd: 2.14 -> 2.17 Update radvd from 2.14 to 2.17 Signed-off-by: Huang Qiyu Signed-off-by: Martin Jansa --- meta-networking/recipes-daemons/radvd/radvd_2.14.bb | 5 ----- meta-networking/recipes-daemons/radvd/radvd_2.17.bb | 5 +++++ 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/meta-networking/recipes-daemons/radvd/radvd_2.14.bb b/meta-networking/recipes-daemons/radvd/radvd_2.14.bb deleted file mode 100644 index 2525249..0000000 --- a/meta-networking/recipes-daemons/radvd/radvd_2.14.bb +++ /dev/null @@ -1,5 +0,0 @@ - -require radvd.inc - -SRC_URI[md5sum] = "acd3883dece2c7888d15596b05c9fae4" -SRC_URI[sha256sum] = "46d31c05daea11c3d1e3dc092997d3631b3bc72b20a4f279b05304b83dbd7aa8" diff --git a/meta-networking/recipes-daemons/radvd/radvd_2.17.bb b/meta-networking/recipes-daemons/radvd/radvd_2.17.bb new file mode 100644 index 0000000..4baea01 --- /dev/null +++ b/meta-networking/recipes-daemons/radvd/radvd_2.17.bb @@ -0,0 +1,5 @@ + +require radvd.inc + +SRC_URI[md5sum] = "64ee3fdb5544bcddef1c6cd80d77fa0a" +SRC_URI[sha256sum] = "53757e7f2164899e1145482f1ae91829600a6e2f6fec29cfb3b350a3bb45bd5d" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:17:01 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:17:01 +0000 Subject: [oe-commits] [meta-openembedded] 14/15: syslog-ng: provide correct PID directory location to restart/stop syslog-ng daemon In-Reply-To: <150091660713.1159.8313055819081263245@git.openembedded.org> References: <150091660713.1159.8313055819081263245@git.openembedded.org> Message-ID: <20170724171647.9E342234F1A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit af2ed39334af2a5838bec62c60aec7a826af730c Author: Jagadeesh Krishnanjanappa AuthorDate: Mon Jul 24 14:01:11 2017 +0530 syslog-ng: provide correct PID directory location to restart/stop syslog-ng daemon If "--with-pidfile-dir" configure option is not specified, then the syslog-ng configure script assigns PID directory to /var/lib/syslog-ng; which is where the PID file of syslog-ng process is created. But the syslog-ng initscript (/etc/init.d/syslog-ng) uses /var/lib/syslog-ng/ as PID directory, this results in not stopping/restarting syslog-ng daemons when it was requested to do so. For example: -- snip -- root at qemux86:~# /etc/init.d/syslog status /usr/sbin/syslog-ng (pid 345 344) is running... root at qemux86:~# /etc/init.d/syslog stop Stopping syslog-ng:. root at qemux86:~# /etc/init.d/syslog status /usr/sbin/syslog-ng (pid 345 344) is running... root at qemux86:~# -- snip -- Hence set --with-pidfile-dir to "/var/run/syslog-ng", so that syslog-ng daemon can be stopped/restarted via initscript. Signed-off-by: Jagadeesh Krishnanjanappa Signed-off-by: Martin Jansa --- meta-oe/recipes-support/syslog-ng/syslog-ng.inc | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-oe/recipes-support/syslog-ng/syslog-ng.inc b/meta-oe/recipes-support/syslog-ng/syslog-ng.inc index 0977f7e..f1bf9b0 100644 --- a/meta-oe/recipes-support/syslog-ng/syslog-ng.inc +++ b/meta-oe/recipes-support/syslog-ng/syslog-ng.inc @@ -36,6 +36,7 @@ EXTRA_OECONF = " \ --with-librabbitmq-client=no \ --disable-python \ --disable-java --disable-java-modules \ + --with-pidfile-dir=${localstatedir}/run/${BPN} \ ${CONFIG_TLS} \ " -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:16:52 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:16:52 +0000 Subject: [oe-commits] [meta-openembedded] 05/15: gperftools: Upgrade to 2.6.1 In-Reply-To: <150091660713.1159.8313055819081263245@git.openembedded.org> References: <150091660713.1159.8313055819081263245@git.openembedded.org> Message-ID: <20170724171647.60C46234F11@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit ce6c02b1283155a87f80967221e09ef01abedce4 Author: Khem Raj AuthorDate: Sat Jul 22 09:50:42 2017 -0700 gperftools: Upgrade to 2.6.1 Fix build with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../0001-Fix-build-failure-for-ppc.patch | 28 ---------- .../gperftools/0001-fix-build-with-musl-libc.patch | 61 ++++++++++++++++++++++ ...001-include-fcntl.h-for-loff_t-definition.patch | 28 ++++++++++ .../{gperftools_2.5.bb => gperftools_2.6.1.bb} | 19 ++++--- 4 files changed, 102 insertions(+), 34 deletions(-) diff --git a/meta-oe/recipes-support/gperftools/gperftools/0001-Fix-build-failure-for-ppc.patch b/meta-oe/recipes-support/gperftools/gperftools/0001-Fix-build-failure-for-ppc.patch deleted file mode 100644 index 27f855d..0000000 --- a/meta-oe/recipes-support/gperftools/gperftools/0001-Fix-build-failure-for-ppc.patch +++ /dev/null @@ -1,28 +0,0 @@ -Subject: Fix build failure for ppc - -Upstream-Status: Pending - -Fix the following build failure. - - error: 'siginfo_t' does not name a type - -Signed-off-by: Chen Qi ---- - src/stacktrace_powerpc-linux-inl.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/stacktrace_powerpc-linux-inl.h b/src/stacktrace_powerpc-linux-inl.h -index 5d16fa1..a9bf775 100644 ---- a/src/stacktrace_powerpc-linux-inl.h -+++ b/src/stacktrace_powerpc-linux-inl.h -@@ -44,6 +44,7 @@ - - #include // for uintptr_t - #include // for NULL -+#include // for siginfo_t - #include - #include - --- -2.8.3 - diff --git a/meta-oe/recipes-support/gperftools/gperftools/0001-fix-build-with-musl-libc.patch b/meta-oe/recipes-support/gperftools/gperftools/0001-fix-build-with-musl-libc.patch new file mode 100644 index 0000000..78621c7 --- /dev/null +++ b/meta-oe/recipes-support/gperftools/gperftools/0001-fix-build-with-musl-libc.patch @@ -0,0 +1,61 @@ +From 157914941bd38f1a38bb6bd7294ca6c2bc1b8dcb Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 16 Jul 2017 15:51:28 -0700 +Subject: [PATCH] fix build with musl libc + +Patch from https://github.com/gperftools/gperftools/pull/765/ + +Signed-off-by: Khem Raj +--- + configure.ac | 1 + + src/malloc_hook_mmap_linux.h | 8 ++++++-- + 2 files changed, 7 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index b42fea3..70b49a3 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -188,6 +188,7 @@ AC_HEADER_STDC + AC_CHECK_TYPES([__int64]) # defined in some windows platforms + AC_CHECK_TYPES([struct mallinfo],,, [#include ]) + AC_CHECK_TYPES([Elf32_Versym],,, [#include ]) # for vdso_support.h ++AC_CHECK_FUNCS(__sbrk) # for intercepting glibc memory allocator + AC_CHECK_FUNCS(sbrk) # for tcmalloc to get memory + AC_CHECK_FUNCS(geteuid) # for turning off services when run as root + AC_CHECK_FUNCS(fork) # for the pthread_atfork setup +diff --git a/src/malloc_hook_mmap_linux.h b/src/malloc_hook_mmap_linux.h +index 79ac4e3..d444635 100755 +--- a/src/malloc_hook_mmap_linux.h ++++ b/src/malloc_hook_mmap_linux.h +@@ -46,6 +46,10 @@ + #include + #include "base/linux_syscall_support.h" + ++#ifndef __GLIBC__ ++typedef off64_t __off64_t; ++#endif ++ + // The x86-32 case and the x86-64 case differ: + // 32b has a mmap2() syscall, 64b does not. + // 64b and 32b have different calling conventions for mmap(). +@@ -168,7 +172,7 @@ extern "C" void* mmap64(void *start, size_t length, int prot, int flags, + return result; + } + +-# if !defined(__USE_FILE_OFFSET64) || !defined(__REDIRECT_NTH) ++# if defined(__GLIBC__) && (!defined(__USE_FILE_OFFSET64) || !defined(__REDIRECT_NTH)) + + extern "C" void* mmap(void *start, size_t length, int prot, int flags, + int fd, off_t offset) __THROW { +@@ -206,7 +210,7 @@ extern "C" void* mremap(void* old_addr, size_t old_size, size_t new_size, + return result; + } + +-#ifndef __UCLIBC__ ++#if HAVE___SBRK + // libc's version: + extern "C" void* __sbrk(ptrdiff_t increment); + +-- +2.13.3 + diff --git a/meta-oe/recipes-support/gperftools/gperftools/0001-include-fcntl.h-for-loff_t-definition.patch b/meta-oe/recipes-support/gperftools/gperftools/0001-include-fcntl.h-for-loff_t-definition.patch new file mode 100644 index 0000000..667008a --- /dev/null +++ b/meta-oe/recipes-support/gperftools/gperftools/0001-include-fcntl.h-for-loff_t-definition.patch @@ -0,0 +1,28 @@ +From 04ea8e001501931f4dbf20288aca78469617b08a Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 16 Jul 2017 19:28:17 -0700 +Subject: [PATCH] include fcntl.h for loff_t definition + +Fixes +linux_syscall_support.h:2641:26: error: 'loff_t' has not been declared + +Signed-off-by: Khem Raj +--- + src/base/linux_syscall_support.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/base/linux_syscall_support.h b/src/base/linux_syscall_support.h +index 85347a2..70431ca 100644 +--- a/src/base/linux_syscall_support.h ++++ b/src/base/linux_syscall_support.h +@@ -162,6 +162,7 @@ extern "C" { + #include + #include + #include ++#include + + #ifdef __mips__ + /* Include definitions of the ABI currently in use. */ +-- +2.13.3 + diff --git a/meta-oe/recipes-support/gperftools/gperftools_2.5.bb b/meta-oe/recipes-support/gperftools/gperftools_2.6.1.bb similarity index 58% rename from meta-oe/recipes-support/gperftools/gperftools_2.5.bb rename to meta-oe/recipes-support/gperftools/gperftools_2.6.1.bb index 43780a5..6c29a61 100644 --- a/meta-oe/recipes-support/gperftools/gperftools_2.5.bb +++ b/meta-oe/recipes-support/gperftools/gperftools_2.6.1.bb @@ -2,22 +2,29 @@ SUMMARY = "Fast, multi-threaded malloc() and nifty performance analysis tools" HOMEPAGE = "http://code.google.com/p/gperftools/" LICENSE = "BSD" LIC_FILES_CHKSUM = "file://COPYING;md5=762732742c73dc6c7fbe8632f06c059a" -DEPENDS = "libunwind" +DEPENDS += "libunwind" -SRC_URI = "http://pkgs.fedoraproject.org/repo/pkgs/gperftools/gperftools-2.5.tar.gz/aa1eaf95dbe2c9828d0bd3a00f770f50/gperftools-2.5.tar.gz \ +SRCREV = "bf840dec0495e17f5c8403e68e10b9d6bf05c559" +SRC_URI = "git://github.com/gperftools/gperftools \ file://0001-Support-Atomic-ops-on-clang.patch \ - file://0001-Fix-build-failure-for-ppc.patch \ file://0001-Use-ucontext_t-instead-of-struct-ucontext.patch \ + file://0001-fix-build-with-musl-libc.patch \ + file://0001-include-fcntl.h-for-loff_t-definition.patch \ " -SRC_URI[md5sum] = "aa1eaf95dbe2c9828d0bd3a00f770f50" -SRC_URI[sha256sum] = "6fa2748f1acdf44d750253e160cf6e2e72571329b42e563b455bde09e9e85173" - inherit autotools +S = "${WORKDIR}/git" + # On mips, we have the following error. # do_page_fault(): sending SIGSEGV to ls for invalid read access from 00000008 # Segmentation fault (core dumped) COMPATIBLE_HOST = "(i.86|x86_64|powerpc|powerpc64|arm|aarch64).*-linux*" # On aarch64, add this option to avoid system hanging when using libtcmalloc.so. EXTRA_OECONF_aarch64 += "--disable-libunwind" +# Disable thumb1 +# {standard input}: Assembler messages: +# {standard input}:434: Error: lo register required -- `ldr pc,[sp]' +# Makefile:4538: recipe for target 'src/base/libtcmalloc_la-linuxthreads.lo' failed +ARM_INSTRUCTION_SET_armv5 = "arm" + -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:16:53 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:16:53 +0000 Subject: [oe-commits] [meta-openembedded] 06/15: c-ares: update 1.12.0 -> 1.13.0 In-Reply-To: <150091660713.1159.8313055819081263245@git.openembedded.org> References: <150091660713.1159.8313055819081263245@git.openembedded.org> Message-ID: <20170724171647.690F4234F12@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 97b7e8f06a79819776ba8af29063638466a2f40a Author: Alexey Firago AuthorDate: Sun Jul 23 20:43:43 2017 +0300 c-ares: update 1.12.0 -> 1.13.0 Update to c-ares version 1.13.0 from June 20 2017 Recipe updates: * Change SRC_URI to github, because tarball at https://c-ares.haxx.se/download/c-ares-1.13.0.tar.gz does not include all required files (cmake related). * Change build method to cmake. Library now supports cmake build system and installs *.cmake config files. These files can be used by several libraries/packages, such as gRPC, curl. Highlights of library changes and bug fixes: * cmake build system support added * Add virtual function set for socket IO: ares_set_socket_functions * CVE-2017-1000381: c-ares NAPTR parser out of bounds access Full changelog - https://c-ares.haxx.se/changelog.html Signed-off-by: Alexey Firago Signed-off-by: Martin Jansa --- ...configure.ac-don-t-override-passed-cflags.patch | 26 ---------------------- .../recipes-support/c-ares/c-ares_1.12.0.bb | 15 ------------- .../recipes-support/c-ares/c-ares_1.13.0.bb | 16 +++++++++++++ 3 files changed, 16 insertions(+), 41 deletions(-) diff --git a/meta-networking/recipes-support/c-ares/c-ares/0001-configure.ac-don-t-override-passed-cflags.patch b/meta-networking/recipes-support/c-ares/c-ares/0001-configure.ac-don-t-override-passed-cflags.patch deleted file mode 100644 index 10fad4e..0000000 --- a/meta-networking/recipes-support/c-ares/c-ares/0001-configure.ac-don-t-override-passed-cflags.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 2a7236d2a7bb9c3d3c3f44ebf59404bf7134fcb3 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andr=C3=A9=20Draszik?= -Date: Tue, 12 Apr 2016 11:37:28 +0100 -Subject: [PATCH] configure.ac: don't override passed cflags - -We are controlling debug and optimiser flags from OE ---- - configure.ac | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 5c02450..3cf9fcd 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -147,8 +147,6 @@ dnl ********************************************************************** - - CARES_CHECK_COMPILER - CARES_SET_COMPILER_BASIC_OPTS --CARES_SET_COMPILER_DEBUG_OPTS --CARES_SET_COMPILER_OPTIMIZE_OPTS - CARES_SET_COMPILER_WARNING_OPTS - - if test "$compiler_id" = "INTEL_UNIX_C"; then --- -2.8.0.rc3 - diff --git a/meta-networking/recipes-support/c-ares/c-ares_1.12.0.bb b/meta-networking/recipes-support/c-ares/c-ares_1.12.0.bb deleted file mode 100644 index 4e28d6a..0000000 --- a/meta-networking/recipes-support/c-ares/c-ares_1.12.0.bb +++ /dev/null @@ -1,15 +0,0 @@ -# Copyright (c) 2012-2014 LG Electronics, Inc. - -SUMMARY = "c-ares is a C library that resolves names asynchronously." -HOMEPAGE = "http://daniel.haxx.se/projects/c-ares/" -SECTION = "libs" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE.md;md5=f4b026880834eb01c035c5e5cb47ccac" - -SRC_URI = "http://c-ares.haxx.se/download/${BP}.tar.gz \ - file://0001-configure.ac-don-t-override-passed-cflags.patch \ -" -SRC_URI[md5sum] = "2ca44be1715cd2c5666a165d35788424" -SRC_URI[sha256sum] = "8692f9403cdcdf936130e045c84021665118ee9bfea905d1a76f04d4e6f365fb" - -inherit autotools pkgconfig diff --git a/meta-networking/recipes-support/c-ares/c-ares_1.13.0.bb b/meta-networking/recipes-support/c-ares/c-ares_1.13.0.bb new file mode 100644 index 0000000..46f0198 --- /dev/null +++ b/meta-networking/recipes-support/c-ares/c-ares_1.13.0.bb @@ -0,0 +1,16 @@ +# Copyright (c) 2012-2014 LG Electronics, Inc. +SUMMARY = "c-ares is a C library that resolves names asynchronously." +HOMEPAGE = "http://daniel.haxx.se/projects/c-ares/" +SECTION = "libs" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=f4b026880834eb01c035c5e5cb47ccac" +SRCREV = "3be1924221e1326df520f8498d704a5c4c8d0cce" +PV = "1.13.0+gitr${SRCPV}" + +SRC_URI = "git://github.com/c-ares/c-ares.git" + +S = "${WORKDIR}/git" + +inherit cmake pkgconfig + +FILES_${PN}-dev += "${libdir}/cmake" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:16:56 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:16:56 +0000 Subject: [oe-commits] [meta-openembedded] 09/15: libpwquality: add recipe 1.4.0 In-Reply-To: <150091660713.1159.8313055819081263245@git.openembedded.org> References: <150091660713.1159.8313055819081263245@git.openembedded.org> Message-ID: <20170724171647.7F782234F15@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 18666bdbdc8fb0fc812264222c8a1de2dc5f5bc7 Author: Hongxu Jia AuthorDate: Mon Jul 24 03:04:04 2017 -0400 libpwquality: add recipe 1.4.0 Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- .../add-missing-python-include-dir-for-cross.patch | 48 ++++++++++++++++++++++ .../libpwquality/libpwquality_1.4.0.bb | 45 ++++++++++++++++++++ 2 files changed, 93 insertions(+) diff --git a/meta-oe/recipes-extended/libpwquality/files/add-missing-python-include-dir-for-cross.patch b/meta-oe/recipes-extended/libpwquality/files/add-missing-python-include-dir-for-cross.patch new file mode 100644 index 0000000..d12492f --- /dev/null +++ b/meta-oe/recipes-extended/libpwquality/files/add-missing-python-include-dir-for-cross.patch @@ -0,0 +1,48 @@ +From 1ea09e09ab2387c326bb7170835361ece6e25477 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Mon, 3 Aug 2015 13:43:14 +0800 +Subject: [PATCH] setup.py.in: add missing python include dir for cross + compiling + +Upstream-Status: inappropriate [oe-core specific] + +Signed-off-by: Hongxu Jia +--- + python/Makefile.am | 2 +- + python/setup.py.in | 3 ++- + 2 files changed, 3 insertions(+), 2 deletions(-) + +diff --git a/python/Makefile.am b/python/Makefile.am +index abc5cd3..e35ba71 100644 +--- a/python/Makefile.am ++++ b/python/Makefile.am +@@ -14,4 +14,4 @@ all-local: + CFLAGS="${CFLAGS} -fno-strict-aliasing" @PYTHONBINARY@ setup.py build --build-lib=. + + install-exec-local: +- CFLAGS="${CFLAGS} -fno-strict-aliasing" @PYTHONBINARY@ setup.py install --prefix=${DESTDIR}${prefix} ++ CFLAGS="${CFLAGS} -fno-strict-aliasing" @PYTHONBINARY@ setup.py install --prefix=${DESTDIR}${prefix} --install-lib=${DESTDIR}/${PYTHONSITEDIR} +diff --git a/python/setup.py.in b/python/setup.py.in +index 6457595..d3db0e5 100755 +--- a/python/setup.py.in ++++ b/python/setup.py.in +@@ -6,6 +6,7 @@ + + from distutils.core import setup, Extension + from distutils.command.build_ext import build_ext as _build_ext ++import os + + class build_ext(_build_ext): + def genconstants(self, headerfile, outputfile): +@@ -23,7 +24,7 @@ class build_ext(_build_ext): + + pwqmodule = Extension('pwquality', + sources = ['pwquality.c'], +- include_dirs = ['../src'], ++ include_dirs = ['../src', os.path.join(os.environ['STAGING_INCDIR'], os.environ['PYTHON_DIR'])], + library_dirs = ['../src/.libs'], + libraries = ['pwquality']) + +-- +1.9.1 + diff --git a/meta-oe/recipes-extended/libpwquality/libpwquality_1.4.0.bb b/meta-oe/recipes-extended/libpwquality/libpwquality_1.4.0.bb new file mode 100644 index 0000000..4f5ec14 --- /dev/null +++ b/meta-oe/recipes-extended/libpwquality/libpwquality_1.4.0.bb @@ -0,0 +1,45 @@ +DESCRIPTION = "Library for password quality checking and generating random passwords" +HOMEPAGE = "https://github.com/libpwquality/libpwquality" +SECTION = "devel/lib" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=6bd2f1386df813a459a0c34fde676fc2" + +SRCNAME = "libpwquality" +SRC_URI = "https://github.com/${SRCNAME}/${SRCNAME}/releases/download/${SRCNAME}-${PV}/${SRCNAME}-${PV}.tar.bz2 \ + file://add-missing-python-include-dir-for-cross.patch \ +" + +SRC_URI[md5sum] = "b8defcc7280a90e9400d6689c93a279c" +SRC_URI[sha256sum] = "1de6ff046cf2172d265a2cb6f8da439d894f3e4e8157b056c515515232fade6b" + +S = "${WORKDIR}/${SRCNAME}-${PV}" + +DEPENDS = "cracklib virtual/gettext python3" +RDEPENDS_python3-${PN} = "${PN}" + +inherit autotools python3native + +B = "${S}" + +export PYTHON_DIR +export BUILD_SYS +export HOST_SYS +export STAGING_LIBDIR +export STAGING_INCDIR + +EXTRA_OECONF += "--with-python-rev=${PYTHON_BASEVERSION} \ + --with-python-binary=${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} \ + --with-pythonsitedir=${PYTHON_SITEPACKAGES_DIR} \ + --libdir=${libdir} \ +" + +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}" +PACKAGECONFIG[pam] = "--enable-pam, --disable-pam, libpam" + +PACKAGES += "python3-${PN} python3-${PN}-dbg" +FILES_${PN} += "${libdir}/security/pam_pwquality.so" +FILES_${PN}-dbg += "${libdir}/security/.debug" +FILES_${PN}-staticdev += "${libdir}/security/pam_pwquality.a" +FILES_${PN}-dev += "${libdir}/security/pam_pwquality.la" +FILES_python3-${PN} = "${PYTHON_SITEPACKAGES_DIR}/*" +FILES_python3-${PN}-dbg = "${PYTHON_SITEPACKAGES_DIR}/.debug" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:16:59 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:16:59 +0000 Subject: [oe-commits] [meta-openembedded] 12/15: xmlrpc-c: add recipe 1.31.0 In-Reply-To: <150091660713.1159.8313055819081263245@git.openembedded.org> References: <150091660713.1159.8313055819081263245@git.openembedded.org> Message-ID: <20170724171647.9295F234F18@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit a519ff1e58bdfa885acc05d042310bad6ab79a7d Author: Hongxu Jia AuthorDate: Mon Jul 24 03:04:07 2017 -0400 xmlrpc-c: add recipe 1.31.0 - Fix compile failure against musl C library - Fixed when compile with "-Wformat -Wformat-security -Werror=format-security" Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- ...ix-compile-failure-against-musl-C-library.patch | 52 ++++++++++++++++++++++ .../xmlrpc-c/0002-fix-formatting-issues.patch | 34 ++++++++++++++ .../recipes-devtools/xmlrpc-c/xmlrpc-c_1.31.0.bb | 24 ++++++++++ 3 files changed, 110 insertions(+) diff --git a/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-fix-compile-failure-against-musl-C-library.patch b/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-fix-compile-failure-against-musl-C-library.patch new file mode 100644 index 0000000..234d696 --- /dev/null +++ b/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-fix-compile-failure-against-musl-C-library.patch @@ -0,0 +1,52 @@ +From 950b27f8320b841490cafcb3e6e3b818c7174c0d Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Thu, 20 Jul 2017 22:32:50 -0400 +Subject: [PATCH] fix compile failure against musl C library + +Upstream-Status: Pending + +Signed-off-by: Hongxu Jia +--- + test/cpp/server_abyss.cpp | 2 +- + tools/xmlrpc_pstream/xmlrpc_pstream.cpp | 10 +++++++--- + 2 files changed, 8 insertions(+), 4 deletions(-) + +diff --git a/test/cpp/server_abyss.cpp b/test/cpp/server_abyss.cpp +index 2458a8f..82f91da 100644 +--- a/test/cpp/server_abyss.cpp ++++ b/test/cpp/server_abyss.cpp +@@ -18,7 +18,7 @@ + #ifdef WIN32 + #include + #else +- #include ++ #include + #include + #include + #include +diff --git a/tools/xmlrpc_pstream/xmlrpc_pstream.cpp b/tools/xmlrpc_pstream/xmlrpc_pstream.cpp +index d39e105..1fd8900 100644 +--- a/tools/xmlrpc_pstream/xmlrpc_pstream.cpp ++++ b/tools/xmlrpc_pstream/xmlrpc_pstream.cpp +@@ -15,11 +15,15 @@ + #include "xmlrpc-c/girerr.hpp" + using girerr::throwf; + +-#include // for __BEGIN_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif + +-__BEGIN_DECLS + #include "dumpvalue.h" /* An internal Xmlrpc-c header file ! */ +-__END_DECLS ++ ++#ifdef __cplusplus ++} ++#endif + + + #include +-- +2.8.1 + diff --git a/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0002-fix-formatting-issues.patch b/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0002-fix-formatting-issues.patch new file mode 100644 index 0000000..9d92e47 --- /dev/null +++ b/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0002-fix-formatting-issues.patch @@ -0,0 +1,34 @@ +From 14f15cb0f03defa8efb4c8e2fece58e50655be6b Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Sun, 23 Jul 2017 22:20:29 -0400 +Subject: [PATCH] src/xmlrpc_server_abyss.c: fix formatting issues + +Fixed when compile with "-Wformat -Wformat-security -Werror=format-security": +|src/xmlrpc_server_abyss.c:771:13: error: format not a string literal +and no format arguments [-Werror=format-security] +| xmlrpc_faultf(envP, error); +| ^~~~~~~~~~~~~ + +Upstream-Status: Pending + +Signed-off-by: Hongxu Jia +--- + src/xmlrpc_server_abyss.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/xmlrpc_server_abyss.c b/src/xmlrpc_server_abyss.c +index 2388652..3843f10 100644 +--- a/src/xmlrpc_server_abyss.c ++++ b/src/xmlrpc_server_abyss.c +@@ -768,7 +768,7 @@ createServer(xmlrpc_env * const envP, + ServerInit2(abyssServerP, &error); + + if (error) { +- xmlrpc_faultf(envP, error); ++ xmlrpc_faultf(envP, "%s", error); + xmlrpc_strfree(error); + } + } +-- +2.8.1 + diff --git a/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.31.0.bb b/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.31.0.bb new file mode 100644 index 0000000..70bd9e8 --- /dev/null +++ b/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.31.0.bb @@ -0,0 +1,24 @@ +DESCRIPTION = "XML-RPC for C/C++ is programming libraries and related tools to help you \ +write an XML-RPC server or client in C or C++." + +HOMEPAGE = "http://xmlrpc-c.sourceforge.net/" +LICENSE = "BSD & MIT" +LIC_FILES_CHKSUM = "file://doc/COPYING;md5=aefbf81ba0750f02176b6f86752ea951" + +SRC_URI = "git://github.com/ensc/xmlrpc-c.git;branch=master \ + file://0001-fix-compile-failure-against-musl-C-library.patch \ + file://0002-fix-formatting-issues.patch \ +" +SRCREV = "81443a9dc234cc275449dbc17867ad77ae189124" +S = "${WORKDIR}/git" + +DEPENDS = "curl libxml2" +RDEPENDS_${PN} = "curl" + +inherit cmake + +EXTRA_OECMAKE = "-D_lib:STRING=${baselib}" + +BBCLASSEXTEND = "native" + +TARGET_CFLAGS += "-Wno-narrowing" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:17:00 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:17:00 +0000 Subject: [oe-commits] [meta-openembedded] 13/15: usermode: add recipe 1.111 In-Reply-To: <150091660713.1159.8313055819081263245@git.openembedded.org> References: <150091660713.1159.8313055819081263245@git.openembedded.org> Message-ID: <20170724171647.9808F234F19@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit a3f5ca2ef6be237a4750a67d90c411be9a21ce3b Author: Hongxu Jia AuthorDate: Mon Jul 24 03:04:08 2017 -0400 usermode: add recipe 1.111 - Fix compile failure against musl C library - Fixed when compile with "-Wformat -Wformat-security -Werror=format-security" Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- ...ix-compile-failure-against-musl-C-library.patch | 27 +++++++++++++++++ .../usermode/usermode/0001-formatting-issues.patch | 34 ++++++++++++++++++++++ .../recipes-support/usermode/usermode_1.111.bb | 29 ++++++++++++++++++ 3 files changed, 90 insertions(+) diff --git a/meta-gnome/recipes-support/usermode/usermode/0001-fix-compile-failure-against-musl-C-library.patch b/meta-gnome/recipes-support/usermode/usermode/0001-fix-compile-failure-against-musl-C-library.patch new file mode 100644 index 0000000..bf19f28 --- /dev/null +++ b/meta-gnome/recipes-support/usermode/usermode/0001-fix-compile-failure-against-musl-C-library.patch @@ -0,0 +1,27 @@ +From c77e3f0d4560797f7dc56549ae5ebcc035714a4d Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Thu, 20 Jul 2017 23:20:53 -0400 +Subject: [PATCH] fix compile failure against musl C library + +Upstream-Status: Pending + +Signed-off-by: Hongxu Jia +--- + usermount.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/usermount.c b/usermount.c +index 3aafadd..4107027 100644 +--- a/usermount.c ++++ b/usermount.c +@@ -46,6 +46,7 @@ + #include + #include + #include ++#include + #include + #include + #include +-- +2.8.1 + diff --git a/meta-gnome/recipes-support/usermode/usermode/0001-formatting-issues.patch b/meta-gnome/recipes-support/usermode/usermode/0001-formatting-issues.patch new file mode 100644 index 0000000..9d512d4 --- /dev/null +++ b/meta-gnome/recipes-support/usermode/usermode/0001-formatting-issues.patch @@ -0,0 +1,34 @@ +From 7a316dad0697af2ef4e8079a5af51565a8195aa6 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Mon, 24 Jul 2017 01:42:30 -0400 +Subject: [PATCH] userhelper.c: fix formatting issues + +Fixed when compile with "-Wformat -Wformat-security -Werror=format-security": +|../usermode-1.111/userhelper.c:585:4: error: format not a string +literal and no format arguments [-Werror=format-security] +| text = g_strdup_printf(dgettext(data->domain, data->banner)); +| ^~~~ + +Upstream-Status: Pending + +Signed-off-by: Hongxu Jia +--- + userhelper.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/userhelper.c b/userhelper.c +index 76ad492..ee0da49 100644 +--- a/userhelper.c ++++ b/userhelper.c +@@ -582,7 +582,7 @@ converse_console(int num_msg, const struct pam_message **msg, + + if (banner == 0) { + if ((data->banner != NULL) && (data->domain != NULL)) { +- text = g_strdup_printf(dgettext(data->domain, data->banner)); ++ text = g_strdup_printf("%s", dgettext(data->domain, data->banner)); + } else { + if ((service != NULL) && (strlen(service) > 0)) { + if (data->fallback_allowed) { +-- +2.8.1 + diff --git a/meta-gnome/recipes-support/usermode/usermode_1.111.bb b/meta-gnome/recipes-support/usermode/usermode_1.111.bb new file mode 100644 index 0000000..06e400e --- /dev/null +++ b/meta-gnome/recipes-support/usermode/usermode_1.111.bb @@ -0,0 +1,29 @@ +DESCRIPTION = "The usermode contains the userhelper program, which can be used to allow configured \ +programs to be run with superuser privileges by ordinary users, and several \ +graphical tools for users: \ +* userinfo allows users to change their finger information. \ +* usermount lets users mount, unmount, and format filesystems. \ +* userpasswd allows users to change their passwords. \ +" +HOMEPAGE = "https://pagure.io/usermode" +LICENSE = "GPLv2+" +DEPENDS = "libuser ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)} \ + gtk+ desktop-file-utils-native \ + startup-notification intltool-native \ + util-linux \ +" + +SRC_URI = "https://releases.pagure.org/${BPN}/${BPN}-${PV}.tar.xz \ + file://0001-formatting-issues.patch \ +" +SRC_URI[md5sum] = "28ba510fbd8da9f4e86e57d6c31cff29" +SRC_URI[sha256sum] = "3dd0b9639b5bd396b7ea5fada6aaa694dbfdaa3ad06eb95a6eabcdfd02f875c6" + +SRC_URI_append_libc-musl = " file://0001-fix-compile-failure-against-musl-C-library.patch" + +LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" + +inherit autotools gettext pkgconfig + +EXTRA_OEMAKE += "INSTALL='install -p'" + -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:16:57 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:16:57 +0000 Subject: [oe-commits] [meta-openembedded] 10/15: libbytesize: add recipe 0.10 In-Reply-To: <150091660713.1159.8313055819081263245@git.openembedded.org> References: <150091660713.1159.8313055819081263245@git.openembedded.org> Message-ID: <20170724171647.86471234F16@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit b4d181ce4d0399df521221069f283b35b586c07b Author: Hongxu Jia AuthorDate: Mon Jul 24 03:04:05 2017 -0400 libbytesize: add recipe 0.10 Signed-off-by: Hongxu Jia Signed-off-by: Martin Jansa --- .../files/0001-remove-python2-support.patch | 30 +++++++++++++++++++ .../libbytesize/libbytesize_0.10.bb | 34 ++++++++++++++++++++++ 2 files changed, 64 insertions(+) diff --git a/meta-oe/recipes-support/libbytesize/files/0001-remove-python2-support.patch b/meta-oe/recipes-support/libbytesize/files/0001-remove-python2-support.patch new file mode 100644 index 0000000..b57e39f --- /dev/null +++ b/meta-oe/recipes-support/libbytesize/files/0001-remove-python2-support.patch @@ -0,0 +1,30 @@ +From 2ddc97b30792817d162f51ec3818376aefbf184e Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Wed, 3 May 2017 02:05:33 -0400 +Subject: [PATCH] remove python2 support + +We use python3 rather than python2 support + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Hongxu Jia +--- + src/python/Makefile.am | 5 ----- + 1 file changed, 5 deletions(-) + +diff --git a/src/python/Makefile.am b/src/python/Makefile.am +index 567d0d7..8d9f446 100644 +--- a/src/python/Makefile.am ++++ b/src/python/Makefile.am +@@ -1,8 +1,3 @@ +-pylibdir = $(shell python -c "import distutils.sysconfig; print(distutils.sysconfig.get_python_lib(1,0,prefix='${exec_prefix}'))") +- +-pybytesizedir = $(pylibdir)/bytesize +-dist_pybytesize_DATA = bytesize.py __init__.py +- + if WITH_PYTHON3 + py3libdir = $(shell python3 -c "import distutils.sysconfig; print(distutils.sysconfig.get_python_lib(1,0,prefix='${exec_prefix}'))") + py3bytesizedir = $(py3libdir)/bytesize +-- +2.8.1 + diff --git a/meta-oe/recipes-support/libbytesize/libbytesize_0.10.bb b/meta-oe/recipes-support/libbytesize/libbytesize_0.10.bb new file mode 100644 index 0000000..6903021 --- /dev/null +++ b/meta-oe/recipes-support/libbytesize/libbytesize_0.10.bb @@ -0,0 +1,34 @@ +DESCRIPTION = "The goal of this project is to provide a tiny library that would \ +facilitate the common operations with sizes in bytes." +HOMEPAGE = "https://github.com/rhinstaller/libbytesize" +LICENSE = "LGPLv2+" +SECTION = "devel/lib" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=c07cb499d259452f324bb90c3067d85c" + +S = "${WORKDIR}/git" +B = "${S}" + +SRCREV = "369127c0edbba7d1a4e2e02486375dd9d379524f" +PV = "0.10+git${SRCPV}" +SRC_URI = "git://github.com/rhinstaller/libbytesize;branch=master \ + file://0001-remove-python2-support.patch \ +" + +inherit gettext autotools python3native + +DEPENDS += " \ + libpcre \ + gmp \ + mpfr \ +" + +FILES_${PN} += "${PYTHON_SITEPACKAGES_DIR}/bytesize" + +PACKAGECONFIG ??= "python3" +PACKAGECONFIG[python3] = "--with-python3, --without-python3,,python3" +PACKAGECONFIG[doc] = "--with-gtk-doc, --without-gtk-doc, gtk-doc-native" + +EXTRA_OEMAKE = "py3libdir=${PYTHON_SITEPACKAGES_DIR}" + + -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Mon Jul 24 17:17:02 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Mon, 24 Jul 2017 17:17:02 +0000 Subject: [oe-commits] [meta-openembedded] 15/15: python-pyserial: update to version 3.4 In-Reply-To: <150091660713.1159.8313055819081263245@git.openembedded.org> References: <150091660713.1159.8313055819081263245@git.openembedded.org> Message-ID: <20170724171647.A3F50234F1B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. martin_jansa pushed a commit to branch master-next in repository meta-openembedded. commit 4e132a3fbf67f9c46298852beec151dc4a8837d1 Author: Derek Straka AuthorDate: Mon Jul 24 10:39:18 2017 -0400 python-pyserial: update to version 3.4 Signed-off-by: Derek Straka Signed-off-by: Martin Jansa --- meta-python/recipes-devtools/python/python-pyserial.inc | 4 ++-- .../python/{python-pyserial_3.3.bb => python-pyserial_3.4.bb} | 0 .../python/{python3-pyserial_3.3.bb => python3-pyserial_3.4.bb} | 0 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-python/recipes-devtools/python/python-pyserial.inc b/meta-python/recipes-devtools/python/python-pyserial.inc index 2508e76..99c6fc4 100644 --- a/meta-python/recipes-devtools/python/python-pyserial.inc +++ b/meta-python/recipes-devtools/python/python-pyserial.inc @@ -13,8 +13,8 @@ RDEPENDS_${PN} = "\ ${PYTHON_PN}-threading \ " -RSRC_URI[md5sum] = "6afe4c2e47bcec6eb7051b8c1ce19d52" -SRC_URI[sha256sum] = "2949cddffc2b05683065a3cd2345114b1a49b08df8cb843d69ba99dc3e19edc2" +SRC_URI[md5sum] = "ed6183b15519a0ae96675e9c3330c69b" +SRC_URI[sha256sum] = "6e2d401fdee0eab996cf734e67773a0143b932772ca8b42451440cfed942c627" inherit pypi diff --git a/meta-python/recipes-devtools/python/python-pyserial_3.3.bb b/meta-python/recipes-devtools/python/python-pyserial_3.4.bb similarity index 100% rename from meta-python/recipes-devtools/python/python-pyserial_3.3.bb rename to meta-python/recipes-devtools/python/python-pyserial_3.4.bb diff --git a/meta-python/recipes-devtools/python/python3-pyserial_3.3.bb b/meta-python/recipes-devtools/python/python3-pyserial_3.4.bb similarity index 100% rename from meta-python/recipes-devtools/python/python3-pyserial_3.3.bb rename to meta-python/recipes-devtools/python/python3-pyserial_3.4.bb -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 25 14:51:17 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 25 Jul 2017 14:51:17 +0000 Subject: [oe-commits] [bitbake] 01/01: process: Change timeout warning to a note In-Reply-To: <150099427681.25618.6632691141950885009@git.openembedded.org> References: <150099427681.25618.6632691141950885009@git.openembedded.org> Message-ID: <20170725145116.E42CF234F0E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository bitbake. commit b7514340cd6a2753eb217b059229bb279c3849ec Author: Richard Purdie AuthorDate: Mon Jul 24 14:10:58 2017 +0100 process: Change timeout warning to a note The warning message currently shown can occur more frequently than previously if a previous bitbake server is shutting down and we're reconnecting to a new server. Change it to a note message to match the higher level connection logging retry messages and so as not to interfer with selftests. Signed-off-by: Richard Purdie --- lib/bb/server/process.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/bb/server/process.py b/lib/bb/server/process.py index 85beaae..1975bd4 100644 --- a/lib/bb/server/process.py +++ b/lib/bb/server/process.py @@ -312,7 +312,7 @@ class ServerCommunicator(): if self.recv.poll(1): return self.recv.get() else: - bb.warn("Timeout while attempting to communicate with bitbake server") + bb.note("Timeout while attempting to communicate with bitbake server, retrying...") raise ProcessTimeout("Gave up; Too many tries: timeout while attempting to communicate with bitbake server") except KeyboardInterrupt: pass -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 25 14:51:16 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 25 Jul 2017 14:51:16 +0000 Subject: [oe-commits] [bitbake] branch master updated (6fa0775 -> b751434) Message-ID: <150099427681.25618.6632691141950885009@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master in repository bitbake. from 6fa0775 fetch2/wget.py: improve error handling during sstate check add 0b5a837 prserv/serv: Improve process exit handling add c0ddde7 cooker/process: Drop server_main function new b751434 process: Change timeout warning to a note The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: lib/bb/cooker.py | 22 ---------------------- lib/bb/server/process.py | 24 ++++++++++++++++++++++-- lib/prserv/serv.py | 19 +++++++++++++++++-- 3 files changed, 39 insertions(+), 26 deletions(-) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 25 14:51:24 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 25 Jul 2017 14:51:24 +0000 Subject: [oe-commits] [bitbake] branch master-next updated (c0ddde7 -> 91d4ca9) Message-ID: <150099428493.25838.10260956230257804762@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master-next in repository bitbake. from c0ddde7 cooker/process: Drop server_main function add b751434 process: Change timeout warning to a note new 91d4ca9 fetch/wget: mitigate a wget race condition when listing FTP directories The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: lib/bb/fetch2/wget.py | 23 +++++++++++------------ lib/bb/server/process.py | 2 +- 2 files changed, 12 insertions(+), 13 deletions(-) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 25 14:51:25 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 25 Jul 2017 14:51:25 +0000 Subject: [oe-commits] [bitbake] 01/01: fetch/wget: mitigate a wget race condition when listing FTP directories In-Reply-To: <150099428493.25838.10260956230257804762@git.openembedded.org> References: <150099428493.25838.10260956230257804762@git.openembedded.org> Message-ID: <20170725145125.0CC8E234F10@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository bitbake. commit 91d4ca93df092cf86ab84faaa94cc66ff9f43057 Author: Ross Burton AuthorDate: Mon Jul 24 22:42:01 2017 +0100 fetch/wget: mitigate a wget race condition when listing FTP directories When wget is fetching a listing for a directory over FTP it writes to a temporary file called .listing in the current directory. If there are many such operations happening in parallel - for example during 'bitbake world -c checkpkg' - then up to BB_NUMBER_THREADS instances of wget will be racing to write to, read, and delete the same file. This results in various failures such as the file disappearing before wget has processed it or the file changing contents, which causes checkpkg to randomly fail. Mitigate the race condition by creating a temporary directory to run wget in when doing directory listings. [ YOCTO #11828 ] Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- lib/bb/fetch2/wget.py | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/lib/bb/fetch2/wget.py b/lib/bb/fetch2/wget.py index 208ee9b..8ee9769 100644 --- a/lib/bb/fetch2/wget.py +++ b/lib/bb/fetch2/wget.py @@ -90,13 +90,13 @@ class Wget(FetchMethod): self.basecmd = d.getVar("FETCHCMD_wget") or "/usr/bin/env wget -t 2 -T 30 --passive-ftp --no-check-certificate" - def _runwget(self, ud, d, command, quiet): + def _runwget(self, ud, d, command, quiet, workdir=None): progresshandler = WgetProgressHandler(d) logger.debug(2, "Fetching %s using command '%s'" % (ud.url, command)) bb.fetch2.check_network_access(d, command, ud.url) - runfetchcmd(command + ' --progress=dot -v', d, quiet, log=progresshandler) + runfetchcmd(command + ' --progress=dot -v', d, quiet, log=progresshandler, workdir=workdir) def download(self, ud, d): """Fetch urls""" @@ -422,17 +422,16 @@ class Wget(FetchMethod): Run fetch checkstatus to get directory information """ f = tempfile.NamedTemporaryFile() + with tempfile.TemporaryDirectory(prefix="wget-index-") as workdir, tempfile.NamedTemporaryFile(dir=workdir, prefix="wget-listing-") as f: + agent = "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.12) Gecko/20101027 Ubuntu/9.10 (karmic) Firefox/3.6.12" + fetchcmd = self.basecmd + fetchcmd += " -O " + f.name + " --user-agent='" + agent + "' '" + uri + "'" + try: + self._runwget(ud, d, fetchcmd, True, workdir=workdir) + fetchresult = f.read() + except bb.fetch2.BBFetchException: + fetchresult = "" - agent = "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.12) Gecko/20101027 Ubuntu/9.10 (karmic) Firefox/3.6.12" - fetchcmd = self.basecmd - fetchcmd += " -O " + f.name + " --user-agent='" + agent + "' '" + uri + "'" - try: - self._runwget(ud, d, fetchcmd, True) - fetchresult = f.read() - except bb.fetch2.BBFetchException: - fetchresult = "" - - f.close() return fetchresult def _check_latest_version(self, url, package, package_regex, current_version, ud, d): -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 25 14:59:50 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 25 Jul 2017 14:59:50 +0000 Subject: [oe-commits] [openembedded-core] 03/13: uninative-tarball: drop deltask package/packagedata In-Reply-To: <150099478761.27166.10788430366112867543@git.openembedded.org> References: <150099478761.27166.10788430366112867543@git.openembedded.org> Message-ID: <20170725145947.D2AA7234F12@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 2414e9f286d34af2db5982a988b78362decb7961 Author: Ming Liu AuthorDate: Mon Jul 24 06:59:12 2017 +0200 uninative-tarball: drop deltask package/packagedata They are redundant since nopackages are being inherited. Signed-off-by: Ming Liu Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- meta/recipes-core/meta/uninative-tarball.bb | 2 -- 1 file changed, 2 deletions(-) diff --git a/meta/recipes-core/meta/uninative-tarball.bb b/meta/recipes-core/meta/uninative-tarball.bb index f3fc1eb..5fabf7f 100644 --- a/meta/recipes-core/meta/uninative-tarball.bb +++ b/meta/recipes-core/meta/uninative-tarball.bb @@ -34,8 +34,6 @@ inherit populate_sdk inherit nopackages deltask install -deltask package -deltask packagedata deltask populate_sysroot do_populate_sdk[stamp-extra-info] = "${PACKAGE_ARCH}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 25 14:59:47 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 25 Jul 2017 14:59:47 +0000 Subject: [oe-commits] [openembedded-core] branch master updated (d3a41fb -> f4e8631) Message-ID: <150099478761.27166.10788430366112867543@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master in repository openembedded-core. from d3a41fb linux-yocto: only suggest default kernel type new ada7408 wic-tools: ensure pseudo is available new 2eee6c4 package-index: inherit nopackages new 2414e9f uninative-tarball: drop deltask package/packagedata new 71af69f buildtools-tarball: drop deltask package/packagedata new 3c3c8ec externalsrc: place copy of git index into /tmp and do not use copyfile2 new 6a9e38b elfutils: use HTTP instead of FTP to fetch new 791a349 libpng: use SourceForge mirror new b56e33f gnome-themes-standard: don't generate multiple -dev and -dbg packages new 1bd3ed1 package_rpm.bbclass: disable generation of .build-id links new 0a7ce0b image.bbclass: Correct chaining compression support new 65f2712 image_types.bbclass: Make u-boot signed images more versatile new 7ca10a9 oprofile: fix upstream version check new f4e8631 valgrind: fix upstream version check The 13 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: meta/classes/externalsrc.bbclass | 4 +-- meta/classes/image.bbclass | 11 +------- meta/classes/image_types.bbclass | 6 ++-- meta/classes/image_types_uboot.bbclass | 32 ---------------------- meta/classes/package_rpm.bbclass | 1 + meta/recipes-core/meta/buildtools-tarball.bb | 2 -- meta/recipes-core/meta/package-index.bb | 7 ++--- meta/recipes-core/meta/uninative-tarball.bb | 2 -- meta/recipes-core/meta/wic-tools.bb | 2 +- meta/recipes-devtools/elfutils/elfutils_0.168.bb | 2 +- meta/recipes-devtools/valgrind/valgrind_3.13.0.bb | 1 + .../gnome/gnome-themes-standard_3.22.3.bb | 5 ---- meta/recipes-kernel/oprofile/oprofile.inc | 2 ++ meta/recipes-multimedia/libpng/libpng_1.6.29.bb | 7 +++-- 14 files changed, 20 insertions(+), 64 deletions(-) delete mode 100644 meta/classes/image_types_uboot.bbclass -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 25 14:59:48 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 25 Jul 2017 14:59:48 +0000 Subject: [oe-commits] [openembedded-core] 01/13: wic-tools: ensure pseudo is available In-Reply-To: <150099478761.27166.10788430366112867543@git.openembedded.org> References: <150099478761.27166.10788430366112867543@git.openembedded.org> Message-ID: <20170725145947.BE380234F10@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit ada7408a55ec58e4aa1b094462f8a681e60be613 Author: Paul Eggleton AuthorDate: Tue Jul 25 11:12:10 2017 +0200 wic-tools: ensure pseudo is available wic will attempt to use pseudo from the wic-tools sysroot to run, but it was only sure to be in there if do_install had executed - which is not the case if it had been restored from sstate, in which case it failed horribly as seen when running the wic.Wic.test_fs_types and test_mkfs_extraopts tests on the Yocto Project autobuilder recently. Add an explicit dependency on pseudo-native to ensure it's always there. Signed-off-by: Paul Eggleton Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- meta/recipes-core/meta/wic-tools.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-core/meta/wic-tools.bb b/meta/recipes-core/meta/wic-tools.bb index c416a2e..d908e48 100644 --- a/meta/recipes-core/meta/wic-tools.bb +++ b/meta/recipes-core/meta/wic-tools.bb @@ -5,7 +5,7 @@ LICENSE = "MIT" DEPENDS = "\ parted-native syslinux-native gptfdisk-native dosfstools-native \ mtools-native bmap-tools-native grub-efi-native cdrtools-native \ - btrfs-tools-native squashfs-tools-native \ + btrfs-tools-native squashfs-tools-native pseudo-native \ " DEPENDS_append_x86 = " syslinux grub-efi systemd-boot" DEPENDS_append_x86-64 = " syslinux grub-efi systemd-boot" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 25 14:59:49 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 25 Jul 2017 14:59:49 +0000 Subject: [oe-commits] [openembedded-core] 02/13: package-index: inherit nopackages In-Reply-To: <150099478761.27166.10788430366112867543@git.openembedded.org> References: <150099478761.27166.10788430366112867543@git.openembedded.org> Message-ID: <20170725145947.C9866234F11@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 2eee6c4ac9ce1b020e9a6658a957459f1915fdb1 Author: Ming Liu AuthorDate: Mon Jul 24 06:55:52 2017 +0200 package-index: inherit nopackages Drop deltask do_package* syntax, inheriting nopackages instead. Signed-off-by: Ming Liu Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- meta/recipes-core/meta/package-index.bb | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/meta/recipes-core/meta/package-index.bb b/meta/recipes-core/meta/package-index.bb index fe022ff..a4123b7 100644 --- a/meta/recipes-core/meta/package-index.bb +++ b/meta/recipes-core/meta/package-index.bb @@ -4,17 +4,14 @@ LICENSE = "MIT" INHIBIT_DEFAULT_DEPS = "1" PACKAGES = "" +inherit nopackages + deltask do_fetch deltask do_unpack deltask do_patch deltask do_configure deltask do_compile deltask do_install -deltask do_package -deltask do_packagedata -deltask do_package_write_ipk -deltask do_package_write_rpm -deltask do_package_write_deb deltask do_populate_sysroot do_package_index[nostamp] = "1" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 25 14:59:51 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 25 Jul 2017 14:59:51 +0000 Subject: [oe-commits] [openembedded-core] 04/13: buildtools-tarball: drop deltask package/packagedata In-Reply-To: <150099478761.27166.10788430366112867543@git.openembedded.org> References: <150099478761.27166.10788430366112867543@git.openembedded.org> Message-ID: <20170725145947.DE80E234F13@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 71af69fa898e5614920710ca9e0cea832a2401e4 Author: Ming Liu AuthorDate: Mon Jul 24 07:01:25 2017 +0200 buildtools-tarball: drop deltask package/packagedata They are redundant since nopackages are being inherited. Signed-off-by: Ming Liu Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- meta/recipes-core/meta/buildtools-tarball.bb | 2 -- 1 file changed, 2 deletions(-) diff --git a/meta/recipes-core/meta/buildtools-tarball.bb b/meta/recipes-core/meta/buildtools-tarball.bb index abdc7fe..be37c44 100644 --- a/meta/recipes-core/meta/buildtools-tarball.bb +++ b/meta/recipes-core/meta/buildtools-tarball.bb @@ -46,8 +46,6 @@ inherit toolchain-scripts-base inherit nopackages deltask install -deltask package -deltask packagedata deltask populate_sysroot do_populate_sdk[stamp-extra-info] = "${PACKAGE_ARCH}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 25 14:59:59 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 25 Jul 2017 14:59:59 +0000 Subject: [oe-commits] [openembedded-core] 12/13: oprofile: fix upstream version check In-Reply-To: <150099478761.27166.10788430366112867543@git.openembedded.org> References: <150099478761.27166.10788430366112867543@git.openembedded.org> Message-ID: <20170725145948.36EE6234F1B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 7ca10a92b9f7a9102d44e3b110a485917fa0224a Author: Alexander Kanavin AuthorDate: Mon Jul 24 17:28:16 2017 +0300 oprofile: fix upstream version check Signed-off-by: Alexander Kanavin Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- meta/recipes-kernel/oprofile/oprofile.inc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-kernel/oprofile/oprofile.inc b/meta/recipes-kernel/oprofile/oprofile.inc index 96ef43d..4b01654 100644 --- a/meta/recipes-kernel/oprofile/oprofile.inc +++ b/meta/recipes-kernel/oprofile/oprofile.inc @@ -27,6 +27,8 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \ file://0001-Add-rmb-definition-for-NIOS2-architecture.patch \ file://0001-Fix-FTBFS-problem-with-GCC-6.patch \ " +UPSTREAM_CHECK_REGEX = "oprofile-(?P\d+(\.\d+)+)/" +UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/oprofile/files/oprofile/" SRC_URI_append_libc-musl = " file://musl.patch" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 25 14:59:55 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 25 Jul 2017 14:59:55 +0000 Subject: [oe-commits] [openembedded-core] 08/13: gnome-themes-standard: don't generate multiple -dev and -dbg packages In-Reply-To: <150099478761.27166.10788430366112867543@git.openembedded.org> References: <150099478761.27166.10788430366112867543@git.openembedded.org> Message-ID: <20170725145948.0E873234F17@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit b56e33fa439429f6d93860a49653ba1b16e00bbb Author: Ross Burton AuthorDate: Tue Jul 25 12:51:52 2017 +0100 gnome-themes-standard: don't generate multiple -dev and -dbg packages Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- meta/recipes-gnome/gnome/gnome-themes-standard_3.22.3.bb | 5 ----- 1 file changed, 5 deletions(-) diff --git a/meta/recipes-gnome/gnome/gnome-themes-standard_3.22.3.bb b/meta/recipes-gnome/gnome/gnome-themes-standard_3.22.3.bb index f75f7c8..e49ad5e 100644 --- a/meta/recipes-gnome/gnome/gnome-themes-standard_3.22.3.bb +++ b/meta/recipes-gnome/gnome/gnome-themes-standard_3.22.3.bb @@ -30,16 +30,11 @@ do_install_append() { # There could be gnome-theme-highcontrast as well but that requires # gtk+3 and includes lots of icons (is also broken with B != S). PACKAGES += "gnome-theme-adwaita \ - gnome-theme-adwaita-dbg \ - gnome-theme-adwaita-dev?\ gnome-theme-adwaita-dark \ " FILES_gnome-theme-adwaita = "${prefix}/share/themes/Adwaita \ ${libdir}/gtk-2.0/2.10.0/engines/libadwaita.so" -FILES_gnome-theme-adwaita-dev = "${libdir}/gtk-2.0/2.10.0/engines/libadwaita.la" -FILES_gnome-theme-adwaita-dbg = "${libdir}/gtk-2.0/2.10.0/engines/.debug/libadwaita.so" FILES_gnome-theme-adwaita-dark = "${prefix}/share/themes/Adwaita-dark" RDEPENDS_gnome-theme-adwaita-dark = "gnome-theme-adwaita" - -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 25 14:59:56 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 25 Jul 2017 14:59:56 +0000 Subject: [oe-commits] [openembedded-core] 09/13: package_rpm.bbclass: disable generation of .build-id links In-Reply-To: <150099478761.27166.10788430366112867543@git.openembedded.org> References: <150099478761.27166.10788430366112867543@git.openembedded.org> Message-ID: <20170725145948.1724A234F18@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 1bd3ed18379c330c1c733dc9f043dbbe8aa0d254 Author: Alexander Kanavin AuthorDate: Mon Jul 24 18:27:03 2017 +0300 package_rpm.bbclass: disable generation of .build-id links As we're not using them and they're getting in the way of reproducibility. [YOCTO #11718] Signed-off-by: Alexander Kanavin Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- meta/classes/package_rpm.bbclass | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass index dc24197..5562074 100644 --- a/meta/classes/package_rpm.bbclass +++ b/meta/classes/package_rpm.bbclass @@ -644,6 +644,7 @@ python do_package_rpm () { cmd = cmd + " --define '_build_name_fmt %%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm'" cmd = cmd + " --define '_use_internal_dependency_generator 0'" cmd = cmd + " --define '_binaries_in_noarch_packages_terminate_build 0'" + cmd = cmd + " --define '_build_id_links none'" cmd = cmd + " --define '_binary_payload w6T.xzdio'" cmd = cmd + " --define '_source_payload w6T.xzdio'" if perfiledeps: -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 25 14:59:54 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 25 Jul 2017 14:59:54 +0000 Subject: [oe-commits] [openembedded-core] 07/13: libpng: use SourceForge mirror In-Reply-To: <150099478761.27166.10788430366112867543@git.openembedded.org> References: <150099478761.27166.10788430366112867543@git.openembedded.org> Message-ID: <20170725145948.04E97234F16@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 791a3493c88c9c249f21f6d893b2061e1d8a0af6 Author: Ross Burton AuthorDate: Mon Jul 24 21:34:49 2017 +0100 libpng: use SourceForge mirror The Gentoo mirror also deletes old versions when they're not used, so revert back to the canonical SourceForge site, adding /older-releases/ to MIRRORS to handle new releases moving the version we want. Original idea by Maxin B. John . Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- meta/recipes-multimedia/libpng/libpng_1.6.29.bb | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/meta/recipes-multimedia/libpng/libpng_1.6.29.bb b/meta/recipes-multimedia/libpng/libpng_1.6.29.bb index 8a3056e..be327ca 100644 --- a/meta/recipes-multimedia/libpng/libpng_1.6.29.bb +++ b/meta/recipes-multimedia/libpng/libpng_1.6.29.bb @@ -6,11 +6,14 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=f9acafc1325f8f8da80aeee94dbc1bda \ file://png.h;endline=144;md5=0b2aa20c7ff55d9411108317df8ff0c9" DEPENDS = "zlib" -SRC_URI = "${GENTOO_MIRROR}/libpng-${PV}.tar.xz \ - " +LIBV = "16" + +SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}${LIBV}/${PV}/${BP}.tar.xz" SRC_URI[md5sum] = "3245dbd76ea91e1437507357b858ec97" SRC_URI[sha256sum] = "4245b684e8fe829ebb76186327bb37ce5a639938b219882b53d64bd3cfc5f239" +MIRRORS += "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}${LIBV}/older-releases/${PV}" + BINCONFIG = "${bindir}/libpng-config ${bindir}/libpng16-config" inherit autotools binconfig-disabled pkgconfig -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 25 14:59:53 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 25 Jul 2017 14:59:53 +0000 Subject: [oe-commits] [openembedded-core] 06/13: elfutils: use HTTP instead of FTP to fetch In-Reply-To: <150099478761.27166.10788430366112867543@git.openembedded.org> References: <150099478761.27166.10788430366112867543@git.openembedded.org> Message-ID: <20170725145947.F0889234F15@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 6a9e38be6e9dcbeff033944f9a3a18e3838af10d Author: Ross Burton AuthorDate: Mon Jul 24 15:17:38 2017 +0100 elfutils: use HTTP instead of FTP to fetch FTP is inferiour to HTTP is all respects, so use the HTTP URL for the tarball. Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- meta/recipes-devtools/elfutils/elfutils_0.168.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-devtools/elfutils/elfutils_0.168.bb b/meta/recipes-devtools/elfutils/elfutils_0.168.bb index c0a4f23..0717616 100644 --- a/meta/recipes-devtools/elfutils/elfutils_0.168.bb +++ b/meta/recipes-devtools/elfutils/elfutils_0.168.bb @@ -5,7 +5,7 @@ LICENSE = "(GPLv3 & Elfutils-Exception)" LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" DEPENDS = "libtool bzip2 zlib virtual/libintl" DEPENDS_append_libc-musl = " argp-standalone fts " -SRC_URI = "ftp://sourceware.org/pub/elfutils/${PV}/${BP}.tar.bz2" +SRC_URI = "https://sourceware.org/elfutils/ftp/${PV}/${BP}.tar.bz2" SRC_URI[md5sum] = "52adfa40758d0d39e5d5c57689bf38d6" SRC_URI[sha256sum] = "b88d07893ba1373c7dd69a7855974706d05377766568a7d9002706d5de72c276" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 25 14:59:52 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 25 Jul 2017 14:59:52 +0000 Subject: [oe-commits] [openembedded-core] 05/13: externalsrc: place copy of git index into /tmp and do not use copyfile2 In-Reply-To: <150099478761.27166.10788430366112867543@git.openembedded.org> References: <150099478761.27166.10788430366112867543@git.openembedded.org> Message-ID: <20170725145947.E6898234F14@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 3c3c8ecc61dfed68987750d79b5482ab2f6fa02f Author: Enrico Scholz AuthorDate: Mon Jul 24 13:14:02 2017 +0200 externalsrc: place copy of git index into /tmp and do not use copyfile2 Using shutil.copy2() to copy .git/index to a temporary file tries to copy SELinux attributes which might fail for confined users in SELinux environments. E.g. our builders are running in docker containers and modification of sources (inclusive updated of .git/index) is done outside. Trying to copy .git/index fails with | $ python3 -c 'import shutil; shutil.copy2("index", "a")' | ... | PermissionError: [Errno 13] Permission denied: 'a' and an AVC like | denied { relabelto } for pid=18043 comm="python3" name="a" dev="dm-29" ino=1067553 scontext=system_u:system_r:container_t:s0:c39,c558 tcontext=unconfined_u:object_r:build_file_t:s0 tclass=file permissive=0 is created. This can not be solved by adapting the SELinux policy because this is a very deep constraint violation: | constrain file { create relabelfrom relabelto } ((u1 == u2 -Fail-) or (t1 == can_change_object_identity -Fail-) ); Constraint DENIED | | Possible cause is the source user (system_u) and target user (unconfined_u) are different. I do not see much sense in using 'shutil.copy2()' here; 'shutil.copyfile()' seems to be a better choice (target file is created in a secure way by tempfile.NamedTemporaryFile()). By placing the tempfile into /tmp we avoid potential problems related to git's 'core.sharedRepository'. As a (positive) side effect, the source tree will not be modified anymore (at least by this part of code) which prevented to mount it read-only from somewhere else. Signed-off-by: Enrico Scholz Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- meta/classes/externalsrc.bbclass | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/classes/externalsrc.bbclass b/meta/classes/externalsrc.bbclass index 529be49..9aabb42 100644 --- a/meta/classes/externalsrc.bbclass +++ b/meta/classes/externalsrc.bbclass @@ -189,9 +189,9 @@ def srctree_hash_files(d, srcdir=None): ret = " " if os.path.exists(git_dir): - with tempfile.NamedTemporaryFile(dir=git_dir, prefix='oe-devtool-index') as tmp_index: + with tempfile.NamedTemporaryFile(prefix='oe-devtool-index') as tmp_index: # Clone index - shutil.copy2(os.path.join(git_dir, 'index'), tmp_index.name) + shutil.copyfile(os.path.join(git_dir, 'index'), tmp_index.name) # Update our custom index env = os.environ.copy() env['GIT_INDEX_FILE'] = tmp_index.name -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 25 15:00:00 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 25 Jul 2017 15:00:00 +0000 Subject: [oe-commits] [openembedded-core] 13/13: valgrind: fix upstream version check In-Reply-To: <150099478761.27166.10788430366112867543@git.openembedded.org> References: <150099478761.27166.10788430366112867543@git.openembedded.org> Message-ID: <20170725145948.3ED74234F1C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit f4e86314dac536755b2489a5b442b0f36909cae5 Author: Alexander Kanavin AuthorDate: Mon Jul 24 17:28:18 2017 +0300 valgrind: fix upstream version check Signed-off-by: Alexander Kanavin Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- meta/recipes-devtools/valgrind/valgrind_3.13.0.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/recipes-devtools/valgrind/valgrind_3.13.0.bb b/meta/recipes-devtools/valgrind/valgrind_3.13.0.bb index feab5fc..e1ff29a 100644 --- a/meta/recipes-devtools/valgrind/valgrind_3.13.0.bb +++ b/meta/recipes-devtools/valgrind/valgrind_3.13.0.bb @@ -40,6 +40,7 @@ SRC_URI = "ftp://sourceware.org/pub/valgrind/valgrind-${PV}.tar.bz2 \ " SRC_URI[md5sum] = "817dd08f1e8a66336b9ff206400a5369" SRC_URI[sha256sum] = "d76680ef03f00cd5e970bbdcd4e57fb1f6df7d2e2c071635ef2be74790190c3b" +UPSTREAM_CHECK_REGEX = "valgrind-(?P\d+(\.\d+)+)\.tar" COMPATIBLE_HOST = '(i.86|x86_64|arm|aarch64|mips|powerpc|powerpc64).*-linux' -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 25 14:59:57 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 25 Jul 2017 14:59:57 +0000 Subject: [oe-commits] [openembedded-core] 10/13: image.bbclass: Correct chaining compression support In-Reply-To: <150099478761.27166.10788430366112867543@git.openembedded.org> References: <150099478761.27166.10788430366112867543@git.openembedded.org> Message-ID: <20170725145948.200E3234F19@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 0a7ce0b971a208956cb895ba5a869ec8c5d94703 Author: Tom Rini AuthorDate: Fri Jul 21 18:06:33 2017 -0400 image.bbclass: Correct chaining compression support When chaining of compression/conversion types was added, we had a new way to handle doing things like "ext4.bz2.sha256sum" or "ext2.gz.u-boot". However, because the U-Boot image class isn't included normally, it wasn't properly converted at the time. After the support was added the "clean" argument that the .u-boot code uses no longer functions. The fix for this inadvertently broke chaining compression/conversion. First, correct the u-boot conversion code. Fixes: 46bc438374de ("image.bbclass: do exact match for rootfs type") Cc: Zhenhua Luo Cc: Richard Purdie Cc: Patrick Ohly Signed-off-by: Tom Rini Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- meta/classes/image.bbclass | 2 +- meta/classes/image_types_uboot.bbclass | 13 +++++-------- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass index de535ce..bd6a5b7 100644 --- a/meta/classes/image.bbclass +++ b/meta/classes/image.bbclass @@ -453,7 +453,7 @@ python () { rm_tmp_images = set() def gen_conversion_cmds(bt): for ctype in ctypes: - if bt[bt.find('.') + 1:] == ctype: + if bt.endswith("." + ctype): type = bt[0:-len(ctype) - 1] if type.startswith("debugfs_"): type = type[8:] diff --git a/meta/classes/image_types_uboot.bbclass b/meta/classes/image_types_uboot.bbclass index 5dfa392..8db436e 100644 --- a/meta/classes/image_types_uboot.bbclass +++ b/meta/classes/image_types_uboot.bbclass @@ -3,9 +3,6 @@ inherit image_types kernel-arch oe_mkimage () { mkimage -A ${UBOOT_ARCH} -O linux -T ramdisk -C $2 -n ${IMAGE_NAME} \ -d ${IMGDEPLOYDIR}/$1 ${IMGDEPLOYDIR}/$1.u-boot - if [ x$3 = x"clean" ]; then - rm $1 - fi } CONVERSIONTYPES += "gz.u-boot bz2.u-boot lz4.u-boot lzma.u-boot lzo.u-boot u-boot" @@ -14,19 +11,19 @@ CONVERSION_DEPENDS_u-boot = "u-boot-mkimage-native" CONVERSION_CMD_u-boot = "oe_mkimage ${IMAGE_NAME}.rootfs.${type} none" CONVERSION_DEPENDS_gz.u-boot = "u-boot-mkimage-native" -CONVERSION_CMD_gz.u-boot = "${CONVERSION_CMD_gz}; oe_mkimage ${IMAGE_NAME}.rootfs.${type}.gz gzip clean" +CONVERSION_CMD_gz.u-boot = "${CONVERSION_CMD_gz}; oe_mkimage ${IMAGE_NAME}.rootfs.${type}.gz gzip" CONVERSION_DEPENDS_bz2.u-boot = "u-boot-mkimage-native" -CONVERSION_CMD_bz2.u-boot = "${CONVERSION_CMD_bz2}; oe_mkimage ${IMAGE_NAME}.rootfs.${type}.bz2 bzip2 clean" +CONVERSION_CMD_bz2.u-boot = "${CONVERSION_CMD_bz2}; oe_mkimage ${IMAGE_NAME}.rootfs.${type}.bz2 bzip2" CONVERSION_DEPENDS_lz4.u-boot = "u-boot-mkimage-native" -CONVERSION_CMD_lz4.u-boot = "${CONVERSION_CMD_lz4_legacy}; oe_mkimage ${IMAGE_NAME}.rootfs.${type}.lz4 lz4 clean" +CONVERSION_CMD_lz4.u-boot = "${CONVERSION_CMD_lz4_legacy}; oe_mkimage ${IMAGE_NAME}.rootfs.${type}.lz4 lz4" CONVERSION_DEPENDS_lzma.u-boot = "u-boot-mkimage-native" -CONVERSION_CMD_lzma.u-boot = "${CONVERSION_CMD_lzma}; oe_mkimage ${IMAGE_NAME}.rootfs.${type}.lzma lzma clean" +CONVERSION_CMD_lzma.u-boot = "${CONVERSION_CMD_lzma}; oe_mkimage ${IMAGE_NAME}.rootfs.${type}.lzma lzma" CONVERSION_DEPENDS_lzo.u-boot = "u-boot-mkimage-native" -CONVERSION_CMD_lzo.u-boot = "${CONVERSION_CMD_lzo}; oe_mkimage ${IMAGE_NAME}.rootfs.${type}.lzo lzo clean" +CONVERSION_CMD_lzo.u-boot = "${CONVERSION_CMD_lzo}; oe_mkimage ${IMAGE_NAME}.rootfs.${type}.lzo lzo" IMAGE_TYPES += "ext2.u-boot ext2.gz.u-boot ext2.bz2.u-boot ext2.lzma.u-boot ext3.gz.u-boot ext4.gz.u-boot cpio.gz.u-boot" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 25 14:59:58 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 25 Jul 2017 14:59:58 +0000 Subject: [oe-commits] [openembedded-core] 11/13: image_types.bbclass: Make u-boot signed images more versatile In-Reply-To: <150099478761.27166.10788430366112867543@git.openembedded.org> References: <150099478761.27166.10788430366112867543@git.openembedded.org> Message-ID: <20170725145948.2DC2D234F1A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 65f27122950a35a67ce39ae4cfe93d0dca6b0dab Author: Tom Rini AuthorDate: Fri Jul 21 18:06:34 2017 -0400 image_types.bbclass: Make u-boot signed images more versatile With the introduction of chaining compression/conversion support we can convert the old image_types_uboot.bbclass code that did a hand-chaining of a set of ${filesystem}.${compression} into generic and arbitrary support to sign whatever the user wants to sign for their image. This, for the record, does remove setting a valid compression type in the record in favour of just saying none. This is not a generally useful feature in U-Boot and I believe being versatile in terms of being able to pass in arbitrary compressions is more important. Signed-off-by: Tom Rini Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- meta/classes/image.bbclass | 9 --------- meta/classes/image_types.bbclass | 6 ++++-- meta/classes/image_types_uboot.bbclass | 29 ----------------------------- 3 files changed, 4 insertions(+), 40 deletions(-) diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass index bd6a5b7..b095bca 100644 --- a/meta/classes/image.bbclass +++ b/meta/classes/image.bbclass @@ -144,15 +144,6 @@ inherit ${IMAGE_TYPE_vm} IMAGE_TYPE_container = '${@bb.utils.contains("IMAGE_FSTYPES", "container", "image-container", "", d)}' inherit ${IMAGE_TYPE_container} -def build_uboot(d): - if 'u-boot' in (d.getVar('IMAGE_FSTYPES') or ''): - return "image_types_uboot" - else: - return "" - -IMAGE_TYPE_uboot = "${@build_uboot(d)}" -inherit ${IMAGE_TYPE_uboot} - IMAGE_TYPE_wic = "image_types_wic" inherit ${IMAGE_TYPE_wic} diff --git a/meta/classes/image_types.bbclass b/meta/classes/image_types.bbclass index a0a516e..cf946a6 100644 --- a/meta/classes/image_types.bbclass +++ b/meta/classes/image_types.bbclass @@ -214,7 +214,7 @@ IMAGE_CMD_ubifs = "mkfs.ubifs -r ${IMAGE_ROOTFS} -o ${IMGDEPLOYDIR}/${IMAGE_NAME EXTRA_IMAGECMD = "" -inherit siteinfo +inherit siteinfo kernel-arch JFFS2_ENDIANNESS ?= "${@base_conditional('SITEINFO_ENDIANNESS', 'le', '-l', '-b', d)}" JFFS2_ERASEBLOCK ?= "0x40000" EXTRA_IMAGECMD_jffs2 ?= "--pad ${JFFS2_ENDIANNESS} --eraseblock=${JFFS2_ERASEBLOCK} --no-cleanmarkers" @@ -269,7 +269,7 @@ IMAGE_TYPES = " \ # CONVERSION_CMD/DEPENDS. COMPRESSIONTYPES ?= "" -CONVERSIONTYPES = "gz bz2 lzma xz lz4 lzo zip sum md5sum sha1sum sha224sum sha256sum sha384sum sha512sum bmap ${COMPRESSIONTYPES}" +CONVERSIONTYPES = "gz bz2 lzma xz lz4 lzo zip sum md5sum sha1sum sha224sum sha256sum sha384sum sha512sum bmap u-boot ${COMPRESSIONTYPES}" CONVERSION_CMD_lzma = "lzma -k -f -7 ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}" CONVERSION_CMD_gz = "gzip -f -9 -c ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} > ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.gz" CONVERSION_CMD_bz2 = "pbzip2 -f -k ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}" @@ -286,6 +286,7 @@ CONVERSION_CMD_sha256sum = "sha256sum ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} CONVERSION_CMD_sha384sum = "sha384sum ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} > ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.sha384sum" CONVERSION_CMD_sha512sum = "sha512sum ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} > ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.sha512sum" CONVERSION_CMD_bmap = "bmaptool create ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} -o ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.bmap" +CONVERSION_CMD_u-boot = "mkimage -A ${UBOOT_ARCH} -O linux -T ramdisk -C none -n ${IMAGE_NAME} -d ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.u-boot" CONVERSION_DEPENDS_lzma = "xz-native" CONVERSION_DEPENDS_gz = "pigz-native" CONVERSION_DEPENDS_bz2 = "pbzip2-native" @@ -295,6 +296,7 @@ CONVERSION_DEPENDS_lzo = "lzop-native" CONVERSION_DEPENDS_zip = "zip-native" CONVERSION_DEPENDS_sum = "mtd-utils-native" CONVERSION_DEPENDS_bmap = "bmap-tools-native" +CONVERSION_DEPENDS_u-boot = "u-boot-mkimage-native" RUNNABLE_IMAGE_TYPES ?= "ext2 ext3 ext4" RUNNABLE_MACHINE_PATTERNS ?= "qemu" diff --git a/meta/classes/image_types_uboot.bbclass b/meta/classes/image_types_uboot.bbclass deleted file mode 100644 index 8db436e..0000000 --- a/meta/classes/image_types_uboot.bbclass +++ /dev/null @@ -1,29 +0,0 @@ -inherit image_types kernel-arch - -oe_mkimage () { - mkimage -A ${UBOOT_ARCH} -O linux -T ramdisk -C $2 -n ${IMAGE_NAME} \ - -d ${IMGDEPLOYDIR}/$1 ${IMGDEPLOYDIR}/$1.u-boot -} - -CONVERSIONTYPES += "gz.u-boot bz2.u-boot lz4.u-boot lzma.u-boot lzo.u-boot u-boot" - -CONVERSION_DEPENDS_u-boot = "u-boot-mkimage-native" -CONVERSION_CMD_u-boot = "oe_mkimage ${IMAGE_NAME}.rootfs.${type} none" - -CONVERSION_DEPENDS_gz.u-boot = "u-boot-mkimage-native" -CONVERSION_CMD_gz.u-boot = "${CONVERSION_CMD_gz}; oe_mkimage ${IMAGE_NAME}.rootfs.${type}.gz gzip" - -CONVERSION_DEPENDS_bz2.u-boot = "u-boot-mkimage-native" -CONVERSION_CMD_bz2.u-boot = "${CONVERSION_CMD_bz2}; oe_mkimage ${IMAGE_NAME}.rootfs.${type}.bz2 bzip2" - -CONVERSION_DEPENDS_lz4.u-boot = "u-boot-mkimage-native" -CONVERSION_CMD_lz4.u-boot = "${CONVERSION_CMD_lz4_legacy}; oe_mkimage ${IMAGE_NAME}.rootfs.${type}.lz4 lz4" - -CONVERSION_DEPENDS_lzma.u-boot = "u-boot-mkimage-native" -CONVERSION_CMD_lzma.u-boot = "${CONVERSION_CMD_lzma}; oe_mkimage ${IMAGE_NAME}.rootfs.${type}.lzma lzma" - -CONVERSION_DEPENDS_lzo.u-boot = "u-boot-mkimage-native" -CONVERSION_CMD_lzo.u-boot = "${CONVERSION_CMD_lzo}; oe_mkimage ${IMAGE_NAME}.rootfs.${type}.lzo lzo" - -IMAGE_TYPES += "ext2.u-boot ext2.gz.u-boot ext2.bz2.u-boot ext2.lzma.u-boot ext3.gz.u-boot ext4.gz.u-boot cpio.gz.u-boot" - -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 25 15:00:14 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 25 Jul 2017 15:00:14 +0000 Subject: [oe-commits] [openembedded-core] branch master-next updated (8ecba5a -> f4e8631) Message-ID: <150099481438.27766.56335516494983642@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master-next in repository openembedded-core. discard 8ecba5a gcc-7.inc: add new warning "Wnot-cross-compiler" discard b209f4f oe-selftest: wic: fix test_qemu discard 35fe8a6 wic: add /boot mount point to fstab by default discard 896a54f wic: rootfs: make copied rootfs unique discard 7e49cae wic: rootfs: fix rootfs path reporting discard bcc3d10 wic: use absolute paths in rootfs plugin discard 918d3a4 wic: copy rootfs directory before changing fstab add ada7408 wic-tools: ensure pseudo is available add 2eee6c4 package-index: inherit nopackages add 2414e9f uninative-tarball: drop deltask package/packagedata add 71af69f buildtools-tarball: drop deltask package/packagedata add 3c3c8ec externalsrc: place copy of git index into /tmp and do not use copyfile2 add 6a9e38b elfutils: use HTTP instead of FTP to fetch add 791a349 libpng: use SourceForge mirror add b56e33f gnome-themes-standard: don't generate multiple -dev and -dbg packages add 1bd3ed1 package_rpm.bbclass: disable generation of .build-id links add 0a7ce0b image.bbclass: Correct chaining compression support add 65f2712 image_types.bbclass: Make u-boot signed images more versatile add 7ca10a9 oprofile: fix upstream version check add f4e8631 valgrind: fix upstream version check This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (8ecba5a) \ N -- N -- N refs/heads/master-next (f4e8631) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. No new revisions were added by this update. Summary of changes: meta/classes/externalsrc.bbclass | 4 +-- meta/classes/image.bbclass | 11 +----- meta/classes/image_types.bbclass | 6 ++-- meta/classes/image_types_uboot.bbclass | 32 ------------------ meta/classes/package_rpm.bbclass | 1 + meta/lib/oeqa/selftest/cases/wic.py | 2 +- meta/recipes-core/meta/buildtools-tarball.bb | 2 -- meta/recipes-core/meta/package-index.bb | 7 ++-- meta/recipes-core/meta/uninative-tarball.bb | 2 -- meta/recipes-core/meta/wic-tools.bb | 2 +- meta/recipes-devtools/elfutils/elfutils_0.168.bb | 2 +- meta/recipes-devtools/gcc/gcc-7.1.inc | 1 - .../gcc/gcc-7.1/0051-warn-not-cross-compiler.patch | 39 ---------------------- meta/recipes-devtools/valgrind/valgrind_3.13.0.bb | 1 + .../gnome/gnome-themes-standard_3.22.3.bb | 5 --- meta/recipes-kernel/oprofile/oprofile.inc | 2 ++ meta/recipes-multimedia/libpng/libpng_1.6.29.bb | 7 ++-- scripts/lib/wic/plugins/imager/direct.py | 24 ++++++------- scripts/lib/wic/plugins/source/rootfs.py | 16 +++++---- 19 files changed, 40 insertions(+), 126 deletions(-) delete mode 100644 meta/classes/image_types_uboot.bbclass delete mode 100644 meta/recipes-devtools/gcc/gcc-7.1/0051-warn-not-cross-compiler.patch -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 25 15:00:35 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 25 Jul 2017 15:00:35 +0000 Subject: [oe-commits] [bitbake] branch master updated (b751434 -> 91d4ca9) Message-ID: <150099483573.28174.5303730615244968057@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master in repository bitbake. from b751434 process: Change timeout warning to a note add 91d4ca9 fetch/wget: mitigate a wget race condition when listing FTP directories No new revisions were added by this update. Summary of changes: lib/bb/fetch2/wget.py | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 25 22:16:28 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 25 Jul 2017 22:16:28 +0000 Subject: [oe-commits] [openembedded-core] 01/02: oeqa/buildperf: Add 'bitbake -m' on sync function to ensure bitbake is unloaded In-Reply-To: <150102098722.2680.407963377009651428@git.openembedded.org> References: <150102098722.2680.407963377009651428@git.openembedded.org> Message-ID: <20170725221627.511F8234F10@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 9210c9ce051dfffaa7afa36bb4a926cea289ffd4 Author: Jose Perez Carranza AuthorDate: Tue Jul 25 13:06:28 2017 -0700 oeqa/buildperf: Add 'bitbake -m' on sync function to ensure bitbake is unloaded Add 'bitbake -m' to the sync method and ensure all process related to bitbake are correctly unloaded before doing the different measurements. Also add a call to sync funtion on Test4 before final measurment of eSDK deploy dir disk usage. Signed-off-by: Jose Perez Carranza Signed-off-by: Richard Purdie --- meta/lib/oeqa/buildperf/base.py | 1 + meta/lib/oeqa/buildperf/test_basic.py | 2 ++ 2 files changed, 3 insertions(+) diff --git a/meta/lib/oeqa/buildperf/base.py b/meta/lib/oeqa/buildperf/base.py index 6e62b27..7b2b4aa 100644 --- a/meta/lib/oeqa/buildperf/base.py +++ b/meta/lib/oeqa/buildperf/base.py @@ -485,6 +485,7 @@ class BuildPerfTestCase(unittest.TestCase): @staticmethod def sync(): """Sync and drop kernel caches""" + runCmd2('bitbake -m', ignore_status=True) log.debug("Syncing and dropping kernel caches""") KernelDropCaches.drop() os.sync() diff --git a/meta/lib/oeqa/buildperf/test_basic.py b/meta/lib/oeqa/buildperf/test_basic.py index a9e4a5b..a19089a 100644 --- a/meta/lib/oeqa/buildperf/test_basic.py +++ b/meta/lib/oeqa/buildperf/test_basic.py @@ -121,5 +121,7 @@ class Test4(BuildPerfTestCase): self.sync() self.measure_cmd_resources([installer, '-y', '-d', deploy_dir], 'deploy', 'eSDK deploy') + #make sure bitbake is unloaded + self.sync() self.measure_disk_usage(deploy_dir, 'deploy_dir', 'deploy dir', apparent_size=True) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 25 22:16:27 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 25 Jul 2017 22:16:27 +0000 Subject: [oe-commits] [openembedded-core] branch master updated (f4e8631 -> 98a2afe) Message-ID: <150102098722.2680.407963377009651428@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master in repository openembedded-core. from f4e8631 valgrind: fix upstream version check new 9210c9c oeqa/buildperf: Add 'bitbake -m' on sync function to ensure bitbake is unloaded new 98a2afe image: Fix "metadata is not deterministic" when chaining 2+ CONVERSION_CMDs The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: meta/classes/image.bbclass | 2 +- meta/lib/oeqa/buildperf/base.py | 1 + meta/lib/oeqa/buildperf/test_basic.py | 2 ++ 3 files changed, 4 insertions(+), 1 deletion(-) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 25 22:16:29 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 25 Jul 2017 22:16:29 +0000 Subject: [oe-commits] [openembedded-core] 02/02: image: Fix "metadata is not deterministic" when chaining 2+ CONVERSION_CMDs In-Reply-To: <150102098722.2680.407963377009651428@git.openembedded.org> References: <150102098722.2680.407963377009651428@git.openembedded.org> Message-ID: <20170725221627.58415234F11@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 98a2afeb3a53bec7a72a4a9846e1dba636cc6f3d Author: Tom Rini AuthorDate: Tue Jul 25 15:58:09 2017 -0400 image: Fix "metadata is not deterministic" when chaining 2+ CONVERSION_CMDs When we have more than one CONVERSION_CMD being used, for example ext4.gz.sha256sum we will see errors about "metadata is not deterministic". This is because we do not have a stable order of intermediate files that will be removed in the generated shell command. We fix this by calling sorted() on the set of rm_tmp_images so that we will have a stable hash again. Cc: Patrick Ohly Signed-off-by: Tom Rini Signed-off-by: Richard Purdie --- meta/classes/image.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass index b095bca..dee17ae 100644 --- a/meta/classes/image.bbclass +++ b/meta/classes/image.bbclass @@ -474,7 +474,7 @@ python () { # Clean up after applying all conversion commands. Some of them might # use the same input, therefore we cannot delete sooner without applying # some complex dependency analysis. - for image in rm_tmp_images: + for image in sorted(rm_tmp_images): cmds.append("\trm " + image) after = 'do_image' -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 25 22:16:33 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 25 Jul 2017 22:16:33 +0000 Subject: [oe-commits] [openembedded-core] branch master-next updated (f4e8631 -> 98a2afe) Message-ID: <150102099324.2894.14279367577412155179@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master-next in repository openembedded-core. from f4e8631 valgrind: fix upstream version check add 9210c9c oeqa/buildperf: Add 'bitbake -m' on sync function to ensure bitbake is unloaded add 98a2afe image: Fix "metadata is not deterministic" when chaining 2+ CONVERSION_CMDs No new revisions were added by this update. Summary of changes: meta/classes/image.bbclass | 2 +- meta/lib/oeqa/buildperf/base.py | 1 + meta/lib/oeqa/buildperf/test_basic.py | 2 ++ 3 files changed, 4 insertions(+), 1 deletion(-) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 25 22:16:44 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 25 Jul 2017 22:16:44 +0000 Subject: [oe-commits] [bitbake] branch master updated: fetch2/__init__.py: replace stray logger.warn() with logger.warning() Message-ID: <150102100409.3073.11664439952495328143@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository bitbake. The following commit(s) were added to refs/heads/master by this push: new 1b14f11 fetch2/__init__.py: replace stray logger.warn() with logger.warning() 1b14f11 is described below commit 1b14f115a9e929e29e91e8ac70826a3fe7259961 Author: Andre McCurdy AuthorDate: Tue Jul 25 14:30:01 2017 -0700 fetch2/__init__.py: replace stray logger.warn() with logger.warning() Update stray usage of deprecated logger.warn(), which was introduced to fetch2/__init__.py after all other instances had been replaced by logger.warning(): http://git.openembedded.org/bitbake/commit/?id=5a53e7d7b017769a6eb0f0a6335735a1fe51a5ec http://git.openembedded.org/bitbake/commit/?id=676a5f592e8507e81b8f748d58acfea7572f8796 Signed-off-by: Andre McCurdy Signed-off-by: Richard Purdie --- lib/bb/fetch2/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/bb/fetch2/__init__.py b/lib/bb/fetch2/__init__.py index 74ba37f..a78279c 100644 --- a/lib/bb/fetch2/__init__.py +++ b/lib/bb/fetch2/__init__.py @@ -1033,7 +1033,7 @@ def try_mirror_url(fetch, origud, ud, ld, check = False): except IOError as e: if e.errno in [os.errno.ESTALE]: - logger.warn("Stale Error Observed %s." % ud.url) + logger.warning("Stale Error Observed %s." % ud.url) return False raise -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Tue Jul 25 22:16:48 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Tue, 25 Jul 2017 22:16:48 +0000 Subject: [oe-commits] [bitbake] branch master-next updated (91d4ca9 -> 1b14f11) Message-ID: <150102100805.3249.7888702656505396644@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master-next in repository bitbake. from 91d4ca9 fetch/wget: mitigate a wget race condition when listing FTP directories add 1b14f11 fetch2/__init__.py: replace stray logger.warn() with logger.warning() No new revisions were added by this update. Summary of changes: lib/bb/fetch2/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 26 09:12:28 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 26 Jul 2017 09:12:28 +0000 Subject: [oe-commits] [openembedded-core] branch master updated: gnome-themes-standard: Fix packages so dev-pkgs image generation works Message-ID: <150106034825.8370.2405353720168578363@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. The following commit(s) were added to refs/heads/master by this push: new 51b3ee2 gnome-themes-standard: Fix packages so dev-pkgs image generation works 51b3ee2 is described below commit 51b3ee298635b11d5784caaa0ac1c8f4034c25a5 Author: Richard Purdie AuthorDate: Wed Jul 26 09:52:43 2017 +0100 gnome-themes-standard: Fix packages so dev-pkgs image generation works A change from Ross removed the dual -dev/-dbg packages but this broke deb/ipk rootfs constuction due to a dependency on a package which doesn't exist (for dev-pkgs images). Remove the dependency on that package to allow images to build. Signed-off-by: Richard Purdie --- meta/recipes-gnome/gnome/gnome-themes-standard_3.22.3.bb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/meta/recipes-gnome/gnome/gnome-themes-standard_3.22.3.bb b/meta/recipes-gnome/gnome/gnome-themes-standard_3.22.3.bb index e49ad5e..3b41328 100644 --- a/meta/recipes-gnome/gnome/gnome-themes-standard_3.22.3.bb +++ b/meta/recipes-gnome/gnome/gnome-themes-standard_3.22.3.bb @@ -38,3 +38,6 @@ FILES_gnome-theme-adwaita = "${prefix}/share/themes/Adwaita \ FILES_gnome-theme-adwaita-dark = "${prefix}/share/themes/Adwaita-dark" RDEPENDS_gnome-theme-adwaita-dark = "gnome-theme-adwaita" + +# gnome-themes-standard is empty and doesn't exist +RDEPENDS_${PN}-dev = "" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Wed Jul 26 09:12:33 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Wed, 26 Jul 2017 09:12:33 +0000 Subject: [oe-commits] [openembedded-core] branch master-next updated (98a2afe -> 51b3ee2) Message-ID: <150106035305.8545.17647568968621482666@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master-next in repository openembedded-core. from 98a2afe image: Fix "metadata is not deterministic" when chaining 2+ CONVERSION_CMDs add 51b3ee2 gnome-themes-standard: Fix packages so dev-pkgs image generation works No new revisions were added by this update. Summary of changes: meta/recipes-gnome/gnome/gnome-themes-standard_3.22.3.bb | 3 +++ 1 file changed, 3 insertions(+) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 08:31:36 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 08:31:36 +0000 Subject: [oe-commits] [openembedded-core] 03/38: runqemu: check tar.bz2 and .tar.gz In-Reply-To: <150114429384.17605.14695844614135055993@git.openembedded.org> References: <150114429384.17605.14695844614135055993@git.openembedded.org> Message-ID: <20170727083134.51C66234F36@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 552093d1f60ca335d95bcfc9d6070ec551ebe6c0 Author: Robert Yang AuthorDate: Thu Jul 13 00:31:17 2017 -0700 runqemu: check tar.bz2 and .tar.gz Handle them as nfs, so that cmd like the following can be boot: $ runqemu tmp/deploy/images/qemux86/core-image-minimal-qemux86.tar.bz2 [YOCTO #11286] Signed-off-by: Robert Yang --- scripts/runqemu | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/scripts/runqemu b/scripts/runqemu index 781814a..bdb559f 100755 --- a/scripts/runqemu +++ b/scripts/runqemu @@ -218,7 +218,8 @@ class BaseConfig(object): self.lock_descriptor = '' self.bitbake_e = '' self.snapshot = False - self.fstypes = ('ext2', 'ext3', 'ext4', 'jffs2', 'nfs', 'btrfs', 'cpio.gz', 'cpio', 'ramfs') + self.fstypes = ('ext2', 'ext3', 'ext4', 'jffs2', 'nfs', 'btrfs', + 'cpio.gz', 'cpio', 'ramfs', 'tar.bz2', 'tar.gz') self.vmtypes = ('hddimg', 'hdddirect', 'wic', 'vmdk', 'qcow2', 'vdi', 'iso') self.network_device = "-device e1000,netdev=net0,mac=@MAC@" # Use different mac section for tap and slirp to avoid @@ -277,6 +278,8 @@ class BaseConfig(object): if not self.fstype or self.fstype == fst: if fst == 'ramfs': fst = 'cpio.gz' + if fst in ('tar.bz2', 'tar.gz'): + fst = 'nfs' self.fstype = fst else: raise RunQemuError("Conflicting: FSTYPE %s and %s" % (self.fstype, fst)) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 08:31:37 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 08:31:37 +0000 Subject: [oe-commits] [openembedded-core] 04/38: runqemu: validate combos In-Reply-To: <150114429384.17605.14695844614135055993@git.openembedded.org> References: <150114429384.17605.14695844614135055993@git.openembedded.org> Message-ID: <20170727083134.59BE9234F37@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 8c6f253dfb4899324e91dd5d082190909e2bd25d Author: Robert Yang AuthorDate: Thu Jul 13 01:09:34 2017 -0700 runqemu: validate combos Error out ealier if the combos is invalid, e.g.: $ runqemu tmp/deploy/images/qemux86/bzImage-qemux86.bin tmp/deploy/images/qemux86/core-image-minimal-qemux86.wic This will fail at kernel panic, no we check and error out early. We can add other checkings in the future. [YOCTO #11286] Signed-off-by: Robert Yang --- scripts/runqemu | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/scripts/runqemu b/scripts/runqemu index bdb559f..5f2b38f 100755 --- a/scripts/runqemu +++ b/scripts/runqemu @@ -1209,6 +1209,10 @@ class BaseConfig(object): self.bitbake_e = '' logger.warn("Couldn't run 'bitbake -e' to gather environment information:\n%s" % err.output.decode('utf-8')) + def validate_combos(self): + if (self.fstype in self.vmtypes) and self.kernel: + raise RunQemuError("%s doesn't need kernel %s!" % (self.fstype, self.kernel)) + @property def bindir_native(self): result = self.get('STAGING_BINDIR_NATIVE') @@ -1240,6 +1244,8 @@ def main(): config.check_args() config.read_qemuboot() config.check_and_set() + # Check whether the combos is valid or not + config.validate_combos() config.print_config() config.setup_network() config.setup_rootfs() -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 08:31:34 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 08:31:34 +0000 Subject: [oe-commits] [openembedded-core] 01/38: runqemu: add --debug and --quiet In-Reply-To: <150114429384.17605.14695844614135055993@git.openembedded.org> References: <150114429384.17605.14695844614135055993@git.openembedded.org> Message-ID: <20170727083134.44C06234F34@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit e696425e7627edada128b40304fddc84d8d56ba7 Author: Robert Yang AuthorDate: Wed Jul 12 23:05:47 2017 -0700 runqemu: add --debug and --quiet And move some debug info into logger.debug(), this can make it easy to read key messages like errors or warnings. I checked meta/lib/oeqa/ they don't depend on these messages. And I have run "oe-selftest -a", it doesn't break anything. [YOCTO #10474] Signed-off-by: Robert Yang --- scripts/runqemu | 50 +++++++++++++++++++++++++++++++------------------- 1 file changed, 31 insertions(+), 19 deletions(-) diff --git a/scripts/runqemu b/scripts/runqemu index d44afc7..7188bd7 100755 --- a/scripts/runqemu +++ b/scripts/runqemu @@ -48,7 +48,7 @@ def create_logger(): # create console handler and set level to debug ch = logging.StreamHandler() - ch.setLevel(logging.INFO) + ch.setLevel(logging.DEBUG) # create formatter formatter = logging.Formatter('%(name)s - %(levelname)s - %(message)s') @@ -85,6 +85,8 @@ of the following environment variables (in any order): qemuparams= - specify custom parameters to QEMU bootparams= - specify custom kernel parameters during boot help, -h, --help: print this text + -d, --debug: Enable debug output + -q, --quite: Hide most output except error messages Examples: runqemu @@ -112,7 +114,7 @@ def check_tun(): def check_libgl(qemu_bin): cmd = 'ldd %s' % qemu_bin - logger.info('Running %s...' % cmd) + logger.debug('Running %s...' % cmd) need_gl = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE).stdout.read().decode('utf-8') if re.search('libGLU', need_gl): # We can't run without a libGL.so @@ -229,12 +231,12 @@ class BaseConfig(object): self.mac_slirp = "52:54:00:12:35:" def acquire_lock(self): - logger.info("Acquiring lockfile %s..." % self.lock) + logger.debug("Acquiring lockfile %s..." % self.lock) try: self.lock_descriptor = open(self.lock, 'w') fcntl.flock(self.lock_descriptor, fcntl.LOCK_EX|fcntl.LOCK_NB) except Exception as e: - logger.info("Acquiring lockfile %s failed: %s" % (self.lock, e)) + logger.error("Acquiring lockfile %s failed: %s" % (self.lock, e)) if self.lock_descriptor: self.lock_descriptor.close() return False @@ -259,10 +261,10 @@ class BaseConfig(object): def is_deploy_dir_image(self, p): if os.path.isdir(p): if not re.search('.qemuboot.conf$', '\n'.join(os.listdir(p)), re.M): - logger.info("Can't find required *.qemuboot.conf in %s" % p) + logger.debug("Can't find required *.qemuboot.conf in %s" % p) return False if not any(map(lambda name: '-image-' in name, os.listdir(p))): - logger.info("Can't find *-image-* in %s" % p) + logger.debug("Can't find *-image-* in %s" % p) return False return True else: @@ -281,9 +283,9 @@ class BaseConfig(object): def set_machine_deploy_dir(self, machine, deploy_dir_image): """Set MACHINE and DEPLOY_DIR_IMAGE""" - logger.info('MACHINE: %s' % machine) + logger.debug('MACHINE: %s' % machine) self.set("MACHINE", machine) - logger.info('DEPLOY_DIR_IMAGE: %s' % deploy_dir_image) + logger.debug('DEPLOY_DIR_IMAGE: %s' % deploy_dir_image) self.set("DEPLOY_DIR_IMAGE", deploy_dir_image) def check_arg_nfs(self, p): @@ -337,10 +339,10 @@ class BaseConfig(object): elif os.path.isdir(p) or re.search(':', p) and re.search('/', p): if self.is_deploy_dir_image(p): - logger.info('DEPLOY_DIR_IMAGE: %s' % p) + logger.debug('DEPLOY_DIR_IMAGE: %s' % p) self.set("DEPLOY_DIR_IMAGE", p) else: - logger.info("Assuming %s is an nfs rootfs" % p) + logger.debug("Assuming %s is an nfs rootfs" % p) self.check_arg_nfs(p) elif os.path.basename(p).startswith('ovmf'): self.ovmf_bios.append(p) @@ -356,7 +358,7 @@ class BaseConfig(object): elif re.search('/', arg): raise RunQemuError("Unknown arg: %s" % arg) - logger.info('Assuming MACHINE = %s' % arg) + logger.debug('Assuming MACHINE = %s' % arg) # if we're running under testimage, or similarly as a child # of an existing bitbake invocation, we can't invoke bitbake @@ -393,6 +395,16 @@ class BaseConfig(object): self.set("MACHINE", arg) def check_args(self): + for debug in ("-d", "--debug"): + if debug in sys.argv: + logger.setLevel(logging.DEBUG) + sys.argv.remove(debug) + + for quiet in ("-q", "--quiet"): + if quiet in sys.argv: + logger.setLevel(logging.ERROR) + sys.argv.remove(quiet) + unknown_arg = "" for arg in sys.argv[1:]: if arg in self.fstypes + self.vmtypes: @@ -608,7 +620,7 @@ class BaseConfig(object): break if biosdir: - logger.info("Assuming biosdir is: %s" % biosdir) + logger.debug("Assuming biosdir is: %s" % biosdir) self.qemu_opt_script += ' -L %s' % biosdir else: logger.error("Custom BIOS directory not found. Tried: %s, %s, and %s" % (self.custombiosdir, biosdir_native, biosdir_host)) @@ -663,7 +675,7 @@ class BaseConfig(object): if self.get('DEPLOY_DIR_IMAGE'): deploy_dir_image = self.get('DEPLOY_DIR_IMAGE') else: - logger.info("Can't find qemuboot conf file, DEPLOY_DIR_IMAGE is NULL!") + logger.warn("Can't find qemuboot conf file, DEPLOY_DIR_IMAGE is NULL!") return if self.rootfs and not os.path.exists(self.rootfs): @@ -675,7 +687,7 @@ class BaseConfig(object): self.rootfs, machine) else: cmd = 'ls -t %s/*.qemuboot.conf' % deploy_dir_image - logger.info('Running %s...' % cmd) + logger.debug('Running %s...' % cmd) try: qbs = subprocess.check_output(cmd, shell=True).decode('utf-8') except subprocess.CalledProcessError as err: @@ -700,7 +712,7 @@ class BaseConfig(object): if not os.path.exists(self.qemuboot): raise RunQemuError("Failed to find %s (wrong image name or BSP does not support running under qemu?)." % self.qemuboot) - logger.info('CONFFILE: %s' % self.qemuboot) + logger.debug('CONFFILE: %s' % self.qemuboot) cf = configparser.ConfigParser() cf.read(self.qemuboot) @@ -899,7 +911,7 @@ class BaseConfig(object): pass cmd = '%s link' % ip - logger.info('Running %s...' % cmd) + logger.debug('Running %s...' % cmd) ip_link = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE).stdout.read().decode('utf-8') # Matches line like: 6: tap0: possibles = re.findall('^[1-9]+: +(tap[0-9]+): <.*', ip_link, re.M) @@ -931,7 +943,7 @@ class BaseConfig(object): self.lock = lockfile + '.lock' self.acquire_lock() self.cleantap = True - logger.info('Created tap: %s' % tap) + logger.debug('Created tap: %s' % tap) if not tap: logger.error("Failed to setup tap device. Run runqemu-gen-tapdevs to manually create.") @@ -1150,7 +1162,7 @@ class BaseConfig(object): def cleanup(self): if self.cleantap: cmd = 'sudo %s %s %s' % (self.qemuifdown, self.tap, self.bindir_native) - logger.info('Running %s' % cmd) + logger.debug('Running %s' % cmd) subprocess.check_call(cmd, shell=True) if self.lock_descriptor: logger.info("Releasing lockfile for tap device '%s'" % self.tap) @@ -1159,7 +1171,7 @@ class BaseConfig(object): if self.nfs_running: logger.info("Shutting down the userspace NFS server...") cmd = "runqemu-export-rootfs stop %s" % self.rootfs - logger.info('Running %s' % cmd) + logger.debug('Running %s' % cmd) subprocess.check_call(cmd, shell=True) if self.saved_stty: -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 08:31:35 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 08:31:35 +0000 Subject: [oe-commits] [openembedded-core] 02/38: runqemu: check qbconfload before running bitbake In-Reply-To: <150114429384.17605.14695844614135055993@git.openembedded.org> References: <150114429384.17605.14695844614135055993@git.openembedded.org> Message-ID: <20170727083134.4B52F234F35@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 89e97033a8a27a695567c321ed0ebf17f23f8d9b Author: Robert Yang AuthorDate: Thu Jul 13 00:28:46 2017 -0700 runqemu: check qbconfload before running bitbake If qbconfload (.qemuboot.conf is found) is present, we can get DEPLOY_DIR_IMAGE from it rather than "bitbake -e". Signed-off-by: Robert Yang --- scripts/runqemu | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/runqemu b/scripts/runqemu index 7188bd7..781814a 100755 --- a/scripts/runqemu +++ b/scripts/runqemu @@ -466,7 +466,7 @@ class BaseConfig(object): self.check_arg_machine(unknown_arg) - if not self.get('DEPLOY_DIR_IMAGE'): + if not (self.get('DEPLOY_DIR_IMAGE') or self.qbconfload): self.load_bitbake_env() s = re.search('^DEPLOY_DIR_IMAGE="(.*)"', self.bitbake_e, re.M) if s: -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 08:31:33 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 08:31:33 +0000 Subject: [oe-commits] [openembedded-core] branch master-next updated (51b3ee2 -> 98e0f4b) Message-ID: <150114429384.17605.14695844614135055993@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master-next in repository openembedded-core. from 51b3ee2 gnome-themes-standard: Fix packages so dev-pkgs image generation works new e696425 runqemu: add --debug and --quiet new 89e9703 runqemu: check qbconfload before running bitbake new 552093d runqemu: check tar.bz2 and .tar.gz new 8c6f253 runqemu: validate combos new 4a5d21d runqemu: chmod 0o777 for lockdir new d0ebcf6 wic-tools: add dependency to e2fsprogs-native new 9d7797e rpm: allow to enable RPM file signing new 73a67f4 image: Convert vmdk/vdi/qcow2 to strict CONVERSION_CMD types new fb14e23 wic: Switch to using --use-uuid by default new 39745df imagefeatures: Extend test_bmap to validate gzip new a6bd9ef imagefeatures: Add a test for many CONVERSION_CMDs being chained new 8f28076 imagefeatures: Add a test for various hypervisor formats new 6632892 oe-selftest: wic: change mkfs.btrfs options new 40289fc image_types_wic: add dependency to e2fsprogs-native new 661564f go: centralize definition of COMPATIBLE_HOST new 18e0b19 harfbuzz: upgrade to 1.4.7 new 9e9a383 gperf: upgrade to 3.1 new 22584ef eudev: update to 3.2.2 new eeb77bd libcap: fix build with gperf 3.1 new 224955c kernel-devsrc: Remove .kernel-meta from package new 66fca88 gnu-config: update SRC_URI to new savannah.gnu.org hostname new c62ba06 mirrors.bbclass: provide git repo fallbacks using the https protocol new 2a5bcc2 icu: update to 59.1 new 09a86ef btrfs-tools: upgrade to 4.11.1 new 6e1e0c3 bash-completion: upgrade to 2.7 new ca96cb6 epiphany: upgrade to 3.24.3 new 3e9f687 vala: upgrade to 0.36.4 new 71cae30 mpg123: update to 1.25.4 new 09560d9 webkitgtk: update to 2.16.6 new b4d909b pciutils: upgrade to 3.5.5 new 3c7937c diffutils: upgrade to 3.6 new 8054251 cups: upgrade to 2.2.4 new 179b66f sudo: upgrade to 1.8.20p2 new c4340c2 sysstat: upgrade to 11.5.7 new d56976b dbus/dbus-test: upgrade to 1.10.20 new 8bba75d initramfs-framework: module to support boot live image new 81b06b5 initramfs-framework: include install-efi module in recipe for installation new 98e0f4b core-image-minimal-initramfs: use initramfs-framework by default The 38 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: meta/classes/go.bbclass | 5 - meta/classes/goarch.bbclass | 6 + meta/classes/image-vm.bbclass | 171 ---------------- meta/classes/image.bbclass | 3 - meta/classes/image_types.bbclass | 12 +- meta/classes/image_types_wic.bbclass | 2 +- meta/classes/mirrors.bbclass | 11 + meta/conf/distro/include/uninative-flags.inc | 4 - meta/lib/oeqa/selftest/cases/imagefeatures.py | 75 ++++++- meta/lib/oeqa/selftest/cases/wic.py | 2 +- .../{pciutils_3.5.4.bb => pciutils_3.5.5.bb} | 4 +- .../{dbus-test_1.10.18.bb => dbus-test_1.10.20.bb} | 4 +- .../dbus/{dbus_1.10.18.bb => dbus_1.10.20.bb} | 4 +- .../images/build-appliance-image_15.0.0.bb | 6 +- .../images/core-image-minimal-initramfs.bb | 2 +- .../install-efi.sh} | 0 .../initrdscripts/initramfs-framework/setup-live | 66 ++++++ .../initrdscripts/initramfs-framework_1.0.bb | 28 ++- meta/recipes-core/meta/wic-tools.bb | 2 +- .../udev/{eudev_3.2.1.bb => eudev_3.2.2.bb} | 4 +- .../{btrfs-tools_4.11.bb => btrfs-tools_4.11.1.bb} | 2 +- meta/recipes-devtools/gnu-config/gnu-config_git.bb | 2 +- meta/recipes-devtools/go/go-cross.inc | 4 - meta/recipes-devtools/go/go.inc | 6 - meta/recipes-devtools/rpm/rpm_git.bb | 3 + .../vala/{vala_0.36.3.bb => vala_0.36.4.bb} | 4 +- meta/recipes-extended/cups/cups_2.2.3.bb | 6 - meta/recipes-extended/cups/cups_2.2.4.bb | 6 + .../diffutils-3.5/diffutils-3.5-gcc7.patch | 228 --------------------- ...need_charset_alias-when-building-for-musl.patch | 0 .../0001-explicitly-disable-replacing-getopt.patch | 30 +++ .../{diffutils-3.5 => diffutils-3.6}/run-ptest | 0 .../{diffutils_3.5.bb => diffutils_3.6.bb} | 14 +- meta/recipes-extended/gperf/gperf_3.0.4.bb | 5 - meta/recipes-extended/gperf/gperf_3.1.bb | 5 + meta/recipes-extended/sudo/sudo.inc | 2 +- .../sudo/{sudo_1.8.19p2.bb => sudo_1.8.20p2.bb} | 4 +- .../{sysstat_11.5.6.bb => sysstat_11.5.7.bb} | 4 +- .../{epiphany_3.24.2.bb => epiphany_3.24.3.bb} | 4 +- .../{harfbuzz_1.4.6.bb => harfbuzz_1.4.7.bb} | 4 +- meta/recipes-kernel/linux/kernel-devsrc.bb | 2 +- .../mpg123/{mpg123_1.25.0.bb => mpg123_1.25.4.bb} | 4 +- .../{webkitgtk_2.16.5.bb => webkitgtk_2.16.6.bb} | 4 +- ...sh-completion_2.5.bb => bash-completion_2.7.bb} | 4 +- .../icu/{icu_58.2.bb => icu_59.1.bb} | 6 +- .../files/0001-Fix-build-with-gperf-3.1.patch | 30 +++ meta/recipes-support/libcap/libcap_2.25.bb | 3 +- scripts/lib/wic/canned-wks/common.wks.inc | 2 +- .../canned-wks/directdisk-bootloader-config.cfg | 8 +- scripts/lib/wic/canned-wks/qemux86-directdisk.wks | 2 +- scripts/runqemu | 68 +++--- 51 files changed, 357 insertions(+), 520 deletions(-) delete mode 100644 meta/classes/image-vm.bbclass rename meta/recipes-bsp/pciutils/{pciutils_3.5.4.bb => pciutils_3.5.5.bb} (92%) rename meta/recipes-core/dbus/{dbus-test_1.10.18.bb => dbus-test_1.10.20.bb} (93%) rename meta/recipes-core/dbus/{dbus_1.10.18.bb => dbus_1.10.20.bb} (97%) copy meta/recipes-core/initrdscripts/{files/init-install-efi.sh => initramfs-framework/install-efi.sh} (100%) create mode 100644 meta/recipes-core/initrdscripts/initramfs-framework/setup-live rename meta/recipes-core/udev/{eudev_3.2.1.bb => eudev_3.2.2.bb} (96%) rename meta/recipes-devtools/btrfs-tools/{btrfs-tools_4.11.bb => btrfs-tools_4.11.1.bb} (95%) rename meta/recipes-devtools/vala/{vala_0.36.3.bb => vala_0.36.4.bb} (56%) delete mode 100644 meta/recipes-extended/cups/cups_2.2.3.bb create mode 100644 meta/recipes-extended/cups/cups_2.2.4.bb delete mode 100644 meta/recipes-extended/diffutils/diffutils-3.5/diffutils-3.5-gcc7.patch rename meta/recipes-extended/diffutils/{diffutils-3.5 => diffutils-3.6}/0001-Unset-need_charset_alias-when-building-for-musl.patch (100%) create mode 100644 meta/recipes-extended/diffutils/diffutils-3.6/0001-explicitly-disable-replacing-getopt.patch rename meta/recipes-extended/diffutils/{diffutils-3.5 => diffutils-3.6}/run-ptest (100%) rename meta/recipes-extended/diffutils/{diffutils_3.5.bb => diffutils_3.6.bb} (66%) delete mode 100644 meta/recipes-extended/gperf/gperf_3.0.4.bb create mode 100644 meta/recipes-extended/gperf/gperf_3.1.bb rename meta/recipes-extended/sudo/{sudo_1.8.19p2.bb => sudo_1.8.20p2.bb} (90%) rename meta/recipes-extended/sysstat/{sysstat_11.5.6.bb => sysstat_11.5.7.bb} (53%) rename meta/recipes-gnome/epiphany/{epiphany_3.24.2.bb => epiphany_3.24.3.bb} (84%) rename meta/recipes-graphics/harfbuzz/{harfbuzz_1.4.6.bb => harfbuzz_1.4.7.bb} (88%) rename meta/recipes-multimedia/mpg123/{mpg123_1.25.0.bb => mpg123_1.25.4.bb} (94%) rename meta/recipes-sato/webkit/{webkitgtk_2.16.5.bb => webkitgtk_2.16.6.bb} (97%) rename meta/recipes-support/bash-completion/{bash-completion_2.5.bb => bash-completion_2.7.bb} (88%) rename meta/recipes-support/icu/{icu_58.2.bb => icu_59.1.bb} (78%) create mode 100644 meta/recipes-support/libcap/files/0001-Fix-build-with-gperf-3.1.patch -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 08:31:38 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 08:31:38 +0000 Subject: [oe-commits] [openembedded-core] 05/38: runqemu: chmod 0o777 for lockdir In-Reply-To: <150114429384.17605.14695844614135055993@git.openembedded.org> References: <150114429384.17605.14695844614135055993@git.openembedded.org> Message-ID: <20170727083134.62631234F38@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 4a5d21dbdc88982c2c90e660811b84983eaebeb7 Author: Robert Yang AuthorDate: Wed Apr 12 02:04:31 2017 +0000 runqemu: chmod 0o777 for lockdir Multi-users may run qemu on the same host, all of them should be able to create or remove lock in lockdir, so set lockdir's mode to 0o777. Note, os.mkdir()'s mode is default to 0o777, but the current umask value is first masked out, so use os.chmod() to set it. Signed-off-by: Robert Yang --- scripts/runqemu | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/runqemu b/scripts/runqemu index 5f2b38f..239c48f 100755 --- a/scripts/runqemu +++ b/scripts/runqemu @@ -910,6 +910,7 @@ class BaseConfig(object): # running at the same time. try: os.mkdir(lockdir) + os.chmod(lockdir, 0o777) except FileExistsError: pass -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 08:31:40 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 08:31:40 +0000 Subject: [oe-commits] [openembedded-core] 07/38: rpm: allow to enable RPM file signing In-Reply-To: <150114429384.17605.14695844614135055993@git.openembedded.org> References: <150114429384.17605.14695844614135055993@git.openembedded.org> Message-ID: <20170727083134.6FBAE234F3A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 9d7797e4374c111f0dff523fd49354bcc33dc2af Author: Lans Zhang AuthorDate: Thu Jul 27 14:03:42 2017 +0800 rpm: allow to enable RPM file signing RPM file signing is enabled with --with-imaevm during configuration. If enabled, the RPM signing tool rpmsign will call libimaevm.so provided by the recipe ima-evm-utils. Signed-off-by: Lans Zhang Signed-off-by: Jia Zhang Signed-off-by: Richard Purdie --- meta/recipes-devtools/rpm/rpm_git.bb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/meta/recipes-devtools/rpm/rpm_git.bb b/meta/recipes-devtools/rpm/rpm_git.bb index 2a0dcaf..d9ff2c7 100644 --- a/meta/recipes-devtools/rpm/rpm_git.bb +++ b/meta/recipes-devtools/rpm/rpm_git.bb @@ -71,6 +71,9 @@ EXTRA_OECONF_append_class-native = " --sysconfdir=/etc --localstatedir=/var --di BBCLASSEXTEND = "native nativesdk" +PACKAGECONFIG ??= "" +PACKAGECONFIG[imaevm] = "--with-imaevm,,ima-evm-utils" + # Direct rpm-native to read configuration from our sysroot, not the one it was compiled in # libmagic also has sysroot path contamination, so override it do_install_append_class-native() { -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 08:31:39 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 08:31:39 +0000 Subject: [oe-commits] [openembedded-core] 06/38: wic-tools: add dependency to e2fsprogs-native In-Reply-To: <150114429384.17605.14695844614135055993@git.openembedded.org> References: <150114429384.17605.14695844614135055993@git.openembedded.org> Message-ID: <20170727083134.68EBF234F39@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit d0ebcf62109d6a131e02cd4c0f04bba203ed6579 Author: Ed Bartosh AuthorDate: Thu Jul 27 09:54:04 2017 +0300 wic-tools: add dependency to e2fsprogs-native Added e2fsprogs-native to the list of dependencies for wic-tools as all fs-related utilities have to be in this list. Signed-off-by: Ed Bartosh Signed-off-by: Richard Purdie --- meta/recipes-core/meta/wic-tools.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-core/meta/wic-tools.bb b/meta/recipes-core/meta/wic-tools.bb index d908e48..428befe 100644 --- a/meta/recipes-core/meta/wic-tools.bb +++ b/meta/recipes-core/meta/wic-tools.bb @@ -5,7 +5,7 @@ LICENSE = "MIT" DEPENDS = "\ parted-native syslinux-native gptfdisk-native dosfstools-native \ mtools-native bmap-tools-native grub-efi-native cdrtools-native \ - btrfs-tools-native squashfs-tools-native pseudo-native \ + btrfs-tools-native squashfs-tools-native pseudo-native e2fsprogs-native \ " DEPENDS_append_x86 = " syslinux grub-efi systemd-boot" DEPENDS_append_x86-64 = " syslinux grub-efi systemd-boot" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 08:31:43 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 08:31:43 +0000 Subject: [oe-commits] [openembedded-core] 10/38: imagefeatures: Extend test_bmap to validate gzip In-Reply-To: <150114429384.17605.14695844614135055993@git.openembedded.org> References: <150114429384.17605.14695844614135055993@git.openembedded.org> Message-ID: <20170727083134.86792234F3D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 39745df42b8b84f6a04c042504225d684fd15bfa Author: Tom Rini AuthorDate: Wed Jul 26 22:06:11 2017 -0400 imagefeatures: Extend test_bmap to validate gzip We extend the existing test_bmap test to also produce an ext4.bmap.gz file and then have gzip confirm that it contains valid gzip data. This tests that we are able to chain at least 2 CONVERSION_CMDs together. Cc: Ed Bartosh Signed-off-by: Tom Rini Signed-off-by: Richard Purdie --- meta/lib/oeqa/selftest/cases/imagefeatures.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/meta/lib/oeqa/selftest/cases/imagefeatures.py b/meta/lib/oeqa/selftest/cases/imagefeatures.py index 91d8e9b..dac74ba 100644 --- a/meta/lib/oeqa/selftest/cases/imagefeatures.py +++ b/meta/lib/oeqa/selftest/cases/imagefeatures.py @@ -106,7 +106,7 @@ class ImageFeatures(OESelftestTestCase): Author: Ed Bartosh """ - features = 'IMAGE_FSTYPES += " ext4 ext4.bmap"' + features = 'IMAGE_FSTYPES += " ext4 ext4.bmap ext4.bmap.gz"' self.write_config(features) image_name = 'core-image-minimal' @@ -116,15 +116,21 @@ class ImageFeatures(OESelftestTestCase): link_name = get_bb_var('IMAGE_LINK_NAME', image_name) image_path = os.path.join(deploy_dir_image, "%s.ext4" % link_name) bmap_path = "%s.bmap" % image_path + gzip_path = "%s.gz" % bmap_path - # check if result image and bmap file are in deploy directory + # check if result image, bmap and bmap.gz files are in deploy directory self.assertTrue(os.path.exists(image_path)) self.assertTrue(os.path.exists(bmap_path)) + self.assertTrue(os.path.exists(gzip_path)) # check if result image is sparse image_stat = os.stat(image_path) self.assertTrue(image_stat.st_size > image_stat.st_blocks * 512) + # check if the resulting gzip is valid + self.assertTrue(runCmd('gzip -t %s' % gzip_path)) + + def test_image_fstypes(self): """ Summary: Check if image of supported image fstypes can be built -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 08:31:41 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 08:31:41 +0000 Subject: [oe-commits] [openembedded-core] 08/38: image: Convert vmdk/vdi/qcow2 to strict CONVERSION_CMD types In-Reply-To: <150114429384.17605.14695844614135055993@git.openembedded.org> References: <150114429384.17605.14695844614135055993@git.openembedded.org> Message-ID: <20170727083134.77770234F3B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 73a67f4d28d5a726b273f2236658b2a1fed67483 Author: Tom Rini AuthorDate: Wed Jul 26 22:06:09 2017 -0400 image: Convert vmdk/vdi/qcow2 to strict CONVERSION_CMD types The vmdk/vdi/qcow2 IMAGE_FSTYPEs predate wic. As such, they provide some similar underlying functionality in order to produce a "disk" image that in turn can be converted into different formats that various hypervisor types work with. They do not however provide the ability for other disk image types to be converted into these same output types. Furthermore, they are less flexible than what wic does provide. This drops the old style vmdk/vdi/qcow2 types and re-introduces them under the CONVERSION_CMD framework. The equivalent of vmdk is now wic.vmdk and so forth for the other types. Signed-off-by: Tom Rini Signed-off-by: Richard Purdie --- meta/classes/image-vm.bbclass | 171 --------------------- meta/classes/image.bbclass | 3 - meta/classes/image_types.bbclass | 12 +- .../images/build-appliance-image_15.0.0.bb | 6 +- scripts/runqemu | 4 +- 5 files changed, 12 insertions(+), 184 deletions(-) diff --git a/meta/classes/image-vm.bbclass b/meta/classes/image-vm.bbclass deleted file mode 100644 index b52df9f..0000000 --- a/meta/classes/image-vm.bbclass +++ /dev/null @@ -1,171 +0,0 @@ -# image-vm.bbclass -# (loosly based off image-live.bbclass Copyright (C) 2004, Advanced Micro Devices, Inc.) -# -# Create an image which can be placed directly onto a harddisk using dd and then -# booted. -# -# This uses syslinux. extlinux would have been nice but required the ext2/3 -# partition to be mounted. grub requires to run itself as part of the install -# process. -# -# The end result is a 512 boot sector populated with an MBR and partition table -# followed by an msdos fat16 partition containing syslinux and a linux kernel -# completed by the ext2/3 rootfs. -# -# We have to push the msdos parition table size > 16MB so fat 16 is used as parted -# won't touch fat12 partitions. - -inherit live-vm-common - -do_bootdirectdisk[depends] += "dosfstools-native:do_populate_sysroot \ - virtual/kernel:do_deploy \ - syslinux:do_populate_sysroot \ - syslinux-native:do_populate_sysroot \ - parted-native:do_populate_sysroot \ - mtools-native:do_populate_sysroot \ - ${PN}:do_image_${VM_ROOTFS_TYPE} \ - " - -IMAGE_TYPEDEP_vmdk = "${VM_ROOTFS_TYPE}" -IMAGE_TYPEDEP_vdi = "${VM_ROOTFS_TYPE}" -IMAGE_TYPEDEP_qcow2 = "${VM_ROOTFS_TYPE}" -IMAGE_TYPEDEP_hdddirect = "${VM_ROOTFS_TYPE}" -IMAGE_TYPES_MASKED += "vmdk vdi qcow2 hdddirect" - -VM_ROOTFS_TYPE ?= "ext4" -ROOTFS ?= "${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.${VM_ROOTFS_TYPE}" - -# Used by bootloader -LABELS_VM ?= "boot" -ROOT_VM ?= "root=/dev/sda2" -# Using an initramfs is optional. Enable it by setting INITRD_IMAGE_VM. -INITRD_IMAGE_VM ?= "" -INITRD_VM ?= "${@'${IMGDEPLOYDIR}/${INITRD_IMAGE_VM}-${MACHINE}.cpio.gz' if '${INITRD_IMAGE_VM}' else ''}" -do_bootdirectdisk[depends] += "${@'${INITRD_IMAGE_VM}:do_image_complete' if '${INITRD_IMAGE_VM}' else ''}" - -BOOTDD_VOLUME_ID ?= "boot" -BOOTDD_EXTRA_SPACE ?= "16384" - -DISK_SIGNATURE ?= "${DISK_SIGNATURE_GENERATED}" -DISK_SIGNATURE[vardepsexclude] = "DISK_SIGNATURE_GENERATED" - -build_boot_dd() { - HDDDIR="${S}/hdd/boot" - HDDIMG="${S}/hdd.image" - IMAGE=${IMGDEPLOYDIR}/${IMAGE_NAME}.hdddirect - - populate_kernel $HDDDIR - - if [ "${PCBIOS}" = "1" ]; then - syslinux_hddimg_populate $HDDDIR - fi - if [ "${EFI}" = "1" ]; then - efi_hddimg_populate $HDDDIR - fi - - BLOCKS=`du -bks $HDDDIR | cut -f 1` - BLOCKS=`expr $BLOCKS + ${BOOTDD_EXTRA_SPACE}` - - # Remove it since mkdosfs would fail when it exists - rm -f $HDDIMG - mkdosfs -n ${BOOTDD_VOLUME_ID} ${MKDOSFS_EXTRAOPTS} -C $HDDIMG $BLOCKS - mcopy -i $HDDIMG -s $HDDDIR/* ::/ - - if [ "${PCBIOS}" = "1" ]; then - syslinux_hdddirect_install $HDDIMG - fi - chmod 644 $HDDIMG - - ROOTFSBLOCKS=`du -Lbks ${ROOTFS} | cut -f 1` - TOTALSIZE=`expr $BLOCKS + $ROOTFSBLOCKS` - END1=`expr $BLOCKS \* 1024` - END2=`expr $END1 + 512` - END3=`expr \( $ROOTFSBLOCKS \* 1024 \) + $END1` - - echo $ROOTFSBLOCKS $TOTALSIZE $END1 $END2 $END3 - rm -rf $IMAGE - dd if=/dev/zero of=$IMAGE bs=1024 seek=$TOTALSIZE count=1 - - parted $IMAGE mklabel msdos - parted $IMAGE mkpart primary fat16 0 ${END1}B - parted $IMAGE unit B mkpart primary ext2 ${END2}B ${END3}B - parted $IMAGE set 1 boot on - - parted $IMAGE print - - awk "BEGIN { printf \"$(echo ${DISK_SIGNATURE} | sed 's/\(..\)\(..\)\(..\)\(..\)/\\x\4\\x\3\\x\2\\x\1/')\" }" | \ - dd of=$IMAGE bs=1 seek=440 conv=notrunc - - OFFSET=`expr $END2 / 512` - if [ "${PCBIOS}" = "1" ]; then - dd if=${STAGING_DATADIR}/syslinux/mbr.bin of=$IMAGE conv=notrunc - fi - - dd if=$HDDIMG of=$IMAGE conv=notrunc seek=1 bs=512 - dd if=${ROOTFS} of=$IMAGE conv=notrunc seek=$OFFSET bs=512 - - cd ${IMGDEPLOYDIR} - - ln -sf ${IMAGE_NAME}.hdddirect ${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.hdddirect -} - -python do_bootdirectdisk() { - validate_disk_signature(d) - set_live_vm_vars(d, 'VM') - if d.getVar("PCBIOS") == "1": - bb.build.exec_func('build_syslinux_cfg', d) - if d.getVar("EFI") == "1": - bb.build.exec_func('build_efi_cfg', d) - bb.build.exec_func('build_boot_dd', d) -} - -def generate_disk_signature(): - import uuid - - signature = str(uuid.uuid4())[:8] - - if signature != '00000000': - return signature - else: - return 'ffffffff' - -def validate_disk_signature(d): - import re - - disk_signature = d.getVar("DISK_SIGNATURE") - - if not re.match(r'^[0-9a-fA-F]{8}$', disk_signature): - bb.fatal("DISK_SIGNATURE '%s' must be an 8 digit hex string" % disk_signature) - -DISK_SIGNATURE_GENERATED := "${@generate_disk_signature()}" - -run_qemu_img (){ - type="$1" - qemu-img convert -O $type ${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.hdddirect ${IMGDEPLOYDIR}/${IMAGE_NAME}.$type - - ln -sf ${IMAGE_NAME}.$type ${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.$type -} -create_vmdk_image () { - run_qemu_img vmdk -} - -create_vdi_image () { - run_qemu_img vdi -} - -create_qcow2_image () { - run_qemu_img qcow2 -} - -python do_vmimg() { - if 'vmdk' in d.getVar('IMAGE_FSTYPES'): - bb.build.exec_func('create_vmdk_image', d) - if 'vdi' in d.getVar('IMAGE_FSTYPES'): - bb.build.exec_func('create_vdi_image', d) - if 'qcow2' in d.getVar('IMAGE_FSTYPES'): - bb.build.exec_func('create_qcow2_image', d) -} - -addtask bootdirectdisk before do_vmimg -addtask vmimg after do_bootdirectdisk before do_image_complete -do_vmimg[depends] += "qemu-native:do_populate_sysroot" diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass index dee17ae..40bd614 100644 --- a/meta/classes/image.bbclass +++ b/meta/classes/image.bbclass @@ -138,9 +138,6 @@ def build_live(d): IMAGE_TYPE_live = "${@build_live(d)}" inherit ${IMAGE_TYPE_live} -IMAGE_TYPE_vm = '${@bb.utils.contains_any("IMAGE_FSTYPES", ["vmdk", "vdi", "qcow2", "hdddirect"], "image-vm", "", d)}' -inherit ${IMAGE_TYPE_vm} - IMAGE_TYPE_container = '${@bb.utils.contains("IMAGE_FSTYPES", "container", "image-container", "", d)}' inherit ${IMAGE_TYPE_container} diff --git a/meta/classes/image_types.bbclass b/meta/classes/image_types.bbclass index cf946a6..89d68c6 100644 --- a/meta/classes/image_types.bbclass +++ b/meta/classes/image_types.bbclass @@ -254,10 +254,6 @@ IMAGE_TYPES = " \ ubi ubifs multiubi \ tar tar.gz tar.bz2 tar.xz tar.lz4 \ cpio cpio.gz cpio.xz cpio.lzma cpio.lz4 \ - vmdk \ - vdi \ - qcow2 \ - hdddirect \ elf \ wic wic.gz wic.bz2 wic.lzma \ container \ @@ -269,7 +265,7 @@ IMAGE_TYPES = " \ # CONVERSION_CMD/DEPENDS. COMPRESSIONTYPES ?= "" -CONVERSIONTYPES = "gz bz2 lzma xz lz4 lzo zip sum md5sum sha1sum sha224sum sha256sum sha384sum sha512sum bmap u-boot ${COMPRESSIONTYPES}" +CONVERSIONTYPES = "gz bz2 lzma xz lz4 lzo zip sum md5sum sha1sum sha224sum sha256sum sha384sum sha512sum bmap u-boot vmdk vdi qcow2 ${COMPRESSIONTYPES}" CONVERSION_CMD_lzma = "lzma -k -f -7 ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}" CONVERSION_CMD_gz = "gzip -f -9 -c ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} > ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.gz" CONVERSION_CMD_bz2 = "pbzip2 -f -k ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}" @@ -287,6 +283,9 @@ CONVERSION_CMD_sha384sum = "sha384sum ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} CONVERSION_CMD_sha512sum = "sha512sum ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} > ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.sha512sum" CONVERSION_CMD_bmap = "bmaptool create ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} -o ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.bmap" CONVERSION_CMD_u-boot = "mkimage -A ${UBOOT_ARCH} -O linux -T ramdisk -C none -n ${IMAGE_NAME} -d ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.u-boot" +CONVERSION_CMD_vmdk = "qemu-img convert -O vmdk ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.vmdk" +CONVERSION_CMD_vdi = "qemu-img convert -O vdi ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.vdi" +CONVERSION_CMD_qcow2 = "qemu-img convert -O qcow2 ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.qcow2" CONVERSION_DEPENDS_lzma = "xz-native" CONVERSION_DEPENDS_gz = "pigz-native" CONVERSION_DEPENDS_bz2 = "pbzip2-native" @@ -297,6 +296,9 @@ CONVERSION_DEPENDS_zip = "zip-native" CONVERSION_DEPENDS_sum = "mtd-utils-native" CONVERSION_DEPENDS_bmap = "bmap-tools-native" CONVERSION_DEPENDS_u-boot = "u-boot-mkimage-native" +CONVERSION_DEPENDS_vmdk = "qemu-native" +CONVERSION_DEPENDS_vdi = "qemu-native" +CONVERSION_DEPENDS_qcow2 = "qemu-native" RUNNABLE_IMAGE_TYPES ?= "ext2 ext3 ext4" RUNNABLE_MACHINE_PATTERNS ?= "qemu" diff --git a/meta/recipes-core/images/build-appliance-image_15.0.0.bb b/meta/recipes-core/images/build-appliance-image_15.0.0.bb index f145b5e..927a931 100644 --- a/meta/recipes-core/images/build-appliance-image_15.0.0.bb +++ b/meta/recipes-core/images/build-appliance-image_15.0.0.bb @@ -19,7 +19,7 @@ IMAGE_ROOTFS_EXTRA_SPACE = "41943040" APPEND += "rootfstype=ext4 quiet" DEPENDS = "zip-native python3-pip-native" -IMAGE_FSTYPES = "vmdk" +IMAGE_FSTYPES = "wic.vmdk" inherit core-image module-base setuptools3 @@ -120,7 +120,7 @@ create_bundle_files () { cd ${WORKDIR} mkdir -p Yocto_Build_Appliance cp *.vmx* Yocto_Build_Appliance - ln -sf ${IMGDEPLOYDIR}/${IMAGE_NAME}.vmdk Yocto_Build_Appliance/Yocto_Build_Appliance.vmdk + ln -sf ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.wic.vmdk Yocto_Build_Appliance/Yocto_Build_Appliance.vmdk zip -r ${IMGDEPLOYDIR}/Yocto_Build_Appliance-${DATETIME}.zip Yocto_Build_Appliance ln -sf Yocto_Build_Appliance-${DATETIME}.zip ${IMGDEPLOYDIR}/Yocto_Build_Appliance.zip } @@ -130,4 +130,4 @@ python do_bundle_files() { bb.build.exec_func('create_bundle_files', d) } -addtask bundle_files after do_vmimg before do_image_complete +addtask bundle_files after do_image_wic before do_image_complete diff --git a/scripts/runqemu b/scripts/runqemu index 239c48f..109df6c 100755 --- a/scripts/runqemu +++ b/scripts/runqemu @@ -96,11 +96,11 @@ Examples: runqemu qemux86-64 core-image-sato ext4 runqemu qemux86-64 wic-image-minimal wic runqemu path/to/bzImage-qemux86.bin path/to/nfsrootdir/ serial - runqemu qemux86 iso/hddimg/vmdk/qcow2/vdi/ramfs/cpio.gz... + runqemu qemux86 iso/hddimg/wic.vmdk/wic.qcow2/wic.vdi/ramfs/cpio.gz... runqemu qemux86 qemuparams="-m 256" runqemu qemux86 bootparams="psplash=false" - runqemu path/to/-.vmdk runqemu path/to/-.wic + runqemu path/to/-.wic.vmdk """) def check_tun(): -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 08:31:44 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 08:31:44 +0000 Subject: [oe-commits] [openembedded-core] 11/38: imagefeatures: Add a test for many CONVERSION_CMDs being chained In-Reply-To: <150114429384.17605.14695844614135055993@git.openembedded.org> References: <150114429384.17605.14695844614135055993@git.openembedded.org> Message-ID: <20170727083134.8E9C6234F3E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit a6bd9ef7fb01c436301fc30103734fa8b48cae75 Author: Tom Rini AuthorDate: Wed Jul 26 22:06:12 2017 -0400 imagefeatures: Add a test for many CONVERSION_CMDs being chained Add a new test to create a long (and not otherwise useful) image, ext4.bmap.gz.bz2.lzo.xz.u-boot and also the sha256sum of it. Check that the resulting sha256sum is valid. Cc: Ed Bartosh Signed-off-by: Tom Rini Signed-off-by: Richard Purdie --- meta/lib/oeqa/selftest/cases/imagefeatures.py | 30 +++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/meta/lib/oeqa/selftest/cases/imagefeatures.py b/meta/lib/oeqa/selftest/cases/imagefeatures.py index dac74ba..2c59ef6 100644 --- a/meta/lib/oeqa/selftest/cases/imagefeatures.py +++ b/meta/lib/oeqa/selftest/cases/imagefeatures.py @@ -130,6 +130,36 @@ class ImageFeatures(OESelftestTestCase): # check if the resulting gzip is valid self.assertTrue(runCmd('gzip -t %s' % gzip_path)) + def test_long_chain_conversion(self): + """ + Summary: Check for chaining many CONVERSION_CMDs together + Expected: 1. core-image-minimal can be built with + ext4.bmap.gz.bz2.lzo.xz.u-boot and also create a + sha256sum + 2. The above image has a valid sha256sum + Product: oe-core + Author: Tom Rini + """ + + conv = "ext4.bmap.gz.bz2.lzo.xz.u-boot" + features = 'IMAGE_FSTYPES += "%s %s.sha256sum"' % (conv, conv) + self.write_config(features) + + image_name = 'core-image-minimal' + bitbake(image_name) + + deploy_dir_image = get_bb_var('DEPLOY_DIR_IMAGE') + link_name = get_bb_var('IMAGE_LINK_NAME', image_name) + image_path = os.path.join(deploy_dir_image, "%s.%s" % + (link_name, conv)) + + # check if resulting image is in the deploy directory + self.assertTrue(os.path.exists(image_path)) + self.assertTrue(os.path.exists(image_path + ".sha256sum")) + + # check if the resulting sha256sum agrees + self.assertTrue(runCmd('cd %s;sha256sum -c %s.%s.sha256sum' % + (deploy_dir_image, link_name, conv))) def test_image_fstypes(self): """ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 08:31:47 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 08:31:47 +0000 Subject: [oe-commits] [openembedded-core] 14/38: image_types_wic: add dependency to e2fsprogs-native In-Reply-To: <150114429384.17605.14695844614135055993@git.openembedded.org> References: <150114429384.17605.14695844614135055993@git.openembedded.org> Message-ID: <20170727083134.A2361234F41@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 40289fcb64168487a9baab3ff226523c4a4815bf Author: Ed Bartosh AuthorDate: Wed Jul 26 19:21:30 2017 +0300 image_types_wic: add dependency to e2fsprogs-native Added e2fsprogs-native to the list of default dependencies for wic (WKS_FILE_DEPENDS_DEFAULT) as all fs-related utilities have to be in this list. Thanks to Patrick Ohly for noticing this. [YOCTO #11817] Signed-off-by: Ed Bartosh Signed-off-by: Richard Purdie --- meta/classes/image_types_wic.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/classes/image_types_wic.bbclass b/meta/classes/image_types_wic.bbclass index 57ba646..b825b47 100644 --- a/meta/classes/image_types_wic.bbclass +++ b/meta/classes/image_types_wic.bbclass @@ -41,7 +41,7 @@ WKS_FILE_CHECKSUM = "${@'${WKS_FULL_PATH}:%s' % os.path.exists('${WKS_FULL_PATH} do_image_wic[file-checksums] += "${WKS_FILE_CHECKSUM}" do_image_wic[depends] += "${@' '.join('%s-native:do_populate_sysroot' % r for r in ('parted', 'gptfdisk', 'dosfstools', 'mtools'))}" -WKS_FILE_DEPENDS_DEFAULT = "syslinux-native bmap-tools-native cdrtools-native btrfs-tools-native squashfs-tools-native" +WKS_FILE_DEPENDS_DEFAULT = "syslinux-native bmap-tools-native cdrtools-native btrfs-tools-native squashfs-tools-native e2fsprogs-native" WKS_FILE_DEPENDS_BOOTLOADERS = "" WKS_FILE_DEPENDS_BOOTLOADERS_x86 = "syslinux grub-efi systemd-boot" WKS_FILE_DEPENDS_BOOTLOADERS_x86-64 = "syslinux grub-efi systemd-boot" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 08:31:46 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 08:31:46 +0000 Subject: [oe-commits] [openembedded-core] 13/38: oe-selftest: wic: change mkfs.btrfs options In-Reply-To: <150114429384.17605.14695844614135055993@git.openembedded.org> References: <150114429384.17605.14695844614135055993@git.openembedded.org> Message-ID: <20170727083134.9B649234F40@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 663289218b74e15b2fa4a59bdaa3b521fd16ea1e Author: Ed Bartosh AuthorDate: Wed Jul 26 19:22:29 2017 +0300 oe-selftest: wic: change mkfs.btrfs options test_mkfs_extraopts test case fails on ab with error caused by using -K --mixed options: output: extent-tree.c:2696: btrfs_reserve_extent: BUG_ON `ret` triggered, value -28 For this test case it's not important to use particular options, so changing options to anything less influential is OK. Changed extra options for mkfs.btrfs to '--quiet' to fix the failure. Signed-off-by: Ed Bartosh Signed-off-by: Richard Purdie --- meta/lib/oeqa/selftest/cases/wic.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/lib/oeqa/selftest/cases/wic.py b/meta/lib/oeqa/selftest/cases/wic.py index df205e8..7c2c877 100644 --- a/meta/lib/oeqa/selftest/cases/wic.py +++ b/meta/lib/oeqa/selftest/cases/wic.py @@ -926,7 +926,7 @@ part /etc --source rootfs --ondisk mmcblk0 --fstype=ext4 --exclude-path bin/ --r with NamedTemporaryFile("w", suffix=".wks") as wks: wks.writelines( ['part ext2 --fstype ext2 --source rootfs --mkfs-extraopts "-D -F -i 8192"\n', - 'part btrfs --fstype btrfs --source rootfs --size 40M --mkfs-extraopts "--mixed -K"\n', + "part btrfs --fstype btrfs --source rootfs --size 40M --mkfs-extraopts='--quiet'\n", 'part squash --fstype squashfs --source rootfs --mkfs-extraopts "-no-sparse -b 4096"\n', 'part emptyvfat --fstype vfat --size 1M --mkfs-extraopts "-S 1024 -s 64"\n', 'part emptymsdos --fstype msdos --size 1M --mkfs-extraopts "-S 1024 -s 64"\n', -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 08:31:42 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 08:31:42 +0000 Subject: [oe-commits] [openembedded-core] 09/38: wic: Switch to using --use-uuid by default In-Reply-To: <150114429384.17605.14695844614135055993@git.openembedded.org> References: <150114429384.17605.14695844614135055993@git.openembedded.org> Message-ID: <20170727083134.7E9D7234F3C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit fb14e2348040bbfbbe49ed652f70013959185551 Author: Tom Rini AuthorDate: Wed Jul 26 22:06:10 2017 -0400 wic: Switch to using --use-uuid by default The most portable way to specifiy a root device in a disk image that we create is to use PARTUUID rather than /dev/sda2. As background, both GPT and MBR tables provide valid UUID values for each partition and the Linux Kernel contains the logic to parse this value. With this change we can now boot the default disk images when used as any valid block device that the included kernel uses. This for example means that VirtualBox can be used to run vmdk without changes as it uses IDE for the virtual disk controller. Cc: Matt Porter Signed-off-by: Tom Rini Signed-off-by: Richard Purdie --- scripts/lib/wic/canned-wks/common.wks.inc | 2 +- scripts/lib/wic/canned-wks/directdisk-bootloader-config.cfg | 8 ++++---- scripts/lib/wic/canned-wks/qemux86-directdisk.wks | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/scripts/lib/wic/canned-wks/common.wks.inc b/scripts/lib/wic/canned-wks/common.wks.inc index 5cf2fd1..89880b4 100644 --- a/scripts/lib/wic/canned-wks/common.wks.inc +++ b/scripts/lib/wic/canned-wks/common.wks.inc @@ -1,3 +1,3 @@ # This file is included into 3 canned wks files from this directory part /boot --source bootimg-pcbios --ondisk sda --label boot --active --align 1024 -part / --source rootfs --ondisk sda --fstype=ext4 --label platform --align 1024 +part / --source rootfs --use-uuid --fstype=ext4 --label platform --align 1024 diff --git a/scripts/lib/wic/canned-wks/directdisk-bootloader-config.cfg b/scripts/lib/wic/canned-wks/directdisk-bootloader-config.cfg index d5a07d2..c58e74a 100644 --- a/scripts/lib/wic/canned-wks/directdisk-bootloader-config.cfg +++ b/scripts/lib/wic/canned-wks/directdisk-bootloader-config.cfg @@ -12,16 +12,16 @@ DEFAULT Graphics console boot LABEL Graphics console boot KERNEL /vmlinuz -APPEND label=boot root=/dev/sda2 rootwait +APPEND label=boot rootwait LABEL Serial console boot KERNEL /vmlinuz -APPEND label=boot root=/dev/sda2 rootwait console=ttyS0,115200 +APPEND label=boot rootwait console=ttyS0,115200 LABEL Graphics console install KERNEL /vmlinuz -APPEND label=install root=/dev/sda2 rootwait +APPEND label=install rootwait LABEL Serial console install KERNEL /vmlinuz -APPEND label=install root=/dev/sda2 rootwait console=ttyS0,115200 +APPEND label=install rootwait console=ttyS0,115200 diff --git a/scripts/lib/wic/canned-wks/qemux86-directdisk.wks b/scripts/lib/wic/canned-wks/qemux86-directdisk.wks index db30bbc..1f8466a 100644 --- a/scripts/lib/wic/canned-wks/qemux86-directdisk.wks +++ b/scripts/lib/wic/canned-wks/qemux86-directdisk.wks @@ -4,5 +4,5 @@ include common.wks.inc -bootloader --timeout=0 --append="vga=0 uvesafb.mode_option=640x480-32 root=/dev/sda2 rw mem=256M ip=192.168.7.2::192.168.7.1:255.255.255.0 oprofile.timer=1 rootfstype=ext4 " +bootloader --timeout=0 --append="vga=0 uvesafb.mode_option=640x480-32 rw mem=256M ip=192.168.7.2::192.168.7.1:255.255.255.0 oprofile.timer=1 rootfstype=ext4 " -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 08:31:45 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 08:31:45 +0000 Subject: [oe-commits] [openembedded-core] 12/38: imagefeatures: Add a test for various hypervisor formats In-Reply-To: <150114429384.17605.14695844614135055993@git.openembedded.org> References: <150114429384.17605.14695844614135055993@git.openembedded.org> Message-ID: <20170727083134.94D5A234F3F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 8f28076849914902b151e7248d8eef2ef92f03fc Author: Tom Rini AuthorDate: Wed Jul 26 22:06:13 2017 -0400 imagefeatures: Add a test for various hypervisor formats We add a new test that will create core-image-minimal for wic.vmdk, wic.vdi and wic.qcow2. We then confirm via qemu-img that the resulting file is of the expected type. Cc: Ed Bartosh Signed-off-by: Tom Rini Signed-off-by: Richard Purdie --- meta/lib/oeqa/selftest/cases/imagefeatures.py | 35 +++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/meta/lib/oeqa/selftest/cases/imagefeatures.py b/meta/lib/oeqa/selftest/cases/imagefeatures.py index 2c59ef6..bb2e0db 100644 --- a/meta/lib/oeqa/selftest/cases/imagefeatures.py +++ b/meta/lib/oeqa/selftest/cases/imagefeatures.py @@ -3,6 +3,7 @@ from oeqa.utils.commands import runCmd, bitbake, get_bb_var, runqemu from oeqa.core.decorator.oeid import OETestID from oeqa.utils.sshcontrol import SSHControl import os +import json class ImageFeatures(OESelftestTestCase): @@ -130,6 +131,40 @@ class ImageFeatures(OESelftestTestCase): # check if the resulting gzip is valid self.assertTrue(runCmd('gzip -t %s' % gzip_path)) + def test_hypervisor_fmts(self): + """ + Summary: Check various hypervisor formats + Expected: 1. core-image-minimal can be built with vmdk, vdi and + qcow2 support. + 2. qemu-img says each image has the expected format + Product: oe-core + Author: Tom Rini + """ + + img_types = [ 'vmdk', 'vdi', 'qcow2' ] + features = "" + for itype in img_types: + features += 'IMAGE_FSTYPES += "wic.%s"\n' % itype + self.write_config(features) + + image_name = 'core-image-minimal' + bitbake(image_name) + + deploy_dir_image = get_bb_var('DEPLOY_DIR_IMAGE') + link_name = get_bb_var('IMAGE_LINK_NAME', image_name) + for itype in img_types: + image_path = os.path.join(deploy_dir_image, "%s.wic.%s" % + (link_name, itype)) + + # check if result image file is in deploy directory + self.assertTrue(os.path.exists(image_path)) + + # check if result image is vmdk + sysroot = get_bb_var('STAGING_DIR_NATIVE', 'core-image-minimal') + result = runCmd('qemu-img info --output json %s' % image_path, + native_sysroot=sysroot) + self.assertTrue(json.loads(result.output).get('format') == itype) + def test_long_chain_conversion(self): """ Summary: Check for chaining many CONVERSION_CMDs together -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 08:31:51 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 08:31:51 +0000 Subject: [oe-commits] [openembedded-core] 18/38: eudev: update to 3.2.2 In-Reply-To: <150114429384.17605.14695844614135055993@git.openembedded.org> References: <150114429384.17605.14695844614135055993@git.openembedded.org> Message-ID: <20170727083134.C1BD4234F45@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 22584ef5c23d86ebd53a3682376fe0d920baf8b9 Author: Alexander Kanavin AuthorDate: Wed Jul 26 13:41:02 2017 +0300 eudev: update to 3.2.2 Signed-off-by: Alexander Kanavin Signed-off-by: Richard Purdie --- meta/recipes-core/udev/{eudev_3.2.1.bb => eudev_3.2.2.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-core/udev/eudev_3.2.1.bb b/meta/recipes-core/udev/eudev_3.2.2.bb similarity index 96% rename from meta/recipes-core/udev/eudev_3.2.1.bb rename to meta/recipes-core/udev/eudev_3.2.2.bb index bdfb544..78fef2c 100644 --- a/meta/recipes-core/udev/eudev_3.2.1.bb +++ b/meta/recipes-core/udev/eudev_3.2.2.bb @@ -23,8 +23,8 @@ SRC_URI = "https://github.com/gentoo/${BPN}/archive/v${PV}.tar.gz;downloadfilena " UPSTREAM_CHECK_URI = "https://github.com/gentoo/eudev/releases" -SRC_URI[md5sum] = "a2aae16bc432eac0e71c1267c384e295" -SRC_URI[sha256sum] = "88f530c1540750e6daa91b5eaeebf88e761e6f0c86515c1c28eedfd871f027c6" +SRC_URI[md5sum] = "1a0faad3a88ade3475e8c0ddef78e30b" +SRC_URI[sha256sum] = "80628191448886846ab9cc0e2af6782358a0afb81d5b4f8cd9d982d2626cca31" inherit autotools update-rc.d qemu pkgconfig -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 08:31:49 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 08:31:49 +0000 Subject: [oe-commits] [openembedded-core] 16/38: harfbuzz: upgrade to 1.4.7 In-Reply-To: <150114429384.17605.14695844614135055993@git.openembedded.org> References: <150114429384.17605.14695844614135055993@git.openembedded.org> Message-ID: <20170727083134.B3E12234F43@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 18e0b19c42cc538ba32855e880532d46c9fad6f5 Author: Maxin B. John AuthorDate: Wed Jul 26 16:47:27 2017 +0300 harfbuzz: upgrade to 1.4.7 1.4.6 -> 1.4.7 Signed-off-by: Maxin B. John Signed-off-by: Richard Purdie --- .../harfbuzz/{harfbuzz_1.4.6.bb => harfbuzz_1.4.7.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-graphics/harfbuzz/harfbuzz_1.4.6.bb b/meta/recipes-graphics/harfbuzz/harfbuzz_1.4.7.bb similarity index 88% rename from meta/recipes-graphics/harfbuzz/harfbuzz_1.4.6.bb rename to meta/recipes-graphics/harfbuzz/harfbuzz_1.4.7.bb index 0d73465..be1dd64 100644 --- a/meta/recipes-graphics/harfbuzz/harfbuzz_1.4.6.bb +++ b/meta/recipes-graphics/harfbuzz/harfbuzz_1.4.7.bb @@ -12,8 +12,8 @@ DEPENDS = "glib-2.0 cairo fontconfig freetype" SRC_URI = "http://www.freedesktop.org/software/harfbuzz/release/${BP}.tar.bz2" -SRC_URI[md5sum] = "e246c08a3bac98e31e731b2a1bf97edf" -SRC_URI[sha256sum] = "21a78b81cd20cbffdb04b59ac7edfb410e42141869f637ae1d6778e74928d293" +SRC_URI[md5sum] = "37096205bc43e2977de0f1cf2706940a" +SRC_URI[sha256sum] = "b85f6627425d54f32118308e053b939c63a388de9bf455b3830f68cad406bc6d" inherit autotools pkgconfig lib_package gtk-doc -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 08:31:55 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 08:31:55 +0000 Subject: [oe-commits] [openembedded-core] 22/38: mirrors.bbclass: provide git repo fallbacks using the https protocol In-Reply-To: <150114429384.17605.14695844614135055993@git.openembedded.org> References: <150114429384.17605.14695844614135055993@git.openembedded.org> Message-ID: <20170727083134.DE3FC234F49@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit c62ba0647675f64f67150f3496e28db3b6c6a430 Author: Andre McCurdy AuthorDate: Tue Jul 25 17:18:36 2017 -0700 mirrors.bbclass: provide git repo fallbacks using the https protocol Use MIRRORS to provide git repo fallbacks using the https protocol, for cases where git native protocol fetches may fail due to local firewall rules, etc. These rules should cover all git native repos used by recipes within oe-core, with the exception of mtd-utils, for which there's currently no upstream alternative to the git native protocol for anonymous access ( see http://git.infradead.org/mtd-utils.git ). Signed-off-by: Andre McCurdy Signed-off-by: Richard Purdie --- meta/classes/mirrors.bbclass | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/meta/classes/mirrors.bbclass b/meta/classes/mirrors.bbclass index 9b72473..b98684f 100644 --- a/meta/classes/mirrors.bbclass +++ b/meta/classes/mirrors.bbclass @@ -62,3 +62,14 @@ npm://.*/.* http://sources.openembedded.org/ \n \ ${CPAN_MIRROR} http://cpan.metacpan.org/ \n \ ${CPAN_MIRROR} http://search.cpan.org/CPAN/ \n \ " + +# Use MIRRORS to provide git repo fallbacks using the https protocol, for cases +# where git native protocol fetches may fail due to local firewall rules, etc. + +MIRRORS += "\ +git://anonscm.debian.org/.* git://anonscm.debian.org/git/PATH;protocol=https \n \ +git://git.gnome.org/.* git://git.gnome.org/browse/PATH;protocol=https \n \ +git://git.savannah.gnu.org/.* git://git.savannah.gnu.org/git/PATH;protocol=https \n \ +git://git.yoctoproject.org/.* git://git.yoctoproject.org/git/PATH;protocol=https \n \ +git://.*/.* git://HOST/PATH;protocol=https \n \ +" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 08:31:53 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 08:31:53 +0000 Subject: [oe-commits] [openembedded-core] 20/38: kernel-devsrc: Remove .kernel-meta from package In-Reply-To: <150114429384.17605.14695844614135055993@git.openembedded.org> References: <150114429384.17605.14695844614135055993@git.openembedded.org> Message-ID: <20170727083134.CFB32234F47@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 224955c7eaf97fd413e674a1092196fb777d8b48 Author: sweeaun AuthorDate: Tue Jul 25 17:25:00 2017 -0700 kernel-devsrc: Remove .kernel-meta from package [YOCTO #11730] Include .kernel-meta directory in the prune list of the find to prevent .kernel-meta directory included into installable package. Signed-off-by: sweeaun Signed-off-by: Richard Purdie --- meta/recipes-kernel/linux/kernel-devsrc.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-kernel/linux/kernel-devsrc.bb b/meta/recipes-kernel/linux/kernel-devsrc.bb index 7004261..c1b5b77 100644 --- a/meta/recipes-kernel/linux/kernel-devsrc.bb +++ b/meta/recipes-kernel/linux/kernel-devsrc.bb @@ -46,7 +46,7 @@ do_install() { cd ${B} find . -type d -name '.git*' -prune -o -path '.debug' -prune -o -type f -print0 | cpio --null -pdlu $kerneldir cd ${S} - find . -type d -name '.git*' -prune -o -type f -print0 | cpio --null -pdlu $kerneldir + find . -type d -name '.git*' -prune -o -type d -name '.kernel-meta' -prune -o -type f -print0 | cpio --null -pdlu $kerneldir # Explicitly set KBUILD_OUTPUT to ensure that the image directory is cleaned and not # The main build artifacts. We clean the directory to avoid QA errors on mismatched -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 08:31:50 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 08:31:50 +0000 Subject: [oe-commits] [openembedded-core] 17/38: gperf: upgrade to 3.1 In-Reply-To: <150114429384.17605.14695844614135055993@git.openembedded.org> References: <150114429384.17605.14695844614135055993@git.openembedded.org> Message-ID: <20170727083134.BB439234F44@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 9e9a383713e79bc8df122e24dd19c11ba459e201 Author: Alexander Kanavin AuthorDate: Wed Jul 26 13:41:01 2017 +0300 gperf: upgrade to 3.1 Signed-off-by: Alexander Kanavin Signed-off-by: Richard Purdie --- meta/recipes-extended/gperf/gperf_3.0.4.bb | 5 ----- meta/recipes-extended/gperf/gperf_3.1.bb | 5 +++++ 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/meta/recipes-extended/gperf/gperf_3.0.4.bb b/meta/recipes-extended/gperf/gperf_3.0.4.bb deleted file mode 100644 index 64003fc..0000000 --- a/meta/recipes-extended/gperf/gperf_3.0.4.bb +++ /dev/null @@ -1,5 +0,0 @@ -require gperf.inc - - -SRC_URI[md5sum] = "c1f1db32fb6598d6a93e6e88796a8632" -SRC_URI[sha256sum] = "767112a204407e62dbc3106647cf839ed544f3cf5d0f0523aaa2508623aad63e" diff --git a/meta/recipes-extended/gperf/gperf_3.1.bb b/meta/recipes-extended/gperf/gperf_3.1.bb new file mode 100644 index 0000000..942820b --- /dev/null +++ b/meta/recipes-extended/gperf/gperf_3.1.bb @@ -0,0 +1,5 @@ +require gperf.inc + + +SRC_URI[md5sum] = "9e251c0a618ad0824b51117d5d9db87e" +SRC_URI[sha256sum] = "588546b945bba4b70b6a3a616e80b4ab466e3f33024a352fc2198112cdbb3ae2" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 08:31:57 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 08:31:57 +0000 Subject: [oe-commits] [openembedded-core] 24/38: btrfs-tools: upgrade to 4.11.1 In-Reply-To: <150114429384.17605.14695844614135055993@git.openembedded.org> References: <150114429384.17605.14695844614135055993@git.openembedded.org> Message-ID: <20170727083134.ED320234F4B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 09a86eff65eeb25f15332cb3978827bf26f20170 Author: Alexander Kanavin AuthorDate: Mon Jul 24 17:28:09 2017 +0300 btrfs-tools: upgrade to 4.11.1 Signed-off-by: Alexander Kanavin Signed-off-by: Richard Purdie --- .../btrfs-tools/{btrfs-tools_4.11.bb => btrfs-tools_4.11.1.bb} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.11.bb b/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.11.1.bb similarity index 95% rename from meta/recipes-devtools/btrfs-tools/btrfs-tools_4.11.bb rename to meta/recipes-devtools/btrfs-tools/btrfs-tools_4.11.1.bb index 6ccb44a..a7b42e9 100644 --- a/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.11.bb +++ b/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.11.1.bb @@ -14,7 +14,7 @@ DEPENDS = "util-linux attr e2fsprogs lzo acl" DEPENDS_append_class-target = " udev" RDEPENDS_${PN} = "libgcc" -SRCREV = "981f2d8fdc37741098bb977921c6e3f1ea88365b" +SRCREV = "88221fc081a7a0979a012f243b66cf097382cc8f" SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git" inherit autotools-brokensep pkgconfig manpages -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 08:31:59 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 08:31:59 +0000 Subject: [oe-commits] [openembedded-core] 26/38: epiphany: upgrade to 3.24.3 In-Reply-To: <150114429384.17605.14695844614135055993@git.openembedded.org> References: <150114429384.17605.14695844614135055993@git.openembedded.org> Message-ID: <20170727083135.0987C234F36@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit ca96cb6b8238fe336b0631102d719d7933d56dfd Author: Alexander Kanavin AuthorDate: Mon Jul 24 17:28:11 2017 +0300 epiphany: upgrade to 3.24.3 Signed-off-by: Alexander Kanavin Signed-off-by: Richard Purdie --- .../recipes-gnome/epiphany/{epiphany_3.24.2.bb => epiphany_3.24.3.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-gnome/epiphany/epiphany_3.24.2.bb b/meta/recipes-gnome/epiphany/epiphany_3.24.3.bb similarity index 84% rename from meta/recipes-gnome/epiphany/epiphany_3.24.2.bb rename to meta/recipes-gnome/epiphany/epiphany_3.24.3.bb index dafad8a..c507d23 100644 --- a/meta/recipes-gnome/epiphany/epiphany_3.24.2.bb +++ b/meta/recipes-gnome/epiphany/epiphany_3.24.3.bb @@ -12,8 +12,8 @@ REQUIRED_DISTRO_FEATURES = "x11" SRC_URI += "file://0001-yelp.m4-drop-the-check-for-itstool.patch \ file://0001-bookmarks-Check-for-return-value-of-fread.patch \ " -SRC_URI[archive.md5sum] = "e035dc6f64f0c1909de823e03f16b2f3" -SRC_URI[archive.sha256sum] = "5abc0d0c60591df5236ac9b8979dc9f7d9acbb8ad0902b4772d2b7beea81c58d" +SRC_URI[archive.md5sum] = "c0221aec6a08935e6854eaa9de9451ef" +SRC_URI[archive.sha256sum] = "fef51676310d9f37e18c9b2d778254232eb17cccd988c2d1ecf42c7b2963a154" EXTRA_OECONF += " --with-distributor-name=${DISTRO} --enable-debug=no" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 08:31:48 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 08:31:48 +0000 Subject: [oe-commits] [openembedded-core] 15/38: go: centralize definition of COMPATIBLE_HOST In-Reply-To: <150114429384.17605.14695844614135055993@git.openembedded.org> References: <150114429384.17605.14695844614135055993@git.openembedded.org> Message-ID: <20170727083134.ABF6E234F42@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 661564fd8a5cd7bf69247f331a4556b5af9fa421 Author: Joe Slater AuthorDate: Wed Jul 26 15:14:23 2017 -0700 go: centralize definition of COMPATIBLE_HOST Put it in goarch.bbclass which all go related recipes inherit. Signed-off-by: Joe Slater Signed-off-by: Richard Purdie --- meta/classes/go.bbclass | 5 ----- meta/classes/goarch.bbclass | 6 ++++++ meta/recipes-devtools/go/go-cross.inc | 4 ---- meta/recipes-devtools/go/go.inc | 6 ------ 4 files changed, 6 insertions(+), 15 deletions(-) diff --git a/meta/classes/go.bbclass b/meta/classes/go.bbclass index 85f71a2..cedda68 100644 --- a/meta/classes/go.bbclass +++ b/meta/classes/go.bbclass @@ -1,10 +1,5 @@ inherit goarch -# x32 ABI is not supported on go compiler so far -COMPATIBLE_HOST_linux-gnux32 = "null" -# ppc32 is not supported in go compilers -COMPATIBLE_HOST_powerpc = "null" - GOROOT_class-native = "${STAGING_LIBDIR_NATIVE}/go" GOROOT = "${STAGING_LIBDIR_NATIVE}/${TARGET_SYS}/go" GOBIN_FINAL_class-native = "${GOROOT_FINAL}/bin" diff --git a/meta/classes/goarch.bbclass b/meta/classes/goarch.bbclass index 4a5b2ec..57537fb 100644 --- a/meta/classes/goarch.bbclass +++ b/meta/classes/goarch.bbclass @@ -11,6 +11,12 @@ TARGET_GOARM = "${@go_map_arm(d.getVar('TARGET_ARCH', True), d.getVar('TUNE_FEAT TARGET_GOTUPLE = "${TARGET_GOOS}_${TARGET_GOARCH}" GO_BUILD_BINDIR = "${@['bin/${HOST_GOTUPLE}','bin'][d.getVar('BUILD_GOTUPLE',True) == d.getVar('HOST_GOTUPLE',True)]}" +# define here because everybody inherits this class +# +COMPATIBLE_HOST_linux-gnux32 = "null" +COMPATIBLE_HOST_powerpc = "null" +COMPATIBLE_HOST_powerpc64 = "null" + def go_map_arch(a, d): import re if re.match('i.86', a): diff --git a/meta/recipes-devtools/go/go-cross.inc b/meta/recipes-devtools/go/go-cross.inc index 71e4611..1c2d9e3 100644 --- a/meta/recipes-devtools/go/go-cross.inc +++ b/meta/recipes-devtools/go/go-cross.inc @@ -13,7 +13,3 @@ FILESEXTRAPATHS =. "${FILE_DIRNAME}/go-cross:" GOROOT_FINAL = "${libdir}/go" export GOROOT_FINAL -# x32 ABI is not supported on go compiler so far -COMPATIBLE_HOST_linux-gnux32 = "null" -# ppc32 is not supported in go compilers -COMPATIBLE_HOST_powerpc = "null" diff --git a/meta/recipes-devtools/go/go.inc b/meta/recipes-devtools/go/go.inc index 91d040d..52abbeb 100644 --- a/meta/recipes-devtools/go/go.inc +++ b/meta/recipes-devtools/go/go.inc @@ -12,12 +12,6 @@ DEPENDS += "${@ 'libgcc' if not oe.utils.inherits(d, 'cross') else ''}" INHIBIT_PACKAGE_STRIP = "1" INHIBIT_SYSROOT_STRIP = "1" -# x32 ABI is not supported on go compiler so far -COMPATIBLE_HOST_linux-gnux32 = "null" -# ppc is not supported in go compilers -COMPATIBLE_HOST_powerpc = "null" -COMPATIBLE_HOST_powerpc64 = "null" - export GOHOSTOS = "${BUILD_GOOS}" export GOHOSTARCH = "${BUILD_GOARCH}" export GOOS = "${TARGET_GOOS}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 08:32:01 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 08:32:01 +0000 Subject: [oe-commits] [openembedded-core] 28/38: mpg123: update to 1.25.4 In-Reply-To: <150114429384.17605.14695844614135055993@git.openembedded.org> References: <150114429384.17605.14695844614135055993@git.openembedded.org> Message-ID: <20170727083135.18443234F33@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 71cae3038742dbf0d563eb1de8daeff90c631c78 Author: Alexander Kanavin AuthorDate: Mon Jul 24 17:28:15 2017 +0300 mpg123: update to 1.25.4 Signed-off-by: Alexander Kanavin Signed-off-by: Richard Purdie --- meta/recipes-multimedia/mpg123/{mpg123_1.25.0.bb => mpg123_1.25.4.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-multimedia/mpg123/mpg123_1.25.0.bb b/meta/recipes-multimedia/mpg123/mpg123_1.25.4.bb similarity index 94% rename from meta/recipes-multimedia/mpg123/mpg123_1.25.0.bb rename to meta/recipes-multimedia/mpg123/mpg123_1.25.4.bb index f86098c..96e8f21 100644 --- a/meta/recipes-multimedia/mpg123/mpg123_1.25.0.bb +++ b/meta/recipes-multimedia/mpg123/mpg123_1.25.4.bb @@ -11,8 +11,8 @@ LICENSE_FLAGS = "commercial" LIC_FILES_CHKSUM = "file://COPYING;md5=1e86753638d3cf2512528b99079bc4f3" SRC_URI = "https://www.mpg123.de/download/${BP}.tar.bz2" -SRC_URI[md5sum] = "2ffbe29c99130215b0ee7d1b11c0ea4b" -SRC_URI[sha256sum] = "552e3e1db045e00f474252917007795ac295863fc8b13891859b3382d2f24e48" +SRC_URI[md5sum] = "810e9d00fd75c92c4afafa20245317b5" +SRC_URI[sha256sum] = "cdb5620e8aab83f75a27dab3394a44b9cc4017fc77b2954b8425ca416db6b3e7" inherit autotools pkgconfig -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 08:32:03 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 08:32:03 +0000 Subject: [oe-commits] [openembedded-core] 30/38: pciutils: upgrade to 3.5.5 In-Reply-To: <150114429384.17605.14695844614135055993@git.openembedded.org> References: <150114429384.17605.14695844614135055993@git.openembedded.org> Message-ID: <20170727083135.25C5F234F4C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit b4d909b7265f45f292df68bb0337bc6377fc4665 Author: Chen Qi AuthorDate: Mon Jul 24 17:51:08 2017 +0800 pciutils: upgrade to 3.5.5 Signed-off-by: Chen Qi Signed-off-by: Richard Purdie --- meta/recipes-bsp/pciutils/{pciutils_3.5.4.bb => pciutils_3.5.5.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-bsp/pciutils/pciutils_3.5.4.bb b/meta/recipes-bsp/pciutils/pciutils_3.5.5.bb similarity index 92% rename from meta/recipes-bsp/pciutils/pciutils_3.5.4.bb rename to meta/recipes-bsp/pciutils/pciutils_3.5.5.bb index 418f712..8382c84 100644 --- a/meta/recipes-bsp/pciutils/pciutils_3.5.4.bb +++ b/meta/recipes-bsp/pciutils/pciutils_3.5.5.bb @@ -11,8 +11,8 @@ DEPENDS = "zlib kmod" SRC_URI = "${KERNELORG_MIRROR}/software/utils/pciutils/pciutils-${PV}.tar.xz \ file://configure.patch" -SRC_URI[md5sum] = "e82537cd2194111c45fa7e684b52252e" -SRC_URI[sha256sum] = "64293c6ab9318c40ef262b76d87bd9097531759752bac556e50979b1e63cfe66" +SRC_URI[md5sum] = "238d9969cc0de8b9105d972007d9d546" +SRC_URI[sha256sum] = "1d62f8fa192f90e61c35a6fc15ff3cb9a7a792f782407acc42ef67817c5939f5" inherit multilib_header -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 08:31:54 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 08:31:54 +0000 Subject: [oe-commits] [openembedded-core] 21/38: gnu-config: update SRC_URI to new savannah.gnu.org hostname In-Reply-To: <150114429384.17605.14695844614135055993@git.openembedded.org> References: <150114429384.17605.14695844614135055993@git.openembedded.org> Message-ID: <20170727083134.D7072234F48@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 66fca88c417b73397b9cc2b55689c9f1fd0b16ef Author: Andre McCurdy AuthorDate: Tue Jul 25 17:18:35 2017 -0700 gnu-config: update SRC_URI to new savannah.gnu.org hostname http://sv.gnu.org/ now redirects to http://savannah.gnu.org/ Signed-off-by: Andre McCurdy Signed-off-by: Richard Purdie --- meta/recipes-devtools/gnu-config/gnu-config_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-devtools/gnu-config/gnu-config_git.bb b/meta/recipes-devtools/gnu-config/gnu-config_git.bb index 072726f..f1c7788 100644 --- a/meta/recipes-devtools/gnu-config/gnu-config_git.bb +++ b/meta/recipes-devtools/gnu-config/gnu-config_git.bb @@ -11,7 +11,7 @@ INHIBIT_DEFAULT_DEPS = "1" SRCREV = "b576fa87c140b824466ef1638e945e87dc5c0343" PV = "20150728+git${SRCPV}" -SRC_URI = "git://git.sv.gnu.org/config.git \ +SRC_URI = "git://git.savannah.gnu.org/config.git \ file://gnu-configize.in" S = "${WORKDIR}/git" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 08:31:52 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 08:31:52 +0000 Subject: [oe-commits] [openembedded-core] 19/38: libcap: fix build with gperf 3.1 In-Reply-To: <150114429384.17605.14695844614135055993@git.openembedded.org> References: <150114429384.17605.14695844614135055993@git.openembedded.org> Message-ID: <20170727083134.C90EA234F46@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit eeb77bd7e10378bf75d7a8a85bf6e9bb8f4b3e8d Author: Alexander Kanavin AuthorDate: Wed Jul 26 13:41:03 2017 +0300 libcap: fix build with gperf 3.1 Signed-off-by: Alexander Kanavin Signed-off-by: Richard Purdie --- .../files/0001-Fix-build-with-gperf-3.1.patch | 30 ++++++++++++++++++++++ meta/recipes-support/libcap/libcap_2.25.bb | 3 ++- 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/meta/recipes-support/libcap/files/0001-Fix-build-with-gperf-3.1.patch b/meta/recipes-support/libcap/files/0001-Fix-build-with-gperf-3.1.patch new file mode 100644 index 0000000..ae03cf7 --- /dev/null +++ b/meta/recipes-support/libcap/files/0001-Fix-build-with-gperf-3.1.patch @@ -0,0 +1,30 @@ +From 2b350b270bd6a5cf0c89414cd16e51d8dec5c874 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Wed, 26 Jul 2017 13:37:49 +0300 +Subject: [PATCH] Fix build with gperf 3.1 + +The generated gperf file refers to size_t which needs to be +provided by stddef.h include. + +Upstream-Status: Pending +Signed-off-by: Alexander Kanavin +--- + libcap/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libcap/Makefile b/libcap/Makefile +index d189777..32c5a69 100644 +--- a/libcap/Makefile ++++ b/libcap/Makefile +@@ -22,7 +22,7 @@ all: $(MINLIBNAME) $(STALIBNAME) libcap.pc + + ifeq ($(BUILD_GPERF),yes) + USE_GPERF_OUTPUT = $(GPERF_OUTPUT) +-INCLUDE_GPERF_OUTPUT = -include $(GPERF_OUTPUT) ++INCLUDE_GPERF_OUTPUT = -include stddef.h -include $(GPERF_OUTPUT) + endif + + libcap.pc: libcap.pc.in +-- +2.13.2 + diff --git a/meta/recipes-support/libcap/libcap_2.25.bb b/meta/recipes-support/libcap/libcap_2.25.bb index 5c2765f..d619a2e 100644 --- a/meta/recipes-support/libcap/libcap_2.25.bb +++ b/meta/recipes-support/libcap/libcap_2.25.bb @@ -9,7 +9,8 @@ DEPENDS = "hostperl-runtime-native gperf-native" SRC_URI = "${KERNELORG_MIRROR}/linux/libs/security/linux-privs/${BPN}2/${BPN}-${PV}.tar.xz \ file://0001-ensure-the-XATTR_NAME_CAPS-is-defined-when-it-is-use.patch \ -" + file://0001-Fix-build-with-gperf-3.1.patch \ + " SRC_URI[md5sum] = "6666b839e5d46c2ad33fc8aa2ceb5f77" SRC_URI[sha256sum] = "693c8ac51e983ee678205571ef272439d83afe62dd8e424ea14ad9790bc35162" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 08:32:07 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 08:32:07 +0000 Subject: [oe-commits] [openembedded-core] 34/38: sysstat: upgrade to 11.5.7 In-Reply-To: <150114429384.17605.14695844614135055993@git.openembedded.org> References: <150114429384.17605.14695844614135055993@git.openembedded.org> Message-ID: <20170727083135.4496B234F50@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit c4340c2bd217abebf16065ec2e3c3d1259f74857 Author: Chen Qi AuthorDate: Mon Jul 24 17:51:12 2017 +0800 sysstat: upgrade to 11.5.7 Signed-off-by: Chen Qi Signed-off-by: Richard Purdie --- .../recipes-extended/sysstat/{sysstat_11.5.6.bb => sysstat_11.5.7.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-extended/sysstat/sysstat_11.5.6.bb b/meta/recipes-extended/sysstat/sysstat_11.5.7.bb similarity index 53% rename from meta/recipes-extended/sysstat/sysstat_11.5.6.bb rename to meta/recipes-extended/sysstat/sysstat_11.5.7.bb index cdf9b12..72af931 100644 --- a/meta/recipes-extended/sysstat/sysstat_11.5.6.bb +++ b/meta/recipes-extended/sysstat/sysstat_11.5.7.bb @@ -4,5 +4,5 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=a23a74b3f4caf9616230789d94217acb" SRC_URI += "file://0001-Include-needed-headers-explicitly.patch" -SRC_URI[md5sum] = "92735f1be44c676960b53ee28e3a4984" -SRC_URI[sha256sum] = "83a81e0a6c1d39a0985310dc2944ac6214c963adb4dc8af24ae03a9ae8d0f3ac" +SRC_URI[md5sum] = "8f4a5d0de29f1056153e25e7a9c518d2" +SRC_URI[sha256sum] = "4a38efaa0ca85ee5484d046bd427012979264fef17f07fd7855860e592819482" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 08:32:08 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 08:32:08 +0000 Subject: [oe-commits] [openembedded-core] 35/38: dbus/dbus-test: upgrade to 1.10.20 In-Reply-To: <150114429384.17605.14695844614135055993@git.openembedded.org> References: <150114429384.17605.14695844614135055993@git.openembedded.org> Message-ID: <20170727083135.500E8234F51@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit d56976b7ca2510de502b38aeb681c979982f7652 Author: Chen Qi AuthorDate: Mon Jul 24 17:51:13 2017 +0800 dbus/dbus-test: upgrade to 1.10.20 Signed-off-by: Chen Qi Signed-off-by: Richard Purdie --- meta/recipes-core/dbus/{dbus-test_1.10.18.bb => dbus-test_1.10.20.bb} | 4 ++-- meta/recipes-core/dbus/{dbus_1.10.18.bb => dbus_1.10.20.bb} | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/meta/recipes-core/dbus/dbus-test_1.10.18.bb b/meta/recipes-core/dbus/dbus-test_1.10.20.bb similarity index 93% rename from meta/recipes-core/dbus/dbus-test_1.10.18.bb rename to meta/recipes-core/dbus/dbus-test_1.10.20.bb index 141baf2..eeadb7d 100644 --- a/meta/recipes-core/dbus/dbus-test_1.10.18.bb +++ b/meta/recipes-core/dbus/dbus-test_1.10.20.bb @@ -17,8 +17,8 @@ SRC_URI = "http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz \ file://clear-guid_from_server-if-send_negotiate_unix_f.patch \ " -SRC_URI[md5sum] = "1209c455598165a0c5263d4201894179" -SRC_URI[sha256sum] = "6049ddd5f3f3e2618f615f1faeda0a115104423a7996b7aa73e2f36e38cc514a" +SRC_URI[md5sum] = "94c991e763d4f9f13690416b2dcd9411" +SRC_URI[sha256sum] = "e574b9780b5425fde4d973bb596e7ea0f09e00fe2edd662da9016e976c460b48" S="${WORKDIR}/dbus-${PV}" FILESEXTRAPATHS =. "${FILE_DIRNAME}/dbus:" diff --git a/meta/recipes-core/dbus/dbus_1.10.18.bb b/meta/recipes-core/dbus/dbus_1.10.20.bb similarity index 97% rename from meta/recipes-core/dbus/dbus_1.10.18.bb rename to meta/recipes-core/dbus/dbus_1.10.20.bb index c0b63d1..9ddedc1 100644 --- a/meta/recipes-core/dbus/dbus_1.10.18.bb +++ b/meta/recipes-core/dbus/dbus_1.10.20.bb @@ -20,8 +20,8 @@ SRC_URI = "http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz \ file://0001-configure.ac-explicitely-check-stdint.h.patch \ " -SRC_URI[md5sum] = "1209c455598165a0c5263d4201894179" -SRC_URI[sha256sum] = "6049ddd5f3f3e2618f615f1faeda0a115104423a7996b7aa73e2f36e38cc514a" +SRC_URI[md5sum] = "94c991e763d4f9f13690416b2dcd9411" +SRC_URI[sha256sum] = "e574b9780b5425fde4d973bb596e7ea0f09e00fe2edd662da9016e976c460b48" inherit useradd autotools pkgconfig gettext update-rc.d upstream-version-is-even -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 08:31:58 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 08:31:58 +0000 Subject: [oe-commits] [openembedded-core] 25/38: bash-completion: upgrade to 2.7 In-Reply-To: <150114429384.17605.14695844614135055993@git.openembedded.org> References: <150114429384.17605.14695844614135055993@git.openembedded.org> Message-ID: <20170727083135.0287C234F35@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 6e1e0c36eb716f7a6b54cad6c3d3ed49c8648e9c Author: Alexander Kanavin AuthorDate: Mon Jul 24 17:28:10 2017 +0300 bash-completion: upgrade to 2.7 Signed-off-by: Alexander Kanavin Signed-off-by: Richard Purdie --- .../{bash-completion_2.5.bb => bash-completion_2.7.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-support/bash-completion/bash-completion_2.5.bb b/meta/recipes-support/bash-completion/bash-completion_2.7.bb similarity index 88% rename from meta/recipes-support/bash-completion/bash-completion_2.5.bb rename to meta/recipes-support/bash-completion/bash-completion_2.7.bb index dd22857..7877e51 100644 --- a/meta/recipes-support/bash-completion/bash-completion_2.5.bb +++ b/meta/recipes-support/bash-completion/bash-completion_2.7.bb @@ -9,8 +9,8 @@ SECTION = "console/utils" SRC_URI = "https://github.com/scop/bash-completion/releases/download/${PV}/${BPN}-${PV}.tar.xz" -SRC_URI[md5sum] = "15300010bd4034de12c3fc4f171692e3" -SRC_URI[sha256sum] = "b0b9540c65532825eca030f1241731383f89b2b65e80f3492c5dd2f0438c95cf" +SRC_URI[md5sum] = "28117492bdc9408438e6041683a423ce" +SRC_URI[sha256sum] = "41ba892d3f427d4a686de32673f35401bc947a7801f684127120cdb13641441e" UPSTREAM_CHECK_REGEX = "bash-completion-(?P(?!2008).+)\.tar" UPSTREAM_CHECK_URI = "https://github.com/scop/bash-completion/releases" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 08:32:00 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 08:32:00 +0000 Subject: [oe-commits] [openembedded-core] 27/38: vala: upgrade to 0.36.4 In-Reply-To: <150114429384.17605.14695844614135055993@git.openembedded.org> References: <150114429384.17605.14695844614135055993@git.openembedded.org> Message-ID: <20170727083135.10BF5234F34@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 3e9f687cceac60bf1a13ca19a77496038a60c41f Author: Alexander Kanavin AuthorDate: Mon Jul 24 17:28:13 2017 +0300 vala: upgrade to 0.36.4 Signed-off-by: Alexander Kanavin Signed-off-by: Richard Purdie --- meta/recipes-devtools/vala/{vala_0.36.3.bb => vala_0.36.4.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-devtools/vala/vala_0.36.3.bb b/meta/recipes-devtools/vala/vala_0.36.4.bb similarity index 56% rename from meta/recipes-devtools/vala/vala_0.36.3.bb rename to meta/recipes-devtools/vala/vala_0.36.4.bb index e5707c8..51000d9 100644 --- a/meta/recipes-devtools/vala/vala_0.36.3.bb +++ b/meta/recipes-devtools/vala/vala_0.36.4.bb @@ -4,5 +4,5 @@ SRC_URI += " file://0001-git-version-gen-don-t-append-dirty-if-we-re-not-in-g.pa file://0001-vapigen.m4-use-PKG_CONFIG_SYSROOT_DIR.patch \ " -SRC_URI[md5sum] = "ff093f46e1d2e0b179543ec43cf27d76" -SRC_URI[sha256sum] = "ac8a4ecd01f62d0c5f62ba50b7290d8c5a1edb308eec772a65b8e79be68f061c" +SRC_URI[md5sum] = "3c19014093f1a3d995357253b463082c" +SRC_URI[sha256sum] = "e9f23ce711c1a72ce664d10946fbc5953f01b0b7f2a3562e7a01e362d86de059" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 08:32:11 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 08:32:11 +0000 Subject: [oe-commits] [openembedded-core] 38/38: core-image-minimal-initramfs: use initramfs-framework by default In-Reply-To: <150114429384.17605.14695844614135055993@git.openembedded.org> References: <150114429384.17605.14695844614135055993@git.openembedded.org> Message-ID: <20170727083135.65E41234F54@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 98e0f4b229e3fdc00001908610b047e7b9488da3 Author: Ng, Wei Tee AuthorDate: Sun Jul 23 16:51:57 2017 -0700 core-image-minimal-initramfs: use initramfs-framework by default Use the initramfs-framework for initialization by default due to the modularity and expansibility. [YOCTO #10987] Signed-off-by: Ng, Wei Tee Signed-off-by: Richard Purdie --- meta/recipes-core/images/core-image-minimal-initramfs.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-core/images/core-image-minimal-initramfs.bb b/meta/recipes-core/images/core-image-minimal-initramfs.bb index 5794a25..c1f2855 100644 --- a/meta/recipes-core/images/core-image-minimal-initramfs.bb +++ b/meta/recipes-core/images/core-image-minimal-initramfs.bb @@ -3,7 +3,7 @@ DESCRIPTION = "Small image capable of booting a device. The kernel includes \ the Minimal RAM-based Initial Root Filesystem (initramfs), which finds the \ first 'init' program more efficiently." -PACKAGE_INSTALL = "initramfs-live-boot initramfs-live-install initramfs-live-install-efi ${VIRTUAL-RUNTIME_base-utils} udev base-passwd ${ROOTFS_BOOTSTRAP_INSTALL}" +PACKAGE_INSTALL = "initramfs-framework-base initramfs-module-udev initramfs-module-setup-live initramfs-module-install-efi ${VIRTUAL-RUNTIME_base-utils} udev base-passwd ${ROOTFS_BOOTSTRAP_INSTALL}" # Do not pollute the initrd image with rootfs features IMAGE_FEATURES = "" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 08:31:56 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 08:31:56 +0000 Subject: [oe-commits] [openembedded-core] 23/38: icu: update to 59.1 In-Reply-To: <150114429384.17605.14695844614135055993@git.openembedded.org> References: <150114429384.17605.14695844614135055993@git.openembedded.org> Message-ID: <20170727083134.E613C234F4A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 2a5bcc219d6d8c76c1ffa1bf00b0896659643098 Author: Alexander Kanavin AuthorDate: Mon Jul 24 17:28:08 2017 +0300 icu: update to 59.1 License checksum change due to copyright year update. Latest icu will not compile with anything less than C++11, so drop the enforcement of an earlier C++ version. This should be okay, as there is now a fix in place for the problem of mixing native gcc 4/5 compiled code: http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=c21cec84886d9c70396e9be0ceb9a8ef300b54be Signed-off-by: Alexander Kanavin Signed-off-by: Richard Purdie --- meta/conf/distro/include/uninative-flags.inc | 4 ---- meta/recipes-support/icu/{icu_58.2.bb => icu_59.1.bb} | 6 +++--- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/meta/conf/distro/include/uninative-flags.inc b/meta/conf/distro/include/uninative-flags.inc index f5b1547..febf2a5 100644 --- a/meta/conf/distro/include/uninative-flags.inc +++ b/meta/conf/distro/include/uninative-flags.inc @@ -1,7 +1,3 @@ -# icu configure defaults to CXX11 if no -std= option is passed in CXXFLAGS -# therefore pass one -BUILD_CXXFLAGS_append_pn-icu-native = " -std=c++98" - # Some distros (ubuntu 16.10, debian-testing) default to gcc configured with # --enable-default-pie (see gcc -v). This breaks e.g. prelink-native on a pie # default system if binutils-native was built on a system which is not pie default diff --git a/meta/recipes-support/icu/icu_58.2.bb b/meta/recipes-support/icu/icu_59.1.bb similarity index 78% rename from meta/recipes-support/icu/icu_58.2.bb rename to meta/recipes-support/icu/icu_59.1.bb index 47684a6..31f017b 100644 --- a/meta/recipes-support/icu/icu_58.2.bb +++ b/meta/recipes-support/icu/icu_59.1.bb @@ -1,6 +1,6 @@ require icu.inc -LIC_FILES_CHKSUM = "file://../LICENSE;md5=1b3b75c1777cd49ad5c6a24cd338cfc9" +LIC_FILES_CHKSUM = "file://../LICENSE;md5=fe9e1f2c500466d8f18df2cd068e4b74" def icu_download_version(d): pvsplit = d.getVar('PV').split('.') @@ -22,8 +22,8 @@ SRC_URI = "${BASE_SRC_URI} \ SRC_URI_append_class-target = "\ file://0001-Disable-LDFLAGSICUDT-for-Linux.patch \ " -SRC_URI[md5sum] = "fac212b32b7ec7ab007a12dff1f3aea1" -SRC_URI[sha256sum] = "2b0a4410153a9b20de0e20c7d8b66049a72aef244b53683d0d7521371683da0c" +SRC_URI[md5sum] = "54923fa9fab5b2b83f235fb72523de37" +SRC_URI[sha256sum] = "7132fdaf9379429d004005217f10e00b7d2319d0fea22bdfddef8991c45b75fe" UPSTREAM_CHECK_REGEX = "(?P\d+(\.\d+)+)/" UPSTREAM_CHECK_URI = "http://download.icu-project.org/files/icu4c/" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 08:32:02 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 08:32:02 +0000 Subject: [oe-commits] [openembedded-core] 29/38: webkitgtk: update to 2.16.6 In-Reply-To: <150114429384.17605.14695844614135055993@git.openembedded.org> References: <150114429384.17605.14695844614135055993@git.openembedded.org> Message-ID: <20170727083135.1EC0F234F37@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 09560d9f2f30a7fc87bbf73363d36070c990bf97 Author: Alexander Kanavin AuthorDate: Mon Jul 24 17:28:17 2017 +0300 webkitgtk: update to 2.16.6 Signed-off-by: Alexander Kanavin Signed-off-by: Richard Purdie --- meta/recipes-sato/webkit/{webkitgtk_2.16.5.bb => webkitgtk_2.16.6.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-sato/webkit/webkitgtk_2.16.5.bb b/meta/recipes-sato/webkit/webkitgtk_2.16.6.bb similarity index 97% rename from meta/recipes-sato/webkit/webkitgtk_2.16.5.bb rename to meta/recipes-sato/webkit/webkitgtk_2.16.6.bb index dcaf8a6..fbc74dc 100644 --- a/meta/recipes-sato/webkit/webkitgtk_2.16.5.bb +++ b/meta/recipes-sato/webkit/webkitgtk_2.16.6.bb @@ -23,8 +23,8 @@ SRC_URI = "http://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \ file://detect-atomics-during-configure.patch \ " -SRC_URI[md5sum] = "fce72dc89cd310a663d9eb97133861fe" -SRC_URI[sha256sum] = "8e0396f3428e757898c5856e642eed4fcd5a20ae03d96d3eaa03b76634be7dd4" +SRC_URI[md5sum] = "0e2d142a586e4ff79cf0324f4fdbf20c" +SRC_URI[sha256sum] = "fc23650df953123c59b9c0edf3855e7bd55bd107820997fc72375811e1ea4b21" inherit cmake pkgconfig gobject-introspection perlnative distro_features_check upstream-version-is-even gtk-doc -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 08:32:10 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 08:32:10 +0000 Subject: [oe-commits] [openembedded-core] 37/38: initramfs-framework: include install-efi module in recipe for installation In-Reply-To: <150114429384.17605.14695844614135055993@git.openembedded.org> References: <150114429384.17605.14695844614135055993@git.openembedded.org> Message-ID: <20170727083135.5EE98234F53@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 81b06b50b12d0fd0fcbb575585bae5eeda613960 Author: Ng, Wei Tee AuthorDate: Sun Jul 23 16:51:56 2017 -0700 initramfs-framework: include install-efi module in recipe for installation Utilized the existing init-install-efi.sh script and renamed it to install-efi.sh to manage the installation process of images in initramfs-framework model. This script will be executed when "install" option is being chosen in the grub menu and install the image on the target platform. A new install-efi module is being added in the recipe to handle the installation process using initramfs-framework. [YOCTO #10989] Signed-off-by: Ng, Wei Tee Signed-off-by: Richard Purdie --- .../initramfs-framework/install-efi.sh | 276 +++++++++++++++++++++ .../initrdscripts/initramfs-framework_1.0.bb | 19 +- 2 files changed, 292 insertions(+), 3 deletions(-) diff --git a/meta/recipes-core/initrdscripts/initramfs-framework/install-efi.sh b/meta/recipes-core/initrdscripts/initramfs-framework/install-efi.sh new file mode 100644 index 0000000..5ad3a60 --- /dev/null +++ b/meta/recipes-core/initrdscripts/initramfs-framework/install-efi.sh @@ -0,0 +1,276 @@ +#!/bin/sh -e +# +# Copyright (c) 2012, Intel Corporation. +# All rights reserved. +# +# install.sh [device_name] [rootfs_name] +# + +PATH=/sbin:/bin:/usr/sbin:/usr/bin + +# We need 20 Mb for the boot partition +boot_size=20 + +# 5% for swap +swap_ratio=5 + +# Get a list of hard drives +hdnamelist="" +live_dev_name=`cat /proc/mounts | grep ${1%/} | awk '{print $1}'` +live_dev_name=${live_dev_name#\/dev/} +# Only strip the digit identifier if the device is not an mmc +case $live_dev_name in + mmcblk*) + ;; + nvme*) + ;; + *) + live_dev_name=${live_dev_name%%[0-9]*} + ;; +esac + +echo "Searching for hard drives ..." + +# Some eMMC devices have special sub devices such as mmcblk0boot0 etc +# we're currently only interested in the root device so pick them wisely +devices=`ls /sys/block/ | grep -v mmcblk` || true +mmc_devices=`ls /sys/block/ | grep "mmcblk[0-9]\{1,\}$"` || true +devices="$devices $mmc_devices" + +for device in $devices; do + case $device in + loop*) + # skip loop device + ;; + sr*) + # skip CDROM device + ;; + ram*) + # skip ram device + ;; + *) + # skip the device LiveOS is on + # Add valid hard drive name to the list + case $device in + $live_dev_name*) + # skip the device we are running from + ;; + *) + hdnamelist="$hdnamelist $device" + ;; + esac + ;; + esac +done + +if [ -z "${hdnamelist}" ]; then + echo "You need another device (besides the live device /dev/${live_dev_name}) to install the image. Installation aborted." + exit 1 +fi + +TARGET_DEVICE_NAME="" +for hdname in $hdnamelist; do + # Display found hard drives and their basic info + echo "-------------------------------" + echo /dev/$hdname + if [ -r /sys/block/$hdname/device/vendor ]; then + echo -n "VENDOR=" + cat /sys/block/$hdname/device/vendor + fi + if [ -r /sys/block/$hdname/device/model ]; then + echo -n "MODEL=" + cat /sys/block/$hdname/device/model + fi + if [ -r /sys/block/$hdname/device/uevent ]; then + echo -n "UEVENT=" + cat /sys/block/$hdname/device/uevent + fi + echo +done + +# Get user choice +while true; do + echo "Please select an install target or press n to exit ($hdnamelist ): " + read answer + if [ "$answer" = "n" ]; then + echo "Installation manually aborted." + exit 1 + fi + for hdname in $hdnamelist; do + if [ "$answer" = "$hdname" ]; then + TARGET_DEVICE_NAME=$answer + break + fi + done + if [ -n "$TARGET_DEVICE_NAME" ]; then + break + fi +done + +if [ -n "$TARGET_DEVICE_NAME" ]; then + echo "Installing image on /dev/$TARGET_DEVICE_NAME ..." +else + echo "No hard drive selected. Installation aborted." + exit 1 +fi + +device=/dev/$TARGET_DEVICE_NAME + +# +# The udev automounter can cause pain here, kill it +# +rm -f /etc/udev/rules.d/automount.rules +rm -f /etc/udev/scripts/mount* + +# +# Unmount anything the automounter had mounted +# +umount ${device}* 2> /dev/null || /bin/true + +mkdir -p /tmp + +# Create /etc/mtab if not present +if [ ! -e /etc/mtab ] && [ -e /proc/mounts ]; then + ln -sf /proc/mounts /etc/mtab +fi + +disk_size=$(parted ${device} unit mb print | grep '^Disk .*: .*MB' | cut -d" " -f 3 | sed -e "s/MB//") + +swap_size=$((disk_size*swap_ratio/100)) +rootfs_size=$((disk_size-boot_size-swap_size)) + +rootfs_start=$((boot_size)) +rootfs_end=$((rootfs_start+rootfs_size)) +swap_start=$((rootfs_end)) + +# MMC devices are special in a couple of ways +# 1) they use a partition prefix character 'p' +# 2) they are detected asynchronously (need rootwait) +rootwait="" +part_prefix="" +if [ ! "${device#/dev/mmcblk}" = "${device}" ] || \ + [ ! "${device#/dev/nvme}" = "${device}" ]; then + part_prefix="p" + rootwait="rootwait" +fi + +# USB devices also require rootwait +if [ -n `readlink /dev/disk/by-id/usb* | grep $TARGET_DEVICE_NAME` ]; then + rootwait="rootwait" +fi + +bootfs=${device}${part_prefix}1 +rootfs=${device}${part_prefix}2 +swap=${device}${part_prefix}3 + +echo "*****************" +echo "Boot partition size: $boot_size MB ($bootfs)" +echo "Rootfs partition size: $rootfs_size MB ($rootfs)" +echo "Swap partition size: $swap_size MB ($swap)" +echo "*****************" +echo "Deleting partition table on ${device} ..." +dd if=/dev/zero of=${device} bs=512 count=35 + +echo "Creating new partition table on ${device} ..." +parted ${device} mklabel gpt + +echo "Creating boot partition on $bootfs" +parted ${device} mkpart boot fat32 0% $boot_size +parted ${device} set 1 boot on + +echo "Creating rootfs partition on $rootfs" +parted ${device} mkpart root ext3 $rootfs_start $rootfs_end + +echo "Creating swap partition on $swap" +parted ${device} mkpart swap linux-swap $swap_start 100% + +parted ${device} print + +echo "Formatting $bootfs to vfat..." +mkfs.vfat $bootfs + +echo "Formatting $rootfs to ext3..." +mkfs.ext3 $rootfs + +echo "Formatting swap partition...($swap)" +mkswap $swap + +mkdir /tgt_root +mkdir /src_root +mkdir -p /boot + +# Handling of the target root partition +mount $rootfs /tgt_root +mount -o rw,loop,noatime,nodiratime /run/media/$1/$2 /src_root +echo "Copying rootfs files..." +cp -a /src_root/* /tgt_root +if [ -d /tgt_root/etc/ ] ; then + boot_uuid=$(blkid -o value -s UUID ${bootfs}) + swap_part_uuid=$(blkid -o value -s PARTUUID ${swap}) + echo "/dev/disk/by-partuuid/$swap_part_uuid swap swap defaults 0 0" >> /tgt_root/etc/fstab + echo "UUID=$boot_uuid /boot vfat defaults 1 2" >> /tgt_root/etc/fstab + # We dont want udev to mount our root device while we're booting... + if [ -d /tgt_root/etc/udev/ ] ; then + echo "${device}" >> /tgt_root/etc/udev/mount.blacklist + fi +fi + +umount /src_root + +# Handling of the target boot partition +mount $bootfs /boot +echo "Preparing boot partition..." + +EFIDIR="/boot/EFI/BOOT" +mkdir -p $EFIDIR +# Copy the efi loader +cp /run/media/$1/EFI/BOOT/*.efi $EFIDIR + +if [ -f /run/media/$1/EFI/BOOT/grub.cfg ]; then + root_part_uuid=$(blkid -o value -s PARTUUID ${rootfs}) + GRUBCFG="$EFIDIR/grub.cfg" + cp /run/media/$1/EFI/BOOT/grub.cfg $GRUBCFG + # Update grub config for the installed image + # Delete the install entry + sed -i "/menuentry 'install'/,/^}/d" $GRUBCFG + # Delete the initrd lines + sed -i "/initrd /d" $GRUBCFG + # Delete any LABEL= strings + sed -i "s/ LABEL=[^ ]*/ /" $GRUBCFG + # Delete any root= strings + sed -i "s/ root=[^ ]*/ /g" $GRUBCFG + # Add the root= and other standard boot options + sed -i "s at linux /vmlinuz *@linux /vmlinuz root=PARTUUID=$root_part_uuid rw $rootwait quiet @" $GRUBCFG +fi + +if [ -d /run/media/$1/loader ]; then + rootuuid=$(blkid -o value -s PARTUUID ${rootfs}) + SYSTEMDBOOT_CFGS="/boot/loader/entries/*.conf" + # copy config files for systemd-boot + cp -dr /run/media/$1/loader /boot + # delete the install entry + rm -f /boot/loader/entries/install.conf + # delete the initrd lines + sed -i "/initrd /d" $SYSTEMDBOOT_CFGS + # delete any LABEL= strings + sed -i "s/ LABEL=[^ ]*/ /" $SYSTEMDBOOT_CFGS + # delete any root= strings + sed -i "s/ root=[^ ]*/ /" $SYSTEMDBOOT_CFGS + # add the root= and other standard boot options + sed -i "s at options *@options root=PARTUUID=$rootuuid rw $rootwait quiet @" $SYSTEMDBOOT_CFGS +fi + +umount /tgt_root + +cp /run/media/$1/vmlinuz /boot + +umount /boot + +sync + +echo "Remove your installation media, and press ENTER" + +read enter + +echo "Rebooting..." +reboot -f diff --git a/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb index 211e89d..9d69a69 100644 --- a/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb +++ b/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb @@ -5,7 +5,11 @@ RDEPENDS_${PN} += "${VIRTUAL-RUNTIME_base-utils}" PR = "r2" -inherit allarch +# While the packages maybe an allarch due to it being a +# simple script, reality is that it is Host specific based +# on the COMPATIBLE_HOST below, which needs to take precedence +#inherit allarch +INHIBIT_DEFAULT_DEPS = "1" SRC_URI = "file://init \ file://rootfs \ @@ -14,7 +18,8 @@ SRC_URI = "file://init \ file://udev \ file://e2fs \ file://debug \ - file://setup-live" + file://setup-live \ + file://install-efi.sh" S = "${WORKDIR}" @@ -41,6 +46,9 @@ do_install() { # debug install -m 0755 ${WORKDIR}/debug ${D}/init.d/00-debug + # install-efi + install -m 0755 ${WORKDIR}/install-efi.sh ${D}/init.d/install-efi.sh + # Create device nodes expected by some kernels in initramfs # before even executing /init. install -d ${D}/dev @@ -53,7 +61,8 @@ PACKAGES = "${PN}-base \ initramfs-module-e2fs \ initramfs-module-rootfs \ initramfs-module-debug \ - initramfs-module-setup-live" + initramfs-module-setup-live \ + initramfs-module-install-efi" FILES_${PN}-base = "/init /init.d/99-finish /dev" @@ -88,3 +97,7 @@ FILES_initramfs-module-rootfs = "/init.d/90-rootfs" SUMMARY_initramfs-module-debug = "initramfs dynamic debug support" RDEPENDS_initramfs-module-debug = "${PN}-base" FILES_initramfs-module-debug = "/init.d/00-debug" + +SUMMARY_initramfs-module-install-efi = "initramfs support for installation option" +RDEPENDS_initramfs-module-install-efi = "${PN}-base parted e2fsprogs-mke2fs dosfstools util-linux-blkid" +FILES_initramfs-module-install-efi = "/init.d/install-efi.sh" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 08:32:05 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 08:32:05 +0000 Subject: [oe-commits] [openembedded-core] 32/38: cups: upgrade to 2.2.4 In-Reply-To: <150114429384.17605.14695844614135055993@git.openembedded.org> References: <150114429384.17605.14695844614135055993@git.openembedded.org> Message-ID: <20170727083135.34EB3234F4E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 8054251b900edcf867e666f2ae80b9a51e3000bf Author: Chen Qi AuthorDate: Mon Jul 24 17:51:10 2017 +0800 cups: upgrade to 2.2.4 Signed-off-by: Chen Qi Signed-off-by: Richard Purdie --- meta/recipes-extended/cups/cups_2.2.3.bb | 6 ------ meta/recipes-extended/cups/cups_2.2.4.bb | 6 ++++++ 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/meta/recipes-extended/cups/cups_2.2.3.bb b/meta/recipes-extended/cups/cups_2.2.3.bb deleted file mode 100644 index 204d14d..0000000 --- a/meta/recipes-extended/cups/cups_2.2.3.bb +++ /dev/null @@ -1,6 +0,0 @@ -require cups.inc - -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=f212b4338db0da8cb892e94bf2949460" - -SRC_URI[md5sum] = "006a8156680a516e43c59034e31df8bf" -SRC_URI[sha256sum] = "66701fe15838f2c892052c913bde1ba106bbee2e0a953c955a62ecacce76885f" diff --git a/meta/recipes-extended/cups/cups_2.2.4.bb b/meta/recipes-extended/cups/cups_2.2.4.bb new file mode 100644 index 0000000..ed94b67 --- /dev/null +++ b/meta/recipes-extended/cups/cups_2.2.4.bb @@ -0,0 +1,6 @@ +require cups.inc + +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=f212b4338db0da8cb892e94bf2949460" + +SRC_URI[md5sum] = "d26e5a0a574a69fe1d01079b2931fc49" +SRC_URI[sha256sum] = "596d4db72651c335469ae5f37b0da72ac9f97d73e30838d787065f559dea98cc" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 08:32:09 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 08:32:09 +0000 Subject: [oe-commits] [openembedded-core] 36/38: initramfs-framework: module to support boot live image In-Reply-To: <150114429384.17605.14695844614135055993@git.openembedded.org> References: <150114429384.17605.14695844614135055993@git.openembedded.org> Message-ID: <20170727083135.57ACA234F52@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 8bba75d36b11f2b04f6993abdad9a1fd4a5c344f Author: Ng, Wei Tee AuthorDate: Sun Jul 23 16:51:55 2017 -0700 initramfs-framework: module to support boot live image setup-live module is a new module being introduced to integrate the functionality of init-live.sh into new scriptlet named setup-live in order to support the live boot image. The udev-extraconf rdepends is being added to perform automounting. It gets to run before the rootfs and finish module. The setup-live scriplet include the changes for: - Create a conditional loop for the bootparam_root variable. If it is not set, then it will boot from ROOT_IMAGE. Else, it will boot normally which is not from removable media. - Gives a standard path to the original boot disk mount which can be used to. While /media/sda is a good guess, it isn't always right, nor is it a good assumption that only one boot disk is in the system. - The current rootfs module has no support for rootfs images, currently it only support for rootfs partitions for wic image. Therefore, there is a need to assign the rootfs image for live image. [YOCTO #11701] Signed-off-by: Ng, Wei Tee Signed-off-by: Richard Purdie --- .../initrdscripts/initramfs-framework/setup-live | 66 ++++++++++++++++++++++ .../initrdscripts/initramfs-framework_1.0.bb | 13 ++++- 2 files changed, 77 insertions(+), 2 deletions(-) diff --git a/meta/recipes-core/initrdscripts/initramfs-framework/setup-live b/meta/recipes-core/initrdscripts/initramfs-framework/setup-live new file mode 100644 index 0000000..ec4a139 --- /dev/null +++ b/meta/recipes-core/initrdscripts/initramfs-framework/setup-live @@ -0,0 +1,66 @@ +#/bin/sh +# Copyright (C) 2011 O.S. Systems Software LTDA. +# Licensed on MIT + +setup_enabled() { + return 0 +} + +setup_run() { +ROOT_IMAGE="rootfs.img" +ISOLINUX="" +ROOT_DISK="" +shelltimeout=30 + + if [ -z $bootparam_root ]; then + echo "Waiting for removable media..." + C=0 + while true + do + for i in `ls /run/media 2>/dev/null`; do + if [ -f /run/media/$i/$ROOT_IMAGE ] ; then + found="yes" + ROOT_DISK="$i" + break + elif [ -f /run/media/$i/isolinux/$ROOT_IMAGE ]; then + found="yes" + ISOLINUX="isolinux" + ROOT_DISK="$i" + break + fi + done + if [ "$found" = "yes" ]; then + break; + fi + # don't wait for more than $shelltimeout seconds, if it's set + if [ -n "$shelltimeout" ]; then + echo -n " " $(( $shelltimeout - $C )) + if [ $C -ge $shelltimeout ]; then + echo "..." + echo "Mounted filesystems" + mount | grep media + echo "Available block devices" + cat /proc/partitions + fatal "Cannot find $ROOT_IMAGE file in /run/media/* , dropping to a shell " + fi + C=$(( C + 1 )) + fi + sleep 1 + done + # The existing rootfs module has no support for rootfs images. Assign the rootfs image. + bootparam_root="/run/media/$ROOT_DISK/$ISOLINUX/$ROOT_IMAGE" + else + break + fi + + if [ "$bootparam_LABEL" != "boot" -a -f /init.d/$bootparam_LABEL.sh ] ; then + if [ -f /run/media/$i/$ISOLINUX/$ROOT_IMAGE ] ; then + ./init.d/$bootparam_LABEL.sh $i/$ISOLINUX $ROOT_IMAGE $video_mode $vga_mode $console_params + else + fatal "Could not find $bootparam_LABEL script" + fi + + # If we're getting here, we failed... + fatal "Target $bootparam_LABEL failed" + fi +} diff --git a/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb index 67a1b04..211e89d 100644 --- a/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb +++ b/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb @@ -13,7 +13,8 @@ SRC_URI = "file://init \ file://mdev \ file://udev \ file://e2fs \ - file://debug" + file://debug \ + file://setup-live" S = "${WORKDIR}" @@ -25,6 +26,9 @@ do_install() { install -m 0755 ${WORKDIR}/rootfs ${D}/init.d/90-rootfs install -m 0755 ${WORKDIR}/finish ${D}/init.d/99-finish + # setup-live + install -m 0755 ${WORKDIR}/setup-live ${D}/init.d/80-setup-live + # mdev install -m 0755 ${WORKDIR}/mdev ${D}/init.d/01-mdev @@ -48,7 +52,8 @@ PACKAGES = "${PN}-base \ initramfs-module-udev \ initramfs-module-e2fs \ initramfs-module-rootfs \ - initramfs-module-debug" + initramfs-module-debug \ + initramfs-module-setup-live" FILES_${PN}-base = "/init /init.d/99-finish /dev" @@ -68,6 +73,10 @@ SUMMARY_initramfs-module-udev = "initramfs support for udev" RDEPENDS_initramfs-module-udev = "${PN}-base udev" FILES_initramfs-module-udev = "/init.d/01-udev" +SUMMARY_initramfs-module-setup-live = "initramfs support for setup live" +RDEPENDS_initramfs-module-setup-live = "${PN}-base udev-extraconf" +FILES_initramfs-module-setup-live = "/init.d/80-setup-live" + SUMMARY_initramfs-module-e2fs = "initramfs support for ext4/ext3/ext2 filesystems" RDEPENDS_initramfs-module-e2fs = "${PN}-base" FILES_initramfs-module-e2fs = "/init.d/10-e2fs" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 08:32:06 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 08:32:06 +0000 Subject: [oe-commits] [openembedded-core] 33/38: sudo: upgrade to 1.8.20p2 In-Reply-To: <150114429384.17605.14695844614135055993@git.openembedded.org> References: <150114429384.17605.14695844614135055993@git.openembedded.org> Message-ID: <20170727083135.3CE5D234F4F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 179b66fb415a38c4b397bc79751c1754bff60df2 Author: Chen Qi AuthorDate: Mon Jul 24 17:51:11 2017 +0800 sudo: upgrade to 1.8.20p2 The checksum for doc/LICENSE is changed, but the content only changes year from '2013' to '2017', so the license remains the same. Signed-off-by: Chen Qi Signed-off-by: Richard Purdie --- meta/recipes-extended/sudo/sudo.inc | 2 +- meta/recipes-extended/sudo/{sudo_1.8.19p2.bb => sudo_1.8.20p2.bb} | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/meta/recipes-extended/sudo/sudo.inc b/meta/recipes-extended/sudo/sudo.inc index d42a04a..8c16d83 100644 --- a/meta/recipes-extended/sudo/sudo.inc +++ b/meta/recipes-extended/sudo/sudo.inc @@ -4,7 +4,7 @@ HOMEPAGE = "http://www.sudo.ws" BUGTRACKER = "http://www.sudo.ws/bugs/" SECTION = "admin" LICENSE = "ISC & BSD & Zlib" -LIC_FILES_CHKSUM = "file://doc/LICENSE;md5=f600a47c2a2cdde5899e449607810ed1 \ +LIC_FILES_CHKSUM = "file://doc/LICENSE;md5=652fb4334c13b511597d7940ef8b3323 \ file://plugins/sudoers/redblack.c;beginline=1;endline=41;md5=cfe41112f96c19a074934d128f45c693 \ file://lib/util/reallocarray.c;beginline=3;endline=16;md5=85b0905b795d4d58bf2e00635649eec6 \ file://lib/util/fnmatch.c;beginline=3;endline=27;md5=67f83ee9bd456557397082f8f1be0efd \ diff --git a/meta/recipes-extended/sudo/sudo_1.8.19p2.bb b/meta/recipes-extended/sudo/sudo_1.8.20p2.bb similarity index 90% rename from meta/recipes-extended/sudo/sudo_1.8.19p2.bb rename to meta/recipes-extended/sudo/sudo_1.8.20p2.bb index a9659c3..4f24b3c 100644 --- a/meta/recipes-extended/sudo/sudo_1.8.19p2.bb +++ b/meta/recipes-extended/sudo/sudo_1.8.20p2.bb @@ -7,8 +7,8 @@ SRC_URI = "http://ftp.sudo.ws/sudo/dist/sudo-${PV}.tar.gz \ PAM_SRC_URI = "file://sudo.pam" -SRC_URI[md5sum] = "31a6090ed1d0946fa22cba19e86aafef" -SRC_URI[sha256sum] = "237e18e67c2ad59ecacfa4b7707198b09fcf84914621585a9bc670dcc31a52e0" +SRC_URI[md5sum] = "03da8e711caca6fd93e57751bfb74adc" +SRC_URI[sha256sum] = "bd42ae1059e935f795c69ea97b3de09fe9410a58a74b5d5e6836eb5067a445d9" DEPENDS += " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" RDEPENDS_${PN} += " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-limits pam-plugin-keyinit', '', d)}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 08:32:04 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 08:32:04 +0000 Subject: [oe-commits] [openembedded-core] 31/38: diffutils: upgrade to 3.6 In-Reply-To: <150114429384.17605.14695844614135055993@git.openembedded.org> References: <150114429384.17605.14695844614135055993@git.openembedded.org> Message-ID: <20170727083135.2D7AA234F4D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 3c7937c0feb72a41ecb21c14dc0e7eb4674d87d7 Author: Chen Qi AuthorDate: Mon Jul 24 17:51:09 2017 +0800 diffutils: upgrade to 3.6 diffutils-3.5-gcc7.patch is removed as it's merged in this version. do_configure_prepend is removed to solve the following configure error. error: possibly undefined macro: gl_TYPE_WINT_T_PREREQ A workaround patch is made to fix the following compilation error for glibc. error: dereferencing pointer to incomplete type 'const struct rpl_option' Signed-off-by: Chen Qi Signed-off-by: Richard Purdie --- .../diffutils-3.5/diffutils-3.5-gcc7.patch | 228 --------------------- ...need_charset_alias-when-building-for-musl.patch | 0 .../0001-explicitly-disable-replacing-getopt.patch | 30 +++ .../{diffutils-3.5 => diffutils-3.6}/run-ptest | 0 .../{diffutils_3.5.bb => diffutils_3.6.bb} | 14 +- 5 files changed, 34 insertions(+), 238 deletions(-) diff --git a/meta/recipes-extended/diffutils/diffutils-3.5/diffutils-3.5-gcc7.patch b/meta/recipes-extended/diffutils/diffutils-3.5/diffutils-3.5-gcc7.patch deleted file mode 100644 index 52bcd7c..0000000 --- a/meta/recipes-extended/diffutils/diffutils-3.5/diffutils-3.5-gcc7.patch +++ /dev/null @@ -1,228 +0,0 @@ -Cumulative Backports from upstream to address gcc 7 portablility issues -Imported from Fedora - -Upstream-Status: Backport -Signed-off-by: Khem Raj - -diff -up diffutils-3.5/lib/intprops.h.than diffutils-3.5/lib/intprops.h ---- diffutils-3.5/lib/intprops.h.than 2017-02-21 09:08:39.470417367 -0500 -+++ diffutils-3.5/lib/intprops.h 2017-02-21 09:46:57.090996508 -0500 -@@ -1,6 +1,6 @@ - /* intprops.h -- properties of integer types - -- Copyright (C) 2001-2016 Free Software Foundation, Inc. -+ Copyright (C) 2001-2017 Free Software Foundation, Inc. - - This program is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published -@@ -47,12 +47,16 @@ - - /* Minimum and maximum values for integer types and expressions. */ - -+/* The width in bits of the integer type or expression T. -+ Padding bits are not supported; this is checked at compile-time below. */ -+#define TYPE_WIDTH(t) (sizeof (t) * CHAR_BIT) -+ - /* The maximum and minimum values for the integer type T. */ - #define TYPE_MINIMUM(t) ((t) ~ TYPE_MAXIMUM (t)) - #define TYPE_MAXIMUM(t) \ - ((t) (! TYPE_SIGNED (t) \ - ? (t) -1 \ -- : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1))) -+ : ((((t) 1 << (TYPE_WIDTH (t) - 2)) - 1) * 2 + 1))) - - /* The maximum and minimum values for the type of the expression E, - after integer promotion. E should not have side effects. */ -@@ -65,7 +69,13 @@ - ? _GL_SIGNED_INT_MAXIMUM (e) \ - : _GL_INT_NEGATE_CONVERT (e, 1)) - #define _GL_SIGNED_INT_MAXIMUM(e) \ -- (((_GL_INT_CONVERT (e, 1) << (sizeof ((e) + 0) * CHAR_BIT - 2)) - 1) * 2 + 1) -+ (((_GL_INT_CONVERT (e, 1) << (TYPE_WIDTH ((e) + 0) - 2)) - 1) * 2 + 1) -+ -+/* Work around OpenVMS incompatibility with C99. */ -+#if !defined LLONG_MAX && defined __INT64_MAX -+# define LLONG_MAX __INT64_MAX -+# define LLONG_MIN __INT64_MIN -+#endif - - /* This include file assumes that signed types are two's complement without - padding bits; the above macros have undefined behavior otherwise. -@@ -84,10 +94,15 @@ verify (TYPE_MAXIMUM (long int) == LONG_ - verify (TYPE_MINIMUM (long long int) == LLONG_MIN); - verify (TYPE_MAXIMUM (long long int) == LLONG_MAX); - #endif -+/* Similarly, sanity-check one ISO/IEC TS 18661-1:2014 macro if defined. */ -+#ifdef UINT_WIDTH -+verify (TYPE_WIDTH (unsigned int) == UINT_WIDTH); -+#endif - - /* Does the __typeof__ keyword work? This could be done by - 'configure', but for now it's easier to do it by hand. */ --#if (2 <= __GNUC__ || defined __IBM__TYPEOF__ \ -+#if (2 <= __GNUC__ \ -+ || (1210 <= __IBMC__ && defined __IBM__TYPEOF__) \ - || (0x5110 <= __SUNPRO_C && !__STDC__)) - # define _GL_HAVE___TYPEOF__ 1 - #else -@@ -116,8 +131,7 @@ verify (TYPE_MAXIMUM (long long int) == - signed, this macro may overestimate the true bound by one byte when - applied to unsigned types of size 2, 4, 16, ... bytes. */ - #define INT_STRLEN_BOUND(t) \ -- (INT_BITS_STRLEN_BOUND (sizeof (t) * CHAR_BIT \ -- - _GL_SIGNED_TYPE_OR_EXPR (t)) \ -+ (INT_BITS_STRLEN_BOUND (TYPE_WIDTH (t) - _GL_SIGNED_TYPE_OR_EXPR (t)) \ - + _GL_SIGNED_TYPE_OR_EXPR (t)) - - /* Bound on buffer size needed to represent an integer type or expression T, -@@ -222,20 +236,23 @@ verify (TYPE_MAXIMUM (long long int) == - ? (a) < (min) >> (b) \ - : (max) >> (b) < (a)) - --/* True if __builtin_add_overflow (A, B, P) works when P is null. */ --#define _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL (7 <= __GNUC__) -+/* True if __builtin_add_overflow (A, B, P) works when P is non-null. */ -+#define _GL_HAS_BUILTIN_OVERFLOW (5 <= __GNUC__) -+ -+/* True if __builtin_add_overflow_p (A, B, C) works. */ -+#define _GL_HAS_BUILTIN_OVERFLOW_P (7 <= __GNUC__) - - /* The _GL*_OVERFLOW macros have the same restrictions as the - *_RANGE_OVERFLOW macros, except that they do not assume that operands - (e.g., A and B) have the same type as MIN and MAX. Instead, they assume - that the result (e.g., A + B) has that type. */ --#if _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL --# define _GL_ADD_OVERFLOW(a, b, min, max) -- __builtin_add_overflow (a, b, (__typeof__ ((a) + (b)) *) 0) --# define _GL_SUBTRACT_OVERFLOW(a, b, min, max) -- __builtin_sub_overflow (a, b, (__typeof__ ((a) - (b)) *) 0) --# define _GL_MULTIPLY_OVERFLOW(a, b, min, max) -- __builtin_mul_overflow (a, b, (__typeof__ ((a) * (b)) *) 0) -+#if _GL_HAS_BUILTIN_OVERFLOW_P -+# define _GL_ADD_OVERFLOW(a, b, min, max) \ -+ __builtin_add_overflow_p (a, b, (__typeof__ ((a) + (b))) 0) -+# define _GL_SUBTRACT_OVERFLOW(a, b, min, max) \ -+ __builtin_sub_overflow_p (a, b, (__typeof__ ((a) - (b))) 0) -+# define _GL_MULTIPLY_OVERFLOW(a, b, min, max) \ -+ __builtin_mul_overflow_p (a, b, (__typeof__ ((a) * (b))) 0) - #else - # define _GL_ADD_OVERFLOW(a, b, min, max) \ - ((min) < 0 ? INT_ADD_RANGE_OVERFLOW (a, b, min, max) \ -@@ -315,7 +332,7 @@ verify (TYPE_MAXIMUM (long long int) == - _GL_BINARY_OP_OVERFLOW (a, b, _GL_ADD_OVERFLOW) - #define INT_SUBTRACT_OVERFLOW(a, b) \ - _GL_BINARY_OP_OVERFLOW (a, b, _GL_SUBTRACT_OVERFLOW) --#if _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL -+#if _GL_HAS_BUILTIN_OVERFLOW_P - # define INT_NEGATE_OVERFLOW(a) INT_SUBTRACT_OVERFLOW (0, a) - #else - # define INT_NEGATE_OVERFLOW(a) \ -@@ -349,10 +366,6 @@ verify (TYPE_MAXIMUM (long long int) == - #define INT_MULTIPLY_WRAPV(a, b, r) \ - _GL_INT_OP_WRAPV (a, b, r, *, __builtin_mul_overflow, INT_MULTIPLY_OVERFLOW) - --#ifndef __has_builtin --# define __has_builtin(x) 0 --#endif -- - /* Nonzero if this compiler has GCC bug 68193 or Clang bug 25390. See: - https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68193 - https://llvm.org/bugs/show_bug.cgi?id=25390 -@@ -369,7 +382,7 @@ verify (TYPE_MAXIMUM (long long int) == - the operation. BUILTIN is the builtin operation, and OVERFLOW the - overflow predicate. Return 1 if the result overflows. See above - for restrictions. */ --#if 5 <= __GNUC__ || __has_builtin (__builtin_add_overflow) -+#if _GL_HAS_BUILTIN_OVERFLOW - # define _GL_INT_OP_WRAPV(a, b, r, op, builtin, overflow) builtin (a, b, r) - #elif 201112 <= __STDC_VERSION__ && !_GL__GENERIC_BOGUS - # define _GL_INT_OP_WRAPV(a, b, r, op, builtin, overflow) \ -@@ -412,7 +425,7 @@ verify (TYPE_MAXIMUM (long long int) == - # else - # define _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow) \ - _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \ -- long int, LONG_MIN, LONG_MAX)) -+ long int, LONG_MIN, LONG_MAX) - # endif - #endif - -diff -up diffutils-3.5/lib/xalloc-oversized.h.than diffutils-3.5/lib/xalloc-oversized.h ---- diffutils-3.5/lib/xalloc-oversized.h.than 2017-02-21 09:45:13.729168233 -0500 -+++ diffutils-3.5/lib/xalloc-oversized.h 2017-02-21 09:45:18.309249247 -0500 -@@ -1,6 +1,6 @@ - /* xalloc-oversized.h -- memory allocation size checking - -- Copyright (C) 1990-2000, 2003-2004, 2006-2016 Free Software Foundation, Inc. -+ Copyright (C) 1990-2000, 2003-2004, 2006-2017 Free Software Foundation, Inc. - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by -@@ -19,48 +19,37 @@ - #define XALLOC_OVERSIZED_H_ - - #include -+#include - --/* Default for (non-Clang) compilers that lack __has_builtin. */ --#ifndef __has_builtin --# define __has_builtin(x) 0 --#endif -- --/* True if N * S would overflow in a size calculation. -+/* True if N * S would overflow in a size_t calculation, -+ or would generate a value larger than PTRDIFF_MAX. - This expands to a constant expression if N and S are both constants. - By gnulib convention, SIZE_MAX represents overflow in size -- calculations, so the conservative dividend to use here is -- SIZE_MAX - 1, since SIZE_MAX might represent an overflowed value. -- However, malloc (SIZE_MAX) fails on all known hosts where -- sizeof (ptrdiff_t) <= sizeof (size_t), so do not bother to test for -- exactly-SIZE_MAX allocations on such hosts; this avoids a test and -- branch when S is known to be 1. */ -+ calculations, so the conservative size_t-based dividend to use here -+ is SIZE_MAX - 1. */ - #define __xalloc_oversized(n, s) \ -- ((size_t) (sizeof (ptrdiff_t) <= sizeof (size_t) ? -1 : -2) / (s) < (n)) -+ ((size_t) (PTRDIFF_MAX < SIZE_MAX ? PTRDIFF_MAX : SIZE_MAX - 1) / (s) < (n)) - -+#if PTRDIFF_MAX < SIZE_MAX -+typedef ptrdiff_t __xalloc_count_type; -+#else -+typedef size_t __xalloc_count_type; -+#endif - --/* Return 1 if an array of N objects, each of size S, cannot exist due -- to size arithmetic overflow. S must be positive and N must be -- nonnegative. This is a macro, not a function, so that it -- works correctly even when SIZE_MAX < N. */ -+/* Return 1 if an array of N objects, each of size S, cannot exist -+ reliably due to size or ptrdiff_t arithmetic overflow. S must be -+ positive and N must be nonnegative. This is a macro, not a -+ function, so that it works correctly even when SIZE_MAX < N. */ - --/* GCC 7 __builtin_mul_overflow should easily compute this. See: -- https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68120 */ - #if 7 <= __GNUC__ --# define xalloc_oversized(n, s) __builtin_mul_overflow (n, s, (size_t *) NULL) -- --/* GCC 5 and Clang __builtin_mul_overflow needs a temporary, and -- should be used only for non-constant operands, so that -- xalloc_oversized is a constant expression if both arguments are. -- Do not use this if pedantic, since pedantic GCC issues a diagnostic -- for ({ ... }). */ --#elif ((5 <= __GNUC__ \ -- || (__has_builtin (__builtin_mul_overflow) \ -- && __has_builtin (__builtin_constant_p))) \ -- && !__STRICT_ANSI__) -+# define xalloc_oversized(n, s) \ -+ __builtin_mul_overflow_p (n, s, (__xalloc_count_type) 1) -+#elif 5 <= __GNUC__ && !__STRICT_ANSI__ - # define xalloc_oversized(n, s) \ - (__builtin_constant_p (n) && __builtin_constant_p (s) \ - ? __xalloc_oversized (n, s) \ -- : ({ size_t __xalloc_size; __builtin_mul_overflow (n, s, &__xalloc_size); })) -+ : ({ __xalloc_count_type __xalloc_count; \ -+ __builtin_mul_overflow (n, s, &__xalloc_count); })) - - /* Other compilers use integer division; this may be slower but is - more portable. */ diff --git a/meta/recipes-extended/diffutils/diffutils-3.5/0001-Unset-need_charset_alias-when-building-for-musl.patch b/meta/recipes-extended/diffutils/diffutils-3.6/0001-Unset-need_charset_alias-when-building-for-musl.patch similarity index 100% rename from meta/recipes-extended/diffutils/diffutils-3.5/0001-Unset-need_charset_alias-when-building-for-musl.patch rename to meta/recipes-extended/diffutils/diffutils-3.6/0001-Unset-need_charset_alias-when-building-for-musl.patch diff --git a/meta/recipes-extended/diffutils/diffutils-3.6/0001-explicitly-disable-replacing-getopt.patch b/meta/recipes-extended/diffutils/diffutils-3.6/0001-explicitly-disable-replacing-getopt.patch new file mode 100644 index 0000000..351f87c --- /dev/null +++ b/meta/recipes-extended/diffutils/diffutils-3.6/0001-explicitly-disable-replacing-getopt.patch @@ -0,0 +1,30 @@ +Subject: explicitly disable replacing getopt + +Explicitly disable replacing getopt to avoid compilation error like below. + + xstrtol-error.c:84:26: error: invalid use of undefined type 'struct rpl_option' + +Upstream-Status: Inappropriate [workaround] +Signed-off-by: Chen Qi +--- + m4/getopt.m4 | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/m4/getopt.m4 b/m4/getopt.m4 +index 3ebc7b7..8934426 100644 +--- a/m4/getopt.m4 ++++ b/m4/getopt.m4 +@@ -22,8 +22,8 @@ AC_DEFUN([gl_FUNC_GETOPT_POSIX], + fi + ]) + if test $REPLACE_GETOPT = 1; then +- dnl Arrange for getopt.h to be created. +- gl_GETOPT_SUBSTITUTE_HEADER ++ dnl Explicitly disable replacing getopt ++ : + fi + ]) + +-- +2.11.0 + diff --git a/meta/recipes-extended/diffutils/diffutils-3.5/run-ptest b/meta/recipes-extended/diffutils/diffutils-3.6/run-ptest similarity index 100% rename from meta/recipes-extended/diffutils/diffutils-3.5/run-ptest rename to meta/recipes-extended/diffutils/diffutils-3.6/run-ptest diff --git a/meta/recipes-extended/diffutils/diffutils_3.5.bb b/meta/recipes-extended/diffutils/diffutils_3.6.bb similarity index 66% rename from meta/recipes-extended/diffutils/diffutils_3.5.bb rename to meta/recipes-extended/diffutils/diffutils_3.6.bb index a4fc27b..a2ea484 100644 --- a/meta/recipes-extended/diffutils/diffutils_3.5.bb +++ b/meta/recipes-extended/diffutils/diffutils_3.6.bb @@ -5,24 +5,18 @@ require diffutils.inc SRC_URI = "${GNU_MIRROR}/diffutils/diffutils-${PV}.tar.xz \ file://0001-Unset-need_charset_alias-when-building-for-musl.patch \ - file://diffutils-3.5-gcc7.patch \ file://run-ptest \ " -SRC_URI[md5sum] = "569354697ff1cfc9a9de3781361015fa" -SRC_URI[sha256sum] = "dad398ccd5b9faca6b0ab219a036453f62a602a56203ac659b43e889bec35533" +SRC_URI_append_libc-glibc = " file://0001-explicitly-disable-replacing-getopt.patch" + +SRC_URI[md5sum] = "07cf286672ced26fba54cd0313bdc071" +SRC_URI[sha256sum] = "d621e8bdd4b573918c8145f7ae61817d1be9deb4c8d2328a65cea8e11d783bd6" EXTRA_OECONF += "ac_cv_path_PR_PROGRAM=${bindir}/pr --without-libsigsegv-prefix" # Fix "Argument list too long" error when len(TMPDIR) = 410 acpaths = "-I ./m4" -do_configure_prepend () { - # Need to remove gettext macros with weird mix of versions - for i in codeset.m4 gettext_gl.m4 intlmacosx.m4 inttypes-pri.m4 lib-ld_gl.m4 lib-prefix_gl.m4 po_gl.m4 ssize_t.m4 wchar_t.m4 wint_t.m4; do - rm -f ${S}/m4/$i - done -} - inherit ptest do_install_ptest() { -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 14:07:20 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 14:07:20 +0000 Subject: [oe-commits] [openembedded-core] 01/20: eudev: update to 3.2.2 In-Reply-To: <150116443983.10582.13656950786564060690@git.openembedded.org> References: <150116443983.10582.13656950786564060690@git.openembedded.org> Message-ID: <20170727140720.164D5234F34@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 7c4b89016e793e1748a56f7c618e1afe6ab981af Author: Alexander Kanavin AuthorDate: Wed Jul 26 13:41:02 2017 +0300 eudev: update to 3.2.2 Signed-off-by: Alexander Kanavin Signed-off-by: Richard Purdie --- meta/recipes-core/udev/{eudev_3.2.1.bb => eudev_3.2.2.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-core/udev/eudev_3.2.1.bb b/meta/recipes-core/udev/eudev_3.2.2.bb similarity index 96% rename from meta/recipes-core/udev/eudev_3.2.1.bb rename to meta/recipes-core/udev/eudev_3.2.2.bb index bdfb544..78fef2c 100644 --- a/meta/recipes-core/udev/eudev_3.2.1.bb +++ b/meta/recipes-core/udev/eudev_3.2.2.bb @@ -23,8 +23,8 @@ SRC_URI = "https://github.com/gentoo/${BPN}/archive/v${PV}.tar.gz;downloadfilena " UPSTREAM_CHECK_URI = "https://github.com/gentoo/eudev/releases" -SRC_URI[md5sum] = "a2aae16bc432eac0e71c1267c384e295" -SRC_URI[sha256sum] = "88f530c1540750e6daa91b5eaeebf88e761e6f0c86515c1c28eedfd871f027c6" +SRC_URI[md5sum] = "1a0faad3a88ade3475e8c0ddef78e30b" +SRC_URI[sha256sum] = "80628191448886846ab9cc0e2af6782358a0afb81d5b4f8cd9d982d2626cca31" inherit autotools update-rc.d qemu pkgconfig -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 14:07:21 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 14:07:21 +0000 Subject: [oe-commits] [openembedded-core] 02/20: kernel-devsrc: Remove .kernel-meta from package In-Reply-To: <150116443983.10582.13656950786564060690@git.openembedded.org> References: <150116443983.10582.13656950786564060690@git.openembedded.org> Message-ID: <20170727140720.2B91B234F35@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 081900796822d27b7a6047835a5a384d36f79fb2 Author: sweeaun AuthorDate: Tue Jul 25 17:25:00 2017 -0700 kernel-devsrc: Remove .kernel-meta from package [YOCTO #11730] Include .kernel-meta directory in the prune list of the find to prevent .kernel-meta directory included into installable package. Signed-off-by: sweeaun Signed-off-by: Richard Purdie --- meta/recipes-kernel/linux/kernel-devsrc.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-kernel/linux/kernel-devsrc.bb b/meta/recipes-kernel/linux/kernel-devsrc.bb index 7004261..c1b5b77 100644 --- a/meta/recipes-kernel/linux/kernel-devsrc.bb +++ b/meta/recipes-kernel/linux/kernel-devsrc.bb @@ -46,7 +46,7 @@ do_install() { cd ${B} find . -type d -name '.git*' -prune -o -path '.debug' -prune -o -type f -print0 | cpio --null -pdlu $kerneldir cd ${S} - find . -type d -name '.git*' -prune -o -type f -print0 | cpio --null -pdlu $kerneldir + find . -type d -name '.git*' -prune -o -type d -name '.kernel-meta' -prune -o -type f -print0 | cpio --null -pdlu $kerneldir # Explicitly set KBUILD_OUTPUT to ensure that the image directory is cleaned and not # The main build artifacts. We clean the directory to avoid QA errors on mismatched -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 14:07:22 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 14:07:22 +0000 Subject: [oe-commits] [openembedded-core] 03/20: gnu-config: update SRC_URI to new savannah.gnu.org hostname In-Reply-To: <150116443983.10582.13656950786564060690@git.openembedded.org> References: <150116443983.10582.13656950786564060690@git.openembedded.org> Message-ID: <20170727140720.411F9234F36@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit b122903095f8ffaaeb3139f5e61781b33346c40a Author: Andre McCurdy AuthorDate: Tue Jul 25 17:18:35 2017 -0700 gnu-config: update SRC_URI to new savannah.gnu.org hostname http://sv.gnu.org/ now redirects to http://savannah.gnu.org/ Signed-off-by: Andre McCurdy Signed-off-by: Richard Purdie --- meta/recipes-devtools/gnu-config/gnu-config_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-devtools/gnu-config/gnu-config_git.bb b/meta/recipes-devtools/gnu-config/gnu-config_git.bb index 072726f..f1c7788 100644 --- a/meta/recipes-devtools/gnu-config/gnu-config_git.bb +++ b/meta/recipes-devtools/gnu-config/gnu-config_git.bb @@ -11,7 +11,7 @@ INHIBIT_DEFAULT_DEPS = "1" SRCREV = "b576fa87c140b824466ef1638e945e87dc5c0343" PV = "20150728+git${SRCPV}" -SRC_URI = "git://git.sv.gnu.org/config.git \ +SRC_URI = "git://git.savannah.gnu.org/config.git \ file://gnu-configize.in" S = "${WORKDIR}/git" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 14:07:19 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 14:07:19 +0000 Subject: [oe-commits] [openembedded-core] branch master-next updated (98e0f4b -> ee75452) Message-ID: <150116443983.10582.13656950786564060690@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master-next in repository openembedded-core. discard 98e0f4b core-image-minimal-initramfs: use initramfs-framework by default discard 81b06b5 initramfs-framework: include install-efi module in recipe for installation discard 8bba75d initramfs-framework: module to support boot live image discard d56976b dbus/dbus-test: upgrade to 1.10.20 discard c4340c2 sysstat: upgrade to 11.5.7 discard 179b66f sudo: upgrade to 1.8.20p2 discard 8054251 cups: upgrade to 2.2.4 discard 3c7937c diffutils: upgrade to 3.6 discard b4d909b pciutils: upgrade to 3.5.5 discard 09560d9 webkitgtk: update to 2.16.6 discard 71cae30 mpg123: update to 1.25.4 discard 3e9f687 vala: upgrade to 0.36.4 discard ca96cb6 epiphany: upgrade to 3.24.3 discard 6e1e0c3 bash-completion: upgrade to 2.7 discard 09a86ef btrfs-tools: upgrade to 4.11.1 discard 2a5bcc2 icu: update to 59.1 discard c62ba06 mirrors.bbclass: provide git repo fallbacks using the https protocol discard 66fca88 gnu-config: update SRC_URI to new savannah.gnu.org hostname discard 224955c kernel-devsrc: Remove .kernel-meta from package discard eeb77bd libcap: fix build with gperf 3.1 discard 22584ef eudev: update to 3.2.2 discard 9e9a383 gperf: upgrade to 3.1 new 7c4b890 eudev: update to 3.2.2 new 0819007 kernel-devsrc: Remove .kernel-meta from package new b122903 gnu-config: update SRC_URI to new savannah.gnu.org hostname new 9e31306 mirrors.bbclass: provide git repo fallbacks using the https protocol new 85ff3c2 icu: update to 59.1 new b86f1bb btrfs-tools: upgrade to 4.11.1 new be58f7c bash-completion: upgrade to 2.7 new 4b45413 epiphany: upgrade to 3.24.3 new 9c65c74 vala: upgrade to 0.36.4 new c0dde2c mpg123: update to 1.25.4 new e036fb2 webkitgtk: update to 2.16.6 new 86258f0 pciutils: upgrade to 3.5.5 new 0759014 diffutils: upgrade to 3.6 new 63cbee8 cups: upgrade to 2.2.4 new 60cb238 sudo: upgrade to 1.8.20p2 new bbdd485 sysstat: upgrade to 11.5.7 new a3347cd dbus/dbus-test: upgrade to 1.10.20 new 60b6ea8 initramfs-framework: module to support boot live image new 830baaf initramfs-framework: include install-efi module in recipe for installation new ee75452 core-image-minimal-initramfs: use initramfs-framework by default This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (98e0f4b) \ N -- N -- N refs/heads/master-next (ee75452) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 20 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: meta/recipes-extended/gperf/gperf_3.0.4.bb | 5 ++++ meta/recipes-extended/gperf/gperf_3.1.bb | 5 ---- .../files/0001-Fix-build-with-gperf-3.1.patch | 30 ---------------------- meta/recipes-support/libcap/libcap_2.25.bb | 3 +-- 4 files changed, 6 insertions(+), 37 deletions(-) create mode 100644 meta/recipes-extended/gperf/gperf_3.0.4.bb delete mode 100644 meta/recipes-extended/gperf/gperf_3.1.bb delete mode 100644 meta/recipes-support/libcap/files/0001-Fix-build-with-gperf-3.1.patch -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 14:07:23 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 14:07:23 +0000 Subject: [oe-commits] [openembedded-core] 04/20: mirrors.bbclass: provide git repo fallbacks using the https protocol In-Reply-To: <150116443983.10582.13656950786564060690@git.openembedded.org> References: <150116443983.10582.13656950786564060690@git.openembedded.org> Message-ID: <20170727140720.55664234F37@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 9e3130615db027362f7b819c3e20230fa567ef4b Author: Andre McCurdy AuthorDate: Tue Jul 25 17:18:36 2017 -0700 mirrors.bbclass: provide git repo fallbacks using the https protocol Use MIRRORS to provide git repo fallbacks using the https protocol, for cases where git native protocol fetches may fail due to local firewall rules, etc. These rules should cover all git native repos used by recipes within oe-core, with the exception of mtd-utils, for which there's currently no upstream alternative to the git native protocol for anonymous access ( see http://git.infradead.org/mtd-utils.git ). Signed-off-by: Andre McCurdy Signed-off-by: Richard Purdie --- meta/classes/mirrors.bbclass | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/meta/classes/mirrors.bbclass b/meta/classes/mirrors.bbclass index 9b72473..b98684f 100644 --- a/meta/classes/mirrors.bbclass +++ b/meta/classes/mirrors.bbclass @@ -62,3 +62,14 @@ npm://.*/.* http://sources.openembedded.org/ \n \ ${CPAN_MIRROR} http://cpan.metacpan.org/ \n \ ${CPAN_MIRROR} http://search.cpan.org/CPAN/ \n \ " + +# Use MIRRORS to provide git repo fallbacks using the https protocol, for cases +# where git native protocol fetches may fail due to local firewall rules, etc. + +MIRRORS += "\ +git://anonscm.debian.org/.* git://anonscm.debian.org/git/PATH;protocol=https \n \ +git://git.gnome.org/.* git://git.gnome.org/browse/PATH;protocol=https \n \ +git://git.savannah.gnu.org/.* git://git.savannah.gnu.org/git/PATH;protocol=https \n \ +git://git.yoctoproject.org/.* git://git.yoctoproject.org/git/PATH;protocol=https \n \ +git://.*/.* git://HOST/PATH;protocol=https \n \ +" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 14:07:25 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 14:07:25 +0000 Subject: [oe-commits] [openembedded-core] 06/20: btrfs-tools: upgrade to 4.11.1 In-Reply-To: <150116443983.10582.13656950786564060690@git.openembedded.org> References: <150116443983.10582.13656950786564060690@git.openembedded.org> Message-ID: <20170727140720.7D79A234F39@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit b86f1bbe97bfbff82a8e382fd9103515f662a0c3 Author: Alexander Kanavin AuthorDate: Mon Jul 24 17:28:09 2017 +0300 btrfs-tools: upgrade to 4.11.1 Signed-off-by: Alexander Kanavin Signed-off-by: Richard Purdie --- .../btrfs-tools/{btrfs-tools_4.11.bb => btrfs-tools_4.11.1.bb} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.11.bb b/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.11.1.bb similarity index 95% rename from meta/recipes-devtools/btrfs-tools/btrfs-tools_4.11.bb rename to meta/recipes-devtools/btrfs-tools/btrfs-tools_4.11.1.bb index 6ccb44a..a7b42e9 100644 --- a/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.11.bb +++ b/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.11.1.bb @@ -14,7 +14,7 @@ DEPENDS = "util-linux attr e2fsprogs lzo acl" DEPENDS_append_class-target = " udev" RDEPENDS_${PN} = "libgcc" -SRCREV = "981f2d8fdc37741098bb977921c6e3f1ea88365b" +SRCREV = "88221fc081a7a0979a012f243b66cf097382cc8f" SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git" inherit autotools-brokensep pkgconfig manpages -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 14:07:26 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 14:07:26 +0000 Subject: [oe-commits] [openembedded-core] 07/20: bash-completion: upgrade to 2.7 In-Reply-To: <150116443983.10582.13656950786564060690@git.openembedded.org> References: <150116443983.10582.13656950786564060690@git.openembedded.org> Message-ID: <20170727140720.94892234F3A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit be58f7cdd0aebd0dbef045ad8abaa2135cb20090 Author: Alexander Kanavin AuthorDate: Mon Jul 24 17:28:10 2017 +0300 bash-completion: upgrade to 2.7 Signed-off-by: Alexander Kanavin Signed-off-by: Richard Purdie --- .../{bash-completion_2.5.bb => bash-completion_2.7.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-support/bash-completion/bash-completion_2.5.bb b/meta/recipes-support/bash-completion/bash-completion_2.7.bb similarity index 88% rename from meta/recipes-support/bash-completion/bash-completion_2.5.bb rename to meta/recipes-support/bash-completion/bash-completion_2.7.bb index dd22857..7877e51 100644 --- a/meta/recipes-support/bash-completion/bash-completion_2.5.bb +++ b/meta/recipes-support/bash-completion/bash-completion_2.7.bb @@ -9,8 +9,8 @@ SECTION = "console/utils" SRC_URI = "https://github.com/scop/bash-completion/releases/download/${PV}/${BPN}-${PV}.tar.xz" -SRC_URI[md5sum] = "15300010bd4034de12c3fc4f171692e3" -SRC_URI[sha256sum] = "b0b9540c65532825eca030f1241731383f89b2b65e80f3492c5dd2f0438c95cf" +SRC_URI[md5sum] = "28117492bdc9408438e6041683a423ce" +SRC_URI[sha256sum] = "41ba892d3f427d4a686de32673f35401bc947a7801f684127120cdb13641441e" UPSTREAM_CHECK_REGEX = "bash-completion-(?P(?!2008).+)\.tar" UPSTREAM_CHECK_URI = "https://github.com/scop/bash-completion/releases" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 14:07:27 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 14:07:27 +0000 Subject: [oe-commits] [openembedded-core] 08/20: epiphany: upgrade to 3.24.3 In-Reply-To: <150116443983.10582.13656950786564060690@git.openembedded.org> References: <150116443983.10582.13656950786564060690@git.openembedded.org> Message-ID: <20170727140720.A9FBD234F34@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 4b4541350506a537b30cf3043efa66b33e2f02fd Author: Alexander Kanavin AuthorDate: Mon Jul 24 17:28:11 2017 +0300 epiphany: upgrade to 3.24.3 Signed-off-by: Alexander Kanavin Signed-off-by: Richard Purdie --- .../recipes-gnome/epiphany/{epiphany_3.24.2.bb => epiphany_3.24.3.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-gnome/epiphany/epiphany_3.24.2.bb b/meta/recipes-gnome/epiphany/epiphany_3.24.3.bb similarity index 84% rename from meta/recipes-gnome/epiphany/epiphany_3.24.2.bb rename to meta/recipes-gnome/epiphany/epiphany_3.24.3.bb index dafad8a..c507d23 100644 --- a/meta/recipes-gnome/epiphany/epiphany_3.24.2.bb +++ b/meta/recipes-gnome/epiphany/epiphany_3.24.3.bb @@ -12,8 +12,8 @@ REQUIRED_DISTRO_FEATURES = "x11" SRC_URI += "file://0001-yelp.m4-drop-the-check-for-itstool.patch \ file://0001-bookmarks-Check-for-return-value-of-fread.patch \ " -SRC_URI[archive.md5sum] = "e035dc6f64f0c1909de823e03f16b2f3" -SRC_URI[archive.sha256sum] = "5abc0d0c60591df5236ac9b8979dc9f7d9acbb8ad0902b4772d2b7beea81c58d" +SRC_URI[archive.md5sum] = "c0221aec6a08935e6854eaa9de9451ef" +SRC_URI[archive.sha256sum] = "fef51676310d9f37e18c9b2d778254232eb17cccd988c2d1ecf42c7b2963a154" EXTRA_OECONF += " --with-distributor-name=${DISTRO} --enable-debug=no" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 14:07:24 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 14:07:24 +0000 Subject: [oe-commits] [openembedded-core] 05/20: icu: update to 59.1 In-Reply-To: <150116443983.10582.13656950786564060690@git.openembedded.org> References: <150116443983.10582.13656950786564060690@git.openembedded.org> Message-ID: <20170727140720.690C8234F38@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 85ff3c2753d7ed4f88eab387eb2bead3b1ee929e Author: Alexander Kanavin AuthorDate: Mon Jul 24 17:28:08 2017 +0300 icu: update to 59.1 License checksum change due to copyright year update. Latest icu will not compile with anything less than C++11, so drop the enforcement of an earlier C++ version. This should be okay, as there is now a fix in place for the problem of mixing native gcc 4/5 compiled code: http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=c21cec84886d9c70396e9be0ceb9a8ef300b54be Signed-off-by: Alexander Kanavin Signed-off-by: Richard Purdie --- meta/conf/distro/include/uninative-flags.inc | 4 ---- meta/recipes-support/icu/{icu_58.2.bb => icu_59.1.bb} | 6 +++--- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/meta/conf/distro/include/uninative-flags.inc b/meta/conf/distro/include/uninative-flags.inc index f5b1547..febf2a5 100644 --- a/meta/conf/distro/include/uninative-flags.inc +++ b/meta/conf/distro/include/uninative-flags.inc @@ -1,7 +1,3 @@ -# icu configure defaults to CXX11 if no -std= option is passed in CXXFLAGS -# therefore pass one -BUILD_CXXFLAGS_append_pn-icu-native = " -std=c++98" - # Some distros (ubuntu 16.10, debian-testing) default to gcc configured with # --enable-default-pie (see gcc -v). This breaks e.g. prelink-native on a pie # default system if binutils-native was built on a system which is not pie default diff --git a/meta/recipes-support/icu/icu_58.2.bb b/meta/recipes-support/icu/icu_59.1.bb similarity index 78% rename from meta/recipes-support/icu/icu_58.2.bb rename to meta/recipes-support/icu/icu_59.1.bb index 47684a6..31f017b 100644 --- a/meta/recipes-support/icu/icu_58.2.bb +++ b/meta/recipes-support/icu/icu_59.1.bb @@ -1,6 +1,6 @@ require icu.inc -LIC_FILES_CHKSUM = "file://../LICENSE;md5=1b3b75c1777cd49ad5c6a24cd338cfc9" +LIC_FILES_CHKSUM = "file://../LICENSE;md5=fe9e1f2c500466d8f18df2cd068e4b74" def icu_download_version(d): pvsplit = d.getVar('PV').split('.') @@ -22,8 +22,8 @@ SRC_URI = "${BASE_SRC_URI} \ SRC_URI_append_class-target = "\ file://0001-Disable-LDFLAGSICUDT-for-Linux.patch \ " -SRC_URI[md5sum] = "fac212b32b7ec7ab007a12dff1f3aea1" -SRC_URI[sha256sum] = "2b0a4410153a9b20de0e20c7d8b66049a72aef244b53683d0d7521371683da0c" +SRC_URI[md5sum] = "54923fa9fab5b2b83f235fb72523de37" +SRC_URI[sha256sum] = "7132fdaf9379429d004005217f10e00b7d2319d0fea22bdfddef8991c45b75fe" UPSTREAM_CHECK_REGEX = "(?P\d+(\.\d+)+)/" UPSTREAM_CHECK_URI = "http://download.icu-project.org/files/icu4c/" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 14:07:29 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 14:07:29 +0000 Subject: [oe-commits] [openembedded-core] 10/20: mpg123: update to 1.25.4 In-Reply-To: <150116443983.10582.13656950786564060690@git.openembedded.org> References: <150116443983.10582.13656950786564060690@git.openembedded.org> Message-ID: <20170727140720.BB968234F36@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit c0dde2c75f585c46f0869739cb6ff2c769a33bdf Author: Alexander Kanavin AuthorDate: Mon Jul 24 17:28:15 2017 +0300 mpg123: update to 1.25.4 Signed-off-by: Alexander Kanavin Signed-off-by: Richard Purdie --- meta/recipes-multimedia/mpg123/{mpg123_1.25.0.bb => mpg123_1.25.4.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-multimedia/mpg123/mpg123_1.25.0.bb b/meta/recipes-multimedia/mpg123/mpg123_1.25.4.bb similarity index 94% rename from meta/recipes-multimedia/mpg123/mpg123_1.25.0.bb rename to meta/recipes-multimedia/mpg123/mpg123_1.25.4.bb index f86098c..96e8f21 100644 --- a/meta/recipes-multimedia/mpg123/mpg123_1.25.0.bb +++ b/meta/recipes-multimedia/mpg123/mpg123_1.25.4.bb @@ -11,8 +11,8 @@ LICENSE_FLAGS = "commercial" LIC_FILES_CHKSUM = "file://COPYING;md5=1e86753638d3cf2512528b99079bc4f3" SRC_URI = "https://www.mpg123.de/download/${BP}.tar.bz2" -SRC_URI[md5sum] = "2ffbe29c99130215b0ee7d1b11c0ea4b" -SRC_URI[sha256sum] = "552e3e1db045e00f474252917007795ac295863fc8b13891859b3382d2f24e48" +SRC_URI[md5sum] = "810e9d00fd75c92c4afafa20245317b5" +SRC_URI[sha256sum] = "cdb5620e8aab83f75a27dab3394a44b9cc4017fc77b2954b8425ca416db6b3e7" inherit autotools pkgconfig -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 14:07:28 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 14:07:28 +0000 Subject: [oe-commits] [openembedded-core] 09/20: vala: upgrade to 0.36.4 In-Reply-To: <150116443983.10582.13656950786564060690@git.openembedded.org> References: <150116443983.10582.13656950786564060690@git.openembedded.org> Message-ID: <20170727140720.B28FF234F35@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 9c65c74234dd1929ce06e60bb22cb8a280adefeb Author: Alexander Kanavin AuthorDate: Mon Jul 24 17:28:13 2017 +0300 vala: upgrade to 0.36.4 Signed-off-by: Alexander Kanavin Signed-off-by: Richard Purdie --- meta/recipes-devtools/vala/{vala_0.36.3.bb => vala_0.36.4.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-devtools/vala/vala_0.36.3.bb b/meta/recipes-devtools/vala/vala_0.36.4.bb similarity index 56% rename from meta/recipes-devtools/vala/vala_0.36.3.bb rename to meta/recipes-devtools/vala/vala_0.36.4.bb index e5707c8..51000d9 100644 --- a/meta/recipes-devtools/vala/vala_0.36.3.bb +++ b/meta/recipes-devtools/vala/vala_0.36.4.bb @@ -4,5 +4,5 @@ SRC_URI += " file://0001-git-version-gen-don-t-append-dirty-if-we-re-not-in-g.pa file://0001-vapigen.m4-use-PKG_CONFIG_SYSROOT_DIR.patch \ " -SRC_URI[md5sum] = "ff093f46e1d2e0b179543ec43cf27d76" -SRC_URI[sha256sum] = "ac8a4ecd01f62d0c5f62ba50b7290d8c5a1edb308eec772a65b8e79be68f061c" +SRC_URI[md5sum] = "3c19014093f1a3d995357253b463082c" +SRC_URI[sha256sum] = "e9f23ce711c1a72ce664d10946fbc5953f01b0b7f2a3562e7a01e362d86de059" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 14:07:30 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 14:07:30 +0000 Subject: [oe-commits] [openembedded-core] 11/20: webkitgtk: update to 2.16.6 In-Reply-To: <150116443983.10582.13656950786564060690@git.openembedded.org> References: <150116443983.10582.13656950786564060690@git.openembedded.org> Message-ID: <20170727140720.C361D234F33@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit e036fb2a0106d56ebef341d58319c5c14ab390df Author: Alexander Kanavin AuthorDate: Mon Jul 24 17:28:17 2017 +0300 webkitgtk: update to 2.16.6 Signed-off-by: Alexander Kanavin Signed-off-by: Richard Purdie --- meta/recipes-sato/webkit/{webkitgtk_2.16.5.bb => webkitgtk_2.16.6.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-sato/webkit/webkitgtk_2.16.5.bb b/meta/recipes-sato/webkit/webkitgtk_2.16.6.bb similarity index 97% rename from meta/recipes-sato/webkit/webkitgtk_2.16.5.bb rename to meta/recipes-sato/webkit/webkitgtk_2.16.6.bb index dcaf8a6..fbc74dc 100644 --- a/meta/recipes-sato/webkit/webkitgtk_2.16.5.bb +++ b/meta/recipes-sato/webkit/webkitgtk_2.16.6.bb @@ -23,8 +23,8 @@ SRC_URI = "http://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \ file://detect-atomics-during-configure.patch \ " -SRC_URI[md5sum] = "fce72dc89cd310a663d9eb97133861fe" -SRC_URI[sha256sum] = "8e0396f3428e757898c5856e642eed4fcd5a20ae03d96d3eaa03b76634be7dd4" +SRC_URI[md5sum] = "0e2d142a586e4ff79cf0324f4fdbf20c" +SRC_URI[sha256sum] = "fc23650df953123c59b9c0edf3855e7bd55bd107820997fc72375811e1ea4b21" inherit cmake pkgconfig gobject-introspection perlnative distro_features_check upstream-version-is-even gtk-doc -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 14:07:31 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 14:07:31 +0000 Subject: [oe-commits] [openembedded-core] 12/20: pciutils: upgrade to 3.5.5 In-Reply-To: <150116443983.10582.13656950786564060690@git.openembedded.org> References: <150116443983.10582.13656950786564060690@git.openembedded.org> Message-ID: <20170727140720.CC97C234F3B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 86258f03a84ac6dbdc865ed0a91c5b7389efbc7d Author: Chen Qi AuthorDate: Mon Jul 24 17:51:08 2017 +0800 pciutils: upgrade to 3.5.5 Signed-off-by: Chen Qi Signed-off-by: Richard Purdie --- meta/recipes-bsp/pciutils/{pciutils_3.5.4.bb => pciutils_3.5.5.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-bsp/pciutils/pciutils_3.5.4.bb b/meta/recipes-bsp/pciutils/pciutils_3.5.5.bb similarity index 92% rename from meta/recipes-bsp/pciutils/pciutils_3.5.4.bb rename to meta/recipes-bsp/pciutils/pciutils_3.5.5.bb index 418f712..8382c84 100644 --- a/meta/recipes-bsp/pciutils/pciutils_3.5.4.bb +++ b/meta/recipes-bsp/pciutils/pciutils_3.5.5.bb @@ -11,8 +11,8 @@ DEPENDS = "zlib kmod" SRC_URI = "${KERNELORG_MIRROR}/software/utils/pciutils/pciutils-${PV}.tar.xz \ file://configure.patch" -SRC_URI[md5sum] = "e82537cd2194111c45fa7e684b52252e" -SRC_URI[sha256sum] = "64293c6ab9318c40ef262b76d87bd9097531759752bac556e50979b1e63cfe66" +SRC_URI[md5sum] = "238d9969cc0de8b9105d972007d9d546" +SRC_URI[sha256sum] = "1d62f8fa192f90e61c35a6fc15ff3cb9a7a792f782407acc42ef67817c5939f5" inherit multilib_header -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 14:07:33 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 14:07:33 +0000 Subject: [oe-commits] [openembedded-core] 14/20: cups: upgrade to 2.2.4 In-Reply-To: <150116443983.10582.13656950786564060690@git.openembedded.org> References: <150116443983.10582.13656950786564060690@git.openembedded.org> Message-ID: <20170727140720.DEC54234F3C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 63cbee8a9dbbc3e036dcaa0c744d460e67a74e6b Author: Chen Qi AuthorDate: Mon Jul 24 17:51:10 2017 +0800 cups: upgrade to 2.2.4 Signed-off-by: Chen Qi Signed-off-by: Richard Purdie --- meta/recipes-extended/cups/cups_2.2.3.bb | 6 ------ meta/recipes-extended/cups/cups_2.2.4.bb | 6 ++++++ 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/meta/recipes-extended/cups/cups_2.2.3.bb b/meta/recipes-extended/cups/cups_2.2.3.bb deleted file mode 100644 index 204d14d..0000000 --- a/meta/recipes-extended/cups/cups_2.2.3.bb +++ /dev/null @@ -1,6 +0,0 @@ -require cups.inc - -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=f212b4338db0da8cb892e94bf2949460" - -SRC_URI[md5sum] = "006a8156680a516e43c59034e31df8bf" -SRC_URI[sha256sum] = "66701fe15838f2c892052c913bde1ba106bbee2e0a953c955a62ecacce76885f" diff --git a/meta/recipes-extended/cups/cups_2.2.4.bb b/meta/recipes-extended/cups/cups_2.2.4.bb new file mode 100644 index 0000000..ed94b67 --- /dev/null +++ b/meta/recipes-extended/cups/cups_2.2.4.bb @@ -0,0 +1,6 @@ +require cups.inc + +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=f212b4338db0da8cb892e94bf2949460" + +SRC_URI[md5sum] = "d26e5a0a574a69fe1d01079b2931fc49" +SRC_URI[sha256sum] = "596d4db72651c335469ae5f37b0da72ac9f97d73e30838d787065f559dea98cc" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 14:07:36 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 14:07:36 +0000 Subject: [oe-commits] [openembedded-core] 17/20: dbus/dbus-test: upgrade to 1.10.20 In-Reply-To: <150116443983.10582.13656950786564060690@git.openembedded.org> References: <150116443983.10582.13656950786564060690@git.openembedded.org> Message-ID: <20170727140721.06136234F3F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit a3347cdce8476c538b665f56045736263eaecd85 Author: Chen Qi AuthorDate: Mon Jul 24 17:51:13 2017 +0800 dbus/dbus-test: upgrade to 1.10.20 Signed-off-by: Chen Qi Signed-off-by: Richard Purdie --- meta/recipes-core/dbus/{dbus-test_1.10.18.bb => dbus-test_1.10.20.bb} | 4 ++-- meta/recipes-core/dbus/{dbus_1.10.18.bb => dbus_1.10.20.bb} | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/meta/recipes-core/dbus/dbus-test_1.10.18.bb b/meta/recipes-core/dbus/dbus-test_1.10.20.bb similarity index 93% rename from meta/recipes-core/dbus/dbus-test_1.10.18.bb rename to meta/recipes-core/dbus/dbus-test_1.10.20.bb index 141baf2..eeadb7d 100644 --- a/meta/recipes-core/dbus/dbus-test_1.10.18.bb +++ b/meta/recipes-core/dbus/dbus-test_1.10.20.bb @@ -17,8 +17,8 @@ SRC_URI = "http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz \ file://clear-guid_from_server-if-send_negotiate_unix_f.patch \ " -SRC_URI[md5sum] = "1209c455598165a0c5263d4201894179" -SRC_URI[sha256sum] = "6049ddd5f3f3e2618f615f1faeda0a115104423a7996b7aa73e2f36e38cc514a" +SRC_URI[md5sum] = "94c991e763d4f9f13690416b2dcd9411" +SRC_URI[sha256sum] = "e574b9780b5425fde4d973bb596e7ea0f09e00fe2edd662da9016e976c460b48" S="${WORKDIR}/dbus-${PV}" FILESEXTRAPATHS =. "${FILE_DIRNAME}/dbus:" diff --git a/meta/recipes-core/dbus/dbus_1.10.18.bb b/meta/recipes-core/dbus/dbus_1.10.20.bb similarity index 97% rename from meta/recipes-core/dbus/dbus_1.10.18.bb rename to meta/recipes-core/dbus/dbus_1.10.20.bb index c0b63d1..9ddedc1 100644 --- a/meta/recipes-core/dbus/dbus_1.10.18.bb +++ b/meta/recipes-core/dbus/dbus_1.10.20.bb @@ -20,8 +20,8 @@ SRC_URI = "http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz \ file://0001-configure.ac-explicitely-check-stdint.h.patch \ " -SRC_URI[md5sum] = "1209c455598165a0c5263d4201894179" -SRC_URI[sha256sum] = "6049ddd5f3f3e2618f615f1faeda0a115104423a7996b7aa73e2f36e38cc514a" +SRC_URI[md5sum] = "94c991e763d4f9f13690416b2dcd9411" +SRC_URI[sha256sum] = "e574b9780b5425fde4d973bb596e7ea0f09e00fe2edd662da9016e976c460b48" inherit useradd autotools pkgconfig gettext update-rc.d upstream-version-is-even -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 14:07:32 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 14:07:32 +0000 Subject: [oe-commits] [openembedded-core] 13/20: diffutils: upgrade to 3.6 In-Reply-To: <150116443983.10582.13656950786564060690@git.openembedded.org> References: <150116443983.10582.13656950786564060690@git.openembedded.org> Message-ID: <20170727140720.D5906234F37@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 075901425e07bb80e66449426f49006898788d8a Author: Chen Qi AuthorDate: Mon Jul 24 17:51:09 2017 +0800 diffutils: upgrade to 3.6 diffutils-3.5-gcc7.patch is removed as it's merged in this version. do_configure_prepend is removed to solve the following configure error. error: possibly undefined macro: gl_TYPE_WINT_T_PREREQ A workaround patch is made to fix the following compilation error for glibc. error: dereferencing pointer to incomplete type 'const struct rpl_option' Signed-off-by: Chen Qi Signed-off-by: Richard Purdie --- .../diffutils-3.5/diffutils-3.5-gcc7.patch | 228 --------------------- ...need_charset_alias-when-building-for-musl.patch | 0 .../0001-explicitly-disable-replacing-getopt.patch | 30 +++ .../{diffutils-3.5 => diffutils-3.6}/run-ptest | 0 .../{diffutils_3.5.bb => diffutils_3.6.bb} | 14 +- 5 files changed, 34 insertions(+), 238 deletions(-) diff --git a/meta/recipes-extended/diffutils/diffutils-3.5/diffutils-3.5-gcc7.patch b/meta/recipes-extended/diffutils/diffutils-3.5/diffutils-3.5-gcc7.patch deleted file mode 100644 index 52bcd7c..0000000 --- a/meta/recipes-extended/diffutils/diffutils-3.5/diffutils-3.5-gcc7.patch +++ /dev/null @@ -1,228 +0,0 @@ -Cumulative Backports from upstream to address gcc 7 portablility issues -Imported from Fedora - -Upstream-Status: Backport -Signed-off-by: Khem Raj - -diff -up diffutils-3.5/lib/intprops.h.than diffutils-3.5/lib/intprops.h ---- diffutils-3.5/lib/intprops.h.than 2017-02-21 09:08:39.470417367 -0500 -+++ diffutils-3.5/lib/intprops.h 2017-02-21 09:46:57.090996508 -0500 -@@ -1,6 +1,6 @@ - /* intprops.h -- properties of integer types - -- Copyright (C) 2001-2016 Free Software Foundation, Inc. -+ Copyright (C) 2001-2017 Free Software Foundation, Inc. - - This program is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published -@@ -47,12 +47,16 @@ - - /* Minimum and maximum values for integer types and expressions. */ - -+/* The width in bits of the integer type or expression T. -+ Padding bits are not supported; this is checked at compile-time below. */ -+#define TYPE_WIDTH(t) (sizeof (t) * CHAR_BIT) -+ - /* The maximum and minimum values for the integer type T. */ - #define TYPE_MINIMUM(t) ((t) ~ TYPE_MAXIMUM (t)) - #define TYPE_MAXIMUM(t) \ - ((t) (! TYPE_SIGNED (t) \ - ? (t) -1 \ -- : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1))) -+ : ((((t) 1 << (TYPE_WIDTH (t) - 2)) - 1) * 2 + 1))) - - /* The maximum and minimum values for the type of the expression E, - after integer promotion. E should not have side effects. */ -@@ -65,7 +69,13 @@ - ? _GL_SIGNED_INT_MAXIMUM (e) \ - : _GL_INT_NEGATE_CONVERT (e, 1)) - #define _GL_SIGNED_INT_MAXIMUM(e) \ -- (((_GL_INT_CONVERT (e, 1) << (sizeof ((e) + 0) * CHAR_BIT - 2)) - 1) * 2 + 1) -+ (((_GL_INT_CONVERT (e, 1) << (TYPE_WIDTH ((e) + 0) - 2)) - 1) * 2 + 1) -+ -+/* Work around OpenVMS incompatibility with C99. */ -+#if !defined LLONG_MAX && defined __INT64_MAX -+# define LLONG_MAX __INT64_MAX -+# define LLONG_MIN __INT64_MIN -+#endif - - /* This include file assumes that signed types are two's complement without - padding bits; the above macros have undefined behavior otherwise. -@@ -84,10 +94,15 @@ verify (TYPE_MAXIMUM (long int) == LONG_ - verify (TYPE_MINIMUM (long long int) == LLONG_MIN); - verify (TYPE_MAXIMUM (long long int) == LLONG_MAX); - #endif -+/* Similarly, sanity-check one ISO/IEC TS 18661-1:2014 macro if defined. */ -+#ifdef UINT_WIDTH -+verify (TYPE_WIDTH (unsigned int) == UINT_WIDTH); -+#endif - - /* Does the __typeof__ keyword work? This could be done by - 'configure', but for now it's easier to do it by hand. */ --#if (2 <= __GNUC__ || defined __IBM__TYPEOF__ \ -+#if (2 <= __GNUC__ \ -+ || (1210 <= __IBMC__ && defined __IBM__TYPEOF__) \ - || (0x5110 <= __SUNPRO_C && !__STDC__)) - # define _GL_HAVE___TYPEOF__ 1 - #else -@@ -116,8 +131,7 @@ verify (TYPE_MAXIMUM (long long int) == - signed, this macro may overestimate the true bound by one byte when - applied to unsigned types of size 2, 4, 16, ... bytes. */ - #define INT_STRLEN_BOUND(t) \ -- (INT_BITS_STRLEN_BOUND (sizeof (t) * CHAR_BIT \ -- - _GL_SIGNED_TYPE_OR_EXPR (t)) \ -+ (INT_BITS_STRLEN_BOUND (TYPE_WIDTH (t) - _GL_SIGNED_TYPE_OR_EXPR (t)) \ - + _GL_SIGNED_TYPE_OR_EXPR (t)) - - /* Bound on buffer size needed to represent an integer type or expression T, -@@ -222,20 +236,23 @@ verify (TYPE_MAXIMUM (long long int) == - ? (a) < (min) >> (b) \ - : (max) >> (b) < (a)) - --/* True if __builtin_add_overflow (A, B, P) works when P is null. */ --#define _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL (7 <= __GNUC__) -+/* True if __builtin_add_overflow (A, B, P) works when P is non-null. */ -+#define _GL_HAS_BUILTIN_OVERFLOW (5 <= __GNUC__) -+ -+/* True if __builtin_add_overflow_p (A, B, C) works. */ -+#define _GL_HAS_BUILTIN_OVERFLOW_P (7 <= __GNUC__) - - /* The _GL*_OVERFLOW macros have the same restrictions as the - *_RANGE_OVERFLOW macros, except that they do not assume that operands - (e.g., A and B) have the same type as MIN and MAX. Instead, they assume - that the result (e.g., A + B) has that type. */ --#if _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL --# define _GL_ADD_OVERFLOW(a, b, min, max) -- __builtin_add_overflow (a, b, (__typeof__ ((a) + (b)) *) 0) --# define _GL_SUBTRACT_OVERFLOW(a, b, min, max) -- __builtin_sub_overflow (a, b, (__typeof__ ((a) - (b)) *) 0) --# define _GL_MULTIPLY_OVERFLOW(a, b, min, max) -- __builtin_mul_overflow (a, b, (__typeof__ ((a) * (b)) *) 0) -+#if _GL_HAS_BUILTIN_OVERFLOW_P -+# define _GL_ADD_OVERFLOW(a, b, min, max) \ -+ __builtin_add_overflow_p (a, b, (__typeof__ ((a) + (b))) 0) -+# define _GL_SUBTRACT_OVERFLOW(a, b, min, max) \ -+ __builtin_sub_overflow_p (a, b, (__typeof__ ((a) - (b))) 0) -+# define _GL_MULTIPLY_OVERFLOW(a, b, min, max) \ -+ __builtin_mul_overflow_p (a, b, (__typeof__ ((a) * (b))) 0) - #else - # define _GL_ADD_OVERFLOW(a, b, min, max) \ - ((min) < 0 ? INT_ADD_RANGE_OVERFLOW (a, b, min, max) \ -@@ -315,7 +332,7 @@ verify (TYPE_MAXIMUM (long long int) == - _GL_BINARY_OP_OVERFLOW (a, b, _GL_ADD_OVERFLOW) - #define INT_SUBTRACT_OVERFLOW(a, b) \ - _GL_BINARY_OP_OVERFLOW (a, b, _GL_SUBTRACT_OVERFLOW) --#if _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL -+#if _GL_HAS_BUILTIN_OVERFLOW_P - # define INT_NEGATE_OVERFLOW(a) INT_SUBTRACT_OVERFLOW (0, a) - #else - # define INT_NEGATE_OVERFLOW(a) \ -@@ -349,10 +366,6 @@ verify (TYPE_MAXIMUM (long long int) == - #define INT_MULTIPLY_WRAPV(a, b, r) \ - _GL_INT_OP_WRAPV (a, b, r, *, __builtin_mul_overflow, INT_MULTIPLY_OVERFLOW) - --#ifndef __has_builtin --# define __has_builtin(x) 0 --#endif -- - /* Nonzero if this compiler has GCC bug 68193 or Clang bug 25390. See: - https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68193 - https://llvm.org/bugs/show_bug.cgi?id=25390 -@@ -369,7 +382,7 @@ verify (TYPE_MAXIMUM (long long int) == - the operation. BUILTIN is the builtin operation, and OVERFLOW the - overflow predicate. Return 1 if the result overflows. See above - for restrictions. */ --#if 5 <= __GNUC__ || __has_builtin (__builtin_add_overflow) -+#if _GL_HAS_BUILTIN_OVERFLOW - # define _GL_INT_OP_WRAPV(a, b, r, op, builtin, overflow) builtin (a, b, r) - #elif 201112 <= __STDC_VERSION__ && !_GL__GENERIC_BOGUS - # define _GL_INT_OP_WRAPV(a, b, r, op, builtin, overflow) \ -@@ -412,7 +425,7 @@ verify (TYPE_MAXIMUM (long long int) == - # else - # define _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow) \ - _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \ -- long int, LONG_MIN, LONG_MAX)) -+ long int, LONG_MIN, LONG_MAX) - # endif - #endif - -diff -up diffutils-3.5/lib/xalloc-oversized.h.than diffutils-3.5/lib/xalloc-oversized.h ---- diffutils-3.5/lib/xalloc-oversized.h.than 2017-02-21 09:45:13.729168233 -0500 -+++ diffutils-3.5/lib/xalloc-oversized.h 2017-02-21 09:45:18.309249247 -0500 -@@ -1,6 +1,6 @@ - /* xalloc-oversized.h -- memory allocation size checking - -- Copyright (C) 1990-2000, 2003-2004, 2006-2016 Free Software Foundation, Inc. -+ Copyright (C) 1990-2000, 2003-2004, 2006-2017 Free Software Foundation, Inc. - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by -@@ -19,48 +19,37 @@ - #define XALLOC_OVERSIZED_H_ - - #include -+#include - --/* Default for (non-Clang) compilers that lack __has_builtin. */ --#ifndef __has_builtin --# define __has_builtin(x) 0 --#endif -- --/* True if N * S would overflow in a size calculation. -+/* True if N * S would overflow in a size_t calculation, -+ or would generate a value larger than PTRDIFF_MAX. - This expands to a constant expression if N and S are both constants. - By gnulib convention, SIZE_MAX represents overflow in size -- calculations, so the conservative dividend to use here is -- SIZE_MAX - 1, since SIZE_MAX might represent an overflowed value. -- However, malloc (SIZE_MAX) fails on all known hosts where -- sizeof (ptrdiff_t) <= sizeof (size_t), so do not bother to test for -- exactly-SIZE_MAX allocations on such hosts; this avoids a test and -- branch when S is known to be 1. */ -+ calculations, so the conservative size_t-based dividend to use here -+ is SIZE_MAX - 1. */ - #define __xalloc_oversized(n, s) \ -- ((size_t) (sizeof (ptrdiff_t) <= sizeof (size_t) ? -1 : -2) / (s) < (n)) -+ ((size_t) (PTRDIFF_MAX < SIZE_MAX ? PTRDIFF_MAX : SIZE_MAX - 1) / (s) < (n)) - -+#if PTRDIFF_MAX < SIZE_MAX -+typedef ptrdiff_t __xalloc_count_type; -+#else -+typedef size_t __xalloc_count_type; -+#endif - --/* Return 1 if an array of N objects, each of size S, cannot exist due -- to size arithmetic overflow. S must be positive and N must be -- nonnegative. This is a macro, not a function, so that it -- works correctly even when SIZE_MAX < N. */ -+/* Return 1 if an array of N objects, each of size S, cannot exist -+ reliably due to size or ptrdiff_t arithmetic overflow. S must be -+ positive and N must be nonnegative. This is a macro, not a -+ function, so that it works correctly even when SIZE_MAX < N. */ - --/* GCC 7 __builtin_mul_overflow should easily compute this. See: -- https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68120 */ - #if 7 <= __GNUC__ --# define xalloc_oversized(n, s) __builtin_mul_overflow (n, s, (size_t *) NULL) -- --/* GCC 5 and Clang __builtin_mul_overflow needs a temporary, and -- should be used only for non-constant operands, so that -- xalloc_oversized is a constant expression if both arguments are. -- Do not use this if pedantic, since pedantic GCC issues a diagnostic -- for ({ ... }). */ --#elif ((5 <= __GNUC__ \ -- || (__has_builtin (__builtin_mul_overflow) \ -- && __has_builtin (__builtin_constant_p))) \ -- && !__STRICT_ANSI__) -+# define xalloc_oversized(n, s) \ -+ __builtin_mul_overflow_p (n, s, (__xalloc_count_type) 1) -+#elif 5 <= __GNUC__ && !__STRICT_ANSI__ - # define xalloc_oversized(n, s) \ - (__builtin_constant_p (n) && __builtin_constant_p (s) \ - ? __xalloc_oversized (n, s) \ -- : ({ size_t __xalloc_size; __builtin_mul_overflow (n, s, &__xalloc_size); })) -+ : ({ __xalloc_count_type __xalloc_count; \ -+ __builtin_mul_overflow (n, s, &__xalloc_count); })) - - /* Other compilers use integer division; this may be slower but is - more portable. */ diff --git a/meta/recipes-extended/diffutils/diffutils-3.5/0001-Unset-need_charset_alias-when-building-for-musl.patch b/meta/recipes-extended/diffutils/diffutils-3.6/0001-Unset-need_charset_alias-when-building-for-musl.patch similarity index 100% rename from meta/recipes-extended/diffutils/diffutils-3.5/0001-Unset-need_charset_alias-when-building-for-musl.patch rename to meta/recipes-extended/diffutils/diffutils-3.6/0001-Unset-need_charset_alias-when-building-for-musl.patch diff --git a/meta/recipes-extended/diffutils/diffutils-3.6/0001-explicitly-disable-replacing-getopt.patch b/meta/recipes-extended/diffutils/diffutils-3.6/0001-explicitly-disable-replacing-getopt.patch new file mode 100644 index 0000000..351f87c --- /dev/null +++ b/meta/recipes-extended/diffutils/diffutils-3.6/0001-explicitly-disable-replacing-getopt.patch @@ -0,0 +1,30 @@ +Subject: explicitly disable replacing getopt + +Explicitly disable replacing getopt to avoid compilation error like below. + + xstrtol-error.c:84:26: error: invalid use of undefined type 'struct rpl_option' + +Upstream-Status: Inappropriate [workaround] +Signed-off-by: Chen Qi +--- + m4/getopt.m4 | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/m4/getopt.m4 b/m4/getopt.m4 +index 3ebc7b7..8934426 100644 +--- a/m4/getopt.m4 ++++ b/m4/getopt.m4 +@@ -22,8 +22,8 @@ AC_DEFUN([gl_FUNC_GETOPT_POSIX], + fi + ]) + if test $REPLACE_GETOPT = 1; then +- dnl Arrange for getopt.h to be created. +- gl_GETOPT_SUBSTITUTE_HEADER ++ dnl Explicitly disable replacing getopt ++ : + fi + ]) + +-- +2.11.0 + diff --git a/meta/recipes-extended/diffutils/diffutils-3.5/run-ptest b/meta/recipes-extended/diffutils/diffutils-3.6/run-ptest similarity index 100% rename from meta/recipes-extended/diffutils/diffutils-3.5/run-ptest rename to meta/recipes-extended/diffutils/diffutils-3.6/run-ptest diff --git a/meta/recipes-extended/diffutils/diffutils_3.5.bb b/meta/recipes-extended/diffutils/diffutils_3.6.bb similarity index 66% rename from meta/recipes-extended/diffutils/diffutils_3.5.bb rename to meta/recipes-extended/diffutils/diffutils_3.6.bb index a4fc27b..a2ea484 100644 --- a/meta/recipes-extended/diffutils/diffutils_3.5.bb +++ b/meta/recipes-extended/diffutils/diffutils_3.6.bb @@ -5,24 +5,18 @@ require diffutils.inc SRC_URI = "${GNU_MIRROR}/diffutils/diffutils-${PV}.tar.xz \ file://0001-Unset-need_charset_alias-when-building-for-musl.patch \ - file://diffutils-3.5-gcc7.patch \ file://run-ptest \ " -SRC_URI[md5sum] = "569354697ff1cfc9a9de3781361015fa" -SRC_URI[sha256sum] = "dad398ccd5b9faca6b0ab219a036453f62a602a56203ac659b43e889bec35533" +SRC_URI_append_libc-glibc = " file://0001-explicitly-disable-replacing-getopt.patch" + +SRC_URI[md5sum] = "07cf286672ced26fba54cd0313bdc071" +SRC_URI[sha256sum] = "d621e8bdd4b573918c8145f7ae61817d1be9deb4c8d2328a65cea8e11d783bd6" EXTRA_OECONF += "ac_cv_path_PR_PROGRAM=${bindir}/pr --without-libsigsegv-prefix" # Fix "Argument list too long" error when len(TMPDIR) = 410 acpaths = "-I ./m4" -do_configure_prepend () { - # Need to remove gettext macros with weird mix of versions - for i in codeset.m4 gettext_gl.m4 intlmacosx.m4 inttypes-pri.m4 lib-ld_gl.m4 lib-prefix_gl.m4 po_gl.m4 ssize_t.m4 wchar_t.m4 wint_t.m4; do - rm -f ${S}/m4/$i - done -} - inherit ptest do_install_ptest() { -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 14:07:34 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 14:07:34 +0000 Subject: [oe-commits] [openembedded-core] 15/20: sudo: upgrade to 1.8.20p2 In-Reply-To: <150116443983.10582.13656950786564060690@git.openembedded.org> References: <150116443983.10582.13656950786564060690@git.openembedded.org> Message-ID: <20170727140720.E87FA234F3D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 60cb238cc30de3d44f9a4f75015d37a59b53f4c4 Author: Chen Qi AuthorDate: Mon Jul 24 17:51:11 2017 +0800 sudo: upgrade to 1.8.20p2 The checksum for doc/LICENSE is changed, but the content only changes year from '2013' to '2017', so the license remains the same. Signed-off-by: Chen Qi Signed-off-by: Richard Purdie --- meta/recipes-extended/sudo/sudo.inc | 2 +- meta/recipes-extended/sudo/{sudo_1.8.19p2.bb => sudo_1.8.20p2.bb} | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/meta/recipes-extended/sudo/sudo.inc b/meta/recipes-extended/sudo/sudo.inc index d42a04a..8c16d83 100644 --- a/meta/recipes-extended/sudo/sudo.inc +++ b/meta/recipes-extended/sudo/sudo.inc @@ -4,7 +4,7 @@ HOMEPAGE = "http://www.sudo.ws" BUGTRACKER = "http://www.sudo.ws/bugs/" SECTION = "admin" LICENSE = "ISC & BSD & Zlib" -LIC_FILES_CHKSUM = "file://doc/LICENSE;md5=f600a47c2a2cdde5899e449607810ed1 \ +LIC_FILES_CHKSUM = "file://doc/LICENSE;md5=652fb4334c13b511597d7940ef8b3323 \ file://plugins/sudoers/redblack.c;beginline=1;endline=41;md5=cfe41112f96c19a074934d128f45c693 \ file://lib/util/reallocarray.c;beginline=3;endline=16;md5=85b0905b795d4d58bf2e00635649eec6 \ file://lib/util/fnmatch.c;beginline=3;endline=27;md5=67f83ee9bd456557397082f8f1be0efd \ diff --git a/meta/recipes-extended/sudo/sudo_1.8.19p2.bb b/meta/recipes-extended/sudo/sudo_1.8.20p2.bb similarity index 90% rename from meta/recipes-extended/sudo/sudo_1.8.19p2.bb rename to meta/recipes-extended/sudo/sudo_1.8.20p2.bb index a9659c3..4f24b3c 100644 --- a/meta/recipes-extended/sudo/sudo_1.8.19p2.bb +++ b/meta/recipes-extended/sudo/sudo_1.8.20p2.bb @@ -7,8 +7,8 @@ SRC_URI = "http://ftp.sudo.ws/sudo/dist/sudo-${PV}.tar.gz \ PAM_SRC_URI = "file://sudo.pam" -SRC_URI[md5sum] = "31a6090ed1d0946fa22cba19e86aafef" -SRC_URI[sha256sum] = "237e18e67c2ad59ecacfa4b7707198b09fcf84914621585a9bc670dcc31a52e0" +SRC_URI[md5sum] = "03da8e711caca6fd93e57751bfb74adc" +SRC_URI[sha256sum] = "bd42ae1059e935f795c69ea97b3de09fe9410a58a74b5d5e6836eb5067a445d9" DEPENDS += " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" RDEPENDS_${PN} += " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-limits pam-plugin-keyinit', '', d)}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 14:07:35 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 14:07:35 +0000 Subject: [oe-commits] [openembedded-core] 16/20: sysstat: upgrade to 11.5.7 In-Reply-To: <150116443983.10582.13656950786564060690@git.openembedded.org> References: <150116443983.10582.13656950786564060690@git.openembedded.org> Message-ID: <20170727140720.F0E4E234F3E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit bbdd4856e7a40f48b29322f2dd304046d5774db2 Author: Chen Qi AuthorDate: Mon Jul 24 17:51:12 2017 +0800 sysstat: upgrade to 11.5.7 Signed-off-by: Chen Qi Signed-off-by: Richard Purdie --- .../recipes-extended/sysstat/{sysstat_11.5.6.bb => sysstat_11.5.7.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-extended/sysstat/sysstat_11.5.6.bb b/meta/recipes-extended/sysstat/sysstat_11.5.7.bb similarity index 53% rename from meta/recipes-extended/sysstat/sysstat_11.5.6.bb rename to meta/recipes-extended/sysstat/sysstat_11.5.7.bb index cdf9b12..72af931 100644 --- a/meta/recipes-extended/sysstat/sysstat_11.5.6.bb +++ b/meta/recipes-extended/sysstat/sysstat_11.5.7.bb @@ -4,5 +4,5 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=a23a74b3f4caf9616230789d94217acb" SRC_URI += "file://0001-Include-needed-headers-explicitly.patch" -SRC_URI[md5sum] = "92735f1be44c676960b53ee28e3a4984" -SRC_URI[sha256sum] = "83a81e0a6c1d39a0985310dc2944ac6214c963adb4dc8af24ae03a9ae8d0f3ac" +SRC_URI[md5sum] = "8f4a5d0de29f1056153e25e7a9c518d2" +SRC_URI[sha256sum] = "4a38efaa0ca85ee5484d046bd427012979264fef17f07fd7855860e592819482" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 14:07:39 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 14:07:39 +0000 Subject: [oe-commits] [openembedded-core] 20/20: core-image-minimal-initramfs: use initramfs-framework by default In-Reply-To: <150116443983.10582.13656950786564060690@git.openembedded.org> References: <150116443983.10582.13656950786564060690@git.openembedded.org> Message-ID: <20170727140721.20CA7234F42@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit ee754522cca4d87a3d03ff4c1c3a72b05a364388 Author: Ng, Wei Tee AuthorDate: Sun Jul 23 16:51:57 2017 -0700 core-image-minimal-initramfs: use initramfs-framework by default Use the initramfs-framework for initialization by default due to the modularity and expansibility. [YOCTO #10987] Signed-off-by: Ng, Wei Tee Signed-off-by: Richard Purdie --- meta/recipes-core/images/core-image-minimal-initramfs.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-core/images/core-image-minimal-initramfs.bb b/meta/recipes-core/images/core-image-minimal-initramfs.bb index 5794a25..c1f2855 100644 --- a/meta/recipes-core/images/core-image-minimal-initramfs.bb +++ b/meta/recipes-core/images/core-image-minimal-initramfs.bb @@ -3,7 +3,7 @@ DESCRIPTION = "Small image capable of booting a device. The kernel includes \ the Minimal RAM-based Initial Root Filesystem (initramfs), which finds the \ first 'init' program more efficiently." -PACKAGE_INSTALL = "initramfs-live-boot initramfs-live-install initramfs-live-install-efi ${VIRTUAL-RUNTIME_base-utils} udev base-passwd ${ROOTFS_BOOTSTRAP_INSTALL}" +PACKAGE_INSTALL = "initramfs-framework-base initramfs-module-udev initramfs-module-setup-live initramfs-module-install-efi ${VIRTUAL-RUNTIME_base-utils} udev base-passwd ${ROOTFS_BOOTSTRAP_INSTALL}" # Do not pollute the initrd image with rootfs features IMAGE_FEATURES = "" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 14:07:37 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 14:07:37 +0000 Subject: [oe-commits] [openembedded-core] 18/20: initramfs-framework: module to support boot live image In-Reply-To: <150116443983.10582.13656950786564060690@git.openembedded.org> References: <150116443983.10582.13656950786564060690@git.openembedded.org> Message-ID: <20170727140721.0F5DD234F40@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 60b6ea81489be45fbbd9333e09abb047f5527bfd Author: Ng, Wei Tee AuthorDate: Sun Jul 23 16:51:55 2017 -0700 initramfs-framework: module to support boot live image setup-live module is a new module being introduced to integrate the functionality of init-live.sh into new scriptlet named setup-live in order to support the live boot image. The udev-extraconf rdepends is being added to perform automounting. It gets to run before the rootfs and finish module. The setup-live scriplet include the changes for: - Create a conditional loop for the bootparam_root variable. If it is not set, then it will boot from ROOT_IMAGE. Else, it will boot normally which is not from removable media. - Gives a standard path to the original boot disk mount which can be used to. While /media/sda is a good guess, it isn't always right, nor is it a good assumption that only one boot disk is in the system. - The current rootfs module has no support for rootfs images, currently it only support for rootfs partitions for wic image. Therefore, there is a need to assign the rootfs image for live image. [YOCTO #11701] Signed-off-by: Ng, Wei Tee Signed-off-by: Richard Purdie --- .../initrdscripts/initramfs-framework/setup-live | 66 ++++++++++++++++++++++ .../initrdscripts/initramfs-framework_1.0.bb | 13 ++++- 2 files changed, 77 insertions(+), 2 deletions(-) diff --git a/meta/recipes-core/initrdscripts/initramfs-framework/setup-live b/meta/recipes-core/initrdscripts/initramfs-framework/setup-live new file mode 100644 index 0000000..ec4a139 --- /dev/null +++ b/meta/recipes-core/initrdscripts/initramfs-framework/setup-live @@ -0,0 +1,66 @@ +#/bin/sh +# Copyright (C) 2011 O.S. Systems Software LTDA. +# Licensed on MIT + +setup_enabled() { + return 0 +} + +setup_run() { +ROOT_IMAGE="rootfs.img" +ISOLINUX="" +ROOT_DISK="" +shelltimeout=30 + + if [ -z $bootparam_root ]; then + echo "Waiting for removable media..." + C=0 + while true + do + for i in `ls /run/media 2>/dev/null`; do + if [ -f /run/media/$i/$ROOT_IMAGE ] ; then + found="yes" + ROOT_DISK="$i" + break + elif [ -f /run/media/$i/isolinux/$ROOT_IMAGE ]; then + found="yes" + ISOLINUX="isolinux" + ROOT_DISK="$i" + break + fi + done + if [ "$found" = "yes" ]; then + break; + fi + # don't wait for more than $shelltimeout seconds, if it's set + if [ -n "$shelltimeout" ]; then + echo -n " " $(( $shelltimeout - $C )) + if [ $C -ge $shelltimeout ]; then + echo "..." + echo "Mounted filesystems" + mount | grep media + echo "Available block devices" + cat /proc/partitions + fatal "Cannot find $ROOT_IMAGE file in /run/media/* , dropping to a shell " + fi + C=$(( C + 1 )) + fi + sleep 1 + done + # The existing rootfs module has no support for rootfs images. Assign the rootfs image. + bootparam_root="/run/media/$ROOT_DISK/$ISOLINUX/$ROOT_IMAGE" + else + break + fi + + if [ "$bootparam_LABEL" != "boot" -a -f /init.d/$bootparam_LABEL.sh ] ; then + if [ -f /run/media/$i/$ISOLINUX/$ROOT_IMAGE ] ; then + ./init.d/$bootparam_LABEL.sh $i/$ISOLINUX $ROOT_IMAGE $video_mode $vga_mode $console_params + else + fatal "Could not find $bootparam_LABEL script" + fi + + # If we're getting here, we failed... + fatal "Target $bootparam_LABEL failed" + fi +} diff --git a/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb index 67a1b04..211e89d 100644 --- a/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb +++ b/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb @@ -13,7 +13,8 @@ SRC_URI = "file://init \ file://mdev \ file://udev \ file://e2fs \ - file://debug" + file://debug \ + file://setup-live" S = "${WORKDIR}" @@ -25,6 +26,9 @@ do_install() { install -m 0755 ${WORKDIR}/rootfs ${D}/init.d/90-rootfs install -m 0755 ${WORKDIR}/finish ${D}/init.d/99-finish + # setup-live + install -m 0755 ${WORKDIR}/setup-live ${D}/init.d/80-setup-live + # mdev install -m 0755 ${WORKDIR}/mdev ${D}/init.d/01-mdev @@ -48,7 +52,8 @@ PACKAGES = "${PN}-base \ initramfs-module-udev \ initramfs-module-e2fs \ initramfs-module-rootfs \ - initramfs-module-debug" + initramfs-module-debug \ + initramfs-module-setup-live" FILES_${PN}-base = "/init /init.d/99-finish /dev" @@ -68,6 +73,10 @@ SUMMARY_initramfs-module-udev = "initramfs support for udev" RDEPENDS_initramfs-module-udev = "${PN}-base udev" FILES_initramfs-module-udev = "/init.d/01-udev" +SUMMARY_initramfs-module-setup-live = "initramfs support for setup live" +RDEPENDS_initramfs-module-setup-live = "${PN}-base udev-extraconf" +FILES_initramfs-module-setup-live = "/init.d/80-setup-live" + SUMMARY_initramfs-module-e2fs = "initramfs support for ext4/ext3/ext2 filesystems" RDEPENDS_initramfs-module-e2fs = "${PN}-base" FILES_initramfs-module-e2fs = "/init.d/10-e2fs" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 14:07:38 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 14:07:38 +0000 Subject: [oe-commits] [openembedded-core] 19/20: initramfs-framework: include install-efi module in recipe for installation In-Reply-To: <150116443983.10582.13656950786564060690@git.openembedded.org> References: <150116443983.10582.13656950786564060690@git.openembedded.org> Message-ID: <20170727140721.194B3234F41@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 830baaf2aaef6292ff9f8e35fec869763f36c871 Author: Ng, Wei Tee AuthorDate: Sun Jul 23 16:51:56 2017 -0700 initramfs-framework: include install-efi module in recipe for installation Utilized the existing init-install-efi.sh script and renamed it to install-efi.sh to manage the installation process of images in initramfs-framework model. This script will be executed when "install" option is being chosen in the grub menu and install the image on the target platform. A new install-efi module is being added in the recipe to handle the installation process using initramfs-framework. [YOCTO #10989] Signed-off-by: Ng, Wei Tee Signed-off-by: Richard Purdie --- .../initramfs-framework/install-efi.sh | 276 +++++++++++++++++++++ .../initrdscripts/initramfs-framework_1.0.bb | 19 +- 2 files changed, 292 insertions(+), 3 deletions(-) diff --git a/meta/recipes-core/initrdscripts/initramfs-framework/install-efi.sh b/meta/recipes-core/initrdscripts/initramfs-framework/install-efi.sh new file mode 100644 index 0000000..5ad3a60 --- /dev/null +++ b/meta/recipes-core/initrdscripts/initramfs-framework/install-efi.sh @@ -0,0 +1,276 @@ +#!/bin/sh -e +# +# Copyright (c) 2012, Intel Corporation. +# All rights reserved. +# +# install.sh [device_name] [rootfs_name] +# + +PATH=/sbin:/bin:/usr/sbin:/usr/bin + +# We need 20 Mb for the boot partition +boot_size=20 + +# 5% for swap +swap_ratio=5 + +# Get a list of hard drives +hdnamelist="" +live_dev_name=`cat /proc/mounts | grep ${1%/} | awk '{print $1}'` +live_dev_name=${live_dev_name#\/dev/} +# Only strip the digit identifier if the device is not an mmc +case $live_dev_name in + mmcblk*) + ;; + nvme*) + ;; + *) + live_dev_name=${live_dev_name%%[0-9]*} + ;; +esac + +echo "Searching for hard drives ..." + +# Some eMMC devices have special sub devices such as mmcblk0boot0 etc +# we're currently only interested in the root device so pick them wisely +devices=`ls /sys/block/ | grep -v mmcblk` || true +mmc_devices=`ls /sys/block/ | grep "mmcblk[0-9]\{1,\}$"` || true +devices="$devices $mmc_devices" + +for device in $devices; do + case $device in + loop*) + # skip loop device + ;; + sr*) + # skip CDROM device + ;; + ram*) + # skip ram device + ;; + *) + # skip the device LiveOS is on + # Add valid hard drive name to the list + case $device in + $live_dev_name*) + # skip the device we are running from + ;; + *) + hdnamelist="$hdnamelist $device" + ;; + esac + ;; + esac +done + +if [ -z "${hdnamelist}" ]; then + echo "You need another device (besides the live device /dev/${live_dev_name}) to install the image. Installation aborted." + exit 1 +fi + +TARGET_DEVICE_NAME="" +for hdname in $hdnamelist; do + # Display found hard drives and their basic info + echo "-------------------------------" + echo /dev/$hdname + if [ -r /sys/block/$hdname/device/vendor ]; then + echo -n "VENDOR=" + cat /sys/block/$hdname/device/vendor + fi + if [ -r /sys/block/$hdname/device/model ]; then + echo -n "MODEL=" + cat /sys/block/$hdname/device/model + fi + if [ -r /sys/block/$hdname/device/uevent ]; then + echo -n "UEVENT=" + cat /sys/block/$hdname/device/uevent + fi + echo +done + +# Get user choice +while true; do + echo "Please select an install target or press n to exit ($hdnamelist ): " + read answer + if [ "$answer" = "n" ]; then + echo "Installation manually aborted." + exit 1 + fi + for hdname in $hdnamelist; do + if [ "$answer" = "$hdname" ]; then + TARGET_DEVICE_NAME=$answer + break + fi + done + if [ -n "$TARGET_DEVICE_NAME" ]; then + break + fi +done + +if [ -n "$TARGET_DEVICE_NAME" ]; then + echo "Installing image on /dev/$TARGET_DEVICE_NAME ..." +else + echo "No hard drive selected. Installation aborted." + exit 1 +fi + +device=/dev/$TARGET_DEVICE_NAME + +# +# The udev automounter can cause pain here, kill it +# +rm -f /etc/udev/rules.d/automount.rules +rm -f /etc/udev/scripts/mount* + +# +# Unmount anything the automounter had mounted +# +umount ${device}* 2> /dev/null || /bin/true + +mkdir -p /tmp + +# Create /etc/mtab if not present +if [ ! -e /etc/mtab ] && [ -e /proc/mounts ]; then + ln -sf /proc/mounts /etc/mtab +fi + +disk_size=$(parted ${device} unit mb print | grep '^Disk .*: .*MB' | cut -d" " -f 3 | sed -e "s/MB//") + +swap_size=$((disk_size*swap_ratio/100)) +rootfs_size=$((disk_size-boot_size-swap_size)) + +rootfs_start=$((boot_size)) +rootfs_end=$((rootfs_start+rootfs_size)) +swap_start=$((rootfs_end)) + +# MMC devices are special in a couple of ways +# 1) they use a partition prefix character 'p' +# 2) they are detected asynchronously (need rootwait) +rootwait="" +part_prefix="" +if [ ! "${device#/dev/mmcblk}" = "${device}" ] || \ + [ ! "${device#/dev/nvme}" = "${device}" ]; then + part_prefix="p" + rootwait="rootwait" +fi + +# USB devices also require rootwait +if [ -n `readlink /dev/disk/by-id/usb* | grep $TARGET_DEVICE_NAME` ]; then + rootwait="rootwait" +fi + +bootfs=${device}${part_prefix}1 +rootfs=${device}${part_prefix}2 +swap=${device}${part_prefix}3 + +echo "*****************" +echo "Boot partition size: $boot_size MB ($bootfs)" +echo "Rootfs partition size: $rootfs_size MB ($rootfs)" +echo "Swap partition size: $swap_size MB ($swap)" +echo "*****************" +echo "Deleting partition table on ${device} ..." +dd if=/dev/zero of=${device} bs=512 count=35 + +echo "Creating new partition table on ${device} ..." +parted ${device} mklabel gpt + +echo "Creating boot partition on $bootfs" +parted ${device} mkpart boot fat32 0% $boot_size +parted ${device} set 1 boot on + +echo "Creating rootfs partition on $rootfs" +parted ${device} mkpart root ext3 $rootfs_start $rootfs_end + +echo "Creating swap partition on $swap" +parted ${device} mkpart swap linux-swap $swap_start 100% + +parted ${device} print + +echo "Formatting $bootfs to vfat..." +mkfs.vfat $bootfs + +echo "Formatting $rootfs to ext3..." +mkfs.ext3 $rootfs + +echo "Formatting swap partition...($swap)" +mkswap $swap + +mkdir /tgt_root +mkdir /src_root +mkdir -p /boot + +# Handling of the target root partition +mount $rootfs /tgt_root +mount -o rw,loop,noatime,nodiratime /run/media/$1/$2 /src_root +echo "Copying rootfs files..." +cp -a /src_root/* /tgt_root +if [ -d /tgt_root/etc/ ] ; then + boot_uuid=$(blkid -o value -s UUID ${bootfs}) + swap_part_uuid=$(blkid -o value -s PARTUUID ${swap}) + echo "/dev/disk/by-partuuid/$swap_part_uuid swap swap defaults 0 0" >> /tgt_root/etc/fstab + echo "UUID=$boot_uuid /boot vfat defaults 1 2" >> /tgt_root/etc/fstab + # We dont want udev to mount our root device while we're booting... + if [ -d /tgt_root/etc/udev/ ] ; then + echo "${device}" >> /tgt_root/etc/udev/mount.blacklist + fi +fi + +umount /src_root + +# Handling of the target boot partition +mount $bootfs /boot +echo "Preparing boot partition..." + +EFIDIR="/boot/EFI/BOOT" +mkdir -p $EFIDIR +# Copy the efi loader +cp /run/media/$1/EFI/BOOT/*.efi $EFIDIR + +if [ -f /run/media/$1/EFI/BOOT/grub.cfg ]; then + root_part_uuid=$(blkid -o value -s PARTUUID ${rootfs}) + GRUBCFG="$EFIDIR/grub.cfg" + cp /run/media/$1/EFI/BOOT/grub.cfg $GRUBCFG + # Update grub config for the installed image + # Delete the install entry + sed -i "/menuentry 'install'/,/^}/d" $GRUBCFG + # Delete the initrd lines + sed -i "/initrd /d" $GRUBCFG + # Delete any LABEL= strings + sed -i "s/ LABEL=[^ ]*/ /" $GRUBCFG + # Delete any root= strings + sed -i "s/ root=[^ ]*/ /g" $GRUBCFG + # Add the root= and other standard boot options + sed -i "s at linux /vmlinuz *@linux /vmlinuz root=PARTUUID=$root_part_uuid rw $rootwait quiet @" $GRUBCFG +fi + +if [ -d /run/media/$1/loader ]; then + rootuuid=$(blkid -o value -s PARTUUID ${rootfs}) + SYSTEMDBOOT_CFGS="/boot/loader/entries/*.conf" + # copy config files for systemd-boot + cp -dr /run/media/$1/loader /boot + # delete the install entry + rm -f /boot/loader/entries/install.conf + # delete the initrd lines + sed -i "/initrd /d" $SYSTEMDBOOT_CFGS + # delete any LABEL= strings + sed -i "s/ LABEL=[^ ]*/ /" $SYSTEMDBOOT_CFGS + # delete any root= strings + sed -i "s/ root=[^ ]*/ /" $SYSTEMDBOOT_CFGS + # add the root= and other standard boot options + sed -i "s at options *@options root=PARTUUID=$rootuuid rw $rootwait quiet @" $SYSTEMDBOOT_CFGS +fi + +umount /tgt_root + +cp /run/media/$1/vmlinuz /boot + +umount /boot + +sync + +echo "Remove your installation media, and press ENTER" + +read enter + +echo "Rebooting..." +reboot -f diff --git a/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb index 211e89d..9d69a69 100644 --- a/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb +++ b/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb @@ -5,7 +5,11 @@ RDEPENDS_${PN} += "${VIRTUAL-RUNTIME_base-utils}" PR = "r2" -inherit allarch +# While the packages maybe an allarch due to it being a +# simple script, reality is that it is Host specific based +# on the COMPATIBLE_HOST below, which needs to take precedence +#inherit allarch +INHIBIT_DEFAULT_DEPS = "1" SRC_URI = "file://init \ file://rootfs \ @@ -14,7 +18,8 @@ SRC_URI = "file://init \ file://udev \ file://e2fs \ file://debug \ - file://setup-live" + file://setup-live \ + file://install-efi.sh" S = "${WORKDIR}" @@ -41,6 +46,9 @@ do_install() { # debug install -m 0755 ${WORKDIR}/debug ${D}/init.d/00-debug + # install-efi + install -m 0755 ${WORKDIR}/install-efi.sh ${D}/init.d/install-efi.sh + # Create device nodes expected by some kernels in initramfs # before even executing /init. install -d ${D}/dev @@ -53,7 +61,8 @@ PACKAGES = "${PN}-base \ initramfs-module-e2fs \ initramfs-module-rootfs \ initramfs-module-debug \ - initramfs-module-setup-live" + initramfs-module-setup-live \ + initramfs-module-install-efi" FILES_${PN}-base = "/init /init.d/99-finish /dev" @@ -88,3 +97,7 @@ FILES_initramfs-module-rootfs = "/init.d/90-rootfs" SUMMARY_initramfs-module-debug = "initramfs dynamic debug support" RDEPENDS_initramfs-module-debug = "${PN}-base" FILES_initramfs-module-debug = "/init.d/00-debug" + +SUMMARY_initramfs-module-install-efi = "initramfs support for installation option" +RDEPENDS_initramfs-module-install-efi = "${PN}-base parted e2fsprogs-mke2fs dosfstools util-linux-blkid" +FILES_initramfs-module-install-efi = "/init.d/install-efi.sh" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 14:14:50 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 14:14:50 +0000 Subject: [oe-commits] [bitbake] 01/03: lib/bb/utils.py: Add missing debug level In-Reply-To: <150116488916.12517.16348754921094702766@git.openembedded.org> References: <150116488916.12517.16348754921094702766@git.openembedded.org> Message-ID: <20170727141449.3F400234F38@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository bitbake. commit a0cd748d2f830a305da086eff3462875f64f2a70 Author: Mark Hatle AuthorDate: Wed Jul 26 10:20:34 2017 -0500 lib/bb/utils.py: Add missing debug level Signed-off-by: Mark Hatle Signed-off-by: Richard Purdie --- lib/bb/utils.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/bb/utils.py b/lib/bb/utils.py index 6a44db5..8550af3 100644 --- a/lib/bb/utils.py +++ b/lib/bb/utils.py @@ -1502,7 +1502,7 @@ def export_proxies(d): def load_plugins(logger, plugins, pluginpath): def load_plugin(name): - logger.debug('Loading plugin %s' % name) + logger.debug(1, 'Loading plugin %s' % name) fp, pathname, description = imp.find_module(name, [pluginpath]) try: return imp.load_module(name, fp, pathname, description) @@ -1510,7 +1510,7 @@ def load_plugins(logger, plugins, pluginpath): if fp: fp.close() - logger.debug('Loading plugins from %s...' % pluginpath) + logger.debug(1, 'Loading plugins from %s...' % pluginpath) expanded = (glob.glob(os.path.join(pluginpath, '*' + ext)) for ext in python_extensions) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 14:14:49 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 14:14:49 +0000 Subject: [oe-commits] [bitbake] branch master updated (1b14f11 -> fdcea99) Message-ID: <150116488916.12517.16348754921094702766@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master in repository bitbake. from 1b14f11 fetch2/__init__.py: replace stray logger.warn() with logger.warning() new a0cd748 lib/bb/utils.py: Add missing debug level new b8f477d lib/fetch2/__init__.py: Fix unpack comment new fdcea99 bitbake-diffsigs: fix regression after recent server changes The 3 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: bin/bitbake-diffsigs | 35 ++++++++++++++++++++++++++++------- lib/bb/command.py | 11 +++++++++++ lib/bb/event.py | 8 ++++++++ lib/bb/fetch2/__init__.py | 2 +- lib/bb/utils.py | 4 ++-- 5 files changed, 50 insertions(+), 10 deletions(-) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 14:14:51 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 14:14:51 +0000 Subject: [oe-commits] [bitbake] 02/03: lib/fetch2/__init__.py: Fix unpack comment In-Reply-To: <150116488916.12517.16348754921094702766@git.openembedded.org> References: <150116488916.12517.16348754921094702766@git.openembedded.org> Message-ID: <20170727141449.45870234F39@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository bitbake. commit b8f477de204ab5d0680b2b7c42370d13395be46c Author: Mark Hatle AuthorDate: Wed Jul 26 10:20:35 2017 -0500 lib/fetch2/__init__.py: Fix unpack comment Signed-off-by: Mark Hatle Signed-off-by: Richard Purdie --- lib/bb/fetch2/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/bb/fetch2/__init__.py b/lib/bb/fetch2/__init__.py index a78279c..bd23533 100644 --- a/lib/bb/fetch2/__init__.py +++ b/lib/bb/fetch2/__init__.py @@ -1738,7 +1738,7 @@ class Fetch(object): def unpack(self, root, urls=None): """ - Check all urls exist upstream + Unpack urls to root """ if not urls: -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 14:14:52 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 14:14:52 +0000 Subject: [oe-commits] [bitbake] 03/03: bitbake-diffsigs: fix regression after recent server changes In-Reply-To: <150116488916.12517.16348754921094702766@git.openembedded.org> References: <150116488916.12517.16348754921094702766@git.openembedded.org> Message-ID: <20170727141449.4DC02234F3A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository bitbake. commit fdcea991baa4f83d9c98d468d7b49c8c388a4a15 Author: Paul Eggleton AuthorDate: Thu Jul 27 14:51:49 2017 +0200 bitbake-diffsigs: fix regression after recent server changes We were bridging the gap between the server and UI here by calling a bb.siggen.find_siginfo, a function defined and set on that module from the metadata. This worked from the UI side before but since the recent server changes is no longer accessible. Create a new command so this can execute on the server side and return the result by way of a new event. (We're still running compare_sigfiles() on the signature generator but that isn't quite the same thing and does still work.) Fixes [YOCTO #11844]. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- bin/bitbake-diffsigs | 35 ++++++++++++++++++++++++++++------- lib/bb/command.py | 11 +++++++++++ lib/bb/event.py | 8 ++++++++ 3 files changed, 47 insertions(+), 7 deletions(-) diff --git a/bin/bitbake-diffsigs b/bin/bitbake-diffsigs index eb2f859..4e6bbdd 100755 --- a/bin/bitbake-diffsigs +++ b/bin/bitbake-diffsigs @@ -34,18 +34,39 @@ import bb.msg logger = bb.msg.logger_create('bitbake-diffsigs') +def find_siginfo(tinfoil, pn, taskname, sigs=None): + result = None + tinfoil.set_event_mask(['bb.event.FindSigInfoResult', + 'logging.LogRecord', + 'bb.command.CommandCompleted', + 'bb.command.CommandFailed']) + ret = tinfoil.run_command('findSigInfo', pn, taskname, sigs) + if ret: + while True: + event = tinfoil.wait_event(1) + if event: + if isinstance(event, bb.command.CommandCompleted): + break + elif isinstance(event, bb.command.CommandFailed): + logger.error(str(event)) + sys.exit(2) + elif isinstance(event, bb.event.FindSigInfoResult): + result = event.result + elif isinstance(event, logging.LogRecord): + logger.handle(event) + else: + logger.error('No result returned from findSigInfo command') + sys.exit(2) + return result + def find_compare_task(bbhandler, pn, taskname, sig1=None, sig2=None, color=False): """ Find the most recent signature files for the specified PN/task and compare them """ - if not hasattr(bb.siggen, 'find_siginfo'): - logger.error('Metadata does not support finding signature data files') - sys.exit(1) - if not taskname.startswith('do_'): taskname = 'do_%s' % taskname if sig1 and sig2: - sigfiles = bb.siggen.find_siginfo(pn, taskname, [sig1, sig2], bbhandler.config_data) + sigfiles = find_siginfo(bbhandler, pn, taskname, [sig1, sig2]) if len(sigfiles) == 0: logger.error('No sigdata files found matching %s %s matching either %s or %s' % (pn, taskname, sig1, sig2)) sys.exit(1) @@ -57,7 +78,7 @@ def find_compare_task(bbhandler, pn, taskname, sig1=None, sig2=None, color=False sys.exit(1) latestfiles = [sigfiles[sig1], sigfiles[sig2]] else: - filedates = bb.siggen.find_siginfo(pn, taskname, None, bbhandler.config_data) + filedates = find_siginfo(bbhandler, pn, taskname) latestfiles = sorted(filedates.keys(), key=lambda f: filedates[f])[-3:] if not latestfiles: logger.error('No sigdata files found matching %s %s' % (pn, taskname)) @@ -69,7 +90,7 @@ def find_compare_task(bbhandler, pn, taskname, sig1=None, sig2=None, color=False # Define recursion callback def recursecb(key, hash1, hash2): hashes = [hash1, hash2] - hashfiles = bb.siggen.find_siginfo(key, None, hashes, bbhandler.config_data) + hashfiles = find_siginfo(bbhandler, key, None, hashes) recout = [] if len(hashfiles) == 0: diff --git a/lib/bb/command.py b/lib/bb/command.py index 0e0a35a..c44c7a6 100644 --- a/lib/bb/command.py +++ b/lib/bb/command.py @@ -746,3 +746,14 @@ class CommandsAsync: command.finishAsyncCommand() clientComplete.needcache = False + def findSigInfo(self, command, params): + """ + Find signature info files via the signature generator + """ + pn = params[0] + taskname = params[1] + sigs = params[2] + res = bb.siggen.find_siginfo(pn, taskname, sigs, command.cooker.data) + bb.event.fire(bb.event.FindSigInfoResult(res), command.cooker.data) + command.finishAsyncCommand() + findSigInfo.needcache = False diff --git a/lib/bb/event.py b/lib/bb/event.py index 59cca61..3827dcf 100644 --- a/lib/bb/event.py +++ b/lib/bb/event.py @@ -819,3 +819,11 @@ class NetworkTestFailed(Event): """ Event to indicate network test has failed """ + +class FindSigInfoResult(Event): + """ + Event to return results from findSigInfo command + """ + def __init__(self, result): + Event.__init__(self) + self.result = result -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:37:31 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:37:31 +0000 Subject: [oe-commits] [openembedded-core] 01/24: oe-selftest: wic: change mkfs.btrfs options In-Reply-To: <150119145066.27158.3748857206774807008@git.openembedded.org> References: <150119145066.27158.3748857206774807008@git.openembedded.org> Message-ID: <20170727213731.1C28E234F39@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 6a1489f8deb2b26181ca340a0f6ef62aa18a5188 Author: Ed Bartosh AuthorDate: Wed Jul 26 19:22:29 2017 +0300 oe-selftest: wic: change mkfs.btrfs options test_mkfs_extraopts test case fails on ab with error caused by using -K --mixed options: output: extent-tree.c:2696: btrfs_reserve_extent: BUG_ON `ret` triggered, value -28 For this test case it's not important to use particular options, so changing options to anything less influential is OK. Changed extra options for mkfs.btrfs to '--quiet' to fix the failure. Signed-off-by: Ed Bartosh Signed-off-by: Richard Purdie --- meta/lib/oeqa/selftest/cases/wic.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/lib/oeqa/selftest/cases/wic.py b/meta/lib/oeqa/selftest/cases/wic.py index df205e8..7c2c877 100644 --- a/meta/lib/oeqa/selftest/cases/wic.py +++ b/meta/lib/oeqa/selftest/cases/wic.py @@ -926,7 +926,7 @@ part /etc --source rootfs --ondisk mmcblk0 --fstype=ext4 --exclude-path bin/ --r with NamedTemporaryFile("w", suffix=".wks") as wks: wks.writelines( ['part ext2 --fstype ext2 --source rootfs --mkfs-extraopts "-D -F -i 8192"\n', - 'part btrfs --fstype btrfs --source rootfs --size 40M --mkfs-extraopts "--mixed -K"\n', + "part btrfs --fstype btrfs --source rootfs --size 40M --mkfs-extraopts='--quiet'\n", 'part squash --fstype squashfs --source rootfs --mkfs-extraopts "-no-sparse -b 4096"\n', 'part emptyvfat --fstype vfat --size 1M --mkfs-extraopts "-S 1024 -s 64"\n', 'part emptymsdos --fstype msdos --size 1M --mkfs-extraopts "-S 1024 -s 64"\n', -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:37:32 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:37:32 +0000 Subject: [oe-commits] [openembedded-core] 02/24: image_types_wic: add dependency to e2fsprogs-native In-Reply-To: <150119145066.27158.3748857206774807008@git.openembedded.org> References: <150119145066.27158.3748857206774807008@git.openembedded.org> Message-ID: <20170727213731.2404B234F3A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit b1d9f5ba5d75c6e4dae10d9d9b2c03fd3099721d Author: Ed Bartosh AuthorDate: Wed Jul 26 19:21:30 2017 +0300 image_types_wic: add dependency to e2fsprogs-native Added e2fsprogs-native to the list of default dependencies for wic (WKS_FILE_DEPENDS_DEFAULT) as all fs-related utilities have to be in this list. Thanks to Patrick Ohly for noticing this. [YOCTO #11817] Signed-off-by: Ed Bartosh Signed-off-by: Richard Purdie --- meta/classes/image_types_wic.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/classes/image_types_wic.bbclass b/meta/classes/image_types_wic.bbclass index 57ba646..b825b47 100644 --- a/meta/classes/image_types_wic.bbclass +++ b/meta/classes/image_types_wic.bbclass @@ -41,7 +41,7 @@ WKS_FILE_CHECKSUM = "${@'${WKS_FULL_PATH}:%s' % os.path.exists('${WKS_FULL_PATH} do_image_wic[file-checksums] += "${WKS_FILE_CHECKSUM}" do_image_wic[depends] += "${@' '.join('%s-native:do_populate_sysroot' % r for r in ('parted', 'gptfdisk', 'dosfstools', 'mtools'))}" -WKS_FILE_DEPENDS_DEFAULT = "syslinux-native bmap-tools-native cdrtools-native btrfs-tools-native squashfs-tools-native" +WKS_FILE_DEPENDS_DEFAULT = "syslinux-native bmap-tools-native cdrtools-native btrfs-tools-native squashfs-tools-native e2fsprogs-native" WKS_FILE_DEPENDS_BOOTLOADERS = "" WKS_FILE_DEPENDS_BOOTLOADERS_x86 = "syslinux grub-efi systemd-boot" WKS_FILE_DEPENDS_BOOTLOADERS_x86-64 = "syslinux grub-efi systemd-boot" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:37:34 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:37:34 +0000 Subject: [oe-commits] [openembedded-core] 04/24: harfbuzz: upgrade to 1.4.7 In-Reply-To: <150119145066.27158.3748857206774807008@git.openembedded.org> References: <150119145066.27158.3748857206774807008@git.openembedded.org> Message-ID: <20170727213731.314AA234F3C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit c05beaee30f4389fb59693e6690ab156214bcc74 Author: Maxin B. John AuthorDate: Wed Jul 26 16:47:27 2017 +0300 harfbuzz: upgrade to 1.4.7 1.4.6 -> 1.4.7 Signed-off-by: Maxin B. John Signed-off-by: Richard Purdie --- .../harfbuzz/{harfbuzz_1.4.6.bb => harfbuzz_1.4.7.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-graphics/harfbuzz/harfbuzz_1.4.6.bb b/meta/recipes-graphics/harfbuzz/harfbuzz_1.4.7.bb similarity index 88% rename from meta/recipes-graphics/harfbuzz/harfbuzz_1.4.6.bb rename to meta/recipes-graphics/harfbuzz/harfbuzz_1.4.7.bb index 0d73465..be1dd64 100644 --- a/meta/recipes-graphics/harfbuzz/harfbuzz_1.4.6.bb +++ b/meta/recipes-graphics/harfbuzz/harfbuzz_1.4.7.bb @@ -12,8 +12,8 @@ DEPENDS = "glib-2.0 cairo fontconfig freetype" SRC_URI = "http://www.freedesktop.org/software/harfbuzz/release/${BP}.tar.bz2" -SRC_URI[md5sum] = "e246c08a3bac98e31e731b2a1bf97edf" -SRC_URI[sha256sum] = "21a78b81cd20cbffdb04b59ac7edfb410e42141869f637ae1d6778e74928d293" +SRC_URI[md5sum] = "37096205bc43e2977de0f1cf2706940a" +SRC_URI[sha256sum] = "b85f6627425d54f32118308e053b939c63a388de9bf455b3830f68cad406bc6d" inherit autotools pkgconfig lib_package gtk-doc -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:37:30 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:37:30 +0000 Subject: [oe-commits] [openembedded-core] branch master updated (51b3ee2 -> 28fc6ba) Message-ID: <150119145066.27158.3748857206774807008@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master in repository openembedded-core. from 51b3ee2 gnome-themes-standard: Fix packages so dev-pkgs image generation works add e696425 runqemu: add --debug and --quiet add 89e9703 runqemu: check qbconfload before running bitbake add 552093d runqemu: check tar.bz2 and .tar.gz add 8c6f253 runqemu: validate combos add 4a5d21d runqemu: chmod 0o777 for lockdir add d0ebcf6 wic-tools: add dependency to e2fsprogs-native add 9d7797e rpm: allow to enable RPM file signing new 6a1489f oe-selftest: wic: change mkfs.btrfs options new b1d9f5b image_types_wic: add dependency to e2fsprogs-native new 9e899bb go: centralize definition of COMPATIBLE_HOST new c05beae harfbuzz: upgrade to 1.4.7 new b317553 eudev: update to 3.2.2 new 3bcf227 kernel-devsrc: Remove .kernel-meta from package new cf21f45 gnu-config: update SRC_URI to new savannah.gnu.org hostname new abb8895 mirrors.bbclass: provide git repo fallbacks using the https protocol new b002f44 icu: update to 59.1 new c115232 btrfs-tools: upgrade to 4.11.1 new ec59387 bash-completion: upgrade to 2.7 new 10de5bf epiphany: upgrade to 3.24.3 new 03d0bee vala: upgrade to 0.36.4 new 97a4e2d mpg123: update to 1.25.4 new 198ccdb webkitgtk: update to 2.16.6 new d1e05e9 pciutils: upgrade to 3.5.5 new 0c09f9f diffutils: upgrade to 3.6 new 6547285 cups: upgrade to 2.2.4 new e1d2785 sudo: upgrade to 1.8.20p2 new 6ee5abc sysstat: upgrade to 11.5.7 new 96c54b2 dbus/dbus-test: upgrade to 1.10.20 new 4d3300e initramfs-framework: module to support boot live image new 41b3444 initramfs-framework: include install-efi module in recipe for installation new 28fc6ba core-image-minimal-initramfs: use initramfs-framework by default The 24 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: meta/classes/go.bbclass | 5 - meta/classes/goarch.bbclass | 6 + meta/classes/image_types_wic.bbclass | 2 +- meta/classes/mirrors.bbclass | 11 + meta/conf/distro/include/uninative-flags.inc | 4 - meta/lib/oeqa/selftest/cases/wic.py | 2 +- .../{pciutils_3.5.4.bb => pciutils_3.5.5.bb} | 4 +- .../{dbus-test_1.10.18.bb => dbus-test_1.10.20.bb} | 4 +- .../dbus/{dbus_1.10.18.bb => dbus_1.10.20.bb} | 4 +- .../images/core-image-minimal-initramfs.bb | 2 +- .../install-efi.sh} | 0 .../initrdscripts/initramfs-framework/setup-live | 66 ++++++ .../initrdscripts/initramfs-framework_1.0.bb | 28 ++- meta/recipes-core/meta/wic-tools.bb | 2 +- .../udev/{eudev_3.2.1.bb => eudev_3.2.2.bb} | 4 +- .../{btrfs-tools_4.11.bb => btrfs-tools_4.11.1.bb} | 2 +- meta/recipes-devtools/gnu-config/gnu-config_git.bb | 2 +- meta/recipes-devtools/go/go-cross.inc | 4 - meta/recipes-devtools/go/go.inc | 6 - meta/recipes-devtools/rpm/rpm_git.bb | 3 + .../vala/{vala_0.36.3.bb => vala_0.36.4.bb} | 4 +- meta/recipes-extended/cups/cups_2.2.3.bb | 6 - meta/recipes-extended/cups/cups_2.2.4.bb | 6 + .../diffutils-3.5/diffutils-3.5-gcc7.patch | 228 --------------------- ...need_charset_alias-when-building-for-musl.patch | 0 .../0001-explicitly-disable-replacing-getopt.patch | 30 +++ .../{diffutils-3.5 => diffutils-3.6}/run-ptest | 0 .../{diffutils_3.5.bb => diffutils_3.6.bb} | 14 +- meta/recipes-extended/sudo/sudo.inc | 2 +- .../sudo/{sudo_1.8.19p2.bb => sudo_1.8.20p2.bb} | 4 +- .../{sysstat_11.5.6.bb => sysstat_11.5.7.bb} | 4 +- .../{epiphany_3.24.2.bb => epiphany_3.24.3.bb} | 4 +- .../{harfbuzz_1.4.6.bb => harfbuzz_1.4.7.bb} | 4 +- meta/recipes-kernel/linux/kernel-devsrc.bb | 2 +- .../mpg123/{mpg123_1.25.0.bb => mpg123_1.25.4.bb} | 4 +- .../{webkitgtk_2.16.5.bb => webkitgtk_2.16.6.bb} | 4 +- ...sh-completion_2.5.bb => bash-completion_2.7.bb} | 4 +- .../icu/{icu_58.2.bb => icu_59.1.bb} | 6 +- scripts/runqemu | 64 ++++-- 39 files changed, 229 insertions(+), 322 deletions(-) rename meta/recipes-bsp/pciutils/{pciutils_3.5.4.bb => pciutils_3.5.5.bb} (92%) rename meta/recipes-core/dbus/{dbus-test_1.10.18.bb => dbus-test_1.10.20.bb} (93%) rename meta/recipes-core/dbus/{dbus_1.10.18.bb => dbus_1.10.20.bb} (97%) copy meta/recipes-core/initrdscripts/{files/init-install-efi.sh => initramfs-framework/install-efi.sh} (100%) create mode 100644 meta/recipes-core/initrdscripts/initramfs-framework/setup-live rename meta/recipes-core/udev/{eudev_3.2.1.bb => eudev_3.2.2.bb} (96%) rename meta/recipes-devtools/btrfs-tools/{btrfs-tools_4.11.bb => btrfs-tools_4.11.1.bb} (95%) rename meta/recipes-devtools/vala/{vala_0.36.3.bb => vala_0.36.4.bb} (56%) delete mode 100644 meta/recipes-extended/cups/cups_2.2.3.bb create mode 100644 meta/recipes-extended/cups/cups_2.2.4.bb delete mode 100644 meta/recipes-extended/diffutils/diffutils-3.5/diffutils-3.5-gcc7.patch rename meta/recipes-extended/diffutils/{diffutils-3.5 => diffutils-3.6}/0001-Unset-need_charset_alias-when-building-for-musl.patch (100%) create mode 100644 meta/recipes-extended/diffutils/diffutils-3.6/0001-explicitly-disable-replacing-getopt.patch rename meta/recipes-extended/diffutils/{diffutils-3.5 => diffutils-3.6}/run-ptest (100%) rename meta/recipes-extended/diffutils/{diffutils_3.5.bb => diffutils_3.6.bb} (66%) rename meta/recipes-extended/sudo/{sudo_1.8.19p2.bb => sudo_1.8.20p2.bb} (90%) rename meta/recipes-extended/sysstat/{sysstat_11.5.6.bb => sysstat_11.5.7.bb} (53%) rename meta/recipes-gnome/epiphany/{epiphany_3.24.2.bb => epiphany_3.24.3.bb} (84%) rename meta/recipes-graphics/harfbuzz/{harfbuzz_1.4.6.bb => harfbuzz_1.4.7.bb} (88%) rename meta/recipes-multimedia/mpg123/{mpg123_1.25.0.bb => mpg123_1.25.4.bb} (94%) rename meta/recipes-sato/webkit/{webkitgtk_2.16.5.bb => webkitgtk_2.16.6.bb} (97%) rename meta/recipes-support/bash-completion/{bash-completion_2.5.bb => bash-completion_2.7.bb} (88%) rename meta/recipes-support/icu/{icu_58.2.bb => icu_59.1.bb} (78%) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:37:33 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:37:33 +0000 Subject: [oe-commits] [openembedded-core] 03/24: go: centralize definition of COMPATIBLE_HOST In-Reply-To: <150119145066.27158.3748857206774807008@git.openembedded.org> References: <150119145066.27158.3748857206774807008@git.openembedded.org> Message-ID: <20170727213731.2A6CB234F3B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 9e899bbc081cb932c1492f6d6802b908d70ef42f Author: Joe Slater AuthorDate: Wed Jul 26 15:14:23 2017 -0700 go: centralize definition of COMPATIBLE_HOST Put it in goarch.bbclass which all go related recipes inherit. Signed-off-by: Joe Slater Signed-off-by: Richard Purdie --- meta/classes/go.bbclass | 5 ----- meta/classes/goarch.bbclass | 6 ++++++ meta/recipes-devtools/go/go-cross.inc | 4 ---- meta/recipes-devtools/go/go.inc | 6 ------ 4 files changed, 6 insertions(+), 15 deletions(-) diff --git a/meta/classes/go.bbclass b/meta/classes/go.bbclass index 85f71a2..cedda68 100644 --- a/meta/classes/go.bbclass +++ b/meta/classes/go.bbclass @@ -1,10 +1,5 @@ inherit goarch -# x32 ABI is not supported on go compiler so far -COMPATIBLE_HOST_linux-gnux32 = "null" -# ppc32 is not supported in go compilers -COMPATIBLE_HOST_powerpc = "null" - GOROOT_class-native = "${STAGING_LIBDIR_NATIVE}/go" GOROOT = "${STAGING_LIBDIR_NATIVE}/${TARGET_SYS}/go" GOBIN_FINAL_class-native = "${GOROOT_FINAL}/bin" diff --git a/meta/classes/goarch.bbclass b/meta/classes/goarch.bbclass index 4a5b2ec..57537fb 100644 --- a/meta/classes/goarch.bbclass +++ b/meta/classes/goarch.bbclass @@ -11,6 +11,12 @@ TARGET_GOARM = "${@go_map_arm(d.getVar('TARGET_ARCH', True), d.getVar('TUNE_FEAT TARGET_GOTUPLE = "${TARGET_GOOS}_${TARGET_GOARCH}" GO_BUILD_BINDIR = "${@['bin/${HOST_GOTUPLE}','bin'][d.getVar('BUILD_GOTUPLE',True) == d.getVar('HOST_GOTUPLE',True)]}" +# define here because everybody inherits this class +# +COMPATIBLE_HOST_linux-gnux32 = "null" +COMPATIBLE_HOST_powerpc = "null" +COMPATIBLE_HOST_powerpc64 = "null" + def go_map_arch(a, d): import re if re.match('i.86', a): diff --git a/meta/recipes-devtools/go/go-cross.inc b/meta/recipes-devtools/go/go-cross.inc index 71e4611..1c2d9e3 100644 --- a/meta/recipes-devtools/go/go-cross.inc +++ b/meta/recipes-devtools/go/go-cross.inc @@ -13,7 +13,3 @@ FILESEXTRAPATHS =. "${FILE_DIRNAME}/go-cross:" GOROOT_FINAL = "${libdir}/go" export GOROOT_FINAL -# x32 ABI is not supported on go compiler so far -COMPATIBLE_HOST_linux-gnux32 = "null" -# ppc32 is not supported in go compilers -COMPATIBLE_HOST_powerpc = "null" diff --git a/meta/recipes-devtools/go/go.inc b/meta/recipes-devtools/go/go.inc index 91d040d..52abbeb 100644 --- a/meta/recipes-devtools/go/go.inc +++ b/meta/recipes-devtools/go/go.inc @@ -12,12 +12,6 @@ DEPENDS += "${@ 'libgcc' if not oe.utils.inherits(d, 'cross') else ''}" INHIBIT_PACKAGE_STRIP = "1" INHIBIT_SYSROOT_STRIP = "1" -# x32 ABI is not supported on go compiler so far -COMPATIBLE_HOST_linux-gnux32 = "null" -# ppc is not supported in go compilers -COMPATIBLE_HOST_powerpc = "null" -COMPATIBLE_HOST_powerpc64 = "null" - export GOHOSTOS = "${BUILD_GOOS}" export GOHOSTARCH = "${BUILD_GOARCH}" export GOOS = "${TARGET_GOOS}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:37:37 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:37:37 +0000 Subject: [oe-commits] [openembedded-core] 07/24: gnu-config: update SRC_URI to new savannah.gnu.org hostname In-Reply-To: <150119145066.27158.3748857206774807008@git.openembedded.org> References: <150119145066.27158.3748857206774807008@git.openembedded.org> Message-ID: <20170727213731.45C39234F3F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit cf21f45fc7fa7a70df48e9eb6bdf38d0aa902f9b Author: Andre McCurdy AuthorDate: Tue Jul 25 17:18:35 2017 -0700 gnu-config: update SRC_URI to new savannah.gnu.org hostname http://sv.gnu.org/ now redirects to http://savannah.gnu.org/ Signed-off-by: Andre McCurdy Signed-off-by: Richard Purdie --- meta/recipes-devtools/gnu-config/gnu-config_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-devtools/gnu-config/gnu-config_git.bb b/meta/recipes-devtools/gnu-config/gnu-config_git.bb index 072726f..f1c7788 100644 --- a/meta/recipes-devtools/gnu-config/gnu-config_git.bb +++ b/meta/recipes-devtools/gnu-config/gnu-config_git.bb @@ -11,7 +11,7 @@ INHIBIT_DEFAULT_DEPS = "1" SRCREV = "b576fa87c140b824466ef1638e945e87dc5c0343" PV = "20150728+git${SRCPV}" -SRC_URI = "git://git.sv.gnu.org/config.git \ +SRC_URI = "git://git.savannah.gnu.org/config.git \ file://gnu-configize.in" S = "${WORKDIR}/git" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:37:40 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:37:40 +0000 Subject: [oe-commits] [openembedded-core] 10/24: btrfs-tools: upgrade to 4.11.1 In-Reply-To: <150119145066.27158.3748857206774807008@git.openembedded.org> References: <150119145066.27158.3748857206774807008@git.openembedded.org> Message-ID: <20170727213731.5A1F7234F42@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit c1152321e3bcf7a61103d77759da17575155225c Author: Alexander Kanavin AuthorDate: Mon Jul 24 17:28:09 2017 +0300 btrfs-tools: upgrade to 4.11.1 Signed-off-by: Alexander Kanavin Signed-off-by: Richard Purdie --- .../btrfs-tools/{btrfs-tools_4.11.bb => btrfs-tools_4.11.1.bb} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.11.bb b/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.11.1.bb similarity index 95% rename from meta/recipes-devtools/btrfs-tools/btrfs-tools_4.11.bb rename to meta/recipes-devtools/btrfs-tools/btrfs-tools_4.11.1.bb index 6ccb44a..a7b42e9 100644 --- a/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.11.bb +++ b/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.11.1.bb @@ -14,7 +14,7 @@ DEPENDS = "util-linux attr e2fsprogs lzo acl" DEPENDS_append_class-target = " udev" RDEPENDS_${PN} = "libgcc" -SRCREV = "981f2d8fdc37741098bb977921c6e3f1ea88365b" +SRCREV = "88221fc081a7a0979a012f243b66cf097382cc8f" SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git" inherit autotools-brokensep pkgconfig manpages -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:37:39 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:37:39 +0000 Subject: [oe-commits] [openembedded-core] 09/24: icu: update to 59.1 In-Reply-To: <150119145066.27158.3748857206774807008@git.openembedded.org> References: <150119145066.27158.3748857206774807008@git.openembedded.org> Message-ID: <20170727213731.53692234F41@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit b002f44ed5a07b42deb8cccdb192e12091cd654f Author: Alexander Kanavin AuthorDate: Mon Jul 24 17:28:08 2017 +0300 icu: update to 59.1 License checksum change due to copyright year update. Latest icu will not compile with anything less than C++11, so drop the enforcement of an earlier C++ version. This should be okay, as there is now a fix in place for the problem of mixing native gcc 4/5 compiled code: http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=c21cec84886d9c70396e9be0ceb9a8ef300b54be Signed-off-by: Alexander Kanavin Signed-off-by: Richard Purdie --- meta/conf/distro/include/uninative-flags.inc | 4 ---- meta/recipes-support/icu/{icu_58.2.bb => icu_59.1.bb} | 6 +++--- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/meta/conf/distro/include/uninative-flags.inc b/meta/conf/distro/include/uninative-flags.inc index f5b1547..febf2a5 100644 --- a/meta/conf/distro/include/uninative-flags.inc +++ b/meta/conf/distro/include/uninative-flags.inc @@ -1,7 +1,3 @@ -# icu configure defaults to CXX11 if no -std= option is passed in CXXFLAGS -# therefore pass one -BUILD_CXXFLAGS_append_pn-icu-native = " -std=c++98" - # Some distros (ubuntu 16.10, debian-testing) default to gcc configured with # --enable-default-pie (see gcc -v). This breaks e.g. prelink-native on a pie # default system if binutils-native was built on a system which is not pie default diff --git a/meta/recipes-support/icu/icu_58.2.bb b/meta/recipes-support/icu/icu_59.1.bb similarity index 78% rename from meta/recipes-support/icu/icu_58.2.bb rename to meta/recipes-support/icu/icu_59.1.bb index 47684a6..31f017b 100644 --- a/meta/recipes-support/icu/icu_58.2.bb +++ b/meta/recipes-support/icu/icu_59.1.bb @@ -1,6 +1,6 @@ require icu.inc -LIC_FILES_CHKSUM = "file://../LICENSE;md5=1b3b75c1777cd49ad5c6a24cd338cfc9" +LIC_FILES_CHKSUM = "file://../LICENSE;md5=fe9e1f2c500466d8f18df2cd068e4b74" def icu_download_version(d): pvsplit = d.getVar('PV').split('.') @@ -22,8 +22,8 @@ SRC_URI = "${BASE_SRC_URI} \ SRC_URI_append_class-target = "\ file://0001-Disable-LDFLAGSICUDT-for-Linux.patch \ " -SRC_URI[md5sum] = "fac212b32b7ec7ab007a12dff1f3aea1" -SRC_URI[sha256sum] = "2b0a4410153a9b20de0e20c7d8b66049a72aef244b53683d0d7521371683da0c" +SRC_URI[md5sum] = "54923fa9fab5b2b83f235fb72523de37" +SRC_URI[sha256sum] = "7132fdaf9379429d004005217f10e00b7d2319d0fea22bdfddef8991c45b75fe" UPSTREAM_CHECK_REGEX = "(?P\d+(\.\d+)+)/" UPSTREAM_CHECK_URI = "http://download.icu-project.org/files/icu4c/" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:37:36 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:37:36 +0000 Subject: [oe-commits] [openembedded-core] 06/24: kernel-devsrc: Remove .kernel-meta from package In-Reply-To: <150119145066.27158.3748857206774807008@git.openembedded.org> References: <150119145066.27158.3748857206774807008@git.openembedded.org> Message-ID: <20170727213731.3F4F9234F3E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 3bcf227dc68f215b2d4d7b58aeea71d237ac719e Author: sweeaun AuthorDate: Tue Jul 25 17:25:00 2017 -0700 kernel-devsrc: Remove .kernel-meta from package [YOCTO #11730] Include .kernel-meta directory in the prune list of the find to prevent .kernel-meta directory included into installable package. Signed-off-by: sweeaun Signed-off-by: Richard Purdie --- meta/recipes-kernel/linux/kernel-devsrc.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-kernel/linux/kernel-devsrc.bb b/meta/recipes-kernel/linux/kernel-devsrc.bb index 7004261..c1b5b77 100644 --- a/meta/recipes-kernel/linux/kernel-devsrc.bb +++ b/meta/recipes-kernel/linux/kernel-devsrc.bb @@ -46,7 +46,7 @@ do_install() { cd ${B} find . -type d -name '.git*' -prune -o -path '.debug' -prune -o -type f -print0 | cpio --null -pdlu $kerneldir cd ${S} - find . -type d -name '.git*' -prune -o -type f -print0 | cpio --null -pdlu $kerneldir + find . -type d -name '.git*' -prune -o -type d -name '.kernel-meta' -prune -o -type f -print0 | cpio --null -pdlu $kerneldir # Explicitly set KBUILD_OUTPUT to ensure that the image directory is cleaned and not # The main build artifacts. We clean the directory to avoid QA errors on mismatched -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:37:38 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:37:38 +0000 Subject: [oe-commits] [openembedded-core] 08/24: mirrors.bbclass: provide git repo fallbacks using the https protocol In-Reply-To: <150119145066.27158.3748857206774807008@git.openembedded.org> References: <150119145066.27158.3748857206774807008@git.openembedded.org> Message-ID: <20170727213731.4C810234F40@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit abb8895d5b42a5dc171360a261a2652acd14ee7e Author: Andre McCurdy AuthorDate: Tue Jul 25 17:18:36 2017 -0700 mirrors.bbclass: provide git repo fallbacks using the https protocol Use MIRRORS to provide git repo fallbacks using the https protocol, for cases where git native protocol fetches may fail due to local firewall rules, etc. These rules should cover all git native repos used by recipes within oe-core, with the exception of mtd-utils, for which there's currently no upstream alternative to the git native protocol for anonymous access ( see http://git.infradead.org/mtd-utils.git ). Signed-off-by: Andre McCurdy Signed-off-by: Richard Purdie --- meta/classes/mirrors.bbclass | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/meta/classes/mirrors.bbclass b/meta/classes/mirrors.bbclass index 9b72473..b98684f 100644 --- a/meta/classes/mirrors.bbclass +++ b/meta/classes/mirrors.bbclass @@ -62,3 +62,14 @@ npm://.*/.* http://sources.openembedded.org/ \n \ ${CPAN_MIRROR} http://cpan.metacpan.org/ \n \ ${CPAN_MIRROR} http://search.cpan.org/CPAN/ \n \ " + +# Use MIRRORS to provide git repo fallbacks using the https protocol, for cases +# where git native protocol fetches may fail due to local firewall rules, etc. + +MIRRORS += "\ +git://anonscm.debian.org/.* git://anonscm.debian.org/git/PATH;protocol=https \n \ +git://git.gnome.org/.* git://git.gnome.org/browse/PATH;protocol=https \n \ +git://git.savannah.gnu.org/.* git://git.savannah.gnu.org/git/PATH;protocol=https \n \ +git://git.yoctoproject.org/.* git://git.yoctoproject.org/git/PATH;protocol=https \n \ +git://.*/.* git://HOST/PATH;protocol=https \n \ +" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:37:35 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:37:35 +0000 Subject: [oe-commits] [openembedded-core] 05/24: eudev: update to 3.2.2 In-Reply-To: <150119145066.27158.3748857206774807008@git.openembedded.org> References: <150119145066.27158.3748857206774807008@git.openembedded.org> Message-ID: <20170727213731.384A4234F3D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit b3175533438801a4244bc2eb102fd72613f74289 Author: Alexander Kanavin AuthorDate: Wed Jul 26 13:41:02 2017 +0300 eudev: update to 3.2.2 Signed-off-by: Alexander Kanavin Signed-off-by: Richard Purdie --- meta/recipes-core/udev/{eudev_3.2.1.bb => eudev_3.2.2.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-core/udev/eudev_3.2.1.bb b/meta/recipes-core/udev/eudev_3.2.2.bb similarity index 96% rename from meta/recipes-core/udev/eudev_3.2.1.bb rename to meta/recipes-core/udev/eudev_3.2.2.bb index bdfb544..78fef2c 100644 --- a/meta/recipes-core/udev/eudev_3.2.1.bb +++ b/meta/recipes-core/udev/eudev_3.2.2.bb @@ -23,8 +23,8 @@ SRC_URI = "https://github.com/gentoo/${BPN}/archive/v${PV}.tar.gz;downloadfilena " UPSTREAM_CHECK_URI = "https://github.com/gentoo/eudev/releases" -SRC_URI[md5sum] = "a2aae16bc432eac0e71c1267c384e295" -SRC_URI[sha256sum] = "88f530c1540750e6daa91b5eaeebf88e761e6f0c86515c1c28eedfd871f027c6" +SRC_URI[md5sum] = "1a0faad3a88ade3475e8c0ddef78e30b" +SRC_URI[sha256sum] = "80628191448886846ab9cc0e2af6782358a0afb81d5b4f8cd9d982d2626cca31" inherit autotools update-rc.d qemu pkgconfig -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:37:41 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:37:41 +0000 Subject: [oe-commits] [openembedded-core] 11/24: bash-completion: upgrade to 2.7 In-Reply-To: <150119145066.27158.3748857206774807008@git.openembedded.org> References: <150119145066.27158.3748857206774807008@git.openembedded.org> Message-ID: <20170727213731.61DB7234F43@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit ec5938795c44163303d8708d3386947567c05f28 Author: Alexander Kanavin AuthorDate: Mon Jul 24 17:28:10 2017 +0300 bash-completion: upgrade to 2.7 Signed-off-by: Alexander Kanavin Signed-off-by: Richard Purdie --- .../{bash-completion_2.5.bb => bash-completion_2.7.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-support/bash-completion/bash-completion_2.5.bb b/meta/recipes-support/bash-completion/bash-completion_2.7.bb similarity index 88% rename from meta/recipes-support/bash-completion/bash-completion_2.5.bb rename to meta/recipes-support/bash-completion/bash-completion_2.7.bb index dd22857..7877e51 100644 --- a/meta/recipes-support/bash-completion/bash-completion_2.5.bb +++ b/meta/recipes-support/bash-completion/bash-completion_2.7.bb @@ -9,8 +9,8 @@ SECTION = "console/utils" SRC_URI = "https://github.com/scop/bash-completion/releases/download/${PV}/${BPN}-${PV}.tar.xz" -SRC_URI[md5sum] = "15300010bd4034de12c3fc4f171692e3" -SRC_URI[sha256sum] = "b0b9540c65532825eca030f1241731383f89b2b65e80f3492c5dd2f0438c95cf" +SRC_URI[md5sum] = "28117492bdc9408438e6041683a423ce" +SRC_URI[sha256sum] = "41ba892d3f427d4a686de32673f35401bc947a7801f684127120cdb13641441e" UPSTREAM_CHECK_REGEX = "bash-completion-(?P(?!2008).+)\.tar" UPSTREAM_CHECK_URI = "https://github.com/scop/bash-completion/releases" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:37:42 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:37:42 +0000 Subject: [oe-commits] [openembedded-core] 12/24: epiphany: upgrade to 3.24.3 In-Reply-To: <150119145066.27158.3748857206774807008@git.openembedded.org> References: <150119145066.27158.3748857206774807008@git.openembedded.org> Message-ID: <20170727213731.68CA6234F44@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 10de5bf834bf95af05fa8b1c67f0f42a47c6a34e Author: Alexander Kanavin AuthorDate: Mon Jul 24 17:28:11 2017 +0300 epiphany: upgrade to 3.24.3 Signed-off-by: Alexander Kanavin Signed-off-by: Richard Purdie --- .../recipes-gnome/epiphany/{epiphany_3.24.2.bb => epiphany_3.24.3.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-gnome/epiphany/epiphany_3.24.2.bb b/meta/recipes-gnome/epiphany/epiphany_3.24.3.bb similarity index 84% rename from meta/recipes-gnome/epiphany/epiphany_3.24.2.bb rename to meta/recipes-gnome/epiphany/epiphany_3.24.3.bb index dafad8a..c507d23 100644 --- a/meta/recipes-gnome/epiphany/epiphany_3.24.2.bb +++ b/meta/recipes-gnome/epiphany/epiphany_3.24.3.bb @@ -12,8 +12,8 @@ REQUIRED_DISTRO_FEATURES = "x11" SRC_URI += "file://0001-yelp.m4-drop-the-check-for-itstool.patch \ file://0001-bookmarks-Check-for-return-value-of-fread.patch \ " -SRC_URI[archive.md5sum] = "e035dc6f64f0c1909de823e03f16b2f3" -SRC_URI[archive.sha256sum] = "5abc0d0c60591df5236ac9b8979dc9f7d9acbb8ad0902b4772d2b7beea81c58d" +SRC_URI[archive.md5sum] = "c0221aec6a08935e6854eaa9de9451ef" +SRC_URI[archive.sha256sum] = "fef51676310d9f37e18c9b2d778254232eb17cccd988c2d1ecf42c7b2963a154" EXTRA_OECONF += " --with-distributor-name=${DISTRO} --enable-debug=no" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:37:44 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:37:44 +0000 Subject: [oe-commits] [openembedded-core] 14/24: mpg123: update to 1.25.4 In-Reply-To: <150119145066.27158.3748857206774807008@git.openembedded.org> References: <150119145066.27158.3748857206774807008@git.openembedded.org> Message-ID: <20170727213731.768D2234F46@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 97a4e2d564807caba5e527d95871972464c261c6 Author: Alexander Kanavin AuthorDate: Mon Jul 24 17:28:15 2017 +0300 mpg123: update to 1.25.4 Signed-off-by: Alexander Kanavin Signed-off-by: Richard Purdie --- meta/recipes-multimedia/mpg123/{mpg123_1.25.0.bb => mpg123_1.25.4.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-multimedia/mpg123/mpg123_1.25.0.bb b/meta/recipes-multimedia/mpg123/mpg123_1.25.4.bb similarity index 94% rename from meta/recipes-multimedia/mpg123/mpg123_1.25.0.bb rename to meta/recipes-multimedia/mpg123/mpg123_1.25.4.bb index f86098c..96e8f21 100644 --- a/meta/recipes-multimedia/mpg123/mpg123_1.25.0.bb +++ b/meta/recipes-multimedia/mpg123/mpg123_1.25.4.bb @@ -11,8 +11,8 @@ LICENSE_FLAGS = "commercial" LIC_FILES_CHKSUM = "file://COPYING;md5=1e86753638d3cf2512528b99079bc4f3" SRC_URI = "https://www.mpg123.de/download/${BP}.tar.bz2" -SRC_URI[md5sum] = "2ffbe29c99130215b0ee7d1b11c0ea4b" -SRC_URI[sha256sum] = "552e3e1db045e00f474252917007795ac295863fc8b13891859b3382d2f24e48" +SRC_URI[md5sum] = "810e9d00fd75c92c4afafa20245317b5" +SRC_URI[sha256sum] = "cdb5620e8aab83f75a27dab3394a44b9cc4017fc77b2954b8425ca416db6b3e7" inherit autotools pkgconfig -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:37:43 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:37:43 +0000 Subject: [oe-commits] [openembedded-core] 13/24: vala: upgrade to 0.36.4 In-Reply-To: <150119145066.27158.3748857206774807008@git.openembedded.org> References: <150119145066.27158.3748857206774807008@git.openembedded.org> Message-ID: <20170727213731.70A79234F45@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 03d0beec5b5e6cadbda398a28c754811a71e529e Author: Alexander Kanavin AuthorDate: Mon Jul 24 17:28:13 2017 +0300 vala: upgrade to 0.36.4 Signed-off-by: Alexander Kanavin Signed-off-by: Richard Purdie --- meta/recipes-devtools/vala/{vala_0.36.3.bb => vala_0.36.4.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-devtools/vala/vala_0.36.3.bb b/meta/recipes-devtools/vala/vala_0.36.4.bb similarity index 56% rename from meta/recipes-devtools/vala/vala_0.36.3.bb rename to meta/recipes-devtools/vala/vala_0.36.4.bb index e5707c8..51000d9 100644 --- a/meta/recipes-devtools/vala/vala_0.36.3.bb +++ b/meta/recipes-devtools/vala/vala_0.36.4.bb @@ -4,5 +4,5 @@ SRC_URI += " file://0001-git-version-gen-don-t-append-dirty-if-we-re-not-in-g.pa file://0001-vapigen.m4-use-PKG_CONFIG_SYSROOT_DIR.patch \ " -SRC_URI[md5sum] = "ff093f46e1d2e0b179543ec43cf27d76" -SRC_URI[sha256sum] = "ac8a4ecd01f62d0c5f62ba50b7290d8c5a1edb308eec772a65b8e79be68f061c" +SRC_URI[md5sum] = "3c19014093f1a3d995357253b463082c" +SRC_URI[sha256sum] = "e9f23ce711c1a72ce664d10946fbc5953f01b0b7f2a3562e7a01e362d86de059" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:37:45 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:37:45 +0000 Subject: [oe-commits] [openembedded-core] 15/24: webkitgtk: update to 2.16.6 In-Reply-To: <150119145066.27158.3748857206774807008@git.openembedded.org> References: <150119145066.27158.3748857206774807008@git.openembedded.org> Message-ID: <20170727213731.7D3D3234F47@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 198ccdbefa481f725492b5d8834213fe26431be5 Author: Alexander Kanavin AuthorDate: Mon Jul 24 17:28:17 2017 +0300 webkitgtk: update to 2.16.6 Signed-off-by: Alexander Kanavin Signed-off-by: Richard Purdie --- meta/recipes-sato/webkit/{webkitgtk_2.16.5.bb => webkitgtk_2.16.6.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-sato/webkit/webkitgtk_2.16.5.bb b/meta/recipes-sato/webkit/webkitgtk_2.16.6.bb similarity index 97% rename from meta/recipes-sato/webkit/webkitgtk_2.16.5.bb rename to meta/recipes-sato/webkit/webkitgtk_2.16.6.bb index dcaf8a6..fbc74dc 100644 --- a/meta/recipes-sato/webkit/webkitgtk_2.16.5.bb +++ b/meta/recipes-sato/webkit/webkitgtk_2.16.6.bb @@ -23,8 +23,8 @@ SRC_URI = "http://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \ file://detect-atomics-during-configure.patch \ " -SRC_URI[md5sum] = "fce72dc89cd310a663d9eb97133861fe" -SRC_URI[sha256sum] = "8e0396f3428e757898c5856e642eed4fcd5a20ae03d96d3eaa03b76634be7dd4" +SRC_URI[md5sum] = "0e2d142a586e4ff79cf0324f4fdbf20c" +SRC_URI[sha256sum] = "fc23650df953123c59b9c0edf3855e7bd55bd107820997fc72375811e1ea4b21" inherit cmake pkgconfig gobject-introspection perlnative distro_features_check upstream-version-is-even gtk-doc -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:37:46 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:37:46 +0000 Subject: [oe-commits] [openembedded-core] 16/24: pciutils: upgrade to 3.5.5 In-Reply-To: <150119145066.27158.3748857206774807008@git.openembedded.org> References: <150119145066.27158.3748857206774807008@git.openembedded.org> Message-ID: <20170727213731.83827234F48@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit d1e05e9cbddea40ff582fae4ec7e2e7a4f52fd8f Author: Chen Qi AuthorDate: Mon Jul 24 17:51:08 2017 +0800 pciutils: upgrade to 3.5.5 Signed-off-by: Chen Qi Signed-off-by: Richard Purdie --- meta/recipes-bsp/pciutils/{pciutils_3.5.4.bb => pciutils_3.5.5.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-bsp/pciutils/pciutils_3.5.4.bb b/meta/recipes-bsp/pciutils/pciutils_3.5.5.bb similarity index 92% rename from meta/recipes-bsp/pciutils/pciutils_3.5.4.bb rename to meta/recipes-bsp/pciutils/pciutils_3.5.5.bb index 418f712..8382c84 100644 --- a/meta/recipes-bsp/pciutils/pciutils_3.5.4.bb +++ b/meta/recipes-bsp/pciutils/pciutils_3.5.5.bb @@ -11,8 +11,8 @@ DEPENDS = "zlib kmod" SRC_URI = "${KERNELORG_MIRROR}/software/utils/pciutils/pciutils-${PV}.tar.xz \ file://configure.patch" -SRC_URI[md5sum] = "e82537cd2194111c45fa7e684b52252e" -SRC_URI[sha256sum] = "64293c6ab9318c40ef262b76d87bd9097531759752bac556e50979b1e63cfe66" +SRC_URI[md5sum] = "238d9969cc0de8b9105d972007d9d546" +SRC_URI[sha256sum] = "1d62f8fa192f90e61c35a6fc15ff3cb9a7a792f782407acc42ef67817c5939f5" inherit multilib_header -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:37:50 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:37:50 +0000 Subject: [oe-commits] [openembedded-core] 20/24: sysstat: upgrade to 11.5.7 In-Reply-To: <150119145066.27158.3748857206774807008@git.openembedded.org> References: <150119145066.27158.3748857206774807008@git.openembedded.org> Message-ID: <20170727213731.A05BE234F4C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 6ee5abcc67c35d390d12bbc906787b87df80be3b Author: Chen Qi AuthorDate: Mon Jul 24 17:51:12 2017 +0800 sysstat: upgrade to 11.5.7 Signed-off-by: Chen Qi Signed-off-by: Richard Purdie --- .../recipes-extended/sysstat/{sysstat_11.5.6.bb => sysstat_11.5.7.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-extended/sysstat/sysstat_11.5.6.bb b/meta/recipes-extended/sysstat/sysstat_11.5.7.bb similarity index 53% rename from meta/recipes-extended/sysstat/sysstat_11.5.6.bb rename to meta/recipes-extended/sysstat/sysstat_11.5.7.bb index cdf9b12..72af931 100644 --- a/meta/recipes-extended/sysstat/sysstat_11.5.6.bb +++ b/meta/recipes-extended/sysstat/sysstat_11.5.7.bb @@ -4,5 +4,5 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=a23a74b3f4caf9616230789d94217acb" SRC_URI += "file://0001-Include-needed-headers-explicitly.patch" -SRC_URI[md5sum] = "92735f1be44c676960b53ee28e3a4984" -SRC_URI[sha256sum] = "83a81e0a6c1d39a0985310dc2944ac6214c963adb4dc8af24ae03a9ae8d0f3ac" +SRC_URI[md5sum] = "8f4a5d0de29f1056153e25e7a9c518d2" +SRC_URI[sha256sum] = "4a38efaa0ca85ee5484d046bd427012979264fef17f07fd7855860e592819482" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:37:49 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:37:49 +0000 Subject: [oe-commits] [openembedded-core] 19/24: sudo: upgrade to 1.8.20p2 In-Reply-To: <150119145066.27158.3748857206774807008@git.openembedded.org> References: <150119145066.27158.3748857206774807008@git.openembedded.org> Message-ID: <20170727213731.99227234F4B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit e1d27852bf21be49db574ed207bc90d42c4bd898 Author: Chen Qi AuthorDate: Mon Jul 24 17:51:11 2017 +0800 sudo: upgrade to 1.8.20p2 The checksum for doc/LICENSE is changed, but the content only changes year from '2013' to '2017', so the license remains the same. Signed-off-by: Chen Qi Signed-off-by: Richard Purdie --- meta/recipes-extended/sudo/sudo.inc | 2 +- meta/recipes-extended/sudo/{sudo_1.8.19p2.bb => sudo_1.8.20p2.bb} | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/meta/recipes-extended/sudo/sudo.inc b/meta/recipes-extended/sudo/sudo.inc index d42a04a..8c16d83 100644 --- a/meta/recipes-extended/sudo/sudo.inc +++ b/meta/recipes-extended/sudo/sudo.inc @@ -4,7 +4,7 @@ HOMEPAGE = "http://www.sudo.ws" BUGTRACKER = "http://www.sudo.ws/bugs/" SECTION = "admin" LICENSE = "ISC & BSD & Zlib" -LIC_FILES_CHKSUM = "file://doc/LICENSE;md5=f600a47c2a2cdde5899e449607810ed1 \ +LIC_FILES_CHKSUM = "file://doc/LICENSE;md5=652fb4334c13b511597d7940ef8b3323 \ file://plugins/sudoers/redblack.c;beginline=1;endline=41;md5=cfe41112f96c19a074934d128f45c693 \ file://lib/util/reallocarray.c;beginline=3;endline=16;md5=85b0905b795d4d58bf2e00635649eec6 \ file://lib/util/fnmatch.c;beginline=3;endline=27;md5=67f83ee9bd456557397082f8f1be0efd \ diff --git a/meta/recipes-extended/sudo/sudo_1.8.19p2.bb b/meta/recipes-extended/sudo/sudo_1.8.20p2.bb similarity index 90% rename from meta/recipes-extended/sudo/sudo_1.8.19p2.bb rename to meta/recipes-extended/sudo/sudo_1.8.20p2.bb index a9659c3..4f24b3c 100644 --- a/meta/recipes-extended/sudo/sudo_1.8.19p2.bb +++ b/meta/recipes-extended/sudo/sudo_1.8.20p2.bb @@ -7,8 +7,8 @@ SRC_URI = "http://ftp.sudo.ws/sudo/dist/sudo-${PV}.tar.gz \ PAM_SRC_URI = "file://sudo.pam" -SRC_URI[md5sum] = "31a6090ed1d0946fa22cba19e86aafef" -SRC_URI[sha256sum] = "237e18e67c2ad59ecacfa4b7707198b09fcf84914621585a9bc670dcc31a52e0" +SRC_URI[md5sum] = "03da8e711caca6fd93e57751bfb74adc" +SRC_URI[sha256sum] = "bd42ae1059e935f795c69ea97b3de09fe9410a58a74b5d5e6836eb5067a445d9" DEPENDS += " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" RDEPENDS_${PN} += " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-limits pam-plugin-keyinit', '', d)}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:37:48 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:37:48 +0000 Subject: [oe-commits] [openembedded-core] 18/24: cups: upgrade to 2.2.4 In-Reply-To: <150119145066.27158.3748857206774807008@git.openembedded.org> References: <150119145066.27158.3748857206774807008@git.openembedded.org> Message-ID: <20170727213731.92B73234F4A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 6547285f855d9826c2055ea97ceb07eb81aeb841 Author: Chen Qi AuthorDate: Mon Jul 24 17:51:10 2017 +0800 cups: upgrade to 2.2.4 Signed-off-by: Chen Qi Signed-off-by: Richard Purdie --- meta/recipes-extended/cups/cups_2.2.3.bb | 6 ------ meta/recipes-extended/cups/cups_2.2.4.bb | 6 ++++++ 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/meta/recipes-extended/cups/cups_2.2.3.bb b/meta/recipes-extended/cups/cups_2.2.3.bb deleted file mode 100644 index 204d14d..0000000 --- a/meta/recipes-extended/cups/cups_2.2.3.bb +++ /dev/null @@ -1,6 +0,0 @@ -require cups.inc - -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=f212b4338db0da8cb892e94bf2949460" - -SRC_URI[md5sum] = "006a8156680a516e43c59034e31df8bf" -SRC_URI[sha256sum] = "66701fe15838f2c892052c913bde1ba106bbee2e0a953c955a62ecacce76885f" diff --git a/meta/recipes-extended/cups/cups_2.2.4.bb b/meta/recipes-extended/cups/cups_2.2.4.bb new file mode 100644 index 0000000..ed94b67 --- /dev/null +++ b/meta/recipes-extended/cups/cups_2.2.4.bb @@ -0,0 +1,6 @@ +require cups.inc + +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=f212b4338db0da8cb892e94bf2949460" + +SRC_URI[md5sum] = "d26e5a0a574a69fe1d01079b2931fc49" +SRC_URI[sha256sum] = "596d4db72651c335469ae5f37b0da72ac9f97d73e30838d787065f559dea98cc" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:37:56 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:37:56 +0000 Subject: [oe-commits] [openembedded-core] 01/43: classes/buildhistory: fix failures collecting output signatures In-Reply-To: <150119145067.27158.18187262855008938611@git.openembedded.org> References: <150119145067.27158.18187262855008938611@git.openembedded.org> Message-ID: <20170727213732.27DFD234F3A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch pyro in repository openembedded-core. commit 66a0d184d8f55a8da03de9fedb18d166b80b198b Author: Paul Eggleton AuthorDate: Tue May 9 12:38:39 2017 +1200 classes/buildhistory: fix failures collecting output signatures It's possible for tasks to stage symlinks that point to non-existent files; an example is ncurses-native.do_populate_sysroot. There wasn't any error checking here so this broke the build when "task" was included in BUILDHISTORY_FEATURES. In any case we shouldn't be following symlinks and getting the sha256sum of the link target - we need concern ourselves only with the target path, so check if the file is a link and sha256 the target path instead if it is. If it's neither a regular file nor a symlink (perhaps a pipe or a device), just skip it. (From OE-Core rev: f60520d97f53dafe783f61eb58fe249798a1e1be) Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie Signed-off-by: Armin Kuster --- meta/classes/buildhistory.bbclass | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/meta/classes/buildhistory.bbclass b/meta/classes/buildhistory.bbclass index f543bb7..8eafdc9 100644 --- a/meta/classes/buildhistory.bbclass +++ b/meta/classes/buildhistory.bbclass @@ -301,6 +301,8 @@ python buildhistory_emit_outputsigs() { if not "task" in (d.getVar('BUILDHISTORY_FEATURES') or "").split(): return + import hashlib + taskoutdir = os.path.join(d.getVar('BUILDHISTORY_DIR'), 'task', 'output') bb.utils.mkdirhier(taskoutdir) currenttask = d.getVar('BB_CURRENTTASK') @@ -314,7 +316,17 @@ python buildhistory_emit_outputsigs() { if fname == 'fixmepath': continue fullpath = os.path.join(root, fname) - filesigs[os.path.relpath(fullpath, cwd)] = bb.utils.sha256_file(fullpath) + try: + if os.path.islink(fullpath): + sha256 = hashlib.sha256(os.readlink(fullpath).encode('utf-8')).hexdigest() + elif os.path.isfile(fullpath): + sha256 = bb.utils.sha256_file(fullpath) + else: + continue + except OSError: + bb.warn('buildhistory: unable to read %s to get output signature' % fullpath) + continue + filesigs[os.path.relpath(fullpath, cwd)] = sha256 with open(taskfile, 'w') as f: for fpath, fsig in sorted(filesigs.items(), key=lambda item: item[0]): f.write('%s %s\n' % (fpath, fsig)) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:37:52 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:37:52 +0000 Subject: [oe-commits] [openembedded-core] 22/24: initramfs-framework: module to support boot live image In-Reply-To: <150119145066.27158.3748857206774807008@git.openembedded.org> References: <150119145066.27158.3748857206774807008@git.openembedded.org> Message-ID: <20170727213731.AE586234F4E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 4d3300e85a8e65207a415b9cf84c9fa1f71b0406 Author: Ng, Wei Tee AuthorDate: Sun Jul 23 16:51:55 2017 -0700 initramfs-framework: module to support boot live image setup-live module is a new module being introduced to integrate the functionality of init-live.sh into new scriptlet named setup-live in order to support the live boot image. The udev-extraconf rdepends is being added to perform automounting. It gets to run before the rootfs and finish module. The setup-live scriplet include the changes for: - Create a conditional loop for the bootparam_root variable. If it is not set, then it will boot from ROOT_IMAGE. Else, it will boot normally which is not from removable media. - Gives a standard path to the original boot disk mount which can be used to. While /media/sda is a good guess, it isn't always right, nor is it a good assumption that only one boot disk is in the system. - The current rootfs module has no support for rootfs images, currently it only support for rootfs partitions for wic image. Therefore, there is a need to assign the rootfs image for live image. [YOCTO #11701] Signed-off-by: Ng, Wei Tee Signed-off-by: Richard Purdie --- .../initrdscripts/initramfs-framework/setup-live | 66 ++++++++++++++++++++++ .../initrdscripts/initramfs-framework_1.0.bb | 13 ++++- 2 files changed, 77 insertions(+), 2 deletions(-) diff --git a/meta/recipes-core/initrdscripts/initramfs-framework/setup-live b/meta/recipes-core/initrdscripts/initramfs-framework/setup-live new file mode 100644 index 0000000..ec4a139 --- /dev/null +++ b/meta/recipes-core/initrdscripts/initramfs-framework/setup-live @@ -0,0 +1,66 @@ +#/bin/sh +# Copyright (C) 2011 O.S. Systems Software LTDA. +# Licensed on MIT + +setup_enabled() { + return 0 +} + +setup_run() { +ROOT_IMAGE="rootfs.img" +ISOLINUX="" +ROOT_DISK="" +shelltimeout=30 + + if [ -z $bootparam_root ]; then + echo "Waiting for removable media..." + C=0 + while true + do + for i in `ls /run/media 2>/dev/null`; do + if [ -f /run/media/$i/$ROOT_IMAGE ] ; then + found="yes" + ROOT_DISK="$i" + break + elif [ -f /run/media/$i/isolinux/$ROOT_IMAGE ]; then + found="yes" + ISOLINUX="isolinux" + ROOT_DISK="$i" + break + fi + done + if [ "$found" = "yes" ]; then + break; + fi + # don't wait for more than $shelltimeout seconds, if it's set + if [ -n "$shelltimeout" ]; then + echo -n " " $(( $shelltimeout - $C )) + if [ $C -ge $shelltimeout ]; then + echo "..." + echo "Mounted filesystems" + mount | grep media + echo "Available block devices" + cat /proc/partitions + fatal "Cannot find $ROOT_IMAGE file in /run/media/* , dropping to a shell " + fi + C=$(( C + 1 )) + fi + sleep 1 + done + # The existing rootfs module has no support for rootfs images. Assign the rootfs image. + bootparam_root="/run/media/$ROOT_DISK/$ISOLINUX/$ROOT_IMAGE" + else + break + fi + + if [ "$bootparam_LABEL" != "boot" -a -f /init.d/$bootparam_LABEL.sh ] ; then + if [ -f /run/media/$i/$ISOLINUX/$ROOT_IMAGE ] ; then + ./init.d/$bootparam_LABEL.sh $i/$ISOLINUX $ROOT_IMAGE $video_mode $vga_mode $console_params + else + fatal "Could not find $bootparam_LABEL script" + fi + + # If we're getting here, we failed... + fatal "Target $bootparam_LABEL failed" + fi +} diff --git a/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb index 67a1b04..211e89d 100644 --- a/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb +++ b/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb @@ -13,7 +13,8 @@ SRC_URI = "file://init \ file://mdev \ file://udev \ file://e2fs \ - file://debug" + file://debug \ + file://setup-live" S = "${WORKDIR}" @@ -25,6 +26,9 @@ do_install() { install -m 0755 ${WORKDIR}/rootfs ${D}/init.d/90-rootfs install -m 0755 ${WORKDIR}/finish ${D}/init.d/99-finish + # setup-live + install -m 0755 ${WORKDIR}/setup-live ${D}/init.d/80-setup-live + # mdev install -m 0755 ${WORKDIR}/mdev ${D}/init.d/01-mdev @@ -48,7 +52,8 @@ PACKAGES = "${PN}-base \ initramfs-module-udev \ initramfs-module-e2fs \ initramfs-module-rootfs \ - initramfs-module-debug" + initramfs-module-debug \ + initramfs-module-setup-live" FILES_${PN}-base = "/init /init.d/99-finish /dev" @@ -68,6 +73,10 @@ SUMMARY_initramfs-module-udev = "initramfs support for udev" RDEPENDS_initramfs-module-udev = "${PN}-base udev" FILES_initramfs-module-udev = "/init.d/01-udev" +SUMMARY_initramfs-module-setup-live = "initramfs support for setup live" +RDEPENDS_initramfs-module-setup-live = "${PN}-base udev-extraconf" +FILES_initramfs-module-setup-live = "/init.d/80-setup-live" + SUMMARY_initramfs-module-e2fs = "initramfs support for ext4/ext3/ext2 filesystems" RDEPENDS_initramfs-module-e2fs = "${PN}-base" FILES_initramfs-module-e2fs = "/init.d/10-e2fs" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:37:55 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:37:55 +0000 Subject: [oe-commits] [openembedded-core] branch pyro updated (a8d2531 -> 81246ed) Message-ID: <150119145067.27158.18187262855008938611@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch pyro in repository openembedded-core. from a8d2531 tcf-agent: kill with USR2 in systemd stop new 66a0d18 classes/buildhistory: fix failures collecting output signatures new 008b4d1 libxml2: Disable LeakSanitizer when running API tests new 41a5ea6 libxml2: Avoid reparsing and simplify control flow in xmlParseStartTag2 new d549b8f libxml2: Fix CVE-2017-9047 and CVE-2017-9048 new a409c50 libxml2: Fix CVE-2017-9049 and CVE-2017-9050 new f0017a7 libxml2: Fix CVE-2017-5969 new e442e71 libxml2: Fix CVE-2017-0663 new c92a783 tzdata: Install zone1970.tab new d788d26 libpcap: apply fix from upstream to fix build race new a933bd6 linux-firmware: Avoid a dependency on python-core new dedba20 texi2html: Add a dependency on perl new 76045a1 git: Add a dependency on perl for gitweb new b99dd74 zlib: Pass pre-calculate uname enable re-entrant flags new 5a97694 package_manager.py: set dnf's releasever setting from DISTRO_CODENAME new d945678 qemuboot.conf: make cpus match built artifacts new fdd3479 tzcode-native: quote ${CC} new 2df99a0 iptables: Apply 0001-fix-build-with-musl.patch unconditionally new 9821cec yocto-compat-layer.py: avoid adding layers more than once new f2190e7 yocto-compat-layer.py: tolerate broken world builds during signature diff new e4dce65 yocto-compat-layer.py: apply test_signatures to all layers new da18bea yocto-compat-layer.py: add test_world new 0abc29f yocto-compat-layer.py: allow README with suffix new 23939d0 yocto-compat-layer.py: make signature check code reusable new a6eaef0 systemd: refuse to load units with errors (CVE-2017-1000082) new 89d53c7 systemd: workaround login failure on qemumips64 when 'pam' is enabled new e3c832e recipetool: git reformat URI mangling & parameter stripped new 3470a38 kernel-yocto: propagate configuration errors to bbclass new 98bce9c linux-yocto/4.10: update to v4.10.15 new 2a427e6 linux-yocto/4.4: update to v4.4.67 new dcaa696 linux-yocto/4.9: update to v4.9.27 new 774e0d3 linux-yocto/4.1: fix gcc7 compilation and v4.1.39 new 6c2e2af linux-yocto/meta: bluetooth: Adds BT_BREDR and BT_LE, which are needed as dependencies new 36b5941 linux-yocto/meta: smp: Add config X86_BIGSMP since its needed when NR_CPUS > 8 new a5b42c0 kernel/meta: add virtualbox configuration fragment new 6ddb062 linux-yocto/meta: configuration changes (wifi, kexec and nft) new 68e9381 linux-yocto-rt: 4.9-rt18 new a64e8c0 linux-yocto/4.10: update to v4.10.17 new 527f77e linux-yocto/4.9: update to 4.9.31 new e49b3ca linux-yocto/4.4: update to v4.4.71 new e418a06 kernel-yocto/meta: smp configuration changes new 32df1b2 linux-yocto/4.4: update to v4.4.76 new d16cf5d linux-yocto/4.9: update to v4.9.36 new 81246ed classes/staging: change fixme debug message from note to debug The 43 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: meta/classes/buildhistory.bbclass | 14 +- meta/classes/kernel-yocto.bbclass | 3 +- meta/classes/staging.bbclass | 2 +- meta/conf/machine/include/qemuboot-x86.inc | 6 +- meta/lib/oe/package_manager.py | 8 +- .../libpcap/libpcap/fix-grammar-deps.patch | 29 + meta/recipes-connectivity/libpcap/libpcap_1.8.1.bb | 1 + .../libxml/libxml2/libxml2-CVE-2017-0663.patch | 40 ++ .../libxml/libxml2/libxml2-CVE-2017-5969.patch | 62 +++ .../libxml2-CVE-2017-9047_CVE-2017-9048.patch | 103 ++++ .../libxml2-CVE-2017-9049_CVE-2017-9050.patch | 291 ++++++++++ ...ibxml2-fix_and_simplify_xmlParseStartTag2.patch | 590 +++++++++++++++++++++ meta/recipes-core/libxml/libxml2/runtest.patch | 25 +- meta/recipes-core/libxml/libxml2_2.9.4.bb | 5 + ...ragment-refuse-units-with-errors-in-certa.patch | 329 ++++++++++++ meta/recipes-core/systemd/systemd_232.bb | 4 + meta/recipes-core/zlib/zlib_1.2.11.bb | 12 +- meta/recipes-devtools/git/git.inc | 2 +- meta/recipes-extended/iptables/iptables_1.6.1.bb | 4 +- meta/recipes-extended/texi2html/texi2html_5.0.bb | 2 + .../recipes-extended/tzcode/tzcode-native_2017b.bb | 2 +- meta/recipes-extended/tzdata/tzdata_2017b.bb | 2 + .../linux-firmware/linux-firmware_git.bb | 3 + meta/recipes-kernel/linux/linux-yocto-rt_4.1.bb | 6 +- meta/recipes-kernel/linux/linux-yocto-rt_4.10.bb | 6 +- meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb | 6 +- meta/recipes-kernel/linux/linux-yocto-rt_4.9.bb | 6 +- meta/recipes-kernel/linux/linux-yocto-tiny_4.1.bb | 6 +- meta/recipes-kernel/linux/linux-yocto-tiny_4.10.bb | 6 +- meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb | 6 +- meta/recipes-kernel/linux/linux-yocto-tiny_4.9.bb | 6 +- meta/recipes-kernel/linux/linux-yocto_4.1.bb | 20 +- meta/recipes-kernel/linux/linux-yocto_4.10.bb | 20 +- meta/recipes-kernel/linux/linux-yocto_4.4.bb | 20 +- meta/recipes-kernel/linux/linux-yocto_4.9.bb | 20 +- scripts/lib/compatlayer/__init__.py | 90 +++- scripts/lib/compatlayer/cases/common.py | 92 +--- scripts/lib/compatlayer/context.py | 3 +- scripts/lib/recipetool/create.py | 35 +- scripts/yocto-compat-layer.py | 12 +- 40 files changed, 1731 insertions(+), 168 deletions(-) create mode 100644 meta/recipes-connectivity/libpcap/libpcap/fix-grammar-deps.patch create mode 100644 meta/recipes-core/libxml/libxml2/libxml2-CVE-2017-0663.patch create mode 100644 meta/recipes-core/libxml/libxml2/libxml2-CVE-2017-5969.patch create mode 100644 meta/recipes-core/libxml/libxml2/libxml2-CVE-2017-9047_CVE-2017-9048.patch create mode 100644 meta/recipes-core/libxml/libxml2/libxml2-CVE-2017-9049_CVE-2017-9050.patch create mode 100644 meta/recipes-core/libxml/libxml2/libxml2-fix_and_simplify_xmlParseStartTag2.patch create mode 100644 meta/recipes-core/systemd/systemd/0001-core-load-fragment-refuse-units-with-errors-in-certa.patch -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:37:58 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:37:58 +0000 Subject: [oe-commits] [openembedded-core] 03/43: libxml2: Avoid reparsing and simplify control flow in xmlParseStartTag2 In-Reply-To: <150119145067.27158.18187262855008938611@git.openembedded.org> References: <150119145067.27158.18187262855008938611@git.openembedded.org> Message-ID: <20170727213732.3841F234F3C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch pyro in repository openembedded-core. commit 41a5ea683cca3e635565a7a289ba260addfe4b11 Author: Andrej Valek AuthorDate: Wed Jun 14 14:38:35 2017 +0200 libxml2: Avoid reparsing and simplify control flow in xmlParseStartTag2 (From OE-Core rev: 4651afdd457eca06da07331186bf28b98df2eeff) Signed-off-by: Andrej Valek Signed-off-by: Richard Purdie Signed-off-by: Armin Kuster --- ...ibxml2-fix_and_simplify_xmlParseStartTag2.patch | 590 +++++++++++++++++++++ meta/recipes-core/libxml/libxml2_2.9.4.bb | 1 + 2 files changed, 591 insertions(+) diff --git a/meta/recipes-core/libxml/libxml2/libxml2-fix_and_simplify_xmlParseStartTag2.patch b/meta/recipes-core/libxml/libxml2/libxml2-fix_and_simplify_xmlParseStartTag2.patch new file mode 100644 index 0000000..faa5770 --- /dev/null +++ b/meta/recipes-core/libxml/libxml2/libxml2-fix_and_simplify_xmlParseStartTag2.patch @@ -0,0 +1,590 @@ +libxml2-2.9.4: Avoid reparsing and simplify control flow in xmlParseStartTag2 + +[No upstream tracking] + +parser: Avoid reparsing in xmlParseStartTag2 + +The code in xmlParseStartTag2 must handle the case that the input +buffer was grown and reallocated which can invalidate pointers to +attribute values. Before, this was handled by detecting changes of +the input buffer "base" pointer and, in case of a change, jumping +back to the beginning of the function and reparsing the start tag. + +The major problem of this approach is that whether an input buffer is +reallocated is nondeterministic, resulting in seemingly random test +failures. See the mailing list thread "runtest mystery bug: name2.xml +error case regression test" from 2012, for example. + +If a reallocation was detected, the code also made no attempts to +continue parsing in case of errors which makes a difference in +the lax "recover" mode. + +Now we store the current input buffer "base" pointer for each (not +separately allocated) attribute in the namespace URI field, which isn't +used until later. After the whole start tag was parsed, the pointers to +the attribute values are reconstructed using the offset between the +new and the old input buffer. This relies on arithmetic on dangling +pointers which is technically undefined behavior. But it seems like +the easiest and most efficient fix and a similar approach is used in +xmlParserInputGrow. + +This changes the error output of several tests, typically making it +more verbose because we try harder to continue parsing in case of errors. + +(Another possible solution is to check not only the "base" pointer +but the size of the input buffer as well. But this would result in +even more reparsing.) + +Remove some goto labels and deduplicate a bit of code after handling +namespaces. + +There were two bugs where parameter-entity references could lead to an +unexpected change of the input buffer in xmlParseNameComplex and +xmlDictLookup being called with an invalid pointer. + + +Upstream-Status: Backport + - [https://git.gnome.org/browse/libxml2/commit/?id=07b7428b69c368611d215a140fe630b2d1e61349] + - [https://git.gnome.org/browse/libxml2/commit/?id=855c19efb7cd30d927d673b3658563c4959ca6f0] +Signed-off-by: Andrej Valek + +diff --git a/parser.c b/parser.c +index 609a270..74016e3 100644 +--- a/parser.c ++++ b/parser.c +@@ -43,6 +43,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -9377,8 +9378,7 @@ xmlParseStartTag2(xmlParserCtxtPtr ctxt, const xmlChar **pref, + const xmlChar **atts = ctxt->atts; + int maxatts = ctxt->maxatts; + int nratts, nbatts, nbdef; +- int i, j, nbNs, attval, oldline, oldcol, inputNr; +- const xmlChar *base; ++ int i, j, nbNs, attval; + unsigned long cur; + int nsNr = ctxt->nsNr; + +@@ -9392,13 +9392,8 @@ xmlParseStartTag2(xmlParserCtxtPtr ctxt, const xmlChar **pref, + * The Shrinking is only possible once the full set of attribute + * callbacks have been done. + */ +-reparse: + SHRINK; +- base = ctxt->input->base; + cur = ctxt->input->cur - ctxt->input->base; +- inputNr = ctxt->inputNr; +- oldline = ctxt->input->line; +- oldcol = ctxt->input->col; + nbatts = 0; + nratts = 0; + nbdef = 0; +@@ -9422,8 +9417,6 @@ reparse: + */ + SKIP_BLANKS; + GROW; +- if ((ctxt->input->base != base) || (inputNr != ctxt->inputNr)) +- goto base_changed; + + while (((RAW != '>') && + ((RAW != '/') || (NXT(1) != '>')) && +@@ -9434,203 +9427,174 @@ reparse: + + attname = xmlParseAttribute2(ctxt, prefix, localname, + &aprefix, &attvalue, &len, &alloc); +- if ((ctxt->input->base != base) || (inputNr != ctxt->inputNr)) { +- if ((attvalue != NULL) && (alloc != 0)) +- xmlFree(attvalue); +- attvalue = NULL; +- goto base_changed; +- } +- if ((attname != NULL) && (attvalue != NULL)) { +- if (len < 0) len = xmlStrlen(attvalue); +- if ((attname == ctxt->str_xmlns) && (aprefix == NULL)) { +- const xmlChar *URL = xmlDictLookup(ctxt->dict, attvalue, len); +- xmlURIPtr uri; +- +- if (URL == NULL) { +- xmlErrMemory(ctxt, "dictionary allocation failure"); +- if ((attvalue != NULL) && (alloc != 0)) +- xmlFree(attvalue); +- return(NULL); +- } +- if (*URL != 0) { +- uri = xmlParseURI((const char *) URL); +- if (uri == NULL) { +- xmlNsErr(ctxt, XML_WAR_NS_URI, +- "xmlns: '%s' is not a valid URI\n", +- URL, NULL, NULL); +- } else { +- if (uri->scheme == NULL) { +- xmlNsWarn(ctxt, XML_WAR_NS_URI_RELATIVE, +- "xmlns: URI %s is not absolute\n", +- URL, NULL, NULL); +- } +- xmlFreeURI(uri); +- } +- if (URL == ctxt->str_xml_ns) { +- if (attname != ctxt->str_xml) { +- xmlNsErr(ctxt, XML_NS_ERR_XML_NAMESPACE, +- "xml namespace URI cannot be the default namespace\n", +- NULL, NULL, NULL); +- } +- goto skip_default_ns; +- } +- if ((len == 29) && +- (xmlStrEqual(URL, +- BAD_CAST "http://www.w3.org/2000/xmlns/"))) { +- xmlNsErr(ctxt, XML_NS_ERR_XML_NAMESPACE, +- "reuse of the xmlns namespace name is forbidden\n", +- NULL, NULL, NULL); +- goto skip_default_ns; +- } +- } +- /* +- * check that it's not a defined namespace +- */ +- for (j = 1;j <= nbNs;j++) +- if (ctxt->nsTab[ctxt->nsNr - 2 * j] == NULL) +- break; +- if (j <= nbNs) +- xmlErrAttributeDup(ctxt, NULL, attname); +- else +- if (nsPush(ctxt, NULL, URL) > 0) nbNs++; +-skip_default_ns: +- if ((attvalue != NULL) && (alloc != 0)) { +- xmlFree(attvalue); +- attvalue = NULL; +- } +- if ((RAW == '>') || (((RAW == '/') && (NXT(1) == '>')))) +- break; +- if (!IS_BLANK_CH(RAW)) { +- xmlFatalErrMsg(ctxt, XML_ERR_SPACE_REQUIRED, +- "attributes construct error\n"); +- break; +- } +- SKIP_BLANKS; +- if ((ctxt->input->base != base) || (inputNr != ctxt->inputNr)) +- goto base_changed; +- continue; +- } +- if (aprefix == ctxt->str_xmlns) { +- const xmlChar *URL = xmlDictLookup(ctxt->dict, attvalue, len); +- xmlURIPtr uri; +- +- if (attname == ctxt->str_xml) { +- if (URL != ctxt->str_xml_ns) { +- xmlNsErr(ctxt, XML_NS_ERR_XML_NAMESPACE, +- "xml namespace prefix mapped to wrong URI\n", +- NULL, NULL, NULL); +- } +- /* +- * Do not keep a namespace definition node +- */ +- goto skip_ns; +- } ++ if ((attname == NULL) || (attvalue == NULL)) ++ goto next_attr; ++ if (len < 0) len = xmlStrlen(attvalue); ++ ++ if ((attname == ctxt->str_xmlns) && (aprefix == NULL)) { ++ const xmlChar *URL = xmlDictLookup(ctxt->dict, attvalue, len); ++ xmlURIPtr uri; ++ ++ if (URL == NULL) { ++ xmlErrMemory(ctxt, "dictionary allocation failure"); ++ if ((attvalue != NULL) && (alloc != 0)) ++ xmlFree(attvalue); ++ return(NULL); ++ } ++ if (*URL != 0) { ++ uri = xmlParseURI((const char *) URL); ++ if (uri == NULL) { ++ xmlNsErr(ctxt, XML_WAR_NS_URI, ++ "xmlns: '%s' is not a valid URI\n", ++ URL, NULL, NULL); ++ } else { ++ if (uri->scheme == NULL) { ++ xmlNsWarn(ctxt, XML_WAR_NS_URI_RELATIVE, ++ "xmlns: URI %s is not absolute\n", ++ URL, NULL, NULL); ++ } ++ xmlFreeURI(uri); ++ } + if (URL == ctxt->str_xml_ns) { +- if (attname != ctxt->str_xml) { +- xmlNsErr(ctxt, XML_NS_ERR_XML_NAMESPACE, +- "xml namespace URI mapped to wrong prefix\n", +- NULL, NULL, NULL); +- } +- goto skip_ns; +- } +- if (attname == ctxt->str_xmlns) { +- xmlNsErr(ctxt, XML_NS_ERR_XML_NAMESPACE, +- "redefinition of the xmlns prefix is forbidden\n", +- NULL, NULL, NULL); +- goto skip_ns; +- } +- if ((len == 29) && +- (xmlStrEqual(URL, +- BAD_CAST "http://www.w3.org/2000/xmlns/"))) { +- xmlNsErr(ctxt, XML_NS_ERR_XML_NAMESPACE, +- "reuse of the xmlns namespace name is forbidden\n", +- NULL, NULL, NULL); +- goto skip_ns; +- } +- if ((URL == NULL) || (URL[0] == 0)) { +- xmlNsErr(ctxt, XML_NS_ERR_XML_NAMESPACE, +- "xmlns:%s: Empty XML namespace is not allowed\n", +- attname, NULL, NULL); +- goto skip_ns; +- } else { +- uri = xmlParseURI((const char *) URL); +- if (uri == NULL) { +- xmlNsErr(ctxt, XML_WAR_NS_URI, +- "xmlns:%s: '%s' is not a valid URI\n", +- attname, URL, NULL); +- } else { +- if ((ctxt->pedantic) && (uri->scheme == NULL)) { +- xmlNsWarn(ctxt, XML_WAR_NS_URI_RELATIVE, +- "xmlns:%s: URI %s is not absolute\n", +- attname, URL, NULL); +- } +- xmlFreeURI(uri); +- } +- } +- +- /* +- * check that it's not a defined namespace +- */ +- for (j = 1;j <= nbNs;j++) +- if (ctxt->nsTab[ctxt->nsNr - 2 * j] == attname) +- break; +- if (j <= nbNs) +- xmlErrAttributeDup(ctxt, aprefix, attname); +- else +- if (nsPush(ctxt, attname, URL) > 0) nbNs++; +-skip_ns: +- if ((attvalue != NULL) && (alloc != 0)) { +- xmlFree(attvalue); +- attvalue = NULL; +- } +- if ((RAW == '>') || (((RAW == '/') && (NXT(1) == '>')))) +- break; +- if (!IS_BLANK_CH(RAW)) { +- xmlFatalErrMsg(ctxt, XML_ERR_SPACE_REQUIRED, +- "attributes construct error\n"); +- break; +- } +- SKIP_BLANKS; +- if ((ctxt->input->base != base) || (inputNr != ctxt->inputNr)) +- goto base_changed; +- continue; +- } ++ if (attname != ctxt->str_xml) { ++ xmlNsErr(ctxt, XML_NS_ERR_XML_NAMESPACE, ++ "xml namespace URI cannot be the default namespace\n", ++ NULL, NULL, NULL); ++ } ++ goto next_attr; ++ } ++ if ((len == 29) && ++ (xmlStrEqual(URL, ++ BAD_CAST "http://www.w3.org/2000/xmlns/"))) { ++ xmlNsErr(ctxt, XML_NS_ERR_XML_NAMESPACE, ++ "reuse of the xmlns namespace name is forbidden\n", ++ NULL, NULL, NULL); ++ goto next_attr; ++ } ++ } ++ /* ++ * check that it's not a defined namespace ++ */ ++ for (j = 1;j <= nbNs;j++) ++ if (ctxt->nsTab[ctxt->nsNr - 2 * j] == NULL) ++ break; ++ if (j <= nbNs) ++ xmlErrAttributeDup(ctxt, NULL, attname); ++ else ++ if (nsPush(ctxt, NULL, URL) > 0) nbNs++; ++ ++ } else if (aprefix == ctxt->str_xmlns) { ++ const xmlChar *URL = xmlDictLookup(ctxt->dict, attvalue, len); ++ xmlURIPtr uri; ++ ++ if (attname == ctxt->str_xml) { ++ if (URL != ctxt->str_xml_ns) { ++ xmlNsErr(ctxt, XML_NS_ERR_XML_NAMESPACE, ++ "xml namespace prefix mapped to wrong URI\n", ++ NULL, NULL, NULL); ++ } ++ /* ++ * Do not keep a namespace definition node ++ */ ++ goto next_attr; ++ } ++ if (URL == ctxt->str_xml_ns) { ++ if (attname != ctxt->str_xml) { ++ xmlNsErr(ctxt, XML_NS_ERR_XML_NAMESPACE, ++ "xml namespace URI mapped to wrong prefix\n", ++ NULL, NULL, NULL); ++ } ++ goto next_attr; ++ } ++ if (attname == ctxt->str_xmlns) { ++ xmlNsErr(ctxt, XML_NS_ERR_XML_NAMESPACE, ++ "redefinition of the xmlns prefix is forbidden\n", ++ NULL, NULL, NULL); ++ goto next_attr; ++ } ++ if ((len == 29) && ++ (xmlStrEqual(URL, ++ BAD_CAST "http://www.w3.org/2000/xmlns/"))) { ++ xmlNsErr(ctxt, XML_NS_ERR_XML_NAMESPACE, ++ "reuse of the xmlns namespace name is forbidden\n", ++ NULL, NULL, NULL); ++ goto next_attr; ++ } ++ if ((URL == NULL) || (URL[0] == 0)) { ++ xmlNsErr(ctxt, XML_NS_ERR_XML_NAMESPACE, ++ "xmlns:%s: Empty XML namespace is not allowed\n", ++ attname, NULL, NULL); ++ goto next_attr; ++ } else { ++ uri = xmlParseURI((const char *) URL); ++ if (uri == NULL) { ++ xmlNsErr(ctxt, XML_WAR_NS_URI, ++ "xmlns:%s: '%s' is not a valid URI\n", ++ attname, URL, NULL); ++ } else { ++ if ((ctxt->pedantic) && (uri->scheme == NULL)) { ++ xmlNsWarn(ctxt, XML_WAR_NS_URI_RELATIVE, ++ "xmlns:%s: URI %s is not absolute\n", ++ attname, URL, NULL); ++ } ++ xmlFreeURI(uri); ++ } ++ } + +- /* +- * Add the pair to atts +- */ +- if ((atts == NULL) || (nbatts + 5 > maxatts)) { +- if (xmlCtxtGrowAttrs(ctxt, nbatts + 5) < 0) { +- if (attvalue[len] == 0) +- xmlFree(attvalue); +- goto failed; +- } +- maxatts = ctxt->maxatts; +- atts = ctxt->atts; +- } +- ctxt->attallocs[nratts++] = alloc; +- atts[nbatts++] = attname; +- atts[nbatts++] = aprefix; +- atts[nbatts++] = NULL; /* the URI will be fetched later */ +- atts[nbatts++] = attvalue; +- attvalue += len; +- atts[nbatts++] = attvalue; +- /* +- * tag if some deallocation is needed +- */ +- if (alloc != 0) attval = 1; +- } else { +- if ((attvalue != NULL) && (attvalue[len] == 0)) +- xmlFree(attvalue); +- } ++ /* ++ * check that it's not a defined namespace ++ */ ++ for (j = 1;j <= nbNs;j++) ++ if (ctxt->nsTab[ctxt->nsNr - 2 * j] == attname) ++ break; ++ if (j <= nbNs) ++ xmlErrAttributeDup(ctxt, aprefix, attname); ++ else ++ if (nsPush(ctxt, attname, URL) > 0) nbNs++; ++ ++ } else { ++ /* ++ * Add the pair to atts ++ */ ++ if ((atts == NULL) || (nbatts + 5 > maxatts)) { ++ if (xmlCtxtGrowAttrs(ctxt, nbatts + 5) < 0) { ++ goto next_attr; ++ } ++ maxatts = ctxt->maxatts; ++ atts = ctxt->atts; ++ } ++ ctxt->attallocs[nratts++] = alloc; ++ atts[nbatts++] = attname; ++ atts[nbatts++] = aprefix; ++ /* ++ * The namespace URI field is used temporarily to point at the ++ * base of the current input buffer for non-alloced attributes. ++ * When the input buffer is reallocated, all the pointers become ++ * invalid, but they can be reconstructed later. ++ */ ++ if (alloc) ++ atts[nbatts++] = NULL; ++ else ++ atts[nbatts++] = ctxt->input->base; ++ atts[nbatts++] = attvalue; ++ attvalue += len; ++ atts[nbatts++] = attvalue; ++ /* ++ * tag if some deallocation is needed ++ */ ++ if (alloc != 0) attval = 1; ++ attvalue = NULL; /* moved into atts */ ++ } + +-failed: ++next_attr: ++ if ((attvalue != NULL) && (alloc != 0)) { ++ xmlFree(attvalue); ++ attvalue = NULL; ++ } + + GROW + if (ctxt->instate == XML_PARSER_EOF) + break; +- if ((ctxt->input->base != base) || (inputNr != ctxt->inputNr)) +- goto base_changed; + if ((RAW == '>') || (((RAW == '/') && (NXT(1) == '>')))) + break; + if (!IS_BLANK_CH(RAW)) { +@@ -9646,8 +9610,20 @@ failed: + break; + } + GROW; +- if ((ctxt->input->base != base) || (inputNr != ctxt->inputNr)) +- goto base_changed; ++ } ++ ++ /* Reconstruct attribute value pointers. */ ++ for (i = 0, j = 0; j < nratts; i += 5, j++) { ++ if (atts[i+2] != NULL) { ++ /* ++ * Arithmetic on dangling pointers is technically undefined ++ * behavior, but well... ++ */ ++ ptrdiff_t offset = ctxt->input->base - atts[i+2]; ++ atts[i+2] = NULL; /* Reset repurposed namespace URI */ ++ atts[i+3] += offset; /* value */ ++ atts[i+4] += offset; /* valuend */ ++ } + } + + /* +@@ -9804,34 +9780,6 @@ failed: + } + + return(localname); +- +-base_changed: +- /* +- * the attribute strings are valid iif the base didn't changed +- */ +- if (attval != 0) { +- for (i = 3,j = 0; j < nratts;i += 5,j++) +- if ((ctxt->attallocs[j] != 0) && (atts[i] != NULL)) +- xmlFree((xmlChar *) atts[i]); +- } +- +- /* +- * We can't switch from one entity to another in the middle +- * of a start tag +- */ +- if (inputNr != ctxt->inputNr) { +- xmlFatalErrMsg(ctxt, XML_ERR_ENTITY_BOUNDARY, +- "Start tag doesn't start and stop in the same entity\n"); +- return(NULL); +- } +- +- ctxt->input->cur = ctxt->input->base + cur; +- ctxt->input->line = oldline; +- ctxt->input->col = oldcol; +- if (ctxt->wellFormed == 1) { +- goto reparse; +- } +- return(NULL); + } + + /** +diff --git a/result/errors/759398.xml.err b/result/errors/759398.xml.err +index e08d9bf..f6036a3 100644 +--- a/result/errors/759398.xml.err ++++ b/result/errors/759398.xml.err +@@ -1,9 +1,12 @@ + ./test/errors/759398.xml:210: parser error : StartTag: invalid element name + need to worry about parsers whi ++ ^ ++./test/errors/759398.xml:316: parser error : Extra content at the end of the document ++ ++^ +diff --git a/result/errors/attr1.xml.err b/result/errors/attr1.xml.err +index 4f08538..c4c4fc8 100644 +--- a/result/errors/attr1.xml.err ++++ b/result/errors/attr1.xml.err +@@ -1,6 +1,9 @@ + ./test/errors/attr1.xml:2: parser error : AttValue: ' expected + + ^ +-./test/errors/attr1.xml:1: parser error : Extra content at the end of the document +-ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo +- ^ ++./test/errors/attr2.xml:2: parser error : attributes construct error ++ ++^ ++./test/errors/attr2.xml:2: parser error : Couldn't find end of Start Tag foo line 1 ++ ++^ +diff --git a/result/errors/name2.xml.err b/result/errors/name2.xml.err +index a6649a1..8a6acee 100644 +--- a/result/errors/name2.xml.err ++++ b/result/errors/name2.xml.err +@@ -1,6 +1,9 @@ + ./test/errors/name2.xml:2: parser error : Specification mandate value for attribute foooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo [...] + + ^ +-./test/errors/name2.xml:1: parser error : Extra content at the end of the document +- References: <150119145067.27158.18187262855008938611@git.openembedded.org> Message-ID: <20170727213732.4A8D9234F3D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch pyro in repository openembedded-core. commit a409c50a09b12caa434b2b06bdcfb6beba43f67f Author: Andrej Valek AuthorDate: Wed Jun 14 14:58:47 2017 +0200 libxml2: Fix CVE-2017-9049 and CVE-2017-9050 Fix handling of parameter-entity references There were two bugs where parameter-entity references could lead to an unexpected change of the input buffer in xmlParseNameComplex and xmlDictLookup being called with an invalid pointer. Fixes bug 781205 and bug 781361 CVE: CVE-2017-9049 CVE-2017-9050 (From OE-Core rev: 2300762fef8fc8e3e56fb07fd4076c1deeba0a9b) Signed-off-by: Andrej Valek Signed-off-by: Richard Purdie Signed-off-by: Armin Kuster --- .../libxml2-CVE-2017-9049_CVE-2017-9050.patch | 291 +++++++++++++++++++++ meta/recipes-core/libxml/libxml2_2.9.4.bb | 1 + 2 files changed, 292 insertions(+) diff --git a/meta/recipes-core/libxml/libxml2/libxml2-CVE-2017-9049_CVE-2017-9050.patch b/meta/recipes-core/libxml/libxml2/libxml2-CVE-2017-9049_CVE-2017-9050.patch new file mode 100644 index 0000000..591075d --- /dev/null +++ b/meta/recipes-core/libxml/libxml2/libxml2-CVE-2017-9049_CVE-2017-9050.patch @@ -0,0 +1,291 @@ +libxml2-2.9.4: Fix CVE-2017-9049 and CVE-2017-9050 + +[No upstream tracking] -- https://bugzilla.gnome.org/show_bug.cgi?id=781205 + -- https://bugzilla.gnome.org/show_bug.cgi?id=781361 + +parser: Fix handling of parameter-entity references + +There were two bugs where parameter-entity references could lead to an +unexpected change of the input buffer in xmlParseNameComplex and +xmlDictLookup being called with an invalid pointer. + +Percent sign in DTD Names +========================= + +The NEXTL macro used to call xmlParserHandlePEReference. When parsing +"complex" names inside the DTD, this could result in entity expansion +which created a new input buffer. The fix is to simply remove the call +to xmlParserHandlePEReference from the NEXTL macro. This is safe because +no users of the macro require expansion of parameter entities. + +- xmlParseNameComplex +- xmlParseNCNameComplex +- xmlParseNmtoken + +The percent sign is not allowed in names, which are grammatical tokens. + +- xmlParseEntityValue + +Parameter-entity references in entity values are expanded but this +happens in a separate step in this function. + +- xmlParseSystemLiteral + +Parameter-entity references are ignored in the system literal. + +- xmlParseAttValueComplex +- xmlParseCharDataComplex +- xmlParseCommentComplex +- xmlParsePI +- xmlParseCDSect + +Parameter-entity references are ignored outside the DTD. + +- xmlLoadEntityContent + +This function is only called from xmlStringLenDecodeEntities and +entities are replaced in a separate step immediately after the function +call. + +This bug could also be triggered with an internal subset and double +entity expansion. + +This fixes bug 766956 initially reported by Wei Lei and independently by +Chromium's ClusterFuzz, Hanno B?ck, and Marco Grassi. Thanks to everyone +involved. + +xmlParseNameComplex with XML_PARSE_OLD10 +======================================== + +When parsing Names inside an expanded parameter entity with the +XML_PARSE_OLD10 option, xmlParseNameComplex would call xmlGROW via the +GROW macro if the input buffer was exhausted. At the end of the +parameter entity's replacement text, this function would then call +xmlPopInput which invalidated the input buffer. + +There should be no need to invoke GROW in this situation because the +buffer is grown periodically every XML_PARSER_CHUNK_SIZE characters and, +at least for UTF-8, in xmlCurrentChar. This also matches the code path +executed when XML_PARSE_OLD10 is not set. + +This fixes bugs 781205 (CVE-2017-9049) and 781361 (CVE-2017-9050). +Thanks to Marcel B?hme and Thuan Pham for the report. + +Additional hardening +==================== + +A separate check was added in xmlParseNameComplex to validate the +buffer size. + +Fixes bug 781205 and bug 781361 + +Upstream-Status: Backport [https://git.gnome.org/browse/libxml2/commit/?id=932cc9896ab41475d4aa429c27d9afd175959d74] +CVE: CVE-2017-9049 CVE-2017-9050 +Signed-off-by: Andrej Valek + +diff --git a/Makefile.am b/Makefile.am +index 9f988b0..dab15a4 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -422,6 +422,24 @@ Errtests : xmllint$(EXEEXT) + if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \ + rm result.$$name error.$$name ; \ + fi ; fi ; done) ++ @echo "## Error cases regression tests (old 1.0)" ++ -@(for i in $(srcdir)/test/errors10/*.xml ; do \ ++ name=`basename $$i`; \ ++ if [ ! -d $$i ] ; then \ ++ if [ ! -f $(srcdir)/result/errors10/$$name ] ; then \ ++ echo New test file $$name ; \ ++ $(CHECKER) $(top_builddir)/xmllint --oldxml10 $$i \ ++ 2> $(srcdir)/result/errors10/$$name.err \ ++ > $(srcdir)/result/errors10/$$name ; \ ++ grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0"; \ ++ else \ ++ log=`$(CHECKER) $(top_builddir)/xmllint --oldxml10 $$i 2> error.$$name > result.$$name ; \ ++ grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0"; \ ++ diff $(srcdir)/result/errors10/$$name result.$$name ; \ ++ diff $(srcdir)/result/errors10/$$name.err error.$$name` ; \ ++ if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \ ++ rm result.$$name error.$$name ; \ ++ fi ; fi ; done) + @echo "## Error cases stream regression tests" + -@(for i in $(srcdir)/test/errors/*.xml ; do \ + name=`basename $$i`; \ +diff --git a/parser.c b/parser.c +index 609a270..8e11c12 100644 +--- a/parser.c ++++ b/parser.c +@@ -2115,7 +2115,6 @@ static void xmlGROW (xmlParserCtxtPtr ctxt) { + ctxt->input->line++; ctxt->input->col = 1; \ + } else ctxt->input->col++; \ + ctxt->input->cur += l; \ +- if (*ctxt->input->cur == '%') xmlParserHandlePEReference(ctxt); \ + } while (0) + + #define CUR_CHAR(l) xmlCurrentChar(ctxt, &l) +@@ -3406,13 +3405,6 @@ xmlParseNameComplex(xmlParserCtxtPtr ctxt) { + len += l; + NEXTL(l); + c = CUR_CHAR(l); +- if (c == 0) { +- count = 0; +- GROW; +- if (ctxt->instate == XML_PARSER_EOF) +- return(NULL); +- c = CUR_CHAR(l); +- } + } + } + if ((len > XML_MAX_NAME_LENGTH) && +@@ -3420,6 +3412,16 @@ xmlParseNameComplex(xmlParserCtxtPtr ctxt) { + xmlFatalErr(ctxt, XML_ERR_NAME_TOO_LONG, "Name"); + return(NULL); + } ++ if (ctxt->input->cur - ctxt->input->base < len) { ++ /* ++ * There were a couple of bugs where PERefs lead to to a change ++ * of the buffer. Check the buffer size to avoid passing an invalid ++ * pointer to xmlDictLookup. ++ */ ++ xmlFatalErr(ctxt, XML_ERR_INTERNAL_ERROR, ++ "unexpected change of input buffer"); ++ return (NULL); ++ } + if ((*ctxt->input->cur == '\n') && (ctxt->input->cur[-1] == '\r')) + return(xmlDictLookup(ctxt->dict, ctxt->input->cur - (len + 1), len)); + return(xmlDictLookup(ctxt->dict, ctxt->input->cur - len, len)); +diff --git a/result/errors10/781205.xml b/result/errors10/781205.xml +new file mode 100644 +index 0000000..e69de29 +diff --git a/result/errors10/781205.xml.err b/result/errors10/781205.xml.err +new file mode 100644 +index 0000000..da15c3f +--- /dev/null ++++ b/result/errors10/781205.xml.err +@@ -0,0 +1,21 @@ ++Entity: line 1: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration ++ ++ %a; ++ ^ ++Entity: line 1: ++<:0000 ++^ ++Entity: line 1: parser error : DOCTYPE improperly terminated ++ %a; ++ ^ ++Entity: line 1: ++<:0000 ++^ ++namespace error : Failed to parse QName ':0000' ++ %a; ++ ^ ++<:0000 ++ ^ ++./test/errors10/781205.xml:4: parser error : Couldn't find end of Start Tag :0000 line 1 ++ ++^ +diff --git a/result/errors10/781361.xml b/result/errors10/781361.xml +new file mode 100644 +index 0000000..e69de29 +diff --git a/result/errors10/781361.xml.err b/result/errors10/781361.xml.err +new file mode 100644 +index 0000000..655f41a +--- /dev/null ++++ b/result/errors10/781361.xml.err +@@ -0,0 +1,13 @@ ++./test/errors10/781361.xml:4: parser error : xmlParseElementDecl: 'EMPTY', 'ANY' or '(' expected ++ ++^ ++./test/errors10/781361.xml:4: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration ++ ++ ++^ ++./test/errors10/781361.xml:4: parser error : DOCTYPE improperly terminated ++ ++^ ++./test/errors10/781361.xml:4: parser error : Start tag expected, '<' not found ++ ++^ +diff --git a/result/valid/766956.xml b/result/valid/766956.xml +new file mode 100644 +index 0000000..e69de29 +diff --git a/result/valid/766956.xml.err b/result/valid/766956.xml.err +new file mode 100644 +index 0000000..34b1dae +--- /dev/null ++++ b/result/valid/766956.xml.err +@@ -0,0 +1,9 @@ ++test/valid/dtds/766956.dtd:2: parser error : PEReference: expecting ';' ++%?%ent; ++ ^ ++Entity: line 1: parser error : Content error in the external subset ++ %ent; ++ ^ ++Entity: line 1: ++value ++^ +diff --git a/result/valid/766956.xml.err.rdr b/result/valid/766956.xml.err.rdr +new file mode 100644 +index 0000000..7760346 +--- /dev/null ++++ b/result/valid/766956.xml.err.rdr +@@ -0,0 +1,10 @@ ++test/valid/dtds/766956.dtd:2: parser error : PEReference: expecting ';' ++%?%ent; ++ ^ ++Entity: line 1: parser error : Content error in the external subset ++ %ent; ++ ^ ++Entity: line 1: ++value ++^ ++./test/valid/766956.xml : failed to parse +diff --git a/runtest.c b/runtest.c +index bb74d2a..63e8c20 100644 +--- a/runtest.c ++++ b/runtest.c +@@ -4202,6 +4202,9 @@ testDesc testDescriptions[] = { + { "Error cases regression tests", + errParseTest, "./test/errors/*.xml", "result/errors/", "", ".err", + 0 }, ++ { "Error cases regression tests (old 1.0)", ++ errParseTest, "./test/errors10/*.xml", "result/errors10/", "", ".err", ++ XML_PARSE_OLD10 }, + #ifdef LIBXML_READER_ENABLED + { "Error cases stream regression tests", + streamParseTest, "./test/errors/*.xml", "result/errors/", NULL, ".str", +diff --git a/test/errors10/781205.xml b/test/errors10/781205.xml +new file mode 100644 +index 0000000..d9e9e83 +--- /dev/null ++++ b/test/errors10/781205.xml +@@ -0,0 +1,3 @@ ++ ++ %a; +diff --git a/test/errors10/781361.xml b/test/errors10/781361.xml +new file mode 100644 +index 0000000..67476bc +--- /dev/null ++++ b/test/errors10/781361.xml +@@ -0,0 +1,3 @@ ++ ++ %elem; +diff --git a/test/valid/766956.xml b/test/valid/766956.xml +new file mode 100644 +index 0000000..19a95a0 +--- /dev/null ++++ b/test/valid/766956.xml +@@ -0,0 +1,2 @@ ++ ++ +diff --git a/test/valid/dtds/766956.dtd b/test/valid/dtds/766956.dtd +new file mode 100644 +index 0000000..dddde68 +--- /dev/null ++++ b/test/valid/dtds/766956.dtd +@@ -0,0 +1,2 @@ ++ ++%?%ent; diff --git a/meta/recipes-core/libxml/libxml2_2.9.4.bb b/meta/recipes-core/libxml/libxml2_2.9.4.bb index 8eaefd4..09a7445 100644 --- a/meta/recipes-core/libxml/libxml2_2.9.4.bb +++ b/meta/recipes-core/libxml/libxml2_2.9.4.bb @@ -25,6 +25,7 @@ SRC_URI = "ftp://xmlsoft.org/libxml2/libxml2-${PV}.tar.gz;name=libtar \ file://libxml2-fix_NULL_pointer_derefs.patch \ file://libxml2-fix_and_simplify_xmlParseStartTag2.patch \ file://libxml2-CVE-2017-9047_CVE-2017-9048.patch \ + file://libxml2-CVE-2017-9049_CVE-2017-9050.patch \ file://CVE-2016-9318.patch \ " -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:37:54 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:37:54 +0000 Subject: [oe-commits] [openembedded-core] 24/24: core-image-minimal-initramfs: use initramfs-framework by default In-Reply-To: <150119145066.27158.3748857206774807008@git.openembedded.org> References: <150119145066.27158.3748857206774807008@git.openembedded.org> Message-ID: <20170727213731.BCD69234F39@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 28fc6ba761ed4a47efa7c43e7f7dff5e2fe72b5e Author: Ng, Wei Tee AuthorDate: Sun Jul 23 16:51:57 2017 -0700 core-image-minimal-initramfs: use initramfs-framework by default Use the initramfs-framework for initialization by default due to the modularity and expansibility. [YOCTO #10987] Signed-off-by: Ng, Wei Tee Signed-off-by: Richard Purdie --- meta/recipes-core/images/core-image-minimal-initramfs.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-core/images/core-image-minimal-initramfs.bb b/meta/recipes-core/images/core-image-minimal-initramfs.bb index 5794a25..c1f2855 100644 --- a/meta/recipes-core/images/core-image-minimal-initramfs.bb +++ b/meta/recipes-core/images/core-image-minimal-initramfs.bb @@ -3,7 +3,7 @@ DESCRIPTION = "Small image capable of booting a device. The kernel includes \ the Minimal RAM-based Initial Root Filesystem (initramfs), which finds the \ first 'init' program more efficiently." -PACKAGE_INSTALL = "initramfs-live-boot initramfs-live-install initramfs-live-install-efi ${VIRTUAL-RUNTIME_base-utils} udev base-passwd ${ROOTFS_BOOTSTRAP_INSTALL}" +PACKAGE_INSTALL = "initramfs-framework-base initramfs-module-udev initramfs-module-setup-live initramfs-module-install-efi ${VIRTUAL-RUNTIME_base-utils} udev base-passwd ${ROOTFS_BOOTSTRAP_INSTALL}" # Do not pollute the initrd image with rootfs features IMAGE_FEATURES = "" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:37:51 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:37:51 +0000 Subject: [oe-commits] [openembedded-core] 21/24: dbus/dbus-test: upgrade to 1.10.20 In-Reply-To: <150119145066.27158.3748857206774807008@git.openembedded.org> References: <150119145066.27158.3748857206774807008@git.openembedded.org> Message-ID: <20170727213731.A75CB234F4D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 96c54b2ceee7cdeb40efaa3f224766c5ea65d181 Author: Chen Qi AuthorDate: Mon Jul 24 17:51:13 2017 +0800 dbus/dbus-test: upgrade to 1.10.20 Signed-off-by: Chen Qi Signed-off-by: Richard Purdie --- meta/recipes-core/dbus/{dbus-test_1.10.18.bb => dbus-test_1.10.20.bb} | 4 ++-- meta/recipes-core/dbus/{dbus_1.10.18.bb => dbus_1.10.20.bb} | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/meta/recipes-core/dbus/dbus-test_1.10.18.bb b/meta/recipes-core/dbus/dbus-test_1.10.20.bb similarity index 93% rename from meta/recipes-core/dbus/dbus-test_1.10.18.bb rename to meta/recipes-core/dbus/dbus-test_1.10.20.bb index 141baf2..eeadb7d 100644 --- a/meta/recipes-core/dbus/dbus-test_1.10.18.bb +++ b/meta/recipes-core/dbus/dbus-test_1.10.20.bb @@ -17,8 +17,8 @@ SRC_URI = "http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz \ file://clear-guid_from_server-if-send_negotiate_unix_f.patch \ " -SRC_URI[md5sum] = "1209c455598165a0c5263d4201894179" -SRC_URI[sha256sum] = "6049ddd5f3f3e2618f615f1faeda0a115104423a7996b7aa73e2f36e38cc514a" +SRC_URI[md5sum] = "94c991e763d4f9f13690416b2dcd9411" +SRC_URI[sha256sum] = "e574b9780b5425fde4d973bb596e7ea0f09e00fe2edd662da9016e976c460b48" S="${WORKDIR}/dbus-${PV}" FILESEXTRAPATHS =. "${FILE_DIRNAME}/dbus:" diff --git a/meta/recipes-core/dbus/dbus_1.10.18.bb b/meta/recipes-core/dbus/dbus_1.10.20.bb similarity index 97% rename from meta/recipes-core/dbus/dbus_1.10.18.bb rename to meta/recipes-core/dbus/dbus_1.10.20.bb index c0b63d1..9ddedc1 100644 --- a/meta/recipes-core/dbus/dbus_1.10.18.bb +++ b/meta/recipes-core/dbus/dbus_1.10.20.bb @@ -20,8 +20,8 @@ SRC_URI = "http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz \ file://0001-configure.ac-explicitely-check-stdint.h.patch \ " -SRC_URI[md5sum] = "1209c455598165a0c5263d4201894179" -SRC_URI[sha256sum] = "6049ddd5f3f3e2618f615f1faeda0a115104423a7996b7aa73e2f36e38cc514a" +SRC_URI[md5sum] = "94c991e763d4f9f13690416b2dcd9411" +SRC_URI[sha256sum] = "e574b9780b5425fde4d973bb596e7ea0f09e00fe2edd662da9016e976c460b48" inherit useradd autotools pkgconfig gettext update-rc.d upstream-version-is-even -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:38:05 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:38:05 +0000 Subject: [oe-commits] [openembedded-core] 10/43: linux-firmware: Avoid a dependency on python-core In-Reply-To: <150119145067.27158.18187262855008938611@git.openembedded.org> References: <150119145067.27158.18187262855008938611@git.openembedded.org> Message-ID: <20170727213732.70974234F43@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch pyro in repository openembedded-core. commit a933bd65e7a02e1faa9dc83c04cefd8205f05421 Author: Peter Kjellerstedt AuthorDate: Thu Jun 15 15:53:06 2017 +0200 linux-firmware: Avoid a dependency on python-core Remove the check_whence.py script since it is only needed to validate the WHENCE file, and only if explicitly running `make check`. (From OE-Core rev: 1fc4d5a31f05970d8d80b0106ea81d486f298e33) Signed-off-by: Peter Kjellerstedt Signed-off-by: Ross Burton Signed-off-by: Richard Purdie Signed-off-by: Armin Kuster --- meta/recipes-kernel/linux-firmware/linux-firmware_git.bb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb b/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb index be5bdbd..7abb378 100644 --- a/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb +++ b/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb @@ -207,6 +207,9 @@ do_install() { # Remove pointless bash script rm ${D}${nonarch_base_libdir}/firmware/configure + # Remove python script used to check the WHENCE file + rm ${D}${nonarch_base_libdir}/firmware/check_whence.py + # Libertas sd8686 ln -sf libertas/sd8686_v9.bin ${D}${nonarch_base_libdir}/firmware/sd8686.bin ln -sf libertas/sd8686_v9_helper.bin ${D}${nonarch_base_libdir}/firmware/sd8686_helper.bin -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:38:04 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:38:04 +0000 Subject: [oe-commits] [openembedded-core] 09/43: libpcap: apply fix from upstream to fix build race In-Reply-To: <150119145067.27158.18187262855008938611@git.openembedded.org> References: <150119145067.27158.18187262855008938611@git.openembedded.org> Message-ID: <20170727213732.696B2234F42@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch pyro in repository openembedded-core. commit d788d2649ec6b1bf3e72b3c8fcec11b6d68412cc Author: Ross Burton AuthorDate: Fri Jun 16 13:32:15 2017 +0100 libpcap: apply fix from upstream to fix build race ../libpcap-1.8.1/grammar.y:78:10: fatal error: scanner.h: No such file or directory (From OE-Core rev: aaed4e92d79919e40c896536fcb4ff6567c9a755) Signed-off-by: Ross Burton Signed-off-by: Richard Purdie Signed-off-by: Armin Kuster --- .../libpcap/libpcap/fix-grammar-deps.patch | 29 ++++++++++++++++++++++ meta/recipes-connectivity/libpcap/libpcap_1.8.1.bb | 1 + 2 files changed, 30 insertions(+) diff --git a/meta/recipes-connectivity/libpcap/libpcap/fix-grammar-deps.patch b/meta/recipes-connectivity/libpcap/libpcap/fix-grammar-deps.patch new file mode 100644 index 0000000..f40e655 --- /dev/null +++ b/meta/recipes-connectivity/libpcap/libpcap/fix-grammar-deps.patch @@ -0,0 +1,29 @@ +Fix a missing dependency that can result in: + +../libpcap-1.8.1/grammar.y:78:10: fatal error: scanner.h: No such file or directory + +Upstream-Status: Backport +Signed-off-by: Ross Burton + +From 0dd90a6bdbce4dca14106859eee63ef643a106e2 Mon Sep 17 00:00:00 2001 +From: Alfredo Alvarez Fernandez +Date: Tue, 21 Feb 2017 11:41:43 +0100 +Subject: [PATCH] Makefile.in: Fix missing dependency + +--- + Makefile.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile.in b/Makefile.in +index 7044f043..f5d443ae 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -465,7 +465,7 @@ grammar.h: grammar.c + $(MAKE) $(MAKEFLAGS) grammar.c; \ + fi + +-grammar.o: grammar.c ++grammar.o: grammar.c scanner.h + $(CC) $(FULL_CFLAGS) -c grammar.c + + gencode.o: $(srcdir)/gencode.c grammar.h scanner.h diff --git a/meta/recipes-connectivity/libpcap/libpcap_1.8.1.bb b/meta/recipes-connectivity/libpcap/libpcap_1.8.1.bb index 1893e67..13dfbd6 100644 --- a/meta/recipes-connectivity/libpcap/libpcap_1.8.1.bb +++ b/meta/recipes-connectivity/libpcap/libpcap_1.8.1.bb @@ -5,6 +5,7 @@ SRC_URI += " \ file://0001-Fix-compiler_state_t.ai-usage-when-INET6-is-not-defi.patch \ file://0002-Add-missing-compiler_state_t-parameter.patch \ file://disable-remote.patch \ + file://fix-grammar-deps.patch \ " SRC_URI[md5sum] = "3d48f9cd171ff12b0efd9134b52f1447" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:38:06 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:38:06 +0000 Subject: [oe-commits] [openembedded-core] 11/43: texi2html: Add a dependency on perl In-Reply-To: <150119145067.27158.18187262855008938611@git.openembedded.org> References: <150119145067.27158.18187262855008938611@git.openembedded.org> Message-ID: <20170727213732.76DE9234F44@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch pyro in repository openembedded-core. commit dedba20c149798a6b45957b5abd29d18164581b2 Author: Peter Kjellerstedt AuthorDate: Thu Jun 15 15:53:07 2017 +0200 texi2html: Add a dependency on perl (From OE-Core rev: c391547e95b1854960b90d93fd9f80f02f761e61) Signed-off-by: Peter Kjellerstedt Signed-off-by: Ross Burton Signed-off-by: Richard Purdie Signed-off-by: Armin Kuster --- meta/recipes-extended/texi2html/texi2html_5.0.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-extended/texi2html/texi2html_5.0.bb b/meta/recipes-extended/texi2html/texi2html_5.0.bb index ae64816..afd125b 100644 --- a/meta/recipes-extended/texi2html/texi2html_5.0.bb +++ b/meta/recipes-extended/texi2html/texi2html_5.0.bb @@ -27,3 +27,5 @@ do_install_append () { } FILES_${PN}-doc += "${datadir}/texinfo" + +RDEPENDS_${PN} = "perl" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:38:08 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:38:08 +0000 Subject: [oe-commits] [openembedded-core] 13/43: zlib: Pass pre-calculate uname enable re-entrant flags In-Reply-To: <150119145067.27158.18187262855008938611@git.openembedded.org> References: <150119145067.27158.18187262855008938611@git.openembedded.org> Message-ID: <20170727213732.84A97234F46@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch pyro in repository openembedded-core. commit b99dd747eb8723010f37660de434dde329e7958b Author: Khem Raj AuthorDate: Tue Jun 13 16:13:44 2017 -0700 zlib: Pass pre-calculate uname enable re-entrant flags Fix ptest generation (From OE-Core rev: 07f4b0f016225e2b211689a270e56b2923ecb434) Signed-off-by: Khem Raj Signed-off-by: Richard Purdie Signed-off-by: Armin Kuster --- meta/recipes-core/zlib/zlib_1.2.11.bb | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/meta/recipes-core/zlib/zlib_1.2.11.bb b/meta/recipes-core/zlib/zlib_1.2.11.bb index d4a8182..ba216f6 100644 --- a/meta/recipes-core/zlib/zlib_1.2.11.bb +++ b/meta/recipes-core/zlib/zlib_1.2.11.bb @@ -17,20 +17,22 @@ UPSTREAM_CHECK_URI = "http://zlib.net/" SRC_URI[md5sum] = "85adef240c5f370b308da8c938951a68" SRC_URI[sha256sum] = "4ff941449631ace0d4d203e3483be9dbc9da454084111f97ea0a2114e19bf066" +CFLAGS += "-D_REENTRANT" + RDEPENDS_${PN}-ptest += "make" inherit ptest -do_configure (){ - ./configure --prefix=${prefix} --shared --libdir=${libdir} +do_configure() { + uname=GNU ./configure --prefix=${prefix} --shared --libdir=${libdir} } -do_compile (){ - oe_runmake +do_compile() { + oe_runmake shared } do_compile_ptest() { - oe_runmake static shared + oe_runmake test } do_install() { -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:37:47 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:37:47 +0000 Subject: [oe-commits] [openembedded-core] 17/24: diffutils: upgrade to 3.6 In-Reply-To: <150119145066.27158.3748857206774807008@git.openembedded.org> References: <150119145066.27158.3748857206774807008@git.openembedded.org> Message-ID: <20170727213731.8C3E6234F49@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 0c09f9f5700696670b2a9d0466124309100eb296 Author: Chen Qi AuthorDate: Mon Jul 24 17:51:09 2017 +0800 diffutils: upgrade to 3.6 diffutils-3.5-gcc7.patch is removed as it's merged in this version. do_configure_prepend is removed to solve the following configure error. error: possibly undefined macro: gl_TYPE_WINT_T_PREREQ A workaround patch is made to fix the following compilation error for glibc. error: dereferencing pointer to incomplete type 'const struct rpl_option' Signed-off-by: Chen Qi Signed-off-by: Richard Purdie --- .../diffutils-3.5/diffutils-3.5-gcc7.patch | 228 --------------------- ...need_charset_alias-when-building-for-musl.patch | 0 .../0001-explicitly-disable-replacing-getopt.patch | 30 +++ .../{diffutils-3.5 => diffutils-3.6}/run-ptest | 0 .../{diffutils_3.5.bb => diffutils_3.6.bb} | 14 +- 5 files changed, 34 insertions(+), 238 deletions(-) diff --git a/meta/recipes-extended/diffutils/diffutils-3.5/diffutils-3.5-gcc7.patch b/meta/recipes-extended/diffutils/diffutils-3.5/diffutils-3.5-gcc7.patch deleted file mode 100644 index 52bcd7c..0000000 --- a/meta/recipes-extended/diffutils/diffutils-3.5/diffutils-3.5-gcc7.patch +++ /dev/null @@ -1,228 +0,0 @@ -Cumulative Backports from upstream to address gcc 7 portablility issues -Imported from Fedora - -Upstream-Status: Backport -Signed-off-by: Khem Raj - -diff -up diffutils-3.5/lib/intprops.h.than diffutils-3.5/lib/intprops.h ---- diffutils-3.5/lib/intprops.h.than 2017-02-21 09:08:39.470417367 -0500 -+++ diffutils-3.5/lib/intprops.h 2017-02-21 09:46:57.090996508 -0500 -@@ -1,6 +1,6 @@ - /* intprops.h -- properties of integer types - -- Copyright (C) 2001-2016 Free Software Foundation, Inc. -+ Copyright (C) 2001-2017 Free Software Foundation, Inc. - - This program is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published -@@ -47,12 +47,16 @@ - - /* Minimum and maximum values for integer types and expressions. */ - -+/* The width in bits of the integer type or expression T. -+ Padding bits are not supported; this is checked at compile-time below. */ -+#define TYPE_WIDTH(t) (sizeof (t) * CHAR_BIT) -+ - /* The maximum and minimum values for the integer type T. */ - #define TYPE_MINIMUM(t) ((t) ~ TYPE_MAXIMUM (t)) - #define TYPE_MAXIMUM(t) \ - ((t) (! TYPE_SIGNED (t) \ - ? (t) -1 \ -- : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1))) -+ : ((((t) 1 << (TYPE_WIDTH (t) - 2)) - 1) * 2 + 1))) - - /* The maximum and minimum values for the type of the expression E, - after integer promotion. E should not have side effects. */ -@@ -65,7 +69,13 @@ - ? _GL_SIGNED_INT_MAXIMUM (e) \ - : _GL_INT_NEGATE_CONVERT (e, 1)) - #define _GL_SIGNED_INT_MAXIMUM(e) \ -- (((_GL_INT_CONVERT (e, 1) << (sizeof ((e) + 0) * CHAR_BIT - 2)) - 1) * 2 + 1) -+ (((_GL_INT_CONVERT (e, 1) << (TYPE_WIDTH ((e) + 0) - 2)) - 1) * 2 + 1) -+ -+/* Work around OpenVMS incompatibility with C99. */ -+#if !defined LLONG_MAX && defined __INT64_MAX -+# define LLONG_MAX __INT64_MAX -+# define LLONG_MIN __INT64_MIN -+#endif - - /* This include file assumes that signed types are two's complement without - padding bits; the above macros have undefined behavior otherwise. -@@ -84,10 +94,15 @@ verify (TYPE_MAXIMUM (long int) == LONG_ - verify (TYPE_MINIMUM (long long int) == LLONG_MIN); - verify (TYPE_MAXIMUM (long long int) == LLONG_MAX); - #endif -+/* Similarly, sanity-check one ISO/IEC TS 18661-1:2014 macro if defined. */ -+#ifdef UINT_WIDTH -+verify (TYPE_WIDTH (unsigned int) == UINT_WIDTH); -+#endif - - /* Does the __typeof__ keyword work? This could be done by - 'configure', but for now it's easier to do it by hand. */ --#if (2 <= __GNUC__ || defined __IBM__TYPEOF__ \ -+#if (2 <= __GNUC__ \ -+ || (1210 <= __IBMC__ && defined __IBM__TYPEOF__) \ - || (0x5110 <= __SUNPRO_C && !__STDC__)) - # define _GL_HAVE___TYPEOF__ 1 - #else -@@ -116,8 +131,7 @@ verify (TYPE_MAXIMUM (long long int) == - signed, this macro may overestimate the true bound by one byte when - applied to unsigned types of size 2, 4, 16, ... bytes. */ - #define INT_STRLEN_BOUND(t) \ -- (INT_BITS_STRLEN_BOUND (sizeof (t) * CHAR_BIT \ -- - _GL_SIGNED_TYPE_OR_EXPR (t)) \ -+ (INT_BITS_STRLEN_BOUND (TYPE_WIDTH (t) - _GL_SIGNED_TYPE_OR_EXPR (t)) \ - + _GL_SIGNED_TYPE_OR_EXPR (t)) - - /* Bound on buffer size needed to represent an integer type or expression T, -@@ -222,20 +236,23 @@ verify (TYPE_MAXIMUM (long long int) == - ? (a) < (min) >> (b) \ - : (max) >> (b) < (a)) - --/* True if __builtin_add_overflow (A, B, P) works when P is null. */ --#define _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL (7 <= __GNUC__) -+/* True if __builtin_add_overflow (A, B, P) works when P is non-null. */ -+#define _GL_HAS_BUILTIN_OVERFLOW (5 <= __GNUC__) -+ -+/* True if __builtin_add_overflow_p (A, B, C) works. */ -+#define _GL_HAS_BUILTIN_OVERFLOW_P (7 <= __GNUC__) - - /* The _GL*_OVERFLOW macros have the same restrictions as the - *_RANGE_OVERFLOW macros, except that they do not assume that operands - (e.g., A and B) have the same type as MIN and MAX. Instead, they assume - that the result (e.g., A + B) has that type. */ --#if _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL --# define _GL_ADD_OVERFLOW(a, b, min, max) -- __builtin_add_overflow (a, b, (__typeof__ ((a) + (b)) *) 0) --# define _GL_SUBTRACT_OVERFLOW(a, b, min, max) -- __builtin_sub_overflow (a, b, (__typeof__ ((a) - (b)) *) 0) --# define _GL_MULTIPLY_OVERFLOW(a, b, min, max) -- __builtin_mul_overflow (a, b, (__typeof__ ((a) * (b)) *) 0) -+#if _GL_HAS_BUILTIN_OVERFLOW_P -+# define _GL_ADD_OVERFLOW(a, b, min, max) \ -+ __builtin_add_overflow_p (a, b, (__typeof__ ((a) + (b))) 0) -+# define _GL_SUBTRACT_OVERFLOW(a, b, min, max) \ -+ __builtin_sub_overflow_p (a, b, (__typeof__ ((a) - (b))) 0) -+# define _GL_MULTIPLY_OVERFLOW(a, b, min, max) \ -+ __builtin_mul_overflow_p (a, b, (__typeof__ ((a) * (b))) 0) - #else - # define _GL_ADD_OVERFLOW(a, b, min, max) \ - ((min) < 0 ? INT_ADD_RANGE_OVERFLOW (a, b, min, max) \ -@@ -315,7 +332,7 @@ verify (TYPE_MAXIMUM (long long int) == - _GL_BINARY_OP_OVERFLOW (a, b, _GL_ADD_OVERFLOW) - #define INT_SUBTRACT_OVERFLOW(a, b) \ - _GL_BINARY_OP_OVERFLOW (a, b, _GL_SUBTRACT_OVERFLOW) --#if _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL -+#if _GL_HAS_BUILTIN_OVERFLOW_P - # define INT_NEGATE_OVERFLOW(a) INT_SUBTRACT_OVERFLOW (0, a) - #else - # define INT_NEGATE_OVERFLOW(a) \ -@@ -349,10 +366,6 @@ verify (TYPE_MAXIMUM (long long int) == - #define INT_MULTIPLY_WRAPV(a, b, r) \ - _GL_INT_OP_WRAPV (a, b, r, *, __builtin_mul_overflow, INT_MULTIPLY_OVERFLOW) - --#ifndef __has_builtin --# define __has_builtin(x) 0 --#endif -- - /* Nonzero if this compiler has GCC bug 68193 or Clang bug 25390. See: - https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68193 - https://llvm.org/bugs/show_bug.cgi?id=25390 -@@ -369,7 +382,7 @@ verify (TYPE_MAXIMUM (long long int) == - the operation. BUILTIN is the builtin operation, and OVERFLOW the - overflow predicate. Return 1 if the result overflows. See above - for restrictions. */ --#if 5 <= __GNUC__ || __has_builtin (__builtin_add_overflow) -+#if _GL_HAS_BUILTIN_OVERFLOW - # define _GL_INT_OP_WRAPV(a, b, r, op, builtin, overflow) builtin (a, b, r) - #elif 201112 <= __STDC_VERSION__ && !_GL__GENERIC_BOGUS - # define _GL_INT_OP_WRAPV(a, b, r, op, builtin, overflow) \ -@@ -412,7 +425,7 @@ verify (TYPE_MAXIMUM (long long int) == - # else - # define _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow) \ - _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \ -- long int, LONG_MIN, LONG_MAX)) -+ long int, LONG_MIN, LONG_MAX) - # endif - #endif - -diff -up diffutils-3.5/lib/xalloc-oversized.h.than diffutils-3.5/lib/xalloc-oversized.h ---- diffutils-3.5/lib/xalloc-oversized.h.than 2017-02-21 09:45:13.729168233 -0500 -+++ diffutils-3.5/lib/xalloc-oversized.h 2017-02-21 09:45:18.309249247 -0500 -@@ -1,6 +1,6 @@ - /* xalloc-oversized.h -- memory allocation size checking - -- Copyright (C) 1990-2000, 2003-2004, 2006-2016 Free Software Foundation, Inc. -+ Copyright (C) 1990-2000, 2003-2004, 2006-2017 Free Software Foundation, Inc. - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by -@@ -19,48 +19,37 @@ - #define XALLOC_OVERSIZED_H_ - - #include -+#include - --/* Default for (non-Clang) compilers that lack __has_builtin. */ --#ifndef __has_builtin --# define __has_builtin(x) 0 --#endif -- --/* True if N * S would overflow in a size calculation. -+/* True if N * S would overflow in a size_t calculation, -+ or would generate a value larger than PTRDIFF_MAX. - This expands to a constant expression if N and S are both constants. - By gnulib convention, SIZE_MAX represents overflow in size -- calculations, so the conservative dividend to use here is -- SIZE_MAX - 1, since SIZE_MAX might represent an overflowed value. -- However, malloc (SIZE_MAX) fails on all known hosts where -- sizeof (ptrdiff_t) <= sizeof (size_t), so do not bother to test for -- exactly-SIZE_MAX allocations on such hosts; this avoids a test and -- branch when S is known to be 1. */ -+ calculations, so the conservative size_t-based dividend to use here -+ is SIZE_MAX - 1. */ - #define __xalloc_oversized(n, s) \ -- ((size_t) (sizeof (ptrdiff_t) <= sizeof (size_t) ? -1 : -2) / (s) < (n)) -+ ((size_t) (PTRDIFF_MAX < SIZE_MAX ? PTRDIFF_MAX : SIZE_MAX - 1) / (s) < (n)) - -+#if PTRDIFF_MAX < SIZE_MAX -+typedef ptrdiff_t __xalloc_count_type; -+#else -+typedef size_t __xalloc_count_type; -+#endif - --/* Return 1 if an array of N objects, each of size S, cannot exist due -- to size arithmetic overflow. S must be positive and N must be -- nonnegative. This is a macro, not a function, so that it -- works correctly even when SIZE_MAX < N. */ -+/* Return 1 if an array of N objects, each of size S, cannot exist -+ reliably due to size or ptrdiff_t arithmetic overflow. S must be -+ positive and N must be nonnegative. This is a macro, not a -+ function, so that it works correctly even when SIZE_MAX < N. */ - --/* GCC 7 __builtin_mul_overflow should easily compute this. See: -- https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68120 */ - #if 7 <= __GNUC__ --# define xalloc_oversized(n, s) __builtin_mul_overflow (n, s, (size_t *) NULL) -- --/* GCC 5 and Clang __builtin_mul_overflow needs a temporary, and -- should be used only for non-constant operands, so that -- xalloc_oversized is a constant expression if both arguments are. -- Do not use this if pedantic, since pedantic GCC issues a diagnostic -- for ({ ... }). */ --#elif ((5 <= __GNUC__ \ -- || (__has_builtin (__builtin_mul_overflow) \ -- && __has_builtin (__builtin_constant_p))) \ -- && !__STRICT_ANSI__) -+# define xalloc_oversized(n, s) \ -+ __builtin_mul_overflow_p (n, s, (__xalloc_count_type) 1) -+#elif 5 <= __GNUC__ && !__STRICT_ANSI__ - # define xalloc_oversized(n, s) \ - (__builtin_constant_p (n) && __builtin_constant_p (s) \ - ? __xalloc_oversized (n, s) \ -- : ({ size_t __xalloc_size; __builtin_mul_overflow (n, s, &__xalloc_size); })) -+ : ({ __xalloc_count_type __xalloc_count; \ -+ __builtin_mul_overflow (n, s, &__xalloc_count); })) - - /* Other compilers use integer division; this may be slower but is - more portable. */ diff --git a/meta/recipes-extended/diffutils/diffutils-3.5/0001-Unset-need_charset_alias-when-building-for-musl.patch b/meta/recipes-extended/diffutils/diffutils-3.6/0001-Unset-need_charset_alias-when-building-for-musl.patch similarity index 100% rename from meta/recipes-extended/diffutils/diffutils-3.5/0001-Unset-need_charset_alias-when-building-for-musl.patch rename to meta/recipes-extended/diffutils/diffutils-3.6/0001-Unset-need_charset_alias-when-building-for-musl.patch diff --git a/meta/recipes-extended/diffutils/diffutils-3.6/0001-explicitly-disable-replacing-getopt.patch b/meta/recipes-extended/diffutils/diffutils-3.6/0001-explicitly-disable-replacing-getopt.patch new file mode 100644 index 0000000..351f87c --- /dev/null +++ b/meta/recipes-extended/diffutils/diffutils-3.6/0001-explicitly-disable-replacing-getopt.patch @@ -0,0 +1,30 @@ +Subject: explicitly disable replacing getopt + +Explicitly disable replacing getopt to avoid compilation error like below. + + xstrtol-error.c:84:26: error: invalid use of undefined type 'struct rpl_option' + +Upstream-Status: Inappropriate [workaround] +Signed-off-by: Chen Qi +--- + m4/getopt.m4 | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/m4/getopt.m4 b/m4/getopt.m4 +index 3ebc7b7..8934426 100644 +--- a/m4/getopt.m4 ++++ b/m4/getopt.m4 +@@ -22,8 +22,8 @@ AC_DEFUN([gl_FUNC_GETOPT_POSIX], + fi + ]) + if test $REPLACE_GETOPT = 1; then +- dnl Arrange for getopt.h to be created. +- gl_GETOPT_SUBSTITUTE_HEADER ++ dnl Explicitly disable replacing getopt ++ : + fi + ]) + +-- +2.11.0 + diff --git a/meta/recipes-extended/diffutils/diffutils-3.5/run-ptest b/meta/recipes-extended/diffutils/diffutils-3.6/run-ptest similarity index 100% rename from meta/recipes-extended/diffutils/diffutils-3.5/run-ptest rename to meta/recipes-extended/diffutils/diffutils-3.6/run-ptest diff --git a/meta/recipes-extended/diffutils/diffutils_3.5.bb b/meta/recipes-extended/diffutils/diffutils_3.6.bb similarity index 66% rename from meta/recipes-extended/diffutils/diffutils_3.5.bb rename to meta/recipes-extended/diffutils/diffutils_3.6.bb index a4fc27b..a2ea484 100644 --- a/meta/recipes-extended/diffutils/diffutils_3.5.bb +++ b/meta/recipes-extended/diffutils/diffutils_3.6.bb @@ -5,24 +5,18 @@ require diffutils.inc SRC_URI = "${GNU_MIRROR}/diffutils/diffutils-${PV}.tar.xz \ file://0001-Unset-need_charset_alias-when-building-for-musl.patch \ - file://diffutils-3.5-gcc7.patch \ file://run-ptest \ " -SRC_URI[md5sum] = "569354697ff1cfc9a9de3781361015fa" -SRC_URI[sha256sum] = "dad398ccd5b9faca6b0ab219a036453f62a602a56203ac659b43e889bec35533" +SRC_URI_append_libc-glibc = " file://0001-explicitly-disable-replacing-getopt.patch" + +SRC_URI[md5sum] = "07cf286672ced26fba54cd0313bdc071" +SRC_URI[sha256sum] = "d621e8bdd4b573918c8145f7ae61817d1be9deb4c8d2328a65cea8e11d783bd6" EXTRA_OECONF += "ac_cv_path_PR_PROGRAM=${bindir}/pr --without-libsigsegv-prefix" # Fix "Argument list too long" error when len(TMPDIR) = 410 acpaths = "-I ./m4" -do_configure_prepend () { - # Need to remove gettext macros with weird mix of versions - for i in codeset.m4 gettext_gl.m4 intlmacosx.m4 inttypes-pri.m4 lib-ld_gl.m4 lib-prefix_gl.m4 po_gl.m4 ssize_t.m4 wchar_t.m4 wint_t.m4; do - rm -f ${S}/m4/$i - done -} - inherit ptest do_install_ptest() { -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:38:07 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:38:07 +0000 Subject: [oe-commits] [openembedded-core] 12/43: git: Add a dependency on perl for gitweb In-Reply-To: <150119145067.27158.18187262855008938611@git.openembedded.org> References: <150119145067.27158.18187262855008938611@git.openembedded.org> Message-ID: <20170727213732.7DAC7234F45@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch pyro in repository openembedded-core. commit 76045a1d96380e3e0a339442f3e19501c4aae5bd Author: Peter Kjellerstedt AuthorDate: Thu Jun 15 15:53:08 2017 +0200 git: Add a dependency on perl for gitweb (From OE-Core rev: db31c837b579dc64bc86553cbc95736bfca97a90) Signed-off-by: Peter Kjellerstedt Signed-off-by: Ross Burton Signed-off-by: Richard Purdie Signed-off-by: Armin Kuster --- meta/recipes-devtools/git/git.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-devtools/git/git.inc b/meta/recipes-devtools/git/git.inc index ade99ec..9b0d328 100644 --- a/meta/recipes-devtools/git/git.inc +++ b/meta/recipes-devtools/git/git.inc @@ -118,6 +118,6 @@ FILES_${PN}-tk = " \ PACKAGES =+ "gitweb" FILES_gitweb = "${datadir}/gitweb/" - +RDEPENDS_gitweb = "perl" BBCLASSEXTEND = "native nativesdk" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:38:03 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:38:03 +0000 Subject: [oe-commits] [openembedded-core] 08/43: tzdata: Install zone1970.tab In-Reply-To: <150119145067.27158.18187262855008938611@git.openembedded.org> References: <150119145067.27158.18187262855008938611@git.openembedded.org> Message-ID: <20170727213732.608CC234F41@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch pyro in repository openembedded-core. commit c92a783a2d42a6248fc0b982889a9cdc53e6ccd3 Author: Jan Kiszka AuthorDate: Fri Jun 16 09:28:05 2017 +0200 tzdata: Install zone1970.tab The modern version of zone.tab is required by tzselect e.g. (From OE-Core rev: de467998ecfa5fa1d2e9dd43a4a3d828cf9ccade) Signed-off-by: Jan Kiszka Signed-off-by: Ross Burton Signed-off-by: Richard Purdie Signed-off-by: Armin Kuster --- meta/recipes-extended/tzdata/tzdata_2017b.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-extended/tzdata/tzdata_2017b.bb b/meta/recipes-extended/tzdata/tzdata_2017b.bb index 2e4277f..55e8976 100644 --- a/meta/recipes-extended/tzdata/tzdata_2017b.bb +++ b/meta/recipes-extended/tzdata/tzdata_2017b.bb @@ -45,6 +45,7 @@ do_install () { cp -pPR ${S}/$exec_prefix ${D}/ # libc is removing zoneinfo files from package cp -pP "${S}/zone.tab" ${D}${datadir}/zoneinfo + cp -pP "${S}/zone1970.tab" ${D}${datadir}/zoneinfo cp -pP "${S}/iso3166.tab" ${D}${datadir}/zoneinfo # Install default timezone @@ -206,6 +207,7 @@ FILES_${PN} += "${datadir}/zoneinfo/Pacific/Honolulu \ ${datadir}/zoneinfo/WET \ ${datadir}/zoneinfo/Zulu \ ${datadir}/zoneinfo/zone.tab \ + ${datadir}/zoneinfo/zone1970.tab \ ${datadir}/zoneinfo/iso3166.tab \ ${datadir}/zoneinfo/Etc/*" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:38:10 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:38:10 +0000 Subject: [oe-commits] [openembedded-core] 15/43: qemuboot.conf: make cpus match built artifacts In-Reply-To: <150119145067.27158.18187262855008938611@git.openembedded.org> References: <150119145067.27158.18187262855008938611@git.openembedded.org> Message-ID: <20170727213732.93308234F48@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch pyro in repository openembedded-core. commit d945678264ba31dccb5b1dec973e8f3a58403ea2 Author: Martin Kelly AuthorDate: Tue May 2 12:20:13 2017 -0700 qemuboot.conf: make cpus match built artifacts Currently, the qemu CPUs for are specified as generic, but the built artifacts are not. For example, we build x86-64 artifacts targeting core2duo but run them in qemu with generic qemu/kvm CPUs. This causes some packages that take advantage of the host architecture to crash because they try to use CPU features not advertised by qemu. As an example, Qt uses ssse3. When artifacts linked against Qt and built targeting core2duo attempt to run on a generic qemu/kvm CPU, we get the following crash: Incompatible processor. This Qt build requires the following features: ssse3 We could fix this by making packages like Qt not take advantage of CPU features. However, we will probably keep facing similar issues over time, so it's better to resolve them in a more enduring way. Fix this by making the qemu -cpu arguments match the built artifacts. (From OE-Core rev: 20b3574749420a1fef2cb2e0579584453dd4c5c5) Signed-off-by: Martin Kelly Signed-off-by: Ross Burton Signed-off-by: Richard Purdie Signed-off-by: Armin Kuster --- meta/conf/machine/include/qemuboot-x86.inc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/meta/conf/machine/include/qemuboot-x86.inc b/meta/conf/machine/include/qemuboot-x86.inc index 06ac983..acd03a1 100644 --- a/meta/conf/machine/include/qemuboot-x86.inc +++ b/meta/conf/machine/include/qemuboot-x86.inc @@ -1,12 +1,12 @@ # For runqemu IMAGE_CLASSES += "qemuboot" QB_SYSTEM_NAME_x86 = "qemu-system-i386" -QB_CPU_x86 = "-cpu qemu32" -QB_CPU_KVM_x86 = "-cpu kvm32" +QB_CPU_x86 = "-cpu pentium2" +QB_CPU_KVM_x86 = "-cpu pentium2" QB_SYSTEM_NAME_x86-64 = "qemu-system-x86_64" QB_CPU_x86-64 = "-cpu core2duo" -QB_CPU_KVM_x86-64 = "-cpu kvm64" +QB_CPU_KVM_x86-64 = "-cpu core2duo" QB_AUDIO_DRV = "alsa" QB_AUDIO_OPT = "-soundhw ac97,es1370" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:37:53 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:37:53 +0000 Subject: [oe-commits] [openembedded-core] 23/24: initramfs-framework: include install-efi module in recipe for installation In-Reply-To: <150119145066.27158.3748857206774807008@git.openembedded.org> References: <150119145066.27158.3748857206774807008@git.openembedded.org> Message-ID: <20170727213731.B4BF7234F4F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master in repository openembedded-core. commit 41b34441c22143cbabace3d794ead05801afb7a0 Author: Ng, Wei Tee AuthorDate: Sun Jul 23 16:51:56 2017 -0700 initramfs-framework: include install-efi module in recipe for installation Utilized the existing init-install-efi.sh script and renamed it to install-efi.sh to manage the installation process of images in initramfs-framework model. This script will be executed when "install" option is being chosen in the grub menu and install the image on the target platform. A new install-efi module is being added in the recipe to handle the installation process using initramfs-framework. [YOCTO #10989] Signed-off-by: Ng, Wei Tee Signed-off-by: Richard Purdie --- .../initramfs-framework/install-efi.sh | 276 +++++++++++++++++++++ .../initrdscripts/initramfs-framework_1.0.bb | 19 +- 2 files changed, 292 insertions(+), 3 deletions(-) diff --git a/meta/recipes-core/initrdscripts/initramfs-framework/install-efi.sh b/meta/recipes-core/initrdscripts/initramfs-framework/install-efi.sh new file mode 100644 index 0000000..5ad3a60 --- /dev/null +++ b/meta/recipes-core/initrdscripts/initramfs-framework/install-efi.sh @@ -0,0 +1,276 @@ +#!/bin/sh -e +# +# Copyright (c) 2012, Intel Corporation. +# All rights reserved. +# +# install.sh [device_name] [rootfs_name] +# + +PATH=/sbin:/bin:/usr/sbin:/usr/bin + +# We need 20 Mb for the boot partition +boot_size=20 + +# 5% for swap +swap_ratio=5 + +# Get a list of hard drives +hdnamelist="" +live_dev_name=`cat /proc/mounts | grep ${1%/} | awk '{print $1}'` +live_dev_name=${live_dev_name#\/dev/} +# Only strip the digit identifier if the device is not an mmc +case $live_dev_name in + mmcblk*) + ;; + nvme*) + ;; + *) + live_dev_name=${live_dev_name%%[0-9]*} + ;; +esac + +echo "Searching for hard drives ..." + +# Some eMMC devices have special sub devices such as mmcblk0boot0 etc +# we're currently only interested in the root device so pick them wisely +devices=`ls /sys/block/ | grep -v mmcblk` || true +mmc_devices=`ls /sys/block/ | grep "mmcblk[0-9]\{1,\}$"` || true +devices="$devices $mmc_devices" + +for device in $devices; do + case $device in + loop*) + # skip loop device + ;; + sr*) + # skip CDROM device + ;; + ram*) + # skip ram device + ;; + *) + # skip the device LiveOS is on + # Add valid hard drive name to the list + case $device in + $live_dev_name*) + # skip the device we are running from + ;; + *) + hdnamelist="$hdnamelist $device" + ;; + esac + ;; + esac +done + +if [ -z "${hdnamelist}" ]; then + echo "You need another device (besides the live device /dev/${live_dev_name}) to install the image. Installation aborted." + exit 1 +fi + +TARGET_DEVICE_NAME="" +for hdname in $hdnamelist; do + # Display found hard drives and their basic info + echo "-------------------------------" + echo /dev/$hdname + if [ -r /sys/block/$hdname/device/vendor ]; then + echo -n "VENDOR=" + cat /sys/block/$hdname/device/vendor + fi + if [ -r /sys/block/$hdname/device/model ]; then + echo -n "MODEL=" + cat /sys/block/$hdname/device/model + fi + if [ -r /sys/block/$hdname/device/uevent ]; then + echo -n "UEVENT=" + cat /sys/block/$hdname/device/uevent + fi + echo +done + +# Get user choice +while true; do + echo "Please select an install target or press n to exit ($hdnamelist ): " + read answer + if [ "$answer" = "n" ]; then + echo "Installation manually aborted." + exit 1 + fi + for hdname in $hdnamelist; do + if [ "$answer" = "$hdname" ]; then + TARGET_DEVICE_NAME=$answer + break + fi + done + if [ -n "$TARGET_DEVICE_NAME" ]; then + break + fi +done + +if [ -n "$TARGET_DEVICE_NAME" ]; then + echo "Installing image on /dev/$TARGET_DEVICE_NAME ..." +else + echo "No hard drive selected. Installation aborted." + exit 1 +fi + +device=/dev/$TARGET_DEVICE_NAME + +# +# The udev automounter can cause pain here, kill it +# +rm -f /etc/udev/rules.d/automount.rules +rm -f /etc/udev/scripts/mount* + +# +# Unmount anything the automounter had mounted +# +umount ${device}* 2> /dev/null || /bin/true + +mkdir -p /tmp + +# Create /etc/mtab if not present +if [ ! -e /etc/mtab ] && [ -e /proc/mounts ]; then + ln -sf /proc/mounts /etc/mtab +fi + +disk_size=$(parted ${device} unit mb print | grep '^Disk .*: .*MB' | cut -d" " -f 3 | sed -e "s/MB//") + +swap_size=$((disk_size*swap_ratio/100)) +rootfs_size=$((disk_size-boot_size-swap_size)) + +rootfs_start=$((boot_size)) +rootfs_end=$((rootfs_start+rootfs_size)) +swap_start=$((rootfs_end)) + +# MMC devices are special in a couple of ways +# 1) they use a partition prefix character 'p' +# 2) they are detected asynchronously (need rootwait) +rootwait="" +part_prefix="" +if [ ! "${device#/dev/mmcblk}" = "${device}" ] || \ + [ ! "${device#/dev/nvme}" = "${device}" ]; then + part_prefix="p" + rootwait="rootwait" +fi + +# USB devices also require rootwait +if [ -n `readlink /dev/disk/by-id/usb* | grep $TARGET_DEVICE_NAME` ]; then + rootwait="rootwait" +fi + +bootfs=${device}${part_prefix}1 +rootfs=${device}${part_prefix}2 +swap=${device}${part_prefix}3 + +echo "*****************" +echo "Boot partition size: $boot_size MB ($bootfs)" +echo "Rootfs partition size: $rootfs_size MB ($rootfs)" +echo "Swap partition size: $swap_size MB ($swap)" +echo "*****************" +echo "Deleting partition table on ${device} ..." +dd if=/dev/zero of=${device} bs=512 count=35 + +echo "Creating new partition table on ${device} ..." +parted ${device} mklabel gpt + +echo "Creating boot partition on $bootfs" +parted ${device} mkpart boot fat32 0% $boot_size +parted ${device} set 1 boot on + +echo "Creating rootfs partition on $rootfs" +parted ${device} mkpart root ext3 $rootfs_start $rootfs_end + +echo "Creating swap partition on $swap" +parted ${device} mkpart swap linux-swap $swap_start 100% + +parted ${device} print + +echo "Formatting $bootfs to vfat..." +mkfs.vfat $bootfs + +echo "Formatting $rootfs to ext3..." +mkfs.ext3 $rootfs + +echo "Formatting swap partition...($swap)" +mkswap $swap + +mkdir /tgt_root +mkdir /src_root +mkdir -p /boot + +# Handling of the target root partition +mount $rootfs /tgt_root +mount -o rw,loop,noatime,nodiratime /run/media/$1/$2 /src_root +echo "Copying rootfs files..." +cp -a /src_root/* /tgt_root +if [ -d /tgt_root/etc/ ] ; then + boot_uuid=$(blkid -o value -s UUID ${bootfs}) + swap_part_uuid=$(blkid -o value -s PARTUUID ${swap}) + echo "/dev/disk/by-partuuid/$swap_part_uuid swap swap defaults 0 0" >> /tgt_root/etc/fstab + echo "UUID=$boot_uuid /boot vfat defaults 1 2" >> /tgt_root/etc/fstab + # We dont want udev to mount our root device while we're booting... + if [ -d /tgt_root/etc/udev/ ] ; then + echo "${device}" >> /tgt_root/etc/udev/mount.blacklist + fi +fi + +umount /src_root + +# Handling of the target boot partition +mount $bootfs /boot +echo "Preparing boot partition..." + +EFIDIR="/boot/EFI/BOOT" +mkdir -p $EFIDIR +# Copy the efi loader +cp /run/media/$1/EFI/BOOT/*.efi $EFIDIR + +if [ -f /run/media/$1/EFI/BOOT/grub.cfg ]; then + root_part_uuid=$(blkid -o value -s PARTUUID ${rootfs}) + GRUBCFG="$EFIDIR/grub.cfg" + cp /run/media/$1/EFI/BOOT/grub.cfg $GRUBCFG + # Update grub config for the installed image + # Delete the install entry + sed -i "/menuentry 'install'/,/^}/d" $GRUBCFG + # Delete the initrd lines + sed -i "/initrd /d" $GRUBCFG + # Delete any LABEL= strings + sed -i "s/ LABEL=[^ ]*/ /" $GRUBCFG + # Delete any root= strings + sed -i "s/ root=[^ ]*/ /g" $GRUBCFG + # Add the root= and other standard boot options + sed -i "s at linux /vmlinuz *@linux /vmlinuz root=PARTUUID=$root_part_uuid rw $rootwait quiet @" $GRUBCFG +fi + +if [ -d /run/media/$1/loader ]; then + rootuuid=$(blkid -o value -s PARTUUID ${rootfs}) + SYSTEMDBOOT_CFGS="/boot/loader/entries/*.conf" + # copy config files for systemd-boot + cp -dr /run/media/$1/loader /boot + # delete the install entry + rm -f /boot/loader/entries/install.conf + # delete the initrd lines + sed -i "/initrd /d" $SYSTEMDBOOT_CFGS + # delete any LABEL= strings + sed -i "s/ LABEL=[^ ]*/ /" $SYSTEMDBOOT_CFGS + # delete any root= strings + sed -i "s/ root=[^ ]*/ /" $SYSTEMDBOOT_CFGS + # add the root= and other standard boot options + sed -i "s at options *@options root=PARTUUID=$rootuuid rw $rootwait quiet @" $SYSTEMDBOOT_CFGS +fi + +umount /tgt_root + +cp /run/media/$1/vmlinuz /boot + +umount /boot + +sync + +echo "Remove your installation media, and press ENTER" + +read enter + +echo "Rebooting..." +reboot -f diff --git a/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb index 211e89d..9d69a69 100644 --- a/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb +++ b/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb @@ -5,7 +5,11 @@ RDEPENDS_${PN} += "${VIRTUAL-RUNTIME_base-utils}" PR = "r2" -inherit allarch +# While the packages maybe an allarch due to it being a +# simple script, reality is that it is Host specific based +# on the COMPATIBLE_HOST below, which needs to take precedence +#inherit allarch +INHIBIT_DEFAULT_DEPS = "1" SRC_URI = "file://init \ file://rootfs \ @@ -14,7 +18,8 @@ SRC_URI = "file://init \ file://udev \ file://e2fs \ file://debug \ - file://setup-live" + file://setup-live \ + file://install-efi.sh" S = "${WORKDIR}" @@ -41,6 +46,9 @@ do_install() { # debug install -m 0755 ${WORKDIR}/debug ${D}/init.d/00-debug + # install-efi + install -m 0755 ${WORKDIR}/install-efi.sh ${D}/init.d/install-efi.sh + # Create device nodes expected by some kernels in initramfs # before even executing /init. install -d ${D}/dev @@ -53,7 +61,8 @@ PACKAGES = "${PN}-base \ initramfs-module-e2fs \ initramfs-module-rootfs \ initramfs-module-debug \ - initramfs-module-setup-live" + initramfs-module-setup-live \ + initramfs-module-install-efi" FILES_${PN}-base = "/init /init.d/99-finish /dev" @@ -88,3 +97,7 @@ FILES_initramfs-module-rootfs = "/init.d/90-rootfs" SUMMARY_initramfs-module-debug = "initramfs dynamic debug support" RDEPENDS_initramfs-module-debug = "${PN}-base" FILES_initramfs-module-debug = "/init.d/00-debug" + +SUMMARY_initramfs-module-install-efi = "initramfs support for installation option" +RDEPENDS_initramfs-module-install-efi = "${PN}-base parted e2fsprogs-mke2fs dosfstools util-linux-blkid" +FILES_initramfs-module-install-efi = "/init.d/install-efi.sh" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:38:11 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:38:11 +0000 Subject: [oe-commits] [openembedded-core] 16/43: tzcode-native: quote ${CC} In-Reply-To: <150119145067.27158.18187262855008938611@git.openembedded.org> References: <150119145067.27158.18187262855008938611@git.openembedded.org> Message-ID: <20170727213732.99AC7234F3A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch pyro in repository openembedded-core. commit fdd3479879f83fcb0e706b3b5b1abf0e9cb789a3 Author: Enrico Scholz AuthorDate: Fri Jun 23 13:19:12 2017 +0200 tzcode-native: quote ${CC} build fails else with | + make -j 8 -l 6 cc=ccache gcc | make: *** No rule to make target 'gcc'. Stop. Signed-off-by: Enrico Scholz Signed-off-by: Ross Burton (cherry picked from commit 5729c1563359e12ebb4451bb1ce7ba3fff4ed2d4) Signed-off-by: Armin Kuster --- meta/recipes-extended/tzcode/tzcode-native_2017b.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-extended/tzcode/tzcode-native_2017b.bb b/meta/recipes-extended/tzcode/tzcode-native_2017b.bb index 2084f79..165d2c6 100644 --- a/meta/recipes-extended/tzcode/tzcode-native_2017b.bb +++ b/meta/recipes-extended/tzcode/tzcode-native_2017b.bb @@ -18,7 +18,7 @@ S = "${WORKDIR}" inherit native -EXTRA_OEMAKE += "cc=${CC}" +EXTRA_OEMAKE += "cc='${CC}'" do_install () { install -d ${D}${bindir}/ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:37:59 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:37:59 +0000 Subject: [oe-commits] [openembedded-core] 04/43: libxml2: Fix CVE-2017-9047 and CVE-2017-9048 In-Reply-To: <150119145067.27158.18187262855008938611@git.openembedded.org> References: <150119145067.27158.18187262855008938611@git.openembedded.org> Message-ID: <20170727213732.403F5234F3E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch pyro in repository openembedded-core. commit d549b8f3836b2ffda5c59a7ae4d955846c558646 Author: Andrej Valek AuthorDate: Wed Jun 14 14:55:03 2017 +0200 libxml2: Fix CVE-2017-9047 and CVE-2017-9048 xmlSnprintfElementContent failed to correctly check the available buffer space in two locations. Fixes bug 781333 and bug 781701 CVE: CVE-2017-9047 CVE-2017-9048 (From OE-Core rev: bb0af023e811907b4e641b39f654ca921ac8794a) Signed-off-by: Andrej Valek Signed-off-by: Richard Purdie Signed-off-by: Armin Kuster --- .../libxml2-CVE-2017-9047_CVE-2017-9048.patch | 103 +++++++++++++++++++++ meta/recipes-core/libxml/libxml2_2.9.4.bb | 1 + 2 files changed, 104 insertions(+) diff --git a/meta/recipes-core/libxml/libxml2/libxml2-CVE-2017-9047_CVE-2017-9048.patch b/meta/recipes-core/libxml/libxml2/libxml2-CVE-2017-9047_CVE-2017-9048.patch new file mode 100644 index 0000000..8b03456 --- /dev/null +++ b/meta/recipes-core/libxml/libxml2/libxml2-CVE-2017-9047_CVE-2017-9048.patch @@ -0,0 +1,103 @@ +libxml2-2.9.4: Fix CVE-2017-9047 and CVE-2017-9048 + +[No upstream tracking] -- https://bugzilla.gnome.org/show_bug.cgi?id=781333 + -- https://bugzilla.gnome.org/show_bug.cgi?id=781701 + +valid: Fix buffer size checks in xmlSnprintfElementContent + +xmlSnprintfElementContent failed to correctly check the available +buffer space in two locations. + +Fixes bug 781333 and bug 781701 + +Upstream-Status: Backport [https://git.gnome.org/browse/libxml2/commit/?id=932cc9896ab41475d4aa429c27d9afd175959d74] +CVE: CVE-2017-9047 CVE-2017-9048 +Signed-off-by: Andrej Valek + +diff --git a/result/valid/781333.xml b/result/valid/781333.xml +new file mode 100644 +index 0000000..01baf11 +--- /dev/null ++++ b/result/valid/781333.xml +@@ -0,0 +1,5 @@ ++ ++ ++ +diff --git a/result/valid/781333.xml.err b/result/valid/781333.xml.err +new file mode 100644 +index 0000000..2176200 +--- /dev/null ++++ b/result/valid/781333.xml.err +@@ -0,0 +1,3 @@ ++./test/valid/781333.xml:4: element a: validity error : Element a content does not follow the DTD, expecting ( ..., got ++ ++ ^ +diff --git a/result/valid/781333.xml.err.rdr b/result/valid/781333.xml.err.rdr +new file mode 100644 +index 0000000..1195a04 +--- /dev/null ++++ b/result/valid/781333.xml.err.rdr +@@ -0,0 +1,6 @@ ++./test/valid/781333.xml:4: element a: validity error : Element a content does not follow the DTD, expecting ( ..., got ++ ++ ^ ++./test/valid/781333.xml:5: element a: validity error : Element a content does not follow the DTD, Expecting more child ++ ++^ +diff --git a/test/valid/781333.xml b/test/valid/781333.xml +new file mode 100644 +index 0000000..bceac9c +--- /dev/null ++++ b/test/valid/781333.xml +@@ -0,0 +1,4 @@ ++ ++ +diff --git a/valid.c b/valid.c +index 19f84b8..aaa30f6 100644 +--- a/valid.c ++++ b/valid.c +@@ -1262,22 +1262,23 @@ xmlSnprintfElementContent(char *buf, int size, xmlElementContentPtr content, int + case XML_ELEMENT_CONTENT_PCDATA: + strcat(buf, "#PCDATA"); + break; +- case XML_ELEMENT_CONTENT_ELEMENT: ++ case XML_ELEMENT_CONTENT_ELEMENT: { ++ int qnameLen = xmlStrlen(content->name); ++ ++ if (content->prefix != NULL) ++ qnameLen += xmlStrlen(content->prefix) + 1; ++ if (size - len < qnameLen + 10) { ++ strcat(buf, " ..."); ++ return; ++ } + if (content->prefix != NULL) { +- if (size - len < xmlStrlen(content->prefix) + 10) { +- strcat(buf, " ..."); +- return; +- } + strcat(buf, (char *) content->prefix); + strcat(buf, ":"); + } +- if (size - len < xmlStrlen(content->name) + 10) { +- strcat(buf, " ..."); +- return; +- } + if (content->name != NULL) + strcat(buf, (char *) content->name); + break; ++ } + case XML_ELEMENT_CONTENT_SEQ: + if ((content->c1->type == XML_ELEMENT_CONTENT_OR) || + (content->c1->type == XML_ELEMENT_CONTENT_SEQ)) +@@ -1319,6 +1320,7 @@ xmlSnprintfElementContent(char *buf, int size, xmlElementContentPtr content, int + xmlSnprintfElementContent(buf, size, content->c2, 0); + break; + } ++ if (size - strlen(buf) <= 2) return; + if (englob) + strcat(buf, ")"); + switch (content->ocur) { diff --git a/meta/recipes-core/libxml/libxml2_2.9.4.bb b/meta/recipes-core/libxml/libxml2_2.9.4.bb index c1f623a..8eaefd4 100644 --- a/meta/recipes-core/libxml/libxml2_2.9.4.bb +++ b/meta/recipes-core/libxml/libxml2_2.9.4.bb @@ -24,6 +24,7 @@ SRC_URI = "ftp://xmlsoft.org/libxml2/libxml2-${PV}.tar.gz;name=libtar \ file://libxml2-CVE-2016-4658.patch \ file://libxml2-fix_NULL_pointer_derefs.patch \ file://libxml2-fix_and_simplify_xmlParseStartTag2.patch \ + file://libxml2-CVE-2017-9047_CVE-2017-9048.patch \ file://CVE-2016-9318.patch \ " -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:38:01 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:38:01 +0000 Subject: [oe-commits] [openembedded-core] 06/43: libxml2: Fix CVE-2017-5969 In-Reply-To: <150119145067.27158.18187262855008938611@git.openembedded.org> References: <150119145067.27158.18187262855008938611@git.openembedded.org> Message-ID: <20170727213732.5147C234F3F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch pyro in repository openembedded-core. commit f0017a7b8b3fc4407e6596156b57aa1183937382 Author: Andrej Valek AuthorDate: Wed Jun 14 15:01:35 2017 +0200 libxml2: Fix CVE-2017-5969 Fix NULL pointer deref in xmlDumpElementContent Can only be triggered in recovery mode. Fixes bug 758422 CVE: CVE-2017-5969 (From OE-Core rev: 0cae039cbe513b7998e067f4f3958af2ec65ed1a) Signed-off-by: Andrej Valek Signed-off-by: Richard Purdie Signed-off-by: Armin Kuster --- .../libxml/libxml2/libxml2-CVE-2017-5969.patch | 62 ++++++++++++++++++++++ meta/recipes-core/libxml/libxml2_2.9.4.bb | 1 + 2 files changed, 63 insertions(+) diff --git a/meta/recipes-core/libxml/libxml2/libxml2-CVE-2017-5969.patch b/meta/recipes-core/libxml/libxml2/libxml2-CVE-2017-5969.patch new file mode 100644 index 0000000..571b05c --- /dev/null +++ b/meta/recipes-core/libxml/libxml2/libxml2-CVE-2017-5969.patch @@ -0,0 +1,62 @@ +libxml2-2.9.4: Fix CVE-2017-5969 + +[No upstream tracking] -- https://bugzilla.gnome.org/show_bug.cgi?id=758422 + +valid: Fix NULL pointer deref in xmlDumpElementContent + +Can only be triggered in recovery mode. + +Fixes bug 758422 + +Upstream-Status: Backport - [https://git.gnome.org/browse/libxml2/commit/?id=94691dc884d1a8ada39f073408b4bb92fe7fe882] +CVE: CVE-2017-5969 +Signed-off-by: Andrej Valek + +diff --git a/valid.c b/valid.c +index 19f84b8..0a8e58a 100644 +--- a/valid.c ++++ b/valid.c +@@ -1172,29 +1172,33 @@ xmlDumpElementContent(xmlBufferPtr buf, xmlElementContentPtr content, int glob) + xmlBufferWriteCHAR(buf, content->name); + break; + case XML_ELEMENT_CONTENT_SEQ: +- if ((content->c1->type == XML_ELEMENT_CONTENT_OR) || +- (content->c1->type == XML_ELEMENT_CONTENT_SEQ)) ++ if ((content->c1 != NULL) && ++ ((content->c1->type == XML_ELEMENT_CONTENT_OR) || ++ (content->c1->type == XML_ELEMENT_CONTENT_SEQ))) + xmlDumpElementContent(buf, content->c1, 1); + else + xmlDumpElementContent(buf, content->c1, 0); + xmlBufferWriteChar(buf, " , "); +- if ((content->c2->type == XML_ELEMENT_CONTENT_OR) || +- ((content->c2->type == XML_ELEMENT_CONTENT_SEQ) && +- (content->c2->ocur != XML_ELEMENT_CONTENT_ONCE))) ++ if ((content->c2 != NULL) && ++ ((content->c2->type == XML_ELEMENT_CONTENT_OR) || ++ ((content->c2->type == XML_ELEMENT_CONTENT_SEQ) && ++ (content->c2->ocur != XML_ELEMENT_CONTENT_ONCE)))) + xmlDumpElementContent(buf, content->c2, 1); + else + xmlDumpElementContent(buf, content->c2, 0); + break; + case XML_ELEMENT_CONTENT_OR: +- if ((content->c1->type == XML_ELEMENT_CONTENT_OR) || +- (content->c1->type == XML_ELEMENT_CONTENT_SEQ)) ++ if ((content->c1 != NULL) && ++ ((content->c1->type == XML_ELEMENT_CONTENT_OR) || ++ (content->c1->type == XML_ELEMENT_CONTENT_SEQ))) + xmlDumpElementContent(buf, content->c1, 1); + else + xmlDumpElementContent(buf, content->c1, 0); + xmlBufferWriteChar(buf, " | "); +- if ((content->c2->type == XML_ELEMENT_CONTENT_SEQ) || +- ((content->c2->type == XML_ELEMENT_CONTENT_OR) && +- (content->c2->ocur != XML_ELEMENT_CONTENT_ONCE))) ++ if ((content->c2 != NULL) && ++ ((content->c2->type == XML_ELEMENT_CONTENT_SEQ) || ++ ((content->c2->type == XML_ELEMENT_CONTENT_OR) && ++ (content->c2->ocur != XML_ELEMENT_CONTENT_ONCE)))) + xmlDumpElementContent(buf, content->c2, 1); + else + xmlDumpElementContent(buf, content->c2, 0); diff --git a/meta/recipes-core/libxml/libxml2_2.9.4.bb b/meta/recipes-core/libxml/libxml2_2.9.4.bb index 09a7445..5776f0f 100644 --- a/meta/recipes-core/libxml/libxml2_2.9.4.bb +++ b/meta/recipes-core/libxml/libxml2_2.9.4.bb @@ -26,6 +26,7 @@ SRC_URI = "ftp://xmlsoft.org/libxml2/libxml2-${PV}.tar.gz;name=libtar \ file://libxml2-fix_and_simplify_xmlParseStartTag2.patch \ file://libxml2-CVE-2017-9047_CVE-2017-9048.patch \ file://libxml2-CVE-2017-9049_CVE-2017-9050.patch \ + file://libxml2-CVE-2017-5969.patch \ file://CVE-2016-9318.patch \ " -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:38:12 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:38:12 +0000 Subject: [oe-commits] [openembedded-core] 17/43: iptables: Apply 0001-fix-build-with-musl.patch unconditionally In-Reply-To: <150119145067.27158.18187262855008938611@git.openembedded.org> References: <150119145067.27158.18187262855008938611@git.openembedded.org> Message-ID: <20170727213732.A0C57234F4A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch pyro in repository openembedded-core. commit 2df99a0cddf60944ee9e5065d693cea03f5e93b3 Author: Khem Raj AuthorDate: Sun Jun 25 22:36:19 2017 -0700 iptables: Apply 0001-fix-build-with-musl.patch unconditionally This patch is generic enough, That it can be applied universally and makes maintainence easier Signed-off-by: Khem Raj Signed-off-by: Ross Burton (cherry picked from commit f769b8389091b4ffaff8f6f8fc7e53462ce176a5) Signed-off-by: Armin Kuster --- meta/recipes-extended/iptables/iptables_1.6.1.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-extended/iptables/iptables_1.6.1.bb b/meta/recipes-extended/iptables/iptables_1.6.1.bb index 4019e2a..b37c55a 100644 --- a/meta/recipes-extended/iptables/iptables_1.6.1.bb +++ b/meta/recipes-extended/iptables/iptables_1.6.1.bb @@ -22,8 +22,8 @@ SRC_URI = "http://netfilter.org/projects/iptables/files/iptables-${PV}.tar.bz2 \ file://types.h-add-defines-that-are-required-for-if_packet.patch \ file://0001-configure-Add-option-to-enable-disable-libnfnetlink.patch \ file://0002-configure.ac-only-check-conntrack-when-libnfnetlink-enabled.patch \ - " -SRC_URI_append_libc-musl = " file://0001-fix-build-with-musl.patch" + file://0001-fix-build-with-musl.patch \ +" SRC_URI[md5sum] = "ab38a33806b6182c6f53d6afb4619add" SRC_URI[sha256sum] = "0fc2d7bd5d7be11311726466789d4c65fb4c8e096c9182b56ce97440864f0cf5" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:37:57 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:37:57 +0000 Subject: [oe-commits] [openembedded-core] 02/43: libxml2: Disable LeakSanitizer when running API tests In-Reply-To: <150119145067.27158.18187262855008938611@git.openembedded.org> References: <150119145067.27158.18187262855008938611@git.openembedded.org> Message-ID: <20170727213732.30674234F3B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch pyro in repository openembedded-core. commit 008b4d1c80012dc69da2866a2d26bd1d2b736e6f Author: Andrej Valek AuthorDate: Wed Jun 14 14:34:37 2017 +0200 libxml2: Disable LeakSanitizer when running API tests Makefile.am: Disable LeakSanitizer when running API tests The autogenerated API tests leak memory. Upstream-Status: Backported - [https://git.gnome.org/browse/libxml2/commit/?id=ac9a4560ee85b18811ff8ab7791ddfff7b144b0a] (From OE-Core rev: e3985be0ddb40e8db44422092c875a4e373a6da3) Signed-off-by: Andrej Valek Signed-off-by: Richard Purdie Signed-off-by: Armin Kuster --- meta/recipes-core/libxml/libxml2/runtest.patch | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/meta/recipes-core/libxml/libxml2/runtest.patch b/meta/recipes-core/libxml/libxml2/runtest.patch index 397ab20..6e56857 100644 --- a/meta/recipes-core/libxml/libxml2/runtest.patch +++ b/meta/recipes-core/libxml/libxml2/runtest.patch @@ -2,12 +2,13 @@ Add 'install-ptest' rule. Print a standard result line for each test. Signed-off-by: Mihaela Sendrea -Upstream-Status: Pending +Signed-off-by: Andrej Valek +Upstream-Status: Backport diff -uNr a/Makefile.am b/Makefile.am ---- a/Makefile.am 2013-04-17 14:51:42.633386477 +0200 -+++ b/Makefile.am 2013-04-19 14:47:51.544720568 +0200 -@@ -202,10 +202,19 @@ +--- a/Makefile.am 2016-05-22 03:49:02.000000000 +0200 ++++ b/Makefile.am 2017-06-14 10:38:43.381305385 +0200 +@@ -202,10 +202,24 @@ #testOOM_DEPENDENCIES = $(DEPS) #testOOM_LDADD= $(LDADDS) @@ -24,10 +25,24 @@ diff -uNr a/Makefile.am b/Makefile.am [ -d test ] || $(LN_S) $(srcdir)/test . [ -d result ] || $(LN_S) $(srcdir)/result . - $(CHECKER) ./runtest$(EXEEXT) && $(CHECKER) ./testrecurse$(EXEEXT) &&$(CHECKER) ./testapi$(EXEEXT) && $(CHECKER) ./testchar$(EXEEXT)&& $(CHECKER) ./testdict$(EXEEXT) && $(CHECKER) ./runxmlconf$(EXEEXT) -+ ./runtest$(EXEEXT) ; ./testrecurse$(EXEEXT) ; ./testapi$(EXEEXT) ; ./testchar$(EXEEXT) ; ./testdict$(EXEEXT) ; ./runxmlconf$(EXEEXT) ++ $(CHECKER) ./runtest$(EXEEXT) && \ ++ $(CHECKER) ./testrecurse$(EXEEXT) && \ ++ ASAN_OPTIONS="$$ASAN_OPTIONS:detect_leaks=0" $(CHECKER) ./testapi$(EXEEXT) && \ ++ $(CHECKER) ./testchar$(EXEEXT) && \ ++ $(CHECKER) ./testdict$(EXEEXT) && \ ++ $(CHECKER) ./runxmlconf$(EXEEXT) @(if [ "$(PYTHON_SUBDIR)" != "" ] ; then cd python ; \ $(MAKE) tests ; fi) +@@ -229,7 +243,7 @@ + + APItests: testapi$(EXEEXT) + @echo "## Running the API regression tests this may take a little while" +- -@($(CHECKER) $(top_builddir)/testapi -q) ++ -@(ASAN_OPTIONS="$$ASAN_OPTIONS:detect_leaks=0" $(CHECKER) $(top_builddir)/testapi -q) + + HTMLtests : testHTML$(EXEEXT) + @(echo > .memdump) diff -uNr a/runsuite.c b/runsuite.c --- a/runsuite.c 2013-04-12 16:17:11.462823238 +0200 +++ b/runsuite.c 2013-04-17 14:07:24.352693211 +0200 -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:38:13 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:38:13 +0000 Subject: [oe-commits] [openembedded-core] 18/43: yocto-compat-layer.py: avoid adding layers more than once In-Reply-To: <150119145067.27158.18187262855008938611@git.openembedded.org> References: <150119145067.27158.18187262855008938611@git.openembedded.org> Message-ID: <20170727213732.A8B83234F38@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch pyro in repository openembedded-core. commit 9821cec1ca52deee444ae3ff14dc548c8312ba3c Author: Patrick Ohly AuthorDate: Tue Jun 27 17:33:38 2017 +0200 yocto-compat-layer.py: avoid adding layers more than once add_layer_dependencies() might get called more than once, or one of the layer dependencies might already be present. The function should not add layers again because doing so can cause warnings like: WARNING: Duplicate inclusion for .../meta-openembedded/meta-oe/conf/distro/include/meta_oe_security_flags.inc in .../meta-openembedded/meta-oe/conf/layer.conf Signed-off-by: Patrick Ohly Signed-off-by: Ross Burton Signed-off-by: Armin Kuster --- scripts/lib/compatlayer/__init__.py | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/scripts/lib/compatlayer/__init__.py b/scripts/lib/compatlayer/__init__.py index e35f8c0..eaae4e5 100644 --- a/scripts/lib/compatlayer/__init__.py +++ b/scripts/lib/compatlayer/__init__.py @@ -4,6 +4,7 @@ # Released under the MIT license (see COPYING.MIT) import os +import re import subprocess from enum import Enum @@ -189,10 +190,22 @@ def add_layer_dependencies(bblayersconf, layer, layers, logger): if layer_depends is None: return False else: + # Don't add a layer that is already present. + added = set() + output = check_command('Getting existing layers failed.', 'bitbake-layers show-layers').decode('utf-8') + for layer, path, pri in re.findall(r'^(\S+) +([^\n]*?) +(\d+)$', output, re.MULTILINE): + added.add(path) + for layer_depend in layer_depends: - logger.info('Adding layer dependency %s' % layer_depend['name']) + name = layer_depend['name'] + path = layer_depend['path'] + if path in added: + continue + else: + added.add(path) + logger.info('Adding layer dependency %s' % name) with open(bblayersconf, 'a+') as f: - f.write("\nBBLAYERS += \"%s\"\n" % layer_depend['path']) + f.write("\nBBLAYERS += \"%s\"\n" % path) return True def add_layer(bblayersconf, layer, layers, logger): -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:38:02 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:38:02 +0000 Subject: [oe-commits] [openembedded-core] 07/43: libxml2: Fix CVE-2017-0663 In-Reply-To: <150119145067.27158.18187262855008938611@git.openembedded.org> References: <150119145067.27158.18187262855008938611@git.openembedded.org> Message-ID: <20170727213732.59133234F40@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch pyro in repository openembedded-core. commit e442e7105ba39ddaed0749614b5ee552f9df2d5a Author: Andrej Valek AuthorDate: Wed Jun 14 15:07:56 2017 +0200 libxml2: Fix CVE-2017-0663 Fix type confusion in xmlValidateOneNamespace Comment out code that casts xmlNsPtr to xmlAttrPtr. ID types on namespace declarations make no practical sense anyway. Fixes bug 780228 CVE: CVE-2017-0663 (From OE-Core rev: a965be7b6a1d730851b4a3bc8fd534b9b2334227) Signed-off-by: Andrej Valek Signed-off-by: Richard Purdie Signed-off-by: Armin Kuster --- .../libxml/libxml2/libxml2-CVE-2017-0663.patch | 40 ++++++++++++++++++++++ meta/recipes-core/libxml/libxml2_2.9.4.bb | 1 + 2 files changed, 41 insertions(+) diff --git a/meta/recipes-core/libxml/libxml2/libxml2-CVE-2017-0663.patch b/meta/recipes-core/libxml/libxml2/libxml2-CVE-2017-0663.patch new file mode 100644 index 0000000..0108265 --- /dev/null +++ b/meta/recipes-core/libxml/libxml2/libxml2-CVE-2017-0663.patch @@ -0,0 +1,40 @@ +libxml2: Fix CVE-2017-0663 + +[No upstream tracking] -- https://bugzilla.gnome.org/show_bug.cgi?id=780228 + +valid: Fix type confusion in xmlValidateOneNamespace + +Comment out code that casts xmlNsPtr to xmlAttrPtr. ID types +on namespace declarations make no practical sense anyway. + +Fixes bug 780228 + +Upstream-Status: Backport [https://git.gnome.org/browse/libxml2/commit/?id=92b9e8c8b3787068565a1820ba575d042f9eec66] +CVE: CVE-2017-0663 +Signed-off-by: Andrej Valek + +diff --git a/valid.c b/valid.c +index 19f84b8..e03d35e 100644 +--- a/valid.c ++++ b/valid.c +@@ -4621,6 +4621,12 @@ xmlNodePtr elem, const xmlChar *prefix, xmlNsPtr ns, const xmlChar *value) { + } + } + ++ /* ++ * Casting ns to xmlAttrPtr is wrong. We'd need separate functions ++ * xmlAddID and xmlAddRef for namespace declarations, but it makes ++ * no practical sense to use ID types anyway. ++ */ ++#if 0 + /* Validity Constraint: ID uniqueness */ + if (attrDecl->atype == XML_ATTRIBUTE_ID) { + if (xmlAddID(ctxt, doc, value, (xmlAttrPtr) ns) == NULL) +@@ -4632,6 +4638,7 @@ xmlNodePtr elem, const xmlChar *prefix, xmlNsPtr ns, const xmlChar *value) { + if (xmlAddRef(ctxt, doc, value, (xmlAttrPtr) ns) == NULL) + ret = 0; + } ++#endif + + /* Validity Constraint: Notation Attributes */ + if (attrDecl->atype == XML_ATTRIBUTE_NOTATION) { diff --git a/meta/recipes-core/libxml/libxml2_2.9.4.bb b/meta/recipes-core/libxml/libxml2_2.9.4.bb index 5776f0f..3b081dd 100644 --- a/meta/recipes-core/libxml/libxml2_2.9.4.bb +++ b/meta/recipes-core/libxml/libxml2_2.9.4.bb @@ -27,6 +27,7 @@ SRC_URI = "ftp://xmlsoft.org/libxml2/libxml2-${PV}.tar.gz;name=libtar \ file://libxml2-CVE-2017-9047_CVE-2017-9048.patch \ file://libxml2-CVE-2017-9049_CVE-2017-9050.patch \ file://libxml2-CVE-2017-5969.patch \ + file://libxml2-CVE-2017-0663.patch \ file://CVE-2016-9318.patch \ " -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:38:14 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:38:14 +0000 Subject: [oe-commits] [openembedded-core] 19/43: yocto-compat-layer.py: tolerate broken world builds during signature diff In-Reply-To: <150119145067.27158.18187262855008938611@git.openembedded.org> References: <150119145067.27158.18187262855008938611@git.openembedded.org> Message-ID: <20170727213732.AF75A234F4B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch pyro in repository openembedded-core. commit f2190e7e81f86735510c6ab10d3ac781146113f9 Author: Patrick Ohly AuthorDate: Tue Jun 27 17:33:39 2017 +0200 yocto-compat-layer.py: tolerate broken world builds during signature diff The "test_signatures" test ignored a broken world build when getting signatures, but the code which then tried to analyze a difference found by the test didn't, which prevented printing the difference. Signed-off-by: Patrick Ohly Signed-off-by: Ross Burton Signed-off-by: Armin Kuster --- scripts/lib/compatlayer/__init__.py | 7 ++++++- scripts/lib/compatlayer/cases/common.py | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/scripts/lib/compatlayer/__init__.py b/scripts/lib/compatlayer/__init__.py index eaae4e5..451e1de 100644 --- a/scripts/lib/compatlayer/__init__.py +++ b/scripts/lib/compatlayer/__init__.py @@ -290,7 +290,7 @@ def get_signatures(builddir, failsafe=False, machine=None): return (sigs, tune2tasks) -def get_depgraph(targets=['world']): +def get_depgraph(targets=['world'], failsafe=False): ''' Returns the dependency graph for the given target(s). The dependency graph is taken directly from DepTreeEvent. @@ -309,6 +309,11 @@ def get_depgraph(targets=['world']): elif isinstance(event, bb.command.CommandCompleted): break elif isinstance(event, bb.event.NoProvider): + if failsafe: + # The event is informational, we will get information about the + # remaining dependencies eventually and thus can ignore this + # here like we do in get_signatures(), if desired. + continue if event._reasons: raise RuntimeError('Nothing provides %s: %s' % (event._item, event._reasons)) else: diff --git a/scripts/lib/compatlayer/cases/common.py b/scripts/lib/compatlayer/cases/common.py index 8eeada9..2dfcbb1 100644 --- a/scripts/lib/compatlayer/cases/common.py +++ b/scripts/lib/compatlayer/cases/common.py @@ -50,7 +50,7 @@ class CommonCompatLayer(OECompatLayerTestCase): def graph2sig(task): pn, taskname = task.rsplit('.', 1) return pn + ':' + taskname - depgraph = get_depgraph() + depgraph = get_depgraph(failsafe=True) depends = depgraph['tdepends'] # If a task A has a changed signature, but none of its -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:38:09 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:38:09 +0000 Subject: [oe-commits] [openembedded-core] 14/43: package_manager.py: set dnf's releasever setting from DISTRO_CODENAME In-Reply-To: <150119145067.27158.18187262855008938611@git.openembedded.org> References: <150119145067.27158.18187262855008938611@git.openembedded.org> Message-ID: <20170727213732.8CC7A234F47@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch pyro in repository openembedded-core. commit 5a97694767c76f3083e9ffeeaaa19d76ff424c83 Author: Alexander Kanavin AuthorDate: Wed Jun 21 15:58:21 2017 +0300 package_manager.py: set dnf's releasever setting from DISTRO_CODENAME So that: 1) dnf does not complain anymore about releasever not being set and then fail for the same reason; 2) it's possible to refer to $releasever in dnf package feed configuration (repo paths in particular) without hardconding the release name (pyro, morty, etc.) (From OE-Core rev: 789e3fc225adbb61f10aaa3bbc3677856f5f0238) Signed-off-by: Alexander Kanavin Signed-off-by: Ross Burton Signed-off-by: Richard Purdie Signed-off-by: Armin Kuster --- meta/lib/oe/package_manager.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/meta/lib/oe/package_manager.py b/meta/lib/oe/package_manager.py index 2795dd3..93d079d 100644 --- a/meta/lib/oe/package_manager.py +++ b/meta/lib/oe/package_manager.py @@ -494,9 +494,11 @@ class RpmPM(PackageManager): # This prevents accidental matching against libsolv's built-in policies if len(archs) <= 1: archs = archs + ["bogusarch"] - archconfdir = "%s/%s" %(self.target_rootfs, "etc/dnf/vars/") - bb.utils.mkdirhier(archconfdir) - open(archconfdir + "arch", 'w').write(":".join(archs)) + confdir = "%s/%s" %(self.target_rootfs, "etc/dnf/vars/") + bb.utils.mkdirhier(confdir) + open(confdir + "arch", 'w').write(":".join(archs)) + distro_codename = self.d.getVar('DISTRO_CODENAME') + open(confdir + "releasever", 'w').write(distro_codename if distro_codename is not None else '') open(oe.path.join(self.target_rootfs, "etc/dnf/dnf.conf"), 'w').write("") -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:38:16 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:38:16 +0000 Subject: [oe-commits] [openembedded-core] 21/43: yocto-compat-layer.py: add test_world In-Reply-To: <150119145067.27158.18187262855008938611@git.openembedded.org> References: <150119145067.27158.18187262855008938611@git.openembedded.org> Message-ID: <20170727213732.BF607234F39@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch pyro in repository openembedded-core. commit da18bea6808aaddf3fa3fe72ac7e2d87d7e78b95 Author: Patrick Ohly AuthorDate: Tue Jun 27 17:33:41 2017 +0200 yocto-compat-layer.py: add test_world "test_signatures" ignores wold build breakage for the sake of reporting differences also when a world build is broken. Therefore we need a dedicated test that a world build at least theoretically can proceed without obvious parse time problems (dependencies, parse errors, dangling .bbappends, etc.). This is similar to the BSP test_machine_world. The difference is that test_world doesn't change the MACHINE. Signed-off-by: Patrick Ohly Signed-off-by: Ross Burton Signed-off-by: Armin Kuster --- scripts/lib/compatlayer/cases/common.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/scripts/lib/compatlayer/cases/common.py b/scripts/lib/compatlayer/cases/common.py index a1cdbab..ede002d 100644 --- a/scripts/lib/compatlayer/cases/common.py +++ b/scripts/lib/compatlayer/cases/common.py @@ -26,6 +26,15 @@ class CommonCompatLayer(OECompatLayerTestCase): check_command('Layer %s failed to show environment.' % self.tc.layer['name'], 'bitbake -e') + def test_world(self): + ''' + "bitbake world" is expected to work. test_signatures does not cover that + because it is more lenient and ignores recipes in a world build that + are not actually buildable, so here we fail when "bitbake -S none world" + fails. + ''' + get_signatures(self.td['builddir'], failsafe=False) + def test_signatures(self): if self.tc.layer['type'] == LayerType.SOFTWARE and \ not self.tc.test_software_layer_signatures: -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:38:17 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:38:17 +0000 Subject: [oe-commits] [openembedded-core] 22/43: yocto-compat-layer.py: allow README with suffix In-Reply-To: <150119145067.27158.18187262855008938611@git.openembedded.org> References: <150119145067.27158.18187262855008938611@git.openembedded.org> Message-ID: <20170727213732.C786C234F3D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch pyro in repository openembedded-core. commit 0abc29f135d7f870168d9676395f3a4bb77174b8 Author: Patrick Ohly AuthorDate: Tue Jun 27 17:33:42 2017 +0200 yocto-compat-layer.py: allow README with suffix It may be useful to append a suffix denoting the file format. For example, README.rst is rendered differently when viewed on Github, and also helps editors to switch to a mode more suitable for the format. The tests uses a file pattern to find the README file(s) and treats the one with the shortest name as the main one which must not be empty. Signed-off-by: Patrick Ohly Signed-off-by: Ross Burton Signed-off-by: Armin Kuster --- scripts/lib/compatlayer/cases/common.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/scripts/lib/compatlayer/cases/common.py b/scripts/lib/compatlayer/cases/common.py index ede002d..4c8a543 100644 --- a/scripts/lib/compatlayer/cases/common.py +++ b/scripts/lib/compatlayer/cases/common.py @@ -1,6 +1,7 @@ # Copyright (C) 2017 Intel Corporation # Released under the MIT license (see COPYING.MIT) +import glob import os import unittest from compatlayer import get_signatures, LayerType, check_command, get_depgraph @@ -8,15 +9,20 @@ from compatlayer.case import OECompatLayerTestCase class CommonCompatLayer(OECompatLayerTestCase): def test_readme(self): - readme_file = os.path.join(self.tc.layer['path'], 'README') - self.assertTrue(os.path.isfile(readme_file), - msg="Layer doesn't contains README file.") + # The top-level README file may have a suffix (like README.rst or README.txt). + readme_files = glob.glob(os.path.join(self.tc.layer['path'], 'README*')) + self.assertTrue(len(readme_files) > 0, + msg="Layer doesn't contains README file.") + # There might be more than one file matching the file pattern above + # (for example, README.rst and README-COPYING.rst). The one with the shortest + # name is considered the "main" one. + readme_file = sorted(readme_files)[0] data = '' with open(readme_file, 'r') as f: data = f.read() self.assertTrue(data, - msg="Layer contains README file but is empty.") + msg="Layer contains a README file but it is empty.") def test_parse(self): check_command('Layer %s failed to parse.' % self.tc.layer['name'], -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:38:15 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:38:15 +0000 Subject: [oe-commits] [openembedded-core] 20/43: yocto-compat-layer.py: apply test_signatures to all layers In-Reply-To: <150119145067.27158.18187262855008938611@git.openembedded.org> References: <150119145067.27158.18187262855008938611@git.openembedded.org> Message-ID: <20170727213732.B7158234F3C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch pyro in repository openembedded-core. commit e4dce65ce604a74da0f09ee2742cf8b13cf96c8e Author: Patrick Ohly AuthorDate: Tue Jun 27 17:33:40 2017 +0200 yocto-compat-layer.py: apply test_signatures to all layers Software layers were previously allowed to change signatures, but that's not desired for those layers either. The rule that a layer which is "Yocto Compatible 2.0" must not change signatures unless explicitly requested holds for all kinds of layers. However, as this is something that software layers might not be able to do right away, testing for signature changes in software layers can be disabled. It's on by default, as that was Richard's recommendation. Whether that should change needs further discussion as part of finalizing "Yocto Compatible 2.0". As it might still change, the tool now has both a with/without parameter so that users of the tool can choose the desired behavior without being affected by future changes to the default. Signed-off-by: Patrick Ohly Signed-off-by: Ross Burton Signed-off-by: Armin Kuster --- scripts/lib/compatlayer/cases/common.py | 5 +++-- scripts/lib/compatlayer/context.py | 3 ++- scripts/yocto-compat-layer.py | 12 +++++++++--- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/scripts/lib/compatlayer/cases/common.py b/scripts/lib/compatlayer/cases/common.py index 2dfcbb1..a1cdbab 100644 --- a/scripts/lib/compatlayer/cases/common.py +++ b/scripts/lib/compatlayer/cases/common.py @@ -27,8 +27,9 @@ class CommonCompatLayer(OECompatLayerTestCase): 'bitbake -e') def test_signatures(self): - if self.tc.layer['type'] == LayerType.SOFTWARE: - raise unittest.SkipTest("Layer %s isn't BSP or DISTRO one." \ + if self.tc.layer['type'] == LayerType.SOFTWARE and \ + not self.tc.test_software_layer_signatures: + raise unittest.SkipTest("Not testing for signature changes in a software layer %s." \ % self.tc.layer['name']) # task -> (old signature, new signature) diff --git a/scripts/lib/compatlayer/context.py b/scripts/lib/compatlayer/context.py index 4932238..7811d4a 100644 --- a/scripts/lib/compatlayer/context.py +++ b/scripts/lib/compatlayer/context.py @@ -9,6 +9,7 @@ import re from oeqa.core.context import OETestContext class CompatLayerTestContext(OETestContext): - def __init__(self, td=None, logger=None, layer=None): + def __init__(self, td=None, logger=None, layer=None, test_software_layer_signatures=True): super(CompatLayerTestContext, self).__init__(td, logger) self.layer = layer + self.test_software_layer_signatures = test_software_layer_signatures diff --git a/scripts/yocto-compat-layer.py b/scripts/yocto-compat-layer.py index 0d5700b..ba64b4d 100755 --- a/scripts/yocto-compat-layer.py +++ b/scripts/yocto-compat-layer.py @@ -30,12 +30,12 @@ CASES_PATHS = [os.path.join(os.path.abspath(os.path.dirname(__file__)), 'lib', 'compatlayer', 'cases')] logger = scriptutils.logger_create(PROGNAME, stream=sys.stdout) -def test_layer_compatibility(td, layer): +def test_layer_compatibility(td, layer, test_software_layer_signatures): from compatlayer.context import CompatLayerTestContext logger.info("Starting to analyze: %s" % layer['name']) logger.info("----------------------------------------------------------------------") - tc = CompatLayerTestContext(td=td, logger=logger, layer=layer) + tc = CompatLayerTestContext(td=td, logger=logger, layer=layer, test_software_layer_signatures=test_software_layer_signatures) tc.loadTests(CASES_PATHS) return tc.runTests() @@ -53,6 +53,12 @@ def main(): help='List of MACHINEs to be used during testing', action='store') parser.add_argument('--additional-layers', nargs="+", help='List of additional layers to add during testing', action='store') + group = parser.add_mutually_exclusive_group() + group.add_argument('--with-software-layer-signature-check', action='store_true', dest='test_software_layer_signatures', + default=True, + help='check that software layers do not change signatures (on by default)') + group.add_argument('--without-software-layer-signature-check', action='store_false', dest='test_software_layer_signatures', + help='disable signature checking for software layers') parser.add_argument('-n', '--no-auto', help='Disable auto layer discovery', action='store_true') parser.add_argument('-d', '--debug', help='Enable debug output', @@ -173,7 +179,7 @@ def main(): layers_tested = layers_tested + 1 continue - result = test_layer_compatibility(td, layer) + result = test_layer_compatibility(td, layer, args.test_software_layer_signatures) results[layer['name']] = result results_status[layer['name']] = 'PASS' if results[layer['name']].wasSuccessful() else 'FAIL' layers_tested = layers_tested + 1 -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:38:20 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:38:20 +0000 Subject: [oe-commits] [openembedded-core] 25/43: systemd: workaround login failure on qemumips64 when 'pam' is enabled In-Reply-To: <150119145067.27158.18187262855008938611@git.openembedded.org> References: <150119145067.27158.18187262855008938611@git.openembedded.org> Message-ID: <20170727213732.DE82C234F3A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch pyro in repository openembedded-core. commit 89d53c742d3538744b892237698ffde2c9c60009 Author: Chen Qi AuthorDate: Mon Jul 17 14:30:26 2017 +0800 systemd: workaround login failure on qemumips64 when 'pam' is enabled Append " -fno-tree-switch-conversion -fno-tree-tail-merge" to FULL_OPTIMIZATION to workaround login problem on qemumips64. Otherwise, user cannot login onto the target even username and password are provided. Signed-off-by: Chen Qi Signed-off-by: Ross Burton (cherry picked from commit 35403ba3707c3c8dd94bcc557eef6f7c66696bc5) Hand applied Signed-off-by: Armin Kuster --- meta/recipes-core/systemd/systemd_232.bb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/meta/recipes-core/systemd/systemd_232.bb b/meta/recipes-core/systemd/systemd_232.bb index e54c723..25fe496 100644 --- a/meta/recipes-core/systemd/systemd_232.bb +++ b/meta/recipes-core/systemd/systemd_232.bb @@ -161,6 +161,9 @@ CFLAGS .= "${@bb.utils.contains('PACKAGECONFIG', 'valgrind', ' -DVALGRIND=1', '' # disable problematic GCC 5.2 optimizations [YOCTO #8291] FULL_OPTIMIZATION_append_arm = " -fno-schedule-insns -fno-schedule-insns2" +# Avoid login failure on qemumips64 when pam is enabled +FULL_OPTIMIZATION_append_mips64 = " -fno-tree-switch-conversion -fno-tree-tail-merge" + do_configure_prepend() { export NM="${HOST_PREFIX}gcc-nm" export AR="${HOST_PREFIX}gcc-ar" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:38:18 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:38:18 +0000 Subject: [oe-commits] [openembedded-core] 23/43: yocto-compat-layer.py: make signature check code reusable In-Reply-To: <150119145067.27158.18187262855008938611@git.openembedded.org> References: <150119145067.27158.18187262855008938611@git.openembedded.org> Message-ID: <20170727213732.CFDA9234F42@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch pyro in repository openembedded-core. commit 23939d0acb563e27a1419d3f532a47c3d6a59a3e Author: Patrick Ohly AuthorDate: Tue Jun 27 17:33:43 2017 +0200 yocto-compat-layer.py: make signature check code reusable This moves the main content of test_signature into a helper function. It can be reused by arbitrary tests that need to do a before/after signature comparison. Long-term this might even be useful in oeqa itself. Signed-off-by: Patrick Ohly Signed-off-by: Ross Burton Signed-off-by: Armin Kuster --- scripts/lib/compatlayer/__init__.py | 66 +++++++++++++++++++++++++++++++++ scripts/lib/compatlayer/cases/common.py | 62 ++----------------------------- 2 files changed, 70 insertions(+), 58 deletions(-) diff --git a/scripts/lib/compatlayer/__init__.py b/scripts/lib/compatlayer/__init__.py index 451e1de..7197e85 100644 --- a/scripts/lib/compatlayer/__init__.py +++ b/scripts/lib/compatlayer/__init__.py @@ -324,3 +324,69 @@ def get_depgraph(targets=['world'], failsafe=False): if depgraph is None: raise RuntimeError('Could not retrieve the depgraph.') return depgraph + +def compare_signatures(old_sigs, curr_sigs): + ''' + Compares the result of two get_signatures() calls. Returns None if no + problems found, otherwise a string that can be used as additional + explanation in self.fail(). + ''' + # task -> (old signature, new signature) + sig_diff = {} + for task in old_sigs: + if task in curr_sigs and \ + old_sigs[task] != curr_sigs[task]: + sig_diff[task] = (old_sigs[task], curr_sigs[task]) + + if not sig_diff: + return None + + # Beware, depgraph uses task=. whereas get_signatures() + # uses :. Need to convert sometimes. The output follows + # the convention from get_signatures() because that seems closer to + # normal bitbake output. + def sig2graph(task): + pn, taskname = task.rsplit(':', 1) + return pn + '.' + taskname + def graph2sig(task): + pn, taskname = task.rsplit('.', 1) + return pn + ':' + taskname + depgraph = get_depgraph(failsafe=True) + depends = depgraph['tdepends'] + + # If a task A has a changed signature, but none of its + # dependencies, then we need to report it because it is + # the one which introduces a change. Any task depending on + # A (directly or indirectly) will also have a changed + # signature, but we don't need to report it. It might have + # its own changes, which will become apparent once the + # issues that we do report are fixed and the test gets run + # again. + sig_diff_filtered = [] + for task, (old_sig, new_sig) in sig_diff.items(): + deps_tainted = False + for dep in depends.get(sig2graph(task), ()): + if graph2sig(dep) in sig_diff: + deps_tainted = True + break + if not deps_tainted: + sig_diff_filtered.append((task, old_sig, new_sig)) + + msg = [] + msg.append('%d signatures changed, initial differences (first hash before, second after):' % + len(sig_diff)) + for diff in sorted(sig_diff_filtered): + recipe, taskname = diff[0].rsplit(':', 1) + cmd = 'bitbake-diffsigs --task %s %s --signature %s %s' % \ + (recipe, taskname, diff[1], diff[2]) + msg.append(' %s: %s -> %s' % diff) + msg.append(' %s' % cmd) + try: + output = check_command('Determining signature difference failed.', + cmd).decode('utf-8') + except RuntimeError as error: + output = str(error) + if output: + msg.extend([' ' + line for line in output.splitlines()]) + msg.append('') + return '\n'.join(msg) diff --git a/scripts/lib/compatlayer/cases/common.py b/scripts/lib/compatlayer/cases/common.py index 4c8a543..55e8ba4 100644 --- a/scripts/lib/compatlayer/cases/common.py +++ b/scripts/lib/compatlayer/cases/common.py @@ -4,7 +4,7 @@ import glob import os import unittest -from compatlayer import get_signatures, LayerType, check_command, get_depgraph +from compatlayer import get_signatures, LayerType, check_command, get_depgraph, compare_signatures from compatlayer.case import OECompatLayerTestCase class CommonCompatLayer(OECompatLayerTestCase): @@ -47,61 +47,7 @@ class CommonCompatLayer(OECompatLayerTestCase): raise unittest.SkipTest("Not testing for signature changes in a software layer %s." \ % self.tc.layer['name']) - # task -> (old signature, new signature) - sig_diff = {} curr_sigs, _ = get_signatures(self.td['builddir'], failsafe=True) - for task in self.td['sigs']: - if task in curr_sigs and \ - self.td['sigs'][task] != curr_sigs[task]: - sig_diff[task] = (self.td['sigs'][task], curr_sigs[task]) - - if sig_diff: - # Beware, depgraph uses task=. whereas get_signatures() - # uses :. Need to convert sometimes. The output follows - # the convention from get_signatures() because that seems closer to - # normal bitbake output. - def sig2graph(task): - pn, taskname = task.rsplit(':', 1) - return pn + '.' + taskname - def graph2sig(task): - pn, taskname = task.rsplit('.', 1) - return pn + ':' + taskname - depgraph = get_depgraph(failsafe=True) - depends = depgraph['tdepends'] - - # If a task A has a changed signature, but none of its - # dependencies, then we need to report it because it is - # the one which introduces a change. Any task depending on - # A (directly or indirectly) will also have a changed - # signature, but we don't need to report it. It might have - # its own changes, which will become apparent once the - # issues that we do report are fixed and the test gets run - # again. - sig_diff_filtered = [] - for task, (old_sig, new_sig) in sig_diff.items(): - deps_tainted = False - for dep in depends.get(sig2graph(task), ()): - if graph2sig(dep) in sig_diff: - deps_tainted = True - break - if not deps_tainted: - sig_diff_filtered.append((task, old_sig, new_sig)) - - msg = [] - msg.append('Layer %s changed %d signatures, initial differences (first hash without, second with layer):' % - (self.tc.layer['name'], len(sig_diff))) - for diff in sorted(sig_diff_filtered): - recipe, taskname = diff[0].rsplit(':', 1) - cmd = 'bitbake-diffsigs --task %s %s --signature %s %s' % \ - (recipe, taskname, diff[1], diff[2]) - msg.append(' %s: %s -> %s' % diff) - msg.append(' %s' % cmd) - try: - output = check_command('Determining signature difference failed.', - cmd).decode('utf-8') - except RuntimeError as error: - output = str(error) - if output: - msg.extend([' ' + line for line in output.splitlines()]) - msg.append('') - self.fail('\n'.join(msg)) + msg = compare_signatures(self.td['sigs'], curr_sigs) + if msg is not None: + self.fail('Adding layer %s changed signatures.\n%s' % (self.tc.layer['name'], msg)) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:38:19 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:38:19 +0000 Subject: [oe-commits] [openembedded-core] 24/43: systemd: refuse to load units with errors (CVE-2017-1000082) In-Reply-To: <150119145067.27158.18187262855008938611@git.openembedded.org> References: <150119145067.27158.18187262855008938611@git.openembedded.org> Message-ID: <20170727213732.D7B1E234F43@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch pyro in repository openembedded-core. commit a6eaef0f179a341c0b96bb30aaec2d80862a11d6 Author: Ross Burton AuthorDate: Wed Jul 19 13:34:44 2017 +0100 systemd: refuse to load units with errors (CVE-2017-1000082) If a unit has a statement such as User=0day where the username exists but is strictly speaking invalid, the unit will be started as the root user instead. Backport a patch from upstream to mitigate this by refusing to start units such as this. Signed-off-by: Ross Burton Signed-off-by: Armin Kuster --- ...ragment-refuse-units-with-errors-in-certa.patch | 329 +++++++++++++++++++++ meta/recipes-core/systemd/systemd_232.bb | 1 + 2 files changed, 330 insertions(+) diff --git a/meta/recipes-core/systemd/systemd/0001-core-load-fragment-refuse-units-with-errors-in-certa.patch b/meta/recipes-core/systemd/systemd/0001-core-load-fragment-refuse-units-with-errors-in-certa.patch new file mode 100644 index 0000000..80948b2 --- /dev/null +++ b/meta/recipes-core/systemd/systemd/0001-core-load-fragment-refuse-units-with-errors-in-certa.patch @@ -0,0 +1,329 @@ +If a user is created with a strictly-speaking invalid name such as '0day' and a +unit created to run as that user, systemd rejects the username and runs the unit +as root. + +CVE: CVE-2017-1000082 +Upstream-Status: Backport +Signed-off-by: Ross Burton + +From d8e1310e1ed7b6f122bc7eb8ba061fbd088783c0 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Thu, 6 Jul 2017 13:28:19 -0400 +Subject: [PATCH] core/load-fragment: refuse units with errors in certain + directives + +If an error is encountered in any of the Exec* lines, WorkingDirectory, +SELinuxContext, ApparmorProfile, SmackProcessLabel, Service (in .socket +units), User, or Group, refuse to load the unit. If the config stanza +has support, ignore the failure if '-' is present. + +For those configuration directives, even if we started the unit, it's +pretty likely that it'll do something unexpected (like write files +in a wrong place, or with a wrong context, or run with wrong permissions, +etc). It seems better to refuse to start the unit and have the admin +clean up the configuration without giving the service a chance to mess +up stuff. + +Note that all "security" options that restrict what the unit can do +(Capabilities, AmbientCapabilities, Restrict*, SystemCallFilter, Limit*, +PrivateDevices, Protect*, etc) are _not_ treated like this. Such options are +only supplementary, and are not always available depending on the architecture +and compilation options, so unit authors have to make sure that the service +runs correctly without them anyway. + +Fixes #6237, #6277. + +Signed-off-by: Ross Burton +--- + src/core/load-fragment.c | 104 ++++++++++++++++++++++++++++------------------ + src/test/test-unit-file.c | 14 +++---- + 2 files changed, 70 insertions(+), 48 deletions(-) + +diff --git a/src/core/load-fragment.c b/src/core/load-fragment.c +index cbc826809..2047974f4 100644 +--- a/src/core/load-fragment.c ++++ b/src/core/load-fragment.c +@@ -630,20 +630,28 @@ int config_parse_exec( + + if (isempty(f)) { + /* First word is either "-" or "@" with no command. */ +- log_syntax(unit, LOG_ERR, filename, line, 0, "Empty path in command line, ignoring: \"%s\"", rvalue); +- return 0; ++ log_syntax(unit, LOG_ERR, filename, line, 0, ++ "Empty path in command line%s: \"%s\"", ++ ignore ? ", ignoring" : "", rvalue); ++ return ignore ? 0 : -ENOEXEC; + } + if (!string_is_safe(f)) { +- log_syntax(unit, LOG_ERR, filename, line, 0, "Executable path contains special characters, ignoring: %s", rvalue); +- return 0; ++ log_syntax(unit, LOG_ERR, filename, line, 0, ++ "Executable path contains special characters%s: %s", ++ ignore ? ", ignoring" : "", rvalue); ++ return ignore ? 0 : -ENOEXEC; + } + if (!path_is_absolute(f)) { +- log_syntax(unit, LOG_ERR, filename, line, 0, "Executable path is not absolute, ignoring: %s", rvalue); +- return 0; ++ log_syntax(unit, LOG_ERR, filename, line, 0, ++ "Executable path is not absolute%s: %s", ++ ignore ? ", ignoring" : "", rvalue); ++ return ignore ? 0 : -ENOEXEC; + } + if (endswith(f, "/")) { +- log_syntax(unit, LOG_ERR, filename, line, 0, "Executable path specifies a directory, ignoring: %s", rvalue); +- return 0; ++ log_syntax(unit, LOG_ERR, filename, line, 0, ++ "Executable path specifies a directory%s: %s", ++ ignore ? ", ignoring" : "", rvalue); ++ return ignore ? 0 : -ENOEXEC; + } + + if (f == firstword) { +@@ -699,7 +707,7 @@ int config_parse_exec( + if (r == 0) + break; + else if (r < 0) +- return 0; ++ return ignore ? 0 : -ENOEXEC; + + if (!GREEDY_REALLOC(n, nbufsize, nlen + 2)) + return log_oom(); +@@ -709,8 +717,10 @@ int config_parse_exec( + } + + if (!n || !n[0]) { +- log_syntax(unit, LOG_ERR, filename, line, 0, "Empty executable name or zeroeth argument, ignoring: %s", rvalue); +- return 0; ++ log_syntax(unit, LOG_ERR, filename, line, 0, ++ "Empty executable name or zeroeth argument%s: %s", ++ ignore ? ", ignoring" : "", rvalue); ++ return ignore ? 0 : -ENOEXEC; + } + + nce = new0(ExecCommand, 1); +@@ -1315,8 +1325,10 @@ int config_parse_exec_selinux_context( + + r = unit_name_printf(u, rvalue, &k); + if (r < 0) { +- log_syntax(unit, LOG_ERR, filename, line, r, "Failed to resolve specifiers, ignoring: %m"); +- return 0; ++ log_syntax(unit, LOG_ERR, filename, line, r, ++ "Failed to resolve specifiers%s: %m", ++ ignore ? ", ignoring" : ""); ++ return ignore ? 0 : -ENOEXEC; + } + + free(c->selinux_context); +@@ -1363,8 +1375,10 @@ int config_parse_exec_apparmor_profile( + + r = unit_name_printf(u, rvalue, &k); + if (r < 0) { +- log_syntax(unit, LOG_ERR, filename, line, r, "Failed to resolve specifiers, ignoring: %m"); +- return 0; ++ log_syntax(unit, LOG_ERR, filename, line, r, ++ "Failed to resolve specifiers%s: %m", ++ ignore ? ", ignoring" : ""); ++ return ignore ? 0 : -ENOEXEC; + } + + free(c->apparmor_profile); +@@ -1411,8 +1425,10 @@ int config_parse_exec_smack_process_label( + + r = unit_name_printf(u, rvalue, &k); + if (r < 0) { +- log_syntax(unit, LOG_ERR, filename, line, r, "Failed to resolve specifiers, ignoring: %m"); +- return 0; ++ log_syntax(unit, LOG_ERR, filename, line, r, ++ "Failed to resolve specifiers%s: %m", ++ ignore ? ", ignoring" : ""); ++ return ignore ? 0 : -ENOEXEC; + } + + free(c->smack_process_label); +@@ -1630,19 +1646,19 @@ int config_parse_socket_service( + + r = unit_name_printf(UNIT(s), rvalue, &p); + if (r < 0) { +- log_syntax(unit, LOG_ERR, filename, line, r, "Failed to resolve specifiers, ignoring: %s", rvalue); +- return 0; ++ log_syntax(unit, LOG_ERR, filename, line, r, "Failed to resolve specifiers: %s", rvalue); ++ return -ENOEXEC; + } + + if (!endswith(p, ".service")) { +- log_syntax(unit, LOG_ERR, filename, line, 0, "Unit must be of type service, ignoring: %s", rvalue); +- return 0; ++ log_syntax(unit, LOG_ERR, filename, line, 0, "Unit must be of type service: %s", rvalue); ++ return -ENOEXEC; + } + + r = manager_load_unit(UNIT(s)->manager, p, NULL, &error, &x); + if (r < 0) { +- log_syntax(unit, LOG_ERR, filename, line, r, "Failed to load unit %s, ignoring: %s", rvalue, bus_error_message(&error, r)); +- return 0; ++ log_syntax(unit, LOG_ERR, filename, line, r, "Failed to load unit %s: %s", rvalue, bus_error_message(&error, r)); ++ return -ENOEXEC; + } + + unit_ref_set(&s->service, x); +@@ -1893,13 +1909,13 @@ int config_parse_user_group( + + r = unit_full_printf(u, rvalue, &k); + if (r < 0) { +- log_syntax(unit, LOG_ERR, filename, line, r, "Failed to resolve unit specifiers in %s, ignoring: %m", rvalue); +- return 0; ++ log_syntax(unit, LOG_ERR, filename, line, r, "Failed to resolve unit specifiers in %s: %m", rvalue); ++ return -ENOEXEC; + } + + if (!valid_user_group_name_or_id(k)) { +- log_syntax(unit, LOG_ERR, filename, line, 0, "Invalid user/group name or numeric ID, ignoring: %s", k); +- return 0; ++ log_syntax(unit, LOG_ERR, filename, line, 0, "Invalid user/group name or numeric ID: %s", k); ++ return -ENOEXEC; + } + + n = k; +@@ -1957,19 +1973,19 @@ int config_parse_user_group_strv( + if (r == -ENOMEM) + return log_oom(); + if (r < 0) { +- log_syntax(unit, LOG_ERR, filename, line, r, "Invalid syntax, ignoring: %s", rvalue); +- break; ++ log_syntax(unit, LOG_ERR, filename, line, r, "Invalid syntax: %s", rvalue); ++ return -ENOEXEC; + } + + r = unit_full_printf(u, word, &k); + if (r < 0) { +- log_syntax(unit, LOG_ERR, filename, line, r, "Failed to resolve unit specifiers in %s, ignoring: %m", word); +- continue; ++ log_syntax(unit, LOG_ERR, filename, line, r, "Failed to resolve unit specifiers in %s: %m", word); ++ return -ENOEXEC; + } + + if (!valid_user_group_name_or_id(k)) { +- log_syntax(unit, LOG_ERR, filename, line, 0, "Invalid user/group name or numeric ID, ignoring: %s", k); +- continue; ++ log_syntax(unit, LOG_ERR, filename, line, 0, "Invalid user/group name or numeric ID: %s", k); ++ return -ENOEXEC; + } + + r = strv_push(users, k); +@@ -2128,25 +2144,28 @@ int config_parse_working_directory( + + r = unit_full_printf(u, rvalue, &k); + if (r < 0) { +- log_syntax(unit, LOG_ERR, filename, line, r, "Failed to resolve unit specifiers in working directory path '%s', ignoring: %m", rvalue); +- return 0; ++ log_syntax(unit, LOG_ERR, filename, line, r, ++ "Failed to resolve unit specifiers in working directory path '%s'%s: %m", ++ rvalue, missing_ok ? ", ignoring" : ""); ++ return missing_ok ? 0 : -ENOEXEC; + } + + path_kill_slashes(k); + + if (!utf8_is_valid(k)) { + log_syntax_invalid_utf8(unit, LOG_ERR, filename, line, rvalue); +- return 0; ++ return missing_ok ? 0 : -ENOEXEC; + } + + if (!path_is_absolute(k)) { +- log_syntax(unit, LOG_ERR, filename, line, 0, "Working directory path '%s' is not absolute, ignoring.", rvalue); +- return 0; ++ log_syntax(unit, LOG_ERR, filename, line, 0, ++ "Working directory path '%s' is not absolute%s.", ++ rvalue, missing_ok ? ", ignoring" : ""); ++ return missing_ok ? 0 : -ENOEXEC; + } + +- free_and_replace(c->working_directory, k); +- + c->working_directory_home = false; ++ free_and_replace(c->working_directory, k); + } + + c->working_directory_missing_ok = missing_ok; +@@ -4228,8 +4247,11 @@ int unit_load_fragment(Unit *u) { + return r; + + r = load_from_path(u, k); +- if (r < 0) ++ if (r < 0) { ++ if (r == -ENOEXEC) ++ log_unit_notice(u, "Unit configuration has fatal error, unit will not be started."); + return r; ++ } + + if (u->load_state == UNIT_STUB) { + SET_FOREACH(t, u->names, i) { +diff --git a/src/test/test-unit-file.c b/src/test/test-unit-file.c +index 12f48bf43..fd797b587 100644 +--- a/src/test/test-unit-file.c ++++ b/src/test/test-unit-file.c +@@ -146,7 +146,7 @@ static void test_config_parse_exec(void) { + r = config_parse_exec(NULL, "fake", 4, "section", 1, + "LValue", 0, "/RValue/ argv0 r1", + &c, u); +- assert_se(r == 0); ++ assert_se(r == -ENOEXEC); + assert_se(c1->command_next == NULL); + + log_info("/* honour_argv0 */"); +@@ -161,7 +161,7 @@ static void test_config_parse_exec(void) { + r = config_parse_exec(NULL, "fake", 3, "section", 1, + "LValue", 0, "@/RValue", + &c, u); +- assert_se(r == 0); ++ assert_se(r == -ENOEXEC); + assert_se(c1->command_next == NULL); + + log_info("/* no command, whitespace only, reset */"); +@@ -220,7 +220,7 @@ static void test_config_parse_exec(void) { + "-@/RValue argv0 r1 ; ; " + "/goo/goo boo", + &c, u); +- assert_se(r >= 0); ++ assert_se(r == -ENOEXEC); + c1 = c1->command_next; + check_execcommand(c1, "/RValue", "argv0", "r1", NULL, true); + +@@ -374,7 +374,7 @@ static void test_config_parse_exec(void) { + r = config_parse_exec(NULL, "fake", 4, "section", 1, + "LValue", 0, path, + &c, u); +- assert_se(r == 0); ++ assert_se(r == -ENOEXEC); + assert_se(c1->command_next == NULL); + } + +@@ -401,21 +401,21 @@ static void test_config_parse_exec(void) { + r = config_parse_exec(NULL, "fake", 4, "section", 1, + "LValue", 0, "/path\\", + &c, u); +- assert_se(r == 0); ++ assert_se(r == -ENOEXEC); + assert_se(c1->command_next == NULL); + + log_info("/* missing ending ' */"); + r = config_parse_exec(NULL, "fake", 4, "section", 1, + "LValue", 0, "/path 'foo", + &c, u); +- assert_se(r == 0); ++ assert_se(r == -ENOEXEC); + assert_se(c1->command_next == NULL); + + log_info("/* missing ending ' with trailing backslash */"); + r = config_parse_exec(NULL, "fake", 4, "section", 1, + "LValue", 0, "/path 'foo\\", + &c, u); +- assert_se(r == 0); ++ assert_se(r == -ENOEXEC); + assert_se(c1->command_next == NULL); + + log_info("/* invalid space between modifiers */"); +-- +2.11.0 diff --git a/meta/recipes-core/systemd/systemd_232.bb b/meta/recipes-core/systemd/systemd_232.bb index 398cb46..e54c723 100644 --- a/meta/recipes-core/systemd/systemd_232.bb +++ b/meta/recipes-core/systemd/systemd_232.bb @@ -33,6 +33,7 @@ SRC_URI += " \ file://0018-check-for-uchar.h-in-configure.patch \ file://0019-socket-util-don-t-fail-if-libc-doesn-t-support-IDN.patch \ file://0020-back-port-233-don-t-use-the-unified-hierarchy-for-the-systemd.patch \ + file://0001-core-load-fragment-refuse-units-with-errors-in-certa.patch \ " SRC_URI_append_libc-uclibc = "\ file://0002-units-Prefer-getty-to-agetty-in-console-setup-system.patch \ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:38:22 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:38:22 +0000 Subject: [oe-commits] [openembedded-core] 27/43: kernel-yocto: propagate configuration errors to bbclass In-Reply-To: <150119145067.27158.18187262855008938611@git.openembedded.org> References: <150119145067.27158.18187262855008938611@git.openembedded.org> Message-ID: <20170727213732.EBF30234F3B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch pyro in repository openembedded-core. commit 3470a3839577b99322c10f830cdaa61128ef6b16 Author: Bruce Ashfield AuthorDate: Tue Jun 13 03:26:17 2017 -0400 kernel-yocto: propagate configuration errors to bbclass As pointed out by klapperichpaul at johndeere.com, missing configuration fragments were being picked up twice, once by the tools and once by the bbclass. Unfortunately, the tools error message was being detected as configs, and hence no error was reported at all. Rather than catching the output of the tools, we can instead check the return code and propagate the error message from the tools directly to the user. [YOCTO #11649] Signed-off-by: Bruce Ashfield Signed-off-by: Ross Burton (cherry picked from commit 960652416e2390337df6d9734375d6829ceb6420) Signed-off-by: Armin Kuster --- meta/classes/kernel-yocto.bbclass | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meta/classes/kernel-yocto.bbclass b/meta/classes/kernel-yocto.bbclass index 50226f6..1ca0756 100644 --- a/meta/classes/kernel-yocto.bbclass +++ b/meta/classes/kernel-yocto.bbclass @@ -281,7 +281,8 @@ do_kernel_configme() { meta_dir=$(kgit --meta) configs="$(scc --configs -o ${meta_dir})" - if [ -z "${configs}" ]; then + if [ $? -ne 0 ]; then + bberror "${configs}" bbfatal_log "Could not find configuration queue (${meta_dir}/config.queue)" fi -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:38:21 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:38:21 +0000 Subject: [oe-commits] [openembedded-core] 26/43: recipetool: git reformat URI mangling & parameter stripped In-Reply-To: <150119145067.27158.18187262855008938611@git.openembedded.org> References: <150119145067.27158.18187262855008938611@git.openembedded.org> Message-ID: <20170727213732.E53A4234F3E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch pyro in repository openembedded-core. commit e3c832e49a9596537198a46075ed3d6794639953 Author: Stanley Cheong Kwan, Phoong AuthorDate: Wed Jul 12 17:25:45 2017 +0800 recipetool: git reformat URI mangling & parameter stripped recipetool seems to be mangling and stripping out the parameters for git URI. This will fix this issue as well as resolve the conflict of protocol parameter added by user. If a user adds their own protocol as an argument, it'll be honored. [YOCTO #11390] [YOCTO #11391] Signed-off-by: Stanley Cheong Kwan, Phoong Signed-off-by: Ross Burton (cherry picked from commit 0cd2fc8ca278ebaa76de95545eef26a07b350c8e) Signed-off-by: Armin Kuster --- scripts/lib/recipetool/create.py | 35 ++++++++++++++++++++++++++--------- 1 file changed, 26 insertions(+), 9 deletions(-) diff --git a/scripts/lib/recipetool/create.py b/scripts/lib/recipetool/create.py index 5af58a1..4de52fc 100644 --- a/scripts/lib/recipetool/create.py +++ b/scripts/lib/recipetool/create.py @@ -26,7 +26,7 @@ import logging import scriptutils from urllib.parse import urlparse, urldefrag, urlsplit import hashlib - +import bb.fetch2 logger = logging.getLogger('recipetool') tinfoil = None @@ -368,14 +368,31 @@ def reformat_git_uri(uri): '''Convert any http[s]://....git URI into git://...;protocol=http[s]''' checkuri = uri.split(';', 1)[0] if checkuri.endswith('.git') or '/git/' in checkuri or re.match('https?://github.com/[^/]+/[^/]+/?$', checkuri): - res = re.match('(http|https|ssh)://([^;]+(\.git)?)(;.*)?$', uri) - if res: - # Need to switch the URI around so that the git fetcher is used - return 'git://%s;protocol=%s%s' % (res.group(2), res.group(1), res.group(4) or '') - elif '@' in checkuri: - # Catch e.g. git at git.example.com:repo.git - return 'git://%s;protocol=ssh' % checkuri.replace(':', '/', 1) - return uri + # Appends scheme if the scheme is missing + if not '://' in uri: + uri = 'git://' + uri + scheme, host, path, user, pswd, parms = bb.fetch2.decodeurl(uri) + # Detection mechanism, this is required due to certain URL are formatter with ":" rather than "/" + # which causes decodeurl to fail getting the right host and path + if len(host.split(':')) > 1: + splitslash = host.split(':') + host = splitslash[0] + path = '/' + splitslash[1] + path + #Algorithm: + # if user is defined, append protocol=ssh or if a protocol is defined, then honor the user-defined protocol + # if no user & password is defined, check for scheme type and append the protocol with the scheme type + # finally if protocols or if the url is well-formed, do nothing and rejoin everything back to normal + # Need to repackage the arguments for encodeurl, the format is: (scheme, host, path, user, password, OrderedDict([('key', 'value')])) + if user: + if not 'protocol' in parms: + parms.update({('protocol', 'ssh')}) + elif (scheme == "http" or scheme == 'https' or scheme == 'ssh') and not ('protocol' in parms): + parms.update({('protocol', scheme)}) + # Always append 'git://' + fUrl = bb.fetch2.encodeurl(('git', host, path, user, pswd, parms)) + return fUrl + else: + return uri def is_package(url): '''Check if a URL points to a package''' -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:38:23 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:38:23 +0000 Subject: [oe-commits] [openembedded-core] 28/43: linux-yocto/4.10: update to v4.10.15 In-Reply-To: <150119145067.27158.18187262855008938611@git.openembedded.org> References: <150119145067.27158.18187262855008938611@git.openembedded.org> Message-ID: <20170727213732.F3CFB234F38@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch pyro in repository openembedded-core. commit 98bce9cfbdb1bc945eb9058b9a57696f639e149f Author: Bruce Ashfield AuthorDate: Mon May 15 08:51:38 2017 -0400 linux-yocto/4.10: update to v4.10.15 Merging the korg stable releases 4.10.10 -> 4.10.15 with the following shortlog summary: b1cff0b2ed20 Linux 4.10.15 de7b7a35c99e dm ioctl: prevent stack leak in dm ioctl call 8dee04de5def hwmon: (it87) Avoid registering the same chip on both SIO addresses ad66b968a0e5 scsi: storvsc: Workaround for virtual DVD SCSI version fc08ba650a2b Handle mismatched open calls 43c1696e5e91 timerfd: Protect the might cancel mechanism proper d08276658dee Linux 4.10.14 3adeab312a65 ftrace/x86: Fix triple fault with graph tracing and suspend-to-ram 13d970940217 cpu/hotplug: Serialize callback invocations proper bd7c4f5e1d25 net: can: usb: gs_usb: Fix buffer on stack 43a35e671f8f macsec: avoid heap overflow in skb_to_sgvec e4720b009def ceph: fix recursion between ceph_set_acl() and __ceph_setattr() 43e360377b09 nfsd: stricter decoding of write-like NFSv2/v3 ops 144180dc4736 nfsd4: minor NFSv2/v3 write decoding cleanup 86eb1d0aab0d nfsd: check for oversized NFSv2/v3 arguments b98d12a15ed1 Input: i8042 - add Clevo P650RS to the i8042 reset list 2f680d46a0b5 ASoC: intel: Fix PM and non-atomic crash in bytcr drivers bec0749254e7 p9_client_readdir() fix 67355b67b41c MIPS: Avoid BUG warning in arch_check_elf 7cb5877dc20e MIPS: cevt-r4k: Fix out-of-bounds array access 09c953f73ff0 MIPS: KGDB: Use kernel context for sleeping threads 4a71345ea6f8 ARC: [plat-eznps] Fix build error 47dbabb85ef7 scsi: return correct blkprep status code in case scsi_init_io() fails. dcb730f79d33 ALSA: seq: Don't break snd_use_lock_sync() loop by timeout 7b2b791c65d2 ALSA: firewire-lib: fix inappropriate assignment between signed/unsigned type a33e886d3f19 ALSA: oxfw: fix regression to handle Stanton SCS.1m/1d f62c45868079 ipv6: check raw payload size correctly in ioctl 466dfcd1d81a tcp: memset ca_priv data to 0 properly 04630e2ed834 ipv6: check skb->protocol before lookup for nexthop 683f8d60761c net: phy: fix auto-negotiation stall due to unavailable interrupt f9a8970e9eee net: ipv6: regenerate host route if moved to gc list e2ae71739253 macvlan: Fix device ref leak when purging bc_queue b073c2c3d40c tcp: mark skbs with SCM_TIMESTAMPING_OPT_STATS cdaf15b43bd3 tcp: fix SCM_TIMESTAMPING_OPT_STATS for normal skbs df4c4820a0b0 net/mlx5e: Fix ETHTOOL_GRXCLSRLALL handling cce19108367e net/mlx5e: Fix small packet threshold 3faae16bf93e net/mlx5: E-Switch, Correctly deal with inline mode on ConnectX-5 82aa6b2c1f19 net/mlx5: Fix driver load bad flow when having fw initializing timeout ff247bdf248a ip6mr: fix notification device destruction 9db670f71b6a netpoll: Check for skb->queue_mapping 5e54291edfb9 net: ipv6: RTF_PCPU should not be settable from userspace ee1f368e99ba gso: Validate assumption of frag_list segementation 03940f08b972 ipv6: fix source routing c52ac0687247 ipv6: sr: fix double free of skb after handling invalid SRH 3b600a30d126 dp83640: don't recieve time stamps twice a024074740e7 ipv6: sr: fix out-of-bounds access in SRH validation 7e793ce3b3e1 sh_eth: unmap DMA buffers when freeing rings c526d0869a3a net: vrf: Fix setting NLM_F_EXCL flag when adding l3mdev rule 9ca5d7e426dd net-timestamp: avoid use-after-free in ip_recv_error 0d8ef98cefae ipv6: Fix idev->addr_list corruption 29dc163a721e tcp: clear saved_syn in tcp_disconnect() 1ebfe5cf3727 sctp: listen on the sock only when it's state is listening or closed 280a7e34a987 net: ipv4: fix multipath RTM_GETROUTE behavior when iif is given c747d66b6c6f l2tp: fix PPP pseudo-wire auto-loading 2ba7cfd4f6a9 l2tp: take reference on sessions being dumped 0fbdeb789013 openvswitch: Fix ovs_flow_key_update() f9bd6b937de6 net/packet: fix overflow in check for tp_reserve 57a88382a969 net/packet: fix overflow in check for tp_frame_nr 5894337297ad l2tp: purge socket queues in the .destruct() callback 7d5eb39c0d8c l2tp: hold tunnel socket when handling control frames in l2tp_ip and l2tp_ip6 63ae30d5caa7 net/mlx5: Avoid dereferencing uninitialized pointer 4f45e887a632 bpf: improve verifier packet range checks 443fac9f2618 secure_seq: downgrade to per-host timestamp offsets a35c14672325 kcm: return immediately after copy_from_user() failure c79db30fd1b0 net: phy: handle state correctly in phy_stop_machine 693d7da388c2 net: neigh: guard against NULL solicit() method 2ec8024c5672 sparc64: Fix kernel panic due to erroneous #ifdef surrounding pmd_write() 1797e172bf10 sparc64: kern_addr_valid regression 7cf480444103 ping: implement proper locking b957be36d793 Linux 4.10.13 9254ada03382 device-dax: switch to srcu, fix rcu_read_lock() vs pte allocation 7d1c1be6c8d3 x86/mce/AMD: Give a name to MCA bank 3 when accessed with legacy MSRs 1136723a6cf0 powerpc/kprobe: Fix oops when kprobed on 'stdu' instruction a6db433483db ubi/upd: Always flush after prepared for an update a32ff3f07f9b x86/mce: Make the MCE notifier a blocking one c77e7d37ac50 mac80211: fix MU-MIMO follow-MAC mode ee9b489925a0 mac80211: reject ToDS broadcast data frames 71a3e3679e30 ubifs: Fix O_TMPFILE corner case in ubifs_link() c1cadf6af8b7 ubifs: Fix RENAME_WHITEOUT support 2745665258c3 mmc: sdhci-esdhc-imx: increase the pad I/O drive strength for DDR50 card b478c19f3de4 mmc: dw_mmc: Don't allow Runtime PM for SDIO cards 9b02ecd10cff ACPI / power: Avoid maybe-uninitialized warning 7010e15d1d22 Input: elantech - add Fujitsu Lifebook E547 to force crc_enabled 0cb760dfc75b s390/mm: fix CMMA vs KSM vs others 71766b913996 mmc: dw_mmc: silent verbose log when calling from PM context 9f8296778b61 CIFS: remove bad_network_name flag 5cd77ebf2254 cifs: Do not send echoes before Negotiate is complete 63ad4051e89c mm: prevent NR_ISOLATE_* stats from going negative 64d253367ae0 ring-buffer: Have ring_buffer_iter_empty() return true when empty eff248618a59 HID: wacom: Treat HID_DG_TOOLSERIALNUMBER as unsigned 838a281c4a17 tracing: Allocate the snapshot buffer before enabling probe 523ae2e9e39a KEYS: fix keyctl_set_reqkey_keyring() to not leak thread keyrings cc4f98410688 KEYS: Change the name of the dead type to ".dead" to prevent user access 4cbbfd6aafe1 KEYS: Disallow keyrings beginning with '.' to be joined as session keyrings 055c0a94117c Linux 4.10.12 e5349c13c7a8 virtio-console: avoid DMA from stack e0116f4d9a9a cxusb: Use a dma capable buffer also for reading b1bfb5083bfa mm: Tighten x86 /dev/mem with zeroing reads 2c4d8f20cc29 rtc: tegra: Implement clock handling a16534a33305 ACPI / EC: Use busy polling mode when GPE is not enabled 8a73a223fb70 x86/xen: Fix APIC id mismatch warning on Intel e765ef79fdf3 platform/x86: acer-wmi: setup accelerometer when machine has appropriate notify event 35549ee08285 ASoC: Intel: select DW_DMAC_CORE since it's mandatory 765c74b9cc27 dvb-usb-v2: avoid use-after-free ce5fe5a547d8 parisc: Fix get_user() for 64-bit value on 32-bit kernel aa7ca04fb26c crypto: lrw - Fix use-after-free on EINPROGRESS cb0567fc5114 crypto: ahash - Fix EINPROGRESS notification callback 102da3a73f9a crypto: xts - Fix use-after-free on EINPROGRESS 25308983eda6 crypto: algif_aead - Fix bogus request dereference in completion function a0a1e90f5057 ftrace: Fix function pid filter on instances 58bc856c41fb zram: do not use copy_page with non-page aligned address 9bf69094c2ad Revert "MIPS: Lantiq: Fix cascaded IRQ setup" 1cb293ab0236 char: lack of bool string made CONFIG_DEVPORT always on ebe4deab5c80 drm/i915/gvt: set the correct default value of CTX STATUS PTR 4bf7df7b3bd7 ftrace: Fix removing of second function probe 9b35ab51a0b4 irqchip/irq-imx-gpcv2: Fix spinlock initialization b648679070a9 cpufreq: Bring CPUs up even if cpufreq_online() failed 26052e29d6a2 pwm: rockchip: State of PWM clock should synchronize with PWM enabled state 96b121b50683 can: ifi: use correct register to read rx status 5b750d3c56e3 libnvdimm: band aid btt vs clear poison locking f0f306710e24 libnvdimm: fix reconfig_mutex, mmap_sem, and jbd2_handle lockdep splat e0d47228949e libnvdimm: fix blk free space accounting 66481ca0750d make skb_copy_datagram_msg() et.al. preserve ->msg_iter on error a99a9ff2374a new privimitive: iov_iter_revert() 939707c50352 xen, fbfront: fix connecting to backend 22113847cd11 target: Avoid mappedlun symlink creation during lun shutdown 53204334cca0 scsi: sd: Fix capacity calculation with 32-bit sector_t 24c01b369765 scsi: qla2xxx: Add fix to read correct register value for ISP82xx. 8b30ed56fa89 scsi: sd: Consider max_xfer_blocks if opt_xfer_blocks is unusable 01fb9440938a scsi: sr: Sanity check returned mode data c8270f29214c iscsi-target: Drop work-around for legacy GlobalSAN initiator 510152205d41 iscsi-target: Fix TMR reference leak during session shutdown c100de410c1e efi/fb: Avoid reconfiguration of BAR that covers the framebuffer 6b8a0080915d efi/libstub: Skip GOP with PIXEL_BLT_ONLY format ca3e0b6d6b25 parisc: fix bugs in pa_memcpy 87ad80ecdb5c ACPI / scan: Set the visited flag for all enumerated devices 122c16ccc71b acpi, nfit, libnvdimm: fix interleave set cookie calculation (64-bit comparison) 083d30d61a1a x86/vdso: Plug race between mapping and ELF header setup 90dc1120444f x86/vdso: Ensure vdso32_enabled gets set to valid values only b8cb11e01a7f x86, pmem: fix broken __copy_user_nocache cache-bypass assumptions 1a99658f083d x86/intel_rdt: Fix locking in rdtgroup_schemata_write() 565194a42052 x86/signals: Fix lower/upper bound reporting in compat siginfo c6be568a2f24 x86/efi: Don't try to reserve runtime regions 4ff9e6c2d86b perf/x86: Avoid exposing wrong/stale data in intel_pmu_lbr_read_32() 535adf24d1a7 perf annotate s390: Fix perf annotate error -95 (4.10 regression) 7869b4078ba9 Input: xpad - add support for Razer Wildcat gamepad 3f17ee38a808 CIFS: store results of cifs_reopen_file to avoid infinite wait 6e9b6937a923 CIFS: reconnect thread reschedule itself d38b12ab7b05 drm/fb-helper: Allow var->x/yres(_virtual) < fb->width/height again e97e515b7448 drm/etnaviv: fix missing unlock on error in etnaviv_gpu_submit() 3287a46c7829 drm/nouveau: initial support (display-only) for GP107 2efa4bd3b644 drm/nouveau/kms/nv50: fix double dma_fence_put() when destroying plane state b6b2448efe64 drm/nouveau/kms/nv50: fix setting of HeadSetRasterVertBlankDmi method 8418bb809e55 drm/nouveau/mmu/nv4a: use nv04 mmu rather than the nv44 one cc3c096855c6 drm/nouveau/mpeg: mthd returns true on success now 5de87d225e08 orangefs: free superblock when mount fails 5f8cde206712 zsmalloc: expand class bit 5c7de4610825 thp: fix MADV_DONTNEED vs clear soft dirty race d7847a2203a1 thp: fix MADV_DONTNEED vs. MADV_FREE race e2083153996d tcmu: Skip Data-Out blocks before gathering Data-In buffer for BIDI case acbb93eb7447 tcmu: Fix wrongly calculating of the base_command_size 1486f834e887 tcmu: Fix possible overwrite of t_data_sg's last iov[] e8339b9ddfe6 audit: make sure we don't let the retry queue grow without bounds 668e2d892499 cgroup, kthread: close race window where new kthreads can be migrated to non-root cgroups 4c031101dc08 Linux 4.10.11 2ef9c8dd6ecd dma-buf: add support for compat ioctl 10e13823b0a9 net/packet: fix overflow in check for priv area size 50d60091d294 crypto: caam - fix invalid dereference in caam_rsa_init_tfm() 41889ca0002a crypto: caam - fix RNG deinstantiation error checking 8e94a6f43dff MIPS: IRQ Stack: Fix erroneous jal to plat_irq_dispatch 4a1fe14b16c9 MIPS: Select HAVE_IRQ_EXIT_ON_IRQ_STACK 2c7235dbdd51 MIPS: Switch to the irq_stack in interrupts b21e28eafd17 MIPS: Only change $28 to thread_info if coming from user mode ece65a60793c MIPS: Stack unwinding while on IRQ stack 6b720ff376fd MIPS: Introduce irq_stack 612973c55404 rt2x00usb: do not anchor rx and tx urb's 244ff096a321 rt2x00usb: fix anchor initialization df741f77edfa nfs: flexfiles: fix kernel OOPS if MDS returns unsupported DS type f536c2058420 orangefs: fix buffer size mis-match between kernel space and user space. f20e76a469c1 orangefs: Dan Carpenter influenced cleanups... b01252079ec7 drm/i915: Do .init_clock_gating() earlier to avoid it clobbering watermarks d5b5a4d3f77f drm/i915: Avoid rcu_barrier() from reclaim paths (shrinker) de3571619eeb drm/i915: Stop using RP_DOWN_EI on Baytrail 29abfd4ee598 drm/i915: Drop support for I915_EXEC_CONSTANTS_* execbuf parameters. b364cf79fc37 drm/i915: Only enable hotplug interrupts if the display interrupts are enabled 56613bca0578 drm/i915: Reject HDMI 12bpc if the sink doesn't indicate support dba29c1139fc drm/i915: Avoid tweaking evaluation thresholds on Baytrail v3 fccb5940cc17 drm/i915: Nuke debug messages from the pipe update critical section 29a9a6a329d1 drm/i915: Store a permanent error in obj->mm.pages 432ae45238b8 drm/i915/gen9: Increase PCODE request timeout to 50ms b93cb4cc2eab drm/i915: Squelch any ktime/jiffie rounding errors for wait-ioctl ec417098e18f drm/i915/fbdev: Stop repeating tile configuration on stagnation 4f985d41bc5f drm/i915: Move updating color management to before vblank evasion a8a20aecc9c1 drm/i915: Fix forcewake active domain tracking e6925852d5b8 Linux 4.10.10 e6c5fe2374cd x86/reboot/quirks: Fix typo in ASUS EeeBook X205TA reboot quirk a148ee8f7156 usb-storage: Add ignore-residue quirk for Initio INIC-3619 118b1ef49a33 x86/reboot/quirks: Add ASUS EeeBook X205TA/W reboot quirk 2b0766deb008 x86/reboot/quirks: Add ASUS EeeBook X205TA reboot quirk 3db435d09bc3 platform/x86: asus-wmi: Detect quirk_no_rfkill from the DSDT d0331c21a1a6 watchdog: s3c2410: Fix infinite interrupt in soft mode 07371cd9ef21 PCI: Add ACS quirk for Qualcomm QDF2400 and QDF2432 e90d491bcf00 PCI: Sort the list of devices with D3 delay quirk by ID 9fd0dee94856 mmc: sdhci-of-esdhc: remove default broken-cd for ARM 8f24ffc2f9a0 PCI: Disable MSI for HiSilicon Hip06/Hip07 Root Ports f2d9c08fc9b2 PCI: Add Broadcom Northstar2 PAXC quirk for device class and MPSS 0755d2b5fe92 ARM: smccc: Update HVC comment to describe new quirk parameter 7dd05d366148 firmware: qcom: scm: Fix interrupted SCM calls cc9b9deb6197 arm: kernel: Add SMC structure parameter 2dca786b85e2 HID: wacom: don't apply generic settings to old devices 6ac0617424d4 ASoC: sun4i-i2s: Add quirks to handle a31 compatible ab0b1f481fa9 ACPI: save NVS memory for Lenovo G50-45 36426b3a31dc ASoC: Intel: cht_bsw_rt5645: add Baytrail MCLK support bdbe9135ead6 ASoC: Intel: cht_bsw_rt5645: harden ACPI device detection 88f1372e28b2 ASoC: Intel: Baytrail: add quirk for Lenovo Thinkpad 10 770049fddd84 ASoC: codecs: rt5670: add quirk for Lenovo Thinkpad 10 8d5dd97f5556 ACPI / button: Change default behavior to lid_init_state=open 53a898c2dc3b sata: ahci-da850: implement a workaround for the softreset quirk fcfd2ac4abfb PCI: xgene: Fix double free on init error c259b9b74ebc PCI: Add ACS quirk for Intel Union Point 8a4b2d4ba49c drm/mga: remove device_is_agp callback f08ae685954e usb: dwc3: host: pass quirk-broken-port-ped property for known broken revisions 41d6d9750ba3 usb: host: xhci-plat: enable BROKEN_PED quirk if platform requested 9763fee4c38d usb: xhci: add quirk flag for broken PED bits afdb6b99f54e serial: 8250_omap: Add OMAP_DMA_TX_KICK quirk for AM437x 99b4f57bffe5 usb: chipidea: msm: Rely on core to override AHBBURST f576c28172a3 ASoC: Intel: bytcr_rt5640: quirks for Insyde devices 24fdd3f90f4c drm/i915: actually drive the BDW reserved IDs 0325b5e1b637 drm/i915: more .is_mobile cleanups for BDW bb4c89250bcc drm/i915: fix INTEL_BDW_IDS definition d7f19357fe65 drm/edid: constify edid quirk list b04940e26f10 kvm: fix page struct leak in handle_vmon af7291601501 random: use chacha20 for get_random_int/long d57c764a703b mm/mempolicy.c: fix error handling in set_mempolicy and mbind. 596c2d180a96 Documentation: stable-kernel-rules: fix stable-tag format 813e1ac7259b usb: dwc3: gadget: delay unmap of bounced requests 5e87a005ff57 drm/i915/kvmgt: fix suspicious rcu dereference usage cccf8321af1c drm/i915/gvt: Fix gvt scheduler interval time fba7cfc66b25 MIPS: c-r4k: Fix Loongson-3's vcache/scache waysize calculation 42ce8ecfd141 MIPS: Flush wrong invalid FTLB entry for huge page a854a7975ce0 MIPS: Add MIPS_CPU_FTLB for Loongson-3A R2 5dc665924208 MIPS: Check TLB before handle_ri_rdhwr() for Loongson-3 464d88e8a0ad MIPS: Lantiq: fix missing xbar kernel panic 187b957634f0 MIPS: End spinlocks with .insn 0c4b9fe70343 MIPS: ralink: Fix typos in rt3883 pinctrl e09e410969ef MIPS: Force o32 fp64 support on 32bit MIPS64r6 kernels 94f3dd6b140a s390/uaccess: get_user() should zero on failure (again) 5d4d57697aa1 s390/decompressor: fix initrd corruption caused by bss clear a66f5106e710 xtensa: make __pa work with uncached KSEG addresses 36463a76abeb nios2: reserve boot memory for device tree be9fe9d48988 x86/mce: Don't print MCEs when mcelog is active fe96b265778a dm raid: fix NULL pointer dereference for raid1 without bitmap 5c67d5410bbb powerpc/crypto/crc32c-vpmsum: Fix missing preempt_disable() d625e1a1530d powerpc: Don't try to fix up misaligned load-with-reservation instructions b129e418406b powerpc/64: Fix flush_(d|i)cache_range() called from modules 12502ae4c9a1 powerpc/mm: Add missing global TLB invalidate if cxl is active 2a3134e106d4 powerpc: Disable HFSCR[TM] if TM is not supported be5569719b5c drm/msm: adreno: fix build error without debugfs 169b36bef88f metag/usercopy: Add missing fixups 191e4c735549 metag/usercopy: Fix src fixup in from user rapf loops e6ca39ac0c0d metag/usercopy: Set flags before ADDZ b03dd10e4c58 metag/usercopy: Zero rest of buffer from copy_from_user 60a0b56ea119 metag/usercopy: Add early abort to copy_to_user e61ffb12b6ac metag/usercopy: Fix alignment error checking 804453ff0993 metag/usercopy: Drop unused macros 6d855e027553 brcmfmac: use local iftype avoiding use-after-free of virtual interface 96499191fe6d mac80211: unconditionally start new netdev queues with iTXQ support ab23a82a0176 ring-buffer: Fix return value check in test_ringbuffer() 24d108e4dfec xfs: Honor FALLOC_FL_KEEP_SIZE when punching ends of files 1d656a4d8e87 orangefs: move features validation to fix filesystem hang b92a638e002b jump label: fix passing kbuild_cflags when checking for asm goto support 7b73b72fbf82 Kbuild: use cc-disable-warning consistently for maybe-uninitialized 52b38ad09a6c ACPI / scan: Prefer devices without _HID for _ADR matching e56bb92202f7 ACPI / gpio: do not fall back to parsing _CRS when we get a deferral 1c9925e63abb dm verity fec: fix bufio leaks 88c358b1f453 dm verity fec: limit error correction recursion 523a19324267 dax: fix radix tree insertion race 8bdc69ccb9f8 ptrace: fix PTRACE_LISTEN race corrupting task->state 0666cf6c9c18 mm/page_alloc.c: fix print order in show_free_areas() 674850494e19 Reset TreeId to zero on SMB2 TREE_CONNECT c793e3374981 cfg80211: check rdev resume callback only for registered wiphy b48b63d5f583 arm64: mm: unaligned access by user-land should be received as SIGBUS 3d44ecc1206e iio: bmg160: reset chip when probing 2501a0af1734 iio: st_pressure: initialize lps22hb bootime a16d8c4e8f77 iio: core: Fix IIO_VAL_FRACTIONAL_LOG2 for negative values 0d50669ca41f kvm: arm/arm64: Fix locking for kvm_free_stage2_pgd e8c3d6542edb arm/arm64: KVM: Take mmap_sem in kvm_arch_prepare_memory_region fc29073a15e8 arm/arm64: KVM: Take mmap_sem in stage2_unmap_vm fb3ce7a85213 staging: android: ashmem: lseek failed due to no FMODE_LSEEK. 38b4b8a0969d sysfs: be careful of error returns from ops->show() a709613559d6 PCI: thunder-pem: Fix legacy firmware PEM-specific resources f8709a9ec8ae PCI: thunder-pem: Add legacy firmware support for Cavium ThunderX host controller 44eed6f02491 drm/vmwgfx: fix integer overflow in vmw_surface_define_ioctl() a2d474ab560c drm/vmwgfx: Remove getparam error message 009eb75f7fb0 drm/ttm, drm/vmwgfx: Relax permission checking when opening surfaces 7a392c9a4563 drm/vmwgfx: avoid calling vzalloc with a 0 size in vmw_get_cap_3d_ioctl() 0570c0cd987f drm/vmwgfx: NULL pointer dereference in vmw_surface_define_ioctl() 3622a033c419 drm/vmwgfx: Type-check lookups of fence objects Signed-off-by: Bruce Ashfield Signed-off-by: Richard Purdie (cherry picked from commit 58063bcdb78c9434b4d36e3a73df977b64d1640f) Signed-off-by: Armin Kuster --- meta/recipes-kernel/linux/linux-yocto-rt_4.10.bb | 6 +++--- meta/recipes-kernel/linux/linux-yocto-tiny_4.10.bb | 6 +++--- meta/recipes-kernel/linux/linux-yocto_4.10.bb | 20 ++++++++++---------- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_4.10.bb b/meta/recipes-kernel/linux/linux-yocto-rt_4.10.bb index ed811fb..56362ef 100644 --- a/meta/recipes-kernel/linux/linux-yocto-rt_4.10.bb +++ b/meta/recipes-kernel/linux/linux-yocto-rt_4.10.bb @@ -11,13 +11,13 @@ python () { raise bb.parse.SkipPackage("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it") } -SRCREV_machine ?= "fe0fb8da3d633d802776081e7ff2df73ff2983f2" -SRCREV_meta ?= "ad2e885015c5bf8adeef5cb789b535fc3c0dd396" +SRCREV_machine ?= "d2c1ed3c0cbc0d8dcf429346f7ab2e96d470b504" +SRCREV_meta ?= "4d929fac3411d03f021c04b8e45d4067e433ca26" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.10.git;branch=${KBRANCH};name=machine \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.10;destsuffix=${KMETA}" -LINUX_VERSION ?= "4.10.9" +LINUX_VERSION ?= "4.10.15" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_4.10.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_4.10.bb index 61e680a..52084d8 100644 --- a/meta/recipes-kernel/linux/linux-yocto-tiny_4.10.bb +++ b/meta/recipes-kernel/linux/linux-yocto-tiny_4.10.bb @@ -4,13 +4,13 @@ KCONFIG_MODE = "--allnoconfig" require recipes-kernel/linux/linux-yocto.inc -LINUX_VERSION ?= "4.10.9" +LINUX_VERSION ?= "4.10.15" KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" -SRCREV_machine ?= "fe0fb8da3d633d802776081e7ff2df73ff2983f2" -SRCREV_meta ?= "ad2e885015c5bf8adeef5cb789b535fc3c0dd396" +SRCREV_machine ?= "d2c1ed3c0cbc0d8dcf429346f7ab2e96d470b504" +SRCREV_meta ?= "4d929fac3411d03f021c04b8e45d4067e433ca26" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/meta/recipes-kernel/linux/linux-yocto_4.10.bb b/meta/recipes-kernel/linux/linux-yocto_4.10.bb index 2ef6a31..e8cfb53 100644 --- a/meta/recipes-kernel/linux/linux-yocto_4.10.bb +++ b/meta/recipes-kernel/linux/linux-yocto_4.10.bb @@ -11,20 +11,20 @@ KBRANCH_qemux86 ?= "standard/base" KBRANCH_qemux86-64 ?= "standard/base" KBRANCH_qemumips64 ?= "standard/mti-malta64" -SRCREV_machine_qemuarm ?= "718b0a546417a51a186179d5277713f301e1d7c9" -SRCREV_machine_qemuarm64 ?= "fe0fb8da3d633d802776081e7ff2df73ff2983f2" -SRCREV_machine_qemumips ?= "a803c18e328080eb9acc71510df3b7567bd87578" -SRCREV_machine_qemuppc ?= "fe0fb8da3d633d802776081e7ff2df73ff2983f2" -SRCREV_machine_qemux86 ?= "fe0fb8da3d633d802776081e7ff2df73ff2983f2" -SRCREV_machine_qemux86-64 ?= "fe0fb8da3d633d802776081e7ff2df73ff2983f2" -SRCREV_machine_qemumips64 ?= "97b912becdd8322f4e7f45dfe79e37fc5ea35f88" -SRCREV_machine ?= "fe0fb8da3d633d802776081e7ff2df73ff2983f2" -SRCREV_meta ?= "ad2e885015c5bf8adeef5cb789b535fc3c0dd396" +SRCREV_machine_qemuarm ?= "ebb58e37143db15fe1b6712487f66b0d2ccb54e1" +SRCREV_machine_qemuarm64 ?= "d2c1ed3c0cbc0d8dcf429346f7ab2e96d470b504" +SRCREV_machine_qemumips ?= "c79214a4c66138478d88f9955fae35a56390f8c9" +SRCREV_machine_qemuppc ?= "d2c1ed3c0cbc0d8dcf429346f7ab2e96d470b504" +SRCREV_machine_qemux86 ?= "d2c1ed3c0cbc0d8dcf429346f7ab2e96d470b504" +SRCREV_machine_qemux86-64 ?= "d2c1ed3c0cbc0d8dcf429346f7ab2e96d470b504" +SRCREV_machine_qemumips64 ?= "229abf6f63652058db1308a0c07e59652d3e6a23" +SRCREV_machine ?= "d2c1ed3c0cbc0d8dcf429346f7ab2e96d470b504" +SRCREV_meta ?= "4d929fac3411d03f021c04b8e45d4067e433ca26" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.10.git;name=machine;branch=${KBRANCH}; \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.10;destsuffix=${KMETA}" -LINUX_VERSION ?= "4.10.9" +LINUX_VERSION ?= "4.10.15" PV = "${LINUX_VERSION}+git${SRCPV}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:38:24 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:38:24 +0000 Subject: [oe-commits] [openembedded-core] 29/43: linux-yocto/4.4: update to v4.4.67 In-Reply-To: <150119145067.27158.18187262855008938611@git.openembedded.org> References: <150119145067.27158.18187262855008938611@git.openembedded.org> Message-ID: <20170727213733.06E5D234F3F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch pyro in repository openembedded-core. commit 2a427e642027cdd2e222ded8df252d74a7427159 Author: Bruce Ashfield AuthorDate: Mon May 15 08:51:39 2017 -0400 linux-yocto/4.4: update to v4.4.67 Integrating the korg v4.4.61 -> 4.4.67 releases with the following commit summary: dec1dc2a0ee8 Linux 4.4.67 3b9983bb354e dm ioctl: prevent stack leak in dm ioctl call da1ce38aaac7 nfsd: stricter decoding of write-like NFSv2/v3 ops 35e13333c217 nfsd4: minor NFSv2/v3 write decoding cleanup 16fb859f9b2b ext4/fscrypto: avoid RCU lookup in d_revalidate 41948f88a521 ext4 crypto: use dget_parent() in ext4_d_revalidate() 2faff9d1dfc5 ext4 crypto: revalidate dentry after adding or removing the key e2968fb8e798 ext4: require encryption feature for EXT4_IOC_SET_ENCRYPTION_POLICY fee1f42b961e IB/ehca: fix maybe-uninitialized warnings 56cd2ed3e25a IB/qib: rename BITS_PER_PAGE to RVT_BITS_PER_PAGE a8d47b4b3cb6 netlink: Allow direct reclaim for fallback allocation 35c9bfa51154 8250_pci: Fix potential use-after-free in error path 6f81dea4037c scsi: cxlflash: Improve EEH recovery time 24d17d7853fa scsi: cxlflash: Fix to avoid EEH and host reset collisions 69a9e016f0cc scsi: cxlflash: Scan host only after the port is ready for I/O ec2170f98f9a net: tg3: avoid uninitialized variable warning fd79e4363258 mtd: avoid stack overflow in MTD CFI code ee6b88767e87 drbd: avoid redefinition of BITS_PER_PAGE 938206b8d798 ALSA: ppc/awacs: shut up maybe-uninitialized warning a2b3b19acfde ASoC: intel: Fix PM and non-atomic crash in bytcr drivers 6c106b55eb47 Handle mismatched open calls 911bd54922cd timerfd: Protect the might cancel mechanism proper 0c49a2c16ca9 Linux 4.4.66 9c4a4755d9c5 ftrace/x86: Fix triple fault with graph tracing and suspend-to-ram 1aefe328a68d ARCv2: save r30 on kernel entry as gcc uses it for code-gen 82a0d8aabe04 nfsd: check for oversized NFSv2/v3 arguments 2032eebe2384 Input: i8042 - add Clevo P650RS to the i8042 reset list 91ce8d13faeb p9_client_readdir() fix 3bf0809930b8 MIPS: Avoid BUG warning in arch_check_elf 1c26c382c9e7 MIPS: KGDB: Use kernel context for sleeping threads 555f77106f77 ALSA: seq: Don't break snd_use_lock_sync() loop by timeout 8cbaf11c5026 ALSA: firewire-lib: fix inappropriate assignment between signed/unsigned type 5e52fffbb11c ipv6: check raw payload size correctly in ioctl befb92542439 ipv6: check skb->protocol before lookup for nexthop 114f0c66dab4 macvlan: Fix device ref leak when purging bc_queue bdeb026dfd9f ip6mr: fix notification device destruction 25c104023372 netpoll: Check for skb->queue_mapping f6b94906b414 net: ipv6: RTF_PCPU should not be settable from userspace f6b34b1709ac dp83640: don't recieve time stamps twice 78c4e3d4848d tcp: clear saved_syn in tcp_disconnect() 52e33b4e505d sctp: listen on the sock only when it's state is listening or closed cc5a5c09d32b net: ipv4: fix multipath RTM_GETROUTE behavior when iif is given 593e185eaade l2tp: fix PPP pseudo-wire auto-loading f710dbd92b27 l2tp: take reference on sessions being dumped 25adf4e32a89 net/packet: fix overflow in check for tp_reserve cf71bd41f809 net/packet: fix overflow in check for tp_frame_nr 8625dfcfd338 l2tp: purge socket queues in the .destruct() callback 0e9eeb4676a7 net: phy: handle state correctly in phy_stop_machine 428b3cefab22 net: neigh: guard against NULL solicit() method 592d0e60a2b7 sparc64: Fix kernel panic due to erroneous #ifdef surrounding pmd_write() 80ec183214e8 sparc64: kern_addr_valid regression c583862e95d2 xen/x86: don't lose event interrupts 5709321fd962 usb: gadget: f_midi: Fixed a bug when buflen was smaller than wMaxPacketSize 3e19487b9bf5 regulator: core: Clear the supply pointer if enabling fails 804605eae410 RDS: Fix the atomicity for congestion map update b9baa0aa66ce net_sched: close another race condition in tcf_mirred_release() 1d1cb762524f net: cavium: liquidio: Avoid dma_unmap_single on uninitialized ndata 2907c91c9f9a MIPS: Fix crash registers on non-crashing CPUs 49b2fe4b0207 md:raid1: fix a dead loop when read from a WriteMostly disk 28320756e78b ext4: check if in-inode xattr is corrupted in ext4_expand_extra_isize_ea() 99e96ce5e315 drm/amdgpu: fix array out of bounds 10fc325c03d2 crypto: testmgr - fix out of bound read in __test_aead() 40a55e4f9401 clk: sunxi: Add apb0 gates for H3 531be60fc580 ARM: OMAP2+: timer: add probe for clocksources bd2d6cb00d1a xc2028: unlock on error in xc2028_set_config() 716bcfeb12b8 f2fs: do more integrity verification for superblock 418b99042b87 Linux 4.4.65 416bd4a366f3 perf/core: Fix concurrent sys_perf_event_open() vs. 'move_group' race b7f47c794bc4 ping: implement proper locking a7544fdd1626 staging/android/ion : fix a race condition in the ion driver d23ef85b123d vfio/pci: Fix integer overflows, bitmask check 65d30f7545ff tipc: check minimum bearer MTU 9540baadb61b netfilter: nfnetlink: correctly validate length of batch messages 0d9dac5d7cc3 xc2028: avoid use after free c50fd34e1089 mnt: Add a per mount namespace limit on the number of mounts 59e0cd110fb9 tipc: fix socket timer deadlock abc025d1e88a tipc: fix random link resets while adding a second bearer d39cb4a59729 gfs2: avoid uninitialized variable warning 9a35bc2ae545 hostap: avoid uninitialized variable use in hfa384x_get_rid 58f80ccf09c4 tty: nozomi: avoid a harmless gcc warning 2847736f563d tipc: correct error in node fsm 76ca3053f32c tipc: re-enable compensation for socket receive buffer double counting 3f3155904308 tipc: make dist queue pernet 44b3b7e06887 tipc: make sure IPv6 header fits in skb headroom 12f4e1f54a13 Linux 4.4.64 6862fa9077de tipc: fix crash during node removal 6ddbac9aa800 block: fix del_gendisk() vs blkdev_ioctl crash d1cc3cdd39e9 x86, pmem: fix broken __copy_user_nocache cache-bypass assumptions 5693f3fb5a66 hv: don't reset hv_context.tsc_page on crash 03e2fb9b5ce8 Drivers: hv: balloon: account for gaps in hot add regions 8e7a6dbc3b71 Drivers: hv: balloon: keep track of where ha_region starts 397488e09bf2 Tools: hv: kvp: ensure kvp device fd is closed on exec 2a60bb635236 kvm: arm/arm64: Fix locking for kvm_free_stage2_pgd e2587fba9911 x86/mce/AMD: Give a name to MCA bank 3 when accessed with legacy MSRs 6c107bba66dc powerpc/kprobe: Fix oops when kprobed on 'stdu' instruction 38be91ce7ea8 ubi/upd: Always flush after prepared for an update b812c69019e4 mac80211: reject ToDS broadcast data frames b74ba9dd91e5 mmc: sdhci-esdhc-imx: increase the pad I/O drive strength for DDR50 card 6986d0d29f3c ACPI / power: Avoid maybe-uninitialized warning cdede60d6a30 Input: elantech - add Fujitsu Lifebook E547 to force crc_enabled 8d5ed79fb2d7 VSOCK: Detach QP check should filter out non matching QPs. f803416632b5 Drivers: hv: vmbus: Reduce the delay between retries in vmbus_post_msg() 567dd48c4e71 Drivers: hv: get rid of timeout in vmbus_open() 5ab982a01201 Drivers: hv: don't leak memory in vmbus_establish_gpadl() 702db976b857 s390/mm: fix CMMA vs KSM vs others 859d615b5be1 CIFS: remove bad_network_name flag f8fe51c86583 cifs: Do not send echoes before Negotiate is complete a2a67e53f92f ring-buffer: Have ring_buffer_iter_empty() return true when empty 1dfb1c7bd63f tracing: Allocate the snapshot buffer before enabling probe c9460fbceb2f KEYS: fix keyctl_set_reqkey_keyring() to not leak thread keyrings eb78d9877579 KEYS: Change the name of the dead type to ".dead" to prevent user access b5737b92560e KEYS: Disallow keyrings beginning with '.' to be joined as session keyrings 81af21fe95ba Linux 4.4.63 d00557976676 MIPS: fix Select HAVE_IRQ_EXIT_ON_IRQ_STACK patch. e2f5fb9207a6 sctp: deny peeloff operation on asocs with threads sleeping on it f00f18ebb3b2 net: ipv6: check route protocol when deleting routes 990a142ee0d3 tty/serial: atmel: RS485 half duplex w/DMA: enable RX after TX is done 8dc821b9f67d SUNRPC: fix refcounting problems with auth_gss messages. 403a728d1a35 ibmveth: calculate gso_segs for large packets 65596042c3af catc: Use heap buffer for memory size test 40531b26bade catc: Combine failure cleanup code in catc_probe() a90604be51de rtl8150: Use heap buffers for all register access be570e556dee pegasus: Use heap buffers for all register access eb5267657d85 virtio-console: avoid DMA from stack 6be431f91632 dvb-usb-firmware: don't do DMA on stack 502157457f52 dvb-usb: don't use stack for firmware load 6739cc12f3db mm: Tighten x86 /dev/mem with zeroing reads ba02781392fa rtc: tegra: Implement clock handling ccf0904c49b1 platform/x86: acer-wmi: setup accelerometer when machine has appropriate notify event 51f8d95c89b4 ext4: fix inode checksum calculation problem if i_extra_size is small 0cb03b6e7086 dvb-usb-v2: avoid use-after-free ea6d8d67001a ath9k: fix NULL pointer dereference 2673d1c5122e crypto: ahash - Fix EINPROGRESS notification callback 70e55aaf9f8c powerpc: Disable HFSCR[TM] if TM is not supported 9286385a3452 zram: do not use copy_page with non-page aligned address c1fc1d2f214e kvm: fix page struct leak in handle_vmon 98c953a0a51f Revert "MIPS: Lantiq: Fix cascaded IRQ setup" a32c5331b462 char: lack of bool string made CONFIG_DEVPORT always on 0a6aa0d1cf27 char: Drop bogus dependency of DEVPORT on !M68K 7fe57118a7c0 ftrace: Fix removing of second function probe c51451e43bf1 irqchip/irq-imx-gpcv2: Fix spinlock initialization 66b531d3ff11 libnvdimm: fix reconfig_mutex, mmap_sem, and jbd2_handle lockdep splat 6058cf9929d9 xen, fbfront: fix connecting to backend b689dfbed8c8 scsi: sd: Fix capacity calculation with 32-bit sector_t 448961955592 scsi: sd: Consider max_xfer_blocks if opt_xfer_blocks is unusable 925adae6664c scsi: sr: Sanity check returned mode data 1e1de2e841e1 iscsi-target: Drop work-around for legacy GlobalSAN initiator 05c5dd75d77c iscsi-target: Fix TMR reference leak during session shutdown 074bcc1302fd acpi, nfit, libnvdimm: fix interleave set cookie calculation (64-bit comparison) ec3978e10ecc x86/vdso: Plug race between mapping and ELF header setup f1c5d0163586 x86/vdso: Ensure vdso32_enabled gets set to valid values only f42be33fe976 perf/x86: Avoid exposing wrong/stale data in intel_pmu_lbr_read_32() a5e2f803b891 Input: xpad - add support for Razer Wildcat gamepad f0899d0e1e9e CIFS: store results of cifs_reopen_file to avoid infinite wait a11ab9dd4b78 drm/nouveau/mmu/nv4a: use nv04 mmu rather than the nv44 one a737abe4d09a drm/nouveau/mpeg: mthd returns true on success now ef4c962825c0 thp: fix MADV_DONTNEED vs clear soft dirty race 3144d81a7735 cgroup, kthread: close race window where new kthreads can be migrated to non-root cgroups a80c068fbf43 Linux 4.4.62 7d170f270a95 ibmveth: set correct gso_size and gso_type ac0cbfbb1e4b net/mlx4_core: Fix when to save some qp context flags for dynamic VST to VGT transitions 710f793a15de net/mlx4_core: Fix racy CQ (Completion Queue) free f1e6b1149e49 net/mlx4_en: Fix bad WQE issue 0a007f74b826 usb: hub: Wait for connection to be reestablished after port reset f4522e36edaa blk-mq: Avoid memory reclaim when remapping queues d35f8fa0b93e net/packet: fix overflow in check for priv area size fd8bae310684 crypto: caam - fix RNG deinstantiation error checking ba7681e4eee6 MIPS: IRQ Stack: Fix erroneous jal to plat_irq_dispatch f017e58da4ab MIPS: Select HAVE_IRQ_EXIT_ON_IRQ_STACK b39b26381668 MIPS: Switch to the irq_stack in interrupts 93a82f8dbef8 MIPS: Only change $28 to thread_info if coming from user mode 336365351285 MIPS: Stack unwinding while on IRQ stack d8b8b5528ea5 MIPS: Introduce irq_stack 5a527d80836e mtd: bcm47xxpart: fix parsing first block after aligned TRX 297f55bcb62a usb: dwc3: gadget: delay unmap of bounced requests 8cfaf0ae1f56 drm/i915: Stop using RP_DOWN_EI on Baytrail cb0a2cba62d5 drm/i915: Avoid tweaking evaluation thresholds on Baytrail v3 Signed-off-by: Bruce Ashfield Signed-off-by: Richard Purdie (cherry picked from commit 34e53af8ed9d27ab010e57bcc08dee6f333da9fd) Signed-off-by: Armin Kuster --- meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb | 6 +++--- meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb | 6 +++--- meta/recipes-kernel/linux/linux-yocto_4.4.bb | 20 ++++++++++---------- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb b/meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb index 660ad8a..e92010c 100644 --- a/meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb +++ b/meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb @@ -11,13 +11,13 @@ python () { raise bb.parse.SkipPackage("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it") } -SRCREV_machine ?= "1af95315c6ab3672c8c7191873ef041a6c29ad70" -SRCREV_meta ?= "d6733af2080f8c0775569adc0826eb0c8954fc5e" +SRCREV_machine ?= "cb23b8e3ce0ad77acb717e249b4821c8350f1c83" +SRCREV_meta ?= "db18675035528619e366d71de17bb84c2b9804c5" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.4.git;branch=${KBRANCH};name=machine \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.4;destsuffix=${KMETA}" -LINUX_VERSION ?= "4.4.60" +LINUX_VERSION ?= "4.4.67" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb index 04f719c..dbcf638 100644 --- a/meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb +++ b/meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb @@ -4,13 +4,13 @@ KCONFIG_MODE = "--allnoconfig" require recipes-kernel/linux/linux-yocto.inc -LINUX_VERSION ?= "4.4.60" +LINUX_VERSION ?= "4.4.67" KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" -SRCREV_machine ?= "0298d3765a5c474ff5776284d49111276510d4b4" -SRCREV_meta ?= "d6733af2080f8c0775569adc0826eb0c8954fc5e" +SRCREV_machine ?= "98b9340a7858f786f5ff7d50021ef83eaad0613d" +SRCREV_meta ?= "db18675035528619e366d71de17bb84c2b9804c5" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/meta/recipes-kernel/linux/linux-yocto_4.4.bb b/meta/recipes-kernel/linux/linux-yocto_4.4.bb index d0eed65..f3f7f5e 100644 --- a/meta/recipes-kernel/linux/linux-yocto_4.4.bb +++ b/meta/recipes-kernel/linux/linux-yocto_4.4.bb @@ -11,20 +11,20 @@ KBRANCH_qemux86 ?= "standard/base" KBRANCH_qemux86-64 ?= "standard/base" KBRANCH_qemumips64 ?= "standard/mti-malta64" -SRCREV_machine_qemuarm ?= "7d2a3c70d62f1e7f4eba571c49ff299db2bb3829" -SRCREV_machine_qemuarm64 ?= "0298d3765a5c474ff5776284d49111276510d4b4" -SRCREV_machine_qemumips ?= "6100965a51cf6b99f57cf8234aa982beb79455c9" -SRCREV_machine_qemuppc ?= "0298d3765a5c474ff5776284d49111276510d4b4" -SRCREV_machine_qemux86 ?= "0298d3765a5c474ff5776284d49111276510d4b4" -SRCREV_machine_qemux86-64 ?= "0298d3765a5c474ff5776284d49111276510d4b4" -SRCREV_machine_qemumips64 ?= "522e709fd7088e1a55e7a4708b1a07caa2ca4336" -SRCREV_machine ?= "0298d3765a5c474ff5776284d49111276510d4b4" -SRCREV_meta ?= "d6733af2080f8c0775569adc0826eb0c8954fc5e" +SRCREV_machine_qemuarm ?= "114f5a4f97fe44ac95c3e0ed370bd932b9296510" +SRCREV_machine_qemuarm64 ?= "98b9340a7858f786f5ff7d50021ef83eaad0613d" +SRCREV_machine_qemumips ?= "b0b3b8012a49293e98ba7601af03ee2e02ddbc85" +SRCREV_machine_qemuppc ?= "98b9340a7858f786f5ff7d50021ef83eaad0613d" +SRCREV_machine_qemux86 ?= "98b9340a7858f786f5ff7d50021ef83eaad0613d" +SRCREV_machine_qemux86-64 ?= "98b9340a7858f786f5ff7d50021ef83eaad0613d" +SRCREV_machine_qemumips64 ?= "a9b8241a0c0e7626baba529abb4940831ff3a83e" +SRCREV_machine ?= "98b9340a7858f786f5ff7d50021ef83eaad0613d" +SRCREV_meta ?= "db18675035528619e366d71de17bb84c2b9804c5" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.4.git;name=machine;branch=${KBRANCH}; \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.4;destsuffix=${KMETA}" -LINUX_VERSION ?= "4.4.60" +LINUX_VERSION ?= "4.4.67" PV = "${LINUX_VERSION}+git${SRCPV}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:38:25 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:38:25 +0000 Subject: [oe-commits] [openembedded-core] 30/43: linux-yocto/4.9: update to v4.9.27 In-Reply-To: <150119145067.27158.18187262855008938611@git.openembedded.org> References: <150119145067.27158.18187262855008938611@git.openembedded.org> Message-ID: <20170727213733.0E3C6234F40@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch pyro in repository openembedded-core. commit dcaa696022f8891d4db8733272eabf40f595b89b Author: Bruce Ashfield AuthorDate: Mon May 15 08:51:40 2017 -0400 linux-yocto/4.9: update to v4.9.27 Integrating the korg v4.9.22 -> .27 releases with the following shortlog summary: 89f3b8d5f264 Linux 4.9.27 a0d50c80a29e dm ioctl: prevent stack leak in dm ioctl call 7ad6de43deda cpu/hotplug: Serialize callback invocations proper e99b0ea39354 ceph: try getting buffer capability for readahead/fadvise 1bf9bc481338 8250_pci: Fix potential use-after-free in error path 3fbd2ba1da3f hwmon: (it87) Avoid registering the same chip on both SIO addresses d24261e567e1 scsi: storvsc: Workaround for virtual DVD SCSI version 1b7f385e049c tpm_tis: use default timeout value if chip reports it as zero d8fd99d4721d Handle mismatched open calls 00cca9768ebe timerfd: Protect the might cancel mechanism proper d071951e08ee Linux 4.9.26 6d10a6cfe85e ftrace/x86: Fix triple fault with graph tracing and suspend-to-ram 9cbf4337a51d ARCv2: save r30 on kernel entry as gcc uses it for code-gen 4684be169a67 net: can: usb: gs_usb: Fix buffer on stack 07389a140f48 macsec: avoid heap overflow in skb_to_sgvec 36e0be3187c2 ceph: fix recursion between ceph_set_acl() and __ceph_setattr() d7809b9e99bb nfsd: stricter decoding of write-like NFSv2/v3 ops 8ed0797966fd nfsd4: minor NFSv2/v3 write decoding cleanup fc6445df466f nfsd: check for oversized NFSv2/v3 arguments b88e4113250d Input: i8042 - add Clevo P650RS to the i8042 reset list 990afef90e08 ASoC: intel: Fix PM and non-atomic crash in bytcr drivers b2b93bbeec2d p9_client_readdir() fix 92f0ddece7da MIPS: Avoid BUG warning in arch_check_elf 6fbb6c02df30 MIPS: cevt-r4k: Fix out-of-bounds array access 4805f8a8a2f6 MIPS: KGDB: Use kernel context for sleeping threads 563300b9ff7f ARC: [plat-eznps] Fix build error 59f83369d44c ALSA: seq: Don't break snd_use_lock_sync() loop by timeout 26b9b1565baf ALSA: firewire-lib: fix inappropriate assignment between signed/unsigned type 827faa2e4ef7 ALSA: oxfw: fix regression to handle Stanton SCS.1m/1d b1fc1b057b8e ipv6: check raw payload size correctly in ioctl 1dc1b7b50866 tcp: memset ca_priv data to 0 properly df1926123f0c ipv6: check skb->protocol before lookup for nexthop ae6a762dcdf0 net: phy: fix auto-negotiation stall due to unavailable interrupt 62817c314af3 net: ipv6: regenerate host route if moved to gc list ae88c43c019f macvlan: Fix device ref leak when purging bc_queue 7bf657201c21 net/mlx5e: Fix ETHTOOL_GRXCLSRLALL handling c3215c31ef5c net/mlx5e: Fix small packet threshold 03641c4ded85 net/mlx5: Fix driver load bad flow when having fw initializing timeout b2440a5d3e25 ip6mr: fix notification device destruction 291e60458ddf netpoll: Check for skb->queue_mapping 94e5670c933d net: ipv6: RTF_PCPU should not be settable from userspace 7ab89b176b7a gso: Validate assumption of frag_list segementation fcbf5a71a646 dp83640: don't recieve time stamps twice e344e97fb359 sh_eth: unmap DMA buffers when freeing rings b4580d6f10a3 net: vrf: Fix setting NLM_F_EXCL flag when adding l3mdev rule 8c04e2acd537 net-timestamp: avoid use-after-free in ip_recv_error c86872a43400 ipv6: Fix idev->addr_list corruption 479beb4c6554 tcp: clear saved_syn in tcp_disconnect() 02f04309673e sctp: listen on the sock only when it's state is listening or closed dbaaa5890df7 net: ipv4: fix multipath RTM_GETROUTE behavior when iif is given 425cc775d18a l2tp: fix PPP pseudo-wire auto-loading b7902607693f l2tp: take reference on sessions being dumped 1f49c8cd2c9a net/packet: fix overflow in check for tp_reserve 10452124bac3 net/packet: fix overflow in check for tp_frame_nr 3ae0fc950603 l2tp: purge socket queues in the .destruct() callback 59bc404b3829 l2tp: hold tunnel socket when handling control frames in l2tp_ip and l2tp_ip6 501299e64381 net/mlx5: Avoid dereferencing uninitialized pointer 0ea3c235779a bpf: improve verifier packet range checks d60d4e8c1b73 kcm: return immediately after copy_from_user() failure c63d6180076b net: phy: handle state correctly in phy_stop_machine 4f99161f2ec5 net: neigh: guard against NULL solicit() method 512d211207df sparc64: Fix kernel panic due to erroneous #ifdef surrounding pmd_write() 24870a79dad6 sparc64: kern_addr_valid regression e88a8e0a23c2 ping: implement proper locking 7c80a91b8877 Revert "mmc: sdhci-msm: Enable few quirks" a8c90ef62281 Linux 4.9.25 c36eaa6ca346 device-dax: switch to srcu, fix rcu_read_lock() vs pte allocation f8bc0881fe95 x86/mce: Make the MCE notifier a blocking one 6966a6579e1b x86/mce/AMD: Give a name to MCA bank 3 when accessed with legacy MSRs 1bd55ab13039 powerpc/kprobe: Fix oops when kprobed on 'stdu' instruction 790b2b5a01ce ubi/upd: Always flush after prepared for an update 87cfeaa5e5a1 mac80211: fix MU-MIMO follow-MAC mode e0411f1eb549 mac80211: reject ToDS broadcast data frames b93858556fd1 ubifs: Fix O_TMPFILE corner case in ubifs_link() a260ff509b4d ubifs: Fix RENAME_WHITEOUT support 9fc131428536 mmc: sdhci-esdhc-imx: increase the pad I/O drive strength for DDR50 card 4420e5f323c4 ACPI / power: Avoid maybe-uninitialized warning 11ba522d7929 Input: elantech - add Fujitsu Lifebook E547 to force crc_enabled 3d42ca46f47a s390/mm: fix CMMA vs KSM vs others f79ef57911ee CIFS: remove bad_network_name flag 0b7c97066341 cifs: Do not send echoes before Negotiate is complete c0a602ad31ee mm: prevent NR_ISOLATE_* stats from going negative d80e90712a50 ring-buffer: Have ring_buffer_iter_empty() return true when empty d4decac1edaa tracing: Allocate the snapshot buffer before enabling probe 174a74dbca2d KEYS: fix keyctl_set_reqkey_keyring() to not leak thread keyrings b2dd90e812f3 KEYS: Change the name of the dead type to ".dead" to prevent user access a5c6e0a76817 KEYS: Disallow keyrings beginning with '.' to be joined as session keyrings 2f5e58ec793f Linux 4.9.24 35b9d61ea910 sctp: deny peeloff operation on asocs with threads sleeping on it c67c2be735b1 net: ipv6: check route protocol when deleting routes 86c6667f6a5f virtio-console: avoid DMA from stack fb00319317c1 cxusb: Use a dma capable buffer also for reading 28d1e8b7ef81 dvb-usb-firmware: don't do DMA on stack 36b62c08e72b dvb-usb: don't use stack for firmware load 2c0ad235ac77 mm: Tighten x86 /dev/mem with zeroing reads ef793e6e1134 rtc: tegra: Implement clock handling 0dd962118a20 ACPI / EC: Use busy polling mode when GPE is not enabled c07479f4b10a x86/xen: Fix APIC id mismatch warning on Intel 03470ba96a96 platform/x86: acer-wmi: setup accelerometer when machine has appropriate notify event a6ca4946676b ASoC: Intel: select DW_DMAC_CORE since it's mandatory 25640e792f1a nbd: fix 64-bit division 7599166d7855 nbd: use loff_t for blocksize and nbd_set_size args 9c0c43527263 drm/nouveau/disp/mcp7x: disable dptmds workaround 754ae7efb383 mm: memcontrol: use special workqueue for creating per-memcg caches b1574caf9664 ext4: fix inode checksum calculation problem if i_extra_size is small 1992564156b5 dvb-usb-v2: avoid use-after-free de75264ee112 ath9k: fix NULL pointer dereference a28acecbaf25 parisc: Fix get_user() for 64-bit value on 32-bit kernel c10479591869 crypto: ahash - Fix EINPROGRESS notification callback 64ba06dc8a1d crypto: algif_aead - Fix bogus request dereference in completion function 7da0f8e547c2 ftrace: Fix function pid filter on instances e3c7258bb4fe zram: do not use copy_page with non-page aligned address 75465e71ec31 kvm: fix page struct leak in handle_vmon 5a4c0738998a Revert "MIPS: Lantiq: Fix cascaded IRQ setup" a9da1ac37ccf char: lack of bool string made CONFIG_DEVPORT always on 666452ffdbf7 ftrace: Fix removing of second function probe fdaa36c75c5a irqchip/irq-imx-gpcv2: Fix spinlock initialization 5dda157006bc cpufreq: Bring CPUs up even if cpufreq_online() failed 5f48cacaa72c pwm: rockchip: State of PWM clock should synchronize with PWM enabled state 088e5800500e can: ifi: use correct register to read rx status 5ac50e714f60 libnvdimm: fix reconfig_mutex, mmap_sem, and jbd2_handle lockdep splat 5f377c4ad271 libnvdimm: fix blk free space accounting 0c6172ccbb59 make skb_copy_datagram_msg() et.al. preserve ->msg_iter on error ff76ab9e03a5 new privimitive: iov_iter_revert() e485875dff38 xen, fbfront: fix connecting to backend 92f8aa7bb825 target: Avoid mappedlun symlink creation during lun shutdown 08383b004426 scsi: sd: Fix capacity calculation with 32-bit sector_t 64e746983c4c scsi: qla2xxx: Add fix to read correct register value for ISP82xx. 82d181d7540f scsi: sd: Consider max_xfer_blocks if opt_xfer_blocks is unusable c80c158bfe61 scsi: sr: Sanity check returned mode data 281e36cbaf43 iscsi-target: Drop work-around for legacy GlobalSAN initiator 0ae3c95e3a31 iscsi-target: Fix TMR reference leak during session shutdown eff58f9084a0 efi/fb: Avoid reconfiguration of BAR that covers the framebuffer 60174fb3eaa6 efi/libstub: Skip GOP with PIXEL_BLT_ONLY format 1681bab7c450 parisc: fix bugs in pa_memcpy 6ef2f0178649 ACPI / scan: Set the visited flag for all enumerated devices 0b914aa8cdc6 acpi, nfit, libnvdimm: fix interleave set cookie calculation (64-bit comparison) 5e29a45f1ef0 x86/vdso: Plug race between mapping and ELF header setup ec980b6f7dcc x86/vdso: Ensure vdso32_enabled gets set to valid values only a9826aa4860a x86, pmem: fix broken __copy_user_nocache cache-bypass assumptions 59bf23088953 x86/signals: Fix lower/upper bound reporting in compat siginfo 41d8b02f6448 x86/efi: Don't try to reserve runtime regions 085656dad4b0 perf/x86: Avoid exposing wrong/stale data in intel_pmu_lbr_read_32() 0ea2dcf1f9e6 Input: xpad - add support for Razer Wildcat gamepad 730fecb3401f CIFS: store results of cifs_reopen_file to avoid infinite wait 3d8d2f234476 CIFS: reconnect thread reschedule itself fd3be7eaff14 drm/etnaviv: fix missing unlock on error in etnaviv_gpu_submit() e6bcbdc59356 drm/nouveau/mmu/nv4a: use nv04 mmu rather than the nv44 one b29a17524bc1 drm/nouveau/mpeg: mthd returns true on success now 975a7ea950c6 orangefs: free superblock when mount fails d19f745ea3a9 zsmalloc: expand class bit 5c9d08320229 thp: fix MADV_DONTNEED vs clear soft dirty race f584803c4942 thp: fix MADV_DONTNEED vs. MADV_FREE race 5ef6f4dec559 tcmu: Skip Data-Out blocks before gathering Data-In buffer for BIDI case 890aec8eae09 tcmu: Fix wrongly calculating of the base_command_size ef599fa52429 tcmu: Fix possible overwrite of t_data_sg's last iov[] f44236a1b05b cgroup, kthread: close race window where new kthreads can be migrated to non-root cgroups c3582cc56eac Linux 4.9.23 0ade21a2ed74 dma-buf: add support for compat ioctl 27dedde6895c net/mlx4_core: Fix when to save some qp context flags for dynamic VST to VGT transitions 48b2f1dd5787 net/mlx4_core: Fix racy CQ (Completion Queue) free cee26997a604 net/mlx4_en: Fix bad WQE issue ec0c5f06dba4 usb: hub: Wait for connection to be reestablished after port reset d7045cbf4a06 blk-mq: Avoid memory reclaim when remapping queues 16fc98c2479f net/packet: fix overflow in check for priv area size 0ee72d8f9b8e Revert "drm/i915/execlists: Reset RING registers upon resume" 69fbc505c87b crypto: caam - fix invalid dereference in caam_rsa_init_tfm() 75964d0f1914 crypto: caam - fix RNG deinstantiation error checking 91f9f51b1836 MIPS: IRQ Stack: Fix erroneous jal to plat_irq_dispatch aa05503149b3 MIPS: Select HAVE_IRQ_EXIT_ON_IRQ_STACK e8fa51d31aee MIPS: Switch to the irq_stack in interrupts aa6b1dac465e MIPS: Only change $28 to thread_info if coming from user mode 86b54e48c468 MIPS: Stack unwinding while on IRQ stack 742817bb77f9 MIPS: Introduce irq_stack 760327cb080b mtd: bcm47xxpart: fix parsing first block after aligned TRX 31c576a5fe50 rt2x00: Fix incorrect usage of CONFIG_RT2X00_LIB_USB f0df317b2bb3 rt2x00usb: do not anchor rx and tx urb's cb794d57931b rt2x00usb: fix anchor initialization 938f8e856064 i2c: bcm2835: Fix hang for writing messages larger than 16 bytes f7513c9165bf orangefs: fix buffer size mis-match between kernel space and user space. 1b9921866dc5 orangefs: Dan Carpenter influenced cleanups... dcac0d18e7e1 orangefs: fix memory leak of string 'new' on exit path 17fda94d181c drm/i915: Avoid rcu_barrier() from reclaim paths (shrinker) 82dafcb93b0f drm/i915: Stop using RP_DOWN_EI on Baytrail 954ce087072c drm/i915: Drop support for I915_EXEC_CONSTANTS_* execbuf parameters. 1cbf6296fb35 drm/i915: Only enable hotplug interrupts if the display interrupts are enabled 1435e12e4af9 drm/i915: Avoid tweaking evaluation thresholds on Baytrail v3 988028e55b88 drm/i915: Nuke debug messages from the pipe update critical section 8ac9915c3f86 drm/i915/gen9: Increase PCODE request timeout to 50ms cf2586e60ede Linux 4.9.22 7eae64f9195c x86/reboot/quirks: Fix typo in ASUS EeeBook X205TA reboot quirk af11789a0548 usb-storage: Add ignore-residue quirk for Initio INIC-3619 e5525c7419f1 x86/reboot/quirks: Add ASUS EeeBook X205TA/W reboot quirk 0605fff95d33 x86/reboot/quirks: Add ASUS EeeBook X205TA reboot quirk 7c6b1ad9deb5 platform/x86: asus-wmi: Detect quirk_no_rfkill from the DSDT 71f38c11cdb8 platform/x86: asus-wmi: Set specified XUSB2PR value for X550LB 4dc1eb47fbea watchdog: s3c2410: Fix infinite interrupt in soft mode b18877ff66cf PCI: Add ACS quirk for Qualcomm QDF2400 and QDF2432 5feac34f670c PCI: Sort the list of devices with D3 delay quirk by ID 6b69d1f64499 mmc: sdhci-of-esdhc: remove default broken-cd for ARM 0ddf07d2a130 PCI: Disable MSI for HiSilicon Hip06/Hip07 Root Ports 28dd2313a6e4 PCI: Add Broadcom Northstar2 PAXC quirk for device class and MPSS 35b366d584da ARM: smccc: Update HVC comment to describe new quirk parameter 25bdb190ade0 drm/msm/adreno: move function declarations to header file bec9918bb4da firmware: qcom: scm: Fix interrupted SCM calls 007f0a2f2c0f arm: kernel: Add SMC structure parameter 703f48a1c302 HID: wacom: don't apply generic settings to old devices abb640893830 ASoC: sun4i-i2s: Add quirks to handle a31 compatible 3d2f06d8d180 ACPI: save NVS memory for Lenovo G50-45 09f78f116c03 ASoC: Intel: cht_bsw_rt5645: add Baytrail MCLK support 584f4318f923 ASoC: Intel: cht_bsw_rt5645: harden ACPI device detection 4060a32e9d24 ASoC: Intel: Baytrail: add quirk for Lenovo Thinkpad 10 d572cfb66264 ASoC: codecs: rt5670: add quirk for Lenovo Thinkpad 10 58153cca226f ASoC: rt5670: Add missing 10EC5072 ACPI ID e4ae51e44b89 ACPI / button: Change default behavior to lid_init_state=open b369fd719fa4 sata: ahci-da850: implement a workaround for the softreset quirk f36d3f1fe79e PCI: Add ACS quirk for Intel Union Point a452e4eb6ee2 ARM: dts: STiH407-family: set snps,dis_u3_susphy_quirk 9ec57c921b9d drm/mga: remove device_is_agp callback ae3a3e209ef1 usb: dwc3: host: pass quirk-broken-port-ped property for known broken revisions 7bdf7bebbbed usb: host: xhci-plat: enable BROKEN_PED quirk if platform requested 15159247d25b usb: xhci: add quirk flag for broken PED bits 660b38eab885 ARM: davinci: PM: support da8xx DT platforms db7c1706fa6d Input: gpio_keys - add support for GPIO descriptors 80b0d7e623d1 serial: 8250_omap: Add OMAP_DMA_TX_KICK quirk for AM437x 6b8deb108273 usb: chipidea: msm: Rely on core to override AHBBURST c5fc946a15dc scsi: ufs: issue link starup 2 times if device isn't active a17bddc4a781 scsi: ufs: introduce a new ufshcd_statea UFSHCD_STATE_EH_SCHEDULED e94ed347105d ASoC: Intel: bytcr_rt5640: quirks for Insyde devices 0ed0810b8b02 drm/i915: actually drive the BDW reserved IDs 70797929ee36 drm/i915: more .is_mobile cleanups for BDW 0b348464eea0 drm/i915: fix INTEL_BDW_IDS definition 14ec1cf414cf drm/edid: constify edid quirk list f188ee38d4cb HID: usbhid: Add quirk for Mayflash/Dragonrise DolphinBar. 7fd75759ba07 HID: usbhid: Add quirk for the Futaba TOSD-5711BB VFD c1e94148f93c ACPI / sysfs: Provide quirk mechanism to prevent GPE flooding 43cfff65c989 nvme: simplify stripe quirk 8d620dff40ba platform/x86: acer-wmi: Only supports AMW0_GUID1 on acer family 2bd6cc1cce47 ALSA: usb-audio: Add native DSD support for TEAC 501/503 DAC 8ae7242fea54 PCI: Expand "VPD access disabled" quirk message c0aac1bbb5d8 ALSA: usb-audio: add implicit fb quirk for Axe-Fx II bedc629494cd scsi: ufs: add quirk to increase host PA_SaveConfigTime 5c6b8ad1ab25 PCI: thunder-pem: Factor out resource lookup 5582c1980eac arm64: PCI: Add local struct device pointers cc49b39f3f2d arm64: PCI: Manage controller-specific data on per-controller basis 625fd9d1af70 x86/intel_idle: Add CPU model 0x4a (Atom Z34xx series) 607ca1dccbbd svcauth_gss: Close connection when dropping an incoming message 3a87bcdebf6e scsi: ufs: ensure that host pa_tactivate is higher than device d84be51d1c1d mmc: sdhci-msm: Enable few quirks c6e3c6628dfb HID: multitouch: do not retrieve all reports for all devices 68a83be38135 HID: multitouch: enable the Surface 3 Type Cover to report multitouch data c5fcc6332ddb HID: sensor-hub: add quirk for Microchip MM7150 39f3c9291d69 HID: sensor-hub add quirk for Microsoft Surface 3 9b41ed79ec78 scsi: ufs: introduce UFSHCD_QUIRK_PRDT_BYTE_GRAN quirk 26cbe162df3d clocksource/drivers/arm_arch_timer: Don't assume clock runs in suspend d2f1000c3ae3 net/mlx4_core: Use device ID defines dcc4c6758100 arm64: dts: hisi: fix hip06 sas am-max-trans quirk b340c9648c2f ASoC: Intel: bytct_rt5640: change default capture settings d9a97dcdf5c2 usb: dwc3: gadget: delay unmap of bounced requests ee670af5feed HID: i2c-hid: add a simple quirk to fix device defects d640c41bced6 HID: usbhid: Add quirks for Mayflash/Dragonrise GameCube and PS3 adapters e02a5d1d5a05 clk: lpc32xx: add a quirk for PWM and MS clock dividers 666d5f34d897 drm/sun4i: Add compatible string for A31/A31s TCON (timing controller) 6af7e1cae445 drm/sun4i: Add compatible strings for A31/A31s display pipelines 06a2bb472f71 drm/sun4i: tcon: Move SoC specific quirks to a DT matched data structure 7c0361334466 random: use chacha20 for get_random_int/long cddab768d134 mm/mempolicy.c: fix error handling in set_mempolicy and mbind. 24317cb6b400 Documentation: stable-kernel-rules: fix stable-tag format be56f92cc0a9 MIPS: c-r4k: Fix Loongson-3's vcache/scache waysize calculation 59b8725f2b1e MIPS: Flush wrong invalid FTLB entry for huge page 186fb3c52e39 MIPS: Add MIPS_CPU_FTLB for Loongson-3A R2 3d5e13d891b0 MIPS: Check TLB before handle_ri_rdhwr() for Loongson-3 c7f6633f7657 MIPS: Lantiq: fix missing xbar kernel panic 1e7deb9da033 MIPS: End spinlocks with .insn 19aa26f5be49 MIPS: ralink: Fix typos in rt3883 pinctrl 9dcb21e63b2e MIPS: Force o32 fp64 support on 32bit MIPS64r6 kernels 7b68273f79e8 s390/uaccess: get_user() should zero on failure (again) f4938792af38 s390/decompressor: fix initrd corruption caused by bss clear 6a776f6ae3f8 xtensa: make __pa work with uncached KSEG addresses c1dcea123655 nios2: reserve boot memory for device tree 27d382fb6afe dm raid: fix NULL pointer dereference for raid1 without bitmap abbf0fd436a9 powerpc/crypto/crc32c-vpmsum: Fix missing preempt_disable() 45c2ed941c08 powerpc: Don't try to fix up misaligned load-with-reservation instructions fba7546bbe65 powerpc/64: Fix flush_(d|i)cache_range() called from modules 24d945d4791f powerpc/mm: Add missing global TLB invalidate if cxl is active 6fbf84b5da23 powerpc: Disable HFSCR[TM] if TM is not supported a1db9b2c1b12 metag/usercopy: Add missing fixups ce154d517ae4 metag/usercopy: Fix src fixup in from user rapf loops 4f3f0dd2a75b metag/usercopy: Set flags before ADDZ 3dc0fe517a9f metag/usercopy: Zero rest of buffer from copy_from_user 4a93ac814ddc metag/usercopy: Add early abort to copy_to_user 49a292dcd86b metag/usercopy: Fix alignment error checking 2bb52b47e7f4 metag/usercopy: Drop unused macros 9afc076d2812 brcmfmac: use local iftype avoiding use-after-free of virtual interface c0321505df2e mac80211: unconditionally start new netdev queues with iTXQ support 703cebf6e978 ring-buffer: Fix return value check in test_ringbuffer() f7db18998e9c xfs: Honor FALLOC_FL_KEEP_SIZE when punching ends of files dc62935ce0fb orangefs: move features validation to fix filesystem hang c4fe79a44a5d Kbuild: use cc-disable-warning consistently for maybe-uninitialized e4a62348935e ACPI / gpio: do not fall back to parsing _CRS when we get a deferral ab83597b9d40 dm verity fec: fix bufio leaks 2ff087642643 dm verity fec: limit error correction recursion d9fa4351037b ptrace: fix PTRACE_LISTEN race corrupting task->state e3b08ebe4773 mm/page_alloc.c: fix print order in show_free_areas() 8446cb1adf95 Reset TreeId to zero on SMB2 TREE_CONNECT 57e1e90dda74 cfg80211: check rdev resume callback only for registered wiphy 3715dbf77f3b arm64: mm: unaligned access by user-land should be received as SIGBUS 71b44ef83d2a iio: bmg160: reset chip when probing ac303c64cdb8 kvm: arm/arm64: Fix locking for kvm_free_stage2_pgd a1ea31893684 arm/arm64: KVM: Take mmap_sem in kvm_arch_prepare_memory_region 48f2825abc65 arm/arm64: KVM: Take mmap_sem in stage2_unmap_vm 8f8de8d2bf6c staging: android: ashmem: lseek failed due to no FMODE_LSEEK. d9eedab38395 sysfs: be careful of error returns from ops->show() 4ddd24d54fed drm/vmwgfx: fix integer overflow in vmw_surface_define_ioctl() 28c84df739e3 drm/vmwgfx: Remove getparam error message b116797b81e5 drm/ttm, drm/vmwgfx: Relax permission checking when opening surfaces 604d2eac67cb drm/vmwgfx: avoid calling vzalloc with a 0 size in vmw_get_cap_3d_ioctl() 73ab72517b61 drm/vmwgfx: NULL pointer dereference in vmw_surface_define_ioctl() 92cc48166e49 drm/vmwgfx: Type-check lookups of fence objects 9c2b46e720d5 ppdev: fix registering same device name bf5202b58f61 ppdev: check before attaching port Signed-off-by: Bruce Ashfield Signed-off-by: Richard Purdie (cherry picked from commit 4af605ae6f5ca763c65b3dca10b7ffb60f5ffa2e) Signed-off-by: Armin Kuster --- meta/recipes-kernel/linux/linux-yocto-rt_4.9.bb | 6 +++--- meta/recipes-kernel/linux/linux-yocto-tiny_4.9.bb | 6 +++--- meta/recipes-kernel/linux/linux-yocto_4.9.bb | 20 ++++++++++---------- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_4.9.bb b/meta/recipes-kernel/linux/linux-yocto-rt_4.9.bb index 4ca7883..b309447 100644 --- a/meta/recipes-kernel/linux/linux-yocto-rt_4.9.bb +++ b/meta/recipes-kernel/linux/linux-yocto-rt_4.9.bb @@ -11,13 +11,13 @@ python () { raise bb.parse.SkipPackage("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it") } -SRCREV_machine ?= "b6f5c933ce66e4a00412bb5c5691a2ab4187c979" -SRCREV_meta ?= "803b8d600e45afa0375459bf599fe365571a3866" +SRCREV_machine ?= "095698fd99b452d95188ff6f2cce3df5127beb5c" +SRCREV_meta ?= "8b40e0ad3acba22a19c2505584044df115d02e90" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.9.git;branch=${KBRANCH};name=machine \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.9;destsuffix=${KMETA}" -LINUX_VERSION ?= "4.9.21" +LINUX_VERSION ?= "4.9.27" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_4.9.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_4.9.bb index 62aedb3..4103c48 100644 --- a/meta/recipes-kernel/linux/linux-yocto-tiny_4.9.bb +++ b/meta/recipes-kernel/linux/linux-yocto-tiny_4.9.bb @@ -4,13 +4,13 @@ KCONFIG_MODE = "--allnoconfig" require recipes-kernel/linux/linux-yocto.inc -LINUX_VERSION ?= "4.9.21" +LINUX_VERSION ?= "4.9.27" KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" -SRCREV_machine ?= "81055b89bd32414ecaf95156ce9a5fa6643e530a" -SRCREV_meta ?= "803b8d600e45afa0375459bf599fe365571a3866" +SRCREV_machine ?= "2c31d7a45ae75159a7d991abdeb7002a4493af7f" +SRCREV_meta ?= "8b40e0ad3acba22a19c2505584044df115d02e90" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/meta/recipes-kernel/linux/linux-yocto_4.9.bb b/meta/recipes-kernel/linux/linux-yocto_4.9.bb index d6b96ed..309d4a7 100644 --- a/meta/recipes-kernel/linux/linux-yocto_4.9.bb +++ b/meta/recipes-kernel/linux/linux-yocto_4.9.bb @@ -11,20 +11,20 @@ KBRANCH_qemux86 ?= "standard/base" KBRANCH_qemux86-64 ?= "standard/base" KBRANCH_qemumips64 ?= "standard/mti-malta64" -SRCREV_machine_qemuarm ?= "bb5856d9b25d13c63a757a408cc8793d6f6302fa" -SRCREV_machine_qemuarm64 ?= "81055b89bd32414ecaf95156ce9a5fa6643e530a" -SRCREV_machine_qemumips ?= "4b150e5ceca8b2c4fb01f74b1f7a57cdeae63762" -SRCREV_machine_qemuppc ?= "81055b89bd32414ecaf95156ce9a5fa6643e530a" -SRCREV_machine_qemux86 ?= "81055b89bd32414ecaf95156ce9a5fa6643e530a" -SRCREV_machine_qemux86-64 ?= "81055b89bd32414ecaf95156ce9a5fa6643e530a" -SRCREV_machine_qemumips64 ?= "b300b94b77ed9fbb1c80a2d2441403ad2b7694a9" -SRCREV_machine ?= "81055b89bd32414ecaf95156ce9a5fa6643e530a" -SRCREV_meta ?= "803b8d600e45afa0375459bf599fe365571a3866" +SRCREV_machine_qemuarm ?= "60c70a5e9f07f1485491dd44c6049e7da908656a" +SRCREV_machine_qemuarm64 ?= "2c31d7a45ae75159a7d991abdeb7002a4493af7f" +SRCREV_machine_qemumips ?= "f922c64ba89ca137ba2d5f75be79311dd6c5e229" +SRCREV_machine_qemuppc ?= "2c31d7a45ae75159a7d991abdeb7002a4493af7f" +SRCREV_machine_qemux86 ?= "2c31d7a45ae75159a7d991abdeb7002a4493af7f" +SRCREV_machine_qemux86-64 ?= "2c31d7a45ae75159a7d991abdeb7002a4493af7f" +SRCREV_machine_qemumips64 ?= "bfdb9d2cf36f5ded1cd8d03e58465d9f6250bba8" +SRCREV_machine ?= "2c31d7a45ae75159a7d991abdeb7002a4493af7f" +SRCREV_meta ?= "8b40e0ad3acba22a19c2505584044df115d02e90" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.9.git;name=machine;branch=${KBRANCH}; \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.9;destsuffix=${KMETA}" -LINUX_VERSION ?= "4.9.21" +LINUX_VERSION ?= "4.9.27" PV = "${LINUX_VERSION}+git${SRCPV}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:38:26 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:38:26 +0000 Subject: [oe-commits] [openembedded-core] 31/43: linux-yocto/4.1: fix gcc7 compilation and v4.1.39 In-Reply-To: <150119145067.27158.18187262855008938611@git.openembedded.org> References: <150119145067.27158.18187262855008938611@git.openembedded.org> Message-ID: <20170727213733.1491B234F39@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch pyro in repository openembedded-core. commit 774e0d3f429d383c55e9f54ab095f13694e1d8e6 Author: Bruce Ashfield AuthorDate: Thu May 18 09:01:00 2017 -0400 linux-yocto/4.1: fix gcc7 compilation and v4.1.39 Porting the mainline commit, to fix gcc7 builds: 474c90156c [give up on gcc ilog2() constant optimizations] We also integrate the 4.1.39 -stable update to pick up additional fixes. Signed-off-by: Bruce Ashfield Signed-off-by: Ross Burton (cherry picked from commit f0effea8716faae749a7d15003647d68fa0cabf7) Signed-off-by: Armin Kuster --- meta/recipes-kernel/linux/linux-yocto-rt_4.1.bb | 6 +++--- meta/recipes-kernel/linux/linux-yocto-tiny_4.1.bb | 6 +++--- meta/recipes-kernel/linux/linux-yocto_4.1.bb | 20 ++++++++++---------- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_4.1.bb b/meta/recipes-kernel/linux/linux-yocto-rt_4.1.bb index 21cc635..d69b9ad 100644 --- a/meta/recipes-kernel/linux/linux-yocto-rt_4.1.bb +++ b/meta/recipes-kernel/linux/linux-yocto-rt_4.1.bb @@ -11,13 +11,13 @@ python () { raise bb.parse.SkipPackage("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it") } -SRCREV_machine ?= "f793c71d51277bdb14d6854c8cbcc09b4f5936b4" -SRCREV_meta ?= "7140ddb86e4b01529185e6d4a606001ad152b8f3" +SRCREV_machine ?= "ec0bfadaeac24cc63fa05521c6608b79b26a5e5d" +SRCREV_meta ?= "82aa97b3ebb3cd7eec8296a7cb090dfc67c2d382" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.1.git;branch=${KBRANCH};name=machine \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.1;destsuffix=${KMETA}" -LINUX_VERSION ?= "4.1.38" +LINUX_VERSION ?= "4.1.39" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_4.1.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_4.1.bb index ce8aea6..f7c969a 100644 --- a/meta/recipes-kernel/linux/linux-yocto-tiny_4.1.bb +++ b/meta/recipes-kernel/linux/linux-yocto-tiny_4.1.bb @@ -4,13 +4,13 @@ KCONFIG_MODE = "--allnoconfig" require recipes-kernel/linux/linux-yocto.inc -LINUX_VERSION ?= "4.1.38" +LINUX_VERSION ?= "4.1.39" KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" -SRCREV_machine ?= "2ce56d130ddff67f43ec857cc51cd347666a0078" -SRCREV_meta ?= "7140ddb86e4b01529185e6d4a606001ad152b8f3" +SRCREV_machine ?= "398d1785c6bde0085b99f00f346e199a15fbdcef" +SRCREV_meta ?= "82aa97b3ebb3cd7eec8296a7cb090dfc67c2d382" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/meta/recipes-kernel/linux/linux-yocto_4.1.bb b/meta/recipes-kernel/linux/linux-yocto_4.1.bb index bf7f266..c6cdcab 100644 --- a/meta/recipes-kernel/linux/linux-yocto_4.1.bb +++ b/meta/recipes-kernel/linux/linux-yocto_4.1.bb @@ -11,20 +11,20 @@ KBRANCH_qemux86 ?= "standard/base" KBRANCH_qemux86-64 ?= "standard/base" KBRANCH_qemumips64 ?= "standard/mti-malta64" -SRCREV_machine_qemuarm ?= "4d2c95e78cdc7d312b7ab231ce90dce317f45df9" -SRCREV_machine_qemuarm64 ?= "2ce56d130ddff67f43ec857cc51cd347666a0078" -SRCREV_machine_qemumips ?= "81454f95166056a253c8950980e025ee243d8074" -SRCREV_machine_qemuppc ?= "42c41e606b70fd73a202f4146c0480f5624b0a0e" -SRCREV_machine_qemux86 ?= "2ce56d130ddff67f43ec857cc51cd347666a0078" -SRCREV_machine_qemux86-64 ?= "2ce56d130ddff67f43ec857cc51cd347666a0078" -SRCREV_machine_qemumips64 ?= "8a481005da41f82d2a40bf8cb40334547160ab5b" -SRCREV_machine ?= "2ce56d130ddff67f43ec857cc51cd347666a0078" -SRCREV_meta ?= "7140ddb86e4b01529185e6d4a606001ad152b8f3" +SRCREV_machine_qemuarm ?= "3b0fd24797cb11aae54010b1bbc09dd2ae8a108e" +SRCREV_machine_qemuarm64 ?= "398d1785c6bde0085b99f00f346e199a15fbdcef" +SRCREV_machine_qemumips ?= "7420516ff545f8ab3e2471cf08bf851744264a6a" +SRCREV_machine_qemuppc ?= "6952f5a70bc8a84a4c4d926cdec93e7a39878f32" +SRCREV_machine_qemux86 ?= "398d1785c6bde0085b99f00f346e199a15fbdcef" +SRCREV_machine_qemux86-64 ?= "398d1785c6bde0085b99f00f346e199a15fbdcef" +SRCREV_machine_qemumips64 ?= "59727538774860381f42bcfb6ec05fe21facd319" +SRCREV_machine ?= "398d1785c6bde0085b99f00f346e199a15fbdcef" +SRCREV_meta ?= "82aa97b3ebb3cd7eec8296a7cb090dfc67c2d382" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.1.git;name=machine;branch=${KBRANCH}; \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.1;destsuffix=${KMETA}" -LINUX_VERSION ?= "4.1.38" +LINUX_VERSION ?= "4.1.39" PV = "${LINUX_VERSION}+git${SRCPV}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:38:27 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:38:27 +0000 Subject: [oe-commits] [openembedded-core] 32/43: linux-yocto/meta: bluetooth: Adds BT_BREDR and BT_LE, which are needed as dependencies In-Reply-To: <150119145067.27158.18187262855008938611@git.openembedded.org> References: <150119145067.27158.18187262855008938611@git.openembedded.org> Message-ID: <20170727213733.1B85A234F3D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch pyro in repository openembedded-core. commit 6c2e2afe9dbc43554e552e5a293ca7ffeb669f35 Author: Bruce Ashfield AuthorDate: Fri May 26 16:10:44 2017 -0400 linux-yocto/meta: bluetooth: Adds BT_BREDR and BT_LE, which are needed as dependencies Updating the kernel meta-data to pick up a bluetooth configuration change: BT_LE is nedded by BT_6LOWPAN BT_BREDR is needed by: BT_RFCOMM, BT_RFCOMM_TTY (secondary), BT_BNEP, BT_BNEP_MC_FILTER (secondary), BNEP_PROTO_FILTER (secondary), BT_CMTP, BT_HIDP [YOCTO #10425] Signed-off-by: Alejandro Hernandez Signed-off-by: Bruce Ashfield Signed-off-by: Richard Purdie (cherry picked from commit 0457f08cce73ab8646f8a44e88884371e09f35b4) Signed-off-by: Armin Kuster --- meta/recipes-kernel/linux/linux-yocto-rt_4.10.bb | 2 +- meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb | 2 +- meta/recipes-kernel/linux/linux-yocto-rt_4.9.bb | 2 +- meta/recipes-kernel/linux/linux-yocto-tiny_4.10.bb | 2 +- meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb | 2 +- meta/recipes-kernel/linux/linux-yocto-tiny_4.9.bb | 2 +- meta/recipes-kernel/linux/linux-yocto_4.10.bb | 2 +- meta/recipes-kernel/linux/linux-yocto_4.4.bb | 2 +- meta/recipes-kernel/linux/linux-yocto_4.9.bb | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_4.10.bb b/meta/recipes-kernel/linux/linux-yocto-rt_4.10.bb index 56362ef..0a832b9 100644 --- a/meta/recipes-kernel/linux/linux-yocto-rt_4.10.bb +++ b/meta/recipes-kernel/linux/linux-yocto-rt_4.10.bb @@ -12,7 +12,7 @@ python () { } SRCREV_machine ?= "d2c1ed3c0cbc0d8dcf429346f7ab2e96d470b504" -SRCREV_meta ?= "4d929fac3411d03f021c04b8e45d4067e433ca26" +SRCREV_meta ?= "e61353b33d00ea3d3eeed125d59477b3797f6751" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.10.git;branch=${KBRANCH};name=machine \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.10;destsuffix=${KMETA}" diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb b/meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb index e92010c..6fd4bf3 100644 --- a/meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb +++ b/meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb @@ -12,7 +12,7 @@ python () { } SRCREV_machine ?= "cb23b8e3ce0ad77acb717e249b4821c8350f1c83" -SRCREV_meta ?= "db18675035528619e366d71de17bb84c2b9804c5" +SRCREV_meta ?= "504258db25fddc61726bf93f3880ca6f2f381469" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.4.git;branch=${KBRANCH};name=machine \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.4;destsuffix=${KMETA}" diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_4.9.bb b/meta/recipes-kernel/linux/linux-yocto-rt_4.9.bb index b309447..05b08a4 100644 --- a/meta/recipes-kernel/linux/linux-yocto-rt_4.9.bb +++ b/meta/recipes-kernel/linux/linux-yocto-rt_4.9.bb @@ -12,7 +12,7 @@ python () { } SRCREV_machine ?= "095698fd99b452d95188ff6f2cce3df5127beb5c" -SRCREV_meta ?= "8b40e0ad3acba22a19c2505584044df115d02e90" +SRCREV_meta ?= "517106befbfadda8aac38eda9e4dfd51df264e2f" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.9.git;branch=${KBRANCH};name=machine \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.9;destsuffix=${KMETA}" diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_4.10.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_4.10.bb index 52084d8..ce9c3d7 100644 --- a/meta/recipes-kernel/linux/linux-yocto-tiny_4.10.bb +++ b/meta/recipes-kernel/linux/linux-yocto-tiny_4.10.bb @@ -10,7 +10,7 @@ KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" SRCREV_machine ?= "d2c1ed3c0cbc0d8dcf429346f7ab2e96d470b504" -SRCREV_meta ?= "4d929fac3411d03f021c04b8e45d4067e433ca26" +SRCREV_meta ?= "e61353b33d00ea3d3eeed125d59477b3797f6751" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb index dbcf638..b821e25 100644 --- a/meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb +++ b/meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb @@ -10,7 +10,7 @@ KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" SRCREV_machine ?= "98b9340a7858f786f5ff7d50021ef83eaad0613d" -SRCREV_meta ?= "db18675035528619e366d71de17bb84c2b9804c5" +SRCREV_meta ?= "504258db25fddc61726bf93f3880ca6f2f381469" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_4.9.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_4.9.bb index 4103c48..dd84d84 100644 --- a/meta/recipes-kernel/linux/linux-yocto-tiny_4.9.bb +++ b/meta/recipes-kernel/linux/linux-yocto-tiny_4.9.bb @@ -10,7 +10,7 @@ KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" SRCREV_machine ?= "2c31d7a45ae75159a7d991abdeb7002a4493af7f" -SRCREV_meta ?= "8b40e0ad3acba22a19c2505584044df115d02e90" +SRCREV_meta ?= "517106befbfadda8aac38eda9e4dfd51df264e2f" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/meta/recipes-kernel/linux/linux-yocto_4.10.bb b/meta/recipes-kernel/linux/linux-yocto_4.10.bb index e8cfb53..5ddb819 100644 --- a/meta/recipes-kernel/linux/linux-yocto_4.10.bb +++ b/meta/recipes-kernel/linux/linux-yocto_4.10.bb @@ -19,7 +19,7 @@ SRCREV_machine_qemux86 ?= "d2c1ed3c0cbc0d8dcf429346f7ab2e96d470b504" SRCREV_machine_qemux86-64 ?= "d2c1ed3c0cbc0d8dcf429346f7ab2e96d470b504" SRCREV_machine_qemumips64 ?= "229abf6f63652058db1308a0c07e59652d3e6a23" SRCREV_machine ?= "d2c1ed3c0cbc0d8dcf429346f7ab2e96d470b504" -SRCREV_meta ?= "4d929fac3411d03f021c04b8e45d4067e433ca26" +SRCREV_meta ?= "e61353b33d00ea3d3eeed125d59477b3797f6751" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.10.git;name=machine;branch=${KBRANCH}; \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.10;destsuffix=${KMETA}" diff --git a/meta/recipes-kernel/linux/linux-yocto_4.4.bb b/meta/recipes-kernel/linux/linux-yocto_4.4.bb index f3f7f5e..6e77936 100644 --- a/meta/recipes-kernel/linux/linux-yocto_4.4.bb +++ b/meta/recipes-kernel/linux/linux-yocto_4.4.bb @@ -19,7 +19,7 @@ SRCREV_machine_qemux86 ?= "98b9340a7858f786f5ff7d50021ef83eaad0613d" SRCREV_machine_qemux86-64 ?= "98b9340a7858f786f5ff7d50021ef83eaad0613d" SRCREV_machine_qemumips64 ?= "a9b8241a0c0e7626baba529abb4940831ff3a83e" SRCREV_machine ?= "98b9340a7858f786f5ff7d50021ef83eaad0613d" -SRCREV_meta ?= "db18675035528619e366d71de17bb84c2b9804c5" +SRCREV_meta ?= "504258db25fddc61726bf93f3880ca6f2f381469" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.4.git;name=machine;branch=${KBRANCH}; \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.4;destsuffix=${KMETA}" diff --git a/meta/recipes-kernel/linux/linux-yocto_4.9.bb b/meta/recipes-kernel/linux/linux-yocto_4.9.bb index 309d4a7..90a3596 100644 --- a/meta/recipes-kernel/linux/linux-yocto_4.9.bb +++ b/meta/recipes-kernel/linux/linux-yocto_4.9.bb @@ -19,7 +19,7 @@ SRCREV_machine_qemux86 ?= "2c31d7a45ae75159a7d991abdeb7002a4493af7f" SRCREV_machine_qemux86-64 ?= "2c31d7a45ae75159a7d991abdeb7002a4493af7f" SRCREV_machine_qemumips64 ?= "bfdb9d2cf36f5ded1cd8d03e58465d9f6250bba8" SRCREV_machine ?= "2c31d7a45ae75159a7d991abdeb7002a4493af7f" -SRCREV_meta ?= "8b40e0ad3acba22a19c2505584044df115d02e90" +SRCREV_meta ?= "517106befbfadda8aac38eda9e4dfd51df264e2f" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.9.git;name=machine;branch=${KBRANCH}; \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.9;destsuffix=${KMETA}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:38:28 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:38:28 +0000 Subject: [oe-commits] [openembedded-core] 33/43: linux-yocto/meta: smp: Add config X86_BIGSMP since its needed when NR_CPUS > 8 In-Reply-To: <150119145067.27158.18187262855008938611@git.openembedded.org> References: <150119145067.27158.18187262855008938611@git.openembedded.org> Message-ID: <20170727213733.23458234F3C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch pyro in repository openembedded-core. commit 36b594160c6ca12f0a0d06a2809e4dbea1fa53ca Author: Bruce Ashfield AuthorDate: Fri May 26 16:10:45 2017 -0400 linux-yocto/meta: smp: Add config X86_BIGSMP since its needed when NR_CPUS > 8 Updating the kernel meta data with the following configuration change: When we set NR_CPUS to something > than 8, we also need to set X86_BIGSMP according to Kconfig: config X86_BIGSMP bool "Support for big SMP systems with more than 8 CPUs" otherwise NR_CPU will end up being reset to 8 [YOCTO #10362] Signed-off-by: Alejandro Hernandez Signed-off-by: Bruce Ashfield Signed-off-by: Richard Purdie (cherry picked from commit 98278549d960a84605f01fec73aefe5d8792d4bb) Signed-off-by: Armin Kuster --- meta/recipes-kernel/linux/linux-yocto-rt_4.10.bb | 2 +- meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb | 2 +- meta/recipes-kernel/linux/linux-yocto-rt_4.9.bb | 2 +- meta/recipes-kernel/linux/linux-yocto-tiny_4.10.bb | 2 +- meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb | 2 +- meta/recipes-kernel/linux/linux-yocto-tiny_4.9.bb | 2 +- meta/recipes-kernel/linux/linux-yocto_4.10.bb | 2 +- meta/recipes-kernel/linux/linux-yocto_4.4.bb | 2 +- meta/recipes-kernel/linux/linux-yocto_4.9.bb | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_4.10.bb b/meta/recipes-kernel/linux/linux-yocto-rt_4.10.bb index 0a832b9..e6890e3 100644 --- a/meta/recipes-kernel/linux/linux-yocto-rt_4.10.bb +++ b/meta/recipes-kernel/linux/linux-yocto-rt_4.10.bb @@ -12,7 +12,7 @@ python () { } SRCREV_machine ?= "d2c1ed3c0cbc0d8dcf429346f7ab2e96d470b504" -SRCREV_meta ?= "e61353b33d00ea3d3eeed125d59477b3797f6751" +SRCREV_meta ?= "21488a58127eebac2b6b656305aa0fb695e46c50" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.10.git;branch=${KBRANCH};name=machine \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.10;destsuffix=${KMETA}" diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb b/meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb index 6fd4bf3..061ada0 100644 --- a/meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb +++ b/meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb @@ -12,7 +12,7 @@ python () { } SRCREV_machine ?= "cb23b8e3ce0ad77acb717e249b4821c8350f1c83" -SRCREV_meta ?= "504258db25fddc61726bf93f3880ca6f2f381469" +SRCREV_meta ?= "9d268bd8a8f0e01de550aef730e639bd6b148132" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.4.git;branch=${KBRANCH};name=machine \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.4;destsuffix=${KMETA}" diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_4.9.bb b/meta/recipes-kernel/linux/linux-yocto-rt_4.9.bb index 05b08a4..fa1263d 100644 --- a/meta/recipes-kernel/linux/linux-yocto-rt_4.9.bb +++ b/meta/recipes-kernel/linux/linux-yocto-rt_4.9.bb @@ -12,7 +12,7 @@ python () { } SRCREV_machine ?= "095698fd99b452d95188ff6f2cce3df5127beb5c" -SRCREV_meta ?= "517106befbfadda8aac38eda9e4dfd51df264e2f" +SRCREV_meta ?= "5fd0435f4d40c03bc5a06389d22dbafd5086e7ab" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.9.git;branch=${KBRANCH};name=machine \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.9;destsuffix=${KMETA}" diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_4.10.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_4.10.bb index ce9c3d7..d61a1ee 100644 --- a/meta/recipes-kernel/linux/linux-yocto-tiny_4.10.bb +++ b/meta/recipes-kernel/linux/linux-yocto-tiny_4.10.bb @@ -10,7 +10,7 @@ KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" SRCREV_machine ?= "d2c1ed3c0cbc0d8dcf429346f7ab2e96d470b504" -SRCREV_meta ?= "e61353b33d00ea3d3eeed125d59477b3797f6751" +SRCREV_meta ?= "21488a58127eebac2b6b656305aa0fb695e46c50" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb index b821e25..8bc8b57 100644 --- a/meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb +++ b/meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb @@ -10,7 +10,7 @@ KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" SRCREV_machine ?= "98b9340a7858f786f5ff7d50021ef83eaad0613d" -SRCREV_meta ?= "504258db25fddc61726bf93f3880ca6f2f381469" +SRCREV_meta ?= "9d268bd8a8f0e01de550aef730e639bd6b148132" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_4.9.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_4.9.bb index dd84d84..a55deca 100644 --- a/meta/recipes-kernel/linux/linux-yocto-tiny_4.9.bb +++ b/meta/recipes-kernel/linux/linux-yocto-tiny_4.9.bb @@ -10,7 +10,7 @@ KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" SRCREV_machine ?= "2c31d7a45ae75159a7d991abdeb7002a4493af7f" -SRCREV_meta ?= "517106befbfadda8aac38eda9e4dfd51df264e2f" +SRCREV_meta ?= "5fd0435f4d40c03bc5a06389d22dbafd5086e7ab" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/meta/recipes-kernel/linux/linux-yocto_4.10.bb b/meta/recipes-kernel/linux/linux-yocto_4.10.bb index 5ddb819..1c35ebe 100644 --- a/meta/recipes-kernel/linux/linux-yocto_4.10.bb +++ b/meta/recipes-kernel/linux/linux-yocto_4.10.bb @@ -19,7 +19,7 @@ SRCREV_machine_qemux86 ?= "d2c1ed3c0cbc0d8dcf429346f7ab2e96d470b504" SRCREV_machine_qemux86-64 ?= "d2c1ed3c0cbc0d8dcf429346f7ab2e96d470b504" SRCREV_machine_qemumips64 ?= "229abf6f63652058db1308a0c07e59652d3e6a23" SRCREV_machine ?= "d2c1ed3c0cbc0d8dcf429346f7ab2e96d470b504" -SRCREV_meta ?= "e61353b33d00ea3d3eeed125d59477b3797f6751" +SRCREV_meta ?= "21488a58127eebac2b6b656305aa0fb695e46c50" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.10.git;name=machine;branch=${KBRANCH}; \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.10;destsuffix=${KMETA}" diff --git a/meta/recipes-kernel/linux/linux-yocto_4.4.bb b/meta/recipes-kernel/linux/linux-yocto_4.4.bb index 6e77936..9406a05 100644 --- a/meta/recipes-kernel/linux/linux-yocto_4.4.bb +++ b/meta/recipes-kernel/linux/linux-yocto_4.4.bb @@ -19,7 +19,7 @@ SRCREV_machine_qemux86 ?= "98b9340a7858f786f5ff7d50021ef83eaad0613d" SRCREV_machine_qemux86-64 ?= "98b9340a7858f786f5ff7d50021ef83eaad0613d" SRCREV_machine_qemumips64 ?= "a9b8241a0c0e7626baba529abb4940831ff3a83e" SRCREV_machine ?= "98b9340a7858f786f5ff7d50021ef83eaad0613d" -SRCREV_meta ?= "504258db25fddc61726bf93f3880ca6f2f381469" +SRCREV_meta ?= "9d268bd8a8f0e01de550aef730e639bd6b148132" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.4.git;name=machine;branch=${KBRANCH}; \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.4;destsuffix=${KMETA}" diff --git a/meta/recipes-kernel/linux/linux-yocto_4.9.bb b/meta/recipes-kernel/linux/linux-yocto_4.9.bb index 90a3596..5d73cfe 100644 --- a/meta/recipes-kernel/linux/linux-yocto_4.9.bb +++ b/meta/recipes-kernel/linux/linux-yocto_4.9.bb @@ -19,7 +19,7 @@ SRCREV_machine_qemux86 ?= "2c31d7a45ae75159a7d991abdeb7002a4493af7f" SRCREV_machine_qemux86-64 ?= "2c31d7a45ae75159a7d991abdeb7002a4493af7f" SRCREV_machine_qemumips64 ?= "bfdb9d2cf36f5ded1cd8d03e58465d9f6250bba8" SRCREV_machine ?= "2c31d7a45ae75159a7d991abdeb7002a4493af7f" -SRCREV_meta ?= "517106befbfadda8aac38eda9e4dfd51df264e2f" +SRCREV_meta ?= "5fd0435f4d40c03bc5a06389d22dbafd5086e7ab" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.9.git;name=machine;branch=${KBRANCH}; \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.9;destsuffix=${KMETA}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:38:29 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:38:29 +0000 Subject: [oe-commits] [openembedded-core] 34/43: kernel/meta: add virtualbox configuration fragment In-Reply-To: <150119145067.27158.18187262855008938611@git.openembedded.org> References: <150119145067.27158.18187262855008938611@git.openembedded.org> Message-ID: <20170727213733.2A55E234F41@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch pyro in repository openembedded-core. commit a5b42c0702a216e1a75c89aaa918c5e166a9e13e Author: Bruce Ashfield AuthorDate: Fri May 26 16:10:46 2017 -0400 kernel/meta: add virtualbox configuration fragment As suggested by Khem, we can create a virtualbox configuration fragment that helps to run XFCE under virtualization. This can be enabled via KERNEL_FEATURES for targest that require it, and may be enabled by default in the future. Signed-off-by: Bruce Ashfield Signed-off-by: Richard Purdie (cherry picked from commit a256addb330ec7b781c381894cc72cbd4a5005dd) Signed-off-by: Armin Kuster --- meta/recipes-kernel/linux/linux-yocto-rt_4.1.bb | 2 +- meta/recipes-kernel/linux/linux-yocto-rt_4.10.bb | 2 +- meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb | 2 +- meta/recipes-kernel/linux/linux-yocto-rt_4.9.bb | 2 +- meta/recipes-kernel/linux/linux-yocto-tiny_4.1.bb | 2 +- meta/recipes-kernel/linux/linux-yocto-tiny_4.10.bb | 2 +- meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb | 2 +- meta/recipes-kernel/linux/linux-yocto-tiny_4.9.bb | 2 +- meta/recipes-kernel/linux/linux-yocto_4.1.bb | 2 +- meta/recipes-kernel/linux/linux-yocto_4.10.bb | 2 +- meta/recipes-kernel/linux/linux-yocto_4.4.bb | 2 +- meta/recipes-kernel/linux/linux-yocto_4.9.bb | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_4.1.bb b/meta/recipes-kernel/linux/linux-yocto-rt_4.1.bb index d69b9ad..2df6d3f 100644 --- a/meta/recipes-kernel/linux/linux-yocto-rt_4.1.bb +++ b/meta/recipes-kernel/linux/linux-yocto-rt_4.1.bb @@ -12,7 +12,7 @@ python () { } SRCREV_machine ?= "ec0bfadaeac24cc63fa05521c6608b79b26a5e5d" -SRCREV_meta ?= "82aa97b3ebb3cd7eec8296a7cb090dfc67c2d382" +SRCREV_meta ?= "c55c877244b49a12c7f1bcf7e05d44e64e10046f" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.1.git;branch=${KBRANCH};name=machine \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.1;destsuffix=${KMETA}" diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_4.10.bb b/meta/recipes-kernel/linux/linux-yocto-rt_4.10.bb index e6890e3..fc235c9 100644 --- a/meta/recipes-kernel/linux/linux-yocto-rt_4.10.bb +++ b/meta/recipes-kernel/linux/linux-yocto-rt_4.10.bb @@ -12,7 +12,7 @@ python () { } SRCREV_machine ?= "d2c1ed3c0cbc0d8dcf429346f7ab2e96d470b504" -SRCREV_meta ?= "21488a58127eebac2b6b656305aa0fb695e46c50" +SRCREV_meta ?= "79a4c1b415207961ba47c5d58f7625000218e98b" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.10.git;branch=${KBRANCH};name=machine \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.10;destsuffix=${KMETA}" diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb b/meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb index 061ada0..3946e1d 100644 --- a/meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb +++ b/meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb @@ -12,7 +12,7 @@ python () { } SRCREV_machine ?= "cb23b8e3ce0ad77acb717e249b4821c8350f1c83" -SRCREV_meta ?= "9d268bd8a8f0e01de550aef730e639bd6b148132" +SRCREV_meta ?= "877a7cd7da402200aab62dcc8583134d0947fa30" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.4.git;branch=${KBRANCH};name=machine \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.4;destsuffix=${KMETA}" diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_4.9.bb b/meta/recipes-kernel/linux/linux-yocto-rt_4.9.bb index fa1263d..c87c01c 100644 --- a/meta/recipes-kernel/linux/linux-yocto-rt_4.9.bb +++ b/meta/recipes-kernel/linux/linux-yocto-rt_4.9.bb @@ -12,7 +12,7 @@ python () { } SRCREV_machine ?= "095698fd99b452d95188ff6f2cce3df5127beb5c" -SRCREV_meta ?= "5fd0435f4d40c03bc5a06389d22dbafd5086e7ab" +SRCREV_meta ?= "fcc729412013996e17f7aa3953b21cb0a1521108" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.9.git;branch=${KBRANCH};name=machine \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.9;destsuffix=${KMETA}" diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_4.1.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_4.1.bb index f7c969a..b77b7ff 100644 --- a/meta/recipes-kernel/linux/linux-yocto-tiny_4.1.bb +++ b/meta/recipes-kernel/linux/linux-yocto-tiny_4.1.bb @@ -10,7 +10,7 @@ KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" SRCREV_machine ?= "398d1785c6bde0085b99f00f346e199a15fbdcef" -SRCREV_meta ?= "82aa97b3ebb3cd7eec8296a7cb090dfc67c2d382" +SRCREV_meta ?= "c55c877244b49a12c7f1bcf7e05d44e64e10046f" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_4.10.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_4.10.bb index d61a1ee..21ca972 100644 --- a/meta/recipes-kernel/linux/linux-yocto-tiny_4.10.bb +++ b/meta/recipes-kernel/linux/linux-yocto-tiny_4.10.bb @@ -10,7 +10,7 @@ KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" SRCREV_machine ?= "d2c1ed3c0cbc0d8dcf429346f7ab2e96d470b504" -SRCREV_meta ?= "21488a58127eebac2b6b656305aa0fb695e46c50" +SRCREV_meta ?= "79a4c1b415207961ba47c5d58f7625000218e98b" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb index 8bc8b57..0bc9205 100644 --- a/meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb +++ b/meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb @@ -10,7 +10,7 @@ KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" SRCREV_machine ?= "98b9340a7858f786f5ff7d50021ef83eaad0613d" -SRCREV_meta ?= "9d268bd8a8f0e01de550aef730e639bd6b148132" +SRCREV_meta ?= "877a7cd7da402200aab62dcc8583134d0947fa30" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_4.9.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_4.9.bb index a55deca..919a258 100644 --- a/meta/recipes-kernel/linux/linux-yocto-tiny_4.9.bb +++ b/meta/recipes-kernel/linux/linux-yocto-tiny_4.9.bb @@ -10,7 +10,7 @@ KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" SRCREV_machine ?= "2c31d7a45ae75159a7d991abdeb7002a4493af7f" -SRCREV_meta ?= "5fd0435f4d40c03bc5a06389d22dbafd5086e7ab" +SRCREV_meta ?= "fcc729412013996e17f7aa3953b21cb0a1521108" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/meta/recipes-kernel/linux/linux-yocto_4.1.bb b/meta/recipes-kernel/linux/linux-yocto_4.1.bb index c6cdcab..9a2bf15 100644 --- a/meta/recipes-kernel/linux/linux-yocto_4.1.bb +++ b/meta/recipes-kernel/linux/linux-yocto_4.1.bb @@ -19,7 +19,7 @@ SRCREV_machine_qemux86 ?= "398d1785c6bde0085b99f00f346e199a15fbdcef" SRCREV_machine_qemux86-64 ?= "398d1785c6bde0085b99f00f346e199a15fbdcef" SRCREV_machine_qemumips64 ?= "59727538774860381f42bcfb6ec05fe21facd319" SRCREV_machine ?= "398d1785c6bde0085b99f00f346e199a15fbdcef" -SRCREV_meta ?= "82aa97b3ebb3cd7eec8296a7cb090dfc67c2d382" +SRCREV_meta ?= "c55c877244b49a12c7f1bcf7e05d44e64e10046f" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.1.git;name=machine;branch=${KBRANCH}; \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.1;destsuffix=${KMETA}" diff --git a/meta/recipes-kernel/linux/linux-yocto_4.10.bb b/meta/recipes-kernel/linux/linux-yocto_4.10.bb index 1c35ebe..cbcd38e 100644 --- a/meta/recipes-kernel/linux/linux-yocto_4.10.bb +++ b/meta/recipes-kernel/linux/linux-yocto_4.10.bb @@ -19,7 +19,7 @@ SRCREV_machine_qemux86 ?= "d2c1ed3c0cbc0d8dcf429346f7ab2e96d470b504" SRCREV_machine_qemux86-64 ?= "d2c1ed3c0cbc0d8dcf429346f7ab2e96d470b504" SRCREV_machine_qemumips64 ?= "229abf6f63652058db1308a0c07e59652d3e6a23" SRCREV_machine ?= "d2c1ed3c0cbc0d8dcf429346f7ab2e96d470b504" -SRCREV_meta ?= "21488a58127eebac2b6b656305aa0fb695e46c50" +SRCREV_meta ?= "79a4c1b415207961ba47c5d58f7625000218e98b" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.10.git;name=machine;branch=${KBRANCH}; \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.10;destsuffix=${KMETA}" diff --git a/meta/recipes-kernel/linux/linux-yocto_4.4.bb b/meta/recipes-kernel/linux/linux-yocto_4.4.bb index 9406a05..5895318 100644 --- a/meta/recipes-kernel/linux/linux-yocto_4.4.bb +++ b/meta/recipes-kernel/linux/linux-yocto_4.4.bb @@ -19,7 +19,7 @@ SRCREV_machine_qemux86 ?= "98b9340a7858f786f5ff7d50021ef83eaad0613d" SRCREV_machine_qemux86-64 ?= "98b9340a7858f786f5ff7d50021ef83eaad0613d" SRCREV_machine_qemumips64 ?= "a9b8241a0c0e7626baba529abb4940831ff3a83e" SRCREV_machine ?= "98b9340a7858f786f5ff7d50021ef83eaad0613d" -SRCREV_meta ?= "9d268bd8a8f0e01de550aef730e639bd6b148132" +SRCREV_meta ?= "877a7cd7da402200aab62dcc8583134d0947fa30" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.4.git;name=machine;branch=${KBRANCH}; \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.4;destsuffix=${KMETA}" diff --git a/meta/recipes-kernel/linux/linux-yocto_4.9.bb b/meta/recipes-kernel/linux/linux-yocto_4.9.bb index 5d73cfe..b986d11 100644 --- a/meta/recipes-kernel/linux/linux-yocto_4.9.bb +++ b/meta/recipes-kernel/linux/linux-yocto_4.9.bb @@ -19,7 +19,7 @@ SRCREV_machine_qemux86 ?= "2c31d7a45ae75159a7d991abdeb7002a4493af7f" SRCREV_machine_qemux86-64 ?= "2c31d7a45ae75159a7d991abdeb7002a4493af7f" SRCREV_machine_qemumips64 ?= "bfdb9d2cf36f5ded1cd8d03e58465d9f6250bba8" SRCREV_machine ?= "2c31d7a45ae75159a7d991abdeb7002a4493af7f" -SRCREV_meta ?= "5fd0435f4d40c03bc5a06389d22dbafd5086e7ab" +SRCREV_meta ?= "fcc729412013996e17f7aa3953b21cb0a1521108" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.9.git;name=machine;branch=${KBRANCH}; \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.9;destsuffix=${KMETA}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:38:30 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:38:30 +0000 Subject: [oe-commits] [openembedded-core] 35/43: linux-yocto/meta: configuration changes (wifi, kexec and nft) In-Reply-To: <150119145067.27158.18187262855008938611@git.openembedded.org> References: <150119145067.27158.18187262855008938611@git.openembedded.org> Message-ID: <20170727213733.31AB5234F3A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch pyro in repository openembedded-core. commit 6ddb062c5b434446c7c5140ab01b970ad501f1d1 Author: Bruce Ashfield AuthorDate: Thu Jun 8 15:21:51 2017 -0400 linux-yocto/meta: configuration changes (wifi, kexec and nft) Making the following kernel configuration fragment changes available: c9f07d79f01d nftables: add more configuration options. 8d3cf0ad6c0c common-pc-wifi.cfg: add CONFIG_MT7601U module 55c9bf749c6d ktypes/developer: Enable CONFIG_KEXEC in config Signed-off-by: Bruce Ashfield Signed-off-by: Ross Burton (cherry picked from commit a0d24f69425716ffd2439b1fb9170c343eaca453) Signed-off-by: Armin Kuster --- meta/recipes-kernel/linux/linux-yocto-rt_4.10.bb | 2 +- meta/recipes-kernel/linux/linux-yocto-rt_4.9.bb | 2 +- meta/recipes-kernel/linux/linux-yocto-tiny_4.10.bb | 2 +- meta/recipes-kernel/linux/linux-yocto-tiny_4.9.bb | 2 +- meta/recipes-kernel/linux/linux-yocto_4.10.bb | 2 +- meta/recipes-kernel/linux/linux-yocto_4.9.bb | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_4.10.bb b/meta/recipes-kernel/linux/linux-yocto-rt_4.10.bb index fc235c9..46b84c9 100644 --- a/meta/recipes-kernel/linux/linux-yocto-rt_4.10.bb +++ b/meta/recipes-kernel/linux/linux-yocto-rt_4.10.bb @@ -12,7 +12,7 @@ python () { } SRCREV_machine ?= "d2c1ed3c0cbc0d8dcf429346f7ab2e96d470b504" -SRCREV_meta ?= "79a4c1b415207961ba47c5d58f7625000218e98b" +SRCREV_meta ?= "fdfa9de38ddb3362f9d9ff6b35e14dcb93da43b1" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.10.git;branch=${KBRANCH};name=machine \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.10;destsuffix=${KMETA}" diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_4.9.bb b/meta/recipes-kernel/linux/linux-yocto-rt_4.9.bb index c87c01c..f35ae55 100644 --- a/meta/recipes-kernel/linux/linux-yocto-rt_4.9.bb +++ b/meta/recipes-kernel/linux/linux-yocto-rt_4.9.bb @@ -12,7 +12,7 @@ python () { } SRCREV_machine ?= "095698fd99b452d95188ff6f2cce3df5127beb5c" -SRCREV_meta ?= "fcc729412013996e17f7aa3953b21cb0a1521108" +SRCREV_meta ?= "6300f53e21a119c8cd97988e3c44e0bb5e8594ce" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.9.git;branch=${KBRANCH};name=machine \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.9;destsuffix=${KMETA}" diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_4.10.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_4.10.bb index 21ca972..ee42155 100644 --- a/meta/recipes-kernel/linux/linux-yocto-tiny_4.10.bb +++ b/meta/recipes-kernel/linux/linux-yocto-tiny_4.10.bb @@ -10,7 +10,7 @@ KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" SRCREV_machine ?= "d2c1ed3c0cbc0d8dcf429346f7ab2e96d470b504" -SRCREV_meta ?= "79a4c1b415207961ba47c5d58f7625000218e98b" +SRCREV_meta ?= "fdfa9de38ddb3362f9d9ff6b35e14dcb93da43b1" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_4.9.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_4.9.bb index 919a258..c3b39cf 100644 --- a/meta/recipes-kernel/linux/linux-yocto-tiny_4.9.bb +++ b/meta/recipes-kernel/linux/linux-yocto-tiny_4.9.bb @@ -10,7 +10,7 @@ KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" SRCREV_machine ?= "2c31d7a45ae75159a7d991abdeb7002a4493af7f" -SRCREV_meta ?= "fcc729412013996e17f7aa3953b21cb0a1521108" +SRCREV_meta ?= "6300f53e21a119c8cd97988e3c44e0bb5e8594ce" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/meta/recipes-kernel/linux/linux-yocto_4.10.bb b/meta/recipes-kernel/linux/linux-yocto_4.10.bb index cbcd38e..07454cf 100644 --- a/meta/recipes-kernel/linux/linux-yocto_4.10.bb +++ b/meta/recipes-kernel/linux/linux-yocto_4.10.bb @@ -19,7 +19,7 @@ SRCREV_machine_qemux86 ?= "d2c1ed3c0cbc0d8dcf429346f7ab2e96d470b504" SRCREV_machine_qemux86-64 ?= "d2c1ed3c0cbc0d8dcf429346f7ab2e96d470b504" SRCREV_machine_qemumips64 ?= "229abf6f63652058db1308a0c07e59652d3e6a23" SRCREV_machine ?= "d2c1ed3c0cbc0d8dcf429346f7ab2e96d470b504" -SRCREV_meta ?= "79a4c1b415207961ba47c5d58f7625000218e98b" +SRCREV_meta ?= "fdfa9de38ddb3362f9d9ff6b35e14dcb93da43b1" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.10.git;name=machine;branch=${KBRANCH}; \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.10;destsuffix=${KMETA}" diff --git a/meta/recipes-kernel/linux/linux-yocto_4.9.bb b/meta/recipes-kernel/linux/linux-yocto_4.9.bb index b986d11..c3cb859 100644 --- a/meta/recipes-kernel/linux/linux-yocto_4.9.bb +++ b/meta/recipes-kernel/linux/linux-yocto_4.9.bb @@ -19,7 +19,7 @@ SRCREV_machine_qemux86 ?= "2c31d7a45ae75159a7d991abdeb7002a4493af7f" SRCREV_machine_qemux86-64 ?= "2c31d7a45ae75159a7d991abdeb7002a4493af7f" SRCREV_machine_qemumips64 ?= "bfdb9d2cf36f5ded1cd8d03e58465d9f6250bba8" SRCREV_machine ?= "2c31d7a45ae75159a7d991abdeb7002a4493af7f" -SRCREV_meta ?= "fcc729412013996e17f7aa3953b21cb0a1521108" +SRCREV_meta ?= "6300f53e21a119c8cd97988e3c44e0bb5e8594ce" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.9.git;name=machine;branch=${KBRANCH}; \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.9;destsuffix=${KMETA}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:38:31 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:38:31 +0000 Subject: [oe-commits] [openembedded-core] 36/43: linux-yocto-rt: 4.9-rt18 In-Reply-To: <150119145067.27158.18187262855008938611@git.openembedded.org> References: <150119145067.27158.18187262855008938611@git.openembedded.org> Message-ID: <20170727213733.38684234F42@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch pyro in repository openembedded-core. commit 68e9381210875588b7f28cff5ed90a2817427d08 Author: Bruce Ashfield AuthorDate: Thu Jun 8 15:21:53 2017 -0400 linux-yocto-rt: 4.9-rt18 Integrating the 4.9-rt18 port that Paul Gortmaker has prepared: f458d12de7f1 v4.9.27-rt18 82fcbd9f7e1f futex/rtmutex: Cure RT double blocking issue b4352b9fb961 futex: backported patches 0874a0a35318 random: avoid preempt_disable()ed section 07481e7a0e04 v4.9.27-rt17 76c86c0787fe v4.9.20-rt16 d394d677d188 rwsem/rt: Lift single reader restriction ad7b0ccf9f1f rtmutex: Provide locked slowpath f363d238326d rtmutex: Provide rt_mutex_lock_state() b3b4c3aa793e rtmutex: Make lock_killable work e3fa9e78c860 v4.9.20-rt15 1e458a1a876d v4.9.18-rt14 f57fd2fcd3e2 Add the rtmutex rework 3829b7532ca9 lockdep: Fix per-cpu static objects bc1065b64955 v4.9.18-rt13 095698fd99b4 Merge branch 'standard/base' into standard/preempt-rt/base Signed-off-by: Bruce Ashfield Signed-off-by: Ross Burton (cherry picked from commit 9d400224f7bba64470a0e68c53e2469b70ca1e05) Signed-off-by: Armin Kuster --- meta/recipes-kernel/linux/linux-yocto-rt_4.9.bb | 4 ++-- meta/recipes-kernel/linux/linux-yocto-tiny_4.9.bb | 2 +- meta/recipes-kernel/linux/linux-yocto_4.9.bb | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_4.9.bb b/meta/recipes-kernel/linux/linux-yocto-rt_4.9.bb index f35ae55..cf584be 100644 --- a/meta/recipes-kernel/linux/linux-yocto-rt_4.9.bb +++ b/meta/recipes-kernel/linux/linux-yocto-rt_4.9.bb @@ -11,8 +11,8 @@ python () { raise bb.parse.SkipPackage("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it") } -SRCREV_machine ?= "095698fd99b452d95188ff6f2cce3df5127beb5c" -SRCREV_meta ?= "6300f53e21a119c8cd97988e3c44e0bb5e8594ce" +SRCREV_machine ?= "f458d12de7f157fe050afc7c1fee08022876eae3" +SRCREV_meta ?= "de57de86e23493d9356fc4cc0e92a3df58a29032" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.9.git;branch=${KBRANCH};name=machine \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.9;destsuffix=${KMETA}" diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_4.9.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_4.9.bb index c3b39cf..49047e9 100644 --- a/meta/recipes-kernel/linux/linux-yocto-tiny_4.9.bb +++ b/meta/recipes-kernel/linux/linux-yocto-tiny_4.9.bb @@ -10,7 +10,7 @@ KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" SRCREV_machine ?= "2c31d7a45ae75159a7d991abdeb7002a4493af7f" -SRCREV_meta ?= "6300f53e21a119c8cd97988e3c44e0bb5e8594ce" +SRCREV_meta ?= "de57de86e23493d9356fc4cc0e92a3df58a29032" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/meta/recipes-kernel/linux/linux-yocto_4.9.bb b/meta/recipes-kernel/linux/linux-yocto_4.9.bb index c3cb859..e9fe077 100644 --- a/meta/recipes-kernel/linux/linux-yocto_4.9.bb +++ b/meta/recipes-kernel/linux/linux-yocto_4.9.bb @@ -19,7 +19,7 @@ SRCREV_machine_qemux86 ?= "2c31d7a45ae75159a7d991abdeb7002a4493af7f" SRCREV_machine_qemux86-64 ?= "2c31d7a45ae75159a7d991abdeb7002a4493af7f" SRCREV_machine_qemumips64 ?= "bfdb9d2cf36f5ded1cd8d03e58465d9f6250bba8" SRCREV_machine ?= "2c31d7a45ae75159a7d991abdeb7002a4493af7f" -SRCREV_meta ?= "6300f53e21a119c8cd97988e3c44e0bb5e8594ce" +SRCREV_meta ?= "de57de86e23493d9356fc4cc0e92a3df58a29032" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.9.git;name=machine;branch=${KBRANCH}; \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.9;destsuffix=${KMETA}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:38:32 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:38:32 +0000 Subject: [oe-commits] [openembedded-core] 37/43: linux-yocto/4.10: update to v4.10.17 In-Reply-To: <150119145067.27158.18187262855008938611@git.openembedded.org> References: <150119145067.27158.18187262855008938611@git.openembedded.org> Message-ID: <20170727213733.3FB59234F3B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch pyro in repository openembedded-core. commit a64e8c09f975c8457e7743a61ee35fb561ffd430 Author: Bruce Ashfield AuthorDate: Thu Jun 8 15:21:54 2017 -0400 linux-yocto/4.10: update to v4.10.17 Updating to the latest 4.10 -stable releases, which comprise the following changes: 17a4d4803381 Linux 4.10.17 291e716bb382 pstore: Shut down worker when unregistering e5590e3d9275 pstore: Fix flags to enable dumps on powerpc e3d4daa7f6d4 libnvdimm, pfn: fix 'npfns' vs section alignment 116ada1a98ab libnvdimm: fix nvdimm_bus_lock() vs device_lock() ordering f92a2fe7cdb1 libnvdimm, pmem: fix a NULL pointer BUG in nd_pmem_notify 72393c00f00a libnvdimm, region: fix flush hint detection crash b821a605977e ipmi: Fix kernel panic at ipmi_ssif_thread() c8e4805dd634 Bluetooth: hci_intel: add missing tty-device sanity check a8620f066675 Bluetooth: hci_bcm: add missing tty-device sanity check 9a3054df3cf6 Bluetooth: Fix user channel for 32bit userspace on 64bit kernel 58d479441029 tty: pty: Fix ldisc flush after userspace become aware of the data already 9e3b9909bce3 serial: omap: suspend device on probe errors c1ce1f427e0a serial: omap: fix runtime-pm handling on unbind 2578dd75ad12 serial: samsung: Use right device for DMA-mapping calls a78ddcd2a858 fscrypt: fix context consistency check when key(s) unavailable 659ccd97668a f2fs: fix fs corruption due to zero inode page 717946b469cf mm: fix data corruption due to stale mmap reads 35223d76e2cf dax: prevent invalidation of mapped DAX entries fa7043b3a2e0 device-dax: fix sysfs attribute deadlock e1a19ef52919 device-dax: fix cdev leak 81845f520179 md/raid1: avoid reusing a resync bio after error handling. 23ebf6aa650d padata: free correct variable 586aa5a6537f ovl: do not set overlay.opaque on non-dir create cf95696518f5 CIFS: add misssing SFM mapping for doublequote 582fb96084c3 cifs: fix CIFS_IOC_GET_MNT_INFO oops 4452b80eaef8 CIFS: fix oplock break deadlocks cd01b999953b cifs: fix CIFS_ENUMERATE_SNAPSHOTS oops 6ec05086dca9 cifs: fix leak in FSCTL_ENUM_SNAPS response handling b1b295efad9f CIFS: fix mapping of SFM_SPACE and SFM_PERIOD ae6c2182b853 SMB3: Work around mount failure when using SMB3 dialect to Macs 6716949b0029 Set unicode flag on cifs echo request to avoid Mac error b7174f403828 Fix match_prepath() 93697e1e5099 mm: prevent potential recursive reclaim due to clearing PF_MEMALLOC 3302d94ab6f9 fs/block_dev: always invalidate cleancache in invalidate_bdev() f174092ec373 ceph: fix memory leak in __ceph_setxattr() 594d4eca1c49 fs/xattr.c: zero out memory copied to userspace in getxattr 49302d531325 orangefs: do not check possibly stale size on truncate 42d86d92af64 orangefs: do not set getattr_time on orangefs_lookup d2c326c7ff6d orangefs: clean up oversize xattr validation 4af222e1d681 orangefs: fix bounds check for listxattr e3e77f8ba5f6 ext4: evict inline data when writing to memory map fd469456ad6d jbd2: fix dbench4 performance regression for 'nobarrier' mounts e2e596f2888c perf annotate s390: Implement jump types for perf annotate d122da54d33e perf annotate s390: Fix perf annotate error -95 (4.10 regression) ba6006004353 perf auxtrace: Fix no_size logic in addr_filter__resolve_kernel_syms() d187c9e135d3 IB/hfi1: Prevent kernel QP post send hard lockups 04692adb3aac IB/mlx4: Reduce SRIOV multicast cleanup warning message to debug level e4e17bce1672 IB/mlx4: Fix ib device initialization error flow 5d691b80ca4d IB/IPoIB: ibX: failed to create mcg debug file 53bd2ccebd51 IB/core: For multicast functions, verify that LIDs are multicast LIDs b40c7a502b1e IB/core: Fix sysfs registration error flow f269df7bad86 iov_iter: don't revert iov buffer if csum error fc483680829a vfio/type1: Remove locked page accounting workqueue c85990cf511d dm thin: fix a memory leak when passing discard bio down bd0db3b70b59 dm rq: check blk_mq_register_dev() return value in dm_mq_init_request_queue() 5d953aa1cd2e dm era: save spacemap metadata root after the pre-commit 4c1dad842bfc dm crypt: rewrite (wipe) key in crypto layer using random data bce0767157c3 crypto: ccp - Change ISR handler method for a v5 CCP f106cd8575c4 crypto: ccp - Change ISR handler method for a v3 CCP 595c7ad3c64b crypto: ccp - Disable interrupts early on unload e1adc5e04af5 crypto: ccp - Use only the relevant interrupt bits 7ae1df9048db crypto: algif_aead - Require setkey before accept(2) fe51605c9512 crypto: s5p-sss - Close possible race for completed requests 635aff41e59a block: fix blk_integrity_register to use template's interval_exp if not 0 5c5d86be4f3f arm64: KVM: Fix decoding of Rt/Rt2 when trapping AArch32 CP accesses 8348ffba88e5 KVM: arm/arm64: fix races in kvm_psci_vcpu_on 74cbcb5afa75 KVM: x86: fix user triggerable warning in kvm_apic_accept_events() f22d13c45f2d perf/x86: Fix Broadwell-EP DRAM RAPL events 29d07bb20ee5 um: Fix PTRACE_POKEUSER on x86_64 efbd8cc8f6f8 x86, pmem: Fix cache flushing for iovec write < 8 bytes f0896a0d1e6d selftests/x86/ldt_gdt_32: Work around a glibc sigaction() bug c4b0426385ea x86/boot: Fix BSS corruption/overwrite bug in early x86 kernel startup b1a8c141c88c usb: hub: Do not attempt to autosuspend disconnected devices 5830c376e3af usb: hub: Fix error loop seen after hub communication errors 19c9dacddf7d usb: Make sure usb/phy/of gets built-in 934c4e338e7e usb: gadget: legacy gadgets are optional 7f7a4b58e257 usb: misc: add missing continue in switch 34006e9621c7 staging: comedi: jr3_pci: cope with jiffies wraparound acb79180c55e staging: comedi: jr3_pci: fix possible null pointer dereference 7a6b4c372118 staging: wilc1000: Fix problem with wrong vif index 4097eda73b4c staging: gdm724x: gdm_mux: fix use-after-free on module unload 808dc8810896 staging: vt6656: use off stack for out buffer USB transfers. 4f19197ce58d staging: vt6656: use off stack for in buffer USB transfers. 5b92090a53eb USB: Revert "cdc-wdm: fix "out-of-sync" due to missing notifications" 32dd9987fbd9 USB: Proper handling of Race Condition when two USB class drivers try to call init_usb_class simultaneously e349a5723322 USB: serial: ftdi_sio: add device ID for Microsemi/Arrow SF2PLUS Dev Kit dffe5d4b0511 usb: host: xhci: print correct command ring address a561f35aeaa9 usb: xhci: bInterval quirk for TI TUSB73x0 b3e01cd15d17 iscsi-target: Set session_fall_back_to_erl0 when forcing reinstatement d39ebfe9a1b7 target/fileio: Fix zero-length READ and WRITE handling f78392c0160c target: Fix compare_and_write_callback handling for non GOOD status 8fe6ee0b6e69 xen: adjust early dom0 p2m handling to xen hypervisor behavior 6e8e99586919 Linux 4.10.16 2262a51b515a block: get rid of blk_integrity_revalidate() f89d35abea21 drm/ttm: fix use-after-free races in vm fault handling 2f6aeeae43bb drm: mxsfb: drm_dev_alloc() returns error pointers 9302f2b14af1 drm/hisilicon/hibmc: Fix wrong pointer passed to PTR_ERR() 4a66b610a821 xen: Revert commits da72ff5bfcb0 and 72a9b186292d 6442a7f5d793 f2fs: sanity check segment count 853151191ef2 openvswitch: Set internal device max mtu to ETH_MAX_MTU. 8656ebcc28bc net: mdio-mux: bcm-iproc: call mdiobus_free() in error path c35107a3bec2 bpf: don't let ldimm64 leak map addresses on unprivileged ddbb020a01ec bnxt_en: allocate enough space for ->ntp_fltr_bmap 912bec79fb2a ipv6: reorder ip6_route_dev_notifier after ipv6_dev_notf 062e49d89f68 ipv6: initialize route null entry in addrconf_init() d3081680506f rtnetlink: NUL-terminate IFLA_PHYS_PORT_NAME string df6f3bcd6667 ipv4, ipv6: ensure raw socket message is big enough to hold an IP header 929575fd0dfd tcp: do not inherit fastopen_req from parent 3006794169a1 net: usb: qmi_wwan: add Telit ME910 support 0735252265e5 net: ipv6: Do not duplicate DAD on link up ae2f8e28b40e tcp: fix wraparound issue in tcp_lp 38904075d9bc bpf, arm64: fix jit branch offset related to ldimm64 b3468d7ea8c9 bpf: enhance verifier to understand stack pointer arithmetic ec2f9263d6a5 geneve: fix incorrect setting of UDP checksum flag 9cd3670409a9 net: macb: fix phy interrupt parsing 99975dd43461 net: adjust skb->truesize in ___pskb_trim() 748838198f1e tcp: do not underestimate skb->truesize in tcp_trim_head() 8743096ed3f0 macsec: dynamically allocate space for sglist e288821b3842 sparc64: fix fault handling in NGbzero.S and GENbzero.S 01995a54c747 ALSA: hda - Fix deadlock of controller device lock at unbinding 9576fcd1d931 staging: lustre: ptlrpc: avoid warning on missing return e7d743d68744 staging: emxx_udc: remove incorrect __init annotations e368150f2942 staging: wlan-ng: add missing byte order conversion debb50cbeda5 staging/lustre/llite: move root_squash from sysfs to debugfs 9663ece4a734 brcmfmac: Make skb header writable before use d67be3c4b852 brcmfmac: Ensure pointer correctly set if skb data location changes cbd7c3465eec MIPS: R2-on-R6 MULTU/MADDU/MSUBU emulation bugfix 2523b0855c42 scsi: smartpqi: fix time handling a538d5f72454 scsi: mac_scsi: Fix MAC_SCSI=m option when SCSI=m 7f3f10d2150f scsi: qla2xxx: Fix crash in qla2xxx_eh_abort on bad ptr 463232f51f91 scsi: qedi: fix build error without DEBUG_FS 5102b4022080 scsi: qedi: Fix possible memory leak in qedi_iscsi_update_conn() eb1ef03d9033 serial: 8250_omap: Fix probe and remove for PM runtime 8b62d12c1a53 phy: qcom-usb-hs: Add depends on EXTCON c6a6118496c8 clk: rockchip: add "," to mux_pll_src_apll_dpll_gpll_usb480m_p on rk3036 bc6e823fdcf2 USB: serial: io_edgeport: fix descriptor error handling 1077176a2456 USB: serial: ch341: fix modem-status handling e40bbb397074 USB: serial: mct_u232: fix modem-status error handling f665109e63c1 USB: serial: quatech2: fix control-message error handling aa0b4b2ff04e USB: serial: ftdi_sio: fix latency-timer error handling 44d7d23192fe USB: serial: ark3116: fix open error handling 39581ca08fb9 USB: serial: ti_usb_3410_5052: fix control-message error handling c5cd729ca100 USB: serial: io_edgeport: fix epic-descriptor handling d75ac2f21f53 USB: serial: ssu100: fix control-message error handling 7db2c56df28a USB: serial: digi_acceleport: fix incomplete rx sanity check cfbe048303d2 USB: serial: keyspan_pda: fix receive sanity checks 7916a663940b usb: chipidea: Handle extcon events properly 7a93680fe259 usb: chipidea: Only read/write OTGSC from one place cc771fa1d711 usb: host: ohci-exynos: Decrese node refcount on exynos_ehci_get_phy() error paths d286acdd40ed usb: host: ehci-exynos: Decrese node refcount on exynos_ehci_get_phy() error paths 5605e5c50f34 usb: dwc2: host: use msleep() for long delay 69a09d73e8bd KVM: nVMX: do not leak PML full vmexit to L1 22e025bc1af9 KVM: nVMX: initialize PML fields in vmcs02 4897ec5ece6c Revert "KVM: nested VMX: disable perf cpuid reporting" 78a43e2c2c98 KVM: PPC: Book3S HV: Don't try to signal cpu -1 f82a54b53ca2 x86/platform/intel-mid: Correct MSI IRQ line for watchdog device 743cfeb7bcdd kprobes/x86: Fix kernel panic when certain exception-handling addresses are probed d696d9cfea73 platform/x86: intel_pmc_core: fix out-of-bounds accesses on stack 5e10d8dc0003 clk: Make x86/ conditional on CONFIG_COMMON_CLK 4a8fa15cec03 x86/mpx: Re-add MPX to selftests Makefile d4462702edd1 x86/pci-calgary: Fix iommu_free() comparison of unsigned expression >= 0 679dd20cc34e x86/ioapic: Restore IO-APIC irq_chip retrigger callback 6e4623e517db iwlwifi: mvm: fix accessing fw_id_to_mac_id bcb28cb39930 iwlwifi: mvm: writing zero bytes to debugfs causes a crash bd78746f3225 iwlwifi: mvm: synchronize firmware DMA paging memory 39e4ab1d46fa iwlwifi: mvm: fix references to first_agg_queue in DQA mode 82e158e12443 iwlwifi: mvm: fix pending frame counter calculation fa251bac1869 iwlwifi: mvm/pcie: adjust A-MSDU tx_cmd length in PCIe 441f52f19435 iwlwifi: mvm: Use aux queue for offchannel frames in dqa ab735bec18d4 iwlwifi: mvm: fix reorder timer re-arming 7478a09f262c iwlwifi: pcie: fix the set of DMA memory mask 0633d3269a69 iwlwifi: pcie: trans: Remove unused 'shift_param' e864e9686442 iwlwifi: pcie: don't increment / decrement a bool 7e375d6d6056 iwlwifi: mvm: overwrite skb info later 827181091199 iwlwifi: mvm: don't restart HW if suspend fails with unified image 3aff5ebef0b4 iwlwifi: fix MODULE_FIRMWARE for 6030 e9a20a152598 iwlwifi: mvm: properly check for transport data in dump 47b8d37b4c62 mwifiex: set adapter->dev before starting to use mwifiex_dbg() 219083c89725 mwifiex: don't enable/disable IRQ 0 during suspend/resume 33d8a1d4086e mwifiex: Avoid skipping WEP key deletion for AP 6a9d22e988c3 mwifiex: remove redundant dma padding in AMSDU 4b8badac6525 mwifiex: debugfs: Fix (sometimes) off-by-1 SSID print ed65aff890b9 ARM: dts: sun7i: lamobo-r1: Fix CPU port RGMII settings c78c87249cd6 ARM: dts: am57xx-idk: tpic2810 is on I2C bus, not SPI 8848163aa114 ARM: OMAP3: Fix smartreflex platform data regression 097336fc693d ARM: OMAP5 / DRA7: Fix HYP mode boot for thumb2 build 98fa203aa7cd ARM: dts: imx6sx-udoo-neo: Fix reboot hang 32b0a3d44419 ARM: dts: NSP: GPIO reboot open-source 96b61a1bad47 ARM: pxa: ezx: fix a910 camera data baebaada5f01 leds: ktd2692: avoid harmless maybe-uninitialized warning 359ccd6e3667 spi: armada-3700: Remove spi_master_put in a3700_spi_remove() 0136fa36c8af arm64: Improve detection of user/non-user mappings in set_pte(_at) a0435d6cdccc arm64: remove wrong CONFIG_PROC_SYSCTL ifdef e60a59f80b96 arm: dts: qcom: Fix ipq board clock rates 3e1418c687ac arm64: dts: r8a7795: Mark EthernetAVB device node disabled 12f072e19606 power: supply: bq24190_charger: Handle fault before status on interrupt c963edc736f7 power: supply: bq24190_charger: Don't read fault register outside irq_handle_thread() 9e9cd6500d2c power: supply: bq24190_charger: Call power_supply_changed() for relevant component 34ba5925c01e power: supply: bq24190_charger: Install irq_handler_thread() at end of probe() 8c94da036756 power: supply: bq24190_charger: Call set_mode_host() on pm_resume() d6ea2f1dd259 power: supply: bq24190_charger: Fix irq trigger to IRQF_TRIGGER_FALLING b7634bdbb695 perf/x86/intel/pt: Add format strings for PTWRITE and power event tracing ce6f9a237a6c powerpc: Correctly disable latent entropy GCC plugin on prom_init.o 803969dd92f1 powerpc/ftrace: Fix confusing help text for DISABLE_MPROFILE_KERNEL d0addb34980a powerpc/mm: Fix build break when CMA=n && SPAPR_TCE_IOMMU=y 690bba9d641a powerpc/powernv: Fix opal_exit tracepoint opcode 3ead745aef02 powerpc/mm: Fixup wrong LPCR_VRMASD value 72cd64df59f3 powerpc/perf: Avoid FAB_*_MATCH checks for power9 8c34e65205b7 powerpc/perf: Handle sdar_mode for marked event in power9 d2264474c9c2 powerpc/perf: Fix perf_get_data_addr() for power9 DD1 0587b73378b2 cpupower: Fix turbo frequency reporting for pre-Sandy Bridge cores bfa87eca09ce power: supply: lp8788: prevent out of bounds array access 8a4963a05118 crypto: caam - don't dma_map key for hash algorithms 3e871381811a crypto: caam - fix error path for ctx_dma mapping failure 93bb6661baf0 tmp: use pdev for parent device in tpm_chip_alloc c61315284309 tpm: fix RC value check in tpm2_seal_trusted c5f7ba5f5911 mtd: nand: Add OX820 NAND hardware dependency 2586f8f02455 hwmon: (it87) Fix pwm4 detection for IT8620 and IT8628 5e7b84228b51 drm/sti: fix GDP size to support up to UHD resolution 206472df12f1 9p: fix a potential acl leak Signed-off-by: Bruce Ashfield Signed-off-by: Ross Burton (cherry picked from commit de5b0d918f49733f902797d41da05681d17d8db0) Signed-off-by: Armin Kuster --- meta/recipes-kernel/linux/linux-yocto-rt_4.10.bb | 6 +++--- meta/recipes-kernel/linux/linux-yocto-tiny_4.10.bb | 6 +++--- meta/recipes-kernel/linux/linux-yocto_4.10.bb | 20 ++++++++++---------- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_4.10.bb b/meta/recipes-kernel/linux/linux-yocto-rt_4.10.bb index 46b84c9..f25974c 100644 --- a/meta/recipes-kernel/linux/linux-yocto-rt_4.10.bb +++ b/meta/recipes-kernel/linux/linux-yocto-rt_4.10.bb @@ -11,13 +11,13 @@ python () { raise bb.parse.SkipPackage("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it") } -SRCREV_machine ?= "d2c1ed3c0cbc0d8dcf429346f7ab2e96d470b504" -SRCREV_meta ?= "fdfa9de38ddb3362f9d9ff6b35e14dcb93da43b1" +SRCREV_machine ?= "6648a34e00c55a0634b39e661dd6ba14dd106473" +SRCREV_meta ?= "4b89f331d4220f6f62d20ef60aa59edcd9b44106" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.10.git;branch=${KBRANCH};name=machine \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.10;destsuffix=${KMETA}" -LINUX_VERSION ?= "4.10.15" +LINUX_VERSION ?= "4.10.17" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_4.10.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_4.10.bb index ee42155..2e98914 100644 --- a/meta/recipes-kernel/linux/linux-yocto-tiny_4.10.bb +++ b/meta/recipes-kernel/linux/linux-yocto-tiny_4.10.bb @@ -4,13 +4,13 @@ KCONFIG_MODE = "--allnoconfig" require recipes-kernel/linux/linux-yocto.inc -LINUX_VERSION ?= "4.10.15" +LINUX_VERSION ?= "4.10.17" KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" -SRCREV_machine ?= "d2c1ed3c0cbc0d8dcf429346f7ab2e96d470b504" -SRCREV_meta ?= "fdfa9de38ddb3362f9d9ff6b35e14dcb93da43b1" +SRCREV_machine ?= "6648a34e00c55a0634b39e661dd6ba14dd106473" +SRCREV_meta ?= "4b89f331d4220f6f62d20ef60aa59edcd9b44106" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/meta/recipes-kernel/linux/linux-yocto_4.10.bb b/meta/recipes-kernel/linux/linux-yocto_4.10.bb index 07454cf..fa85b21 100644 --- a/meta/recipes-kernel/linux/linux-yocto_4.10.bb +++ b/meta/recipes-kernel/linux/linux-yocto_4.10.bb @@ -11,20 +11,20 @@ KBRANCH_qemux86 ?= "standard/base" KBRANCH_qemux86-64 ?= "standard/base" KBRANCH_qemumips64 ?= "standard/mti-malta64" -SRCREV_machine_qemuarm ?= "ebb58e37143db15fe1b6712487f66b0d2ccb54e1" -SRCREV_machine_qemuarm64 ?= "d2c1ed3c0cbc0d8dcf429346f7ab2e96d470b504" -SRCREV_machine_qemumips ?= "c79214a4c66138478d88f9955fae35a56390f8c9" -SRCREV_machine_qemuppc ?= "d2c1ed3c0cbc0d8dcf429346f7ab2e96d470b504" -SRCREV_machine_qemux86 ?= "d2c1ed3c0cbc0d8dcf429346f7ab2e96d470b504" -SRCREV_machine_qemux86-64 ?= "d2c1ed3c0cbc0d8dcf429346f7ab2e96d470b504" -SRCREV_machine_qemumips64 ?= "229abf6f63652058db1308a0c07e59652d3e6a23" -SRCREV_machine ?= "d2c1ed3c0cbc0d8dcf429346f7ab2e96d470b504" -SRCREV_meta ?= "fdfa9de38ddb3362f9d9ff6b35e14dcb93da43b1" +SRCREV_machine_qemuarm ?= "3926e386306fe0ae92feae45bc47e4c013daa1fc" +SRCREV_machine_qemuarm64 ?= "6648a34e00c55a0634b39e661dd6ba14dd106473" +SRCREV_machine_qemumips ?= "a038a5932f3be820f42d78f4e47850987ad72ce3" +SRCREV_machine_qemuppc ?= "6648a34e00c55a0634b39e661dd6ba14dd106473" +SRCREV_machine_qemux86 ?= "6648a34e00c55a0634b39e661dd6ba14dd106473" +SRCREV_machine_qemux86-64 ?= "6648a34e00c55a0634b39e661dd6ba14dd106473" +SRCREV_machine_qemumips64 ?= "b442c964432938cbe10c4cc578260353045af980" +SRCREV_machine ?= "6648a34e00c55a0634b39e661dd6ba14dd106473" +SRCREV_meta ?= "4b89f331d4220f6f62d20ef60aa59edcd9b44106" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.10.git;name=machine;branch=${KBRANCH}; \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.10;destsuffix=${KMETA}" -LINUX_VERSION ?= "4.10.15" +LINUX_VERSION ?= "4.10.17" PV = "${LINUX_VERSION}+git${SRCPV}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:38:33 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:38:33 +0000 Subject: [oe-commits] [openembedded-core] 38/43: linux-yocto/4.9: update to 4.9.31 In-Reply-To: <150119145067.27158.18187262855008938611@git.openembedded.org> References: <150119145067.27158.18187262855008938611@git.openembedded.org> Message-ID: <20170727213733.48F53234F43@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch pyro in repository openembedded-core. commit 527f77e3c3c8fcb6b8dc7c88ecbf87d1b450bc2b Author: Bruce Ashfield AuthorDate: Thu Jun 8 15:21:55 2017 -0400 linux-yocto/4.9: update to 4.9.31 Updating to the latest 4.9 -stable which comprises the following commits: f1aa865ae5d4 Linux 4.9.31 11214bd292ec xfs: Fix off-by-in in loop termination in xfs_find_get_desired_pgoff() 75c5afd58d46 xfs: fix unaligned access in xfs_btree_visit_blocks 7fb8ab8f0a38 xfs: avoid mount-time deadlock in CoW extent recovery e40c145c023d xfs: xfs_trans_alloc_empty 0e542792a046 xfs: bad assertion for delalloc an extent that start at i_size f60d76efa91a xfs: BMAPX shouldn't barf on inline-format directories 53c44c236f21 xfs: fix indlen accounting error on partial delalloc conversion 54894ea3c542 xfs: fix use-after-free in xfs_finish_page_writeback d457f822817f xfs: reserve enough blocks to handle btree splits when remapping 0ba833fe73d2 xfs: wait on new inodes during quotaoff dquot release 2ea882d8ebc7 xfs: update ag iterator to support wait on new inodes e86b616b5b9e xfs: support ability to wait on new inodes 10f0b2c3c225 xfs: fix up quotacheck buffer list error handling 95487d4be1e9 xfs: prevent multi-fsb dir readahead from reading random blocks 93bd169845e5 xfs: handle array index overrun in xfs_dir2_leaf_readbuf() 99226b890d63 xfs: fix integer truncation in xfs_bmap_remap_alloc 4e2762878a59 xfs: drop iolock from reclaim context to appease lockdep 4e8163fc8159 xfs: actually report xattr extents via iomap de417ea6b0a6 xfs: fix over-copying of getbmap parameters from userspace c2ad2dc3d264 xfs: use dedicated log worker wq to avoid deadlock with cil wq 3890d83805fe xfs: fix kernel memory exposure problems ca659e086fb7 xfs: rework the inline directory verifiers 815414e7648b xfs: verify inline directory data forks 11b485477285 xfs: fix off-by-one on max nr_pages in xfs_find_get_desired_pgoff() 9c795fff53f9 xfs: use ->b_state to fix buffer I/O accounting release race c9eab63b9e62 xfs: Fix missed holes in SEEK_HOLE implementation 670821b9482d drm/gma500/psb: Actually use VBT mode when it is found 74b416367b4e mm/slub.c: trace free objects at KERN_INFO c1bb2a899b5f slub/memcg: cure the brainless abuse of sysfs attributes 873f3b0ebbfe ksm: prevent crash after write_protect_page fails d5ecb4ca0da7 x86/boot: Use CROSS_COMPILE prefix for readelf d1cff2222071 RDMA/qib,hfi1: Fix MR reference count leak on write with immediate 292f70cd9649 mm: consider memblock reservations for deferred memory initialization sizing 1163e785b150 mlock: fix mlock count can not decrease in race condition d494cab70697 mm/migrate: fix refcount handling when !hugepage_migration_supported() 7d8ef0e0bc1e ALSA: hda - apply STAC_9200_DELL_M22 quirk for Dell Latitude D430 da856d05645c pcmcia: remove left-over %Z format ebd4c110fd0b drm/radeon: Fix vram_size/visible values in DRM_RADEON_GEM_INFO ioctl acc771fdaec7 drm/radeon: Unbreak HPD handling for r600+ c8d25fcb5980 drm/radeon/ci: disable mclk switching for high refresh rates (v2) 9869fb485cc6 scsi: mpt3sas: Force request partial completion alignment 21f33b157721 nvme: avoid to use blk_mq_abort_requeue_list() 510b0ec7f60f nvme: use blk_mq_start_hw_queues() in nvme_kill_queues() ae0578089242 nvme-rdma: support devices with queue size < 32 34808d76dd77 HID: wacom: Have wacom_tpc_irq guard against possible NULL dereference 69b1d90e6a0f ibmvscsis: Fix the incorrect req_lim_delta 80569d0e09ad ibmvscsis: Clear left-over abort_cmd pointers 49d33fd10070 iscsi-target: Always wait for kthread_should_stop() before kthread exit ecbf0f48d65e mmc: sdhci-iproc: suppress spurious interrupt with Multiblock read 8735cf2291cd Revert "ACPI / button: Change default behavior to lid_init_state=open" 32d8077f1e9b acpi, nfit: Fix the memory error check in nfit_handle_mce() 68c83a379106 x86/MCE: Export memory_error() 4472887cbd13 crypto: skcipher - Add missing API setkey checks 63399974effb i2c: i2c-tiny-usb: fix buffer not being DMA capable d3b2d9ca90c2 drivers/tty: 8250: only call fintek_8250_probe when doing port I/O 1d74fc36f3ec powerpc/spufs: Fix hash faults for kernel regions 68a056175512 fs/ufs: Set UFS default maximum bytes per file 1a658771d5e1 sparc/ftrace: Fix ftrace graph time measurement 45ceb845ef34 sparc: Fix -Wstringop-overflow warning c1133c671a04 bpf: add bpf_clone_redirect to bpf_helper_changes_pkt_data 988b9792b856 ipv4: add reference counting to metrics 1de51502a025 sctp: fix ICMP processing if skb is non-linear 4b81271ed1c3 tcp: avoid fastopen API to be used on AF_UNSPEC 9e056584770b virtio-net: enable TSO/checksum offloads for Q-in-Q vlans 9c6cfd5811bd be2net: Fix offload features for Q-in-Q packets 5f595d529796 vlan: Fix tcp checksum offloads in Q-in-Q vlans cc6773b51bf3 net: phy: marvell: Limit errata to 88m1101 4fb5fd27dec0 net/mlx5: Avoid using pending command interface slots 1730a2b9e5b5 bonding: fix accounting of active ports in 3ad 304b41014acb ipv6: fix out of bound writes in __ip6_append_data() ee72e7e5c2b4 bridge: start hello_timer when enabling KERNEL_STP in br_stp_start 0d10ebbc835f qmi_wwan: add another Lenovo EM74xx device ID 2ea4221eb4ae bridge: netlink: check vlan_default_pvid range 3fa202ef74c8 ipv6: Check ip6_find_1stfragopt() return value properly. a2c845e51a82 ipv6: Prevent overrun when parsing v6 header options 68647616fd53 net: Improve handling of failures on link and route dumps 0174b07408f2 tcp: eliminate negative reordering in tcp_clean_rtx_queue ac3735bf97f0 net/mlx5e: Fix ethtool pause support and advertise reporting 1594973b8e07 net/mlx5e: Use the correct pause values for ethtool advertising f79d3307c035 net/packet: fix missing net_device reference release 5e7d9f0b3f72 sctp: do not inherit ipv6_{mc|ac|fl}_list from parent eb7f6d6989ad sctp: fix src address selection if using secondary addresses for ipv6 8d625242e86b tcp: avoid fragmenting peculiar skbs in SACK a5db124dc2a4 net: fix compile error in skb_orphan_partial() 5d165daafc44 netem: fix skb_orphan_partial() 21e3113298f9 bpf, arm64: fix faulty emission of map access in tail calls c1f3f197d650 s390/qeth: add missing hash table initializations 96a81eb6ad5a s390/qeth: avoid null pointer dereference on OSN b68c2e387a23 s390/qeth: unbreak OSM and OSN support 25c1a1e4d891 s390/qeth: handle sysfs error during initialization 4bd8f5e38e5a ipv6/dccp: do not inherit ipv6_mc_list from parent 8f1f08be3974 driver: vrf: Fix one possible use-after-free issue 4eed44029507 dccp/tcp: do not inherit mc_list from parent db3fd4527ed3 Linux 4.9.30 5a597b225d48 drm/i915/gvt: Disable access to stolen memory as a guest 1489183c2005 drivers: char: mem: Check for address space wraparound with mmap() 51d9c51523ec nfsd: encoders mustn't use unitialized values in error cases ea465551af30 nfsd: fix undefined behavior in nfsd4_layout_verify f2b6f508c541 NFS: Use GFP_NOIO for two allocations in writeback a8c35e5c88de NFS: Fix use after free in write error path 88ac6b7e0c82 NFSv4: Fix a hang in OPEN related to server reboot 5438f8952906 drm/edid: Add 10 bpc quirk for LGD 764 panel in HP zBook 17 G2 5956b2815f90 mtd: nand: add ooblayout for old hamming layout 6639b27f5a4c mtd: nand: omap2: Fix partition creation via cmdline mtdparts e437af936a49 mtd: nand: orion: fix clk handling db6636416195 PCI: Freeze PME scan before suspending devices 9ad81ecb28d6 PCI: Only allow WC mmap on prefetchable resources 6bec009a2f69 PCI: Fix another sanity check bug in /proc/pci mmap fa3bbb1c7f06 PCI: Fix pci_mmap_fits() for HAVE_PCI_RESOURCE_TO_USER platforms 87e7dc97c8a0 PCI: hv: Specify CPU_AFFINITY_ALL for MSI affinity when >= 32 CPUs d1d63f97dd76 PCI: hv: Allocate interrupt descriptors with GFP_ATOMIC dd0023d7105c tracing/kprobes: Enforce kprobes teardown after testing cc0aa21de47c um: Fix to call read_initrd after init_bootmem 541c67844198 osf_wait4(): fix infoleak 07d8aabff490 MIPS: Loongson-3: Select MIPS_L1_CACHE_SHIFT_6 6d6a43a08611 nvme: unmap CMB and remove sysfs file in reset path 423f1752a028 genirq: Fix chained interrupt data ordering 3fe116563d5d uwb: fix device quirk on big-endian hosts f157261b55a4 stackprotector: Increase the per-task stack canary's random range from 32 bits to 64 bits on 64-bit platforms e8a8a6972c50 metag/uaccess: Check access_ok in strncpy_from_user 9fefcb947ec2 metag/uaccess: Fix access_ok() 21f2950f91ff iommu/vt-d: Flush the IOTLB to get rid of the initial kdump mappings 58e36d6f7f11 staging: rtl8192e: GetTs Fix invalid TID 7 warning. 93a46fe4eb41 staging: rtl8192e: rtl92e_get_eeprom_size Fix read size of EPROM_CMD. d0226f9adaf8 staging: rtl8192e: fix 2 byte alignment of register BSSIDR. f4205502948b staging: rtl8192e: rtl92e_fill_tx_desc fix write to mapped out memory. e6b8f5ade305 arm64: documentation: document tagged pointer stack constraints e817a7fb2f31 arm64: uaccess: ensure extension of access_ok() addr 4775fbcc92d7 arm64: armv8_deprecated: ensure extension of addr f2e4f4e538f0 arm64: ensure extension of smp_store_release value 88675139a81d arm64: xchg: hazard against entire exchange variable 31a331c8cf26 arm64: dts: hi6220: Reset the mmc hosts 5ee1c675ab92 ARM: dts: imx6sx-sdb: Remove OPP override 03d8b264bcb9 ARM: dts: at91: sama5d3_xplained: not all ADC channels are available 086ea4b9510c ARM: dts: at91: sama5d3_xplained: fix ADC vref 9f6cea2e3bbd ARM: 8670/1: V7M: Do not corrupt vector table around v7m_invalidate_l1 call 3304f5a1cb87 ARM: 8662/1: module: split core and init PLT sections ee773459557d KVM: arm: plug potential guest hardware debug leakage 0ba7e8e34193 arm: KVM: Do not use stack-protector to compile HYP code d0fb4b7d00bb arm64: KVM: Do not use stack-protector to compile EL2 code a685601f8533 powerpc/tm: Fix FP and VMX register corruption 018b91870856 powerpc/64e: Fix hang when debugging programs with relocated kernel 3915c566ea94 powerpc/iommu: Do not call PageTransHuge() on tail pages 5ba5685a26b1 powerpc/pseries: Fix of_node_put() underflow during DLPAR remove a0da3e00df38 powerpc/book3s/mce: Move add_taint() later in virtual mode 222f1d668d00 powerpc/eeh: Avoid use after free in eeh_handle_special_event() 690f09eb52bc powerpc/mm: Ensure IRQs are off in switch_mm() 2338de43e234 cx231xx-cards: fix NULL-deref at probe 8ebb884009b6 cx231xx-audio: fix NULL-deref at probe 1b24b8c07023 cx231xx-audio: fix init error path 40616929f87e dw2102: limit messages to buffer size e42a6715d26b digitv: limit messages to buffer size 28590f1bb601 dvb-frontends/cxd2841er: define symbol_rate_min/max in T/C fe-ops 64579fcc57fd zr364xx: enforce minimum size when reading header 466b45af50fd dib0700: fix NULL-deref at probe 074912daab55 s5p-mfc: Fix unbalanced call to clock management 4a9c54250492 gspca: konica: add missing endpoint sanity check e2f95f88106f s5p-mfc: Fix race between interrupt routine and device functions 6bee0b1fe4ed iio: hid-sensor: Store restore poll and hysteresis on S3 a99462b13dff iio: proximity: as3935: fix as3935_write 820adccd0e3b ipx: call ipxitf_put() in ioctl error path c67e87a22dd8 USB: hub: fix non-SS hub-descriptor handling 3e4a4e68df08 USB: hub: fix SS hub-descriptor handling f9cd79e0ad1f USB: serial: io_ti: fix div-by-zero in set_termios c3e024ff9180 USB: serial: mct_u232: fix big-endian baud-rate handling d8fc44d67488 USB: serial: qcserial: add more Lenovo EM74xx device IDs 7e5407600663 usb: serial: option: add Telit ME910 support ee0f3a89842e USB: iowarrior: fix info ioctl on big-endian hosts dbb127332abf usb: musb: Fix trying to suspend while active for OTG configurations 08c735a15d5b usb: musb: tusb6010_omap: Do not reset the other direction's packet size ff9177b158c3 usb: dwc3: gadget: Prevent losing events in event cache 653cd31a2ca5 dvb-usb-dibusb-mc-common: Add MODULE_LICENSE 4f93054d9b45 ttusb2: limit messages to buffer size c71b5040632f mceusb: fix NULL-deref at probe 736f41a47442 usbvision: fix NULL-deref at probe a3adb4721ae2 net: irda: irda-usb: fix firmware name on big-endian hosts 1046d6a51f57 usb: host: xhci-mem: allocate zeroed Scratchpad Buffer 219628bb0c05 xhci: apply PME_STUCK_QUIRK and MISSING_CAS quirk for Denverton 1a926919364f usb: host: xhci-plat: propagate return value of platform_get_irq() 374a3fb5c3b0 xhci: remove GFP_DMA flag from allocation fa313fd6673e libnvdimm: fix clear length of nvdimm_forget_poison() af9bd5218855 fscrypt: avoid collisions when presenting long encrypted filenames 8daed21dbce1 f2fs: check entire encrypted bigname when finding a dentry b9c0da6219e1 USB: chaoskey: fix Alea quirk on big-endian hosts 545a3171d37f USB: serial: ftdi_sio: add Olimex ARM-USB-TINY(H) PIDs 038ccaa5d50e USB: serial: ftdi_sio: fix setting latency for unprivileged users 2ea2f891fa85 pid_ns: Fix race between setns'ed fork() and zap_pid_ns_processes() 6dc6a2700b6a pid_ns: Sleep in TASK_INTERRUPTIBLE in zap_pid_ns_processes 5e40ac3fbd0d IB/hfi1: Fix a subcontext memory leak b894ea8263ca IB/hfi1: Return an error on memory allocation failure dfb450b2b66e IIO: bmp280-core.c: fix error in humidity calculation a03176f92a02 iio: dac: ad7303: fix channel description 05a36277a195 ibmvscsis: Do not send aborted task response 9907c838fc07 of: fdt: add missing allocation-failure check 80cdf2065bf0 of: fix "/cpus" reference leak in of_numa_parse_cpu_nodes() ae5074ba9ef8 of: fix sparse warning in of_pci_range_parser_one d10b21d6e562 proc: Fix unbalanced hard link numbers 168b2bfaa235 cxl: Route eeh events to all drivers in cxl_pci_error_detected() 393531299547 cxl: Force context lock during EEH flow fc6b678ab1d4 ohci-pci: add qemu quirk 809ae061d998 cdc-acm: fix possible invalid access when processing notification 198ab4031873 gpio: omap: return error if requested debounce time is not possible b77adf29b856 drm/nouveau/tmr: handle races with hw when updating the next alarm time 1ec3c712e231 drm/nouveau/tmr: avoid processing completed alarms when adding a new one 6445a49a8c59 drm/nouveau/tmr: fix corruption of the pending list when rescheduling an alarm 16e10490d260 drm/nouveau/tmr: ack interrupt before processing alarms e8ee63059196 drm/nouveau/therm: remove ineffective workarounds for alarm bugs d1f006efde1f drm/amdgpu: Add missing lb_vblank_lead_lines setup to DCE-6 path. b334b3492888 drm/amdgpu: Avoid overflows/divide-by-zero in latency_watermark calculations. ebf3cf5b9a67 drm/amdgpu: Make display watermark calculations more accurate adc6647c4f0f ath9k_htc: fix NULL-deref at probe c39bafb9ee7a ath9k_htc: Add support of AirTies 1eda:2315 AR9271 device 768ae64b2ab2 s390/cputime: fix incorrect system time 8c5157c1967e s390/kdump: Add final note c849b4fa8e10 regulator: tps65023: Fix inverted core enable logic. 5b00d6c85a92 regulator: rk808: Fix RK818 LDO2 ae382caa96f7 x86: fix 32-bit case of __get_user_asm_u64() 54e385430e12 KVM: X86: Fix read out-of-bounds vulnerability in kvm pio emulation c996ad7568c0 KVM: x86: Fix potential preemption when get the current kvmclock timestamp b64ecb25b1d5 KVM: x86: Fix load damaged SSEx MXCSR register 91034255e42f ima: accept previously set IMA_NEW_FILE ce7146cf9bdf mwifiex: pcie: fix cmd_buf use-after-free in remove/reset 385eb9b33e1d mwifiex: MAC randomization should not be persistent 444df795edf4 rtlwifi: rtl8821ae: setup 8812ae RFE according to device type 7e7897878783 md: MD_CLOSING needs to be cleared after called md_set_readonly or do_md_stop fa9a4a9c6d6f md: update slab_cache before releasing new stripes when stripes resizing f2bb8bcbc09d dm space map disk: fix some book keeping in the disk space map cc681811a92c dm thin metadata: call precommit before saving the roots eeaf13394d32 dm bufio: make the parameter "retain_bytes" unsigned long e69242436b6b dm cache metadata: fail operations if fail_io mode has been established 042d8dbf69c6 dm mpath: split and rename activate_path() to prepare for its expanded use e08047c90c8a dm bufio: check new buffer allocation watermark every 30 seconds 98e7b9d45bf4 dm bufio: avoid a possible ABBA deadlock c5066c4c1b7e dm raid: select the Kconfig option CONFIG_MD_RAID0 4de8eceefbea dm btree: fix for dm_btree_find_lowest_key() 5db8f42b62da infiniband: call ipv6 route lookup via the stub interface cb5cf8aaba2e mlx5: Fix mlx5_ib_map_mr_sg mr length ece453e8b0ca ASoC: cs4271: configure reset GPIO as output cc15d340ec6a tpm_crb: check for bad response size 0c150305212b tpm: add sleep only for retry in i2c_nuvoton_write_status() 40ca1fd38e11 tpm: msleep() delays - replace with usleep_range() in i2c nuvoton driver 568ea0dcc27e tpm_tis_spi: Add small delay after last transfer c4b3779c9783 tpm_tis_spi: Remove limitation of transfers to MAX_SPI_FRAMESIZE bytes d513cf24e240 tpm_tis_spi: Check correct byte for wait state indicator daa432c1a65a tpm_tis_spi: Abort transfer when too many wait states are signaled aad1e5c81cbb tpm_tis_spi: Use single function to transfer data cc0f994c205d fanotify: don't expose EOPENSTALE to userspace e8b6d43ce3ea ARM: tegra: paz00: Mark panel regulator as enabled on boot 0251f6affb11 ALSA: hda: Fix cpu lockup when stopping the cmd dmas 5c1bd0cb4992 tpm_tis_core: Choose appropriate timeout for reading burstcount 3888f62943bb USB: core: replace %p with %pK 5d263d94a870 char: lp: fix possible integer overflow in lp_setup() 7a2b8471ab12 watchdog: pcwd_usb: fix NULL-deref at probe 6e2078c10092 USB: ene_usb6250: fix DMA to the stack 7d96e4a404c1 usb: misc: legousbtower: Fix memory leak 810b7c559954 usb: misc: legousbtower: Fix buffers on stack f5eea276d8de Linux 4.9.29 9ee8502bd2cc pstore: Shut down worker when unregistering a4de93008625 pstore: Fix flags to enable dumps on powerpc 1a1029507258 libnvdimm, pfn: fix 'npfns' vs section alignment c171b24fe508 libnvdimm, pmem: fix a NULL pointer BUG in nd_pmem_notify 5b6e7f353290 libnvdimm, region: fix flush hint detection crash 46ba11b007c1 ipmi: Fix kernel panic at ipmi_ssif_thread() 6e7de39ef9a4 Bluetooth: hci_intel: add missing tty-device sanity check f2f6d77fabe2 Bluetooth: hci_bcm: add missing tty-device sanity check 518ca84479d7 Bluetooth: Fix user channel for 32bit userspace on 64bit kernel 89c91ea37581 tty: pty: Fix ldisc flush after userspace become aware of the data already e38a4c3b0b4a serial: omap: suspend device on probe errors f8d2751b0012 serial: omap: fix runtime-pm handling on unbind c5689e0ab6e1 serial: samsung: Use right device for DMA-mapping calls 64a599ac5dcc fscrypt: fix context consistency check when key(s) unavailable 8dd114ef78c8 device-dax: fix cdev leak 6240377c574b padata: free correct variable 1c5d8b377e58 CIFS: add misssing SFM mapping for doublequote 6f3b2eed8c9a cifs: fix CIFS_IOC_GET_MNT_INFO oops f13d96bf98c2 CIFS: fix oplock break deadlocks 411346640ccd cifs: fix CIFS_ENUMERATE_SNAPSHOTS oops 449a74439d15 cifs: fix leak in FSCTL_ENUM_SNAPS response handling 87c0604d860f CIFS: fix mapping of SFM_SPACE and SFM_PERIOD 8dd4e3ff1bfb SMB3: Work around mount failure when using SMB3 dialect to Macs 2ac2ad9fb045 Set unicode flag on cifs echo request to avoid Mac error 4f5e1c48e80b Fix match_prepath() 4e434d4fe28a mm: prevent potential recursive reclaim due to clearing PF_MEMALLOC 945d0ecdd9bd fs/block_dev: always invalidate cleancache in invalidate_bdev() 091784ae9738 ceph: fix memory leak in __ceph_setxattr() 9a6bb7b5637e fs/xattr.c: zero out memory copied to userspace in getxattr 1777e888bd40 orangefs: do not check possibly stale size on truncate 63907bb781e7 orangefs: do not set getattr_time on orangefs_lookup 59f496104112 orangefs: clean up oversize xattr validation 127adc188c62 orangefs: fix bounds check for listxattr b2764f851db6 ext4: evict inline data when writing to memory map 7929b50dedd1 perf auxtrace: Fix no_size logic in addr_filter__resolve_kernel_syms() e3cea38357ea IB/hfi1: Prevent kernel QP post send hard lockups 43c54927f6f4 IB/mlx4: Reduce SRIOV multicast cleanup warning message to debug level 9ae6b33dcbb4 IB/mlx4: Fix ib device initialization error flow d20bfe223d3e IB/IPoIB: ibX: failed to create mcg debug file 7a227630ab89 IB/core: For multicast functions, verify that LIDs are multicast LIDs ecb0ab0f89c7 IB/core: Fix sysfs registration error flow 377178321690 iov_iter: don't revert iov buffer if csum error 9f43f70dcc56 vfio/type1: Remove locked page accounting workqueue 1773131ec4b9 dm thin: fix a memory leak when passing discard bio down f32e35bc3d54 dm rq: check blk_mq_register_dev() return value in dm_mq_init_request_queue() f6ec18eb7425 dm era: save spacemap metadata root after the pre-commit f8d05099ec72 crypto: ccp - Change ISR handler method for a v5 CCP a0a232489c0f crypto: ccp - Change ISR handler method for a v3 CCP 93424b2b63e0 crypto: ccp - Disable interrupts early on unload 36dffff240d9 crypto: ccp - Use only the relevant interrupt bits bcc70358396a crypto: algif_aead - Require setkey before accept(2) 9b2fb8ad5ba1 block: fix blk_integrity_register to use template's interval_exp if not 0 884ba252f3f1 arm64: KVM: Fix decoding of Rt/Rt2 when trapping AArch32 CP accesses 7b0d4391d0f4 KVM: arm/arm64: fix races in kvm_psci_vcpu_on bdf1d5b4c129 KVM: x86: fix user triggerable warning in kvm_apic_accept_events() f99985cdee64 perf/x86: Fix Broadwell-EP DRAM RAPL events 0750e8b865ee um: Fix PTRACE_POKEUSER on x86_64 e0c871792cc6 x86, pmem: Fix cache flushing for iovec write < 8 bytes e65c6aa10860 selftests/x86/ldt_gdt_32: Work around a glibc sigaction() bug acb6dc6aa744 x86/boot: Fix BSS corruption/overwrite bug in early x86 kernel startup 219a99dd2198 usb: hub: Do not attempt to autosuspend disconnected devices 181b0de7f7cc usb: hub: Fix error loop seen after hub communication errors 5a001a687f7c usb: Make sure usb/phy/of gets built-in 5c51e4b65fca usb: gadget: legacy gadgets are optional af534bf9540e usb: misc: add missing continue in switch a54ab7420ac7 staging: comedi: jr3_pci: cope with jiffies wraparound 2bdc2e8c29e9 staging: comedi: jr3_pci: fix possible null pointer dereference 55f9811b98f2 staging: gdm724x: gdm_mux: fix use-after-free on module unload 83f66c9a6026 staging: vt6656: use off stack for out buffer USB transfers. 3eff228fdd43 staging: vt6656: use off stack for in buffer USB transfers. 6312a84dc8b5 USB: Revert "cdc-wdm: fix "out-of-sync" due to missing notifications" 5ffe717f351d USB: Proper handling of Race Condition when two USB class drivers try to call init_usb_class simultaneously c31ff3ceb326 USB: serial: ftdi_sio: add device ID for Microsemi/Arrow SF2PLUS Dev Kit 91cd8f900c75 usb: host: xhci: print correct command ring address 853469d53e86 usb: xhci: bInterval quirk for TI TUSB73x0 bb1f06f53bcb iscsi-target: Set session_fall_back_to_erl0 when forcing reinstatement f788fa43d87a target/fileio: Fix zero-length READ and WRITE handling a4e52cc7d81b target: Fix compare_and_write_callback handling for non GOOD status f2b8de98f737 xen: adjust early dom0 p2m handling to xen hypervisor behavior 58cd97ff374b Linux 4.9.28 6a7620744e89 block: get rid of blk_integrity_revalidate() 48d9fa1ece5e drm/ttm: fix use-after-free races in vm fault handling 347d07bf3add wlcore: Add RX_BA_WIN_SIZE_CHANGE_EVENT event bbd839a40dde wlcore: Pass win_size taken from ieee80211_sta to FW 5d7ab8339a9a xen: Revert commits da72ff5bfcb0 and 72a9b186292d 93862955cbf4 f2fs: sanity check segment count 265d382cc8db net: mdio-mux: bcm-iproc: call mdiobus_free() in error path ced0a31e667f bpf: don't let ldimm64 leak map addresses on unprivileged e37aab9c63b8 bnxt_en: allocate enough space for ->ntp_fltr_bmap 8795ee7bed24 ipv6: reorder ip6_route_dev_notifier after ipv6_dev_notf ecbd3ed2ddfe ipv6: initialize route null entry in addrconf_init() 5d8e07740c69 rtnetlink: NUL-terminate IFLA_PHYS_PORT_NAME string f19065308601 ipv4, ipv6: ensure raw socket message is big enough to hold an IP header 747a00193f26 tcp: do not inherit fastopen_req from parent 78f032b071c1 net: usb: qmi_wwan: add Telit ME910 support 0f4ac291a768 net: ipv6: Do not duplicate DAD on link up 91260baa9d67 tcp: fix wraparound issue in tcp_lp 493d0a7be31c bpf, arm64: fix jit branch offset related to ldimm64 7bca0a9702ed bpf: enhance verifier to understand stack pointer arithmetic f3235cbd5be1 tcp: do not underestimate skb->truesize in tcp_trim_head() 3b0129d4111e macsec: dynamically allocate space for sglist 22d6b013ffcf sparc64: fix fault handling in NGbzero.S and GENbzero.S 7aa0e14336d9 ALSA: hda - Fix deadlock of controller device lock at unbinding 170e0abd886b staging: emxx_udc: remove incorrect __init annotations d8e94d091376 staging: wlan-ng: add missing byte order conversion 47b7257fc20f staging/lustre/llite: move root_squash from sysfs to debugfs 0b77c687d4e0 brcmfmac: Make skb header writable before use f73dfc29afa6 brcmfmac: Ensure pointer correctly set if skb data location changes b0e2e3acfe8e MIPS: R2-on-R6 MULTU/MADDU/MSUBU emulation bugfix 2d652d0abd3c scsi: smartpqi: fix time handling a46d03e35179 scsi: mac_scsi: Fix MAC_SCSI=m option when SCSI=m 76aa65a2c0fd scsi: qla2xxx: Fix crash in qla2xxx_eh_abort on bad ptr 71fd9a94bd3f serial: 8250_omap: Fix probe and remove for PM runtime 115fb7ec22b5 phy: qcom-usb-hs: Add depends on EXTCON 52dd14d76812 clk: rockchip: add "," to mux_pll_src_apll_dpll_gpll_usb480m_p on rk3036 6fa44d4ba212 USB: serial: io_edgeport: fix descriptor error handling 62b8b773ebde USB: serial: mct_u232: fix modem-status error handling e17c48c3280e USB: serial: quatech2: fix control-message error handling 594c9b4b0acb USB: serial: ftdi_sio: fix latency-timer error handling ca4e6525df05 USB: serial: ark3116: fix open error handling 94bbbfe21b5a USB: serial: ti_usb_3410_5052: fix control-message error handling b07e930d1f49 USB: serial: io_edgeport: fix epic-descriptor handling 4d32e36d6262 USB: serial: ssu100: fix control-message error handling 9ca301067502 USB: serial: digi_acceleport: fix incomplete rx sanity check 84443215cf54 USB: serial: keyspan_pda: fix receive sanity checks b6c17077e056 usb: chipidea: Handle extcon events properly 8eb8c9b16fdd usb: chipidea: Only read/write OTGSC from one place 4a36b6a7ee88 usb: host: ohci-exynos: Decrese node refcount on exynos_ehci_get_phy() error paths 8f50cb88d862 usb: host: ehci-exynos: Decrese node refcount on exynos_ehci_get_phy() error paths 30643b5ac754 usb: dwc2: host: use msleep() for long delay d0ee36354f77 KVM: nVMX: do not leak PML full vmexit to L1 560a979735f4 KVM: nVMX: initialize PML fields in vmcs02 39058adebbb1 Revert "KVM: nested VMX: disable perf cpuid reporting" b6cd52a0eeaf x86/platform/intel-mid: Correct MSI IRQ line for watchdog device 1eae95d4bc03 kprobes/x86: Fix kernel panic when certain exception-handling addresses are probed c9f617223904 clk: Make x86/ conditional on CONFIG_COMMON_CLK 1f0c69cfb2ad x86/mpx: Re-add MPX to selftests Makefile 56e524a8c305 x86/pci-calgary: Fix iommu_free() comparison of unsigned expression >= 0 5ed26fad2d08 x86/ioapic: Restore IO-APIC irq_chip retrigger callback 3b141e2965a7 iwlwifi: mvm: writing zero bytes to debugfs causes a crash 1fb264cf7d54 iwlwifi: mvm: synchronize firmware DMA paging memory 495f91630205 iwlwifi: mvm: fix references to first_agg_queue in DQA mode 4d6f2ac95bc5 iwlwifi: mvm: fix pending frame counter calculation 48aa5ec292f3 iwlwifi: mvm/pcie: adjust A-MSDU tx_cmd length in PCIe 04dd401a5145 iwlwifi: mvm: Use aux queue for offchannel frames in dqa a6fe39262c51 iwlwifi: mvm: fix reorder timer re-arming 20a9de99a0da iwlwifi: pcie: fix the set of DMA memory mask 562c868d94a8 iwlwifi: pcie: trans: Remove unused 'shift_param' 9c8655c0a860 iwlwifi: pcie: don't increment / decrement a bool 948634492b40 iwlwifi: mvm: overwrite skb info later 45dad03aca55 iwlwifi: mvm: don't restart HW if suspend fails with unified image d0a8075ffe05 iwlwifi: fix MODULE_FIRMWARE for 6030 9291cabe094b mwifiex: Avoid skipping WEP key deletion for AP dcdeaa743342 mwifiex: remove redundant dma padding in AMSDU 525fda9221a8 mwifiex: debugfs: Fix (sometimes) off-by-1 SSID print 1d61da618969 ARM: dts: sun7i: lamobo-r1: Fix CPU port RGMII settings ebae7681697d ARM: OMAP5 / DRA7: Fix HYP mode boot for thumb2 build f4bff2c44dc9 ARM: dts: NSP: GPIO reboot open-source 329607b4864d leds: ktd2692: avoid harmless maybe-uninitialized warning f46fdb8a2611 arm64: Improve detection of user/non-user mappings in set_pte(_at) aadb7e073e81 arm: dts: qcom: Fix ipq board clock rates e33fb57428a1 arm64: dts: r8a7795: Mark EthernetAVB device node disabled e7b34f4a74f6 power: supply: bq24190_charger: Handle fault before status on interrupt 7f2b4ad9c07a power: supply: bq24190_charger: Don't read fault register outside irq_handle_thread() 4b7dac0a23b7 power: supply: bq24190_charger: Call power_supply_changed() for relevant component 63e1acc84d28 power: supply: bq24190_charger: Install irq_handler_thread() at end of probe() 20e448f2251c power: supply: bq24190_charger: Call set_mode_host() on pm_resume() d8d6aedd54ce power: supply: bq24190_charger: Fix irq trigger to IRQF_TRIGGER_FALLING 89e8bd3add69 perf/x86/intel/pt: Add format strings for PTWRITE and power event tracing 1641bb14e8be powerpc: Correctly disable latent entropy GCC plugin on prom_init.o b47a6b40655b powerpc/ftrace: Fix confusing help text for DISABLE_MPROFILE_KERNEL 50e027728915 powerpc/powernv: Fix opal_exit tracepoint opcode 754a2bcfd8b1 powerpc/mm: Fixup wrong LPCR_VRMASD value a19718bd0b19 cpupower: Fix turbo frequency reporting for pre-Sandy Bridge cores 4f39fcce99d7 power: supply: lp8788: prevent out of bounds array access ccef31d22e80 crypto: caam - fix error path for ctx_dma mapping failure 819e3601d3c5 tmp: use pdev for parent device in tpm_chip_alloc 326f9b0a39d3 tpm: fix RC value check in tpm2_seal_trusted a941f261c8f1 hwmon: (it87) Fix pwm4 detection for IT8620 and IT8628 898c6bbfc88d drm/sti: fix GDP size to support up to UHD resolution f5ca890f138d 9p: fix a potential acl leak Signed-off-by: Bruce Ashfield Signed-off-by: Ross Burton (cherry picked from commit d26a362b6bcee7e5e745b76bd6fb5ef94697bf22) Signed-off-by: Armin Kuster --- meta/recipes-kernel/linux/linux-yocto-rt_4.9.bb | 6 +++--- meta/recipes-kernel/linux/linux-yocto-tiny_4.9.bb | 6 +++--- meta/recipes-kernel/linux/linux-yocto_4.9.bb | 20 ++++++++++---------- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_4.9.bb b/meta/recipes-kernel/linux/linux-yocto-rt_4.9.bb index cf584be..3bfa24b 100644 --- a/meta/recipes-kernel/linux/linux-yocto-rt_4.9.bb +++ b/meta/recipes-kernel/linux/linux-yocto-rt_4.9.bb @@ -11,13 +11,13 @@ python () { raise bb.parse.SkipPackage("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it") } -SRCREV_machine ?= "f458d12de7f157fe050afc7c1fee08022876eae3" -SRCREV_meta ?= "de57de86e23493d9356fc4cc0e92a3df58a29032" +SRCREV_machine ?= "ab749ed8fd7beb6c63ec62a808eac8678db83810" +SRCREV_meta ?= "60dd89e2423aaa2e7be680db09be43d1f47471e0" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.9.git;branch=${KBRANCH};name=machine \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.9;destsuffix=${KMETA}" -LINUX_VERSION ?= "4.9.27" +LINUX_VERSION ?= "4.9.31" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_4.9.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_4.9.bb index 49047e9..8041c5f 100644 --- a/meta/recipes-kernel/linux/linux-yocto-tiny_4.9.bb +++ b/meta/recipes-kernel/linux/linux-yocto-tiny_4.9.bb @@ -4,13 +4,13 @@ KCONFIG_MODE = "--allnoconfig" require recipes-kernel/linux/linux-yocto.inc -LINUX_VERSION ?= "4.9.27" +LINUX_VERSION ?= "4.9.31" KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" -SRCREV_machine ?= "2c31d7a45ae75159a7d991abdeb7002a4493af7f" -SRCREV_meta ?= "de57de86e23493d9356fc4cc0e92a3df58a29032" +SRCREV_machine ?= "d2de43e42bb8a270e680aab1c8f2447bff0b3552" +SRCREV_meta ?= "60dd89e2423aaa2e7be680db09be43d1f47471e0" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/meta/recipes-kernel/linux/linux-yocto_4.9.bb b/meta/recipes-kernel/linux/linux-yocto_4.9.bb index e9fe077..ba43d5a 100644 --- a/meta/recipes-kernel/linux/linux-yocto_4.9.bb +++ b/meta/recipes-kernel/linux/linux-yocto_4.9.bb @@ -11,20 +11,20 @@ KBRANCH_qemux86 ?= "standard/base" KBRANCH_qemux86-64 ?= "standard/base" KBRANCH_qemumips64 ?= "standard/mti-malta64" -SRCREV_machine_qemuarm ?= "60c70a5e9f07f1485491dd44c6049e7da908656a" -SRCREV_machine_qemuarm64 ?= "2c31d7a45ae75159a7d991abdeb7002a4493af7f" -SRCREV_machine_qemumips ?= "f922c64ba89ca137ba2d5f75be79311dd6c5e229" -SRCREV_machine_qemuppc ?= "2c31d7a45ae75159a7d991abdeb7002a4493af7f" -SRCREV_machine_qemux86 ?= "2c31d7a45ae75159a7d991abdeb7002a4493af7f" -SRCREV_machine_qemux86-64 ?= "2c31d7a45ae75159a7d991abdeb7002a4493af7f" -SRCREV_machine_qemumips64 ?= "bfdb9d2cf36f5ded1cd8d03e58465d9f6250bba8" -SRCREV_machine ?= "2c31d7a45ae75159a7d991abdeb7002a4493af7f" -SRCREV_meta ?= "de57de86e23493d9356fc4cc0e92a3df58a29032" +SRCREV_machine_qemuarm ?= "734cdab9878ac73dbf43d8e7d14b07b9e3498c32" +SRCREV_machine_qemuarm64 ?= "d2de43e42bb8a270e680aab1c8f2447bff0b3552" +SRCREV_machine_qemumips ?= "59f4ca90a4bb47ce9c81508e3b8458b87f411d59" +SRCREV_machine_qemuppc ?= "d2de43e42bb8a270e680aab1c8f2447bff0b3552" +SRCREV_machine_qemux86 ?= "d2de43e42bb8a270e680aab1c8f2447bff0b3552" +SRCREV_machine_qemux86-64 ?= "d2de43e42bb8a270e680aab1c8f2447bff0b3552" +SRCREV_machine_qemumips64 ?= "5b396803703aa5c1bd1e6f5cc7ac02de05cd0d08" +SRCREV_machine ?= "d2de43e42bb8a270e680aab1c8f2447bff0b3552" +SRCREV_meta ?= "60dd89e2423aaa2e7be680db09be43d1f47471e0" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.9.git;name=machine;branch=${KBRANCH}; \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.9;destsuffix=${KMETA}" -LINUX_VERSION ?= "4.9.27" +LINUX_VERSION ?= "4.9.31" PV = "${LINUX_VERSION}+git${SRCPV}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:38:34 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:38:34 +0000 Subject: [oe-commits] [openembedded-core] 39/43: linux-yocto/4.4: update to v4.4.71 In-Reply-To: <150119145067.27158.18187262855008938611@git.openembedded.org> References: <150119145067.27158.18187262855008938611@git.openembedded.org> Message-ID: <20170727213733.509DB234F3E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch pyro in repository openembedded-core. commit e49b3ca1633db277de1e30e8ccfae23c3babf863 Author: Bruce Ashfield AuthorDate: Thu Jun 8 15:21:56 2017 -0400 linux-yocto/4.4: update to v4.4.71 Updating the the latest 4.4 -stable release which comprises the following commits: 4bbbc7696405 Linux 4.4.71 9d65be36a7cc xfs: only return -errno or success from attr ->put_listent 1b03d85a4f37 xfs: in _attrlist_by_handle, copy the cursor back to userspace c56605c69ba6 xfs: fix unaligned access in xfs_btree_visit_blocks 9f7b5da0570f xfs: bad assertion for delalloc an extent that start at i_size 3ba13d7f5b2b xfs: fix indlen accounting error on partial delalloc conversion 1d41dd5c1fd6 xfs: wait on new inodes during quotaoff dquot release 9d97d6a15265 xfs: update ag iterator to support wait on new inodes 8e25af0dc5ad xfs: support ability to wait on new inodes cf55c35974e1 xfs: fix up quotacheck buffer list error handling a76647a71c8e xfs: prevent multi-fsb dir readahead from reading random blocks 8caa9a54b32b xfs: handle array index overrun in xfs_dir2_leaf_readbuf() 0ace12c11401 xfs: fix over-copying of getbmap parameters from userspace fe705621b9b4 xfs: fix off-by-one on max nr_pages in xfs_find_get_desired_pgoff() b9a7816997a3 xfs: Fix missed holes in SEEK_HOLE implementation 03489bfc7830 mlock: fix mlock count can not decrease in race condition 7e13bab109ea mm/migrate: fix refcount handling when !hugepage_migration_supported() 4e4b72c0ee3d drm/gma500/psb: Actually use VBT mode when it is found 14bfe118dd7d slub/memcg: cure the brainless abuse of sysfs attributes 023a8b0925be ALSA: hda - apply STAC_9200_DELL_M22 quirk for Dell Latitude D430 85ddc41a6c4a pcmcia: remove left-over %Z format 69877793e23d drm/radeon: Unbreak HPD handling for r600+ 15de2e4c90b7 drm/radeon/ci: disable mclk switching for high refresh rates (v2) 3529600b1601 scsi: mpt3sas: Force request partial completion alignment 58b7cb10f6e2 HID: wacom: Have wacom_tpc_irq guard against possible NULL dereference c0fd730b678d mmc: sdhci-iproc: suppress spurious interrupt with Multiblock read 2ca57fc82436 i2c: i2c-tiny-usb: fix buffer not being DMA capable 1b5286ba9f13 vlan: Fix tcp checksum offloads in Q-in-Q vlans e989f9bf2a9d net: phy: marvell: Limit errata to 88m1101 605b6b2b4d8a netem: fix skb_orphan_partial() 338f665acb4b ipv4: add reference counting to metrics 97f54575ff57 sctp: fix ICMP processing if skb is non-linear fe22b6005538 tcp: avoid fastopen API to be used on AF_UNSPEC d7ed7fcecf20 virtio-net: enable TSO/checksum offloads for Q-in-Q vlans 8380f16d0702 be2net: Fix offload features for Q-in-Q packets 38f02f2ce0ca ipv6: fix out of bound writes in __ip6_append_data() 3a854210f9a5 bridge: start hello_timer when enabling KERNEL_STP in br_stp_start b543ccc4f627 qmi_wwan: add another Lenovo EM74xx device ID 94c0bf3cbb99 bridge: netlink: check vlan_default_pvid range f76d54a8882e ipv6: Check ip6_find_1stfragopt() return value properly. 017fabead5c2 ipv6: Prevent overrun when parsing v6 header options 640bfcf232a9 net: Improve handling of failures on link and route dumps 7ede5c90fcdd tcp: eliminate negative reordering in tcp_clean_rtx_queue ffa551def59c sctp: do not inherit ipv6_{mc|ac|fl}_list from parent 704e6c6b8651 sctp: fix src address selection if using secondary addresses for ipv6 90e3f8a55871 tcp: avoid fragmenting peculiar skbs in SACK 182abc4e74a1 s390/qeth: avoid null pointer dereference on OSN 21b871582375 s390/qeth: unbreak OSM and OSN support 2ac37098ee3d s390/qeth: handle sysfs error during initialization d1428ee54073 ipv6/dccp: do not inherit ipv6_mc_list from parent 5f67a1663c03 dccp/tcp: do not inherit mc_list from parent b9978c27454c sparc: Fix -Wstringop-overflow warning b409ba3b0535 Linux 4.4.70 837bfdb41337 drivers: char: mem: Check for address space wraparound with mmap() 52cf24769487 nfsd: encoders mustn't use unitialized values in error cases da922dc48dcf drm/edid: Add 10 bpc quirk for LGD 764 panel in HP zBook 17 G2 bc428e94070e PCI: Freeze PME scan before suspending devices 5f36c8b4e4a3 PCI: Fix pci_mmap_fits() for HAVE_PCI_RESOURCE_TO_USER platforms 6384f782a69c tracing/kprobes: Enforce kprobes teardown after testing d5fb96b955ff osf_wait4(): fix infoleak e07db0d720d3 genirq: Fix chained interrupt data ordering 1736f2b3de62 uwb: fix device quirk on big-endian hosts ca19dd15e7bb metag/uaccess: Check access_ok in strncpy_from_user 2d9b2e780832 metag/uaccess: Fix access_ok() 98d5e84363ea iommu/vt-d: Flush the IOTLB to get rid of the initial kdump mappings cb89b1f9dff9 staging: rtl8192e: rtl92e_get_eeprom_size Fix read size of EPROM_CMD. 427907e599fa staging: rtl8192e: fix 2 byte alignment of register BSSIDR. 8b26f53bf026 mm/huge_memory.c: respect FOLL_FORCE/FOLL_COW for thp f03484fd5a3a xc2028: Fix use-after-free bug properly e0188a556da6 arm64: documentation: document tagged pointer stack constraints 06dd8281a7d3 arm64: uaccess: ensure extension of access_ok() addr c23fee69f5b5 arm64: xchg: hazard against entire exchange variable acbab784a9b6 ARM: dts: at91: sama5d3_xplained: not all ADC channels are available 6ae3be7167b7 ARM: dts: at91: sama5d3_xplained: fix ADC vref 1ab43a598996 powerpc/64e: Fix hang when debugging programs with relocated kernel 33c0c0f8edb9 powerpc/pseries: Fix of_node_put() underflow during DLPAR remove a86b9ecf1158 powerpc/book3s/mce: Move add_taint() later in virtual mode f3ffc64bf3dd cx231xx-cards: fix NULL-deref at probe 3208e455284b cx231xx-audio: fix NULL-deref at probe bd14c18861c7 cx231xx-audio: fix init error path f7c778fa707d dvb-frontends/cxd2841er: define symbol_rate_min/max in T/C fe-ops e5a9ebb4387a zr364xx: enforce minimum size when reading header a6e0caa34715 dib0700: fix NULL-deref at probe a896652f6ad3 s5p-mfc: Fix unbalanced call to clock management fc9753aa6ce9 gspca: konica: add missing endpoint sanity check 04f522476a26 ceph: fix recursion between ceph_set_acl() and __ceph_setattr() 0e9e19a66530 iio: proximity: as3935: fix as3935_write 8a5b15e198f1 ipx: call ipxitf_put() in ioctl error path 4ae1efc7cc98 USB: hub: fix non-SS hub-descriptor handling af4e23402409 USB: hub: fix SS hub-descriptor handling 1e6e9c4c36f9 USB: serial: io_ti: fix div-by-zero in set_termios 4be0ae3d314c USB: serial: mct_u232: fix big-endian baud-rate handling 704f23f20c5e USB: serial: qcserial: add more Lenovo EM74xx device IDs 1c7f99aa2979 usb: serial: option: add Telit ME910 support 319be2ab4731 USB: iowarrior: fix info ioctl on big-endian hosts 1beae7405705 usb: musb: tusb6010_omap: Do not reset the other direction's packet size 5cbfae4ad360 ttusb2: limit messages to buffer size 9737909ff9d4 mceusb: fix NULL-deref at probe f05c0dfd394f usbvision: fix NULL-deref at probe 14d0cafd3f95 net: irda: irda-usb: fix firmware name on big-endian hosts ec0b553bd8df usb: host: xhci-mem: allocate zeroed Scratchpad Buffer c0791b605fac xhci: apply PME_STUCK_QUIRK and MISSING_CAS quirk for Denverton 65ba07489dcd usb: host: xhci-plat: propagate return value of platform_get_irq() ada79b5ecda7 sched/fair: Initialize throttle_count for new task-groups lazily f01ae9cb0de2 sched/fair: Do not announce throttled next buddy in dequeue_task_fair() ae3d7b8931eb fscrypt: avoid collisions when presenting long encrypted filenames 129a883b0191 f2fs: check entire encrypted bigname when finding a dentry 269d8211c400 fscrypt: fix context consistency check when key(s) unavailable 0aa3b8ef6975 net: qmi_wwan: Add SIMCom 7230E 22823e95193a ext4 crypto: fix some error handling 0a76f023e6f2 ext4 crypto: don't let data integrity writebacks fail with ENOMEM f0486aa7bc80 USB: serial: ftdi_sio: add Olimex ARM-USB-TINY(H) PIDs 16ac61cf707c USB: serial: ftdi_sio: fix setting latency for unprivileged users 6a70a5833ecc pid_ns: Fix race between setns'ed fork() and zap_pid_ns_processes() ddf9b92f12dd pid_ns: Sleep in TASK_INTERRUPTIBLE in zap_pid_ns_processes 060d2642682e iio: dac: ad7303: fix channel description 14323b731072 of: fix sparse warning in of_pci_range_parser_one 000959316365 proc: Fix unbalanced hard link numbers d22b933fb8eb cdc-acm: fix possible invalid access when processing notification e4add1cf6b41 drm/nouveau/tmr: handle races with hw when updating the next alarm time 9d78e40f5f41 drm/nouveau/tmr: avoid processing completed alarms when adding a new one 5e07724c28f4 drm/nouveau/tmr: fix corruption of the pending list when rescheduling an alarm 27f82df2f026 drm/nouveau/tmr: ack interrupt before processing alarms 3819271d8a5f drm/nouveau/therm: remove ineffective workarounds for alarm bugs 7d2d6022807a drm/amdgpu: Make display watermark calculations more accurate 349666cfbe76 drm/amdgpu: Avoid overflows/divide-by-zero in latency_watermark calculations. 670a7c5db22e ath9k_htc: fix NULL-deref at probe 8431037ba10b ath9k_htc: Add support of AirTies 1eda:2315 AR9271 device c26190b5378d s390/cputime: fix incorrect system time d1f8ea3bd095 s390/kdump: Add final note de74aedd71c0 regulator: tps65023: Fix inverted core enable logic. 6d380f50113c KVM: X86: Fix read out-of-bounds vulnerability in kvm pio emulation e9c9e7588ef5 KVM: x86: Fix load damaged SSEx MXCSR register 08e589a97d38 ima: accept previously set IMA_NEW_FILE 0c99c8a22cc4 mwifiex: pcie: fix cmd_buf use-after-free in remove/reset e367d1b00f81 rtlwifi: rtl8821ae: setup 8812ae RFE according to device type c5ff397f075e md: update slab_cache before releasing new stripes when stripes resizing d3df9403c075 dm space map disk: fix some book keeping in the disk space map 1dc9fb3cc12e dm thin metadata: call precommit before saving the roots ea4889d6f39d dm bufio: make the parameter "retain_bytes" unsigned long 4a9631ffe520 dm cache metadata: fail operations if fail_io mode has been established 8d8fb01a62f2 dm bufio: check new buffer allocation watermark every 30 seconds 5d1df36c9d2c dm bufio: avoid a possible ABBA deadlock 4df4bf1df916 dm raid: select the Kconfig option CONFIG_MD_RAID0 fa499b361bd4 dm btree: fix for dm_btree_find_lowest_key() c04397351fe5 infiniband: call ipv6 route lookup via the stub interface 63450e38efe3 tpm_crb: check for bad response size 025e33ee387a ARM: tegra: paz00: Mark panel regulator as enabled on boot b171ce6c5e41 USB: core: replace %p with %pK cda5c7e625ce char: lp: fix possible integer overflow in lp_setup() ea99c2248495 watchdog: pcwd_usb: fix NULL-deref at probe ca157f64dc9c USB: ene_usb6250: fix DMA to the stack b572de59915e usb: misc: legousbtower: Fix memory leak 8a7f9dfbd4ae usb: misc: legousbtower: Fix buffers on stack bb56ca291305 Linux 4.4.69 35df2085ec02 ipmi: Fix kernel panic at ipmi_ssif_thread() d4392269f7ce wlcore: Add RX_BA_WIN_SIZE_CHANGE_EVENT event 4b86b46ef410 wlcore: Pass win_size taken from ieee80211_sta to FW 8ef67e0078b3 mac80211: RX BA support for sta max_rx_aggregation_subframes d13333edbcc7 mac80211: pass block ack session timeout to to driver 0fe94dd915fd mac80211: pass RX aggregation window size to driver f85e0c5f592c Bluetooth: hci_intel: add missing tty-device sanity check bf3feec82ce3 Bluetooth: hci_bcm: add missing tty-device sanity check ff1c4cf24642 Bluetooth: Fix user channel for 32bit userspace on 64bit kernel 9bd2cc56a089 tty: pty: Fix ldisc flush after userspace become aware of the data already 814c2bac9032 serial: omap: suspend device on probe errors a52e1012585f serial: omap: fix runtime-pm handling on unbind 605fa1a2aa03 serial: samsung: Use right device for DMA-mapping calls db467fee7ffb arm64: KVM: Fix decoding of Rt/Rt2 when trapping AArch32 CP accesses f08bc4d63377 padata: free correct variable 9f4ba9062c2c CIFS: add misssing SFM mapping for doublequote 9a4050669919 cifs: fix CIFS_IOC_GET_MNT_INFO oops a8900a64eabf CIFS: fix mapping of SFM_SPACE and SFM_PERIOD b85fa4129e7a SMB3: Work around mount failure when using SMB3 dialect to Macs 89d23005fd63 Set unicode flag on cifs echo request to avoid Mac error 7aad381af8c3 fs/block_dev: always invalidate cleancache in invalidate_bdev() bb7031c7e50f ceph: fix memory leak in __ceph_setxattr() eb04a7344c83 fs/xattr.c: zero out memory copied to userspace in getxattr a3e6be0e9447 ext4: evict inline data when writing to memory map ab7ebca418bb IB/mlx4: Reduce SRIOV multicast cleanup warning message to debug level 1ad689bdc12d IB/mlx4: Fix ib device initialization error flow 1360f4301c78 IB/IPoIB: ibX: failed to create mcg debug file 1549c883d39b IB/core: Fix sysfs registration error flow d96bb545d6ff vfio/type1: Remove locked page accounting workqueue 341adf516842 dm era: save spacemap metadata root after the pre-commit dcd4004ae521 crypto: algif_aead - Require setkey before accept(2) 21cb4dc57b3c block: fix blk_integrity_register to use template's interval_exp if not 0 cbaeca8251bb KVM: arm/arm64: fix races in kvm_psci_vcpu_on 7b268351860c KVM: x86: fix user triggerable warning in kvm_apic_accept_events() a2d5dcf338ea um: Fix PTRACE_POKEUSER on x86_64 b8cd9dd513bf x86, pmem: Fix cache flushing for iovec write < 8 bytes d34ecdc9712c selftests/x86/ldt_gdt_32: Work around a glibc sigaction() bug e89233f53e3d x86/boot: Fix BSS corruption/overwrite bug in early x86 kernel startup 3d3ca81d5e35 usb: hub: Do not attempt to autosuspend disconnected devices 0b4dad7c2cf4 usb: hub: Fix error loop seen after hub communication errors 7cad8a47ca94 usb: Make sure usb/phy/of gets built-in 6c3785cca656 usb: misc: add missing continue in switch d3c04901f750 staging: comedi: jr3_pci: cope with jiffies wraparound 7fc6659b19a2 staging: comedi: jr3_pci: fix possible null pointer dereference 5ac489a80ffb staging: gdm724x: gdm_mux: fix use-after-free on module unload 265500bf9802 staging: vt6656: use off stack for out buffer USB transfers. 9d3c45786f27 staging: vt6656: use off stack for in buffer USB transfers. de9d2d297ebe USB: Proper handling of Race Condition when two USB class drivers try to call init_usb_class simultaneously fcd9a083cd22 USB: serial: ftdi_sio: add device ID for Microsemi/Arrow SF2PLUS Dev Kit af3c8bf0e06b usb: host: xhci: print correct command ring address 8e1a740a5d66 iscsi-target: Set session_fall_back_to_erl0 when forcing reinstatement 6cd0200a9554 target: Convert ACL change queue_depth se_session reference usage de41b0e12d6e target/fileio: Fix zero-length READ and WRITE handling a1c2b01c310a target: Fix compare_and_write_callback handling for non GOOD status 8e209a07b106 xen: adjust early dom0 p2m handling to xen hypervisor behavior Signed-off-by: Bruce Ashfield Signed-off-by: Ross Burton (cherry picked from commit 2e7d1a42b14de6f47543186f7855658a2ec36397) Signed-off-by: Armin Kuster --- meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb | 6 +++--- meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb | 6 +++--- meta/recipes-kernel/linux/linux-yocto_4.4.bb | 20 ++++++++++---------- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb b/meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb index 3946e1d..4ad7990 100644 --- a/meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb +++ b/meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb @@ -11,13 +11,13 @@ python () { raise bb.parse.SkipPackage("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it") } -SRCREV_machine ?= "cb23b8e3ce0ad77acb717e249b4821c8350f1c83" -SRCREV_meta ?= "877a7cd7da402200aab62dcc8583134d0947fa30" +SRCREV_machine ?= "b0b44854bfb7f7ea10890ab8d8fff936be7e37da" +SRCREV_meta ?= "c3f8900923a7b56ea6231d31a1a4e81306156dc5" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.4.git;branch=${KBRANCH};name=machine \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.4;destsuffix=${KMETA}" -LINUX_VERSION ?= "4.4.67" +LINUX_VERSION ?= "4.4.71" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb index 0bc9205..3f987a9 100644 --- a/meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb +++ b/meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb @@ -4,13 +4,13 @@ KCONFIG_MODE = "--allnoconfig" require recipes-kernel/linux/linux-yocto.inc -LINUX_VERSION ?= "4.4.67" +LINUX_VERSION ?= "4.4.71" KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" -SRCREV_machine ?= "98b9340a7858f786f5ff7d50021ef83eaad0613d" -SRCREV_meta ?= "877a7cd7da402200aab62dcc8583134d0947fa30" +SRCREV_machine ?= "268676407913f5d496cde6cbf4052eb5acaf6237" +SRCREV_meta ?= "c3f8900923a7b56ea6231d31a1a4e81306156dc5" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/meta/recipes-kernel/linux/linux-yocto_4.4.bb b/meta/recipes-kernel/linux/linux-yocto_4.4.bb index 5895318..2643415 100644 --- a/meta/recipes-kernel/linux/linux-yocto_4.4.bb +++ b/meta/recipes-kernel/linux/linux-yocto_4.4.bb @@ -11,20 +11,20 @@ KBRANCH_qemux86 ?= "standard/base" KBRANCH_qemux86-64 ?= "standard/base" KBRANCH_qemumips64 ?= "standard/mti-malta64" -SRCREV_machine_qemuarm ?= "114f5a4f97fe44ac95c3e0ed370bd932b9296510" -SRCREV_machine_qemuarm64 ?= "98b9340a7858f786f5ff7d50021ef83eaad0613d" -SRCREV_machine_qemumips ?= "b0b3b8012a49293e98ba7601af03ee2e02ddbc85" -SRCREV_machine_qemuppc ?= "98b9340a7858f786f5ff7d50021ef83eaad0613d" -SRCREV_machine_qemux86 ?= "98b9340a7858f786f5ff7d50021ef83eaad0613d" -SRCREV_machine_qemux86-64 ?= "98b9340a7858f786f5ff7d50021ef83eaad0613d" -SRCREV_machine_qemumips64 ?= "a9b8241a0c0e7626baba529abb4940831ff3a83e" -SRCREV_machine ?= "98b9340a7858f786f5ff7d50021ef83eaad0613d" -SRCREV_meta ?= "877a7cd7da402200aab62dcc8583134d0947fa30" +SRCREV_machine_qemuarm ?= "dbf351c65cf492518339ac1ee0ecb02de4beb313" +SRCREV_machine_qemuarm64 ?= "268676407913f5d496cde6cbf4052eb5acaf6237" +SRCREV_machine_qemumips ?= "80509fd80a3457f74c716e5018378efb75a35934" +SRCREV_machine_qemuppc ?= "268676407913f5d496cde6cbf4052eb5acaf6237" +SRCREV_machine_qemux86 ?= "268676407913f5d496cde6cbf4052eb5acaf6237" +SRCREV_machine_qemux86-64 ?= "268676407913f5d496cde6cbf4052eb5acaf6237" +SRCREV_machine_qemumips64 ?= "dfd0bad7365562bf39b16630c59dcb4b18a09396" +SRCREV_machine ?= "268676407913f5d496cde6cbf4052eb5acaf6237" +SRCREV_meta ?= "c3f8900923a7b56ea6231d31a1a4e81306156dc5" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.4.git;name=machine;branch=${KBRANCH}; \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.4;destsuffix=${KMETA}" -LINUX_VERSION ?= "4.4.67" +LINUX_VERSION ?= "4.4.71" PV = "${LINUX_VERSION}+git${SRCPV}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:38:38 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:38:38 +0000 Subject: [oe-commits] [openembedded-core] 43/43: classes/staging: change fixme debug message from note to debug In-Reply-To: <150119145067.27158.18187262855008938611@git.openembedded.org> References: <150119145067.27158.18187262855008938611@git.openembedded.org> Message-ID: <20170727213733.6E0BA234F39@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch pyro in repository openembedded-core. commit 81246ed59215b8f62800cfb20d8b71d8e528c0ec Author: Paul Eggleton AuthorDate: Thu Jul 20 16:48:07 2017 +0200 classes/staging: change fixme debug message from note to debug These messages were added for debugging during the recipe specific sysroot work. They may still be useful but they don't need to be notes - if they are they show up in recipetool / devtool output when fetching source. (From OE-Core rev: a0e93d5c5dcf59d1898a3db727a5ab2d75e3d20e) Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie (cherry picked from commit bc1a4af950a2600028d89b7dcb4ff8f409b52739) Signed-off-by: Armin Kuster --- meta/classes/staging.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/classes/staging.bbclass b/meta/classes/staging.bbclass index 9c26794..a0b74a2 100644 --- a/meta/classes/staging.bbclass +++ b/meta/classes/staging.bbclass @@ -252,7 +252,7 @@ def staging_processfixme(fixme, target, recipesysroot, recipesysrootnative, d): for fixmevar in ['COMPONENTS_DIR', 'HOSTTOOLS_DIR', 'PKGDATA_DIR']: fixme_path = d.getVar(fixmevar) cmd += " -e 's:FIXME_%s:%s:g'" % (fixmevar, fixme_path) - bb.note(cmd) + bb.debug(2, cmd) subprocess.check_output(cmd, shell=True) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:38:35 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:38:35 +0000 Subject: [oe-commits] [openembedded-core] 40/43: kernel-yocto/meta: smp configuration changes In-Reply-To: <150119145067.27158.18187262855008938611@git.openembedded.org> References: <150119145067.27158.18187262855008938611@git.openembedded.org> Message-ID: <20170727213733.57DFC234F38@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch pyro in repository openembedded-core. commit e418a0652ef021d84db46ccee106ec91658b3e61 Author: Bruce Ashfield AuthorDate: Mon Jul 3 22:57:45 2017 -0400 kernel-yocto/meta: smp configuration changes Integrating the following kernel configuration changes to clean up the SMP configuration fragments and fix a configuration audit warning. d0e5ea0e199b smp: Separate smp into 32 and 64 bit versions to avoid kernel warnings f1369c1d817e bsp/mohonpeak: smp gets added by default, remove unnecessary include 6fc22aa1200b bsp/rangeley: smp gets added by default, remove unnecessary include [YOCTO #11743] Signed-off-by: Alejandro Hernandez Signed-off-by: Bruce Ashfield Signed-off-by: Ross Burton (cherry picked from commit 6bd4f855cfc95c82d6bf5b00531f1aad752002ee) Signed-off-by: Armin Kuster --- meta/recipes-kernel/linux/linux-yocto-rt_4.10.bb | 2 +- meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb | 2 +- meta/recipes-kernel/linux/linux-yocto-rt_4.9.bb | 2 +- meta/recipes-kernel/linux/linux-yocto-tiny_4.10.bb | 2 +- meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb | 2 +- meta/recipes-kernel/linux/linux-yocto-tiny_4.9.bb | 2 +- meta/recipes-kernel/linux/linux-yocto_4.10.bb | 2 +- meta/recipes-kernel/linux/linux-yocto_4.4.bb | 2 +- meta/recipes-kernel/linux/linux-yocto_4.9.bb | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_4.10.bb b/meta/recipes-kernel/linux/linux-yocto-rt_4.10.bb index f25974c..e804d89 100644 --- a/meta/recipes-kernel/linux/linux-yocto-rt_4.10.bb +++ b/meta/recipes-kernel/linux/linux-yocto-rt_4.10.bb @@ -12,7 +12,7 @@ python () { } SRCREV_machine ?= "6648a34e00c55a0634b39e661dd6ba14dd106473" -SRCREV_meta ?= "4b89f331d4220f6f62d20ef60aa59edcd9b44106" +SRCREV_meta ?= "e92bd55409a6ded89642f5ac22391487364ac798" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.10.git;branch=${KBRANCH};name=machine \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.10;destsuffix=${KMETA}" diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb b/meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb index 4ad7990..f423604 100644 --- a/meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb +++ b/meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb @@ -12,7 +12,7 @@ python () { } SRCREV_machine ?= "b0b44854bfb7f7ea10890ab8d8fff936be7e37da" -SRCREV_meta ?= "c3f8900923a7b56ea6231d31a1a4e81306156dc5" +SRCREV_meta ?= "d0e5ea0e199b591cc7588dc80b6ec07ea05f74b8" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.4.git;branch=${KBRANCH};name=machine \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.4;destsuffix=${KMETA}" diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_4.9.bb b/meta/recipes-kernel/linux/linux-yocto-rt_4.9.bb index 3bfa24b..f0e9180 100644 --- a/meta/recipes-kernel/linux/linux-yocto-rt_4.9.bb +++ b/meta/recipes-kernel/linux/linux-yocto-rt_4.9.bb @@ -12,7 +12,7 @@ python () { } SRCREV_machine ?= "ab749ed8fd7beb6c63ec62a808eac8678db83810" -SRCREV_meta ?= "60dd89e2423aaa2e7be680db09be43d1f47471e0" +SRCREV_meta ?= "299f12a06ca1d6fd90b24450dae3b9f257a536be" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.9.git;branch=${KBRANCH};name=machine \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.9;destsuffix=${KMETA}" diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_4.10.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_4.10.bb index 2e98914..f58799b 100644 --- a/meta/recipes-kernel/linux/linux-yocto-tiny_4.10.bb +++ b/meta/recipes-kernel/linux/linux-yocto-tiny_4.10.bb @@ -10,7 +10,7 @@ KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" SRCREV_machine ?= "6648a34e00c55a0634b39e661dd6ba14dd106473" -SRCREV_meta ?= "4b89f331d4220f6f62d20ef60aa59edcd9b44106" +SRCREV_meta ?= "e92bd55409a6ded89642f5ac22391487364ac798" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb index 3f987a9..868e70e 100644 --- a/meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb +++ b/meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb @@ -10,7 +10,7 @@ KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" SRCREV_machine ?= "268676407913f5d496cde6cbf4052eb5acaf6237" -SRCREV_meta ?= "c3f8900923a7b56ea6231d31a1a4e81306156dc5" +SRCREV_meta ?= "d0e5ea0e199b591cc7588dc80b6ec07ea05f74b8" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_4.9.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_4.9.bb index 8041c5f..482e38c 100644 --- a/meta/recipes-kernel/linux/linux-yocto-tiny_4.9.bb +++ b/meta/recipes-kernel/linux/linux-yocto-tiny_4.9.bb @@ -10,7 +10,7 @@ KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" SRCREV_machine ?= "d2de43e42bb8a270e680aab1c8f2447bff0b3552" -SRCREV_meta ?= "60dd89e2423aaa2e7be680db09be43d1f47471e0" +SRCREV_meta ?= "299f12a06ca1d6fd90b24450dae3b9f257a536be" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/meta/recipes-kernel/linux/linux-yocto_4.10.bb b/meta/recipes-kernel/linux/linux-yocto_4.10.bb index fa85b21..f3966d4 100644 --- a/meta/recipes-kernel/linux/linux-yocto_4.10.bb +++ b/meta/recipes-kernel/linux/linux-yocto_4.10.bb @@ -19,7 +19,7 @@ SRCREV_machine_qemux86 ?= "6648a34e00c55a0634b39e661dd6ba14dd106473" SRCREV_machine_qemux86-64 ?= "6648a34e00c55a0634b39e661dd6ba14dd106473" SRCREV_machine_qemumips64 ?= "b442c964432938cbe10c4cc578260353045af980" SRCREV_machine ?= "6648a34e00c55a0634b39e661dd6ba14dd106473" -SRCREV_meta ?= "4b89f331d4220f6f62d20ef60aa59edcd9b44106" +SRCREV_meta ?= "e92bd55409a6ded89642f5ac22391487364ac798" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.10.git;name=machine;branch=${KBRANCH}; \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.10;destsuffix=${KMETA}" diff --git a/meta/recipes-kernel/linux/linux-yocto_4.4.bb b/meta/recipes-kernel/linux/linux-yocto_4.4.bb index 2643415..48f4e94 100644 --- a/meta/recipes-kernel/linux/linux-yocto_4.4.bb +++ b/meta/recipes-kernel/linux/linux-yocto_4.4.bb @@ -19,7 +19,7 @@ SRCREV_machine_qemux86 ?= "268676407913f5d496cde6cbf4052eb5acaf6237" SRCREV_machine_qemux86-64 ?= "268676407913f5d496cde6cbf4052eb5acaf6237" SRCREV_machine_qemumips64 ?= "dfd0bad7365562bf39b16630c59dcb4b18a09396" SRCREV_machine ?= "268676407913f5d496cde6cbf4052eb5acaf6237" -SRCREV_meta ?= "c3f8900923a7b56ea6231d31a1a4e81306156dc5" +SRCREV_meta ?= "d0e5ea0e199b591cc7588dc80b6ec07ea05f74b8" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.4.git;name=machine;branch=${KBRANCH}; \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.4;destsuffix=${KMETA}" diff --git a/meta/recipes-kernel/linux/linux-yocto_4.9.bb b/meta/recipes-kernel/linux/linux-yocto_4.9.bb index ba43d5a..acfae37 100644 --- a/meta/recipes-kernel/linux/linux-yocto_4.9.bb +++ b/meta/recipes-kernel/linux/linux-yocto_4.9.bb @@ -19,7 +19,7 @@ SRCREV_machine_qemux86 ?= "d2de43e42bb8a270e680aab1c8f2447bff0b3552" SRCREV_machine_qemux86-64 ?= "d2de43e42bb8a270e680aab1c8f2447bff0b3552" SRCREV_machine_qemumips64 ?= "5b396803703aa5c1bd1e6f5cc7ac02de05cd0d08" SRCREV_machine ?= "d2de43e42bb8a270e680aab1c8f2447bff0b3552" -SRCREV_meta ?= "60dd89e2423aaa2e7be680db09be43d1f47471e0" +SRCREV_meta ?= "299f12a06ca1d6fd90b24450dae3b9f257a536be" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.9.git;name=machine;branch=${KBRANCH}; \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.9;destsuffix=${KMETA}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:38:36 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:38:36 +0000 Subject: [oe-commits] [openembedded-core] 41/43: linux-yocto/4.4: update to v4.4.76 In-Reply-To: <150119145067.27158.18187262855008938611@git.openembedded.org> References: <150119145067.27158.18187262855008938611@git.openembedded.org> Message-ID: <20170727213733.5F4E1234F3F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch pyro in repository openembedded-core. commit 32df1b2db46f6cf53a59eeca07a2c442f71bab55 Author: Bruce Ashfield AuthorDate: Mon Jul 10 13:06:11 2017 -0400 linux-yocto/4.4: update to v4.4.76 Integrating the -stable commit with the following changes: 4282d39575bf Linux 4.4.76 be8c39b47061 KVM: nVMX: Fix exception injection 77d977dd78b3 KVM: x86: zero base3 of unusable segments 3b1609f6c436 KVM: x86/vPMU: fix undefined shift in intel_pmu_refresh() b9b3eb5c774e KVM: x86: fix emulation of RSM and IRET instructions 3491a0b59fcd cpufreq: s3c2416: double free on driver init error path aad7041e721e iommu/amd: Fix incorrect error handling in amd_iommu_bind_pasid() 48952c6d517a iommu: Handle default domain attach failure 3de9630abe3b iommu/vt-d: Don't over-free page table directories 404ef3b4bf62 ocfs2: o2hb: revert hb threshold to keep compatible 5d650fcef901 x86/mm: Fix flush_tlb_page() on Xen 6fb3b322307e x86/mpx: Correctly report do_mpx_bt_fault() failures to user-space 7cd8c4903171 ARM: 8685/1: ensure memblock-limit is pmd-aligned d4960d58158b ARM64/ACPI: Fix BAD_MADT_GICC_ENTRY() macro implementation 6ca11db55f62 sched/loadavg: Avoid loadavg spikes caused by delayed NO_HZ accounting f6115ec09225 watchdog: bcm281xx: Fix use of uninitialized spinlock. f99737ce2e56 xfrm: Oops on error in pfkey_msg2xfrm_state() ac78351c96e8 xfrm: NULL dereference on allocation failure 398ac7a19f17 xfrm: fix stack access out of bounds with CONFIG_XFRM_SUB_POLICY 736b342cc9b4 jump label: fix passing kbuild_cflags when checking for asm goto support 53ae0c2ffef7 ravb: Fix use-after-free on `ifconfig eth0 down` db1323b77c2b sctp: check af before verify address in sctp_addr_id2transport d521e9c384f9 net/mlx4_core: Eliminate warning messages for SRQ_LIMIT under SRIOV 9837392c2b3e perf probe: Fix to show correct locations for events on modules 0593fa8f34a2 be2net: fix status check in be_cmd_pmac_add() 5416a88c2fef s390/ctl_reg: make __ctl_load a full memory barrier 9a536d587246 swiotlb: ensure that page-sized mappings are page-aligned 878f37efac3e coredump: Ensure proper size of sparse core files c20bdc08af9b x86/mpx: Use compatible types in comparison to fix sparse error 14339b018bc2 mac80211: initialize SMPS field in HT capabilities 11dd9e2c4803 spi: davinci: use dma_mapping_error() be91b09750bf scsi: lpfc: avoid double free of resource identifiers 4ac60b20f703 HID: i2c-hid: Add sleep between POWER ON and RESET 70f41003b9d1 kernel/panic.c: add missing \n e4272ebefc83 ibmveth: Add a proper check for the availability of the checksum features 8fa301abb31a vxlan: do not age static remote mac entries 00e83abf8e62 virtio_net: fix PAGE_SIZE > 64k c64f4194a65b vfio/spapr: fail tce_iommu_attach_group() when iommu_data is null d3be5e0471ab drm/amdgpu: check ring being ready before using 58a766c460b1 net: dsa: Check return value of phy_connect_direct() 3d2cbbcbde3d amd-xgbe: Check xgbe_init() return code dac30e3dbd72 platform/x86: ideapad-laptop: handle ACPI event 1 666c821b0ae3 scsi: virtio_scsi: Reject commands when virtqueue is broken 230fe9c7d814 xen-netfront: Fix Rx stall during network stress and OOM 8df98ff6c394 swiotlb-xen: update dev_addr after swapping pages 23c7f01691a1 virtio_console: fix a crash in config_work_handler 6e1116a0b3e2 Btrfs: fix truncate down when no_holes feature is enabled 961efcd54e5b gianfar: Do not reuse pages from emergency reserve 477a2359c881 powerpc/eeh: Enable IO path on permanent error e1db592de735 net: bgmac: Remove superflous netif_carrier_on() e66647f0e1ff net: bgmac: Start transmit queue in bgmac_open f01babed64e6 net: bgmac: Fix SOF bit checking 992048f8ae84 bgmac: Fix reversed test of build_skb() return value. ebfa83ab5a53 mtd: bcm47xxpart: don't fail because of bit-flips 1124701061d8 bgmac: fix a missing check for build_skb 11e4bb957f1a mtd: bcm47xxpart: limit scanned flash area on BCM47XX (MIPS) only e025a30dd8b0 MIPS: ralink: fix MT7628 wled_an pinmux gpio cd1fe5c31e91 MIPS: ralink: fix MT7628 pinmux typos c9336bbdd924 MIPS: ralink: Fix invalid assignment of SoC type ad310161f513 MIPS: ralink: fix USB frequency scaling 9a23a35a4fc6 MIPS: ralink: MT7688 pinmux fixes e1688f1677e6 net: korina: Fix NAPI versus resources freeing ef0cb4c9d496 MIPS: ath79: fix regression in PCI window initialization 753be27f77eb net: mvneta: Fix for_each_present_cpu usage 0012ba253767 ARM: dts: BCM5301X: Correct GIC_PPI interrupt flags 50e18570d8ea qla2xxx: Fix erroneous invalid handle message 8c721e38055a scsi: lpfc: Set elsiocb contexts to NULL after freeing it 5c982bac211c scsi: sd: Fix wrong DPOFUA disable in sd_read_cache_type b92f9f6a2c09 KVM: x86: fix fixing of hypercalls cdbf92675fad mm: numa: avoid waiting on freed migrated pages 21d7c733251a block: fix module reference leak on put_disk() call for cgroups throttle 2449a71eb982 sysctl: enable strict writes 1e0f216195a6 usb: gadget: f_fs: Fix possibe deadlock 04686ab28a35 drm/vmwgfx: Free hash table allocated by cmdbuf managed res mgr c70e2006d06a ALSA: hda - set input_path bitmap to zero after moving it to new place 11327be3570e ALSA: hda - Fix endless loop of codec configure db60a2ec9acc MIPS: Fix IRQ tracing & lockdep when rescheduling 93206654a0b2 MIPS: pm-cps: Drop manual cache-line alignment of ready_count cb611ead80a2 MIPS: Avoid accidental raw backtrace 74de12dbfa7c mm, swap_cgroup: reschedule when neeed in swap_cgroup_swapoff() a9e5044b6804 drm/ast: Handle configuration without P2A bridge 542442710021 NFSv4: fix a reference leak caused WARNING messages e052be55a598 netfilter: synproxy: fix conntrackd interaction 234e649840d1 netfilter: xt_TCPMSS: add more sanity tests on tcph->doff 095a41128cb6 rtnetlink: add IFLA_GROUP to ifla_policy 640a09c64ec6 ipv6: Do not leak throw route references 9de17701a3bc sfc: provide dummy definitions of vswitch functions 1f8bb6053249 net: 8021q: Fix one possible panic caused by BUG_ON in free_netdev f50f2e0cb1a3 decnet: always not take dst->__refcnt when inserting dst into hash table 93911697a9f2 net/mlx5: Wait for FW readiness before initializing command interface 0d1effe95ebe ipv6: fix calling in6_ifa_hold incorrectly for dad work 4feb6121aa5e igmp: add a missing spin_lock_init() ee8d5f9fd17e igmp: acquire pmc lock for ip_mc_clear_src() 7de53eed6fda net: caif: Fix a sleep-in-atomic bug in cfpkt_create_pfx 030a77d2f904 Fix an intermittent pr_emerg warning about lo becoming free. 0fc0fad07722 af_unix: Add sockaddr length checks before accessing sa_family in bind and connect handlers e2c3ee003280 net: Zero ifla_vf_info in rtnl_fill_vfinfo() dedb088a1d18 decnet: dn_rtmsg: Improve input length sanitization in dnrmg_receive_user_skb e79948e2d90b net: don't call strlen on non-terminated string in dev_set_alias() d68a4e380ff5 ipv6: release dst on error in ip6_dst_lookup_tail 6ee496d7218a Linux 4.4.75 cb7be08dee4e nvme: apply DELAY_BEFORE_CHK_RDY quirk at probe time too bddc80274a12 nvme/quirk: Add a delay before checking for adapter readiness e5f87c733842 net: phy: fix marvell phy status reading 9b54821d5184 net: phy: Initialize mdio clock at probe function 889caad4fbe4 usb: gadget: f_fs: avoid out of bounds access on comp_desc db7130d63fd8 powerpc/slb: Force a full SLB flush when we insert for a bad EA 8fcb215c5426 mtd: spi-nor: fix spansion quad enable 7dfea167fc1d of: Add check to of_scan_flat_dt() before accessing initial_boot_params eab38dfd66d7 rxrpc: Fix several cases where a padded len isn't checked in ticket decode 800d7454e50f USB: usbip: fix nonconforming hub descriptor 525e496a9722 drm/amdgpu: adjust default display clock 526527847355 drm/amdgpu/atom: fix ps allocation size for EnableDispPowerGating 4f3d0f468552 drm/radeon: add a quirk for Toshiba Satellite L20-183 f8242fa8119b drm/radeon: add a PX quirk for another K53TK variant fe8003da6113 iscsi-target: Reject immediate data underflow larger than SCSI transfer length d374be75f4c7 target: Fix kref->refcount underflow in transport_cmd_finish_abort 1fecf3977def time: Fix clock->read(clock) race around clocksource changes 255ad85b5ecc Input: i8042 - add Fujitsu Lifebook AH544 to notimeout list 3ee9033e228d powerpc/kprobes: Pause function_graph tracing during jprobes handling bc7b3e9984a8 signal: Only reschedule timers on signals timers have sent 005253ffe4ad HID: Add quirk for Dell PIXART OEM mouse 63ba840a53d6 CIFS: Improve readdir verbosity 824b9506e4f2 KVM: PPC: Book3S HV: Preserve userspace HTM state properly 7b88f761929e lib/cmdline.c: fix get_options() overflow while parsing ranges b95aa98e77d7 autofs: sanity check status reported with AUTOFS_DEV_IOCTL_FAIL 1d3d0f8b7cf7 fs/exec.c: account for argv/envp pointers 22da7ca81a3a Linux 4.4.74 1f2284fac218 mm: fix new crash in unmapped_area_topdown() f41512c6acb7 Allow stack to grow up to address space limit 4b359430674c mm: larger stack guard gap, between vmas 26605a06dd92 alarmtimer: Rate limit periodic intervals c24159adf222 MIPS: Fix bnezc/jialc return address calculation 94695386c79c usb: dwc3: exynos fix axius clock error path to do cleanup aac7fa215e8f alarmtimer: Prevent overflow of relative timers 4d4d501cd707 genirq: Release resources in __setup_irq() error path 6af90091b610 swap: cond_resched in swap_cgroup_prepare() bfbd244c5f18 mm/memory-failure.c: use compound_head() flags for huge pages f5dc61753d0e USB: gadgetfs, dummy-hcd, net2280: fix locking for callbacks 89c15994a06d usb: xhci: ASMedia ASM1042A chipset need shorts TX quirk 5efd37fe7218 drivers/misc/c2port/c2port-duramar2150.c: checking for NULL instead of IS_ERR() ab29b21a47ae usb: r8a66597-hcd: decrease timeout 4c7a6dd205cc usb: r8a66597-hcd: select a different endpoint on timeout 42c8b4b5fdca USB: gadget: dummy_hcd: fix hub-descriptor removable fields dc6ecba3f6c1 pvrusb2: reduce stack usage pvr2_eeprom_analyze() e33e866d1593 usb: core: fix potential memory leak in error path during hcd creation ec443ee0c2aa USB: hub: fix SS max number of ports 7e2ad8b207f2 iio: proximity: as3935: recalibrate RCO after resume 0c967139e832 staging: rtl8188eu: prevent an underflow in rtw_check_beacon_data() e59d91144545 mfd: omap-usb-tll: Fix inverted bit use for USB TLL mode 93d022e25642 x86/mm/32: Set the '__vmalloc_start_set' flag in initmem_init() c79aab7007d8 serial: efm32: Fix parity management in 'efm32_uart_console_get_options()' daebcf9871eb mac80211: fix IBSS presp allocation size bb8428f4c954 mac80211: fix CSA in IBSS mode 5f1f39023c2a mac80211/wpa: use constant time memory comparison for MACs 156f00663af6 mac80211: don't look at the PM bit of BAR frames a8686c968fe3 vb2: Fix an off by one error in 'vb2_plane_vaddr' fa90f02d511d cpufreq: conservative: Allow down_threshold to take values from 1 to 10 58ab7a86cdc2 can: gs_usb: fix memory leak in gs_cmd_reset() 0ad134d81c07 configfs: Fix race between create_link and configfs_rmdir 1bd30958ec55 Linux 4.4.73 39e84dcd7876 sparc64: make string buffers large enough d80aa84235ff s390/kvm: do not rely on the ILC on kvm host protection fauls afb415f72daa xtensa: don't use linux IRQ #0 8b1aa2679812 tipc: ignore requests when the connection state is not CONNECTED 77d2b8dc9597 proc: add a schedule point in proc_pid_readdir() 202776694c2a romfs: use different way to generate fsid for BLOCK or MTD 50ef0e2e9abe sctp: sctp_addr_id2transport should verify the addr before looking up assoc 70752628521d r8152: avoid start_xmit to schedule napi when napi is disabled 5270bf63719c r8152: fix rtl8152_post_reset function a4877e5564a5 r8152: re-schedule napi for tx 10bfb4c76c94 nfs: Fix "Don't increment lock sequence ID after NFS4ERR_MOVED" 82ce18b09bf1 ravb: unmap descriptors when freeing rings 3987a40362b7 drm/ast: Fixed system hanged if disable P2A ff20cc9a6086 drm/nouveau: Don't enabling polling twice on runtime resume 711f4797a339 parisc, parport_gsc: Fixes for printk continuation lines 9343894a8b3d net: adaptec: starfire: add checks for dma mapping errors 3926d04ddec2 pinctrl: berlin-bg4ct: fix the value for "sd1a" of pin SCRD0_CRD_PRES 6e3ea31dfb01 gianfar: synchronize DMA API usage by free_skb_rx_queue w/ gfar_new_page 2b9f84ef46d8 net/mlx4_core: Avoid command timeouts during VF driver device shutdown 6f0a81edb918 drm/nouveau/fence/g84-: protect against concurrent access to semaphore buffers 9c7a11e6f994 drm/nouveau: prevent userspace from deleting client object 1507ea6df42e ipv6: fix flow labels when the traffic class is non-0 95a4659ee8d0 FS-Cache: Initialise stores_lock in netfs cookie 38481d7d43dd fscache: Clear outstanding writes when disabling a cookie b421d230dfa1 fscache: Fix dead object requeue e6b15f0fc7a6 ethtool: do not vzalloc(0) on registers dump 980660760aa7 log2: make order_base_2() behave correctly on const input value zero 55d0f89a1a0c kasan: respect /proc/sys/kernel/traceoff_on_warning 1948d0afe43e jump label: pass kbuild_cflags when checking for asm goto support 266e02bc69a2 PM / runtime: Avoid false-positive warnings from might_sleep_if() 8d228758f90f ipv6: Fix IPv6 packet loss in scenarios involving roaming + snooping switches ee0cd47799dd i2c: piix4: Fix request_region size 68cac0741246 sierra_net: Add support for IPv6 and Dual-Stack Link Sense Indications d95ffdd39566 sierra_net: Skip validating irrelevant fields for IDLE LSIs 716cca0a67ec net: hns: Fix the device being used for dma mapping during TX aacf9de1e239 NET: mkiss: Fix panic b9e9045d5e6b NET: Fix /proc/net/arp for AX.25 23287661af3e ipv6: Inhibit IPv4-mapped src address on the wire. 8faccb2b9442 ipv6: Handle IPv4-mapped src to in6addr_any dst. 10a762977267 net: xilinx_emaclite: fix receive buffer overflow 7f71f22a116f net: xilinx_emaclite: fix freezes due to unordered I/O 2ba464a4b748 Call echo service immediately after socket reconnect 691fe5610d58 staging: rtl8192e: rtl92e_fill_tx_desc fix write to mapped out memory. 3fc4d70453ee ARM: dts: imx6dl: Fix the VDD_ARM_CAP voltage for 396MHz operation b28c21baf28a partitions/msdos: FreeBSD UFS2 file systems are not recognized 0fb2a1fe6155 s390/vmem: fix identity mapping 30c9187fa8ed Linux 4.4.72 4e528eb9160b arm64: ensure extension of smp_store_release value 01ce16f40c97 arm64: armv8_deprecated: ensure extension of addr 51ff10e72fc2 usercopy: Adjust tests to deal with SMAP/PAN 746d48934f51 RDMA/qib,hfi1: Fix MR reference count leak on write with immediate 3ccf69562ac2 arm64: entry: improve data abort handling of tagged pointers 4eaef3651815 arm64: hw_breakpoint: fix watchpoint matching for tagged pointers bc5f31d34eab Make __xfs_xattr_put_listen preperly report errors. e8a1086ae191 NFSv4: Don't perform cached access checks before we've OPENed the file 533020828366 NFS: Ensure we revalidate attributes before using execute_ok() cb1fb15c8355 mm: consider memblock reservations for deferred memory initialization sizing 52d8b8ad2b4b net: better skb->sender_cpu and skb->napi_id cohabitation 3c0fcb52674a serial: sh-sci: Fix panic when serial console and DMA are enabled cc04a1433843 tty: Drop krefs for interrupted tty lock 983c09ebdbc2 drivers: char: mem: Fix wraparound check to allow mappings up to the end 9a9388953bdc ASoC: Fix use-after-free at card unregistration 54d12fbf54d4 ALSA: timer: Fix missing queue indices reset at SNDRV_TIMER_IOCTL_SELECT f5bc918760c8 ALSA: timer: Fix race between read and ioctl 5dffc1be6552 drm/nouveau/tmr: fully separate alarm execution/pending lists 74276868b455 drm/vmwgfx: Make sure backup_handle is always valid 619cc02fd85d drm/vmwgfx: limit the number of mip levels in vmw_gb_surface_define_ioctl() e4c05b3a751a drm/vmwgfx: Handle vmalloc() failure in vmw_local_fifo_reserve() e582b82c160a perf/core: Drop kernel samples even though :u is specified 1cfe1e9da629 powerpc/hotplug-mem: Fix missing endian conversion of aa_index 8c92870bdbf2 powerpc/numa: Fix percpu allocations to be NUMA aware fc7fb9430d70 powerpc/eeh: Avoid use after free in eeh_handle_special_event() 93d03807f395 scsi: qla2xxx: don't disable a not previously enabled PCI device f267b064a6e9 KVM: arm/arm64: Handle possible NULL stage2 pud when ageing pages 5c7955c8726c btrfs: fix memory leak in update_space_info failure path cc8c67cadc27 btrfs: use correct types for page indices in btrfs_page_exists_in_range 8fe4345d6a1d cxl: Fix error path on bad ioctl f0d2e153147e ufs_getfrag_block(): we only grab ->truncate_mutex on block creation path 34aa71cbd408 ufs_extend_tail(): fix the braino in calling conventions of ufs_new_fragments() d6bd1e7ec7d8 ufs: set correct ->s_maxsize 4c516dff07d7 ufs: restore maintaining ->i_blocks 1df45bb64396 fix ufs_isblockset() db9aafaf90b6 ufs: restore proper tail allocation 044470266a50 fs: add i_blocksize() c8acec90d9dd cpuset: consider dying css as offline fff08d245263 Input: elantech - add Fujitsu Lifebook E546/E557 to force crc_enabled ba9fe2e8072f drm/msm: Expose our reservation object when exporting a dmabuf. 934d0a9f9c65 target: Re-add check to reject control WRITEs with overflow data 94d3dafe96f3 cpufreq: cpufreq_register_driver() should return -ENODEV if init fails 2ff1edbbb29b stackprotector: Increase the per-task stack canary's random range from 32 bits to 64 bits on 64-bit platforms 1025503bcee9 random: properly align get_random_int_hash baae8c3c2e2a drivers: char: random: add get_random_long() ff7739a28719 iio: proximity: as3935: fix AS3935_INT mask 64276cdbd418 iio: light: ltr501 Fix interchanged als/ps register field a365c707d2ee staging/lustre/lov: remove set_fs() call from lov_getstripe() bd2e8f0a72c5 usb: chipidea: debug: check before accessing ci_role 942dcb0ffa9d usb: chipidea: udc: fix NULL pointer dereference if udc_start failed 6ff96a61bb20 usb: gadget: f_mass_storage: Serialize wake and sleep execution daa1357ff346 ext4: fix fdatasync(2) after extent manipulation operations 7b9694cb7bf2 ext4: keep existing extra fields when inode expands 08dc390b2745 ext4: fix SEEK_HOLE e9560c2df474 xen-netfront: cast grant table reference first to type int 17a58bdf3d63 xen-netfront: do not cast grant table reference to signed short 4467b3a14557 xen/privcmd: Support correctly 64KB page granularity when mapping memory 3340c0e11086 dmaengine: ep93xx: Always start from BASE0 3ff231a0d399 dmaengine: usb-dmac: Fix DMAOR AE bit definition 445d08a6be93 KVM: async_pf: avoid async pf injection when in guest mode 7b69d79732eb arm: KVM: Allow unaligned accesses at HYP c7740cbcc2c4 KVM: cpuid: Fix read/write out-of-bounds vulnerability in cpuid emulation a8bbdf1921fd kvm: async_pf: fix rcu_irq_enter() with irqs enabled e21ad4a956d4 nfsd: Fix up the "supattr_exclcreat" attributes 6a9b72248814 nfsd4: fix null dereference on replay 1f6791d4f208 drm/amdgpu/ci: disable mclk switching for high refresh rates (v2) a3a3a1cf538c crypto: gcm - wait for crypto op not signal safe 8096a6748a92 KEYS: fix freeing uninitialized memory in key_update() bc6be3433e69 KEYS: fix dereferencing NULL payload with nonzero length c94bea2e4bf5 ptrace: Properly initialize ptracer_cred on fork dd6a4b53d026 serial: ifx6x60: fix use-after-free on module unload 7816928f3435 arch/sparc: support NR_CPUS = 4096 8554f96c1656 sparc64: delete old wrap code c9215ca71390 sparc64: new context wrap 3e557fd99a22 sparc64: add per-cpu mm of secondary contexts 7e5551fbb864 sparc64: redefine first version e72963317bf1 sparc64: combine activate_mm and switch_mm 4c0cae481fae sparc64: reset mm cpumask after wrap 7047c2009be9 sparc: Machine description indices can vary 54e23c087f36 sparc64: mm: fix copy_tsb to correctly copy huge page TSBs 0774a35802e9 net: bridge: start hello timer only if device is up 9cbc6cbd9170 net: ethoc: enable NAPI before poll may be scheduled 45202cd2199c net: ping: do not abuse udp_poll() 406752726afc ipv6: Fix leak in ipv6_gso_segment(). 92d88e8a7adc vxlan: fix use-after-free on deletion f4c645f67e72 tcp: disallow cwnd undo when switching congestion control 03994b4b858f cxgb4: avoid enabling napi twice to the same queue 491809d0f8d8 ipv6: xfrm: Handle errors reported by xfrm6_find_1stfragopt() d02f4c962d35 bnx2x: Fix Multi-Cos Signed-off-by: Bruce Ashfield Signed-off-by: Ross Burton (cherry picked from commit ab2721fca72ed28f865b1ee3b7e33d9d09515d87) Signed-off-by: Armin Kuster --- meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb | 6 +++--- meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb | 6 +++--- meta/recipes-kernel/linux/linux-yocto_4.4.bb | 20 ++++++++++---------- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb b/meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb index f423604..04c6cb6 100644 --- a/meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb +++ b/meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb @@ -11,13 +11,13 @@ python () { raise bb.parse.SkipPackage("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it") } -SRCREV_machine ?= "b0b44854bfb7f7ea10890ab8d8fff936be7e37da" -SRCREV_meta ?= "d0e5ea0e199b591cc7588dc80b6ec07ea05f74b8" +SRCREV_machine ?= "be70c37e4c370a8fe2ffef9e3300a266085588c4" +SRCREV_meta ?= "fbb3579c4011befe15368fea05f600d37b3444ba" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.4.git;branch=${KBRANCH};name=machine \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.4;destsuffix=${KMETA}" -LINUX_VERSION ?= "4.4.71" +LINUX_VERSION ?= "4.4.76" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb index 868e70e..28f197e 100644 --- a/meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb +++ b/meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb @@ -4,13 +4,13 @@ KCONFIG_MODE = "--allnoconfig" require recipes-kernel/linux/linux-yocto.inc -LINUX_VERSION ?= "4.4.71" +LINUX_VERSION ?= "4.4.76" KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" -SRCREV_machine ?= "268676407913f5d496cde6cbf4052eb5acaf6237" -SRCREV_meta ?= "d0e5ea0e199b591cc7588dc80b6ec07ea05f74b8" +SRCREV_machine ?= "2854678e4ccbb4bbd1bb4c243ac3e2571ef9834a" +SRCREV_meta ?= "fbb3579c4011befe15368fea05f600d37b3444ba" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/meta/recipes-kernel/linux/linux-yocto_4.4.bb b/meta/recipes-kernel/linux/linux-yocto_4.4.bb index 48f4e94..5194cf0 100644 --- a/meta/recipes-kernel/linux/linux-yocto_4.4.bb +++ b/meta/recipes-kernel/linux/linux-yocto_4.4.bb @@ -11,20 +11,20 @@ KBRANCH_qemux86 ?= "standard/base" KBRANCH_qemux86-64 ?= "standard/base" KBRANCH_qemumips64 ?= "standard/mti-malta64" -SRCREV_machine_qemuarm ?= "dbf351c65cf492518339ac1ee0ecb02de4beb313" -SRCREV_machine_qemuarm64 ?= "268676407913f5d496cde6cbf4052eb5acaf6237" -SRCREV_machine_qemumips ?= "80509fd80a3457f74c716e5018378efb75a35934" -SRCREV_machine_qemuppc ?= "268676407913f5d496cde6cbf4052eb5acaf6237" -SRCREV_machine_qemux86 ?= "268676407913f5d496cde6cbf4052eb5acaf6237" -SRCREV_machine_qemux86-64 ?= "268676407913f5d496cde6cbf4052eb5acaf6237" -SRCREV_machine_qemumips64 ?= "dfd0bad7365562bf39b16630c59dcb4b18a09396" -SRCREV_machine ?= "268676407913f5d496cde6cbf4052eb5acaf6237" -SRCREV_meta ?= "d0e5ea0e199b591cc7588dc80b6ec07ea05f74b8" +SRCREV_machine_qemuarm ?= "8b42f3bbf0818181eb444af119bd295029ea2caf" +SRCREV_machine_qemuarm64 ?= "2854678e4ccbb4bbd1bb4c243ac3e2571ef9834a" +SRCREV_machine_qemumips ?= "0afe3f8c5fb95ed9c9f87f7765be53f6e0b8fad6" +SRCREV_machine_qemuppc ?= "2854678e4ccbb4bbd1bb4c243ac3e2571ef9834a" +SRCREV_machine_qemux86 ?= "2854678e4ccbb4bbd1bb4c243ac3e2571ef9834a" +SRCREV_machine_qemux86-64 ?= "2854678e4ccbb4bbd1bb4c243ac3e2571ef9834a" +SRCREV_machine_qemumips64 ?= "45dd25b50163846c3346b93a21e967c68ab92b26" +SRCREV_machine ?= "2854678e4ccbb4bbd1bb4c243ac3e2571ef9834a" +SRCREV_meta ?= "fbb3579c4011befe15368fea05f600d37b3444ba" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.4.git;name=machine;branch=${KBRANCH}; \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.4;destsuffix=${KMETA}" -LINUX_VERSION ?= "4.4.71" +LINUX_VERSION ?= "4.4.76" PV = "${LINUX_VERSION}+git${SRCPV}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:38:37 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:38:37 +0000 Subject: [oe-commits] [openembedded-core] 42/43: linux-yocto/4.9: update to v4.9.36 In-Reply-To: <150119145067.27158.18187262855008938611@git.openembedded.org> References: <150119145067.27158.18187262855008938611@git.openembedded.org> Message-ID: <20170727213733.678C7234F40@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch pyro in repository openembedded-core. commit d16cf5d390a04d8135e51314fc704b8d19eefa03 Author: Bruce Ashfield AuthorDate: Mon Jul 10 13:17:35 2017 -0400 linux-yocto/4.9: update to v4.9.36 Integrating the -stable release with the following commits: 9f86f302ec0e Linux 4.9.36 a29fd27ca268 KVM: nVMX: Fix exception injection d1d3756f07da KVM: x86: zero base3 of unusable segments f3c3ec96e5fb KVM: x86/vPMU: fix undefined shift in intel_pmu_refresh() 1eeb79426332 KVM: x86: fix emulation of RSM and IRET instructions 982d8d92f256 arm64: fix NULL dereference in have_cpu_die() a4bfcab30928 mtd: nand: brcmnand: Check flash #WP pin status before nand erase/program de5862335ed7 i2c: brcmstb: Fix START and STOP conditions 8ee785016d5a brcmfmac: avoid writing channel out of allocated array 65fc82cea84f infiniband: hns: avoid gcc-7.0.1 warning for uninitialized data 3e51ccbadd15 objtool: Fix another GCC jump table detection issue 92e66676523a clk: scpi: don't add cpufreq device if the scpi dvfs node is disabled 8a6f400a374c cpufreq: s3c2416: double free on driver init error path 1781a29b31fa iommu/amd: Fix interrupt remapping when disable guest_mode 0e55856b8f29 iommu/amd: Fix incorrect error handling in amd_iommu_bind_pasid() f0c31c674abd iommu/dma: Don't reserve PCI I/O windows d7fcb303d1ee iommu: Handle default domain attach failure c19bfc6765d4 iommu/vt-d: Don't over-free page table directories d5c5e8ba5d9d ocfs2: o2hb: revert hb threshold to keep compatible 8af88a950b42 x86/mm: Fix flush_tlb_page() on Xen 3667dafd6c04 x86/mpx: Correctly report do_mpx_bt_fault() failures to user-space b287ade87c91 x86/boot/KASLR: Fix kexec crash due to 'virt_addr' calculation bug 15541e64163c tools arch: Sync arch/x86/lib/memcpy_64.S with the kernel a2c222bef08f ARM: 8685/1: ensure memblock-limit is pmd-aligned 7661b19687b2 ARM64/ACPI: Fix BAD_MADT_GICC_ENTRY() macro implementation 4efe34b500a7 ARM: dts: OMAP3: Fix MFG ID EEPROM 07bb2c7e7ea3 ARM: OMAP2+: omap_device: Sync omap_device and pm_runtime after probe defer e57aa416ca4c regulator: tps65086: Fix DT node referencing in of_parse_cb 88baad2e7159 regulator: tps65086: Fix expected switch DT node names 9846c67974d6 spi: fix device-node leaks c52829f60f5f spi: When no dma_chan map buffers with spi_master's parent 478273e11521 sched/loadavg: Avoid loadavg spikes caused by delayed NO_HZ accounting eea0261db8ef watchdog: bcm281xx: Fix use of uninitialized spinlock. 4211442b2088 netfilter: use skb_to_full_sk in ip_route_me_harder ac2730234cc1 xfrm: Oops on error in pfkey_msg2xfrm_state() c460f2beb6f0 xfrm: NULL dereference on allocation failure 1e1666257cb6 xfrm: fix stack access out of bounds with CONFIG_XFRM_SUB_POLICY 647f605276c0 mm/vmalloc.c: huge-vmap: fail gracefully on unexpected huge vmap mappings f9f73c58feef ravb: Fix use-after-free on `ifconfig eth0 down` adfe95fe5b42 ip6_tunnel, ip6_gre: fix setting of DSCP on encapsulated packets 168bd51ec5ef sctp: check af before verify address in sctp_addr_id2transport 399566f8a4fb net/mlx4_core: Eliminate warning messages for SRQ_LIMIT under SRIOV b6f75b986a7f perf probe: Fix to probe on gcc generated functions in modules 9f8ffe4e0952 tipc: allocate user memory with GFP_KERNEL flag 18b200e0c8ee net: phy: dp83867: allow RGMII_TXID/RGMII_RXID interface types e1eac347d971 perf probe: Fix to show correct locations for events on modules cc439964fab1 be2net: fix MAC addr setting on privileged BE3 VFs 02434def6fd0 be2net: don't delete MAC on close on unprivileged BE3 VFs fa1dbf505aef be2net: fix status check in be_cmd_pmac_add() 5f54c4e1e2af usb: dwc2: gadget: Fix GUSBCFG.USBTRDTIM value 0e9867b7113c s390/ctl_reg: make __ctl_load a full memory barrier 9d00195bc0af swiotlb: ensure that page-sized mappings are page-aligned 68a5dc385735 coredump: Ensure proper size of sparse core files d21816c24591 aio: fix lock dep warning 82835fb33ce5 perf/x86: Reject non sampling events with precise_ip 1c68633329d2 perf/core: Fix sys_perf_event_open() vs. hotplug 48131dd0f2b1 x86/mpx: Use compatible types in comparison to fix sparse error 283994074501 x86/tsc: Add the Intel Denverton Processor to native_calibrate_tsc() 6baa8c92dab9 mac80211: initialize SMPS field in HT capabilities 8eaaf66d41ad pmem: return EIO on read_pmem() failure 25319ae8e8a7 drm/amd/powerplay: refine vce dpm update code on Cz. f275ac7fc5d2 drm/amd/powerplay: fix vce cg logic error on CZ/St. 77e82094a3c9 drm/radeon/si: load special ucode for certain MC configs 4ae8dc6acb71 net: thunderx: acpi: fix LMAC initialization f88f06e18318 arm64: assembler: make adr_l work in modules under KASLR aabb797b4c12 spi: davinci: use dma_mapping_error() c32462d0b523 scsi: lpfc: avoid double free of resource identifiers 582c1ca0ea1d HID: i2c-hid: Add sleep between POWER ON and RESET c78b8de5c05c perf/x86/intel: Use ULL constant to prevent undefined shift behaviour 6130fac99481 mac80211: recalculate min channel width on VHT opmode changes d48cb21fd50b net: phy: marvell: fix Marvell 88E1512 used in SGMII mode 849f2d0665e0 pinctrl: intel: Set pin direction properly 3a6edbc95ba0 perf/x86/intel/uncore: Fix hardcoded socket 0 assumption in the Haswell init code b8c5e7b12413 drm/etnaviv: trick drm_mm into giving out a low IOVA 2bc8fcd633d8 Documentation: devicetree: change the mediatek ethernet compatible string c5c8743642ae kernel/panic.c: add missing \n 00f468f51dd5 ibmveth: Add a proper check for the availability of the checksum features 32bd4d2ed9d8 vxlan: do not age static remote mac entries b07bf2364605 ip6_tunnel: must reload ipv6h in ip6ip6_tnl_xmit() 7fdc81f6e1a9 virtio_net: fix PAGE_SIZE > 64k a6c3e01bf32e mlxsw: spectrum_router: Correctly reallocate adjacency entries ff3b1dd026bb vfio/spapr: fail tce_iommu_attach_group() when iommu_data is null 8895ef4e5357 drm/amdgpu: check ring being ready before using e5a2ba9af818 net: dsa: Check return value of phy_connect_direct() c6f284899e01 amd-xgbe: Check xgbe_init() return code e99d86d76eed platform/x86: ideapad-laptop: handle ACPI event 1 e9a87e0f5bbb iwlwifi: fix kernel crash when unregistering thermal zone 322baf72eed5 scsi: virtio_scsi: Reject commands when virtqueue is broken 5d5c293af834 xen-netfront: Fix Rx stall during network stress and OOM 72191c7d82e7 swiotlb-xen: update dev_addr after swapping pages 884baf2abf6d virtio_console: fix a crash in config_work_handler c3eab85ff11a Btrfs: fix truncate down when no_holes feature is enabled e8b5068b64d0 Btrfs: Fix deadlock between direct IO and fast fsync 83571e9ef7c9 gianfar: Do not reuse pages from emergency reserve c48a862c47d4 objtool: Fix IRET's opcode 251d00bf1309 bpf: don't trigger OOM killer under pressure with map alloc a7a2a6d34fe7 bnxt_en: Fix "uninitialized variable" bug in TPA code path. da805bc788b0 xen-netback: protect resource cleaning on XenBus disconnect 7bdccaa5da12 xen-netback: fix memory leaks on XenBus disconnect 5dcd08594276 net: ethtool: Initialize buffer when querying device channel settings 6e315b2b10b6 powerpc/eeh: Enable IO path on permanent error ea7b808165a5 net: korina: Fix NAPI versus resources freeing fded17be01ab perf/x86/intel: Handle exclusive threadid correctly on CPU hotplug 3eeb3459b7e6 net: phy: dp83848: add DP83620 PHY support 10c24e89b2b8 drm/amdgpu: add support for new hainan variants 9f2a36a7504c drm/amdgpu: fix program vce instance logic error. 0c9626619777 qla2xxx: Fix erroneous invalid handle message 8cfcaa2899f3 qla2xxx: Terminate exchange if corrupted 42a1d5b47594 scsi: lpfc: Set elsiocb contexts to NULL after freeing it 7782ab228f64 stmmac: add missing of_node_put ee4494c6bda8 scsi: sd: Fix wrong DPOFUA disable in sd_read_cache_type 80b1a1180e4e KVM: x86: fix fixing of hypercalls afaee3ef5136 xen/blkback: don't free be structure too early 13fa36f9fbc8 ARM64: dts: meson-gxbb-odroidc2: fix GbE tx link breakage 8bface142a8d dt: bindings: net: use boolean dt properties for eee broken modes 3897ae12b706 net: phy: use boolean dt properties for eee broken modes 40373d91a0f7 net: phy: fix sign type error in genphy_config_eee_advert 752ba680eb70 dt-bindings: net: add EEE capability constants 97ace183074d net: phy: add an option to disable EEE advertisement 0e8eca987e27 net: ethtool: add support for 2500BaseT and 5000BaseT link modes 8886196a7320 sparc64: Zero pages on allocation for mondo and error queues. 41172b772da4 sparc64: Handle PIO & MEM non-resumable errors. 2aa6d036b716 mm: numa: avoid waiting on freed migrated pages 08cb8e5f83fd l2tp: take a reference on sessions used in genetlink handlers 599e6f038777 l2tp: hold session while sending creation notifications d9face6fc62a l2tp: fix duplicate session creation 806e98835683 l2tp: ensure session can't get removed during pppol2tp_session_ioctl() 6539c4f991c2 l2tp: fix race in l2tp_recv_common() d2da8d394147 usb: gadget: f_fs: Fix possibe deadlock ed96148d7f8e x86/mm: Fix boot crash caused by incorrect loop count calculation in sync_global_pgds() 1c0fa383b339 dm thin: do not queue freed thin mapping for next stage processing 466877f2d257 drm/vmwgfx: Free hash table allocated by cmdbuf managed res mgr 78c4244f8bdb gpiolib: fix filtering out unwanted events cb2c6fdf620f NFSv4.1: Fix a race in nfs4_proc_layoutget 7d0e27fe24c5 ALSA: hda - set input_path bitmap to zero after moving it to new place 093750c3dec4 ALSA: hda - Fix endless loop of codec configure dad3135e762b MIPS: Fix IRQ tracing & lockdep when rescheduling e9e24faf823e MIPS: pm-cps: Drop manual cache-line alignment of ready_count f7d3d40ea124 MIPS: Avoid accidental raw backtrace 3d4ac49a9538 MIPS: head: Reorder instructions missing a delay slot b1355226a64e mm, swap_cgroup: reschedule when neeed in swap_cgroup_swapoff() dbc808362b6c drm/ast: Handle configuration without P2A bridge 8dc9f9dede5b xen/blkback: don't use xen_blkif_get() in xen-blkback kthread 4ebe28d23d35 NFSv4.x/callback: Create the callback service through svc_create_pooled 955f270b6f5d NFSv4: fix a reference leak caused WARNING messages b89bd0c715c1 netfilter: synproxy: fix conntrackd interaction ced7689be60d netfilter: xt_TCPMSS: add more sanity tests on tcph->doff 8e2316399b8f rtnetlink: add IFLA_GROUP to ifla_policy b9ca9b0f5510 ipv6: Do not leak throw route references e4089baa08c4 sfc: provide dummy definitions of vswitch functions 08058c258afb net: 8021q: Fix one possible panic caused by BUG_ON in free_netdev f1a0e7d172b0 decnet: always not take dst->__refcnt when inserting dst into hash table c7d422d68fe9 net/mlx5e: Fix timestamping capabilities reporting 25ff35074e27 net/mlx5: Wait for FW readiness before initializing command interface 176b9874a203 net/mlx5e: Avoid doing a cleanup call if the profile doesn't have it 4c246863e7b4 sctp: return next obj by passing pos + 1 into sctp_transport_get_idx fded2d74a350 ipv6: fix calling in6_ifa_hold incorrectly for dad work cac2a9bb4034 igmp: add a missing spin_lock_init() ecd6627f48bd igmp: acquire pmc lock for ip_mc_clear_src() 059686754c18 proc: snmp6: Use correct type in memset 78b24ab695ab net/mlx5e: Fix wrong indications in DIM due to counter wraparound 9854e5865990 net/mlx5e: Added BW check for DIM decision mechanism 57360bc3c7a6 net: tipc: Fix a sleep-in-atomic bug in tipc_msg_reverse bb566ce3a60e net: caif: Fix a sleep-in-atomic bug in cfpkt_create_pfx 8cda426a7cfa sctp: disable BH in sctp_for_each_endpoint c6d4ff85722b Fix an intermittent pr_emerg warning about lo becoming free. bb84290cd296 af_unix: Add sockaddr length checks before accessing sa_family in bind and connect handlers 386ed38f0f28 net: vrf: Make add_fib_rules per network namespace flag b5cc68e0c190 net: Zero ifla_vf_info in rtnl_fill_vfinfo() fd9b13e6c175 decnet: dn_rtmsg: Improve input length sanitization in dnrmg_receive_user_skb d2f459e3feb0 net: don't call strlen on non-terminated string in dev_set_alias() 98184bbb8dae ipv6: release dst on error in ip6_dst_lookup_tail 92905e331aea Linux 4.9.35 855b08e57777 brcmfmac: fix uninitialized warning in brcmf_usb_probe_phase2() 21eaaa76b701 jump label: fix passing kbuild_cflags when checking for asm goto support ffa96c1a6afe net: phy: fix marvell phy status reading 5da6415e427b spi: double time out tolerance 25c7794ed046 dmaengine: bcm2835: Fix cyclic DMA period splitting 81135c71bde3 net: phy: Initialize mdio clock at probe function 948c4f17ab7e rt2x00: avoid introducing a USB dependency in the rt2x00lib module 225969acc0f1 usb: gadget: f_fs: avoid out of bounds access on comp_desc 5306119473b2 mtd: spi-nor: fix spansion quad enable dcd015f733a7 of: Add check to of_scan_flat_dt() before accessing initial_boot_params f20603874211 rxrpc: Fix several cases where a padded len isn't checked in ticket decode 581659a87820 drm/amdgpu: adjust default display clock 217e035d5120 drm/amdgpu/atom: fix ps allocation size for EnableDispPowerGating e4b8d1e84410 drm/radeon: add a quirk for Toshiba Satellite L20-183 61ea7c2817bd drm/radeon: add a PX quirk for another K53TK variant 3900f24aa6fa iscsi-target: Reject immediate data underflow larger than SCSI transfer length 463440e6de4a iscsi-target: Fix delayed logout processing greater than SECONDS_FOR_LOGOUT_COMP 1f576d53d854 target: Fix kref->refcount underflow in transport_cmd_finish_abort 99f66b5182a4 arm64/vdso: Fix nsec handling for CLOCK_MONOTONIC_RAW a53bfdda06ac time: Fix CLOCK_MONOTONIC_RAW sub-nanosecond accounting 02a37ccd6347 time: Fix clock->read(clock) race around clocksource changes c81d034bd09a brcmfmac: unbind all devices upon failure in firmware callback ba2d8d67875c brcmfmac: use firmware callback upon failure to load 1dd15bd62221 brcmfmac: add parameter to pass error code in firmware callback 20d8f785f974 Input: i8042 - add Fujitsu Lifebook AH544 to notimeout list 8eaa481dfb4c powerpc/64s: Handle data breakpoints in Radix mode 414f51ceb6ff powerpc/kprobes: Pause function_graph tracing during jprobes handling f719f20abe2a signal: Only reschedule timers on signals timers have sent 99afebe8fef9 HID: Add quirk for Dell PIXART OEM mouse cdf300d6105d cxgb4: notify uP to route ctrlq compl to rdma rspq fb6dc831b5cf CIFS: Improve readdir verbosity 2f1527e359f4 KVM: PPC: Book3S HV: Context-switch EBB registers properly 468aa930c0a2 KVM: PPC: Book3S HV: Preserve userspace HTM state properly df3a787b3a71 KVM: s390: gaccess: fix real-space designation asce handling for gmap shadows 5220378bd91c perf/x86/intel: Add 1G DTLB load/store miss support for SKL 7c679fe729c2 lib/cmdline.c: fix get_options() overflow while parsing ranges bc6eecff3d95 autofs: sanity check status reported with AUTOFS_DEV_IOCTL_FAIL 4b660fcbc64e powerpc/perf: Fix oops when kthread execs user process 3d6848e491df fs/exec.c: account for argv/envp pointers 552a14a572a2 ALSA: pcm: Don't treat NULL chmap as a fatal error 8c9c55a0f576 ALSA: firewire-lib: Fix stall of process context at packet error 4ae2cb91a636 xen-blkback: don't leak stack data via response ring e5c49c1703ae xen/blkback: fix disconnect while I/Os in flight 0e051f17bd04 clk: sunxi-ng: a31: Correct lcd1-ch1 clock register offset 493ecd5cd73e Linux 4.9.34 ce7fe8595902 mm: fix new crash in unmapped_area_topdown() 5d10ad629726 Allow stack to grow up to address space limit cfc0eb403816 mm: larger stack guard gap, between vmas 04651048c79a alarmtimer: Rate limit periodic intervals b355b899c74a crypto: Work around deallocated stack frame reference gcc bug on sparc. 7dfe7ca9ec12 vTPM: Fix missing NULL check ecae47331a43 MIPS: .its targets depend on vmlinux 6b706cbb16e9 MIPS: Fix bnezc/jialc return address calculation 22921a9e232a usb: dwc3: exynos fix axius clock error path to do cleanup f0ee203c864f usb: gadget: composite: Fix function used to free memory 8ee7f06f4dca alarmtimer: Prevent overflow of relative timers 766283254b67 genirq: Release resources in __setup_irq() error path 8a48b7eace4d sched/core: Idle_task_exit() shouldn't use switch_mm_irqs_off() cf6ac3abb323 iio: imu: inv_mpu6050: add accel lpf setting for chip >= MPU6500 f7ae7d2229d2 swap: cond_resched in swap_cgroup_prepare() 1419b8752153 mm/memory-failure.c: use compound_head() flags for huge pages 0c0d3d8730db USB: gadgetfs, dummy-hcd, net2280: fix locking for callbacks 3ff5f4f6a8a7 USB: gadget: fix GPF in gadgetfs 06178662474c usb: xhci: ASMedia ASM1042A chipset need shorts TX quirk 4581d7dd44f3 usb: xhci: Fix USB 3.1 supported protocol parsing 2abac4084fb9 drivers/misc/c2port/c2port-duramar2150.c: checking for NULL instead of IS_ERR() f28ba80c6a3e misc: mic: double free on ioctl error path 02d009e865a8 ath10k: fix napi crash during rmmod when probe firmware fails 07612c1227e8 usb: r8a66597-hcd: decrease timeout f75f4d196ab5 usb: r8a66597-hcd: select a different endpoint on timeout c8091f0e8549 USB: gadget: dummy_hcd: fix hub-descriptor removable fields 374aceef5912 pvrusb2: reduce stack usage pvr2_eeprom_analyze() 9ae5dac225e2 USB: usbip: fix nonconforming hub descriptor 7b5bce3a5128 usb: core: fix potential memory leak in error path during hcd creation 12bfbe157d06 USB: hub: fix SS max number of ports cb53a4e03b2f usb: gadget: udc: renesas_usb3: lock for PN_ registers access dd65c0958b77 usb: gadget: udc: renesas_usb3: fix deadlock by spinlock 723bd3b9f83f usb: gadget: udc: renesas_usb3: fix pm_runtime functions calling b51e4b0ac661 IB/mlx5: Fix kernel to user leak prevention logic dca02651cee7 iio: adc: ti_am335x_adc: allocating too much in probe cf308c15103e iio: proximity: as3935: recalibrate RCO after resume 56251d138570 iio: st_pressure: Fix data sign a1d51f7abf71 staging: iio: tsl2x7x_core: Fix standard deviation calculation 773fdcdc0957 staging: rtl8188eu: prevent an underflow in rtw_check_beacon_data() ed13a9c6464b mfd: omap-usb-tll: Fix inverted bit use for USB TLL mode caa6f1c7bcbe x86/mm/32: Set the '__vmalloc_start_set' flag in initmem_init() ad3faea03fdf serial: sh-sci: Fix late enablement of AUTORTS a50aacf5de52 serial: efm32: Fix parity management in 'efm32_uart_console_get_options()' 879d61f218a9 drm/vc4: Fix OOPSes from trying to cache a partially constructed BO. 5899b635ecc7 drm/mediatek: fix mtk_hdmi_setup_vendor_specific_infoframe mistake 5b754c994f38 mac80211: don't send SMPS action frame in AP mode when not needed 3e8c503d0a16 mac80211: fix dropped counter in multiqueue RX 6568f8f70152 mac80211: strictly check mesh address extension mode c8143269c9c4 mac80211: fix IBSS presp allocation size 841e4e775bb1 mac80211: fix packet statistics for fast-RX f79d740f3289 mac80211: fix CSA in IBSS mode bd3f89002e52 usb: musb: dsps: keep VBUS on for host-only mode a317afc0c1ce drm/i915: Fix GVT-g PVINFO version compatibility check 7f7bb1173db8 drm/amdgpu: Fix overflow of watermark calcs at > 4k resolutions. f6e99a2efc03 mac80211/wpa: use constant time memory comparison for MACs 2ec5b68bf62e mac80211: don't look at the PM bit of BAR frames 63d34ea7042a vb2: Fix an off by one error in 'vb2_plane_vaddr' 5d5605cc5833 cpufreq: conservative: Allow down_threshold to take values from 1 to 10 47537bceb7b7 ila_xlat: add missing hash secret initialization 95f47cd7d7d8 can: gs_usb: fix memory leak in gs_cmd_reset() a6d6282040b7 configfs: Fix race between create_link and configfs_rmdir 222aa34e5d79 fs: pass on flags in compat_writev 050639ef5810 Linux 4.9.33 bdc9a03fd9ce sparc64: make string buffers large enough 933b9b11f7ca drm/i915: Always recompute watermarks when distrust_bios_wm is set, v2. 4f59a7a895c4 drm/i915: Workaround VLV/CHV DSI scanline counter hardware fail 8e1a4006ff92 s390/kvm: do not rely on the ILC on kvm host protection fauls a2f68276822c xtensa: don't use linux IRQ #0 57211e84dda0 RDMA/qedr: Return max inline data in QP query result c5ea7aa57e24 RDMA/qedr: Don't spam dmesg if QP is in error state 13a87589af5f RDMA/qedr: Don't reset QP when queues aren't flushed bbf61096e42c RDMA/qedr: Fix and simplify memory leak in PD alloc a4fa249385b6 RDMA/qedr: Dispatch port active event from qedr_add c47538f61016 netfilter: nft_log: restrict the log prefix length to 127 fefdd79403e8 netfilter: nf_tables: fix set->nelems counting with no NLM_F_EXCL f68a45776a62 tipc: fix nametbl_lock soft lockup at node/link events 1d6e36d730ed tipc: add subscription refcount to avoid invalid delete 9f8df4f86a3f tipc: fix connection refcount error c7a552e771cc tipc: ignore requests when the connection state is not CONNECTED 2552e2c11575 ARCv2: smp-boot: wake_flag polling by non-Masters needs to be uncached 8cb6045ec40d ARC: smp-boot: Decouple Non masters waiting API from jump to entry point ae36f6a65af6 vhost/vsock: handle vhost_vq_init_access() error b13b3b706a9d kernel/watchdog: prevent false hardlockup on overloaded system 0ce66ee6aec1 kernel/watchdog.c: move shared definitions to nmi.h b969a240448b kernel/watchdog.c: move hardlockup detector to separate file dbd9eee1aaaf userfaultfd: fix SIGBUS resulting from false rwsem wakeups 9618fba26499 proc: add a schedule point in proc_pid_readdir() e23b1c05a50f frv: add missing atomic64 operations 918684681dc2 frv: add atomic64_add_unless() 013bbbc3e902 romfs: use different way to generate fsid for BLOCK or MTD 093d494c6d1d mn10300: fix build error of missing fpu_save() 5e4cafca06bf usb: musb: Fix external abort on non-linefetch for musb_irq_work() fb72eca1333c sctp: sctp_addr_id2transport should verify the addr before looking up assoc bf812fe92683 sctp: sctp gso should set feature with NETIF_F_SG when calling skb_segment 12a583ddf02a bnxt_en: Fix RTNL lock usage on bnxt_get_port_module_status(). 66deb409251c bnxt_en: Fix RTNL lock usage on bnxt_update_link(). e89ffe41e9a6 bnxt_en: Enhance autoneg support. 710ea9b028de bnxt_en: Fix bnxt_reset() in the slow path task. cb7188295d18 net-next: ethernet: mediatek: change the compatible string e9ace99c4bb0 r8152: avoid start_xmit to schedule napi when napi is disabled c1a7106b3b01 r8152: fix rtl8152_post_reset function 9507910ca46d r8152: re-schedule napi for tx 4242f0bce47e r8152: check rx after napi is enabled 993ba7ffcf6e r8152: avoid start_xmit to call napi_schedule during autosuspend 6149abe7f404 nvmet-rdma: Fix missing dma sync to nvme data structures 5a0d41409b4d nfs: Fix "Don't increment lock sequence ID after NFS4ERR_MOVED" d16268259683 ravb: unmap descriptors when freeing rings 47c362f147aa drm/ast: Fixed system hanged if disable P2A bfa4d2e461da drm/nouveau: Fix drm poll_helper handling c94e2edacea7 drm/nouveau: Don't enabling polling twice on runtime resume c7a29cf6c34a drm/nouveau: Handle fbcon suspend/resume in seperate worker d2beb1a9dd82 drm/nouveau: Rename acpi_work to hpd_work ef66745a1bd2 drm/nouveau: Intercept ACPI_VIDEO_NOTIFY_PROBE eb846414674c gtp: add genl family modules alias 7dddbfcd96e2 net: phy: micrel: add support for KSZ8795 2f970b437e86 parisc, parport_gsc: Fixes for printk continuation lines 4038524f7fef net/mlx5: Return EOPNOTSUPP when failing to get steering name-space b445ecbdff83 net/mlx5: E-Switch, Err when retrieving steering name-space fails 2bcbe747629e drm/i915: Check for NULL i915_vma in intel_unpin_fb_obj() e6549f36278c net: adaptec: starfire: add checks for dma mapping errors a15bbf44ab2f pinctrl: berlin-bg4ct: fix the value for "sd1a" of pin SCRD0_CRD_PRES 326fdffd7078 drm: Don't race connector registration 82b6693bd415 drm: prevent double-(un)registration for connectors d934fe02ba17 cec: fix wrong last_la determination 62614714e30a pinctrl: baytrail: Rectify debounce support (part 2) 3564d41e5c84 gianfar: synchronize DMA API usage by free_skb_rx_queue w/ gfar_new_page 581e4003bf12 net/mlx4_core: Avoid command timeouts during VF driver device shutdown c33f1bd7f289 drm/nouveau/fence/g84-: protect against concurrent access to semaphore buffers cf336eea809d drm/nouveau: prevent userspace from deleting client object 16f733d8db52 ipv6: fix flow labels when the traffic class is non-0 0542f9791246 FS-Cache: Initialise stores_lock in netfs cookie 34f1a4626bad fscache: Clear outstanding writes when disabling a cookie 11696dcea282 fscache: Fix dead object requeue f4d2d05ffb8b net: fix ndo_features_check/ndo_fix_features comment ordering 3a6ebd3f963c net: phy: Fix PHY module checks and NULL deref in phy_attach_direct() ea14fabd43a5 net: phy: Fix lack of reference count on PHY driver 2fba4f5b70f3 ethtool: do not vzalloc(0) on registers dump 8de6ea44af5c log2: make order_base_2() behave correctly on const input value zero 5331baaeb7e6 kasan: respect /proc/sys/kernel/traceoff_on_warning 8936b74fd339 shmem: fix sleeping from atomic context 3ec4141c68de jump label: pass kbuild_cflags when checking for asm goto support 36d9659cde0d PM / runtime: Avoid false-positive warnings from might_sleep_if() 40f6d71c0a09 ARM: defconfigs: make NF_CT_PROTO_SCTP and NF_CT_PROTO_UDPLITE built-in 1cadd394bbf9 ipv6: Fix IPv6 packet loss in scenarios involving roaming + snooping switches d536202202ee vfio/spapr_tce: Set window when adding additional groups to container d385ed7ad307 ipv6: addrconf: fix generation of new temporary addresses d7b2b380c08d net: thunderx: Fix PHY autoneg for SGMII QLM mode baaa84b43608 kernel/ucount.c: mark user_header with kmemleak_ignore() c419fe260b54 powerpc/powernv: Properly set "host-ipi" on IPIs 47a5aabc3424 i2c: piix4: Fix request_region size c1a4306f24a0 i2c: piix4: Request the SMBUS semaphore inside the mutex 7a6fcf38fabb sierra_net: Add support for IPv6 and Dual-Stack Link Sense Indications 9217eeefee15 sierra_net: Skip validating irrelevant fields for IDLE LSIs bed8b8627a33 net: hns: Fix the device being used for dma mapping during TX 008798746e6e NET: mkiss: Fix panic ae0b63eb344e ibmvnic: Initialize completion variables before starting work 4544ba3173b7 ibmvnic: Call napi_disable instead of napi_enable in failure path 74e24d1ea1a4 NET: Fix /proc/net/arp for AX.25 2557969fb4f7 gfs2: Use rhashtable walk interface in glock_hash_walk 44bc7cae6031 tipc: Fix tipc_sk_reinit race conditions cb351da6f2ba ipv6: Inhibit IPv4-mapped src address on the wire. 12ec2560d467 ipv6: Handle IPv4-mapped src to in6addr_any dst. 116589a5a7e0 tcp: tcp_probe: use spin_lock_bh() a2901d01a6c7 net: xilinx_emaclite: fix receive buffer overflow bff3001afae7 net: xilinx_emaclite: fix freezes due to unordered I/O 65e72723add0 ibmvnic: Fix endian error when requesting device capabilities b5a1aa812a16 ibmvnic: Fix endian errors in error reporting output d864e675c789 netfilter: nf_conntrack_sip: fix wrong memory initialisation 220b67a16fde partitions/msdos: FreeBSD UFS2 file systems are not recognized 7a7b2d5f65a7 drm/i915: Prevent the system suspend complete optimization b372d35a5226 PCI/PM: Add needs_resume flag to avoid suspend complete optimization 05afd4c0af6a Linux 4.9.32 3eb235a1af14 netfilter: nft_set_rbtree: handle element re-addition after deletion a8fc3159ee2c cpufreq: schedutil: Fix per-CPU structure initialization in sugov_start() afe8d4a51c76 cpufreq: schedutil: move cached_raw_freq to struct sugov_policy 09fcb3561d9e drm/i915/vbt: split out defaults that are set when there is no VBT 555c443a1ab9 drm/i915/vbt: don't propagate errors from intel_bios_init() a6a7d8ade88c usercopy: Adjust tests to deal with SMAP/PAN eefa5e13dff9 ARM: 8637/1: Adjust memory boundaries after reservations 1df21f45fd55 ARM: 8636/1: Cleanup sanity_check_meminfo 9e09d90ac5ac arm64: entry: improve data abort handling of tagged pointers 1d61ccb5ac27 arm64: hw_breakpoint: fix watchpoint matching for tagged pointers 791d94ef40f6 arm64: traps: fix userspace cache maintenance emulation on a tagged pointer d95202487334 serial: sh-sci: Fix panic when serial console and DMA are enabled 9ff4a1a36a58 drivers: char: mem: Fix wraparound check to allow mappings up to the end 106c77e82572 cpu/hotplug: Drop the device lock on error eb8fa317cb01 ASoC: Fix use-after-free at card unregistration 82ecd2f054bd ALSA: timer: Fix missing queue indices reset at SNDRV_TIMER_IOCTL_SELECT 66e982d8f1a1 ALSA: timer: Fix race between read and ioctl aae14f569f5d drm/nouveau/tmr: fully separate alarm execution/pending lists 7860d0e5e2bf drm/vmwgfx: Make sure backup_handle is always valid a76ff847013a drm/vmwgfx: limit the number of mip levels in vmw_gb_surface_define_ioctl() 64c21af51d71 drm/vmwgfx: Handle vmalloc() failure in vmw_local_fifo_reserve() 3743c0e1276d perf/core: Drop kernel samples even though :u is specified 6e6d89e18e53 powerpc/kernel: Initialize load_tm on task creation 2cfdf4fd3292 powerpc/kernel: Fix FP and vector register restoration cbf687acc1e1 powerpc/hotplug-mem: Fix missing endian conversion of aa_index b4624ff952ec powerpc/numa: Fix percpu allocations to be NUMA aware bb0a300f18ce powerpc/sysdev/simple_gpio: Fix oops in gpio save_regs function 59d9a40b5839 scsi: qla2xxx: Fix mailbox pointer error in fwdump capture 64dc431432ec scsi: qla2xxx: Set bit 15 for DIAG_ECHO_TEST MBC ab2b484e8038 scsi: qla2xxx: Modify T262 FW dump template to specify same start/end to debug customer issues fe42472e53eb scsi: qla2xxx: don't disable a not previously enabled PCI device f75e09ebd3e4 KVM: arm/arm64: Handle possible NULL stage2 pud when ageing pages 66d6448475c6 btrfs: fix memory leak in update_space_info failure path 4d15ab90ec2b btrfs: use correct types for page indices in btrfs_page_exists_in_range 3fd1233dabd5 cxl: Avoid double free_irq() for psl,slice interrupts 172c70d1cd82 cxl: Fix error path on bad ioctl 84bef90a454f ufs_getfrag_block(): we only grab ->truncate_mutex on block creation path 3d4922b5bb5b ufs_extend_tail(): fix the braino in calling conventions of ufs_new_fragments() 55a00f816bd7 ufs: set correct ->s_maxsize aed005fb7956 ufs: restore maintaining ->i_blocks bf7bfef3eee3 fix ufs_isblockset() 4896c87d2464 ufs: restore proper tail allocation 61604a2626a3 fs: add i_blocksize() 829a1cab22c4 cpuset: consider dying css as offline 5aa8f833ca78 Input: elantech - add Fujitsu Lifebook E546/E557 to force crc_enabled dff4c8bb1397 cgroup: Prevent kill_css() from being called more than once b59ec7072c84 ahci: Acer SA5-271 SSD Not Detected Fix b3a42bb630bd drm/msm: Expose our reservation object when exporting a dmabuf. 974a4eb16e84 target: Re-add check to reject control WRITEs with overflow data 96d7b43b42ba cpufreq: cpufreq_register_driver() should return -ENODEV if init fails acd8f9173960 mei: make sysfs modalias format similar as uevent modalias 716dd37398ad iio: proximity: as3935: fix iio_trigger_poll issue bad3b49b01aa iio: proximity: as3935: fix AS3935_INT mask 8067c911c5e9 iio: light: ltr501 Fix interchanged als/ps register field e33679f994db iio: adc: bcm_iproc_adc: swap primary and secondary isr handler's c5a8004434f0 staging/lustre/lov: remove set_fs() call from lov_getstripe() 5404b0c0ea85 usb: chipidea: debug: check before accessing ci_role 59db536f5812 usb: chipidea: udc: fix NULL pointer dereference if udc_start failed 405ac24a0aec usb: gadget: f_mass_storage: Serialize wake and sleep execution 1308eeec2fc5 drm: Fix oops + Xserver hang when unplugging USB drm devices c404f0dee7a8 ext4: fix fdatasync(2) after extent manipulation operations 2e16921d1743 ext4: fix data corruption with EXT4_GET_BLOCKS_ZERO 9890b9cb75c9 ext4: keep existing extra fields when inode expands 9850844e0a0e ext4: fix SEEK_HOLE 9636c086532b xen/privcmd: Support correctly 64KB page granularity when mapping memory 08229c119c42 cfq-iosched: fix the delay of cfq_group's vdisktime under iops mode 1f67d28d2707 dmaengine: mv_xor_v2: set DMA mask to 40 bits eb5afaba6177 dmaengine: mv_xor_v2: remove interrupt coalescing b2c8bb06bc83 dmaengine: mv_xor_v2: fix tx_submit() implementation 0d0918504a96 dmaengine: mv_xor_v2: enable XOR engine after its configuration e2a092eab8a5 dmaengine: mv_xor_v2: do not use descriptors not acked by async_tx 67b1684c4a5e dmaengine: mv_xor_v2: properly handle wrapping in the array of HW descriptors f08c84d4c745 dmaengine: mv_xor_v2: handle mv_xor_v2_prep_sw_desc() error properly f2e9d10bf1a2 dmaengine: ep93xx: Don't drain the transfers in terminate_all() b7e7a4d52a95 dmaengine: ep93xx: Always start from BASE0 cd0ef520aa70 dmaengine: usb-dmac: Fix DMAOR AE bit definition 3e7a76b290f1 KVM: arm/arm64: vgic-v2: Do not use Active+Pending state for a HW interrupt 2a5c08a4d3fe KVM: arm/arm64: vgic-v3: Do not use Active+Pending state for a HW interrupt 81555e45852a KVM: async_pf: avoid async pf injection when in guest mode 85c19308cb37 arm: KVM: Allow unaligned accesses at HYP 8abce1e49c82 arm64: KVM: Allow unaligned accesses at EL2 b9824dd75fcf arm64: KVM: Preserve RES1 bits in SCTLR_EL2 19c9a115085e KVM: cpuid: Fix read/write out-of-bounds vulnerability in cpuid emulation 78f87ce2a17f kvm: async_pf: fix rcu_irq_enter() with irqs enabled 4809f0e56d98 efi: Don't issue error message when booted under Xen e273ed246617 nfsd: Fix up the "supattr_exclcreat" attributes bfeac838043f nfsd4: fix null dereference on replay 34bae9b3ba98 drm/amdgpu/ci: disable mclk switching for high refresh rates (v2) d4783eb9f082 crypto: gcm - wait for crypto op not signal safe 2d0280070e6c crypto: drbg - wait for crypto op not signal safe d24c1c1977d8 KEYS: encrypted: avoid encrypting/decrypting stack buffers 24369761029a KEYS: fix freeing uninitialized memory in key_update() 1b253e023f8f KEYS: fix dereferencing NULL payload with nonzero length 0e479742e8d1 crypto: asymmetric_keys - handle EBUSY due to backlog correctly 7c24a70c70b7 ptrace: Properly initialize ptracer_cred on fork 3802abc6e0df serial: ifx6x60: fix use-after-free on module unload 04ac452dadbf arch/sparc: support NR_CPUS = 4096 433a50e681df sparc64: delete old wrap code b6bb22de0c9e sparc64: new context wrap 975f3cdc3915 sparc64: add per-cpu mm of secondary contexts 7932bfad0e82 sparc64: redefine first version 65e3443b61a8 sparc64: combine activate_mm and switch_mm e7590a1b15c8 sparc64: reset mm cpumask after wrap b3ad7a3e57b3 sparc: Machine description indices can vary 8d665e039e66 sparc64: mm: fix copy_tsb to correctly copy huge page TSBs 4b684e6474d0 sparc64: Add __multi3 for gcc 7.x and later. 0255284edddc net: bridge: start hello timer only if device is up 3dd4daf112fd net: stmmac: fix completely hung TX when using TSO a83564d12863 net: ethoc: enable NAPI before poll may be scheduled a97f807363d4 net/ipv6: Fix CALIPSO causing GPF with datagram support 0aa89f1b07de net: ping: do not abuse udp_poll() 599a4478d8cb ipv6: Fix leak in ipv6_gso_segment(). c242e1a8140e vxlan: fix use-after-free on deletion 3ee35b96825e tcp: disallow cwnd undo when switching congestion control 61c92d5a533c cxgb4: avoid enabling napi twice to the same queue abbcb731d69c ipv6: xfrm: Handle errors reported by xfrm6_find_1stfragopt() b5e9b7ad0dd4 vxlan: eliminate cached dst leak 96d145216b58 bnx2x: Fix Multi-Cos Signed-off-by: Bruce Ashfield Signed-off-by: Ross Burton (cherry picked from commit d9d950bd48566e5a2e92ad4a2fd943ad828fb8df) Signed-off-by: Armin Kuster --- meta/recipes-kernel/linux/linux-yocto-rt_4.9.bb | 6 +++--- meta/recipes-kernel/linux/linux-yocto-tiny_4.9.bb | 6 +++--- meta/recipes-kernel/linux/linux-yocto_4.9.bb | 20 ++++++++++---------- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_4.9.bb b/meta/recipes-kernel/linux/linux-yocto-rt_4.9.bb index f0e9180..6e18bd9 100644 --- a/meta/recipes-kernel/linux/linux-yocto-rt_4.9.bb +++ b/meta/recipes-kernel/linux/linux-yocto-rt_4.9.bb @@ -11,13 +11,13 @@ python () { raise bb.parse.SkipPackage("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it") } -SRCREV_machine ?= "ab749ed8fd7beb6c63ec62a808eac8678db83810" -SRCREV_meta ?= "299f12a06ca1d6fd90b24450dae3b9f257a536be" +SRCREV_machine ?= "1fb4e1d1e3f727fc20963fc631a259665bd4665b" +SRCREV_meta ?= "0db0b4a408f05cfed359983d7ff63b1a6e29be2c" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.9.git;branch=${KBRANCH};name=machine \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.9;destsuffix=${KMETA}" -LINUX_VERSION ?= "4.9.31" +LINUX_VERSION ?= "4.9.36" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_4.9.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_4.9.bb index 482e38c..da5b2ea 100644 --- a/meta/recipes-kernel/linux/linux-yocto-tiny_4.9.bb +++ b/meta/recipes-kernel/linux/linux-yocto-tiny_4.9.bb @@ -4,13 +4,13 @@ KCONFIG_MODE = "--allnoconfig" require recipes-kernel/linux/linux-yocto.inc -LINUX_VERSION ?= "4.9.31" +LINUX_VERSION ?= "4.9.36" KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" -SRCREV_machine ?= "d2de43e42bb8a270e680aab1c8f2447bff0b3552" -SRCREV_meta ?= "299f12a06ca1d6fd90b24450dae3b9f257a536be" +SRCREV_machine ?= "24572abb2cad341dd79e6aafcb9cdd1a7f8a0c1e" +SRCREV_meta ?= "0db0b4a408f05cfed359983d7ff63b1a6e29be2c" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/meta/recipes-kernel/linux/linux-yocto_4.9.bb b/meta/recipes-kernel/linux/linux-yocto_4.9.bb index acfae37..563c33d 100644 --- a/meta/recipes-kernel/linux/linux-yocto_4.9.bb +++ b/meta/recipes-kernel/linux/linux-yocto_4.9.bb @@ -11,20 +11,20 @@ KBRANCH_qemux86 ?= "standard/base" KBRANCH_qemux86-64 ?= "standard/base" KBRANCH_qemumips64 ?= "standard/mti-malta64" -SRCREV_machine_qemuarm ?= "734cdab9878ac73dbf43d8e7d14b07b9e3498c32" -SRCREV_machine_qemuarm64 ?= "d2de43e42bb8a270e680aab1c8f2447bff0b3552" -SRCREV_machine_qemumips ?= "59f4ca90a4bb47ce9c81508e3b8458b87f411d59" -SRCREV_machine_qemuppc ?= "d2de43e42bb8a270e680aab1c8f2447bff0b3552" -SRCREV_machine_qemux86 ?= "d2de43e42bb8a270e680aab1c8f2447bff0b3552" -SRCREV_machine_qemux86-64 ?= "d2de43e42bb8a270e680aab1c8f2447bff0b3552" -SRCREV_machine_qemumips64 ?= "5b396803703aa5c1bd1e6f5cc7ac02de05cd0d08" -SRCREV_machine ?= "d2de43e42bb8a270e680aab1c8f2447bff0b3552" -SRCREV_meta ?= "299f12a06ca1d6fd90b24450dae3b9f257a536be" +SRCREV_machine_qemuarm ?= "a4390ba8db101907133990f8e31ebcd56869ac3b" +SRCREV_machine_qemuarm64 ?= "24572abb2cad341dd79e6aafcb9cdd1a7f8a0c1e" +SRCREV_machine_qemumips ?= "580682c29df5023d2cecaf6c4074d401c4b57b94" +SRCREV_machine_qemuppc ?= "24572abb2cad341dd79e6aafcb9cdd1a7f8a0c1e" +SRCREV_machine_qemux86 ?= "24572abb2cad341dd79e6aafcb9cdd1a7f8a0c1e" +SRCREV_machine_qemux86-64 ?= "24572abb2cad341dd79e6aafcb9cdd1a7f8a0c1e" +SRCREV_machine_qemumips64 ?= "7c9ce18e05e1d84df17e677b26133671ec0430f5" +SRCREV_machine ?= "24572abb2cad341dd79e6aafcb9cdd1a7f8a0c1e" +SRCREV_meta ?= "0db0b4a408f05cfed359983d7ff63b1a6e29be2c" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.9.git;name=machine;branch=${KBRANCH}; \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.9;destsuffix=${KMETA}" -LINUX_VERSION ?= "4.9.31" +LINUX_VERSION ?= "4.9.36" PV = "${LINUX_VERSION}+git${SRCPV}" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:37:41 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:37:41 +0000 Subject: [oe-commits] [openembedded-core] branch master-next updated (ee75452 -> 49e57bc) Message-ID: <150119146100.28024.13229454446883320400@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch master-next in repository openembedded-core. discard ee75452 core-image-minimal-initramfs: use initramfs-framework by default discard 830baaf initramfs-framework: include install-efi module in recipe for installation discard 60b6ea8 initramfs-framework: module to support boot live image discard a3347cd dbus/dbus-test: upgrade to 1.10.20 discard bbdd485 sysstat: upgrade to 11.5.7 discard 60cb238 sudo: upgrade to 1.8.20p2 discard 63cbee8 cups: upgrade to 2.2.4 discard 0759014 diffutils: upgrade to 3.6 discard 86258f0 pciutils: upgrade to 3.5.5 discard e036fb2 webkitgtk: update to 2.16.6 discard c0dde2c mpg123: update to 1.25.4 discard 9c65c74 vala: upgrade to 0.36.4 discard 4b45413 epiphany: upgrade to 3.24.3 discard be58f7c bash-completion: upgrade to 2.7 discard b86f1bb btrfs-tools: upgrade to 4.11.1 discard 85ff3c2 icu: update to 59.1 discard 9e31306 mirrors.bbclass: provide git repo fallbacks using the https protocol discard b122903 gnu-config: update SRC_URI to new savannah.gnu.org hostname discard 0819007 kernel-devsrc: Remove .kernel-meta from package discard 7c4b890 eudev: update to 3.2.2 discard 18e0b19 harfbuzz: upgrade to 1.4.7 discard 661564f go: centralize definition of COMPATIBLE_HOST discard 40289fc image_types_wic: add dependency to e2fsprogs-native discard 6632892 oe-selftest: wic: change mkfs.btrfs options discard 8f28076 imagefeatures: Add a test for various hypervisor formats discard a6bd9ef imagefeatures: Add a test for many CONVERSION_CMDs being chained discard 39745df imagefeatures: Extend test_bmap to validate gzip discard fb14e23 wic: Switch to using --use-uuid by default discard 73a67f4 image: Convert vmdk/vdi/qcow2 to strict CONVERSION_CMD types add 6a1489f oe-selftest: wic: change mkfs.btrfs options add b1d9f5b image_types_wic: add dependency to e2fsprogs-native add 9e899bb go: centralize definition of COMPATIBLE_HOST add c05beae harfbuzz: upgrade to 1.4.7 add b317553 eudev: update to 3.2.2 add 3bcf227 kernel-devsrc: Remove .kernel-meta from package add cf21f45 gnu-config: update SRC_URI to new savannah.gnu.org hostname add abb8895 mirrors.bbclass: provide git repo fallbacks using the https protocol add b002f44 icu: update to 59.1 add c115232 btrfs-tools: upgrade to 4.11.1 add ec59387 bash-completion: upgrade to 2.7 add 10de5bf epiphany: upgrade to 3.24.3 add 03d0bee vala: upgrade to 0.36.4 add 97a4e2d mpg123: update to 1.25.4 add 198ccdb webkitgtk: update to 2.16.6 add d1e05e9 pciutils: upgrade to 3.5.5 add 0c09f9f diffutils: upgrade to 3.6 add 6547285 cups: upgrade to 2.2.4 add e1d2785 sudo: upgrade to 1.8.20p2 add 6ee5abc sysstat: upgrade to 11.5.7 add 96c54b2 dbus/dbus-test: upgrade to 1.10.20 add 4d3300e initramfs-framework: module to support boot live image add 41b3444 initramfs-framework: include install-efi module in recipe for installation add 28fc6ba core-image-minimal-initramfs: use initramfs-framework by default new b040fee image: Convert vmdk/vdi/qcow2 to strict CONVERSION_CMD types new 9fb5bfc wic: Switch to using --use-uuid by default new 5f547f3 imagefeatures: Extend test_bmap to validate gzip new cd2c8c9 imagefeatures: Add a test for many CONVERSION_CMDs being chained new 808e177 imagefeatures: Add a test for various hypervisor formats new 3433915 libcap: fix build with gperf 3.1 new 0967ad3 module.bbclass: move make scripts earlier new aa443a3 package/bbclass: sources are packaged separately from debug. new 5c51e96 debianutils: set higher priority than busybox for run-parts new 5df2e31 siteinfo: fix siteinfo_get_files to work with RSS new 49e57bc ncurses: add SYSROOT_DESTDIR for siteconfig_gencache This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (ee75452) \ N -- N -- N refs/heads/master-next (49e57bc) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 11 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: meta/classes/autotools.bbclass | 2 +- meta/classes/module.bbclass | 2 +- meta/classes/package.bbclass | 25 +++++++++++-- meta/classes/siteinfo.bbclass | 15 +++----- meta/recipes-core/ncurses/ncurses.inc | 2 ++ .../debianutils/debianutils_4.8.1.1.bb | 2 ++ .../files/0001-Fix-build-with-gperf-3.1.patch | 41 ++++++++++++++++++++++ meta/recipes-support/libcap/libcap_2.25.bb | 3 +- 8 files changed, 75 insertions(+), 17 deletions(-) create mode 100644 meta/recipes-support/libcap/files/0001-Fix-build-with-gperf-3.1.patch -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:37:44 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:37:44 +0000 Subject: [oe-commits] [openembedded-core] 03/11: imagefeatures: Extend test_bmap to validate gzip In-Reply-To: <150119146100.28024.13229454446883320400@git.openembedded.org> References: <150119146100.28024.13229454446883320400@git.openembedded.org> Message-ID: <20170727213741.533E8234F3B@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 5f547f3cab30fb579077e46e039249c9bbba00a1 Author: Tom Rini AuthorDate: Wed Jul 26 22:06:11 2017 -0400 imagefeatures: Extend test_bmap to validate gzip We extend the existing test_bmap test to also produce an ext4.bmap.gz file and then have gzip confirm that it contains valid gzip data. This tests that we are able to chain at least 2 CONVERSION_CMDs together. Cc: Ed Bartosh Signed-off-by: Tom Rini Signed-off-by: Richard Purdie --- meta/lib/oeqa/selftest/cases/imagefeatures.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/meta/lib/oeqa/selftest/cases/imagefeatures.py b/meta/lib/oeqa/selftest/cases/imagefeatures.py index 91d8e9b..dac74ba 100644 --- a/meta/lib/oeqa/selftest/cases/imagefeatures.py +++ b/meta/lib/oeqa/selftest/cases/imagefeatures.py @@ -106,7 +106,7 @@ class ImageFeatures(OESelftestTestCase): Author: Ed Bartosh """ - features = 'IMAGE_FSTYPES += " ext4 ext4.bmap"' + features = 'IMAGE_FSTYPES += " ext4 ext4.bmap ext4.bmap.gz"' self.write_config(features) image_name = 'core-image-minimal' @@ -116,15 +116,21 @@ class ImageFeatures(OESelftestTestCase): link_name = get_bb_var('IMAGE_LINK_NAME', image_name) image_path = os.path.join(deploy_dir_image, "%s.ext4" % link_name) bmap_path = "%s.bmap" % image_path + gzip_path = "%s.gz" % bmap_path - # check if result image and bmap file are in deploy directory + # check if result image, bmap and bmap.gz files are in deploy directory self.assertTrue(os.path.exists(image_path)) self.assertTrue(os.path.exists(bmap_path)) + self.assertTrue(os.path.exists(gzip_path)) # check if result image is sparse image_stat = os.stat(image_path) self.assertTrue(image_stat.st_size > image_stat.st_blocks * 512) + # check if the resulting gzip is valid + self.assertTrue(runCmd('gzip -t %s' % gzip_path)) + + def test_image_fstypes(self): """ Summary: Check if image of supported image fstypes can be built -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:37:42 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:37:42 +0000 Subject: [oe-commits] [openembedded-core] 01/11: image: Convert vmdk/vdi/qcow2 to strict CONVERSION_CMD types In-Reply-To: <150119146100.28024.13229454446883320400@git.openembedded.org> References: <150119146100.28024.13229454446883320400@git.openembedded.org> Message-ID: <20170727213741.42950234F39@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit b040fee4a53c2feeb83579731d7db4010d367409 Author: Tom Rini AuthorDate: Wed Jul 26 22:06:09 2017 -0400 image: Convert vmdk/vdi/qcow2 to strict CONVERSION_CMD types The vmdk/vdi/qcow2 IMAGE_FSTYPEs predate wic. As such, they provide some similar underlying functionality in order to produce a "disk" image that in turn can be converted into different formats that various hypervisor types work with. They do not however provide the ability for other disk image types to be converted into these same output types. Furthermore, they are less flexible than what wic does provide. This drops the old style vmdk/vdi/qcow2 types and re-introduces them under the CONVERSION_CMD framework. The equivalent of vmdk is now wic.vmdk and so forth for the other types. Signed-off-by: Tom Rini Signed-off-by: Richard Purdie --- meta/classes/image-vm.bbclass | 171 --------------------- meta/classes/image.bbclass | 3 - meta/classes/image_types.bbclass | 12 +- .../images/build-appliance-image_15.0.0.bb | 6 +- scripts/runqemu | 4 +- 5 files changed, 12 insertions(+), 184 deletions(-) diff --git a/meta/classes/image-vm.bbclass b/meta/classes/image-vm.bbclass deleted file mode 100644 index b52df9f..0000000 --- a/meta/classes/image-vm.bbclass +++ /dev/null @@ -1,171 +0,0 @@ -# image-vm.bbclass -# (loosly based off image-live.bbclass Copyright (C) 2004, Advanced Micro Devices, Inc.) -# -# Create an image which can be placed directly onto a harddisk using dd and then -# booted. -# -# This uses syslinux. extlinux would have been nice but required the ext2/3 -# partition to be mounted. grub requires to run itself as part of the install -# process. -# -# The end result is a 512 boot sector populated with an MBR and partition table -# followed by an msdos fat16 partition containing syslinux and a linux kernel -# completed by the ext2/3 rootfs. -# -# We have to push the msdos parition table size > 16MB so fat 16 is used as parted -# won't touch fat12 partitions. - -inherit live-vm-common - -do_bootdirectdisk[depends] += "dosfstools-native:do_populate_sysroot \ - virtual/kernel:do_deploy \ - syslinux:do_populate_sysroot \ - syslinux-native:do_populate_sysroot \ - parted-native:do_populate_sysroot \ - mtools-native:do_populate_sysroot \ - ${PN}:do_image_${VM_ROOTFS_TYPE} \ - " - -IMAGE_TYPEDEP_vmdk = "${VM_ROOTFS_TYPE}" -IMAGE_TYPEDEP_vdi = "${VM_ROOTFS_TYPE}" -IMAGE_TYPEDEP_qcow2 = "${VM_ROOTFS_TYPE}" -IMAGE_TYPEDEP_hdddirect = "${VM_ROOTFS_TYPE}" -IMAGE_TYPES_MASKED += "vmdk vdi qcow2 hdddirect" - -VM_ROOTFS_TYPE ?= "ext4" -ROOTFS ?= "${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.${VM_ROOTFS_TYPE}" - -# Used by bootloader -LABELS_VM ?= "boot" -ROOT_VM ?= "root=/dev/sda2" -# Using an initramfs is optional. Enable it by setting INITRD_IMAGE_VM. -INITRD_IMAGE_VM ?= "" -INITRD_VM ?= "${@'${IMGDEPLOYDIR}/${INITRD_IMAGE_VM}-${MACHINE}.cpio.gz' if '${INITRD_IMAGE_VM}' else ''}" -do_bootdirectdisk[depends] += "${@'${INITRD_IMAGE_VM}:do_image_complete' if '${INITRD_IMAGE_VM}' else ''}" - -BOOTDD_VOLUME_ID ?= "boot" -BOOTDD_EXTRA_SPACE ?= "16384" - -DISK_SIGNATURE ?= "${DISK_SIGNATURE_GENERATED}" -DISK_SIGNATURE[vardepsexclude] = "DISK_SIGNATURE_GENERATED" - -build_boot_dd() { - HDDDIR="${S}/hdd/boot" - HDDIMG="${S}/hdd.image" - IMAGE=${IMGDEPLOYDIR}/${IMAGE_NAME}.hdddirect - - populate_kernel $HDDDIR - - if [ "${PCBIOS}" = "1" ]; then - syslinux_hddimg_populate $HDDDIR - fi - if [ "${EFI}" = "1" ]; then - efi_hddimg_populate $HDDDIR - fi - - BLOCKS=`du -bks $HDDDIR | cut -f 1` - BLOCKS=`expr $BLOCKS + ${BOOTDD_EXTRA_SPACE}` - - # Remove it since mkdosfs would fail when it exists - rm -f $HDDIMG - mkdosfs -n ${BOOTDD_VOLUME_ID} ${MKDOSFS_EXTRAOPTS} -C $HDDIMG $BLOCKS - mcopy -i $HDDIMG -s $HDDDIR/* ::/ - - if [ "${PCBIOS}" = "1" ]; then - syslinux_hdddirect_install $HDDIMG - fi - chmod 644 $HDDIMG - - ROOTFSBLOCKS=`du -Lbks ${ROOTFS} | cut -f 1` - TOTALSIZE=`expr $BLOCKS + $ROOTFSBLOCKS` - END1=`expr $BLOCKS \* 1024` - END2=`expr $END1 + 512` - END3=`expr \( $ROOTFSBLOCKS \* 1024 \) + $END1` - - echo $ROOTFSBLOCKS $TOTALSIZE $END1 $END2 $END3 - rm -rf $IMAGE - dd if=/dev/zero of=$IMAGE bs=1024 seek=$TOTALSIZE count=1 - - parted $IMAGE mklabel msdos - parted $IMAGE mkpart primary fat16 0 ${END1}B - parted $IMAGE unit B mkpart primary ext2 ${END2}B ${END3}B - parted $IMAGE set 1 boot on - - parted $IMAGE print - - awk "BEGIN { printf \"$(echo ${DISK_SIGNATURE} | sed 's/\(..\)\(..\)\(..\)\(..\)/\\x\4\\x\3\\x\2\\x\1/')\" }" | \ - dd of=$IMAGE bs=1 seek=440 conv=notrunc - - OFFSET=`expr $END2 / 512` - if [ "${PCBIOS}" = "1" ]; then - dd if=${STAGING_DATADIR}/syslinux/mbr.bin of=$IMAGE conv=notrunc - fi - - dd if=$HDDIMG of=$IMAGE conv=notrunc seek=1 bs=512 - dd if=${ROOTFS} of=$IMAGE conv=notrunc seek=$OFFSET bs=512 - - cd ${IMGDEPLOYDIR} - - ln -sf ${IMAGE_NAME}.hdddirect ${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.hdddirect -} - -python do_bootdirectdisk() { - validate_disk_signature(d) - set_live_vm_vars(d, 'VM') - if d.getVar("PCBIOS") == "1": - bb.build.exec_func('build_syslinux_cfg', d) - if d.getVar("EFI") == "1": - bb.build.exec_func('build_efi_cfg', d) - bb.build.exec_func('build_boot_dd', d) -} - -def generate_disk_signature(): - import uuid - - signature = str(uuid.uuid4())[:8] - - if signature != '00000000': - return signature - else: - return 'ffffffff' - -def validate_disk_signature(d): - import re - - disk_signature = d.getVar("DISK_SIGNATURE") - - if not re.match(r'^[0-9a-fA-F]{8}$', disk_signature): - bb.fatal("DISK_SIGNATURE '%s' must be an 8 digit hex string" % disk_signature) - -DISK_SIGNATURE_GENERATED := "${@generate_disk_signature()}" - -run_qemu_img (){ - type="$1" - qemu-img convert -O $type ${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.hdddirect ${IMGDEPLOYDIR}/${IMAGE_NAME}.$type - - ln -sf ${IMAGE_NAME}.$type ${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.$type -} -create_vmdk_image () { - run_qemu_img vmdk -} - -create_vdi_image () { - run_qemu_img vdi -} - -create_qcow2_image () { - run_qemu_img qcow2 -} - -python do_vmimg() { - if 'vmdk' in d.getVar('IMAGE_FSTYPES'): - bb.build.exec_func('create_vmdk_image', d) - if 'vdi' in d.getVar('IMAGE_FSTYPES'): - bb.build.exec_func('create_vdi_image', d) - if 'qcow2' in d.getVar('IMAGE_FSTYPES'): - bb.build.exec_func('create_qcow2_image', d) -} - -addtask bootdirectdisk before do_vmimg -addtask vmimg after do_bootdirectdisk before do_image_complete -do_vmimg[depends] += "qemu-native:do_populate_sysroot" diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass index dee17ae..40bd614 100644 --- a/meta/classes/image.bbclass +++ b/meta/classes/image.bbclass @@ -138,9 +138,6 @@ def build_live(d): IMAGE_TYPE_live = "${@build_live(d)}" inherit ${IMAGE_TYPE_live} -IMAGE_TYPE_vm = '${@bb.utils.contains_any("IMAGE_FSTYPES", ["vmdk", "vdi", "qcow2", "hdddirect"], "image-vm", "", d)}' -inherit ${IMAGE_TYPE_vm} - IMAGE_TYPE_container = '${@bb.utils.contains("IMAGE_FSTYPES", "container", "image-container", "", d)}' inherit ${IMAGE_TYPE_container} diff --git a/meta/classes/image_types.bbclass b/meta/classes/image_types.bbclass index cf946a6..89d68c6 100644 --- a/meta/classes/image_types.bbclass +++ b/meta/classes/image_types.bbclass @@ -254,10 +254,6 @@ IMAGE_TYPES = " \ ubi ubifs multiubi \ tar tar.gz tar.bz2 tar.xz tar.lz4 \ cpio cpio.gz cpio.xz cpio.lzma cpio.lz4 \ - vmdk \ - vdi \ - qcow2 \ - hdddirect \ elf \ wic wic.gz wic.bz2 wic.lzma \ container \ @@ -269,7 +265,7 @@ IMAGE_TYPES = " \ # CONVERSION_CMD/DEPENDS. COMPRESSIONTYPES ?= "" -CONVERSIONTYPES = "gz bz2 lzma xz lz4 lzo zip sum md5sum sha1sum sha224sum sha256sum sha384sum sha512sum bmap u-boot ${COMPRESSIONTYPES}" +CONVERSIONTYPES = "gz bz2 lzma xz lz4 lzo zip sum md5sum sha1sum sha224sum sha256sum sha384sum sha512sum bmap u-boot vmdk vdi qcow2 ${COMPRESSIONTYPES}" CONVERSION_CMD_lzma = "lzma -k -f -7 ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}" CONVERSION_CMD_gz = "gzip -f -9 -c ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} > ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.gz" CONVERSION_CMD_bz2 = "pbzip2 -f -k ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}" @@ -287,6 +283,9 @@ CONVERSION_CMD_sha384sum = "sha384sum ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} CONVERSION_CMD_sha512sum = "sha512sum ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} > ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.sha512sum" CONVERSION_CMD_bmap = "bmaptool create ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} -o ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.bmap" CONVERSION_CMD_u-boot = "mkimage -A ${UBOOT_ARCH} -O linux -T ramdisk -C none -n ${IMAGE_NAME} -d ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.u-boot" +CONVERSION_CMD_vmdk = "qemu-img convert -O vmdk ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.vmdk" +CONVERSION_CMD_vdi = "qemu-img convert -O vdi ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.vdi" +CONVERSION_CMD_qcow2 = "qemu-img convert -O qcow2 ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.qcow2" CONVERSION_DEPENDS_lzma = "xz-native" CONVERSION_DEPENDS_gz = "pigz-native" CONVERSION_DEPENDS_bz2 = "pbzip2-native" @@ -297,6 +296,9 @@ CONVERSION_DEPENDS_zip = "zip-native" CONVERSION_DEPENDS_sum = "mtd-utils-native" CONVERSION_DEPENDS_bmap = "bmap-tools-native" CONVERSION_DEPENDS_u-boot = "u-boot-mkimage-native" +CONVERSION_DEPENDS_vmdk = "qemu-native" +CONVERSION_DEPENDS_vdi = "qemu-native" +CONVERSION_DEPENDS_qcow2 = "qemu-native" RUNNABLE_IMAGE_TYPES ?= "ext2 ext3 ext4" RUNNABLE_MACHINE_PATTERNS ?= "qemu" diff --git a/meta/recipes-core/images/build-appliance-image_15.0.0.bb b/meta/recipes-core/images/build-appliance-image_15.0.0.bb index f145b5e..927a931 100644 --- a/meta/recipes-core/images/build-appliance-image_15.0.0.bb +++ b/meta/recipes-core/images/build-appliance-image_15.0.0.bb @@ -19,7 +19,7 @@ IMAGE_ROOTFS_EXTRA_SPACE = "41943040" APPEND += "rootfstype=ext4 quiet" DEPENDS = "zip-native python3-pip-native" -IMAGE_FSTYPES = "vmdk" +IMAGE_FSTYPES = "wic.vmdk" inherit core-image module-base setuptools3 @@ -120,7 +120,7 @@ create_bundle_files () { cd ${WORKDIR} mkdir -p Yocto_Build_Appliance cp *.vmx* Yocto_Build_Appliance - ln -sf ${IMGDEPLOYDIR}/${IMAGE_NAME}.vmdk Yocto_Build_Appliance/Yocto_Build_Appliance.vmdk + ln -sf ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.wic.vmdk Yocto_Build_Appliance/Yocto_Build_Appliance.vmdk zip -r ${IMGDEPLOYDIR}/Yocto_Build_Appliance-${DATETIME}.zip Yocto_Build_Appliance ln -sf Yocto_Build_Appliance-${DATETIME}.zip ${IMGDEPLOYDIR}/Yocto_Build_Appliance.zip } @@ -130,4 +130,4 @@ python do_bundle_files() { bb.build.exec_func('create_bundle_files', d) } -addtask bundle_files after do_vmimg before do_image_complete +addtask bundle_files after do_image_wic before do_image_complete diff --git a/scripts/runqemu b/scripts/runqemu index 239c48f..109df6c 100755 --- a/scripts/runqemu +++ b/scripts/runqemu @@ -96,11 +96,11 @@ Examples: runqemu qemux86-64 core-image-sato ext4 runqemu qemux86-64 wic-image-minimal wic runqemu path/to/bzImage-qemux86.bin path/to/nfsrootdir/ serial - runqemu qemux86 iso/hddimg/vmdk/qcow2/vdi/ramfs/cpio.gz... + runqemu qemux86 iso/hddimg/wic.vmdk/wic.qcow2/wic.vdi/ramfs/cpio.gz... runqemu qemux86 qemuparams="-m 256" runqemu qemux86 bootparams="psplash=false" - runqemu path/to/-.vmdk runqemu path/to/-.wic + runqemu path/to/-.wic.vmdk """) def check_tun(): -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:37:45 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:37:45 +0000 Subject: [oe-commits] [openembedded-core] 04/11: imagefeatures: Add a test for many CONVERSION_CMDs being chained In-Reply-To: <150119146100.28024.13229454446883320400@git.openembedded.org> References: <150119146100.28024.13229454446883320400@git.openembedded.org> Message-ID: <20170727213741.5B003234F3C@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit cd2c8c9d9627137b596ff7b0def4bc7453a84f4b Author: Tom Rini AuthorDate: Wed Jul 26 22:06:12 2017 -0400 imagefeatures: Add a test for many CONVERSION_CMDs being chained Add a new test to create a long (and not otherwise useful) image, ext4.bmap.gz.bz2.lzo.xz.u-boot and also the sha256sum of it. Check that the resulting sha256sum is valid. Cc: Ed Bartosh Signed-off-by: Tom Rini Signed-off-by: Richard Purdie --- meta/lib/oeqa/selftest/cases/imagefeatures.py | 30 +++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/meta/lib/oeqa/selftest/cases/imagefeatures.py b/meta/lib/oeqa/selftest/cases/imagefeatures.py index dac74ba..2c59ef6 100644 --- a/meta/lib/oeqa/selftest/cases/imagefeatures.py +++ b/meta/lib/oeqa/selftest/cases/imagefeatures.py @@ -130,6 +130,36 @@ class ImageFeatures(OESelftestTestCase): # check if the resulting gzip is valid self.assertTrue(runCmd('gzip -t %s' % gzip_path)) + def test_long_chain_conversion(self): + """ + Summary: Check for chaining many CONVERSION_CMDs together + Expected: 1. core-image-minimal can be built with + ext4.bmap.gz.bz2.lzo.xz.u-boot and also create a + sha256sum + 2. The above image has a valid sha256sum + Product: oe-core + Author: Tom Rini + """ + + conv = "ext4.bmap.gz.bz2.lzo.xz.u-boot" + features = 'IMAGE_FSTYPES += "%s %s.sha256sum"' % (conv, conv) + self.write_config(features) + + image_name = 'core-image-minimal' + bitbake(image_name) + + deploy_dir_image = get_bb_var('DEPLOY_DIR_IMAGE') + link_name = get_bb_var('IMAGE_LINK_NAME', image_name) + image_path = os.path.join(deploy_dir_image, "%s.%s" % + (link_name, conv)) + + # check if resulting image is in the deploy directory + self.assertTrue(os.path.exists(image_path)) + self.assertTrue(os.path.exists(image_path + ".sha256sum")) + + # check if the resulting sha256sum agrees + self.assertTrue(runCmd('cd %s;sha256sum -c %s.%s.sha256sum' % + (deploy_dir_image, link_name, conv))) def test_image_fstypes(self): """ -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:37:43 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:37:43 +0000 Subject: [oe-commits] [openembedded-core] 02/11: wic: Switch to using --use-uuid by default In-Reply-To: <150119146100.28024.13229454446883320400@git.openembedded.org> References: <150119146100.28024.13229454446883320400@git.openembedded.org> Message-ID: <20170727213741.49E4F234F3A@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 9fb5bfc0ecb45c2b73f4e58554f95c96a3306035 Author: Tom Rini AuthorDate: Wed Jul 26 22:06:10 2017 -0400 wic: Switch to using --use-uuid by default The most portable way to specifiy a root device in a disk image that we create is to use PARTUUID rather than /dev/sda2. As background, both GPT and MBR tables provide valid UUID values for each partition and the Linux Kernel contains the logic to parse this value. With this change we can now boot the default disk images when used as any valid block device that the included kernel uses. This for example means that VirtualBox can be used to run vmdk without changes as it uses IDE for the virtual disk controller. Cc: Matt Porter Signed-off-by: Tom Rini Signed-off-by: Richard Purdie --- scripts/lib/wic/canned-wks/common.wks.inc | 2 +- scripts/lib/wic/canned-wks/directdisk-bootloader-config.cfg | 8 ++++---- scripts/lib/wic/canned-wks/qemux86-directdisk.wks | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/scripts/lib/wic/canned-wks/common.wks.inc b/scripts/lib/wic/canned-wks/common.wks.inc index 5cf2fd1..89880b4 100644 --- a/scripts/lib/wic/canned-wks/common.wks.inc +++ b/scripts/lib/wic/canned-wks/common.wks.inc @@ -1,3 +1,3 @@ # This file is included into 3 canned wks files from this directory part /boot --source bootimg-pcbios --ondisk sda --label boot --active --align 1024 -part / --source rootfs --ondisk sda --fstype=ext4 --label platform --align 1024 +part / --source rootfs --use-uuid --fstype=ext4 --label platform --align 1024 diff --git a/scripts/lib/wic/canned-wks/directdisk-bootloader-config.cfg b/scripts/lib/wic/canned-wks/directdisk-bootloader-config.cfg index d5a07d2..c58e74a 100644 --- a/scripts/lib/wic/canned-wks/directdisk-bootloader-config.cfg +++ b/scripts/lib/wic/canned-wks/directdisk-bootloader-config.cfg @@ -12,16 +12,16 @@ DEFAULT Graphics console boot LABEL Graphics console boot KERNEL /vmlinuz -APPEND label=boot root=/dev/sda2 rootwait +APPEND label=boot rootwait LABEL Serial console boot KERNEL /vmlinuz -APPEND label=boot root=/dev/sda2 rootwait console=ttyS0,115200 +APPEND label=boot rootwait console=ttyS0,115200 LABEL Graphics console install KERNEL /vmlinuz -APPEND label=install root=/dev/sda2 rootwait +APPEND label=install rootwait LABEL Serial console install KERNEL /vmlinuz -APPEND label=install root=/dev/sda2 rootwait console=ttyS0,115200 +APPEND label=install rootwait console=ttyS0,115200 diff --git a/scripts/lib/wic/canned-wks/qemux86-directdisk.wks b/scripts/lib/wic/canned-wks/qemux86-directdisk.wks index db30bbc..1f8466a 100644 --- a/scripts/lib/wic/canned-wks/qemux86-directdisk.wks +++ b/scripts/lib/wic/canned-wks/qemux86-directdisk.wks @@ -4,5 +4,5 @@ include common.wks.inc -bootloader --timeout=0 --append="vga=0 uvesafb.mode_option=640x480-32 root=/dev/sda2 rw mem=256M ip=192.168.7.2::192.168.7.1:255.255.255.0 oprofile.timer=1 rootfstype=ext4 " +bootloader --timeout=0 --append="vga=0 uvesafb.mode_option=640x480-32 rw mem=256M ip=192.168.7.2::192.168.7.1:255.255.255.0 oprofile.timer=1 rootfstype=ext4 " -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:37:48 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:37:48 +0000 Subject: [oe-commits] [openembedded-core] 07/11: module.bbclass: move make scripts earlier In-Reply-To: <150119146100.28024.13229454446883320400@git.openembedded.org> References: <150119146100.28024.13229454446883320400@git.openembedded.org> Message-ID: <20170727213741.73D47234F3F@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 0967ad3d7753de1064cce328985cd4ee55cb2726 Author: California Sullivan AuthorDate: Thu Jul 27 11:14:06 2017 -0700 module.bbclass: move make scripts earlier Some out of tree modules require the scripts for configuration. For example, backport-iwlwifi. Signed-off-by: California Sullivan Signed-off-by: Richard Purdie --- meta/classes/module.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/classes/module.bbclass b/meta/classes/module.bbclass index 391776d..78d1b21 100644 --- a/meta/classes/module.bbclass +++ b/meta/classes/module.bbclass @@ -1,6 +1,6 @@ inherit module-base kernel-module-split pkgconfig -addtask make_scripts after do_prepare_recipe_sysroot before do_compile +addtask make_scripts after do_prepare_recipe_sysroot before do_configure do_make_scripts[lockfiles] = "${TMPDIR}/kernel-scripts.lock" do_make_scripts[depends] += "virtual/kernel:do_shared_workdir" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:37:50 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:37:50 +0000 Subject: [oe-commits] [openembedded-core] 09/11: debianutils: set higher priority than busybox for run-parts In-Reply-To: <150119146100.28024.13229454446883320400@git.openembedded.org> References: <150119146100.28024.13229454446883320400@git.openembedded.org> Message-ID: <20170727213741.84821234F41@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 5c51e96867bcaa71f8119831a81dfdae06d671b1 Author: Jackie Huang AuthorDate: Tue Jul 25 16:38:55 2017 +0800 debianutils: set higher priority than busybox for run-parts debianutils-run-parts should have higher priority than busybox (which is 50), so set the priority to 60 for debianutils-run-parts. Signed-off-by: Jackie Huang Signed-off-by: Richard Purdie --- meta/recipes-support/debianutils/debianutils_4.8.1.1.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-support/debianutils/debianutils_4.8.1.1.bb b/meta/recipes-support/debianutils/debianutils_4.8.1.1.bb index 23f8421..d41bf98 100644 --- a/meta/recipes-support/debianutils/debianutils_4.8.1.1.bb +++ b/meta/recipes-support/debianutils/debianutils_4.8.1.1.bb @@ -37,6 +37,8 @@ RDEPENDS_${PN} += "${PN}-run-parts" ALTERNATIVE_PRIORITY="30" ALTERNATIVE_${PN} = "add-shell installkernel remove-shell savelog tempfile which" + +ALTERNATIVE_PRIORITY_${PN}-run-parts = "60" ALTERNATIVE_${PN}-run-parts = "run-parts" ALTERNATIVE_${PN}-doc = "which.1" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:37:52 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:37:52 +0000 Subject: [oe-commits] [openembedded-core] 11/11: ncurses: add SYSROOT_DESTDIR for siteconfig_gencache In-Reply-To: <150119146100.28024.13229454446883320400@git.openembedded.org> References: <150119146100.28024.13229454446883320400@git.openembedded.org> Message-ID: <20170727213741.94D5E234F43@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 49e57bc13347a2f41a1ca12d4996e583007ad4e1 Author: Jackie Huang AuthorDate: Wed May 31 16:27:16 2017 +0800 ncurses: add SYSROOT_DESTDIR for siteconfig_gencache After switching to Recipe Specific Sysroots, ncurses will not be populated in its own sysroots, then siteconfig_gencache fails to find some headers, so add ${SYSROOT_DESTDIR}/${includedir} into the search list to fix the issue. Signed-off-by: Jackie Huang Signed-off-by: Richard Purdie --- meta/recipes-core/ncurses/ncurses.inc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-core/ncurses/ncurses.inc b/meta/recipes-core/ncurses/ncurses.inc index 8990b0f..1f21cd4 100644 --- a/meta/recipes-core/ncurses/ncurses.inc +++ b/meta/recipes-core/ncurses/ncurses.inc @@ -18,6 +18,8 @@ SRC_URI = "git://anonscm.debian.org/collab-maint/ncurses.git" EXTRA_AUTORECONF = "-I m4" CONFIG_SITE =+ "${WORKDIR}/config.cache" +EXTRASITECONFIG = "CFLAGS='${CFLAGS} -I${SYSROOT_DESTDIR}${includedir}'" + # Whether to enable separate widec libraries; must be 'true' or 'false' # # TODO: remove this variable when widec is supported in every setup? -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:37:46 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:37:46 +0000 Subject: [oe-commits] [openembedded-core] 05/11: imagefeatures: Add a test for various hypervisor formats In-Reply-To: <150119146100.28024.13229454446883320400@git.openembedded.org> References: <150119146100.28024.13229454446883320400@git.openembedded.org> Message-ID: <20170727213741.6483D234F3D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 808e17740d251dd0b827d55946550bc8758f41f6 Author: Tom Rini AuthorDate: Wed Jul 26 22:06:13 2017 -0400 imagefeatures: Add a test for various hypervisor formats We add a new test that will create core-image-minimal for wic.vmdk, wic.vdi and wic.qcow2. We then confirm via qemu-img that the resulting file is of the expected type. Cc: Ed Bartosh Signed-off-by: Tom Rini Signed-off-by: Richard Purdie --- meta/lib/oeqa/selftest/cases/imagefeatures.py | 35 +++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/meta/lib/oeqa/selftest/cases/imagefeatures.py b/meta/lib/oeqa/selftest/cases/imagefeatures.py index 2c59ef6..bb2e0db 100644 --- a/meta/lib/oeqa/selftest/cases/imagefeatures.py +++ b/meta/lib/oeqa/selftest/cases/imagefeatures.py @@ -3,6 +3,7 @@ from oeqa.utils.commands import runCmd, bitbake, get_bb_var, runqemu from oeqa.core.decorator.oeid import OETestID from oeqa.utils.sshcontrol import SSHControl import os +import json class ImageFeatures(OESelftestTestCase): @@ -130,6 +131,40 @@ class ImageFeatures(OESelftestTestCase): # check if the resulting gzip is valid self.assertTrue(runCmd('gzip -t %s' % gzip_path)) + def test_hypervisor_fmts(self): + """ + Summary: Check various hypervisor formats + Expected: 1. core-image-minimal can be built with vmdk, vdi and + qcow2 support. + 2. qemu-img says each image has the expected format + Product: oe-core + Author: Tom Rini + """ + + img_types = [ 'vmdk', 'vdi', 'qcow2' ] + features = "" + for itype in img_types: + features += 'IMAGE_FSTYPES += "wic.%s"\n' % itype + self.write_config(features) + + image_name = 'core-image-minimal' + bitbake(image_name) + + deploy_dir_image = get_bb_var('DEPLOY_DIR_IMAGE') + link_name = get_bb_var('IMAGE_LINK_NAME', image_name) + for itype in img_types: + image_path = os.path.join(deploy_dir_image, "%s.wic.%s" % + (link_name, itype)) + + # check if result image file is in deploy directory + self.assertTrue(os.path.exists(image_path)) + + # check if result image is vmdk + sysroot = get_bb_var('STAGING_DIR_NATIVE', 'core-image-minimal') + result = runCmd('qemu-img info --output json %s' % image_path, + native_sysroot=sysroot) + self.assertTrue(json.loads(result.output).get('format') == itype) + def test_long_chain_conversion(self): """ Summary: Check for chaining many CONVERSION_CMDs together -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:37:47 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:37:47 +0000 Subject: [oe-commits] [openembedded-core] 06/11: libcap: fix build with gperf 3.1 In-Reply-To: <150119146100.28024.13229454446883320400@git.openembedded.org> References: <150119146100.28024.13229454446883320400@git.openembedded.org> Message-ID: <20170727213741.6D754234F3E@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 3433915d962f730fcccf2a19a26668c0de60feb6 Author: Alexander Kanavin AuthorDate: Thu Jul 27 17:40:46 2017 +0300 libcap: fix build with gperf 3.1 Signed-off-by: Alexander Kanavin Signed-off-by: Richard Purdie --- .../files/0001-Fix-build-with-gperf-3.1.patch | 41 ++++++++++++++++++++++ meta/recipes-support/libcap/libcap_2.25.bb | 3 +- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/meta/recipes-support/libcap/files/0001-Fix-build-with-gperf-3.1.patch b/meta/recipes-support/libcap/files/0001-Fix-build-with-gperf-3.1.patch new file mode 100644 index 0000000..110ef90 --- /dev/null +++ b/meta/recipes-support/libcap/files/0001-Fix-build-with-gperf-3.1.patch @@ -0,0 +1,41 @@ +From a05eba68c42222f02465d7ba376015926433c531 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Wed, 26 Jul 2017 13:37:49 +0300 +Subject: [PATCH] Fix build with gperf 3.1 + +The generated gperf file refers to size_t which needs to be +provided by stddef.h include. Also, adjust the makefile +to match the declaration in the gperf file. + +Upstream-Status: Pending +Signed-off-by: Alexander Kanavin + +--- + libcap/Makefile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/libcap/Makefile b/libcap/Makefile +index d189777..1a57206 100644 +--- a/libcap/Makefile ++++ b/libcap/Makefile +@@ -22,7 +22,7 @@ all: $(MINLIBNAME) $(STALIBNAME) libcap.pc + + ifeq ($(BUILD_GPERF),yes) + USE_GPERF_OUTPUT = $(GPERF_OUTPUT) +-INCLUDE_GPERF_OUTPUT = -include $(GPERF_OUTPUT) ++INCLUDE_GPERF_OUTPUT = -include stddef.h -include $(GPERF_OUTPUT) + endif + + libcap.pc: libcap.pc.in +@@ -41,7 +41,7 @@ cap_names.h: _makenames + ./_makenames > cap_names.h + + $(GPERF_OUTPUT): cap_names.list.h +- perl -e 'print "struct __cap_token_s { const char *name; int index; };\n%{\nconst struct __cap_token_s *__cap_lookup_name(const char *, unsigned int);\n%}\n%%\n"; while ($$l = <>) { $$l =~ s/[\{\"]//g; $$l =~ s/\}.*// ; print $$l; }' < $< | gperf --ignore-case --language=ANSI-C --readonly --null-strings --global-table --hash-function-name=__cap_hash_name --lookup-function-name="__cap_lookup_name" -c -t -m20 $(INDENT) > $@ ++ perl -e 'print "struct __cap_token_s { const char *name; int index; };\n%{\nconst struct __cap_token_s *__cap_lookup_name(const char *, register size_t);\n%}\n%%\n"; while ($$l = <>) { $$l =~ s/[\{\"]//g; $$l =~ s/\}.*// ; print $$l; }' < $< | gperf --ignore-case --language=ANSI-C --readonly --null-strings --global-table --hash-function-name=__cap_hash_name --lookup-function-name="__cap_lookup_name" -c -t -m20 $(INDENT) > $@ + + cap_names.list.h: Makefile $(KERNEL_HEADERS)/linux/capability.h + @echo "=> making $@ from $(KERNEL_HEADERS)/linux/capability.h" +-- +2.13.2 + diff --git a/meta/recipes-support/libcap/libcap_2.25.bb b/meta/recipes-support/libcap/libcap_2.25.bb index 5c2765f..d619a2e 100644 --- a/meta/recipes-support/libcap/libcap_2.25.bb +++ b/meta/recipes-support/libcap/libcap_2.25.bb @@ -9,7 +9,8 @@ DEPENDS = "hostperl-runtime-native gperf-native" SRC_URI = "${KERNELORG_MIRROR}/linux/libs/security/linux-privs/${BPN}2/${BPN}-${PV}.tar.xz \ file://0001-ensure-the-XATTR_NAME_CAPS-is-defined-when-it-is-use.patch \ -" + file://0001-Fix-build-with-gperf-3.1.patch \ + " SRC_URI[md5sum] = "6666b839e5d46c2ad33fc8aa2ceb5f77" SRC_URI[sha256sum] = "693c8ac51e983ee678205571ef272439d83afe62dd8e424ea14ad9790bc35162" -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:37:51 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:37:51 +0000 Subject: [oe-commits] [openembedded-core] 10/11: siteinfo: fix siteinfo_get_files to work with RSS In-Reply-To: <150119146100.28024.13229454446883320400@git.openembedded.org> References: <150119146100.28024.13229454446883320400@git.openembedded.org> Message-ID: <20170727213741.8DCDE234F42@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit 5df2e3158f710a01a44a321f5b2189ca12d4e7c8 Author: Jackie Huang AuthorDate: Wed May 31 16:27:17 2017 +0800 siteinfo: fix siteinfo_get_files to work with RSS The siteconfig cache files in ACLOCALDIR setup by autotools.bbclass has been dropped after switching to RSS, so change the siteconfig search path back to SITECONFIG_SYSROOTCACHE and the parameter name changed from aclocalcache to sysrootcache. Signed-off-by: Jackie Huang Signed-off-by: Richard Purdie --- meta/classes/autotools.bbclass | 2 +- meta/classes/siteinfo.bbclass | 15 ++++----------- 2 files changed, 5 insertions(+), 12 deletions(-) diff --git a/meta/classes/autotools.bbclass b/meta/classes/autotools.bbclass index ac04a07..efa4098 100644 --- a/meta/classes/autotools.bbclass +++ b/meta/classes/autotools.bbclass @@ -141,7 +141,7 @@ ACLOCALEXTRAPATH_class-nativesdk = " -I ${STAGING_DATADIR_NATIVE}/aclocal/" python autotools_aclocals () { # Refresh variable with cache files - d.setVar("CONFIG_SITE", siteinfo_get_files(d, aclocalcache=True)) + d.setVar("CONFIG_SITE", siteinfo_get_files(d, sysrootcache=True)) } CONFIGURE_FILES = "${S}/configure.in ${S}/configure.ac ${S}/config.h.in ${S}/acinclude.m4 Makefile.am" diff --git a/meta/classes/siteinfo.bbclass b/meta/classes/siteinfo.bbclass index 20b4704..1aada40 100644 --- a/meta/classes/siteinfo.bbclass +++ b/meta/classes/siteinfo.bbclass @@ -153,7 +153,7 @@ python () { bb.fatal("Please add your architecture to siteinfo.bbclass") } -def siteinfo_get_files(d, aclocalcache = False): +def siteinfo_get_files(d, sysrootcache = False): sitedata = siteinfo_data(d) sitefiles = "" for path in d.getVar("BBPATH").split(":"): @@ -162,18 +162,11 @@ def siteinfo_get_files(d, aclocalcache = False): if os.path.exists(filename): sitefiles += filename + " " - if not aclocalcache: + if not sysrootcache: return sitefiles - # Now check for siteconfig cache files in the directory setup by autotools.bbclass to - # avoid races. - # - # ACLOCALDIR may or may not exist so cache should only be set to True from autotools.bbclass - # after files have been copied into this location. To do otherwise risks parsing/signature - # issues and the directory being created/removed whilst this code executes. This can happen - # when a multilib recipe is parsed along with its base variant which may be running at the time - # causing rare but nasty failures - path_siteconfig = d.getVar('ACLOCALDIR') + # Now check for siteconfig cache files in sysroots + path_siteconfig = d.getVar('SITECONFIG_SYSROOTCACHE') if path_siteconfig and os.path.isdir(path_siteconfig): for i in os.listdir(path_siteconfig): if not i.endswith("_config"): -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:37:49 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:37:49 +0000 Subject: [oe-commits] [openembedded-core] 08/11: package/bbclass: sources are packaged separately from debug. In-Reply-To: <150119146100.28024.13229454446883320400@git.openembedded.org> References: <150119146100.28024.13229454446883320400@git.openembedded.org> Message-ID: <20170727213741.7C970234F40@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch master-next in repository openembedded-core. commit aa443a3eb98f9b501718ae1019e7fcdf8be2ccd9 Author: Juan M Cruz Alcaraz AuthorDate: Tue Jul 25 16:07:52 2017 -0700 package/bbclass: sources are packaged separately from debug. The configuration variable PACKAGE_DEBUG_SPLIT_STYLE includes the new mode debug-with-srcpkg that instructs the system to remove the source files from the debug package but include them in a separate package with a "-src" suffix in the name. [YOCTO #9998] Signed-off-by: Juan M Cruz Alcaraz Signed-off-by: Richard Purdie --- meta/classes/package.bbclass | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass index cc466bd..d2fa617 100644 --- a/meta/classes/package.bbclass +++ b/meta/classes/package.bbclass @@ -879,6 +879,11 @@ python split_and_strip_files () { debugdir = "/.debug" debuglibdir = "" debugsrcdir = "" + elif d.getVar('PACKAGE_DEBUG_SPLIT_STYLE') == 'debug-with-srcpkg': + debugappend = "" + debugdir = "/.debug" + debuglibdir = "" + debugsrcdir = "/usr/src/debug" else: # Original OE-core, a.k.a. ".debug", style debug info debugappend = "" @@ -1092,6 +1097,15 @@ python populate_packages () { autodebug = not (d.getVar("NOAUTOPACKAGEDEBUG") or False) + split_source_package = (d.getVar('PACKAGE_DEBUG_SPLIT_STYLE') == 'debug-with-srcpkg') + + # If debug-with-srcpkg mode is enabled then the src package is added + # into the package list and the source directory as its main content + if split_source_package: + src_package_name = ('%s-src' % d.getVar('PN')) + packages += (' ' + src_package_name) + d.setVar('FILES_%s' % src_package_name, '/usr/src/debug') + # Sanity check PACKAGES for duplicates # Sanity should be moved to sanity.bbclass once we have the infrastucture package_list = [] @@ -1100,7 +1114,12 @@ python populate_packages () { if pkg in package_list: msg = "%s is listed in PACKAGES multiple times, this leads to packaging errors." % pkg package_qa_handle_error("packages-list", msg, d) - elif autodebug and pkg.endswith("-dbg"): + # If debug-with-srcpkg mode is enabled then the src package will have + # priority over dbg package when assigning the files. + # This allows src package to include source files and remove them from dbg. + elif split_source_package and pkg.endswith("-src"): + package_list.insert(0, pkg) + elif autodebug and pkg.endswith("-dbg") and not split_source_package: package_list.insert(0, pkg) else: package_list.append(pkg) @@ -1460,7 +1479,7 @@ python package_do_filedeps() { for pkg in packages.split(): if d.getVar('SKIP_FILEDEPS_' + pkg) == '1': continue - if pkg.endswith('-dbg') or pkg.endswith('-doc') or pkg.find('-locale-') != -1 or pkg.find('-localedata-') != -1 or pkg.find('-gconv-') != -1 or pkg.find('-charmap-') != -1 or pkg.startswith('kernel-module-'): + if pkg.endswith('-dbg') or pkg.endswith('-doc') or pkg.find('-locale-') != -1 or pkg.find('-localedata-') != -1 or pkg.find('-gconv-') != -1 or pkg.find('-charmap-') != -1 or pkg.startswith('kernel-module-') or pkg.endswith('-src'): continue for files in chunks(pkgfiles[pkg], 100): pkglist.append((pkg, files, rpmdeps, pkgdest, magic)) @@ -1578,7 +1597,7 @@ python package_do_shlibs() { combos.append("-".join(options[0:i])) return combos - if (file.endswith('.dylib') or file.endswith('.so')) and not pkg.endswith('-dev') and not pkg.endswith('-dbg'): + if (file.endswith('.dylib') or file.endswith('.so')) and not pkg.endswith('-dev') and not pkg.endswith('-dbg') and not pkg.endswith('-src'): # Drop suffix name = os.path.basename(file).rsplit(".",1)[0] # Find all combinations -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:38:54 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:38:54 +0000 Subject: [oe-commits] [bitbake] branch 1.34 updated (1b66c57 -> 4966a56) Message-ID: <150119153433.29002.8127368906284616745@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a change to branch 1.34 in repository bitbake. from 1b66c57 siggen: Make calc_taskhash match get_taskhash for file checksums new 4734001 toaster: add ID's to navigation links new 0bd1fcd toaster: add ID's to build menu links new e1c769e toaster: fail on layers with sub-layer new e95ed33 toaster: add getMessage to MockEvent new 98e424c toaster: get_last_build_id not called correctly new 4966a56 toaster: noweb should init database The 6 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: bin/toaster | 50 +++++++++++++++------- lib/bb/ui/buildinfohelper.py | 17 ++++++-- lib/toaster/orm/models.py | 12 +++--- lib/toaster/toastergui/templates/base.html | 8 ++-- .../toastergui/templates/basebuildpage.html | 20 ++++----- 5 files changed, 70 insertions(+), 37 deletions(-) -- To stop receiving notification emails like this one, please contact the administrator of this repository. From git at git.openembedded.org Thu Jul 27 21:38:55 2017 From: git at git.openembedded.org (git at git.openembedded.org) Date: Thu, 27 Jul 2017 21:38:55 +0000 Subject: [oe-commits] [bitbake] 01/06: toaster: add ID's to navigation links In-Reply-To: <150119153433.29002.8127368906284616745@git.openembedded.org> References: <150119153433.29002.8127368906284616745@git.openembedded.org> Message-ID: <20170727213854.715FA234F3D@git.openembedded.org> This is an automated email from the git hooks/post-receive script. rpurdie pushed a commit to branch 1.34 in repository bitbake. commit 4734001672cb35789be5a8d5c8b91ca57821bdba Author: David Reyna AuthorDate: Wed Jun 14 21:40:56 2017 -0700 toaster: add ID's to navigation links Add IDs to the navigation bar links "All builds", "All projects", and "Documentation. This will support test automation. [YOCTO #11335] Signed-off-by: David Reyna Signed-off-by: Richard Purdie --- lib/toaster/toastergui/templates/base.html | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/toaster/toastergui/templates/base.html b/lib/toaster/toastergui/templates/base.html index 496dd6e..11c6f91 100644 --- a/lib/toaster/toastergui/templates/base.html +++ b/lib/toaster/toastergui/templates/base.html @@ -100,7 +100,8 @@